handmux 0.12.2 → 0.12.3

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.
@@ -22,7 +22,7 @@ var X_=Object.defineProperty;var Hh=e=>{throw TypeError(e)};var J_=(e,t,i)=>t in
22
22
  *
23
23
  * This source code is licensed under the MIT license found in the
24
24
  * LICENSE file in the root directory of this source tree.
25
- */(function(e){function t(j,C){var M=j.length;j.push(C);e:for(;0<M;){var B=M-1>>>1,H=j[B];if(0<n(H,C))j[B]=C,j[M]=H,M=B;else break e}}function i(j){return j.length===0?null:j[0]}function s(j){if(j.length===0)return null;var C=j[0],M=j.pop();if(M!==C){j[0]=M;e:for(var B=0,H=j.length,Y=H>>>1;B<Y;){var V=2*(B+1)-1,te=j[V],Q=V+1,z=j[Q];if(0>n(te,M))Q<H&&0>n(z,te)?(j[B]=z,j[Q]=M,B=Q):(j[B]=te,j[V]=M,B=V);else if(Q<H&&0>n(z,M))j[B]=z,j[Q]=M,B=Q;else break e}}return C}function n(j,C){var M=j.sortIndex-C.sortIndex;return M!==0?M:j.id-C.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var m=Date,r=m.now();e.unstable_now=function(){return m.now()-r}}var o=[],f=[],v=1,h=null,p=3,y=!1,S=!1,g=!1,a=typeof setTimeout=="function"?setTimeout:null,u=typeof clearTimeout=="function"?clearTimeout:null,l=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(j){for(var C=i(f);C!==null;){if(C.callback===null)s(f);else if(C.startTime<=j)s(f),C.sortIndex=C.expirationTime,t(o,C);else break;C=i(f)}}function w(j){if(g=!1,d(j),!S)if(i(o)!==null)S=!0,$(k);else{var C=i(f);C!==null&&G(w,C.startTime-j)}}function k(j,C){S=!1,g&&(g=!1,u(x),x=-1),y=!0;var M=p;try{for(d(C),h=i(o);h!==null&&(!(h.expirationTime>C)||j&&!I());){var B=h.callback;if(typeof B=="function"){h.callback=null,p=h.priorityLevel;var H=B(h.expirationTime<=C);C=e.unstable_now(),typeof H=="function"?h.callback=H:h===i(o)&&s(o),d(C)}else s(o);h=i(o)}if(h!==null)var Y=!0;else{var V=i(f);V!==null&&G(w,V.startTime-C),Y=!1}return Y}finally{h=null,p=M,y=!1}}var b=!1,L=null,x=-1,E=5,R=-1;function I(){return!(e.unstable_now()-R<E)}function T(){if(L!==null){var j=e.unstable_now();R=j;var C=!0;try{C=L(!0,j)}finally{C?A():(b=!1,L=null)}}else b=!1}var A;if(typeof l=="function")A=function(){l(T)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,U=P.port2;P.port1.onmessage=T,A=function(){U.postMessage(null)}}else A=function(){a(T,0)};function $(j){L=j,b||(b=!0,A())}function G(j,C){x=a(function(){j(e.unstable_now())},C)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){S||y||(S=!0,$(k))},e.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<j?Math.floor(1e3/j):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return i(o)},e.unstable_next=function(j){switch(p){case 1:case 2:case 3:var C=3;break;default:C=p}var M=p;p=C;try{return j()}finally{p=M}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(j,C){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var M=p;p=j;try{return C()}finally{p=M}},e.unstable_scheduleCallback=function(j,C,M){var B=e.unstable_now();switch(typeof M=="object"&&M!==null?(M=M.delay,M=typeof M=="number"&&0<M?B+M:B):M=B,j){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=M+H,j={id:v++,callback:C,priorityLevel:j,startTime:M,expirationTime:H,sortIndex:-1},M>B?(j.sortIndex=M,t(f,j),i(o)===null&&j===i(f)&&(g?(u(x),x=-1):g=!0,G(w,M-B))):(j.sortIndex=H,t(o,j),S||y||(S=!0,$(k))),j},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(j){var C=p;return function(){var M=p;p=C;try{return j.apply(this,arguments)}finally{p=M}}}})(Cp);xp.exports=Cp;var yv=xp.exports;/**
25
+ */(function(e){function t(j,C){var M=j.length;j.push(C);e:for(;0<M;){var B=M-1>>>1,H=j[B];if(0<n(H,C))j[B]=C,j[M]=H,M=B;else break e}}function i(j){return j.length===0?null:j[0]}function s(j){if(j.length===0)return null;var C=j[0],M=j.pop();if(M!==C){j[0]=M;e:for(var B=0,H=j.length,Y=H>>>1;B<Y;){var V=2*(B+1)-1,te=j[V],Q=V+1,z=j[Q];if(0>n(te,M))Q<H&&0>n(z,te)?(j[B]=z,j[Q]=M,B=Q):(j[B]=te,j[V]=M,B=V);else if(Q<H&&0>n(z,M))j[B]=z,j[Q]=M,B=Q;else break e}}return C}function n(j,C){var M=j.sortIndex-C.sortIndex;return M!==0?M:j.id-C.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var m=Date,r=m.now();e.unstable_now=function(){return m.now()-r}}var o=[],f=[],v=1,h=null,p=3,y=!1,S=!1,g=!1,a=typeof setTimeout=="function"?setTimeout:null,u=typeof clearTimeout=="function"?clearTimeout:null,l=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(j){for(var C=i(f);C!==null;){if(C.callback===null)s(f);else if(C.startTime<=j)s(f),C.sortIndex=C.expirationTime,t(o,C);else break;C=i(f)}}function w(j){if(g=!1,d(j),!S)if(i(o)!==null)S=!0,$(k);else{var C=i(f);C!==null&&G(w,C.startTime-j)}}function k(j,C){S=!1,g&&(g=!1,u(x),x=-1),y=!0;var M=p;try{for(d(C),h=i(o);h!==null&&(!(h.expirationTime>C)||j&&!I());){var B=h.callback;if(typeof B=="function"){h.callback=null,p=h.priorityLevel;var H=B(h.expirationTime<=C);C=e.unstable_now(),typeof H=="function"?h.callback=H:h===i(o)&&s(o),d(C)}else s(o);h=i(o)}if(h!==null)var Y=!0;else{var V=i(f);V!==null&&G(w,V.startTime-C),Y=!1}return Y}finally{h=null,p=M,y=!1}}var b=!1,L=null,x=-1,E=5,R=-1;function I(){return!(e.unstable_now()-R<E)}function T(){if(L!==null){var j=e.unstable_now();R=j;var C=!0;try{C=L(!0,j)}finally{C?A():(b=!1,L=null)}}else b=!1}var A;if(typeof l=="function")A=function(){l(T)};else if(typeof MessageChannel<"u"){var O=new MessageChannel,U=O.port2;O.port1.onmessage=T,A=function(){U.postMessage(null)}}else A=function(){a(T,0)};function $(j){L=j,b||(b=!0,A())}function G(j,C){x=a(function(){j(e.unstable_now())},C)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){S||y||(S=!0,$(k))},e.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<j?Math.floor(1e3/j):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return i(o)},e.unstable_next=function(j){switch(p){case 1:case 2:case 3:var C=3;break;default:C=p}var M=p;p=C;try{return j()}finally{p=M}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(j,C){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var M=p;p=j;try{return C()}finally{p=M}},e.unstable_scheduleCallback=function(j,C,M){var B=e.unstable_now();switch(typeof M=="object"&&M!==null?(M=M.delay,M=typeof M=="number"&&0<M?B+M:B):M=B,j){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=M+H,j={id:v++,callback:C,priorityLevel:j,startTime:M,expirationTime:H,sortIndex:-1},M>B?(j.sortIndex=M,t(f,j),i(o)===null&&j===i(f)&&(g?(u(x),x=-1):g=!0,G(w,M-B))):(j.sortIndex=H,t(o,j),S||y||(S=!0,$(k))),j},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(j){var C=p;return function(){var M=p;p=C;try{return j.apply(this,arguments)}finally{p=M}}}})(Cp);xp.exports=Cp;var yv=xp.exports;/**
26
26
  * @license React
27
27
  * react-dom.production.min.js
28
28
  *
@@ -34,18 +34,18 @@ var X_=Object.defineProperty;var Hh=e=>{throw TypeError(e)};var J_=(e,t,i)=>t in
34
34
  `+al+e}var ll=!1;function cl(e,t){if(!e||ll)return"";ll=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(f){var s=f}Reflect.construct(e,[],t)}else{try{t.call()}catch(f){s=f}e.call(t.prototype)}else{try{throw Error()}catch(f){s=f}e()}}catch(f){if(f&&s&&typeof f.stack=="string"){for(var n=f.stack.split(`
35
35
  `),c=s.stack.split(`
36
36
  `),m=n.length-1,r=c.length-1;1<=m&&0<=r&&n[m]!==c[r];)r--;for(;1<=m&&0<=r;m--,r--)if(n[m]!==c[r]){if(m!==1||r!==1)do if(m--,r--,0>r||n[m]!==c[r]){var o=`
37
- `+n[m].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}while(1<=m&&0<=r);break}}}finally{ll=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?hn(e):""}function Ev(e){switch(e.tag){case 5:return hn(e.type);case 16:return hn("Lazy");case 13:return hn("Suspense");case 19:return hn("SuspenseList");case 0:case 2:case 15:return e=cl(e.type,!1),e;case 11:return e=cl(e.type.render,!1),e;case 1:return e=cl(e.type,!0),e;default:return""}}function Yl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vr:return"Fragment";case _r:return"Portal";case Gl:return"Profiler";case hu:return"StrictMode";case Kl:return"Suspense";case ql:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Lp:return(e.displayName||"Context")+".Consumer";case Ep:return(e._context.displayName||"Context")+".Provider";case du:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case fu:return t=e.displayName||null,t!==null?t:Yl(e.type)||"Memo";case ys:t=e._payload,e=e._init;try{return Yl(e(t))}catch{}}return null}function Lv(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Yl(t);case 8:return t===hu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Is(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Tp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Rv(e){var t=Tp(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var n=i.get,c=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(m){s=""+m,c.call(this,m)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(m){s=""+m},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mo(e){e._valueTracker||(e._valueTracker=Rv(e))}function Dp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),s="";return e&&(s=Tp(e)?e.checked?"true":"false":e.value),e=s,e!==i?(t.setValue(e),!0):!1}function ia(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Xl(e,t){var i=t.checked;return Ct({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function qh(e,t){var i=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;i=Is(t.value!=null?t.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ap(e,t){t=t.checked,t!=null&&uu(e,"checked",t,!1)}function Jl(e,t){Ap(e,t);var i=Is(t.value),s=t.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Zl(e,t.type,i):t.hasOwnProperty("defaultValue")&&Zl(e,t.type,Is(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Yh(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function Zl(e,t,i){(t!=="number"||ia(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var dn=Array.isArray;function Nr(e,t,i,s){if(e=e.options,t){t={};for(var n=0;n<i.length;n++)t["$"+i[n]]=!0;for(i=0;i<e.length;i++)n=t.hasOwnProperty("$"+e[i].value),e[i].selected!==n&&(e[i].selected=n),n&&s&&(e[i].defaultSelected=!0)}else{for(i=""+Is(i),t=null,n=0;n<e.length;n++){if(e[n].value===i){e[n].selected=!0,s&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function Ql(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(ce(91));return Ct({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Xh(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(ce(92));if(dn(i)){if(1<i.length)throw Error(ce(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:Is(i)}}function Mp(e,t){var i=Is(t.value),s=Is(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),s!=null&&(e.defaultValue=""+s)}function Jh(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Np(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ec(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Np(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var go,Ip=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,s,n){MSApp.execUnsafeLocalFunction(function(){return e(t,i,s,n)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(go=go||document.createElement("div"),go.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=go.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Dn(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var gn={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},Tv=["Webkit","ms","Moz","O"];Object.keys(gn).forEach(function(e){Tv.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),gn[t]=gn[e]})});function Op(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||gn.hasOwnProperty(e)&&gn[e]?(""+t).trim():t+"px"}function Pp(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var s=i.indexOf("--")===0,n=Op(i,t[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,n):e[i]=n}}var Dv=Ct({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 tc(e,t){if(t){if(Dv[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ce(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ce(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ce(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ce(62))}}function ic(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var sc=null;function pu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var rc=null,Ir=null,Or=null;function Zh(e){if(e=eo(e)){if(typeof rc!="function")throw Error(ce(280));var t=e.stateNode;t&&(t=Ua(t),rc(e.stateNode,e.type,t))}}function Bp(e){Ir?Or?Or.push(e):Or=[e]:Ir=e}function jp(){if(Ir){var e=Ir,t=Or;if(Or=Ir=null,Zh(e),t)for(e=0;e<t.length;e++)Zh(t[e])}}function Fp(e,t){return e(t)}function Hp(){}var ul=!1;function $p(e,t,i){if(ul)return e(t,i);ul=!0;try{return Fp(e,t,i)}finally{ul=!1,(Ir!==null||Or!==null)&&(Hp(),jp())}}function An(e,t){var i=e.stateNode;if(i===null)return null;var s=Ua(i);if(s===null)return null;i=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(ce(231,t,typeof i));return i}var nc=!1;if(fs)try{var Jr={};Object.defineProperty(Jr,"passive",{get:function(){nc=!0}}),window.addEventListener("test",Jr,Jr),window.removeEventListener("test",Jr,Jr)}catch{nc=!1}function Av(e,t,i,s,n,c,m,r,o){var f=Array.prototype.slice.call(arguments,3);try{t.apply(i,f)}catch(v){this.onError(v)}}var _n=!1,sa=null,ra=!1,oc=null,Mv={onError:function(e){_n=!0,sa=e}};function Nv(e,t,i,s,n,c,m,r,o){_n=!1,sa=null,Av.apply(Mv,arguments)}function Iv(e,t,i,s,n,c,m,r,o){if(Nv.apply(this,arguments),_n){if(_n){var f=sa;_n=!1,sa=null}else throw Error(ce(198));ra||(ra=!0,oc=f)}}function lr(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function zp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Qh(e){if(lr(e)!==e)throw Error(ce(188))}function Ov(e){var t=e.alternate;if(!t){if(t=lr(e),t===null)throw Error(ce(188));return t!==e?null:e}for(var i=e,s=t;;){var n=i.return;if(n===null)break;var c=n.alternate;if(c===null){if(s=n.return,s!==null){i=s;continue}break}if(n.child===c.child){for(c=n.child;c;){if(c===i)return Qh(n),e;if(c===s)return Qh(n),t;c=c.sibling}throw Error(ce(188))}if(i.return!==s.return)i=n,s=c;else{for(var m=!1,r=n.child;r;){if(r===i){m=!0,i=n,s=c;break}if(r===s){m=!0,s=n,i=c;break}r=r.sibling}if(!m){for(r=c.child;r;){if(r===i){m=!0,i=c,s=n;break}if(r===s){m=!0,s=c,i=n;break}r=r.sibling}if(!m)throw Error(ce(189))}}if(i.alternate!==s)throw Error(ce(190))}if(i.tag!==3)throw Error(ce(188));return i.stateNode.current===i?e:t}function Up(e){return e=Ov(e),e!==null?Wp(e):null}function Wp(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Wp(e);if(t!==null)return t;e=e.sibling}return null}var Vp=ki.unstable_scheduleCallback,ed=ki.unstable_cancelCallback,Pv=ki.unstable_shouldYield,Bv=ki.unstable_requestPaint,Nt=ki.unstable_now,jv=ki.unstable_getCurrentPriorityLevel,mu=ki.unstable_ImmediatePriority,Gp=ki.unstable_UserBlockingPriority,na=ki.unstable_NormalPriority,Fv=ki.unstable_LowPriority,Kp=ki.unstable_IdlePriority,Fa=null,ns=null;function Hv(e){if(ns&&typeof ns.onCommitFiberRoot=="function")try{ns.onCommitFiberRoot(Fa,e,void 0,(e.current.flags&128)===128)}catch{}}var Vi=Math.clz32?Math.clz32:Uv,$v=Math.log,zv=Math.LN2;function Uv(e){return e>>>=0,e===0?32:31-($v(e)/zv|0)|0}var _o=64,vo=4194304;function fn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function oa(e,t){var i=e.pendingLanes;if(i===0)return 0;var s=0,n=e.suspendedLanes,c=e.pingedLanes,m=i&268435455;if(m!==0){var r=m&~n;r!==0?s=fn(r):(c&=m,c!==0&&(s=fn(c)))}else m=i&~n,m!==0?s=fn(m):c!==0&&(s=fn(c));if(s===0)return 0;if(t!==0&&t!==s&&!(t&n)&&(n=s&-s,c=t&-t,n>=c||n===16&&(c&4194240)!==0))return t;if(s&4&&(s|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)i=31-Vi(t),n=1<<i,s|=e[i],t&=~n;return s}function Wv(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Vv(e,t){for(var i=e.suspendedLanes,s=e.pingedLanes,n=e.expirationTimes,c=e.pendingLanes;0<c;){var m=31-Vi(c),r=1<<m,o=n[m];o===-1?(!(r&i)||r&s)&&(n[m]=Wv(r,t)):o<=t&&(e.expiredLanes|=r),c&=~r}}function ac(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function qp(){var e=_o;return _o<<=1,!(_o&4194240)&&(_o=64),e}function hl(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function Zn(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Vi(t),e[t]=i}function Gv(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<i;){var n=31-Vi(i),c=1<<n;t[n]=0,s[n]=-1,e[n]=-1,i&=~c}}function gu(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var s=31-Vi(i),n=1<<s;n&t|e[s]&t&&(e[s]|=t),i&=~n}}var nt=0;function Yp(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Xp,_u,Jp,Zp,Qp,lc=!1,wo=[],Es=null,Ls=null,Rs=null,Mn=new Map,Nn=new Map,bs=[],Kv="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 td(e,t){switch(e){case"focusin":case"focusout":Es=null;break;case"dragenter":case"dragleave":Ls=null;break;case"mouseover":case"mouseout":Rs=null;break;case"pointerover":case"pointerout":Mn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nn.delete(t.pointerId)}}function Zr(e,t,i,s,n,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:i,eventSystemFlags:s,nativeEvent:c,targetContainers:[n]},t!==null&&(t=eo(t),t!==null&&_u(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function qv(e,t,i,s,n){switch(t){case"focusin":return Es=Zr(Es,e,t,i,s,n),!0;case"dragenter":return Ls=Zr(Ls,e,t,i,s,n),!0;case"mouseover":return Rs=Zr(Rs,e,t,i,s,n),!0;case"pointerover":var c=n.pointerId;return Mn.set(c,Zr(Mn.get(c)||null,e,t,i,s,n)),!0;case"gotpointercapture":return c=n.pointerId,Nn.set(c,Zr(Nn.get(c)||null,e,t,i,s,n)),!0}return!1}function em(e){var t=Gs(e.target);if(t!==null){var i=lr(t);if(i!==null){if(t=i.tag,t===13){if(t=zp(i),t!==null){e.blockedOn=t,Qp(e.priority,function(){Jp(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function zo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=cc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var s=new i.constructor(i.type,i);sc=s,i.target.dispatchEvent(s),sc=null}else return t=eo(i),t!==null&&_u(t),e.blockedOn=i,!1;t.shift()}return!0}function id(e,t,i){zo(e)&&i.delete(t)}function Yv(){lc=!1,Es!==null&&zo(Es)&&(Es=null),Ls!==null&&zo(Ls)&&(Ls=null),Rs!==null&&zo(Rs)&&(Rs=null),Mn.forEach(id),Nn.forEach(id)}function Qr(e,t){e.blockedOn===t&&(e.blockedOn=null,lc||(lc=!0,ki.unstable_scheduleCallback(ki.unstable_NormalPriority,Yv)))}function In(e){function t(n){return Qr(n,e)}if(0<wo.length){Qr(wo[0],e);for(var i=1;i<wo.length;i++){var s=wo[i];s.blockedOn===e&&(s.blockedOn=null)}}for(Es!==null&&Qr(Es,e),Ls!==null&&Qr(Ls,e),Rs!==null&&Qr(Rs,e),Mn.forEach(t),Nn.forEach(t),i=0;i<bs.length;i++)s=bs[i],s.blockedOn===e&&(s.blockedOn=null);for(;0<bs.length&&(i=bs[0],i.blockedOn===null);)em(i),i.blockedOn===null&&bs.shift()}var Pr=vs.ReactCurrentBatchConfig,aa=!0;function Xv(e,t,i,s){var n=nt,c=Pr.transition;Pr.transition=null;try{nt=1,vu(e,t,i,s)}finally{nt=n,Pr.transition=c}}function Jv(e,t,i,s){var n=nt,c=Pr.transition;Pr.transition=null;try{nt=4,vu(e,t,i,s)}finally{nt=n,Pr.transition=c}}function vu(e,t,i,s){if(aa){var n=cc(e,t,i,s);if(n===null)Sl(e,t,s,la,i),td(e,s);else if(qv(n,e,t,i,s))s.stopPropagation();else if(td(e,s),t&4&&-1<Kv.indexOf(e)){for(;n!==null;){var c=eo(n);if(c!==null&&Xp(c),c=cc(e,t,i,s),c===null&&Sl(e,t,s,la,i),c===n)break;n=c}n!==null&&s.stopPropagation()}else Sl(e,t,s,null,i)}}var la=null;function cc(e,t,i,s){if(la=null,e=pu(s),e=Gs(e),e!==null)if(t=lr(e),t===null)e=null;else if(i=t.tag,i===13){if(e=zp(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return la=e,null}function tm(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(jv()){case mu:return 1;case Gp:return 4;case na:case Fv:return 16;case Kp:return 536870912;default:return 16}default:return 16}}var Cs=null,wu=null,Uo=null;function im(){if(Uo)return Uo;var e,t=wu,i=t.length,s,n="value"in Cs?Cs.value:Cs.textContent,c=n.length;for(e=0;e<i&&t[e]===n[e];e++);var m=i-e;for(s=1;s<=m&&t[i-s]===n[c-s];s++);return Uo=n.slice(e,1<s?1-s:void 0)}function Wo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function sd(){return!1}function Li(e){function t(i,s,n,c,m){this._reactName=i,this._targetInst=n,this.type=s,this.nativeEvent=c,this.target=m,this.currentTarget=null;for(var r in e)e.hasOwnProperty(r)&&(i=e[r],this[r]=i?i(c):c[r]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?yo:sd,this.isPropagationStopped=sd,this}return Ct(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var qr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},yu=Li(qr),Qn=Ct({},qr,{view:0,detail:0}),Zv=Li(Qn),dl,fl,en,Ha=Ct({},Qn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Su,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==en&&(en&&e.type==="mousemove"?(dl=e.screenX-en.screenX,fl=e.screenY-en.screenY):fl=dl=0,en=e),dl)},movementY:function(e){return"movementY"in e?e.movementY:fl}}),rd=Li(Ha),Qv=Ct({},Ha,{dataTransfer:0}),e0=Li(Qv),t0=Ct({},Qn,{relatedTarget:0}),pl=Li(t0),i0=Ct({},qr,{animationName:0,elapsedTime:0,pseudoElement:0}),s0=Li(i0),r0=Ct({},qr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),n0=Li(r0),o0=Ct({},qr,{data:0}),nd=Li(o0),a0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},l0={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"},c0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function u0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=c0[e])?!!t[e]:!1}function Su(){return u0}var h0=Ct({},Qn,{key:function(e){if(e.key){var t=a0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Wo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?l0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Su,charCode:function(e){return e.type==="keypress"?Wo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Wo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),d0=Li(h0),f0=Ct({},Ha,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),od=Li(f0),p0=Ct({},Qn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Su}),m0=Li(p0),g0=Ct({},qr,{propertyName:0,elapsedTime:0,pseudoElement:0}),_0=Li(g0),v0=Ct({},Ha,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),w0=Li(v0),y0=[9,13,27,32],bu=fs&&"CompositionEvent"in window,vn=null;fs&&"documentMode"in document&&(vn=document.documentMode);var S0=fs&&"TextEvent"in window&&!vn,sm=fs&&(!bu||vn&&8<vn&&11>=vn),ad=" ",ld=!1;function rm(e,t){switch(e){case"keyup":return y0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wr=!1;function b0(e,t){switch(e){case"compositionend":return nm(t);case"keypress":return t.which!==32?null:(ld=!0,ad);case"textInput":return e=t.data,e===ad&&ld?null:e;default:return null}}function x0(e,t){if(wr)return e==="compositionend"||!bu&&rm(e,t)?(e=im(),Uo=wu=Cs=null,wr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return sm&&t.locale!=="ko"?null:t.data;default:return null}}var C0={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 cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!C0[e.type]:t==="textarea"}function om(e,t,i,s){Bp(s),t=ca(t,"onChange"),0<t.length&&(i=new yu("onChange","change",null,i,s),e.push({event:i,listeners:t}))}var wn=null,On=null;function k0(e){_m(e,0)}function $a(e){var t=br(e);if(Dp(t))return e}function E0(e,t){if(e==="change")return t}var am=!1;if(fs){var ml;if(fs){var gl="oninput"in document;if(!gl){var ud=document.createElement("div");ud.setAttribute("oninput","return;"),gl=typeof ud.oninput=="function"}ml=gl}else ml=!1;am=ml&&(!document.documentMode||9<document.documentMode)}function hd(){wn&&(wn.detachEvent("onpropertychange",lm),On=wn=null)}function lm(e){if(e.propertyName==="value"&&$a(On)){var t=[];om(t,On,e,pu(e)),$p(k0,t)}}function L0(e,t,i){e==="focusin"?(hd(),wn=t,On=i,wn.attachEvent("onpropertychange",lm)):e==="focusout"&&hd()}function R0(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return $a(On)}function T0(e,t){if(e==="click")return $a(t)}function D0(e,t){if(e==="input"||e==="change")return $a(t)}function A0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ki=typeof Object.is=="function"?Object.is:A0;function Pn(e,t){if(Ki(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(s=0;s<i.length;s++){var n=i[s];if(!Vl.call(t,n)||!Ki(e[n],t[n]))return!1}return!0}function dd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fd(e,t){var i=dd(e);e=0;for(var s;i;){if(i.nodeType===3){if(s=e+i.textContent.length,e<=t&&s>=t)return{node:i,offset:t-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=dd(i)}}function cm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?cm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function um(){for(var e=window,t=ia();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=ia(e.document)}return t}function xu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function M0(e){var t=um(),i=e.focusedElem,s=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&cm(i.ownerDocument.documentElement,i)){if(s!==null&&xu(i)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var n=i.textContent.length,c=Math.min(s.start,n);s=s.end===void 0?c:Math.min(s.end,n),!e.extend&&c>s&&(n=s,s=c,c=n),n=fd(i,c);var m=fd(i,s);n&&m&&(e.rangeCount!==1||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==m.node||e.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(n.node,n.offset),e.removeAllRanges(),c>s?(e.addRange(t),e.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<t.length;i++)e=t[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var N0=fs&&"documentMode"in document&&11>=document.documentMode,yr=null,uc=null,yn=null,hc=!1;function pd(e,t,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;hc||yr==null||yr!==ia(s)||(s=yr,"selectionStart"in s&&xu(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),yn&&Pn(yn,s)||(yn=s,s=ca(uc,"onSelect"),0<s.length&&(t=new yu("onSelect","select",null,t,i),e.push({event:t,listeners:s}),t.target=yr)))}function So(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Sr={animationend:So("Animation","AnimationEnd"),animationiteration:So("Animation","AnimationIteration"),animationstart:So("Animation","AnimationStart"),transitionend:So("Transition","TransitionEnd")},_l={},hm={};fs&&(hm=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);function za(e){if(_l[e])return _l[e];if(!Sr[e])return e;var t=Sr[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in hm)return _l[e]=t[i];return e}var dm=za("animationend"),fm=za("animationiteration"),pm=za("animationstart"),mm=za("transitionend"),gm=new Map,md="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 js(e,t){gm.set(e,t),ar(t,[e])}for(var vl=0;vl<md.length;vl++){var wl=md[vl],I0=wl.toLowerCase(),O0=wl[0].toUpperCase()+wl.slice(1);js(I0,"on"+O0)}js(dm,"onAnimationEnd");js(fm,"onAnimationIteration");js(pm,"onAnimationStart");js("dblclick","onDoubleClick");js("focusin","onFocus");js("focusout","onBlur");js(mm,"onTransitionEnd");Hr("onMouseEnter",["mouseout","mouseover"]);Hr("onMouseLeave",["mouseout","mouseover"]);Hr("onPointerEnter",["pointerout","pointerover"]);Hr("onPointerLeave",["pointerout","pointerover"]);ar("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ar("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ar("onBeforeInput",["compositionend","keypress","textInput","paste"]);ar("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ar("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ar("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var pn="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(" "),P0=new Set("cancel close invalid load scroll toggle".split(" ").concat(pn));function gd(e,t,i){var s=e.type||"unknown-event";e.currentTarget=i,Iv(s,t,void 0,e),e.currentTarget=null}function _m(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var s=e[i],n=s.event;s=s.listeners;e:{var c=void 0;if(t)for(var m=s.length-1;0<=m;m--){var r=s[m],o=r.instance,f=r.currentTarget;if(r=r.listener,o!==c&&n.isPropagationStopped())break e;gd(n,r,f),c=o}else for(m=0;m<s.length;m++){if(r=s[m],o=r.instance,f=r.currentTarget,r=r.listener,o!==c&&n.isPropagationStopped())break e;gd(n,r,f),c=o}}}if(ra)throw e=oc,ra=!1,oc=null,e}function mt(e,t){var i=t[gc];i===void 0&&(i=t[gc]=new Set);var s=e+"__bubble";i.has(s)||(vm(t,e,2,!1),i.add(s))}function yl(e,t,i){var s=0;t&&(s|=4),vm(i,e,s,t)}var bo="_reactListening"+Math.random().toString(36).slice(2);function Bn(e){if(!e[bo]){e[bo]=!0,kp.forEach(function(i){i!=="selectionchange"&&(P0.has(i)||yl(i,!1,e),yl(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bo]||(t[bo]=!0,yl("selectionchange",!1,t))}}function vm(e,t,i,s){switch(tm(t)){case 1:var n=Xv;break;case 4:n=Jv;break;default:n=vu}i=n.bind(null,t,i,e),n=void 0,!nc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),s?n!==void 0?e.addEventListener(t,i,{capture:!0,passive:n}):e.addEventListener(t,i,!0):n!==void 0?e.addEventListener(t,i,{passive:n}):e.addEventListener(t,i,!1)}function Sl(e,t,i,s,n){var c=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var m=s.tag;if(m===3||m===4){var r=s.stateNode.containerInfo;if(r===n||r.nodeType===8&&r.parentNode===n)break;if(m===4)for(m=s.return;m!==null;){var o=m.tag;if((o===3||o===4)&&(o=m.stateNode.containerInfo,o===n||o.nodeType===8&&o.parentNode===n))return;m=m.return}for(;r!==null;){if(m=Gs(r),m===null)return;if(o=m.tag,o===5||o===6){s=c=m;continue e}r=r.parentNode}}s=s.return}$p(function(){var f=c,v=pu(i),h=[];e:{var p=gm.get(e);if(p!==void 0){var y=yu,S=e;switch(e){case"keypress":if(Wo(i)===0)break e;case"keydown":case"keyup":y=d0;break;case"focusin":S="focus",y=pl;break;case"focusout":S="blur",y=pl;break;case"beforeblur":case"afterblur":y=pl;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=rd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=e0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=m0;break;case dm:case fm:case pm:y=s0;break;case mm:y=_0;break;case"scroll":y=Zv;break;case"wheel":y=w0;break;case"copy":case"cut":case"paste":y=n0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=od}var g=(t&4)!==0,a=!g&&e==="scroll",u=g?p!==null?p+"Capture":null:p;g=[];for(var l=f,d;l!==null;){d=l;var w=d.stateNode;if(d.tag===5&&w!==null&&(d=w,u!==null&&(w=An(l,u),w!=null&&g.push(jn(l,w,d)))),a)break;l=l.return}0<g.length&&(p=new y(p,S,null,i,v),h.push({event:p,listeners:g}))}}if(!(t&7)){e:{if(p=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",p&&i!==sc&&(S=i.relatedTarget||i.fromElement)&&(Gs(S)||S[ps]))break e;if((y||p)&&(p=v.window===v?v:(p=v.ownerDocument)?p.defaultView||p.parentWindow:window,y?(S=i.relatedTarget||i.toElement,y=f,S=S?Gs(S):null,S!==null&&(a=lr(S),S!==a||S.tag!==5&&S.tag!==6)&&(S=null)):(y=null,S=f),y!==S)){if(g=rd,w="onMouseLeave",u="onMouseEnter",l="mouse",(e==="pointerout"||e==="pointerover")&&(g=od,w="onPointerLeave",u="onPointerEnter",l="pointer"),a=y==null?p:br(y),d=S==null?p:br(S),p=new g(w,l+"leave",y,i,v),p.target=a,p.relatedTarget=d,w=null,Gs(v)===f&&(g=new g(u,l+"enter",S,i,v),g.target=d,g.relatedTarget=a,w=g),a=w,y&&S)t:{for(g=y,u=S,l=0,d=g;d;d=hr(d))l++;for(d=0,w=u;w;w=hr(w))d++;for(;0<l-d;)g=hr(g),l--;for(;0<d-l;)u=hr(u),d--;for(;l--;){if(g===u||u!==null&&g===u.alternate)break t;g=hr(g),u=hr(u)}g=null}else g=null;y!==null&&_d(h,p,y,g,!1),S!==null&&a!==null&&_d(h,a,S,g,!0)}}e:{if(p=f?br(f):window,y=p.nodeName&&p.nodeName.toLowerCase(),y==="select"||y==="input"&&p.type==="file")var k=E0;else if(cd(p))if(am)k=D0;else{k=R0;var b=L0}else(y=p.nodeName)&&y.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(k=T0);if(k&&(k=k(e,f))){om(h,k,i,v);break e}b&&b(e,p,f),e==="focusout"&&(b=p._wrapperState)&&b.controlled&&p.type==="number"&&Zl(p,"number",p.value)}switch(b=f?br(f):window,e){case"focusin":(cd(b)||b.contentEditable==="true")&&(yr=b,uc=f,yn=null);break;case"focusout":yn=uc=yr=null;break;case"mousedown":hc=!0;break;case"contextmenu":case"mouseup":case"dragend":hc=!1,pd(h,i,v);break;case"selectionchange":if(N0)break;case"keydown":case"keyup":pd(h,i,v)}var L;if(bu)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else wr?rm(e,i)&&(x="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(x="onCompositionStart");x&&(sm&&i.locale!=="ko"&&(wr||x!=="onCompositionStart"?x==="onCompositionEnd"&&wr&&(L=im()):(Cs=v,wu="value"in Cs?Cs.value:Cs.textContent,wr=!0)),b=ca(f,x),0<b.length&&(x=new nd(x,e,null,i,v),h.push({event:x,listeners:b}),L?x.data=L:(L=nm(i),L!==null&&(x.data=L)))),(L=S0?b0(e,i):x0(e,i))&&(f=ca(f,"onBeforeInput"),0<f.length&&(v=new nd("onBeforeInput","beforeinput",null,i,v),h.push({event:v,listeners:f}),v.data=L))}_m(h,t)})}function jn(e,t,i){return{instance:e,listener:t,currentTarget:i}}function ca(e,t){for(var i=t+"Capture",s=[];e!==null;){var n=e,c=n.stateNode;n.tag===5&&c!==null&&(n=c,c=An(e,i),c!=null&&s.unshift(jn(e,c,n)),c=An(e,t),c!=null&&s.push(jn(e,c,n))),e=e.return}return s}function hr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function _d(e,t,i,s,n){for(var c=t._reactName,m=[];i!==null&&i!==s;){var r=i,o=r.alternate,f=r.stateNode;if(o!==null&&o===s)break;r.tag===5&&f!==null&&(r=f,n?(o=An(i,c),o!=null&&m.unshift(jn(i,o,r))):n||(o=An(i,c),o!=null&&m.push(jn(i,o,r)))),i=i.return}m.length!==0&&e.push({event:t,listeners:m})}var B0=/\r\n?/g,j0=/\u0000|\uFFFD/g;function vd(e){return(typeof e=="string"?e:""+e).replace(B0,`
38
- `).replace(j0,"")}function xo(e,t,i){if(t=vd(t),vd(e)!==t&&i)throw Error(ce(425))}function ua(){}var dc=null,fc=null;function pc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var mc=typeof setTimeout=="function"?setTimeout:void 0,F0=typeof clearTimeout=="function"?clearTimeout:void 0,wd=typeof Promise=="function"?Promise:void 0,H0=typeof queueMicrotask=="function"?queueMicrotask:typeof wd<"u"?function(e){return wd.resolve(null).then(e).catch($0)}:mc;function $0(e){setTimeout(function(){throw e})}function bl(e,t){var i=t,s=0;do{var n=i.nextSibling;if(e.removeChild(i),n&&n.nodeType===8)if(i=n.data,i==="/$"){if(s===0){e.removeChild(n),In(t);return}s--}else i!=="$"&&i!=="$?"&&i!=="$!"||s++;i=n}while(i);In(t)}function Ts(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function yd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var Yr=Math.random().toString(36).slice(2),is="__reactFiber$"+Yr,Fn="__reactProps$"+Yr,ps="__reactContainer$"+Yr,gc="__reactEvents$"+Yr,z0="__reactListeners$"+Yr,U0="__reactHandles$"+Yr;function Gs(e){var t=e[is];if(t)return t;for(var i=e.parentNode;i;){if(t=i[ps]||i[is]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=yd(e);e!==null;){if(i=e[is])return i;e=yd(e)}return t}e=i,i=e.parentNode}return null}function eo(e){return e=e[is]||e[ps],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function br(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(ce(33))}function Ua(e){return e[Fn]||null}var _c=[],xr=-1;function Fs(e){return{current:e}}function gt(e){0>xr||(e.current=_c[xr],_c[xr]=null,xr--)}function ht(e,t){xr++,_c[xr]=e.current,e.current=t}var Os={},ti=Fs(Os),gi=Fs(!1),Js=Os;function $r(e,t){var i=e.type.contextTypes;if(!i)return Os;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var n={},c;for(c in i)n[c]=t[c];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function _i(e){return e=e.childContextTypes,e!=null}function ha(){gt(gi),gt(ti)}function Sd(e,t,i){if(ti.current!==Os)throw Error(ce(168));ht(ti,t),ht(gi,i)}function wm(e,t,i){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var n in s)if(!(n in t))throw Error(ce(108,Lv(e)||"Unknown",n));return Ct({},i,s)}function da(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Os,Js=ti.current,ht(ti,e),ht(gi,gi.current),!0}function bd(e,t,i){var s=e.stateNode;if(!s)throw Error(ce(169));i?(e=wm(e,t,Js),s.__reactInternalMemoizedMergedChildContext=e,gt(gi),gt(ti),ht(ti,e)):gt(gi),ht(gi,i)}var ls=null,Wa=!1,xl=!1;function ym(e){ls===null?ls=[e]:ls.push(e)}function W0(e){Wa=!0,ym(e)}function Hs(){if(!xl&&ls!==null){xl=!0;var e=0,t=nt;try{var i=ls;for(nt=1;e<i.length;e++){var s=i[e];do s=s(!0);while(s!==null)}ls=null,Wa=!1}catch(n){throw ls!==null&&(ls=ls.slice(e+1)),Vp(mu,Hs),n}finally{nt=t,xl=!1}}return null}var Cr=[],kr=0,fa=null,pa=0,Ri=[],Ti=0,Zs=null,cs=1,us="";function Us(e,t){Cr[kr++]=pa,Cr[kr++]=fa,fa=e,pa=t}function Sm(e,t,i){Ri[Ti++]=cs,Ri[Ti++]=us,Ri[Ti++]=Zs,Zs=e;var s=cs;e=us;var n=32-Vi(s)-1;s&=~(1<<n),i+=1;var c=32-Vi(t)+n;if(30<c){var m=n-n%5;c=(s&(1<<m)-1).toString(32),s>>=m,n-=m,cs=1<<32-Vi(t)+n|i<<n|s,us=c+e}else cs=1<<c|i<<n|s,us=e}function Cu(e){e.return!==null&&(Us(e,1),Sm(e,1,0))}function ku(e){for(;e===fa;)fa=Cr[--kr],Cr[kr]=null,pa=Cr[--kr],Cr[kr]=null;for(;e===Zs;)Zs=Ri[--Ti],Ri[Ti]=null,us=Ri[--Ti],Ri[Ti]=null,cs=Ri[--Ti],Ri[Ti]=null}var Ci=null,xi=null,wt=!1,Wi=null;function bm(e,t){var i=Di(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function xd(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ci=e,xi=Ts(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ci=e,xi=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=Zs!==null?{id:cs,overflow:us}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=Di(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Ci=e,xi=null,!0):!1;default:return!1}}function vc(e){return(e.mode&1)!==0&&(e.flags&128)===0}function wc(e){if(wt){var t=xi;if(t){var i=t;if(!xd(e,t)){if(vc(e))throw Error(ce(418));t=Ts(i.nextSibling);var s=Ci;t&&xd(e,t)?bm(s,i):(e.flags=e.flags&-4097|2,wt=!1,Ci=e)}}else{if(vc(e))throw Error(ce(418));e.flags=e.flags&-4097|2,wt=!1,Ci=e}}}function Cd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ci=e}function Co(e){if(e!==Ci)return!1;if(!wt)return Cd(e),wt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!pc(e.type,e.memoizedProps)),t&&(t=xi)){if(vc(e))throw xm(),Error(ce(418));for(;t;)bm(e,t),t=Ts(t.nextSibling)}if(Cd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ce(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){xi=Ts(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}xi=null}}else xi=Ci?Ts(e.stateNode.nextSibling):null;return!0}function xm(){for(var e=xi;e;)e=Ts(e.nextSibling)}function zr(){xi=Ci=null,wt=!1}function Eu(e){Wi===null?Wi=[e]:Wi.push(e)}var V0=vs.ReactCurrentBatchConfig;function tn(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(ce(309));var s=i.stateNode}if(!s)throw Error(ce(147,e));var n=s,c=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===c?t.ref:(t=function(m){var r=n.refs;m===null?delete r[c]:r[c]=m},t._stringRef=c,t)}if(typeof e!="string")throw Error(ce(284));if(!i._owner)throw Error(ce(290,e))}return e}function ko(e,t){throw e=Object.prototype.toString.call(t),Error(ce(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function kd(e){var t=e._init;return t(e._payload)}function Cm(e){function t(u,l){if(e){var d=u.deletions;d===null?(u.deletions=[l],u.flags|=16):d.push(l)}}function i(u,l){if(!e)return null;for(;l!==null;)t(u,l),l=l.sibling;return null}function s(u,l){for(u=new Map;l!==null;)l.key!==null?u.set(l.key,l):u.set(l.index,l),l=l.sibling;return u}function n(u,l){return u=Ns(u,l),u.index=0,u.sibling=null,u}function c(u,l,d){return u.index=d,e?(d=u.alternate,d!==null?(d=d.index,d<l?(u.flags|=2,l):d):(u.flags|=2,l)):(u.flags|=1048576,l)}function m(u){return e&&u.alternate===null&&(u.flags|=2),u}function r(u,l,d,w){return l===null||l.tag!==6?(l=Dl(d,u.mode,w),l.return=u,l):(l=n(l,d),l.return=u,l)}function o(u,l,d,w){var k=d.type;return k===vr?v(u,l,d.props.children,w,d.key):l!==null&&(l.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ys&&kd(k)===l.type)?(w=n(l,d.props),w.ref=tn(u,l,d),w.return=u,w):(w=Jo(d.type,d.key,d.props,null,u.mode,w),w.ref=tn(u,l,d),w.return=u,w)}function f(u,l,d,w){return l===null||l.tag!==4||l.stateNode.containerInfo!==d.containerInfo||l.stateNode.implementation!==d.implementation?(l=Al(d,u.mode,w),l.return=u,l):(l=n(l,d.children||[]),l.return=u,l)}function v(u,l,d,w,k){return l===null||l.tag!==7?(l=Xs(d,u.mode,w,k),l.return=u,l):(l=n(l,d),l.return=u,l)}function h(u,l,d){if(typeof l=="string"&&l!==""||typeof l=="number")return l=Dl(""+l,u.mode,d),l.return=u,l;if(typeof l=="object"&&l!==null){switch(l.$$typeof){case po:return d=Jo(l.type,l.key,l.props,null,u.mode,d),d.ref=tn(u,null,l),d.return=u,d;case _r:return l=Al(l,u.mode,d),l.return=u,l;case ys:var w=l._init;return h(u,w(l._payload),d)}if(dn(l)||Xr(l))return l=Xs(l,u.mode,d,null),l.return=u,l;ko(u,l)}return null}function p(u,l,d,w){var k=l!==null?l.key:null;if(typeof d=="string"&&d!==""||typeof d=="number")return k!==null?null:r(u,l,""+d,w);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case po:return d.key===k?o(u,l,d,w):null;case _r:return d.key===k?f(u,l,d,w):null;case ys:return k=d._init,p(u,l,k(d._payload),w)}if(dn(d)||Xr(d))return k!==null?null:v(u,l,d,w,null);ko(u,d)}return null}function y(u,l,d,w,k){if(typeof w=="string"&&w!==""||typeof w=="number")return u=u.get(d)||null,r(l,u,""+w,k);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case po:return u=u.get(w.key===null?d:w.key)||null,o(l,u,w,k);case _r:return u=u.get(w.key===null?d:w.key)||null,f(l,u,w,k);case ys:var b=w._init;return y(u,l,d,b(w._payload),k)}if(dn(w)||Xr(w))return u=u.get(d)||null,v(l,u,w,k,null);ko(l,w)}return null}function S(u,l,d,w){for(var k=null,b=null,L=l,x=l=0,E=null;L!==null&&x<d.length;x++){L.index>x?(E=L,L=null):E=L.sibling;var R=p(u,L,d[x],w);if(R===null){L===null&&(L=E);break}e&&L&&R.alternate===null&&t(u,L),l=c(R,l,x),b===null?k=R:b.sibling=R,b=R,L=E}if(x===d.length)return i(u,L),wt&&Us(u,x),k;if(L===null){for(;x<d.length;x++)L=h(u,d[x],w),L!==null&&(l=c(L,l,x),b===null?k=L:b.sibling=L,b=L);return wt&&Us(u,x),k}for(L=s(u,L);x<d.length;x++)E=y(L,u,x,d[x],w),E!==null&&(e&&E.alternate!==null&&L.delete(E.key===null?x:E.key),l=c(E,l,x),b===null?k=E:b.sibling=E,b=E);return e&&L.forEach(function(I){return t(u,I)}),wt&&Us(u,x),k}function g(u,l,d,w){var k=Xr(d);if(typeof k!="function")throw Error(ce(150));if(d=k.call(d),d==null)throw Error(ce(151));for(var b=k=null,L=l,x=l=0,E=null,R=d.next();L!==null&&!R.done;x++,R=d.next()){L.index>x?(E=L,L=null):E=L.sibling;var I=p(u,L,R.value,w);if(I===null){L===null&&(L=E);break}e&&L&&I.alternate===null&&t(u,L),l=c(I,l,x),b===null?k=I:b.sibling=I,b=I,L=E}if(R.done)return i(u,L),wt&&Us(u,x),k;if(L===null){for(;!R.done;x++,R=d.next())R=h(u,R.value,w),R!==null&&(l=c(R,l,x),b===null?k=R:b.sibling=R,b=R);return wt&&Us(u,x),k}for(L=s(u,L);!R.done;x++,R=d.next())R=y(L,u,x,R.value,w),R!==null&&(e&&R.alternate!==null&&L.delete(R.key===null?x:R.key),l=c(R,l,x),b===null?k=R:b.sibling=R,b=R);return e&&L.forEach(function(T){return t(u,T)}),wt&&Us(u,x),k}function a(u,l,d,w){if(typeof d=="object"&&d!==null&&d.type===vr&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case po:e:{for(var k=d.key,b=l;b!==null;){if(b.key===k){if(k=d.type,k===vr){if(b.tag===7){i(u,b.sibling),l=n(b,d.props.children),l.return=u,u=l;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ys&&kd(k)===b.type){i(u,b.sibling),l=n(b,d.props),l.ref=tn(u,b,d),l.return=u,u=l;break e}i(u,b);break}else t(u,b);b=b.sibling}d.type===vr?(l=Xs(d.props.children,u.mode,w,d.key),l.return=u,u=l):(w=Jo(d.type,d.key,d.props,null,u.mode,w),w.ref=tn(u,l,d),w.return=u,u=w)}return m(u);case _r:e:{for(b=d.key;l!==null;){if(l.key===b)if(l.tag===4&&l.stateNode.containerInfo===d.containerInfo&&l.stateNode.implementation===d.implementation){i(u,l.sibling),l=n(l,d.children||[]),l.return=u,u=l;break e}else{i(u,l);break}else t(u,l);l=l.sibling}l=Al(d,u.mode,w),l.return=u,u=l}return m(u);case ys:return b=d._init,a(u,l,b(d._payload),w)}if(dn(d))return S(u,l,d,w);if(Xr(d))return g(u,l,d,w);ko(u,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,l!==null&&l.tag===6?(i(u,l.sibling),l=n(l,d),l.return=u,u=l):(i(u,l),l=Dl(d,u.mode,w),l.return=u,u=l),m(u)):i(u,l)}return a}var Ur=Cm(!0),km=Cm(!1),ma=Fs(null),ga=null,Er=null,Lu=null;function Ru(){Lu=Er=ga=null}function Tu(e){var t=ma.current;gt(ma),e._currentValue=t}function yc(e,t,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===i)break;e=e.return}}function Br(e,t){ga=e,Lu=Er=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(mi=!0),e.firstContext=null)}function Mi(e){var t=e._currentValue;if(Lu!==e)if(e={context:e,memoizedValue:t,next:null},Er===null){if(ga===null)throw Error(ce(308));Er=e,ga.dependencies={lanes:0,firstContext:e}}else Er=Er.next=e;return t}var Ks=null;function Du(e){Ks===null?Ks=[e]:Ks.push(e)}function Em(e,t,i,s){var n=t.interleaved;return n===null?(i.next=i,Du(t)):(i.next=n.next,n.next=i),t.interleaved=i,ms(e,s)}function ms(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Ss=!1;function Au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lm(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function hs(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ds(e,t,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,Xe&2){var n=s.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),s.pending=t,ms(e,i)}return n=s.interleaved,n===null?(t.next=t,Du(s)):(t.next=n.next,n.next=t),s.interleaved=t,ms(e,i)}function Vo(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,gu(e,i)}}function Ed(e,t){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var n=null,c=null;if(i=i.firstBaseUpdate,i!==null){do{var m={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};c===null?n=c=m:c=c.next=m,i=i.next}while(i!==null);c===null?n=c=t:c=c.next=t}else n=c=t;i={baseState:s.baseState,firstBaseUpdate:n,lastBaseUpdate:c,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function _a(e,t,i,s){var n=e.updateQueue;Ss=!1;var c=n.firstBaseUpdate,m=n.lastBaseUpdate,r=n.shared.pending;if(r!==null){n.shared.pending=null;var o=r,f=o.next;o.next=null,m===null?c=f:m.next=f,m=o;var v=e.alternate;v!==null&&(v=v.updateQueue,r=v.lastBaseUpdate,r!==m&&(r===null?v.firstBaseUpdate=f:r.next=f,v.lastBaseUpdate=o))}if(c!==null){var h=n.baseState;m=0,v=f=o=null,r=c;do{var p=r.lane,y=r.eventTime;if((s&p)===p){v!==null&&(v=v.next={eventTime:y,lane:0,tag:r.tag,payload:r.payload,callback:r.callback,next:null});e:{var S=e,g=r;switch(p=t,y=i,g.tag){case 1:if(S=g.payload,typeof S=="function"){h=S.call(y,h,p);break e}h=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=g.payload,p=typeof S=="function"?S.call(y,h,p):S,p==null)break e;h=Ct({},h,p);break e;case 2:Ss=!0}}r.callback!==null&&r.lane!==0&&(e.flags|=64,p=n.effects,p===null?n.effects=[r]:p.push(r))}else y={eventTime:y,lane:p,tag:r.tag,payload:r.payload,callback:r.callback,next:null},v===null?(f=v=y,o=h):v=v.next=y,m|=p;if(r=r.next,r===null){if(r=n.shared.pending,r===null)break;p=r,r=p.next,p.next=null,n.lastBaseUpdate=p,n.shared.pending=null}}while(!0);if(v===null&&(o=h),n.baseState=o,n.firstBaseUpdate=f,n.lastBaseUpdate=v,t=n.shared.interleaved,t!==null){n=t;do m|=n.lane,n=n.next;while(n!==t)}else c===null&&(n.shared.lanes=0);er|=m,e.lanes=m,e.memoizedState=h}}function Ld(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],n=s.callback;if(n!==null){if(s.callback=null,s=i,typeof n!="function")throw Error(ce(191,n));n.call(s)}}}var to={},os=Fs(to),Hn=Fs(to),$n=Fs(to);function qs(e){if(e===to)throw Error(ce(174));return e}function Mu(e,t){switch(ht($n,t),ht(Hn,e),ht(os,to),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ec(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ec(t,e)}gt(os),ht(os,t)}function Wr(){gt(os),gt(Hn),gt($n)}function Rm(e){qs($n.current);var t=qs(os.current),i=ec(t,e.type);t!==i&&(ht(Hn,e),ht(os,i))}function Nu(e){Hn.current===e&&(gt(os),gt(Hn))}var bt=Fs(0);function va(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Cl=[];function Iu(){for(var e=0;e<Cl.length;e++)Cl[e]._workInProgressVersionPrimary=null;Cl.length=0}var Go=vs.ReactCurrentDispatcher,kl=vs.ReactCurrentBatchConfig,Qs=0,xt=null,Bt=null,$t=null,wa=!1,Sn=!1,zn=0,G0=0;function Jt(){throw Error(ce(321))}function Ou(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!Ki(e[i],t[i]))return!1;return!0}function Pu(e,t,i,s,n,c){if(Qs=c,xt=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Go.current=e===null||e.memoizedState===null?X0:J0,e=i(s,n),Sn){c=0;do{if(Sn=!1,zn=0,25<=c)throw Error(ce(301));c+=1,$t=Bt=null,t.updateQueue=null,Go.current=Z0,e=i(s,n)}while(Sn)}if(Go.current=ya,t=Bt!==null&&Bt.next!==null,Qs=0,$t=Bt=xt=null,wa=!1,t)throw Error(ce(300));return e}function Bu(){var e=zn!==0;return zn=0,e}function ts(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $t===null?xt.memoizedState=$t=e:$t=$t.next=e,$t}function Ni(){if(Bt===null){var e=xt.alternate;e=e!==null?e.memoizedState:null}else e=Bt.next;var t=$t===null?xt.memoizedState:$t.next;if(t!==null)$t=t,Bt=e;else{if(e===null)throw Error(ce(310));Bt=e,e={memoizedState:Bt.memoizedState,baseState:Bt.baseState,baseQueue:Bt.baseQueue,queue:Bt.queue,next:null},$t===null?xt.memoizedState=$t=e:$t=$t.next=e}return $t}function Un(e,t){return typeof t=="function"?t(e):t}function El(e){var t=Ni(),i=t.queue;if(i===null)throw Error(ce(311));i.lastRenderedReducer=e;var s=Bt,n=s.baseQueue,c=i.pending;if(c!==null){if(n!==null){var m=n.next;n.next=c.next,c.next=m}s.baseQueue=n=c,i.pending=null}if(n!==null){c=n.next,s=s.baseState;var r=m=null,o=null,f=c;do{var v=f.lane;if((Qs&v)===v)o!==null&&(o=o.next={lane:0,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null}),s=f.hasEagerState?f.eagerState:e(s,f.action);else{var h={lane:v,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null};o===null?(r=o=h,m=s):o=o.next=h,xt.lanes|=v,er|=v}f=f.next}while(f!==null&&f!==c);o===null?m=s:o.next=r,Ki(s,t.memoizedState)||(mi=!0),t.memoizedState=s,t.baseState=m,t.baseQueue=o,i.lastRenderedState=s}if(e=i.interleaved,e!==null){n=e;do c=n.lane,xt.lanes|=c,er|=c,n=n.next;while(n!==e)}else n===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function Ll(e){var t=Ni(),i=t.queue;if(i===null)throw Error(ce(311));i.lastRenderedReducer=e;var s=i.dispatch,n=i.pending,c=t.memoizedState;if(n!==null){i.pending=null;var m=n=n.next;do c=e(c,m.action),m=m.next;while(m!==n);Ki(c,t.memoizedState)||(mi=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),i.lastRenderedState=c}return[c,s]}function Tm(){}function Dm(e,t){var i=xt,s=Ni(),n=t(),c=!Ki(s.memoizedState,n);if(c&&(s.memoizedState=n,mi=!0),s=s.queue,ju(Nm.bind(null,i,s,e),[e]),s.getSnapshot!==t||c||$t!==null&&$t.memoizedState.tag&1){if(i.flags|=2048,Wn(9,Mm.bind(null,i,s,n,t),void 0,null),zt===null)throw Error(ce(349));Qs&30||Am(i,t,n)}return n}function Am(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=xt.updateQueue,t===null?(t={lastEffect:null,stores:null},xt.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Mm(e,t,i,s){t.value=i,t.getSnapshot=s,Im(t)&&Om(e)}function Nm(e,t,i){return i(function(){Im(t)&&Om(e)})}function Im(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!Ki(e,i)}catch{return!0}}function Om(e){var t=ms(e,1);t!==null&&Gi(t,e,1,-1)}function Rd(e){var t=ts();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:e},t.queue=e,e=e.dispatch=Y0.bind(null,xt,e),[t.memoizedState,e]}function Wn(e,t,i,s){return e={tag:e,create:t,destroy:i,deps:s,next:null},t=xt.updateQueue,t===null?(t={lastEffect:null,stores:null},xt.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(s=i.next,i.next=e,e.next=s,t.lastEffect=e)),e}function Pm(){return Ni().memoizedState}function Ko(e,t,i,s){var n=ts();xt.flags|=e,n.memoizedState=Wn(1|t,i,void 0,s===void 0?null:s)}function Va(e,t,i,s){var n=Ni();s=s===void 0?null:s;var c=void 0;if(Bt!==null){var m=Bt.memoizedState;if(c=m.destroy,s!==null&&Ou(s,m.deps)){n.memoizedState=Wn(t,i,c,s);return}}xt.flags|=e,n.memoizedState=Wn(1|t,i,c,s)}function Td(e,t){return Ko(8390656,8,e,t)}function ju(e,t){return Va(2048,8,e,t)}function Bm(e,t){return Va(4,2,e,t)}function jm(e,t){return Va(4,4,e,t)}function Fm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Hm(e,t,i){return i=i!=null?i.concat([e]):null,Va(4,4,Fm.bind(null,t,e),i)}function Fu(){}function $m(e,t){var i=Ni();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&Ou(t,s[1])?s[0]:(i.memoizedState=[e,t],e)}function zm(e,t){var i=Ni();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&Ou(t,s[1])?s[0]:(e=e(),i.memoizedState=[e,t],e)}function Um(e,t,i){return Qs&21?(Ki(i,t)||(i=qp(),xt.lanes|=i,er|=i,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,mi=!0),e.memoizedState=i)}function K0(e,t){var i=nt;nt=i!==0&&4>i?i:4,e(!0);var s=kl.transition;kl.transition={};try{e(!1),t()}finally{nt=i,kl.transition=s}}function Wm(){return Ni().memoizedState}function q0(e,t,i){var s=Ms(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},Vm(e))Gm(t,i);else if(i=Em(e,t,i,s),i!==null){var n=oi();Gi(i,e,s,n),Km(i,t,s)}}function Y0(e,t,i){var s=Ms(e),n={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(Vm(e))Gm(t,n);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var m=t.lastRenderedState,r=c(m,i);if(n.hasEagerState=!0,n.eagerState=r,Ki(r,m)){var o=t.interleaved;o===null?(n.next=n,Du(t)):(n.next=o.next,o.next=n),t.interleaved=n;return}}catch{}finally{}i=Em(e,t,n,s),i!==null&&(n=oi(),Gi(i,e,s,n),Km(i,t,s))}}function Vm(e){var t=e.alternate;return e===xt||t!==null&&t===xt}function Gm(e,t){Sn=wa=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Km(e,t,i){if(i&4194240){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,gu(e,i)}}var ya={readContext:Mi,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useInsertionEffect:Jt,useLayoutEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useMutableSource:Jt,useSyncExternalStore:Jt,useId:Jt,unstable_isNewReconciler:!1},X0={readContext:Mi,useCallback:function(e,t){return ts().memoizedState=[e,t===void 0?null:t],e},useContext:Mi,useEffect:Td,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Ko(4194308,4,Fm.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var i=ts();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var s=ts();return t=i!==void 0?i(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=q0.bind(null,xt,e),[s.memoizedState,e]},useRef:function(e){var t=ts();return e={current:e},t.memoizedState=e},useState:Rd,useDebugValue:Fu,useDeferredValue:function(e){return ts().memoizedState=e},useTransition:function(){var e=Rd(!1),t=e[0];return e=K0.bind(null,e[1]),ts().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var s=xt,n=ts();if(wt){if(i===void 0)throw Error(ce(407));i=i()}else{if(i=t(),zt===null)throw Error(ce(349));Qs&30||Am(s,t,i)}n.memoizedState=i;var c={value:i,getSnapshot:t};return n.queue=c,Td(Nm.bind(null,s,c,e),[e]),s.flags|=2048,Wn(9,Mm.bind(null,s,c,i,t),void 0,null),i},useId:function(){var e=ts(),t=zt.identifierPrefix;if(wt){var i=us,s=cs;i=(s&~(1<<32-Vi(s)-1)).toString(32)+i,t=":"+t+"R"+i,i=zn++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=G0++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},J0={readContext:Mi,useCallback:$m,useContext:Mi,useEffect:ju,useImperativeHandle:Hm,useInsertionEffect:Bm,useLayoutEffect:jm,useMemo:zm,useReducer:El,useRef:Pm,useState:function(){return El(Un)},useDebugValue:Fu,useDeferredValue:function(e){var t=Ni();return Um(t,Bt.memoizedState,e)},useTransition:function(){var e=El(Un)[0],t=Ni().memoizedState;return[e,t]},useMutableSource:Tm,useSyncExternalStore:Dm,useId:Wm,unstable_isNewReconciler:!1},Z0={readContext:Mi,useCallback:$m,useContext:Mi,useEffect:ju,useImperativeHandle:Hm,useInsertionEffect:Bm,useLayoutEffect:jm,useMemo:zm,useReducer:Ll,useRef:Pm,useState:function(){return Ll(Un)},useDebugValue:Fu,useDeferredValue:function(e){var t=Ni();return Bt===null?t.memoizedState=e:Um(t,Bt.memoizedState,e)},useTransition:function(){var e=Ll(Un)[0],t=Ni().memoizedState;return[e,t]},useMutableSource:Tm,useSyncExternalStore:Dm,useId:Wm,unstable_isNewReconciler:!1};function zi(e,t){if(e&&e.defaultProps){t=Ct({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function Sc(e,t,i,s){t=e.memoizedState,i=i(s,t),i=i==null?t:Ct({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Ga={isMounted:function(e){return(e=e._reactInternals)?lr(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var s=oi(),n=Ms(e),c=hs(s,n);c.payload=t,i!=null&&(c.callback=i),t=Ds(e,c,n),t!==null&&(Gi(t,e,n,s),Vo(t,e,n))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var s=oi(),n=Ms(e),c=hs(s,n);c.tag=1,c.payload=t,i!=null&&(c.callback=i),t=Ds(e,c,n),t!==null&&(Gi(t,e,n,s),Vo(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=oi(),s=Ms(e),n=hs(i,s);n.tag=2,t!=null&&(n.callback=t),t=Ds(e,n,s),t!==null&&(Gi(t,e,s,i),Vo(t,e,s))}};function Dd(e,t,i,s,n,c,m){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,c,m):t.prototype&&t.prototype.isPureReactComponent?!Pn(i,s)||!Pn(n,c):!0}function qm(e,t,i){var s=!1,n=Os,c=t.contextType;return typeof c=="object"&&c!==null?c=Mi(c):(n=_i(t)?Js:ti.current,s=t.contextTypes,c=(s=s!=null)?$r(e,n):Os),t=new t(i,c),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ga,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=c),t}function Ad(e,t,i,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,s),t.state!==e&&Ga.enqueueReplaceState(t,t.state,null)}function bc(e,t,i,s){var n=e.stateNode;n.props=i,n.state=e.memoizedState,n.refs={},Au(e);var c=t.contextType;typeof c=="object"&&c!==null?n.context=Mi(c):(c=_i(t)?Js:ti.current,n.context=$r(e,c)),n.state=e.memoizedState,c=t.getDerivedStateFromProps,typeof c=="function"&&(Sc(e,t,c,i),n.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(t=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),t!==n.state&&Ga.enqueueReplaceState(n,n.state,null),_a(e,i,n,s),n.state=e.memoizedState),typeof n.componentDidMount=="function"&&(e.flags|=4194308)}function Vr(e,t){try{var i="",s=t;do i+=Ev(s),s=s.return;while(s);var n=i}catch(c){n=`
37
+ `+n[m].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}while(1<=m&&0<=r);break}}}finally{ll=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?hn(e):""}function Ev(e){switch(e.tag){case 5:return hn(e.type);case 16:return hn("Lazy");case 13:return hn("Suspense");case 19:return hn("SuspenseList");case 0:case 2:case 15:return e=cl(e.type,!1),e;case 11:return e=cl(e.type.render,!1),e;case 1:return e=cl(e.type,!0),e;default:return""}}function Yl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vr:return"Fragment";case _r:return"Portal";case Gl:return"Profiler";case hu:return"StrictMode";case Kl:return"Suspense";case ql:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Lp:return(e.displayName||"Context")+".Consumer";case Ep:return(e._context.displayName||"Context")+".Provider";case du:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case fu:return t=e.displayName||null,t!==null?t:Yl(e.type)||"Memo";case ys:t=e._payload,e=e._init;try{return Yl(e(t))}catch{}}return null}function Lv(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Yl(t);case 8:return t===hu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Is(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Tp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Rv(e){var t=Tp(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var n=i.get,c=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(m){s=""+m,c.call(this,m)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(m){s=""+m},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mo(e){e._valueTracker||(e._valueTracker=Rv(e))}function Dp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),s="";return e&&(s=Tp(e)?e.checked?"true":"false":e.value),e=s,e!==i?(t.setValue(e),!0):!1}function ia(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Xl(e,t){var i=t.checked;return Ct({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function qh(e,t){var i=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;i=Is(t.value!=null?t.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ap(e,t){t=t.checked,t!=null&&uu(e,"checked",t,!1)}function Jl(e,t){Ap(e,t);var i=Is(t.value),s=t.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Zl(e,t.type,i):t.hasOwnProperty("defaultValue")&&Zl(e,t.type,Is(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Yh(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function Zl(e,t,i){(t!=="number"||ia(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var dn=Array.isArray;function Nr(e,t,i,s){if(e=e.options,t){t={};for(var n=0;n<i.length;n++)t["$"+i[n]]=!0;for(i=0;i<e.length;i++)n=t.hasOwnProperty("$"+e[i].value),e[i].selected!==n&&(e[i].selected=n),n&&s&&(e[i].defaultSelected=!0)}else{for(i=""+Is(i),t=null,n=0;n<e.length;n++){if(e[n].value===i){e[n].selected=!0,s&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function Ql(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(ce(91));return Ct({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Xh(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(ce(92));if(dn(i)){if(1<i.length)throw Error(ce(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:Is(i)}}function Mp(e,t){var i=Is(t.value),s=Is(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),s!=null&&(e.defaultValue=""+s)}function Jh(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Np(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ec(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Np(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var go,Ip=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,s,n){MSApp.execUnsafeLocalFunction(function(){return e(t,i,s,n)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(go=go||document.createElement("div"),go.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=go.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Dn(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var gn={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},Tv=["Webkit","ms","Moz","O"];Object.keys(gn).forEach(function(e){Tv.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),gn[t]=gn[e]})});function Pp(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||gn.hasOwnProperty(e)&&gn[e]?(""+t).trim():t+"px"}function Op(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var s=i.indexOf("--")===0,n=Pp(i,t[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,n):e[i]=n}}var Dv=Ct({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 tc(e,t){if(t){if(Dv[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ce(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ce(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ce(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ce(62))}}function ic(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var sc=null;function pu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var rc=null,Ir=null,Pr=null;function Zh(e){if(e=eo(e)){if(typeof rc!="function")throw Error(ce(280));var t=e.stateNode;t&&(t=Ua(t),rc(e.stateNode,e.type,t))}}function Bp(e){Ir?Pr?Pr.push(e):Pr=[e]:Ir=e}function jp(){if(Ir){var e=Ir,t=Pr;if(Pr=Ir=null,Zh(e),t)for(e=0;e<t.length;e++)Zh(t[e])}}function Fp(e,t){return e(t)}function Hp(){}var ul=!1;function $p(e,t,i){if(ul)return e(t,i);ul=!0;try{return Fp(e,t,i)}finally{ul=!1,(Ir!==null||Pr!==null)&&(Hp(),jp())}}function An(e,t){var i=e.stateNode;if(i===null)return null;var s=Ua(i);if(s===null)return null;i=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(ce(231,t,typeof i));return i}var nc=!1;if(fs)try{var Jr={};Object.defineProperty(Jr,"passive",{get:function(){nc=!0}}),window.addEventListener("test",Jr,Jr),window.removeEventListener("test",Jr,Jr)}catch{nc=!1}function Av(e,t,i,s,n,c,m,r,o){var f=Array.prototype.slice.call(arguments,3);try{t.apply(i,f)}catch(v){this.onError(v)}}var _n=!1,sa=null,ra=!1,oc=null,Mv={onError:function(e){_n=!0,sa=e}};function Nv(e,t,i,s,n,c,m,r,o){_n=!1,sa=null,Av.apply(Mv,arguments)}function Iv(e,t,i,s,n,c,m,r,o){if(Nv.apply(this,arguments),_n){if(_n){var f=sa;_n=!1,sa=null}else throw Error(ce(198));ra||(ra=!0,oc=f)}}function lr(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function zp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Qh(e){if(lr(e)!==e)throw Error(ce(188))}function Pv(e){var t=e.alternate;if(!t){if(t=lr(e),t===null)throw Error(ce(188));return t!==e?null:e}for(var i=e,s=t;;){var n=i.return;if(n===null)break;var c=n.alternate;if(c===null){if(s=n.return,s!==null){i=s;continue}break}if(n.child===c.child){for(c=n.child;c;){if(c===i)return Qh(n),e;if(c===s)return Qh(n),t;c=c.sibling}throw Error(ce(188))}if(i.return!==s.return)i=n,s=c;else{for(var m=!1,r=n.child;r;){if(r===i){m=!0,i=n,s=c;break}if(r===s){m=!0,s=n,i=c;break}r=r.sibling}if(!m){for(r=c.child;r;){if(r===i){m=!0,i=c,s=n;break}if(r===s){m=!0,s=c,i=n;break}r=r.sibling}if(!m)throw Error(ce(189))}}if(i.alternate!==s)throw Error(ce(190))}if(i.tag!==3)throw Error(ce(188));return i.stateNode.current===i?e:t}function Up(e){return e=Pv(e),e!==null?Wp(e):null}function Wp(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Wp(e);if(t!==null)return t;e=e.sibling}return null}var Vp=ki.unstable_scheduleCallback,ed=ki.unstable_cancelCallback,Ov=ki.unstable_shouldYield,Bv=ki.unstable_requestPaint,Nt=ki.unstable_now,jv=ki.unstable_getCurrentPriorityLevel,mu=ki.unstable_ImmediatePriority,Gp=ki.unstable_UserBlockingPriority,na=ki.unstable_NormalPriority,Fv=ki.unstable_LowPriority,Kp=ki.unstable_IdlePriority,Fa=null,ns=null;function Hv(e){if(ns&&typeof ns.onCommitFiberRoot=="function")try{ns.onCommitFiberRoot(Fa,e,void 0,(e.current.flags&128)===128)}catch{}}var Vi=Math.clz32?Math.clz32:Uv,$v=Math.log,zv=Math.LN2;function Uv(e){return e>>>=0,e===0?32:31-($v(e)/zv|0)|0}var _o=64,vo=4194304;function fn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function oa(e,t){var i=e.pendingLanes;if(i===0)return 0;var s=0,n=e.suspendedLanes,c=e.pingedLanes,m=i&268435455;if(m!==0){var r=m&~n;r!==0?s=fn(r):(c&=m,c!==0&&(s=fn(c)))}else m=i&~n,m!==0?s=fn(m):c!==0&&(s=fn(c));if(s===0)return 0;if(t!==0&&t!==s&&!(t&n)&&(n=s&-s,c=t&-t,n>=c||n===16&&(c&4194240)!==0))return t;if(s&4&&(s|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)i=31-Vi(t),n=1<<i,s|=e[i],t&=~n;return s}function Wv(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Vv(e,t){for(var i=e.suspendedLanes,s=e.pingedLanes,n=e.expirationTimes,c=e.pendingLanes;0<c;){var m=31-Vi(c),r=1<<m,o=n[m];o===-1?(!(r&i)||r&s)&&(n[m]=Wv(r,t)):o<=t&&(e.expiredLanes|=r),c&=~r}}function ac(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function qp(){var e=_o;return _o<<=1,!(_o&4194240)&&(_o=64),e}function hl(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function Zn(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Vi(t),e[t]=i}function Gv(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<i;){var n=31-Vi(i),c=1<<n;t[n]=0,s[n]=-1,e[n]=-1,i&=~c}}function gu(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var s=31-Vi(i),n=1<<s;n&t|e[s]&t&&(e[s]|=t),i&=~n}}var nt=0;function Yp(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Xp,_u,Jp,Zp,Qp,lc=!1,wo=[],Es=null,Ls=null,Rs=null,Mn=new Map,Nn=new Map,bs=[],Kv="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 td(e,t){switch(e){case"focusin":case"focusout":Es=null;break;case"dragenter":case"dragleave":Ls=null;break;case"mouseover":case"mouseout":Rs=null;break;case"pointerover":case"pointerout":Mn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nn.delete(t.pointerId)}}function Zr(e,t,i,s,n,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:i,eventSystemFlags:s,nativeEvent:c,targetContainers:[n]},t!==null&&(t=eo(t),t!==null&&_u(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function qv(e,t,i,s,n){switch(t){case"focusin":return Es=Zr(Es,e,t,i,s,n),!0;case"dragenter":return Ls=Zr(Ls,e,t,i,s,n),!0;case"mouseover":return Rs=Zr(Rs,e,t,i,s,n),!0;case"pointerover":var c=n.pointerId;return Mn.set(c,Zr(Mn.get(c)||null,e,t,i,s,n)),!0;case"gotpointercapture":return c=n.pointerId,Nn.set(c,Zr(Nn.get(c)||null,e,t,i,s,n)),!0}return!1}function em(e){var t=Gs(e.target);if(t!==null){var i=lr(t);if(i!==null){if(t=i.tag,t===13){if(t=zp(i),t!==null){e.blockedOn=t,Qp(e.priority,function(){Jp(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function zo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=cc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var s=new i.constructor(i.type,i);sc=s,i.target.dispatchEvent(s),sc=null}else return t=eo(i),t!==null&&_u(t),e.blockedOn=i,!1;t.shift()}return!0}function id(e,t,i){zo(e)&&i.delete(t)}function Yv(){lc=!1,Es!==null&&zo(Es)&&(Es=null),Ls!==null&&zo(Ls)&&(Ls=null),Rs!==null&&zo(Rs)&&(Rs=null),Mn.forEach(id),Nn.forEach(id)}function Qr(e,t){e.blockedOn===t&&(e.blockedOn=null,lc||(lc=!0,ki.unstable_scheduleCallback(ki.unstable_NormalPriority,Yv)))}function In(e){function t(n){return Qr(n,e)}if(0<wo.length){Qr(wo[0],e);for(var i=1;i<wo.length;i++){var s=wo[i];s.blockedOn===e&&(s.blockedOn=null)}}for(Es!==null&&Qr(Es,e),Ls!==null&&Qr(Ls,e),Rs!==null&&Qr(Rs,e),Mn.forEach(t),Nn.forEach(t),i=0;i<bs.length;i++)s=bs[i],s.blockedOn===e&&(s.blockedOn=null);for(;0<bs.length&&(i=bs[0],i.blockedOn===null);)em(i),i.blockedOn===null&&bs.shift()}var Or=vs.ReactCurrentBatchConfig,aa=!0;function Xv(e,t,i,s){var n=nt,c=Or.transition;Or.transition=null;try{nt=1,vu(e,t,i,s)}finally{nt=n,Or.transition=c}}function Jv(e,t,i,s){var n=nt,c=Or.transition;Or.transition=null;try{nt=4,vu(e,t,i,s)}finally{nt=n,Or.transition=c}}function vu(e,t,i,s){if(aa){var n=cc(e,t,i,s);if(n===null)Sl(e,t,s,la,i),td(e,s);else if(qv(n,e,t,i,s))s.stopPropagation();else if(td(e,s),t&4&&-1<Kv.indexOf(e)){for(;n!==null;){var c=eo(n);if(c!==null&&Xp(c),c=cc(e,t,i,s),c===null&&Sl(e,t,s,la,i),c===n)break;n=c}n!==null&&s.stopPropagation()}else Sl(e,t,s,null,i)}}var la=null;function cc(e,t,i,s){if(la=null,e=pu(s),e=Gs(e),e!==null)if(t=lr(e),t===null)e=null;else if(i=t.tag,i===13){if(e=zp(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return la=e,null}function tm(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(jv()){case mu:return 1;case Gp:return 4;case na:case Fv:return 16;case Kp:return 536870912;default:return 16}default:return 16}}var Cs=null,wu=null,Uo=null;function im(){if(Uo)return Uo;var e,t=wu,i=t.length,s,n="value"in Cs?Cs.value:Cs.textContent,c=n.length;for(e=0;e<i&&t[e]===n[e];e++);var m=i-e;for(s=1;s<=m&&t[i-s]===n[c-s];s++);return Uo=n.slice(e,1<s?1-s:void 0)}function Wo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yo(){return!0}function sd(){return!1}function Li(e){function t(i,s,n,c,m){this._reactName=i,this._targetInst=n,this.type=s,this.nativeEvent=c,this.target=m,this.currentTarget=null;for(var r in e)e.hasOwnProperty(r)&&(i=e[r],this[r]=i?i(c):c[r]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?yo:sd,this.isPropagationStopped=sd,this}return Ct(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=yo)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var qr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},yu=Li(qr),Qn=Ct({},qr,{view:0,detail:0}),Zv=Li(Qn),dl,fl,en,Ha=Ct({},Qn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Su,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==en&&(en&&e.type==="mousemove"?(dl=e.screenX-en.screenX,fl=e.screenY-en.screenY):fl=dl=0,en=e),dl)},movementY:function(e){return"movementY"in e?e.movementY:fl}}),rd=Li(Ha),Qv=Ct({},Ha,{dataTransfer:0}),e0=Li(Qv),t0=Ct({},Qn,{relatedTarget:0}),pl=Li(t0),i0=Ct({},qr,{animationName:0,elapsedTime:0,pseudoElement:0}),s0=Li(i0),r0=Ct({},qr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),n0=Li(r0),o0=Ct({},qr,{data:0}),nd=Li(o0),a0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},l0={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"},c0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function u0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=c0[e])?!!t[e]:!1}function Su(){return u0}var h0=Ct({},Qn,{key:function(e){if(e.key){var t=a0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Wo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?l0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Su,charCode:function(e){return e.type==="keypress"?Wo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Wo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),d0=Li(h0),f0=Ct({},Ha,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),od=Li(f0),p0=Ct({},Qn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Su}),m0=Li(p0),g0=Ct({},qr,{propertyName:0,elapsedTime:0,pseudoElement:0}),_0=Li(g0),v0=Ct({},Ha,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),w0=Li(v0),y0=[9,13,27,32],bu=fs&&"CompositionEvent"in window,vn=null;fs&&"documentMode"in document&&(vn=document.documentMode);var S0=fs&&"TextEvent"in window&&!vn,sm=fs&&(!bu||vn&&8<vn&&11>=vn),ad=" ",ld=!1;function rm(e,t){switch(e){case"keyup":return y0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wr=!1;function b0(e,t){switch(e){case"compositionend":return nm(t);case"keypress":return t.which!==32?null:(ld=!0,ad);case"textInput":return e=t.data,e===ad&&ld?null:e;default:return null}}function x0(e,t){if(wr)return e==="compositionend"||!bu&&rm(e,t)?(e=im(),Uo=wu=Cs=null,wr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return sm&&t.locale!=="ko"?null:t.data;default:return null}}var C0={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 cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!C0[e.type]:t==="textarea"}function om(e,t,i,s){Bp(s),t=ca(t,"onChange"),0<t.length&&(i=new yu("onChange","change",null,i,s),e.push({event:i,listeners:t}))}var wn=null,Pn=null;function k0(e){_m(e,0)}function $a(e){var t=br(e);if(Dp(t))return e}function E0(e,t){if(e==="change")return t}var am=!1;if(fs){var ml;if(fs){var gl="oninput"in document;if(!gl){var ud=document.createElement("div");ud.setAttribute("oninput","return;"),gl=typeof ud.oninput=="function"}ml=gl}else ml=!1;am=ml&&(!document.documentMode||9<document.documentMode)}function hd(){wn&&(wn.detachEvent("onpropertychange",lm),Pn=wn=null)}function lm(e){if(e.propertyName==="value"&&$a(Pn)){var t=[];om(t,Pn,e,pu(e)),$p(k0,t)}}function L0(e,t,i){e==="focusin"?(hd(),wn=t,Pn=i,wn.attachEvent("onpropertychange",lm)):e==="focusout"&&hd()}function R0(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return $a(Pn)}function T0(e,t){if(e==="click")return $a(t)}function D0(e,t){if(e==="input"||e==="change")return $a(t)}function A0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ki=typeof Object.is=="function"?Object.is:A0;function On(e,t){if(Ki(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(s=0;s<i.length;s++){var n=i[s];if(!Vl.call(t,n)||!Ki(e[n],t[n]))return!1}return!0}function dd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fd(e,t){var i=dd(e);e=0;for(var s;i;){if(i.nodeType===3){if(s=e+i.textContent.length,e<=t&&s>=t)return{node:i,offset:t-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=dd(i)}}function cm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?cm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function um(){for(var e=window,t=ia();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=ia(e.document)}return t}function xu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function M0(e){var t=um(),i=e.focusedElem,s=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&cm(i.ownerDocument.documentElement,i)){if(s!==null&&xu(i)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var n=i.textContent.length,c=Math.min(s.start,n);s=s.end===void 0?c:Math.min(s.end,n),!e.extend&&c>s&&(n=s,s=c,c=n),n=fd(i,c);var m=fd(i,s);n&&m&&(e.rangeCount!==1||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==m.node||e.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(n.node,n.offset),e.removeAllRanges(),c>s?(e.addRange(t),e.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<t.length;i++)e=t[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var N0=fs&&"documentMode"in document&&11>=document.documentMode,yr=null,uc=null,yn=null,hc=!1;function pd(e,t,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;hc||yr==null||yr!==ia(s)||(s=yr,"selectionStart"in s&&xu(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),yn&&On(yn,s)||(yn=s,s=ca(uc,"onSelect"),0<s.length&&(t=new yu("onSelect","select",null,t,i),e.push({event:t,listeners:s}),t.target=yr)))}function So(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Sr={animationend:So("Animation","AnimationEnd"),animationiteration:So("Animation","AnimationIteration"),animationstart:So("Animation","AnimationStart"),transitionend:So("Transition","TransitionEnd")},_l={},hm={};fs&&(hm=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);function za(e){if(_l[e])return _l[e];if(!Sr[e])return e;var t=Sr[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in hm)return _l[e]=t[i];return e}var dm=za("animationend"),fm=za("animationiteration"),pm=za("animationstart"),mm=za("transitionend"),gm=new Map,md="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 js(e,t){gm.set(e,t),ar(t,[e])}for(var vl=0;vl<md.length;vl++){var wl=md[vl],I0=wl.toLowerCase(),P0=wl[0].toUpperCase()+wl.slice(1);js(I0,"on"+P0)}js(dm,"onAnimationEnd");js(fm,"onAnimationIteration");js(pm,"onAnimationStart");js("dblclick","onDoubleClick");js("focusin","onFocus");js("focusout","onBlur");js(mm,"onTransitionEnd");Hr("onMouseEnter",["mouseout","mouseover"]);Hr("onMouseLeave",["mouseout","mouseover"]);Hr("onPointerEnter",["pointerout","pointerover"]);Hr("onPointerLeave",["pointerout","pointerover"]);ar("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ar("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ar("onBeforeInput",["compositionend","keypress","textInput","paste"]);ar("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ar("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ar("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var pn="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(" "),O0=new Set("cancel close invalid load scroll toggle".split(" ").concat(pn));function gd(e,t,i){var s=e.type||"unknown-event";e.currentTarget=i,Iv(s,t,void 0,e),e.currentTarget=null}function _m(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var s=e[i],n=s.event;s=s.listeners;e:{var c=void 0;if(t)for(var m=s.length-1;0<=m;m--){var r=s[m],o=r.instance,f=r.currentTarget;if(r=r.listener,o!==c&&n.isPropagationStopped())break e;gd(n,r,f),c=o}else for(m=0;m<s.length;m++){if(r=s[m],o=r.instance,f=r.currentTarget,r=r.listener,o!==c&&n.isPropagationStopped())break e;gd(n,r,f),c=o}}}if(ra)throw e=oc,ra=!1,oc=null,e}function mt(e,t){var i=t[gc];i===void 0&&(i=t[gc]=new Set);var s=e+"__bubble";i.has(s)||(vm(t,e,2,!1),i.add(s))}function yl(e,t,i){var s=0;t&&(s|=4),vm(i,e,s,t)}var bo="_reactListening"+Math.random().toString(36).slice(2);function Bn(e){if(!e[bo]){e[bo]=!0,kp.forEach(function(i){i!=="selectionchange"&&(O0.has(i)||yl(i,!1,e),yl(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bo]||(t[bo]=!0,yl("selectionchange",!1,t))}}function vm(e,t,i,s){switch(tm(t)){case 1:var n=Xv;break;case 4:n=Jv;break;default:n=vu}i=n.bind(null,t,i,e),n=void 0,!nc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),s?n!==void 0?e.addEventListener(t,i,{capture:!0,passive:n}):e.addEventListener(t,i,!0):n!==void 0?e.addEventListener(t,i,{passive:n}):e.addEventListener(t,i,!1)}function Sl(e,t,i,s,n){var c=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var m=s.tag;if(m===3||m===4){var r=s.stateNode.containerInfo;if(r===n||r.nodeType===8&&r.parentNode===n)break;if(m===4)for(m=s.return;m!==null;){var o=m.tag;if((o===3||o===4)&&(o=m.stateNode.containerInfo,o===n||o.nodeType===8&&o.parentNode===n))return;m=m.return}for(;r!==null;){if(m=Gs(r),m===null)return;if(o=m.tag,o===5||o===6){s=c=m;continue e}r=r.parentNode}}s=s.return}$p(function(){var f=c,v=pu(i),h=[];e:{var p=gm.get(e);if(p!==void 0){var y=yu,S=e;switch(e){case"keypress":if(Wo(i)===0)break e;case"keydown":case"keyup":y=d0;break;case"focusin":S="focus",y=pl;break;case"focusout":S="blur",y=pl;break;case"beforeblur":case"afterblur":y=pl;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=rd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=e0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=m0;break;case dm:case fm:case pm:y=s0;break;case mm:y=_0;break;case"scroll":y=Zv;break;case"wheel":y=w0;break;case"copy":case"cut":case"paste":y=n0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=od}var g=(t&4)!==0,a=!g&&e==="scroll",u=g?p!==null?p+"Capture":null:p;g=[];for(var l=f,d;l!==null;){d=l;var w=d.stateNode;if(d.tag===5&&w!==null&&(d=w,u!==null&&(w=An(l,u),w!=null&&g.push(jn(l,w,d)))),a)break;l=l.return}0<g.length&&(p=new y(p,S,null,i,v),h.push({event:p,listeners:g}))}}if(!(t&7)){e:{if(p=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",p&&i!==sc&&(S=i.relatedTarget||i.fromElement)&&(Gs(S)||S[ps]))break e;if((y||p)&&(p=v.window===v?v:(p=v.ownerDocument)?p.defaultView||p.parentWindow:window,y?(S=i.relatedTarget||i.toElement,y=f,S=S?Gs(S):null,S!==null&&(a=lr(S),S!==a||S.tag!==5&&S.tag!==6)&&(S=null)):(y=null,S=f),y!==S)){if(g=rd,w="onMouseLeave",u="onMouseEnter",l="mouse",(e==="pointerout"||e==="pointerover")&&(g=od,w="onPointerLeave",u="onPointerEnter",l="pointer"),a=y==null?p:br(y),d=S==null?p:br(S),p=new g(w,l+"leave",y,i,v),p.target=a,p.relatedTarget=d,w=null,Gs(v)===f&&(g=new g(u,l+"enter",S,i,v),g.target=d,g.relatedTarget=a,w=g),a=w,y&&S)t:{for(g=y,u=S,l=0,d=g;d;d=hr(d))l++;for(d=0,w=u;w;w=hr(w))d++;for(;0<l-d;)g=hr(g),l--;for(;0<d-l;)u=hr(u),d--;for(;l--;){if(g===u||u!==null&&g===u.alternate)break t;g=hr(g),u=hr(u)}g=null}else g=null;y!==null&&_d(h,p,y,g,!1),S!==null&&a!==null&&_d(h,a,S,g,!0)}}e:{if(p=f?br(f):window,y=p.nodeName&&p.nodeName.toLowerCase(),y==="select"||y==="input"&&p.type==="file")var k=E0;else if(cd(p))if(am)k=D0;else{k=R0;var b=L0}else(y=p.nodeName)&&y.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(k=T0);if(k&&(k=k(e,f))){om(h,k,i,v);break e}b&&b(e,p,f),e==="focusout"&&(b=p._wrapperState)&&b.controlled&&p.type==="number"&&Zl(p,"number",p.value)}switch(b=f?br(f):window,e){case"focusin":(cd(b)||b.contentEditable==="true")&&(yr=b,uc=f,yn=null);break;case"focusout":yn=uc=yr=null;break;case"mousedown":hc=!0;break;case"contextmenu":case"mouseup":case"dragend":hc=!1,pd(h,i,v);break;case"selectionchange":if(N0)break;case"keydown":case"keyup":pd(h,i,v)}var L;if(bu)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else wr?rm(e,i)&&(x="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(x="onCompositionStart");x&&(sm&&i.locale!=="ko"&&(wr||x!=="onCompositionStart"?x==="onCompositionEnd"&&wr&&(L=im()):(Cs=v,wu="value"in Cs?Cs.value:Cs.textContent,wr=!0)),b=ca(f,x),0<b.length&&(x=new nd(x,e,null,i,v),h.push({event:x,listeners:b}),L?x.data=L:(L=nm(i),L!==null&&(x.data=L)))),(L=S0?b0(e,i):x0(e,i))&&(f=ca(f,"onBeforeInput"),0<f.length&&(v=new nd("onBeforeInput","beforeinput",null,i,v),h.push({event:v,listeners:f}),v.data=L))}_m(h,t)})}function jn(e,t,i){return{instance:e,listener:t,currentTarget:i}}function ca(e,t){for(var i=t+"Capture",s=[];e!==null;){var n=e,c=n.stateNode;n.tag===5&&c!==null&&(n=c,c=An(e,i),c!=null&&s.unshift(jn(e,c,n)),c=An(e,t),c!=null&&s.push(jn(e,c,n))),e=e.return}return s}function hr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function _d(e,t,i,s,n){for(var c=t._reactName,m=[];i!==null&&i!==s;){var r=i,o=r.alternate,f=r.stateNode;if(o!==null&&o===s)break;r.tag===5&&f!==null&&(r=f,n?(o=An(i,c),o!=null&&m.unshift(jn(i,o,r))):n||(o=An(i,c),o!=null&&m.push(jn(i,o,r)))),i=i.return}m.length!==0&&e.push({event:t,listeners:m})}var B0=/\r\n?/g,j0=/\u0000|\uFFFD/g;function vd(e){return(typeof e=="string"?e:""+e).replace(B0,`
38
+ `).replace(j0,"")}function xo(e,t,i){if(t=vd(t),vd(e)!==t&&i)throw Error(ce(425))}function ua(){}var dc=null,fc=null;function pc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var mc=typeof setTimeout=="function"?setTimeout:void 0,F0=typeof clearTimeout=="function"?clearTimeout:void 0,wd=typeof Promise=="function"?Promise:void 0,H0=typeof queueMicrotask=="function"?queueMicrotask:typeof wd<"u"?function(e){return wd.resolve(null).then(e).catch($0)}:mc;function $0(e){setTimeout(function(){throw e})}function bl(e,t){var i=t,s=0;do{var n=i.nextSibling;if(e.removeChild(i),n&&n.nodeType===8)if(i=n.data,i==="/$"){if(s===0){e.removeChild(n),In(t);return}s--}else i!=="$"&&i!=="$?"&&i!=="$!"||s++;i=n}while(i);In(t)}function Ts(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function yd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var Yr=Math.random().toString(36).slice(2),is="__reactFiber$"+Yr,Fn="__reactProps$"+Yr,ps="__reactContainer$"+Yr,gc="__reactEvents$"+Yr,z0="__reactListeners$"+Yr,U0="__reactHandles$"+Yr;function Gs(e){var t=e[is];if(t)return t;for(var i=e.parentNode;i;){if(t=i[ps]||i[is]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=yd(e);e!==null;){if(i=e[is])return i;e=yd(e)}return t}e=i,i=e.parentNode}return null}function eo(e){return e=e[is]||e[ps],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function br(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(ce(33))}function Ua(e){return e[Fn]||null}var _c=[],xr=-1;function Fs(e){return{current:e}}function gt(e){0>xr||(e.current=_c[xr],_c[xr]=null,xr--)}function ht(e,t){xr++,_c[xr]=e.current,e.current=t}var Ps={},ti=Fs(Ps),gi=Fs(!1),Js=Ps;function $r(e,t){var i=e.type.contextTypes;if(!i)return Ps;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var n={},c;for(c in i)n[c]=t[c];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function _i(e){return e=e.childContextTypes,e!=null}function ha(){gt(gi),gt(ti)}function Sd(e,t,i){if(ti.current!==Ps)throw Error(ce(168));ht(ti,t),ht(gi,i)}function wm(e,t,i){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var n in s)if(!(n in t))throw Error(ce(108,Lv(e)||"Unknown",n));return Ct({},i,s)}function da(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ps,Js=ti.current,ht(ti,e),ht(gi,gi.current),!0}function bd(e,t,i){var s=e.stateNode;if(!s)throw Error(ce(169));i?(e=wm(e,t,Js),s.__reactInternalMemoizedMergedChildContext=e,gt(gi),gt(ti),ht(ti,e)):gt(gi),ht(gi,i)}var ls=null,Wa=!1,xl=!1;function ym(e){ls===null?ls=[e]:ls.push(e)}function W0(e){Wa=!0,ym(e)}function Hs(){if(!xl&&ls!==null){xl=!0;var e=0,t=nt;try{var i=ls;for(nt=1;e<i.length;e++){var s=i[e];do s=s(!0);while(s!==null)}ls=null,Wa=!1}catch(n){throw ls!==null&&(ls=ls.slice(e+1)),Vp(mu,Hs),n}finally{nt=t,xl=!1}}return null}var Cr=[],kr=0,fa=null,pa=0,Ri=[],Ti=0,Zs=null,cs=1,us="";function Us(e,t){Cr[kr++]=pa,Cr[kr++]=fa,fa=e,pa=t}function Sm(e,t,i){Ri[Ti++]=cs,Ri[Ti++]=us,Ri[Ti++]=Zs,Zs=e;var s=cs;e=us;var n=32-Vi(s)-1;s&=~(1<<n),i+=1;var c=32-Vi(t)+n;if(30<c){var m=n-n%5;c=(s&(1<<m)-1).toString(32),s>>=m,n-=m,cs=1<<32-Vi(t)+n|i<<n|s,us=c+e}else cs=1<<c|i<<n|s,us=e}function Cu(e){e.return!==null&&(Us(e,1),Sm(e,1,0))}function ku(e){for(;e===fa;)fa=Cr[--kr],Cr[kr]=null,pa=Cr[--kr],Cr[kr]=null;for(;e===Zs;)Zs=Ri[--Ti],Ri[Ti]=null,us=Ri[--Ti],Ri[Ti]=null,cs=Ri[--Ti],Ri[Ti]=null}var Ci=null,xi=null,wt=!1,Wi=null;function bm(e,t){var i=Di(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function xd(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ci=e,xi=Ts(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ci=e,xi=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=Zs!==null?{id:cs,overflow:us}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=Di(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Ci=e,xi=null,!0):!1;default:return!1}}function vc(e){return(e.mode&1)!==0&&(e.flags&128)===0}function wc(e){if(wt){var t=xi;if(t){var i=t;if(!xd(e,t)){if(vc(e))throw Error(ce(418));t=Ts(i.nextSibling);var s=Ci;t&&xd(e,t)?bm(s,i):(e.flags=e.flags&-4097|2,wt=!1,Ci=e)}}else{if(vc(e))throw Error(ce(418));e.flags=e.flags&-4097|2,wt=!1,Ci=e}}}function Cd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ci=e}function Co(e){if(e!==Ci)return!1;if(!wt)return Cd(e),wt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!pc(e.type,e.memoizedProps)),t&&(t=xi)){if(vc(e))throw xm(),Error(ce(418));for(;t;)bm(e,t),t=Ts(t.nextSibling)}if(Cd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ce(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){xi=Ts(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}xi=null}}else xi=Ci?Ts(e.stateNode.nextSibling):null;return!0}function xm(){for(var e=xi;e;)e=Ts(e.nextSibling)}function zr(){xi=Ci=null,wt=!1}function Eu(e){Wi===null?Wi=[e]:Wi.push(e)}var V0=vs.ReactCurrentBatchConfig;function tn(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(ce(309));var s=i.stateNode}if(!s)throw Error(ce(147,e));var n=s,c=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===c?t.ref:(t=function(m){var r=n.refs;m===null?delete r[c]:r[c]=m},t._stringRef=c,t)}if(typeof e!="string")throw Error(ce(284));if(!i._owner)throw Error(ce(290,e))}return e}function ko(e,t){throw e=Object.prototype.toString.call(t),Error(ce(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function kd(e){var t=e._init;return t(e._payload)}function Cm(e){function t(u,l){if(e){var d=u.deletions;d===null?(u.deletions=[l],u.flags|=16):d.push(l)}}function i(u,l){if(!e)return null;for(;l!==null;)t(u,l),l=l.sibling;return null}function s(u,l){for(u=new Map;l!==null;)l.key!==null?u.set(l.key,l):u.set(l.index,l),l=l.sibling;return u}function n(u,l){return u=Ns(u,l),u.index=0,u.sibling=null,u}function c(u,l,d){return u.index=d,e?(d=u.alternate,d!==null?(d=d.index,d<l?(u.flags|=2,l):d):(u.flags|=2,l)):(u.flags|=1048576,l)}function m(u){return e&&u.alternate===null&&(u.flags|=2),u}function r(u,l,d,w){return l===null||l.tag!==6?(l=Dl(d,u.mode,w),l.return=u,l):(l=n(l,d),l.return=u,l)}function o(u,l,d,w){var k=d.type;return k===vr?v(u,l,d.props.children,w,d.key):l!==null&&(l.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ys&&kd(k)===l.type)?(w=n(l,d.props),w.ref=tn(u,l,d),w.return=u,w):(w=Jo(d.type,d.key,d.props,null,u.mode,w),w.ref=tn(u,l,d),w.return=u,w)}function f(u,l,d,w){return l===null||l.tag!==4||l.stateNode.containerInfo!==d.containerInfo||l.stateNode.implementation!==d.implementation?(l=Al(d,u.mode,w),l.return=u,l):(l=n(l,d.children||[]),l.return=u,l)}function v(u,l,d,w,k){return l===null||l.tag!==7?(l=Xs(d,u.mode,w,k),l.return=u,l):(l=n(l,d),l.return=u,l)}function h(u,l,d){if(typeof l=="string"&&l!==""||typeof l=="number")return l=Dl(""+l,u.mode,d),l.return=u,l;if(typeof l=="object"&&l!==null){switch(l.$$typeof){case po:return d=Jo(l.type,l.key,l.props,null,u.mode,d),d.ref=tn(u,null,l),d.return=u,d;case _r:return l=Al(l,u.mode,d),l.return=u,l;case ys:var w=l._init;return h(u,w(l._payload),d)}if(dn(l)||Xr(l))return l=Xs(l,u.mode,d,null),l.return=u,l;ko(u,l)}return null}function p(u,l,d,w){var k=l!==null?l.key:null;if(typeof d=="string"&&d!==""||typeof d=="number")return k!==null?null:r(u,l,""+d,w);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case po:return d.key===k?o(u,l,d,w):null;case _r:return d.key===k?f(u,l,d,w):null;case ys:return k=d._init,p(u,l,k(d._payload),w)}if(dn(d)||Xr(d))return k!==null?null:v(u,l,d,w,null);ko(u,d)}return null}function y(u,l,d,w,k){if(typeof w=="string"&&w!==""||typeof w=="number")return u=u.get(d)||null,r(l,u,""+w,k);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case po:return u=u.get(w.key===null?d:w.key)||null,o(l,u,w,k);case _r:return u=u.get(w.key===null?d:w.key)||null,f(l,u,w,k);case ys:var b=w._init;return y(u,l,d,b(w._payload),k)}if(dn(w)||Xr(w))return u=u.get(d)||null,v(l,u,w,k,null);ko(l,w)}return null}function S(u,l,d,w){for(var k=null,b=null,L=l,x=l=0,E=null;L!==null&&x<d.length;x++){L.index>x?(E=L,L=null):E=L.sibling;var R=p(u,L,d[x],w);if(R===null){L===null&&(L=E);break}e&&L&&R.alternate===null&&t(u,L),l=c(R,l,x),b===null?k=R:b.sibling=R,b=R,L=E}if(x===d.length)return i(u,L),wt&&Us(u,x),k;if(L===null){for(;x<d.length;x++)L=h(u,d[x],w),L!==null&&(l=c(L,l,x),b===null?k=L:b.sibling=L,b=L);return wt&&Us(u,x),k}for(L=s(u,L);x<d.length;x++)E=y(L,u,x,d[x],w),E!==null&&(e&&E.alternate!==null&&L.delete(E.key===null?x:E.key),l=c(E,l,x),b===null?k=E:b.sibling=E,b=E);return e&&L.forEach(function(I){return t(u,I)}),wt&&Us(u,x),k}function g(u,l,d,w){var k=Xr(d);if(typeof k!="function")throw Error(ce(150));if(d=k.call(d),d==null)throw Error(ce(151));for(var b=k=null,L=l,x=l=0,E=null,R=d.next();L!==null&&!R.done;x++,R=d.next()){L.index>x?(E=L,L=null):E=L.sibling;var I=p(u,L,R.value,w);if(I===null){L===null&&(L=E);break}e&&L&&I.alternate===null&&t(u,L),l=c(I,l,x),b===null?k=I:b.sibling=I,b=I,L=E}if(R.done)return i(u,L),wt&&Us(u,x),k;if(L===null){for(;!R.done;x++,R=d.next())R=h(u,R.value,w),R!==null&&(l=c(R,l,x),b===null?k=R:b.sibling=R,b=R);return wt&&Us(u,x),k}for(L=s(u,L);!R.done;x++,R=d.next())R=y(L,u,x,R.value,w),R!==null&&(e&&R.alternate!==null&&L.delete(R.key===null?x:R.key),l=c(R,l,x),b===null?k=R:b.sibling=R,b=R);return e&&L.forEach(function(T){return t(u,T)}),wt&&Us(u,x),k}function a(u,l,d,w){if(typeof d=="object"&&d!==null&&d.type===vr&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case po:e:{for(var k=d.key,b=l;b!==null;){if(b.key===k){if(k=d.type,k===vr){if(b.tag===7){i(u,b.sibling),l=n(b,d.props.children),l.return=u,u=l;break e}}else if(b.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ys&&kd(k)===b.type){i(u,b.sibling),l=n(b,d.props),l.ref=tn(u,b,d),l.return=u,u=l;break e}i(u,b);break}else t(u,b);b=b.sibling}d.type===vr?(l=Xs(d.props.children,u.mode,w,d.key),l.return=u,u=l):(w=Jo(d.type,d.key,d.props,null,u.mode,w),w.ref=tn(u,l,d),w.return=u,u=w)}return m(u);case _r:e:{for(b=d.key;l!==null;){if(l.key===b)if(l.tag===4&&l.stateNode.containerInfo===d.containerInfo&&l.stateNode.implementation===d.implementation){i(u,l.sibling),l=n(l,d.children||[]),l.return=u,u=l;break e}else{i(u,l);break}else t(u,l);l=l.sibling}l=Al(d,u.mode,w),l.return=u,u=l}return m(u);case ys:return b=d._init,a(u,l,b(d._payload),w)}if(dn(d))return S(u,l,d,w);if(Xr(d))return g(u,l,d,w);ko(u,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,l!==null&&l.tag===6?(i(u,l.sibling),l=n(l,d),l.return=u,u=l):(i(u,l),l=Dl(d,u.mode,w),l.return=u,u=l),m(u)):i(u,l)}return a}var Ur=Cm(!0),km=Cm(!1),ma=Fs(null),ga=null,Er=null,Lu=null;function Ru(){Lu=Er=ga=null}function Tu(e){var t=ma.current;gt(ma),e._currentValue=t}function yc(e,t,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===i)break;e=e.return}}function Br(e,t){ga=e,Lu=Er=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(mi=!0),e.firstContext=null)}function Mi(e){var t=e._currentValue;if(Lu!==e)if(e={context:e,memoizedValue:t,next:null},Er===null){if(ga===null)throw Error(ce(308));Er=e,ga.dependencies={lanes:0,firstContext:e}}else Er=Er.next=e;return t}var Ks=null;function Du(e){Ks===null?Ks=[e]:Ks.push(e)}function Em(e,t,i,s){var n=t.interleaved;return n===null?(i.next=i,Du(t)):(i.next=n.next,n.next=i),t.interleaved=i,ms(e,s)}function ms(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Ss=!1;function Au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lm(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function hs(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ds(e,t,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,Xe&2){var n=s.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),s.pending=t,ms(e,i)}return n=s.interleaved,n===null?(t.next=t,Du(s)):(t.next=n.next,n.next=t),s.interleaved=t,ms(e,i)}function Vo(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,gu(e,i)}}function Ed(e,t){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var n=null,c=null;if(i=i.firstBaseUpdate,i!==null){do{var m={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};c===null?n=c=m:c=c.next=m,i=i.next}while(i!==null);c===null?n=c=t:c=c.next=t}else n=c=t;i={baseState:s.baseState,firstBaseUpdate:n,lastBaseUpdate:c,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function _a(e,t,i,s){var n=e.updateQueue;Ss=!1;var c=n.firstBaseUpdate,m=n.lastBaseUpdate,r=n.shared.pending;if(r!==null){n.shared.pending=null;var o=r,f=o.next;o.next=null,m===null?c=f:m.next=f,m=o;var v=e.alternate;v!==null&&(v=v.updateQueue,r=v.lastBaseUpdate,r!==m&&(r===null?v.firstBaseUpdate=f:r.next=f,v.lastBaseUpdate=o))}if(c!==null){var h=n.baseState;m=0,v=f=o=null,r=c;do{var p=r.lane,y=r.eventTime;if((s&p)===p){v!==null&&(v=v.next={eventTime:y,lane:0,tag:r.tag,payload:r.payload,callback:r.callback,next:null});e:{var S=e,g=r;switch(p=t,y=i,g.tag){case 1:if(S=g.payload,typeof S=="function"){h=S.call(y,h,p);break e}h=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=g.payload,p=typeof S=="function"?S.call(y,h,p):S,p==null)break e;h=Ct({},h,p);break e;case 2:Ss=!0}}r.callback!==null&&r.lane!==0&&(e.flags|=64,p=n.effects,p===null?n.effects=[r]:p.push(r))}else y={eventTime:y,lane:p,tag:r.tag,payload:r.payload,callback:r.callback,next:null},v===null?(f=v=y,o=h):v=v.next=y,m|=p;if(r=r.next,r===null){if(r=n.shared.pending,r===null)break;p=r,r=p.next,p.next=null,n.lastBaseUpdate=p,n.shared.pending=null}}while(!0);if(v===null&&(o=h),n.baseState=o,n.firstBaseUpdate=f,n.lastBaseUpdate=v,t=n.shared.interleaved,t!==null){n=t;do m|=n.lane,n=n.next;while(n!==t)}else c===null&&(n.shared.lanes=0);er|=m,e.lanes=m,e.memoizedState=h}}function Ld(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],n=s.callback;if(n!==null){if(s.callback=null,s=i,typeof n!="function")throw Error(ce(191,n));n.call(s)}}}var to={},os=Fs(to),Hn=Fs(to),$n=Fs(to);function qs(e){if(e===to)throw Error(ce(174));return e}function Mu(e,t){switch(ht($n,t),ht(Hn,e),ht(os,to),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ec(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ec(t,e)}gt(os),ht(os,t)}function Wr(){gt(os),gt(Hn),gt($n)}function Rm(e){qs($n.current);var t=qs(os.current),i=ec(t,e.type);t!==i&&(ht(Hn,e),ht(os,i))}function Nu(e){Hn.current===e&&(gt(os),gt(Hn))}var bt=Fs(0);function va(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Cl=[];function Iu(){for(var e=0;e<Cl.length;e++)Cl[e]._workInProgressVersionPrimary=null;Cl.length=0}var Go=vs.ReactCurrentDispatcher,kl=vs.ReactCurrentBatchConfig,Qs=0,xt=null,Bt=null,$t=null,wa=!1,Sn=!1,zn=0,G0=0;function Jt(){throw Error(ce(321))}function Pu(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!Ki(e[i],t[i]))return!1;return!0}function Ou(e,t,i,s,n,c){if(Qs=c,xt=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Go.current=e===null||e.memoizedState===null?X0:J0,e=i(s,n),Sn){c=0;do{if(Sn=!1,zn=0,25<=c)throw Error(ce(301));c+=1,$t=Bt=null,t.updateQueue=null,Go.current=Z0,e=i(s,n)}while(Sn)}if(Go.current=ya,t=Bt!==null&&Bt.next!==null,Qs=0,$t=Bt=xt=null,wa=!1,t)throw Error(ce(300));return e}function Bu(){var e=zn!==0;return zn=0,e}function ts(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $t===null?xt.memoizedState=$t=e:$t=$t.next=e,$t}function Ni(){if(Bt===null){var e=xt.alternate;e=e!==null?e.memoizedState:null}else e=Bt.next;var t=$t===null?xt.memoizedState:$t.next;if(t!==null)$t=t,Bt=e;else{if(e===null)throw Error(ce(310));Bt=e,e={memoizedState:Bt.memoizedState,baseState:Bt.baseState,baseQueue:Bt.baseQueue,queue:Bt.queue,next:null},$t===null?xt.memoizedState=$t=e:$t=$t.next=e}return $t}function Un(e,t){return typeof t=="function"?t(e):t}function El(e){var t=Ni(),i=t.queue;if(i===null)throw Error(ce(311));i.lastRenderedReducer=e;var s=Bt,n=s.baseQueue,c=i.pending;if(c!==null){if(n!==null){var m=n.next;n.next=c.next,c.next=m}s.baseQueue=n=c,i.pending=null}if(n!==null){c=n.next,s=s.baseState;var r=m=null,o=null,f=c;do{var v=f.lane;if((Qs&v)===v)o!==null&&(o=o.next={lane:0,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null}),s=f.hasEagerState?f.eagerState:e(s,f.action);else{var h={lane:v,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null};o===null?(r=o=h,m=s):o=o.next=h,xt.lanes|=v,er|=v}f=f.next}while(f!==null&&f!==c);o===null?m=s:o.next=r,Ki(s,t.memoizedState)||(mi=!0),t.memoizedState=s,t.baseState=m,t.baseQueue=o,i.lastRenderedState=s}if(e=i.interleaved,e!==null){n=e;do c=n.lane,xt.lanes|=c,er|=c,n=n.next;while(n!==e)}else n===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function Ll(e){var t=Ni(),i=t.queue;if(i===null)throw Error(ce(311));i.lastRenderedReducer=e;var s=i.dispatch,n=i.pending,c=t.memoizedState;if(n!==null){i.pending=null;var m=n=n.next;do c=e(c,m.action),m=m.next;while(m!==n);Ki(c,t.memoizedState)||(mi=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),i.lastRenderedState=c}return[c,s]}function Tm(){}function Dm(e,t){var i=xt,s=Ni(),n=t(),c=!Ki(s.memoizedState,n);if(c&&(s.memoizedState=n,mi=!0),s=s.queue,ju(Nm.bind(null,i,s,e),[e]),s.getSnapshot!==t||c||$t!==null&&$t.memoizedState.tag&1){if(i.flags|=2048,Wn(9,Mm.bind(null,i,s,n,t),void 0,null),zt===null)throw Error(ce(349));Qs&30||Am(i,t,n)}return n}function Am(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=xt.updateQueue,t===null?(t={lastEffect:null,stores:null},xt.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Mm(e,t,i,s){t.value=i,t.getSnapshot=s,Im(t)&&Pm(e)}function Nm(e,t,i){return i(function(){Im(t)&&Pm(e)})}function Im(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!Ki(e,i)}catch{return!0}}function Pm(e){var t=ms(e,1);t!==null&&Gi(t,e,1,-1)}function Rd(e){var t=ts();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:e},t.queue=e,e=e.dispatch=Y0.bind(null,xt,e),[t.memoizedState,e]}function Wn(e,t,i,s){return e={tag:e,create:t,destroy:i,deps:s,next:null},t=xt.updateQueue,t===null?(t={lastEffect:null,stores:null},xt.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(s=i.next,i.next=e,e.next=s,t.lastEffect=e)),e}function Om(){return Ni().memoizedState}function Ko(e,t,i,s){var n=ts();xt.flags|=e,n.memoizedState=Wn(1|t,i,void 0,s===void 0?null:s)}function Va(e,t,i,s){var n=Ni();s=s===void 0?null:s;var c=void 0;if(Bt!==null){var m=Bt.memoizedState;if(c=m.destroy,s!==null&&Pu(s,m.deps)){n.memoizedState=Wn(t,i,c,s);return}}xt.flags|=e,n.memoizedState=Wn(1|t,i,c,s)}function Td(e,t){return Ko(8390656,8,e,t)}function ju(e,t){return Va(2048,8,e,t)}function Bm(e,t){return Va(4,2,e,t)}function jm(e,t){return Va(4,4,e,t)}function Fm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Hm(e,t,i){return i=i!=null?i.concat([e]):null,Va(4,4,Fm.bind(null,t,e),i)}function Fu(){}function $m(e,t){var i=Ni();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&Pu(t,s[1])?s[0]:(i.memoizedState=[e,t],e)}function zm(e,t){var i=Ni();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&Pu(t,s[1])?s[0]:(e=e(),i.memoizedState=[e,t],e)}function Um(e,t,i){return Qs&21?(Ki(i,t)||(i=qp(),xt.lanes|=i,er|=i,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,mi=!0),e.memoizedState=i)}function K0(e,t){var i=nt;nt=i!==0&&4>i?i:4,e(!0);var s=kl.transition;kl.transition={};try{e(!1),t()}finally{nt=i,kl.transition=s}}function Wm(){return Ni().memoizedState}function q0(e,t,i){var s=Ms(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},Vm(e))Gm(t,i);else if(i=Em(e,t,i,s),i!==null){var n=oi();Gi(i,e,s,n),Km(i,t,s)}}function Y0(e,t,i){var s=Ms(e),n={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(Vm(e))Gm(t,n);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var m=t.lastRenderedState,r=c(m,i);if(n.hasEagerState=!0,n.eagerState=r,Ki(r,m)){var o=t.interleaved;o===null?(n.next=n,Du(t)):(n.next=o.next,o.next=n),t.interleaved=n;return}}catch{}finally{}i=Em(e,t,n,s),i!==null&&(n=oi(),Gi(i,e,s,n),Km(i,t,s))}}function Vm(e){var t=e.alternate;return e===xt||t!==null&&t===xt}function Gm(e,t){Sn=wa=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Km(e,t,i){if(i&4194240){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,gu(e,i)}}var ya={readContext:Mi,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useInsertionEffect:Jt,useLayoutEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useMutableSource:Jt,useSyncExternalStore:Jt,useId:Jt,unstable_isNewReconciler:!1},X0={readContext:Mi,useCallback:function(e,t){return ts().memoizedState=[e,t===void 0?null:t],e},useContext:Mi,useEffect:Td,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Ko(4194308,4,Fm.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var i=ts();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var s=ts();return t=i!==void 0?i(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=q0.bind(null,xt,e),[s.memoizedState,e]},useRef:function(e){var t=ts();return e={current:e},t.memoizedState=e},useState:Rd,useDebugValue:Fu,useDeferredValue:function(e){return ts().memoizedState=e},useTransition:function(){var e=Rd(!1),t=e[0];return e=K0.bind(null,e[1]),ts().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var s=xt,n=ts();if(wt){if(i===void 0)throw Error(ce(407));i=i()}else{if(i=t(),zt===null)throw Error(ce(349));Qs&30||Am(s,t,i)}n.memoizedState=i;var c={value:i,getSnapshot:t};return n.queue=c,Td(Nm.bind(null,s,c,e),[e]),s.flags|=2048,Wn(9,Mm.bind(null,s,c,i,t),void 0,null),i},useId:function(){var e=ts(),t=zt.identifierPrefix;if(wt){var i=us,s=cs;i=(s&~(1<<32-Vi(s)-1)).toString(32)+i,t=":"+t+"R"+i,i=zn++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=G0++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},J0={readContext:Mi,useCallback:$m,useContext:Mi,useEffect:ju,useImperativeHandle:Hm,useInsertionEffect:Bm,useLayoutEffect:jm,useMemo:zm,useReducer:El,useRef:Om,useState:function(){return El(Un)},useDebugValue:Fu,useDeferredValue:function(e){var t=Ni();return Um(t,Bt.memoizedState,e)},useTransition:function(){var e=El(Un)[0],t=Ni().memoizedState;return[e,t]},useMutableSource:Tm,useSyncExternalStore:Dm,useId:Wm,unstable_isNewReconciler:!1},Z0={readContext:Mi,useCallback:$m,useContext:Mi,useEffect:ju,useImperativeHandle:Hm,useInsertionEffect:Bm,useLayoutEffect:jm,useMemo:zm,useReducer:Ll,useRef:Om,useState:function(){return Ll(Un)},useDebugValue:Fu,useDeferredValue:function(e){var t=Ni();return Bt===null?t.memoizedState=e:Um(t,Bt.memoizedState,e)},useTransition:function(){var e=Ll(Un)[0],t=Ni().memoizedState;return[e,t]},useMutableSource:Tm,useSyncExternalStore:Dm,useId:Wm,unstable_isNewReconciler:!1};function zi(e,t){if(e&&e.defaultProps){t=Ct({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function Sc(e,t,i,s){t=e.memoizedState,i=i(s,t),i=i==null?t:Ct({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Ga={isMounted:function(e){return(e=e._reactInternals)?lr(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var s=oi(),n=Ms(e),c=hs(s,n);c.payload=t,i!=null&&(c.callback=i),t=Ds(e,c,n),t!==null&&(Gi(t,e,n,s),Vo(t,e,n))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var s=oi(),n=Ms(e),c=hs(s,n);c.tag=1,c.payload=t,i!=null&&(c.callback=i),t=Ds(e,c,n),t!==null&&(Gi(t,e,n,s),Vo(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=oi(),s=Ms(e),n=hs(i,s);n.tag=2,t!=null&&(n.callback=t),t=Ds(e,n,s),t!==null&&(Gi(t,e,s,i),Vo(t,e,s))}};function Dd(e,t,i,s,n,c,m){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,c,m):t.prototype&&t.prototype.isPureReactComponent?!On(i,s)||!On(n,c):!0}function qm(e,t,i){var s=!1,n=Ps,c=t.contextType;return typeof c=="object"&&c!==null?c=Mi(c):(n=_i(t)?Js:ti.current,s=t.contextTypes,c=(s=s!=null)?$r(e,n):Ps),t=new t(i,c),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ga,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=c),t}function Ad(e,t,i,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,s),t.state!==e&&Ga.enqueueReplaceState(t,t.state,null)}function bc(e,t,i,s){var n=e.stateNode;n.props=i,n.state=e.memoizedState,n.refs={},Au(e);var c=t.contextType;typeof c=="object"&&c!==null?n.context=Mi(c):(c=_i(t)?Js:ti.current,n.context=$r(e,c)),n.state=e.memoizedState,c=t.getDerivedStateFromProps,typeof c=="function"&&(Sc(e,t,c,i),n.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(t=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),t!==n.state&&Ga.enqueueReplaceState(n,n.state,null),_a(e,i,n,s),n.state=e.memoizedState),typeof n.componentDidMount=="function"&&(e.flags|=4194308)}function Vr(e,t){try{var i="",s=t;do i+=Ev(s),s=s.return;while(s);var n=i}catch(c){n=`
39
39
  Error generating stack: `+c.message+`
40
- `+c.stack}return{value:e,source:t,stack:n,digest:null}}function Rl(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function xc(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var Q0=typeof WeakMap=="function"?WeakMap:Map;function Ym(e,t,i){i=hs(-1,i),i.tag=3,i.payload={element:null};var s=t.value;return i.callback=function(){ba||(ba=!0,Nc=s),xc(e,t)},i}function Xm(e,t,i){i=hs(-1,i),i.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var n=t.value;i.payload=function(){return s(n)},i.callback=function(){xc(e,t)}}var c=e.stateNode;return c!==null&&typeof c.componentDidCatch=="function"&&(i.callback=function(){xc(e,t),typeof s!="function"&&(As===null?As=new Set([this]):As.add(this));var m=t.stack;this.componentDidCatch(t.value,{componentStack:m!==null?m:""})}),i}function Md(e,t,i){var s=e.pingCache;if(s===null){s=e.pingCache=new Q0;var n=new Set;s.set(t,n)}else n=s.get(t),n===void 0&&(n=new Set,s.set(t,n));n.has(i)||(n.add(i),e=fw.bind(null,e,t,i),t.then(e,e))}function Nd(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Id(e,t,i,s,n){return e.mode&1?(e.flags|=65536,e.lanes=n,e):(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=hs(-1,1),t.tag=2,Ds(i,t,1))),i.lanes|=1),e)}var ew=vs.ReactCurrentOwner,mi=!1;function ni(e,t,i,s){t.child=e===null?km(t,null,i,s):Ur(t,e.child,i,s)}function Od(e,t,i,s,n){i=i.render;var c=t.ref;return Br(t,n),s=Pu(e,t,i,s,c,n),i=Bu(),e!==null&&!mi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,gs(e,t,n)):(wt&&i&&Cu(t),t.flags|=1,ni(e,t,s,n),t.child)}function Pd(e,t,i,s,n){if(e===null){var c=i.type;return typeof c=="function"&&!Ku(c)&&c.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=c,Jm(e,t,c,s,n)):(e=Jo(i.type,null,s,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!(e.lanes&n)){var m=c.memoizedProps;if(i=i.compare,i=i!==null?i:Pn,i(m,s)&&e.ref===t.ref)return gs(e,t,n)}return t.flags|=1,e=Ns(c,s),e.ref=t.ref,e.return=t,t.child=e}function Jm(e,t,i,s,n){if(e!==null){var c=e.memoizedProps;if(Pn(c,s)&&e.ref===t.ref)if(mi=!1,t.pendingProps=s=c,(e.lanes&n)!==0)e.flags&131072&&(mi=!0);else return t.lanes=e.lanes,gs(e,t,n)}return Cc(e,t,i,s,n)}function Zm(e,t,i){var s=t.pendingProps,n=s.children,c=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ht(Rr,Si),Si|=i;else{if(!(i&1073741824))return e=c!==null?c.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ht(Rr,Si),Si|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=c!==null?c.baseLanes:i,ht(Rr,Si),Si|=s}else c!==null?(s=c.baseLanes|i,t.memoizedState=null):s=i,ht(Rr,Si),Si|=s;return ni(e,t,n,i),t.child}function Qm(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function Cc(e,t,i,s,n){var c=_i(i)?Js:ti.current;return c=$r(t,c),Br(t,n),i=Pu(e,t,i,s,c,n),s=Bu(),e!==null&&!mi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,gs(e,t,n)):(wt&&s&&Cu(t),t.flags|=1,ni(e,t,i,n),t.child)}function Bd(e,t,i,s,n){if(_i(i)){var c=!0;da(t)}else c=!1;if(Br(t,n),t.stateNode===null)qo(e,t),qm(t,i,s),bc(t,i,s,n),s=!0;else if(e===null){var m=t.stateNode,r=t.memoizedProps;m.props=r;var o=m.context,f=i.contextType;typeof f=="object"&&f!==null?f=Mi(f):(f=_i(i)?Js:ti.current,f=$r(t,f));var v=i.getDerivedStateFromProps,h=typeof v=="function"||typeof m.getSnapshotBeforeUpdate=="function";h||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(r!==s||o!==f)&&Ad(t,m,s,f),Ss=!1;var p=t.memoizedState;m.state=p,_a(t,s,m,n),o=t.memoizedState,r!==s||p!==o||gi.current||Ss?(typeof v=="function"&&(Sc(t,i,v,s),o=t.memoizedState),(r=Ss||Dd(t,i,r,s,p,o,f))?(h||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(t.flags|=4194308)):(typeof m.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=o),m.props=s,m.state=o,m.context=f,s=r):(typeof m.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{m=t.stateNode,Lm(e,t),r=t.memoizedProps,f=t.type===t.elementType?r:zi(t.type,r),m.props=f,h=t.pendingProps,p=m.context,o=i.contextType,typeof o=="object"&&o!==null?o=Mi(o):(o=_i(i)?Js:ti.current,o=$r(t,o));var y=i.getDerivedStateFromProps;(v=typeof y=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(r!==h||p!==o)&&Ad(t,m,s,o),Ss=!1,p=t.memoizedState,m.state=p,_a(t,s,m,n);var S=t.memoizedState;r!==h||p!==S||gi.current||Ss?(typeof y=="function"&&(Sc(t,i,y,s),S=t.memoizedState),(f=Ss||Dd(t,i,f,s,p,S,o)||!1)?(v||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(s,S,o),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(s,S,o)),typeof m.componentDidUpdate=="function"&&(t.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof m.componentDidUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=S),m.props=s,m.state=S,m.context=o,s=f):(typeof m.componentDidUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),s=!1)}return kc(e,t,i,s,c,n)}function kc(e,t,i,s,n,c){Qm(e,t);var m=(t.flags&128)!==0;if(!s&&!m)return n&&bd(t,i,!1),gs(e,t,c);s=t.stateNode,ew.current=t;var r=m&&typeof i.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&m?(t.child=Ur(t,e.child,null,c),t.child=Ur(t,null,r,c)):ni(e,t,r,c),t.memoizedState=s.state,n&&bd(t,i,!0),t.child}function eg(e){var t=e.stateNode;t.pendingContext?Sd(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Sd(e,t.context,!1),Mu(e,t.containerInfo)}function jd(e,t,i,s,n){return zr(),Eu(n),t.flags|=256,ni(e,t,i,s),t.child}var Ec={dehydrated:null,treeContext:null,retryLane:0};function Lc(e){return{baseLanes:e,cachePool:null,transitions:null}}function tg(e,t,i){var s=t.pendingProps,n=bt.current,c=!1,m=(t.flags&128)!==0,r;if((r=m)||(r=e!==null&&e.memoizedState===null?!1:(n&2)!==0),r?(c=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(n|=1),ht(bt,n&1),e===null)return wc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(m=s.children,e=s.fallback,c?(s=t.mode,c=t.child,m={mode:"hidden",children:m},!(s&1)&&c!==null?(c.childLanes=0,c.pendingProps=m):c=Ya(m,s,0,null),e=Xs(e,s,i,null),c.return=t,e.return=t,c.sibling=e,t.child=c,t.child.memoizedState=Lc(i),t.memoizedState=Ec,e):Hu(t,m));if(n=e.memoizedState,n!==null&&(r=n.dehydrated,r!==null))return tw(e,t,m,s,r,n,i);if(c){c=s.fallback,m=t.mode,n=e.child,r=n.sibling;var o={mode:"hidden",children:s.children};return!(m&1)&&t.child!==n?(s=t.child,s.childLanes=0,s.pendingProps=o,t.deletions=null):(s=Ns(n,o),s.subtreeFlags=n.subtreeFlags&14680064),r!==null?c=Ns(r,c):(c=Xs(c,m,i,null),c.flags|=2),c.return=t,s.return=t,s.sibling=c,t.child=s,s=c,c=t.child,m=e.child.memoizedState,m=m===null?Lc(i):{baseLanes:m.baseLanes|i,cachePool:null,transitions:m.transitions},c.memoizedState=m,c.childLanes=e.childLanes&~i,t.memoizedState=Ec,s}return c=e.child,e=c.sibling,s=Ns(c,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=i),s.return=t,s.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=s,t.memoizedState=null,s}function Hu(e,t){return t=Ya({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Eo(e,t,i,s){return s!==null&&Eu(s),Ur(t,e.child,null,i),e=Hu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function tw(e,t,i,s,n,c,m){if(i)return t.flags&256?(t.flags&=-257,s=Rl(Error(ce(422))),Eo(e,t,m,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(c=s.fallback,n=t.mode,s=Ya({mode:"visible",children:s.children},n,0,null),c=Xs(c,n,m,null),c.flags|=2,s.return=t,c.return=t,s.sibling=c,t.child=s,t.mode&1&&Ur(t,e.child,null,m),t.child.memoizedState=Lc(m),t.memoizedState=Ec,c);if(!(t.mode&1))return Eo(e,t,m,null);if(n.data==="$!"){if(s=n.nextSibling&&n.nextSibling.dataset,s)var r=s.dgst;return s=r,c=Error(ce(419)),s=Rl(c,s,void 0),Eo(e,t,m,s)}if(r=(m&e.childLanes)!==0,mi||r){if(s=zt,s!==null){switch(m&-m){case 4:n=2;break;case 16:n=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:n=32;break;case 536870912:n=268435456;break;default:n=0}n=n&(s.suspendedLanes|m)?0:n,n!==0&&n!==c.retryLane&&(c.retryLane=n,ms(e,n),Gi(s,e,n,-1))}return Gu(),s=Rl(Error(ce(421))),Eo(e,t,m,s)}return n.data==="$?"?(t.flags|=128,t.child=e.child,t=pw.bind(null,e),n._reactRetry=t,null):(e=c.treeContext,xi=Ts(n.nextSibling),Ci=t,wt=!0,Wi=null,e!==null&&(Ri[Ti++]=cs,Ri[Ti++]=us,Ri[Ti++]=Zs,cs=e.id,us=e.overflow,Zs=t),t=Hu(t,s.children),t.flags|=4096,t)}function Fd(e,t,i){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),yc(e.return,t,i)}function Tl(e,t,i,s,n){var c=e.memoizedState;c===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:i,tailMode:n}:(c.isBackwards=t,c.rendering=null,c.renderingStartTime=0,c.last=s,c.tail=i,c.tailMode=n)}function ig(e,t,i){var s=t.pendingProps,n=s.revealOrder,c=s.tail;if(ni(e,t,s.children,i),s=bt.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Fd(e,i,t);else if(e.tag===19)Fd(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(ht(bt,s),!(t.mode&1))t.memoizedState=null;else switch(n){case"forwards":for(i=t.child,n=null;i!==null;)e=i.alternate,e!==null&&va(e)===null&&(n=i),i=i.sibling;i=n,i===null?(n=t.child,t.child=null):(n=i.sibling,i.sibling=null),Tl(t,!1,n,i,c);break;case"backwards":for(i=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&va(e)===null){t.child=n;break}e=n.sibling,n.sibling=i,i=n,n=e}Tl(t,!0,i,null,c);break;case"together":Tl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function qo(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function gs(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),er|=t.lanes,!(i&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(ce(153));if(t.child!==null){for(e=t.child,i=Ns(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Ns(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function iw(e,t,i){switch(t.tag){case 3:eg(t),zr();break;case 5:Rm(t);break;case 1:_i(t.type)&&da(t);break;case 4:Mu(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,n=t.memoizedProps.value;ht(ma,s._currentValue),s._currentValue=n;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(ht(bt,bt.current&1),t.flags|=128,null):i&t.child.childLanes?tg(e,t,i):(ht(bt,bt.current&1),e=gs(e,t,i),e!==null?e.sibling:null);ht(bt,bt.current&1);break;case 19:if(s=(i&t.childLanes)!==0,e.flags&128){if(s)return ig(e,t,i);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),ht(bt,bt.current),s)break;return null;case 22:case 23:return t.lanes=0,Zm(e,t,i)}return gs(e,t,i)}var sg,Rc,rg,ng;sg=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};Rc=function(){};rg=function(e,t,i,s){var n=e.memoizedProps;if(n!==s){e=t.stateNode,qs(os.current);var c=null;switch(i){case"input":n=Xl(e,n),s=Xl(e,s),c=[];break;case"select":n=Ct({},n,{value:void 0}),s=Ct({},s,{value:void 0}),c=[];break;case"textarea":n=Ql(e,n),s=Ql(e,s),c=[];break;default:typeof n.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=ua)}tc(i,s);var m;i=null;for(f in n)if(!s.hasOwnProperty(f)&&n.hasOwnProperty(f)&&n[f]!=null)if(f==="style"){var r=n[f];for(m in r)r.hasOwnProperty(m)&&(i||(i={}),i[m]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(Tn.hasOwnProperty(f)?c||(c=[]):(c=c||[]).push(f,null));for(f in s){var o=s[f];if(r=n!=null?n[f]:void 0,s.hasOwnProperty(f)&&o!==r&&(o!=null||r!=null))if(f==="style")if(r){for(m in r)!r.hasOwnProperty(m)||o&&o.hasOwnProperty(m)||(i||(i={}),i[m]="");for(m in o)o.hasOwnProperty(m)&&r[m]!==o[m]&&(i||(i={}),i[m]=o[m])}else i||(c||(c=[]),c.push(f,i)),i=o;else f==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,r=r?r.__html:void 0,o!=null&&r!==o&&(c=c||[]).push(f,o)):f==="children"?typeof o!="string"&&typeof o!="number"||(c=c||[]).push(f,""+o):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(Tn.hasOwnProperty(f)?(o!=null&&f==="onScroll"&&mt("scroll",e),c||r===o||(c=[])):(c=c||[]).push(f,o))}i&&(c=c||[]).push("style",i);var f=c;(t.updateQueue=f)&&(t.flags|=4)}};ng=function(e,t,i,s){i!==s&&(t.flags|=4)};function sn(e,t){if(!wt)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var s=null;i!==null;)i.alternate!==null&&(s=i),i=i.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Zt(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,s=0;if(t)for(var n=e.child;n!==null;)i|=n.lanes|n.childLanes,s|=n.subtreeFlags&14680064,s|=n.flags&14680064,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)i|=n.lanes|n.childLanes,s|=n.subtreeFlags,s|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=s,e.childLanes=i,t}function sw(e,t,i){var s=t.pendingProps;switch(ku(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Zt(t),null;case 1:return _i(t.type)&&ha(),Zt(t),null;case 3:return s=t.stateNode,Wr(),gt(gi),gt(ti),Iu(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Co(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Wi!==null&&(Pc(Wi),Wi=null))),Rc(e,t),Zt(t),null;case 5:Nu(t);var n=qs($n.current);if(i=t.type,e!==null&&t.stateNode!=null)rg(e,t,i,s,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(ce(166));return Zt(t),null}if(e=qs(os.current),Co(t)){s=t.stateNode,i=t.type;var c=t.memoizedProps;switch(s[is]=t,s[Fn]=c,e=(t.mode&1)!==0,i){case"dialog":mt("cancel",s),mt("close",s);break;case"iframe":case"object":case"embed":mt("load",s);break;case"video":case"audio":for(n=0;n<pn.length;n++)mt(pn[n],s);break;case"source":mt("error",s);break;case"img":case"image":case"link":mt("error",s),mt("load",s);break;case"details":mt("toggle",s);break;case"input":qh(s,c),mt("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!c.multiple},mt("invalid",s);break;case"textarea":Xh(s,c),mt("invalid",s)}tc(i,c),n=null;for(var m in c)if(c.hasOwnProperty(m)){var r=c[m];m==="children"?typeof r=="string"?s.textContent!==r&&(c.suppressHydrationWarning!==!0&&xo(s.textContent,r,e),n=["children",r]):typeof r=="number"&&s.textContent!==""+r&&(c.suppressHydrationWarning!==!0&&xo(s.textContent,r,e),n=["children",""+r]):Tn.hasOwnProperty(m)&&r!=null&&m==="onScroll"&&mt("scroll",s)}switch(i){case"input":mo(s),Yh(s,c,!0);break;case"textarea":mo(s),Jh(s);break;case"select":case"option":break;default:typeof c.onClick=="function"&&(s.onclick=ua)}s=n,t.updateQueue=s,s!==null&&(t.flags|=4)}else{m=n.nodeType===9?n:n.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Np(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=m.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=m.createElement(i,{is:s.is}):(e=m.createElement(i),i==="select"&&(m=e,s.multiple?m.multiple=!0:s.size&&(m.size=s.size))):e=m.createElementNS(e,i),e[is]=t,e[Fn]=s,sg(e,t,!1,!1),t.stateNode=e;e:{switch(m=ic(i,s),i){case"dialog":mt("cancel",e),mt("close",e),n=s;break;case"iframe":case"object":case"embed":mt("load",e),n=s;break;case"video":case"audio":for(n=0;n<pn.length;n++)mt(pn[n],e);n=s;break;case"source":mt("error",e),n=s;break;case"img":case"image":case"link":mt("error",e),mt("load",e),n=s;break;case"details":mt("toggle",e),n=s;break;case"input":qh(e,s),n=Xl(e,s),mt("invalid",e);break;case"option":n=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},n=Ct({},s,{value:void 0}),mt("invalid",e);break;case"textarea":Xh(e,s),n=Ql(e,s),mt("invalid",e);break;default:n=s}tc(i,n),r=n;for(c in r)if(r.hasOwnProperty(c)){var o=r[c];c==="style"?Pp(e,o):c==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&Ip(e,o)):c==="children"?typeof o=="string"?(i!=="textarea"||o!=="")&&Dn(e,o):typeof o=="number"&&Dn(e,""+o):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Tn.hasOwnProperty(c)?o!=null&&c==="onScroll"&&mt("scroll",e):o!=null&&uu(e,c,o,m))}switch(i){case"input":mo(e),Yh(e,s,!1);break;case"textarea":mo(e),Jh(e);break;case"option":s.value!=null&&e.setAttribute("value",""+Is(s.value));break;case"select":e.multiple=!!s.multiple,c=s.value,c!=null?Nr(e,!!s.multiple,c,!1):s.defaultValue!=null&&Nr(e,!!s.multiple,s.defaultValue,!0);break;default:typeof n.onClick=="function"&&(e.onclick=ua)}switch(i){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Zt(t),null;case 6:if(e&&t.stateNode!=null)ng(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(ce(166));if(i=qs($n.current),qs(os.current),Co(t)){if(s=t.stateNode,i=t.memoizedProps,s[is]=t,(c=s.nodeValue!==i)&&(e=Ci,e!==null))switch(e.tag){case 3:xo(s.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&xo(s.nodeValue,i,(e.mode&1)!==0)}c&&(t.flags|=4)}else s=(i.nodeType===9?i:i.ownerDocument).createTextNode(s),s[is]=t,t.stateNode=s}return Zt(t),null;case 13:if(gt(bt),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(wt&&xi!==null&&t.mode&1&&!(t.flags&128))xm(),zr(),t.flags|=98560,c=!1;else if(c=Co(t),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(ce(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(ce(317));c[is]=t}else zr(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Zt(t),c=!1}else Wi!==null&&(Pc(Wi),Wi=null),c=!0;if(!c)return t.flags&65536?t:null}return t.flags&128?(t.lanes=i,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||bt.current&1?jt===0&&(jt=3):Gu())),t.updateQueue!==null&&(t.flags|=4),Zt(t),null);case 4:return Wr(),Rc(e,t),e===null&&Bn(t.stateNode.containerInfo),Zt(t),null;case 10:return Tu(t.type._context),Zt(t),null;case 17:return _i(t.type)&&ha(),Zt(t),null;case 19:if(gt(bt),c=t.memoizedState,c===null)return Zt(t),null;if(s=(t.flags&128)!==0,m=c.rendering,m===null)if(s)sn(c,!1);else{if(jt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(m=va(e),m!==null){for(t.flags|=128,sn(c,!1),s=m.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=i,i=t.child;i!==null;)c=i,e=s,c.flags&=14680066,m=c.alternate,m===null?(c.childLanes=0,c.lanes=e,c.child=null,c.subtreeFlags=0,c.memoizedProps=null,c.memoizedState=null,c.updateQueue=null,c.dependencies=null,c.stateNode=null):(c.childLanes=m.childLanes,c.lanes=m.lanes,c.child=m.child,c.subtreeFlags=0,c.deletions=null,c.memoizedProps=m.memoizedProps,c.memoizedState=m.memoizedState,c.updateQueue=m.updateQueue,c.type=m.type,e=m.dependencies,c.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return ht(bt,bt.current&1|2),t.child}e=e.sibling}c.tail!==null&&Nt()>Gr&&(t.flags|=128,s=!0,sn(c,!1),t.lanes=4194304)}else{if(!s)if(e=va(m),e!==null){if(t.flags|=128,s=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),sn(c,!0),c.tail===null&&c.tailMode==="hidden"&&!m.alternate&&!wt)return Zt(t),null}else 2*Nt()-c.renderingStartTime>Gr&&i!==1073741824&&(t.flags|=128,s=!0,sn(c,!1),t.lanes=4194304);c.isBackwards?(m.sibling=t.child,t.child=m):(i=c.last,i!==null?i.sibling=m:t.child=m,c.last=m)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Nt(),t.sibling=null,i=bt.current,ht(bt,s?i&1|2:i&1),t):(Zt(t),null);case 22:case 23:return Vu(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?Si&1073741824&&(Zt(t),t.subtreeFlags&6&&(t.flags|=8192)):Zt(t),null;case 24:return null;case 25:return null}throw Error(ce(156,t.tag))}function rw(e,t){switch(ku(t),t.tag){case 1:return _i(t.type)&&ha(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wr(),gt(gi),gt(ti),Iu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Nu(t),null;case 13:if(gt(bt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ce(340));zr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return gt(bt),null;case 4:return Wr(),null;case 10:return Tu(t.type._context),null;case 22:case 23:return Vu(),null;case 24:return null;default:return null}}var Lo=!1,ei=!1,nw=typeof WeakSet=="function"?WeakSet:Set,Ce=null;function Lr(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){Rt(e,t,s)}else i.current=null}function Tc(e,t,i){try{i()}catch(s){Rt(e,t,s)}}var Hd=!1;function ow(e,t){if(dc=aa,e=um(),xu(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var n=s.anchorOffset,c=s.focusNode;s=s.focusOffset;try{i.nodeType,c.nodeType}catch{i=null;break e}var m=0,r=-1,o=-1,f=0,v=0,h=e,p=null;t:for(;;){for(var y;h!==i||n!==0&&h.nodeType!==3||(r=m+n),h!==c||s!==0&&h.nodeType!==3||(o=m+s),h.nodeType===3&&(m+=h.nodeValue.length),(y=h.firstChild)!==null;)p=h,h=y;for(;;){if(h===e)break t;if(p===i&&++f===n&&(r=m),p===c&&++v===s&&(o=m),(y=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=y}i=r===-1||o===-1?null:{start:r,end:o}}else i=null}i=i||{start:0,end:0}}else i=null;for(fc={focusedElem:e,selectionRange:i},aa=!1,Ce=t;Ce!==null;)if(t=Ce,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ce=e;else for(;Ce!==null;){t=Ce;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var g=S.memoizedProps,a=S.memoizedState,u=t.stateNode,l=u.getSnapshotBeforeUpdate(t.elementType===t.type?g:zi(t.type,g),a);u.__reactInternalSnapshotBeforeUpdate=l}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ce(163))}}catch(w){Rt(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,Ce=e;break}Ce=t.return}return S=Hd,Hd=!1,S}function bn(e,t,i){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var n=s=s.next;do{if((n.tag&e)===e){var c=n.destroy;n.destroy=void 0,c!==void 0&&Tc(t,i,c)}n=n.next}while(n!==s)}}function Ka(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==t)}}function Dc(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function og(e){var t=e.alternate;t!==null&&(e.alternate=null,og(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[is],delete t[Fn],delete t[gc],delete t[z0],delete t[U0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ag(e){return e.tag===5||e.tag===3||e.tag===4}function $d(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ag(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ac(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=ua));else if(s!==4&&(e=e.child,e!==null))for(Ac(e,t,i),e=e.sibling;e!==null;)Ac(e,t,i),e=e.sibling}function Mc(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(Mc(e,t,i),e=e.sibling;e!==null;)Mc(e,t,i),e=e.sibling}var Gt=null,Ui=!1;function ws(e,t,i){for(i=i.child;i!==null;)lg(e,t,i),i=i.sibling}function lg(e,t,i){if(ns&&typeof ns.onCommitFiberUnmount=="function")try{ns.onCommitFiberUnmount(Fa,i)}catch{}switch(i.tag){case 5:ei||Lr(i,t);case 6:var s=Gt,n=Ui;Gt=null,ws(e,t,i),Gt=s,Ui=n,Gt!==null&&(Ui?(e=Gt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Gt.removeChild(i.stateNode));break;case 18:Gt!==null&&(Ui?(e=Gt,i=i.stateNode,e.nodeType===8?bl(e.parentNode,i):e.nodeType===1&&bl(e,i),In(e)):bl(Gt,i.stateNode));break;case 4:s=Gt,n=Ui,Gt=i.stateNode.containerInfo,Ui=!0,ws(e,t,i),Gt=s,Ui=n;break;case 0:case 11:case 14:case 15:if(!ei&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){n=s=s.next;do{var c=n,m=c.destroy;c=c.tag,m!==void 0&&(c&2||c&4)&&Tc(i,t,m),n=n.next}while(n!==s)}ws(e,t,i);break;case 1:if(!ei&&(Lr(i,t),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(r){Rt(i,t,r)}ws(e,t,i);break;case 21:ws(e,t,i);break;case 22:i.mode&1?(ei=(s=ei)||i.memoizedState!==null,ws(e,t,i),ei=s):ws(e,t,i);break;default:ws(e,t,i)}}function zd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new nw),t.forEach(function(s){var n=mw.bind(null,e,s);i.has(s)||(i.add(s),s.then(n,n))})}}function Hi(e,t){var i=t.deletions;if(i!==null)for(var s=0;s<i.length;s++){var n=i[s];try{var c=e,m=t,r=m;e:for(;r!==null;){switch(r.tag){case 5:Gt=r.stateNode,Ui=!1;break e;case 3:Gt=r.stateNode.containerInfo,Ui=!0;break e;case 4:Gt=r.stateNode.containerInfo,Ui=!0;break e}r=r.return}if(Gt===null)throw Error(ce(160));lg(c,m,n),Gt=null,Ui=!1;var o=n.alternate;o!==null&&(o.return=null),n.return=null}catch(f){Rt(n,t,f)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)cg(t,e),t=t.sibling}function cg(e,t){var i=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Hi(t,e),Zi(e),s&4){try{bn(3,e,e.return),Ka(3,e)}catch(g){Rt(e,e.return,g)}try{bn(5,e,e.return)}catch(g){Rt(e,e.return,g)}}break;case 1:Hi(t,e),Zi(e),s&512&&i!==null&&Lr(i,i.return);break;case 5:if(Hi(t,e),Zi(e),s&512&&i!==null&&Lr(i,i.return),e.flags&32){var n=e.stateNode;try{Dn(n,"")}catch(g){Rt(e,e.return,g)}}if(s&4&&(n=e.stateNode,n!=null)){var c=e.memoizedProps,m=i!==null?i.memoizedProps:c,r=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{r==="input"&&c.type==="radio"&&c.name!=null&&Ap(n,c),ic(r,m);var f=ic(r,c);for(m=0;m<o.length;m+=2){var v=o[m],h=o[m+1];v==="style"?Pp(n,h):v==="dangerouslySetInnerHTML"?Ip(n,h):v==="children"?Dn(n,h):uu(n,v,h,f)}switch(r){case"input":Jl(n,c);break;case"textarea":Mp(n,c);break;case"select":var p=n._wrapperState.wasMultiple;n._wrapperState.wasMultiple=!!c.multiple;var y=c.value;y!=null?Nr(n,!!c.multiple,y,!1):p!==!!c.multiple&&(c.defaultValue!=null?Nr(n,!!c.multiple,c.defaultValue,!0):Nr(n,!!c.multiple,c.multiple?[]:"",!1))}n[Fn]=c}catch(g){Rt(e,e.return,g)}}break;case 6:if(Hi(t,e),Zi(e),s&4){if(e.stateNode===null)throw Error(ce(162));n=e.stateNode,c=e.memoizedProps;try{n.nodeValue=c}catch(g){Rt(e,e.return,g)}}break;case 3:if(Hi(t,e),Zi(e),s&4&&i!==null&&i.memoizedState.isDehydrated)try{In(t.containerInfo)}catch(g){Rt(e,e.return,g)}break;case 4:Hi(t,e),Zi(e);break;case 13:Hi(t,e),Zi(e),n=e.child,n.flags&8192&&(c=n.memoizedState!==null,n.stateNode.isHidden=c,!c||n.alternate!==null&&n.alternate.memoizedState!==null||(Uu=Nt())),s&4&&zd(e);break;case 22:if(v=i!==null&&i.memoizedState!==null,e.mode&1?(ei=(f=ei)||v,Hi(t,e),ei=f):Hi(t,e),Zi(e),s&8192){if(f=e.memoizedState!==null,(e.stateNode.isHidden=f)&&!v&&e.mode&1)for(Ce=e,v=e.child;v!==null;){for(h=Ce=v;Ce!==null;){switch(p=Ce,y=p.child,p.tag){case 0:case 11:case 14:case 15:bn(4,p,p.return);break;case 1:Lr(p,p.return);var S=p.stateNode;if(typeof S.componentWillUnmount=="function"){s=p,i=p.return;try{t=s,S.props=t.memoizedProps,S.state=t.memoizedState,S.componentWillUnmount()}catch(g){Rt(s,i,g)}}break;case 5:Lr(p,p.return);break;case 22:if(p.memoizedState!==null){Wd(h);continue}}y!==null?(y.return=p,Ce=y):Wd(h)}v=v.sibling}e:for(v=null,h=e;;){if(h.tag===5){if(v===null){v=h;try{n=h.stateNode,f?(c=n.style,typeof c.setProperty=="function"?c.setProperty("display","none","important"):c.display="none"):(r=h.stateNode,o=h.memoizedProps.style,m=o!=null&&o.hasOwnProperty("display")?o.display:null,r.style.display=Op("display",m))}catch(g){Rt(e,e.return,g)}}}else if(h.tag===6){if(v===null)try{h.stateNode.nodeValue=f?"":h.memoizedProps}catch(g){Rt(e,e.return,g)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;v===h&&(v=null),h=h.return}v===h&&(v=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Hi(t,e),Zi(e),s&4&&zd(e);break;case 21:break;default:Hi(t,e),Zi(e)}}function Zi(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(ag(i)){var s=i;break e}i=i.return}throw Error(ce(160))}switch(s.tag){case 5:var n=s.stateNode;s.flags&32&&(Dn(n,""),s.flags&=-33);var c=$d(e);Mc(e,c,n);break;case 3:case 4:var m=s.stateNode.containerInfo,r=$d(e);Ac(e,r,m);break;default:throw Error(ce(161))}}catch(o){Rt(e,e.return,o)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function aw(e,t,i){Ce=e,ug(e)}function ug(e,t,i){for(var s=(e.mode&1)!==0;Ce!==null;){var n=Ce,c=n.child;if(n.tag===22&&s){var m=n.memoizedState!==null||Lo;if(!m){var r=n.alternate,o=r!==null&&r.memoizedState!==null||ei;r=Lo;var f=ei;if(Lo=m,(ei=o)&&!f)for(Ce=n;Ce!==null;)m=Ce,o=m.child,m.tag===22&&m.memoizedState!==null?Vd(n):o!==null?(o.return=m,Ce=o):Vd(n);for(;c!==null;)Ce=c,ug(c),c=c.sibling;Ce=n,Lo=r,ei=f}Ud(e)}else n.subtreeFlags&8772&&c!==null?(c.return=n,Ce=c):Ud(e)}}function Ud(e){for(;Ce!==null;){var t=Ce;if(t.flags&8772){var i=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ei||Ka(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ei)if(i===null)s.componentDidMount();else{var n=t.elementType===t.type?i.memoizedProps:zi(t.type,i.memoizedProps);s.componentDidUpdate(n,i.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var c=t.updateQueue;c!==null&&Ld(t,c,s);break;case 3:var m=t.updateQueue;if(m!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}Ld(t,m,i)}break;case 5:var r=t.stateNode;if(i===null&&t.flags&4){i=r;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&i.focus();break;case"img":o.src&&(i.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var f=t.alternate;if(f!==null){var v=f.memoizedState;if(v!==null){var h=v.dehydrated;h!==null&&In(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(ce(163))}ei||t.flags&512&&Dc(t)}catch(p){Rt(t,t.return,p)}}if(t===e){Ce=null;break}if(i=t.sibling,i!==null){i.return=t.return,Ce=i;break}Ce=t.return}}function Wd(e){for(;Ce!==null;){var t=Ce;if(t===e){Ce=null;break}var i=t.sibling;if(i!==null){i.return=t.return,Ce=i;break}Ce=t.return}}function Vd(e){for(;Ce!==null;){var t=Ce;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{Ka(4,t)}catch(o){Rt(t,i,o)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var n=t.return;try{s.componentDidMount()}catch(o){Rt(t,n,o)}}var c=t.return;try{Dc(t)}catch(o){Rt(t,c,o)}break;case 5:var m=t.return;try{Dc(t)}catch(o){Rt(t,m,o)}}}catch(o){Rt(t,t.return,o)}if(t===e){Ce=null;break}var r=t.sibling;if(r!==null){r.return=t.return,Ce=r;break}Ce=t.return}}var lw=Math.ceil,Sa=vs.ReactCurrentDispatcher,$u=vs.ReactCurrentOwner,Ai=vs.ReactCurrentBatchConfig,Xe=0,zt=null,Ot=null,Kt=0,Si=0,Rr=Fs(0),jt=0,Vn=null,er=0,qa=0,zu=0,xn=null,fi=null,Uu=0,Gr=1/0,as=null,ba=!1,Nc=null,As=null,Ro=!1,ks=null,xa=0,Cn=0,Ic=null,Yo=-1,Xo=0;function oi(){return Xe&6?Nt():Yo!==-1?Yo:Yo=Nt()}function Ms(e){return e.mode&1?Xe&2&&Kt!==0?Kt&-Kt:V0.transition!==null?(Xo===0&&(Xo=qp()),Xo):(e=nt,e!==0||(e=window.event,e=e===void 0?16:tm(e.type)),e):1}function Gi(e,t,i,s){if(50<Cn)throw Cn=0,Ic=null,Error(ce(185));Zn(e,i,s),(!(Xe&2)||e!==zt)&&(e===zt&&(!(Xe&2)&&(qa|=i),jt===4&&xs(e,Kt)),vi(e,s),i===1&&Xe===0&&!(t.mode&1)&&(Gr=Nt()+500,Wa&&Hs()))}function vi(e,t){var i=e.callbackNode;Vv(e,t);var s=oa(e,e===zt?Kt:0);if(s===0)i!==null&&ed(i),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(i!=null&&ed(i),t===1)e.tag===0?W0(Gd.bind(null,e)):ym(Gd.bind(null,e)),H0(function(){!(Xe&6)&&Hs()}),i=null;else{switch(Yp(s)){case 1:i=mu;break;case 4:i=Gp;break;case 16:i=na;break;case 536870912:i=Kp;break;default:i=na}i=vg(i,hg.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function hg(e,t){if(Yo=-1,Xo=0,Xe&6)throw Error(ce(327));var i=e.callbackNode;if(jr()&&e.callbackNode!==i)return null;var s=oa(e,e===zt?Kt:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Ca(e,s);else{t=s;var n=Xe;Xe|=2;var c=fg();(zt!==e||Kt!==t)&&(as=null,Gr=Nt()+500,Ys(e,t));do try{hw();break}catch(r){dg(e,r)}while(!0);Ru(),Sa.current=c,Xe=n,Ot!==null?t=0:(zt=null,Kt=0,t=jt)}if(t!==0){if(t===2&&(n=ac(e),n!==0&&(s=n,t=Oc(e,n))),t===1)throw i=Vn,Ys(e,0),xs(e,s),vi(e,Nt()),i;if(t===6)xs(e,s);else{if(n=e.current.alternate,!(s&30)&&!cw(n)&&(t=Ca(e,s),t===2&&(c=ac(e),c!==0&&(s=c,t=Oc(e,c))),t===1))throw i=Vn,Ys(e,0),xs(e,s),vi(e,Nt()),i;switch(e.finishedWork=n,e.finishedLanes=s,t){case 0:case 1:throw Error(ce(345));case 2:Ws(e,fi,as);break;case 3:if(xs(e,s),(s&130023424)===s&&(t=Uu+500-Nt(),10<t)){if(oa(e,0)!==0)break;if(n=e.suspendedLanes,(n&s)!==s){oi(),e.pingedLanes|=e.suspendedLanes&n;break}e.timeoutHandle=mc(Ws.bind(null,e,fi,as),t);break}Ws(e,fi,as);break;case 4:if(xs(e,s),(s&4194240)===s)break;for(t=e.eventTimes,n=-1;0<s;){var m=31-Vi(s);c=1<<m,m=t[m],m>n&&(n=m),s&=~c}if(s=n,s=Nt()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*lw(s/1960))-s,10<s){e.timeoutHandle=mc(Ws.bind(null,e,fi,as),s);break}Ws(e,fi,as);break;case 5:Ws(e,fi,as);break;default:throw Error(ce(329))}}}return vi(e,Nt()),e.callbackNode===i?hg.bind(null,e):null}function Oc(e,t){var i=xn;return e.current.memoizedState.isDehydrated&&(Ys(e,t).flags|=256),e=Ca(e,t),e!==2&&(t=fi,fi=i,t!==null&&Pc(t)),e}function Pc(e){fi===null?fi=e:fi.push.apply(fi,e)}function cw(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var s=0;s<i.length;s++){var n=i[s],c=n.getSnapshot;n=n.value;try{if(!Ki(c(),n))return!1}catch{return!1}}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xs(e,t){for(t&=~zu,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-Vi(t),s=1<<i;e[i]=-1,t&=~s}}function Gd(e){if(Xe&6)throw Error(ce(327));jr();var t=oa(e,0);if(!(t&1))return vi(e,Nt()),null;var i=Ca(e,t);if(e.tag!==0&&i===2){var s=ac(e);s!==0&&(t=s,i=Oc(e,s))}if(i===1)throw i=Vn,Ys(e,0),xs(e,t),vi(e,Nt()),i;if(i===6)throw Error(ce(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ws(e,fi,as),vi(e,Nt()),null}function Wu(e,t){var i=Xe;Xe|=1;try{return e(t)}finally{Xe=i,Xe===0&&(Gr=Nt()+500,Wa&&Hs())}}function tr(e){ks!==null&&ks.tag===0&&!(Xe&6)&&jr();var t=Xe;Xe|=1;var i=Ai.transition,s=nt;try{if(Ai.transition=null,nt=1,e)return e()}finally{nt=s,Ai.transition=i,Xe=t,!(Xe&6)&&Hs()}}function Vu(){Si=Rr.current,gt(Rr)}function Ys(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,F0(i)),Ot!==null)for(i=Ot.return;i!==null;){var s=i;switch(ku(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&ha();break;case 3:Wr(),gt(gi),gt(ti),Iu();break;case 5:Nu(s);break;case 4:Wr();break;case 13:gt(bt);break;case 19:gt(bt);break;case 10:Tu(s.type._context);break;case 22:case 23:Vu()}i=i.return}if(zt=e,Ot=e=Ns(e.current,null),Kt=Si=t,jt=0,Vn=null,zu=qa=er=0,fi=xn=null,Ks!==null){for(t=0;t<Ks.length;t++)if(i=Ks[t],s=i.interleaved,s!==null){i.interleaved=null;var n=s.next,c=i.pending;if(c!==null){var m=c.next;c.next=n,s.next=m}i.pending=s}Ks=null}return e}function dg(e,t){do{var i=Ot;try{if(Ru(),Go.current=ya,wa){for(var s=xt.memoizedState;s!==null;){var n=s.queue;n!==null&&(n.pending=null),s=s.next}wa=!1}if(Qs=0,$t=Bt=xt=null,Sn=!1,zn=0,$u.current=null,i===null||i.return===null){jt=1,Vn=t,Ot=null;break}e:{var c=e,m=i.return,r=i,o=t;if(t=Kt,r.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var f=o,v=r,h=v.tag;if(!(v.mode&1)&&(h===0||h===11||h===15)){var p=v.alternate;p?(v.updateQueue=p.updateQueue,v.memoizedState=p.memoizedState,v.lanes=p.lanes):(v.updateQueue=null,v.memoizedState=null)}var y=Nd(m);if(y!==null){y.flags&=-257,Id(y,m,r,c,t),y.mode&1&&Md(c,f,t),t=y,o=f;var S=t.updateQueue;if(S===null){var g=new Set;g.add(o),t.updateQueue=g}else S.add(o);break e}else{if(!(t&1)){Md(c,f,t),Gu();break e}o=Error(ce(426))}}else if(wt&&r.mode&1){var a=Nd(m);if(a!==null){!(a.flags&65536)&&(a.flags|=256),Id(a,m,r,c,t),Eu(Vr(o,r));break e}}c=o=Vr(o,r),jt!==4&&(jt=2),xn===null?xn=[c]:xn.push(c),c=m;do{switch(c.tag){case 3:c.flags|=65536,t&=-t,c.lanes|=t;var u=Ym(c,o,t);Ed(c,u);break e;case 1:r=o;var l=c.type,d=c.stateNode;if(!(c.flags&128)&&(typeof l.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(As===null||!As.has(d)))){c.flags|=65536,t&=-t,c.lanes|=t;var w=Xm(c,r,t);Ed(c,w);break e}}c=c.return}while(c!==null)}mg(i)}catch(k){t=k,Ot===i&&i!==null&&(Ot=i=i.return);continue}break}while(!0)}function fg(){var e=Sa.current;return Sa.current=ya,e===null?ya:e}function Gu(){(jt===0||jt===3||jt===2)&&(jt=4),zt===null||!(er&268435455)&&!(qa&268435455)||xs(zt,Kt)}function Ca(e,t){var i=Xe;Xe|=2;var s=fg();(zt!==e||Kt!==t)&&(as=null,Ys(e,t));do try{uw();break}catch(n){dg(e,n)}while(!0);if(Ru(),Xe=i,Sa.current=s,Ot!==null)throw Error(ce(261));return zt=null,Kt=0,jt}function uw(){for(;Ot!==null;)pg(Ot)}function hw(){for(;Ot!==null&&!Pv();)pg(Ot)}function pg(e){var t=_g(e.alternate,e,Si);e.memoizedProps=e.pendingProps,t===null?mg(e):Ot=t,$u.current=null}function mg(e){var t=e;do{var i=t.alternate;if(e=t.return,t.flags&32768){if(i=rw(i,t),i!==null){i.flags&=32767,Ot=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{jt=6,Ot=null;return}}else if(i=sw(i,t,Si),i!==null){Ot=i;return}if(t=t.sibling,t!==null){Ot=t;return}Ot=t=e}while(t!==null);jt===0&&(jt=5)}function Ws(e,t,i){var s=nt,n=Ai.transition;try{Ai.transition=null,nt=1,dw(e,t,i,s)}finally{Ai.transition=n,nt=s}return null}function dw(e,t,i,s){do jr();while(ks!==null);if(Xe&6)throw Error(ce(327));i=e.finishedWork;var n=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(ce(177));e.callbackNode=null,e.callbackPriority=0;var c=i.lanes|i.childLanes;if(Gv(e,c),e===zt&&(Ot=zt=null,Kt=0),!(i.subtreeFlags&2064)&&!(i.flags&2064)||Ro||(Ro=!0,vg(na,function(){return jr(),null})),c=(i.flags&15990)!==0,i.subtreeFlags&15990||c){c=Ai.transition,Ai.transition=null;var m=nt;nt=1;var r=Xe;Xe|=4,$u.current=null,ow(e,i),cg(i,e),M0(fc),aa=!!dc,fc=dc=null,e.current=i,aw(i),Bv(),Xe=r,nt=m,Ai.transition=c}else e.current=i;if(Ro&&(Ro=!1,ks=e,xa=n),c=e.pendingLanes,c===0&&(As=null),Hv(i.stateNode),vi(e,Nt()),t!==null)for(s=e.onRecoverableError,i=0;i<t.length;i++)n=t[i],s(n.value,{componentStack:n.stack,digest:n.digest});if(ba)throw ba=!1,e=Nc,Nc=null,e;return xa&1&&e.tag!==0&&jr(),c=e.pendingLanes,c&1?e===Ic?Cn++:(Cn=0,Ic=e):Cn=0,Hs(),null}function jr(){if(ks!==null){var e=Yp(xa),t=Ai.transition,i=nt;try{if(Ai.transition=null,nt=16>e?16:e,ks===null)var s=!1;else{if(e=ks,ks=null,xa=0,Xe&6)throw Error(ce(331));var n=Xe;for(Xe|=4,Ce=e.current;Ce!==null;){var c=Ce,m=c.child;if(Ce.flags&16){var r=c.deletions;if(r!==null){for(var o=0;o<r.length;o++){var f=r[o];for(Ce=f;Ce!==null;){var v=Ce;switch(v.tag){case 0:case 11:case 15:bn(8,v,c)}var h=v.child;if(h!==null)h.return=v,Ce=h;else for(;Ce!==null;){v=Ce;var p=v.sibling,y=v.return;if(og(v),v===f){Ce=null;break}if(p!==null){p.return=y,Ce=p;break}Ce=y}}}var S=c.alternate;if(S!==null){var g=S.child;if(g!==null){S.child=null;do{var a=g.sibling;g.sibling=null,g=a}while(g!==null)}}Ce=c}}if(c.subtreeFlags&2064&&m!==null)m.return=c,Ce=m;else e:for(;Ce!==null;){if(c=Ce,c.flags&2048)switch(c.tag){case 0:case 11:case 15:bn(9,c,c.return)}var u=c.sibling;if(u!==null){u.return=c.return,Ce=u;break e}Ce=c.return}}var l=e.current;for(Ce=l;Ce!==null;){m=Ce;var d=m.child;if(m.subtreeFlags&2064&&d!==null)d.return=m,Ce=d;else e:for(m=l;Ce!==null;){if(r=Ce,r.flags&2048)try{switch(r.tag){case 0:case 11:case 15:Ka(9,r)}}catch(k){Rt(r,r.return,k)}if(r===m){Ce=null;break e}var w=r.sibling;if(w!==null){w.return=r.return,Ce=w;break e}Ce=r.return}}if(Xe=n,Hs(),ns&&typeof ns.onPostCommitFiberRoot=="function")try{ns.onPostCommitFiberRoot(Fa,e)}catch{}s=!0}return s}finally{nt=i,Ai.transition=t}}return!1}function Kd(e,t,i){t=Vr(i,t),t=Ym(e,t,1),e=Ds(e,t,1),t=oi(),e!==null&&(Zn(e,1,t),vi(e,t))}function Rt(e,t,i){if(e.tag===3)Kd(e,e,i);else for(;t!==null;){if(t.tag===3){Kd(t,e,i);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(As===null||!As.has(s))){e=Vr(i,e),e=Xm(t,e,1),t=Ds(t,e,1),e=oi(),t!==null&&(Zn(t,1,e),vi(t,e));break}}t=t.return}}function fw(e,t,i){var s=e.pingCache;s!==null&&s.delete(t),t=oi(),e.pingedLanes|=e.suspendedLanes&i,zt===e&&(Kt&i)===i&&(jt===4||jt===3&&(Kt&130023424)===Kt&&500>Nt()-Uu?Ys(e,0):zu|=i),vi(e,t)}function gg(e,t){t===0&&(e.mode&1?(t=vo,vo<<=1,!(vo&130023424)&&(vo=4194304)):t=1);var i=oi();e=ms(e,t),e!==null&&(Zn(e,t,i),vi(e,i))}function pw(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),gg(e,i)}function mw(e,t){var i=0;switch(e.tag){case 13:var s=e.stateNode,n=e.memoizedState;n!==null&&(i=n.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(ce(314))}s!==null&&s.delete(t),gg(e,i)}var _g;_g=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||gi.current)mi=!0;else{if(!(e.lanes&i)&&!(t.flags&128))return mi=!1,iw(e,t,i);mi=!!(e.flags&131072)}else mi=!1,wt&&t.flags&1048576&&Sm(t,pa,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;qo(e,t),e=t.pendingProps;var n=$r(t,ti.current);Br(t,i),n=Pu(null,t,s,e,n,i);var c=Bu();return t.flags|=1,typeof n=="object"&&n!==null&&typeof n.render=="function"&&n.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_i(s)?(c=!0,da(t)):c=!1,t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,Au(t),n.updater=Ga,t.stateNode=n,n._reactInternals=t,bc(t,s,e,i),t=kc(null,t,s,!0,c,i)):(t.tag=0,wt&&c&&Cu(t),ni(null,t,n,i),t=t.child),t;case 16:s=t.elementType;e:{switch(qo(e,t),e=t.pendingProps,n=s._init,s=n(s._payload),t.type=s,n=t.tag=_w(s),e=zi(s,e),n){case 0:t=Cc(null,t,s,e,i);break e;case 1:t=Bd(null,t,s,e,i);break e;case 11:t=Od(null,t,s,e,i);break e;case 14:t=Pd(null,t,s,zi(s.type,e),i);break e}throw Error(ce(306,s,""))}return t;case 0:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Cc(e,t,s,n,i);case 1:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Bd(e,t,s,n,i);case 3:e:{if(eg(t),e===null)throw Error(ce(387));s=t.pendingProps,c=t.memoizedState,n=c.element,Lm(e,t),_a(t,s,null,i);var m=t.memoizedState;if(s=m.element,c.isDehydrated)if(c={element:s,isDehydrated:!1,cache:m.cache,pendingSuspenseBoundaries:m.pendingSuspenseBoundaries,transitions:m.transitions},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){n=Vr(Error(ce(423)),t),t=jd(e,t,s,i,n);break e}else if(s!==n){n=Vr(Error(ce(424)),t),t=jd(e,t,s,i,n);break e}else for(xi=Ts(t.stateNode.containerInfo.firstChild),Ci=t,wt=!0,Wi=null,i=km(t,null,s,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(zr(),s===n){t=gs(e,t,i);break e}ni(e,t,s,i)}t=t.child}return t;case 5:return Rm(t),e===null&&wc(t),s=t.type,n=t.pendingProps,c=e!==null?e.memoizedProps:null,m=n.children,pc(s,n)?m=null:c!==null&&pc(s,c)&&(t.flags|=32),Qm(e,t),ni(e,t,m,i),t.child;case 6:return e===null&&wc(t),null;case 13:return tg(e,t,i);case 4:return Mu(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Ur(t,null,s,i):ni(e,t,s,i),t.child;case 11:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Od(e,t,s,n,i);case 7:return ni(e,t,t.pendingProps,i),t.child;case 8:return ni(e,t,t.pendingProps.children,i),t.child;case 12:return ni(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(s=t.type._context,n=t.pendingProps,c=t.memoizedProps,m=n.value,ht(ma,s._currentValue),s._currentValue=m,c!==null)if(Ki(c.value,m)){if(c.children===n.children&&!gi.current){t=gs(e,t,i);break e}}else for(c=t.child,c!==null&&(c.return=t);c!==null;){var r=c.dependencies;if(r!==null){m=c.child;for(var o=r.firstContext;o!==null;){if(o.context===s){if(c.tag===1){o=hs(-1,i&-i),o.tag=2;var f=c.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?o.next=o:(o.next=v.next,v.next=o),f.pending=o}}c.lanes|=i,o=c.alternate,o!==null&&(o.lanes|=i),yc(c.return,i,t),r.lanes|=i;break}o=o.next}}else if(c.tag===10)m=c.type===t.type?null:c.child;else if(c.tag===18){if(m=c.return,m===null)throw Error(ce(341));m.lanes|=i,r=m.alternate,r!==null&&(r.lanes|=i),yc(m,i,t),m=c.sibling}else m=c.child;if(m!==null)m.return=c;else for(m=c;m!==null;){if(m===t){m=null;break}if(c=m.sibling,c!==null){c.return=m.return,m=c;break}m=m.return}c=m}ni(e,t,n.children,i),t=t.child}return t;case 9:return n=t.type,s=t.pendingProps.children,Br(t,i),n=Mi(n),s=s(n),t.flags|=1,ni(e,t,s,i),t.child;case 14:return s=t.type,n=zi(s,t.pendingProps),n=zi(s.type,n),Pd(e,t,s,n,i);case 15:return Jm(e,t,t.type,t.pendingProps,i);case 17:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),qo(e,t),t.tag=1,_i(s)?(e=!0,da(t)):e=!1,Br(t,i),qm(t,s,n),bc(t,s,n,i),kc(null,t,s,!0,e,i);case 19:return ig(e,t,i);case 22:return Zm(e,t,i)}throw Error(ce(156,t.tag))};function vg(e,t){return Vp(e,t)}function gw(e,t,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Di(e,t,i,s){return new gw(e,t,i,s)}function Ku(e){return e=e.prototype,!(!e||!e.isReactComponent)}function _w(e){if(typeof e=="function")return Ku(e)?1:0;if(e!=null){if(e=e.$$typeof,e===du)return 11;if(e===fu)return 14}return 2}function Ns(e,t){var i=e.alternate;return i===null?(i=Di(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Jo(e,t,i,s,n,c){var m=2;if(s=e,typeof e=="function")Ku(e)&&(m=1);else if(typeof e=="string")m=5;else e:switch(e){case vr:return Xs(i.children,n,c,t);case hu:m=8,n|=8;break;case Gl:return e=Di(12,i,t,n|2),e.elementType=Gl,e.lanes=c,e;case Kl:return e=Di(13,i,t,n),e.elementType=Kl,e.lanes=c,e;case ql:return e=Di(19,i,t,n),e.elementType=ql,e.lanes=c,e;case Rp:return Ya(i,n,c,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ep:m=10;break e;case Lp:m=9;break e;case du:m=11;break e;case fu:m=14;break e;case ys:m=16,s=null;break e}throw Error(ce(130,e==null?e:typeof e,""))}return t=Di(m,i,t,n),t.elementType=e,t.type=s,t.lanes=c,t}function Xs(e,t,i,s){return e=Di(7,e,s,t),e.lanes=i,e}function Ya(e,t,i,s){return e=Di(22,e,s,t),e.elementType=Rp,e.lanes=i,e.stateNode={isHidden:!1},e}function Dl(e,t,i){return e=Di(6,e,null,t),e.lanes=i,e}function Al(e,t,i){return t=Di(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vw(e,t,i,s,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=hl(0),this.expirationTimes=hl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=hl(0),this.identifierPrefix=s,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function qu(e,t,i,s,n,c,m,r,o){return e=new vw(e,t,i,r,o),t===1?(t=1,c===!0&&(t|=8)):t=0,c=Di(3,null,null,t),e.current=c,c.stateNode=e,c.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Au(c),e}function ww(e,t,i){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:_r,key:s==null?null:""+s,children:e,containerInfo:t,implementation:i}}function wg(e){if(!e)return Os;e=e._reactInternals;e:{if(lr(e)!==e||e.tag!==1)throw Error(ce(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(_i(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(ce(171))}if(e.tag===1){var i=e.type;if(_i(i))return wm(e,i,t)}return t}function yg(e,t,i,s,n,c,m,r,o){return e=qu(i,s,!0,e,n,c,m,r,o),e.context=wg(null),i=e.current,s=oi(),n=Ms(i),c=hs(s,n),c.callback=t??null,Ds(i,c,n),e.current.lanes=n,Zn(e,n,s),vi(e,s),e}function Xa(e,t,i,s){var n=t.current,c=oi(),m=Ms(n);return i=wg(i),t.context===null?t.context=i:t.pendingContext=i,t=hs(c,m),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=Ds(n,t,m),e!==null&&(Gi(e,n,m,c),Vo(e,n,m)),m}function ka(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function qd(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function Yu(e,t){qd(e,t),(e=e.alternate)&&qd(e,t)}function yw(){return null}var Sg=typeof reportError=="function"?reportError:function(e){console.error(e)};function Xu(e){this._internalRoot=e}Ja.prototype.render=Xu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(ce(409));Xa(e,t,null,null)};Ja.prototype.unmount=Xu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;tr(function(){Xa(null,e,null,null)}),t[ps]=null}};function Ja(e){this._internalRoot=e}Ja.prototype.unstable_scheduleHydration=function(e){if(e){var t=Zp();e={blockedOn:null,target:e,priority:t};for(var i=0;i<bs.length&&t!==0&&t<bs[i].priority;i++);bs.splice(i,0,e),i===0&&em(e)}};function Ju(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Za(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Yd(){}function Sw(e,t,i,s,n){if(n){if(typeof s=="function"){var c=s;s=function(){var f=ka(m);c.call(f)}}var m=yg(t,s,e,0,null,!1,!1,"",Yd);return e._reactRootContainer=m,e[ps]=m.current,Bn(e.nodeType===8?e.parentNode:e),tr(),m}for(;n=e.lastChild;)e.removeChild(n);if(typeof s=="function"){var r=s;s=function(){var f=ka(o);r.call(f)}}var o=qu(e,0,!1,null,null,!1,!1,"",Yd);return e._reactRootContainer=o,e[ps]=o.current,Bn(e.nodeType===8?e.parentNode:e),tr(function(){Xa(t,o,i,s)}),o}function Qa(e,t,i,s,n){var c=i._reactRootContainer;if(c){var m=c;if(typeof n=="function"){var r=n;n=function(){var o=ka(m);r.call(o)}}Xa(t,m,e,n)}else m=Sw(i,t,e,n,s);return ka(m)}Xp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=fn(t.pendingLanes);i!==0&&(gu(t,i|1),vi(t,Nt()),!(Xe&6)&&(Gr=Nt()+500,Hs()))}break;case 13:tr(function(){var s=ms(e,1);if(s!==null){var n=oi();Gi(s,e,1,n)}}),Yu(e,1)}};_u=function(e){if(e.tag===13){var t=ms(e,134217728);if(t!==null){var i=oi();Gi(t,e,134217728,i)}Yu(e,134217728)}};Jp=function(e){if(e.tag===13){var t=Ms(e),i=ms(e,t);if(i!==null){var s=oi();Gi(i,e,t,s)}Yu(e,t)}};Zp=function(){return nt};Qp=function(e,t){var i=nt;try{return nt=e,t()}finally{nt=i}};rc=function(e,t,i){switch(t){case"input":if(Jl(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var s=i[t];if(s!==e&&s.form===e.form){var n=Ua(s);if(!n)throw Error(ce(90));Dp(s),Jl(s,n)}}}break;case"textarea":Mp(e,i);break;case"select":t=i.value,t!=null&&Nr(e,!!i.multiple,t,!1)}};Fp=Wu;Hp=tr;var bw={usingClientEntryPoint:!1,Events:[eo,br,Ua,Bp,jp,Wu]},rn={findFiberByHostInstance:Gs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},xw={bundleType:rn.bundleType,version:rn.version,rendererPackageName:rn.rendererPackageName,rendererConfig:rn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:vs.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Up(e),e===null?null:e.stateNode},findFiberByHostInstance:rn.findFiberByHostInstance||yw,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 To=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!To.isDisabled&&To.supportsFiber)try{Fa=To.inject(xw),ns=To}catch{}}Ei.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=bw;Ei.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ju(t))throw Error(ce(200));return ww(e,t,null,i)};Ei.createRoot=function(e,t){if(!Ju(e))throw Error(ce(299));var i=!1,s="",n=Sg;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(n=t.onRecoverableError)),t=qu(e,1,!1,null,null,i,!1,s,n),e[ps]=t.current,Bn(e.nodeType===8?e.parentNode:e),new Xu(t)};Ei.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(ce(188)):(e=Object.keys(e).join(","),Error(ce(268,e)));return e=Up(t),e=e===null?null:e.stateNode,e};Ei.flushSync=function(e){return tr(e)};Ei.hydrate=function(e,t,i){if(!Za(t))throw Error(ce(200));return Qa(null,e,t,!0,i)};Ei.hydrateRoot=function(e,t,i){if(!Ju(e))throw Error(ce(405));var s=i!=null&&i.hydratedSources||null,n=!1,c="",m=Sg;if(i!=null&&(i.unstable_strictMode===!0&&(n=!0),i.identifierPrefix!==void 0&&(c=i.identifierPrefix),i.onRecoverableError!==void 0&&(m=i.onRecoverableError)),t=yg(t,null,e,1,i??null,n,!1,c,m),e[ps]=t.current,Bn(e),s)for(e=0;e<s.length;e++)i=s[e],n=i._getVersion,n=n(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,n]:t.mutableSourceEagerHydrationData.push(i,n);return new Ja(t)};Ei.render=function(e,t,i){if(!Za(t))throw Error(ce(200));return Qa(null,e,t,!1,i)};Ei.unmountComponentAtNode=function(e){if(!Za(e))throw Error(ce(40));return e._reactRootContainer?(tr(function(){Qa(null,null,e,!1,function(){e._reactRootContainer=null,e[ps]=null})}),!0):!1};Ei.unstable_batchedUpdates=Wu;Ei.unstable_renderSubtreeIntoContainer=function(e,t,i,s){if(!Za(i))throw Error(ce(200));if(e==null||e._reactInternals===void 0)throw Error(ce(38));return Qa(e,t,i,!1,s)};Ei.version="18.3.1-next-f1338f8080-20240426";function bg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(bg)}catch(e){console.error(e)}}bg(),bp.exports=Ei;var io=bp.exports,xg,Xd=io;xg=Xd.createRoot,Xd.hydrateRoot;const Cg={"common.save":"Save","common.cancel":"Cancel","common.confirm":"Confirm","common.ok":"OK","common.close":"Close","common.delete":"Delete","common.copy":"Copy","common.rename":"Rename","common.create":"Create","common.back":"Back","common.open":"Open","common.loading":"Loading…","common.done":"Done","token.title":"Access token required","token.placeholder":"Paste HANDMUX_TOKEN","settings.language":"Language","home.empty":"No files opened yet","home.emptyHint":'Switch to "New" to pick one',"home.remove":"Remove","drawer.empty":"No sessions bound yet","drawer.unbind":"Unbind","drawer.bind":"Bind session","drawer.logout":"Log out","windowbar.newWindow":"New window","rename.new_name":"New name","rename.name_placeholder":"Short name","rename.name_rule":"Letters, digits, hyphens only (≤16)","rename.failed":"Rename failed, please retry","rename.saving":"Saving…","newwindow.title":"New window","newwindow.window_name":"Window name (optional)","newwindow.name_placeholder":"Leave blank to auto-name","newwindow.name_rule":"Letters, digits, hyphens only (≤16)","newwindow.start_dir":"Start directory","newwindow.session_dir_named":"{dir} (session dir)","newwindow.session_dir_default":"Session dir (default)","newwindow.choose":"Choose","newwindow.reset_to_session_dir":"Reset to session dir","newwindow.creating":"Creating…","startup.label":"Startup command (optional)","startup.aria":"Startup command","startup.preset_shell":"Plain shell (default)","startup.preset_claude":"claude (launch Claude Code)","startup.preset_claude_continue":"claude -c (resume last session)","startup.preset_codex":"codex (launch Codex CLI)","startup.custom":"Custom…","startup.custom_placeholder":'e.g. claude "fix login bug"',"bind.title":"Bind session","bind.sessionName":"Session name","bind.namePlaceholder":"New session name","bind.pickSession":"Choose a session to bind","bind.newSession":"+ New session","bind.alreadyExists":"Session already exists","bind.bind":"Bind","bind.checking":"Checking…","bind.createAndOpen":"Create & open","bind.creating":"Creating…","bind.createHint":`Session "{name}" doesn't exist — tap "Create & open" to create it`,"bind.alreadyBound":"Session already bound","bind.createFailed":"Create failed, please retry","bind.invalidName":"Only letters, digits, hyphens (≤16)","bind.desktopHint":"On the computer, one command takes any session here back over: handmux open <name>","bind.checkFailed":"Check failed, please retry","bind.startDir":"Start directory","bind.homeDirDefault":"Home directory (default)","bind.choose":"Choose","bind.reset":"Reset","actionsheet.confirmAgain":"Confirm? Tap again","dirpicker.title":"Choose directory","inbox.title":"Inbox","inbox.working":"Working","inbox.done":"Done","inbox.needs":"Needs you","inbox.clearDone":"Clear done","inbox.empty":"No pane status yet","inbox.enableTitle":"Turn on AI session notifications","inbox.enableHint":"Tag every Claude / Codex pane working / waiting on you / done, and get pinged when one needs you.","inbox.enableBtn":"Enable","inbox.enabling":"Enabling…","inbox.enableFailed":"Could not enable — check the server logs.","drawer.orphans.title":"{n} not taken over","drawer.orphans.hint":"Take over to control remotely","inbox.orphans.takeover":"Take over","inbox.orphans.noSession":"no resumable history","inbox.orphans.busy":"busy","inbox.orphans.idle":"idle","inbox.orphans.working":"Taking over…","inbox.orphans.failed":"Takeover failed","inbox.orphans.targetLabel":"Take over into","inbox.orphans.targetNew":"New session","inbox.orphans.killTitle":"The original process","inbox.orphans.killEnd":"End it","inbox.orphans.killKeep":"Keep it","inbox.orphans.recommended":"Recommended","inbox.orphans.killWhy":"If the same session is written from both your computer and your phone, its history gets scrambled. Ending the original lets this device own it cleanly.","inbox.orphans.reopen":"Want to continue on the computer instead? Run tmux attach -t <session> in a terminal (the session name is in your list on the left).","idea.title":"Ideas","idea.editPlaceholder":"Edit idea…","idea.addPlaceholder":"Jot an idea…","idea.add":"Add","idea.empty":"No ideas yet — jot one down","idea.dragSort":"Drag to reorder","idea.fillInput":"Fill into input","idea.send":"Send","doclink.title":"Open file","changelog.title":"What's new","preview.dynamic":"Dynamic preview","preview.static":"Static preview","preview.remainTitle":"Time left — tap to renew / stop","preview.toPcView":"Switch to desktop view","preview.toMobileView":"Switch to mobile view","preview.pcView":"Desktop view","preview.mobileView":"Mobile view","preview.refresh":"Refresh","preview.minimize":"Minimize","preview.ttlDialog":"Preview lifetime","preview.renew":"Renew (reset to 1 hour)","preview.stop":"Stop preview","preview.iframeTitle":"Preview","preview.zoomOut":"Zoom out","preview.zoomIn":"Zoom in","imageviewer.loadFailed":"Failed to load image","imageviewer.saved":"Saved — find it in your album/gallery or Downloads","imageviewer.shareUnsupported":"Image sharing requires Chrome or Safari","imageviewer.zoomOut":"Zoom out","imageviewer.zoomIn":"Zoom in","imageviewer.imageTitle":"Image","imageviewer.saveImage":"Save image","imageviewer.shareImage":"Share image","mic.stop":"Stop voice input","mic.start":"Voice input","dock.send":"Send","dock.send.hint":"Tap to send · hold to insert","dock.phrases":"Phrases","dock.attach":"Upload","dock.history":"History","dock.kbdShow":"Keyboard","dock.kbdHide":"Hide keyboard","history.empty":"No history yet","history.scope":"This window only","dock.input.placeholder":"Say something…","dock.command.placeholder":"Type a command · Enter runs it","dock.mode.agent":"Chat","dock.mode.toggle":"Switch input mode","dock.mode.command":"Command","dock.mode.chat":"Chat","fav.title":"Favorites","fav.add":"Add","fav.addPlaceholder":"Add a favorite…","cmd.editTitle":"Saved commands","cmd.global":"GLOBAL","cmd.window":"THIS WINDOW","cmd.withEnter":"Send directly","cmd.addPlaceholder":"Add a command…","cmd.tabCmd":"Command","cmd.tabKey":"Key","cmd.addTo":"Add to","cmd.addTitle":"Add","cmd.editItem":"Edit","cmd.sticky":"Modifier","cmd.stickyNone":"None","cmd.baseKey":"Key","cmd.pickKey":"Pick a key","cmd.moveUp":"Move up","cmd.moveDown":"Move down","cmd.empty":"None yet","chat.editTitle":"Saved messages","chat.favs":"Saved","chat.tabMsg":"Message","chat.addPlaceholder":"Message / slash-command…","dock.upload.aria":"Upload file","dock.upload.title":"Upload file (saved to home upload area, not the project)","dock.upload.progress":"Uploading {name}{tag}","dock.upload.failed":"Upload failed: {names}","dock.upload.rejected":"Unsupported file type: {names}","app.nameExists":"That name already exists","app.renameFailed":"Rename failed, please retry","app.deleteFailed":"Delete failed, please retry","app.moveFailed":"Move failed, please retry","app.sessionGone":'Session "{name}" not found, it may have closed',"app.docNotFound":"File not found","app.docTooLarge":"File too large (over 2MB)","app.docUnsupported":"Unsupported file or path","app.docOpenFailed":"Open failed, please retry","app.preview":"Preview","app.openPreview":"Open preview","app.ideas":"Ideas","app.files":"Files","app.settings":"Settings","usage.title":"Usage","usage.win5h":"5-hour","usage.winWeekly":"Weekly","usage.winMonthly":"Monthly","usage.winGeneric":"{h}h window","usage.winPrimary":"Limit","usage.winSecondary":"Secondary","usage.resetIn":"resets in {t}","usage.resetSoon":"resetting…","usage.claudeOff":"Not wired yet — Claude's 5h/weekly usage needs the handmux statusLine:","usage.claudePending":"No data yet — send a message in a Claude session, then reopen.","usage.codexOff":"Codex not detected on this machine.","usage.codexNoQuota":"No quota data in the latest session yet.","usage.loadFailed":"Failed to load usage.","usage.updatedNow":"updated just now","usage.updatedMin":"updated {n}m ago","usage.updatedHr":"updated {n}h ago","usage.updatedDay":"updated {n}d ago","usage.activityNote":"Updates on new messages","usage.timeMark":"Time elapsed in this window","app.renameSession":"Rename session","app.renameWindow":"Rename window","app.moveLeft":"◀ Move left","app.moveRight":"Move right ▶","app.deleteWindow":"Delete window","app.deleteLastWindowConfirm":"This is the last window; deleting it closes the whole session! Tap again","app.deleteConfirm":"Delete? Tap again","app.cannotLocate":"Cannot locate","app.pickItsDir":", pick the directory it lives in:","app.noBoundSession":"No bound session yet","app.tapToBind":"Tap here to bind one","app.selectSessionHint":"Tap ☰ at the top-left to pick a session","settings.title":"Settings","settings.group_global":"Global settings","settings.font_size":"Font size","settings.font_decrease":"Decrease font size","settings.font_increase":"Increase font size","settings.font_auto":"Auto","settings.font_auto_title":"Auto-fit to height","settings.whats_new":"What's new","settings.view_changelog":"View changelog","settings.has_update":"Has update","settings.version":"Version","settings.feedback":"Feedback","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat group","settings.feedback_hint":"Bugs and ideas welcome — issues are tracked and answered.","settings.update_available":"Version {v} available","settings.update_how":"On your computer, run","settings.push_notifications":"Push notifications","settings.notify_on":"Enabled ✓","settings.notify_enable":"Enable device notifications","settings.notify_enabled":"Enabled, you should receive a welcome notification","settings.notify_disabled":"Disabled","settings.notify_failed":"Operation failed","settings.processing":"Processing","settings.push_hint":'Listens for "Needs you" and "Done": when a watched session needs your authorization/answer, or a turn just finished, a push is sent to this device.',"settings.push_unsupported":"Push requires Chrome or Safari","settings.group_session":"Current session settings","settings.screen_cols":"Screen columns","settings.cols_dec":"Fewer","settings.cols_dec_title":"Fewer columns","settings.cols_inc":"More","settings.cols_inc_title":"More columns","settings.cols_restore":"Default","settings.cols_restore_title":"Restore default window size","settings.preview_site":"Preview site","settings.preview_static_site":"Preview static site","settings.preview_running_dynamic":"Dynamic preview running","settings.preview_running_static":"Static preview running","settings.preview_remain_title":"Time remaining","settings.preview_remain":"{time} left","settings.preview_renew":"Renew","settings.preview_confirm_stop":"Confirm stop","settings.preview_stop":"Stop","settings.preview_name":"Name: {name}","settings.preview_port":"(port :{port})","settings.preview_type":"Preview type","settings.preview_off":"Off","settings.preview_static":"Static","settings.preview_dynamic":"Dynamic","settings.preview_off_hint":'Preview is off. Choose "Static" to start.',"settings.preview_off_hint_both":'Preview is off. Choose "Static" or "Dynamic" to start.',"settings.preview_dynamic_disabled":"Dynamic port preview is off. To turn it on, point a wildcard preview domain (previewDomain, e.g. *.example.com) at the gateway with a matching TLS cert. See the README for the Cloudflare vs self-hosted specifics.","settings.preview_pick_dir":"Pick directory & start","settings.preview_static_hint":"Pick a directory containing index.html to preview on your phone.","settings.preview_port_placeholder":"Port, e.g. 3000","settings.preview_port_label":"Port","settings.preview_starting":"Starting…","settings.preview_start":"Start","settings.preview_dynamic_hint":"Enter a port running on this machine (dev server / backend); your phone accesses it directly via a subdomain.","settings.dir_picker_hint":"Pick the static site directory to preview (containing index.html)","settings.err_port_not_listening":"That port is not listening; make sure the service is running","settings.err_bad_port":"Invalid port (1–65535)","settings.err_dynamic_disabled":"Dynamic preview is not enabled","settings.err_start_failed":"Failed to start","filebrowser.openDirFailed":"Cannot open this directory","filebrowser.copiedPath":"Path copied: {abs}","filebrowser.mkdirFailed":"Failed to create folder (invalid name or already exists)","filebrowser.downloading":"Downloading {name}","filebrowser.downloadFailed":"Download failed","filebrowser.uploading":"Uploading {name}{tag}","filebrowser.uploadFailed":"Upload failed","filebrowser.uploadPartialFailed":"These files failed to upload: {names}","filebrowser.uploadRejected":"Unsupported file type: {names}","filebrowser.sessionDir":"Session directory","filebrowser.jumpToSessionDir":"Jump to current session directory","filebrowser.parentDir":"Parent directory","filebrowser.rootSelect":"Switch root (home / temp dirs)","filebrowser.pathPlaceholder":"Enter path (live filter / jump)","filebrowser.newFolder":"New folder","filebrowser.createBtn":"Create","filebrowser.uploadFile":"Upload file","filebrowser.uploadToCurrentDir":"Upload to current directory","filebrowser.enterSubdirToUpload":"Enter a subdirectory to upload","filebrowser.folderNamePlaceholder":"Folder name","filebrowser.uploadPendingTo":"Upload “{name}” to the current directory","filebrowser.enterSubdirFirst":"(enter a subdirectory first)","filebrowser.upload":"Upload","filebrowser.savedToDownloads":"Saved “{name}” to the Downloads folder; view it in the system file manager","filebrowser.noMatches":"No matching files or directories","filebrowser.tooMany":"Showing the first {shown} of {total} — type in the path box to filter","filebrowser.previewUnsupported":"Preview not supported for this file type; tap the button on the right to download","filebrowser.copyAbsPath":"Copy absolute path","filebrowser.download":"Download","filebrowser.pickThisDir":"Select this directory {path}","filebrowser.downloadConfirm":"Download {name}?","filemanager.files":"Files","filemanager.closeTab":"Close tab","filemanager.minimize":"Minimize","filemanager.recent":"Recent","filemanager.directory":"Directory","git.errReadRepo":"Cannot read repository","git.errLoad":"Load failed","git.noRepoInDir":"No git repository here yet — pick another directory, or run git init in this one.","git.outsideRoots":"This folder is outside the area handmux can open — only your home directory and /tmp are reachable. Move the repo under your home directory to browse it here.","git.errReadDir":"Cannot read this directory","git.commitDetail":"Commit details","git.diff":"Diff","git.bindRepo":"Bind repository","git.collapse":"Collapse","git.currentBranch":"Current branch","git.switchViewedBranch":"Switch viewed branch","git.switchBranch":"Switch branch","git.noBranches":"No branches","git.noRepoBound":'No repository bound — tap "+" at the top left to choose a directory.',"git.changes":"Changes","git.commits":"Commits","git.pullToLoadMore":"Pull to load more","git.pickerHint":"Choose a directory to auto-discover git repositories inside it","git.cleanTree":"Working tree clean","git.noCommits":"No commits","git.noDiff":"No diff","git.fontSmaller":"Decrease font size","git.fontLarger":"Increase font size","git.diffTruncated":"Diff too large, truncated","cmd.panel":"Command panel","cmd.title":"Commands","cmd.empty":"No commands yet — send one or save a favorite","cmd.favorites":"Favorites","cmd.scopeGlobal":"Global · all sessions","cmd.recent":"Recent","cmd.scopeSession":"This session only","cmd.favorite":"Favorite","cmd.unfavorite":"Unfavorite","doc.home":"Recent","doc.read":"Read aloud","doc.pauseRead":"Pause reading","doc.resumeRead":"Resume reading","doc.stopRead":"Stop reading","doc.rate":"Speed","doc.fontSmaller":"Smaller font","doc.fontLarger":"Larger font","inbox.view.working":"Running","inbox.view.done":"Completed","inbox.view.needs":"Needs you","push.unsupported":"Push notifications require Chrome or Safari","push.iosAddToHome":'On iOS, first "Add to Home Screen", then open from the home-screen icon to enable',"a2hs.title":"Add handmux to your Home Screen","a2hs.lead":"Open it like an app — full-screen, no address bar. On iPhone it’s also how push reaches you the moment a pane needs you.","a2hs.install":"Install handmux","a2hs.ios1":"Tap the Share button (the ⬆︎ box) in Safari.","a2hs.ios2":"Tap “More”, or scroll down the list.","a2hs.ios3":"Choose “Add to Home Screen”, then “Add”.","a2hs.iosHint":"In Safari: Share → More → Add to Home Screen.","a2hs.iosOpenSafari":"You’re not in Safari. Open this page in Safari, then add it to your Home Screen — other iOS browsers can’t install it.","a2hs.androidManual":"Open your browser menu (⋮) and choose “Add to Home screen” or “Install app”.","a2hs.later":"Maybe later","push.permissionDenied":"Notification permission denied","push.noVapid":"Push is not configured on the server (VAPID)","push.subscribeFailed":"Failed to report subscription","push.sendFailed":"Send failed","api.loadFailed":"Load failed","api.uploadFailed":"Upload failed","upload.title":"Uploading","upload.processing":"Sent — receiving on the server…","api.uploadBadDir":"Cannot upload to this directory","api.uploadDuplicate":"A file with this name already exists","api.uploadTooLarge":"File too large (50MB limit)","api.uploadBadType":"Unsupported file type","time.secAgo":"{n}s ago","time.minAgo":"{n}m ago","time.hourAgo":"{n}h ago","time.dayAgo":"{n}d ago","time.expired":"Expired","time.minutes":"{n} min"},Cw={"common.save":"保存","common.cancel":"取消","common.confirm":"确认","common.ok":"确定","common.close":"关闭","common.delete":"删除","common.copy":"复制","common.rename":"重命名","common.create":"新建","common.back":"返回","common.open":"打开","common.loading":"加载中…","common.done":"完成","token.title":"需要访问 token","token.placeholder":"粘贴 HANDMUX_TOKEN","settings.language":"语言 Language","home.empty":"还没有打开过文件","home.emptyHint":"切到「新增」去挑一个","home.remove":"移除","drawer.empty":"还没有绑定会话","drawer.unbind":"解绑","drawer.bind":"绑定会话","drawer.logout":"退出登录","windowbar.newWindow":"新建窗口","rename.new_name":"新名称","rename.name_placeholder":"名字缩写","rename.name_rule":"只能用字母、数字、横线(≤16)","rename.failed":"重命名失败,请重试","rename.saving":"保存中…","newwindow.title":"新建窗口","newwindow.window_name":"窗口名称(可选)","newwindow.name_placeholder":"留空自动命名","newwindow.name_rule":"只能用字母、数字、横线(≤16)","newwindow.start_dir":"起始目录","newwindow.session_dir_named":"{dir}(会话目录)","newwindow.session_dir_default":"会话目录(默认)","newwindow.choose":"选择","newwindow.reset_to_session_dir":"重置为会话目录","newwindow.creating":"新建中…","startup.label":"启动命令(可选)","startup.aria":"启动命令","startup.preset_shell":"空 shell(默认)","startup.preset_claude":"claude(启动 Claude Code)","startup.preset_claude_continue":"claude -c(接着上次会话)","startup.preset_codex":"codex(启动 Codex CLI)","startup.custom":"自定义…","startup.custom_placeholder":'例如 claude "修复登录bug"',"bind.title":"绑定会话","bind.sessionName":"会话名称","bind.namePlaceholder":"新会话名","bind.pickSession":"选择要绑定的会话","bind.newSession":"+ 新建会话","bind.alreadyExists":"该会话已存在","bind.bind":"绑定","bind.checking":"校验中…","bind.createAndOpen":"新建并打开","bind.creating":"新建中…","bind.createHint":"会话「{name}」不存在,点「新建并打开」创建","bind.alreadyBound":"已绑定该会话","bind.createFailed":"新建失败,请重试","bind.invalidName":"只能用字母、数字、横线(≤16)","bind.desktopHint":"这里的会话(包括手机新建的),电脑上一条命令即可接管:handmux open <会话名>","bind.checkFailed":"校验失败,请重试","bind.startDir":"起始目录","bind.homeDirDefault":"主目录(默认)","bind.choose":"选择","bind.reset":"重置","actionsheet.confirmAgain":"确认?再点一次","dirpicker.title":"选择目录","inbox.title":"收件箱","inbox.working":"进行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"暂无面板状态","inbox.enableTitle":"开启 AI 会话通知","inbox.enableHint":"把每个 Claude / Codex 面板标记为进行中 / 需要你 / 已完成,需要你时还会推送提醒。","inbox.enableBtn":"开启","inbox.enabling":"开启中…","inbox.enableFailed":"开启失败 —— 看看服务端日志。","drawer.orphans.title":"{n} 个未接管会话","drawer.orphans.hint":"接管即可远程操控","inbox.orphans.takeover":"接管","inbox.orphans.noSession":"无可续接的历史","inbox.orphans.busy":"运行中","inbox.orphans.idle":"空闲","inbox.orphans.working":"接管中…","inbox.orphans.failed":"接管失败","inbox.orphans.targetLabel":"接管到","inbox.orphans.targetNew":"新建会话","inbox.orphans.killTitle":"接管后原来的进程","inbox.orphans.killEnd":"结束","inbox.orphans.killKeep":"保留","inbox.orphans.recommended":"推荐","inbox.orphans.killWhy":"同一个会话如果电脑和手机同时在写,历史记录会错乱。结束原进程后由手机这边独占,更稳妥。","inbox.orphans.reopen":"想回电脑上继续?在电脑终端运行 tmux attach -t 会话名 即可(会话名见左侧会话列表)。","idea.title":"想法","idea.editPlaceholder":"编辑想法…","idea.addPlaceholder":"记一条想法…","idea.add":"添加","idea.empty":"还没有想法,记一条吧","idea.dragSort":"拖动排序","idea.fillInput":"填入输入框","idea.send":"发送","doclink.title":"打开文件","changelog.title":"新功能","preview.dynamic":"动态预览","preview.static":"静态预览","preview.remainTitle":"剩余有效期 — 点击续期 / 停止","preview.toPcView":"切换到电脑视图","preview.toMobileView":"切换到手机视图","preview.pcView":"电脑视图","preview.mobileView":"手机视图","preview.refresh":"刷新","preview.minimize":"收起","preview.ttlDialog":"预览有效期","preview.renew":"续期(重置为 1 小时)","preview.stop":"停止预览","preview.iframeTitle":"预览","preview.zoomOut":"缩小","preview.zoomIn":"放大","imageviewer.loadFailed":"图片加载失败","imageviewer.saved":"已保存,可在相册/图库或「下载」中查看","imageviewer.shareUnsupported":"图片分享需要 Chrome 或 Safari 浏览器","imageviewer.zoomOut":"缩小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"图片","imageviewer.saveImage":"保存图片","imageviewer.shareImage":"分享图片","mic.stop":"停止语音输入","mic.start":"语音输入","dock.send":"发送","dock.send.hint":"点发送 · 长按填入","dock.phrases":"常用语","dock.attach":"上传","dock.history":"历史","dock.kbdShow":"展开键盘","dock.kbdHide":"收起键盘","history.empty":"还没有发送记录","history.scope":"仅当前窗口的记录","dock.input.placeholder":"说点什么…","dock.command.placeholder":"输入命令 · 回车执行","dock.mode.agent":"对话","dock.mode.toggle":"切换输入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"添加","fav.addPlaceholder":"加一条常用…","cmd.editTitle":"常用命令","cmd.global":"全局","cmd.window":"当前窗口","cmd.withEnter":"直接发送","cmd.addPlaceholder":"加一条命令…","cmd.tabCmd":"命令","cmd.tabKey":"按键","cmd.addTo":"添加到","cmd.addTitle":"添加","cmd.editItem":"编辑","cmd.sticky":"粘滞键","cmd.stickyNone":"无","cmd.baseKey":"基键","cmd.pickKey":"选择按键","cmd.moveUp":"上移","cmd.moveDown":"下移","cmd.empty":"还没有","chat.editTitle":"常用消息","chat.favs":"常用","chat.tabMsg":"消息","chat.addPlaceholder":"消息 / 斜杠命令…","dock.upload.aria":"上传文件","dock.upload.title":"上传文件(存到家目录上传区,不进项目)","dock.upload.progress":"上传 {name}{tag}","dock.upload.failed":"上传失败:{names}","dock.upload.rejected":"不支持的文件类型:{names}","app.nameExists":"该名已存在","app.renameFailed":"重命名失败,请重试","app.deleteFailed":"删除失败,请重试","app.moveFailed":"移动失败,请重试","app.sessionGone":"会话「{name}」不存在,可能已关闭","app.docNotFound":"文件不存在","app.docTooLarge":"文件过大(超过 2MB)","app.docUnsupported":"不支持的文件或路径","app.docOpenFailed":"打开失败,请重试","app.preview":"预览","app.openPreview":"打开预览","app.ideas":"想法","app.files":"文件","app.settings":"设置","usage.title":"用量","usage.win5h":"5 小时","usage.winWeekly":"本周","usage.winMonthly":"本月","usage.winGeneric":"{h} 小时窗口","usage.winPrimary":"额度","usage.winSecondary":"次级额度","usage.resetIn":"{t}后重置","usage.resetSoon":"即将重置…","usage.claudeOff":"尚未接入 —— Claude 的 5h/周额度需要 handmux statusLine:","usage.claudePending":"暂无数据 —— 在 Claude 会话里发一条消息,再重新打开。","usage.codexOff":"本机未检测到 Codex。","usage.codexNoQuota":"最近的会话里还没有额度数据。","usage.loadFailed":"加载用量失败。","usage.updatedNow":"刚刚更新","usage.updatedMin":"{n} 分钟前更新","usage.updatedHr":"{n} 小时前更新","usage.updatedDay":"{n} 天前更新","usage.activityNote":"在有新消息时更新","usage.timeMark":"本窗口已过去的时间","app.renameSession":"重命名会话","app.renameWindow":"重命名窗口","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"删除窗口","app.deleteLastWindowConfirm":"这是最后一个窗口,删除将关闭整个会话!再点一次","app.deleteConfirm":"确认删除?再点一次","app.cannotLocate":"无法定位","app.pickItsDir":",请选它所在的目录:","app.noBoundSession":"还没有绑定会话","app.tapToBind":"点此绑定一个","app.selectSessionHint":"点击左上角 ☰ 选择会话","settings.title":"设置","settings.group_global":"全局设置","settings.font_size":"字体大小","settings.font_decrease":"减小字体","settings.font_increase":"增大字体","settings.font_auto":"自适应","settings.font_auto_title":"按高度自动适配","settings.whats_new":"新功能","settings.view_changelog":"查看更新日志","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"反馈与交流","settings.feedback_issues":"GitHub 反馈","settings.feedback_group":"微信用户群","settings.feedback_hint":"bug、想法都欢迎——Issue 会被跟踪处理;微信群反馈直达。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在电脑上运行","settings.push_notifications":"推送通知","settings.notify_on":"已开启 ✓","settings.notify_enable":"开启设备通知","settings.notify_enabled":"已开启,应会收到一条欢迎通知","settings.notify_disabled":"已关闭","settings.notify_failed":"操作失败","settings.processing":"处理中","settings.push_hint":"监听「需要你」和「已完成」:所关注会话需要你授权/回答,或一个回合刚做完时,推送到此设备。","settings.push_unsupported":"推送需要 Chrome 或 Safari 浏览器","settings.group_session":"当前会话设置","settings.screen_cols":"屏幕列数","settings.cols_dec":"减少","settings.cols_dec_title":"减少列数","settings.cols_inc":"增加","settings.cols_inc_title":"增加列数","settings.cols_restore":"默认","settings.cols_restore_title":"恢复窗口默认尺寸","settings.preview_site":"预览站点","settings.preview_static_site":"预览静态站点","settings.preview_running_dynamic":"动态预览 运行中","settings.preview_running_static":"静态预览 运行中","settings.preview_remain_title":"剩余有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"续期","settings.preview_confirm_stop":"确认停止","settings.preview_stop":"停止","settings.preview_name":"名称:{name}","settings.preview_port":"(端口 :{port})","settings.preview_type":"预览类型","settings.preview_off":"不开启","settings.preview_static":"静态","settings.preview_dynamic":"动态","settings.preview_off_hint":"未开启预览。选择「静态」开始。","settings.preview_off_hint_both":"未开启预览。选择「静态」或「动态」开始。","settings.preview_dynamic_disabled":"动态端口预览未启用。要开启:把一个通配预览域名(previewDomain,如 *.example.com)指向网关,并配上对应的 TLS 证书。Cloudflare / 自建的证书差异见 README。","settings.preview_pick_dir":"选择目录启动","settings.preview_static_hint":"选一个含 index.html 的目录,在手机上预览。","settings.preview_port_placeholder":"端口,如 3000","settings.preview_port_label":"端口","settings.preview_starting":"启动中…","settings.preview_start":"启动","settings.preview_dynamic_hint":"填本机正在运行的端口(dev server / 后端),手机经子域名直接访问。","settings.dir_picker_hint":"选择要预览的静态站点目录(含 index.html)","settings.err_port_not_listening":"该端口未在监听,请确认服务已启动","settings.err_bad_port":"端口不合法(1–65535)","settings.err_dynamic_disabled":"动态预览未开启","settings.err_start_failed":"启动失败","filebrowser.openDirFailed":"无法打开该目录","filebrowser.copiedPath":"已复制路径:{abs}","filebrowser.mkdirFailed":"新建目录失败(名称非法或已存在)","filebrowser.downloading":"下载 {name}","filebrowser.downloadFailed":"下载失败","filebrowser.uploading":"上传 {name}{tag}","filebrowser.uploadFailed":"上传失败","filebrowser.uploadPartialFailed":"以下文件上传失败:{names}","filebrowser.uploadRejected":"不支持的文件类型:{names}","filebrowser.sessionDir":"会话目录","filebrowser.jumpToSessionDir":"跳到当前会话目录","filebrowser.parentDir":"上级目录","filebrowser.rootSelect":"切换根目录(家目录 / 临时目录)","filebrowser.pathPlaceholder":"输入路径(实时筛选/跳转)","filebrowser.newFolder":"新建文件夹","filebrowser.createBtn":"创建","filebrowser.uploadFile":"上传文件","filebrowser.uploadToCurrentDir":"上传到当前目录","filebrowser.enterSubdirToUpload":"请进入一个子目录上传","filebrowser.folderNamePlaceholder":"文件夹名称","filebrowser.uploadPendingTo":"把「{name}」上传到当前目录","filebrowser.enterSubdirFirst":"(请先进入一个子目录)","filebrowser.upload":"上传","filebrowser.savedToDownloads":"已保存「{name}」到「下载」文件夹,可在系统文件管理器查看","filebrowser.noMatches":"没有匹配的文件或目录","filebrowser.tooMany":"共 {total} 项,只显示前 {shown} 项——在路径框输入关键词可筛选","filebrowser.previewUnsupported":"暂不支持该类型文件的预览,点右侧按钮可下载","filebrowser.copyAbsPath":"复制绝对路径","filebrowser.download":"下载","filebrowser.pickThisDir":"选定此目录 {path}","filebrowser.downloadConfirm":"下载 {name}?","filemanager.files":"文件","filemanager.closeTab":"关闭标签","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目录","git.errReadRepo":"无法读取仓库","git.errLoad":"加载失败","git.noRepoInDir":"这个目录还不是 git 仓库 —— 换一个目录,或在这里 git init 一下。","git.outsideRoots":"这个目录在 handmux 可访问范围之外 —— 只开放主目录和 /tmp。把仓库放到主目录下,就能在这里查看了。","git.errReadDir":"无法读取该目录","git.commitDetail":"提交详情","git.diff":"差异","git.bindRepo":"绑定仓库","git.collapse":"收起","git.currentBranch":"当前分支","git.switchViewedBranch":"切换查看的分支","git.switchBranch":"切换分支","git.noBranches":"暂无分支","git.noRepoBound":"未绑定仓库,点左上角「+」选择一个目录。","git.changes":"变更","git.commits":"提交","git.pullToLoadMore":"下拉加载更多","git.pickerHint":"选择一个目录,自动查找其中的 git 仓库","git.cleanTree":"工作区干净","git.noCommits":"暂无提交","git.noDiff":"无差异","git.fontSmaller":"缩小字体","git.fontLarger":"放大字体","git.diffTruncated":"diff 过大,已截断","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"还没有命令,发送一条或保存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全局 · 所有会话","cmd.recent":"最近","cmd.scopeSession":"仅本会话","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗读","doc.pauseRead":"暂停朗读","doc.resumeRead":"继续朗读","doc.stopRead":"停止朗读","doc.rate":"语速","doc.fontSmaller":"缩小字体","doc.fontLarger":"放大字体","inbox.view.working":"进行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推送通知需要 Chrome 或 Safari 浏览器","push.iosAddToHome":'iOS 需先把本站"添加到主屏幕",从主屏图标打开后再开启',"a2hs.title":"把 handmux 添加到主屏","a2hs.lead":"像 App 一样打开——全屏、没有地址栏。在 iPhone 上,pane 需要你时的推送也靠它送达。","a2hs.install":"安装 handmux","a2hs.ios1":"点 Safari 里的分享按钮(⬆︎ 方框)。","a2hs.ios2":"点「更多」,或向下滑动列表。","a2hs.ios3":"选「添加到主屏幕」,再点「添加」。","a2hs.iosHint":"Safari 里:分享 → 更多 → 添加到主屏幕。","a2hs.iosOpenSafari":"当前不是 Safari。请在 Safari 里打开本页再添加到主屏——其他 iOS 浏览器无法安装。","a2hs.androidManual":"打开浏览器菜单(⋮),选「添加到主屏幕」或「安装应用」。","a2hs.later":"以后再说","push.permissionDenied":"通知权限被拒绝","push.noVapid":"服务端未配置推送(VAPID)","push.subscribeFailed":"订阅上报失败","push.sendFailed":"发送失败","api.loadFailed":"加载失败","api.uploadFailed":"上传失败","upload.title":"上传中","upload.processing":"已发送,服务器接收中…","api.uploadBadDir":"无法上传到该目录","api.uploadDuplicate":"已存在同名文件","api.uploadTooLarge":"文件过大(上限 50MB)","api.uploadBadType":"不支持的文件类型","time.secAgo":"{n}秒前","time.minAgo":"{n}分钟前","time.hourAgo":"{n}小时前","time.dayAgo":"{n}天前","time.expired":"已过期","time.minutes":"{n} 分钟"},kw={"common.save":"儲存","common.cancel":"取消","common.confirm":"確認","common.ok":"確定","common.close":"關閉","common.delete":"刪除","common.copy":"複製","common.rename":"重新命名","common.create":"新增","common.back":"返回","common.open":"開啟","common.loading":"載入中…","common.done":"完成","token.title":"需要存取 Token","token.placeholder":"貼上 HANDMUX_TOKEN","settings.language":"語言 Language","home.empty":"尚未開啟任何檔案","home.emptyHint":"切換到「新增」挑選一個","home.remove":"移除","drawer.empty":"尚未綁定工作階段","drawer.unbind":"解除綁定","drawer.bind":"綁定工作階段","drawer.logout":"登出","windowbar.newWindow":"新增視窗","rename.new_name":"新名稱","rename.name_placeholder":"名稱縮寫","rename.name_rule":"只能使用字母、數字、連字號(≤16)","rename.failed":"重新命名失敗,請重試","rename.saving":"儲存中…","newwindow.title":"新增視窗","newwindow.window_name":"視窗名稱(選填)","newwindow.name_placeholder":"留空自動命名","newwindow.name_rule":"只能使用字母、數字、連字號(≤16)","newwindow.start_dir":"起始目錄","newwindow.session_dir_named":"{dir}(工作階段目錄)","newwindow.session_dir_default":"工作階段目錄(預設)","newwindow.choose":"選擇","newwindow.reset_to_session_dir":"重置為工作階段目錄","newwindow.creating":"建立中…","startup.label":"啟動命令(選填)","startup.aria":"啟動命令","startup.preset_shell":"空白 Shell(預設)","startup.preset_claude":"claude(啟動 Claude Code)","startup.preset_claude_continue":"claude -c(繼續上次工作階段)","startup.preset_codex":"codex(啟動 Codex CLI)","startup.custom":"自訂…","startup.custom_placeholder":'例如 claude "修復登入 bug"',"bind.title":"綁定工作階段","bind.sessionName":"工作階段名稱","bind.namePlaceholder":"新工作階段名稱","bind.pickSession":"選擇要綁定的工作階段","bind.newSession":"+ 新增工作階段","bind.alreadyExists":"此工作階段已存在","bind.bind":"綁定","bind.checking":"驗證中…","bind.createAndOpen":"新增並開啟","bind.creating":"建立中…","bind.createHint":"工作階段「{name}」不存在,點「新增並開啟」建立","bind.alreadyBound":"已綁定此工作階段","bind.createFailed":"建立失敗,請重試","bind.invalidName":"只能使用字母、數字、連字號(≤16)","bind.desktopHint":"這裡的工作階段(包括手機新建的),電腦上一條命令即可接管:handmux open <名稱>","bind.checkFailed":"驗證失敗,請重試","bind.startDir":"起始目錄","bind.homeDirDefault":"主目錄(預設)","bind.choose":"選擇","bind.reset":"重置","actionsheet.confirmAgain":"確認?再點一次","dirpicker.title":"選擇目錄","inbox.title":"收件匣","inbox.working":"進行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"目前沒有面板狀態","inbox.enableTitle":"開啟 AI 工作階段通知","inbox.enableHint":"將每個 Claude / Codex 面板標記為進行中 / 需要你 / 已完成,需要時也會推播提醒。","inbox.enableBtn":"開啟","inbox.enabling":"開啟中…","inbox.enableFailed":"開啟失敗——請查看伺服器日誌。","idea.title":"想法","idea.editPlaceholder":"編輯想法…","idea.addPlaceholder":"記錄一條想法…","idea.add":"新增","idea.empty":"還沒有想法,記錄一條吧","idea.dragSort":"拖曳排序","idea.fillInput":"填入輸入框","idea.send":"傳送","doclink.title":"開啟檔案","changelog.title":"新功能","preview.dynamic":"動態預覽","preview.static":"靜態預覽","preview.remainTitle":"剩餘有效期 — 點擊續期 / 停止","preview.toPcView":"切換到電腦檢視","preview.toMobileView":"切換到手機檢視","preview.pcView":"電腦檢視","preview.mobileView":"手機檢視","preview.refresh":"重新整理","preview.minimize":"收起","preview.ttlDialog":"預覽有效期","preview.renew":"續期(重置為 1 小時)","preview.stop":"停止預覽","preview.iframeTitle":"預覽","preview.zoomOut":"縮小","preview.zoomIn":"放大","imageviewer.loadFailed":"圖片載入失敗","imageviewer.saved":"已儲存,可在相簿或「下載」中查看","imageviewer.shareUnsupported":"圖片分享需要 Chrome 或 Safari 瀏覽器","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"圖片","imageviewer.saveImage":"儲存圖片","imageviewer.shareImage":"分享圖片","mic.stop":"停止語音輸入","mic.start":"語音輸入","dock.send":"傳送","dock.send.hint":"點傳送 · 長按填入","dock.phrases":"常用語","dock.attach":"上傳","dock.history":"歷史","history.empty":"還沒有發送記錄","history.scope":"僅目前視窗的記錄","dock.input.placeholder":"說點什麼…","dock.command.placeholder":"輸入指令 · Enter 執行","dock.mode.agent":"對話","dock.mode.toggle":"切換輸入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"新增","fav.addPlaceholder":"新增常用…","dock.upload.aria":"上傳檔案","dock.upload.title":"上傳檔案(存到主目錄上傳區,不進專案)","dock.upload.progress":"上傳 {name}{tag}","dock.upload.failed":"上傳失敗:{names}","app.nameExists":"該名稱已存在","app.renameFailed":"重新命名失敗,請重試","app.deleteFailed":"刪除失敗,請重試","app.moveFailed":"移動失敗,請重試","app.sessionGone":"工作階段「{name}」不存在,可能已關閉","app.docNotFound":"檔案不存在","app.docTooLarge":"檔案過大(超過 2MB)","app.docUnsupported":"不支援的檔案或路徑","app.docOpenFailed":"開啟失敗,請重試","app.preview":"預覽","app.openPreview":"開啟預覽","app.ideas":"想法","app.files":"檔案","app.settings":"設定","app.renameSession":"重新命名工作階段","app.renameWindow":"重新命名視窗","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"刪除視窗","app.deleteLastWindowConfirm":"這是最後一個視窗,刪除將關閉整個工作階段!再點一次","app.deleteConfirm":"確認刪除?再點一次","app.cannotLocate":"無法定位","app.pickItsDir":",請選擇所在目錄:","app.noBoundSession":"尚未綁定工作階段","app.tapToBind":"點此綁定一個","app.selectSessionHint":"點擊左上角 ☰ 選擇工作階段","settings.title":"設定","settings.group_global":"全域設定","settings.font_size":"字型大小","settings.font_decrease":"縮小字型","settings.font_increase":"放大字型","settings.font_auto":"自適應","settings.font_auto_title":"依高度自動調整","settings.whats_new":"新功能","settings.view_changelog":"查看更新日誌","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"意見回饋","settings.feedback_issues":"GitHub 回報","settings.feedback_group":"微信用戶群","settings.feedback_hint":"bug、想法都歡迎——Issue 會被追蹤處理;微信群回饋直達。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在電腦上執行","settings.push_notifications":"推播通知","settings.notify_on":"已開啟 ✓","settings.notify_enable":"開啟裝置通知","settings.notify_enabled":"已開啟,應會收到一則歡迎通知","settings.notify_disabled":"已關閉","settings.notify_failed":"操作失敗","settings.processing":"處理中","settings.push_hint":"監聽「需要你」和「已完成」:所關注工作階段需要授權/回答,或一輪剛完成時,推播到此裝置。","settings.push_unsupported":"推播需要 Chrome 或 Safari 瀏覽器","settings.group_session":"目前工作階段設定","settings.screen_cols":"螢幕欄數","settings.cols_dec":"減少","settings.cols_dec_title":"減少欄數","settings.cols_inc":"增加","settings.cols_inc_title":"增加欄數","settings.cols_restore":"預設","settings.cols_restore_title":"恢復視窗預設尺寸","settings.preview_site":"預覽站台","settings.preview_static_site":"預覽靜態站台","settings.preview_running_dynamic":"動態預覽 執行中","settings.preview_running_static":"靜態預覽 執行中","settings.preview_remain_title":"剩餘有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"續期","settings.preview_confirm_stop":"確認停止","settings.preview_stop":"停止","settings.preview_name":"名稱:{name}","settings.preview_port":"(連接埠:{port})","settings.preview_type":"預覽類型","settings.preview_off":"不開啟","settings.preview_static":"靜態","settings.preview_dynamic":"動態","settings.preview_off_hint":"未開啟預覽。選擇「靜態」開始。","settings.preview_off_hint_both":"未開啟預覽。選擇「靜態」或「動態」開始。","settings.preview_dynamic_disabled":"動態連接埠預覽未啟用。要開啟:將一個萬用字元預覽網域(previewDomain,如 *.example.com)指向閘道,並設定對應的 TLS 憑證。Cloudflare / 自建憑證差異請見 README。","settings.preview_pick_dir":"選擇目錄啟動","settings.preview_static_hint":"選一個含 index.html 的目錄,在手機上預覽。","settings.preview_port_placeholder":"連接埠,如 3000","settings.preview_port_label":"連接埠","settings.preview_starting":"啟動中…","settings.preview_start":"啟動","settings.preview_dynamic_hint":"填入本機正在執行的連接埠(dev server / 後端),手機透過子網域直接存取。","settings.dir_picker_hint":"選擇要預覽的靜態站台目錄(含 index.html)","settings.err_port_not_listening":"該連接埠未在監聽,請確認服務已啟動","settings.err_bad_port":"連接埠不合法(1–65535)","settings.err_dynamic_disabled":"動態預覽未開啟","settings.err_start_failed":"啟動失敗","filebrowser.openDirFailed":"無法開啟該目錄","filebrowser.copiedPath":"已複製路徑:{abs}","filebrowser.mkdirFailed":"建立目錄失敗(名稱不合法或已存在)","filebrowser.downloading":"下載 {name}","filebrowser.downloadFailed":"下載失敗","filebrowser.uploading":"上傳 {name}{tag}","filebrowser.uploadFailed":"上傳失敗","filebrowser.uploadPartialFailed":"以下檔案上傳失敗:{names}","filebrowser.sessionDir":"工作階段目錄","filebrowser.jumpToSessionDir":"跳到目前工作階段目錄","filebrowser.parentDir":"上層目錄","filebrowser.rootSelect":"切換根目錄(主目錄 / 暫存目錄)","filebrowser.pathPlaceholder":"輸入路徑(即時篩選/跳轉)","filebrowser.newFolder":"新增資料夾","filebrowser.createBtn":"建立","filebrowser.uploadFile":"上傳檔案","filebrowser.uploadToCurrentDir":"上傳到目前目錄","filebrowser.enterSubdirToUpload":"請進入一個子目錄上傳","filebrowser.folderNamePlaceholder":"資料夾名稱","filebrowser.uploadPendingTo":"將「{name}」上傳到目前目錄","filebrowser.enterSubdirFirst":"(請先進入一個子目錄)","filebrowser.upload":"上傳","filebrowser.savedToDownloads":"已儲存「{name}」到「下載」資料夾,可在系統檔案管理員查看","filebrowser.noMatches":"沒有符合的檔案或目錄","filebrowser.tooMany":"共 {total} 項,僅顯示前 {shown} 項——在路徑框輸入關鍵字可篩選","filebrowser.previewUnsupported":"暫不支援此類型檔案的預覽,點右側按鈕可下載","filebrowser.copyAbsPath":"複製絕對路徑","filebrowser.download":"下載","filebrowser.pickThisDir":"選定此目錄 {path}","filebrowser.downloadConfirm":"下載 {name}?","filemanager.files":"檔案","filemanager.closeTab":"關閉標籤","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目錄","git.errReadRepo":"無法讀取儲存庫","git.errLoad":"載入失敗","git.noRepoInDir":"這個目錄還不是 git 儲存庫 —— 換一個目錄,或在這裡 git init 一下。","git.outsideRoots":"這個目錄在 handmux 可存取範圍之外 —— 只開放主目錄和 /tmp。把儲存庫放到主目錄下,就能在這裡檢視了。","git.errReadDir":"無法讀取該目錄","git.commitDetail":"提交詳情","git.diff":"差異","git.bindRepo":"綁定儲存庫","git.collapse":"收起","git.currentBranch":"目前分支","git.switchViewedBranch":"切換查看的分支","git.switchBranch":"切換分支","git.noBranches":"目前沒有分支","git.noRepoBound":"未綁定儲存庫,點左上角「+」選擇一個目錄。","git.changes":"變更","git.commits":"提交","git.pullToLoadMore":"下拉載入更多","git.pickerHint":"選擇一個目錄,自動尋找其中的 git 儲存庫","git.cleanTree":"工作區乾淨","git.noCommits":"目前沒有提交","git.noDiff":"無差異","git.fontSmaller":"縮小字型","git.fontLarger":"放大字型","git.diffTruncated":"diff 過大,已截斷","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"還沒有命令,傳送一條或儲存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全域 · 所有工作階段","cmd.recent":"最近","cmd.scopeSession":"僅本工作階段","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗讀","doc.pauseRead":"暫停朗讀","doc.resumeRead":"繼續朗讀","doc.stopRead":"停止朗讀","doc.rate":"語速","doc.fontSmaller":"縮小字型","doc.fontLarger":"放大字型","inbox.view.working":"進行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推播通知需要 Chrome 或 Safari 瀏覽器","push.iosAddToHome":"iOS 需先將本站「加入主畫面」,從主畫面圖示開啟後再開啟","a2hs.title":"將 handmux 加入主畫面","a2hs.lead":"像 App 一樣開啟——全螢幕、沒有網址列。在 iPhone 上,pane 需要你時的推播也靠它送達。","a2hs.install":"安裝 handmux","a2hs.ios1":"點 Safari 的分享按鈕(⬆︎ 方框)。","a2hs.ios2":"點「更多」,或向下滑動清單。","a2hs.ios3":"選「加入主畫面」,再點「加入」。","a2hs.iosHint":"Safari 裡:分享 → 更多 → 加入主畫面。","a2hs.iosOpenSafari":"目前不是 Safari。請在 Safari 開啟本頁再加入主畫面——其他 iOS 瀏覽器無法安裝。","a2hs.androidManual":"開啟瀏覽器選單(⋮),選「加入主畫面」或「安裝應用程式」。","a2hs.later":"稍後再說","push.permissionDenied":"通知權限被拒絕","push.noVapid":"伺服器未設定推播(VAPID)","push.subscribeFailed":"訂閱回報失敗","push.sendFailed":"傳送失敗","api.loadFailed":"載入失敗","api.uploadFailed":"上傳失敗","upload.title":"上傳中","upload.processing":"已傳送,伺服器接收中…","api.uploadBadDir":"無法上傳到該目錄","api.uploadDuplicate":"已存在同名檔案","api.uploadTooLarge":"檔案過大(上限 50MB)","api.uploadBadType":"不支援的檔案類型","time.secAgo":"{n} 秒前","time.minAgo":"{n} 分鐘前","time.hourAgo":"{n} 小時前","time.dayAgo":"{n} 天前","time.expired":"已過期","time.minutes":"{n} 分鐘"},Ew={"common.save":"保存","common.cancel":"キャンセル","common.confirm":"確認","common.ok":"OK","common.close":"閉じる","common.delete":"削除","common.copy":"コピー","common.rename":"名前を変更","common.create":"新規作成","common.back":"戻る","common.open":"開く","common.loading":"読み込み中…","common.done":"完了","token.title":"アクセストークンが必要です","token.placeholder":"HANDMUX_TOKEN を貼り付け","settings.language":"言語 Language","home.empty":"ファイルが開かれていません","home.emptyHint":"「新規」タブでファイルを選択してください","home.remove":"削除","drawer.empty":"セッションが紐付けられていません","drawer.unbind":"紐付け解除","drawer.bind":"セッションを紐付け","drawer.logout":"ログアウト","windowbar.newWindow":"新規ウィンドウ","rename.new_name":"新しい名前","rename.name_placeholder":"短い名前","rename.name_rule":"英数字とハイフンのみ(≤16文字)","rename.failed":"名前の変更に失敗しました。再試行してください","rename.saving":"保存中…","newwindow.title":"新規ウィンドウ","newwindow.window_name":"ウィンドウ名(任意)","newwindow.name_placeholder":"空白で自動命名","newwindow.name_rule":"英数字とハイフンのみ(≤16文字)","newwindow.start_dir":"開始ディレクトリ","newwindow.session_dir_named":"{dir}(セッションディレクトリ)","newwindow.session_dir_default":"セッションディレクトリ(デフォルト)","newwindow.choose":"選択","newwindow.reset_to_session_dir":"セッションディレクトリにリセット","newwindow.creating":"作成中…","startup.label":"起動コマンド(任意)","startup.aria":"起動コマンド","startup.preset_shell":"空のシェル(デフォルト)","startup.preset_claude":"claude(Claude Code を起動)","startup.preset_claude_continue":"claude -c(前回のセッションを継続)","startup.preset_codex":"codex(Codex CLI を起動)","startup.custom":"カスタム…","startup.custom_placeholder":'例:claude "ログインバグを修正"',"bind.title":"セッションを紐付け","bind.sessionName":"セッション名","bind.namePlaceholder":"新しいセッション名","bind.pickSession":"紐付けるセッションを選択","bind.newSession":"+ 新規セッション","bind.alreadyExists":"このセッションは既に存在します","bind.bind":"紐付け","bind.checking":"確認中…","bind.createAndOpen":"作成して開く","bind.creating":"作成中…","bind.createHint":"セッション「{name}」が存在しません。「作成して開く」をタップして作成してください","bind.alreadyBound":"このセッションはすでに紐付けられています","bind.createFailed":"作成に失敗しました。再試行してください","bind.invalidName":"英数字とハイフンのみ(≤16文字)","bind.desktopHint":"ここのセッション(スマホで作成したものも)は、PC で 1 コマンドで引き継げます:handmux open <名前>","bind.checkFailed":"確認に失敗しました。再試行してください","bind.startDir":"開始ディレクトリ","bind.homeDirDefault":"ホームディレクトリ(デフォルト)","bind.choose":"選択","bind.reset":"リセット","actionsheet.confirmAgain":"確認しますか?もう一度タップ","dirpicker.title":"ディレクトリを選択","inbox.title":"受信トレイ","inbox.working":"進行中","inbox.done":"完了","inbox.needs":"要対応","inbox.clearDone":"完了済みをクリア","inbox.empty":"パネルの状態なし","inbox.enableTitle":"AI セッション通知を有効にする","inbox.enableHint":"各 Claude / Codex パネルを「進行中」「要対応」「完了」にマークし、対応が必要なときにプッシュ通知を送信します。","inbox.enableBtn":"有効にする","inbox.enabling":"有効化中…","inbox.enableFailed":"有効化に失敗しました——サーバーログを確認してください。","idea.title":"アイデア","idea.editPlaceholder":"アイデアを編集…","idea.addPlaceholder":"アイデアを記録…","idea.add":"追加","idea.empty":"まだアイデアがありません。記録してみましょう","idea.dragSort":"ドラッグで並べ替え","idea.fillInput":"入力欄に挿入","idea.send":"送信","doclink.title":"ファイルを開く","changelog.title":"新機能","preview.dynamic":"ダイナミックプレビュー","preview.static":"静的プレビュー","preview.remainTitle":"残り有効期限 — タップして更新 / 停止","preview.toPcView":"PCビューに切り替え","preview.toMobileView":"モバイルビューに切り替え","preview.pcView":"PCビュー","preview.mobileView":"モバイルビュー","preview.refresh":"更新","preview.minimize":"最小化","preview.ttlDialog":"プレビュー有効期限","preview.renew":"更新(1時間にリセット)","preview.stop":"プレビューを停止","preview.iframeTitle":"プレビュー","preview.zoomOut":"縮小","preview.zoomIn":"拡大","imageviewer.loadFailed":"画像の読み込みに失敗しました","imageviewer.saved":"保存しました。フォトライブラリまたは「ダウンロード」で確認できます","imageviewer.shareUnsupported":"画像の共有には Chrome または Safari が必要です","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"拡大","imageviewer.imageTitle":"画像","imageviewer.saveImage":"画像を保存","imageviewer.shareImage":"画像を共有","mic.stop":"音声入力を停止","mic.start":"音声入力","dock.send":"送信","dock.send.hint":"タップで送信 · 長押しで挿入","dock.phrases":"よく使うフレーズ","dock.attach":"添付","dock.history":"履歴","history.empty":"履歴はまだありません","history.scope":"このウィンドウの記録のみ","dock.input.placeholder":"メッセージを入力…","dock.command.placeholder":"コマンドを入力 · Enterで実行","dock.mode.agent":"会話","dock.mode.toggle":"入力モードを切替","dock.mode.command":"コマンド","dock.mode.chat":"チャット","fav.title":"よく使う","fav.add":"追加","fav.addPlaceholder":"よく使う項目を追加…","dock.upload.aria":"ファイルをアップロード","dock.upload.title":"ファイルをアップロード(ホームのアップロードフォルダに保存、プロジェクトには含まない)","dock.upload.progress":"{name}{tag} をアップロード中","dock.upload.failed":"アップロード失敗:{names}","app.nameExists":"その名前はすでに使われています","app.renameFailed":"名前の変更に失敗しました。再試行してください","app.deleteFailed":"削除に失敗しました。再試行してください","app.moveFailed":"移動に失敗しました。再試行してください","app.sessionGone":"セッション「{name}」が存在しません。閉じられた可能性があります","app.docNotFound":"ファイルが存在しません","app.docTooLarge":"ファイルが大きすぎます(2MB超)","app.docUnsupported":"サポートされていないファイルまたはパス","app.docOpenFailed":"開くのに失敗しました。再試行してください","app.preview":"プレビュー","app.openPreview":"プレビューを開く","app.ideas":"アイデア","app.files":"ファイル","app.settings":"設定","app.renameSession":"セッション名を変更","app.renameWindow":"ウィンドウ名を変更","app.moveLeft":"◀ 左へ移動","app.moveRight":"右へ移動 ▶","app.deleteWindow":"ウィンドウを削除","app.deleteLastWindowConfirm":"これは最後のウィンドウです。削除するとセッション全体が閉じます!もう一度タップ","app.deleteConfirm":"削除しますか?もう一度タップ","app.cannotLocate":"場所を特定できません","app.pickItsDir":"。ディレクトリを選択してください:","app.noBoundSession":"セッションが紐付けられていません","app.tapToBind":"タップして紐付け","app.selectSessionHint":"左上の ☰ をタップしてセッションを選択","settings.title":"設定","settings.group_global":"グローバル設定","settings.font_size":"フォントサイズ","settings.font_decrease":"フォントを縮小","settings.font_increase":"フォントを拡大","settings.font_auto":"自動調整","settings.font_auto_title":"高さに合わせて自動調整","settings.whats_new":"新機能","settings.view_changelog":"変更履歴を表示","settings.has_update":"更新あり","settings.version":"バージョン","settings.feedback":"フィードバック","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat グループ","settings.feedback_hint":"バグ報告や要望は Issue へ — 必ず追跡・返信されます。","settings.update_available":"バージョン {v} が利用可能","settings.update_how":"パソコンで実行:","settings.push_notifications":"プッシュ通知","settings.notify_on":"有効 ✓","settings.notify_enable":"デバイス通知を有効にする","settings.notify_enabled":"有効にしました。ウェルカム通知が届くはずです","settings.notify_disabled":"無効","settings.notify_failed":"操作に失敗しました","settings.processing":"処理中","settings.push_hint":"「要対応」と「完了」を監視:注目しているセッションが承認/回答を必要としているとき、またはラウンドが完了したときにこのデバイスへ通知します。","settings.push_unsupported":"プッシュ通知には Chrome または Safari が必要です","settings.group_session":"現在のセッション設定","settings.screen_cols":"画面の列数","settings.cols_dec":"減らす","settings.cols_dec_title":"列数を減らす","settings.cols_inc":"増やす","settings.cols_inc_title":"列数を増やす","settings.cols_restore":"デフォルト","settings.cols_restore_title":"ウィンドウのデフォルトサイズに戻す","settings.preview_site":"プレビューサイト","settings.preview_static_site":"静的サイトをプレビュー","settings.preview_running_dynamic":"ダイナミックプレビュー 実行中","settings.preview_running_static":"静的プレビュー 実行中","settings.preview_remain_title":"残り有効期限","settings.preview_remain":"残り {time}","settings.preview_renew":"更新","settings.preview_confirm_stop":"停止を確認","settings.preview_stop":"停止","settings.preview_name":"名前:{name}","settings.preview_port":"(ポート:{port})","settings.preview_type":"プレビュータイプ","settings.preview_off":"無効","settings.preview_static":"静的","settings.preview_dynamic":"ダイナミック","settings.preview_off_hint":"プレビューは無効です。「静的」を選択して開始してください。","settings.preview_off_hint_both":"プレビューは無効です。「静的」または「ダイナミック」を選択して開始してください。","settings.preview_dynamic_disabled":"ダイナミックポートプレビューは無効です。有効にするには:ワイルドカードプレビュードメイン(previewDomain、例:*.example.com)をゲートウェイに向け、対応するTLS証明書を設定してください。Cloudflare /自己署名証明書の違いはREADMEを参照。","settings.preview_pick_dir":"ディレクトリを選択して開始","settings.preview_static_hint":"index.html を含むディレクトリを選択して、スマートフォンでプレビュー。","settings.preview_port_placeholder":"ポート番号(例:3000)","settings.preview_port_label":"ポート","settings.preview_starting":"起動中…","settings.preview_start":"起動","settings.preview_dynamic_hint":"ローカルで実行中のポート(devサーバー / バックエンド)を入力すると、スマートフォンからサブドメイン経由でアクセスできます。","settings.dir_picker_hint":"プレビューする静的サイトのディレクトリを選択(index.html を含む)","settings.err_port_not_listening":"そのポートはリッスンしていません。サービスが起動しているか確認してください","settings.err_bad_port":"ポート番号が無効です(1〜65535)","settings.err_dynamic_disabled":"ダイナミックプレビューは無効です","settings.err_start_failed":"起動に失敗しました","filebrowser.openDirFailed":"ディレクトリを開けませんでした","filebrowser.copiedPath":"パスをコピーしました:{abs}","filebrowser.mkdirFailed":"ディレクトリの作成に失敗しました(名前が無効または既に存在します)","filebrowser.downloading":"{name} をダウンロード中","filebrowser.downloadFailed":"ダウンロードに失敗しました","filebrowser.uploading":"{name}{tag} をアップロード中","filebrowser.uploadFailed":"アップロードに失敗しました","filebrowser.uploadPartialFailed":"以下のファイルのアップロードに失敗しました:{names}","filebrowser.sessionDir":"セッションディレクトリ","filebrowser.jumpToSessionDir":"現在のセッションディレクトリへ移動","filebrowser.parentDir":"親ディレクトリ","filebrowser.rootSelect":"ルートディレクトリを切り替え(ホーム / 一時)","filebrowser.pathPlaceholder":"パスを入力(リアルタイムフィルタ / ジャンプ)","filebrowser.newFolder":"新規フォルダ","filebrowser.createBtn":"作成","filebrowser.uploadFile":"ファイルをアップロード","filebrowser.uploadToCurrentDir":"現在のディレクトリにアップロード","filebrowser.enterSubdirToUpload":"サブディレクトリに移動してからアップロードしてください","filebrowser.folderNamePlaceholder":"フォルダ名","filebrowser.uploadPendingTo":"「{name}」を現在のディレクトリにアップロード","filebrowser.enterSubdirFirst":"(先にサブディレクトリに移動してください)","filebrowser.upload":"アップロード","filebrowser.savedToDownloads":"「{name}」を「ダウンロード」フォルダに保存しました。ファイルマネージャーで確認できます","filebrowser.noMatches":"一致するファイルまたはディレクトリがありません","filebrowser.tooMany":"合計 {total} 件、最初の {shown} 件のみ表示——パス欄にキーワードを入力してフィルタできます","filebrowser.previewUnsupported":"このファイルタイプのプレビューはサポートされていません。右のボタンでダウンロードできます","filebrowser.copyAbsPath":"絶対パスをコピー","filebrowser.download":"ダウンロード","filebrowser.pickThisDir":"このディレクトリを選択 {path}","filebrowser.downloadConfirm":"{name} をダウンロードしますか?","filemanager.files":"ファイル","filemanager.closeTab":"タブを閉じる","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"ディレクトリ","git.errReadRepo":"リポジトリを読み込めませんでした","git.errLoad":"読み込みに失敗しました","git.noRepoInDir":"このディレクトリにはまだ git リポジトリがありません — 別のディレクトリを選ぶか、ここで git init してください。","git.outsideRoots":"このフォルダは handmux がアクセスできる範囲外です — ホームディレクトリと /tmp のみ開けます。リポジトリをホーム配下に移すとここで閲覧できます。","git.errReadDir":"ディレクトリを読み込めませんでした","git.commitDetail":"コミット詳細","git.diff":"差分","git.bindRepo":"リポジトリを紐付け","git.collapse":"折りたたむ","git.currentBranch":"現在のブランチ","git.switchViewedBranch":"表示するブランチを切り替え","git.switchBranch":"ブランチを切り替え","git.noBranches":"ブランチがありません","git.noRepoBound":"リポジトリが紐付けられていません。左上の「+」をタップしてディレクトリを選択してください。","git.changes":"変更","git.commits":"コミット","git.pullToLoadMore":"引っ張ってさらに読み込む","git.pickerHint":"ディレクトリを選択すると、その中の git リポジトリを自動的に検索します","git.cleanTree":"ワーキングツリーはクリーンです","git.noCommits":"コミットがありません","git.noDiff":"差分なし","git.fontSmaller":"フォントを縮小","git.fontLarger":"フォントを拡大","git.diffTruncated":"差分が大きすぎるため、切り捨てられました","cmd.panel":"コマンドパネル","cmd.title":"コマンド","cmd.empty":"コマンドがありません。送信するか、よく使うものを保存してください","cmd.favorites":"お気に入り","cmd.scopeGlobal":"グローバル · 全セッション","cmd.recent":"最近","cmd.scopeSession":"このセッションのみ","cmd.favorite":"お気に入りに追加","cmd.unfavorite":"お気に入りから削除","doc.home":"最近","doc.read":"読み上げ","doc.pauseRead":"一時停止","doc.resumeRead":"再開","doc.stopRead":"読み上げを停止","doc.rate":"読み上げ速度","doc.fontSmaller":"フォントを縮小","doc.fontLarger":"フォントを拡大","inbox.view.working":"進行中","inbox.view.done":"完了","inbox.view.needs":"要対応","push.unsupported":"プッシュ通知には Chrome または Safari が必要です","push.iosAddToHome":"iOS では先にこのサイトを「ホーム画面に追加」し、ホーム画面のアイコンから開いてください","a2hs.title":"handmux をホーム画面に追加","a2hs.lead":"アプリのように全画面で開けます。iPhone では、pane があなたを必要とするときの通知もこれで届きます。","a2hs.install":"handmux をインストール","a2hs.ios1":"Safari の共有ボタン(⬆︎ の四角)をタップ。","a2hs.ios2":"「その他」をタップ、または下にスクロール。","a2hs.ios3":"「ホーム画面に追加」を選び、「追加」をタップ。","a2hs.iosHint":"Safari で:共有 → その他 → ホーム画面に追加。","a2hs.iosOpenSafari":"現在 Safari ではありません。Safari でこのページを開いてからホーム画面に追加してください(他の iOS ブラウザではインストールできません)。","a2hs.androidManual":"ブラウザのメニュー(⋮)から「ホーム画面に追加」または「アプリをインストール」を選択。","a2hs.later":"あとで","push.permissionDenied":"通知の権限が拒否されました","push.noVapid":"サーバーにプッシュ通知(VAPID)が設定されていません","push.subscribeFailed":"サブスクリプションの登録に失敗しました","push.sendFailed":"送信に失敗しました","api.loadFailed":"読み込みに失敗しました","api.uploadFailed":"アップロードに失敗しました","upload.title":"アップロード中","upload.processing":"送信完了 — サーバーで受信中…","api.uploadBadDir":"そのディレクトリへはアップロードできません","api.uploadDuplicate":"同名のファイルが既に存在します","api.uploadTooLarge":"ファイルが大きすぎます(上限 50MB)","api.uploadBadType":"サポートされていないファイルタイプです","time.secAgo":"{n}秒前","time.minAgo":"{n}分前","time.hourAgo":"{n}時間前","time.dayAgo":"{n}日前","time.expired":"期限切れ","time.minutes":"{n} 分"},Lw={"common.save":"저장","common.cancel":"취소","common.confirm":"확인","common.ok":"확인","common.close":"닫기","common.delete":"삭제","common.copy":"복사","common.rename":"이름 변경","common.create":"새로 만들기","common.back":"뒤로","common.open":"열기","common.loading":"로드 중…","common.done":"완료","token.title":"액세스 토큰이 필요합니다","token.placeholder":"HANDMUX_TOKEN 붙여넣기","settings.language":"언어 Language","home.empty":"열린 파일이 없습니다","home.emptyHint":"「새로 만들기」 탭에서 파일을 선택하세요","home.remove":"제거","drawer.empty":"연결된 세션이 없습니다","drawer.unbind":"연결 해제","drawer.bind":"세션 연결","drawer.logout":"로그아웃","windowbar.newWindow":"새 창","rename.new_name":"새 이름","rename.name_placeholder":"짧은 이름","rename.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","rename.failed":"이름 변경에 실패했습니다. 다시 시도하세요","rename.saving":"저장 중…","newwindow.title":"새 창","newwindow.window_name":"창 이름(선택 사항)","newwindow.name_placeholder":"비워두면 자동 이름 지정","newwindow.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","newwindow.start_dir":"시작 디렉토리","newwindow.session_dir_named":"{dir}(세션 디렉토리)","newwindow.session_dir_default":"세션 디렉토리(기본값)","newwindow.choose":"선택","newwindow.reset_to_session_dir":"세션 디렉토리로 초기화","newwindow.creating":"생성 중…","startup.label":"시작 명령(선택 사항)","startup.aria":"시작 명령","startup.preset_shell":"빈 셸(기본값)","startup.preset_claude":"claude(Claude Code 시작)","startup.preset_claude_continue":"claude -c(이전 세션 이어서)","startup.preset_codex":"codex(Codex CLI 시작)","startup.custom":"사용자 정의…","startup.custom_placeholder":'예:claude "로그인 버그 수정"',"bind.title":"세션 연결","bind.sessionName":"세션 이름","bind.namePlaceholder":"새 세션 이름","bind.pickSession":"연결할 세션 선택","bind.newSession":"+ 새 세션","bind.alreadyExists":"이미 존재하는 세션입니다","bind.bind":"연결","bind.checking":"확인 중…","bind.createAndOpen":"생성 후 열기","bind.creating":"생성 중…","bind.createHint":"세션「{name}」이 존재하지 않습니다. 「생성 후 열기」를 탭하여 생성하세요","bind.alreadyBound":"이미 연결된 세션입니다","bind.createFailed":"생성에 실패했습니다. 다시 시도하세요","bind.invalidName":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","bind.desktopHint":"여기의 세션(폰에서 만든 것 포함)은 컴퓨터에서 명령 하나로 이어받을 수 있습니다: handmux open <이름>","bind.checkFailed":"확인에 실패했습니다. 다시 시도하세요","bind.startDir":"시작 디렉토리","bind.homeDirDefault":"홈 디렉토리(기본값)","bind.choose":"선택","bind.reset":"초기화","actionsheet.confirmAgain":"확인하시겠습니까? 한 번 더 탭하세요","dirpicker.title":"디렉토리 선택","inbox.title":"받은 편지함","inbox.working":"진행 중","inbox.done":"완료","inbox.needs":"확인 필요","inbox.clearDone":"완료 항목 지우기","inbox.empty":"패널 상태 없음","inbox.enableTitle":"AI 세션 알림 활성화","inbox.enableHint":"각 Claude / Codex 패널을 「진행 중」「확인 필요」「완료」로 표시하고, 확인이 필요할 때 푸시 알림을 보냅니다.","inbox.enableBtn":"활성화","inbox.enabling":"활성화 중…","inbox.enableFailed":"활성화에 실패했습니다——서버 로그를 확인하세요.","idea.title":"아이디어","idea.editPlaceholder":"아이디어 편집…","idea.addPlaceholder":"아이디어를 기록하세요…","idea.add":"추가","idea.empty":"아직 아이디어가 없습니다. 하나 기록해보세요","idea.dragSort":"드래그하여 정렬","idea.fillInput":"입력창에 삽입","idea.send":"보내기","doclink.title":"파일 열기","changelog.title":"새 기능","preview.dynamic":"동적 미리보기","preview.static":"정적 미리보기","preview.remainTitle":"남은 유효 기간 — 탭하여 갱신 / 중지","preview.toPcView":"PC 보기로 전환","preview.toMobileView":"모바일 보기로 전환","preview.pcView":"PC 보기","preview.mobileView":"모바일 보기","preview.refresh":"새로 고침","preview.minimize":"최소화","preview.ttlDialog":"미리보기 유효 기간","preview.renew":"갱신(1시간으로 초기화)","preview.stop":"미리보기 중지","preview.iframeTitle":"미리보기","preview.zoomOut":"축소","preview.zoomIn":"확대","imageviewer.loadFailed":"이미지를 불러오지 못했습니다","imageviewer.saved":"저장되었습니다. 사진 앱 또는 「다운로드」에서 확인할 수 있습니다","imageviewer.shareUnsupported":"이미지 공유는 Chrome 또는 Safari가 필요합니다","imageviewer.zoomOut":"축소","imageviewer.zoomIn":"확대","imageviewer.imageTitle":"이미지","imageviewer.saveImage":"이미지 저장","imageviewer.shareImage":"이미지 공유","mic.stop":"음성 입력 중지","mic.start":"음성 입력","dock.send":"보내기","dock.send.hint":"탭하여 보내기 · 길게 눌러 삽입","dock.phrases":"자주 쓰는 문구","dock.attach":"첨부","dock.history":"기록","history.empty":"기록이 아직 없습니다","history.scope":"현재 창의 기록만","dock.input.placeholder":"메시지를 입력하세요…","dock.command.placeholder":"명령 입력 · Enter로 실행","dock.mode.agent":"대화","dock.mode.toggle":"입력 모드 전환","dock.mode.command":"명령 모드","dock.mode.chat":"채팅 모드","fav.title":"자주 쓰기","fav.add":"추가","fav.addPlaceholder":"자주 쓰는 항목 추가…","dock.upload.aria":"파일 업로드","dock.upload.title":"파일 업로드(홈 업로드 폴더에 저장, 프로젝트에는 포함되지 않음)","dock.upload.progress":"{name}{tag} 업로드 중","dock.upload.failed":"업로드 실패:{names}","app.nameExists":"해당 이름은 이미 사용 중입니다","app.renameFailed":"이름 변경에 실패했습니다. 다시 시도하세요","app.deleteFailed":"삭제에 실패했습니다. 다시 시도하세요","app.moveFailed":"이동에 실패했습니다. 다시 시도하세요","app.sessionGone":"세션「{name}」이 존재하지 않습니다. 이미 닫혔을 수 있습니다","app.docNotFound":"파일이 존재하지 않습니다","app.docTooLarge":"파일이 너무 큽니다(2MB 초과)","app.docUnsupported":"지원되지 않는 파일 또는 경로","app.docOpenFailed":"열기에 실패했습니다. 다시 시도하세요","app.preview":"미리보기","app.openPreview":"미리보기 열기","app.ideas":"아이디어","app.files":"파일","app.settings":"설정","app.renameSession":"세션 이름 변경","app.renameWindow":"창 이름 변경","app.moveLeft":"◀ 왼쪽으로 이동","app.moveRight":"오른쪽으로 이동 ▶","app.deleteWindow":"창 삭제","app.deleteLastWindowConfirm":"마지막 창입니다. 삭제하면 전체 세션이 닫힙니다!한 번 더 탭하세요","app.deleteConfirm":"삭제하시겠습니까? 한 번 더 탭하세요","app.cannotLocate":"위치를 찾을 수 없습니다","app.pickItsDir":",디렉토리를 선택하세요:","app.noBoundSession":"연결된 세션이 없습니다","app.tapToBind":"탭하여 연결","app.selectSessionHint":"왼쪽 상단의 ☰ 를 탭하여 세션 선택","settings.title":"설정","settings.group_global":"전체 설정","settings.font_size":"글꼴 크기","settings.font_decrease":"글꼴 축소","settings.font_increase":"글꼴 확대","settings.font_auto":"자동 조정","settings.font_auto_title":"높이에 맞게 자동 조정","settings.whats_new":"새 기능","settings.view_changelog":"변경 내역 보기","settings.has_update":"업데이트 있음","settings.version":"버전","settings.feedback":"피드백","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat 그룹","settings.feedback_hint":"버그와 아이디어 모두 환영 — Issue는 추적되고 답변됩니다.","settings.update_available":"버전 {v} 사용 가능","settings.update_how":"컴퓨터에서 실행:","settings.push_notifications":"푸시 알림","settings.notify_on":"활성화됨 ✓","settings.notify_enable":"기기 알림 활성화","settings.notify_enabled":"활성화되었습니다. 환영 알림이 도착할 것입니다","settings.notify_disabled":"비활성화됨","settings.notify_failed":"작업에 실패했습니다","settings.processing":"처리 중","settings.push_hint":"「확인 필요」및「완료」를 모니터링:관심 세션에서 승인/응답이 필요하거나 한 라운드가 완료되면 이 기기로 알림을 보냅니다.","settings.push_unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","settings.group_session":"현재 세션 설정","settings.screen_cols":"화면 열 수","settings.cols_dec":"감소","settings.cols_dec_title":"열 수 감소","settings.cols_inc":"증가","settings.cols_inc_title":"열 수 증가","settings.cols_restore":"기본값","settings.cols_restore_title":"창 기본 크기로 복원","settings.preview_site":"미리보기 사이트","settings.preview_static_site":"정적 사이트 미리보기","settings.preview_running_dynamic":"동적 미리보기 실행 중","settings.preview_running_static":"정적 미리보기 실행 중","settings.preview_remain_title":"남은 유효 기간","settings.preview_remain":"남은 시간 {time}","settings.preview_renew":"갱신","settings.preview_confirm_stop":"중지 확인","settings.preview_stop":"중지","settings.preview_name":"이름:{name}","settings.preview_port":"(포트:{port})","settings.preview_type":"미리보기 유형","settings.preview_off":"비활성화","settings.preview_static":"정적","settings.preview_dynamic":"동적","settings.preview_off_hint":"미리보기가 비활성화되어 있습니다. 「정적」을 선택하여 시작하세요.","settings.preview_off_hint_both":"미리보기가 비활성화되어 있습니다. 「정적」또는「동적」을 선택하여 시작하세요.","settings.preview_dynamic_disabled":"동적 포트 미리보기가 비활성화되어 있습니다. 활성화하려면:와일드카드 미리보기 도메인(previewDomain, 예:*.example.com)을 게이트웨이로 지정하고 TLS 인증서를 설정하세요. Cloudflare /자체 서명 인증서 차이는 README를 참조하세요.","settings.preview_pick_dir":"디렉토리를 선택하여 시작","settings.preview_static_hint":"index.html이 포함된 디렉토리를 선택하여 스마트폰에서 미리보기.","settings.preview_port_placeholder":"포트 번호(예:3000)","settings.preview_port_label":"포트","settings.preview_starting":"시작 중…","settings.preview_start":"시작","settings.preview_dynamic_hint":"로컬에서 실행 중인 포트(dev 서버 / 백엔드)를 입력하면 스마트폰에서 서브도메인을 통해 직접 접속할 수 있습니다.","settings.dir_picker_hint":"미리볼 정적 사이트 디렉토리 선택(index.html 포함)","settings.err_port_not_listening":"해당 포트가 수신 대기 중이지 않습니다. 서비스가 시작되었는지 확인하세요","settings.err_bad_port":"포트 번호가 유효하지 않습니다(1–65535)","settings.err_dynamic_disabled":"동적 미리보기가 비활성화되어 있습니다","settings.err_start_failed":"시작에 실패했습니다","filebrowser.openDirFailed":"디렉토리를 열 수 없습니다","filebrowser.copiedPath":"경로가 복사되었습니다:{abs}","filebrowser.mkdirFailed":"디렉토리 생성에 실패했습니다(이름이 유효하지 않거나 이미 존재합니다)","filebrowser.downloading":"{name} 다운로드 중","filebrowser.downloadFailed":"다운로드에 실패했습니다","filebrowser.uploading":"{name}{tag} 업로드 중","filebrowser.uploadFailed":"업로드에 실패했습니다","filebrowser.uploadPartialFailed":"다음 파일 업로드에 실패했습니다:{names}","filebrowser.sessionDir":"세션 디렉토리","filebrowser.jumpToSessionDir":"현재 세션 디렉토리로 이동","filebrowser.parentDir":"상위 디렉토리","filebrowser.rootSelect":"루트 디렉토리 전환(홈 / 임시)","filebrowser.pathPlaceholder":"경로 입력(실시간 필터 / 이동)","filebrowser.newFolder":"새 폴더","filebrowser.createBtn":"생성","filebrowser.uploadFile":"파일 업로드","filebrowser.uploadToCurrentDir":"현재 디렉토리에 업로드","filebrowser.enterSubdirToUpload":"하위 디렉토리로 이동한 후 업로드하세요","filebrowser.folderNamePlaceholder":"폴더 이름","filebrowser.uploadPendingTo":"「{name}」을 현재 디렉토리에 업로드","filebrowser.enterSubdirFirst":"(먼저 하위 디렉토리로 이동하세요)","filebrowser.upload":"업로드","filebrowser.savedToDownloads":"「{name}」이 「다운로드」 폴더에 저장되었습니다. 파일 관리자에서 확인할 수 있습니다","filebrowser.noMatches":"일치하는 파일 또는 디렉토리가 없습니다","filebrowser.tooMany":"총 {total}개, 처음 {shown}개만 표시——경로 입력창에 키워드를 입력하여 필터할 수 있습니다","filebrowser.previewUnsupported":"이 파일 유형의 미리보기는 지원되지 않습니다. 오른쪽 버튼으로 다운로드할 수 있습니다","filebrowser.copyAbsPath":"절대 경로 복사","filebrowser.download":"다운로드","filebrowser.pickThisDir":"이 디렉토리 선택 {path}","filebrowser.downloadConfirm":"{name}을 다운로드하시겠습니까?","filemanager.files":"파일","filemanager.closeTab":"탭 닫기","filemanager.minimize":"최소화","filemanager.recent":"최근","filemanager.directory":"디렉토리","git.errReadRepo":"저장소를 읽을 수 없습니다","git.errLoad":"불러오기에 실패했습니다","git.noRepoInDir":"아직 git 저장소가 없습니다 — 다른 디렉토리를 선택하거나 여기서 git init 하세요.","git.outsideRoots":"이 폴더는 handmux가 열 수 있는 범위 밖입니다 — 홈 디렉토리와 /tmp만 접근할 수 있습니다. 저장소를 홈 디렉토리 아래로 옮기면 여기서 볼 수 있습니다.","git.errReadDir":"디렉토리를 읽을 수 없습니다","git.commitDetail":"커밋 상세","git.diff":"변경 사항","git.bindRepo":"저장소 연결","git.collapse":"접기","git.currentBranch":"현재 브랜치","git.switchViewedBranch":"표시할 브랜치 전환","git.switchBranch":"브랜치 전환","git.noBranches":"브랜치가 없습니다","git.noRepoBound":"저장소가 연결되지 않았습니다. 왼쪽 상단의 「+」를 탭하여 디렉토리를 선택하세요.","git.changes":"변경사항","git.commits":"커밋","git.pullToLoadMore":"당겨서 더 불러오기","git.pickerHint":"디렉토리를 선택하면 그 안의 git 저장소를 자동으로 찾습니다","git.cleanTree":"작업 트리가 깨끗합니다","git.noCommits":"커밋이 없습니다","git.noDiff":"변경 사항 없음","git.fontSmaller":"글꼴 축소","git.fontLarger":"글꼴 확대","git.diffTruncated":"변경 사항이 너무 커서 잘렸습니다","cmd.panel":"명령 패널","cmd.title":"명령","cmd.empty":"명령이 없습니다. 보내거나 자주 쓰는 것을 저장하세요","cmd.favorites":"즐겨찾기","cmd.scopeGlobal":"전체 · 모든 세션","cmd.recent":"최근","cmd.scopeSession":"현재 세션만","cmd.favorite":"즐겨찾기 추가","cmd.unfavorite":"즐겨찾기 해제","doc.home":"최근","doc.read":"읽어주기","doc.pauseRead":"읽기 일시 정지","doc.resumeRead":"읽기 재개","doc.stopRead":"읽기 중지","doc.rate":"읽기 속도","doc.fontSmaller":"글꼴 축소","doc.fontLarger":"글꼴 확대","inbox.view.working":"진행 중","inbox.view.done":"완료","inbox.view.needs":"확인 필요","push.unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","push.iosAddToHome":"iOS에서는 먼저 이 사이트를 「홈 화면에 추가」한 후 홈 화면 아이콘에서 열어주세요","a2hs.title":"handmux를 홈 화면에 추가","a2hs.lead":"앱처럼 전체 화면으로 열 수 있습니다. iPhone에서는 pane이 당신을 필요로 할 때의 푸시도 이 방식으로 전달됩니다.","a2hs.install":"handmux 설치","a2hs.ios1":"Safari의 공유 버튼(⬆︎ 상자)을 탭하세요.","a2hs.ios2":"「더 보기」를 탭하거나 목록을 아래로 스크롤하세요.","a2hs.ios3":"「홈 화면에 추가」를 선택한 뒤 「추가」를 탭하세요.","a2hs.iosHint":"Safari에서: 공유 → 더 보기 → 홈 화면에 추가.","a2hs.iosOpenSafari":"현재 Safari가 아닙니다. Safari에서 이 페이지를 연 뒤 홈 화면에 추가하세요 — 다른 iOS 브라우저는 설치할 수 없습니다.","a2hs.androidManual":"브라우저 메뉴(⋮)에서 「홈 화면에 추가」 또는 「앱 설치」를 선택하세요.","a2hs.later":"나중에","push.permissionDenied":"알림 권한이 거부되었습니다","push.noVapid":"서버에 푸시 알림(VAPID)이 설정되지 않았습니다","push.subscribeFailed":"구독 등록에 실패했습니다","push.sendFailed":"전송에 실패했습니다","api.loadFailed":"불러오기에 실패했습니다","api.uploadFailed":"업로드에 실패했습니다","upload.title":"업로드 중","upload.processing":"전송 완료 — 서버에서 수신 중…","api.uploadBadDir":"해당 디렉토리에는 업로드할 수 없습니다","api.uploadDuplicate":"같은 이름의 파일이 이미 존재합니다","api.uploadTooLarge":"파일이 너무 큽니다(최대 50MB)","api.uploadBadType":"지원되지 않는 파일 유형입니다","time.secAgo":"{n}초 전","time.minAgo":"{n}분 전","time.hourAgo":"{n}시간 전","time.dayAgo":"{n}일 전","time.expired":"만료됨","time.minutes":"{n}분"},Zu={zh:Cw,"zh-TW":kw,en:Cg,ja:Ew,ko:Lw},Jd=[{code:"zh",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"},{code:"ja",label:"日本語"},{code:"ko",label:"한국어"}],kg="tw_lang";function Rw(e,t,i=Zu){if(e&&i[e])return e;for(const s of t&&t.length?t:["en"]){const n=String(s).toLowerCase();if(i[n])return n;const c=n.split("-")[0];if(i[c])return c}return"en"}function Tw(e,t,i,s){let n=e&&e[i]!=null?e[i]:t&&t[i]!=null?t[i]:i;return s&&(n=n.replace(/\{(\w+)\}/g,(c,m)=>s[m]!=null?s[m]:`{${m}}`)),n}const Dw=()=>typeof navigator<"u"?navigator.languages||[navigator.language]:null,Aw=()=>{try{return localStorage.getItem(kg)}catch{return null}};let Ea=Rw(Aw(),Dw());function D(e,t){return Tw(Zu[Ea],Cg,e,t)}function Tr(){return Ea}function Mw(e){if(!(!Zu[e]||e===Ea)){try{localStorage.setItem(kg,e)}catch{}Ea=e,typeof location<"u"&&location.reload()}}const Qu="tw_token",eh="tw_font",el="tw_bound",Eg="tw_last_session",Lg="tw_win",Rg="tw_pane",th="tw_favs",Gn="tw_recent",Nw=30,Bc="tw_inbox_seen",Tg="tw_inbox_read_ts",Dg="tw_browse_dir",Ag="tw_preview_dir",Mg="tw_startup_cmd",jc="tw_chat_draft",ir="tw_ideas",Ng="tw_changelog_seen",Ig="tw_version_seen",ih="tw_git_repos",cr=()=>localStorage.getItem(Qu),Iw=e=>localStorage.setItem(Qu,e),Ow=()=>localStorage.removeItem(Qu);function sr(){try{return JSON.parse(localStorage.getItem(el))||[]}catch{return[]}}function Zd(e){const t=sr();return t.includes(e)||t.push(e),localStorage.setItem(el,JSON.stringify(t)),t}function Qd(e){const t=sr().filter(i=>i!==e);return localStorage.setItem(el,JSON.stringify(t)),t}function Pw(e,t){const i=sr().map(c=>c===e?t:c);localStorage.setItem(el,JSON.stringify(i));const s=ii(Gn);s[e]!=null&&(s[t]=s[e],delete s[e],localStorage.setItem(Gn,JSON.stringify(s)));const n=ii(ir);return n[e]!=null&&(n[t]=n[e],delete n[e],localStorage.setItem(ir,JSON.stringify(n))),i}function ii(e){try{const t=JSON.parse(localStorage.getItem(e));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Ps(e,t,i){const s=ii(e);s[t]=i,localStorage.setItem(e,JSON.stringify(s))}const ef=()=>ii(Bc);function tf(e,t){return Ps(Bc,e,t),ii(Bc)}const Bw=()=>{const e=localStorage.getItem(Tg);return e==null?null:Number(e)},sf=e=>localStorage.setItem(Tg,String(e)),jw=e=>e?ii(Dg)[e]??null:null,rf=(e,t)=>{e&&t&&Ps(Dg,e,t)},Fw=e=>e?ii(Ag)[e]??null:null,Hw=(e,t)=>{e&&t&&Ps(Ag,e,t)},$w=()=>localStorage.getItem(Eg),zw=e=>ii(Lg)[e]??null,Do=e=>ii(Rg)[e]??null;function nn({sessionId:e,windowId:t,paneId:i}={}){e&&localStorage.setItem(Eg,e),e&&t&&Ps(Lg,e,t),t&&i&&Ps(Rg,t,i)}function Uw(){const e=Number(localStorage.getItem(eh));return Number.isFinite(e)&&e>0?e:null}const nf=e=>localStorage.setItem(eh,String(e)),Ww=()=>localStorage.removeItem(eh),Vw=()=>localStorage.getItem(jc)||"",Gw=e=>{e?localStorage.setItem(jc,e):localStorage.removeItem(jc)};function La(){try{return JSON.parse(localStorage.getItem(th))||[]}catch{return[]}}function Kw(e){const t=e.trim(),i=La();return t&&!i.includes(t)&&i.push(t),localStorage.setItem(th,JSON.stringify(i)),i}function qw(e){const t=La().filter(i=>i!==e);return localStorage.setItem(th,JSON.stringify(t)),t}const Og=()=>localStorage.getItem(Mg)||"",Pg=e=>localStorage.setItem(Mg,e||""),Bg="tw_orphan_kill",Yw=()=>localStorage.getItem(Bg)!=="0",Xw=e=>localStorage.setItem(Bg,e?"1":"0"),jg=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Ra(e,t){return!e||!t?[]:jg(ii(Gn)[e])[t]??[]}function Fg(e,t,i){const s=ii(Gn),n=jg(s[e]);return i&&i.length?n[t]=i:delete n[t],Object.keys(n).length?s[e]=n:delete s[e],localStorage.setItem(Gn,JSON.stringify(s)),i??[]}function Jw(e,t,i){const s=(i||"").trim(),n=Ra(e,t);return!s||!e||!t?n:Fg(e,t,[s,...n.filter(c=>c!==s)].slice(0,Nw))}function Zw(e,t,i){return!e||!t?Ra(e,t):Fg(e,t,Ra(e,t).filter(s=>s!==i))}const sh="tw_recent_docs",Hg="tw_pane_base",Qw=30;function kn(){try{return JSON.parse(localStorage.getItem(sh))||[]}catch{return[]}}function of({path:e,name:t,type:i,ts:s=Date.now()}){const n=[{path:e,name:t,type:i,ts:s},...kn().filter(c=>c.path!==e)].slice(0,Qw);return localStorage.setItem(sh,JSON.stringify(n)),n}function ey(e){const t=kn().filter(i=>i.path!==e);return localStorage.setItem(sh,JSON.stringify(t)),t}const af=e=>ii(Hg)[e]??null,ty=(e,t)=>Ps(Hg,e,t),_s=[10,11,12,13,14,16,18,20,22],iy=4,$g="tw_doc_font";function sy(){const e=localStorage.getItem($g),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<_s.length?t:iy}const ry=e=>localStorage.setItem($g,String(Math.min(_s.length-1,Math.max(0,e)))),ny=2,zg="tw_diff_font";function oy(){const e=localStorage.getItem(zg),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<_s.length?t:ny}const ay=e=>localStorage.setItem(zg,String(Math.min(_s.length-1,Math.max(0,e))));function Ug(e,t){var i;return!e||!t?[]:((i=ii(ir)[e])==null?void 0:i[t])??[]}function lf(e,t,i){if(!e||!t)return[];const s=ii(ir),n=s[e]||{};return i&&i.length?n[t]=i:delete n[t],Object.keys(n).length?s[e]=n:delete s[e],localStorage.setItem(ir,JSON.stringify(s)),i??[]}const ly=()=>localStorage.getItem(Ng),cy=e=>{e&&localStorage.setItem(Ng,e)},uy=()=>localStorage.getItem(Ig),hy=e=>{e&&localStorage.setItem(Ig,e)};function dy(e,t,i){if(!e||!t||!i||t===i)return;const s=ii(ir),n=s[e];!n||n[t]==null||(n[i]=n[t],delete n[t],localStorage.setItem(ir,JSON.stringify(s)))}function rh(e){if(!e)return[];const t=ii(ih)[e];return Array.isArray(t)?t:[]}function cf(e,t){if(!e)return[];const i=[...rh(e)];for(const s of t)s&&!i.includes(s)&&i.push(s);return Ps(ih,e,i),i}function fy(e,t){if(!e)return[];const i=rh(e).filter(s=>s!==t);return Ps(ih,e,i),i}const Fc=[{version:"0.12.2",date:"2026-07-11",highlight:{zh:"修复主屏图标偏大 / 换图标后不刷新",en:"Home-screen icon: right size & always fresh"},items:{zh:["修复了「添加到主屏」的图标在安卓上偏大、以及更换图标后旧图标不刷新的问题——图标更新现在会自动生效(已加到 iPhone 主屏的需删掉重加一次)。"],en:["Fixed the Add-to-Home-Screen icon looking oversized on Android and a changed icon not refreshing for returning users — icon updates now apply automatically (one already on an iOS home screen needs a one-time remove + re-add)."]}},{version:"0.12.1",date:"2026-07-11",highlight:{zh:"全新品牌图标与双色字标",en:"New brand icon & two-tone wordmark"},items:{zh:["焕新品牌:全新的发光终端图标(主屏图标、启动页都换了)+ 圆润的双色「handmux」字标(hand 白、mux 青→绿),官网、分享卡和 README 也一并更新。"],en:['Brand refresh: a new glowing terminal app icon (home-screen icon + boot splash) and a rounded two-tone "handmux" wordmark (hand in white, mux teal→green), with the site, share cards, and README updated to match.']}},{version:"0.12.0",date:"2026-07-11",highlight:{zh:"全屏程序也能滑动滚动 · 反馈入口 · 聊天草稿不丢",en:"Swipe-scroll full-screen apps · feedback channels · chat drafts kept"},items:{zh:["全屏程序(vim / htop / less 等)现在能直接滑动滚动了:开了鼠标的程序像电脑滚轮一样滑着滚,没开鼠标的分页器(less / man / git log)靠滑动逐行滚;每个全屏画面右侧还多了一枚翻页按钮做整页跳。","设置里新增「反馈与交流」:直达 GitHub Issues,中文用户还能扫码进微信交流群;README、官网、文档里也都能找到入口。","聊天框里没发出去的内容现在会自动保存,下次打开自动填回——误划走、切后台被杀、崩溃都不会再丢半截提示词。","修复:从终端链接或「最近」直接打开的文档,点返回会一次收起面板,不再被硬塞进「目录」层、再返一次直接退出 App。"],en:["Full-screen apps (vim / htop / less …) now scroll by swipe: mouse-mode apps scroll like a desktop wheel, and pagers (less / man / git log) scroll line-by-line on a swipe; every full-screen view also gets a page up/down button on the right for whole-page jumps.",'New "Feedback" section in Settings: a direct link to GitHub Issues, plus a WeChat user group for Chinese users — also surfaced in the README, the site, and the docs.',"Whatever you've typed in the chat box is now saved automatically and restored next time you open it — an accidental swipe-away, a background kill, or a crash no longer eats a half-written prompt.","Fixed: a doc opened straight from a terminal link or 最近 now closes the sheet in one Back press, instead of being forced into its folder view and then dropping you out of the app on the next Back."]}},{version:"0.11.1",date:"2026-07-09",highlight:{zh:"修复 Node 18 下无法启动的问题",en:"Fixes startup crash on Node 18"},items:{zh:["修复了电脑用 Node 18 时 handmux 任何命令都启动不了的问题(0.11.0 配置向导引入的依赖要求过新的 Node)。"],en:["Fixed handmux failing to start any command on Node 18 (a dependency introduced by the 0.11.0 setup wizard required a newer Node)."]}},{version:"0.11.0",date:"2026-07-08",highlight:{zh:"国内可用隧道 natapp/cpolar · 配置向导重做",en:"China-usable tunnels · setup redesigned"},items:{zh:["新增两条国内可用的隧道 natapp 和 cpolar:当 Cloudflare 在国内不稳定时,用你自己的免费账号就能把手机连到电脑。只要一个 authtoken;想要固定地址就填公网地址,留空则用免费临时域名;cpolar 的客户端还会自动下载。","`handmux setup` 重做成菜单式向导:每项设置一行、直接显示当前值,想改哪项就点哪项,不用再一路问到底。连接分两级——先选隧道类型,再进去配它的参数;推送、语音也各成小面板。第一次用会一步步带你走,默认落在「直连」并停在「保存并启动」,小白也能顺下来。"],en:["Two China-usable tunnels, natapp and cpolar: when Cloudflare is unreliable inside mainland China, reach your computer from your phone using your own free account. Just an authtoken; add a public URL for a fixed address or leave it blank for a free temporary one — and cpolar's client auto-downloads.",'`handmux setup` is now a menu-style wizard: every setting is a row showing its current value, so you jump straight to what you want to change instead of answering every prompt in order. Connection is two levels — pick the tunnel type, then configure it inside; push and voice are their own mini-panels. A first run walks you through it, defaulting to "Direct" with the cursor on "Save & start".']}},{version:"0.10.0",date:"2026-07-06",highlight:{zh:"升级前预览新功能 · 电脑 handmux open 接管",en:"Preview an update before installing · handmux open"},items:{zh:["更新提示现在会提前告诉你新版有什么:检测到有新版本时,设置里会逐版列出这次升级带来的新功能(一句话说明),让你在电脑上跑 `handmux update` 之前就知道值不值得。","电脑上新增 `handmux open <会话名>`:把你在手机上建的会话直接在电脑终端接回来(没有就新建),不用再记 `tmux new -A -s`。绑定/新建会话的弹窗里也加了这句提示。"],en:["The update notice now tells you what a new version brings before you install it: when an update is detected, Settings lists each newer version's highlight in one line, so you know whether it's worth running `handmux update` on your computer.","New `handmux open <session>` on the computer: reclaim a session you created from your phone straight into your computer's terminal (created if missing) — no need to remember `tmux new -A -s`. The bind/create dialog now hints at it too."]}},{version:"0.9.1",date:"2026-07-06",highlight:{zh:"「添加到主屏」引导",en:'"Add to Home Screen" coach'},items:{zh:["新增「添加到主屏」引导:第一次在浏览器里打开时,提示你把 handmux 装到主屏,像 App 一样全屏打开。安卓可一键安装;iPhone 给出 Safari 的「分享 → 更多 → 添加到主屏幕」三步——iOS 上收推送也需要它。装好后不再打扰。"],en:[`New "Add to Home Screen" coach: the first time you open handmux in a browser, it shows how to install it to your home screen and run it full-screen like an app. Android installs in one tap; iPhone gets the Safari steps (Share → More → Add to Home Screen) — which is also what iOS push needs. It won't nag once you've added it.`]}},{version:"0.9.0",date:"2026-07-05",highlight:{zh:"聊天输入框多行重做",en:"Multi-line chat composer redone"},items:{zh:["聊天输入框多行重做:文字占满整行,麦克风/发送悬到右下角,末行快挤到按钮才让出一行——长消息不再被右侧按钮列挤窄,多行时拖光标也不会误收键盘。"],en:["Chat composer redone for multi-line: text takes the full width, mic/send float in the bottom-right corner, and a row is yielded only when the last line actually reaches them — long messages are no longer squeezed by a right-hand button column, and dragging the caret no longer collapses the keyboard."]}},{version:"0.8.0",date:"2026-07-05",highlight:{zh:"快捷栏可自定义 · 上传体验重做",en:"Customizable quick-bars · upload redone"},items:{zh:["命令模式的常用命令分成「全局」和「当前窗口」两组:快捷栏里全局的(灰)排前、当前窗口的(绿)排后。尾部改成 ⚙ 齿轮,点开更高的编辑器分两区、各自 ▲▼ 排序。新增区一行搞定:顶部「命令/按键」大 Tab 选类型,左侧开关选加到全局还是本窗口。命令可勾「带回车」(点一下直接执行,末尾带 ⏎);按键用 ⌃⇧⌥ + 一个基键拼出组合键(如 Ctrl+C),点一下直接发到终端。","聊天模式的快捷条也能自定义了:末尾同样是 ⚙,点开编辑器,「消息/按键」两个 Tab —— 消息就是一句发给 agent 的话(以 / 开头当斜杠命令),按键用同一套 ⌃⇧⌥ + 基键拼组合键(ESC/Tab/退格默认就在里面)。点任意一条可回到弹窗改,▲▼ 排序。","上传体验重做:进度条不再一冲到 100% 就假装完事——先显示真实发送进度,字节发完后转成「服务器接收中…」,大文件不再像卡死。上传中可随时「取消」,已传完的文件会保留。","重名不再报错:上传一个已存在的文件名会自动改名(如 `报告 (1).pdf`),绝不覆盖原文件。上传失败时也会告诉你具体原因(过大 / 不支持的类型)。","现在可以上传视频了(mp4、mov、webm 等)。","Git 面板现在能打开 `/tmp` 等家目录以外的仓库(比如 agent 在 /tmp 里干活的项目),不再报红。","用量进度条新增「时间竖线」:标出当前重置窗口已过去的时间比例。已用量在竖线左边=烧得比时间慢(稳),越过竖线=烧得偏快,一眼看出自己的节奏。","新增版本更新提示:每次打开检测一次,服务端落后于 npm 最新版时设置齿轮亮红点,进设置能看到当前/最新版本号,按提示在电脑上跑 `handmux update` 升级即可。"],en:[`Command mode's saved commands now split into "Global" and "This window": the quick-bar shows global ones (grey) first, then this window's (green). The trailing + is now a ⚙ opening a taller two-section editor, each reorderable with ▲▼. One add row does it all: a big Command/Key tab picks the type, a left switch picks which list it lands in. Commands can tick "Send Enter" (a tap runs it, marked ⏎); keys are built from ⌃⇧⌥ + a base key into a combo like Ctrl+C that fires straight into the terminal.`,"Chat mode's quick-bar is now customizable too: the same ⚙ at the end opens an editor with a Message/Key tab — a message is a line sent to the agent (starts with / for a slash-command), a key is built from the same ⌃⇧⌥ + base-key picker (ESC/Tab/Backspace ship as defaults). Tap any row to re-open the card and edit it, ▲▼ to reorder.","Upload redone: the bar no longer jumps to 100% and then hangs — it shows real send progress, then flips to “receiving on the server…” once bytes are flushed, so a big file no longer looks stuck. You can Cancel mid-upload; already-uploaded files are kept.","Name clashes no longer fail: uploading an existing name auto-renames (e.g. `report (1).pdf`) and never overwrites. Failures now tell you why (too large / unsupported type).","Video files can now be uploaded (mp4, mov, webm, …).","The git panel can now open repos outside your home directory (e.g. a project an agent is working in under `/tmp`) instead of erroring.",`Usage bars now show a "time marker": a thin vertical line at how far the current reset window has elapsed. Usage left of the line = you're burning slower than the clock; past it = faster — pacing at a glance.`,"New update notice: checked once each time you open the app — when the server is behind the latest npm release, the settings gear lights a dot and Settings shows the current/latest version so you can run `handmux update` on your computer."]}},{version:"0.7.0",date:"2026-07-03",highlight:{zh:"新增「用量」页",en:'New "Usage" page'},items:{zh:["新增「用量」页(顶栏仪表盘图标):一眼看 Claude 的 5 小时 / 本周额度进度条 + 重置倒计时,以及 Codex 的额度环。全部读主机本地文件,不登录账号、不调用 API。Codex 零配置即用;Claude 的实时额度需要在电脑上运行一次 handmux hooks install(会装一个 statusLine 捕获器,已有自定义 statusLine 的绝不覆盖)。"],en:["New \"Usage\" page (gauge icon in the top bar): see Claude's 5-hour / weekly limit bars with reset countdowns, plus Codex's quota ring — at a glance. All read from local files on the host: no account login, no API calls. Codex works with zero setup; Claude's live limits need a one-time `handmux hooks install` on the computer (it adds a statusLine capturer and never clobbers an existing custom statusLine)."]}},{version:"0.6.0",date:"2026-07-02",highlight:{zh:"新增 Codex 支持",en:"Codex support added"},items:{zh:["新增 Codex 支持:收件箱与推送现在同时认得 Claude 和 Codex——Codex 会话的「进行中 / 需要你 / 已完成」都会像 Claude 一样推到手机;tmux 外跑着的 Codex 会话也能一键「接管」进来(codex resume);新建会话的启动命令预设新增 codex。收件箱每一条、以及顶栏当前会话,都带上 Claude / Codex 标记,一眼区分是哪种 agent。","会话抽屉底部新增「未接管会话」:一眼看到在 tmux 外跑着、手机还控制不了的 Claude / Codex(带状态、时间、最后一条消息),点「接管」即可在 tmux 里续接同一会话——自动加进会话列表并跳进去,以后手机随时回来。"],en:["Added Codex support: the inbox and push now recognize both Claude and Codex — a Codex session's working / waiting-on-you / done states reach your phone just like Claude. You can take over Codex sessions running outside tmux (codex resume), and there's a new codex startup-command preset. Every inbox row and the current-session topbar now carry a Claude / Codex mark so you can tell the two apart at a glance.",`The session drawer now has a "not taken over" section at the bottom: Claude / Codex sessions running outside tmux that your phone can't steer yet (with their state, time, and last message). Tap Take over to resume the same conversation inside tmux — it's added to your session list and opened, so you can return to it from your phone anytime.`]}},{version:"0.5.0",date:"2026-06-28",highlight:{zh:"首个公开版 · 多语言界面",en:"First public release · multi-language UI"},items:{zh:["首个公开发布版本(npm 上的 handmux)。","新增繁体中文、日语、韩语界面(设置 → Language 切换)。","想法角标:有未完成想法时,灯泡图标右上角显示数量。","设置面板列数调节:实时显示当前列数,新增 ±1 精细调节按钮。"],en:["First public release (handmux on npm).","Added Traditional Chinese, Japanese, and Korean UI (Settings → Language to switch).","Idea badge: when there are pending ideas, the lightbulb icon shows a count in the corner.","Settings column control: shows the current column count live, with new ±1 fine-adjust buttons."]}},{date:"2026-06",label:{zh:"早期内测",en:"Early builds"},highlight:{zh:"早期内测",en:"Early builds"},items:{zh:["新增「Git」面板(顶栏图标):仿 VS Code,一页同屏看变更 + 提交历史,点文件/提交看全屏彩色 diff;只读,不动你的工作树。可绑多个目录用 tab 切换。","新增「想法」管理器(顶栏灯泡):按窗口记待办,可编辑、拖拽排序、一键填入、语音输入。","网站预览:选目录预览静态站点,或填端口预览本机正在跑的服务(走专属子域名);图片预览:文件/终端里点图片(含 GIF)直接内嵌打开,可捏合缩放、长按保存。","文件:上传/下载(进度条、系统分享上传),浏览器打开即落到当前会话目录,支持 /tmp、$TMPDIR;文档在应用内预览 Markdown/txt/log/sh,可语音朗读(逐句高亮)。","收件箱 + Web Push:汇总各会话「进行中/已完成/需要你」,窗口标签带状态色点,需要你时推送到手机。","命令面板:常用 + 每会话最近命令,斜杠命令快捷键(/clear、/compact、/model…)。","可靠性:断线重连(退避 + 每请求超时 + 断线横幅,后台自动暂停轮询),离线兜底页。","首版:手机浏览器驱动真实 tmux 面板(xterm 终端 + 会话/窗口/pane 导航 + 深链),移动按键区、键盘自动抬升、列宽/字号调节,可添加到主屏(PWA)。"],en:['New "Git" panel (top-bar icon): VS Code style — changes + commit history on one screen, tap a file/commit for a full-screen colored diff; read-only, never touches your working tree. Bind multiple dirs and switch via tabs.','New "Ideas" manager (top-bar lightbulb): per-window to-dos — edit, drag to reorder, one-tap insert, voice input.',"Website preview: pick a directory for a static site, or a port for a service running locally (dedicated subdomain); image preview: tap an image (including GIFs) in Files or the terminal to open inline, pinch to zoom, long-press to save.","Files: upload/download (progress bar, share-to-upload), the browser opens straight to the current session dir, /tmp and $TMPDIR supported; documents preview in-app (Markdown/txt/log/sh) and can be read aloud (sentence-by-sentence highlight).","Inbox + Web Push: summarizes each session's In-progress / Done / Needs-you, window tabs get a status color dot, and Needs-you pushes to your phone.","Command panel: frequent + per-session recent commands, slash-command shortcuts (/clear, /compact, /model, …).","Reliability: reconnect on disconnect (backoff + per-request timeout + connection-lost banner, polling auto-paused in the background) and an offline fallback page.","First release: a phone browser drives real tmux panes (xterm terminal + session/window/pane navigation + deep links), a mobile key bar, keyboard auto-lift, column-width/font-size adjustment, and add-to-home-screen (PWA)."]}}],py=e=>e.version||e.date,Ao=Fc[0]?py(Fc[0]):null,my={jpg:"image/jpeg",jpeg:"image/jpeg",jfif:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",svg:"image/svg+xml",ico:"image/x-icon",heic:"image/heic",heif:"image/heif",avif:"image/avif",tif:"image/tiff",tiff:"image/tiff",pdf:"application/pdf",txt:"text/plain",log:"text/plain",md:"text/markdown",markdown:"text/markdown",csv:"text/csv",json:"application/json",xml:"application/xml",html:"text/html",htm:"text/html",zip:"application/zip",mp4:"video/mp4",m4v:"video/mp4",mov:"video/quicktime",webm:"video/webm",mkv:"video/x-matroska",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",flv:"video/x-flv","3gp":"video/3gpp",ogv:"video/ogg",mpeg:"video/mpeg",mpg:"video/mpeg",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};function tl(e){const t=(e||"").lastIndexOf(".");return t<0?"":my[e.slice(t+1).toLowerCase()]||""}function gy(e){return tl(e).startsWith("image/")}class lt extends Error{}async function We(e,t={}){const i=cr(),{timeoutMs:s,...n}=t,c={Authorization:`Bearer ${i??""}`,...n.headers||{}};n.body&&(c["Content-Type"]="application/json");let m=null,r=null;s&&(m=new AbortController,r=setTimeout(()=>m.abort(),s));try{const o=await fetch(e,{cache:"no-store",...n,headers:c,signal:m==null?void 0:m.signal});if(o.status===401)throw new lt;if(!o.ok){let f=`${e} -> ${o.status}`;try{const v=await o.json();v!=null&&v.error&&(f=v.error)}catch{}throw new Error(f)}return o.status===204?{unchanged:!0}:await o.json()}catch(o){throw m!=null&&m.signal.aborted?new Error(`${e} -> timeout`):o}finally{r&&clearTimeout(r)}}const Dr=()=>We("/api/sessions"),_y=()=>We("/api/usage"),on=e=>We(`/api/windows?session=${encodeURIComponent(e)}`),Mo=e=>We(`/api/panes?window=${encodeURIComponent(e)}`),vy=(e,t=1500,i)=>We(`/api/history?pane=${encodeURIComponent(e)}&lines=${t}${i?`&since=${i}`:""}`,{timeoutMs:8e3}),Zo=(e,t,i=!0)=>We("/api/send",{method:"POST",body:JSON.stringify({pane:e,text:t,enter:i})}),Hc=(e,t)=>We("/api/keys",{method:"POST",body:JSON.stringify({pane:e,keys:t})}),wy=(e,t,i=1)=>We("/api/scroll",{method:"POST",body:JSON.stringify({pane:e,dir:t,lines:i})}),yy=(e,t,i)=>We("/api/resize",{method:"POST",body:JSON.stringify({window:e,cols:t,rows:i})}),Sy=(e,t)=>We("/api/resize",{method:"POST",body:JSON.stringify({pane:e,cols:t})}),by=e=>We(`/api/layout?window=${encodeURIComponent(e)}`),xy=(e,t)=>We("/api/resize",{method:"POST",body:JSON.stringify({window:e,auto:!0,layout:t})}),Cy=(e,t,i)=>We("/api/sessions",{method:"POST",body:JSON.stringify({name:e,cwd:t,cmd:i})}),ky=(e,t,i,s,n)=>We("/api/windows",{method:"POST",body:JSON.stringify({session:e,pane:t,name:i,cwd:s,cmd:n})}),Ey=(e,t)=>We("/api/sessions",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),Ly=(e,t)=>We("/api/windows",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),Ry=e=>We(`/api/windows?window=${encodeURIComponent(e)}`,{method:"DELETE"}),Ty=(e,t)=>We("/api/windows/swap",{method:"POST",body:JSON.stringify({a:e,b:t})}),Dy=(e,t)=>We("/api/dir",{method:"POST",body:JSON.stringify({dir:e,name:t})}),uf=(e,t=null)=>We(`/api/file?path=${encodeURIComponent(e)}${t!=null?`&mtime=${encodeURIComponent(t)}`:""}`,{timeoutMs:8e3}),Wg=e=>We(`/api/dir${e?`?path=${encodeURIComponent(e)}`:""}`,{timeoutMs:8e3}),rr=e=>We(`/api/pane-cwd?pane=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Ay=()=>We("/api/asr/sign",{timeoutMs:8e3}),Vg=()=>We("/api/config",{timeoutMs:8e3}),My=()=>We("/api/version",{timeoutMs:8e3}),Ny=()=>We("/api/hooks/install",{method:"POST",timeoutMs:15e3}),Iy=(e=[])=>We(`/api/states?sessions=${encodeURIComponent(e.join(","))}`,{timeoutMs:4e3}),hf=()=>We("/api/orphans",{timeoutMs:8e3}),Oy=e=>We("/api/orphans/takeover",{method:"POST",body:JSON.stringify(e),timeoutMs:15e3}),df=e=>We(`/api/git/repos?dir=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Py=e=>We(`/api/git/status?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),By=(e,{limit:t=50,ref:i}={})=>{let s=`/api/git/log?repo=${encodeURIComponent(e)}&limit=${t}`;return i&&(s+=`&ref=${encodeURIComponent(i)}`),We(s,{timeoutMs:8e3})},jy=e=>We(`/api/git/branches?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Fy=(e,{path:t,commit:i,staged:s}={})=>{let n=`/api/git/diff?repo=${encodeURIComponent(e)}&path=${encodeURIComponent(t??"")}`;return i&&(n+=`&commit=${encodeURIComponent(i)}`),s&&(n+="&staged=1"),We(n,{timeoutMs:8e3})},Hy=(e,t)=>We(`/api/git/commit?repo=${encodeURIComponent(e)}&hash=${encodeURIComponent(t)}`,{timeoutMs:8e3});function $y(e,t){return new Promise((i,s)=>{const n=cr(),c=new XMLHttpRequest;c.open("GET",`/api/download?path=${encodeURIComponent(e)}`),c.setRequestHeader("Authorization",`Bearer ${n??""}`),c.responseType="blob",c.onprogress=m=>{t&&m.lengthComputable&&t(m.loaded/m.total)},c.onerror=()=>s(new Error("download failed")),c.onload=()=>{if(c.status===401)return s(new lt);if(c.status<200||c.status>=300)return s(new Error(`download -> ${c.status}`));const m=e.split("/").pop()||"download";let r=c.response;const o=tl(m);o&&r&&r.type!==o&&(r=r.slice(0,r.size,o));const f=URL.createObjectURL(r),v=document.createElement("a");v.href=f,v.download=m,document.body.appendChild(v),v.click(),v.remove(),setTimeout(()=>URL.revokeObjectURL(f),1e3),i()},c.send()})}function ff(e,t=null){return new Promise((i,s)=>{const n=cr(),c=new XMLHttpRequest,m=t!=null?`&mtime=${encodeURIComponent(t)}`:"";c.open("GET",`/api/download?path=${encodeURIComponent(e)}${m}`),c.setRequestHeader("Authorization",`Bearer ${n??""}`),c.responseType="blob",c.onerror=()=>s(new Error(D("api.loadFailed"))),c.onload=()=>{if(c.status===304)return i({notModified:!0});if(c.status===401)return s(new lt);if(c.status<200||c.status>=300)return s(new Error(`image -> ${c.status}`));let r=c.response;const o=tl(e.split("/").pop()||"");o&&r&&r.type!==o&&(r=r.slice(0,r.size,o));const f=Number(c.getResponseHeader("X-Mtime"));i({url:URL.createObjectURL(r),mtimeMs:Number.isFinite(f)?f:null})},c.send()})}const pf=(e,t)=>{const i=encodeURIComponent(cr()??"");return(e==null?void 0:e.kind)==="dynamic"?`https://${encodeURIComponent(e.name)}.${t}/?token=${i}`:`/preview/${encodeURIComponent(e==null?void 0:e.name)}/?token=${i}`},Ml=(e,t={})=>We("/api/previews",{method:"POST",body:JSON.stringify(t.port!=null?{name:e,port:t.port}:{name:e,dir:t.dir})}),zy=()=>We("/api/previews"),Uy=e=>We(`/api/previews/${encodeURIComponent(e)}`,{method:"DELETE"});class Ta extends Error{constructor(){super("upload aborted"),this.name="UploadAbort"}}function Gg(e,t,i,s=!1,{signal:n}={}){return new Promise((c,m)=>{if(n!=null&&n.aborted)return m(new Ta);const r=cr(),o=new FormData;o.append("dir",e),s&&o.append("stash","1"),o.append("file",t,t.name);const f=new XMLHttpRequest;f.open("POST","/api/upload"),f.setRequestHeader("Authorization",`Bearer ${r??""}`),f.upload.onprogress=p=>{i&&p.lengthComputable&&i(p.loaded/p.total,"sending")},f.upload.onload=()=>{i==null||i(1,"processing")};const v=()=>f.abort();n&&n.addEventListener("abort",v,{once:!0});const h=()=>{n&&n.removeEventListener("abort",v)};f.onabort=()=>{h(),m(new Ta)},f.onerror=()=>{h(),m(new Error(D("api.uploadFailed")))},f.onload=()=>{if(h(),f.status===401)return m(new lt);if(f.status>=200&&f.status<300)try{return c(JSON.parse(f.responseText))}catch{return c({})}const p={400:D("api.uploadBadDir"),409:D("api.uploadDuplicate"),413:D("api.uploadTooLarge"),415:D("api.uploadBadType")}[f.status]||D("api.uploadFailed");m(new Error(p))},f.send(o)})}function mf(e){return String(e||"").replace(/[^A-Za-z0-9._-]+/g,"-").replace(/-{2,}/g,"-").replace(/^[-.]+|-+$/g,"").toLowerCase()}function Wy({session:e,windowName:t,windowId:i}){const s=[e,t].map(mf).filter(Boolean);return s.push(mf(i)||"w"),s.join("-")}const Vy=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-label="Claude"><title>Claude</title><path fill="#d97757" d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>
40
+ `+c.stack}return{value:e,source:t,stack:n,digest:null}}function Rl(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function xc(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var Q0=typeof WeakMap=="function"?WeakMap:Map;function Ym(e,t,i){i=hs(-1,i),i.tag=3,i.payload={element:null};var s=t.value;return i.callback=function(){ba||(ba=!0,Nc=s),xc(e,t)},i}function Xm(e,t,i){i=hs(-1,i),i.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var n=t.value;i.payload=function(){return s(n)},i.callback=function(){xc(e,t)}}var c=e.stateNode;return c!==null&&typeof c.componentDidCatch=="function"&&(i.callback=function(){xc(e,t),typeof s!="function"&&(As===null?As=new Set([this]):As.add(this));var m=t.stack;this.componentDidCatch(t.value,{componentStack:m!==null?m:""})}),i}function Md(e,t,i){var s=e.pingCache;if(s===null){s=e.pingCache=new Q0;var n=new Set;s.set(t,n)}else n=s.get(t),n===void 0&&(n=new Set,s.set(t,n));n.has(i)||(n.add(i),e=fw.bind(null,e,t,i),t.then(e,e))}function Nd(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Id(e,t,i,s,n){return e.mode&1?(e.flags|=65536,e.lanes=n,e):(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=hs(-1,1),t.tag=2,Ds(i,t,1))),i.lanes|=1),e)}var ew=vs.ReactCurrentOwner,mi=!1;function ni(e,t,i,s){t.child=e===null?km(t,null,i,s):Ur(t,e.child,i,s)}function Pd(e,t,i,s,n){i=i.render;var c=t.ref;return Br(t,n),s=Ou(e,t,i,s,c,n),i=Bu(),e!==null&&!mi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,gs(e,t,n)):(wt&&i&&Cu(t),t.flags|=1,ni(e,t,s,n),t.child)}function Od(e,t,i,s,n){if(e===null){var c=i.type;return typeof c=="function"&&!Ku(c)&&c.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=c,Jm(e,t,c,s,n)):(e=Jo(i.type,null,s,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!(e.lanes&n)){var m=c.memoizedProps;if(i=i.compare,i=i!==null?i:On,i(m,s)&&e.ref===t.ref)return gs(e,t,n)}return t.flags|=1,e=Ns(c,s),e.ref=t.ref,e.return=t,t.child=e}function Jm(e,t,i,s,n){if(e!==null){var c=e.memoizedProps;if(On(c,s)&&e.ref===t.ref)if(mi=!1,t.pendingProps=s=c,(e.lanes&n)!==0)e.flags&131072&&(mi=!0);else return t.lanes=e.lanes,gs(e,t,n)}return Cc(e,t,i,s,n)}function Zm(e,t,i){var s=t.pendingProps,n=s.children,c=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ht(Rr,Si),Si|=i;else{if(!(i&1073741824))return e=c!==null?c.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ht(Rr,Si),Si|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=c!==null?c.baseLanes:i,ht(Rr,Si),Si|=s}else c!==null?(s=c.baseLanes|i,t.memoizedState=null):s=i,ht(Rr,Si),Si|=s;return ni(e,t,n,i),t.child}function Qm(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function Cc(e,t,i,s,n){var c=_i(i)?Js:ti.current;return c=$r(t,c),Br(t,n),i=Ou(e,t,i,s,c,n),s=Bu(),e!==null&&!mi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,gs(e,t,n)):(wt&&s&&Cu(t),t.flags|=1,ni(e,t,i,n),t.child)}function Bd(e,t,i,s,n){if(_i(i)){var c=!0;da(t)}else c=!1;if(Br(t,n),t.stateNode===null)qo(e,t),qm(t,i,s),bc(t,i,s,n),s=!0;else if(e===null){var m=t.stateNode,r=t.memoizedProps;m.props=r;var o=m.context,f=i.contextType;typeof f=="object"&&f!==null?f=Mi(f):(f=_i(i)?Js:ti.current,f=$r(t,f));var v=i.getDerivedStateFromProps,h=typeof v=="function"||typeof m.getSnapshotBeforeUpdate=="function";h||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(r!==s||o!==f)&&Ad(t,m,s,f),Ss=!1;var p=t.memoizedState;m.state=p,_a(t,s,m,n),o=t.memoizedState,r!==s||p!==o||gi.current||Ss?(typeof v=="function"&&(Sc(t,i,v,s),o=t.memoizedState),(r=Ss||Dd(t,i,r,s,p,o,f))?(h||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(t.flags|=4194308)):(typeof m.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=o),m.props=s,m.state=o,m.context=f,s=r):(typeof m.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{m=t.stateNode,Lm(e,t),r=t.memoizedProps,f=t.type===t.elementType?r:zi(t.type,r),m.props=f,h=t.pendingProps,p=m.context,o=i.contextType,typeof o=="object"&&o!==null?o=Mi(o):(o=_i(i)?Js:ti.current,o=$r(t,o));var y=i.getDerivedStateFromProps;(v=typeof y=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(r!==h||p!==o)&&Ad(t,m,s,o),Ss=!1,p=t.memoizedState,m.state=p,_a(t,s,m,n);var S=t.memoizedState;r!==h||p!==S||gi.current||Ss?(typeof y=="function"&&(Sc(t,i,y,s),S=t.memoizedState),(f=Ss||Dd(t,i,f,s,p,S,o)||!1)?(v||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(s,S,o),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(s,S,o)),typeof m.componentDidUpdate=="function"&&(t.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof m.componentDidUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=S),m.props=s,m.state=S,m.context=o,s=f):(typeof m.componentDidUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),s=!1)}return kc(e,t,i,s,c,n)}function kc(e,t,i,s,n,c){Qm(e,t);var m=(t.flags&128)!==0;if(!s&&!m)return n&&bd(t,i,!1),gs(e,t,c);s=t.stateNode,ew.current=t;var r=m&&typeof i.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&m?(t.child=Ur(t,e.child,null,c),t.child=Ur(t,null,r,c)):ni(e,t,r,c),t.memoizedState=s.state,n&&bd(t,i,!0),t.child}function eg(e){var t=e.stateNode;t.pendingContext?Sd(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Sd(e,t.context,!1),Mu(e,t.containerInfo)}function jd(e,t,i,s,n){return zr(),Eu(n),t.flags|=256,ni(e,t,i,s),t.child}var Ec={dehydrated:null,treeContext:null,retryLane:0};function Lc(e){return{baseLanes:e,cachePool:null,transitions:null}}function tg(e,t,i){var s=t.pendingProps,n=bt.current,c=!1,m=(t.flags&128)!==0,r;if((r=m)||(r=e!==null&&e.memoizedState===null?!1:(n&2)!==0),r?(c=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(n|=1),ht(bt,n&1),e===null)return wc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(m=s.children,e=s.fallback,c?(s=t.mode,c=t.child,m={mode:"hidden",children:m},!(s&1)&&c!==null?(c.childLanes=0,c.pendingProps=m):c=Ya(m,s,0,null),e=Xs(e,s,i,null),c.return=t,e.return=t,c.sibling=e,t.child=c,t.child.memoizedState=Lc(i),t.memoizedState=Ec,e):Hu(t,m));if(n=e.memoizedState,n!==null&&(r=n.dehydrated,r!==null))return tw(e,t,m,s,r,n,i);if(c){c=s.fallback,m=t.mode,n=e.child,r=n.sibling;var o={mode:"hidden",children:s.children};return!(m&1)&&t.child!==n?(s=t.child,s.childLanes=0,s.pendingProps=o,t.deletions=null):(s=Ns(n,o),s.subtreeFlags=n.subtreeFlags&14680064),r!==null?c=Ns(r,c):(c=Xs(c,m,i,null),c.flags|=2),c.return=t,s.return=t,s.sibling=c,t.child=s,s=c,c=t.child,m=e.child.memoizedState,m=m===null?Lc(i):{baseLanes:m.baseLanes|i,cachePool:null,transitions:m.transitions},c.memoizedState=m,c.childLanes=e.childLanes&~i,t.memoizedState=Ec,s}return c=e.child,e=c.sibling,s=Ns(c,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=i),s.return=t,s.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=s,t.memoizedState=null,s}function Hu(e,t){return t=Ya({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Eo(e,t,i,s){return s!==null&&Eu(s),Ur(t,e.child,null,i),e=Hu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function tw(e,t,i,s,n,c,m){if(i)return t.flags&256?(t.flags&=-257,s=Rl(Error(ce(422))),Eo(e,t,m,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(c=s.fallback,n=t.mode,s=Ya({mode:"visible",children:s.children},n,0,null),c=Xs(c,n,m,null),c.flags|=2,s.return=t,c.return=t,s.sibling=c,t.child=s,t.mode&1&&Ur(t,e.child,null,m),t.child.memoizedState=Lc(m),t.memoizedState=Ec,c);if(!(t.mode&1))return Eo(e,t,m,null);if(n.data==="$!"){if(s=n.nextSibling&&n.nextSibling.dataset,s)var r=s.dgst;return s=r,c=Error(ce(419)),s=Rl(c,s,void 0),Eo(e,t,m,s)}if(r=(m&e.childLanes)!==0,mi||r){if(s=zt,s!==null){switch(m&-m){case 4:n=2;break;case 16:n=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:n=32;break;case 536870912:n=268435456;break;default:n=0}n=n&(s.suspendedLanes|m)?0:n,n!==0&&n!==c.retryLane&&(c.retryLane=n,ms(e,n),Gi(s,e,n,-1))}return Gu(),s=Rl(Error(ce(421))),Eo(e,t,m,s)}return n.data==="$?"?(t.flags|=128,t.child=e.child,t=pw.bind(null,e),n._reactRetry=t,null):(e=c.treeContext,xi=Ts(n.nextSibling),Ci=t,wt=!0,Wi=null,e!==null&&(Ri[Ti++]=cs,Ri[Ti++]=us,Ri[Ti++]=Zs,cs=e.id,us=e.overflow,Zs=t),t=Hu(t,s.children),t.flags|=4096,t)}function Fd(e,t,i){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),yc(e.return,t,i)}function Tl(e,t,i,s,n){var c=e.memoizedState;c===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:i,tailMode:n}:(c.isBackwards=t,c.rendering=null,c.renderingStartTime=0,c.last=s,c.tail=i,c.tailMode=n)}function ig(e,t,i){var s=t.pendingProps,n=s.revealOrder,c=s.tail;if(ni(e,t,s.children,i),s=bt.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Fd(e,i,t);else if(e.tag===19)Fd(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(ht(bt,s),!(t.mode&1))t.memoizedState=null;else switch(n){case"forwards":for(i=t.child,n=null;i!==null;)e=i.alternate,e!==null&&va(e)===null&&(n=i),i=i.sibling;i=n,i===null?(n=t.child,t.child=null):(n=i.sibling,i.sibling=null),Tl(t,!1,n,i,c);break;case"backwards":for(i=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&va(e)===null){t.child=n;break}e=n.sibling,n.sibling=i,i=n,n=e}Tl(t,!0,i,null,c);break;case"together":Tl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function qo(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function gs(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),er|=t.lanes,!(i&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(ce(153));if(t.child!==null){for(e=t.child,i=Ns(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Ns(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function iw(e,t,i){switch(t.tag){case 3:eg(t),zr();break;case 5:Rm(t);break;case 1:_i(t.type)&&da(t);break;case 4:Mu(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,n=t.memoizedProps.value;ht(ma,s._currentValue),s._currentValue=n;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(ht(bt,bt.current&1),t.flags|=128,null):i&t.child.childLanes?tg(e,t,i):(ht(bt,bt.current&1),e=gs(e,t,i),e!==null?e.sibling:null);ht(bt,bt.current&1);break;case 19:if(s=(i&t.childLanes)!==0,e.flags&128){if(s)return ig(e,t,i);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),ht(bt,bt.current),s)break;return null;case 22:case 23:return t.lanes=0,Zm(e,t,i)}return gs(e,t,i)}var sg,Rc,rg,ng;sg=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};Rc=function(){};rg=function(e,t,i,s){var n=e.memoizedProps;if(n!==s){e=t.stateNode,qs(os.current);var c=null;switch(i){case"input":n=Xl(e,n),s=Xl(e,s),c=[];break;case"select":n=Ct({},n,{value:void 0}),s=Ct({},s,{value:void 0}),c=[];break;case"textarea":n=Ql(e,n),s=Ql(e,s),c=[];break;default:typeof n.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=ua)}tc(i,s);var m;i=null;for(f in n)if(!s.hasOwnProperty(f)&&n.hasOwnProperty(f)&&n[f]!=null)if(f==="style"){var r=n[f];for(m in r)r.hasOwnProperty(m)&&(i||(i={}),i[m]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(Tn.hasOwnProperty(f)?c||(c=[]):(c=c||[]).push(f,null));for(f in s){var o=s[f];if(r=n!=null?n[f]:void 0,s.hasOwnProperty(f)&&o!==r&&(o!=null||r!=null))if(f==="style")if(r){for(m in r)!r.hasOwnProperty(m)||o&&o.hasOwnProperty(m)||(i||(i={}),i[m]="");for(m in o)o.hasOwnProperty(m)&&r[m]!==o[m]&&(i||(i={}),i[m]=o[m])}else i||(c||(c=[]),c.push(f,i)),i=o;else f==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,r=r?r.__html:void 0,o!=null&&r!==o&&(c=c||[]).push(f,o)):f==="children"?typeof o!="string"&&typeof o!="number"||(c=c||[]).push(f,""+o):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(Tn.hasOwnProperty(f)?(o!=null&&f==="onScroll"&&mt("scroll",e),c||r===o||(c=[])):(c=c||[]).push(f,o))}i&&(c=c||[]).push("style",i);var f=c;(t.updateQueue=f)&&(t.flags|=4)}};ng=function(e,t,i,s){i!==s&&(t.flags|=4)};function sn(e,t){if(!wt)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var s=null;i!==null;)i.alternate!==null&&(s=i),i=i.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Zt(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,s=0;if(t)for(var n=e.child;n!==null;)i|=n.lanes|n.childLanes,s|=n.subtreeFlags&14680064,s|=n.flags&14680064,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)i|=n.lanes|n.childLanes,s|=n.subtreeFlags,s|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=s,e.childLanes=i,t}function sw(e,t,i){var s=t.pendingProps;switch(ku(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Zt(t),null;case 1:return _i(t.type)&&ha(),Zt(t),null;case 3:return s=t.stateNode,Wr(),gt(gi),gt(ti),Iu(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Co(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Wi!==null&&(Oc(Wi),Wi=null))),Rc(e,t),Zt(t),null;case 5:Nu(t);var n=qs($n.current);if(i=t.type,e!==null&&t.stateNode!=null)rg(e,t,i,s,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(ce(166));return Zt(t),null}if(e=qs(os.current),Co(t)){s=t.stateNode,i=t.type;var c=t.memoizedProps;switch(s[is]=t,s[Fn]=c,e=(t.mode&1)!==0,i){case"dialog":mt("cancel",s),mt("close",s);break;case"iframe":case"object":case"embed":mt("load",s);break;case"video":case"audio":for(n=0;n<pn.length;n++)mt(pn[n],s);break;case"source":mt("error",s);break;case"img":case"image":case"link":mt("error",s),mt("load",s);break;case"details":mt("toggle",s);break;case"input":qh(s,c),mt("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!c.multiple},mt("invalid",s);break;case"textarea":Xh(s,c),mt("invalid",s)}tc(i,c),n=null;for(var m in c)if(c.hasOwnProperty(m)){var r=c[m];m==="children"?typeof r=="string"?s.textContent!==r&&(c.suppressHydrationWarning!==!0&&xo(s.textContent,r,e),n=["children",r]):typeof r=="number"&&s.textContent!==""+r&&(c.suppressHydrationWarning!==!0&&xo(s.textContent,r,e),n=["children",""+r]):Tn.hasOwnProperty(m)&&r!=null&&m==="onScroll"&&mt("scroll",s)}switch(i){case"input":mo(s),Yh(s,c,!0);break;case"textarea":mo(s),Jh(s);break;case"select":case"option":break;default:typeof c.onClick=="function"&&(s.onclick=ua)}s=n,t.updateQueue=s,s!==null&&(t.flags|=4)}else{m=n.nodeType===9?n:n.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Np(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=m.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=m.createElement(i,{is:s.is}):(e=m.createElement(i),i==="select"&&(m=e,s.multiple?m.multiple=!0:s.size&&(m.size=s.size))):e=m.createElementNS(e,i),e[is]=t,e[Fn]=s,sg(e,t,!1,!1),t.stateNode=e;e:{switch(m=ic(i,s),i){case"dialog":mt("cancel",e),mt("close",e),n=s;break;case"iframe":case"object":case"embed":mt("load",e),n=s;break;case"video":case"audio":for(n=0;n<pn.length;n++)mt(pn[n],e);n=s;break;case"source":mt("error",e),n=s;break;case"img":case"image":case"link":mt("error",e),mt("load",e),n=s;break;case"details":mt("toggle",e),n=s;break;case"input":qh(e,s),n=Xl(e,s),mt("invalid",e);break;case"option":n=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},n=Ct({},s,{value:void 0}),mt("invalid",e);break;case"textarea":Xh(e,s),n=Ql(e,s),mt("invalid",e);break;default:n=s}tc(i,n),r=n;for(c in r)if(r.hasOwnProperty(c)){var o=r[c];c==="style"?Op(e,o):c==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&Ip(e,o)):c==="children"?typeof o=="string"?(i!=="textarea"||o!=="")&&Dn(e,o):typeof o=="number"&&Dn(e,""+o):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Tn.hasOwnProperty(c)?o!=null&&c==="onScroll"&&mt("scroll",e):o!=null&&uu(e,c,o,m))}switch(i){case"input":mo(e),Yh(e,s,!1);break;case"textarea":mo(e),Jh(e);break;case"option":s.value!=null&&e.setAttribute("value",""+Is(s.value));break;case"select":e.multiple=!!s.multiple,c=s.value,c!=null?Nr(e,!!s.multiple,c,!1):s.defaultValue!=null&&Nr(e,!!s.multiple,s.defaultValue,!0);break;default:typeof n.onClick=="function"&&(e.onclick=ua)}switch(i){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Zt(t),null;case 6:if(e&&t.stateNode!=null)ng(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(ce(166));if(i=qs($n.current),qs(os.current),Co(t)){if(s=t.stateNode,i=t.memoizedProps,s[is]=t,(c=s.nodeValue!==i)&&(e=Ci,e!==null))switch(e.tag){case 3:xo(s.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&xo(s.nodeValue,i,(e.mode&1)!==0)}c&&(t.flags|=4)}else s=(i.nodeType===9?i:i.ownerDocument).createTextNode(s),s[is]=t,t.stateNode=s}return Zt(t),null;case 13:if(gt(bt),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(wt&&xi!==null&&t.mode&1&&!(t.flags&128))xm(),zr(),t.flags|=98560,c=!1;else if(c=Co(t),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(ce(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(ce(317));c[is]=t}else zr(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Zt(t),c=!1}else Wi!==null&&(Oc(Wi),Wi=null),c=!0;if(!c)return t.flags&65536?t:null}return t.flags&128?(t.lanes=i,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||bt.current&1?jt===0&&(jt=3):Gu())),t.updateQueue!==null&&(t.flags|=4),Zt(t),null);case 4:return Wr(),Rc(e,t),e===null&&Bn(t.stateNode.containerInfo),Zt(t),null;case 10:return Tu(t.type._context),Zt(t),null;case 17:return _i(t.type)&&ha(),Zt(t),null;case 19:if(gt(bt),c=t.memoizedState,c===null)return Zt(t),null;if(s=(t.flags&128)!==0,m=c.rendering,m===null)if(s)sn(c,!1);else{if(jt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(m=va(e),m!==null){for(t.flags|=128,sn(c,!1),s=m.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=i,i=t.child;i!==null;)c=i,e=s,c.flags&=14680066,m=c.alternate,m===null?(c.childLanes=0,c.lanes=e,c.child=null,c.subtreeFlags=0,c.memoizedProps=null,c.memoizedState=null,c.updateQueue=null,c.dependencies=null,c.stateNode=null):(c.childLanes=m.childLanes,c.lanes=m.lanes,c.child=m.child,c.subtreeFlags=0,c.deletions=null,c.memoizedProps=m.memoizedProps,c.memoizedState=m.memoizedState,c.updateQueue=m.updateQueue,c.type=m.type,e=m.dependencies,c.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return ht(bt,bt.current&1|2),t.child}e=e.sibling}c.tail!==null&&Nt()>Gr&&(t.flags|=128,s=!0,sn(c,!1),t.lanes=4194304)}else{if(!s)if(e=va(m),e!==null){if(t.flags|=128,s=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),sn(c,!0),c.tail===null&&c.tailMode==="hidden"&&!m.alternate&&!wt)return Zt(t),null}else 2*Nt()-c.renderingStartTime>Gr&&i!==1073741824&&(t.flags|=128,s=!0,sn(c,!1),t.lanes=4194304);c.isBackwards?(m.sibling=t.child,t.child=m):(i=c.last,i!==null?i.sibling=m:t.child=m,c.last=m)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Nt(),t.sibling=null,i=bt.current,ht(bt,s?i&1|2:i&1),t):(Zt(t),null);case 22:case 23:return Vu(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?Si&1073741824&&(Zt(t),t.subtreeFlags&6&&(t.flags|=8192)):Zt(t),null;case 24:return null;case 25:return null}throw Error(ce(156,t.tag))}function rw(e,t){switch(ku(t),t.tag){case 1:return _i(t.type)&&ha(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wr(),gt(gi),gt(ti),Iu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Nu(t),null;case 13:if(gt(bt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ce(340));zr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return gt(bt),null;case 4:return Wr(),null;case 10:return Tu(t.type._context),null;case 22:case 23:return Vu(),null;case 24:return null;default:return null}}var Lo=!1,ei=!1,nw=typeof WeakSet=="function"?WeakSet:Set,ke=null;function Lr(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){Rt(e,t,s)}else i.current=null}function Tc(e,t,i){try{i()}catch(s){Rt(e,t,s)}}var Hd=!1;function ow(e,t){if(dc=aa,e=um(),xu(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var n=s.anchorOffset,c=s.focusNode;s=s.focusOffset;try{i.nodeType,c.nodeType}catch{i=null;break e}var m=0,r=-1,o=-1,f=0,v=0,h=e,p=null;t:for(;;){for(var y;h!==i||n!==0&&h.nodeType!==3||(r=m+n),h!==c||s!==0&&h.nodeType!==3||(o=m+s),h.nodeType===3&&(m+=h.nodeValue.length),(y=h.firstChild)!==null;)p=h,h=y;for(;;){if(h===e)break t;if(p===i&&++f===n&&(r=m),p===c&&++v===s&&(o=m),(y=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=y}i=r===-1||o===-1?null:{start:r,end:o}}else i=null}i=i||{start:0,end:0}}else i=null;for(fc={focusedElem:e,selectionRange:i},aa=!1,ke=t;ke!==null;)if(t=ke,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ke=e;else for(;ke!==null;){t=ke;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var g=S.memoizedProps,a=S.memoizedState,u=t.stateNode,l=u.getSnapshotBeforeUpdate(t.elementType===t.type?g:zi(t.type,g),a);u.__reactInternalSnapshotBeforeUpdate=l}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ce(163))}}catch(w){Rt(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,ke=e;break}ke=t.return}return S=Hd,Hd=!1,S}function bn(e,t,i){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var n=s=s.next;do{if((n.tag&e)===e){var c=n.destroy;n.destroy=void 0,c!==void 0&&Tc(t,i,c)}n=n.next}while(n!==s)}}function Ka(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==t)}}function Dc(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function og(e){var t=e.alternate;t!==null&&(e.alternate=null,og(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[is],delete t[Fn],delete t[gc],delete t[z0],delete t[U0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ag(e){return e.tag===5||e.tag===3||e.tag===4}function $d(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ag(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ac(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=ua));else if(s!==4&&(e=e.child,e!==null))for(Ac(e,t,i),e=e.sibling;e!==null;)Ac(e,t,i),e=e.sibling}function Mc(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(Mc(e,t,i),e=e.sibling;e!==null;)Mc(e,t,i),e=e.sibling}var Gt=null,Ui=!1;function ws(e,t,i){for(i=i.child;i!==null;)lg(e,t,i),i=i.sibling}function lg(e,t,i){if(ns&&typeof ns.onCommitFiberUnmount=="function")try{ns.onCommitFiberUnmount(Fa,i)}catch{}switch(i.tag){case 5:ei||Lr(i,t);case 6:var s=Gt,n=Ui;Gt=null,ws(e,t,i),Gt=s,Ui=n,Gt!==null&&(Ui?(e=Gt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Gt.removeChild(i.stateNode));break;case 18:Gt!==null&&(Ui?(e=Gt,i=i.stateNode,e.nodeType===8?bl(e.parentNode,i):e.nodeType===1&&bl(e,i),In(e)):bl(Gt,i.stateNode));break;case 4:s=Gt,n=Ui,Gt=i.stateNode.containerInfo,Ui=!0,ws(e,t,i),Gt=s,Ui=n;break;case 0:case 11:case 14:case 15:if(!ei&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){n=s=s.next;do{var c=n,m=c.destroy;c=c.tag,m!==void 0&&(c&2||c&4)&&Tc(i,t,m),n=n.next}while(n!==s)}ws(e,t,i);break;case 1:if(!ei&&(Lr(i,t),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(r){Rt(i,t,r)}ws(e,t,i);break;case 21:ws(e,t,i);break;case 22:i.mode&1?(ei=(s=ei)||i.memoizedState!==null,ws(e,t,i),ei=s):ws(e,t,i);break;default:ws(e,t,i)}}function zd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new nw),t.forEach(function(s){var n=mw.bind(null,e,s);i.has(s)||(i.add(s),s.then(n,n))})}}function Hi(e,t){var i=t.deletions;if(i!==null)for(var s=0;s<i.length;s++){var n=i[s];try{var c=e,m=t,r=m;e:for(;r!==null;){switch(r.tag){case 5:Gt=r.stateNode,Ui=!1;break e;case 3:Gt=r.stateNode.containerInfo,Ui=!0;break e;case 4:Gt=r.stateNode.containerInfo,Ui=!0;break e}r=r.return}if(Gt===null)throw Error(ce(160));lg(c,m,n),Gt=null,Ui=!1;var o=n.alternate;o!==null&&(o.return=null),n.return=null}catch(f){Rt(n,t,f)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)cg(t,e),t=t.sibling}function cg(e,t){var i=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Hi(t,e),Zi(e),s&4){try{bn(3,e,e.return),Ka(3,e)}catch(g){Rt(e,e.return,g)}try{bn(5,e,e.return)}catch(g){Rt(e,e.return,g)}}break;case 1:Hi(t,e),Zi(e),s&512&&i!==null&&Lr(i,i.return);break;case 5:if(Hi(t,e),Zi(e),s&512&&i!==null&&Lr(i,i.return),e.flags&32){var n=e.stateNode;try{Dn(n,"")}catch(g){Rt(e,e.return,g)}}if(s&4&&(n=e.stateNode,n!=null)){var c=e.memoizedProps,m=i!==null?i.memoizedProps:c,r=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{r==="input"&&c.type==="radio"&&c.name!=null&&Ap(n,c),ic(r,m);var f=ic(r,c);for(m=0;m<o.length;m+=2){var v=o[m],h=o[m+1];v==="style"?Op(n,h):v==="dangerouslySetInnerHTML"?Ip(n,h):v==="children"?Dn(n,h):uu(n,v,h,f)}switch(r){case"input":Jl(n,c);break;case"textarea":Mp(n,c);break;case"select":var p=n._wrapperState.wasMultiple;n._wrapperState.wasMultiple=!!c.multiple;var y=c.value;y!=null?Nr(n,!!c.multiple,y,!1):p!==!!c.multiple&&(c.defaultValue!=null?Nr(n,!!c.multiple,c.defaultValue,!0):Nr(n,!!c.multiple,c.multiple?[]:"",!1))}n[Fn]=c}catch(g){Rt(e,e.return,g)}}break;case 6:if(Hi(t,e),Zi(e),s&4){if(e.stateNode===null)throw Error(ce(162));n=e.stateNode,c=e.memoizedProps;try{n.nodeValue=c}catch(g){Rt(e,e.return,g)}}break;case 3:if(Hi(t,e),Zi(e),s&4&&i!==null&&i.memoizedState.isDehydrated)try{In(t.containerInfo)}catch(g){Rt(e,e.return,g)}break;case 4:Hi(t,e),Zi(e);break;case 13:Hi(t,e),Zi(e),n=e.child,n.flags&8192&&(c=n.memoizedState!==null,n.stateNode.isHidden=c,!c||n.alternate!==null&&n.alternate.memoizedState!==null||(Uu=Nt())),s&4&&zd(e);break;case 22:if(v=i!==null&&i.memoizedState!==null,e.mode&1?(ei=(f=ei)||v,Hi(t,e),ei=f):Hi(t,e),Zi(e),s&8192){if(f=e.memoizedState!==null,(e.stateNode.isHidden=f)&&!v&&e.mode&1)for(ke=e,v=e.child;v!==null;){for(h=ke=v;ke!==null;){switch(p=ke,y=p.child,p.tag){case 0:case 11:case 14:case 15:bn(4,p,p.return);break;case 1:Lr(p,p.return);var S=p.stateNode;if(typeof S.componentWillUnmount=="function"){s=p,i=p.return;try{t=s,S.props=t.memoizedProps,S.state=t.memoizedState,S.componentWillUnmount()}catch(g){Rt(s,i,g)}}break;case 5:Lr(p,p.return);break;case 22:if(p.memoizedState!==null){Wd(h);continue}}y!==null?(y.return=p,ke=y):Wd(h)}v=v.sibling}e:for(v=null,h=e;;){if(h.tag===5){if(v===null){v=h;try{n=h.stateNode,f?(c=n.style,typeof c.setProperty=="function"?c.setProperty("display","none","important"):c.display="none"):(r=h.stateNode,o=h.memoizedProps.style,m=o!=null&&o.hasOwnProperty("display")?o.display:null,r.style.display=Pp("display",m))}catch(g){Rt(e,e.return,g)}}}else if(h.tag===6){if(v===null)try{h.stateNode.nodeValue=f?"":h.memoizedProps}catch(g){Rt(e,e.return,g)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;v===h&&(v=null),h=h.return}v===h&&(v=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Hi(t,e),Zi(e),s&4&&zd(e);break;case 21:break;default:Hi(t,e),Zi(e)}}function Zi(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(ag(i)){var s=i;break e}i=i.return}throw Error(ce(160))}switch(s.tag){case 5:var n=s.stateNode;s.flags&32&&(Dn(n,""),s.flags&=-33);var c=$d(e);Mc(e,c,n);break;case 3:case 4:var m=s.stateNode.containerInfo,r=$d(e);Ac(e,r,m);break;default:throw Error(ce(161))}}catch(o){Rt(e,e.return,o)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function aw(e,t,i){ke=e,ug(e)}function ug(e,t,i){for(var s=(e.mode&1)!==0;ke!==null;){var n=ke,c=n.child;if(n.tag===22&&s){var m=n.memoizedState!==null||Lo;if(!m){var r=n.alternate,o=r!==null&&r.memoizedState!==null||ei;r=Lo;var f=ei;if(Lo=m,(ei=o)&&!f)for(ke=n;ke!==null;)m=ke,o=m.child,m.tag===22&&m.memoizedState!==null?Vd(n):o!==null?(o.return=m,ke=o):Vd(n);for(;c!==null;)ke=c,ug(c),c=c.sibling;ke=n,Lo=r,ei=f}Ud(e)}else n.subtreeFlags&8772&&c!==null?(c.return=n,ke=c):Ud(e)}}function Ud(e){for(;ke!==null;){var t=ke;if(t.flags&8772){var i=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ei||Ka(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ei)if(i===null)s.componentDidMount();else{var n=t.elementType===t.type?i.memoizedProps:zi(t.type,i.memoizedProps);s.componentDidUpdate(n,i.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var c=t.updateQueue;c!==null&&Ld(t,c,s);break;case 3:var m=t.updateQueue;if(m!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}Ld(t,m,i)}break;case 5:var r=t.stateNode;if(i===null&&t.flags&4){i=r;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&i.focus();break;case"img":o.src&&(i.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var f=t.alternate;if(f!==null){var v=f.memoizedState;if(v!==null){var h=v.dehydrated;h!==null&&In(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(ce(163))}ei||t.flags&512&&Dc(t)}catch(p){Rt(t,t.return,p)}}if(t===e){ke=null;break}if(i=t.sibling,i!==null){i.return=t.return,ke=i;break}ke=t.return}}function Wd(e){for(;ke!==null;){var t=ke;if(t===e){ke=null;break}var i=t.sibling;if(i!==null){i.return=t.return,ke=i;break}ke=t.return}}function Vd(e){for(;ke!==null;){var t=ke;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{Ka(4,t)}catch(o){Rt(t,i,o)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var n=t.return;try{s.componentDidMount()}catch(o){Rt(t,n,o)}}var c=t.return;try{Dc(t)}catch(o){Rt(t,c,o)}break;case 5:var m=t.return;try{Dc(t)}catch(o){Rt(t,m,o)}}}catch(o){Rt(t,t.return,o)}if(t===e){ke=null;break}var r=t.sibling;if(r!==null){r.return=t.return,ke=r;break}ke=t.return}}var lw=Math.ceil,Sa=vs.ReactCurrentDispatcher,$u=vs.ReactCurrentOwner,Ai=vs.ReactCurrentBatchConfig,Xe=0,zt=null,Pt=null,Kt=0,Si=0,Rr=Fs(0),jt=0,Vn=null,er=0,qa=0,zu=0,xn=null,fi=null,Uu=0,Gr=1/0,as=null,ba=!1,Nc=null,As=null,Ro=!1,ks=null,xa=0,Cn=0,Ic=null,Yo=-1,Xo=0;function oi(){return Xe&6?Nt():Yo!==-1?Yo:Yo=Nt()}function Ms(e){return e.mode&1?Xe&2&&Kt!==0?Kt&-Kt:V0.transition!==null?(Xo===0&&(Xo=qp()),Xo):(e=nt,e!==0||(e=window.event,e=e===void 0?16:tm(e.type)),e):1}function Gi(e,t,i,s){if(50<Cn)throw Cn=0,Ic=null,Error(ce(185));Zn(e,i,s),(!(Xe&2)||e!==zt)&&(e===zt&&(!(Xe&2)&&(qa|=i),jt===4&&xs(e,Kt)),vi(e,s),i===1&&Xe===0&&!(t.mode&1)&&(Gr=Nt()+500,Wa&&Hs()))}function vi(e,t){var i=e.callbackNode;Vv(e,t);var s=oa(e,e===zt?Kt:0);if(s===0)i!==null&&ed(i),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(i!=null&&ed(i),t===1)e.tag===0?W0(Gd.bind(null,e)):ym(Gd.bind(null,e)),H0(function(){!(Xe&6)&&Hs()}),i=null;else{switch(Yp(s)){case 1:i=mu;break;case 4:i=Gp;break;case 16:i=na;break;case 536870912:i=Kp;break;default:i=na}i=vg(i,hg.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function hg(e,t){if(Yo=-1,Xo=0,Xe&6)throw Error(ce(327));var i=e.callbackNode;if(jr()&&e.callbackNode!==i)return null;var s=oa(e,e===zt?Kt:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Ca(e,s);else{t=s;var n=Xe;Xe|=2;var c=fg();(zt!==e||Kt!==t)&&(as=null,Gr=Nt()+500,Ys(e,t));do try{hw();break}catch(r){dg(e,r)}while(!0);Ru(),Sa.current=c,Xe=n,Pt!==null?t=0:(zt=null,Kt=0,t=jt)}if(t!==0){if(t===2&&(n=ac(e),n!==0&&(s=n,t=Pc(e,n))),t===1)throw i=Vn,Ys(e,0),xs(e,s),vi(e,Nt()),i;if(t===6)xs(e,s);else{if(n=e.current.alternate,!(s&30)&&!cw(n)&&(t=Ca(e,s),t===2&&(c=ac(e),c!==0&&(s=c,t=Pc(e,c))),t===1))throw i=Vn,Ys(e,0),xs(e,s),vi(e,Nt()),i;switch(e.finishedWork=n,e.finishedLanes=s,t){case 0:case 1:throw Error(ce(345));case 2:Ws(e,fi,as);break;case 3:if(xs(e,s),(s&130023424)===s&&(t=Uu+500-Nt(),10<t)){if(oa(e,0)!==0)break;if(n=e.suspendedLanes,(n&s)!==s){oi(),e.pingedLanes|=e.suspendedLanes&n;break}e.timeoutHandle=mc(Ws.bind(null,e,fi,as),t);break}Ws(e,fi,as);break;case 4:if(xs(e,s),(s&4194240)===s)break;for(t=e.eventTimes,n=-1;0<s;){var m=31-Vi(s);c=1<<m,m=t[m],m>n&&(n=m),s&=~c}if(s=n,s=Nt()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*lw(s/1960))-s,10<s){e.timeoutHandle=mc(Ws.bind(null,e,fi,as),s);break}Ws(e,fi,as);break;case 5:Ws(e,fi,as);break;default:throw Error(ce(329))}}}return vi(e,Nt()),e.callbackNode===i?hg.bind(null,e):null}function Pc(e,t){var i=xn;return e.current.memoizedState.isDehydrated&&(Ys(e,t).flags|=256),e=Ca(e,t),e!==2&&(t=fi,fi=i,t!==null&&Oc(t)),e}function Oc(e){fi===null?fi=e:fi.push.apply(fi,e)}function cw(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var s=0;s<i.length;s++){var n=i[s],c=n.getSnapshot;n=n.value;try{if(!Ki(c(),n))return!1}catch{return!1}}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xs(e,t){for(t&=~zu,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-Vi(t),s=1<<i;e[i]=-1,t&=~s}}function Gd(e){if(Xe&6)throw Error(ce(327));jr();var t=oa(e,0);if(!(t&1))return vi(e,Nt()),null;var i=Ca(e,t);if(e.tag!==0&&i===2){var s=ac(e);s!==0&&(t=s,i=Pc(e,s))}if(i===1)throw i=Vn,Ys(e,0),xs(e,t),vi(e,Nt()),i;if(i===6)throw Error(ce(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ws(e,fi,as),vi(e,Nt()),null}function Wu(e,t){var i=Xe;Xe|=1;try{return e(t)}finally{Xe=i,Xe===0&&(Gr=Nt()+500,Wa&&Hs())}}function tr(e){ks!==null&&ks.tag===0&&!(Xe&6)&&jr();var t=Xe;Xe|=1;var i=Ai.transition,s=nt;try{if(Ai.transition=null,nt=1,e)return e()}finally{nt=s,Ai.transition=i,Xe=t,!(Xe&6)&&Hs()}}function Vu(){Si=Rr.current,gt(Rr)}function Ys(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,F0(i)),Pt!==null)for(i=Pt.return;i!==null;){var s=i;switch(ku(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&ha();break;case 3:Wr(),gt(gi),gt(ti),Iu();break;case 5:Nu(s);break;case 4:Wr();break;case 13:gt(bt);break;case 19:gt(bt);break;case 10:Tu(s.type._context);break;case 22:case 23:Vu()}i=i.return}if(zt=e,Pt=e=Ns(e.current,null),Kt=Si=t,jt=0,Vn=null,zu=qa=er=0,fi=xn=null,Ks!==null){for(t=0;t<Ks.length;t++)if(i=Ks[t],s=i.interleaved,s!==null){i.interleaved=null;var n=s.next,c=i.pending;if(c!==null){var m=c.next;c.next=n,s.next=m}i.pending=s}Ks=null}return e}function dg(e,t){do{var i=Pt;try{if(Ru(),Go.current=ya,wa){for(var s=xt.memoizedState;s!==null;){var n=s.queue;n!==null&&(n.pending=null),s=s.next}wa=!1}if(Qs=0,$t=Bt=xt=null,Sn=!1,zn=0,$u.current=null,i===null||i.return===null){jt=1,Vn=t,Pt=null;break}e:{var c=e,m=i.return,r=i,o=t;if(t=Kt,r.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var f=o,v=r,h=v.tag;if(!(v.mode&1)&&(h===0||h===11||h===15)){var p=v.alternate;p?(v.updateQueue=p.updateQueue,v.memoizedState=p.memoizedState,v.lanes=p.lanes):(v.updateQueue=null,v.memoizedState=null)}var y=Nd(m);if(y!==null){y.flags&=-257,Id(y,m,r,c,t),y.mode&1&&Md(c,f,t),t=y,o=f;var S=t.updateQueue;if(S===null){var g=new Set;g.add(o),t.updateQueue=g}else S.add(o);break e}else{if(!(t&1)){Md(c,f,t),Gu();break e}o=Error(ce(426))}}else if(wt&&r.mode&1){var a=Nd(m);if(a!==null){!(a.flags&65536)&&(a.flags|=256),Id(a,m,r,c,t),Eu(Vr(o,r));break e}}c=o=Vr(o,r),jt!==4&&(jt=2),xn===null?xn=[c]:xn.push(c),c=m;do{switch(c.tag){case 3:c.flags|=65536,t&=-t,c.lanes|=t;var u=Ym(c,o,t);Ed(c,u);break e;case 1:r=o;var l=c.type,d=c.stateNode;if(!(c.flags&128)&&(typeof l.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(As===null||!As.has(d)))){c.flags|=65536,t&=-t,c.lanes|=t;var w=Xm(c,r,t);Ed(c,w);break e}}c=c.return}while(c!==null)}mg(i)}catch(k){t=k,Pt===i&&i!==null&&(Pt=i=i.return);continue}break}while(!0)}function fg(){var e=Sa.current;return Sa.current=ya,e===null?ya:e}function Gu(){(jt===0||jt===3||jt===2)&&(jt=4),zt===null||!(er&268435455)&&!(qa&268435455)||xs(zt,Kt)}function Ca(e,t){var i=Xe;Xe|=2;var s=fg();(zt!==e||Kt!==t)&&(as=null,Ys(e,t));do try{uw();break}catch(n){dg(e,n)}while(!0);if(Ru(),Xe=i,Sa.current=s,Pt!==null)throw Error(ce(261));return zt=null,Kt=0,jt}function uw(){for(;Pt!==null;)pg(Pt)}function hw(){for(;Pt!==null&&!Ov();)pg(Pt)}function pg(e){var t=_g(e.alternate,e,Si);e.memoizedProps=e.pendingProps,t===null?mg(e):Pt=t,$u.current=null}function mg(e){var t=e;do{var i=t.alternate;if(e=t.return,t.flags&32768){if(i=rw(i,t),i!==null){i.flags&=32767,Pt=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{jt=6,Pt=null;return}}else if(i=sw(i,t,Si),i!==null){Pt=i;return}if(t=t.sibling,t!==null){Pt=t;return}Pt=t=e}while(t!==null);jt===0&&(jt=5)}function Ws(e,t,i){var s=nt,n=Ai.transition;try{Ai.transition=null,nt=1,dw(e,t,i,s)}finally{Ai.transition=n,nt=s}return null}function dw(e,t,i,s){do jr();while(ks!==null);if(Xe&6)throw Error(ce(327));i=e.finishedWork;var n=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(ce(177));e.callbackNode=null,e.callbackPriority=0;var c=i.lanes|i.childLanes;if(Gv(e,c),e===zt&&(Pt=zt=null,Kt=0),!(i.subtreeFlags&2064)&&!(i.flags&2064)||Ro||(Ro=!0,vg(na,function(){return jr(),null})),c=(i.flags&15990)!==0,i.subtreeFlags&15990||c){c=Ai.transition,Ai.transition=null;var m=nt;nt=1;var r=Xe;Xe|=4,$u.current=null,ow(e,i),cg(i,e),M0(fc),aa=!!dc,fc=dc=null,e.current=i,aw(i),Bv(),Xe=r,nt=m,Ai.transition=c}else e.current=i;if(Ro&&(Ro=!1,ks=e,xa=n),c=e.pendingLanes,c===0&&(As=null),Hv(i.stateNode),vi(e,Nt()),t!==null)for(s=e.onRecoverableError,i=0;i<t.length;i++)n=t[i],s(n.value,{componentStack:n.stack,digest:n.digest});if(ba)throw ba=!1,e=Nc,Nc=null,e;return xa&1&&e.tag!==0&&jr(),c=e.pendingLanes,c&1?e===Ic?Cn++:(Cn=0,Ic=e):Cn=0,Hs(),null}function jr(){if(ks!==null){var e=Yp(xa),t=Ai.transition,i=nt;try{if(Ai.transition=null,nt=16>e?16:e,ks===null)var s=!1;else{if(e=ks,ks=null,xa=0,Xe&6)throw Error(ce(331));var n=Xe;for(Xe|=4,ke=e.current;ke!==null;){var c=ke,m=c.child;if(ke.flags&16){var r=c.deletions;if(r!==null){for(var o=0;o<r.length;o++){var f=r[o];for(ke=f;ke!==null;){var v=ke;switch(v.tag){case 0:case 11:case 15:bn(8,v,c)}var h=v.child;if(h!==null)h.return=v,ke=h;else for(;ke!==null;){v=ke;var p=v.sibling,y=v.return;if(og(v),v===f){ke=null;break}if(p!==null){p.return=y,ke=p;break}ke=y}}}var S=c.alternate;if(S!==null){var g=S.child;if(g!==null){S.child=null;do{var a=g.sibling;g.sibling=null,g=a}while(g!==null)}}ke=c}}if(c.subtreeFlags&2064&&m!==null)m.return=c,ke=m;else e:for(;ke!==null;){if(c=ke,c.flags&2048)switch(c.tag){case 0:case 11:case 15:bn(9,c,c.return)}var u=c.sibling;if(u!==null){u.return=c.return,ke=u;break e}ke=c.return}}var l=e.current;for(ke=l;ke!==null;){m=ke;var d=m.child;if(m.subtreeFlags&2064&&d!==null)d.return=m,ke=d;else e:for(m=l;ke!==null;){if(r=ke,r.flags&2048)try{switch(r.tag){case 0:case 11:case 15:Ka(9,r)}}catch(k){Rt(r,r.return,k)}if(r===m){ke=null;break e}var w=r.sibling;if(w!==null){w.return=r.return,ke=w;break e}ke=r.return}}if(Xe=n,Hs(),ns&&typeof ns.onPostCommitFiberRoot=="function")try{ns.onPostCommitFiberRoot(Fa,e)}catch{}s=!0}return s}finally{nt=i,Ai.transition=t}}return!1}function Kd(e,t,i){t=Vr(i,t),t=Ym(e,t,1),e=Ds(e,t,1),t=oi(),e!==null&&(Zn(e,1,t),vi(e,t))}function Rt(e,t,i){if(e.tag===3)Kd(e,e,i);else for(;t!==null;){if(t.tag===3){Kd(t,e,i);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(As===null||!As.has(s))){e=Vr(i,e),e=Xm(t,e,1),t=Ds(t,e,1),e=oi(),t!==null&&(Zn(t,1,e),vi(t,e));break}}t=t.return}}function fw(e,t,i){var s=e.pingCache;s!==null&&s.delete(t),t=oi(),e.pingedLanes|=e.suspendedLanes&i,zt===e&&(Kt&i)===i&&(jt===4||jt===3&&(Kt&130023424)===Kt&&500>Nt()-Uu?Ys(e,0):zu|=i),vi(e,t)}function gg(e,t){t===0&&(e.mode&1?(t=vo,vo<<=1,!(vo&130023424)&&(vo=4194304)):t=1);var i=oi();e=ms(e,t),e!==null&&(Zn(e,t,i),vi(e,i))}function pw(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),gg(e,i)}function mw(e,t){var i=0;switch(e.tag){case 13:var s=e.stateNode,n=e.memoizedState;n!==null&&(i=n.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(ce(314))}s!==null&&s.delete(t),gg(e,i)}var _g;_g=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||gi.current)mi=!0;else{if(!(e.lanes&i)&&!(t.flags&128))return mi=!1,iw(e,t,i);mi=!!(e.flags&131072)}else mi=!1,wt&&t.flags&1048576&&Sm(t,pa,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;qo(e,t),e=t.pendingProps;var n=$r(t,ti.current);Br(t,i),n=Ou(null,t,s,e,n,i);var c=Bu();return t.flags|=1,typeof n=="object"&&n!==null&&typeof n.render=="function"&&n.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_i(s)?(c=!0,da(t)):c=!1,t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,Au(t),n.updater=Ga,t.stateNode=n,n._reactInternals=t,bc(t,s,e,i),t=kc(null,t,s,!0,c,i)):(t.tag=0,wt&&c&&Cu(t),ni(null,t,n,i),t=t.child),t;case 16:s=t.elementType;e:{switch(qo(e,t),e=t.pendingProps,n=s._init,s=n(s._payload),t.type=s,n=t.tag=_w(s),e=zi(s,e),n){case 0:t=Cc(null,t,s,e,i);break e;case 1:t=Bd(null,t,s,e,i);break e;case 11:t=Pd(null,t,s,e,i);break e;case 14:t=Od(null,t,s,zi(s.type,e),i);break e}throw Error(ce(306,s,""))}return t;case 0:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Cc(e,t,s,n,i);case 1:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Bd(e,t,s,n,i);case 3:e:{if(eg(t),e===null)throw Error(ce(387));s=t.pendingProps,c=t.memoizedState,n=c.element,Lm(e,t),_a(t,s,null,i);var m=t.memoizedState;if(s=m.element,c.isDehydrated)if(c={element:s,isDehydrated:!1,cache:m.cache,pendingSuspenseBoundaries:m.pendingSuspenseBoundaries,transitions:m.transitions},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){n=Vr(Error(ce(423)),t),t=jd(e,t,s,i,n);break e}else if(s!==n){n=Vr(Error(ce(424)),t),t=jd(e,t,s,i,n);break e}else for(xi=Ts(t.stateNode.containerInfo.firstChild),Ci=t,wt=!0,Wi=null,i=km(t,null,s,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(zr(),s===n){t=gs(e,t,i);break e}ni(e,t,s,i)}t=t.child}return t;case 5:return Rm(t),e===null&&wc(t),s=t.type,n=t.pendingProps,c=e!==null?e.memoizedProps:null,m=n.children,pc(s,n)?m=null:c!==null&&pc(s,c)&&(t.flags|=32),Qm(e,t),ni(e,t,m,i),t.child;case 6:return e===null&&wc(t),null;case 13:return tg(e,t,i);case 4:return Mu(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Ur(t,null,s,i):ni(e,t,s,i),t.child;case 11:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),Pd(e,t,s,n,i);case 7:return ni(e,t,t.pendingProps,i),t.child;case 8:return ni(e,t,t.pendingProps.children,i),t.child;case 12:return ni(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(s=t.type._context,n=t.pendingProps,c=t.memoizedProps,m=n.value,ht(ma,s._currentValue),s._currentValue=m,c!==null)if(Ki(c.value,m)){if(c.children===n.children&&!gi.current){t=gs(e,t,i);break e}}else for(c=t.child,c!==null&&(c.return=t);c!==null;){var r=c.dependencies;if(r!==null){m=c.child;for(var o=r.firstContext;o!==null;){if(o.context===s){if(c.tag===1){o=hs(-1,i&-i),o.tag=2;var f=c.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?o.next=o:(o.next=v.next,v.next=o),f.pending=o}}c.lanes|=i,o=c.alternate,o!==null&&(o.lanes|=i),yc(c.return,i,t),r.lanes|=i;break}o=o.next}}else if(c.tag===10)m=c.type===t.type?null:c.child;else if(c.tag===18){if(m=c.return,m===null)throw Error(ce(341));m.lanes|=i,r=m.alternate,r!==null&&(r.lanes|=i),yc(m,i,t),m=c.sibling}else m=c.child;if(m!==null)m.return=c;else for(m=c;m!==null;){if(m===t){m=null;break}if(c=m.sibling,c!==null){c.return=m.return,m=c;break}m=m.return}c=m}ni(e,t,n.children,i),t=t.child}return t;case 9:return n=t.type,s=t.pendingProps.children,Br(t,i),n=Mi(n),s=s(n),t.flags|=1,ni(e,t,s,i),t.child;case 14:return s=t.type,n=zi(s,t.pendingProps),n=zi(s.type,n),Od(e,t,s,n,i);case 15:return Jm(e,t,t.type,t.pendingProps,i);case 17:return s=t.type,n=t.pendingProps,n=t.elementType===s?n:zi(s,n),qo(e,t),t.tag=1,_i(s)?(e=!0,da(t)):e=!1,Br(t,i),qm(t,s,n),bc(t,s,n,i),kc(null,t,s,!0,e,i);case 19:return ig(e,t,i);case 22:return Zm(e,t,i)}throw Error(ce(156,t.tag))};function vg(e,t){return Vp(e,t)}function gw(e,t,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Di(e,t,i,s){return new gw(e,t,i,s)}function Ku(e){return e=e.prototype,!(!e||!e.isReactComponent)}function _w(e){if(typeof e=="function")return Ku(e)?1:0;if(e!=null){if(e=e.$$typeof,e===du)return 11;if(e===fu)return 14}return 2}function Ns(e,t){var i=e.alternate;return i===null?(i=Di(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Jo(e,t,i,s,n,c){var m=2;if(s=e,typeof e=="function")Ku(e)&&(m=1);else if(typeof e=="string")m=5;else e:switch(e){case vr:return Xs(i.children,n,c,t);case hu:m=8,n|=8;break;case Gl:return e=Di(12,i,t,n|2),e.elementType=Gl,e.lanes=c,e;case Kl:return e=Di(13,i,t,n),e.elementType=Kl,e.lanes=c,e;case ql:return e=Di(19,i,t,n),e.elementType=ql,e.lanes=c,e;case Rp:return Ya(i,n,c,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ep:m=10;break e;case Lp:m=9;break e;case du:m=11;break e;case fu:m=14;break e;case ys:m=16,s=null;break e}throw Error(ce(130,e==null?e:typeof e,""))}return t=Di(m,i,t,n),t.elementType=e,t.type=s,t.lanes=c,t}function Xs(e,t,i,s){return e=Di(7,e,s,t),e.lanes=i,e}function Ya(e,t,i,s){return e=Di(22,e,s,t),e.elementType=Rp,e.lanes=i,e.stateNode={isHidden:!1},e}function Dl(e,t,i){return e=Di(6,e,null,t),e.lanes=i,e}function Al(e,t,i){return t=Di(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function vw(e,t,i,s,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=hl(0),this.expirationTimes=hl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=hl(0),this.identifierPrefix=s,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function qu(e,t,i,s,n,c,m,r,o){return e=new vw(e,t,i,r,o),t===1?(t=1,c===!0&&(t|=8)):t=0,c=Di(3,null,null,t),e.current=c,c.stateNode=e,c.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Au(c),e}function ww(e,t,i){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:_r,key:s==null?null:""+s,children:e,containerInfo:t,implementation:i}}function wg(e){if(!e)return Ps;e=e._reactInternals;e:{if(lr(e)!==e||e.tag!==1)throw Error(ce(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(_i(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(ce(171))}if(e.tag===1){var i=e.type;if(_i(i))return wm(e,i,t)}return t}function yg(e,t,i,s,n,c,m,r,o){return e=qu(i,s,!0,e,n,c,m,r,o),e.context=wg(null),i=e.current,s=oi(),n=Ms(i),c=hs(s,n),c.callback=t??null,Ds(i,c,n),e.current.lanes=n,Zn(e,n,s),vi(e,s),e}function Xa(e,t,i,s){var n=t.current,c=oi(),m=Ms(n);return i=wg(i),t.context===null?t.context=i:t.pendingContext=i,t=hs(c,m),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=Ds(n,t,m),e!==null&&(Gi(e,n,m,c),Vo(e,n,m)),m}function ka(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function qd(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function Yu(e,t){qd(e,t),(e=e.alternate)&&qd(e,t)}function yw(){return null}var Sg=typeof reportError=="function"?reportError:function(e){console.error(e)};function Xu(e){this._internalRoot=e}Ja.prototype.render=Xu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(ce(409));Xa(e,t,null,null)};Ja.prototype.unmount=Xu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;tr(function(){Xa(null,e,null,null)}),t[ps]=null}};function Ja(e){this._internalRoot=e}Ja.prototype.unstable_scheduleHydration=function(e){if(e){var t=Zp();e={blockedOn:null,target:e,priority:t};for(var i=0;i<bs.length&&t!==0&&t<bs[i].priority;i++);bs.splice(i,0,e),i===0&&em(e)}};function Ju(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Za(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Yd(){}function Sw(e,t,i,s,n){if(n){if(typeof s=="function"){var c=s;s=function(){var f=ka(m);c.call(f)}}var m=yg(t,s,e,0,null,!1,!1,"",Yd);return e._reactRootContainer=m,e[ps]=m.current,Bn(e.nodeType===8?e.parentNode:e),tr(),m}for(;n=e.lastChild;)e.removeChild(n);if(typeof s=="function"){var r=s;s=function(){var f=ka(o);r.call(f)}}var o=qu(e,0,!1,null,null,!1,!1,"",Yd);return e._reactRootContainer=o,e[ps]=o.current,Bn(e.nodeType===8?e.parentNode:e),tr(function(){Xa(t,o,i,s)}),o}function Qa(e,t,i,s,n){var c=i._reactRootContainer;if(c){var m=c;if(typeof n=="function"){var r=n;n=function(){var o=ka(m);r.call(o)}}Xa(t,m,e,n)}else m=Sw(i,t,e,n,s);return ka(m)}Xp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=fn(t.pendingLanes);i!==0&&(gu(t,i|1),vi(t,Nt()),!(Xe&6)&&(Gr=Nt()+500,Hs()))}break;case 13:tr(function(){var s=ms(e,1);if(s!==null){var n=oi();Gi(s,e,1,n)}}),Yu(e,1)}};_u=function(e){if(e.tag===13){var t=ms(e,134217728);if(t!==null){var i=oi();Gi(t,e,134217728,i)}Yu(e,134217728)}};Jp=function(e){if(e.tag===13){var t=Ms(e),i=ms(e,t);if(i!==null){var s=oi();Gi(i,e,t,s)}Yu(e,t)}};Zp=function(){return nt};Qp=function(e,t){var i=nt;try{return nt=e,t()}finally{nt=i}};rc=function(e,t,i){switch(t){case"input":if(Jl(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var s=i[t];if(s!==e&&s.form===e.form){var n=Ua(s);if(!n)throw Error(ce(90));Dp(s),Jl(s,n)}}}break;case"textarea":Mp(e,i);break;case"select":t=i.value,t!=null&&Nr(e,!!i.multiple,t,!1)}};Fp=Wu;Hp=tr;var bw={usingClientEntryPoint:!1,Events:[eo,br,Ua,Bp,jp,Wu]},rn={findFiberByHostInstance:Gs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},xw={bundleType:rn.bundleType,version:rn.version,rendererPackageName:rn.rendererPackageName,rendererConfig:rn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:vs.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Up(e),e===null?null:e.stateNode},findFiberByHostInstance:rn.findFiberByHostInstance||yw,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 To=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!To.isDisabled&&To.supportsFiber)try{Fa=To.inject(xw),ns=To}catch{}}Ei.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=bw;Ei.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ju(t))throw Error(ce(200));return ww(e,t,null,i)};Ei.createRoot=function(e,t){if(!Ju(e))throw Error(ce(299));var i=!1,s="",n=Sg;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(n=t.onRecoverableError)),t=qu(e,1,!1,null,null,i,!1,s,n),e[ps]=t.current,Bn(e.nodeType===8?e.parentNode:e),new Xu(t)};Ei.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(ce(188)):(e=Object.keys(e).join(","),Error(ce(268,e)));return e=Up(t),e=e===null?null:e.stateNode,e};Ei.flushSync=function(e){return tr(e)};Ei.hydrate=function(e,t,i){if(!Za(t))throw Error(ce(200));return Qa(null,e,t,!0,i)};Ei.hydrateRoot=function(e,t,i){if(!Ju(e))throw Error(ce(405));var s=i!=null&&i.hydratedSources||null,n=!1,c="",m=Sg;if(i!=null&&(i.unstable_strictMode===!0&&(n=!0),i.identifierPrefix!==void 0&&(c=i.identifierPrefix),i.onRecoverableError!==void 0&&(m=i.onRecoverableError)),t=yg(t,null,e,1,i??null,n,!1,c,m),e[ps]=t.current,Bn(e),s)for(e=0;e<s.length;e++)i=s[e],n=i._getVersion,n=n(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,n]:t.mutableSourceEagerHydrationData.push(i,n);return new Ja(t)};Ei.render=function(e,t,i){if(!Za(t))throw Error(ce(200));return Qa(null,e,t,!1,i)};Ei.unmountComponentAtNode=function(e){if(!Za(e))throw Error(ce(40));return e._reactRootContainer?(tr(function(){Qa(null,null,e,!1,function(){e._reactRootContainer=null,e[ps]=null})}),!0):!1};Ei.unstable_batchedUpdates=Wu;Ei.unstable_renderSubtreeIntoContainer=function(e,t,i,s){if(!Za(i))throw Error(ce(200));if(e==null||e._reactInternals===void 0)throw Error(ce(38));return Qa(e,t,i,!1,s)};Ei.version="18.3.1-next-f1338f8080-20240426";function bg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(bg)}catch(e){console.error(e)}}bg(),bp.exports=Ei;var io=bp.exports,xg,Xd=io;xg=Xd.createRoot,Xd.hydrateRoot;const Cg={"common.save":"Save","common.cancel":"Cancel","common.confirm":"Confirm","common.ok":"OK","common.close":"Close","common.delete":"Delete","common.copy":"Copy","common.rename":"Rename","common.create":"Create","common.back":"Back","common.open":"Open","common.loading":"Loading…","common.done":"Done","token.title":"Access token required","token.placeholder":"Paste HANDMUX_TOKEN","settings.language":"Language","home.empty":"No files opened yet","home.emptyHint":'Switch to "New" to pick one',"home.remove":"Remove","drawer.empty":"No sessions bound yet","drawer.unbind":"Unbind","drawer.bind":"Bind session","drawer.logout":"Log out","windowbar.newWindow":"New window","rename.new_name":"New name","rename.name_placeholder":"Short name","rename.name_rule":"Letters, digits, hyphens only (≤16)","rename.failed":"Rename failed, please retry","rename.saving":"Saving…","newwindow.title":"New window","newwindow.window_name":"Window name (optional)","newwindow.name_placeholder":"Leave blank to auto-name","newwindow.name_rule":"Letters, digits, hyphens only (≤16)","newwindow.start_dir":"Start directory","newwindow.session_dir_named":"{dir} (session dir)","newwindow.session_dir_default":"Session dir (default)","newwindow.choose":"Choose","newwindow.reset_to_session_dir":"Reset to session dir","newwindow.creating":"Creating…","startup.label":"Startup command (optional)","startup.aria":"Startup command","startup.preset_shell":"Plain shell (default)","startup.preset_claude":"claude (launch Claude Code)","startup.preset_claude_continue":"claude -c (resume last session)","startup.preset_codex":"codex (launch Codex CLI)","startup.custom":"Custom…","startup.custom_placeholder":'e.g. claude "fix login bug"',"bind.title":"Bind session","bind.sessionName":"Session name","bind.namePlaceholder":"New session name","bind.pickSession":"Choose a session to bind","bind.newSession":"+ New session","bind.alreadyExists":"Session already exists","bind.bind":"Bind","bind.checking":"Checking…","bind.createAndOpen":"Create & open","bind.creating":"Creating…","bind.createHint":`Session "{name}" doesn't exist — tap "Create & open" to create it`,"bind.alreadyBound":"Session already bound","bind.createFailed":"Create failed, please retry","bind.invalidName":"Only letters, digits, hyphens (≤16)","bind.desktopHint":"On the computer, one command takes any session here back over: handmux open <name>","bind.checkFailed":"Check failed, please retry","bind.startDir":"Start directory","bind.homeDirDefault":"Home directory (default)","bind.choose":"Choose","bind.reset":"Reset","actionsheet.confirmAgain":"Confirm? Tap again","dirpicker.title":"Choose directory","inbox.title":"Inbox","inbox.working":"Working","inbox.done":"Done","inbox.needs":"Needs you","inbox.clearDone":"Clear done","inbox.empty":"No pane status yet","inbox.enableTitle":"Turn on AI session notifications","inbox.enableHint":"Tag every Claude / Codex pane working / waiting on you / done, and get pinged when one needs you.","inbox.enableBtn":"Enable","inbox.enabling":"Enabling…","inbox.enableFailed":"Could not enable — check the server logs.","drawer.orphans.title":"{n} not taken over","drawer.orphans.hint":"Take over to control remotely","inbox.orphans.takeover":"Take over","inbox.orphans.noSession":"no resumable history","inbox.orphans.busy":"busy","inbox.orphans.idle":"idle","inbox.orphans.working":"Taking over…","inbox.orphans.failed":"Takeover failed","inbox.orphans.targetLabel":"Take over into","inbox.orphans.targetNew":"New session","inbox.orphans.nameLabel":"Session name","inbox.orphans.namePlaceholder":"session name","inbox.orphans.killTitle":"The original process","inbox.orphans.killEnd":"End it","inbox.orphans.killKeep":"Keep it","inbox.orphans.recommended":"Recommended","inbox.orphans.killWhy":"If the same session is written from both your computer and your phone, its history gets scrambled. Ending the original lets this device own it cleanly.","inbox.orphans.reopenPre":"Want to continue on the computer instead? Run in a terminal:","idea.title":"Ideas","idea.editPlaceholder":"Edit idea…","idea.addPlaceholder":"Jot an idea…","idea.add":"Add","idea.empty":"No ideas yet — jot one down","idea.dragSort":"Drag to reorder","idea.fillInput":"Fill into input","idea.send":"Send","doclink.title":"Open file","changelog.title":"What's new","preview.dynamic":"Dynamic preview","preview.static":"Static preview","preview.remainTitle":"Time left — tap to renew / stop","preview.toPcView":"Switch to desktop view","preview.toMobileView":"Switch to mobile view","preview.pcView":"Desktop view","preview.mobileView":"Mobile view","preview.refresh":"Refresh","preview.minimize":"Minimize","preview.ttlDialog":"Preview lifetime","preview.renew":"Renew (reset to 1 hour)","preview.stop":"Stop preview","preview.iframeTitle":"Preview","preview.zoomOut":"Zoom out","preview.zoomIn":"Zoom in","imageviewer.loadFailed":"Failed to load image","imageviewer.saved":"Saved — find it in your album/gallery or Downloads","imageviewer.shareUnsupported":"Image sharing requires Chrome or Safari","imageviewer.zoomOut":"Zoom out","imageviewer.zoomIn":"Zoom in","imageviewer.imageTitle":"Image","imageviewer.saveImage":"Save image","imageviewer.shareImage":"Share image","mic.stop":"Stop voice input","mic.start":"Voice input","dock.send":"Send","dock.send.hint":"Tap to send · hold to insert","dock.phrases":"Phrases","dock.attach":"Upload","dock.history":"History","dock.kbdShow":"Keyboard","dock.kbdHide":"Hide keyboard","history.empty":"No history yet","history.scope":"This window only","dock.input.placeholder":"Say something…","dock.command.placeholder":"Type a command · Enter runs it","dock.mode.agent":"Chat","dock.mode.toggle":"Switch input mode","dock.mode.command":"Command","dock.mode.chat":"Chat","fav.title":"Favorites","fav.add":"Add","fav.addPlaceholder":"Add a favorite…","cmd.editTitle":"Saved commands","cmd.global":"GLOBAL","cmd.window":"THIS WINDOW","cmd.withEnter":"Send directly","cmd.addPlaceholder":"Add a command…","cmd.tabCmd":"Command","cmd.tabKey":"Key","cmd.addTo":"Add to","cmd.addTitle":"Add","cmd.editItem":"Edit","cmd.sticky":"Modifier","cmd.stickyNone":"None","cmd.baseKey":"Key","cmd.pickKey":"Pick a key","cmd.moveUp":"Move up","cmd.moveDown":"Move down","cmd.empty":"None yet","chat.editTitle":"Saved messages","chat.favs":"Saved","chat.tabMsg":"Message","chat.addPlaceholder":"Message / slash-command…","dock.upload.aria":"Upload file","dock.upload.title":"Upload file (saved to home upload area, not the project)","dock.upload.progress":"Uploading {name}{tag}","dock.upload.failed":"Upload failed: {names}","dock.upload.rejected":"Unsupported file type: {names}","app.nameExists":"That name already exists","app.renameFailed":"Rename failed, please retry","app.deleteFailed":"Delete failed, please retry","app.moveFailed":"Move failed, please retry","app.sessionGone":'Session "{name}" not found, it may have closed',"app.docNotFound":"File not found","app.docTooLarge":"File too large (over 2MB)","app.docUnsupported":"Unsupported file or path","app.docOpenFailed":"Open failed, please retry","app.preview":"Preview","app.openPreview":"Open preview","app.ideas":"Ideas","app.files":"Files","app.settings":"Settings","usage.title":"Usage","usage.win5h":"5-hour","usage.winWeekly":"Weekly","usage.winMonthly":"Monthly","usage.winGeneric":"{h}h window","usage.winPrimary":"Limit","usage.winSecondary":"Secondary","usage.resetIn":"resets in {t}","usage.resetSoon":"resetting…","usage.claudeOff":"Not wired yet — Claude's 5h/weekly usage needs the handmux statusLine:","usage.claudePending":"No data yet — send a message in a Claude session, then reopen.","usage.codexOff":"Codex not detected on this machine.","usage.codexNoQuota":"No quota data in the latest session yet.","usage.loadFailed":"Failed to load usage.","usage.updatedNow":"updated just now","usage.updatedMin":"updated {n}m ago","usage.updatedHr":"updated {n}h ago","usage.updatedDay":"updated {n}d ago","usage.activityNote":"Updates on new messages","usage.timeMark":"Time elapsed in this window","app.renameSession":"Rename session","app.renameWindow":"Rename window","app.moveLeft":"◀ Move left","app.moveRight":"Move right ▶","app.deleteWindow":"Delete window","app.deleteLastWindowConfirm":"This is the last window; deleting it closes the whole session! Tap again","app.deleteConfirm":"Delete? Tap again","app.cannotLocate":"Cannot locate","app.pickItsDir":", pick the directory it lives in:","app.noBoundSession":"No bound session yet","app.tapToBind":"Tap here to bind one","app.selectSessionHint":"Tap ☰ at the top-left to pick a session","settings.title":"Settings","settings.group_global":"Global settings","settings.font_size":"Font size","settings.font_decrease":"Decrease font size","settings.font_increase":"Increase font size","settings.font_auto":"Auto","settings.font_auto_title":"Auto-fit to height","settings.whats_new":"What's new","settings.view_changelog":"View changelog","settings.has_update":"Has update","settings.version":"Version","settings.feedback":"Feedback","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat group","settings.feedback_hint":"Bugs and ideas welcome — issues are tracked and answered.","settings.update_available":"Version {v} available","settings.update_how":"On your computer, run","settings.push_notifications":"Push notifications","settings.notify_on":"Enabled ✓","settings.notify_enable":"Enable device notifications","settings.notify_enabled":"Enabled, you should receive a welcome notification","settings.notify_disabled":"Disabled","settings.notify_failed":"Operation failed","settings.processing":"Processing","settings.push_hint":'Listens for "Needs you" and "Done": when a watched session needs your authorization/answer, or a turn just finished, a push is sent to this device.',"settings.push_unsupported":"Push requires Chrome or Safari","settings.group_session":"Current session settings","settings.screen_cols":"Screen columns","settings.cols_dec":"Fewer","settings.cols_dec_title":"Fewer columns","settings.cols_inc":"More","settings.cols_inc_title":"More columns","settings.cols_restore":"Default","settings.cols_restore_title":"Restore default window size","settings.preview_site":"Preview site","settings.preview_static_site":"Preview static site","settings.preview_running_dynamic":"Dynamic preview running","settings.preview_running_static":"Static preview running","settings.preview_remain_title":"Time remaining","settings.preview_remain":"{time} left","settings.preview_renew":"Renew","settings.preview_confirm_stop":"Confirm stop","settings.preview_stop":"Stop","settings.preview_name":"Name: {name}","settings.preview_port":"(port :{port})","settings.preview_type":"Preview type","settings.preview_off":"Off","settings.preview_static":"Static","settings.preview_dynamic":"Dynamic","settings.preview_off_hint":'Preview is off. Choose "Static" to start.',"settings.preview_off_hint_both":'Preview is off. Choose "Static" or "Dynamic" to start.',"settings.preview_dynamic_disabled":"Dynamic port preview is off. To turn it on, point a wildcard preview domain (previewDomain, e.g. *.example.com) at the gateway with a matching TLS cert. See the README for the Cloudflare vs self-hosted specifics.","settings.preview_pick_dir":"Pick directory & start","settings.preview_static_hint":"Pick a directory containing index.html to preview on your phone.","settings.preview_port_placeholder":"Port, e.g. 3000","settings.preview_port_label":"Port","settings.preview_starting":"Starting…","settings.preview_start":"Start","settings.preview_dynamic_hint":"Enter a port running on this machine (dev server / backend); your phone accesses it directly via a subdomain.","settings.dir_picker_hint":"Pick the static site directory to preview (containing index.html)","settings.err_port_not_listening":"That port is not listening; make sure the service is running","settings.err_bad_port":"Invalid port (1–65535)","settings.err_dynamic_disabled":"Dynamic preview is not enabled","settings.err_start_failed":"Failed to start","filebrowser.openDirFailed":"Cannot open this directory","filebrowser.copiedPath":"Path copied: {abs}","filebrowser.mkdirFailed":"Failed to create folder (invalid name or already exists)","filebrowser.downloading":"Downloading {name}","filebrowser.downloadFailed":"Download failed","filebrowser.uploading":"Uploading {name}{tag}","filebrowser.uploadFailed":"Upload failed","filebrowser.uploadPartialFailed":"These files failed to upload: {names}","filebrowser.uploadRejected":"Unsupported file type: {names}","filebrowser.sessionDir":"Session directory","filebrowser.jumpToSessionDir":"Jump to current session directory","filebrowser.parentDir":"Parent directory","filebrowser.rootSelect":"Switch root (home / temp dirs)","filebrowser.pathPlaceholder":"Enter path (live filter / jump)","filebrowser.newFolder":"New folder","filebrowser.createBtn":"Create","filebrowser.uploadFile":"Upload file","filebrowser.uploadToCurrentDir":"Upload to current directory","filebrowser.enterSubdirToUpload":"Enter a subdirectory to upload","filebrowser.folderNamePlaceholder":"Folder name","filebrowser.uploadPendingTo":"Upload “{name}” to the current directory","filebrowser.enterSubdirFirst":"(enter a subdirectory first)","filebrowser.upload":"Upload","filebrowser.savedToDownloads":"Saved “{name}” to the Downloads folder; view it in the system file manager","filebrowser.noMatches":"No matching files or directories","filebrowser.tooMany":"Showing the first {shown} of {total} — type in the path box to filter","filebrowser.previewUnsupported":"Preview not supported for this file type; tap the button on the right to download","filebrowser.copyAbsPath":"Copy absolute path","filebrowser.download":"Download","filebrowser.pickThisDir":"Select this directory {path}","filebrowser.downloadConfirm":"Download {name}?","filemanager.files":"Files","filemanager.closeTab":"Close tab","filemanager.minimize":"Minimize","filemanager.recent":"Recent","filemanager.directory":"Directory","git.errReadRepo":"Cannot read repository","git.errLoad":"Load failed","git.noRepoInDir":"No git repository here yet — pick another directory, or run git init in this one.","git.outsideRoots":"This folder is outside the area handmux can open — only your home directory and /tmp are reachable. Move the repo under your home directory to browse it here.","git.errReadDir":"Cannot read this directory","git.commitDetail":"Commit details","git.diff":"Diff","git.bindRepo":"Bind repository","git.collapse":"Collapse","git.currentBranch":"Current branch","git.switchViewedBranch":"Switch viewed branch","git.switchBranch":"Switch branch","git.noBranches":"No branches","git.noRepoBound":'No repository bound — tap "+" at the top left to choose a directory.',"git.changes":"Changes","git.commits":"Commits","git.pullToLoadMore":"Pull to load more","git.pickerHint":"Choose a directory to auto-discover git repositories inside it","git.cleanTree":"Working tree clean","git.noCommits":"No commits","git.noDiff":"No diff","git.fontSmaller":"Decrease font size","git.fontLarger":"Increase font size","git.diffTruncated":"Diff too large, truncated","cmd.panel":"Command panel","cmd.title":"Commands","cmd.empty":"No commands yet — send one or save a favorite","cmd.favorites":"Favorites","cmd.scopeGlobal":"Global · all sessions","cmd.recent":"Recent","cmd.scopeSession":"This session only","cmd.favorite":"Favorite","cmd.unfavorite":"Unfavorite","doc.home":"Recent","doc.read":"Read aloud","doc.pauseRead":"Pause reading","doc.resumeRead":"Resume reading","doc.stopRead":"Stop reading","doc.rate":"Speed","doc.fontSmaller":"Smaller font","doc.fontLarger":"Larger font","inbox.view.working":"Running","inbox.view.done":"Completed","inbox.view.needs":"Needs you","push.unsupported":"Push notifications require Chrome or Safari","push.iosAddToHome":'On iOS, first "Add to Home Screen", then open from the home-screen icon to enable',"a2hs.title":"Add handmux to your Home Screen","a2hs.lead":"Open it like an app — full-screen, no address bar. On iPhone it’s also how push reaches you the moment a pane needs you.","a2hs.install":"Install handmux","a2hs.ios1":"Tap the Share button (the ⬆︎ box) in Safari.","a2hs.ios2":"Tap “More”, or scroll down the list.","a2hs.ios3":"Choose “Add to Home Screen”, then “Add”.","a2hs.iosHint":"In Safari: Share → More → Add to Home Screen.","a2hs.iosOpenSafari":"You’re not in Safari. Open this page in Safari, then add it to your Home Screen — other iOS browsers can’t install it.","a2hs.androidManual":"Open your browser menu (⋮) and choose “Add to Home screen” or “Install app”.","a2hs.later":"Maybe later","push.permissionDenied":"Notification permission denied","push.noVapid":"Push is not configured on the server (VAPID)","push.subscribeFailed":"Failed to report subscription","push.sendFailed":"Send failed","api.loadFailed":"Load failed","api.uploadFailed":"Upload failed","upload.title":"Uploading","upload.processing":"Sent — receiving on the server…","api.uploadBadDir":"Cannot upload to this directory","api.uploadDuplicate":"A file with this name already exists","api.uploadTooLarge":"File too large (50MB limit)","api.uploadBadType":"Unsupported file type","time.secAgo":"{n}s ago","time.minAgo":"{n}m ago","time.hourAgo":"{n}h ago","time.dayAgo":"{n}d ago","time.expired":"Expired","time.minutes":"{n} min"},Cw={"common.save":"保存","common.cancel":"取消","common.confirm":"确认","common.ok":"确定","common.close":"关闭","common.delete":"删除","common.copy":"复制","common.rename":"重命名","common.create":"新建","common.back":"返回","common.open":"打开","common.loading":"加载中…","common.done":"完成","token.title":"需要访问 token","token.placeholder":"粘贴 HANDMUX_TOKEN","settings.language":"语言 Language","home.empty":"还没有打开过文件","home.emptyHint":"切到「新增」去挑一个","home.remove":"移除","drawer.empty":"还没有绑定会话","drawer.unbind":"解绑","drawer.bind":"绑定会话","drawer.logout":"退出登录","windowbar.newWindow":"新建窗口","rename.new_name":"新名称","rename.name_placeholder":"名字缩写","rename.name_rule":"只能用字母、数字、横线(≤16)","rename.failed":"重命名失败,请重试","rename.saving":"保存中…","newwindow.title":"新建窗口","newwindow.window_name":"窗口名称(可选)","newwindow.name_placeholder":"留空自动命名","newwindow.name_rule":"只能用字母、数字、横线(≤16)","newwindow.start_dir":"起始目录","newwindow.session_dir_named":"{dir}(会话目录)","newwindow.session_dir_default":"会话目录(默认)","newwindow.choose":"选择","newwindow.reset_to_session_dir":"重置为会话目录","newwindow.creating":"新建中…","startup.label":"启动命令(可选)","startup.aria":"启动命令","startup.preset_shell":"空 shell(默认)","startup.preset_claude":"claude(启动 Claude Code)","startup.preset_claude_continue":"claude -c(接着上次会话)","startup.preset_codex":"codex(启动 Codex CLI)","startup.custom":"自定义…","startup.custom_placeholder":'例如 claude "修复登录bug"',"bind.title":"绑定会话","bind.sessionName":"会话名称","bind.namePlaceholder":"新会话名","bind.pickSession":"选择要绑定的会话","bind.newSession":"+ 新建会话","bind.alreadyExists":"该会话已存在","bind.bind":"绑定","bind.checking":"校验中…","bind.createAndOpen":"新建并打开","bind.creating":"新建中…","bind.createHint":"会话「{name}」不存在,点「新建并打开」创建","bind.alreadyBound":"已绑定该会话","bind.createFailed":"新建失败,请重试","bind.invalidName":"只能用字母、数字、横线(≤16)","bind.desktopHint":"这里的会话(包括手机新建的),电脑上一条命令即可接管:handmux open <会话名>","bind.checkFailed":"校验失败,请重试","bind.startDir":"起始目录","bind.homeDirDefault":"主目录(默认)","bind.choose":"选择","bind.reset":"重置","actionsheet.confirmAgain":"确认?再点一次","dirpicker.title":"选择目录","inbox.title":"收件箱","inbox.working":"进行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"暂无面板状态","inbox.enableTitle":"开启 AI 会话通知","inbox.enableHint":"把每个 Claude / Codex 面板标记为进行中 / 需要你 / 已完成,需要你时还会推送提醒。","inbox.enableBtn":"开启","inbox.enabling":"开启中…","inbox.enableFailed":"开启失败 —— 看看服务端日志。","drawer.orphans.title":"{n} 个未接管会话","drawer.orphans.hint":"接管即可远程操控","inbox.orphans.takeover":"接管","inbox.orphans.noSession":"无可续接的历史","inbox.orphans.busy":"运行中","inbox.orphans.idle":"空闲","inbox.orphans.working":"接管中…","inbox.orphans.failed":"接管失败","inbox.orphans.targetLabel":"接管到","inbox.orphans.targetNew":"新建会话","inbox.orphans.nameLabel":"会话名称","inbox.orphans.namePlaceholder":"会话名","inbox.orphans.killTitle":"接管后原来的进程","inbox.orphans.killEnd":"结束","inbox.orphans.killKeep":"保留","inbox.orphans.recommended":"推荐","inbox.orphans.killWhy":"同一个会话如果电脑和手机同时在写,历史记录会错乱。结束原进程后由手机这边独占,更稳妥。","inbox.orphans.reopenPre":"想回电脑上继续?在电脑终端运行:","idea.title":"想法","idea.editPlaceholder":"编辑想法…","idea.addPlaceholder":"记一条想法…","idea.add":"添加","idea.empty":"还没有想法,记一条吧","idea.dragSort":"拖动排序","idea.fillInput":"填入输入框","idea.send":"发送","doclink.title":"打开文件","changelog.title":"新功能","preview.dynamic":"动态预览","preview.static":"静态预览","preview.remainTitle":"剩余有效期 — 点击续期 / 停止","preview.toPcView":"切换到电脑视图","preview.toMobileView":"切换到手机视图","preview.pcView":"电脑视图","preview.mobileView":"手机视图","preview.refresh":"刷新","preview.minimize":"收起","preview.ttlDialog":"预览有效期","preview.renew":"续期(重置为 1 小时)","preview.stop":"停止预览","preview.iframeTitle":"预览","preview.zoomOut":"缩小","preview.zoomIn":"放大","imageviewer.loadFailed":"图片加载失败","imageviewer.saved":"已保存,可在相册/图库或「下载」中查看","imageviewer.shareUnsupported":"图片分享需要 Chrome 或 Safari 浏览器","imageviewer.zoomOut":"缩小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"图片","imageviewer.saveImage":"保存图片","imageviewer.shareImage":"分享图片","mic.stop":"停止语音输入","mic.start":"语音输入","dock.send":"发送","dock.send.hint":"点发送 · 长按填入","dock.phrases":"常用语","dock.attach":"上传","dock.history":"历史","dock.kbdShow":"展开键盘","dock.kbdHide":"收起键盘","history.empty":"还没有发送记录","history.scope":"仅当前窗口的记录","dock.input.placeholder":"说点什么…","dock.command.placeholder":"输入命令 · 回车执行","dock.mode.agent":"对话","dock.mode.toggle":"切换输入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"添加","fav.addPlaceholder":"加一条常用…","cmd.editTitle":"常用命令","cmd.global":"全局","cmd.window":"当前窗口","cmd.withEnter":"直接发送","cmd.addPlaceholder":"加一条命令…","cmd.tabCmd":"命令","cmd.tabKey":"按键","cmd.addTo":"添加到","cmd.addTitle":"添加","cmd.editItem":"编辑","cmd.sticky":"粘滞键","cmd.stickyNone":"无","cmd.baseKey":"基键","cmd.pickKey":"选择按键","cmd.moveUp":"上移","cmd.moveDown":"下移","cmd.empty":"还没有","chat.editTitle":"常用消息","chat.favs":"常用","chat.tabMsg":"消息","chat.addPlaceholder":"消息 / 斜杠命令…","dock.upload.aria":"上传文件","dock.upload.title":"上传文件(存到家目录上传区,不进项目)","dock.upload.progress":"上传 {name}{tag}","dock.upload.failed":"上传失败:{names}","dock.upload.rejected":"不支持的文件类型:{names}","app.nameExists":"该名已存在","app.renameFailed":"重命名失败,请重试","app.deleteFailed":"删除失败,请重试","app.moveFailed":"移动失败,请重试","app.sessionGone":"会话「{name}」不存在,可能已关闭","app.docNotFound":"文件不存在","app.docTooLarge":"文件过大(超过 2MB)","app.docUnsupported":"不支持的文件或路径","app.docOpenFailed":"打开失败,请重试","app.preview":"预览","app.openPreview":"打开预览","app.ideas":"想法","app.files":"文件","app.settings":"设置","usage.title":"用量","usage.win5h":"5 小时","usage.winWeekly":"本周","usage.winMonthly":"本月","usage.winGeneric":"{h} 小时窗口","usage.winPrimary":"额度","usage.winSecondary":"次级额度","usage.resetIn":"{t}后重置","usage.resetSoon":"即将重置…","usage.claudeOff":"尚未接入 —— Claude 的 5h/周额度需要 handmux statusLine:","usage.claudePending":"暂无数据 —— 在 Claude 会话里发一条消息,再重新打开。","usage.codexOff":"本机未检测到 Codex。","usage.codexNoQuota":"最近的会话里还没有额度数据。","usage.loadFailed":"加载用量失败。","usage.updatedNow":"刚刚更新","usage.updatedMin":"{n} 分钟前更新","usage.updatedHr":"{n} 小时前更新","usage.updatedDay":"{n} 天前更新","usage.activityNote":"在有新消息时更新","usage.timeMark":"本窗口已过去的时间","app.renameSession":"重命名会话","app.renameWindow":"重命名窗口","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"删除窗口","app.deleteLastWindowConfirm":"这是最后一个窗口,删除将关闭整个会话!再点一次","app.deleteConfirm":"确认删除?再点一次","app.cannotLocate":"无法定位","app.pickItsDir":",请选它所在的目录:","app.noBoundSession":"还没有绑定会话","app.tapToBind":"点此绑定一个","app.selectSessionHint":"点击左上角 ☰ 选择会话","settings.title":"设置","settings.group_global":"全局设置","settings.font_size":"字体大小","settings.font_decrease":"减小字体","settings.font_increase":"增大字体","settings.font_auto":"自适应","settings.font_auto_title":"按高度自动适配","settings.whats_new":"新功能","settings.view_changelog":"查看更新日志","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"反馈与交流","settings.feedback_issues":"GitHub 反馈","settings.feedback_group":"微信用户群","settings.feedback_hint":"bug、想法都欢迎——Issue 会被跟踪处理;微信群反馈直达。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在电脑上运行","settings.push_notifications":"推送通知","settings.notify_on":"已开启 ✓","settings.notify_enable":"开启设备通知","settings.notify_enabled":"已开启,应会收到一条欢迎通知","settings.notify_disabled":"已关闭","settings.notify_failed":"操作失败","settings.processing":"处理中","settings.push_hint":"监听「需要你」和「已完成」:所关注会话需要你授权/回答,或一个回合刚做完时,推送到此设备。","settings.push_unsupported":"推送需要 Chrome 或 Safari 浏览器","settings.group_session":"当前会话设置","settings.screen_cols":"屏幕列数","settings.cols_dec":"减少","settings.cols_dec_title":"减少列数","settings.cols_inc":"增加","settings.cols_inc_title":"增加列数","settings.cols_restore":"默认","settings.cols_restore_title":"恢复窗口默认尺寸","settings.preview_site":"预览站点","settings.preview_static_site":"预览静态站点","settings.preview_running_dynamic":"动态预览 运行中","settings.preview_running_static":"静态预览 运行中","settings.preview_remain_title":"剩余有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"续期","settings.preview_confirm_stop":"确认停止","settings.preview_stop":"停止","settings.preview_name":"名称:{name}","settings.preview_port":"(端口 :{port})","settings.preview_type":"预览类型","settings.preview_off":"不开启","settings.preview_static":"静态","settings.preview_dynamic":"动态","settings.preview_off_hint":"未开启预览。选择「静态」开始。","settings.preview_off_hint_both":"未开启预览。选择「静态」或「动态」开始。","settings.preview_dynamic_disabled":"动态端口预览未启用。要开启:把一个通配预览域名(previewDomain,如 *.example.com)指向网关,并配上对应的 TLS 证书。Cloudflare / 自建的证书差异见 README。","settings.preview_pick_dir":"选择目录启动","settings.preview_static_hint":"选一个含 index.html 的目录,在手机上预览。","settings.preview_port_placeholder":"端口,如 3000","settings.preview_port_label":"端口","settings.preview_starting":"启动中…","settings.preview_start":"启动","settings.preview_dynamic_hint":"填本机正在运行的端口(dev server / 后端),手机经子域名直接访问。","settings.dir_picker_hint":"选择要预览的静态站点目录(含 index.html)","settings.err_port_not_listening":"该端口未在监听,请确认服务已启动","settings.err_bad_port":"端口不合法(1–65535)","settings.err_dynamic_disabled":"动态预览未开启","settings.err_start_failed":"启动失败","filebrowser.openDirFailed":"无法打开该目录","filebrowser.copiedPath":"已复制路径:{abs}","filebrowser.mkdirFailed":"新建目录失败(名称非法或已存在)","filebrowser.downloading":"下载 {name}","filebrowser.downloadFailed":"下载失败","filebrowser.uploading":"上传 {name}{tag}","filebrowser.uploadFailed":"上传失败","filebrowser.uploadPartialFailed":"以下文件上传失败:{names}","filebrowser.uploadRejected":"不支持的文件类型:{names}","filebrowser.sessionDir":"会话目录","filebrowser.jumpToSessionDir":"跳到当前会话目录","filebrowser.parentDir":"上级目录","filebrowser.rootSelect":"切换根目录(家目录 / 临时目录)","filebrowser.pathPlaceholder":"输入路径(实时筛选/跳转)","filebrowser.newFolder":"新建文件夹","filebrowser.createBtn":"创建","filebrowser.uploadFile":"上传文件","filebrowser.uploadToCurrentDir":"上传到当前目录","filebrowser.enterSubdirToUpload":"请进入一个子目录上传","filebrowser.folderNamePlaceholder":"文件夹名称","filebrowser.uploadPendingTo":"把「{name}」上传到当前目录","filebrowser.enterSubdirFirst":"(请先进入一个子目录)","filebrowser.upload":"上传","filebrowser.savedToDownloads":"已保存「{name}」到「下载」文件夹,可在系统文件管理器查看","filebrowser.noMatches":"没有匹配的文件或目录","filebrowser.tooMany":"共 {total} 项,只显示前 {shown} 项——在路径框输入关键词可筛选","filebrowser.previewUnsupported":"暂不支持该类型文件的预览,点右侧按钮可下载","filebrowser.copyAbsPath":"复制绝对路径","filebrowser.download":"下载","filebrowser.pickThisDir":"选定此目录 {path}","filebrowser.downloadConfirm":"下载 {name}?","filemanager.files":"文件","filemanager.closeTab":"关闭标签","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目录","git.errReadRepo":"无法读取仓库","git.errLoad":"加载失败","git.noRepoInDir":"这个目录还不是 git 仓库 —— 换一个目录,或在这里 git init 一下。","git.outsideRoots":"这个目录在 handmux 可访问范围之外 —— 只开放主目录和 /tmp。把仓库放到主目录下,就能在这里查看了。","git.errReadDir":"无法读取该目录","git.commitDetail":"提交详情","git.diff":"差异","git.bindRepo":"绑定仓库","git.collapse":"收起","git.currentBranch":"当前分支","git.switchViewedBranch":"切换查看的分支","git.switchBranch":"切换分支","git.noBranches":"暂无分支","git.noRepoBound":"未绑定仓库,点左上角「+」选择一个目录。","git.changes":"变更","git.commits":"提交","git.pullToLoadMore":"下拉加载更多","git.pickerHint":"选择一个目录,自动查找其中的 git 仓库","git.cleanTree":"工作区干净","git.noCommits":"暂无提交","git.noDiff":"无差异","git.fontSmaller":"缩小字体","git.fontLarger":"放大字体","git.diffTruncated":"diff 过大,已截断","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"还没有命令,发送一条或保存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全局 · 所有会话","cmd.recent":"最近","cmd.scopeSession":"仅本会话","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗读","doc.pauseRead":"暂停朗读","doc.resumeRead":"继续朗读","doc.stopRead":"停止朗读","doc.rate":"语速","doc.fontSmaller":"缩小字体","doc.fontLarger":"放大字体","inbox.view.working":"进行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推送通知需要 Chrome 或 Safari 浏览器","push.iosAddToHome":'iOS 需先把本站"添加到主屏幕",从主屏图标打开后再开启',"a2hs.title":"把 handmux 添加到主屏","a2hs.lead":"像 App 一样打开——全屏、没有地址栏。在 iPhone 上,pane 需要你时的推送也靠它送达。","a2hs.install":"安装 handmux","a2hs.ios1":"点 Safari 里的分享按钮(⬆︎ 方框)。","a2hs.ios2":"点「更多」,或向下滑动列表。","a2hs.ios3":"选「添加到主屏幕」,再点「添加」。","a2hs.iosHint":"Safari 里:分享 → 更多 → 添加到主屏幕。","a2hs.iosOpenSafari":"当前不是 Safari。请在 Safari 里打开本页再添加到主屏——其他 iOS 浏览器无法安装。","a2hs.androidManual":"打开浏览器菜单(⋮),选「添加到主屏幕」或「安装应用」。","a2hs.later":"以后再说","push.permissionDenied":"通知权限被拒绝","push.noVapid":"服务端未配置推送(VAPID)","push.subscribeFailed":"订阅上报失败","push.sendFailed":"发送失败","api.loadFailed":"加载失败","api.uploadFailed":"上传失败","upload.title":"上传中","upload.processing":"已发送,服务器接收中…","api.uploadBadDir":"无法上传到该目录","api.uploadDuplicate":"已存在同名文件","api.uploadTooLarge":"文件过大(上限 50MB)","api.uploadBadType":"不支持的文件类型","time.secAgo":"{n}秒前","time.minAgo":"{n}分钟前","time.hourAgo":"{n}小时前","time.dayAgo":"{n}天前","time.expired":"已过期","time.minutes":"{n} 分钟"},kw={"common.save":"儲存","common.cancel":"取消","common.confirm":"確認","common.ok":"確定","common.close":"關閉","common.delete":"刪除","common.copy":"複製","common.rename":"重新命名","common.create":"新增","common.back":"返回","common.open":"開啟","common.loading":"載入中…","common.done":"完成","token.title":"需要存取 Token","token.placeholder":"貼上 HANDMUX_TOKEN","settings.language":"語言 Language","home.empty":"尚未開啟任何檔案","home.emptyHint":"切換到「新增」挑選一個","home.remove":"移除","drawer.empty":"尚未綁定工作階段","drawer.unbind":"解除綁定","drawer.bind":"綁定工作階段","drawer.logout":"登出","windowbar.newWindow":"新增視窗","rename.new_name":"新名稱","rename.name_placeholder":"名稱縮寫","rename.name_rule":"只能使用字母、數字、連字號(≤16)","rename.failed":"重新命名失敗,請重試","rename.saving":"儲存中…","newwindow.title":"新增視窗","newwindow.window_name":"視窗名稱(選填)","newwindow.name_placeholder":"留空自動命名","newwindow.name_rule":"只能使用字母、數字、連字號(≤16)","newwindow.start_dir":"起始目錄","newwindow.session_dir_named":"{dir}(工作階段目錄)","newwindow.session_dir_default":"工作階段目錄(預設)","newwindow.choose":"選擇","newwindow.reset_to_session_dir":"重置為工作階段目錄","newwindow.creating":"建立中…","startup.label":"啟動命令(選填)","startup.aria":"啟動命令","startup.preset_shell":"空白 Shell(預設)","startup.preset_claude":"claude(啟動 Claude Code)","startup.preset_claude_continue":"claude -c(繼續上次工作階段)","startup.preset_codex":"codex(啟動 Codex CLI)","startup.custom":"自訂…","startup.custom_placeholder":'例如 claude "修復登入 bug"',"bind.title":"綁定工作階段","bind.sessionName":"工作階段名稱","bind.namePlaceholder":"新工作階段名稱","bind.pickSession":"選擇要綁定的工作階段","bind.newSession":"+ 新增工作階段","bind.alreadyExists":"此工作階段已存在","bind.bind":"綁定","bind.checking":"驗證中…","bind.createAndOpen":"新增並開啟","bind.creating":"建立中…","bind.createHint":"工作階段「{name}」不存在,點「新增並開啟」建立","bind.alreadyBound":"已綁定此工作階段","bind.createFailed":"建立失敗,請重試","bind.invalidName":"只能使用字母、數字、連字號(≤16)","bind.desktopHint":"這裡的工作階段(包括手機新建的),電腦上一條命令即可接管:handmux open <名稱>","bind.checkFailed":"驗證失敗,請重試","bind.startDir":"起始目錄","bind.homeDirDefault":"主目錄(預設)","bind.choose":"選擇","bind.reset":"重置","actionsheet.confirmAgain":"確認?再點一次","dirpicker.title":"選擇目錄","inbox.title":"收件匣","inbox.working":"進行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"目前沒有面板狀態","inbox.enableTitle":"開啟 AI 工作階段通知","inbox.enableHint":"將每個 Claude / Codex 面板標記為進行中 / 需要你 / 已完成,需要時也會推播提醒。","inbox.enableBtn":"開啟","inbox.enabling":"開啟中…","inbox.enableFailed":"開啟失敗——請查看伺服器日誌。","idea.title":"想法","idea.editPlaceholder":"編輯想法…","idea.addPlaceholder":"記錄一條想法…","idea.add":"新增","idea.empty":"還沒有想法,記錄一條吧","idea.dragSort":"拖曳排序","idea.fillInput":"填入輸入框","idea.send":"傳送","doclink.title":"開啟檔案","changelog.title":"新功能","preview.dynamic":"動態預覽","preview.static":"靜態預覽","preview.remainTitle":"剩餘有效期 — 點擊續期 / 停止","preview.toPcView":"切換到電腦檢視","preview.toMobileView":"切換到手機檢視","preview.pcView":"電腦檢視","preview.mobileView":"手機檢視","preview.refresh":"重新整理","preview.minimize":"收起","preview.ttlDialog":"預覽有效期","preview.renew":"續期(重置為 1 小時)","preview.stop":"停止預覽","preview.iframeTitle":"預覽","preview.zoomOut":"縮小","preview.zoomIn":"放大","imageviewer.loadFailed":"圖片載入失敗","imageviewer.saved":"已儲存,可在相簿或「下載」中查看","imageviewer.shareUnsupported":"圖片分享需要 Chrome 或 Safari 瀏覽器","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"圖片","imageviewer.saveImage":"儲存圖片","imageviewer.shareImage":"分享圖片","mic.stop":"停止語音輸入","mic.start":"語音輸入","dock.send":"傳送","dock.send.hint":"點傳送 · 長按填入","dock.phrases":"常用語","dock.attach":"上傳","dock.history":"歷史","history.empty":"還沒有發送記錄","history.scope":"僅目前視窗的記錄","dock.input.placeholder":"說點什麼…","dock.command.placeholder":"輸入指令 · Enter 執行","dock.mode.agent":"對話","dock.mode.toggle":"切換輸入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"新增","fav.addPlaceholder":"新增常用…","dock.upload.aria":"上傳檔案","dock.upload.title":"上傳檔案(存到主目錄上傳區,不進專案)","dock.upload.progress":"上傳 {name}{tag}","dock.upload.failed":"上傳失敗:{names}","app.nameExists":"該名稱已存在","app.renameFailed":"重新命名失敗,請重試","app.deleteFailed":"刪除失敗,請重試","app.moveFailed":"移動失敗,請重試","app.sessionGone":"工作階段「{name}」不存在,可能已關閉","app.docNotFound":"檔案不存在","app.docTooLarge":"檔案過大(超過 2MB)","app.docUnsupported":"不支援的檔案或路徑","app.docOpenFailed":"開啟失敗,請重試","app.preview":"預覽","app.openPreview":"開啟預覽","app.ideas":"想法","app.files":"檔案","app.settings":"設定","app.renameSession":"重新命名工作階段","app.renameWindow":"重新命名視窗","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"刪除視窗","app.deleteLastWindowConfirm":"這是最後一個視窗,刪除將關閉整個工作階段!再點一次","app.deleteConfirm":"確認刪除?再點一次","app.cannotLocate":"無法定位","app.pickItsDir":",請選擇所在目錄:","app.noBoundSession":"尚未綁定工作階段","app.tapToBind":"點此綁定一個","app.selectSessionHint":"點擊左上角 ☰ 選擇工作階段","settings.title":"設定","settings.group_global":"全域設定","settings.font_size":"字型大小","settings.font_decrease":"縮小字型","settings.font_increase":"放大字型","settings.font_auto":"自適應","settings.font_auto_title":"依高度自動調整","settings.whats_new":"新功能","settings.view_changelog":"查看更新日誌","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"意見回饋","settings.feedback_issues":"GitHub 回報","settings.feedback_group":"微信用戶群","settings.feedback_hint":"bug、想法都歡迎——Issue 會被追蹤處理;微信群回饋直達。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在電腦上執行","settings.push_notifications":"推播通知","settings.notify_on":"已開啟 ✓","settings.notify_enable":"開啟裝置通知","settings.notify_enabled":"已開啟,應會收到一則歡迎通知","settings.notify_disabled":"已關閉","settings.notify_failed":"操作失敗","settings.processing":"處理中","settings.push_hint":"監聽「需要你」和「已完成」:所關注工作階段需要授權/回答,或一輪剛完成時,推播到此裝置。","settings.push_unsupported":"推播需要 Chrome 或 Safari 瀏覽器","settings.group_session":"目前工作階段設定","settings.screen_cols":"螢幕欄數","settings.cols_dec":"減少","settings.cols_dec_title":"減少欄數","settings.cols_inc":"增加","settings.cols_inc_title":"增加欄數","settings.cols_restore":"預設","settings.cols_restore_title":"恢復視窗預設尺寸","settings.preview_site":"預覽站台","settings.preview_static_site":"預覽靜態站台","settings.preview_running_dynamic":"動態預覽 執行中","settings.preview_running_static":"靜態預覽 執行中","settings.preview_remain_title":"剩餘有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"續期","settings.preview_confirm_stop":"確認停止","settings.preview_stop":"停止","settings.preview_name":"名稱:{name}","settings.preview_port":"(連接埠:{port})","settings.preview_type":"預覽類型","settings.preview_off":"不開啟","settings.preview_static":"靜態","settings.preview_dynamic":"動態","settings.preview_off_hint":"未開啟預覽。選擇「靜態」開始。","settings.preview_off_hint_both":"未開啟預覽。選擇「靜態」或「動態」開始。","settings.preview_dynamic_disabled":"動態連接埠預覽未啟用。要開啟:將一個萬用字元預覽網域(previewDomain,如 *.example.com)指向閘道,並設定對應的 TLS 憑證。Cloudflare / 自建憑證差異請見 README。","settings.preview_pick_dir":"選擇目錄啟動","settings.preview_static_hint":"選一個含 index.html 的目錄,在手機上預覽。","settings.preview_port_placeholder":"連接埠,如 3000","settings.preview_port_label":"連接埠","settings.preview_starting":"啟動中…","settings.preview_start":"啟動","settings.preview_dynamic_hint":"填入本機正在執行的連接埠(dev server / 後端),手機透過子網域直接存取。","settings.dir_picker_hint":"選擇要預覽的靜態站台目錄(含 index.html)","settings.err_port_not_listening":"該連接埠未在監聽,請確認服務已啟動","settings.err_bad_port":"連接埠不合法(1–65535)","settings.err_dynamic_disabled":"動態預覽未開啟","settings.err_start_failed":"啟動失敗","filebrowser.openDirFailed":"無法開啟該目錄","filebrowser.copiedPath":"已複製路徑:{abs}","filebrowser.mkdirFailed":"建立目錄失敗(名稱不合法或已存在)","filebrowser.downloading":"下載 {name}","filebrowser.downloadFailed":"下載失敗","filebrowser.uploading":"上傳 {name}{tag}","filebrowser.uploadFailed":"上傳失敗","filebrowser.uploadPartialFailed":"以下檔案上傳失敗:{names}","filebrowser.sessionDir":"工作階段目錄","filebrowser.jumpToSessionDir":"跳到目前工作階段目錄","filebrowser.parentDir":"上層目錄","filebrowser.rootSelect":"切換根目錄(主目錄 / 暫存目錄)","filebrowser.pathPlaceholder":"輸入路徑(即時篩選/跳轉)","filebrowser.newFolder":"新增資料夾","filebrowser.createBtn":"建立","filebrowser.uploadFile":"上傳檔案","filebrowser.uploadToCurrentDir":"上傳到目前目錄","filebrowser.enterSubdirToUpload":"請進入一個子目錄上傳","filebrowser.folderNamePlaceholder":"資料夾名稱","filebrowser.uploadPendingTo":"將「{name}」上傳到目前目錄","filebrowser.enterSubdirFirst":"(請先進入一個子目錄)","filebrowser.upload":"上傳","filebrowser.savedToDownloads":"已儲存「{name}」到「下載」資料夾,可在系統檔案管理員查看","filebrowser.noMatches":"沒有符合的檔案或目錄","filebrowser.tooMany":"共 {total} 項,僅顯示前 {shown} 項——在路徑框輸入關鍵字可篩選","filebrowser.previewUnsupported":"暫不支援此類型檔案的預覽,點右側按鈕可下載","filebrowser.copyAbsPath":"複製絕對路徑","filebrowser.download":"下載","filebrowser.pickThisDir":"選定此目錄 {path}","filebrowser.downloadConfirm":"下載 {name}?","filemanager.files":"檔案","filemanager.closeTab":"關閉標籤","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目錄","git.errReadRepo":"無法讀取儲存庫","git.errLoad":"載入失敗","git.noRepoInDir":"這個目錄還不是 git 儲存庫 —— 換一個目錄,或在這裡 git init 一下。","git.outsideRoots":"這個目錄在 handmux 可存取範圍之外 —— 只開放主目錄和 /tmp。把儲存庫放到主目錄下,就能在這裡檢視了。","git.errReadDir":"無法讀取該目錄","git.commitDetail":"提交詳情","git.diff":"差異","git.bindRepo":"綁定儲存庫","git.collapse":"收起","git.currentBranch":"目前分支","git.switchViewedBranch":"切換查看的分支","git.switchBranch":"切換分支","git.noBranches":"目前沒有分支","git.noRepoBound":"未綁定儲存庫,點左上角「+」選擇一個目錄。","git.changes":"變更","git.commits":"提交","git.pullToLoadMore":"下拉載入更多","git.pickerHint":"選擇一個目錄,自動尋找其中的 git 儲存庫","git.cleanTree":"工作區乾淨","git.noCommits":"目前沒有提交","git.noDiff":"無差異","git.fontSmaller":"縮小字型","git.fontLarger":"放大字型","git.diffTruncated":"diff 過大,已截斷","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"還沒有命令,傳送一條或儲存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全域 · 所有工作階段","cmd.recent":"最近","cmd.scopeSession":"僅本工作階段","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗讀","doc.pauseRead":"暫停朗讀","doc.resumeRead":"繼續朗讀","doc.stopRead":"停止朗讀","doc.rate":"語速","doc.fontSmaller":"縮小字型","doc.fontLarger":"放大字型","inbox.view.working":"進行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推播通知需要 Chrome 或 Safari 瀏覽器","push.iosAddToHome":"iOS 需先將本站「加入主畫面」,從主畫面圖示開啟後再開啟","a2hs.title":"將 handmux 加入主畫面","a2hs.lead":"像 App 一樣開啟——全螢幕、沒有網址列。在 iPhone 上,pane 需要你時的推播也靠它送達。","a2hs.install":"安裝 handmux","a2hs.ios1":"點 Safari 的分享按鈕(⬆︎ 方框)。","a2hs.ios2":"點「更多」,或向下滑動清單。","a2hs.ios3":"選「加入主畫面」,再點「加入」。","a2hs.iosHint":"Safari 裡:分享 → 更多 → 加入主畫面。","a2hs.iosOpenSafari":"目前不是 Safari。請在 Safari 開啟本頁再加入主畫面——其他 iOS 瀏覽器無法安裝。","a2hs.androidManual":"開啟瀏覽器選單(⋮),選「加入主畫面」或「安裝應用程式」。","a2hs.later":"稍後再說","push.permissionDenied":"通知權限被拒絕","push.noVapid":"伺服器未設定推播(VAPID)","push.subscribeFailed":"訂閱回報失敗","push.sendFailed":"傳送失敗","api.loadFailed":"載入失敗","api.uploadFailed":"上傳失敗","upload.title":"上傳中","upload.processing":"已傳送,伺服器接收中…","api.uploadBadDir":"無法上傳到該目錄","api.uploadDuplicate":"已存在同名檔案","api.uploadTooLarge":"檔案過大(上限 50MB)","api.uploadBadType":"不支援的檔案類型","time.secAgo":"{n} 秒前","time.minAgo":"{n} 分鐘前","time.hourAgo":"{n} 小時前","time.dayAgo":"{n} 天前","time.expired":"已過期","time.minutes":"{n} 分鐘"},Ew={"common.save":"保存","common.cancel":"キャンセル","common.confirm":"確認","common.ok":"OK","common.close":"閉じる","common.delete":"削除","common.copy":"コピー","common.rename":"名前を変更","common.create":"新規作成","common.back":"戻る","common.open":"開く","common.loading":"読み込み中…","common.done":"完了","token.title":"アクセストークンが必要です","token.placeholder":"HANDMUX_TOKEN を貼り付け","settings.language":"言語 Language","home.empty":"ファイルが開かれていません","home.emptyHint":"「新規」タブでファイルを選択してください","home.remove":"削除","drawer.empty":"セッションが紐付けられていません","drawer.unbind":"紐付け解除","drawer.bind":"セッションを紐付け","drawer.logout":"ログアウト","windowbar.newWindow":"新規ウィンドウ","rename.new_name":"新しい名前","rename.name_placeholder":"短い名前","rename.name_rule":"英数字とハイフンのみ(≤16文字)","rename.failed":"名前の変更に失敗しました。再試行してください","rename.saving":"保存中…","newwindow.title":"新規ウィンドウ","newwindow.window_name":"ウィンドウ名(任意)","newwindow.name_placeholder":"空白で自動命名","newwindow.name_rule":"英数字とハイフンのみ(≤16文字)","newwindow.start_dir":"開始ディレクトリ","newwindow.session_dir_named":"{dir}(セッションディレクトリ)","newwindow.session_dir_default":"セッションディレクトリ(デフォルト)","newwindow.choose":"選択","newwindow.reset_to_session_dir":"セッションディレクトリにリセット","newwindow.creating":"作成中…","startup.label":"起動コマンド(任意)","startup.aria":"起動コマンド","startup.preset_shell":"空のシェル(デフォルト)","startup.preset_claude":"claude(Claude Code を起動)","startup.preset_claude_continue":"claude -c(前回のセッションを継続)","startup.preset_codex":"codex(Codex CLI を起動)","startup.custom":"カスタム…","startup.custom_placeholder":'例:claude "ログインバグを修正"',"bind.title":"セッションを紐付け","bind.sessionName":"セッション名","bind.namePlaceholder":"新しいセッション名","bind.pickSession":"紐付けるセッションを選択","bind.newSession":"+ 新規セッション","bind.alreadyExists":"このセッションは既に存在します","bind.bind":"紐付け","bind.checking":"確認中…","bind.createAndOpen":"作成して開く","bind.creating":"作成中…","bind.createHint":"セッション「{name}」が存在しません。「作成して開く」をタップして作成してください","bind.alreadyBound":"このセッションはすでに紐付けられています","bind.createFailed":"作成に失敗しました。再試行してください","bind.invalidName":"英数字とハイフンのみ(≤16文字)","bind.desktopHint":"ここのセッション(スマホで作成したものも)は、PC で 1 コマンドで引き継げます:handmux open <名前>","bind.checkFailed":"確認に失敗しました。再試行してください","bind.startDir":"開始ディレクトリ","bind.homeDirDefault":"ホームディレクトリ(デフォルト)","bind.choose":"選択","bind.reset":"リセット","actionsheet.confirmAgain":"確認しますか?もう一度タップ","dirpicker.title":"ディレクトリを選択","inbox.title":"受信トレイ","inbox.working":"進行中","inbox.done":"完了","inbox.needs":"要対応","inbox.clearDone":"完了済みをクリア","inbox.empty":"パネルの状態なし","inbox.enableTitle":"AI セッション通知を有効にする","inbox.enableHint":"各 Claude / Codex パネルを「進行中」「要対応」「完了」にマークし、対応が必要なときにプッシュ通知を送信します。","inbox.enableBtn":"有効にする","inbox.enabling":"有効化中…","inbox.enableFailed":"有効化に失敗しました——サーバーログを確認してください。","idea.title":"アイデア","idea.editPlaceholder":"アイデアを編集…","idea.addPlaceholder":"アイデアを記録…","idea.add":"追加","idea.empty":"まだアイデアがありません。記録してみましょう","idea.dragSort":"ドラッグで並べ替え","idea.fillInput":"入力欄に挿入","idea.send":"送信","doclink.title":"ファイルを開く","changelog.title":"新機能","preview.dynamic":"ダイナミックプレビュー","preview.static":"静的プレビュー","preview.remainTitle":"残り有効期限 — タップして更新 / 停止","preview.toPcView":"PCビューに切り替え","preview.toMobileView":"モバイルビューに切り替え","preview.pcView":"PCビュー","preview.mobileView":"モバイルビュー","preview.refresh":"更新","preview.minimize":"最小化","preview.ttlDialog":"プレビュー有効期限","preview.renew":"更新(1時間にリセット)","preview.stop":"プレビューを停止","preview.iframeTitle":"プレビュー","preview.zoomOut":"縮小","preview.zoomIn":"拡大","imageviewer.loadFailed":"画像の読み込みに失敗しました","imageviewer.saved":"保存しました。フォトライブラリまたは「ダウンロード」で確認できます","imageviewer.shareUnsupported":"画像の共有には Chrome または Safari が必要です","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"拡大","imageviewer.imageTitle":"画像","imageviewer.saveImage":"画像を保存","imageviewer.shareImage":"画像を共有","mic.stop":"音声入力を停止","mic.start":"音声入力","dock.send":"送信","dock.send.hint":"タップで送信 · 長押しで挿入","dock.phrases":"よく使うフレーズ","dock.attach":"添付","dock.history":"履歴","history.empty":"履歴はまだありません","history.scope":"このウィンドウの記録のみ","dock.input.placeholder":"メッセージを入力…","dock.command.placeholder":"コマンドを入力 · Enterで実行","dock.mode.agent":"会話","dock.mode.toggle":"入力モードを切替","dock.mode.command":"コマンド","dock.mode.chat":"チャット","fav.title":"よく使う","fav.add":"追加","fav.addPlaceholder":"よく使う項目を追加…","dock.upload.aria":"ファイルをアップロード","dock.upload.title":"ファイルをアップロード(ホームのアップロードフォルダに保存、プロジェクトには含まない)","dock.upload.progress":"{name}{tag} をアップロード中","dock.upload.failed":"アップロード失敗:{names}","app.nameExists":"その名前はすでに使われています","app.renameFailed":"名前の変更に失敗しました。再試行してください","app.deleteFailed":"削除に失敗しました。再試行してください","app.moveFailed":"移動に失敗しました。再試行してください","app.sessionGone":"セッション「{name}」が存在しません。閉じられた可能性があります","app.docNotFound":"ファイルが存在しません","app.docTooLarge":"ファイルが大きすぎます(2MB超)","app.docUnsupported":"サポートされていないファイルまたはパス","app.docOpenFailed":"開くのに失敗しました。再試行してください","app.preview":"プレビュー","app.openPreview":"プレビューを開く","app.ideas":"アイデア","app.files":"ファイル","app.settings":"設定","app.renameSession":"セッション名を変更","app.renameWindow":"ウィンドウ名を変更","app.moveLeft":"◀ 左へ移動","app.moveRight":"右へ移動 ▶","app.deleteWindow":"ウィンドウを削除","app.deleteLastWindowConfirm":"これは最後のウィンドウです。削除するとセッション全体が閉じます!もう一度タップ","app.deleteConfirm":"削除しますか?もう一度タップ","app.cannotLocate":"場所を特定できません","app.pickItsDir":"。ディレクトリを選択してください:","app.noBoundSession":"セッションが紐付けられていません","app.tapToBind":"タップして紐付け","app.selectSessionHint":"左上の ☰ をタップしてセッションを選択","settings.title":"設定","settings.group_global":"グローバル設定","settings.font_size":"フォントサイズ","settings.font_decrease":"フォントを縮小","settings.font_increase":"フォントを拡大","settings.font_auto":"自動調整","settings.font_auto_title":"高さに合わせて自動調整","settings.whats_new":"新機能","settings.view_changelog":"変更履歴を表示","settings.has_update":"更新あり","settings.version":"バージョン","settings.feedback":"フィードバック","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat グループ","settings.feedback_hint":"バグ報告や要望は Issue へ — 必ず追跡・返信されます。","settings.update_available":"バージョン {v} が利用可能","settings.update_how":"パソコンで実行:","settings.push_notifications":"プッシュ通知","settings.notify_on":"有効 ✓","settings.notify_enable":"デバイス通知を有効にする","settings.notify_enabled":"有効にしました。ウェルカム通知が届くはずです","settings.notify_disabled":"無効","settings.notify_failed":"操作に失敗しました","settings.processing":"処理中","settings.push_hint":"「要対応」と「完了」を監視:注目しているセッションが承認/回答を必要としているとき、またはラウンドが完了したときにこのデバイスへ通知します。","settings.push_unsupported":"プッシュ通知には Chrome または Safari が必要です","settings.group_session":"現在のセッション設定","settings.screen_cols":"画面の列数","settings.cols_dec":"減らす","settings.cols_dec_title":"列数を減らす","settings.cols_inc":"増やす","settings.cols_inc_title":"列数を増やす","settings.cols_restore":"デフォルト","settings.cols_restore_title":"ウィンドウのデフォルトサイズに戻す","settings.preview_site":"プレビューサイト","settings.preview_static_site":"静的サイトをプレビュー","settings.preview_running_dynamic":"ダイナミックプレビュー 実行中","settings.preview_running_static":"静的プレビュー 実行中","settings.preview_remain_title":"残り有効期限","settings.preview_remain":"残り {time}","settings.preview_renew":"更新","settings.preview_confirm_stop":"停止を確認","settings.preview_stop":"停止","settings.preview_name":"名前:{name}","settings.preview_port":"(ポート:{port})","settings.preview_type":"プレビュータイプ","settings.preview_off":"無効","settings.preview_static":"静的","settings.preview_dynamic":"ダイナミック","settings.preview_off_hint":"プレビューは無効です。「静的」を選択して開始してください。","settings.preview_off_hint_both":"プレビューは無効です。「静的」または「ダイナミック」を選択して開始してください。","settings.preview_dynamic_disabled":"ダイナミックポートプレビューは無効です。有効にするには:ワイルドカードプレビュードメイン(previewDomain、例:*.example.com)をゲートウェイに向け、対応するTLS証明書を設定してください。Cloudflare /自己署名証明書の違いはREADMEを参照。","settings.preview_pick_dir":"ディレクトリを選択して開始","settings.preview_static_hint":"index.html を含むディレクトリを選択して、スマートフォンでプレビュー。","settings.preview_port_placeholder":"ポート番号(例:3000)","settings.preview_port_label":"ポート","settings.preview_starting":"起動中…","settings.preview_start":"起動","settings.preview_dynamic_hint":"ローカルで実行中のポート(devサーバー / バックエンド)を入力すると、スマートフォンからサブドメイン経由でアクセスできます。","settings.dir_picker_hint":"プレビューする静的サイトのディレクトリを選択(index.html を含む)","settings.err_port_not_listening":"そのポートはリッスンしていません。サービスが起動しているか確認してください","settings.err_bad_port":"ポート番号が無効です(1〜65535)","settings.err_dynamic_disabled":"ダイナミックプレビューは無効です","settings.err_start_failed":"起動に失敗しました","filebrowser.openDirFailed":"ディレクトリを開けませんでした","filebrowser.copiedPath":"パスをコピーしました:{abs}","filebrowser.mkdirFailed":"ディレクトリの作成に失敗しました(名前が無効または既に存在します)","filebrowser.downloading":"{name} をダウンロード中","filebrowser.downloadFailed":"ダウンロードに失敗しました","filebrowser.uploading":"{name}{tag} をアップロード中","filebrowser.uploadFailed":"アップロードに失敗しました","filebrowser.uploadPartialFailed":"以下のファイルのアップロードに失敗しました:{names}","filebrowser.sessionDir":"セッションディレクトリ","filebrowser.jumpToSessionDir":"現在のセッションディレクトリへ移動","filebrowser.parentDir":"親ディレクトリ","filebrowser.rootSelect":"ルートディレクトリを切り替え(ホーム / 一時)","filebrowser.pathPlaceholder":"パスを入力(リアルタイムフィルタ / ジャンプ)","filebrowser.newFolder":"新規フォルダ","filebrowser.createBtn":"作成","filebrowser.uploadFile":"ファイルをアップロード","filebrowser.uploadToCurrentDir":"現在のディレクトリにアップロード","filebrowser.enterSubdirToUpload":"サブディレクトリに移動してからアップロードしてください","filebrowser.folderNamePlaceholder":"フォルダ名","filebrowser.uploadPendingTo":"「{name}」を現在のディレクトリにアップロード","filebrowser.enterSubdirFirst":"(先にサブディレクトリに移動してください)","filebrowser.upload":"アップロード","filebrowser.savedToDownloads":"「{name}」を「ダウンロード」フォルダに保存しました。ファイルマネージャーで確認できます","filebrowser.noMatches":"一致するファイルまたはディレクトリがありません","filebrowser.tooMany":"合計 {total} 件、最初の {shown} 件のみ表示——パス欄にキーワードを入力してフィルタできます","filebrowser.previewUnsupported":"このファイルタイプのプレビューはサポートされていません。右のボタンでダウンロードできます","filebrowser.copyAbsPath":"絶対パスをコピー","filebrowser.download":"ダウンロード","filebrowser.pickThisDir":"このディレクトリを選択 {path}","filebrowser.downloadConfirm":"{name} をダウンロードしますか?","filemanager.files":"ファイル","filemanager.closeTab":"タブを閉じる","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"ディレクトリ","git.errReadRepo":"リポジトリを読み込めませんでした","git.errLoad":"読み込みに失敗しました","git.noRepoInDir":"このディレクトリにはまだ git リポジトリがありません — 別のディレクトリを選ぶか、ここで git init してください。","git.outsideRoots":"このフォルダは handmux がアクセスできる範囲外です — ホームディレクトリと /tmp のみ開けます。リポジトリをホーム配下に移すとここで閲覧できます。","git.errReadDir":"ディレクトリを読み込めませんでした","git.commitDetail":"コミット詳細","git.diff":"差分","git.bindRepo":"リポジトリを紐付け","git.collapse":"折りたたむ","git.currentBranch":"現在のブランチ","git.switchViewedBranch":"表示するブランチを切り替え","git.switchBranch":"ブランチを切り替え","git.noBranches":"ブランチがありません","git.noRepoBound":"リポジトリが紐付けられていません。左上の「+」をタップしてディレクトリを選択してください。","git.changes":"変更","git.commits":"コミット","git.pullToLoadMore":"引っ張ってさらに読み込む","git.pickerHint":"ディレクトリを選択すると、その中の git リポジトリを自動的に検索します","git.cleanTree":"ワーキングツリーはクリーンです","git.noCommits":"コミットがありません","git.noDiff":"差分なし","git.fontSmaller":"フォントを縮小","git.fontLarger":"フォントを拡大","git.diffTruncated":"差分が大きすぎるため、切り捨てられました","cmd.panel":"コマンドパネル","cmd.title":"コマンド","cmd.empty":"コマンドがありません。送信するか、よく使うものを保存してください","cmd.favorites":"お気に入り","cmd.scopeGlobal":"グローバル · 全セッション","cmd.recent":"最近","cmd.scopeSession":"このセッションのみ","cmd.favorite":"お気に入りに追加","cmd.unfavorite":"お気に入りから削除","doc.home":"最近","doc.read":"読み上げ","doc.pauseRead":"一時停止","doc.resumeRead":"再開","doc.stopRead":"読み上げを停止","doc.rate":"読み上げ速度","doc.fontSmaller":"フォントを縮小","doc.fontLarger":"フォントを拡大","inbox.view.working":"進行中","inbox.view.done":"完了","inbox.view.needs":"要対応","push.unsupported":"プッシュ通知には Chrome または Safari が必要です","push.iosAddToHome":"iOS では先にこのサイトを「ホーム画面に追加」し、ホーム画面のアイコンから開いてください","a2hs.title":"handmux をホーム画面に追加","a2hs.lead":"アプリのように全画面で開けます。iPhone では、pane があなたを必要とするときの通知もこれで届きます。","a2hs.install":"handmux をインストール","a2hs.ios1":"Safari の共有ボタン(⬆︎ の四角)をタップ。","a2hs.ios2":"「その他」をタップ、または下にスクロール。","a2hs.ios3":"「ホーム画面に追加」を選び、「追加」をタップ。","a2hs.iosHint":"Safari で:共有 → その他 → ホーム画面に追加。","a2hs.iosOpenSafari":"現在 Safari ではありません。Safari でこのページを開いてからホーム画面に追加してください(他の iOS ブラウザではインストールできません)。","a2hs.androidManual":"ブラウザのメニュー(⋮)から「ホーム画面に追加」または「アプリをインストール」を選択。","a2hs.later":"あとで","push.permissionDenied":"通知の権限が拒否されました","push.noVapid":"サーバーにプッシュ通知(VAPID)が設定されていません","push.subscribeFailed":"サブスクリプションの登録に失敗しました","push.sendFailed":"送信に失敗しました","api.loadFailed":"読み込みに失敗しました","api.uploadFailed":"アップロードに失敗しました","upload.title":"アップロード中","upload.processing":"送信完了 — サーバーで受信中…","api.uploadBadDir":"そのディレクトリへはアップロードできません","api.uploadDuplicate":"同名のファイルが既に存在します","api.uploadTooLarge":"ファイルが大きすぎます(上限 50MB)","api.uploadBadType":"サポートされていないファイルタイプです","time.secAgo":"{n}秒前","time.minAgo":"{n}分前","time.hourAgo":"{n}時間前","time.dayAgo":"{n}日前","time.expired":"期限切れ","time.minutes":"{n} 分"},Lw={"common.save":"저장","common.cancel":"취소","common.confirm":"확인","common.ok":"확인","common.close":"닫기","common.delete":"삭제","common.copy":"복사","common.rename":"이름 변경","common.create":"새로 만들기","common.back":"뒤로","common.open":"열기","common.loading":"로드 중…","common.done":"완료","token.title":"액세스 토큰이 필요합니다","token.placeholder":"HANDMUX_TOKEN 붙여넣기","settings.language":"언어 Language","home.empty":"열린 파일이 없습니다","home.emptyHint":"「새로 만들기」 탭에서 파일을 선택하세요","home.remove":"제거","drawer.empty":"연결된 세션이 없습니다","drawer.unbind":"연결 해제","drawer.bind":"세션 연결","drawer.logout":"로그아웃","windowbar.newWindow":"새 창","rename.new_name":"새 이름","rename.name_placeholder":"짧은 이름","rename.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","rename.failed":"이름 변경에 실패했습니다. 다시 시도하세요","rename.saving":"저장 중…","newwindow.title":"새 창","newwindow.window_name":"창 이름(선택 사항)","newwindow.name_placeholder":"비워두면 자동 이름 지정","newwindow.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","newwindow.start_dir":"시작 디렉토리","newwindow.session_dir_named":"{dir}(세션 디렉토리)","newwindow.session_dir_default":"세션 디렉토리(기본값)","newwindow.choose":"선택","newwindow.reset_to_session_dir":"세션 디렉토리로 초기화","newwindow.creating":"생성 중…","startup.label":"시작 명령(선택 사항)","startup.aria":"시작 명령","startup.preset_shell":"빈 셸(기본값)","startup.preset_claude":"claude(Claude Code 시작)","startup.preset_claude_continue":"claude -c(이전 세션 이어서)","startup.preset_codex":"codex(Codex CLI 시작)","startup.custom":"사용자 정의…","startup.custom_placeholder":'예:claude "로그인 버그 수정"',"bind.title":"세션 연결","bind.sessionName":"세션 이름","bind.namePlaceholder":"새 세션 이름","bind.pickSession":"연결할 세션 선택","bind.newSession":"+ 새 세션","bind.alreadyExists":"이미 존재하는 세션입니다","bind.bind":"연결","bind.checking":"확인 중…","bind.createAndOpen":"생성 후 열기","bind.creating":"생성 중…","bind.createHint":"세션「{name}」이 존재하지 않습니다. 「생성 후 열기」를 탭하여 생성하세요","bind.alreadyBound":"이미 연결된 세션입니다","bind.createFailed":"생성에 실패했습니다. 다시 시도하세요","bind.invalidName":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","bind.desktopHint":"여기의 세션(폰에서 만든 것 포함)은 컴퓨터에서 명령 하나로 이어받을 수 있습니다: handmux open <이름>","bind.checkFailed":"확인에 실패했습니다. 다시 시도하세요","bind.startDir":"시작 디렉토리","bind.homeDirDefault":"홈 디렉토리(기본값)","bind.choose":"선택","bind.reset":"초기화","actionsheet.confirmAgain":"확인하시겠습니까? 한 번 더 탭하세요","dirpicker.title":"디렉토리 선택","inbox.title":"받은 편지함","inbox.working":"진행 중","inbox.done":"완료","inbox.needs":"확인 필요","inbox.clearDone":"완료 항목 지우기","inbox.empty":"패널 상태 없음","inbox.enableTitle":"AI 세션 알림 활성화","inbox.enableHint":"각 Claude / Codex 패널을 「진행 중」「확인 필요」「완료」로 표시하고, 확인이 필요할 때 푸시 알림을 보냅니다.","inbox.enableBtn":"활성화","inbox.enabling":"활성화 중…","inbox.enableFailed":"활성화에 실패했습니다——서버 로그를 확인하세요.","idea.title":"아이디어","idea.editPlaceholder":"아이디어 편집…","idea.addPlaceholder":"아이디어를 기록하세요…","idea.add":"추가","idea.empty":"아직 아이디어가 없습니다. 하나 기록해보세요","idea.dragSort":"드래그하여 정렬","idea.fillInput":"입력창에 삽입","idea.send":"보내기","doclink.title":"파일 열기","changelog.title":"새 기능","preview.dynamic":"동적 미리보기","preview.static":"정적 미리보기","preview.remainTitle":"남은 유효 기간 — 탭하여 갱신 / 중지","preview.toPcView":"PC 보기로 전환","preview.toMobileView":"모바일 보기로 전환","preview.pcView":"PC 보기","preview.mobileView":"모바일 보기","preview.refresh":"새로 고침","preview.minimize":"최소화","preview.ttlDialog":"미리보기 유효 기간","preview.renew":"갱신(1시간으로 초기화)","preview.stop":"미리보기 중지","preview.iframeTitle":"미리보기","preview.zoomOut":"축소","preview.zoomIn":"확대","imageviewer.loadFailed":"이미지를 불러오지 못했습니다","imageviewer.saved":"저장되었습니다. 사진 앱 또는 「다운로드」에서 확인할 수 있습니다","imageviewer.shareUnsupported":"이미지 공유는 Chrome 또는 Safari가 필요합니다","imageviewer.zoomOut":"축소","imageviewer.zoomIn":"확대","imageviewer.imageTitle":"이미지","imageviewer.saveImage":"이미지 저장","imageviewer.shareImage":"이미지 공유","mic.stop":"음성 입력 중지","mic.start":"음성 입력","dock.send":"보내기","dock.send.hint":"탭하여 보내기 · 길게 눌러 삽입","dock.phrases":"자주 쓰는 문구","dock.attach":"첨부","dock.history":"기록","history.empty":"기록이 아직 없습니다","history.scope":"현재 창의 기록만","dock.input.placeholder":"메시지를 입력하세요…","dock.command.placeholder":"명령 입력 · Enter로 실행","dock.mode.agent":"대화","dock.mode.toggle":"입력 모드 전환","dock.mode.command":"명령 모드","dock.mode.chat":"채팅 모드","fav.title":"자주 쓰기","fav.add":"추가","fav.addPlaceholder":"자주 쓰는 항목 추가…","dock.upload.aria":"파일 업로드","dock.upload.title":"파일 업로드(홈 업로드 폴더에 저장, 프로젝트에는 포함되지 않음)","dock.upload.progress":"{name}{tag} 업로드 중","dock.upload.failed":"업로드 실패:{names}","app.nameExists":"해당 이름은 이미 사용 중입니다","app.renameFailed":"이름 변경에 실패했습니다. 다시 시도하세요","app.deleteFailed":"삭제에 실패했습니다. 다시 시도하세요","app.moveFailed":"이동에 실패했습니다. 다시 시도하세요","app.sessionGone":"세션「{name}」이 존재하지 않습니다. 이미 닫혔을 수 있습니다","app.docNotFound":"파일이 존재하지 않습니다","app.docTooLarge":"파일이 너무 큽니다(2MB 초과)","app.docUnsupported":"지원되지 않는 파일 또는 경로","app.docOpenFailed":"열기에 실패했습니다. 다시 시도하세요","app.preview":"미리보기","app.openPreview":"미리보기 열기","app.ideas":"아이디어","app.files":"파일","app.settings":"설정","app.renameSession":"세션 이름 변경","app.renameWindow":"창 이름 변경","app.moveLeft":"◀ 왼쪽으로 이동","app.moveRight":"오른쪽으로 이동 ▶","app.deleteWindow":"창 삭제","app.deleteLastWindowConfirm":"마지막 창입니다. 삭제하면 전체 세션이 닫힙니다!한 번 더 탭하세요","app.deleteConfirm":"삭제하시겠습니까? 한 번 더 탭하세요","app.cannotLocate":"위치를 찾을 수 없습니다","app.pickItsDir":",디렉토리를 선택하세요:","app.noBoundSession":"연결된 세션이 없습니다","app.tapToBind":"탭하여 연결","app.selectSessionHint":"왼쪽 상단의 ☰ 를 탭하여 세션 선택","settings.title":"설정","settings.group_global":"전체 설정","settings.font_size":"글꼴 크기","settings.font_decrease":"글꼴 축소","settings.font_increase":"글꼴 확대","settings.font_auto":"자동 조정","settings.font_auto_title":"높이에 맞게 자동 조정","settings.whats_new":"새 기능","settings.view_changelog":"변경 내역 보기","settings.has_update":"업데이트 있음","settings.version":"버전","settings.feedback":"피드백","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat 그룹","settings.feedback_hint":"버그와 아이디어 모두 환영 — Issue는 추적되고 답변됩니다.","settings.update_available":"버전 {v} 사용 가능","settings.update_how":"컴퓨터에서 실행:","settings.push_notifications":"푸시 알림","settings.notify_on":"활성화됨 ✓","settings.notify_enable":"기기 알림 활성화","settings.notify_enabled":"활성화되었습니다. 환영 알림이 도착할 것입니다","settings.notify_disabled":"비활성화됨","settings.notify_failed":"작업에 실패했습니다","settings.processing":"처리 중","settings.push_hint":"「확인 필요」및「완료」를 모니터링:관심 세션에서 승인/응답이 필요하거나 한 라운드가 완료되면 이 기기로 알림을 보냅니다.","settings.push_unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","settings.group_session":"현재 세션 설정","settings.screen_cols":"화면 열 수","settings.cols_dec":"감소","settings.cols_dec_title":"열 수 감소","settings.cols_inc":"증가","settings.cols_inc_title":"열 수 증가","settings.cols_restore":"기본값","settings.cols_restore_title":"창 기본 크기로 복원","settings.preview_site":"미리보기 사이트","settings.preview_static_site":"정적 사이트 미리보기","settings.preview_running_dynamic":"동적 미리보기 실행 중","settings.preview_running_static":"정적 미리보기 실행 중","settings.preview_remain_title":"남은 유효 기간","settings.preview_remain":"남은 시간 {time}","settings.preview_renew":"갱신","settings.preview_confirm_stop":"중지 확인","settings.preview_stop":"중지","settings.preview_name":"이름:{name}","settings.preview_port":"(포트:{port})","settings.preview_type":"미리보기 유형","settings.preview_off":"비활성화","settings.preview_static":"정적","settings.preview_dynamic":"동적","settings.preview_off_hint":"미리보기가 비활성화되어 있습니다. 「정적」을 선택하여 시작하세요.","settings.preview_off_hint_both":"미리보기가 비활성화되어 있습니다. 「정적」또는「동적」을 선택하여 시작하세요.","settings.preview_dynamic_disabled":"동적 포트 미리보기가 비활성화되어 있습니다. 활성화하려면:와일드카드 미리보기 도메인(previewDomain, 예:*.example.com)을 게이트웨이로 지정하고 TLS 인증서를 설정하세요. Cloudflare /자체 서명 인증서 차이는 README를 참조하세요.","settings.preview_pick_dir":"디렉토리를 선택하여 시작","settings.preview_static_hint":"index.html이 포함된 디렉토리를 선택하여 스마트폰에서 미리보기.","settings.preview_port_placeholder":"포트 번호(예:3000)","settings.preview_port_label":"포트","settings.preview_starting":"시작 중…","settings.preview_start":"시작","settings.preview_dynamic_hint":"로컬에서 실행 중인 포트(dev 서버 / 백엔드)를 입력하면 스마트폰에서 서브도메인을 통해 직접 접속할 수 있습니다.","settings.dir_picker_hint":"미리볼 정적 사이트 디렉토리 선택(index.html 포함)","settings.err_port_not_listening":"해당 포트가 수신 대기 중이지 않습니다. 서비스가 시작되었는지 확인하세요","settings.err_bad_port":"포트 번호가 유효하지 않습니다(1–65535)","settings.err_dynamic_disabled":"동적 미리보기가 비활성화되어 있습니다","settings.err_start_failed":"시작에 실패했습니다","filebrowser.openDirFailed":"디렉토리를 열 수 없습니다","filebrowser.copiedPath":"경로가 복사되었습니다:{abs}","filebrowser.mkdirFailed":"디렉토리 생성에 실패했습니다(이름이 유효하지 않거나 이미 존재합니다)","filebrowser.downloading":"{name} 다운로드 중","filebrowser.downloadFailed":"다운로드에 실패했습니다","filebrowser.uploading":"{name}{tag} 업로드 중","filebrowser.uploadFailed":"업로드에 실패했습니다","filebrowser.uploadPartialFailed":"다음 파일 업로드에 실패했습니다:{names}","filebrowser.sessionDir":"세션 디렉토리","filebrowser.jumpToSessionDir":"현재 세션 디렉토리로 이동","filebrowser.parentDir":"상위 디렉토리","filebrowser.rootSelect":"루트 디렉토리 전환(홈 / 임시)","filebrowser.pathPlaceholder":"경로 입력(실시간 필터 / 이동)","filebrowser.newFolder":"새 폴더","filebrowser.createBtn":"생성","filebrowser.uploadFile":"파일 업로드","filebrowser.uploadToCurrentDir":"현재 디렉토리에 업로드","filebrowser.enterSubdirToUpload":"하위 디렉토리로 이동한 후 업로드하세요","filebrowser.folderNamePlaceholder":"폴더 이름","filebrowser.uploadPendingTo":"「{name}」을 현재 디렉토리에 업로드","filebrowser.enterSubdirFirst":"(먼저 하위 디렉토리로 이동하세요)","filebrowser.upload":"업로드","filebrowser.savedToDownloads":"「{name}」이 「다운로드」 폴더에 저장되었습니다. 파일 관리자에서 확인할 수 있습니다","filebrowser.noMatches":"일치하는 파일 또는 디렉토리가 없습니다","filebrowser.tooMany":"총 {total}개, 처음 {shown}개만 표시——경로 입력창에 키워드를 입력하여 필터할 수 있습니다","filebrowser.previewUnsupported":"이 파일 유형의 미리보기는 지원되지 않습니다. 오른쪽 버튼으로 다운로드할 수 있습니다","filebrowser.copyAbsPath":"절대 경로 복사","filebrowser.download":"다운로드","filebrowser.pickThisDir":"이 디렉토리 선택 {path}","filebrowser.downloadConfirm":"{name}을 다운로드하시겠습니까?","filemanager.files":"파일","filemanager.closeTab":"탭 닫기","filemanager.minimize":"최소화","filemanager.recent":"최근","filemanager.directory":"디렉토리","git.errReadRepo":"저장소를 읽을 수 없습니다","git.errLoad":"불러오기에 실패했습니다","git.noRepoInDir":"아직 git 저장소가 없습니다 — 다른 디렉토리를 선택하거나 여기서 git init 하세요.","git.outsideRoots":"이 폴더는 handmux가 열 수 있는 범위 밖입니다 — 홈 디렉토리와 /tmp만 접근할 수 있습니다. 저장소를 홈 디렉토리 아래로 옮기면 여기서 볼 수 있습니다.","git.errReadDir":"디렉토리를 읽을 수 없습니다","git.commitDetail":"커밋 상세","git.diff":"변경 사항","git.bindRepo":"저장소 연결","git.collapse":"접기","git.currentBranch":"현재 브랜치","git.switchViewedBranch":"표시할 브랜치 전환","git.switchBranch":"브랜치 전환","git.noBranches":"브랜치가 없습니다","git.noRepoBound":"저장소가 연결되지 않았습니다. 왼쪽 상단의 「+」를 탭하여 디렉토리를 선택하세요.","git.changes":"변경사항","git.commits":"커밋","git.pullToLoadMore":"당겨서 더 불러오기","git.pickerHint":"디렉토리를 선택하면 그 안의 git 저장소를 자동으로 찾습니다","git.cleanTree":"작업 트리가 깨끗합니다","git.noCommits":"커밋이 없습니다","git.noDiff":"변경 사항 없음","git.fontSmaller":"글꼴 축소","git.fontLarger":"글꼴 확대","git.diffTruncated":"변경 사항이 너무 커서 잘렸습니다","cmd.panel":"명령 패널","cmd.title":"명령","cmd.empty":"명령이 없습니다. 보내거나 자주 쓰는 것을 저장하세요","cmd.favorites":"즐겨찾기","cmd.scopeGlobal":"전체 · 모든 세션","cmd.recent":"최근","cmd.scopeSession":"현재 세션만","cmd.favorite":"즐겨찾기 추가","cmd.unfavorite":"즐겨찾기 해제","doc.home":"최근","doc.read":"읽어주기","doc.pauseRead":"읽기 일시 정지","doc.resumeRead":"읽기 재개","doc.stopRead":"읽기 중지","doc.rate":"읽기 속도","doc.fontSmaller":"글꼴 축소","doc.fontLarger":"글꼴 확대","inbox.view.working":"진행 중","inbox.view.done":"완료","inbox.view.needs":"확인 필요","push.unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","push.iosAddToHome":"iOS에서는 먼저 이 사이트를 「홈 화면에 추가」한 후 홈 화면 아이콘에서 열어주세요","a2hs.title":"handmux를 홈 화면에 추가","a2hs.lead":"앱처럼 전체 화면으로 열 수 있습니다. iPhone에서는 pane이 당신을 필요로 할 때의 푸시도 이 방식으로 전달됩니다.","a2hs.install":"handmux 설치","a2hs.ios1":"Safari의 공유 버튼(⬆︎ 상자)을 탭하세요.","a2hs.ios2":"「더 보기」를 탭하거나 목록을 아래로 스크롤하세요.","a2hs.ios3":"「홈 화면에 추가」를 선택한 뒤 「추가」를 탭하세요.","a2hs.iosHint":"Safari에서: 공유 → 더 보기 → 홈 화면에 추가.","a2hs.iosOpenSafari":"현재 Safari가 아닙니다. Safari에서 이 페이지를 연 뒤 홈 화면에 추가하세요 — 다른 iOS 브라우저는 설치할 수 없습니다.","a2hs.androidManual":"브라우저 메뉴(⋮)에서 「홈 화면에 추가」 또는 「앱 설치」를 선택하세요.","a2hs.later":"나중에","push.permissionDenied":"알림 권한이 거부되었습니다","push.noVapid":"서버에 푸시 알림(VAPID)이 설정되지 않았습니다","push.subscribeFailed":"구독 등록에 실패했습니다","push.sendFailed":"전송에 실패했습니다","api.loadFailed":"불러오기에 실패했습니다","api.uploadFailed":"업로드에 실패했습니다","upload.title":"업로드 중","upload.processing":"전송 완료 — 서버에서 수신 중…","api.uploadBadDir":"해당 디렉토리에는 업로드할 수 없습니다","api.uploadDuplicate":"같은 이름의 파일이 이미 존재합니다","api.uploadTooLarge":"파일이 너무 큽니다(최대 50MB)","api.uploadBadType":"지원되지 않는 파일 유형입니다","time.secAgo":"{n}초 전","time.minAgo":"{n}분 전","time.hourAgo":"{n}시간 전","time.dayAgo":"{n}일 전","time.expired":"만료됨","time.minutes":"{n}분"},Zu={zh:Cw,"zh-TW":kw,en:Cg,ja:Ew,ko:Lw},Jd=[{code:"zh",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"},{code:"ja",label:"日本語"},{code:"ko",label:"한국어"}],kg="tw_lang";function Rw(e,t,i=Zu){if(e&&i[e])return e;for(const s of t&&t.length?t:["en"]){const n=String(s).toLowerCase();if(i[n])return n;const c=n.split("-")[0];if(i[c])return c}return"en"}function Tw(e,t,i,s){let n=e&&e[i]!=null?e[i]:t&&t[i]!=null?t[i]:i;return s&&(n=n.replace(/\{(\w+)\}/g,(c,m)=>s[m]!=null?s[m]:`{${m}}`)),n}const Dw=()=>typeof navigator<"u"?navigator.languages||[navigator.language]:null,Aw=()=>{try{return localStorage.getItem(kg)}catch{return null}};let Ea=Rw(Aw(),Dw());function D(e,t){return Tw(Zu[Ea],Cg,e,t)}function Tr(){return Ea}function Mw(e){if(!(!Zu[e]||e===Ea)){try{localStorage.setItem(kg,e)}catch{}Ea=e,typeof location<"u"&&location.reload()}}const Qu="tw_token",eh="tw_font",el="tw_bound",Eg="tw_last_session",Lg="tw_win",Rg="tw_pane",th="tw_favs",Gn="tw_recent",Nw=30,Bc="tw_inbox_seen",Tg="tw_inbox_read_ts",Dg="tw_browse_dir",Ag="tw_preview_dir",Mg="tw_startup_cmd",jc="tw_chat_draft",ir="tw_ideas",Ng="tw_changelog_seen",Ig="tw_version_seen",ih="tw_git_repos",cr=()=>localStorage.getItem(Qu),Iw=e=>localStorage.setItem(Qu,e),Pw=()=>localStorage.removeItem(Qu);function sr(){try{return JSON.parse(localStorage.getItem(el))||[]}catch{return[]}}function Zd(e){const t=sr();return t.includes(e)||t.push(e),localStorage.setItem(el,JSON.stringify(t)),t}function Qd(e){const t=sr().filter(i=>i!==e);return localStorage.setItem(el,JSON.stringify(t)),t}function Ow(e,t){const i=sr().map(c=>c===e?t:c);localStorage.setItem(el,JSON.stringify(i));const s=ii(Gn);s[e]!=null&&(s[t]=s[e],delete s[e],localStorage.setItem(Gn,JSON.stringify(s)));const n=ii(ir);return n[e]!=null&&(n[t]=n[e],delete n[e],localStorage.setItem(ir,JSON.stringify(n))),i}function ii(e){try{const t=JSON.parse(localStorage.getItem(e));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Os(e,t,i){const s=ii(e);s[t]=i,localStorage.setItem(e,JSON.stringify(s))}const ef=()=>ii(Bc);function tf(e,t){return Os(Bc,e,t),ii(Bc)}const Bw=()=>{const e=localStorage.getItem(Tg);return e==null?null:Number(e)},sf=e=>localStorage.setItem(Tg,String(e)),jw=e=>e?ii(Dg)[e]??null:null,rf=(e,t)=>{e&&t&&Os(Dg,e,t)},Fw=e=>e?ii(Ag)[e]??null:null,Hw=(e,t)=>{e&&t&&Os(Ag,e,t)},$w=()=>localStorage.getItem(Eg),zw=e=>ii(Lg)[e]??null,Do=e=>ii(Rg)[e]??null;function nn({sessionId:e,windowId:t,paneId:i}={}){e&&localStorage.setItem(Eg,e),e&&t&&Os(Lg,e,t),t&&i&&Os(Rg,t,i)}function Uw(){const e=Number(localStorage.getItem(eh));return Number.isFinite(e)&&e>0?e:null}const nf=e=>localStorage.setItem(eh,String(e)),Ww=()=>localStorage.removeItem(eh),Vw=()=>localStorage.getItem(jc)||"",Gw=e=>{e?localStorage.setItem(jc,e):localStorage.removeItem(jc)};function La(){try{return JSON.parse(localStorage.getItem(th))||[]}catch{return[]}}function Kw(e){const t=e.trim(),i=La();return t&&!i.includes(t)&&i.push(t),localStorage.setItem(th,JSON.stringify(i)),i}function qw(e){const t=La().filter(i=>i!==e);return localStorage.setItem(th,JSON.stringify(t)),t}const Pg=()=>localStorage.getItem(Mg)||"",Og=e=>localStorage.setItem(Mg,e||""),Bg="tw_orphan_kill",Yw=()=>localStorage.getItem(Bg)!=="0",Xw=e=>localStorage.setItem(Bg,e?"1":"0"),jg=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Ra(e,t){return!e||!t?[]:jg(ii(Gn)[e])[t]??[]}function Fg(e,t,i){const s=ii(Gn),n=jg(s[e]);return i&&i.length?n[t]=i:delete n[t],Object.keys(n).length?s[e]=n:delete s[e],localStorage.setItem(Gn,JSON.stringify(s)),i??[]}function Jw(e,t,i){const s=(i||"").trim(),n=Ra(e,t);return!s||!e||!t?n:Fg(e,t,[s,...n.filter(c=>c!==s)].slice(0,Nw))}function Zw(e,t,i){return!e||!t?Ra(e,t):Fg(e,t,Ra(e,t).filter(s=>s!==i))}const sh="tw_recent_docs",Hg="tw_pane_base",Qw=30;function kn(){try{return JSON.parse(localStorage.getItem(sh))||[]}catch{return[]}}function of({path:e,name:t,type:i,ts:s=Date.now()}){const n=[{path:e,name:t,type:i,ts:s},...kn().filter(c=>c.path!==e)].slice(0,Qw);return localStorage.setItem(sh,JSON.stringify(n)),n}function ey(e){const t=kn().filter(i=>i.path!==e);return localStorage.setItem(sh,JSON.stringify(t)),t}const af=e=>ii(Hg)[e]??null,ty=(e,t)=>Os(Hg,e,t),_s=[10,11,12,13,14,16,18,20,22],iy=4,$g="tw_doc_font";function sy(){const e=localStorage.getItem($g),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<_s.length?t:iy}const ry=e=>localStorage.setItem($g,String(Math.min(_s.length-1,Math.max(0,e)))),ny=2,zg="tw_diff_font";function oy(){const e=localStorage.getItem(zg),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<_s.length?t:ny}const ay=e=>localStorage.setItem(zg,String(Math.min(_s.length-1,Math.max(0,e))));function Ug(e,t){var i;return!e||!t?[]:((i=ii(ir)[e])==null?void 0:i[t])??[]}function lf(e,t,i){if(!e||!t)return[];const s=ii(ir),n=s[e]||{};return i&&i.length?n[t]=i:delete n[t],Object.keys(n).length?s[e]=n:delete s[e],localStorage.setItem(ir,JSON.stringify(s)),i??[]}const ly=()=>localStorage.getItem(Ng),cy=e=>{e&&localStorage.setItem(Ng,e)},uy=()=>localStorage.getItem(Ig),hy=e=>{e&&localStorage.setItem(Ig,e)};function dy(e,t,i){if(!e||!t||!i||t===i)return;const s=ii(ir),n=s[e];!n||n[t]==null||(n[i]=n[t],delete n[t],localStorage.setItem(ir,JSON.stringify(s)))}function rh(e){if(!e)return[];const t=ii(ih)[e];return Array.isArray(t)?t:[]}function cf(e,t){if(!e)return[];const i=[...rh(e)];for(const s of t)s&&!i.includes(s)&&i.push(s);return Os(ih,e,i),i}function fy(e,t){if(!e)return[];const i=rh(e).filter(s=>s!==t);return Os(ih,e,i),i}const Fc=[{version:"0.12.3",date:"2026-07-11",highlight:{zh:"接管会话可自定义名称 + Homebrew 一键安装",en:"Name a takeover session · Homebrew install"},items:{zh:["接管电脑上的会话时,可以自己给新会话起名(默认也帮你填好);接管后想回电脑继续的命令,现在直接显示成 handmux open <名称>,照着敲即可。","新增 Homebrew 一键安装:没装 Node 的 Mac 也能用 brew install handmux/tap/handmux 一条命令装好(handmux + Node + tmux)。已有 Node 的话,npm i -g handmux 仍是更轻的选择。"],en:["When taking over a session running on your computer, you can now name the new session yourself (a default is filled in), and the “continue on the computer” hint shows the exact command to run — handmux open <name>.","New Homebrew install: on a Mac without Node, brew install handmux/tap/handmux sets up handmux, Node, and tmux in one command. If you already have Node, npm i -g handmux stays the lighter option."]}},{version:"0.12.2",date:"2026-07-11",highlight:{zh:"修复主屏图标偏大 / 换图标后不刷新",en:"Home-screen icon: right size & always fresh"},items:{zh:["修复了「添加到主屏」的图标在安卓上偏大、以及更换图标后旧图标不刷新的问题——图标更新现在会自动生效(已加到 iPhone 主屏的需删掉重加一次)。"],en:["Fixed the Add-to-Home-Screen icon looking oversized on Android and a changed icon not refreshing for returning users — icon updates now apply automatically (one already on an iOS home screen needs a one-time remove + re-add)."]}},{version:"0.12.1",date:"2026-07-11",highlight:{zh:"全新品牌图标与双色字标",en:"New brand icon & two-tone wordmark"},items:{zh:["焕新品牌:全新的发光终端图标(主屏图标、启动页都换了)+ 圆润的双色「handmux」字标(hand 白、mux 青→绿),官网、分享卡和 README 也一并更新。"],en:['Brand refresh: a new glowing terminal app icon (home-screen icon + boot splash) and a rounded two-tone "handmux" wordmark (hand in white, mux teal→green), with the site, share cards, and README updated to match.']}},{version:"0.12.0",date:"2026-07-11",highlight:{zh:"全屏程序也能滑动滚动 · 反馈入口 · 聊天草稿不丢",en:"Swipe-scroll full-screen apps · feedback channels · chat drafts kept"},items:{zh:["全屏程序(vim / htop / less 等)现在能直接滑动滚动了:开了鼠标的程序像电脑滚轮一样滑着滚,没开鼠标的分页器(less / man / git log)靠滑动逐行滚;每个全屏画面右侧还多了一枚翻页按钮做整页跳。","设置里新增「反馈与交流」:直达 GitHub Issues,中文用户还能扫码进微信交流群;README、官网、文档里也都能找到入口。","聊天框里没发出去的内容现在会自动保存,下次打开自动填回——误划走、切后台被杀、崩溃都不会再丢半截提示词。","修复:从终端链接或「最近」直接打开的文档,点返回会一次收起面板,不再被硬塞进「目录」层、再返一次直接退出 App。"],en:["Full-screen apps (vim / htop / less …) now scroll by swipe: mouse-mode apps scroll like a desktop wheel, and pagers (less / man / git log) scroll line-by-line on a swipe; every full-screen view also gets a page up/down button on the right for whole-page jumps.",'New "Feedback" section in Settings: a direct link to GitHub Issues, plus a WeChat user group for Chinese users — also surfaced in the README, the site, and the docs.',"Whatever you've typed in the chat box is now saved automatically and restored next time you open it — an accidental swipe-away, a background kill, or a crash no longer eats a half-written prompt.","Fixed: a doc opened straight from a terminal link or 最近 now closes the sheet in one Back press, instead of being forced into its folder view and then dropping you out of the app on the next Back."]}},{version:"0.11.1",date:"2026-07-09",highlight:{zh:"修复 Node 18 下无法启动的问题",en:"Fixes startup crash on Node 18"},items:{zh:["修复了电脑用 Node 18 时 handmux 任何命令都启动不了的问题(0.11.0 配置向导引入的依赖要求过新的 Node)。"],en:["Fixed handmux failing to start any command on Node 18 (a dependency introduced by the 0.11.0 setup wizard required a newer Node)."]}},{version:"0.11.0",date:"2026-07-08",highlight:{zh:"国内可用隧道 natapp/cpolar · 配置向导重做",en:"China-usable tunnels · setup redesigned"},items:{zh:["新增两条国内可用的隧道 natapp 和 cpolar:当 Cloudflare 在国内不稳定时,用你自己的免费账号就能把手机连到电脑。只要一个 authtoken;想要固定地址就填公网地址,留空则用免费临时域名;cpolar 的客户端还会自动下载。","`handmux setup` 重做成菜单式向导:每项设置一行、直接显示当前值,想改哪项就点哪项,不用再一路问到底。连接分两级——先选隧道类型,再进去配它的参数;推送、语音也各成小面板。第一次用会一步步带你走,默认落在「直连」并停在「保存并启动」,小白也能顺下来。"],en:["Two China-usable tunnels, natapp and cpolar: when Cloudflare is unreliable inside mainland China, reach your computer from your phone using your own free account. Just an authtoken; add a public URL for a fixed address or leave it blank for a free temporary one — and cpolar's client auto-downloads.",'`handmux setup` is now a menu-style wizard: every setting is a row showing its current value, so you jump straight to what you want to change instead of answering every prompt in order. Connection is two levels — pick the tunnel type, then configure it inside; push and voice are their own mini-panels. A first run walks you through it, defaulting to "Direct" with the cursor on "Save & start".']}},{version:"0.10.0",date:"2026-07-06",highlight:{zh:"升级前预览新功能 · 电脑 handmux open 接管",en:"Preview an update before installing · handmux open"},items:{zh:["更新提示现在会提前告诉你新版有什么:检测到有新版本时,设置里会逐版列出这次升级带来的新功能(一句话说明),让你在电脑上跑 `handmux update` 之前就知道值不值得。","电脑上新增 `handmux open <会话名>`:把你在手机上建的会话直接在电脑终端接回来(没有就新建),不用再记 `tmux new -A -s`。绑定/新建会话的弹窗里也加了这句提示。"],en:["The update notice now tells you what a new version brings before you install it: when an update is detected, Settings lists each newer version's highlight in one line, so you know whether it's worth running `handmux update` on your computer.","New `handmux open <session>` on the computer: reclaim a session you created from your phone straight into your computer's terminal (created if missing) — no need to remember `tmux new -A -s`. The bind/create dialog now hints at it too."]}},{version:"0.9.1",date:"2026-07-06",highlight:{zh:"「添加到主屏」引导",en:'"Add to Home Screen" coach'},items:{zh:["新增「添加到主屏」引导:第一次在浏览器里打开时,提示你把 handmux 装到主屏,像 App 一样全屏打开。安卓可一键安装;iPhone 给出 Safari 的「分享 → 更多 → 添加到主屏幕」三步——iOS 上收推送也需要它。装好后不再打扰。"],en:[`New "Add to Home Screen" coach: the first time you open handmux in a browser, it shows how to install it to your home screen and run it full-screen like an app. Android installs in one tap; iPhone gets the Safari steps (Share → More → Add to Home Screen) — which is also what iOS push needs. It won't nag once you've added it.`]}},{version:"0.9.0",date:"2026-07-05",highlight:{zh:"聊天输入框多行重做",en:"Multi-line chat composer redone"},items:{zh:["聊天输入框多行重做:文字占满整行,麦克风/发送悬到右下角,末行快挤到按钮才让出一行——长消息不再被右侧按钮列挤窄,多行时拖光标也不会误收键盘。"],en:["Chat composer redone for multi-line: text takes the full width, mic/send float in the bottom-right corner, and a row is yielded only when the last line actually reaches them — long messages are no longer squeezed by a right-hand button column, and dragging the caret no longer collapses the keyboard."]}},{version:"0.8.0",date:"2026-07-05",highlight:{zh:"快捷栏可自定义 · 上传体验重做",en:"Customizable quick-bars · upload redone"},items:{zh:["命令模式的常用命令分成「全局」和「当前窗口」两组:快捷栏里全局的(灰)排前、当前窗口的(绿)排后。尾部改成 ⚙ 齿轮,点开更高的编辑器分两区、各自 ▲▼ 排序。新增区一行搞定:顶部「命令/按键」大 Tab 选类型,左侧开关选加到全局还是本窗口。命令可勾「带回车」(点一下直接执行,末尾带 ⏎);按键用 ⌃⇧⌥ + 一个基键拼出组合键(如 Ctrl+C),点一下直接发到终端。","聊天模式的快捷条也能自定义了:末尾同样是 ⚙,点开编辑器,「消息/按键」两个 Tab —— 消息就是一句发给 agent 的话(以 / 开头当斜杠命令),按键用同一套 ⌃⇧⌥ + 基键拼组合键(ESC/Tab/退格默认就在里面)。点任意一条可回到弹窗改,▲▼ 排序。","上传体验重做:进度条不再一冲到 100% 就假装完事——先显示真实发送进度,字节发完后转成「服务器接收中…」,大文件不再像卡死。上传中可随时「取消」,已传完的文件会保留。","重名不再报错:上传一个已存在的文件名会自动改名(如 `报告 (1).pdf`),绝不覆盖原文件。上传失败时也会告诉你具体原因(过大 / 不支持的类型)。","现在可以上传视频了(mp4、mov、webm 等)。","Git 面板现在能打开 `/tmp` 等家目录以外的仓库(比如 agent 在 /tmp 里干活的项目),不再报红。","用量进度条新增「时间竖线」:标出当前重置窗口已过去的时间比例。已用量在竖线左边=烧得比时间慢(稳),越过竖线=烧得偏快,一眼看出自己的节奏。","新增版本更新提示:每次打开检测一次,服务端落后于 npm 最新版时设置齿轮亮红点,进设置能看到当前/最新版本号,按提示在电脑上跑 `handmux update` 升级即可。"],en:[`Command mode's saved commands now split into "Global" and "This window": the quick-bar shows global ones (grey) first, then this window's (green). The trailing + is now a ⚙ opening a taller two-section editor, each reorderable with ▲▼. One add row does it all: a big Command/Key tab picks the type, a left switch picks which list it lands in. Commands can tick "Send Enter" (a tap runs it, marked ⏎); keys are built from ⌃⇧⌥ + a base key into a combo like Ctrl+C that fires straight into the terminal.`,"Chat mode's quick-bar is now customizable too: the same ⚙ at the end opens an editor with a Message/Key tab — a message is a line sent to the agent (starts with / for a slash-command), a key is built from the same ⌃⇧⌥ + base-key picker (ESC/Tab/Backspace ship as defaults). Tap any row to re-open the card and edit it, ▲▼ to reorder.","Upload redone: the bar no longer jumps to 100% and then hangs — it shows real send progress, then flips to “receiving on the server…” once bytes are flushed, so a big file no longer looks stuck. You can Cancel mid-upload; already-uploaded files are kept.","Name clashes no longer fail: uploading an existing name auto-renames (e.g. `report (1).pdf`) and never overwrites. Failures now tell you why (too large / unsupported type).","Video files can now be uploaded (mp4, mov, webm, …).","The git panel can now open repos outside your home directory (e.g. a project an agent is working in under `/tmp`) instead of erroring.",`Usage bars now show a "time marker": a thin vertical line at how far the current reset window has elapsed. Usage left of the line = you're burning slower than the clock; past it = faster — pacing at a glance.`,"New update notice: checked once each time you open the app — when the server is behind the latest npm release, the settings gear lights a dot and Settings shows the current/latest version so you can run `handmux update` on your computer."]}},{version:"0.7.0",date:"2026-07-03",highlight:{zh:"新增「用量」页",en:'New "Usage" page'},items:{zh:["新增「用量」页(顶栏仪表盘图标):一眼看 Claude 的 5 小时 / 本周额度进度条 + 重置倒计时,以及 Codex 的额度环。全部读主机本地文件,不登录账号、不调用 API。Codex 零配置即用;Claude 的实时额度需要在电脑上运行一次 handmux hooks install(会装一个 statusLine 捕获器,已有自定义 statusLine 的绝不覆盖)。"],en:["New \"Usage\" page (gauge icon in the top bar): see Claude's 5-hour / weekly limit bars with reset countdowns, plus Codex's quota ring — at a glance. All read from local files on the host: no account login, no API calls. Codex works with zero setup; Claude's live limits need a one-time `handmux hooks install` on the computer (it adds a statusLine capturer and never clobbers an existing custom statusLine)."]}},{version:"0.6.0",date:"2026-07-02",highlight:{zh:"新增 Codex 支持",en:"Codex support added"},items:{zh:["新增 Codex 支持:收件箱与推送现在同时认得 Claude 和 Codex——Codex 会话的「进行中 / 需要你 / 已完成」都会像 Claude 一样推到手机;tmux 外跑着的 Codex 会话也能一键「接管」进来(codex resume);新建会话的启动命令预设新增 codex。收件箱每一条、以及顶栏当前会话,都带上 Claude / Codex 标记,一眼区分是哪种 agent。","会话抽屉底部新增「未接管会话」:一眼看到在 tmux 外跑着、手机还控制不了的 Claude / Codex(带状态、时间、最后一条消息),点「接管」即可在 tmux 里续接同一会话——自动加进会话列表并跳进去,以后手机随时回来。"],en:["Added Codex support: the inbox and push now recognize both Claude and Codex — a Codex session's working / waiting-on-you / done states reach your phone just like Claude. You can take over Codex sessions running outside tmux (codex resume), and there's a new codex startup-command preset. Every inbox row and the current-session topbar now carry a Claude / Codex mark so you can tell the two apart at a glance.",`The session drawer now has a "not taken over" section at the bottom: Claude / Codex sessions running outside tmux that your phone can't steer yet (with their state, time, and last message). Tap Take over to resume the same conversation inside tmux — it's added to your session list and opened, so you can return to it from your phone anytime.`]}},{version:"0.5.0",date:"2026-06-28",highlight:{zh:"首个公开版 · 多语言界面",en:"First public release · multi-language UI"},items:{zh:["首个公开发布版本(npm 上的 handmux)。","新增繁体中文、日语、韩语界面(设置 → Language 切换)。","想法角标:有未完成想法时,灯泡图标右上角显示数量。","设置面板列数调节:实时显示当前列数,新增 ±1 精细调节按钮。"],en:["First public release (handmux on npm).","Added Traditional Chinese, Japanese, and Korean UI (Settings → Language to switch).","Idea badge: when there are pending ideas, the lightbulb icon shows a count in the corner.","Settings column control: shows the current column count live, with new ±1 fine-adjust buttons."]}},{date:"2026-06",label:{zh:"早期内测",en:"Early builds"},highlight:{zh:"早期内测",en:"Early builds"},items:{zh:["新增「Git」面板(顶栏图标):仿 VS Code,一页同屏看变更 + 提交历史,点文件/提交看全屏彩色 diff;只读,不动你的工作树。可绑多个目录用 tab 切换。","新增「想法」管理器(顶栏灯泡):按窗口记待办,可编辑、拖拽排序、一键填入、语音输入。","网站预览:选目录预览静态站点,或填端口预览本机正在跑的服务(走专属子域名);图片预览:文件/终端里点图片(含 GIF)直接内嵌打开,可捏合缩放、长按保存。","文件:上传/下载(进度条、系统分享上传),浏览器打开即落到当前会话目录,支持 /tmp、$TMPDIR;文档在应用内预览 Markdown/txt/log/sh,可语音朗读(逐句高亮)。","收件箱 + Web Push:汇总各会话「进行中/已完成/需要你」,窗口标签带状态色点,需要你时推送到手机。","命令面板:常用 + 每会话最近命令,斜杠命令快捷键(/clear、/compact、/model…)。","可靠性:断线重连(退避 + 每请求超时 + 断线横幅,后台自动暂停轮询),离线兜底页。","首版:手机浏览器驱动真实 tmux 面板(xterm 终端 + 会话/窗口/pane 导航 + 深链),移动按键区、键盘自动抬升、列宽/字号调节,可添加到主屏(PWA)。"],en:['New "Git" panel (top-bar icon): VS Code style — changes + commit history on one screen, tap a file/commit for a full-screen colored diff; read-only, never touches your working tree. Bind multiple dirs and switch via tabs.','New "Ideas" manager (top-bar lightbulb): per-window to-dos — edit, drag to reorder, one-tap insert, voice input.',"Website preview: pick a directory for a static site, or a port for a service running locally (dedicated subdomain); image preview: tap an image (including GIFs) in Files or the terminal to open inline, pinch to zoom, long-press to save.","Files: upload/download (progress bar, share-to-upload), the browser opens straight to the current session dir, /tmp and $TMPDIR supported; documents preview in-app (Markdown/txt/log/sh) and can be read aloud (sentence-by-sentence highlight).","Inbox + Web Push: summarizes each session's In-progress / Done / Needs-you, window tabs get a status color dot, and Needs-you pushes to your phone.","Command panel: frequent + per-session recent commands, slash-command shortcuts (/clear, /compact, /model, …).","Reliability: reconnect on disconnect (backoff + per-request timeout + connection-lost banner, polling auto-paused in the background) and an offline fallback page.","First release: a phone browser drives real tmux panes (xterm terminal + session/window/pane navigation + deep links), a mobile key bar, keyboard auto-lift, column-width/font-size adjustment, and add-to-home-screen (PWA)."]}}],py=e=>e.version||e.date,Ao=Fc[0]?py(Fc[0]):null,my={jpg:"image/jpeg",jpeg:"image/jpeg",jfif:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",svg:"image/svg+xml",ico:"image/x-icon",heic:"image/heic",heif:"image/heif",avif:"image/avif",tif:"image/tiff",tiff:"image/tiff",pdf:"application/pdf",txt:"text/plain",log:"text/plain",md:"text/markdown",markdown:"text/markdown",csv:"text/csv",json:"application/json",xml:"application/xml",html:"text/html",htm:"text/html",zip:"application/zip",mp4:"video/mp4",m4v:"video/mp4",mov:"video/quicktime",webm:"video/webm",mkv:"video/x-matroska",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",flv:"video/x-flv","3gp":"video/3gpp",ogv:"video/ogg",mpeg:"video/mpeg",mpg:"video/mpeg",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};function tl(e){const t=(e||"").lastIndexOf(".");return t<0?"":my[e.slice(t+1).toLowerCase()]||""}function gy(e){return tl(e).startsWith("image/")}class lt extends Error{}async function We(e,t={}){const i=cr(),{timeoutMs:s,...n}=t,c={Authorization:`Bearer ${i??""}`,...n.headers||{}};n.body&&(c["Content-Type"]="application/json");let m=null,r=null;s&&(m=new AbortController,r=setTimeout(()=>m.abort(),s));try{const o=await fetch(e,{cache:"no-store",...n,headers:c,signal:m==null?void 0:m.signal});if(o.status===401)throw new lt;if(!o.ok){let f=`${e} -> ${o.status}`;try{const v=await o.json();v!=null&&v.error&&(f=v.error)}catch{}throw new Error(f)}return o.status===204?{unchanged:!0}:await o.json()}catch(o){throw m!=null&&m.signal.aborted?new Error(`${e} -> timeout`):o}finally{r&&clearTimeout(r)}}const Dr=()=>We("/api/sessions"),_y=()=>We("/api/usage"),on=e=>We(`/api/windows?session=${encodeURIComponent(e)}`),Mo=e=>We(`/api/panes?window=${encodeURIComponent(e)}`),vy=(e,t=1500,i)=>We(`/api/history?pane=${encodeURIComponent(e)}&lines=${t}${i?`&since=${i}`:""}`,{timeoutMs:8e3}),Zo=(e,t,i=!0)=>We("/api/send",{method:"POST",body:JSON.stringify({pane:e,text:t,enter:i})}),Hc=(e,t)=>We("/api/keys",{method:"POST",body:JSON.stringify({pane:e,keys:t})}),wy=(e,t,i=1)=>We("/api/scroll",{method:"POST",body:JSON.stringify({pane:e,dir:t,lines:i})}),yy=(e,t,i)=>We("/api/resize",{method:"POST",body:JSON.stringify({window:e,cols:t,rows:i})}),Sy=(e,t)=>We("/api/resize",{method:"POST",body:JSON.stringify({pane:e,cols:t})}),by=e=>We(`/api/layout?window=${encodeURIComponent(e)}`),xy=(e,t)=>We("/api/resize",{method:"POST",body:JSON.stringify({window:e,auto:!0,layout:t})}),Cy=(e,t,i)=>We("/api/sessions",{method:"POST",body:JSON.stringify({name:e,cwd:t,cmd:i})}),ky=(e,t,i,s,n)=>We("/api/windows",{method:"POST",body:JSON.stringify({session:e,pane:t,name:i,cwd:s,cmd:n})}),Ey=(e,t)=>We("/api/sessions",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),Ly=(e,t)=>We("/api/windows",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),Ry=e=>We(`/api/windows?window=${encodeURIComponent(e)}`,{method:"DELETE"}),Ty=(e,t)=>We("/api/windows/swap",{method:"POST",body:JSON.stringify({a:e,b:t})}),Dy=(e,t)=>We("/api/dir",{method:"POST",body:JSON.stringify({dir:e,name:t})}),uf=(e,t=null)=>We(`/api/file?path=${encodeURIComponent(e)}${t!=null?`&mtime=${encodeURIComponent(t)}`:""}`,{timeoutMs:8e3}),Wg=e=>We(`/api/dir${e?`?path=${encodeURIComponent(e)}`:""}`,{timeoutMs:8e3}),rr=e=>We(`/api/pane-cwd?pane=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Ay=()=>We("/api/asr/sign",{timeoutMs:8e3}),Vg=()=>We("/api/config",{timeoutMs:8e3}),My=()=>We("/api/version",{timeoutMs:8e3}),Ny=()=>We("/api/hooks/install",{method:"POST",timeoutMs:15e3}),Iy=(e=[])=>We(`/api/states?sessions=${encodeURIComponent(e.join(","))}`,{timeoutMs:4e3}),hf=()=>We("/api/orphans",{timeoutMs:8e3}),Py=e=>We("/api/orphans/takeover",{method:"POST",body:JSON.stringify(e),timeoutMs:15e3}),df=e=>We(`/api/git/repos?dir=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Oy=e=>We(`/api/git/status?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),By=(e,{limit:t=50,ref:i}={})=>{let s=`/api/git/log?repo=${encodeURIComponent(e)}&limit=${t}`;return i&&(s+=`&ref=${encodeURIComponent(i)}`),We(s,{timeoutMs:8e3})},jy=e=>We(`/api/git/branches?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Fy=(e,{path:t,commit:i,staged:s}={})=>{let n=`/api/git/diff?repo=${encodeURIComponent(e)}&path=${encodeURIComponent(t??"")}`;return i&&(n+=`&commit=${encodeURIComponent(i)}`),s&&(n+="&staged=1"),We(n,{timeoutMs:8e3})},Hy=(e,t)=>We(`/api/git/commit?repo=${encodeURIComponent(e)}&hash=${encodeURIComponent(t)}`,{timeoutMs:8e3});function $y(e,t){return new Promise((i,s)=>{const n=cr(),c=new XMLHttpRequest;c.open("GET",`/api/download?path=${encodeURIComponent(e)}`),c.setRequestHeader("Authorization",`Bearer ${n??""}`),c.responseType="blob",c.onprogress=m=>{t&&m.lengthComputable&&t(m.loaded/m.total)},c.onerror=()=>s(new Error("download failed")),c.onload=()=>{if(c.status===401)return s(new lt);if(c.status<200||c.status>=300)return s(new Error(`download -> ${c.status}`));const m=e.split("/").pop()||"download";let r=c.response;const o=tl(m);o&&r&&r.type!==o&&(r=r.slice(0,r.size,o));const f=URL.createObjectURL(r),v=document.createElement("a");v.href=f,v.download=m,document.body.appendChild(v),v.click(),v.remove(),setTimeout(()=>URL.revokeObjectURL(f),1e3),i()},c.send()})}function ff(e,t=null){return new Promise((i,s)=>{const n=cr(),c=new XMLHttpRequest,m=t!=null?`&mtime=${encodeURIComponent(t)}`:"";c.open("GET",`/api/download?path=${encodeURIComponent(e)}${m}`),c.setRequestHeader("Authorization",`Bearer ${n??""}`),c.responseType="blob",c.onerror=()=>s(new Error(D("api.loadFailed"))),c.onload=()=>{if(c.status===304)return i({notModified:!0});if(c.status===401)return s(new lt);if(c.status<200||c.status>=300)return s(new Error(`image -> ${c.status}`));let r=c.response;const o=tl(e.split("/").pop()||"");o&&r&&r.type!==o&&(r=r.slice(0,r.size,o));const f=Number(c.getResponseHeader("X-Mtime"));i({url:URL.createObjectURL(r),mtimeMs:Number.isFinite(f)?f:null})},c.send()})}const pf=(e,t)=>{const i=encodeURIComponent(cr()??"");return(e==null?void 0:e.kind)==="dynamic"?`https://${encodeURIComponent(e.name)}.${t}/?token=${i}`:`/preview/${encodeURIComponent(e==null?void 0:e.name)}/?token=${i}`},Ml=(e,t={})=>We("/api/previews",{method:"POST",body:JSON.stringify(t.port!=null?{name:e,port:t.port}:{name:e,dir:t.dir})}),zy=()=>We("/api/previews"),Uy=e=>We(`/api/previews/${encodeURIComponent(e)}`,{method:"DELETE"});class Ta extends Error{constructor(){super("upload aborted"),this.name="UploadAbort"}}function Gg(e,t,i,s=!1,{signal:n}={}){return new Promise((c,m)=>{if(n!=null&&n.aborted)return m(new Ta);const r=cr(),o=new FormData;o.append("dir",e),s&&o.append("stash","1"),o.append("file",t,t.name);const f=new XMLHttpRequest;f.open("POST","/api/upload"),f.setRequestHeader("Authorization",`Bearer ${r??""}`),f.upload.onprogress=p=>{i&&p.lengthComputable&&i(p.loaded/p.total,"sending")},f.upload.onload=()=>{i==null||i(1,"processing")};const v=()=>f.abort();n&&n.addEventListener("abort",v,{once:!0});const h=()=>{n&&n.removeEventListener("abort",v)};f.onabort=()=>{h(),m(new Ta)},f.onerror=()=>{h(),m(new Error(D("api.uploadFailed")))},f.onload=()=>{if(h(),f.status===401)return m(new lt);if(f.status>=200&&f.status<300)try{return c(JSON.parse(f.responseText))}catch{return c({})}const p={400:D("api.uploadBadDir"),409:D("api.uploadDuplicate"),413:D("api.uploadTooLarge"),415:D("api.uploadBadType")}[f.status]||D("api.uploadFailed");m(new Error(p))},f.send(o)})}function mf(e){return String(e||"").replace(/[^A-Za-z0-9._-]+/g,"-").replace(/-{2,}/g,"-").replace(/^[-.]+|-+$/g,"").toLowerCase()}function Wy({session:e,windowName:t,windowId:i}){const s=[e,t].map(mf).filter(Boolean);return s.push(mf(i)||"w"),s.join("-")}const Vy=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-label="Claude"><title>Claude</title><path fill="#d97757" d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>
41
41
  `,Gy=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-label="Codex"><title>Codex (OpenAI)</title><path fill="#ededed" d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>
42
- `,ct={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function Kn(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})})}function Ky(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"}),_.jsx("path",{d:"M12 10v6M9 13h6"})]})}function $c(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}function qy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),_.jsx("path",{d:"M14 3v5h5"})]})}function Yy(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),_.jsx("circle",{cx:"9",cy:"9",r:"2"}),_.jsx("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]})}function Kg(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 19V5"}),_.jsx("path",{d:"m5 12 7-7 7 7"})]})}function Xy(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"2",x2:"5",y1:"12",y2:"12"}),_.jsx("line",{x1:"19",x2:"22",y1:"12",y2:"12"}),_.jsx("line",{x1:"12",x2:"12",y1:"2",y2:"5"}),_.jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"}),_.jsx("circle",{cx:"12",cy:"12",r:"7"})]})}function Bs(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"m6 9 6 6 6-6"})})}function qg(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M12 5v14M5 12h14"})})}function Yg(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M20 6 9 17l-5-5"})})}function Xg(){return _.jsxs("svg",{...ct,children:[_.jsx("circle",{cx:"12",cy:"12",r:"9"}),_.jsx("path",{d:"M12 7v5l3 2"})]})}function Jy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M9 18h6"}),_.jsx("path",{d:"M10 22h4"}),_.jsx("path",{d:"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14"})]})}function Zy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M22 12h-6l-2 3h-4l-2-3H2"}),_.jsx("path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z"})]})}function Qy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 3v12"}),_.jsx("path",{d:"m7 10 5 5 5-5"}),_.jsx("path",{d:"M5 21h14"})]})}function Jg(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),_.jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),_.jsx("path",{d:"M12 18v-6"}),_.jsx("path",{d:"m9 15 3-3 3 3"})]})}function Zg(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),_.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function e1(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M7 5l12 7-12 7z"})})}function t1(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"9",y1:"5",x2:"9",y2:"19"}),_.jsx("line",{x1:"15",y1:"5",x2:"15",y2:"19"})]})}function i1(){return _.jsx("svg",{...ct,children:_.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function s1(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"9",y:"3",width:"6",height:"11",rx:"3"}),_.jsx("path",{d:"M5 11a7 7 0 0 0 14 0"}),_.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"21"})]})}function zc(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),_.jsx("path",{d:"M8 21h8M12 17v4"})]})}function r1(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 14l4-4"}),_.jsx("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"})]})}function n1(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2"}),_.jsx("path",{d:"M12 18h.01"})]})}function o1(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),_.jsx("path",{d:"M21 3v5h-5"}),_.jsx("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),_.jsx("path",{d:"M3 21v-5h5"})]})}function Qg(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),_.jsx("circle",{cx:"18",cy:"6",r:"3"}),_.jsx("circle",{cx:"6",cy:"18",r:"3"}),_.jsx("path",{d:"M18 9a9 9 0 0 1-9 9"})]})}function Fr(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M18 6 6 18"}),_.jsx("path",{d:"m6 6 12 12"})]})}function a1({down:e=!1}){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"3",y:"9",width:"18",height:"11",rx:"2"}),_.jsx("path",{d:"M7 13h.01M11 13h.01M15 13h.01M8 16.5h8"}),e?_.jsx("path",{d:"M9 4.5l3 3 3-3"}):_.jsx("path",{d:"M9 6.5l3-3 3 3"})]})}const gf={claude:Vy,codex:Gy};function so({agent:e}){const t=gf[e]?e:"claude";return _.jsx("span",{className:"agent-mark",role:"img","aria-label":t,dangerouslySetInnerHTML:{__html:gf[t]}})}const e_=e=>{if(e<=0)return D("time.expired");const t=Math.max(1,Math.round(e/6e4));return D("time.minutes",{n:t})};function t_(e,t=!0){const[i,s]=N.useState(()=>Date.now());return N.useEffect(()=>{if(!t||e==null)return;s(Date.now());const n=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(n)},[t,e]),e!=null?Math.max(0,e-i):0}const Nl=1280,_f=6;function l1({open:e,name:t,kind:i="static",domain:s=null,port:n,dir:c,expiresAt:m,onRenew:r,onStop:o,onMinimize:f}){const[v,h]=N.useState(!1),[p,y]=N.useState("mobile"),[S,g]=N.useState(1),[a,u]=N.useState({w:0,h:0}),l=N.useRef(null),d=N.useRef(null);N.useEffect(()=>{e||h(!1)},[e]),N.useEffect(()=>{p==="mobile"&&g(1)},[p]),N.useEffect(()=>{const P=d.current;if(!e||!P)return;const U=()=>u({w:P.clientWidth,h:P.clientHeight});if(U(),typeof ResizeObserver>"u")return;const $=new ResizeObserver(U);return $.observe(P),()=>$.disconnect()},[e]);const w=t_(m,e),k=i==="dynamic"?n!=null?`:${n}`:"":c||"",b=p==="pc"&&a.w>0,L=a.w>0?a.w/Nl:1,x=a.h>0?a.h/L:0,E=L*S,R=b?{width:`${Nl*E}px`,height:`${x*E}px`}:void 0,I=b?{width:`${Nl}px`,height:`${x}px`,transform:`scale(${E})`,transformOrigin:"0 0"}:void 0,T=P=>g(U=>Math.min(_f,Math.max(1,+(U+P).toFixed(2)))),A=()=>{const P=l.current;if(P)try{P.contentWindow.location.reload()}catch{P.src=P.src}};return io.createPortal(_.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[_.jsxs("div",{className:"file-tabs preview-head",children:[_.jsxs("span",{className:"preview-status",children:[_.jsx(zc,{}),_.jsx("span",{className:"preview-state",children:D(i==="dynamic"?"preview.dynamic":"preview.static")}),t&&_.jsxs("span",{className:"preview-name",title:`${t}${k?" "+k:""}`,children:[t,k&&_.jsx("span",{className:"preview-detail",children:k})]})]}),_.jsx("button",{className:"preview-remain",title:D("preview.remainTitle"),"aria-haspopup":"dialog","aria-expanded":v,onClick:()=>h(P=>!P),children:e_(w)}),_.jsx("button",{className:"preview-iconbtn",onClick:()=>y(P=>P==="mobile"?"pc":"mobile"),"aria-label":D(p==="mobile"?"preview.toPcView":"preview.toMobileView"),title:D(p==="mobile"?"preview.pcView":"preview.mobileView"),"aria-pressed":p==="pc",children:p==="mobile"?_.jsx(zc,{}):_.jsx(n1,{})}),_.jsx("button",{className:"preview-iconbtn",onClick:A,"aria-label":D("preview.refresh"),title:D("preview.refresh"),children:_.jsx(o1,{})}),_.jsx("button",{className:"file-min","aria-label":D("preview.minimize"),title:D("preview.minimize"),onClick:f,children:_.jsx(Bs,{})}),v&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"preview-pop-backdrop",onClick:()=>h(!1)}),_.jsxs("div",{className:"preview-pop",role:"dialog","aria-label":D("preview.ttlDialog"),children:[_.jsx("button",{className:"preview-pop-item",onClick:()=>{h(!1),r==null||r()},children:D("preview.renew")}),_.jsx("button",{className:"preview-pop-item preview-pop-danger",onClick:()=>{h(!1),o==null||o()},children:D("preview.stop")})]})]})]}),_.jsx("div",{className:`file-body preview-body ${b?"pc":""}`,ref:d,children:t&&b?_.jsx("div",{className:"preview-scaler",style:R,children:_.jsx("iframe",{ref:l,className:"preview-frame",title:D("preview.iframeTitle"),style:I,src:pf({name:t,kind:i},s)})}):t?_.jsx("iframe",{ref:l,className:"preview-frame",title:D("preview.iframeTitle"),src:pf({name:t,kind:i},s)}):null}),b&&_.jsxs("div",{className:"preview-zoom",children:[_.jsx("button",{className:"preview-zoom-btn",onClick:()=>T(-.5),disabled:S<=1,"aria-label":D("preview.zoomOut"),children:"−"}),_.jsxs("span",{className:"preview-zoom-val","aria-hidden":"true",children:[Math.round(S*100),"%"]}),_.jsx("button",{className:"preview-zoom-btn",onClick:()=>T(.5),disabled:S>=_f,"aria-label":D("preview.zoomIn"),children:"+"})]})]}),document.body)}const c1={working:"working",done:"done",idle:"done",permission:"needs"},Uc={needs:3,done:2,working:1},u1={working:D("inbox.view.working"),done:D("inbox.view.done"),needs:D("inbox.view.needs")};function h1(e,t={},i=0){const s=[];for(const[n,c]of Object.entries(e)){const m=c1[c.kind];if(!m)continue;const r=c.ts||0;m==="done"&&!(r>Math.max(i||0,t[n]||0))||s.push({pane:n,session:c.session,window:c.window,windowName:c.windowName,view:m,msg:c.msg||"",ts:r,agent:c.agent||"claude"})}return s.sort((n,c)=>n.session<c.session?-1:n.session>c.session?1:Uc[c.view]-Uc[n.view]||c.ts-n.ts),s}function d1(e){const t={working:0,done:0,needs:0};for(const i of e)t[i.view]!=null&&(t[i.view]+=1);return t}function f1(e){let t=null,i=0;for(const s of e){const n=Uc[s.view]||0;n>i&&(i=n,t=s.view)}return t}function vf(e){let t=0;for(const i of Object.values(e))(i.ts||0)>t&&(t=i.ts);return t}function i_(e,t){if(!e)return"";const i=Math.max(0,Math.round((t-e)/1e3));if(i<60)return D("time.secAgo",{n:i});const s=Math.round(i/60);if(s<60)return D("time.minAgo",{n:s});const n=Math.round(s/60);return n<24?D("time.hourAgo",{n}):D("time.dayAgo",{n:Math.round(n/24)})}function Il(e,t,i){const s=e.findIndex(n=>n.id===t);return s<0?null:e[i==="left"?s-1:s+1]??null}const s_="tw_notify",r_=()=>localStorage.getItem(s_)==="1",n_=e=>localStorage.setItem(s_,e?"1":"0");function il(){return typeof navigator<"u"&&"serviceWorker"in navigator&&typeof window<"u"&&"PushManager"in window&&"Notification"in window}function o_(){var e;return typeof window<"u"&&(((e=window.matchMedia)==null?void 0:e.call(window,"(display-mode: standalone)").matches)||window.navigator.standalone===!0)||!1}const p1=()=>/iP(hone|ad|od)/.test(navigator.userAgent||"");function Da(e={}){return{Authorization:`Bearer ${cr()??""}`,...e}}function m1(e){const t="=".repeat((4-e.length%4)%4),i=(e+t).replace(/-/g,"+").replace(/_/g,"/"),s=atob(i),n=new Uint8Array(s.length);for(let c=0;c<s.length;c+=1)n[c]=s.charCodeAt(c);return n}async function g1(){if(!il())throw new Error(D("push.unsupported"));if(p1()&&!o_())throw new Error(D("push.iosAddToHome"));if(await Notification.requestPermission()!=="granted")throw new Error(D("push.permissionDenied"));const t=await navigator.serviceWorker.ready,i=await fetch("/api/push/vapid",{headers:Da(),cache:"no-store"});if(!i.ok)throw new Error(D("push.noVapid"));const{key:s}=await i.json();let n=await t.pushManager.getSubscription();if(n||(n=await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:m1(s)})),!(await fetch("/api/push/subscribe",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({subscription:n,boundSessions:sr()})})).ok)throw new Error(D("push.subscribeFailed"));return n_(!0),!0}async function _1(){try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();t&&(await fetch("/api/push/unsubscribe",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint})}),await t.unsubscribe())}catch{}n_(!1)}async function an(){if(!(!r_()||!il()))try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!t)return;await fetch("/api/push/bound",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint,boundSessions:sr()})})}catch{}}async function v1(e){if(il())try{(await(await navigator.serviceWorker.ready).getNotifications({tag:`pane-${e}`})).forEach(s=>s.close())}catch{}}const wf="\\s'\"`()\\[\\]<>,;,。、;:!?()【】《》「」“”‘’",w1="md|markdown|html|htm|txt|log|sh|png|jpg|jpeg|jfif|gif|webp|svg|bmp|ico|avif|apng",yf=new RegExp(`[^${wf}]+\\.(?:${w1})(?=$|[${wf}:.])`,"gi");function a_(e){const t=[];if(!e)return t;yf.lastIndex=0;let i;for(;(i=yf.exec(e))!==null;)t.push({start:i.index,end:i.index+i[0].length,path:i[0]});return t}const l_=e=>typeof e=="string"&&e.startsWith("/");function Vs(e,t){const i=l_(t)?t:`${e.replace(/\/+$/,"")}/${t}`,s=i.startsWith("/"),n=[];for(const c of i.split("/"))if(!(!c||c===".")){if(c===".."){n.pop();continue}n.push(c)}return(s?"/":"")+n.join("/")}const y1={key:"home",type:"home",name:D("doc.home")},c_=(e,t)=>({...e,type:t.type??e.type,name:t.name??e.name,content:t.content!==void 0?t.content:e.content,mtime:t.mtime!==void 0?t.mtime:e.mtime});function S1(e,t,i){if(e.tabs.some(n=>n.key===t))return{tabs:e.tabs.map(n=>n.key===t?c_(n,i):n),active:t};const s={key:t,type:i.type,name:i.name,content:i.content,mtime:i.mtime,path:t};return{tabs:[...e.tabs,s],active:t}}function b1(e,t,i){return e.tabs.some(s=>s.key===t)?{...e,tabs:e.tabs.map(s=>s.key===t?c_(s,i):s)}:e}function x1(e,t){const i=e.tabs.findIndex(c=>c.key===t);if(i<=0)return e;const s=e.tabs.filter(c=>c.key!==t),n=e.active===t?e.tabs[i-1].key:e.active;return{tabs:s,active:n}}function C1(){const[e,t]=N.useState({tabs:[y1],active:"home"}),i=N.useCallback((m,r)=>t(o=>S1(o,m,r)),[]),s=N.useCallback((m,r)=>t(o=>b1(o,m,r)),[]),n=N.useCallback(m=>t(r=>x1(r,m)),[]),c=N.useCallback(m=>t(r=>({...r,active:m})),[]);return{tabs:e.tabs,active:e.active,openDoc:i,refreshDoc:s,closeTab:n,activate:c}}function k1({open:e,currentSessionName:t,bound:i,onSelectSession:s,onUnbind:n,onBind:c,onClose:m,onLogout:r,orphans:o=[],onTakeoverRequest:f}){const[v,h]=N.useState(!1);return _.jsxs(_.Fragment,{children:[_.jsxs("div",{className:`drawer ${e?"open":""}`,children:[_.jsxs("div",{className:"drawer-list",children:[_.jsx("div",{className:"drawer-title",children:"SESSIONS"}),i.length===0&&_.jsx("div",{className:"drawer-empty",children:D("drawer.empty")}),i.map(p=>_.jsxs("div",{className:`drawer-row drawer-session ${p===t?"active":""}`,children:[_.jsx("span",{className:"drawer-name",onClick:()=>s(p),children:p}),_.jsx("button",{className:"drawer-unbind",onClick:y=>{y.stopPropagation(),n(p)},"aria-label":D("drawer.unbind"),title:D("drawer.unbind"),children:"✕"})]},p)),_.jsxs("button",{className:"drawer-bind",onClick:c,children:["+ ",D("drawer.bind")]}),o.length>0&&_.jsxs("div",{className:"drawer-orphans",children:[_.jsxs("button",{className:"drawer-orphans-head",onClick:()=>h(p=>!p),children:[_.jsx("span",{children:D("drawer.orphans.title",{n:o.length})}),_.jsx("span",{className:"drawer-orphans-caret","aria-hidden":"true",children:v?"▾":"▸"})]}),v&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"drawer-orphans-hint",children:D("drawer.orphans.hint")}),o.map(p=>{const y=!p.sessionId,S=p.state==="busy"||y;return _.jsxs("div",{className:"drawer-orphan-row",children:[_.jsxs("div",{className:"drawer-orphan-head",children:[_.jsx("span",{className:"drawer-orphan-cwd",title:p.cwd,children:p.cwdLabel||p.cwd}),_.jsx("button",{className:"drawer-orphan-btn",disabled:S,title:y?D("inbox.orphans.noSession"):void 0,onClick:()=>f==null?void 0:f(p),children:D("inbox.orphans.takeover")})]}),_.jsxs("div",{className:"drawer-orphan-meta",children:[p.agentLabel&&_.jsx("span",{className:"drawer-orphan-agent",children:p.agentLabel}),_.jsx("span",{className:`drawer-orphan-state ${p.state==="busy"?"busy":"idle"}`,children:p.state==="busy"?D("inbox.orphans.busy"):D("inbox.orphans.idle")}),_.jsx("span",{className:"drawer-orphan-time",children:i_(p.startedAt||p.lastActivity,Date.now())}),p.snippet&&_.jsx("span",{className:"drawer-orphan-msg",children:p.snippet})]})]},p.pid)})]})]})]}),_.jsx("button",{className:"drawer-logout",onClick:r,children:D("drawer.logout")})]}),e&&_.jsx("div",{className:"drawer-backdrop",onClick:m})]})}const E1=500,Sf=10;function nh(e,{onClick:t}={}){const i=N.useRef(null),s=N.useRef(null),n=N.useRef(!1),c=()=>{i.current&&(clearTimeout(i.current),i.current=null)};return{onPointerDown:m=>{n.current=!1,s.current={x:m.clientX,y:m.clientY},c(),i.current=setTimeout(()=>{i.current=null,n.current=!0,e==null||e()},E1)},onPointerMove:m=>{!i.current||!s.current||(Math.abs(m.clientX-s.current.x)>Sf||Math.abs(m.clientY-s.current.y)>Sf)&&c()},onPointerUp:c,onPointerLeave:c,onPointerCancel:c,onClick:m=>{var r,o;if(n.current){n.current=!1,(r=m.preventDefault)==null||r.call(m),(o=m.stopPropagation)==null||o.call(m);return}t==null||t(m)}}}const bf="①②③④⑤⑥⑦⑧⑨",L1=e=>e<bf.length?bf[e]:String(e+1),xf=(e,t)=>`${L1(t)} ${e.command||e.id}`;function R1({window:e,active:t,agent:i,onSelect:s,onManage:n}){const c=nh(()=>n(e),{onClick:()=>s(e)});return _.jsxs("button",{"data-win":e.id,className:`win-tab ${t?"active":""}`,...c,children:[i&&_.jsx(so,{agent:i}),e.name||e.id,e.panes>1&&_.jsx("span",{className:"win-panes",children:e.panes})]})}function T1({window:e,panes:t,currentPaneId:i,agent:s,onManage:n,onSelectPane:c}){const[m,r]=N.useState(!1),[o,f]=N.useState(null),v=N.useRef(null),h=()=>{var a;const g=(a=v.current)==null?void 0:a.getBoundingClientRect();g&&f({top:g.bottom+6,left:g.left})},p=nh(()=>n(e),{onClick:()=>{m||h(),r(g=>!g)}});N.useEffect(()=>{if(!m)return;const g=u=>{var l;(l=v.current)!=null&&l.contains(u.target)||r(!1)},a=()=>h();return document.addEventListener("pointerdown",g,!0),window.addEventListener("scroll",a,!0),window.addEventListener("resize",a),()=>{document.removeEventListener("pointerdown",g,!0),window.removeEventListener("scroll",a,!0),window.removeEventListener("resize",a)}},[m]);const y=Math.max(0,t.findIndex(g=>g.id===i)),S=t[y];return _.jsxs("div",{className:"wt-dd active","data-win":e.id,ref:v,children:[_.jsxs("button",{className:"win-tab active wt-trigger","aria-haspopup":"listbox","aria-expanded":m,...p,children:[s&&_.jsx(so,{agent:s}),_.jsx("span",{className:"wt-name",children:e.name||e.id}),_.jsx("span",{className:"wt-sep","aria-hidden":"true",children:"│"}),_.jsx("span",{className:"wt-pane",children:xf(S,y)}),_.jsx("span",{className:`wt-caret${m?" open":""}`,"aria-hidden":"true",children:"▾"})]}),m&&o&&_.jsx("div",{className:"dd-menu wt-menu",role:"listbox",style:{top:o.top,left:o.left},children:t.map((g,a)=>_.jsxs("button",{type:"button",role:"option","aria-selected":g.id===i,className:`dd-option${g.id===i?" is-selected":""}`,onClick:()=>{c(g.id),r(!1)},children:[_.jsx("span",{className:"dd-option-label",children:xf(g,a)}),g.id===i&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},g.id))})]})}function D1({windows:e,windowAgents:t={},currentAgent:i,currentWindowId:s,panes:n,currentPaneId:c,onSelectWindow:m,onSelectPane:r,onNewWindow:o,onManageWindow:f,trackWindowId:v}){const h=N.useRef(null);return N.useLayoutEffect(()=>{var p,y;v&&((y=(p=h.current)==null?void 0:p.querySelector(`[data-win="${v}"]`))==null||y.scrollIntoView({block:"nearest",inline:"nearest"}))},[e,v]),_.jsx("div",{className:"windowbar",children:_.jsxs("div",{className:"windowbar-scroll",ref:h,children:[e.map(p=>{const y=p.id===s;return y&&n.length>1?_.jsx(T1,{window:p,panes:n,currentPaneId:c,agent:i||t[p.id],onManage:f,onSelectPane:r},p.id):_.jsx(R1,{window:p,active:y,agent:t[p.id],onSelect:m,onManage:f},p.id)}),_.jsx("button",{className:"win-tab win-new",onClick:o,"aria-label":D("windowbar.newWindow"),title:D("windowbar.newWindow"),children:"+"})]})})}var u_={exports:{}};(function(e,t){(function(i,s){e.exports=s()})(globalThis,()=>(()=>{var i={4567:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;const h=o(9042),p=o(9924),y=o(844),S=o(4725),g=o(2585),a=o(3656);let u=r.AccessibilityManager=class extends y.Disposable{constructor(l,d,w,k){super(),this._terminal=l,this._coreBrowserService=w,this._renderService=k,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 b=0;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);if(this._topBoundaryFocusListener=b=>this._handleBoundaryFocus(b,0),this._bottomBoundaryFocusListener=b=>this._handleBoundaryFocus(b,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 p.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(b=>this._handleResize(b.rows))),this.register(this._terminal.onRender(b=>this._refreshRows(b.start,b.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(b=>this._handleChar(b))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
42
+ `,ct={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function Kn(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})})}function Ky(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"}),_.jsx("path",{d:"M12 10v6M9 13h6"})]})}function $c(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2Z"}),_.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}function qy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),_.jsx("path",{d:"M14 3v5h5"})]})}function Yy(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),_.jsx("circle",{cx:"9",cy:"9",r:"2"}),_.jsx("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]})}function Kg(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 19V5"}),_.jsx("path",{d:"m5 12 7-7 7 7"})]})}function Xy(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"2",x2:"5",y1:"12",y2:"12"}),_.jsx("line",{x1:"19",x2:"22",y1:"12",y2:"12"}),_.jsx("line",{x1:"12",x2:"12",y1:"2",y2:"5"}),_.jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"}),_.jsx("circle",{cx:"12",cy:"12",r:"7"})]})}function Bs(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"m6 9 6 6 6-6"})})}function qg(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M12 5v14M5 12h14"})})}function Yg(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M20 6 9 17l-5-5"})})}function Xg(){return _.jsxs("svg",{...ct,children:[_.jsx("circle",{cx:"12",cy:"12",r:"9"}),_.jsx("path",{d:"M12 7v5l3 2"})]})}function Jy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M9 18h6"}),_.jsx("path",{d:"M10 22h4"}),_.jsx("path",{d:"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14"})]})}function Zy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M22 12h-6l-2 3h-4l-2-3H2"}),_.jsx("path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z"})]})}function Qy(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 3v12"}),_.jsx("path",{d:"m7 10 5 5 5-5"}),_.jsx("path",{d:"M5 21h14"})]})}function Jg(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),_.jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),_.jsx("path",{d:"M12 18v-6"}),_.jsx("path",{d:"m9 15 3-3 3 3"})]})}function Zg(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),_.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function e1(){return _.jsx("svg",{...ct,children:_.jsx("path",{d:"M7 5l12 7-12 7z"})})}function t1(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"9",y1:"5",x2:"9",y2:"19"}),_.jsx("line",{x1:"15",y1:"5",x2:"15",y2:"19"})]})}function i1(){return _.jsx("svg",{...ct,children:_.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function s1(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"9",y:"3",width:"6",height:"11",rx:"3"}),_.jsx("path",{d:"M5 11a7 7 0 0 0 14 0"}),_.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"21"})]})}function zc(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),_.jsx("path",{d:"M8 21h8M12 17v4"})]})}function r1(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M12 14l4-4"}),_.jsx("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"})]})}function n1(){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2"}),_.jsx("path",{d:"M12 18h.01"})]})}function o1(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),_.jsx("path",{d:"M21 3v5h-5"}),_.jsx("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),_.jsx("path",{d:"M3 21v-5h5"})]})}function Qg(){return _.jsxs("svg",{...ct,children:[_.jsx("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),_.jsx("circle",{cx:"18",cy:"6",r:"3"}),_.jsx("circle",{cx:"6",cy:"18",r:"3"}),_.jsx("path",{d:"M18 9a9 9 0 0 1-9 9"})]})}function Fr(){return _.jsxs("svg",{...ct,children:[_.jsx("path",{d:"M18 6 6 18"}),_.jsx("path",{d:"m6 6 12 12"})]})}function a1({down:e=!1}){return _.jsxs("svg",{...ct,children:[_.jsx("rect",{x:"3",y:"9",width:"18",height:"11",rx:"2"}),_.jsx("path",{d:"M7 13h.01M11 13h.01M15 13h.01M8 16.5h8"}),e?_.jsx("path",{d:"M9 4.5l3 3 3-3"}):_.jsx("path",{d:"M9 6.5l3-3 3 3"})]})}const gf={claude:Vy,codex:Gy};function so({agent:e}){const t=gf[e]?e:"claude";return _.jsx("span",{className:"agent-mark",role:"img","aria-label":t,dangerouslySetInnerHTML:{__html:gf[t]}})}const e_=e=>{if(e<=0)return D("time.expired");const t=Math.max(1,Math.round(e/6e4));return D("time.minutes",{n:t})};function t_(e,t=!0){const[i,s]=N.useState(()=>Date.now());return N.useEffect(()=>{if(!t||e==null)return;s(Date.now());const n=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(n)},[t,e]),e!=null?Math.max(0,e-i):0}const Nl=1280,_f=6;function l1({open:e,name:t,kind:i="static",domain:s=null,port:n,dir:c,expiresAt:m,onRenew:r,onStop:o,onMinimize:f}){const[v,h]=N.useState(!1),[p,y]=N.useState("mobile"),[S,g]=N.useState(1),[a,u]=N.useState({w:0,h:0}),l=N.useRef(null),d=N.useRef(null);N.useEffect(()=>{e||h(!1)},[e]),N.useEffect(()=>{p==="mobile"&&g(1)},[p]),N.useEffect(()=>{const O=d.current;if(!e||!O)return;const U=()=>u({w:O.clientWidth,h:O.clientHeight});if(U(),typeof ResizeObserver>"u")return;const $=new ResizeObserver(U);return $.observe(O),()=>$.disconnect()},[e]);const w=t_(m,e),k=i==="dynamic"?n!=null?`:${n}`:"":c||"",b=p==="pc"&&a.w>0,L=a.w>0?a.w/Nl:1,x=a.h>0?a.h/L:0,E=L*S,R=b?{width:`${Nl*E}px`,height:`${x*E}px`}:void 0,I=b?{width:`${Nl}px`,height:`${x}px`,transform:`scale(${E})`,transformOrigin:"0 0"}:void 0,T=O=>g(U=>Math.min(_f,Math.max(1,+(U+O).toFixed(2)))),A=()=>{const O=l.current;if(O)try{O.contentWindow.location.reload()}catch{O.src=O.src}};return io.createPortal(_.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[_.jsxs("div",{className:"file-tabs preview-head",children:[_.jsxs("span",{className:"preview-status",children:[_.jsx(zc,{}),_.jsx("span",{className:"preview-state",children:D(i==="dynamic"?"preview.dynamic":"preview.static")}),t&&_.jsxs("span",{className:"preview-name",title:`${t}${k?" "+k:""}`,children:[t,k&&_.jsx("span",{className:"preview-detail",children:k})]})]}),_.jsx("button",{className:"preview-remain",title:D("preview.remainTitle"),"aria-haspopup":"dialog","aria-expanded":v,onClick:()=>h(O=>!O),children:e_(w)}),_.jsx("button",{className:"preview-iconbtn",onClick:()=>y(O=>O==="mobile"?"pc":"mobile"),"aria-label":D(p==="mobile"?"preview.toPcView":"preview.toMobileView"),title:D(p==="mobile"?"preview.pcView":"preview.mobileView"),"aria-pressed":p==="pc",children:p==="mobile"?_.jsx(zc,{}):_.jsx(n1,{})}),_.jsx("button",{className:"preview-iconbtn",onClick:A,"aria-label":D("preview.refresh"),title:D("preview.refresh"),children:_.jsx(o1,{})}),_.jsx("button",{className:"file-min","aria-label":D("preview.minimize"),title:D("preview.minimize"),onClick:f,children:_.jsx(Bs,{})}),v&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"preview-pop-backdrop",onClick:()=>h(!1)}),_.jsxs("div",{className:"preview-pop",role:"dialog","aria-label":D("preview.ttlDialog"),children:[_.jsx("button",{className:"preview-pop-item",onClick:()=>{h(!1),r==null||r()},children:D("preview.renew")}),_.jsx("button",{className:"preview-pop-item preview-pop-danger",onClick:()=>{h(!1),o==null||o()},children:D("preview.stop")})]})]})]}),_.jsx("div",{className:`file-body preview-body ${b?"pc":""}`,ref:d,children:t&&b?_.jsx("div",{className:"preview-scaler",style:R,children:_.jsx("iframe",{ref:l,className:"preview-frame",title:D("preview.iframeTitle"),style:I,src:pf({name:t,kind:i},s)})}):t?_.jsx("iframe",{ref:l,className:"preview-frame",title:D("preview.iframeTitle"),src:pf({name:t,kind:i},s)}):null}),b&&_.jsxs("div",{className:"preview-zoom",children:[_.jsx("button",{className:"preview-zoom-btn",onClick:()=>T(-.5),disabled:S<=1,"aria-label":D("preview.zoomOut"),children:"−"}),_.jsxs("span",{className:"preview-zoom-val","aria-hidden":"true",children:[Math.round(S*100),"%"]}),_.jsx("button",{className:"preview-zoom-btn",onClick:()=>T(.5),disabled:S>=_f,"aria-label":D("preview.zoomIn"),children:"+"})]})]}),document.body)}const c1={working:"working",done:"done",idle:"done",permission:"needs"},Uc={needs:3,done:2,working:1},u1={working:D("inbox.view.working"),done:D("inbox.view.done"),needs:D("inbox.view.needs")};function h1(e,t={},i=0){const s=[];for(const[n,c]of Object.entries(e)){const m=c1[c.kind];if(!m)continue;const r=c.ts||0;m==="done"&&!(r>Math.max(i||0,t[n]||0))||s.push({pane:n,session:c.session,window:c.window,windowName:c.windowName,view:m,msg:c.msg||"",ts:r,agent:c.agent||"claude"})}return s.sort((n,c)=>n.session<c.session?-1:n.session>c.session?1:Uc[c.view]-Uc[n.view]||c.ts-n.ts),s}function d1(e){const t={working:0,done:0,needs:0};for(const i of e)t[i.view]!=null&&(t[i.view]+=1);return t}function f1(e){let t=null,i=0;for(const s of e){const n=Uc[s.view]||0;n>i&&(i=n,t=s.view)}return t}function vf(e){let t=0;for(const i of Object.values(e))(i.ts||0)>t&&(t=i.ts);return t}function i_(e,t){if(!e)return"";const i=Math.max(0,Math.round((t-e)/1e3));if(i<60)return D("time.secAgo",{n:i});const s=Math.round(i/60);if(s<60)return D("time.minAgo",{n:s});const n=Math.round(s/60);return n<24?D("time.hourAgo",{n}):D("time.dayAgo",{n:Math.round(n/24)})}function Il(e,t,i){const s=e.findIndex(n=>n.id===t);return s<0?null:e[i==="left"?s-1:s+1]??null}const s_="tw_notify",r_=()=>localStorage.getItem(s_)==="1",n_=e=>localStorage.setItem(s_,e?"1":"0");function il(){return typeof navigator<"u"&&"serviceWorker"in navigator&&typeof window<"u"&&"PushManager"in window&&"Notification"in window}function o_(){var e;return typeof window<"u"&&(((e=window.matchMedia)==null?void 0:e.call(window,"(display-mode: standalone)").matches)||window.navigator.standalone===!0)||!1}const p1=()=>/iP(hone|ad|od)/.test(navigator.userAgent||"");function Da(e={}){return{Authorization:`Bearer ${cr()??""}`,...e}}function m1(e){const t="=".repeat((4-e.length%4)%4),i=(e+t).replace(/-/g,"+").replace(/_/g,"/"),s=atob(i),n=new Uint8Array(s.length);for(let c=0;c<s.length;c+=1)n[c]=s.charCodeAt(c);return n}async function g1(){if(!il())throw new Error(D("push.unsupported"));if(p1()&&!o_())throw new Error(D("push.iosAddToHome"));if(await Notification.requestPermission()!=="granted")throw new Error(D("push.permissionDenied"));const t=await navigator.serviceWorker.ready,i=await fetch("/api/push/vapid",{headers:Da(),cache:"no-store"});if(!i.ok)throw new Error(D("push.noVapid"));const{key:s}=await i.json();let n=await t.pushManager.getSubscription();if(n||(n=await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:m1(s)})),!(await fetch("/api/push/subscribe",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({subscription:n,boundSessions:sr()})})).ok)throw new Error(D("push.subscribeFailed"));return n_(!0),!0}async function _1(){try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();t&&(await fetch("/api/push/unsubscribe",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint})}),await t.unsubscribe())}catch{}n_(!1)}async function an(){if(!(!r_()||!il()))try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!t)return;await fetch("/api/push/bound",{method:"POST",headers:Da({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint,boundSessions:sr()})})}catch{}}async function v1(e){if(il())try{(await(await navigator.serviceWorker.ready).getNotifications({tag:`pane-${e}`})).forEach(s=>s.close())}catch{}}const wf="\\s'\"`()\\[\\]<>,;,。、;:!?()【】《》「」“”‘’",w1="md|markdown|html|htm|txt|log|sh|png|jpg|jpeg|jfif|gif|webp|svg|bmp|ico|avif|apng",yf=new RegExp(`[^${wf}]+\\.(?:${w1})(?=$|[${wf}:.])`,"gi");function a_(e){const t=[];if(!e)return t;yf.lastIndex=0;let i;for(;(i=yf.exec(e))!==null;)t.push({start:i.index,end:i.index+i[0].length,path:i[0]});return t}const l_=e=>typeof e=="string"&&e.startsWith("/");function Vs(e,t){const i=l_(t)?t:`${e.replace(/\/+$/,"")}/${t}`,s=i.startsWith("/"),n=[];for(const c of i.split("/"))if(!(!c||c===".")){if(c===".."){n.pop();continue}n.push(c)}return(s?"/":"")+n.join("/")}const y1={key:"home",type:"home",name:D("doc.home")},c_=(e,t)=>({...e,type:t.type??e.type,name:t.name??e.name,content:t.content!==void 0?t.content:e.content,mtime:t.mtime!==void 0?t.mtime:e.mtime});function S1(e,t,i){if(e.tabs.some(n=>n.key===t))return{tabs:e.tabs.map(n=>n.key===t?c_(n,i):n),active:t};const s={key:t,type:i.type,name:i.name,content:i.content,mtime:i.mtime,path:t};return{tabs:[...e.tabs,s],active:t}}function b1(e,t,i){return e.tabs.some(s=>s.key===t)?{...e,tabs:e.tabs.map(s=>s.key===t?c_(s,i):s)}:e}function x1(e,t){const i=e.tabs.findIndex(c=>c.key===t);if(i<=0)return e;const s=e.tabs.filter(c=>c.key!==t),n=e.active===t?e.tabs[i-1].key:e.active;return{tabs:s,active:n}}function C1(){const[e,t]=N.useState({tabs:[y1],active:"home"}),i=N.useCallback((m,r)=>t(o=>S1(o,m,r)),[]),s=N.useCallback((m,r)=>t(o=>b1(o,m,r)),[]),n=N.useCallback(m=>t(r=>x1(r,m)),[]),c=N.useCallback(m=>t(r=>({...r,active:m})),[]);return{tabs:e.tabs,active:e.active,openDoc:i,refreshDoc:s,closeTab:n,activate:c}}function k1({open:e,currentSessionName:t,bound:i,onSelectSession:s,onUnbind:n,onBind:c,onClose:m,onLogout:r,orphans:o=[],onTakeoverRequest:f}){const[v,h]=N.useState(!1);return _.jsxs(_.Fragment,{children:[_.jsxs("div",{className:`drawer ${e?"open":""}`,children:[_.jsxs("div",{className:"drawer-list",children:[_.jsx("div",{className:"drawer-title",children:"SESSIONS"}),i.length===0&&_.jsx("div",{className:"drawer-empty",children:D("drawer.empty")}),i.map(p=>_.jsxs("div",{className:`drawer-row drawer-session ${p===t?"active":""}`,children:[_.jsx("span",{className:"drawer-name",onClick:()=>s(p),children:p}),_.jsx("button",{className:"drawer-unbind",onClick:y=>{y.stopPropagation(),n(p)},"aria-label":D("drawer.unbind"),title:D("drawer.unbind"),children:"✕"})]},p)),_.jsxs("button",{className:"drawer-bind",onClick:c,children:["+ ",D("drawer.bind")]}),o.length>0&&_.jsxs("div",{className:"drawer-orphans",children:[_.jsxs("button",{className:"drawer-orphans-head",onClick:()=>h(p=>!p),children:[_.jsx("span",{children:D("drawer.orphans.title",{n:o.length})}),_.jsx("span",{className:"drawer-orphans-caret","aria-hidden":"true",children:v?"▾":"▸"})]}),v&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"drawer-orphans-hint",children:D("drawer.orphans.hint")}),o.map(p=>{const y=!p.sessionId,S=p.state==="busy"||y;return _.jsxs("div",{className:"drawer-orphan-row",children:[_.jsxs("div",{className:"drawer-orphan-head",children:[_.jsx("span",{className:"drawer-orphan-cwd",title:p.cwd,children:p.cwdLabel||p.cwd}),_.jsx("button",{className:"drawer-orphan-btn",disabled:S,title:y?D("inbox.orphans.noSession"):void 0,onClick:()=>f==null?void 0:f(p),children:D("inbox.orphans.takeover")})]}),_.jsxs("div",{className:"drawer-orphan-meta",children:[p.agentLabel&&_.jsx("span",{className:"drawer-orphan-agent",children:p.agentLabel}),_.jsx("span",{className:`drawer-orphan-state ${p.state==="busy"?"busy":"idle"}`,children:p.state==="busy"?D("inbox.orphans.busy"):D("inbox.orphans.idle")}),_.jsx("span",{className:"drawer-orphan-time",children:i_(p.startedAt||p.lastActivity,Date.now())}),p.snippet&&_.jsx("span",{className:"drawer-orphan-msg",children:p.snippet})]})]},p.pid)})]})]})]}),_.jsx("button",{className:"drawer-logout",onClick:r,children:D("drawer.logout")})]}),e&&_.jsx("div",{className:"drawer-backdrop",onClick:m})]})}const E1=500,Sf=10;function nh(e,{onClick:t}={}){const i=N.useRef(null),s=N.useRef(null),n=N.useRef(!1),c=()=>{i.current&&(clearTimeout(i.current),i.current=null)};return{onPointerDown:m=>{n.current=!1,s.current={x:m.clientX,y:m.clientY},c(),i.current=setTimeout(()=>{i.current=null,n.current=!0,e==null||e()},E1)},onPointerMove:m=>{!i.current||!s.current||(Math.abs(m.clientX-s.current.x)>Sf||Math.abs(m.clientY-s.current.y)>Sf)&&c()},onPointerUp:c,onPointerLeave:c,onPointerCancel:c,onClick:m=>{var r,o;if(n.current){n.current=!1,(r=m.preventDefault)==null||r.call(m),(o=m.stopPropagation)==null||o.call(m);return}t==null||t(m)}}}const bf="①②③④⑤⑥⑦⑧⑨",L1=e=>e<bf.length?bf[e]:String(e+1),xf=(e,t)=>`${L1(t)} ${e.command||e.id}`;function R1({window:e,active:t,agent:i,onSelect:s,onManage:n}){const c=nh(()=>n(e),{onClick:()=>s(e)});return _.jsxs("button",{"data-win":e.id,className:`win-tab ${t?"active":""}`,...c,children:[i&&_.jsx(so,{agent:i}),e.name||e.id,e.panes>1&&_.jsx("span",{className:"win-panes",children:e.panes})]})}function T1({window:e,panes:t,currentPaneId:i,agent:s,onManage:n,onSelectPane:c}){const[m,r]=N.useState(!1),[o,f]=N.useState(null),v=N.useRef(null),h=()=>{var a;const g=(a=v.current)==null?void 0:a.getBoundingClientRect();g&&f({top:g.bottom+6,left:g.left})},p=nh(()=>n(e),{onClick:()=>{m||h(),r(g=>!g)}});N.useEffect(()=>{if(!m)return;const g=u=>{var l;(l=v.current)!=null&&l.contains(u.target)||r(!1)},a=()=>h();return document.addEventListener("pointerdown",g,!0),window.addEventListener("scroll",a,!0),window.addEventListener("resize",a),()=>{document.removeEventListener("pointerdown",g,!0),window.removeEventListener("scroll",a,!0),window.removeEventListener("resize",a)}},[m]);const y=Math.max(0,t.findIndex(g=>g.id===i)),S=t[y];return _.jsxs("div",{className:"wt-dd active","data-win":e.id,ref:v,children:[_.jsxs("button",{className:"win-tab active wt-trigger","aria-haspopup":"listbox","aria-expanded":m,...p,children:[s&&_.jsx(so,{agent:s}),_.jsx("span",{className:"wt-name",children:e.name||e.id}),_.jsx("span",{className:"wt-sep","aria-hidden":"true",children:"│"}),_.jsx("span",{className:"wt-pane",children:xf(S,y)}),_.jsx("span",{className:`wt-caret${m?" open":""}`,"aria-hidden":"true",children:"▾"})]}),m&&o&&_.jsx("div",{className:"dd-menu wt-menu",role:"listbox",style:{top:o.top,left:o.left},children:t.map((g,a)=>_.jsxs("button",{type:"button",role:"option","aria-selected":g.id===i,className:`dd-option${g.id===i?" is-selected":""}`,onClick:()=>{c(g.id),r(!1)},children:[_.jsx("span",{className:"dd-option-label",children:xf(g,a)}),g.id===i&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},g.id))})]})}function D1({windows:e,windowAgents:t={},currentAgent:i,currentWindowId:s,panes:n,currentPaneId:c,onSelectWindow:m,onSelectPane:r,onNewWindow:o,onManageWindow:f,trackWindowId:v}){const h=N.useRef(null);return N.useLayoutEffect(()=>{var p,y;v&&((y=(p=h.current)==null?void 0:p.querySelector(`[data-win="${v}"]`))==null||y.scrollIntoView({block:"nearest",inline:"nearest"}))},[e,v]),_.jsx("div",{className:"windowbar",children:_.jsxs("div",{className:"windowbar-scroll",ref:h,children:[e.map(p=>{const y=p.id===s;return y&&n.length>1?_.jsx(T1,{window:p,panes:n,currentPaneId:c,agent:i||t[p.id],onManage:f,onSelectPane:r},p.id):_.jsx(R1,{window:p,active:y,agent:t[p.id],onSelect:m,onManage:f},p.id)}),_.jsx("button",{className:"win-tab win-new",onClick:o,"aria-label":D("windowbar.newWindow"),title:D("windowbar.newWindow"),children:"+"})]})})}var u_={exports:{}};(function(e,t){(function(i,s){e.exports=s()})(globalThis,()=>(()=>{var i={4567:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;const h=o(9042),p=o(9924),y=o(844),S=o(4725),g=o(2585),a=o(3656);let u=r.AccessibilityManager=class extends y.Disposable{constructor(l,d,w,k){super(),this._terminal=l,this._coreBrowserService=w,this._renderService=k,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 b=0;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);if(this._topBoundaryFocusListener=b=>this._handleBoundaryFocus(b,0),this._bottomBoundaryFocusListener=b=>this._handleBoundaryFocus(b,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 p.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(b=>this._handleResize(b.rows))),this.register(this._terminal.onRender(b=>this._refreshRows(b.start,b.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(b=>this._handleChar(b))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
43
43
  `))),this.register(this._terminal.onA11yTab(b=>this._handleTab(b))),this.register(this._terminal.onKey(b=>this._handleKey(b.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,a.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,y.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(l){for(let d=0;d<l;d++)this._handleChar(" ")}_handleChar(l){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==l&&(this._charsToAnnounce+=l):this._charsToAnnounce+=l,l===`
44
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=h.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(l){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(l)||this._charsToConsume.push(l)}_refreshRows(l,d){this._liveRegionDebouncer.refresh(l,d,this._terminal.rows)}_renderRows(l,d){const w=this._terminal.buffer,k=w.lines.length.toString();for(let b=l;b<=d;b++){const L=w.lines.get(w.ydisp+b),x=[],E=(L==null?void 0:L.translateToString(!0,void 0,void 0,x))||"",R=(w.ydisp+b+1).toString(),I=this._rowElements[b];I&&(E.length===0?(I.innerText=" ",this._rowColumns.set(I,[0,1])):(I.textContent=E,this._rowColumns.set(I,x)),I.setAttribute("aria-posinset",R),I.setAttribute("aria-setsize",k))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(l,d){const w=l.target,k=this._rowElements[d===0?1:this._rowElements.length-2];if(w.getAttribute("aria-posinset")===(d===0?"1":`${this._terminal.buffer.lines.length}`)||l.relatedTarget!==k)return;let b,L;if(d===0?(b=w,L=this._rowElements.pop(),this._rowContainer.removeChild(L)):(b=this._rowElements.shift(),L=w,this._rowContainer.removeChild(b)),b.removeEventListener("focus",this._topBoundaryFocusListener),L.removeEventListener("focus",this._bottomBoundaryFocusListener),d===0){const x=this._createAccessibilityTreeNode();this._rowElements.unshift(x),this._rowContainer.insertAdjacentElement("afterbegin",x)}else{const x=this._createAccessibilityTreeNode();this._rowElements.push(x),this._rowContainer.appendChild(x)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(d===0?-1:1),this._rowElements[d===0?1:this._rowElements.length-2].focus(),l.preventDefault(),l.stopImmediatePropagation()}_handleSelectionChange(){var E;if(this._rowElements.length===0)return;const l=document.getSelection();if(!l)return;if(l.isCollapsed)return void(this._rowContainer.contains(l.anchorNode)&&this._terminal.clearSelection());if(!l.anchorNode||!l.focusNode)return void console.error("anchorNode and/or focusNode are null");let d={node:l.anchorNode,offset:l.anchorOffset},w={node:l.focusNode,offset:l.focusOffset};if((d.node.compareDocumentPosition(w.node)&Node.DOCUMENT_POSITION_PRECEDING||d.node===w.node&&d.offset>w.offset)&&([d,w]=[w,d]),d.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(d={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(d.node))return;const k=this._rowElements.slice(-1)[0];if(w.node.compareDocumentPosition(k)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(w={node:k,offset:((E=k.textContent)==null?void 0:E.length)??0}),!this._rowContainer.contains(w.node))return;const b=({node:R,offset:I})=>{const T=R instanceof Text?R.parentNode:R;let A=parseInt(T==null?void 0:T.getAttribute("aria-posinset"),10)-1;if(isNaN(A))return console.warn("row is invalid. Race condition?"),null;const P=this._rowColumns.get(T);if(!P)return console.warn("columns is null. Race condition?"),null;let U=I<P.length?P[I]:P.slice(-1)[0]+1;return U>=this._terminal.cols&&(++A,U=0),{row:A,column:U}},L=b(d),x=b(w);if(L&&x){if(L.row>x.row||L.row===x.row&&L.column>=x.column)throw new Error("invalid range");this._terminal.select(L.column,L.row,(x.row-L.row)*this._terminal.cols-L.column+x.column)}}_handleResize(l){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let d=this._rowContainer.children.length;d<this._terminal.rows;d++)this._rowElements[d]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[d]);for(;this._rowElements.length>l;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const l=this._coreBrowserService.mainDocument.createElement("div");return l.setAttribute("role","listitem"),l.tabIndex=-1,this._refreshRowDimensions(l),l}_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 l=0;l<this._terminal.rows;l++)this._refreshRowDimensions(this._rowElements[l])}}_refreshRowDimensions(l){l.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=u=f([v(1,g.IInstantiationService),v(2,S.ICoreBrowserService),v(3,S.IRenderService)],u)},3614:(m,r)=>{function o(p){return p.replace(/\r?\n/g,"\r")}function f(p,y){return y?"\x1B[200~"+p+"\x1B[201~":p}function v(p,y,S,g){p=f(p=o(p),S.decPrivateModes.bracketedPasteMode&&g.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(p,!0),y.value=""}function h(p,y,S){const g=S.getBoundingClientRect(),a=p.clientX-g.left-10,u=p.clientY-g.top-10;y.style.width="20px",y.style.height="20px",y.style.left=`${a}px`,y.style.top=`${u}px`,y.style.zIndex="1000",y.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=o,r.bracketTextForPaste=f,r.copyHandler=function(p,y){p.clipboardData&&p.clipboardData.setData("text/plain",y.selectionText),p.preventDefault()},r.handlePasteEvent=function(p,y,S,g){p.stopPropagation(),p.clipboardData&&v(p.clipboardData.getData("text/plain"),y,S,g)},r.paste=v,r.moveTextAreaUnderMouseCursor=h,r.rightClickHandler=function(p,y,S,g,a){h(p,y,S),a&&g.rightClickSelect(p),y.value=g.selectionText,y.select()}},7239:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;const f=o(1505);r.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(v,h,p){this._css.set(v,h,p)}getCss(v,h){return this._css.get(v,h)}setColor(v,h,p){this._color.set(v,h,p)}getColor(v,h){return this._color.get(v,h)}clear(){this._color.clear(),this._css.clear()}}},3656:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(o,f,v,h){o.addEventListener(f,v,h);let p=!1;return{dispose:()=>{p||(p=!0,o.removeEventListener(f,v,h))}}}},3551:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier=void 0;const h=o(3656),p=o(8460),y=o(844),S=o(2585),g=o(4725);let a=r.Linkifier=class extends y.Disposable{get currentLink(){return this._currentLink}constructor(u,l,d,w,k){super(),this._element=u,this._mouseService=l,this._renderService=d,this._bufferService=w,this._linkProviderService=k,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new p.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new p.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,y.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,y.toDisposable)(()=>{var b;this._lastMouseEvent=void 0,(b=this._activeProviderReplies)==null||b.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(u){this._lastMouseEvent=u;const l=this._positionFromMouseEvent(u,this._element,this._mouseService);if(!l)return;this._isMouseOut=!1;const d=u.composedPath();for(let w=0;w<d.length;w++){const k=d[w];if(k.classList.contains("xterm"))break;if(k.classList.contains("xterm-hover"))return}this._lastBufferCell&&l.x===this._lastBufferCell.x&&l.y===this._lastBufferCell.y||(this._handleHover(l),this._lastBufferCell=l)}_handleHover(u){if(this._activeLine!==u.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(u,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,u)||(this._clearCurrentLink(),this._askForLink(u,!0))}_askForLink(u,l){var w,k;this._activeProviderReplies&&l||((w=this._activeProviderReplies)==null||w.forEach(b=>{b==null||b.forEach(L=>{L.link.dispose&&L.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=u.y);let d=!1;for(const[b,L]of this._linkProviderService.linkProviders.entries())l?(k=this._activeProviderReplies)!=null&&k.get(b)&&(d=this._checkLinkProviderResult(b,u,d)):L.provideLinks(u.y,x=>{var R,I;if(this._isMouseOut)return;const E=x==null?void 0:x.map(T=>({link:T}));(R=this._activeProviderReplies)==null||R.set(b,E),d=this._checkLinkProviderResult(b,u,d),((I=this._activeProviderReplies)==null?void 0:I.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(u.y,this._activeProviderReplies)})}_removeIntersectingLinks(u,l){const d=new Set;for(let w=0;w<l.size;w++){const k=l.get(w);if(k)for(let b=0;b<k.length;b++){const L=k[b],x=L.link.range.start.y<u?0:L.link.range.start.x,E=L.link.range.end.y>u?this._bufferService.cols:L.link.range.end.x;for(let R=x;R<=E;R++){if(d.has(R)){k.splice(b--,1);break}d.add(R)}}}}_checkLinkProviderResult(u,l,d){var b;if(!this._activeProviderReplies)return d;const w=this._activeProviderReplies.get(u);let k=!1;for(let L=0;L<u;L++)this._activeProviderReplies.has(L)&&!this._activeProviderReplies.get(L)||(k=!0);if(!k&&w){const L=w.find(x=>this._linkAtPosition(x.link,l));L&&(d=!0,this._handleNewLink(L))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!d)for(let L=0;L<this._activeProviderReplies.size;L++){const x=(b=this._activeProviderReplies.get(L))==null?void 0:b.find(E=>this._linkAtPosition(E.link,l));if(x){d=!0,this._handleNewLink(x);break}}return d}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(u){if(!this._currentLink)return;const l=this._positionFromMouseEvent(u,this._element,this._mouseService);l&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,l)&&this._currentLink.link.activate(u,this._currentLink.link.text)}_clearCurrentLink(u,l){this._currentLink&&this._lastMouseEvent&&(!u||!l||this._currentLink.link.range.start.y>=u&&this._currentLink.link.range.end.y<=l)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,y.disposeArray)(this._linkCacheDisposables))}_handleNewLink(u){if(!this._lastMouseEvent)return;const l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._linkAtPosition(u.link,l)&&(this._currentLink=u,this._currentLink.state={decorations:{underline:u.link.decorations===void 0||u.link.decorations.underline,pointerCursor:u.link.decorations===void 0||u.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,u.link,this._lastMouseEvent),u.link.decorations={},Object.defineProperties(u.link.decorations,{pointerCursor:{get:()=>{var d,w;return(w=(d=this._currentLink)==null?void 0:d.state)==null?void 0:w.decorations.pointerCursor},set:d=>{var w;(w=this._currentLink)!=null&&w.state&&this._currentLink.state.decorations.pointerCursor!==d&&(this._currentLink.state.decorations.pointerCursor=d,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",d))}},underline:{get:()=>{var d,w;return(w=(d=this._currentLink)==null?void 0:d.state)==null?void 0:w.decorations.underline},set:d=>{var w,k,b;(w=this._currentLink)!=null&&w.state&&((b=(k=this._currentLink)==null?void 0:k.state)==null?void 0:b.decorations.underline)!==d&&(this._currentLink.state.decorations.underline=d,this._currentLink.state.isHovered&&this._fireUnderlineEvent(u.link,d))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(d=>{if(!this._currentLink)return;const w=d.start===0?0:d.start+1+this._bufferService.buffer.ydisp,k=this._bufferService.buffer.ydisp+1+d.end;if(this._currentLink.link.range.start.y>=w&&this._currentLink.link.range.end.y<=k&&(this._clearCurrentLink(w,k),this._lastMouseEvent)){const b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._askForLink(b,!1)}})))}_linkHover(u,l,d){var w;(w=this._currentLink)!=null&&w.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(l,!0),this._currentLink.state.decorations.pointerCursor&&u.classList.add("xterm-cursor-pointer")),l.hover&&l.hover(d,l.text)}_fireUnderlineEvent(u,l){const d=u.range,w=this._bufferService.buffer.ydisp,k=this._createLinkUnderlineEvent(d.start.x-1,d.start.y-w-1,d.end.x,d.end.y-w-1,void 0);(l?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(k)}_linkLeave(u,l,d){var w;(w=this._currentLink)!=null&&w.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(l,!1),this._currentLink.state.decorations.pointerCursor&&u.classList.remove("xterm-cursor-pointer")),l.leave&&l.leave(d,l.text)}_linkAtPosition(u,l){const d=u.range.start.y*this._bufferService.cols+u.range.start.x,w=u.range.end.y*this._bufferService.cols+u.range.end.x,k=l.y*this._bufferService.cols+l.x;return d<=k&&k<=w}_positionFromMouseEvent(u,l,d){const w=d.getCoords(u,l,this._bufferService.cols,this._bufferService.rows);if(w)return{x:w[0],y:w[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(u,l,d,w,k){return{x1:u,y1:l,x2:d,y2:w,cols:this._bufferService.cols,fg:k}}};r.Linkifier=a=f([v(1,g.IMouseService),v(2,g.IRenderService),v(3,S.IBufferService),v(4,g.ILinkProviderService)],a)},9042:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;const h=o(511),p=o(2585);let y=r.OscLinkProvider=class{constructor(g,a,u){this._bufferService=g,this._optionsService=a,this._oscLinkService=u}provideLinks(g,a){var E;const u=this._bufferService.buffer.lines.get(g-1);if(!u)return void a(void 0);const l=[],d=this._optionsService.rawOptions.linkHandler,w=new h.CellData,k=u.getTrimmedLength();let b=-1,L=-1,x=!1;for(let R=0;R<k;R++)if(L!==-1||u.hasContent(R)){if(u.loadCell(R,w),w.hasExtendedAttrs()&&w.extended.urlId){if(L===-1){L=R,b=w.extended.urlId;continue}x=w.extended.urlId!==b}else L!==-1&&(x=!0);if(x||L!==-1&&R===k-1){const I=(E=this._oscLinkService.getLinkData(b))==null?void 0:E.uri;if(I){const T={start:{x:L+1,y:g},end:{x:R+(x||R!==k-1?0:1),y:g}};let A=!1;if(!(d!=null&&d.allowNonHttpProtocols))try{const P=new URL(I);["http:","https:"].includes(P.protocol)||(A=!0)}catch{A=!0}A||l.push({text:I,range:T,activate:(P,U)=>d?d.activate(P,U,T):S(0,U),hover:(P,U)=>{var $;return($=d==null?void 0:d.hover)==null?void 0:$.call(d,P,U,T)},leave:(P,U)=>{var $;return($=d==null?void 0:d.leave)==null?void 0:$.call(d,P,U,T)}})}x=!1,w.hasExtendedAttrs()&&w.extended.urlId?(L=R,b=w.extended.urlId):(L=-1,b=-1)}}a(l)}};function S(g,a){if(confirm(`Do you want to navigate to ${a}?
44
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=h.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(l){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(l)||this._charsToConsume.push(l)}_refreshRows(l,d){this._liveRegionDebouncer.refresh(l,d,this._terminal.rows)}_renderRows(l,d){const w=this._terminal.buffer,k=w.lines.length.toString();for(let b=l;b<=d;b++){const L=w.lines.get(w.ydisp+b),x=[],E=(L==null?void 0:L.translateToString(!0,void 0,void 0,x))||"",R=(w.ydisp+b+1).toString(),I=this._rowElements[b];I&&(E.length===0?(I.innerText=" ",this._rowColumns.set(I,[0,1])):(I.textContent=E,this._rowColumns.set(I,x)),I.setAttribute("aria-posinset",R),I.setAttribute("aria-setsize",k))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(l,d){const w=l.target,k=this._rowElements[d===0?1:this._rowElements.length-2];if(w.getAttribute("aria-posinset")===(d===0?"1":`${this._terminal.buffer.lines.length}`)||l.relatedTarget!==k)return;let b,L;if(d===0?(b=w,L=this._rowElements.pop(),this._rowContainer.removeChild(L)):(b=this._rowElements.shift(),L=w,this._rowContainer.removeChild(b)),b.removeEventListener("focus",this._topBoundaryFocusListener),L.removeEventListener("focus",this._bottomBoundaryFocusListener),d===0){const x=this._createAccessibilityTreeNode();this._rowElements.unshift(x),this._rowContainer.insertAdjacentElement("afterbegin",x)}else{const x=this._createAccessibilityTreeNode();this._rowElements.push(x),this._rowContainer.appendChild(x)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(d===0?-1:1),this._rowElements[d===0?1:this._rowElements.length-2].focus(),l.preventDefault(),l.stopImmediatePropagation()}_handleSelectionChange(){var E;if(this._rowElements.length===0)return;const l=document.getSelection();if(!l)return;if(l.isCollapsed)return void(this._rowContainer.contains(l.anchorNode)&&this._terminal.clearSelection());if(!l.anchorNode||!l.focusNode)return void console.error("anchorNode and/or focusNode are null");let d={node:l.anchorNode,offset:l.anchorOffset},w={node:l.focusNode,offset:l.focusOffset};if((d.node.compareDocumentPosition(w.node)&Node.DOCUMENT_POSITION_PRECEDING||d.node===w.node&&d.offset>w.offset)&&([d,w]=[w,d]),d.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(d={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(d.node))return;const k=this._rowElements.slice(-1)[0];if(w.node.compareDocumentPosition(k)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(w={node:k,offset:((E=k.textContent)==null?void 0:E.length)??0}),!this._rowContainer.contains(w.node))return;const b=({node:R,offset:I})=>{const T=R instanceof Text?R.parentNode:R;let A=parseInt(T==null?void 0:T.getAttribute("aria-posinset"),10)-1;if(isNaN(A))return console.warn("row is invalid. Race condition?"),null;const O=this._rowColumns.get(T);if(!O)return console.warn("columns is null. Race condition?"),null;let U=I<O.length?O[I]:O.slice(-1)[0]+1;return U>=this._terminal.cols&&(++A,U=0),{row:A,column:U}},L=b(d),x=b(w);if(L&&x){if(L.row>x.row||L.row===x.row&&L.column>=x.column)throw new Error("invalid range");this._terminal.select(L.column,L.row,(x.row-L.row)*this._terminal.cols-L.column+x.column)}}_handleResize(l){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let d=this._rowContainer.children.length;d<this._terminal.rows;d++)this._rowElements[d]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[d]);for(;this._rowElements.length>l;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const l=this._coreBrowserService.mainDocument.createElement("div");return l.setAttribute("role","listitem"),l.tabIndex=-1,this._refreshRowDimensions(l),l}_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 l=0;l<this._terminal.rows;l++)this._refreshRowDimensions(this._rowElements[l])}}_refreshRowDimensions(l){l.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=u=f([v(1,g.IInstantiationService),v(2,S.ICoreBrowserService),v(3,S.IRenderService)],u)},3614:(m,r)=>{function o(p){return p.replace(/\r?\n/g,"\r")}function f(p,y){return y?"\x1B[200~"+p+"\x1B[201~":p}function v(p,y,S,g){p=f(p=o(p),S.decPrivateModes.bracketedPasteMode&&g.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(p,!0),y.value=""}function h(p,y,S){const g=S.getBoundingClientRect(),a=p.clientX-g.left-10,u=p.clientY-g.top-10;y.style.width="20px",y.style.height="20px",y.style.left=`${a}px`,y.style.top=`${u}px`,y.style.zIndex="1000",y.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=o,r.bracketTextForPaste=f,r.copyHandler=function(p,y){p.clipboardData&&p.clipboardData.setData("text/plain",y.selectionText),p.preventDefault()},r.handlePasteEvent=function(p,y,S,g){p.stopPropagation(),p.clipboardData&&v(p.clipboardData.getData("text/plain"),y,S,g)},r.paste=v,r.moveTextAreaUnderMouseCursor=h,r.rightClickHandler=function(p,y,S,g,a){h(p,y,S),a&&g.rightClickSelect(p),y.value=g.selectionText,y.select()}},7239:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;const f=o(1505);r.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(v,h,p){this._css.set(v,h,p)}getCss(v,h){return this._css.get(v,h)}setColor(v,h,p){this._color.set(v,h,p)}getColor(v,h){return this._color.get(v,h)}clear(){this._color.clear(),this._css.clear()}}},3656:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(o,f,v,h){o.addEventListener(f,v,h);let p=!1;return{dispose:()=>{p||(p=!0,o.removeEventListener(f,v,h))}}}},3551:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier=void 0;const h=o(3656),p=o(8460),y=o(844),S=o(2585),g=o(4725);let a=r.Linkifier=class extends y.Disposable{get currentLink(){return this._currentLink}constructor(u,l,d,w,k){super(),this._element=u,this._mouseService=l,this._renderService=d,this._bufferService=w,this._linkProviderService=k,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new p.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new p.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,y.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,y.toDisposable)(()=>{var b;this._lastMouseEvent=void 0,(b=this._activeProviderReplies)==null||b.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(u){this._lastMouseEvent=u;const l=this._positionFromMouseEvent(u,this._element,this._mouseService);if(!l)return;this._isMouseOut=!1;const d=u.composedPath();for(let w=0;w<d.length;w++){const k=d[w];if(k.classList.contains("xterm"))break;if(k.classList.contains("xterm-hover"))return}this._lastBufferCell&&l.x===this._lastBufferCell.x&&l.y===this._lastBufferCell.y||(this._handleHover(l),this._lastBufferCell=l)}_handleHover(u){if(this._activeLine!==u.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(u,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,u)||(this._clearCurrentLink(),this._askForLink(u,!0))}_askForLink(u,l){var w,k;this._activeProviderReplies&&l||((w=this._activeProviderReplies)==null||w.forEach(b=>{b==null||b.forEach(L=>{L.link.dispose&&L.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=u.y);let d=!1;for(const[b,L]of this._linkProviderService.linkProviders.entries())l?(k=this._activeProviderReplies)!=null&&k.get(b)&&(d=this._checkLinkProviderResult(b,u,d)):L.provideLinks(u.y,x=>{var R,I;if(this._isMouseOut)return;const E=x==null?void 0:x.map(T=>({link:T}));(R=this._activeProviderReplies)==null||R.set(b,E),d=this._checkLinkProviderResult(b,u,d),((I=this._activeProviderReplies)==null?void 0:I.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(u.y,this._activeProviderReplies)})}_removeIntersectingLinks(u,l){const d=new Set;for(let w=0;w<l.size;w++){const k=l.get(w);if(k)for(let b=0;b<k.length;b++){const L=k[b],x=L.link.range.start.y<u?0:L.link.range.start.x,E=L.link.range.end.y>u?this._bufferService.cols:L.link.range.end.x;for(let R=x;R<=E;R++){if(d.has(R)){k.splice(b--,1);break}d.add(R)}}}}_checkLinkProviderResult(u,l,d){var b;if(!this._activeProviderReplies)return d;const w=this._activeProviderReplies.get(u);let k=!1;for(let L=0;L<u;L++)this._activeProviderReplies.has(L)&&!this._activeProviderReplies.get(L)||(k=!0);if(!k&&w){const L=w.find(x=>this._linkAtPosition(x.link,l));L&&(d=!0,this._handleNewLink(L))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!d)for(let L=0;L<this._activeProviderReplies.size;L++){const x=(b=this._activeProviderReplies.get(L))==null?void 0:b.find(E=>this._linkAtPosition(E.link,l));if(x){d=!0,this._handleNewLink(x);break}}return d}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(u){if(!this._currentLink)return;const l=this._positionFromMouseEvent(u,this._element,this._mouseService);l&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,l)&&this._currentLink.link.activate(u,this._currentLink.link.text)}_clearCurrentLink(u,l){this._currentLink&&this._lastMouseEvent&&(!u||!l||this._currentLink.link.range.start.y>=u&&this._currentLink.link.range.end.y<=l)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,y.disposeArray)(this._linkCacheDisposables))}_handleNewLink(u){if(!this._lastMouseEvent)return;const l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._linkAtPosition(u.link,l)&&(this._currentLink=u,this._currentLink.state={decorations:{underline:u.link.decorations===void 0||u.link.decorations.underline,pointerCursor:u.link.decorations===void 0||u.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,u.link,this._lastMouseEvent),u.link.decorations={},Object.defineProperties(u.link.decorations,{pointerCursor:{get:()=>{var d,w;return(w=(d=this._currentLink)==null?void 0:d.state)==null?void 0:w.decorations.pointerCursor},set:d=>{var w;(w=this._currentLink)!=null&&w.state&&this._currentLink.state.decorations.pointerCursor!==d&&(this._currentLink.state.decorations.pointerCursor=d,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",d))}},underline:{get:()=>{var d,w;return(w=(d=this._currentLink)==null?void 0:d.state)==null?void 0:w.decorations.underline},set:d=>{var w,k,b;(w=this._currentLink)!=null&&w.state&&((b=(k=this._currentLink)==null?void 0:k.state)==null?void 0:b.decorations.underline)!==d&&(this._currentLink.state.decorations.underline=d,this._currentLink.state.isHovered&&this._fireUnderlineEvent(u.link,d))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(d=>{if(!this._currentLink)return;const w=d.start===0?0:d.start+1+this._bufferService.buffer.ydisp,k=this._bufferService.buffer.ydisp+1+d.end;if(this._currentLink.link.range.start.y>=w&&this._currentLink.link.range.end.y<=k&&(this._clearCurrentLink(w,k),this._lastMouseEvent)){const b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._askForLink(b,!1)}})))}_linkHover(u,l,d){var w;(w=this._currentLink)!=null&&w.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(l,!0),this._currentLink.state.decorations.pointerCursor&&u.classList.add("xterm-cursor-pointer")),l.hover&&l.hover(d,l.text)}_fireUnderlineEvent(u,l){const d=u.range,w=this._bufferService.buffer.ydisp,k=this._createLinkUnderlineEvent(d.start.x-1,d.start.y-w-1,d.end.x,d.end.y-w-1,void 0);(l?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(k)}_linkLeave(u,l,d){var w;(w=this._currentLink)!=null&&w.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(l,!1),this._currentLink.state.decorations.pointerCursor&&u.classList.remove("xterm-cursor-pointer")),l.leave&&l.leave(d,l.text)}_linkAtPosition(u,l){const d=u.range.start.y*this._bufferService.cols+u.range.start.x,w=u.range.end.y*this._bufferService.cols+u.range.end.x,k=l.y*this._bufferService.cols+l.x;return d<=k&&k<=w}_positionFromMouseEvent(u,l,d){const w=d.getCoords(u,l,this._bufferService.cols,this._bufferService.rows);if(w)return{x:w[0],y:w[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(u,l,d,w,k){return{x1:u,y1:l,x2:d,y2:w,cols:this._bufferService.cols,fg:k}}};r.Linkifier=a=f([v(1,g.IMouseService),v(2,g.IRenderService),v(3,S.IBufferService),v(4,g.ILinkProviderService)],a)},9042:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;const h=o(511),p=o(2585);let y=r.OscLinkProvider=class{constructor(g,a,u){this._bufferService=g,this._optionsService=a,this._oscLinkService=u}provideLinks(g,a){var E;const u=this._bufferService.buffer.lines.get(g-1);if(!u)return void a(void 0);const l=[],d=this._optionsService.rawOptions.linkHandler,w=new h.CellData,k=u.getTrimmedLength();let b=-1,L=-1,x=!1;for(let R=0;R<k;R++)if(L!==-1||u.hasContent(R)){if(u.loadCell(R,w),w.hasExtendedAttrs()&&w.extended.urlId){if(L===-1){L=R,b=w.extended.urlId;continue}x=w.extended.urlId!==b}else L!==-1&&(x=!0);if(x||L!==-1&&R===k-1){const I=(E=this._oscLinkService.getLinkData(b))==null?void 0:E.uri;if(I){const T={start:{x:L+1,y:g},end:{x:R+(x||R!==k-1?0:1),y:g}};let A=!1;if(!(d!=null&&d.allowNonHttpProtocols))try{const O=new URL(I);["http:","https:"].includes(O.protocol)||(A=!0)}catch{A=!0}A||l.push({text:I,range:T,activate:(O,U)=>d?d.activate(O,U,T):S(0,U),hover:(O,U)=>{var $;return($=d==null?void 0:d.hover)==null?void 0:$.call(d,O,U,T)},leave:(O,U)=>{var $;return($=d==null?void 0:d.leave)==null?void 0:$.call(d,O,U,T)}})}x=!1,w.hasExtendedAttrs()&&w.extended.urlId?(L=R,b=w.extended.urlId):(L=-1,b=-1)}}a(l)}};function S(g,a){if(confirm(`Do you want to navigate to ${a}?
45
45
 
46
- WARNING: This link could potentially be dangerous`)){const u=window.open();if(u){try{u.opener=null}catch{}u.location.href=a}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=y=f([v(0,p.IBufferService),v(1,p.IOptionsService),v(2,p.IOscLinkService)],y)},6193:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(o){return this._refreshCallbacks.push(o),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(o,f,v){this._rowCount=v,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const o of this._refreshCallbacks)o(0);this._refreshCallbacks=[]}}},3236:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;const f=o(3614),v=o(3656),h=o(3551),p=o(9042),y=o(3730),S=o(1680),g=o(3107),a=o(5744),u=o(2950),l=o(1296),d=o(428),w=o(4269),k=o(5114),b=o(8934),L=o(3230),x=o(9312),E=o(4725),R=o(6731),I=o(8055),T=o(8969),A=o(8460),P=o(844),U=o(6114),$=o(8437),G=o(2584),j=o(7399),C=o(5941),M=o(9074),B=o(2585),H=o(5435),Y=o(4567),V=o(779);class te extends T.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(z={}){super(z),this.browser=U,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new P.MutableDisposable),this._onCursorMove=this.register(new A.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new A.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new A.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new A.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new A.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new A.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new A.EventEmitter),this._onBlur=this.register(new A.EventEmitter),this._onA11yCharEmitter=this.register(new A.EventEmitter),this._onA11yTabEmitter=this.register(new A.EventEmitter),this._onWillOpen=this.register(new A.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(M.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(V.LinkProviderService),this._instantiationService.setService(E.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(y.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((O,J)=>this.refresh(O,J))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(O=>this._reportWindowsOptions(O))),this.register(this._inputHandler.onColor(O=>this._handleColorEvent(O))),this.register((0,A.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,A.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,A.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,A.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(O=>this._afterResize(O.cols,O.rows))),this.register((0,P.toDisposable)(()=>{var O,J;this._customKeyEventHandler=void 0,(J=(O=this.element)==null?void 0:O.parentNode)==null||J.removeChild(this.element)}))}_handleColorEvent(z){if(this._themeService)for(const O of z){let J,K="";switch(O.index){case 256:J="foreground",K="10";break;case 257:J="background",K="11";break;case 258:J="cursor",K="12";break;default:J="ansi",K="4;"+O.index}switch(O.type){case 0:const re=I.color.toColorRGB(J==="ansi"?this._themeService.colors.ansi[O.index]:this._themeService.colors[J]);this.coreService.triggerDataEvent(`${G.C0.ESC}]${K};${(0,C.toRgbString)(re)}${G.C1_ESCAPED.ST}`);break;case 1:if(J==="ansi")this._themeService.modifyColors(ne=>ne.ansi[O.index]=I.channels.toColor(...O.color));else{const ne=J;this._themeService.modifyColors(be=>be[ne]=I.channels.toColor(...O.color))}break;case 2:this._themeService.restoreColor(O.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(z){z?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Y.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(z){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var z;return(z=this.textarea)==null?void 0:z.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const z=this.buffer.ybase+this.buffer.y,O=this.buffer.lines.get(z);if(!O)return;const J=Math.min(this.buffer.x,this.cols-1),K=this._renderService.dimensions.css.cell.height,re=O.getWidth(J),ne=this._renderService.dimensions.css.cell.width*re,be=this.buffer.y*this._renderService.dimensions.css.cell.height,ge=J*this._renderService.dimensions.css.cell.width;this.textarea.style.left=ge+"px",this.textarea.style.top=be+"px",this.textarea.style.width=ne+"px",this.textarea.style.height=K+"px",this.textarea.style.lineHeight=K+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,v.addDisposableDomListener)(this.element,"copy",O=>{this.hasSelection()&&(0,f.copyHandler)(O,this._selectionService)}));const z=O=>(0,f.handlePasteEvent)(O,this.textarea,this.coreService,this.optionsService);this.register((0,v.addDisposableDomListener)(this.textarea,"paste",z)),this.register((0,v.addDisposableDomListener)(this.element,"paste",z)),U.isFirefox?this.register((0,v.addDisposableDomListener)(this.element,"mousedown",O=>{O.button===2&&(0,f.rightClickHandler)(O,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,v.addDisposableDomListener)(this.element,"contextmenu",O=>{(0,f.rightClickHandler)(O,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),U.isLinux&&this.register((0,v.addDisposableDomListener)(this.element,"auxclick",O=>{O.button===1&&(0,f.moveTextAreaUnderMouseCursor)(O,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,v.addDisposableDomListener)(this.textarea,"keyup",z=>this._keyUp(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"keydown",z=>this._keyDown(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"keypress",z=>this._keyPress(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionupdate",z=>this._compositionHelper.compositionupdate(z))),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,v.addDisposableDomListener)(this.textarea,"input",z=>this._inputEvent(z),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(z){var J;if(!z)throw new Error("Terminal requires a parent element.");if(z.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((J=this.element)==null?void 0:J.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=z.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),z.appendChild(this.element);const O=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),O.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,v.addDisposableDomListener)(this.screenElement,"mousemove",K=>this.updateCursorStyle(K))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),O.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),U.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(k.CoreBrowserService,this.textarea,z.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(E.ICoreBrowserService,this._coreBrowserService),this.register((0,v.addDisposableDomListener)(this.textarea,"focus",K=>this._handleTextAreaFocus(K))),this.register((0,v.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(d.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(E.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(R.ThemeService),this._instantiationService.setService(E.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(w.CharacterJoinerService),this._instantiationService.setService(E.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(L.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(E.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(K=>this._onRender.fire(K))),this.onResize(K=>this._renderService.resize(K.cols,K.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(u.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(E.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(h.Linkifier,this.screenElement)),this.element.appendChild(O);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(K=>this.scrollLines(K.amount,K.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),this.register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this.register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this.register(this.onBlur(()=>this._renderService.handleBlur())),this.register(this.onFocus(()=>this._renderService.handleFocus())),this.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(x.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(E.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(K=>this.scrollLines(K.amount,K.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(K=>this._renderService.handleSelectionChanged(K.start,K.end,K.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(K=>{this.textarea.value=K,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(K=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,v.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(g.BufferDecorationRenderer,this.screenElement)),this.register((0,v.addDisposableDomListener)(this.element,"mousedown",K=>this._selectionService.handleMouseDown(K))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Y.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",K=>this._handleScreenReaderModeOptionChange(K))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",K=>{!this._overviewRulerRenderer&&K&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(l.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const z=this,O=this.element;function J(ne){const be=z._mouseService.getMouseReportCoords(ne,z.screenElement);if(!be)return!1;let ge,ke;switch(ne.overrideType||ne.type){case"mousemove":ke=32,ne.buttons===void 0?(ge=3,ne.button!==void 0&&(ge=ne.button<3?ne.button:3)):ge=1&ne.buttons?0:4&ne.buttons?1:2&ne.buttons?2:3;break;case"mouseup":ke=0,ge=ne.button<3?ne.button:3;break;case"mousedown":ke=1,ge=ne.button<3?ne.button:3;break;case"wheel":if(z._customWheelEventHandler&&z._customWheelEventHandler(ne)===!1||z.viewport.getLinesScrolled(ne)===0)return!1;ke=ne.deltaY<0?0:1,ge=4;break;default:return!1}return!(ke===void 0||ge===void 0||ge>4)&&z.coreMouseService.triggerMouseEvent({col:be.col,row:be.row,x:be.x,y:be.y,button:ge,action:ke,ctrl:ne.ctrlKey,alt:ne.altKey,shift:ne.shiftKey})}const K={mouseup:null,wheel:null,mousedrag:null,mousemove:null},re={mouseup:ne=>(J(ne),ne.buttons||(this._document.removeEventListener("mouseup",K.mouseup),K.mousedrag&&this._document.removeEventListener("mousemove",K.mousedrag)),this.cancel(ne)),wheel:ne=>(J(ne),this.cancel(ne,!0)),mousedrag:ne=>{ne.buttons&&J(ne)},mousemove:ne=>{ne.buttons||J(ne)}};this.register(this.coreMouseService.onProtocolChange(ne=>{ne?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(ne)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&ne?K.mousemove||(O.addEventListener("mousemove",re.mousemove),K.mousemove=re.mousemove):(O.removeEventListener("mousemove",K.mousemove),K.mousemove=null),16&ne?K.wheel||(O.addEventListener("wheel",re.wheel,{passive:!1}),K.wheel=re.wheel):(O.removeEventListener("wheel",K.wheel),K.wheel=null),2&ne?K.mouseup||(K.mouseup=re.mouseup):(this._document.removeEventListener("mouseup",K.mouseup),K.mouseup=null),4&ne?K.mousedrag||(K.mousedrag=re.mousedrag):(this._document.removeEventListener("mousemove",K.mousedrag),K.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,v.addDisposableDomListener)(O,"mousedown",ne=>{if(ne.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(ne))return J(ne),K.mouseup&&this._document.addEventListener("mouseup",K.mouseup),K.mousedrag&&this._document.addEventListener("mousemove",K.mousedrag),this.cancel(ne)})),this.register((0,v.addDisposableDomListener)(O,"wheel",ne=>{if(!K.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(ne)===!1)return!1;if(!this.buffer.hasScrollback){const be=this.viewport.getLinesScrolled(ne);if(be===0)return;const ge=G.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(ne.deltaY<0?"A":"B");let ke="";for(let Me=0;Me<Math.abs(be);Me++)ke+=ge;return this.coreService.triggerDataEvent(ke,!0),this.cancel(ne,!0)}return this.viewport.handleWheel(ne)?this.cancel(ne):void 0}},{passive:!1})),this.register((0,v.addDisposableDomListener)(O,"touchstart",ne=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(ne),this.cancel(ne)},{passive:!0})),this.register((0,v.addDisposableDomListener)(O,"touchmove",ne=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(ne)?void 0:this.cancel(ne)},{passive:!1}))}refresh(z,O){var J;(J=this._renderService)==null||J.refreshRows(z,O)}updateCursorStyle(z){var O;(O=this._selectionService)!=null&&O.shouldColumnSelect(z)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(z,O,J=0){var K;J===1?(super.scrollLines(z,O,J),this.refresh(0,this.rows-1)):(K=this.viewport)==null||K.scrollLines(z)}paste(z){(0,f.paste)(z,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(z){this._customKeyEventHandler=z}attachCustomWheelEventHandler(z){this._customWheelEventHandler=z}registerLinkProvider(z){return this._linkProviderService.registerLinkProvider(z)}registerCharacterJoiner(z){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const O=this._characterJoinerService.register(z);return this.refresh(0,this.rows-1),O}deregisterCharacterJoiner(z){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(z)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(z){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+z)}registerDecoration(z){return this._decorationService.registerDecoration(z)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(z,O,J){this._selectionService.setSelection(z,O,J)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var z;(z=this._selectionService)==null||z.clearSelection()}selectAll(){var z;(z=this._selectionService)==null||z.selectAll()}selectLines(z,O){var J;(J=this._selectionService)==null||J.selectLines(z,O)}_keyDown(z){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1)return!1;const O=this.browser.isMac&&this.options.macOptionIsMeta&&z.altKey;if(!O&&!this._compositionHelper.keydown(z))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;O||z.key!=="Dead"&&z.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const J=(0,j.evaluateKeyboardEvent)(z,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(z),J.type===3||J.type===2){const K=this.rows-1;return this.scrollLines(J.type===2?-K:K),this.cancel(z,!0)}return J.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,z)||(J.cancel&&this.cancel(z,!0),!J.key||!!(z.key&&!z.ctrlKey&&!z.altKey&&!z.metaKey&&z.key.length===1&&z.key.charCodeAt(0)>=65&&z.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(J.key!==G.C0.ETX&&J.key!==G.C0.CR||(this.textarea.value=""),this._onKey.fire({key:J.key,domEvent:z}),this._showCursor(),this.coreService.triggerDataEvent(J.key,!0),!this.optionsService.rawOptions.screenReaderMode||z.altKey||z.ctrlKey?this.cancel(z,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(z,O){const J=z.isMac&&!this.options.macOptionIsMeta&&O.altKey&&!O.ctrlKey&&!O.metaKey||z.isWindows&&O.altKey&&O.ctrlKey&&!O.metaKey||z.isWindows&&O.getModifierState("AltGraph");return O.type==="keypress"?J:J&&(!O.keyCode||O.keyCode>47)}_keyUp(z){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1||(function(O){return O.keyCode===16||O.keyCode===17||O.keyCode===18}(z)||this.focus(),this.updateCursorStyle(z),this._keyPressHandled=!1)}_keyPress(z){let O;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1)return!1;if(this.cancel(z),z.charCode)O=z.charCode;else if(z.which===null||z.which===void 0)O=z.keyCode;else{if(z.which===0||z.charCode===0)return!1;O=z.which}return!(!O||(z.altKey||z.ctrlKey||z.metaKey)&&!this._isThirdLevelShift(this.browser,z)||(O=String.fromCharCode(O),this._onKey.fire({key:O,domEvent:z}),this._showCursor(),this.coreService.triggerDataEvent(O,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(z){if(z.data&&z.inputType==="insertText"&&(!z.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const O=z.data;return this.coreService.triggerDataEvent(O,!0),this.cancel(z),!0}return!1}resize(z,O){z!==this.cols||O!==this.rows?super.resize(z,O):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(z,O){var J,K;(J=this._charSizeService)==null||J.measure(),(K=this.viewport)==null||K.syncScrollArea(!0)}clear(){var z;if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let O=1;O<this.rows;O++)this.buffer.lines.push(this.buffer.getBlankLine($.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(z=this.viewport)==null||z.reset(),this.refresh(0,this.rows-1)}}reset(){var O,J;this.options.rows=this.rows,this.options.cols=this.cols;const z=this._customKeyEventHandler;this._setup(),super.reset(),(O=this._selectionService)==null||O.reset(),this._decorationService.reset(),(J=this.viewport)==null||J.reset(),this._customKeyEventHandler=z,this.refresh(0,this.rows-1)}clearTextureAtlas(){var z;(z=this._renderService)==null||z.clearTextureAtlas()}_reportFocus(){var z;(z=this.element)!=null&&z.classList.contains("focus")?this.coreService.triggerDataEvent(G.C0.ESC+"[I"):this.coreService.triggerDataEvent(G.C0.ESC+"[O")}_reportWindowsOptions(z){if(this._renderService)switch(z){case H.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const O=this._renderService.dimensions.css.canvas.width.toFixed(0),J=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[4;${J};${O}t`);break;case H.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const K=this._renderService.dimensions.css.cell.width.toFixed(0),re=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[6;${re};${K}t`)}}cancel(z,O){if(this.options.cancelEvents||O)return z.preventDefault(),z.stopPropagation(),!1}}r.Terminal=te},9924:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TimeBasedDebouncer=void 0,r.TimeBasedDebouncer=class{constructor(o,f=1e3){this._renderCallback=o,this._debounceThresholdMS=f,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(o,f,v){this._rowCount=v,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f;const h=Date.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){const p=h-this._lastRefreshMs,y=this._debounceThresholdMS-p;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},y)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f)}}},1680:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Viewport=void 0;const h=o(3656),p=o(4725),y=o(8460),S=o(844),g=o(2585);let a=r.Viewport=class extends S.Disposable{constructor(u,l,d,w,k,b,L,x){super(),this._viewportElement=u,this._scrollArea=l,this._bufferService=d,this._optionsService=w,this._charSizeService=k,this._renderService=b,this._coreBrowserService=L,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new y.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,h.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(E=>this._activeBuffer=E.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(E=>this._renderDimensions=E)),this._handleThemeChange(x.colors),this.register(x.onChangeColors(E=>this._handleThemeChange(E))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(u){this._viewportElement.style.backgroundColor=u.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(u){if(u)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const l=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==l&&(this._lastRecordedBufferHeight=l,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const u=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==u&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=u),this._refreshAnimationFrame=null}syncScrollArea(u=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(u);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(u)}_handleScroll(u){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const l=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:l,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const u=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(u*(this._smoothScrollState.target-this._smoothScrollState.origin)),u<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(u,l){const d=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(l<0&&this._viewportElement.scrollTop!==0||l>0&&d<this._lastRecordedBufferHeight)||(u.cancelable&&u.preventDefault(),!1)}handleWheel(u){const l=this._getPixelsScrolled(u);return l!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+l:this._smoothScrollState.target+=l,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=l,this._bubbleScroll(u,l))}scrollLines(u){if(u!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const l=u*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+l,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:u,suppressScrollEvent:!1})}_getPixelsScrolled(u){if(u.deltaY===0||u.shiftKey)return 0;let l=this._applyScrollModifier(u.deltaY,u);return u.deltaMode===WheelEvent.DOM_DELTA_LINE?l*=this._currentRowHeight:u.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._currentRowHeight*this._bufferService.rows),l}getBufferElements(u,l){var x;let d,w="";const k=[],b=l??this._bufferService.buffer.lines.length,L=this._bufferService.buffer.lines;for(let E=u;E<b;E++){const R=L.get(E);if(!R)continue;const I=(x=L.get(E+1))==null?void 0:x.isWrapped;if(w+=R.translateToString(!I),!I||E===L.length-1){const T=document.createElement("div");T.textContent=w,k.push(T),w.length>0&&(d=T),w=""}}return{bufferElements:k,cursorElement:d}}getLinesScrolled(u){if(u.deltaY===0||u.shiftKey)return 0;let l=this._applyScrollModifier(u.deltaY,u);return u.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(l/=this._currentRowHeight+0,this._wheelPartialScroll+=l,l=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):u.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._bufferService.rows),l}_applyScrollModifier(u,l){const d=this._optionsService.rawOptions.fastScrollModifier;return d==="alt"&&l.altKey||d==="ctrl"&&l.ctrlKey||d==="shift"&&l.shiftKey?u*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:u*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(u){this._lastTouchY=u.touches[0].pageY}handleTouchMove(u){const l=this._lastTouchY-u.touches[0].pageY;return this._lastTouchY=u.touches[0].pageY,l!==0&&(this._viewportElement.scrollTop+=l,this._bubbleScroll(u,l))}};r.Viewport=a=f([v(2,g.IBufferService),v(3,g.IOptionsService),v(4,p.ICharSizeService),v(5,p.IRenderService),v(6,p.ICoreBrowserService),v(7,p.IThemeService)],a)},3107:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferDecorationRenderer=void 0;const h=o(4725),p=o(844),y=o(2585);let S=r.BufferDecorationRenderer=class extends p.Disposable{constructor(g,a,u,l,d){super(),this._screenElement=g,this._bufferService=a,this._coreBrowserService=u,this._decorationService=l,this._renderService=d,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this.register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this.register(this._decorationService.onDecorationRemoved(w=>this._removeDecoration(w))),this.register((0,p.toDisposable)(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(const g of this._decorationService.decorations)this._renderDecoration(g);this._dimensionsChanged=!1}_renderDecoration(g){this._refreshStyle(g),this._dimensionsChanged&&this._refreshXPosition(g)}_createElement(g){var l;const a=this._coreBrowserService.mainDocument.createElement("div");a.classList.add("xterm-decoration"),a.classList.toggle("xterm-decoration-top-layer",((l=g==null?void 0:g.options)==null?void 0:l.layer)==="top"),a.style.width=`${Math.round((g.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=(g.options.height||1)*this._renderService.dimensions.css.cell.height+"px",a.style.top=(g.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const u=g.options.x??0;return u&&u>this._bufferService.cols&&(a.style.display="none"),this._refreshXPosition(g,a),a}_refreshStyle(g){const a=g.marker.line-this._bufferService.buffers.active.ydisp;if(a<0||a>=this._bufferService.rows)g.element&&(g.element.style.display="none",g.onRenderEmitter.fire(g.element));else{let u=this._decorationElements.get(g);u||(u=this._createElement(g),g.element=u,this._decorationElements.set(g,u),this._container.appendChild(u),g.onDispose(()=>{this._decorationElements.delete(g),u.remove()})),u.style.top=a*this._renderService.dimensions.css.cell.height+"px",u.style.display=this._altBufferIsActive?"none":"block",g.onRenderEmitter.fire(u)}}_refreshXPosition(g,a=g.element){if(!a)return;const u=g.options.x??0;(g.options.anchor||"left")==="right"?a.style.right=u?u*this._renderService.dimensions.css.cell.width+"px":"":a.style.left=u?u*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(g){var a;(a=this._decorationElements.get(g))==null||a.remove(),this._decorationElements.delete(g),g.dispose()}};r.BufferDecorationRenderer=S=f([v(1,y.IBufferService),v(2,h.ICoreBrowserService),v(3,y.IDecorationService),v(4,h.IRenderService)],S)},5871:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorZoneStore=void 0,r.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(o){if(o.options.overviewRulerOptions){for(const f of this._zones)if(f.color===o.options.overviewRulerOptions.color&&f.position===o.options.overviewRulerOptions.position){if(this._lineIntersectsZone(f,o.marker.line))return;if(this._lineAdjacentToZone(f,o.marker.line,o.options.overviewRulerOptions.position))return void this._addLineToZone(f,o.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=o.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=o.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=o.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=o.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:o.options.overviewRulerOptions.color,position:o.options.overviewRulerOptions.position,startBufferLine:o.marker.line,endBufferLine:o.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(o){this._linePadding=o}_lineIntersectsZone(o,f){return f>=o.startBufferLine&&f<=o.endBufferLine}_lineAdjacentToZone(o,f,v){return f>=o.startBufferLine-this._linePadding[v||"full"]&&f<=o.endBufferLine+this._linePadding[v||"full"]}_addLineToZone(o,f){o.startBufferLine=Math.min(o.startBufferLine,f),o.endBufferLine=Math.max(o.endBufferLine,f)}}},5744:function(m,r,o){var f=this&&this.__decorate||function(d,w,k,b){var L,x=arguments.length,E=x<3?w:b===null?b=Object.getOwnPropertyDescriptor(w,k):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(d,w,k,b);else for(var R=d.length-1;R>=0;R--)(L=d[R])&&(E=(x<3?L(E):x>3?L(w,k,E):L(w,k))||E);return x>3&&E&&Object.defineProperty(w,k,E),E},v=this&&this.__param||function(d,w){return function(k,b){w(k,b,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OverviewRulerRenderer=void 0;const h=o(5871),p=o(4725),y=o(844),S=o(2585),g={full:0,left:0,center:0,right:0},a={full:0,left:0,center:0,right:0},u={full:0,left:0,center:0,right:0};let l=r.OverviewRulerRenderer=class extends y.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(d,w,k,b,L,x,E){var I;super(),this._viewportElement=d,this._screenElement=w,this._bufferService=k,this._decorationService=b,this._renderService=L,this._optionsService=x,this._coreBrowserService=E,this._colorZoneStore=new h.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(I=this._viewportElement.parentElement)==null||I.insertBefore(this._canvas,this._viewportElement);const R=this._canvas.getContext("2d");if(!R)throw new Error("Ctx cannot be null");this._ctx=R,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,y.toDisposable)(()=>{var T;(T=this._canvas)==null||T.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this.register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){const d=Math.floor(this._canvas.width/3),w=Math.ceil(this._canvas.width/3);a.full=this._canvas.width,a.left=d,a.center=w,a.right=d,this._refreshDrawHeightConstants(),u.full=0,u.left=0,u.center=a.left,u.right=a.left+a.center}_refreshDrawHeightConstants(){g.full=Math.round(2*this._coreBrowserService.dpr);const d=this._canvas.height/this._bufferService.buffer.lines.length,w=Math.round(Math.max(Math.min(d,12),6)*this._coreBrowserService.dpr);g.left=w,g.center=w,g.right=w}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const w of this._decorationService.decorations)this._colorZoneStore.addDecoration(w);this._ctx.lineWidth=1;const d=this._colorZoneStore.zones;for(const w of d)w.position!=="full"&&this._renderColorZone(w);for(const w of d)w.position==="full"&&this._renderColorZone(w);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(d){this._ctx.fillStyle=d.color,this._ctx.fillRect(u[d.position||"full"],Math.round((this._canvas.height-1)*(d.startBufferLine/this._bufferService.buffers.active.lines.length)-g[d.position||"full"]/2),a[d.position||"full"],Math.round((this._canvas.height-1)*((d.endBufferLine-d.startBufferLine)/this._bufferService.buffers.active.lines.length)+g[d.position||"full"]))}_queueRefresh(d,w){this._shouldUpdateDimensions=d||this._shouldUpdateDimensions,this._shouldUpdateAnchor=w||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};r.OverviewRulerRenderer=l=f([v(2,S.IBufferService),v(3,S.IDecorationService),v(4,p.IRenderService),v(5,S.IOptionsService),v(6,p.ICoreBrowserService)],l)},2950:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CompositionHelper=void 0;const h=o(4725),p=o(2585),y=o(2584);let S=r.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(g,a,u,l,d,w){this._textarea=g,this._compositionView=a,this._bufferService=u,this._optionsService=l,this._coreService=d,this._renderService=w,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(g){this._compositionView.textContent=g.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(g){if(this._isComposing||this._isSendingComposition){if(g.keyCode===229||g.keyCode===16||g.keyCode===17||g.keyCode===18)return!1;this._finalizeComposition(!1)}return g.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(g){if(this._compositionView.classList.remove("active"),this._isComposing=!1,g){const a={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let u;this._isSendingComposition=!1,a.start+=this._dataAlreadySent.length,u=this._isComposing?this._textarea.value.substring(a.start,a.end):this._textarea.value.substring(a.start),u.length>0&&this._coreService.triggerDataEvent(u,!0)}},0)}else{this._isSendingComposition=!1;const a=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(a,!0)}}_handleAnyTextareaChanges(){const g=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const a=this._textarea.value,u=a.replace(g,"");this._dataAlreadySent=u,a.length>g.length?this._coreService.triggerDataEvent(u,!0):a.length<g.length?this._coreService.triggerDataEvent(`${y.C0.DEL}`,!0):a.length===g.length&&a!==g&&this._coreService.triggerDataEvent(a,!0)}},0)}updateCompositionElements(g){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const a=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),u=this._renderService.dimensions.css.cell.height,l=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,d=a*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=d+"px",this._compositionView.style.top=l+"px",this._compositionView.style.height=u+"px",this._compositionView.style.lineHeight=u+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const w=this._compositionView.getBoundingClientRect();this._textarea.style.left=d+"px",this._textarea.style.top=l+"px",this._textarea.style.width=Math.max(w.width,1)+"px",this._textarea.style.height=Math.max(w.height,1)+"px",this._textarea.style.lineHeight=w.height+"px"}g||setTimeout(()=>this.updateCompositionElements(!0),0)}}};r.CompositionHelper=S=f([v(2,p.IBufferService),v(3,p.IOptionsService),v(4,p.ICoreService),v(5,h.IRenderService)],S)},9806:(m,r)=>{function o(f,v,h){const p=h.getBoundingClientRect(),y=f.getComputedStyle(h),S=parseInt(y.getPropertyValue("padding-left")),g=parseInt(y.getPropertyValue("padding-top"));return[v.clientX-p.left-S,v.clientY-p.top-g]}Object.defineProperty(r,"__esModule",{value:!0}),r.getCoords=r.getCoordsRelativeToElement=void 0,r.getCoordsRelativeToElement=o,r.getCoords=function(f,v,h,p,y,S,g,a,u){if(!S)return;const l=o(f,v,h);return l?(l[0]=Math.ceil((l[0]+(u?g/2:0))/g),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),p+(u?1:0)),l[1]=Math.min(Math.max(l[1],1),y),l):void 0}},9504:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.moveToCellSequence=void 0;const f=o(2584);function v(a,u,l,d){const w=a-h(a,l),k=u-h(u,l),b=Math.abs(w-k)-function(L,x,E){let R=0;const I=L-h(L,E),T=x-h(x,E);for(let A=0;A<Math.abs(I-T);A++){const P=p(L,x)==="A"?-1:1,U=E.buffer.lines.get(I+P*A);U!=null&&U.isWrapped&&R++}return R}(a,u,l);return g(b,S(p(a,u),d))}function h(a,u){let l=0,d=u.buffer.lines.get(a),w=d==null?void 0:d.isWrapped;for(;w&&a>=0&&a<u.rows;)l++,d=u.buffer.lines.get(--a),w=d==null?void 0:d.isWrapped;return l}function p(a,u){return a>u?"A":"B"}function y(a,u,l,d,w,k){let b=a,L=u,x="";for(;b!==l||L!==d;)b+=w?1:-1,w&&b>k.cols-1?(x+=k.buffer.translateBufferLineToString(L,!1,a,b),b=0,a=0,L++):!w&&b<0&&(x+=k.buffer.translateBufferLineToString(L,!1,0,a+1),b=k.cols-1,a=b,L--);return x+k.buffer.translateBufferLineToString(L,!1,a,b)}function S(a,u){const l=u?"O":"[";return f.C0.ESC+l+a}function g(a,u){a=Math.floor(a);let l="";for(let d=0;d<a;d++)l+=u;return l}r.moveToCellSequence=function(a,u,l,d){const w=l.buffer.x,k=l.buffer.y;if(!l.buffer.hasScrollback)return function(x,E,R,I,T,A){return v(E,I,T,A).length===0?"":g(y(x,E,x,E-h(E,T),!1,T).length,S("D",A))}(w,k,0,u,l,d)+v(k,u,l,d)+function(x,E,R,I,T,A){let P;P=v(E,I,T,A).length>0?I-h(I,T):E;const U=I,$=function(G,j,C,M,B,H){let Y;return Y=v(C,M,B,H).length>0?M-h(M,B):j,G<C&&Y<=M||G>=C&&Y<M?"C":"D"}(x,E,R,I,T,A);return g(y(x,P,R,U,$==="C",T).length,S($,A))}(w,k,a,u,l,d);let b;if(k===u)return b=w>a?"D":"C",g(Math.abs(w-a),S(b,d));b=k>u?"D":"C";const L=Math.abs(k-u);return g(function(x,E){return E.cols-x}(k>u?a:w,l)+(L-1)*l.cols+1+((k>u?w:a)-1),S(b,d))}},1296:function(m,r,o){var f=this&&this.__decorate||function(A,P,U,$){var G,j=arguments.length,C=j<3?P:$===null?$=Object.getOwnPropertyDescriptor(P,U):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(A,P,U,$);else for(var M=A.length-1;M>=0;M--)(G=A[M])&&(C=(j<3?G(C):j>3?G(P,U,C):G(P,U))||C);return j>3&&C&&Object.defineProperty(P,U,C),C},v=this&&this.__param||function(A,P){return function(U,$){P(U,$,A)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRenderer=void 0;const h=o(3787),p=o(2550),y=o(2223),S=o(6171),g=o(6052),a=o(4725),u=o(8055),l=o(8460),d=o(844),w=o(2585),k="xterm-dom-renderer-owner-",b="xterm-rows",L="xterm-fg-",x="xterm-bg-",E="xterm-focus",R="xterm-selection";let I=1,T=r.DomRenderer=class extends d.Disposable{constructor(A,P,U,$,G,j,C,M,B,H,Y,V,te){super(),this._terminal=A,this._document=P,this._element=U,this._screenElement=$,this._viewportElement=G,this._helperContainer=j,this._linkifier2=C,this._charSizeService=B,this._optionsService=H,this._bufferService=Y,this._coreBrowserService=V,this._themeService=te,this._terminalClass=I++,this._rowElements=[],this._selectionRenderModel=(0,g.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new l.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(b),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(R),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(Q=>this._injectCss(Q))),this._injectCss(this._themeService.colors),this._rowFactory=M.createInstance(h.DomRendererRowFactory,document),this._element.classList.add(k+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(Q=>this._handleLinkHover(Q))),this.register(this._linkifier2.onHideLinkUnderline(Q=>this._handleLinkLeave(Q))),this.register((0,d.toDisposable)(()=>{this._element.classList.remove(k+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new p.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const A=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*A,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*A),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/A),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/A),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const U of this._rowElements)U.style.width=`${this.dimensions.css.canvas.width}px`,U.style.height=`${this.dimensions.css.cell.height}px`,U.style.lineHeight=`${this.dimensions.css.cell.height}px`,U.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const P=`${this._terminalSelector} .${b} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=P,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(A){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let P=`${this._terminalSelector} .${b} { color: ${A.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;P+=`${this._terminalSelector} .${b} .xterm-dim { color: ${u.color.multiplyOpacity(A.foreground,.5).css};}`,P+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const U=`blink_underline_${this._terminalClass}`,$=`blink_bar_${this._terminalClass}`,G=`blink_block_${this._terminalClass}`;P+=`@keyframes ${U} { 50% { border-bottom-style: hidden; }}`,P+=`@keyframes ${$} { 50% { box-shadow: none; }}`,P+=`@keyframes ${G} { 0% { background-color: ${A.cursor.css}; color: ${A.cursorAccent.css}; } 50% { background-color: inherit; color: ${A.cursor.css}; }}`,P+=`${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${U} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${$} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${G} 1s step-end infinite;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block { background-color: ${A.cursor.css}; color: ${A.cursorAccent.css};}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${A.cursor.css} !important; color: ${A.cursorAccent.css} !important;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${A.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${A.cursor.css} inset;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${A.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,P+=`${this._terminalSelector} .${R} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${R} div { position: absolute; background-color: ${A.selectionBackgroundOpaque.css};}${this._terminalSelector} .${R} div { position: absolute; background-color: ${A.selectionInactiveBackgroundOpaque.css};}`;for(const[j,C]of A.ansi.entries())P+=`${this._terminalSelector} .${L}${j} { color: ${C.css}; }${this._terminalSelector} .${L}${j}.xterm-dim { color: ${u.color.multiplyOpacity(C,.5).css}; }${this._terminalSelector} .${x}${j} { background-color: ${C.css}; }`;P+=`${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR} { color: ${u.color.opaque(A.background).css}; }${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${u.color.multiplyOpacity(u.color.opaque(A.background),.5).css}; }${this._terminalSelector} .${x}${y.INVERTED_DEFAULT_COLOR} { background-color: ${A.foreground.css}; }`,this._themeStyleElement.textContent=P}_setDefaultSpacing(){const A=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${A}px`,this._rowFactory.defaultSpacing=A}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(A,P){for(let U=this._rowElements.length;U<=P;U++){const $=this._document.createElement("div");this._rowContainer.appendChild($),this._rowElements.push($)}for(;this._rowElements.length>P;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(A,P){this._refreshRowElements(A,P),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(E),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(E),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(A,P,U){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(A,P,U),this.renderRows(0,this._bufferService.rows-1),!A||!P)return;this._selectionRenderModel.update(this._terminal,A,P,U);const $=this._selectionRenderModel.viewportStartRow,G=this._selectionRenderModel.viewportEndRow,j=this._selectionRenderModel.viewportCappedStartRow,C=this._selectionRenderModel.viewportCappedEndRow;if(j>=this._bufferService.rows||C<0)return;const M=this._document.createDocumentFragment();if(U){const B=A[0]>P[0];M.appendChild(this._createSelectionElement(j,B?P[0]:A[0],B?A[0]:P[0],C-j+1))}else{const B=$===j?A[0]:0,H=j===G?P[0]:this._bufferService.cols;M.appendChild(this._createSelectionElement(j,B,H));const Y=C-j-1;if(M.appendChild(this._createSelectionElement(j+1,0,this._bufferService.cols,Y)),j!==C){const V=G===C?P[0]:this._bufferService.cols;M.appendChild(this._createSelectionElement(C,0,V))}}this._selectionContainer.appendChild(M)}_createSelectionElement(A,P,U,$=1){const G=this._document.createElement("div"),j=P*this.dimensions.css.cell.width;let C=this.dimensions.css.cell.width*(U-P);return j+C>this.dimensions.css.canvas.width&&(C=this.dimensions.css.canvas.width-j),G.style.height=$*this.dimensions.css.cell.height+"px",G.style.top=A*this.dimensions.css.cell.height+"px",G.style.left=`${j}px`,G.style.width=`${C}px`,G}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const A of this._rowElements)A.replaceChildren()}renderRows(A,P){const U=this._bufferService.buffer,$=U.ybase+U.y,G=Math.min(U.x,this._bufferService.cols-1),j=this._optionsService.rawOptions.cursorBlink,C=this._optionsService.rawOptions.cursorStyle,M=this._optionsService.rawOptions.cursorInactiveStyle;for(let B=A;B<=P;B++){const H=B+U.ydisp,Y=this._rowElements[B],V=U.lines.get(H);if(!Y||!V)break;Y.replaceChildren(...this._rowFactory.createRow(V,H,H===$,C,M,G,j,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${k}${this._terminalClass}`}_handleLinkHover(A){this._setCellUnderline(A.x1,A.x2,A.y1,A.y2,A.cols,!0)}_handleLinkLeave(A){this._setCellUnderline(A.x1,A.x2,A.y1,A.y2,A.cols,!1)}_setCellUnderline(A,P,U,$,G,j){U<0&&(A=0),$<0&&(P=0);const C=this._bufferService.rows-1;U=Math.max(Math.min(U,C),0),$=Math.max(Math.min($,C),0),G=Math.min(G,this._bufferService.cols);const M=this._bufferService.buffer,B=M.ybase+M.y,H=Math.min(M.x,G-1),Y=this._optionsService.rawOptions.cursorBlink,V=this._optionsService.rawOptions.cursorStyle,te=this._optionsService.rawOptions.cursorInactiveStyle;for(let Q=U;Q<=$;++Q){const z=Q+M.ydisp,O=this._rowElements[Q],J=M.lines.get(z);if(!O||!J)break;O.replaceChildren(...this._rowFactory.createRow(J,z,z===B,V,te,H,Y,this.dimensions.css.cell.width,this._widthCache,j?Q===U?A:0:-1,j?(Q===$?P:G)-1:-1))}}};r.DomRenderer=T=f([v(7,w.IInstantiationService),v(8,a.ICharSizeService),v(9,w.IOptionsService),v(10,w.IBufferService),v(11,a.ICoreBrowserService),v(12,a.IThemeService)],T)},3787:function(m,r,o){var f=this&&this.__decorate||function(b,L,x,E){var R,I=arguments.length,T=I<3?L:E===null?E=Object.getOwnPropertyDescriptor(L,x):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(b,L,x,E);else for(var A=b.length-1;A>=0;A--)(R=b[A])&&(T=(I<3?R(T):I>3?R(L,x,T):R(L,x))||T);return I>3&&T&&Object.defineProperty(L,x,T),T},v=this&&this.__param||function(b,L){return function(x,E){L(x,E,b)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRendererRowFactory=void 0;const h=o(2223),p=o(643),y=o(511),S=o(2585),g=o(8055),a=o(4725),u=o(4269),l=o(6171),d=o(3734);let w=r.DomRendererRowFactory=class{constructor(b,L,x,E,R,I,T){this._document=b,this._characterJoinerService=L,this._optionsService=x,this._coreBrowserService=E,this._coreService=R,this._decorationService=I,this._themeService=T,this._workCell=new y.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(b,L,x){this._selectionStart=b,this._selectionEnd=L,this._columnSelectMode=x}createRow(b,L,x,E,R,I,T,A,P,U,$){const G=[],j=this._characterJoinerService.getJoinedCharacters(L),C=this._themeService.colors;let M,B=b.getNoBgTrimmedLength();x&&B<I+1&&(B=I+1);let H=0,Y="",V=0,te=0,Q=0,z=!1,O=0,J=!1,K=0;const re=[],ne=U!==-1&&$!==-1;for(let be=0;be<B;be++){b.loadCell(be,this._workCell);let ge=this._workCell.getWidth();if(ge===0)continue;let ke=!1,Me=be,pe=this._workCell;if(j.length>0&&be===j[0][0]){ke=!0;const we=j.shift();pe=new u.JoinedCellData(this._workCell,b.translateToString(!0,we[0],we[1]),we[1]-we[0]),Me=we[1]-1,ge=pe.getWidth()}const $e=this._isCellInSelection(be,L),Je=x&&be===I,Re=ne&&be>=U&&be<=$;let oe=!1;this._decorationService.forEachDecorationAtCell(be,L,void 0,we=>{oe=!0});let Se=pe.getChars()||p.WHITESPACE_CELL_CHAR;if(Se===" "&&(pe.isUnderline()||pe.isOverline())&&(Se=" "),K=ge*A-P.get(Se,pe.isBold(),pe.isItalic()),M){if(H&&($e&&J||!$e&&!J&&pe.bg===V)&&($e&&J&&C.selectionForeground||pe.fg===te)&&pe.extended.ext===Q&&Re===z&&K===O&&!Je&&!ke&&!oe){pe.isInvisible()?Y+=p.WHITESPACE_CELL_CHAR:Y+=Se,H++;continue}H&&(M.textContent=Y),M=this._document.createElement("span"),H=0,Y=""}else M=this._document.createElement("span");if(V=pe.bg,te=pe.fg,Q=pe.extended.ext,z=Re,O=K,J=$e,ke&&I>=be&&I<=Me&&(I=be),!this._coreService.isCursorHidden&&Je&&this._coreService.isCursorInitialized){if(re.push("xterm-cursor"),this._coreBrowserService.isFocused)T&&re.push("xterm-cursor-blink"),re.push(E==="bar"?"xterm-cursor-bar":E==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(R)switch(R){case"outline":re.push("xterm-cursor-outline");break;case"block":re.push("xterm-cursor-block");break;case"bar":re.push("xterm-cursor-bar");break;case"underline":re.push("xterm-cursor-underline")}}if(pe.isBold()&&re.push("xterm-bold"),pe.isItalic()&&re.push("xterm-italic"),pe.isDim()&&re.push("xterm-dim"),Y=pe.isInvisible()?p.WHITESPACE_CELL_CHAR:pe.getChars()||p.WHITESPACE_CELL_CHAR,pe.isUnderline()&&(re.push(`xterm-underline-${pe.extended.underlineStyle}`),Y===" "&&(Y=" "),!pe.isUnderlineColorDefault()))if(pe.isUnderlineColorRGB())M.style.textDecorationColor=`rgb(${d.AttributeData.toColorRGB(pe.getUnderlineColor()).join(",")})`;else{let we=pe.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&pe.isBold()&&we<8&&(we+=8),M.style.textDecorationColor=C.ansi[we].css}pe.isOverline()&&(re.push("xterm-overline"),Y===" "&&(Y=" ")),pe.isStrikethrough()&&re.push("xterm-strikethrough"),Re&&(M.style.textDecoration="underline");let ue=pe.getFgColor(),me=pe.getFgColorMode(),Ie=pe.getBgColor(),X=pe.getBgColorMode();const Te=!!pe.isInverse();if(Te){const we=ue;ue=Ie,Ie=we;const dt=me;me=X,X=dt}let ie,ae,ve,xe=!1;switch(this._decorationService.forEachDecorationAtCell(be,L,void 0,we=>{we.options.layer!=="top"&&xe||(we.backgroundColorRGB&&(X=50331648,Ie=we.backgroundColorRGB.rgba>>8&16777215,ie=we.backgroundColorRGB),we.foregroundColorRGB&&(me=50331648,ue=we.foregroundColorRGB.rgba>>8&16777215,ae=we.foregroundColorRGB),xe=we.options.layer==="top")}),!xe&&$e&&(ie=this._coreBrowserService.isFocused?C.selectionBackgroundOpaque:C.selectionInactiveBackgroundOpaque,Ie=ie.rgba>>8&16777215,X=50331648,xe=!0,C.selectionForeground&&(me=50331648,ue=C.selectionForeground.rgba>>8&16777215,ae=C.selectionForeground)),xe&&re.push("xterm-decoration-top"),X){case 16777216:case 33554432:ve=C.ansi[Ie],re.push(`xterm-bg-${Ie}`);break;case 50331648:ve=g.channels.toColor(Ie>>16,Ie>>8&255,255&Ie),this._addStyle(M,`background-color:#${k((Ie>>>0).toString(16),"0",6)}`);break;default:Te?(ve=C.foreground,re.push(`xterm-bg-${h.INVERTED_DEFAULT_COLOR}`)):ve=C.background}switch(ie||pe.isDim()&&(ie=g.color.multiplyOpacity(ve,.5)),me){case 16777216:case 33554432:pe.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(M,ve,C.ansi[ue],pe,ie,void 0)||re.push(`xterm-fg-${ue}`);break;case 50331648:const we=g.channels.toColor(ue>>16&255,ue>>8&255,255&ue);this._applyMinimumContrast(M,ve,we,pe,ie,ae)||this._addStyle(M,`color:#${k(ue.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(M,ve,C.foreground,pe,ie,ae)||Te&&re.push(`xterm-fg-${h.INVERTED_DEFAULT_COLOR}`)}re.length&&(M.className=re.join(" "),re.length=0),Je||ke||oe?M.textContent=Y:H++,K!==this.defaultSpacing&&(M.style.letterSpacing=`${K}px`),G.push(M),be=Me}return M&&H&&(M.textContent=Y),G}_applyMinimumContrast(b,L,x,E,R,I){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,l.treatGlyphAsBackgroundColor)(E.getCode()))return!1;const T=this._getContrastCache(E);let A;if(R||I||(A=T.getColor(L.rgba,x.rgba)),A===void 0){const P=this._optionsService.rawOptions.minimumContrastRatio/(E.isDim()?2:1);A=g.color.ensureContrastRatio(R||L,I||x,P),T.setColor((R||L).rgba,(I||x).rgba,A??null)}return!!A&&(this._addStyle(b,`color:${A.css}`),!0)}_getContrastCache(b){return b.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(b,L){b.setAttribute("style",`${b.getAttribute("style")||""}${L};`)}_isCellInSelection(b,L){const x=this._selectionStart,E=this._selectionEnd;return!(!x||!E)&&(this._columnSelectMode?x[0]<=E[0]?b>=x[0]&&L>=x[1]&&b<E[0]&&L<=E[1]:b<x[0]&&L>=x[1]&&b>=E[0]&&L<=E[1]:L>x[1]&&L<E[1]||x[1]===E[1]&&L===x[1]&&b>=x[0]&&b<E[0]||x[1]<E[1]&&L===E[1]&&b<E[0]||x[1]<E[1]&&L===x[1]&&b>=x[0])}};function k(b,L,x){for(;b.length<x;)b=L+b;return b}r.DomRendererRowFactory=w=f([v(1,a.ICharacterJoinerService),v(2,S.IOptionsService),v(3,a.ICoreBrowserService),v(4,S.ICoreService),v(5,S.IDecorationService),v(6,a.IThemeService)],w)},2550:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WidthCache=void 0,r.WidthCache=class{constructor(o,f){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=o.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const v=o.createElement("span");v.classList.add("xterm-char-measure-element");const h=o.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";const p=o.createElement("span");p.classList.add("xterm-char-measure-element"),p.style.fontStyle="italic";const y=o.createElement("span");y.classList.add("xterm-char-measure-element"),y.style.fontWeight="bold",y.style.fontStyle="italic",this._measureElements=[v,h,p,y],this._container.appendChild(v),this._container.appendChild(h),this._container.appendChild(p),this._container.appendChild(y),f.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(o,f,v,h){o===this._font&&f===this._fontSize&&v===this._weight&&h===this._weightBold||(this._font=o,this._fontSize=f,this._weight=v,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${v}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${v}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(o,f,v){let h=0;if(!f&&!v&&o.length===1&&(h=o.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];const S=this._measure(o,0);return S>0&&(this._flat[h]=S),S}let p=o;f&&(p+="B"),v&&(p+="I");let y=this._holey.get(p);if(y===void 0){let S=0;f&&(S|=1),v&&(S|=2),y=this._measure(o,S),y>0&&this._holey.set(p,y)}return y}_measure(o,f){const v=this._measureElements[f];return v.textContent=o.repeat(32),v.offsetWidth/32}}},2223:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;const f=o(6114);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},6171:(m,r)=>{function o(v){return 57508<=v&&v<=57558}function f(v){return v>=128512&&v<=128591||v>=127744&&v<=128511||v>=128640&&v<=128767||v>=9728&&v<=9983||v>=9984&&v<=10175||v>=65024&&v<=65039||v>=129280&&v<=129535||v>=127462&&v<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(v){if(!v)throw new Error("value must not be falsy");return v},r.isPowerlineGlyph=o,r.isRestrictedPowerlineGlyph=function(v){return 57520<=v&&v<=57527},r.isEmoji=f,r.allowRescaling=function(v,h,p,y){return h===1&&p>Math.ceil(1.5*y)&&v!==void 0&&v>255&&!f(v)&&!o(v)&&!function(S){return 57344<=S&&S<=63743}(v)},r.treatGlyphAsBackgroundColor=function(v){return o(v)||function(h){return 9472<=h&&h<=9631}(v)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(v,h,p=0){return(v-(2*Math.round(h)-p))%(2*Math.round(h))}},6052:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(v,h,p,y=!1){if(this.selectionStart=h,this.selectionEnd=p,!h||!p||h[0]===p[0]&&h[1]===p[1])return void this.clear();const S=v.buffers.active.ydisp,g=h[1]-S,a=p[1]-S,u=Math.max(g,0),l=Math.min(a,v.rows-1);u>=v.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=g,this.viewportEndRow=a,this.viewportCappedStartRow=u,this.viewportCappedEndRow=l,this.startCol=h[0],this.endCol=p[0])}isCellSelected(v,h,p){return!!this.hasSelection&&(p-=v.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&p>=this.viewportCappedStartRow&&h<this.endCol&&p<=this.viewportCappedEndRow:h<this.startCol&&p>=this.viewportCappedStartRow&&h>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol)}}r.createSelectionRenderModel=function(){return new o}},456:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionModel=void 0,r.SelectionModel=class{constructor(o){this._bufferService=o,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?o%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)-1]:[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[o,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[Math.max(o,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const o=this.selectionStart,f=this.selectionEnd;return!(!o||!f)&&(o[1]>f[1]||o[1]===f[1]&&o[0]>f[0])}handleTrim(o){return this.selectionStart&&(this.selectionStart[1]-=o),this.selectionEnd&&(this.selectionEnd[1]-=o),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharSizeService=void 0;const h=o(2585),p=o(8460),y=o(844);let S=r.CharSizeService=class extends y.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(l,d,w){super(),this._optionsService=w,this.width=0,this.height=0,this._onCharSizeChange=this.register(new p.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new u(this._optionsService))}catch{this._measureStrategy=this.register(new a(l,d,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const l=this._measureStrategy.measure();l.width===this.width&&l.height===this.height||(this.width=l.width,this.height=l.height,this._onCharSizeChange.fire())}};r.CharSizeService=S=f([v(2,h.IOptionsService)],S);class g extends y.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(d,w){d!==void 0&&d>0&&w!==void 0&&w>0&&(this._result.width=d,this._result.height=w)}}class a extends g{constructor(d,w,k){super(),this._document=d,this._parentElement=w,this._optionsService=k,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class u extends g{constructor(d){super(),this._optionsService=d,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const w=this._ctx.measureText("W");if(!("width"in w&&"fontBoundingBoxAscent"in w&&"fontBoundingBoxDescent"in w))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const d=this._ctx.measureText("W");return this._validateAndSet(d.width,d.fontBoundingBoxAscent+d.fontBoundingBoxDescent),this._result}}},4269:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterJoinerService=r.JoinedCellData=void 0;const h=o(3734),p=o(643),y=o(511),S=o(2585);class g extends h.AttributeData{constructor(l,d,w){super(),this.content=0,this.combinedData="",this.fg=l.fg,this.bg=l.bg,this.combinedData=d,this._width=w}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(l){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.JoinedCellData=g;let a=r.CharacterJoinerService=class h_{constructor(l){this._bufferService=l,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new y.CellData}register(l){const d={id:this._nextCharacterJoinerId++,handler:l};return this._characterJoiners.push(d),d.id}deregister(l){for(let d=0;d<this._characterJoiners.length;d++)if(this._characterJoiners[d].id===l)return this._characterJoiners.splice(d,1),!0;return!1}getJoinedCharacters(l){if(this._characterJoiners.length===0)return[];const d=this._bufferService.buffer.lines.get(l);if(!d||d.length===0)return[];const w=[],k=d.translateToString(!0);let b=0,L=0,x=0,E=d.getFg(0),R=d.getBg(0);for(let I=0;I<d.getTrimmedLength();I++)if(d.loadCell(I,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==E||this._workCell.bg!==R){if(I-b>1){const T=this._getJoinedRanges(k,x,L,d,b);for(let A=0;A<T.length;A++)w.push(T[A])}b=I,x=L,E=this._workCell.fg,R=this._workCell.bg}L+=this._workCell.getChars().length||p.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-b>1){const I=this._getJoinedRanges(k,x,L,d,b);for(let T=0;T<I.length;T++)w.push(I[T])}return w}_getJoinedRanges(l,d,w,k,b){const L=l.substring(d,w);let x=[];try{x=this._characterJoiners[0].handler(L)}catch(E){console.error(E)}for(let E=1;E<this._characterJoiners.length;E++)try{const R=this._characterJoiners[E].handler(L);for(let I=0;I<R.length;I++)h_._mergeRanges(x,R[I])}catch(R){console.error(R)}return this._stringRangesToCellRanges(x,k,b),x}_stringRangesToCellRanges(l,d,w){let k=0,b=!1,L=0,x=l[k];if(x){for(let E=w;E<this._bufferService.cols;E++){const R=d.getWidth(E),I=d.getString(E).length||p.WHITESPACE_CELL_CHAR.length;if(R!==0){if(!b&&x[0]<=L&&(x[0]=E,b=!0),x[1]<=L){if(x[1]=E,x=l[++k],!x)break;x[0]<=L?(x[0]=E,b=!0):b=!1}L+=I}}x&&(x[1]=this._bufferService.cols)}}static _mergeRanges(l,d){let w=!1;for(let k=0;k<l.length;k++){const b=l[k];if(w){if(d[1]<=b[0])return l[k-1][1]=d[1],l;if(d[1]<=b[1])return l[k-1][1]=Math.max(d[1],b[1]),l.splice(k,1),l;l.splice(k,1),k--}else{if(d[1]<=b[0])return l.splice(k,0,d),l;if(d[1]<=b[1])return b[0]=Math.min(d[0],b[0]),l;d[0]<b[1]&&(b[0]=Math.min(d[0],b[0]),w=!0)}}return w?l[l.length-1][1]=d[1]:l.push(d),l}};r.CharacterJoinerService=a=f([v(0,S.IBufferService)],a)},5114:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreBrowserService=void 0;const f=o(844),v=o(8460),h=o(3656);class p extends f.Disposable{constructor(g,a,u){super(),this._textarea=g,this._window=a,this.mainDocument=u,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new y(this._window),this._onDprChange=this.register(new v.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new v.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(l=>this._screenDprMonitor.setWindow(l))),this.register((0,v.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}get window(){return this._window}set window(g){this._window!==g&&(this._window=g,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}}r.CoreBrowserService=p;class y extends f.Disposable{constructor(g){super(),this._parentWindow=g,this._windowResizeListener=this.register(new f.MutableDisposable),this._onDprChange=this.register(new v.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,f.toDisposable)(()=>this.clearListener()))}setWindow(g){this._parentWindow=g,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,h.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var g;this._outerListener&&((g=this._resolutionMediaMatchList)==null||g.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkProviderService=void 0;const f=o(844);class v extends f.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,f.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(p){return this.linkProviders.push(p),{dispose:()=>{const y=this.linkProviders.indexOf(p);y!==-1&&this.linkProviders.splice(y,1)}}}}r.LinkProviderService=v},8934:function(m,r,o){var f=this&&this.__decorate||function(S,g,a,u){var l,d=arguments.length,w=d<3?g:u===null?u=Object.getOwnPropertyDescriptor(g,a):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(S,g,a,u);else for(var k=S.length-1;k>=0;k--)(l=S[k])&&(w=(d<3?l(w):d>3?l(g,a,w):l(g,a))||w);return d>3&&w&&Object.defineProperty(g,a,w),w},v=this&&this.__param||function(S,g){return function(a,u){g(a,u,S)}};Object.defineProperty(r,"__esModule",{value:!0}),r.MouseService=void 0;const h=o(4725),p=o(9806);let y=r.MouseService=class{constructor(S,g){this._renderService=S,this._charSizeService=g}getCoords(S,g,a,u,l){return(0,p.getCoords)(window,S,g,a,u,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,l)}getMouseReportCoords(S,g){const a=(0,p.getCoordsRelativeToElement)(window,S,g);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};r.MouseService=y=f([v(0,h.IRenderService),v(1,h.ICharSizeService)],y)},3230:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.RenderService=void 0;const h=o(6193),p=o(4725),y=o(8460),S=o(844),g=o(7226),a=o(2585);let u=r.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(l,d,w,k,b,L,x,E){super(),this._rowCount=l,this._charSizeService=k,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new g.DebouncedIdleTask,this._observerDisposable=this.register(new S.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new y.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new y.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new y.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new y.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new h.RenderDebouncer((R,I)=>this._renderRows(R,I),x),this.register(this._renderDebouncer),this.register(x.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(L.onResize(()=>this._fullRefresh())),this.register(L.buffers.onBufferActivate(()=>{var R;return(R=this._renderer.value)==null?void 0:R.clear()})),this.register(w.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(b.onDecorationRegistered(()=>this._fullRefresh())),this.register(b.onDecorationRemoved(()=>this._fullRefresh())),this.register(w.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(L.cols,L.rows),this._fullRefresh()})),this.register(w.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(L.buffer.y,L.buffer.y,!0))),this.register(E.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(x.window,d),this.register(x.onWindowChange(R=>this._registerIntersectionObserver(R,d)))}_registerIntersectionObserver(l,d){if("IntersectionObserver"in l){const w=new l.IntersectionObserver(k=>this._handleIntersectionChange(k[k.length-1]),{threshold:0});w.observe(d),this._observerDisposable.value=(0,S.toDisposable)(()=>w.disconnect())}}_handleIntersectionChange(l){this._isPaused=l.isIntersecting===void 0?l.intersectionRatio===0:!l.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(l,d,w=!1){this._isPaused?this._needsFullRefresh=!0:(w||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(l,d,this._rowCount))}_renderRows(l,d){this._renderer.value&&(l=Math.min(l,this._rowCount-1),d=Math.min(d,this._rowCount-1),this._renderer.value.renderRows(l,d),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:l,end:d}),this._onRender.fire({start:l,end:d}),this._isNextRenderRedrawOnly=!0)}resize(l,d){this._rowCount=d,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(l){this._renderer.value=l,this._renderer.value&&(this._renderer.value.onRequestRedraw(d=>this.refreshRows(d.start,d.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(l){return this._renderDebouncer.addRefreshCallback(l)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var l,d;this._renderer.value&&((d=(l=this._renderer.value).clearTextureAtlas)==null||d.call(l),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(l,d){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var w;return(w=this._renderer.value)==null?void 0:w.handleResize(l,d)}):this._renderer.value.handleResize(l,d),this._fullRefresh())}handleCharSizeChanged(){var l;(l=this._renderer.value)==null||l.handleCharSizeChanged()}handleBlur(){var l;(l=this._renderer.value)==null||l.handleBlur()}handleFocus(){var l;(l=this._renderer.value)==null||l.handleFocus()}handleSelectionChanged(l,d,w){var k;this._selectionState.start=l,this._selectionState.end=d,this._selectionState.columnSelectMode=w,(k=this._renderer.value)==null||k.handleSelectionChanged(l,d,w)}handleCursorMove(){var l;(l=this._renderer.value)==null||l.handleCursorMove()}clear(){var l;(l=this._renderer.value)==null||l.clear()}};r.RenderService=u=f([v(2,a.IOptionsService),v(3,p.ICharSizeService),v(4,a.IDecorationService),v(5,a.IBufferService),v(6,p.ICoreBrowserService),v(7,p.IThemeService)],u)},9312:function(m,r,o){var f=this&&this.__decorate||function(x,E,R,I){var T,A=arguments.length,P=A<3?E:I===null?I=Object.getOwnPropertyDescriptor(E,R):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(x,E,R,I);else for(var U=x.length-1;U>=0;U--)(T=x[U])&&(P=(A<3?T(P):A>3?T(E,R,P):T(E,R))||P);return A>3&&P&&Object.defineProperty(E,R,P),P},v=this&&this.__param||function(x,E){return function(R,I){E(R,I,x)}};Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionService=void 0;const h=o(9806),p=o(9504),y=o(456),S=o(4725),g=o(8460),a=o(844),u=o(6114),l=o(4841),d=o(511),w=o(2585),k=" ",b=new RegExp(k,"g");let L=r.SelectionService=class extends a.Disposable{constructor(x,E,R,I,T,A,P,U,$){super(),this._element=x,this._screenElement=E,this._linkifier=R,this._bufferService=I,this._coreService=T,this._mouseService=A,this._optionsService=P,this._renderService=U,this._coreBrowserService=$,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new d.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new g.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new g.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new g.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new g.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=G=>this._handleMouseMove(G),this._mouseUpListener=G=>this._handleMouseUp(G),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(G=>this._handleTrim(G)),this.register(this._bufferService.buffers.onBufferActivate(G=>this._handleBufferActivate(G))),this.enable(),this._model=new y.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,a.toDisposable)(()=>{this._removeMouseDownListeners()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;return!(!x||!E||x[0]===E[0]&&x[1]===E[1])}get selectionText(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;if(!x||!E)return"";const R=this._bufferService.buffer,I=[];if(this._activeSelectionMode===3){if(x[0]===E[0])return"";const T=x[0]<E[0]?x[0]:E[0],A=x[0]<E[0]?E[0]:x[0];for(let P=x[1];P<=E[1];P++){const U=R.translateBufferLineToString(P,!0,T,A);I.push(U)}}else{const T=x[1]===E[1]?E[0]:void 0;I.push(R.translateBufferLineToString(x[1],!0,x[0],T));for(let A=x[1]+1;A<=E[1]-1;A++){const P=R.lines.get(A),U=R.translateBufferLineToString(A,!0);P!=null&&P.isWrapped?I[I.length-1]+=U:I.push(U)}if(x[1]!==E[1]){const A=R.lines.get(E[1]),P=R.translateBufferLineToString(E[1],!0,0,E[0]);A&&A.isWrapped?I[I.length-1]+=P:I.push(P)}}return I.map(T=>T.replace(b," ")).join(u.isWindows?`\r
46
+ WARNING: This link could potentially be dangerous`)){const u=window.open();if(u){try{u.opener=null}catch{}u.location.href=a}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=y=f([v(0,p.IBufferService),v(1,p.IOptionsService),v(2,p.IOscLinkService)],y)},6193:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(o){return this._refreshCallbacks.push(o),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(o,f,v){this._rowCount=v,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const o of this._refreshCallbacks)o(0);this._refreshCallbacks=[]}}},3236:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;const f=o(3614),v=o(3656),h=o(3551),p=o(9042),y=o(3730),S=o(1680),g=o(3107),a=o(5744),u=o(2950),l=o(1296),d=o(428),w=o(4269),k=o(5114),b=o(8934),L=o(3230),x=o(9312),E=o(4725),R=o(6731),I=o(8055),T=o(8969),A=o(8460),O=o(844),U=o(6114),$=o(8437),G=o(2584),j=o(7399),C=o(5941),M=o(9074),B=o(2585),H=o(5435),Y=o(4567),V=o(779);class te extends T.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(z={}){super(z),this.browser=U,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new O.MutableDisposable),this._onCursorMove=this.register(new A.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new A.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new A.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new A.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new A.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new A.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new A.EventEmitter),this._onBlur=this.register(new A.EventEmitter),this._onA11yCharEmitter=this.register(new A.EventEmitter),this._onA11yTabEmitter=this.register(new A.EventEmitter),this._onWillOpen=this.register(new A.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(M.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(V.LinkProviderService),this._instantiationService.setService(E.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(y.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((P,J)=>this.refresh(P,J))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(P=>this._reportWindowsOptions(P))),this.register(this._inputHandler.onColor(P=>this._handleColorEvent(P))),this.register((0,A.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,A.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,A.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,A.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(P=>this._afterResize(P.cols,P.rows))),this.register((0,O.toDisposable)(()=>{var P,J;this._customKeyEventHandler=void 0,(J=(P=this.element)==null?void 0:P.parentNode)==null||J.removeChild(this.element)}))}_handleColorEvent(z){if(this._themeService)for(const P of z){let J,K="";switch(P.index){case 256:J="foreground",K="10";break;case 257:J="background",K="11";break;case 258:J="cursor",K="12";break;default:J="ansi",K="4;"+P.index}switch(P.type){case 0:const re=I.color.toColorRGB(J==="ansi"?this._themeService.colors.ansi[P.index]:this._themeService.colors[J]);this.coreService.triggerDataEvent(`${G.C0.ESC}]${K};${(0,C.toRgbString)(re)}${G.C1_ESCAPED.ST}`);break;case 1:if(J==="ansi")this._themeService.modifyColors(ne=>ne.ansi[P.index]=I.channels.toColor(...P.color));else{const ne=J;this._themeService.modifyColors(be=>be[ne]=I.channels.toColor(...P.color))}break;case 2:this._themeService.restoreColor(P.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(z){z?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Y.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(z){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var z;return(z=this.textarea)==null?void 0:z.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const z=this.buffer.ybase+this.buffer.y,P=this.buffer.lines.get(z);if(!P)return;const J=Math.min(this.buffer.x,this.cols-1),K=this._renderService.dimensions.css.cell.height,re=P.getWidth(J),ne=this._renderService.dimensions.css.cell.width*re,be=this.buffer.y*this._renderService.dimensions.css.cell.height,ge=J*this._renderService.dimensions.css.cell.width;this.textarea.style.left=ge+"px",this.textarea.style.top=be+"px",this.textarea.style.width=ne+"px",this.textarea.style.height=K+"px",this.textarea.style.lineHeight=K+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,v.addDisposableDomListener)(this.element,"copy",P=>{this.hasSelection()&&(0,f.copyHandler)(P,this._selectionService)}));const z=P=>(0,f.handlePasteEvent)(P,this.textarea,this.coreService,this.optionsService);this.register((0,v.addDisposableDomListener)(this.textarea,"paste",z)),this.register((0,v.addDisposableDomListener)(this.element,"paste",z)),U.isFirefox?this.register((0,v.addDisposableDomListener)(this.element,"mousedown",P=>{P.button===2&&(0,f.rightClickHandler)(P,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,v.addDisposableDomListener)(this.element,"contextmenu",P=>{(0,f.rightClickHandler)(P,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),U.isLinux&&this.register((0,v.addDisposableDomListener)(this.element,"auxclick",P=>{P.button===1&&(0,f.moveTextAreaUnderMouseCursor)(P,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,v.addDisposableDomListener)(this.textarea,"keyup",z=>this._keyUp(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"keydown",z=>this._keyDown(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"keypress",z=>this._keyPress(z),!0)),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionupdate",z=>this._compositionHelper.compositionupdate(z))),this.register((0,v.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,v.addDisposableDomListener)(this.textarea,"input",z=>this._inputEvent(z),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(z){var J;if(!z)throw new Error("Terminal requires a parent element.");if(z.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((J=this.element)==null?void 0:J.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=z.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),z.appendChild(this.element);const P=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),P.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,v.addDisposableDomListener)(this.screenElement,"mousemove",K=>this.updateCursorStyle(K))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),P.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),U.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(k.CoreBrowserService,this.textarea,z.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(E.ICoreBrowserService,this._coreBrowserService),this.register((0,v.addDisposableDomListener)(this.textarea,"focus",K=>this._handleTextAreaFocus(K))),this.register((0,v.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(d.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(E.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(R.ThemeService),this._instantiationService.setService(E.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(w.CharacterJoinerService),this._instantiationService.setService(E.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(L.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(E.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(K=>this._onRender.fire(K))),this.onResize(K=>this._renderService.resize(K.cols,K.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(u.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(E.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(h.Linkifier,this.screenElement)),this.element.appendChild(P);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(K=>this.scrollLines(K.amount,K.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),this.register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this.register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this.register(this.onBlur(()=>this._renderService.handleBlur())),this.register(this.onFocus(()=>this._renderService.handleFocus())),this.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(x.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(E.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(K=>this.scrollLines(K.amount,K.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(K=>this._renderService.handleSelectionChanged(K.start,K.end,K.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(K=>{this.textarea.value=K,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(K=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,v.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(g.BufferDecorationRenderer,this.screenElement)),this.register((0,v.addDisposableDomListener)(this.element,"mousedown",K=>this._selectionService.handleMouseDown(K))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Y.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",K=>this._handleScreenReaderModeOptionChange(K))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",K=>{!this._overviewRulerRenderer&&K&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(l.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const z=this,P=this.element;function J(ne){const be=z._mouseService.getMouseReportCoords(ne,z.screenElement);if(!be)return!1;let ge,Ee;switch(ne.overrideType||ne.type){case"mousemove":Ee=32,ne.buttons===void 0?(ge=3,ne.button!==void 0&&(ge=ne.button<3?ne.button:3)):ge=1&ne.buttons?0:4&ne.buttons?1:2&ne.buttons?2:3;break;case"mouseup":Ee=0,ge=ne.button<3?ne.button:3;break;case"mousedown":Ee=1,ge=ne.button<3?ne.button:3;break;case"wheel":if(z._customWheelEventHandler&&z._customWheelEventHandler(ne)===!1||z.viewport.getLinesScrolled(ne)===0)return!1;Ee=ne.deltaY<0?0:1,ge=4;break;default:return!1}return!(Ee===void 0||ge===void 0||ge>4)&&z.coreMouseService.triggerMouseEvent({col:be.col,row:be.row,x:be.x,y:be.y,button:ge,action:Ee,ctrl:ne.ctrlKey,alt:ne.altKey,shift:ne.shiftKey})}const K={mouseup:null,wheel:null,mousedrag:null,mousemove:null},re={mouseup:ne=>(J(ne),ne.buttons||(this._document.removeEventListener("mouseup",K.mouseup),K.mousedrag&&this._document.removeEventListener("mousemove",K.mousedrag)),this.cancel(ne)),wheel:ne=>(J(ne),this.cancel(ne,!0)),mousedrag:ne=>{ne.buttons&&J(ne)},mousemove:ne=>{ne.buttons||J(ne)}};this.register(this.coreMouseService.onProtocolChange(ne=>{ne?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(ne)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&ne?K.mousemove||(P.addEventListener("mousemove",re.mousemove),K.mousemove=re.mousemove):(P.removeEventListener("mousemove",K.mousemove),K.mousemove=null),16&ne?K.wheel||(P.addEventListener("wheel",re.wheel,{passive:!1}),K.wheel=re.wheel):(P.removeEventListener("wheel",K.wheel),K.wheel=null),2&ne?K.mouseup||(K.mouseup=re.mouseup):(this._document.removeEventListener("mouseup",K.mouseup),K.mouseup=null),4&ne?K.mousedrag||(K.mousedrag=re.mousedrag):(this._document.removeEventListener("mousemove",K.mousedrag),K.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,v.addDisposableDomListener)(P,"mousedown",ne=>{if(ne.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(ne))return J(ne),K.mouseup&&this._document.addEventListener("mouseup",K.mouseup),K.mousedrag&&this._document.addEventListener("mousemove",K.mousedrag),this.cancel(ne)})),this.register((0,v.addDisposableDomListener)(P,"wheel",ne=>{if(!K.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(ne)===!1)return!1;if(!this.buffer.hasScrollback){const be=this.viewport.getLinesScrolled(ne);if(be===0)return;const ge=G.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(ne.deltaY<0?"A":"B");let Ee="";for(let Ne=0;Ne<Math.abs(be);Ne++)Ee+=ge;return this.coreService.triggerDataEvent(Ee,!0),this.cancel(ne,!0)}return this.viewport.handleWheel(ne)?this.cancel(ne):void 0}},{passive:!1})),this.register((0,v.addDisposableDomListener)(P,"touchstart",ne=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(ne),this.cancel(ne)},{passive:!0})),this.register((0,v.addDisposableDomListener)(P,"touchmove",ne=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(ne)?void 0:this.cancel(ne)},{passive:!1}))}refresh(z,P){var J;(J=this._renderService)==null||J.refreshRows(z,P)}updateCursorStyle(z){var P;(P=this._selectionService)!=null&&P.shouldColumnSelect(z)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(z,P,J=0){var K;J===1?(super.scrollLines(z,P,J),this.refresh(0,this.rows-1)):(K=this.viewport)==null||K.scrollLines(z)}paste(z){(0,f.paste)(z,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(z){this._customKeyEventHandler=z}attachCustomWheelEventHandler(z){this._customWheelEventHandler=z}registerLinkProvider(z){return this._linkProviderService.registerLinkProvider(z)}registerCharacterJoiner(z){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const P=this._characterJoinerService.register(z);return this.refresh(0,this.rows-1),P}deregisterCharacterJoiner(z){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(z)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(z){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+z)}registerDecoration(z){return this._decorationService.registerDecoration(z)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(z,P,J){this._selectionService.setSelection(z,P,J)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var z;(z=this._selectionService)==null||z.clearSelection()}selectAll(){var z;(z=this._selectionService)==null||z.selectAll()}selectLines(z,P){var J;(J=this._selectionService)==null||J.selectLines(z,P)}_keyDown(z){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1)return!1;const P=this.browser.isMac&&this.options.macOptionIsMeta&&z.altKey;if(!P&&!this._compositionHelper.keydown(z))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;P||z.key!=="Dead"&&z.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const J=(0,j.evaluateKeyboardEvent)(z,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(z),J.type===3||J.type===2){const K=this.rows-1;return this.scrollLines(J.type===2?-K:K),this.cancel(z,!0)}return J.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,z)||(J.cancel&&this.cancel(z,!0),!J.key||!!(z.key&&!z.ctrlKey&&!z.altKey&&!z.metaKey&&z.key.length===1&&z.key.charCodeAt(0)>=65&&z.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(J.key!==G.C0.ETX&&J.key!==G.C0.CR||(this.textarea.value=""),this._onKey.fire({key:J.key,domEvent:z}),this._showCursor(),this.coreService.triggerDataEvent(J.key,!0),!this.optionsService.rawOptions.screenReaderMode||z.altKey||z.ctrlKey?this.cancel(z,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(z,P){const J=z.isMac&&!this.options.macOptionIsMeta&&P.altKey&&!P.ctrlKey&&!P.metaKey||z.isWindows&&P.altKey&&P.ctrlKey&&!P.metaKey||z.isWindows&&P.getModifierState("AltGraph");return P.type==="keypress"?J:J&&(!P.keyCode||P.keyCode>47)}_keyUp(z){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1||(function(P){return P.keyCode===16||P.keyCode===17||P.keyCode===18}(z)||this.focus(),this.updateCursorStyle(z),this._keyPressHandled=!1)}_keyPress(z){let P;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(z)===!1)return!1;if(this.cancel(z),z.charCode)P=z.charCode;else if(z.which===null||z.which===void 0)P=z.keyCode;else{if(z.which===0||z.charCode===0)return!1;P=z.which}return!(!P||(z.altKey||z.ctrlKey||z.metaKey)&&!this._isThirdLevelShift(this.browser,z)||(P=String.fromCharCode(P),this._onKey.fire({key:P,domEvent:z}),this._showCursor(),this.coreService.triggerDataEvent(P,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(z){if(z.data&&z.inputType==="insertText"&&(!z.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const P=z.data;return this.coreService.triggerDataEvent(P,!0),this.cancel(z),!0}return!1}resize(z,P){z!==this.cols||P!==this.rows?super.resize(z,P):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(z,P){var J,K;(J=this._charSizeService)==null||J.measure(),(K=this.viewport)==null||K.syncScrollArea(!0)}clear(){var z;if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let P=1;P<this.rows;P++)this.buffer.lines.push(this.buffer.getBlankLine($.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(z=this.viewport)==null||z.reset(),this.refresh(0,this.rows-1)}}reset(){var P,J;this.options.rows=this.rows,this.options.cols=this.cols;const z=this._customKeyEventHandler;this._setup(),super.reset(),(P=this._selectionService)==null||P.reset(),this._decorationService.reset(),(J=this.viewport)==null||J.reset(),this._customKeyEventHandler=z,this.refresh(0,this.rows-1)}clearTextureAtlas(){var z;(z=this._renderService)==null||z.clearTextureAtlas()}_reportFocus(){var z;(z=this.element)!=null&&z.classList.contains("focus")?this.coreService.triggerDataEvent(G.C0.ESC+"[I"):this.coreService.triggerDataEvent(G.C0.ESC+"[O")}_reportWindowsOptions(z){if(this._renderService)switch(z){case H.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const P=this._renderService.dimensions.css.canvas.width.toFixed(0),J=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[4;${J};${P}t`);break;case H.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const K=this._renderService.dimensions.css.cell.width.toFixed(0),re=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[6;${re};${K}t`)}}cancel(z,P){if(this.options.cancelEvents||P)return z.preventDefault(),z.stopPropagation(),!1}}r.Terminal=te},9924:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TimeBasedDebouncer=void 0,r.TimeBasedDebouncer=class{constructor(o,f=1e3){this._renderCallback=o,this._debounceThresholdMS=f,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(o,f,v){this._rowCount=v,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f;const h=Date.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){const p=h-this._lastRefreshMs,y=this._debounceThresholdMS-p;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},y)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f)}}},1680:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Viewport=void 0;const h=o(3656),p=o(4725),y=o(8460),S=o(844),g=o(2585);let a=r.Viewport=class extends S.Disposable{constructor(u,l,d,w,k,b,L,x){super(),this._viewportElement=u,this._scrollArea=l,this._bufferService=d,this._optionsService=w,this._charSizeService=k,this._renderService=b,this._coreBrowserService=L,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new y.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,h.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(E=>this._activeBuffer=E.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(E=>this._renderDimensions=E)),this._handleThemeChange(x.colors),this.register(x.onChangeColors(E=>this._handleThemeChange(E))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(u){this._viewportElement.style.backgroundColor=u.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(u){if(u)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const l=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==l&&(this._lastRecordedBufferHeight=l,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const u=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==u&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=u),this._refreshAnimationFrame=null}syncScrollArea(u=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(u);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(u)}_handleScroll(u){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const l=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:l,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const u=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(u*(this._smoothScrollState.target-this._smoothScrollState.origin)),u<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(u,l){const d=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(l<0&&this._viewportElement.scrollTop!==0||l>0&&d<this._lastRecordedBufferHeight)||(u.cancelable&&u.preventDefault(),!1)}handleWheel(u){const l=this._getPixelsScrolled(u);return l!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+l:this._smoothScrollState.target+=l,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=l,this._bubbleScroll(u,l))}scrollLines(u){if(u!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const l=u*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+l,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:u,suppressScrollEvent:!1})}_getPixelsScrolled(u){if(u.deltaY===0||u.shiftKey)return 0;let l=this._applyScrollModifier(u.deltaY,u);return u.deltaMode===WheelEvent.DOM_DELTA_LINE?l*=this._currentRowHeight:u.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._currentRowHeight*this._bufferService.rows),l}getBufferElements(u,l){var x;let d,w="";const k=[],b=l??this._bufferService.buffer.lines.length,L=this._bufferService.buffer.lines;for(let E=u;E<b;E++){const R=L.get(E);if(!R)continue;const I=(x=L.get(E+1))==null?void 0:x.isWrapped;if(w+=R.translateToString(!I),!I||E===L.length-1){const T=document.createElement("div");T.textContent=w,k.push(T),w.length>0&&(d=T),w=""}}return{bufferElements:k,cursorElement:d}}getLinesScrolled(u){if(u.deltaY===0||u.shiftKey)return 0;let l=this._applyScrollModifier(u.deltaY,u);return u.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(l/=this._currentRowHeight+0,this._wheelPartialScroll+=l,l=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):u.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(l*=this._bufferService.rows),l}_applyScrollModifier(u,l){const d=this._optionsService.rawOptions.fastScrollModifier;return d==="alt"&&l.altKey||d==="ctrl"&&l.ctrlKey||d==="shift"&&l.shiftKey?u*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:u*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(u){this._lastTouchY=u.touches[0].pageY}handleTouchMove(u){const l=this._lastTouchY-u.touches[0].pageY;return this._lastTouchY=u.touches[0].pageY,l!==0&&(this._viewportElement.scrollTop+=l,this._bubbleScroll(u,l))}};r.Viewport=a=f([v(2,g.IBufferService),v(3,g.IOptionsService),v(4,p.ICharSizeService),v(5,p.IRenderService),v(6,p.ICoreBrowserService),v(7,p.IThemeService)],a)},3107:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferDecorationRenderer=void 0;const h=o(4725),p=o(844),y=o(2585);let S=r.BufferDecorationRenderer=class extends p.Disposable{constructor(g,a,u,l,d){super(),this._screenElement=g,this._bufferService=a,this._coreBrowserService=u,this._decorationService=l,this._renderService=d,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this.register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this.register(this._decorationService.onDecorationRemoved(w=>this._removeDecoration(w))),this.register((0,p.toDisposable)(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(const g of this._decorationService.decorations)this._renderDecoration(g);this._dimensionsChanged=!1}_renderDecoration(g){this._refreshStyle(g),this._dimensionsChanged&&this._refreshXPosition(g)}_createElement(g){var l;const a=this._coreBrowserService.mainDocument.createElement("div");a.classList.add("xterm-decoration"),a.classList.toggle("xterm-decoration-top-layer",((l=g==null?void 0:g.options)==null?void 0:l.layer)==="top"),a.style.width=`${Math.round((g.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=(g.options.height||1)*this._renderService.dimensions.css.cell.height+"px",a.style.top=(g.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const u=g.options.x??0;return u&&u>this._bufferService.cols&&(a.style.display="none"),this._refreshXPosition(g,a),a}_refreshStyle(g){const a=g.marker.line-this._bufferService.buffers.active.ydisp;if(a<0||a>=this._bufferService.rows)g.element&&(g.element.style.display="none",g.onRenderEmitter.fire(g.element));else{let u=this._decorationElements.get(g);u||(u=this._createElement(g),g.element=u,this._decorationElements.set(g,u),this._container.appendChild(u),g.onDispose(()=>{this._decorationElements.delete(g),u.remove()})),u.style.top=a*this._renderService.dimensions.css.cell.height+"px",u.style.display=this._altBufferIsActive?"none":"block",g.onRenderEmitter.fire(u)}}_refreshXPosition(g,a=g.element){if(!a)return;const u=g.options.x??0;(g.options.anchor||"left")==="right"?a.style.right=u?u*this._renderService.dimensions.css.cell.width+"px":"":a.style.left=u?u*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(g){var a;(a=this._decorationElements.get(g))==null||a.remove(),this._decorationElements.delete(g),g.dispose()}};r.BufferDecorationRenderer=S=f([v(1,y.IBufferService),v(2,h.ICoreBrowserService),v(3,y.IDecorationService),v(4,h.IRenderService)],S)},5871:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorZoneStore=void 0,r.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(o){if(o.options.overviewRulerOptions){for(const f of this._zones)if(f.color===o.options.overviewRulerOptions.color&&f.position===o.options.overviewRulerOptions.position){if(this._lineIntersectsZone(f,o.marker.line))return;if(this._lineAdjacentToZone(f,o.marker.line,o.options.overviewRulerOptions.position))return void this._addLineToZone(f,o.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=o.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=o.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=o.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=o.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:o.options.overviewRulerOptions.color,position:o.options.overviewRulerOptions.position,startBufferLine:o.marker.line,endBufferLine:o.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(o){this._linePadding=o}_lineIntersectsZone(o,f){return f>=o.startBufferLine&&f<=o.endBufferLine}_lineAdjacentToZone(o,f,v){return f>=o.startBufferLine-this._linePadding[v||"full"]&&f<=o.endBufferLine+this._linePadding[v||"full"]}_addLineToZone(o,f){o.startBufferLine=Math.min(o.startBufferLine,f),o.endBufferLine=Math.max(o.endBufferLine,f)}}},5744:function(m,r,o){var f=this&&this.__decorate||function(d,w,k,b){var L,x=arguments.length,E=x<3?w:b===null?b=Object.getOwnPropertyDescriptor(w,k):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(d,w,k,b);else for(var R=d.length-1;R>=0;R--)(L=d[R])&&(E=(x<3?L(E):x>3?L(w,k,E):L(w,k))||E);return x>3&&E&&Object.defineProperty(w,k,E),E},v=this&&this.__param||function(d,w){return function(k,b){w(k,b,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OverviewRulerRenderer=void 0;const h=o(5871),p=o(4725),y=o(844),S=o(2585),g={full:0,left:0,center:0,right:0},a={full:0,left:0,center:0,right:0},u={full:0,left:0,center:0,right:0};let l=r.OverviewRulerRenderer=class extends y.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(d,w,k,b,L,x,E){var I;super(),this._viewportElement=d,this._screenElement=w,this._bufferService=k,this._decorationService=b,this._renderService=L,this._optionsService=x,this._coreBrowserService=E,this._colorZoneStore=new h.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(I=this._viewportElement.parentElement)==null||I.insertBefore(this._canvas,this._viewportElement);const R=this._canvas.getContext("2d");if(!R)throw new Error("Ctx cannot be null");this._ctx=R,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,y.toDisposable)(()=>{var T;(T=this._canvas)==null||T.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this.register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){const d=Math.floor(this._canvas.width/3),w=Math.ceil(this._canvas.width/3);a.full=this._canvas.width,a.left=d,a.center=w,a.right=d,this._refreshDrawHeightConstants(),u.full=0,u.left=0,u.center=a.left,u.right=a.left+a.center}_refreshDrawHeightConstants(){g.full=Math.round(2*this._coreBrowserService.dpr);const d=this._canvas.height/this._bufferService.buffer.lines.length,w=Math.round(Math.max(Math.min(d,12),6)*this._coreBrowserService.dpr);g.left=w,g.center=w,g.right=w}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*g.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const w of this._decorationService.decorations)this._colorZoneStore.addDecoration(w);this._ctx.lineWidth=1;const d=this._colorZoneStore.zones;for(const w of d)w.position!=="full"&&this._renderColorZone(w);for(const w of d)w.position==="full"&&this._renderColorZone(w);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(d){this._ctx.fillStyle=d.color,this._ctx.fillRect(u[d.position||"full"],Math.round((this._canvas.height-1)*(d.startBufferLine/this._bufferService.buffers.active.lines.length)-g[d.position||"full"]/2),a[d.position||"full"],Math.round((this._canvas.height-1)*((d.endBufferLine-d.startBufferLine)/this._bufferService.buffers.active.lines.length)+g[d.position||"full"]))}_queueRefresh(d,w){this._shouldUpdateDimensions=d||this._shouldUpdateDimensions,this._shouldUpdateAnchor=w||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};r.OverviewRulerRenderer=l=f([v(2,S.IBufferService),v(3,S.IDecorationService),v(4,p.IRenderService),v(5,S.IOptionsService),v(6,p.ICoreBrowserService)],l)},2950:function(m,r,o){var f=this&&this.__decorate||function(g,a,u,l){var d,w=arguments.length,k=w<3?a:l===null?l=Object.getOwnPropertyDescriptor(a,u):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(g,a,u,l);else for(var b=g.length-1;b>=0;b--)(d=g[b])&&(k=(w<3?d(k):w>3?d(a,u,k):d(a,u))||k);return w>3&&k&&Object.defineProperty(a,u,k),k},v=this&&this.__param||function(g,a){return function(u,l){a(u,l,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CompositionHelper=void 0;const h=o(4725),p=o(2585),y=o(2584);let S=r.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(g,a,u,l,d,w){this._textarea=g,this._compositionView=a,this._bufferService=u,this._optionsService=l,this._coreService=d,this._renderService=w,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(g){this._compositionView.textContent=g.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(g){if(this._isComposing||this._isSendingComposition){if(g.keyCode===229||g.keyCode===16||g.keyCode===17||g.keyCode===18)return!1;this._finalizeComposition(!1)}return g.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(g){if(this._compositionView.classList.remove("active"),this._isComposing=!1,g){const a={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let u;this._isSendingComposition=!1,a.start+=this._dataAlreadySent.length,u=this._isComposing?this._textarea.value.substring(a.start,a.end):this._textarea.value.substring(a.start),u.length>0&&this._coreService.triggerDataEvent(u,!0)}},0)}else{this._isSendingComposition=!1;const a=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(a,!0)}}_handleAnyTextareaChanges(){const g=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const a=this._textarea.value,u=a.replace(g,"");this._dataAlreadySent=u,a.length>g.length?this._coreService.triggerDataEvent(u,!0):a.length<g.length?this._coreService.triggerDataEvent(`${y.C0.DEL}`,!0):a.length===g.length&&a!==g&&this._coreService.triggerDataEvent(a,!0)}},0)}updateCompositionElements(g){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const a=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),u=this._renderService.dimensions.css.cell.height,l=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,d=a*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=d+"px",this._compositionView.style.top=l+"px",this._compositionView.style.height=u+"px",this._compositionView.style.lineHeight=u+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const w=this._compositionView.getBoundingClientRect();this._textarea.style.left=d+"px",this._textarea.style.top=l+"px",this._textarea.style.width=Math.max(w.width,1)+"px",this._textarea.style.height=Math.max(w.height,1)+"px",this._textarea.style.lineHeight=w.height+"px"}g||setTimeout(()=>this.updateCompositionElements(!0),0)}}};r.CompositionHelper=S=f([v(2,p.IBufferService),v(3,p.IOptionsService),v(4,p.ICoreService),v(5,h.IRenderService)],S)},9806:(m,r)=>{function o(f,v,h){const p=h.getBoundingClientRect(),y=f.getComputedStyle(h),S=parseInt(y.getPropertyValue("padding-left")),g=parseInt(y.getPropertyValue("padding-top"));return[v.clientX-p.left-S,v.clientY-p.top-g]}Object.defineProperty(r,"__esModule",{value:!0}),r.getCoords=r.getCoordsRelativeToElement=void 0,r.getCoordsRelativeToElement=o,r.getCoords=function(f,v,h,p,y,S,g,a,u){if(!S)return;const l=o(f,v,h);return l?(l[0]=Math.ceil((l[0]+(u?g/2:0))/g),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),p+(u?1:0)),l[1]=Math.min(Math.max(l[1],1),y),l):void 0}},9504:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.moveToCellSequence=void 0;const f=o(2584);function v(a,u,l,d){const w=a-h(a,l),k=u-h(u,l),b=Math.abs(w-k)-function(L,x,E){let R=0;const I=L-h(L,E),T=x-h(x,E);for(let A=0;A<Math.abs(I-T);A++){const O=p(L,x)==="A"?-1:1,U=E.buffer.lines.get(I+O*A);U!=null&&U.isWrapped&&R++}return R}(a,u,l);return g(b,S(p(a,u),d))}function h(a,u){let l=0,d=u.buffer.lines.get(a),w=d==null?void 0:d.isWrapped;for(;w&&a>=0&&a<u.rows;)l++,d=u.buffer.lines.get(--a),w=d==null?void 0:d.isWrapped;return l}function p(a,u){return a>u?"A":"B"}function y(a,u,l,d,w,k){let b=a,L=u,x="";for(;b!==l||L!==d;)b+=w?1:-1,w&&b>k.cols-1?(x+=k.buffer.translateBufferLineToString(L,!1,a,b),b=0,a=0,L++):!w&&b<0&&(x+=k.buffer.translateBufferLineToString(L,!1,0,a+1),b=k.cols-1,a=b,L--);return x+k.buffer.translateBufferLineToString(L,!1,a,b)}function S(a,u){const l=u?"O":"[";return f.C0.ESC+l+a}function g(a,u){a=Math.floor(a);let l="";for(let d=0;d<a;d++)l+=u;return l}r.moveToCellSequence=function(a,u,l,d){const w=l.buffer.x,k=l.buffer.y;if(!l.buffer.hasScrollback)return function(x,E,R,I,T,A){return v(E,I,T,A).length===0?"":g(y(x,E,x,E-h(E,T),!1,T).length,S("D",A))}(w,k,0,u,l,d)+v(k,u,l,d)+function(x,E,R,I,T,A){let O;O=v(E,I,T,A).length>0?I-h(I,T):E;const U=I,$=function(G,j,C,M,B,H){let Y;return Y=v(C,M,B,H).length>0?M-h(M,B):j,G<C&&Y<=M||G>=C&&Y<M?"C":"D"}(x,E,R,I,T,A);return g(y(x,O,R,U,$==="C",T).length,S($,A))}(w,k,a,u,l,d);let b;if(k===u)return b=w>a?"D":"C",g(Math.abs(w-a),S(b,d));b=k>u?"D":"C";const L=Math.abs(k-u);return g(function(x,E){return E.cols-x}(k>u?a:w,l)+(L-1)*l.cols+1+((k>u?w:a)-1),S(b,d))}},1296:function(m,r,o){var f=this&&this.__decorate||function(A,O,U,$){var G,j=arguments.length,C=j<3?O:$===null?$=Object.getOwnPropertyDescriptor(O,U):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(A,O,U,$);else for(var M=A.length-1;M>=0;M--)(G=A[M])&&(C=(j<3?G(C):j>3?G(O,U,C):G(O,U))||C);return j>3&&C&&Object.defineProperty(O,U,C),C},v=this&&this.__param||function(A,O){return function(U,$){O(U,$,A)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRenderer=void 0;const h=o(3787),p=o(2550),y=o(2223),S=o(6171),g=o(6052),a=o(4725),u=o(8055),l=o(8460),d=o(844),w=o(2585),k="xterm-dom-renderer-owner-",b="xterm-rows",L="xterm-fg-",x="xterm-bg-",E="xterm-focus",R="xterm-selection";let I=1,T=r.DomRenderer=class extends d.Disposable{constructor(A,O,U,$,G,j,C,M,B,H,Y,V,te){super(),this._terminal=A,this._document=O,this._element=U,this._screenElement=$,this._viewportElement=G,this._helperContainer=j,this._linkifier2=C,this._charSizeService=B,this._optionsService=H,this._bufferService=Y,this._coreBrowserService=V,this._themeService=te,this._terminalClass=I++,this._rowElements=[],this._selectionRenderModel=(0,g.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new l.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(b),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(R),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(Q=>this._injectCss(Q))),this._injectCss(this._themeService.colors),this._rowFactory=M.createInstance(h.DomRendererRowFactory,document),this._element.classList.add(k+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(Q=>this._handleLinkHover(Q))),this.register(this._linkifier2.onHideLinkUnderline(Q=>this._handleLinkLeave(Q))),this.register((0,d.toDisposable)(()=>{this._element.classList.remove(k+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new p.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const A=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*A,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*A),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/A),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/A),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const U of this._rowElements)U.style.width=`${this.dimensions.css.canvas.width}px`,U.style.height=`${this.dimensions.css.cell.height}px`,U.style.lineHeight=`${this.dimensions.css.cell.height}px`,U.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const O=`${this._terminalSelector} .${b} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=O,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(A){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let O=`${this._terminalSelector} .${b} { color: ${A.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;O+=`${this._terminalSelector} .${b} .xterm-dim { color: ${u.color.multiplyOpacity(A.foreground,.5).css};}`,O+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const U=`blink_underline_${this._terminalClass}`,$=`blink_bar_${this._terminalClass}`,G=`blink_block_${this._terminalClass}`;O+=`@keyframes ${U} { 50% { border-bottom-style: hidden; }}`,O+=`@keyframes ${$} { 50% { box-shadow: none; }}`,O+=`@keyframes ${G} { 0% { background-color: ${A.cursor.css}; color: ${A.cursorAccent.css}; } 50% { background-color: inherit; color: ${A.cursor.css}; }}`,O+=`${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${U} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${$} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${G} 1s step-end infinite;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block { background-color: ${A.cursor.css}; color: ${A.cursorAccent.css};}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${A.cursor.css} !important; color: ${A.cursorAccent.css} !important;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${A.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${A.cursor.css} inset;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${A.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,O+=`${this._terminalSelector} .${R} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${R} div { position: absolute; background-color: ${A.selectionBackgroundOpaque.css};}${this._terminalSelector} .${R} div { position: absolute; background-color: ${A.selectionInactiveBackgroundOpaque.css};}`;for(const[j,C]of A.ansi.entries())O+=`${this._terminalSelector} .${L}${j} { color: ${C.css}; }${this._terminalSelector} .${L}${j}.xterm-dim { color: ${u.color.multiplyOpacity(C,.5).css}; }${this._terminalSelector} .${x}${j} { background-color: ${C.css}; }`;O+=`${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR} { color: ${u.color.opaque(A.background).css}; }${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${u.color.multiplyOpacity(u.color.opaque(A.background),.5).css}; }${this._terminalSelector} .${x}${y.INVERTED_DEFAULT_COLOR} { background-color: ${A.foreground.css}; }`,this._themeStyleElement.textContent=O}_setDefaultSpacing(){const A=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${A}px`,this._rowFactory.defaultSpacing=A}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(A,O){for(let U=this._rowElements.length;U<=O;U++){const $=this._document.createElement("div");this._rowContainer.appendChild($),this._rowElements.push($)}for(;this._rowElements.length>O;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(A,O){this._refreshRowElements(A,O),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(E),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(E),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(A,O,U){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(A,O,U),this.renderRows(0,this._bufferService.rows-1),!A||!O)return;this._selectionRenderModel.update(this._terminal,A,O,U);const $=this._selectionRenderModel.viewportStartRow,G=this._selectionRenderModel.viewportEndRow,j=this._selectionRenderModel.viewportCappedStartRow,C=this._selectionRenderModel.viewportCappedEndRow;if(j>=this._bufferService.rows||C<0)return;const M=this._document.createDocumentFragment();if(U){const B=A[0]>O[0];M.appendChild(this._createSelectionElement(j,B?O[0]:A[0],B?A[0]:O[0],C-j+1))}else{const B=$===j?A[0]:0,H=j===G?O[0]:this._bufferService.cols;M.appendChild(this._createSelectionElement(j,B,H));const Y=C-j-1;if(M.appendChild(this._createSelectionElement(j+1,0,this._bufferService.cols,Y)),j!==C){const V=G===C?O[0]:this._bufferService.cols;M.appendChild(this._createSelectionElement(C,0,V))}}this._selectionContainer.appendChild(M)}_createSelectionElement(A,O,U,$=1){const G=this._document.createElement("div"),j=O*this.dimensions.css.cell.width;let C=this.dimensions.css.cell.width*(U-O);return j+C>this.dimensions.css.canvas.width&&(C=this.dimensions.css.canvas.width-j),G.style.height=$*this.dimensions.css.cell.height+"px",G.style.top=A*this.dimensions.css.cell.height+"px",G.style.left=`${j}px`,G.style.width=`${C}px`,G}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const A of this._rowElements)A.replaceChildren()}renderRows(A,O){const U=this._bufferService.buffer,$=U.ybase+U.y,G=Math.min(U.x,this._bufferService.cols-1),j=this._optionsService.rawOptions.cursorBlink,C=this._optionsService.rawOptions.cursorStyle,M=this._optionsService.rawOptions.cursorInactiveStyle;for(let B=A;B<=O;B++){const H=B+U.ydisp,Y=this._rowElements[B],V=U.lines.get(H);if(!Y||!V)break;Y.replaceChildren(...this._rowFactory.createRow(V,H,H===$,C,M,G,j,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${k}${this._terminalClass}`}_handleLinkHover(A){this._setCellUnderline(A.x1,A.x2,A.y1,A.y2,A.cols,!0)}_handleLinkLeave(A){this._setCellUnderline(A.x1,A.x2,A.y1,A.y2,A.cols,!1)}_setCellUnderline(A,O,U,$,G,j){U<0&&(A=0),$<0&&(O=0);const C=this._bufferService.rows-1;U=Math.max(Math.min(U,C),0),$=Math.max(Math.min($,C),0),G=Math.min(G,this._bufferService.cols);const M=this._bufferService.buffer,B=M.ybase+M.y,H=Math.min(M.x,G-1),Y=this._optionsService.rawOptions.cursorBlink,V=this._optionsService.rawOptions.cursorStyle,te=this._optionsService.rawOptions.cursorInactiveStyle;for(let Q=U;Q<=$;++Q){const z=Q+M.ydisp,P=this._rowElements[Q],J=M.lines.get(z);if(!P||!J)break;P.replaceChildren(...this._rowFactory.createRow(J,z,z===B,V,te,H,Y,this.dimensions.css.cell.width,this._widthCache,j?Q===U?A:0:-1,j?(Q===$?O:G)-1:-1))}}};r.DomRenderer=T=f([v(7,w.IInstantiationService),v(8,a.ICharSizeService),v(9,w.IOptionsService),v(10,w.IBufferService),v(11,a.ICoreBrowserService),v(12,a.IThemeService)],T)},3787:function(m,r,o){var f=this&&this.__decorate||function(b,L,x,E){var R,I=arguments.length,T=I<3?L:E===null?E=Object.getOwnPropertyDescriptor(L,x):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(b,L,x,E);else for(var A=b.length-1;A>=0;A--)(R=b[A])&&(T=(I<3?R(T):I>3?R(L,x,T):R(L,x))||T);return I>3&&T&&Object.defineProperty(L,x,T),T},v=this&&this.__param||function(b,L){return function(x,E){L(x,E,b)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRendererRowFactory=void 0;const h=o(2223),p=o(643),y=o(511),S=o(2585),g=o(8055),a=o(4725),u=o(4269),l=o(6171),d=o(3734);let w=r.DomRendererRowFactory=class{constructor(b,L,x,E,R,I,T){this._document=b,this._characterJoinerService=L,this._optionsService=x,this._coreBrowserService=E,this._coreService=R,this._decorationService=I,this._themeService=T,this._workCell=new y.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(b,L,x){this._selectionStart=b,this._selectionEnd=L,this._columnSelectMode=x}createRow(b,L,x,E,R,I,T,A,O,U,$){const G=[],j=this._characterJoinerService.getJoinedCharacters(L),C=this._themeService.colors;let M,B=b.getNoBgTrimmedLength();x&&B<I+1&&(B=I+1);let H=0,Y="",V=0,te=0,Q=0,z=!1,P=0,J=!1,K=0;const re=[],ne=U!==-1&&$!==-1;for(let be=0;be<B;be++){b.loadCell(be,this._workCell);let ge=this._workCell.getWidth();if(ge===0)continue;let Ee=!1,Ne=be,pe=this._workCell;if(j.length>0&&be===j[0][0]){Ee=!0;const ve=j.shift();pe=new u.JoinedCellData(this._workCell,b.translateToString(!0,ve[0],ve[1]),ve[1]-ve[0]),Ne=ve[1]-1,ge=pe.getWidth()}const $e=this._isCellInSelection(be,L),Je=x&&be===I,Re=ne&&be>=U&&be<=$;let oe=!1;this._decorationService.forEachDecorationAtCell(be,L,void 0,ve=>{oe=!0});let ye=pe.getChars()||p.WHITESPACE_CELL_CHAR;if(ye===" "&&(pe.isUnderline()||pe.isOverline())&&(ye=" "),K=ge*A-O.get(ye,pe.isBold(),pe.isItalic()),M){if(H&&($e&&J||!$e&&!J&&pe.bg===V)&&($e&&J&&C.selectionForeground||pe.fg===te)&&pe.extended.ext===Q&&Re===z&&K===P&&!Je&&!Ee&&!oe){pe.isInvisible()?Y+=p.WHITESPACE_CELL_CHAR:Y+=ye,H++;continue}H&&(M.textContent=Y),M=this._document.createElement("span"),H=0,Y=""}else M=this._document.createElement("span");if(V=pe.bg,te=pe.fg,Q=pe.extended.ext,z=Re,P=K,J=$e,Ee&&I>=be&&I<=Ne&&(I=be),!this._coreService.isCursorHidden&&Je&&this._coreService.isCursorInitialized){if(re.push("xterm-cursor"),this._coreBrowserService.isFocused)T&&re.push("xterm-cursor-blink"),re.push(E==="bar"?"xterm-cursor-bar":E==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(R)switch(R){case"outline":re.push("xterm-cursor-outline");break;case"block":re.push("xterm-cursor-block");break;case"bar":re.push("xterm-cursor-bar");break;case"underline":re.push("xterm-cursor-underline")}}if(pe.isBold()&&re.push("xterm-bold"),pe.isItalic()&&re.push("xterm-italic"),pe.isDim()&&re.push("xterm-dim"),Y=pe.isInvisible()?p.WHITESPACE_CELL_CHAR:pe.getChars()||p.WHITESPACE_CELL_CHAR,pe.isUnderline()&&(re.push(`xterm-underline-${pe.extended.underlineStyle}`),Y===" "&&(Y=" "),!pe.isUnderlineColorDefault()))if(pe.isUnderlineColorRGB())M.style.textDecorationColor=`rgb(${d.AttributeData.toColorRGB(pe.getUnderlineColor()).join(",")})`;else{let ve=pe.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&pe.isBold()&&ve<8&&(ve+=8),M.style.textDecorationColor=C.ansi[ve].css}pe.isOverline()&&(re.push("xterm-overline"),Y===" "&&(Y=" ")),pe.isStrikethrough()&&re.push("xterm-strikethrough"),Re&&(M.style.textDecoration="underline");let ue=pe.getFgColor(),me=pe.getFgColorMode(),Ie=pe.getBgColor(),X=pe.getBgColorMode();const Te=!!pe.isInverse();if(Te){const ve=ue;ue=Ie,Ie=ve;const dt=me;me=X,X=dt}let ie,ae,_e,xe=!1;switch(this._decorationService.forEachDecorationAtCell(be,L,void 0,ve=>{ve.options.layer!=="top"&&xe||(ve.backgroundColorRGB&&(X=50331648,Ie=ve.backgroundColorRGB.rgba>>8&16777215,ie=ve.backgroundColorRGB),ve.foregroundColorRGB&&(me=50331648,ue=ve.foregroundColorRGB.rgba>>8&16777215,ae=ve.foregroundColorRGB),xe=ve.options.layer==="top")}),!xe&&$e&&(ie=this._coreBrowserService.isFocused?C.selectionBackgroundOpaque:C.selectionInactiveBackgroundOpaque,Ie=ie.rgba>>8&16777215,X=50331648,xe=!0,C.selectionForeground&&(me=50331648,ue=C.selectionForeground.rgba>>8&16777215,ae=C.selectionForeground)),xe&&re.push("xterm-decoration-top"),X){case 16777216:case 33554432:_e=C.ansi[Ie],re.push(`xterm-bg-${Ie}`);break;case 50331648:_e=g.channels.toColor(Ie>>16,Ie>>8&255,255&Ie),this._addStyle(M,`background-color:#${k((Ie>>>0).toString(16),"0",6)}`);break;default:Te?(_e=C.foreground,re.push(`xterm-bg-${h.INVERTED_DEFAULT_COLOR}`)):_e=C.background}switch(ie||pe.isDim()&&(ie=g.color.multiplyOpacity(_e,.5)),me){case 16777216:case 33554432:pe.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(M,_e,C.ansi[ue],pe,ie,void 0)||re.push(`xterm-fg-${ue}`);break;case 50331648:const ve=g.channels.toColor(ue>>16&255,ue>>8&255,255&ue);this._applyMinimumContrast(M,_e,ve,pe,ie,ae)||this._addStyle(M,`color:#${k(ue.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(M,_e,C.foreground,pe,ie,ae)||Te&&re.push(`xterm-fg-${h.INVERTED_DEFAULT_COLOR}`)}re.length&&(M.className=re.join(" "),re.length=0),Je||Ee||oe?M.textContent=Y:H++,K!==this.defaultSpacing&&(M.style.letterSpacing=`${K}px`),G.push(M),be=Ne}return M&&H&&(M.textContent=Y),G}_applyMinimumContrast(b,L,x,E,R,I){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,l.treatGlyphAsBackgroundColor)(E.getCode()))return!1;const T=this._getContrastCache(E);let A;if(R||I||(A=T.getColor(L.rgba,x.rgba)),A===void 0){const O=this._optionsService.rawOptions.minimumContrastRatio/(E.isDim()?2:1);A=g.color.ensureContrastRatio(R||L,I||x,O),T.setColor((R||L).rgba,(I||x).rgba,A??null)}return!!A&&(this._addStyle(b,`color:${A.css}`),!0)}_getContrastCache(b){return b.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(b,L){b.setAttribute("style",`${b.getAttribute("style")||""}${L};`)}_isCellInSelection(b,L){const x=this._selectionStart,E=this._selectionEnd;return!(!x||!E)&&(this._columnSelectMode?x[0]<=E[0]?b>=x[0]&&L>=x[1]&&b<E[0]&&L<=E[1]:b<x[0]&&L>=x[1]&&b>=E[0]&&L<=E[1]:L>x[1]&&L<E[1]||x[1]===E[1]&&L===x[1]&&b>=x[0]&&b<E[0]||x[1]<E[1]&&L===E[1]&&b<E[0]||x[1]<E[1]&&L===x[1]&&b>=x[0])}};function k(b,L,x){for(;b.length<x;)b=L+b;return b}r.DomRendererRowFactory=w=f([v(1,a.ICharacterJoinerService),v(2,S.IOptionsService),v(3,a.ICoreBrowserService),v(4,S.ICoreService),v(5,S.IDecorationService),v(6,a.IThemeService)],w)},2550:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WidthCache=void 0,r.WidthCache=class{constructor(o,f){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=o.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const v=o.createElement("span");v.classList.add("xterm-char-measure-element");const h=o.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";const p=o.createElement("span");p.classList.add("xterm-char-measure-element"),p.style.fontStyle="italic";const y=o.createElement("span");y.classList.add("xterm-char-measure-element"),y.style.fontWeight="bold",y.style.fontStyle="italic",this._measureElements=[v,h,p,y],this._container.appendChild(v),this._container.appendChild(h),this._container.appendChild(p),this._container.appendChild(y),f.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(o,f,v,h){o===this._font&&f===this._fontSize&&v===this._weight&&h===this._weightBold||(this._font=o,this._fontSize=f,this._weight=v,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${v}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${v}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(o,f,v){let h=0;if(!f&&!v&&o.length===1&&(h=o.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];const S=this._measure(o,0);return S>0&&(this._flat[h]=S),S}let p=o;f&&(p+="B"),v&&(p+="I");let y=this._holey.get(p);if(y===void 0){let S=0;f&&(S|=1),v&&(S|=2),y=this._measure(o,S),y>0&&this._holey.set(p,y)}return y}_measure(o,f){const v=this._measureElements[f];return v.textContent=o.repeat(32),v.offsetWidth/32}}},2223:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;const f=o(6114);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},6171:(m,r)=>{function o(v){return 57508<=v&&v<=57558}function f(v){return v>=128512&&v<=128591||v>=127744&&v<=128511||v>=128640&&v<=128767||v>=9728&&v<=9983||v>=9984&&v<=10175||v>=65024&&v<=65039||v>=129280&&v<=129535||v>=127462&&v<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(v){if(!v)throw new Error("value must not be falsy");return v},r.isPowerlineGlyph=o,r.isRestrictedPowerlineGlyph=function(v){return 57520<=v&&v<=57527},r.isEmoji=f,r.allowRescaling=function(v,h,p,y){return h===1&&p>Math.ceil(1.5*y)&&v!==void 0&&v>255&&!f(v)&&!o(v)&&!function(S){return 57344<=S&&S<=63743}(v)},r.treatGlyphAsBackgroundColor=function(v){return o(v)||function(h){return 9472<=h&&h<=9631}(v)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(v,h,p=0){return(v-(2*Math.round(h)-p))%(2*Math.round(h))}},6052:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(v,h,p,y=!1){if(this.selectionStart=h,this.selectionEnd=p,!h||!p||h[0]===p[0]&&h[1]===p[1])return void this.clear();const S=v.buffers.active.ydisp,g=h[1]-S,a=p[1]-S,u=Math.max(g,0),l=Math.min(a,v.rows-1);u>=v.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=g,this.viewportEndRow=a,this.viewportCappedStartRow=u,this.viewportCappedEndRow=l,this.startCol=h[0],this.endCol=p[0])}isCellSelected(v,h,p){return!!this.hasSelection&&(p-=v.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&p>=this.viewportCappedStartRow&&h<this.endCol&&p<=this.viewportCappedEndRow:h<this.startCol&&p>=this.viewportCappedStartRow&&h>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol)}}r.createSelectionRenderModel=function(){return new o}},456:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionModel=void 0,r.SelectionModel=class{constructor(o){this._bufferService=o,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?o%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)-1]:[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[o,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[Math.max(o,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const o=this.selectionStart,f=this.selectionEnd;return!(!o||!f)&&(o[1]>f[1]||o[1]===f[1]&&o[0]>f[0])}handleTrim(o){return this.selectionStart&&(this.selectionStart[1]-=o),this.selectionEnd&&(this.selectionEnd[1]-=o),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharSizeService=void 0;const h=o(2585),p=o(8460),y=o(844);let S=r.CharSizeService=class extends y.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(l,d,w){super(),this._optionsService=w,this.width=0,this.height=0,this._onCharSizeChange=this.register(new p.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new u(this._optionsService))}catch{this._measureStrategy=this.register(new a(l,d,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const l=this._measureStrategy.measure();l.width===this.width&&l.height===this.height||(this.width=l.width,this.height=l.height,this._onCharSizeChange.fire())}};r.CharSizeService=S=f([v(2,h.IOptionsService)],S);class g extends y.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(d,w){d!==void 0&&d>0&&w!==void 0&&w>0&&(this._result.width=d,this._result.height=w)}}class a extends g{constructor(d,w,k){super(),this._document=d,this._parentElement=w,this._optionsService=k,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class u extends g{constructor(d){super(),this._optionsService=d,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const w=this._ctx.measureText("W");if(!("width"in w&&"fontBoundingBoxAscent"in w&&"fontBoundingBoxDescent"in w))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const d=this._ctx.measureText("W");return this._validateAndSet(d.width,d.fontBoundingBoxAscent+d.fontBoundingBoxDescent),this._result}}},4269:function(m,r,o){var f=this&&this.__decorate||function(u,l,d,w){var k,b=arguments.length,L=b<3?l:w===null?w=Object.getOwnPropertyDescriptor(l,d):w;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(u,l,d,w);else for(var x=u.length-1;x>=0;x--)(k=u[x])&&(L=(b<3?k(L):b>3?k(l,d,L):k(l,d))||L);return b>3&&L&&Object.defineProperty(l,d,L),L},v=this&&this.__param||function(u,l){return function(d,w){l(d,w,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterJoinerService=r.JoinedCellData=void 0;const h=o(3734),p=o(643),y=o(511),S=o(2585);class g extends h.AttributeData{constructor(l,d,w){super(),this.content=0,this.combinedData="",this.fg=l.fg,this.bg=l.bg,this.combinedData=d,this._width=w}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(l){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.JoinedCellData=g;let a=r.CharacterJoinerService=class h_{constructor(l){this._bufferService=l,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new y.CellData}register(l){const d={id:this._nextCharacterJoinerId++,handler:l};return this._characterJoiners.push(d),d.id}deregister(l){for(let d=0;d<this._characterJoiners.length;d++)if(this._characterJoiners[d].id===l)return this._characterJoiners.splice(d,1),!0;return!1}getJoinedCharacters(l){if(this._characterJoiners.length===0)return[];const d=this._bufferService.buffer.lines.get(l);if(!d||d.length===0)return[];const w=[],k=d.translateToString(!0);let b=0,L=0,x=0,E=d.getFg(0),R=d.getBg(0);for(let I=0;I<d.getTrimmedLength();I++)if(d.loadCell(I,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==E||this._workCell.bg!==R){if(I-b>1){const T=this._getJoinedRanges(k,x,L,d,b);for(let A=0;A<T.length;A++)w.push(T[A])}b=I,x=L,E=this._workCell.fg,R=this._workCell.bg}L+=this._workCell.getChars().length||p.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-b>1){const I=this._getJoinedRanges(k,x,L,d,b);for(let T=0;T<I.length;T++)w.push(I[T])}return w}_getJoinedRanges(l,d,w,k,b){const L=l.substring(d,w);let x=[];try{x=this._characterJoiners[0].handler(L)}catch(E){console.error(E)}for(let E=1;E<this._characterJoiners.length;E++)try{const R=this._characterJoiners[E].handler(L);for(let I=0;I<R.length;I++)h_._mergeRanges(x,R[I])}catch(R){console.error(R)}return this._stringRangesToCellRanges(x,k,b),x}_stringRangesToCellRanges(l,d,w){let k=0,b=!1,L=0,x=l[k];if(x){for(let E=w;E<this._bufferService.cols;E++){const R=d.getWidth(E),I=d.getString(E).length||p.WHITESPACE_CELL_CHAR.length;if(R!==0){if(!b&&x[0]<=L&&(x[0]=E,b=!0),x[1]<=L){if(x[1]=E,x=l[++k],!x)break;x[0]<=L?(x[0]=E,b=!0):b=!1}L+=I}}x&&(x[1]=this._bufferService.cols)}}static _mergeRanges(l,d){let w=!1;for(let k=0;k<l.length;k++){const b=l[k];if(w){if(d[1]<=b[0])return l[k-1][1]=d[1],l;if(d[1]<=b[1])return l[k-1][1]=Math.max(d[1],b[1]),l.splice(k,1),l;l.splice(k,1),k--}else{if(d[1]<=b[0])return l.splice(k,0,d),l;if(d[1]<=b[1])return b[0]=Math.min(d[0],b[0]),l;d[0]<b[1]&&(b[0]=Math.min(d[0],b[0]),w=!0)}}return w?l[l.length-1][1]=d[1]:l.push(d),l}};r.CharacterJoinerService=a=f([v(0,S.IBufferService)],a)},5114:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreBrowserService=void 0;const f=o(844),v=o(8460),h=o(3656);class p extends f.Disposable{constructor(g,a,u){super(),this._textarea=g,this._window=a,this.mainDocument=u,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new y(this._window),this._onDprChange=this.register(new v.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new v.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(l=>this._screenDprMonitor.setWindow(l))),this.register((0,v.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}get window(){return this._window}set window(g){this._window!==g&&(this._window=g,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}}r.CoreBrowserService=p;class y extends f.Disposable{constructor(g){super(),this._parentWindow=g,this._windowResizeListener=this.register(new f.MutableDisposable),this._onDprChange=this.register(new v.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,f.toDisposable)(()=>this.clearListener()))}setWindow(g){this._parentWindow=g,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,h.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var g;this._outerListener&&((g=this._resolutionMediaMatchList)==null||g.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkProviderService=void 0;const f=o(844);class v extends f.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,f.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(p){return this.linkProviders.push(p),{dispose:()=>{const y=this.linkProviders.indexOf(p);y!==-1&&this.linkProviders.splice(y,1)}}}}r.LinkProviderService=v},8934:function(m,r,o){var f=this&&this.__decorate||function(S,g,a,u){var l,d=arguments.length,w=d<3?g:u===null?u=Object.getOwnPropertyDescriptor(g,a):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(S,g,a,u);else for(var k=S.length-1;k>=0;k--)(l=S[k])&&(w=(d<3?l(w):d>3?l(g,a,w):l(g,a))||w);return d>3&&w&&Object.defineProperty(g,a,w),w},v=this&&this.__param||function(S,g){return function(a,u){g(a,u,S)}};Object.defineProperty(r,"__esModule",{value:!0}),r.MouseService=void 0;const h=o(4725),p=o(9806);let y=r.MouseService=class{constructor(S,g){this._renderService=S,this._charSizeService=g}getCoords(S,g,a,u,l){return(0,p.getCoords)(window,S,g,a,u,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,l)}getMouseReportCoords(S,g){const a=(0,p.getCoordsRelativeToElement)(window,S,g);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};r.MouseService=y=f([v(0,h.IRenderService),v(1,h.ICharSizeService)],y)},3230:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.RenderService=void 0;const h=o(6193),p=o(4725),y=o(8460),S=o(844),g=o(7226),a=o(2585);let u=r.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(l,d,w,k,b,L,x,E){super(),this._rowCount=l,this._charSizeService=k,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new g.DebouncedIdleTask,this._observerDisposable=this.register(new S.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new y.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new y.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new y.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new y.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new h.RenderDebouncer((R,I)=>this._renderRows(R,I),x),this.register(this._renderDebouncer),this.register(x.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(L.onResize(()=>this._fullRefresh())),this.register(L.buffers.onBufferActivate(()=>{var R;return(R=this._renderer.value)==null?void 0:R.clear()})),this.register(w.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(b.onDecorationRegistered(()=>this._fullRefresh())),this.register(b.onDecorationRemoved(()=>this._fullRefresh())),this.register(w.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(L.cols,L.rows),this._fullRefresh()})),this.register(w.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(L.buffer.y,L.buffer.y,!0))),this.register(E.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(x.window,d),this.register(x.onWindowChange(R=>this._registerIntersectionObserver(R,d)))}_registerIntersectionObserver(l,d){if("IntersectionObserver"in l){const w=new l.IntersectionObserver(k=>this._handleIntersectionChange(k[k.length-1]),{threshold:0});w.observe(d),this._observerDisposable.value=(0,S.toDisposable)(()=>w.disconnect())}}_handleIntersectionChange(l){this._isPaused=l.isIntersecting===void 0?l.intersectionRatio===0:!l.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(l,d,w=!1){this._isPaused?this._needsFullRefresh=!0:(w||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(l,d,this._rowCount))}_renderRows(l,d){this._renderer.value&&(l=Math.min(l,this._rowCount-1),d=Math.min(d,this._rowCount-1),this._renderer.value.renderRows(l,d),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:l,end:d}),this._onRender.fire({start:l,end:d}),this._isNextRenderRedrawOnly=!0)}resize(l,d){this._rowCount=d,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(l){this._renderer.value=l,this._renderer.value&&(this._renderer.value.onRequestRedraw(d=>this.refreshRows(d.start,d.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(l){return this._renderDebouncer.addRefreshCallback(l)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var l,d;this._renderer.value&&((d=(l=this._renderer.value).clearTextureAtlas)==null||d.call(l),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(l,d){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var w;return(w=this._renderer.value)==null?void 0:w.handleResize(l,d)}):this._renderer.value.handleResize(l,d),this._fullRefresh())}handleCharSizeChanged(){var l;(l=this._renderer.value)==null||l.handleCharSizeChanged()}handleBlur(){var l;(l=this._renderer.value)==null||l.handleBlur()}handleFocus(){var l;(l=this._renderer.value)==null||l.handleFocus()}handleSelectionChanged(l,d,w){var k;this._selectionState.start=l,this._selectionState.end=d,this._selectionState.columnSelectMode=w,(k=this._renderer.value)==null||k.handleSelectionChanged(l,d,w)}handleCursorMove(){var l;(l=this._renderer.value)==null||l.handleCursorMove()}clear(){var l;(l=this._renderer.value)==null||l.clear()}};r.RenderService=u=f([v(2,a.IOptionsService),v(3,p.ICharSizeService),v(4,a.IDecorationService),v(5,a.IBufferService),v(6,p.ICoreBrowserService),v(7,p.IThemeService)],u)},9312:function(m,r,o){var f=this&&this.__decorate||function(x,E,R,I){var T,A=arguments.length,O=A<3?E:I===null?I=Object.getOwnPropertyDescriptor(E,R):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(x,E,R,I);else for(var U=x.length-1;U>=0;U--)(T=x[U])&&(O=(A<3?T(O):A>3?T(E,R,O):T(E,R))||O);return A>3&&O&&Object.defineProperty(E,R,O),O},v=this&&this.__param||function(x,E){return function(R,I){E(R,I,x)}};Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionService=void 0;const h=o(9806),p=o(9504),y=o(456),S=o(4725),g=o(8460),a=o(844),u=o(6114),l=o(4841),d=o(511),w=o(2585),k=" ",b=new RegExp(k,"g");let L=r.SelectionService=class extends a.Disposable{constructor(x,E,R,I,T,A,O,U,$){super(),this._element=x,this._screenElement=E,this._linkifier=R,this._bufferService=I,this._coreService=T,this._mouseService=A,this._optionsService=O,this._renderService=U,this._coreBrowserService=$,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new d.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new g.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new g.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new g.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new g.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=G=>this._handleMouseMove(G),this._mouseUpListener=G=>this._handleMouseUp(G),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(G=>this._handleTrim(G)),this.register(this._bufferService.buffers.onBufferActivate(G=>this._handleBufferActivate(G))),this.enable(),this._model=new y.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,a.toDisposable)(()=>{this._removeMouseDownListeners()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;return!(!x||!E||x[0]===E[0]&&x[1]===E[1])}get selectionText(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;if(!x||!E)return"";const R=this._bufferService.buffer,I=[];if(this._activeSelectionMode===3){if(x[0]===E[0])return"";const T=x[0]<E[0]?x[0]:E[0],A=x[0]<E[0]?E[0]:x[0];for(let O=x[1];O<=E[1];O++){const U=R.translateBufferLineToString(O,!0,T,A);I.push(U)}}else{const T=x[1]===E[1]?E[0]:void 0;I.push(R.translateBufferLineToString(x[1],!0,x[0],T));for(let A=x[1]+1;A<=E[1]-1;A++){const O=R.lines.get(A),U=R.translateBufferLineToString(A,!0);O!=null&&O.isWrapped?I[I.length-1]+=U:I.push(U)}if(x[1]!==E[1]){const A=R.lines.get(E[1]),O=R.translateBufferLineToString(E[1],!0,0,E[0]);A&&A.isWrapped?I[I.length-1]+=O:I.push(O)}}return I.map(T=>T.replace(b," ")).join(u.isWindows?`\r
47
47
  `:`
48
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(x){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),u.isLinux&&x&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(x){const E=this._getMouseBufferCoords(x),R=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!!(R&&I&&E)&&this._areCoordsInSelection(E,R,I)}isCellInSelection(x,E){const R=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!(!R||!I)&&this._areCoordsInSelection([x,E],R,I)}_areCoordsInSelection(x,E,R){return x[1]>E[1]&&x[1]<R[1]||E[1]===R[1]&&x[1]===E[1]&&x[0]>=E[0]&&x[0]<R[0]||E[1]<R[1]&&x[1]===R[1]&&x[0]<R[0]||E[1]<R[1]&&x[1]===E[1]&&x[0]>=E[0]}_selectWordAtCursor(x,E){var T,A;const R=(A=(T=this._linkifier.currentLink)==null?void 0:T.link)==null?void 0:A.range;if(R)return this._model.selectionStart=[R.start.x-1,R.start.y-1],this._model.selectionStartLength=(0,l.getRangeLength)(R,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const I=this._getMouseBufferCoords(x);return!!I&&(this._selectWordAt(I,E),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(x,E){this._model.clearSelection(),x=Math.max(x,0),E=Math.min(E,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,x],this._model.selectionEnd=[this._bufferService.cols,E],this.refresh(),this._onSelectionChange.fire()}_handleTrim(x){this._model.handleTrim(x)&&this.refresh()}_getMouseBufferCoords(x){const E=this._mouseService.getCoords(x,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(E)return E[0]--,E[1]--,E[1]+=this._bufferService.buffer.ydisp,E}_getMouseEventScrollAmount(x){let E=(0,h.getCoordsRelativeToElement)(this._coreBrowserService.window,x,this._screenElement)[1];const R=this._renderService.dimensions.css.canvas.height;return E>=0&&E<=R?0:(E>R&&(E-=R),E=Math.min(Math.max(E,-50),50),E/=50,E/Math.abs(E)+Math.round(14*E))}shouldForceSelection(x){return u.isMac?x.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:x.shiftKey}handleMouseDown(x){if(this._mouseDownTimeStamp=x.timeStamp,(x.button!==2||!this.hasSelection)&&x.button===0){if(!this._enabled){if(!this.shouldForceSelection(x))return;x.stopPropagation()}x.preventDefault(),this._dragScrollAmount=0,this._enabled&&x.shiftKey?this._handleIncrementalClick(x):x.detail===1?this._handleSingleClick(x):x.detail===2?this._handleDoubleClick(x):x.detail===3&&this._handleTripleClick(x),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(x){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(x))}_handleSingleClick(x){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(x)?3:0,this._model.selectionStart=this._getMouseBufferCoords(x),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const E=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);E&&E.length!==this._model.selectionStart[0]&&E.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(x){this._selectWordAtCursor(x,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(x){const E=this._getMouseBufferCoords(x);E&&(this._activeSelectionMode=2,this._selectLineAt(E[1]))}shouldColumnSelect(x){return x.altKey&&!(u.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(x){if(x.stopImmediatePropagation(),!this._model.selectionStart)return;const E=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(x),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(x),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const R=this._bufferService.buffer;if(this._model.selectionEnd[1]<R.lines.length){const I=R.lines.get(this._model.selectionEnd[1]);I&&I.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}E&&E[0]===this._model.selectionEnd[0]&&E[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const x=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(x.ydisp+this._bufferService.rows,x.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=x.ydisp),this.refresh()}}_handleMouseUp(x){const E=x.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&E<500&&x.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const R=this._mouseService.getCoords(x,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(R&&R[0]!==void 0&&R[1]!==void 0){const I=(0,p.moveToCellSequence)(R[0]-1,R[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(I,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd,R=!(!x||!E||x[0]===E[0]&&x[1]===E[1]);R?x&&E&&(this._oldSelectionStart&&this._oldSelectionEnd&&x[0]===this._oldSelectionStart[0]&&x[1]===this._oldSelectionStart[1]&&E[0]===this._oldSelectionEnd[0]&&E[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(x,E,R)):this._oldHasSelection&&this._fireOnSelectionChange(x,E,R)}_fireOnSelectionChange(x,E,R){this._oldSelectionStart=x,this._oldSelectionEnd=E,this._oldHasSelection=R,this._onSelectionChange.fire()}_handleBufferActivate(x){this.clearSelection(),this._trimListener.dispose(),this._trimListener=x.activeBuffer.lines.onTrim(E=>this._handleTrim(E))}_convertViewportColToCharacterIndex(x,E){let R=E;for(let I=0;E>=I;I++){const T=x.loadCell(I,this._workCell).getChars().length;this._workCell.getWidth()===0?R--:T>1&&E!==I&&(R+=T-1)}return R}setSelection(x,E,R){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[x,E],this._model.selectionStartLength=R,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(x){this._isClickInSelection(x)||(this._selectWordAtCursor(x,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(x,E,R=!0,I=!0){if(x[0]>=this._bufferService.cols)return;const T=this._bufferService.buffer,A=T.lines.get(x[1]);if(!A)return;const P=T.translateBufferLineToString(x[1],!1);let U=this._convertViewportColToCharacterIndex(A,x[0]),$=U;const G=x[0]-U;let j=0,C=0,M=0,B=0;if(P.charAt(U)===" "){for(;U>0&&P.charAt(U-1)===" ";)U--;for(;$<P.length&&P.charAt($+1)===" ";)$++}else{let V=x[0],te=x[0];A.getWidth(V)===0&&(j++,V--),A.getWidth(te)===2&&(C++,te++);const Q=A.getString(te).length;for(Q>1&&(B+=Q-1,$+=Q-1);V>0&&U>0&&!this._isCharWordSeparator(A.loadCell(V-1,this._workCell));){A.loadCell(V-1,this._workCell);const z=this._workCell.getChars().length;this._workCell.getWidth()===0?(j++,V--):z>1&&(M+=z-1,U-=z-1),U--,V--}for(;te<A.length&&$+1<P.length&&!this._isCharWordSeparator(A.loadCell(te+1,this._workCell));){A.loadCell(te+1,this._workCell);const z=this._workCell.getChars().length;this._workCell.getWidth()===2?(C++,te++):z>1&&(B+=z-1,$+=z-1),$++,te++}}$++;let H=U+G-j+M,Y=Math.min(this._bufferService.cols,$-U+j+C-M-B);if(E||P.slice(U,$).trim()!==""){if(R&&H===0&&A.getCodePoint(0)!==32){const V=T.lines.get(x[1]-1);if(V&&A.isWrapped&&V.getCodePoint(this._bufferService.cols-1)!==32){const te=this._getWordAt([this._bufferService.cols-1,x[1]-1],!1,!0,!1);if(te){const Q=this._bufferService.cols-te.start;H-=Q,Y+=Q}}}if(I&&H+Y===this._bufferService.cols&&A.getCodePoint(this._bufferService.cols-1)!==32){const V=T.lines.get(x[1]+1);if(V!=null&&V.isWrapped&&V.getCodePoint(0)!==32){const te=this._getWordAt([0,x[1]+1],!1,!1,!0);te&&(Y+=te.length)}}return{start:H,length:Y}}}_selectWordAt(x,E){const R=this._getWordAt(x,E);if(R){for(;R.start<0;)R.start+=this._bufferService.cols,x[1]--;this._model.selectionStart=[R.start,x[1]],this._model.selectionStartLength=R.length}}_selectToWordAt(x){const E=this._getWordAt(x,!0);if(E){let R=x[1];for(;E.start<0;)E.start+=this._bufferService.cols,R--;if(!this._model.areSelectionValuesReversed())for(;E.start+E.length>this._bufferService.cols;)E.length-=this._bufferService.cols,R++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?E.start:E.start+E.length,R]}}_isCharWordSeparator(x){return x.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(x.getChars())>=0}_selectLineAt(x){const E=this._bufferService.buffer.getWrappedRangeForLine(x),R={start:{x:0,y:E.first},end:{x:this._bufferService.cols-1,y:E.last}};this._model.selectionStart=[0,E.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,l.getRangeLength)(R,this._bufferService.cols)}};r.SelectionService=L=f([v(3,w.IBufferService),v(4,w.ICoreService),v(5,S.IMouseService),v(6,w.IOptionsService),v(7,S.IRenderService),v(8,S.ICoreBrowserService)],L)},4725:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ILinkProviderService=r.IThemeService=r.ICharacterJoinerService=r.ISelectionService=r.IRenderService=r.IMouseService=r.ICoreBrowserService=r.ICharSizeService=void 0;const f=o(8343);r.ICharSizeService=(0,f.createDecorator)("CharSizeService"),r.ICoreBrowserService=(0,f.createDecorator)("CoreBrowserService"),r.IMouseService=(0,f.createDecorator)("MouseService"),r.IRenderService=(0,f.createDecorator)("RenderService"),r.ISelectionService=(0,f.createDecorator)("SelectionService"),r.ICharacterJoinerService=(0,f.createDecorator)("CharacterJoinerService"),r.IThemeService=(0,f.createDecorator)("ThemeService"),r.ILinkProviderService=(0,f.createDecorator)("LinkProviderService")},6731:function(m,r,o){var f=this&&this.__decorate||function(L,x,E,R){var I,T=arguments.length,A=T<3?x:R===null?R=Object.getOwnPropertyDescriptor(x,E):R;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(L,x,E,R);else for(var P=L.length-1;P>=0;P--)(I=L[P])&&(A=(T<3?I(A):T>3?I(x,E,A):I(x,E))||A);return T>3&&A&&Object.defineProperty(x,E,A),A},v=this&&this.__param||function(L,x){return function(E,R){x(E,R,L)}};Object.defineProperty(r,"__esModule",{value:!0}),r.ThemeService=r.DEFAULT_ANSI_COLORS=void 0;const h=o(7239),p=o(8055),y=o(8460),S=o(844),g=o(2585),a=p.css.toColor("#ffffff"),u=p.css.toColor("#000000"),l=p.css.toColor("#ffffff"),d=p.css.toColor("#000000"),w={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};r.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const L=[p.css.toColor("#2e3436"),p.css.toColor("#cc0000"),p.css.toColor("#4e9a06"),p.css.toColor("#c4a000"),p.css.toColor("#3465a4"),p.css.toColor("#75507b"),p.css.toColor("#06989a"),p.css.toColor("#d3d7cf"),p.css.toColor("#555753"),p.css.toColor("#ef2929"),p.css.toColor("#8ae234"),p.css.toColor("#fce94f"),p.css.toColor("#729fcf"),p.css.toColor("#ad7fa8"),p.css.toColor("#34e2e2"),p.css.toColor("#eeeeec")],x=[0,95,135,175,215,255];for(let E=0;E<216;E++){const R=x[E/36%6|0],I=x[E/6%6|0],T=x[E%6];L.push({css:p.channels.toCss(R,I,T),rgba:p.channels.toRgba(R,I,T)})}for(let E=0;E<24;E++){const R=8+10*E;L.push({css:p.channels.toCss(R,R,R),rgba:p.channels.toRgba(R,R,R)})}return L})());let k=r.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(L){super(),this._optionsService=L,this._contrastCache=new h.ColorContrastCache,this._halfContrastCache=new h.ColorContrastCache,this._onChangeColors=this.register(new y.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:a,background:u,cursor:l,cursorAccent:d,selectionForeground:void 0,selectionBackgroundTransparent:w,selectionBackgroundOpaque:p.color.blend(u,w),selectionInactiveBackgroundTransparent:w,selectionInactiveBackgroundOpaque:p.color.blend(u,w),ansi:r.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this.register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}_setTheme(L={}){const x=this._colors;if(x.foreground=b(L.foreground,a),x.background=b(L.background,u),x.cursor=b(L.cursor,l),x.cursorAccent=b(L.cursorAccent,d),x.selectionBackgroundTransparent=b(L.selectionBackground,w),x.selectionBackgroundOpaque=p.color.blend(x.background,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundTransparent=b(L.selectionInactiveBackground,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundOpaque=p.color.blend(x.background,x.selectionInactiveBackgroundTransparent),x.selectionForeground=L.selectionForeground?b(L.selectionForeground,p.NULL_COLOR):void 0,x.selectionForeground===p.NULL_COLOR&&(x.selectionForeground=void 0),p.color.isOpaque(x.selectionBackgroundTransparent)&&(x.selectionBackgroundTransparent=p.color.opacity(x.selectionBackgroundTransparent,.3)),p.color.isOpaque(x.selectionInactiveBackgroundTransparent)&&(x.selectionInactiveBackgroundTransparent=p.color.opacity(x.selectionInactiveBackgroundTransparent,.3)),x.ansi=r.DEFAULT_ANSI_COLORS.slice(),x.ansi[0]=b(L.black,r.DEFAULT_ANSI_COLORS[0]),x.ansi[1]=b(L.red,r.DEFAULT_ANSI_COLORS[1]),x.ansi[2]=b(L.green,r.DEFAULT_ANSI_COLORS[2]),x.ansi[3]=b(L.yellow,r.DEFAULT_ANSI_COLORS[3]),x.ansi[4]=b(L.blue,r.DEFAULT_ANSI_COLORS[4]),x.ansi[5]=b(L.magenta,r.DEFAULT_ANSI_COLORS[5]),x.ansi[6]=b(L.cyan,r.DEFAULT_ANSI_COLORS[6]),x.ansi[7]=b(L.white,r.DEFAULT_ANSI_COLORS[7]),x.ansi[8]=b(L.brightBlack,r.DEFAULT_ANSI_COLORS[8]),x.ansi[9]=b(L.brightRed,r.DEFAULT_ANSI_COLORS[9]),x.ansi[10]=b(L.brightGreen,r.DEFAULT_ANSI_COLORS[10]),x.ansi[11]=b(L.brightYellow,r.DEFAULT_ANSI_COLORS[11]),x.ansi[12]=b(L.brightBlue,r.DEFAULT_ANSI_COLORS[12]),x.ansi[13]=b(L.brightMagenta,r.DEFAULT_ANSI_COLORS[13]),x.ansi[14]=b(L.brightCyan,r.DEFAULT_ANSI_COLORS[14]),x.ansi[15]=b(L.brightWhite,r.DEFAULT_ANSI_COLORS[15]),L.extendedAnsi){const E=Math.min(x.ansi.length-16,L.extendedAnsi.length);for(let R=0;R<E;R++)x.ansi[R+16]=b(L.extendedAnsi[R],r.DEFAULT_ANSI_COLORS[R+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(L){this._restoreColor(L),this._onChangeColors.fire(this.colors)}_restoreColor(L){if(L!==void 0)switch(L){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[L]=this._restoreColors.ansi[L]}else for(let x=0;x<this._restoreColors.ansi.length;++x)this._colors.ansi[x]=this._restoreColors.ansi[x]}modifyColors(L){L(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function b(L,x){if(L!==void 0)try{return p.css.toColor(L)}catch{}return x}r.ThemeService=k=f([v(0,g.IOptionsService)],k)},6349:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CircularList=void 0;const f=o(8460),v=o(844);class h extends v.Disposable{constructor(y){super(),this._maxLength=y,this.onDeleteEmitter=this.register(new f.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new f.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new f.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(y){if(this._maxLength===y)return;const S=new Array(y);for(let g=0;g<Math.min(y,this.length);g++)S[g]=this._array[this._getCyclicIndex(g)];this._array=S,this._maxLength=y,this._startIndex=0}get length(){return this._length}set length(y){if(y>this._length)for(let S=this._length;S<y;S++)this._array[S]=void 0;this._length=y}get(y){return this._array[this._getCyclicIndex(y)]}set(y,S){this._array[this._getCyclicIndex(y)]=S}push(y){this._array[this._getCyclicIndex(this._length)]=y,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(y,S,...g){if(S){for(let a=y;a<this._length-S;a++)this._array[this._getCyclicIndex(a)]=this._array[this._getCyclicIndex(a+S)];this._length-=S,this.onDeleteEmitter.fire({index:y,amount:S})}for(let a=this._length-1;a>=y;a--)this._array[this._getCyclicIndex(a+g.length)]=this._array[this._getCyclicIndex(a)];for(let a=0;a<g.length;a++)this._array[this._getCyclicIndex(y+a)]=g[a];if(g.length&&this.onInsertEmitter.fire({index:y,amount:g.length}),this._length+g.length>this._maxLength){const a=this._length+g.length-this._maxLength;this._startIndex+=a,this._length=this._maxLength,this.onTrimEmitter.fire(a)}else this._length+=g.length}trimStart(y){y>this._length&&(y=this._length),this._startIndex+=y,this._length-=y,this.onTrimEmitter.fire(y)}shiftElements(y,S,g){if(!(S<=0)){if(y<0||y>=this._length)throw new Error("start argument out of range");if(y+g<0)throw new Error("Cannot shift elements in list beyond index 0");if(g>0){for(let u=S-1;u>=0;u--)this.set(y+u+g,this.get(y+u));const a=y+S+g-this._length;if(a>0)for(this._length+=a;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let a=0;a<S;a++)this.set(y+a+g,this.get(y+a))}}_getCyclicIndex(y){return(this._startIndex+y)%this._maxLength}}r.CircularList=h},1439:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0,r.clone=function o(f,v=5){if(typeof f!="object")return f;const h=Array.isArray(f)?[]:{};for(const p in f)h[p]=v<=1?f[p]:f[p]&&o(f[p],v-1);return h}},8055:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let o=0,f=0,v=0,h=0;var p,y,S,g,a;function u(d){const w=d.toString(16);return w.length<2?"0"+w:w}function l(d,w){return d<w?(w+.05)/(d+.05):(d+.05)/(w+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(w,k,b,L){return L!==void 0?`#${u(w)}${u(k)}${u(b)}${u(L)}`:`#${u(w)}${u(k)}${u(b)}`},d.toRgba=function(w,k,b,L=255){return(w<<24|k<<16|b<<8|L)>>>0},d.toColor=function(w,k,b,L){return{css:d.toCss(w,k,b,L),rgba:d.toRgba(w,k,b,L)}}}(p||(r.channels=p={})),function(d){function w(k,b){return h=Math.round(255*b),[o,f,v]=a.toChannels(k.rgba),{css:p.toCss(o,f,v,h),rgba:p.toRgba(o,f,v,h)}}d.blend=function(k,b){if(h=(255&b.rgba)/255,h===1)return{css:b.css,rgba:b.rgba};const L=b.rgba>>24&255,x=b.rgba>>16&255,E=b.rgba>>8&255,R=k.rgba>>24&255,I=k.rgba>>16&255,T=k.rgba>>8&255;return o=R+Math.round((L-R)*h),f=I+Math.round((x-I)*h),v=T+Math.round((E-T)*h),{css:p.toCss(o,f,v),rgba:p.toRgba(o,f,v)}},d.isOpaque=function(k){return(255&k.rgba)==255},d.ensureContrastRatio=function(k,b,L){const x=a.ensureContrastRatio(k.rgba,b.rgba,L);if(x)return p.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(k){const b=(255|k.rgba)>>>0;return[o,f,v]=a.toChannels(b),{css:p.toCss(o,f,v),rgba:b}},d.opacity=w,d.multiplyOpacity=function(k,b){return h=255&k.rgba,w(k,h*b/255)},d.toColorRGB=function(k){return[k.rgba>>24&255,k.rgba>>16&255,k.rgba>>8&255]}}(y||(r.color=y={})),function(d){let w,k;try{const b=document.createElement("canvas");b.width=1,b.height=1;const L=b.getContext("2d",{willReadFrequently:!0});L&&(w=L,w.globalCompositeOperation="copy",k=w.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),p.toColor(o,f,v);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),h=parseInt(b.slice(4,5).repeat(2),16),p.toColor(o,f,v,h);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const L=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(L)return o=parseInt(L[1]),f=parseInt(L[2]),v=parseInt(L[3]),h=Math.round(255*(L[5]===void 0?1:parseFloat(L[5]))),p.toColor(o,f,v,h);if(!w||!k)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=k,w.fillStyle=b,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[o,f,v,h]=w.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(o,f,v,h),css:b}}}(S||(r.css=S={})),function(d){function w(k,b,L){const x=k/255,E=b/255,R=L/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(R<=.03928?R/12.92:Math.pow((R+.055)/1.055,2.4))}d.relativeLuminance=function(k){return w(k>>16&255,k>>8&255,255&k)},d.relativeLuminance2=w}(g||(r.rgb=g={})),function(d){function w(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,P=L>>8&255,U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));for(;U<x&&(T>0||A>0||P>0);)T-=Math.max(0,Math.ceil(.1*T)),A-=Math.max(0,Math.ceil(.1*A)),P-=Math.max(0,Math.ceil(.1*P)),U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|P<<8|255)>>>0}function k(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,P=L>>8&255,U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));for(;U<x&&(T<255||A<255||P<255);)T=Math.min(255,T+Math.ceil(.1*(255-T))),A=Math.min(255,A+Math.ceil(.1*(255-A))),P=Math.min(255,P+Math.ceil(.1*(255-P))),U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|P<<8|255)>>>0}d.blend=function(b,L){if(h=(255&L)/255,h===1)return L;const x=L>>24&255,E=L>>16&255,R=L>>8&255,I=b>>24&255,T=b>>16&255,A=b>>8&255;return o=I+Math.round((x-I)*h),f=T+Math.round((E-T)*h),v=A+Math.round((R-A)*h),p.toRgba(o,f,v)},d.ensureContrastRatio=function(b,L,x){const E=g.relativeLuminance(b>>8),R=g.relativeLuminance(L>>8);if(l(E,R)<x){if(R<E){const A=w(b,L,x),P=l(E,g.relativeLuminance(A>>8));if(P<x){const U=k(b,L,x);return P>l(E,g.relativeLuminance(U>>8))?A:U}return A}const I=k(b,L,x),T=l(E,g.relativeLuminance(I>>8));if(T<x){const A=w(b,L,x);return T>l(E,g.relativeLuminance(A>>8))?I:A}return I}},d.reduceLuminance=w,d.increaseLuminance=k,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(r.rgba=a={})),r.toPaddedHex=u,r.contrastRatio=l},8969:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreTerminal=void 0;const f=o(844),v=o(2585),h=o(4348),p=o(7866),y=o(744),S=o(7302),g=o(6975),a=o(8460),u=o(1753),l=o(1480),d=o(7994),w=o(9282),k=o(5435),b=o(5981),L=o(2660);let x=!1;class E extends f.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new a.EventEmitter),this._onScroll.event(I=>{var T;(T=this._onScrollApi)==null||T.fire(I.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(I){for(const T in I)this.optionsService.options[T]=I[T]}constructor(I){super(),this._windowsWrappingHeuristics=this.register(new f.MutableDisposable),this._onBinary=this.register(new a.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new a.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new a.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new a.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new a.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new a.EventEmitter),this._instantiationService=new h.InstantiationService,this.optionsService=this.register(new S.OptionsService(I)),this._instantiationService.setService(v.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(y.BufferService)),this._instantiationService.setService(v.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(p.LogService)),this._instantiationService.setService(v.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(g.CoreService)),this._instantiationService.setService(v.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(u.CoreMouseService)),this._instantiationService.setService(v.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(l.UnicodeService)),this._instantiationService.setService(v.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(d.CharsetService),this._instantiationService.setService(v.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(L.OscLinkService),this._instantiationService.setService(v.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new k.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,a.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,a.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,a.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,a.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(T=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(T=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new b.WriteBuffer((T,A)=>this._inputHandler.parse(T,A))),this.register((0,a.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(I,T){this._writeBuffer.write(I,T)}writeSync(I,T){this._logService.logLevel<=v.LogLevelEnum.WARN&&!x&&(this._logService.warn("writeSync is unreliable and will be removed soon."),x=!0),this._writeBuffer.writeSync(I,T)}input(I,T=!0){this.coreService.triggerDataEvent(I,T)}resize(I,T){isNaN(I)||isNaN(T)||(I=Math.max(I,y.MINIMUM_COLS),T=Math.max(T,y.MINIMUM_ROWS),this._bufferService.resize(I,T))}scroll(I,T=!1){this._bufferService.scroll(I,T)}scrollLines(I,T,A){this._bufferService.scrollLines(I,T,A)}scrollPages(I){this.scrollLines(I*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(I){const T=I-this._bufferService.buffer.ydisp;T!==0&&this.scrollLines(T)}registerEscHandler(I,T){return this._inputHandler.registerEscHandler(I,T)}registerDcsHandler(I,T){return this._inputHandler.registerDcsHandler(I,T)}registerCsiHandler(I,T){return this._inputHandler.registerCsiHandler(I,T)}registerOscHandler(I,T){return this._inputHandler.registerOscHandler(I,T)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let I=!1;const T=this.optionsService.rawOptions.windowsPty;T&&T.buildNumber!==void 0&&T.buildNumber!==void 0?I=T.backend==="conpty"&&T.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(I=!0),I?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const I=[];I.push(this.onLineFeed(w.updateWindowsModeWrappedState.bind(null,this._bufferService))),I.push(this.registerCsiHandler({final:"H"},()=>((0,w.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,f.toDisposable)(()=>{for(const T of I)T.dispose()})}}}r.CoreTerminal=E},8460:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const v=[];for(let h=0;h<this._listeners.length;h++)v.push(this._listeners[h]);for(let h=0;h<v.length;h++)v[h].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(o,f){return o(v=>f.fire(v))},r.runAndSubscribe=function(o,f){return f(void 0),o(v=>f(v))}},5435:function(m,r,o){var f=this&&this.__decorate||function(j,C,M,B){var H,Y=arguments.length,V=Y<3?C:B===null?B=Object.getOwnPropertyDescriptor(C,M):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")V=Reflect.decorate(j,C,M,B);else for(var te=j.length-1;te>=0;te--)(H=j[te])&&(V=(Y<3?H(V):Y>3?H(C,M,V):H(C,M))||V);return Y>3&&V&&Object.defineProperty(C,M,V),V},v=this&&this.__param||function(j,C){return function(M,B){C(M,B,j)}};Object.defineProperty(r,"__esModule",{value:!0}),r.InputHandler=r.WindowsOptionsReportType=void 0;const h=o(2584),p=o(7116),y=o(2015),S=o(844),g=o(482),a=o(8437),u=o(8460),l=o(643),d=o(511),w=o(3734),k=o(2585),b=o(1480),L=o(6242),x=o(6351),E=o(5941),R={"(":0,")":1,"*":2,"+":3,"-":1,".":2},I=131072;function T(j,C){if(j>24)return C.setWinLines||!1;switch(j){case 1:return!!C.restoreWin;case 2:return!!C.minimizeWin;case 3:return!!C.setWinPosition;case 4:return!!C.setWinSizePixels;case 5:return!!C.raiseWin;case 6:return!!C.lowerWin;case 7:return!!C.refreshWin;case 8:return!!C.setWinSizeChars;case 9:return!!C.maximizeWin;case 10:return!!C.fullscreenWin;case 11:return!!C.getWinState;case 13:return!!C.getWinPosition;case 14:return!!C.getWinSizePixels;case 15:return!!C.getScreenSizePixels;case 16:return!!C.getCellSizePixels;case 18:return!!C.getWinSizeChars;case 19:return!!C.getScreenSizeChars;case 20:return!!C.getIconTitle;case 21:return!!C.getWinTitle;case 22:return!!C.pushTitle;case 23:return!!C.popTitle;case 24:return!!C.setWinLines}return!1}var A;(function(j){j[j.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",j[j.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(A||(r.WindowsOptionsReportType=A={}));let P=0;class U extends S.Disposable{getAttrData(){return this._curAttrData}constructor(C,M,B,H,Y,V,te,Q,z=new y.EscapeSequenceParser){super(),this._bufferService=C,this._charsetService=M,this._coreService=B,this._logService=H,this._optionsService=Y,this._oscLinkService=V,this._coreMouseService=te,this._unicodeService=Q,this._parser=z,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new g.StringToUtf32,this._utf8Decoder=new g.Utf8ToUtf32,this._workCell=new d.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new u.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new u.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new u.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new u.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new u.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new u.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new u.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new u.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new u.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new u.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new u.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new u.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new u.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new $(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(O=>this._activeBuffer=O.activeBuffer)),this._parser.setCsiHandlerFallback((O,J)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(O),params:J.toArray()})}),this._parser.setEscHandlerFallback(O=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(O)})}),this._parser.setExecuteHandlerFallback(O=>{this._logService.debug("Unknown EXECUTE code: ",{code:O})}),this._parser.setOscHandlerFallback((O,J,K)=>{this._logService.debug("Unknown OSC code: ",{identifier:O,action:J,data:K})}),this._parser.setDcsHandlerFallback((O,J,K)=>{J==="HOOK"&&(K=K.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(O),action:J,payload:K})}),this._parser.setPrintHandler((O,J,K)=>this.print(O,J,K)),this._parser.registerCsiHandler({final:"@"},O=>this.insertChars(O)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},O=>this.scrollLeft(O)),this._parser.registerCsiHandler({final:"A"},O=>this.cursorUp(O)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},O=>this.scrollRight(O)),this._parser.registerCsiHandler({final:"B"},O=>this.cursorDown(O)),this._parser.registerCsiHandler({final:"C"},O=>this.cursorForward(O)),this._parser.registerCsiHandler({final:"D"},O=>this.cursorBackward(O)),this._parser.registerCsiHandler({final:"E"},O=>this.cursorNextLine(O)),this._parser.registerCsiHandler({final:"F"},O=>this.cursorPrecedingLine(O)),this._parser.registerCsiHandler({final:"G"},O=>this.cursorCharAbsolute(O)),this._parser.registerCsiHandler({final:"H"},O=>this.cursorPosition(O)),this._parser.registerCsiHandler({final:"I"},O=>this.cursorForwardTab(O)),this._parser.registerCsiHandler({final:"J"},O=>this.eraseInDisplay(O,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},O=>this.eraseInDisplay(O,!0)),this._parser.registerCsiHandler({final:"K"},O=>this.eraseInLine(O,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},O=>this.eraseInLine(O,!0)),this._parser.registerCsiHandler({final:"L"},O=>this.insertLines(O)),this._parser.registerCsiHandler({final:"M"},O=>this.deleteLines(O)),this._parser.registerCsiHandler({final:"P"},O=>this.deleteChars(O)),this._parser.registerCsiHandler({final:"S"},O=>this.scrollUp(O)),this._parser.registerCsiHandler({final:"T"},O=>this.scrollDown(O)),this._parser.registerCsiHandler({final:"X"},O=>this.eraseChars(O)),this._parser.registerCsiHandler({final:"Z"},O=>this.cursorBackwardTab(O)),this._parser.registerCsiHandler({final:"`"},O=>this.charPosAbsolute(O)),this._parser.registerCsiHandler({final:"a"},O=>this.hPositionRelative(O)),this._parser.registerCsiHandler({final:"b"},O=>this.repeatPrecedingCharacter(O)),this._parser.registerCsiHandler({final:"c"},O=>this.sendDeviceAttributesPrimary(O)),this._parser.registerCsiHandler({prefix:">",final:"c"},O=>this.sendDeviceAttributesSecondary(O)),this._parser.registerCsiHandler({final:"d"},O=>this.linePosAbsolute(O)),this._parser.registerCsiHandler({final:"e"},O=>this.vPositionRelative(O)),this._parser.registerCsiHandler({final:"f"},O=>this.hVPosition(O)),this._parser.registerCsiHandler({final:"g"},O=>this.tabClear(O)),this._parser.registerCsiHandler({final:"h"},O=>this.setMode(O)),this._parser.registerCsiHandler({prefix:"?",final:"h"},O=>this.setModePrivate(O)),this._parser.registerCsiHandler({final:"l"},O=>this.resetMode(O)),this._parser.registerCsiHandler({prefix:"?",final:"l"},O=>this.resetModePrivate(O)),this._parser.registerCsiHandler({final:"m"},O=>this.charAttributes(O)),this._parser.registerCsiHandler({final:"n"},O=>this.deviceStatus(O)),this._parser.registerCsiHandler({prefix:"?",final:"n"},O=>this.deviceStatusPrivate(O)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},O=>this.softReset(O)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},O=>this.setCursorStyle(O)),this._parser.registerCsiHandler({final:"r"},O=>this.setScrollRegion(O)),this._parser.registerCsiHandler({final:"s"},O=>this.saveCursor(O)),this._parser.registerCsiHandler({final:"t"},O=>this.windowOptions(O)),this._parser.registerCsiHandler({final:"u"},O=>this.restoreCursor(O)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},O=>this.insertColumns(O)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},O=>this.deleteColumns(O)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},O=>this.selectProtected(O)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},O=>this.requestMode(O,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},O=>this.requestMode(O,!1)),this._parser.setExecuteHandler(h.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(h.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(h.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(h.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(h.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(h.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(h.C1.IND,()=>this.index()),this._parser.setExecuteHandler(h.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(h.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new L.OscHandler(O=>(this.setTitle(O),this.setIconName(O),!0))),this._parser.registerOscHandler(1,new L.OscHandler(O=>this.setIconName(O))),this._parser.registerOscHandler(2,new L.OscHandler(O=>this.setTitle(O))),this._parser.registerOscHandler(4,new L.OscHandler(O=>this.setOrReportIndexedColor(O))),this._parser.registerOscHandler(8,new L.OscHandler(O=>this.setHyperlink(O))),this._parser.registerOscHandler(10,new L.OscHandler(O=>this.setOrReportFgColor(O))),this._parser.registerOscHandler(11,new L.OscHandler(O=>this.setOrReportBgColor(O))),this._parser.registerOscHandler(12,new L.OscHandler(O=>this.setOrReportCursorColor(O))),this._parser.registerOscHandler(104,new L.OscHandler(O=>this.restoreIndexedColor(O))),this._parser.registerOscHandler(110,new L.OscHandler(O=>this.restoreFgColor(O))),this._parser.registerOscHandler(111,new L.OscHandler(O=>this.restoreBgColor(O))),this._parser.registerOscHandler(112,new L.OscHandler(O=>this.restoreCursorColor(O))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(const O in p.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:O},()=>this.selectCharset("("+O)),this._parser.registerEscHandler({intermediates:")",final:O},()=>this.selectCharset(")"+O)),this._parser.registerEscHandler({intermediates:"*",final:O},()=>this.selectCharset("*"+O)),this._parser.registerEscHandler({intermediates:"+",final:O},()=>this.selectCharset("+"+O)),this._parser.registerEscHandler({intermediates:"-",final:O},()=>this.selectCharset("-"+O)),this._parser.registerEscHandler({intermediates:".",final:O},()=>this.selectCharset("."+O)),this._parser.registerEscHandler({intermediates:"/",final:O},()=>this.selectCharset("/"+O));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(O=>(this._logService.error("Parsing error: ",O),O)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new x.DcsHandler((O,J)=>this.requestStatusString(O,J)))}_preserveStack(C,M,B,H){this._parseStack.paused=!0,this._parseStack.cursorStartX=C,this._parseStack.cursorStartY=M,this._parseStack.decodedLength=B,this._parseStack.position=H}_logSlowResolvingAsync(C){this._logService.logLevel<=k.LogLevelEnum.WARN&&Promise.race([C,new Promise((M,B)=>setTimeout(()=>B("#SLOW_TIMEOUT"),5e3))]).catch(M=>{if(M!=="#SLOW_TIMEOUT")throw M;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(C,M){let B,H=this._activeBuffer.x,Y=this._activeBuffer.y,V=0;const te=this._parseStack.paused;if(te){if(B=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,M))return this._logSlowResolvingAsync(B),B;H=this._parseStack.cursorStartX,Y=this._parseStack.cursorStartY,this._parseStack.paused=!1,C.length>I&&(V=this._parseStack.position+I)}if(this._logService.logLevel<=k.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof C=="string"?` "${C}"`:` "${Array.prototype.map.call(C,O=>String.fromCharCode(O)).join("")}"`),typeof C=="string"?C.split("").map(O=>O.charCodeAt(0)):C),this._parseBuffer.length<C.length&&this._parseBuffer.length<I&&(this._parseBuffer=new Uint32Array(Math.min(C.length,I))),te||this._dirtyRowTracker.clearRange(),C.length>I)for(let O=V;O<C.length;O+=I){const J=O+I<C.length?O+I:C.length,K=typeof C=="string"?this._stringDecoder.decode(C.substring(O,J),this._parseBuffer):this._utf8Decoder.decode(C.subarray(O,J),this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,K))return this._preserveStack(H,Y,K,O),this._logSlowResolvingAsync(B),B}else if(!te){const O=typeof C=="string"?this._stringDecoder.decode(C,this._parseBuffer):this._utf8Decoder.decode(C,this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,O))return this._preserveStack(H,Y,O,0),this._logSlowResolvingAsync(B),B}this._activeBuffer.x===H&&this._activeBuffer.y===Y||this._onCursorMove.fire();const Q=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),z=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);z<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(z,this._bufferService.rows-1),Math.min(Q,this._bufferService.rows-1))}print(C,M,B){let H,Y;const V=this._charsetService.charset,te=this._optionsService.rawOptions.screenReaderMode,Q=this._bufferService.cols,z=this._coreService.decPrivateModes.wraparound,O=this._coreService.modes.insertMode,J=this._curAttrData;let K=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&B-M>0&&K.getWidth(this._activeBuffer.x-1)===2&&K.setCellFromCodepoint(this._activeBuffer.x-1,0,1,J);let re=this._parser.precedingJoinState;for(let ne=M;ne<B;++ne){if(H=C[ne],H<127&&V){const Me=V[String.fromCharCode(H)];Me&&(H=Me.charCodeAt(0))}const be=this._unicodeService.charProperties(H,re);Y=b.UnicodeService.extractWidth(be);const ge=b.UnicodeService.extractShouldJoin(be),ke=ge?b.UnicodeService.extractWidth(re):0;if(re=be,te&&this._onA11yChar.fire((0,g.stringFromCodePoint)(H)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+Y-ke>Q){if(z){const Me=K;let pe=this._activeBuffer.x-ke;for(this._activeBuffer.x=ke,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),K=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),ke>0&&K instanceof a.BufferLine&&K.copyCellsFrom(Me,pe,0,ke,!1);pe<Q;)Me.setCellFromCodepoint(pe++,0,1,J)}else if(this._activeBuffer.x=Q-1,Y===2)continue}if(ge&&this._activeBuffer.x){const Me=K.getWidth(this._activeBuffer.x-1)?1:2;K.addCodepointToCell(this._activeBuffer.x-Me,H,Y);for(let pe=Y-ke;--pe>=0;)K.setCellFromCodepoint(this._activeBuffer.x++,0,0,J)}else if(O&&(K.insertCells(this._activeBuffer.x,Y-ke,this._activeBuffer.getNullCell(J)),K.getWidth(Q-1)===2&&K.setCellFromCodepoint(Q-1,l.NULL_CELL_CODE,l.NULL_CELL_WIDTH,J)),K.setCellFromCodepoint(this._activeBuffer.x++,H,Y,J),Y>0)for(;--Y;)K.setCellFromCodepoint(this._activeBuffer.x++,0,0,J)}this._parser.precedingJoinState=re,this._activeBuffer.x<Q&&B-M>0&&K.getWidth(this._activeBuffer.x)===0&&!K.hasContent(this._activeBuffer.x)&&K.setCellFromCodepoint(this._activeBuffer.x,0,1,J),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(C,M){return C.final!=="t"||C.prefix||C.intermediates?this._parser.registerCsiHandler(C,M):this._parser.registerCsiHandler(C,B=>!T(B.params[0],this._optionsService.rawOptions.windowOptions)||M(B))}registerDcsHandler(C,M){return this._parser.registerDcsHandler(C,new x.DcsHandler(M))}registerEscHandler(C,M){return this._parser.registerEscHandler(C,M)}registerOscHandler(C,M){return this._parser.registerOscHandler(C,new L.OscHandler(M))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var C;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&C.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);M.hasWidth(this._activeBuffer.x)&&!M.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const C=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-C),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(C=this._bufferService.cols-1){this._activeBuffer.x=Math.min(C,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(C,M){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=C,this._activeBuffer.y=this._activeBuffer.scrollTop+M):(this._activeBuffer.x=C,this._activeBuffer.y=M),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(C,M){this._restrictCursor(),this._setCursor(this._activeBuffer.x+C,this._activeBuffer.y+M)}cursorUp(C){const M=this._activeBuffer.y-this._activeBuffer.scrollTop;return M>=0?this._moveCursor(0,-Math.min(M,C.params[0]||1)):this._moveCursor(0,-(C.params[0]||1)),!0}cursorDown(C){const M=this._activeBuffer.scrollBottom-this._activeBuffer.y;return M>=0?this._moveCursor(0,Math.min(M,C.params[0]||1)):this._moveCursor(0,C.params[0]||1),!0}cursorForward(C){return this._moveCursor(C.params[0]||1,0),!0}cursorBackward(C){return this._moveCursor(-(C.params[0]||1),0),!0}cursorNextLine(C){return this.cursorDown(C),this._activeBuffer.x=0,!0}cursorPrecedingLine(C){return this.cursorUp(C),this._activeBuffer.x=0,!0}cursorCharAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(C){return this._setCursor(C.length>=2?(C.params[1]||1)-1:0,(C.params[0]||1)-1),!0}charPosAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(C){return this._moveCursor(C.params[0]||1,0),!0}linePosAbsolute(C){return this._setCursor(this._activeBuffer.x,(C.params[0]||1)-1),!0}vPositionRelative(C){return this._moveCursor(0,C.params[0]||1),!0}hVPosition(C){return this.cursorPosition(C),!0}tabClear(C){const M=C.params[0];return M===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:M===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let M=C.params[0]||1;for(;M--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let M=C.params[0]||1;for(;M--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(C){const M=C.params[0];return M===1&&(this._curAttrData.bg|=536870912),M!==2&&M!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(C,M,B,H=!1,Y=!1){const V=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);V.replaceCells(M,B,this._activeBuffer.getNullCell(this._eraseAttrData()),Y),H&&(V.isWrapped=!1)}_resetBufferLine(C,M=!1){const B=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);B&&(B.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),M),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+C),B.isWrapped=!1)}eraseInDisplay(C,M=!1){let B;switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,M);B<this._bufferService.rows;B++)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(B);break;case 1:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B,0,this._activeBuffer.x+1,!0,M),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(B+1).isWrapped=!1);B--;)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(0);break;case 2:for(B=this._bufferService.rows,this._dirtyRowTracker.markDirty(B-1);B--;)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(0);break;case 3:const H=this._activeBuffer.lines.length-this._bufferService.rows;H>0&&(this._activeBuffer.lines.trimStart(H),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-H,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-H,0),this._onScroll.fire(0))}return!0}eraseInLine(C,M=!1){switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,M);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,M);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,M)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(C){this._restrictCursor();let M=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y,H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,Y=this._bufferService.rows-1+this._activeBuffer.ybase-H+1;for(;M--;)this._activeBuffer.lines.splice(Y-1,1),this._activeBuffer.lines.splice(B,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(C){this._restrictCursor();let M=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y;let H;for(H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,H=this._bufferService.rows-1+this._activeBuffer.ybase-H;M--;)this._activeBuffer.lines.splice(B,1),this._activeBuffer.lines.splice(H,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.insertCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.deleteCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(C){let M=C.params[0]||1;for(;M--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(C){let M=C.params[0]||1;for(;M--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(a.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.deleteCells(0,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.insertCells(0,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.insertCells(this._activeBuffer.x,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.deleteCells(this._activeBuffer.x,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(C.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(C){const M=this._parser.precedingJoinState;if(!M)return!0;const B=C.params[0]||1,H=b.UnicodeService.extractWidth(M),Y=this._activeBuffer.x-H,V=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(Y),te=new Uint32Array(V.length*B);let Q=0;for(let O=0;O<V.length;){const J=V.codePointAt(O)||0;te[Q++]=J,O+=J>65535?2:1}let z=Q;for(let O=1;O<B;++O)te.copyWithin(z,0,Q),z+=Q;return this.print(te,0,z),!0}sendDeviceAttributesPrimary(C){return C.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(h.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(h.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(C){return C.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(h.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(h.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(C.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(h.C0.ESC+"[>83;40003;0c")),!0}_is(C){return(this._optionsService.rawOptions.termName+"").indexOf(C)===0}setMode(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),this._charsetService.setgCharset(1,p.DEFAULT_CHARSET),this._charsetService.setgCharset(2,p.DEFAULT_CHARSET),this._charsetService.setgCharset(3,p.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),C.params[M]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(C,M){const B=this._coreService.decPrivateModes,{activeProtocol:H,activeEncoding:Y}=this._coreMouseService,V=this._coreService,{buffers:te,cols:Q}=this._bufferService,{active:z,alt:O}=te,J=this._optionsService.rawOptions,K=ge=>ge?1:2,re=C.params[0];return ne=re,be=M?re===2?4:re===4?K(V.modes.insertMode):re===12?3:re===20?K(J.convertEol):0:re===1?K(B.applicationCursorKeys):re===3?J.windowOptions.setWinLines?Q===80?2:Q===132?1:0:0:re===6?K(B.origin):re===7?K(B.wraparound):re===8?3:re===9?K(H==="X10"):re===12?K(J.cursorBlink):re===25?K(!V.isCursorHidden):re===45?K(B.reverseWraparound):re===66?K(B.applicationKeypad):re===67?4:re===1e3?K(H==="VT200"):re===1002?K(H==="DRAG"):re===1003?K(H==="ANY"):re===1004?K(B.sendFocus):re===1005?4:re===1006?K(Y==="SGR"):re===1015?4:re===1016?K(Y==="SGR_PIXELS"):re===1048?1:re===47||re===1047||re===1049?K(z===O):re===2004?K(B.bracketedPasteMode):0,V.triggerDataEvent(`${h.C0.ESC}[${M?"":"?"}${ne};${be}$y`),!0;var ne,be}_updateAttrColor(C,M,B,H,Y){return M===2?(C|=50331648,C&=-16777216,C|=w.AttributeData.fromColorRGB([B,H,Y])):M===5&&(C&=-50331904,C|=33554432|255&B),C}_extractColor(C,M,B){const H=[0,0,-1,0,0,0];let Y=0,V=0;do{if(H[V+Y]=C.params[M+V],C.hasSubParams(M+V)){const te=C.getSubParams(M+V);let Q=0;do H[1]===5&&(Y=1),H[V+Q+1+Y]=te[Q];while(++Q<te.length&&Q+V+1+Y<H.length);break}if(H[1]===5&&V+Y>=2||H[1]===2&&V+Y>=5)break;H[1]&&(Y=1)}while(++V+M<C.length&&V+Y<H.length);for(let te=2;te<H.length;++te)H[te]===-1&&(H[te]=0);switch(H[0]){case 38:B.fg=this._updateAttrColor(B.fg,H[1],H[3],H[4],H[5]);break;case 48:B.bg=this._updateAttrColor(B.bg,H[1],H[3],H[4],H[5]);break;case 58:B.extended=B.extended.clone(),B.extended.underlineColor=this._updateAttrColor(B.extended.underlineColor,H[1],H[3],H[4],H[5])}return V}_processUnderline(C,M){M.extended=M.extended.clone(),(!~C||C>5)&&(C=1),M.extended.underlineStyle=C,M.fg|=268435456,C===0&&(M.fg&=-268435457),M.updateExtended()}_processSGR0(C){C.fg=a.DEFAULT_ATTR_DATA.fg,C.bg=a.DEFAULT_ATTR_DATA.bg,C.extended=C.extended.clone(),C.extended.underlineStyle=0,C.extended.underlineColor&=-67108864,C.updateExtended()}charAttributes(C){if(C.length===1&&C.params[0]===0)return this._processSGR0(this._curAttrData),!0;const M=C.length;let B;const H=this._curAttrData;for(let Y=0;Y<M;Y++)B=C.params[Y],B>=30&&B<=37?(H.fg&=-50331904,H.fg|=16777216|B-30):B>=40&&B<=47?(H.bg&=-50331904,H.bg|=16777216|B-40):B>=90&&B<=97?(H.fg&=-50331904,H.fg|=16777224|B-90):B>=100&&B<=107?(H.bg&=-50331904,H.bg|=16777224|B-100):B===0?this._processSGR0(H):B===1?H.fg|=134217728:B===3?H.bg|=67108864:B===4?(H.fg|=268435456,this._processUnderline(C.hasSubParams(Y)?C.getSubParams(Y)[0]:1,H)):B===5?H.fg|=536870912:B===7?H.fg|=67108864:B===8?H.fg|=1073741824:B===9?H.fg|=2147483648:B===2?H.bg|=134217728:B===21?this._processUnderline(2,H):B===22?(H.fg&=-134217729,H.bg&=-134217729):B===23?H.bg&=-67108865:B===24?(H.fg&=-268435457,this._processUnderline(0,H)):B===25?H.fg&=-536870913:B===27?H.fg&=-67108865:B===28?H.fg&=-1073741825:B===29?H.fg&=2147483647:B===39?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg):B===49?(H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):B===38||B===48||B===58?Y+=this._extractColor(C,Y,H):B===53?H.bg|=1073741824:B===55?H.bg&=-1073741825:B===59?(H.extended=H.extended.clone(),H.extended.underlineColor=-1,H.updateExtended()):B===100?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg,H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",B);return!0}deviceStatus(C){switch(C.params[0]){case 5:this._coreService.triggerDataEvent(`${h.C0.ESC}[0n`);break;case 6:const M=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[${M};${B}R`)}return!0}deviceStatusPrivate(C){if(C.params[0]===6){const M=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[?${M};${B}R`)}return!0}softReset(C){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(C){const M=C.params[0]||1;switch(M){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const B=M%2==1;return this._optionsService.options.cursorBlink=B,!0}setScrollRegion(C){const M=C.params[0]||1;let B;return(C.length<2||(B=C.params[1])>this._bufferService.rows||B===0)&&(B=this._bufferService.rows),B>M&&(this._activeBuffer.scrollTop=M-1,this._activeBuffer.scrollBottom=B-1,this._setCursor(0,0)),!0}windowOptions(C){if(!T(C.params[0],this._optionsService.rawOptions.windowOptions))return!0;const M=C.length>1?C.params[1]:0;switch(C.params[0]){case 14:M!==2&&this._onRequestWindowsOptionsReport.fire(A.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(A.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${h.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:M!==0&&M!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),M!==0&&M!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:M!==0&&M!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),M!==0&&M!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(C){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(C){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(C){return this._windowTitle=C,this._onTitleChange.fire(C),!0}setIconName(C){return this._iconName=C,!0}setOrReportIndexedColor(C){const M=[],B=C.split(";");for(;B.length>1;){const H=B.shift(),Y=B.shift();if(/^\d+$/.exec(H)){const V=parseInt(H);if(G(V))if(Y==="?")M.push({type:0,index:V});else{const te=(0,E.parseColor)(Y);te&&M.push({type:1,index:V,color:te})}}}return M.length&&this._onColor.fire(M),!0}setHyperlink(C){const M=C.split(";");return!(M.length<2)&&(M[1]?this._createHyperlink(M[0],M[1]):!M[0]&&this._finishHyperlink())}_createHyperlink(C,M){this._getCurrentLinkId()&&this._finishHyperlink();const B=C.split(":");let H;const Y=B.findIndex(V=>V.startsWith("id="));return Y!==-1&&(H=B[Y].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:H,uri:M}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(C,M){const B=C.split(";");for(let H=0;H<B.length&&!(M>=this._specialColors.length);++H,++M)if(B[H]==="?")this._onColor.fire([{type:0,index:this._specialColors[M]}]);else{const Y=(0,E.parseColor)(B[H]);Y&&this._onColor.fire([{type:1,index:this._specialColors[M],color:Y}])}return!0}setOrReportFgColor(C){return this._setOrReportSpecialColor(C,0)}setOrReportBgColor(C){return this._setOrReportSpecialColor(C,1)}setOrReportCursorColor(C){return this._setOrReportSpecialColor(C,2)}restoreIndexedColor(C){if(!C)return this._onColor.fire([{type:2}]),!0;const M=[],B=C.split(";");for(let H=0;H<B.length;++H)if(/^\d+$/.exec(B[H])){const Y=parseInt(B[H]);G(Y)&&M.push({type:2,index:Y})}return M.length&&this._onColor.fire(M),!0}restoreFgColor(C){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(C){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(C){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),!0}selectCharset(C){return C.length!==2?(this.selectDefaultCharset(),!0):(C[0]==="/"||this._charsetService.setgCharset(R[C[0]],p.CHARSETS[C[1]]||p.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const C=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,C,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(C){return this._charsetService.setgLevel(C),!0}screenAlignmentPattern(){const C=new d.CellData;C.content=4194373,C.fg=this._curAttrData.fg,C.bg=this._curAttrData.bg,this._setCursor(0,0);for(let M=0;M<this._bufferService.rows;++M){const B=this._activeBuffer.ybase+this._activeBuffer.y+M,H=this._activeBuffer.lines.get(B);H&&(H.fill(C),H.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(C,M){const B=this._bufferService.buffer,H=this._optionsService.rawOptions;return(Y=>(this._coreService.triggerDataEvent(`${h.C0.ESC}${Y}${h.C0.ESC}\\`),!0))(C==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:C==='"p'?'P1$r61;1"p':C==="r"?`P1$r${B.scrollTop+1};${B.scrollBottom+1}r`:C==="m"?"P1$r0m":C===" q"?`P1$r${{block:2,underline:4,bar:6}[H.cursorStyle]-(H.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(C,M){this._dirtyRowTracker.markRangeDirty(C,M)}}r.InputHandler=U;let $=class{constructor(j){this._bufferService=j,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(j){j<this.start?this.start=j:j>this.end&&(this.end=j)}markRangeDirty(j,C){j>C&&(P=j,j=C,C=P),j<this.start&&(this.start=j),C>this.end&&(this.end=C)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function G(j){return 0<=j&&j<256}$=f([v(0,k.IBufferService)],$)},844:(m,r)=>{function o(f){for(const v of f)v.dispose();f.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const v=this._disposables.indexOf(f);v!==-1&&this._disposables.splice(v,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var v;this._isDisposed||f===this._value||((v=this._value)==null||v.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},r.toDisposable=function(f){return{dispose:f}},r.disposeArray=o,r.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},1505:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(v,h,p){this._data[v]||(this._data[v]={}),this._data[v][h]=p}get(v,h){return this._data[v]?this._data[v][h]:void 0}clear(){this._data={}}}r.TwoKeyMap=o,r.FourKeyMap=class{constructor(){this._data=new o}set(f,v,h,p,y){this._data.get(f,v)||this._data.set(f,v,new o),this._data.get(f,v).set(h,p,y)}get(f,v,h,p){var y;return(y=this._data.get(f,v))==null?void 0:y.get(h,p)}clear(){this._data.clear()}}},6114:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;const o=r.isNode?"node":navigator.userAgent,f=r.isNode?"node":navigator.platform;r.isFirefox=o.includes("Firefox"),r.isLegacyEdge=o.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(o),r.getSafariVersion=function(){if(!r.isSafari)return 0;const v=o.match(/Version\/(\d+)/);return v===null||v.length<2?0:parseInt(v[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),r.isIpad=f==="iPad",r.isIphone=f==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),r.isLinux=f.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(o)},6106:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SortedList=void 0;let o=0;r.SortedList=class{constructor(f){this._getKey=f,this._array=[]}clear(){this._array.length=0}insert(f){this._array.length!==0?(o=this._search(this._getKey(f)),this._array.splice(o,0,f)):this._array.push(f)}delete(f){if(this._array.length===0)return!1;const v=this._getKey(f);if(v===void 0||(o=this._search(v),o===-1)||this._getKey(this._array[o])!==v)return!1;do if(this._array[o]===f)return this._array.splice(o,1),!0;while(++o<this._array.length&&this._getKey(this._array[o])===v);return!1}*getKeyIterator(f){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do yield this._array[o];while(++o<this._array.length&&this._getKey(this._array[o])===f)}forEachByKey(f,v){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do v(this._array[o]);while(++o<this._array.length&&this._getKey(this._array[o])===f)}values(){return[...this._array].values()}_search(f){let v=0,h=this._array.length-1;for(;h>=v;){let p=v+h>>1;const y=this._getKey(this._array[p]);if(y>f)h=p-1;else{if(!(y<f)){for(;p>0&&this._getKey(this._array[p-1])===f;)p--;return p}v=p+1}}return v}}},7226:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;const f=o(6114);class v{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let S=0,g=0,a=y.timeRemaining(),u=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),g=Math.max(S,g),u=y.timeRemaining(),1.5*g>u)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=u}this.clear()}}class h extends v{_requestCallback(y){return setTimeout(()=>y(this._createDeadline(16)))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const S=Date.now()+y;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}r.PriorityTaskQueue=h,r.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends v{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:h,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},9282:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateWindowsModeWrappedState=void 0;const f=o(643);r.updateWindowsModeWrappedState=function(v){const h=v.buffer.lines.get(v.buffer.ybase+v.buffer.y-1),p=h==null?void 0:h.get(v.cols-1),y=v.buffer.lines.get(v.buffer.ybase+v.buffer.y);y&&p&&(y.isWrapped=p[f.CHAR_DATA_CODE_INDEX]!==f.NULL_CELL_CODE&&p[f.CHAR_DATA_CODE_INDEX]!==f.WHITESPACE_CELL_CODE)}},3734:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new o;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,p=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=p}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=f},9092:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Buffer=r.MAX_BUFFER_SIZE=void 0;const f=o(6349),v=o(7226),h=o(3734),p=o(8437),y=o(4634),S=o(511),g=o(643),a=o(4863),u=o(7116);r.MAX_BUFFER_SIZE=4294967295,r.Buffer=class{constructor(l,d,w){this._hasScrollback=l,this._optionsService=d,this._bufferService=w,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=p.DEFAULT_ATTR_DATA.clone(),this.savedCharset=u.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,g.NULL_CELL_CHAR,g.NULL_CELL_WIDTH,g.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,g.WHITESPACE_CELL_CHAR,g.WHITESPACE_CELL_WIDTH,g.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new v.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(l){return l?(this._nullCell.fg=l.fg,this._nullCell.bg=l.bg,this._nullCell.extended=l.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell}getWhitespaceCell(l){return l?(this._whitespaceCell.fg=l.fg,this._whitespaceCell.bg=l.bg,this._whitespaceCell.extended=l.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell}getBlankLine(l,d){return new p.BufferLine(this._bufferService.cols,this.getNullCell(l),d)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const l=this.ybase+this.y-this.ydisp;return l>=0&&l<this._rows}_getCorrectBufferLength(l){if(!this._hasScrollback)return l;const d=l+this._optionsService.rawOptions.scrollback;return d>r.MAX_BUFFER_SIZE?r.MAX_BUFFER_SIZE:d}fillViewportRows(l){if(this.lines.length===0){l===void 0&&(l=p.DEFAULT_ATTR_DATA);let d=this._rows;for(;d--;)this.lines.push(this.getBlankLine(l))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(l,d){const w=this.getNullCell(p.DEFAULT_ATTR_DATA);let k=0;const b=this._getCorrectBufferLength(d);if(b>this.lines.maxLength&&(this.lines.maxLength=b),this.lines.length>0){if(this._cols<l)for(let x=0;x<this.lines.length;x++)k+=+this.lines.get(x).resize(l,w);let L=0;if(this._rows<d)for(let x=this._rows;x<d;x++)this.lines.length<d+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new p.BufferLine(l,w)):this.ybase>0&&this.lines.length<=this.ybase+this.y+L+1?(this.ybase--,L++,this.ydisp>0&&this.ydisp--):this.lines.push(new p.BufferLine(l,w)));else for(let x=this._rows;x>d;x--)this.lines.length>d+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(b<this.lines.maxLength){const x=this.lines.length-b;x>0&&(this.lines.trimStart(x),this.ybase=Math.max(this.ybase-x,0),this.ydisp=Math.max(this.ydisp-x,0),this.savedY=Math.max(this.savedY-x,0)),this.lines.maxLength=b}this.x=Math.min(this.x,l-1),this.y=Math.min(this.y,d-1),L&&(this.y+=L),this.savedX=Math.min(this.savedX,l-1),this.scrollTop=0}if(this.scrollBottom=d-1,this._isReflowEnabled&&(this._reflow(l,d),this._cols>l))for(let L=0;L<this.lines.length;L++)k+=+this.lines.get(L).resize(l,w);this._cols=l,this._rows=d,this._memoryCleanupQueue.clear(),k>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let l=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,l=!1);let d=0;for(;this._memoryCleanupPosition<this.lines.length;)if(d+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),d>100)return!0;return l}get _isReflowEnabled(){const l=this._optionsService.rawOptions.windowsPty;return l&&l.buildNumber?this._hasScrollback&&l.backend==="conpty"&&l.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(l,d){this._cols!==l&&(l>this._cols?this._reflowLarger(l,d):this._reflowSmaller(l,d))}_reflowLarger(l,d){const w=(0,y.reflowLargerGetLinesToRemove)(this.lines,this._cols,l,this.ybase+this.y,this.getNullCell(p.DEFAULT_ATTR_DATA));if(w.length>0){const k=(0,y.reflowLargerCreateNewLayout)(this.lines,w);(0,y.reflowLargerApplyNewLayout)(this.lines,k.layout),this._reflowLargerAdjustViewport(l,d,k.countRemoved)}}_reflowLargerAdjustViewport(l,d,w){const k=this.getNullCell(p.DEFAULT_ATTR_DATA);let b=w;for(;b-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<d&&this.lines.push(new p.BufferLine(l,k))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-w,0)}_reflowSmaller(l,d){const w=this.getNullCell(p.DEFAULT_ATTR_DATA),k=[];let b=0;for(let L=this.lines.length-1;L>=0;L--){let x=this.lines.get(L);if(!x||!x.isWrapped&&x.getTrimmedLength()<=l)continue;const E=[x];for(;x.isWrapped&&L>0;)x=this.lines.get(--L),E.unshift(x);const R=this.ybase+this.y;if(R>=L&&R<L+E.length)continue;const I=E[E.length-1].getTrimmedLength(),T=(0,y.reflowSmallerGetNewLineLengths)(E,this._cols,l),A=T.length-E.length;let P;P=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+A):Math.max(0,this.lines.length-this.lines.maxLength+A);const U=[];for(let B=0;B<A;B++){const H=this.getBlankLine(p.DEFAULT_ATTR_DATA,!0);U.push(H)}U.length>0&&(k.push({start:L+E.length+b,newLines:U}),b+=U.length),E.push(...U);let $=T.length-1,G=T[$];G===0&&($--,G=T[$]);let j=E.length-A-1,C=I;for(;j>=0;){const B=Math.min(C,G);if(E[$]===void 0)break;if(E[$].copyCellsFrom(E[j],C-B,G-B,B,!0),G-=B,G===0&&($--,G=T[$]),C-=B,C===0){j--;const H=Math.max(j,0);C=(0,y.getWrappedLineTrimmedLength)(E,H,this._cols)}}for(let B=0;B<E.length;B++)T[B]<l&&E[B].setCell(T[B],w);let M=A-P;for(;M-- >0;)this.ybase===0?this.y<d-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+b)-d&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+A,this.ybase+d-1)}if(k.length>0){const L=[],x=[];for(let $=0;$<this.lines.length;$++)x.push(this.lines.get($));const E=this.lines.length;let R=E-1,I=0,T=k[I];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+b);let A=0;for(let $=Math.min(this.lines.maxLength-1,E+b-1);$>=0;$--)if(T&&T.start>R+A){for(let G=T.newLines.length-1;G>=0;G--)this.lines.set($--,T.newLines[G]);$++,L.push({index:R+1,amount:T.newLines.length}),A+=T.newLines.length,T=k[++I]}else this.lines.set($,x[R--]);let P=0;for(let $=L.length-1;$>=0;$--)L[$].index+=P,this.lines.onInsertEmitter.fire(L[$]),P+=L[$].amount;const U=Math.max(0,E+b-this.lines.maxLength);U>0&&this.lines.onTrimEmitter.fire(U)}}translateBufferLineToString(l,d,w=0,k){const b=this.lines.get(l);return b?b.translateToString(d,w,k):""}getWrappedRangeForLine(l){let d=l,w=l;for(;d>0&&this.lines.get(d).isWrapped;)d--;for(;w+1<this.lines.length&&this.lines.get(w+1).isWrapped;)w++;return{first:d,last:w}}setupTabStops(l){for(l!=null?this.tabs[l]||(l=this.prevStop(l)):(this.tabs={},l=0);l<this._cols;l+=this._optionsService.rawOptions.tabStopWidth)this.tabs[l]=!0}prevStop(l){for(l==null&&(l=this.x);!this.tabs[--l]&&l>0;);return l>=this._cols?this._cols-1:l<0?0:l}nextStop(l){for(l==null&&(l=this.x);!this.tabs[++l]&&l<this._cols;);return l>=this._cols?this._cols-1:l<0?0:l}clearMarkers(l){this._isClearing=!0;for(let d=0;d<this.markers.length;d++)this.markers[d].line===l&&(this.markers[d].dispose(),this.markers.splice(d--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let l=0;l<this.markers.length;l++)this.markers[l].dispose(),this.markers.splice(l--,1);this._isClearing=!1}addMarker(l){const d=new a.Marker(l);return this.markers.push(d),d.register(this.lines.onTrim(w=>{d.line-=w,d.line<0&&d.dispose()})),d.register(this.lines.onInsert(w=>{d.line>=w.index&&(d.line+=w.amount)})),d.register(this.lines.onDelete(w=>{d.line>=w.index&&d.line<w.index+w.amount&&d.dispose(),d.line>w.index&&(d.line-=w.amount)})),d.register(d.onDispose(()=>this._removeMarker(d))),d}_removeMarker(l){this._isClearing||this.markers.splice(this.markers.indexOf(l),1)}}},8437:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLine=r.DEFAULT_ATTR_DATA=void 0;const f=o(3734),v=o(511),h=o(643),p=o(482);r.DEFAULT_ATTR_DATA=Object.freeze(new f.AttributeData);let y=0;class S{constructor(a,u,l=!1){this.isWrapped=l,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*a);const d=u||v.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]);for(let w=0;w<a;++w)this.setCell(w,d);this.length=a}get(a){const u=this._data[3*a+0],l=2097151&u;return[this._data[3*a+1],2097152&u?this._combined[a]:l?(0,p.stringFromCodePoint)(l):"",u>>22,2097152&u?this._combined[a].charCodeAt(this._combined[a].length-1):l]}set(a,u){this._data[3*a+1]=u[h.CHAR_DATA_ATTR_INDEX],u[h.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[a]=u[1],this._data[3*a+0]=2097152|a|u[h.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*a+0]=u[h.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|u[h.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(a){return this._data[3*a+0]>>22}hasWidth(a){return 12582912&this._data[3*a+0]}getFg(a){return this._data[3*a+1]}getBg(a){return this._data[3*a+2]}hasContent(a){return 4194303&this._data[3*a+0]}getCodePoint(a){const u=this._data[3*a+0];return 2097152&u?this._combined[a].charCodeAt(this._combined[a].length-1):2097151&u}isCombined(a){return 2097152&this._data[3*a+0]}getString(a){const u=this._data[3*a+0];return 2097152&u?this._combined[a]:2097151&u?(0,p.stringFromCodePoint)(2097151&u):""}isProtected(a){return 536870912&this._data[3*a+2]}loadCell(a,u){return y=3*a,u.content=this._data[y+0],u.fg=this._data[y+1],u.bg=this._data[y+2],2097152&u.content&&(u.combinedData=this._combined[a]),268435456&u.bg&&(u.extended=this._extendedAttrs[a]),u}setCell(a,u){2097152&u.content&&(this._combined[a]=u.combinedData),268435456&u.bg&&(this._extendedAttrs[a]=u.extended),this._data[3*a+0]=u.content,this._data[3*a+1]=u.fg,this._data[3*a+2]=u.bg}setCellFromCodepoint(a,u,l,d){268435456&d.bg&&(this._extendedAttrs[a]=d.extended),this._data[3*a+0]=u|l<<22,this._data[3*a+1]=d.fg,this._data[3*a+2]=d.bg}addCodepointToCell(a,u,l){let d=this._data[3*a+0];2097152&d?this._combined[a]+=(0,p.stringFromCodePoint)(u):2097151&d?(this._combined[a]=(0,p.stringFromCodePoint)(2097151&d)+(0,p.stringFromCodePoint)(u),d&=-2097152,d|=2097152):d=u|4194304,l&&(d&=-12582913,d|=l<<22),this._data[3*a+0]=d}insertCells(a,u,l){if((a%=this.length)&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length-a){const d=new v.CellData;for(let w=this.length-a-u-1;w>=0;--w)this.setCell(a+u+w,this.loadCell(a+w,d));for(let w=0;w<u;++w)this.setCell(a+w,l)}else for(let d=a;d<this.length;++d)this.setCell(d,l);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,l)}deleteCells(a,u,l){if(a%=this.length,u<this.length-a){const d=new v.CellData;for(let w=0;w<this.length-a-u;++w)this.setCell(a+w,this.loadCell(a+u+w,d));for(let w=this.length-u;w<this.length;++w)this.setCell(w,l)}else for(let d=a;d<this.length;++d)this.setCell(d,l);a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),this.getWidth(a)!==0||this.hasContent(a)||this.setCellFromCodepoint(a,0,1,l)}replaceCells(a,u,l,d=!1){if(d)for(a&&this.getWidth(a-1)===2&&!this.isProtected(a-1)&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length&&this.getWidth(u-1)===2&&!this.isProtected(u)&&this.setCellFromCodepoint(u,0,1,l);a<u&&a<this.length;)this.isProtected(a)||this.setCell(a,l),a++;else for(a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length&&this.getWidth(u-1)===2&&this.setCellFromCodepoint(u,0,1,l);a<u&&a<this.length;)this.setCell(a++,l)}resize(a,u){if(a===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const l=3*a;if(a>this.length){if(this._data.buffer.byteLength>=4*l)this._data=new Uint32Array(this._data.buffer,0,l);else{const d=new Uint32Array(l);d.set(this._data),this._data=d}for(let d=this.length;d<a;++d)this.setCell(d,u)}else{this._data=this._data.subarray(0,l);const d=Object.keys(this._combined);for(let k=0;k<d.length;k++){const b=parseInt(d[k],10);b>=a&&delete this._combined[b]}const w=Object.keys(this._extendedAttrs);for(let k=0;k<w.length;k++){const b=parseInt(w[k],10);b>=a&&delete this._extendedAttrs[b]}}return this.length=a,4*l*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const a=new Uint32Array(this._data.length);return a.set(this._data),this._data=a,1}return 0}fill(a,u=!1){if(u)for(let l=0;l<this.length;++l)this.isProtected(l)||this.setCell(l,a);else{this._combined={},this._extendedAttrs={};for(let l=0;l<this.length;++l)this.setCell(l,a)}}copyFrom(a){this.length!==a.length?this._data=new Uint32Array(a._data):this._data.set(a._data),this.length=a.length,this._combined={};for(const u in a._combined)this._combined[u]=a._combined[u];this._extendedAttrs={};for(const u in a._extendedAttrs)this._extendedAttrs[u]=a._extendedAttrs[u];this.isWrapped=a.isWrapped}clone(){const a=new S(0);a._data=new Uint32Array(this._data),a.length=this.length;for(const u in this._combined)a._combined[u]=this._combined[u];for(const u in this._extendedAttrs)a._extendedAttrs[u]=this._extendedAttrs[u];return a.isWrapped=this.isWrapped,a}getTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0])return a+(this._data[3*a+0]>>22);return 0}getNoBgTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0]||50331648&this._data[3*a+2])return a+(this._data[3*a+0]>>22);return 0}copyCellsFrom(a,u,l,d,w){const k=a._data;if(w)for(let L=d-1;L>=0;L--){for(let x=0;x<3;x++)this._data[3*(l+L)+x]=k[3*(u+L)+x];268435456&k[3*(u+L)+2]&&(this._extendedAttrs[l+L]=a._extendedAttrs[u+L])}else for(let L=0;L<d;L++){for(let x=0;x<3;x++)this._data[3*(l+L)+x]=k[3*(u+L)+x];268435456&k[3*(u+L)+2]&&(this._extendedAttrs[l+L]=a._extendedAttrs[u+L])}const b=Object.keys(a._combined);for(let L=0;L<b.length;L++){const x=parseInt(b[L],10);x>=u&&(this._combined[x-u+l]=a._combined[x])}}translateToString(a,u,l,d){u=u??0,l=l??this.length,a&&(l=Math.min(l,this.getTrimmedLength())),d&&(d.length=0);let w="";for(;u<l;){const k=this._data[3*u+0],b=2097151&k,L=2097152&k?this._combined[u]:b?(0,p.stringFromCodePoint)(b):h.WHITESPACE_CELL_CHAR;if(w+=L,d)for(let x=0;x<L.length;++x)d.push(u);u+=k>>22||1}return d&&d.push(u),w}}r.BufferLine=S},4841:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getRangeLength=void 0,r.getRangeLength=function(o,f){if(o.start.y>o.end.y)throw new Error(`Buffer range end (${o.end.x}, ${o.end.y}) cannot be before start (${o.start.x}, ${o.start.y})`);return f*(o.end.y-o.start.y)+(o.end.x-o.start.x+1)}},4634:(m,r)=>{function o(f,v,h){if(v===f.length-1)return f[v].getTrimmedLength();const p=!f[v].hasContent(h-1)&&f[v].getWidth(h-1)===1,y=f[v+1].getWidth(0)===2;return p&&y?h-1:h}Object.defineProperty(r,"__esModule",{value:!0}),r.getWrappedLineTrimmedLength=r.reflowSmallerGetNewLineLengths=r.reflowLargerApplyNewLayout=r.reflowLargerCreateNewLayout=r.reflowLargerGetLinesToRemove=void 0,r.reflowLargerGetLinesToRemove=function(f,v,h,p,y){const S=[];for(let g=0;g<f.length-1;g++){let a=g,u=f.get(++a);if(!u.isWrapped)continue;const l=[f.get(g)];for(;a<f.length&&u.isWrapped;)l.push(u),u=f.get(++a);if(p>=g&&p<a){g+=l.length-1;continue}let d=0,w=o(l,d,v),k=1,b=0;for(;k<l.length;){const x=o(l,k,v),E=x-b,R=h-w,I=Math.min(E,R);l[d].copyCellsFrom(l[k],b,w,I,!1),w+=I,w===h&&(d++,w=0),b+=I,b===x&&(k++,b=0),w===0&&d!==0&&l[d-1].getWidth(h-1)===2&&(l[d].copyCellsFrom(l[d-1],h-1,w++,1,!1),l[d-1].setCell(h-1,y))}l[d].replaceCells(w,h,y);let L=0;for(let x=l.length-1;x>0&&(x>d||l[x].getTrimmedLength()===0);x--)L++;L>0&&(S.push(g+l.length-L),S.push(L)),g+=l.length-1}return S},r.reflowLargerCreateNewLayout=function(f,v){const h=[];let p=0,y=v[p],S=0;for(let g=0;g<f.length;g++)if(y===g){const a=v[++p];f.onDeleteEmitter.fire({index:g-S,amount:a}),g+=a-1,S+=a,y=v[++p]}else h.push(g);return{layout:h,countRemoved:S}},r.reflowLargerApplyNewLayout=function(f,v){const h=[];for(let p=0;p<v.length;p++)h.push(f.get(v[p]));for(let p=0;p<h.length;p++)f.set(p,h[p]);f.length=v.length},r.reflowSmallerGetNewLineLengths=function(f,v,h){const p=[],y=f.map((u,l)=>o(f,l,v)).reduce((u,l)=>u+l);let S=0,g=0,a=0;for(;a<y;){if(y-a<h){p.push(y-a);break}S+=h;const u=o(f,g,v);S>u&&(S-=u,g++);const l=f[g].getWidth(S-1)===2;l&&S--;const d=l?h-1:h;p.push(d),a+=d}return p},r.getWrappedLineTrimmedLength=o},5295:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferSet=void 0;const f=o(8460),v=o(844),h=o(9092);class p extends v.Disposable{constructor(S,g){super(),this._optionsService=S,this._bufferService=g,this._onBufferActivate=this.register(new f.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new h.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new h.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(S,g){this._normal.resize(S,g),this._alt.resize(S,g),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}r.BufferSet=p},511:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;const f=o(482),v=o(643),h=o(3734);class p extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const g=new p;return g.setFromCharData(S),g}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[v.CHAR_DATA_ATTR_INDEX],this.bg=0;let g=!1;if(S[v.CHAR_DATA_CHAR_INDEX].length>2)g=!0;else if(S[v.CHAR_DATA_CHAR_INDEX].length===2){const a=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const u=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=u&&u<=57343?this.content=1024*(a-55296)+u-56320+65536|S[v.CHAR_DATA_WIDTH_INDEX]<<22:g=!0}else g=!0}else this.content=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[v.CHAR_DATA_WIDTH_INDEX]<<22;g&&(this.combinedData=S[v.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[v.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=p},643:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},4863:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Marker=void 0;const f=o(8460),v=o(844);class h{get id(){return this._id}constructor(y){this.line=y,this.isDisposed=!1,this._disposables=[],this._id=h._nextId++,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,v.disposeArray)(this._disposables),this._disposables.length=0)}register(y){return this._disposables.push(y),y}}r.Marker=h,h._nextId=1},7116:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_CHARSET=r.CHARSETS=void 0,r.CHARSETS={},r.DEFAULT_CHARSET=r.CHARSETS.B,r.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},r.CHARSETS.A={"#":"£"},r.CHARSETS.B=void 0,r.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},r.CHARSETS.C=r.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},r.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},r.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},r.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},r.CHARSETS.E=r.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},r.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},r.CHARSETS.H=r.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(m,r)=>{var o,f,v;Object.defineProperty(r,"__esModule",{value:!0}),r.C1_ESCAPED=r.C1=r.C0=void 0,function(h){h.NUL="\0",h.SOH="",h.STX="",h.ETX="",h.EOT="",h.ENQ="",h.ACK="",h.BEL="\x07",h.BS="\b",h.HT=" ",h.LF=`
48
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(x){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),u.isLinux&&x&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(x){const E=this._getMouseBufferCoords(x),R=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!!(R&&I&&E)&&this._areCoordsInSelection(E,R,I)}isCellInSelection(x,E){const R=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!(!R||!I)&&this._areCoordsInSelection([x,E],R,I)}_areCoordsInSelection(x,E,R){return x[1]>E[1]&&x[1]<R[1]||E[1]===R[1]&&x[1]===E[1]&&x[0]>=E[0]&&x[0]<R[0]||E[1]<R[1]&&x[1]===R[1]&&x[0]<R[0]||E[1]<R[1]&&x[1]===E[1]&&x[0]>=E[0]}_selectWordAtCursor(x,E){var T,A;const R=(A=(T=this._linkifier.currentLink)==null?void 0:T.link)==null?void 0:A.range;if(R)return this._model.selectionStart=[R.start.x-1,R.start.y-1],this._model.selectionStartLength=(0,l.getRangeLength)(R,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const I=this._getMouseBufferCoords(x);return!!I&&(this._selectWordAt(I,E),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(x,E){this._model.clearSelection(),x=Math.max(x,0),E=Math.min(E,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,x],this._model.selectionEnd=[this._bufferService.cols,E],this.refresh(),this._onSelectionChange.fire()}_handleTrim(x){this._model.handleTrim(x)&&this.refresh()}_getMouseBufferCoords(x){const E=this._mouseService.getCoords(x,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(E)return E[0]--,E[1]--,E[1]+=this._bufferService.buffer.ydisp,E}_getMouseEventScrollAmount(x){let E=(0,h.getCoordsRelativeToElement)(this._coreBrowserService.window,x,this._screenElement)[1];const R=this._renderService.dimensions.css.canvas.height;return E>=0&&E<=R?0:(E>R&&(E-=R),E=Math.min(Math.max(E,-50),50),E/=50,E/Math.abs(E)+Math.round(14*E))}shouldForceSelection(x){return u.isMac?x.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:x.shiftKey}handleMouseDown(x){if(this._mouseDownTimeStamp=x.timeStamp,(x.button!==2||!this.hasSelection)&&x.button===0){if(!this._enabled){if(!this.shouldForceSelection(x))return;x.stopPropagation()}x.preventDefault(),this._dragScrollAmount=0,this._enabled&&x.shiftKey?this._handleIncrementalClick(x):x.detail===1?this._handleSingleClick(x):x.detail===2?this._handleDoubleClick(x):x.detail===3&&this._handleTripleClick(x),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(x){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(x))}_handleSingleClick(x){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(x)?3:0,this._model.selectionStart=this._getMouseBufferCoords(x),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const E=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);E&&E.length!==this._model.selectionStart[0]&&E.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(x){this._selectWordAtCursor(x,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(x){const E=this._getMouseBufferCoords(x);E&&(this._activeSelectionMode=2,this._selectLineAt(E[1]))}shouldColumnSelect(x){return x.altKey&&!(u.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(x){if(x.stopImmediatePropagation(),!this._model.selectionStart)return;const E=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(x),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(x),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const R=this._bufferService.buffer;if(this._model.selectionEnd[1]<R.lines.length){const I=R.lines.get(this._model.selectionEnd[1]);I&&I.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}E&&E[0]===this._model.selectionEnd[0]&&E[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const x=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(x.ydisp+this._bufferService.rows,x.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=x.ydisp),this.refresh()}}_handleMouseUp(x){const E=x.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&E<500&&x.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const R=this._mouseService.getCoords(x,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(R&&R[0]!==void 0&&R[1]!==void 0){const I=(0,p.moveToCellSequence)(R[0]-1,R[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(I,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const x=this._model.finalSelectionStart,E=this._model.finalSelectionEnd,R=!(!x||!E||x[0]===E[0]&&x[1]===E[1]);R?x&&E&&(this._oldSelectionStart&&this._oldSelectionEnd&&x[0]===this._oldSelectionStart[0]&&x[1]===this._oldSelectionStart[1]&&E[0]===this._oldSelectionEnd[0]&&E[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(x,E,R)):this._oldHasSelection&&this._fireOnSelectionChange(x,E,R)}_fireOnSelectionChange(x,E,R){this._oldSelectionStart=x,this._oldSelectionEnd=E,this._oldHasSelection=R,this._onSelectionChange.fire()}_handleBufferActivate(x){this.clearSelection(),this._trimListener.dispose(),this._trimListener=x.activeBuffer.lines.onTrim(E=>this._handleTrim(E))}_convertViewportColToCharacterIndex(x,E){let R=E;for(let I=0;E>=I;I++){const T=x.loadCell(I,this._workCell).getChars().length;this._workCell.getWidth()===0?R--:T>1&&E!==I&&(R+=T-1)}return R}setSelection(x,E,R){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[x,E],this._model.selectionStartLength=R,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(x){this._isClickInSelection(x)||(this._selectWordAtCursor(x,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(x,E,R=!0,I=!0){if(x[0]>=this._bufferService.cols)return;const T=this._bufferService.buffer,A=T.lines.get(x[1]);if(!A)return;const O=T.translateBufferLineToString(x[1],!1);let U=this._convertViewportColToCharacterIndex(A,x[0]),$=U;const G=x[0]-U;let j=0,C=0,M=0,B=0;if(O.charAt(U)===" "){for(;U>0&&O.charAt(U-1)===" ";)U--;for(;$<O.length&&O.charAt($+1)===" ";)$++}else{let V=x[0],te=x[0];A.getWidth(V)===0&&(j++,V--),A.getWidth(te)===2&&(C++,te++);const Q=A.getString(te).length;for(Q>1&&(B+=Q-1,$+=Q-1);V>0&&U>0&&!this._isCharWordSeparator(A.loadCell(V-1,this._workCell));){A.loadCell(V-1,this._workCell);const z=this._workCell.getChars().length;this._workCell.getWidth()===0?(j++,V--):z>1&&(M+=z-1,U-=z-1),U--,V--}for(;te<A.length&&$+1<O.length&&!this._isCharWordSeparator(A.loadCell(te+1,this._workCell));){A.loadCell(te+1,this._workCell);const z=this._workCell.getChars().length;this._workCell.getWidth()===2?(C++,te++):z>1&&(B+=z-1,$+=z-1),$++,te++}}$++;let H=U+G-j+M,Y=Math.min(this._bufferService.cols,$-U+j+C-M-B);if(E||O.slice(U,$).trim()!==""){if(R&&H===0&&A.getCodePoint(0)!==32){const V=T.lines.get(x[1]-1);if(V&&A.isWrapped&&V.getCodePoint(this._bufferService.cols-1)!==32){const te=this._getWordAt([this._bufferService.cols-1,x[1]-1],!1,!0,!1);if(te){const Q=this._bufferService.cols-te.start;H-=Q,Y+=Q}}}if(I&&H+Y===this._bufferService.cols&&A.getCodePoint(this._bufferService.cols-1)!==32){const V=T.lines.get(x[1]+1);if(V!=null&&V.isWrapped&&V.getCodePoint(0)!==32){const te=this._getWordAt([0,x[1]+1],!1,!1,!0);te&&(Y+=te.length)}}return{start:H,length:Y}}}_selectWordAt(x,E){const R=this._getWordAt(x,E);if(R){for(;R.start<0;)R.start+=this._bufferService.cols,x[1]--;this._model.selectionStart=[R.start,x[1]],this._model.selectionStartLength=R.length}}_selectToWordAt(x){const E=this._getWordAt(x,!0);if(E){let R=x[1];for(;E.start<0;)E.start+=this._bufferService.cols,R--;if(!this._model.areSelectionValuesReversed())for(;E.start+E.length>this._bufferService.cols;)E.length-=this._bufferService.cols,R++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?E.start:E.start+E.length,R]}}_isCharWordSeparator(x){return x.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(x.getChars())>=0}_selectLineAt(x){const E=this._bufferService.buffer.getWrappedRangeForLine(x),R={start:{x:0,y:E.first},end:{x:this._bufferService.cols-1,y:E.last}};this._model.selectionStart=[0,E.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,l.getRangeLength)(R,this._bufferService.cols)}};r.SelectionService=L=f([v(3,w.IBufferService),v(4,w.ICoreService),v(5,S.IMouseService),v(6,w.IOptionsService),v(7,S.IRenderService),v(8,S.ICoreBrowserService)],L)},4725:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ILinkProviderService=r.IThemeService=r.ICharacterJoinerService=r.ISelectionService=r.IRenderService=r.IMouseService=r.ICoreBrowserService=r.ICharSizeService=void 0;const f=o(8343);r.ICharSizeService=(0,f.createDecorator)("CharSizeService"),r.ICoreBrowserService=(0,f.createDecorator)("CoreBrowserService"),r.IMouseService=(0,f.createDecorator)("MouseService"),r.IRenderService=(0,f.createDecorator)("RenderService"),r.ISelectionService=(0,f.createDecorator)("SelectionService"),r.ICharacterJoinerService=(0,f.createDecorator)("CharacterJoinerService"),r.IThemeService=(0,f.createDecorator)("ThemeService"),r.ILinkProviderService=(0,f.createDecorator)("LinkProviderService")},6731:function(m,r,o){var f=this&&this.__decorate||function(L,x,E,R){var I,T=arguments.length,A=T<3?x:R===null?R=Object.getOwnPropertyDescriptor(x,E):R;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(L,x,E,R);else for(var O=L.length-1;O>=0;O--)(I=L[O])&&(A=(T<3?I(A):T>3?I(x,E,A):I(x,E))||A);return T>3&&A&&Object.defineProperty(x,E,A),A},v=this&&this.__param||function(L,x){return function(E,R){x(E,R,L)}};Object.defineProperty(r,"__esModule",{value:!0}),r.ThemeService=r.DEFAULT_ANSI_COLORS=void 0;const h=o(7239),p=o(8055),y=o(8460),S=o(844),g=o(2585),a=p.css.toColor("#ffffff"),u=p.css.toColor("#000000"),l=p.css.toColor("#ffffff"),d=p.css.toColor("#000000"),w={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};r.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const L=[p.css.toColor("#2e3436"),p.css.toColor("#cc0000"),p.css.toColor("#4e9a06"),p.css.toColor("#c4a000"),p.css.toColor("#3465a4"),p.css.toColor("#75507b"),p.css.toColor("#06989a"),p.css.toColor("#d3d7cf"),p.css.toColor("#555753"),p.css.toColor("#ef2929"),p.css.toColor("#8ae234"),p.css.toColor("#fce94f"),p.css.toColor("#729fcf"),p.css.toColor("#ad7fa8"),p.css.toColor("#34e2e2"),p.css.toColor("#eeeeec")],x=[0,95,135,175,215,255];for(let E=0;E<216;E++){const R=x[E/36%6|0],I=x[E/6%6|0],T=x[E%6];L.push({css:p.channels.toCss(R,I,T),rgba:p.channels.toRgba(R,I,T)})}for(let E=0;E<24;E++){const R=8+10*E;L.push({css:p.channels.toCss(R,R,R),rgba:p.channels.toRgba(R,R,R)})}return L})());let k=r.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(L){super(),this._optionsService=L,this._contrastCache=new h.ColorContrastCache,this._halfContrastCache=new h.ColorContrastCache,this._onChangeColors=this.register(new y.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:a,background:u,cursor:l,cursorAccent:d,selectionForeground:void 0,selectionBackgroundTransparent:w,selectionBackgroundOpaque:p.color.blend(u,w),selectionInactiveBackgroundTransparent:w,selectionInactiveBackgroundOpaque:p.color.blend(u,w),ansi:r.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this.register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}_setTheme(L={}){const x=this._colors;if(x.foreground=b(L.foreground,a),x.background=b(L.background,u),x.cursor=b(L.cursor,l),x.cursorAccent=b(L.cursorAccent,d),x.selectionBackgroundTransparent=b(L.selectionBackground,w),x.selectionBackgroundOpaque=p.color.blend(x.background,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundTransparent=b(L.selectionInactiveBackground,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundOpaque=p.color.blend(x.background,x.selectionInactiveBackgroundTransparent),x.selectionForeground=L.selectionForeground?b(L.selectionForeground,p.NULL_COLOR):void 0,x.selectionForeground===p.NULL_COLOR&&(x.selectionForeground=void 0),p.color.isOpaque(x.selectionBackgroundTransparent)&&(x.selectionBackgroundTransparent=p.color.opacity(x.selectionBackgroundTransparent,.3)),p.color.isOpaque(x.selectionInactiveBackgroundTransparent)&&(x.selectionInactiveBackgroundTransparent=p.color.opacity(x.selectionInactiveBackgroundTransparent,.3)),x.ansi=r.DEFAULT_ANSI_COLORS.slice(),x.ansi[0]=b(L.black,r.DEFAULT_ANSI_COLORS[0]),x.ansi[1]=b(L.red,r.DEFAULT_ANSI_COLORS[1]),x.ansi[2]=b(L.green,r.DEFAULT_ANSI_COLORS[2]),x.ansi[3]=b(L.yellow,r.DEFAULT_ANSI_COLORS[3]),x.ansi[4]=b(L.blue,r.DEFAULT_ANSI_COLORS[4]),x.ansi[5]=b(L.magenta,r.DEFAULT_ANSI_COLORS[5]),x.ansi[6]=b(L.cyan,r.DEFAULT_ANSI_COLORS[6]),x.ansi[7]=b(L.white,r.DEFAULT_ANSI_COLORS[7]),x.ansi[8]=b(L.brightBlack,r.DEFAULT_ANSI_COLORS[8]),x.ansi[9]=b(L.brightRed,r.DEFAULT_ANSI_COLORS[9]),x.ansi[10]=b(L.brightGreen,r.DEFAULT_ANSI_COLORS[10]),x.ansi[11]=b(L.brightYellow,r.DEFAULT_ANSI_COLORS[11]),x.ansi[12]=b(L.brightBlue,r.DEFAULT_ANSI_COLORS[12]),x.ansi[13]=b(L.brightMagenta,r.DEFAULT_ANSI_COLORS[13]),x.ansi[14]=b(L.brightCyan,r.DEFAULT_ANSI_COLORS[14]),x.ansi[15]=b(L.brightWhite,r.DEFAULT_ANSI_COLORS[15]),L.extendedAnsi){const E=Math.min(x.ansi.length-16,L.extendedAnsi.length);for(let R=0;R<E;R++)x.ansi[R+16]=b(L.extendedAnsi[R],r.DEFAULT_ANSI_COLORS[R+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(L){this._restoreColor(L),this._onChangeColors.fire(this.colors)}_restoreColor(L){if(L!==void 0)switch(L){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[L]=this._restoreColors.ansi[L]}else for(let x=0;x<this._restoreColors.ansi.length;++x)this._colors.ansi[x]=this._restoreColors.ansi[x]}modifyColors(L){L(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function b(L,x){if(L!==void 0)try{return p.css.toColor(L)}catch{}return x}r.ThemeService=k=f([v(0,g.IOptionsService)],k)},6349:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CircularList=void 0;const f=o(8460),v=o(844);class h extends v.Disposable{constructor(y){super(),this._maxLength=y,this.onDeleteEmitter=this.register(new f.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new f.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new f.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(y){if(this._maxLength===y)return;const S=new Array(y);for(let g=0;g<Math.min(y,this.length);g++)S[g]=this._array[this._getCyclicIndex(g)];this._array=S,this._maxLength=y,this._startIndex=0}get length(){return this._length}set length(y){if(y>this._length)for(let S=this._length;S<y;S++)this._array[S]=void 0;this._length=y}get(y){return this._array[this._getCyclicIndex(y)]}set(y,S){this._array[this._getCyclicIndex(y)]=S}push(y){this._array[this._getCyclicIndex(this._length)]=y,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(y,S,...g){if(S){for(let a=y;a<this._length-S;a++)this._array[this._getCyclicIndex(a)]=this._array[this._getCyclicIndex(a+S)];this._length-=S,this.onDeleteEmitter.fire({index:y,amount:S})}for(let a=this._length-1;a>=y;a--)this._array[this._getCyclicIndex(a+g.length)]=this._array[this._getCyclicIndex(a)];for(let a=0;a<g.length;a++)this._array[this._getCyclicIndex(y+a)]=g[a];if(g.length&&this.onInsertEmitter.fire({index:y,amount:g.length}),this._length+g.length>this._maxLength){const a=this._length+g.length-this._maxLength;this._startIndex+=a,this._length=this._maxLength,this.onTrimEmitter.fire(a)}else this._length+=g.length}trimStart(y){y>this._length&&(y=this._length),this._startIndex+=y,this._length-=y,this.onTrimEmitter.fire(y)}shiftElements(y,S,g){if(!(S<=0)){if(y<0||y>=this._length)throw new Error("start argument out of range");if(y+g<0)throw new Error("Cannot shift elements in list beyond index 0");if(g>0){for(let u=S-1;u>=0;u--)this.set(y+u+g,this.get(y+u));const a=y+S+g-this._length;if(a>0)for(this._length+=a;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let a=0;a<S;a++)this.set(y+a+g,this.get(y+a))}}_getCyclicIndex(y){return(this._startIndex+y)%this._maxLength}}r.CircularList=h},1439:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0,r.clone=function o(f,v=5){if(typeof f!="object")return f;const h=Array.isArray(f)?[]:{};for(const p in f)h[p]=v<=1?f[p]:f[p]&&o(f[p],v-1);return h}},8055:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let o=0,f=0,v=0,h=0;var p,y,S,g,a;function u(d){const w=d.toString(16);return w.length<2?"0"+w:w}function l(d,w){return d<w?(w+.05)/(d+.05):(d+.05)/(w+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(w,k,b,L){return L!==void 0?`#${u(w)}${u(k)}${u(b)}${u(L)}`:`#${u(w)}${u(k)}${u(b)}`},d.toRgba=function(w,k,b,L=255){return(w<<24|k<<16|b<<8|L)>>>0},d.toColor=function(w,k,b,L){return{css:d.toCss(w,k,b,L),rgba:d.toRgba(w,k,b,L)}}}(p||(r.channels=p={})),function(d){function w(k,b){return h=Math.round(255*b),[o,f,v]=a.toChannels(k.rgba),{css:p.toCss(o,f,v,h),rgba:p.toRgba(o,f,v,h)}}d.blend=function(k,b){if(h=(255&b.rgba)/255,h===1)return{css:b.css,rgba:b.rgba};const L=b.rgba>>24&255,x=b.rgba>>16&255,E=b.rgba>>8&255,R=k.rgba>>24&255,I=k.rgba>>16&255,T=k.rgba>>8&255;return o=R+Math.round((L-R)*h),f=I+Math.round((x-I)*h),v=T+Math.round((E-T)*h),{css:p.toCss(o,f,v),rgba:p.toRgba(o,f,v)}},d.isOpaque=function(k){return(255&k.rgba)==255},d.ensureContrastRatio=function(k,b,L){const x=a.ensureContrastRatio(k.rgba,b.rgba,L);if(x)return p.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(k){const b=(255|k.rgba)>>>0;return[o,f,v]=a.toChannels(b),{css:p.toCss(o,f,v),rgba:b}},d.opacity=w,d.multiplyOpacity=function(k,b){return h=255&k.rgba,w(k,h*b/255)},d.toColorRGB=function(k){return[k.rgba>>24&255,k.rgba>>16&255,k.rgba>>8&255]}}(y||(r.color=y={})),function(d){let w,k;try{const b=document.createElement("canvas");b.width=1,b.height=1;const L=b.getContext("2d",{willReadFrequently:!0});L&&(w=L,w.globalCompositeOperation="copy",k=w.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),p.toColor(o,f,v);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),h=parseInt(b.slice(4,5).repeat(2),16),p.toColor(o,f,v,h);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const L=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(L)return o=parseInt(L[1]),f=parseInt(L[2]),v=parseInt(L[3]),h=Math.round(255*(L[5]===void 0?1:parseFloat(L[5]))),p.toColor(o,f,v,h);if(!w||!k)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=k,w.fillStyle=b,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[o,f,v,h]=w.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(o,f,v,h),css:b}}}(S||(r.css=S={})),function(d){function w(k,b,L){const x=k/255,E=b/255,R=L/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(R<=.03928?R/12.92:Math.pow((R+.055)/1.055,2.4))}d.relativeLuminance=function(k){return w(k>>16&255,k>>8&255,255&k)},d.relativeLuminance2=w}(g||(r.rgb=g={})),function(d){function w(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,O=L>>8&255,U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));for(;U<x&&(T>0||A>0||O>0);)T-=Math.max(0,Math.ceil(.1*T)),A-=Math.max(0,Math.ceil(.1*A)),O-=Math.max(0,Math.ceil(.1*O)),U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|O<<8|255)>>>0}function k(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,O=L>>8&255,U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));for(;U<x&&(T<255||A<255||O<255);)T=Math.min(255,T+Math.ceil(.1*(255-T))),A=Math.min(255,A+Math.ceil(.1*(255-A))),O=Math.min(255,O+Math.ceil(.1*(255-O))),U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|O<<8|255)>>>0}d.blend=function(b,L){if(h=(255&L)/255,h===1)return L;const x=L>>24&255,E=L>>16&255,R=L>>8&255,I=b>>24&255,T=b>>16&255,A=b>>8&255;return o=I+Math.round((x-I)*h),f=T+Math.round((E-T)*h),v=A+Math.round((R-A)*h),p.toRgba(o,f,v)},d.ensureContrastRatio=function(b,L,x){const E=g.relativeLuminance(b>>8),R=g.relativeLuminance(L>>8);if(l(E,R)<x){if(R<E){const A=w(b,L,x),O=l(E,g.relativeLuminance(A>>8));if(O<x){const U=k(b,L,x);return O>l(E,g.relativeLuminance(U>>8))?A:U}return A}const I=k(b,L,x),T=l(E,g.relativeLuminance(I>>8));if(T<x){const A=w(b,L,x);return T>l(E,g.relativeLuminance(A>>8))?I:A}return I}},d.reduceLuminance=w,d.increaseLuminance=k,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(r.rgba=a={})),r.toPaddedHex=u,r.contrastRatio=l},8969:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreTerminal=void 0;const f=o(844),v=o(2585),h=o(4348),p=o(7866),y=o(744),S=o(7302),g=o(6975),a=o(8460),u=o(1753),l=o(1480),d=o(7994),w=o(9282),k=o(5435),b=o(5981),L=o(2660);let x=!1;class E extends f.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new a.EventEmitter),this._onScroll.event(I=>{var T;(T=this._onScrollApi)==null||T.fire(I.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(I){for(const T in I)this.optionsService.options[T]=I[T]}constructor(I){super(),this._windowsWrappingHeuristics=this.register(new f.MutableDisposable),this._onBinary=this.register(new a.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new a.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new a.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new a.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new a.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new a.EventEmitter),this._instantiationService=new h.InstantiationService,this.optionsService=this.register(new S.OptionsService(I)),this._instantiationService.setService(v.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(y.BufferService)),this._instantiationService.setService(v.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(p.LogService)),this._instantiationService.setService(v.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(g.CoreService)),this._instantiationService.setService(v.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(u.CoreMouseService)),this._instantiationService.setService(v.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(l.UnicodeService)),this._instantiationService.setService(v.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(d.CharsetService),this._instantiationService.setService(v.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(L.OscLinkService),this._instantiationService.setService(v.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new k.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,a.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,a.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,a.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,a.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(T=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(T=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new b.WriteBuffer((T,A)=>this._inputHandler.parse(T,A))),this.register((0,a.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(I,T){this._writeBuffer.write(I,T)}writeSync(I,T){this._logService.logLevel<=v.LogLevelEnum.WARN&&!x&&(this._logService.warn("writeSync is unreliable and will be removed soon."),x=!0),this._writeBuffer.writeSync(I,T)}input(I,T=!0){this.coreService.triggerDataEvent(I,T)}resize(I,T){isNaN(I)||isNaN(T)||(I=Math.max(I,y.MINIMUM_COLS),T=Math.max(T,y.MINIMUM_ROWS),this._bufferService.resize(I,T))}scroll(I,T=!1){this._bufferService.scroll(I,T)}scrollLines(I,T,A){this._bufferService.scrollLines(I,T,A)}scrollPages(I){this.scrollLines(I*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(I){const T=I-this._bufferService.buffer.ydisp;T!==0&&this.scrollLines(T)}registerEscHandler(I,T){return this._inputHandler.registerEscHandler(I,T)}registerDcsHandler(I,T){return this._inputHandler.registerDcsHandler(I,T)}registerCsiHandler(I,T){return this._inputHandler.registerCsiHandler(I,T)}registerOscHandler(I,T){return this._inputHandler.registerOscHandler(I,T)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let I=!1;const T=this.optionsService.rawOptions.windowsPty;T&&T.buildNumber!==void 0&&T.buildNumber!==void 0?I=T.backend==="conpty"&&T.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(I=!0),I?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const I=[];I.push(this.onLineFeed(w.updateWindowsModeWrappedState.bind(null,this._bufferService))),I.push(this.registerCsiHandler({final:"H"},()=>((0,w.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,f.toDisposable)(()=>{for(const T of I)T.dispose()})}}}r.CoreTerminal=E},8460:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const v=[];for(let h=0;h<this._listeners.length;h++)v.push(this._listeners[h]);for(let h=0;h<v.length;h++)v[h].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(o,f){return o(v=>f.fire(v))},r.runAndSubscribe=function(o,f){return f(void 0),o(v=>f(v))}},5435:function(m,r,o){var f=this&&this.__decorate||function(j,C,M,B){var H,Y=arguments.length,V=Y<3?C:B===null?B=Object.getOwnPropertyDescriptor(C,M):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")V=Reflect.decorate(j,C,M,B);else for(var te=j.length-1;te>=0;te--)(H=j[te])&&(V=(Y<3?H(V):Y>3?H(C,M,V):H(C,M))||V);return Y>3&&V&&Object.defineProperty(C,M,V),V},v=this&&this.__param||function(j,C){return function(M,B){C(M,B,j)}};Object.defineProperty(r,"__esModule",{value:!0}),r.InputHandler=r.WindowsOptionsReportType=void 0;const h=o(2584),p=o(7116),y=o(2015),S=o(844),g=o(482),a=o(8437),u=o(8460),l=o(643),d=o(511),w=o(3734),k=o(2585),b=o(1480),L=o(6242),x=o(6351),E=o(5941),R={"(":0,")":1,"*":2,"+":3,"-":1,".":2},I=131072;function T(j,C){if(j>24)return C.setWinLines||!1;switch(j){case 1:return!!C.restoreWin;case 2:return!!C.minimizeWin;case 3:return!!C.setWinPosition;case 4:return!!C.setWinSizePixels;case 5:return!!C.raiseWin;case 6:return!!C.lowerWin;case 7:return!!C.refreshWin;case 8:return!!C.setWinSizeChars;case 9:return!!C.maximizeWin;case 10:return!!C.fullscreenWin;case 11:return!!C.getWinState;case 13:return!!C.getWinPosition;case 14:return!!C.getWinSizePixels;case 15:return!!C.getScreenSizePixels;case 16:return!!C.getCellSizePixels;case 18:return!!C.getWinSizeChars;case 19:return!!C.getScreenSizeChars;case 20:return!!C.getIconTitle;case 21:return!!C.getWinTitle;case 22:return!!C.pushTitle;case 23:return!!C.popTitle;case 24:return!!C.setWinLines}return!1}var A;(function(j){j[j.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",j[j.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(A||(r.WindowsOptionsReportType=A={}));let O=0;class U extends S.Disposable{getAttrData(){return this._curAttrData}constructor(C,M,B,H,Y,V,te,Q,z=new y.EscapeSequenceParser){super(),this._bufferService=C,this._charsetService=M,this._coreService=B,this._logService=H,this._optionsService=Y,this._oscLinkService=V,this._coreMouseService=te,this._unicodeService=Q,this._parser=z,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new g.StringToUtf32,this._utf8Decoder=new g.Utf8ToUtf32,this._workCell=new d.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new u.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new u.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new u.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new u.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new u.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new u.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new u.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new u.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new u.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new u.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new u.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new u.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new u.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new $(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(P=>this._activeBuffer=P.activeBuffer)),this._parser.setCsiHandlerFallback((P,J)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(P),params:J.toArray()})}),this._parser.setEscHandlerFallback(P=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(P)})}),this._parser.setExecuteHandlerFallback(P=>{this._logService.debug("Unknown EXECUTE code: ",{code:P})}),this._parser.setOscHandlerFallback((P,J,K)=>{this._logService.debug("Unknown OSC code: ",{identifier:P,action:J,data:K})}),this._parser.setDcsHandlerFallback((P,J,K)=>{J==="HOOK"&&(K=K.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(P),action:J,payload:K})}),this._parser.setPrintHandler((P,J,K)=>this.print(P,J,K)),this._parser.registerCsiHandler({final:"@"},P=>this.insertChars(P)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},P=>this.scrollLeft(P)),this._parser.registerCsiHandler({final:"A"},P=>this.cursorUp(P)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},P=>this.scrollRight(P)),this._parser.registerCsiHandler({final:"B"},P=>this.cursorDown(P)),this._parser.registerCsiHandler({final:"C"},P=>this.cursorForward(P)),this._parser.registerCsiHandler({final:"D"},P=>this.cursorBackward(P)),this._parser.registerCsiHandler({final:"E"},P=>this.cursorNextLine(P)),this._parser.registerCsiHandler({final:"F"},P=>this.cursorPrecedingLine(P)),this._parser.registerCsiHandler({final:"G"},P=>this.cursorCharAbsolute(P)),this._parser.registerCsiHandler({final:"H"},P=>this.cursorPosition(P)),this._parser.registerCsiHandler({final:"I"},P=>this.cursorForwardTab(P)),this._parser.registerCsiHandler({final:"J"},P=>this.eraseInDisplay(P,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},P=>this.eraseInDisplay(P,!0)),this._parser.registerCsiHandler({final:"K"},P=>this.eraseInLine(P,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},P=>this.eraseInLine(P,!0)),this._parser.registerCsiHandler({final:"L"},P=>this.insertLines(P)),this._parser.registerCsiHandler({final:"M"},P=>this.deleteLines(P)),this._parser.registerCsiHandler({final:"P"},P=>this.deleteChars(P)),this._parser.registerCsiHandler({final:"S"},P=>this.scrollUp(P)),this._parser.registerCsiHandler({final:"T"},P=>this.scrollDown(P)),this._parser.registerCsiHandler({final:"X"},P=>this.eraseChars(P)),this._parser.registerCsiHandler({final:"Z"},P=>this.cursorBackwardTab(P)),this._parser.registerCsiHandler({final:"`"},P=>this.charPosAbsolute(P)),this._parser.registerCsiHandler({final:"a"},P=>this.hPositionRelative(P)),this._parser.registerCsiHandler({final:"b"},P=>this.repeatPrecedingCharacter(P)),this._parser.registerCsiHandler({final:"c"},P=>this.sendDeviceAttributesPrimary(P)),this._parser.registerCsiHandler({prefix:">",final:"c"},P=>this.sendDeviceAttributesSecondary(P)),this._parser.registerCsiHandler({final:"d"},P=>this.linePosAbsolute(P)),this._parser.registerCsiHandler({final:"e"},P=>this.vPositionRelative(P)),this._parser.registerCsiHandler({final:"f"},P=>this.hVPosition(P)),this._parser.registerCsiHandler({final:"g"},P=>this.tabClear(P)),this._parser.registerCsiHandler({final:"h"},P=>this.setMode(P)),this._parser.registerCsiHandler({prefix:"?",final:"h"},P=>this.setModePrivate(P)),this._parser.registerCsiHandler({final:"l"},P=>this.resetMode(P)),this._parser.registerCsiHandler({prefix:"?",final:"l"},P=>this.resetModePrivate(P)),this._parser.registerCsiHandler({final:"m"},P=>this.charAttributes(P)),this._parser.registerCsiHandler({final:"n"},P=>this.deviceStatus(P)),this._parser.registerCsiHandler({prefix:"?",final:"n"},P=>this.deviceStatusPrivate(P)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},P=>this.softReset(P)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},P=>this.setCursorStyle(P)),this._parser.registerCsiHandler({final:"r"},P=>this.setScrollRegion(P)),this._parser.registerCsiHandler({final:"s"},P=>this.saveCursor(P)),this._parser.registerCsiHandler({final:"t"},P=>this.windowOptions(P)),this._parser.registerCsiHandler({final:"u"},P=>this.restoreCursor(P)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},P=>this.insertColumns(P)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},P=>this.deleteColumns(P)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},P=>this.selectProtected(P)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},P=>this.requestMode(P,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},P=>this.requestMode(P,!1)),this._parser.setExecuteHandler(h.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(h.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(h.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(h.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(h.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(h.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(h.C1.IND,()=>this.index()),this._parser.setExecuteHandler(h.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(h.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new L.OscHandler(P=>(this.setTitle(P),this.setIconName(P),!0))),this._parser.registerOscHandler(1,new L.OscHandler(P=>this.setIconName(P))),this._parser.registerOscHandler(2,new L.OscHandler(P=>this.setTitle(P))),this._parser.registerOscHandler(4,new L.OscHandler(P=>this.setOrReportIndexedColor(P))),this._parser.registerOscHandler(8,new L.OscHandler(P=>this.setHyperlink(P))),this._parser.registerOscHandler(10,new L.OscHandler(P=>this.setOrReportFgColor(P))),this._parser.registerOscHandler(11,new L.OscHandler(P=>this.setOrReportBgColor(P))),this._parser.registerOscHandler(12,new L.OscHandler(P=>this.setOrReportCursorColor(P))),this._parser.registerOscHandler(104,new L.OscHandler(P=>this.restoreIndexedColor(P))),this._parser.registerOscHandler(110,new L.OscHandler(P=>this.restoreFgColor(P))),this._parser.registerOscHandler(111,new L.OscHandler(P=>this.restoreBgColor(P))),this._parser.registerOscHandler(112,new L.OscHandler(P=>this.restoreCursorColor(P))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(const P in p.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:P},()=>this.selectCharset("("+P)),this._parser.registerEscHandler({intermediates:")",final:P},()=>this.selectCharset(")"+P)),this._parser.registerEscHandler({intermediates:"*",final:P},()=>this.selectCharset("*"+P)),this._parser.registerEscHandler({intermediates:"+",final:P},()=>this.selectCharset("+"+P)),this._parser.registerEscHandler({intermediates:"-",final:P},()=>this.selectCharset("-"+P)),this._parser.registerEscHandler({intermediates:".",final:P},()=>this.selectCharset("."+P)),this._parser.registerEscHandler({intermediates:"/",final:P},()=>this.selectCharset("/"+P));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(P=>(this._logService.error("Parsing error: ",P),P)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new x.DcsHandler((P,J)=>this.requestStatusString(P,J)))}_preserveStack(C,M,B,H){this._parseStack.paused=!0,this._parseStack.cursorStartX=C,this._parseStack.cursorStartY=M,this._parseStack.decodedLength=B,this._parseStack.position=H}_logSlowResolvingAsync(C){this._logService.logLevel<=k.LogLevelEnum.WARN&&Promise.race([C,new Promise((M,B)=>setTimeout(()=>B("#SLOW_TIMEOUT"),5e3))]).catch(M=>{if(M!=="#SLOW_TIMEOUT")throw M;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(C,M){let B,H=this._activeBuffer.x,Y=this._activeBuffer.y,V=0;const te=this._parseStack.paused;if(te){if(B=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,M))return this._logSlowResolvingAsync(B),B;H=this._parseStack.cursorStartX,Y=this._parseStack.cursorStartY,this._parseStack.paused=!1,C.length>I&&(V=this._parseStack.position+I)}if(this._logService.logLevel<=k.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof C=="string"?` "${C}"`:` "${Array.prototype.map.call(C,P=>String.fromCharCode(P)).join("")}"`),typeof C=="string"?C.split("").map(P=>P.charCodeAt(0)):C),this._parseBuffer.length<C.length&&this._parseBuffer.length<I&&(this._parseBuffer=new Uint32Array(Math.min(C.length,I))),te||this._dirtyRowTracker.clearRange(),C.length>I)for(let P=V;P<C.length;P+=I){const J=P+I<C.length?P+I:C.length,K=typeof C=="string"?this._stringDecoder.decode(C.substring(P,J),this._parseBuffer):this._utf8Decoder.decode(C.subarray(P,J),this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,K))return this._preserveStack(H,Y,K,P),this._logSlowResolvingAsync(B),B}else if(!te){const P=typeof C=="string"?this._stringDecoder.decode(C,this._parseBuffer):this._utf8Decoder.decode(C,this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,P))return this._preserveStack(H,Y,P,0),this._logSlowResolvingAsync(B),B}this._activeBuffer.x===H&&this._activeBuffer.y===Y||this._onCursorMove.fire();const Q=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),z=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);z<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(z,this._bufferService.rows-1),Math.min(Q,this._bufferService.rows-1))}print(C,M,B){let H,Y;const V=this._charsetService.charset,te=this._optionsService.rawOptions.screenReaderMode,Q=this._bufferService.cols,z=this._coreService.decPrivateModes.wraparound,P=this._coreService.modes.insertMode,J=this._curAttrData;let K=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&B-M>0&&K.getWidth(this._activeBuffer.x-1)===2&&K.setCellFromCodepoint(this._activeBuffer.x-1,0,1,J);let re=this._parser.precedingJoinState;for(let ne=M;ne<B;++ne){if(H=C[ne],H<127&&V){const Ne=V[String.fromCharCode(H)];Ne&&(H=Ne.charCodeAt(0))}const be=this._unicodeService.charProperties(H,re);Y=b.UnicodeService.extractWidth(be);const ge=b.UnicodeService.extractShouldJoin(be),Ee=ge?b.UnicodeService.extractWidth(re):0;if(re=be,te&&this._onA11yChar.fire((0,g.stringFromCodePoint)(H)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+Y-Ee>Q){if(z){const Ne=K;let pe=this._activeBuffer.x-Ee;for(this._activeBuffer.x=Ee,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),K=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Ee>0&&K instanceof a.BufferLine&&K.copyCellsFrom(Ne,pe,0,Ee,!1);pe<Q;)Ne.setCellFromCodepoint(pe++,0,1,J)}else if(this._activeBuffer.x=Q-1,Y===2)continue}if(ge&&this._activeBuffer.x){const Ne=K.getWidth(this._activeBuffer.x-1)?1:2;K.addCodepointToCell(this._activeBuffer.x-Ne,H,Y);for(let pe=Y-Ee;--pe>=0;)K.setCellFromCodepoint(this._activeBuffer.x++,0,0,J)}else if(P&&(K.insertCells(this._activeBuffer.x,Y-Ee,this._activeBuffer.getNullCell(J)),K.getWidth(Q-1)===2&&K.setCellFromCodepoint(Q-1,l.NULL_CELL_CODE,l.NULL_CELL_WIDTH,J)),K.setCellFromCodepoint(this._activeBuffer.x++,H,Y,J),Y>0)for(;--Y;)K.setCellFromCodepoint(this._activeBuffer.x++,0,0,J)}this._parser.precedingJoinState=re,this._activeBuffer.x<Q&&B-M>0&&K.getWidth(this._activeBuffer.x)===0&&!K.hasContent(this._activeBuffer.x)&&K.setCellFromCodepoint(this._activeBuffer.x,0,1,J),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(C,M){return C.final!=="t"||C.prefix||C.intermediates?this._parser.registerCsiHandler(C,M):this._parser.registerCsiHandler(C,B=>!T(B.params[0],this._optionsService.rawOptions.windowOptions)||M(B))}registerDcsHandler(C,M){return this._parser.registerDcsHandler(C,new x.DcsHandler(M))}registerEscHandler(C,M){return this._parser.registerEscHandler(C,M)}registerOscHandler(C,M){return this._parser.registerOscHandler(C,new L.OscHandler(M))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var C;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&C.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);M.hasWidth(this._activeBuffer.x)&&!M.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const C=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-C),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(C=this._bufferService.cols-1){this._activeBuffer.x=Math.min(C,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(C,M){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=C,this._activeBuffer.y=this._activeBuffer.scrollTop+M):(this._activeBuffer.x=C,this._activeBuffer.y=M),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(C,M){this._restrictCursor(),this._setCursor(this._activeBuffer.x+C,this._activeBuffer.y+M)}cursorUp(C){const M=this._activeBuffer.y-this._activeBuffer.scrollTop;return M>=0?this._moveCursor(0,-Math.min(M,C.params[0]||1)):this._moveCursor(0,-(C.params[0]||1)),!0}cursorDown(C){const M=this._activeBuffer.scrollBottom-this._activeBuffer.y;return M>=0?this._moveCursor(0,Math.min(M,C.params[0]||1)):this._moveCursor(0,C.params[0]||1),!0}cursorForward(C){return this._moveCursor(C.params[0]||1,0),!0}cursorBackward(C){return this._moveCursor(-(C.params[0]||1),0),!0}cursorNextLine(C){return this.cursorDown(C),this._activeBuffer.x=0,!0}cursorPrecedingLine(C){return this.cursorUp(C),this._activeBuffer.x=0,!0}cursorCharAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(C){return this._setCursor(C.length>=2?(C.params[1]||1)-1:0,(C.params[0]||1)-1),!0}charPosAbsolute(C){return this._setCursor((C.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(C){return this._moveCursor(C.params[0]||1,0),!0}linePosAbsolute(C){return this._setCursor(this._activeBuffer.x,(C.params[0]||1)-1),!0}vPositionRelative(C){return this._moveCursor(0,C.params[0]||1),!0}hVPosition(C){return this.cursorPosition(C),!0}tabClear(C){const M=C.params[0];return M===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:M===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let M=C.params[0]||1;for(;M--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(C){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let M=C.params[0]||1;for(;M--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(C){const M=C.params[0];return M===1&&(this._curAttrData.bg|=536870912),M!==2&&M!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(C,M,B,H=!1,Y=!1){const V=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);V.replaceCells(M,B,this._activeBuffer.getNullCell(this._eraseAttrData()),Y),H&&(V.isWrapped=!1)}_resetBufferLine(C,M=!1){const B=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);B&&(B.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),M),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+C),B.isWrapped=!1)}eraseInDisplay(C,M=!1){let B;switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,M);B<this._bufferService.rows;B++)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(B);break;case 1:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B,0,this._activeBuffer.x+1,!0,M),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(B+1).isWrapped=!1);B--;)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(0);break;case 2:for(B=this._bufferService.rows,this._dirtyRowTracker.markDirty(B-1);B--;)this._resetBufferLine(B,M);this._dirtyRowTracker.markDirty(0);break;case 3:const H=this._activeBuffer.lines.length-this._bufferService.rows;H>0&&(this._activeBuffer.lines.trimStart(H),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-H,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-H,0),this._onScroll.fire(0))}return!0}eraseInLine(C,M=!1){switch(this._restrictCursor(this._bufferService.cols),C.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,M);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,M);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,M)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(C){this._restrictCursor();let M=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y,H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,Y=this._bufferService.rows-1+this._activeBuffer.ybase-H+1;for(;M--;)this._activeBuffer.lines.splice(Y-1,1),this._activeBuffer.lines.splice(B,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(C){this._restrictCursor();let M=C.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y;let H;for(H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,H=this._bufferService.rows-1+this._activeBuffer.ybase-H;M--;)this._activeBuffer.lines.splice(B,1),this._activeBuffer.lines.splice(H,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.insertCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.deleteCells(this._activeBuffer.x,C.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(C){let M=C.params[0]||1;for(;M--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(C){let M=C.params[0]||1;for(;M--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(a.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.deleteCells(0,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.insertCells(0,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.insertCells(this._activeBuffer.x,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(C){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=C.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);H.deleteCells(this._activeBuffer.x,M,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(C){this._restrictCursor();const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return M&&(M.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(C.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(C){const M=this._parser.precedingJoinState;if(!M)return!0;const B=C.params[0]||1,H=b.UnicodeService.extractWidth(M),Y=this._activeBuffer.x-H,V=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(Y),te=new Uint32Array(V.length*B);let Q=0;for(let P=0;P<V.length;){const J=V.codePointAt(P)||0;te[Q++]=J,P+=J>65535?2:1}let z=Q;for(let P=1;P<B;++P)te.copyWithin(z,0,Q),z+=Q;return this.print(te,0,z),!0}sendDeviceAttributesPrimary(C){return C.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(h.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(h.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(C){return C.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(h.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(h.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(C.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(h.C0.ESC+"[>83;40003;0c")),!0}_is(C){return(this._optionsService.rawOptions.termName+"").indexOf(C)===0}setMode(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),this._charsetService.setgCharset(1,p.DEFAULT_CHARSET),this._charsetService.setgCharset(2,p.DEFAULT_CHARSET),this._charsetService.setgCharset(3,p.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(C){for(let M=0;M<C.length;M++)switch(C.params[M]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),C.params[M]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(C,M){const B=this._coreService.decPrivateModes,{activeProtocol:H,activeEncoding:Y}=this._coreMouseService,V=this._coreService,{buffers:te,cols:Q}=this._bufferService,{active:z,alt:P}=te,J=this._optionsService.rawOptions,K=ge=>ge?1:2,re=C.params[0];return ne=re,be=M?re===2?4:re===4?K(V.modes.insertMode):re===12?3:re===20?K(J.convertEol):0:re===1?K(B.applicationCursorKeys):re===3?J.windowOptions.setWinLines?Q===80?2:Q===132?1:0:0:re===6?K(B.origin):re===7?K(B.wraparound):re===8?3:re===9?K(H==="X10"):re===12?K(J.cursorBlink):re===25?K(!V.isCursorHidden):re===45?K(B.reverseWraparound):re===66?K(B.applicationKeypad):re===67?4:re===1e3?K(H==="VT200"):re===1002?K(H==="DRAG"):re===1003?K(H==="ANY"):re===1004?K(B.sendFocus):re===1005?4:re===1006?K(Y==="SGR"):re===1015?4:re===1016?K(Y==="SGR_PIXELS"):re===1048?1:re===47||re===1047||re===1049?K(z===P):re===2004?K(B.bracketedPasteMode):0,V.triggerDataEvent(`${h.C0.ESC}[${M?"":"?"}${ne};${be}$y`),!0;var ne,be}_updateAttrColor(C,M,B,H,Y){return M===2?(C|=50331648,C&=-16777216,C|=w.AttributeData.fromColorRGB([B,H,Y])):M===5&&(C&=-50331904,C|=33554432|255&B),C}_extractColor(C,M,B){const H=[0,0,-1,0,0,0];let Y=0,V=0;do{if(H[V+Y]=C.params[M+V],C.hasSubParams(M+V)){const te=C.getSubParams(M+V);let Q=0;do H[1]===5&&(Y=1),H[V+Q+1+Y]=te[Q];while(++Q<te.length&&Q+V+1+Y<H.length);break}if(H[1]===5&&V+Y>=2||H[1]===2&&V+Y>=5)break;H[1]&&(Y=1)}while(++V+M<C.length&&V+Y<H.length);for(let te=2;te<H.length;++te)H[te]===-1&&(H[te]=0);switch(H[0]){case 38:B.fg=this._updateAttrColor(B.fg,H[1],H[3],H[4],H[5]);break;case 48:B.bg=this._updateAttrColor(B.bg,H[1],H[3],H[4],H[5]);break;case 58:B.extended=B.extended.clone(),B.extended.underlineColor=this._updateAttrColor(B.extended.underlineColor,H[1],H[3],H[4],H[5])}return V}_processUnderline(C,M){M.extended=M.extended.clone(),(!~C||C>5)&&(C=1),M.extended.underlineStyle=C,M.fg|=268435456,C===0&&(M.fg&=-268435457),M.updateExtended()}_processSGR0(C){C.fg=a.DEFAULT_ATTR_DATA.fg,C.bg=a.DEFAULT_ATTR_DATA.bg,C.extended=C.extended.clone(),C.extended.underlineStyle=0,C.extended.underlineColor&=-67108864,C.updateExtended()}charAttributes(C){if(C.length===1&&C.params[0]===0)return this._processSGR0(this._curAttrData),!0;const M=C.length;let B;const H=this._curAttrData;for(let Y=0;Y<M;Y++)B=C.params[Y],B>=30&&B<=37?(H.fg&=-50331904,H.fg|=16777216|B-30):B>=40&&B<=47?(H.bg&=-50331904,H.bg|=16777216|B-40):B>=90&&B<=97?(H.fg&=-50331904,H.fg|=16777224|B-90):B>=100&&B<=107?(H.bg&=-50331904,H.bg|=16777224|B-100):B===0?this._processSGR0(H):B===1?H.fg|=134217728:B===3?H.bg|=67108864:B===4?(H.fg|=268435456,this._processUnderline(C.hasSubParams(Y)?C.getSubParams(Y)[0]:1,H)):B===5?H.fg|=536870912:B===7?H.fg|=67108864:B===8?H.fg|=1073741824:B===9?H.fg|=2147483648:B===2?H.bg|=134217728:B===21?this._processUnderline(2,H):B===22?(H.fg&=-134217729,H.bg&=-134217729):B===23?H.bg&=-67108865:B===24?(H.fg&=-268435457,this._processUnderline(0,H)):B===25?H.fg&=-536870913:B===27?H.fg&=-67108865:B===28?H.fg&=-1073741825:B===29?H.fg&=2147483647:B===39?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg):B===49?(H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):B===38||B===48||B===58?Y+=this._extractColor(C,Y,H):B===53?H.bg|=1073741824:B===55?H.bg&=-1073741825:B===59?(H.extended=H.extended.clone(),H.extended.underlineColor=-1,H.updateExtended()):B===100?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg,H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",B);return!0}deviceStatus(C){switch(C.params[0]){case 5:this._coreService.triggerDataEvent(`${h.C0.ESC}[0n`);break;case 6:const M=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[${M};${B}R`)}return!0}deviceStatusPrivate(C){if(C.params[0]===6){const M=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[?${M};${B}R`)}return!0}softReset(C){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(C){const M=C.params[0]||1;switch(M){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const B=M%2==1;return this._optionsService.options.cursorBlink=B,!0}setScrollRegion(C){const M=C.params[0]||1;let B;return(C.length<2||(B=C.params[1])>this._bufferService.rows||B===0)&&(B=this._bufferService.rows),B>M&&(this._activeBuffer.scrollTop=M-1,this._activeBuffer.scrollBottom=B-1,this._setCursor(0,0)),!0}windowOptions(C){if(!T(C.params[0],this._optionsService.rawOptions.windowOptions))return!0;const M=C.length>1?C.params[1]:0;switch(C.params[0]){case 14:M!==2&&this._onRequestWindowsOptionsReport.fire(A.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(A.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${h.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:M!==0&&M!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),M!==0&&M!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:M!==0&&M!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),M!==0&&M!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(C){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(C){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(C){return this._windowTitle=C,this._onTitleChange.fire(C),!0}setIconName(C){return this._iconName=C,!0}setOrReportIndexedColor(C){const M=[],B=C.split(";");for(;B.length>1;){const H=B.shift(),Y=B.shift();if(/^\d+$/.exec(H)){const V=parseInt(H);if(G(V))if(Y==="?")M.push({type:0,index:V});else{const te=(0,E.parseColor)(Y);te&&M.push({type:1,index:V,color:te})}}}return M.length&&this._onColor.fire(M),!0}setHyperlink(C){const M=C.split(";");return!(M.length<2)&&(M[1]?this._createHyperlink(M[0],M[1]):!M[0]&&this._finishHyperlink())}_createHyperlink(C,M){this._getCurrentLinkId()&&this._finishHyperlink();const B=C.split(":");let H;const Y=B.findIndex(V=>V.startsWith("id="));return Y!==-1&&(H=B[Y].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:H,uri:M}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(C,M){const B=C.split(";");for(let H=0;H<B.length&&!(M>=this._specialColors.length);++H,++M)if(B[H]==="?")this._onColor.fire([{type:0,index:this._specialColors[M]}]);else{const Y=(0,E.parseColor)(B[H]);Y&&this._onColor.fire([{type:1,index:this._specialColors[M],color:Y}])}return!0}setOrReportFgColor(C){return this._setOrReportSpecialColor(C,0)}setOrReportBgColor(C){return this._setOrReportSpecialColor(C,1)}setOrReportCursorColor(C){return this._setOrReportSpecialColor(C,2)}restoreIndexedColor(C){if(!C)return this._onColor.fire([{type:2}]),!0;const M=[],B=C.split(";");for(let H=0;H<B.length;++H)if(/^\d+$/.exec(B[H])){const Y=parseInt(B[H]);G(Y)&&M.push({type:2,index:Y})}return M.length&&this._onColor.fire(M),!0}restoreFgColor(C){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(C){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(C){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),!0}selectCharset(C){return C.length!==2?(this.selectDefaultCharset(),!0):(C[0]==="/"||this._charsetService.setgCharset(R[C[0]],p.CHARSETS[C[1]]||p.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const C=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,C,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(C){return this._charsetService.setgLevel(C),!0}screenAlignmentPattern(){const C=new d.CellData;C.content=4194373,C.fg=this._curAttrData.fg,C.bg=this._curAttrData.bg,this._setCursor(0,0);for(let M=0;M<this._bufferService.rows;++M){const B=this._activeBuffer.ybase+this._activeBuffer.y+M,H=this._activeBuffer.lines.get(B);H&&(H.fill(C),H.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(C,M){const B=this._bufferService.buffer,H=this._optionsService.rawOptions;return(Y=>(this._coreService.triggerDataEvent(`${h.C0.ESC}${Y}${h.C0.ESC}\\`),!0))(C==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:C==='"p'?'P1$r61;1"p':C==="r"?`P1$r${B.scrollTop+1};${B.scrollBottom+1}r`:C==="m"?"P1$r0m":C===" q"?`P1$r${{block:2,underline:4,bar:6}[H.cursorStyle]-(H.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(C,M){this._dirtyRowTracker.markRangeDirty(C,M)}}r.InputHandler=U;let $=class{constructor(j){this._bufferService=j,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(j){j<this.start?this.start=j:j>this.end&&(this.end=j)}markRangeDirty(j,C){j>C&&(O=j,j=C,C=O),j<this.start&&(this.start=j),C>this.end&&(this.end=C)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function G(j){return 0<=j&&j<256}$=f([v(0,k.IBufferService)],$)},844:(m,r)=>{function o(f){for(const v of f)v.dispose();f.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const v=this._disposables.indexOf(f);v!==-1&&this._disposables.splice(v,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var v;this._isDisposed||f===this._value||((v=this._value)==null||v.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},r.toDisposable=function(f){return{dispose:f}},r.disposeArray=o,r.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},1505:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(v,h,p){this._data[v]||(this._data[v]={}),this._data[v][h]=p}get(v,h){return this._data[v]?this._data[v][h]:void 0}clear(){this._data={}}}r.TwoKeyMap=o,r.FourKeyMap=class{constructor(){this._data=new o}set(f,v,h,p,y){this._data.get(f,v)||this._data.set(f,v,new o),this._data.get(f,v).set(h,p,y)}get(f,v,h,p){var y;return(y=this._data.get(f,v))==null?void 0:y.get(h,p)}clear(){this._data.clear()}}},6114:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;const o=r.isNode?"node":navigator.userAgent,f=r.isNode?"node":navigator.platform;r.isFirefox=o.includes("Firefox"),r.isLegacyEdge=o.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(o),r.getSafariVersion=function(){if(!r.isSafari)return 0;const v=o.match(/Version\/(\d+)/);return v===null||v.length<2?0:parseInt(v[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),r.isIpad=f==="iPad",r.isIphone=f==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),r.isLinux=f.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(o)},6106:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SortedList=void 0;let o=0;r.SortedList=class{constructor(f){this._getKey=f,this._array=[]}clear(){this._array.length=0}insert(f){this._array.length!==0?(o=this._search(this._getKey(f)),this._array.splice(o,0,f)):this._array.push(f)}delete(f){if(this._array.length===0)return!1;const v=this._getKey(f);if(v===void 0||(o=this._search(v),o===-1)||this._getKey(this._array[o])!==v)return!1;do if(this._array[o]===f)return this._array.splice(o,1),!0;while(++o<this._array.length&&this._getKey(this._array[o])===v);return!1}*getKeyIterator(f){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do yield this._array[o];while(++o<this._array.length&&this._getKey(this._array[o])===f)}forEachByKey(f,v){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do v(this._array[o]);while(++o<this._array.length&&this._getKey(this._array[o])===f)}values(){return[...this._array].values()}_search(f){let v=0,h=this._array.length-1;for(;h>=v;){let p=v+h>>1;const y=this._getKey(this._array[p]);if(y>f)h=p-1;else{if(!(y<f)){for(;p>0&&this._getKey(this._array[p-1])===f;)p--;return p}v=p+1}}return v}}},7226:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;const f=o(6114);class v{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let S=0,g=0,a=y.timeRemaining(),u=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),g=Math.max(S,g),u=y.timeRemaining(),1.5*g>u)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=u}this.clear()}}class h extends v{_requestCallback(y){return setTimeout(()=>y(this._createDeadline(16)))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const S=Date.now()+y;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}r.PriorityTaskQueue=h,r.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends v{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:h,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},9282:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateWindowsModeWrappedState=void 0;const f=o(643);r.updateWindowsModeWrappedState=function(v){const h=v.buffer.lines.get(v.buffer.ybase+v.buffer.y-1),p=h==null?void 0:h.get(v.cols-1),y=v.buffer.lines.get(v.buffer.ybase+v.buffer.y);y&&p&&(y.isWrapped=p[f.CHAR_DATA_CODE_INDEX]!==f.NULL_CELL_CODE&&p[f.CHAR_DATA_CODE_INDEX]!==f.WHITESPACE_CELL_CODE)}},3734:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new o;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,p=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=p}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=f},9092:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Buffer=r.MAX_BUFFER_SIZE=void 0;const f=o(6349),v=o(7226),h=o(3734),p=o(8437),y=o(4634),S=o(511),g=o(643),a=o(4863),u=o(7116);r.MAX_BUFFER_SIZE=4294967295,r.Buffer=class{constructor(l,d,w){this._hasScrollback=l,this._optionsService=d,this._bufferService=w,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=p.DEFAULT_ATTR_DATA.clone(),this.savedCharset=u.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,g.NULL_CELL_CHAR,g.NULL_CELL_WIDTH,g.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,g.WHITESPACE_CELL_CHAR,g.WHITESPACE_CELL_WIDTH,g.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new v.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(l){return l?(this._nullCell.fg=l.fg,this._nullCell.bg=l.bg,this._nullCell.extended=l.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell}getWhitespaceCell(l){return l?(this._whitespaceCell.fg=l.fg,this._whitespaceCell.bg=l.bg,this._whitespaceCell.extended=l.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell}getBlankLine(l,d){return new p.BufferLine(this._bufferService.cols,this.getNullCell(l),d)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const l=this.ybase+this.y-this.ydisp;return l>=0&&l<this._rows}_getCorrectBufferLength(l){if(!this._hasScrollback)return l;const d=l+this._optionsService.rawOptions.scrollback;return d>r.MAX_BUFFER_SIZE?r.MAX_BUFFER_SIZE:d}fillViewportRows(l){if(this.lines.length===0){l===void 0&&(l=p.DEFAULT_ATTR_DATA);let d=this._rows;for(;d--;)this.lines.push(this.getBlankLine(l))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(l,d){const w=this.getNullCell(p.DEFAULT_ATTR_DATA);let k=0;const b=this._getCorrectBufferLength(d);if(b>this.lines.maxLength&&(this.lines.maxLength=b),this.lines.length>0){if(this._cols<l)for(let x=0;x<this.lines.length;x++)k+=+this.lines.get(x).resize(l,w);let L=0;if(this._rows<d)for(let x=this._rows;x<d;x++)this.lines.length<d+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new p.BufferLine(l,w)):this.ybase>0&&this.lines.length<=this.ybase+this.y+L+1?(this.ybase--,L++,this.ydisp>0&&this.ydisp--):this.lines.push(new p.BufferLine(l,w)));else for(let x=this._rows;x>d;x--)this.lines.length>d+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(b<this.lines.maxLength){const x=this.lines.length-b;x>0&&(this.lines.trimStart(x),this.ybase=Math.max(this.ybase-x,0),this.ydisp=Math.max(this.ydisp-x,0),this.savedY=Math.max(this.savedY-x,0)),this.lines.maxLength=b}this.x=Math.min(this.x,l-1),this.y=Math.min(this.y,d-1),L&&(this.y+=L),this.savedX=Math.min(this.savedX,l-1),this.scrollTop=0}if(this.scrollBottom=d-1,this._isReflowEnabled&&(this._reflow(l,d),this._cols>l))for(let L=0;L<this.lines.length;L++)k+=+this.lines.get(L).resize(l,w);this._cols=l,this._rows=d,this._memoryCleanupQueue.clear(),k>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let l=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,l=!1);let d=0;for(;this._memoryCleanupPosition<this.lines.length;)if(d+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),d>100)return!0;return l}get _isReflowEnabled(){const l=this._optionsService.rawOptions.windowsPty;return l&&l.buildNumber?this._hasScrollback&&l.backend==="conpty"&&l.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(l,d){this._cols!==l&&(l>this._cols?this._reflowLarger(l,d):this._reflowSmaller(l,d))}_reflowLarger(l,d){const w=(0,y.reflowLargerGetLinesToRemove)(this.lines,this._cols,l,this.ybase+this.y,this.getNullCell(p.DEFAULT_ATTR_DATA));if(w.length>0){const k=(0,y.reflowLargerCreateNewLayout)(this.lines,w);(0,y.reflowLargerApplyNewLayout)(this.lines,k.layout),this._reflowLargerAdjustViewport(l,d,k.countRemoved)}}_reflowLargerAdjustViewport(l,d,w){const k=this.getNullCell(p.DEFAULT_ATTR_DATA);let b=w;for(;b-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<d&&this.lines.push(new p.BufferLine(l,k))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-w,0)}_reflowSmaller(l,d){const w=this.getNullCell(p.DEFAULT_ATTR_DATA),k=[];let b=0;for(let L=this.lines.length-1;L>=0;L--){let x=this.lines.get(L);if(!x||!x.isWrapped&&x.getTrimmedLength()<=l)continue;const E=[x];for(;x.isWrapped&&L>0;)x=this.lines.get(--L),E.unshift(x);const R=this.ybase+this.y;if(R>=L&&R<L+E.length)continue;const I=E[E.length-1].getTrimmedLength(),T=(0,y.reflowSmallerGetNewLineLengths)(E,this._cols,l),A=T.length-E.length;let O;O=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+A):Math.max(0,this.lines.length-this.lines.maxLength+A);const U=[];for(let B=0;B<A;B++){const H=this.getBlankLine(p.DEFAULT_ATTR_DATA,!0);U.push(H)}U.length>0&&(k.push({start:L+E.length+b,newLines:U}),b+=U.length),E.push(...U);let $=T.length-1,G=T[$];G===0&&($--,G=T[$]);let j=E.length-A-1,C=I;for(;j>=0;){const B=Math.min(C,G);if(E[$]===void 0)break;if(E[$].copyCellsFrom(E[j],C-B,G-B,B,!0),G-=B,G===0&&($--,G=T[$]),C-=B,C===0){j--;const H=Math.max(j,0);C=(0,y.getWrappedLineTrimmedLength)(E,H,this._cols)}}for(let B=0;B<E.length;B++)T[B]<l&&E[B].setCell(T[B],w);let M=A-O;for(;M-- >0;)this.ybase===0?this.y<d-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+b)-d&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+A,this.ybase+d-1)}if(k.length>0){const L=[],x=[];for(let $=0;$<this.lines.length;$++)x.push(this.lines.get($));const E=this.lines.length;let R=E-1,I=0,T=k[I];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+b);let A=0;for(let $=Math.min(this.lines.maxLength-1,E+b-1);$>=0;$--)if(T&&T.start>R+A){for(let G=T.newLines.length-1;G>=0;G--)this.lines.set($--,T.newLines[G]);$++,L.push({index:R+1,amount:T.newLines.length}),A+=T.newLines.length,T=k[++I]}else this.lines.set($,x[R--]);let O=0;for(let $=L.length-1;$>=0;$--)L[$].index+=O,this.lines.onInsertEmitter.fire(L[$]),O+=L[$].amount;const U=Math.max(0,E+b-this.lines.maxLength);U>0&&this.lines.onTrimEmitter.fire(U)}}translateBufferLineToString(l,d,w=0,k){const b=this.lines.get(l);return b?b.translateToString(d,w,k):""}getWrappedRangeForLine(l){let d=l,w=l;for(;d>0&&this.lines.get(d).isWrapped;)d--;for(;w+1<this.lines.length&&this.lines.get(w+1).isWrapped;)w++;return{first:d,last:w}}setupTabStops(l){for(l!=null?this.tabs[l]||(l=this.prevStop(l)):(this.tabs={},l=0);l<this._cols;l+=this._optionsService.rawOptions.tabStopWidth)this.tabs[l]=!0}prevStop(l){for(l==null&&(l=this.x);!this.tabs[--l]&&l>0;);return l>=this._cols?this._cols-1:l<0?0:l}nextStop(l){for(l==null&&(l=this.x);!this.tabs[++l]&&l<this._cols;);return l>=this._cols?this._cols-1:l<0?0:l}clearMarkers(l){this._isClearing=!0;for(let d=0;d<this.markers.length;d++)this.markers[d].line===l&&(this.markers[d].dispose(),this.markers.splice(d--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let l=0;l<this.markers.length;l++)this.markers[l].dispose(),this.markers.splice(l--,1);this._isClearing=!1}addMarker(l){const d=new a.Marker(l);return this.markers.push(d),d.register(this.lines.onTrim(w=>{d.line-=w,d.line<0&&d.dispose()})),d.register(this.lines.onInsert(w=>{d.line>=w.index&&(d.line+=w.amount)})),d.register(this.lines.onDelete(w=>{d.line>=w.index&&d.line<w.index+w.amount&&d.dispose(),d.line>w.index&&(d.line-=w.amount)})),d.register(d.onDispose(()=>this._removeMarker(d))),d}_removeMarker(l){this._isClearing||this.markers.splice(this.markers.indexOf(l),1)}}},8437:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLine=r.DEFAULT_ATTR_DATA=void 0;const f=o(3734),v=o(511),h=o(643),p=o(482);r.DEFAULT_ATTR_DATA=Object.freeze(new f.AttributeData);let y=0;class S{constructor(a,u,l=!1){this.isWrapped=l,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*a);const d=u||v.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]);for(let w=0;w<a;++w)this.setCell(w,d);this.length=a}get(a){const u=this._data[3*a+0],l=2097151&u;return[this._data[3*a+1],2097152&u?this._combined[a]:l?(0,p.stringFromCodePoint)(l):"",u>>22,2097152&u?this._combined[a].charCodeAt(this._combined[a].length-1):l]}set(a,u){this._data[3*a+1]=u[h.CHAR_DATA_ATTR_INDEX],u[h.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[a]=u[1],this._data[3*a+0]=2097152|a|u[h.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*a+0]=u[h.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|u[h.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(a){return this._data[3*a+0]>>22}hasWidth(a){return 12582912&this._data[3*a+0]}getFg(a){return this._data[3*a+1]}getBg(a){return this._data[3*a+2]}hasContent(a){return 4194303&this._data[3*a+0]}getCodePoint(a){const u=this._data[3*a+0];return 2097152&u?this._combined[a].charCodeAt(this._combined[a].length-1):2097151&u}isCombined(a){return 2097152&this._data[3*a+0]}getString(a){const u=this._data[3*a+0];return 2097152&u?this._combined[a]:2097151&u?(0,p.stringFromCodePoint)(2097151&u):""}isProtected(a){return 536870912&this._data[3*a+2]}loadCell(a,u){return y=3*a,u.content=this._data[y+0],u.fg=this._data[y+1],u.bg=this._data[y+2],2097152&u.content&&(u.combinedData=this._combined[a]),268435456&u.bg&&(u.extended=this._extendedAttrs[a]),u}setCell(a,u){2097152&u.content&&(this._combined[a]=u.combinedData),268435456&u.bg&&(this._extendedAttrs[a]=u.extended),this._data[3*a+0]=u.content,this._data[3*a+1]=u.fg,this._data[3*a+2]=u.bg}setCellFromCodepoint(a,u,l,d){268435456&d.bg&&(this._extendedAttrs[a]=d.extended),this._data[3*a+0]=u|l<<22,this._data[3*a+1]=d.fg,this._data[3*a+2]=d.bg}addCodepointToCell(a,u,l){let d=this._data[3*a+0];2097152&d?this._combined[a]+=(0,p.stringFromCodePoint)(u):2097151&d?(this._combined[a]=(0,p.stringFromCodePoint)(2097151&d)+(0,p.stringFromCodePoint)(u),d&=-2097152,d|=2097152):d=u|4194304,l&&(d&=-12582913,d|=l<<22),this._data[3*a+0]=d}insertCells(a,u,l){if((a%=this.length)&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length-a){const d=new v.CellData;for(let w=this.length-a-u-1;w>=0;--w)this.setCell(a+u+w,this.loadCell(a+w,d));for(let w=0;w<u;++w)this.setCell(a+w,l)}else for(let d=a;d<this.length;++d)this.setCell(d,l);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,l)}deleteCells(a,u,l){if(a%=this.length,u<this.length-a){const d=new v.CellData;for(let w=0;w<this.length-a-u;++w)this.setCell(a+w,this.loadCell(a+u+w,d));for(let w=this.length-u;w<this.length;++w)this.setCell(w,l)}else for(let d=a;d<this.length;++d)this.setCell(d,l);a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),this.getWidth(a)!==0||this.hasContent(a)||this.setCellFromCodepoint(a,0,1,l)}replaceCells(a,u,l,d=!1){if(d)for(a&&this.getWidth(a-1)===2&&!this.isProtected(a-1)&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length&&this.getWidth(u-1)===2&&!this.isProtected(u)&&this.setCellFromCodepoint(u,0,1,l);a<u&&a<this.length;)this.isProtected(a)||this.setCell(a,l),a++;else for(a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,l),u<this.length&&this.getWidth(u-1)===2&&this.setCellFromCodepoint(u,0,1,l);a<u&&a<this.length;)this.setCell(a++,l)}resize(a,u){if(a===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const l=3*a;if(a>this.length){if(this._data.buffer.byteLength>=4*l)this._data=new Uint32Array(this._data.buffer,0,l);else{const d=new Uint32Array(l);d.set(this._data),this._data=d}for(let d=this.length;d<a;++d)this.setCell(d,u)}else{this._data=this._data.subarray(0,l);const d=Object.keys(this._combined);for(let k=0;k<d.length;k++){const b=parseInt(d[k],10);b>=a&&delete this._combined[b]}const w=Object.keys(this._extendedAttrs);for(let k=0;k<w.length;k++){const b=parseInt(w[k],10);b>=a&&delete this._extendedAttrs[b]}}return this.length=a,4*l*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const a=new Uint32Array(this._data.length);return a.set(this._data),this._data=a,1}return 0}fill(a,u=!1){if(u)for(let l=0;l<this.length;++l)this.isProtected(l)||this.setCell(l,a);else{this._combined={},this._extendedAttrs={};for(let l=0;l<this.length;++l)this.setCell(l,a)}}copyFrom(a){this.length!==a.length?this._data=new Uint32Array(a._data):this._data.set(a._data),this.length=a.length,this._combined={};for(const u in a._combined)this._combined[u]=a._combined[u];this._extendedAttrs={};for(const u in a._extendedAttrs)this._extendedAttrs[u]=a._extendedAttrs[u];this.isWrapped=a.isWrapped}clone(){const a=new S(0);a._data=new Uint32Array(this._data),a.length=this.length;for(const u in this._combined)a._combined[u]=this._combined[u];for(const u in this._extendedAttrs)a._extendedAttrs[u]=this._extendedAttrs[u];return a.isWrapped=this.isWrapped,a}getTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0])return a+(this._data[3*a+0]>>22);return 0}getNoBgTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0]||50331648&this._data[3*a+2])return a+(this._data[3*a+0]>>22);return 0}copyCellsFrom(a,u,l,d,w){const k=a._data;if(w)for(let L=d-1;L>=0;L--){for(let x=0;x<3;x++)this._data[3*(l+L)+x]=k[3*(u+L)+x];268435456&k[3*(u+L)+2]&&(this._extendedAttrs[l+L]=a._extendedAttrs[u+L])}else for(let L=0;L<d;L++){for(let x=0;x<3;x++)this._data[3*(l+L)+x]=k[3*(u+L)+x];268435456&k[3*(u+L)+2]&&(this._extendedAttrs[l+L]=a._extendedAttrs[u+L])}const b=Object.keys(a._combined);for(let L=0;L<b.length;L++){const x=parseInt(b[L],10);x>=u&&(this._combined[x-u+l]=a._combined[x])}}translateToString(a,u,l,d){u=u??0,l=l??this.length,a&&(l=Math.min(l,this.getTrimmedLength())),d&&(d.length=0);let w="";for(;u<l;){const k=this._data[3*u+0],b=2097151&k,L=2097152&k?this._combined[u]:b?(0,p.stringFromCodePoint)(b):h.WHITESPACE_CELL_CHAR;if(w+=L,d)for(let x=0;x<L.length;++x)d.push(u);u+=k>>22||1}return d&&d.push(u),w}}r.BufferLine=S},4841:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getRangeLength=void 0,r.getRangeLength=function(o,f){if(o.start.y>o.end.y)throw new Error(`Buffer range end (${o.end.x}, ${o.end.y}) cannot be before start (${o.start.x}, ${o.start.y})`);return f*(o.end.y-o.start.y)+(o.end.x-o.start.x+1)}},4634:(m,r)=>{function o(f,v,h){if(v===f.length-1)return f[v].getTrimmedLength();const p=!f[v].hasContent(h-1)&&f[v].getWidth(h-1)===1,y=f[v+1].getWidth(0)===2;return p&&y?h-1:h}Object.defineProperty(r,"__esModule",{value:!0}),r.getWrappedLineTrimmedLength=r.reflowSmallerGetNewLineLengths=r.reflowLargerApplyNewLayout=r.reflowLargerCreateNewLayout=r.reflowLargerGetLinesToRemove=void 0,r.reflowLargerGetLinesToRemove=function(f,v,h,p,y){const S=[];for(let g=0;g<f.length-1;g++){let a=g,u=f.get(++a);if(!u.isWrapped)continue;const l=[f.get(g)];for(;a<f.length&&u.isWrapped;)l.push(u),u=f.get(++a);if(p>=g&&p<a){g+=l.length-1;continue}let d=0,w=o(l,d,v),k=1,b=0;for(;k<l.length;){const x=o(l,k,v),E=x-b,R=h-w,I=Math.min(E,R);l[d].copyCellsFrom(l[k],b,w,I,!1),w+=I,w===h&&(d++,w=0),b+=I,b===x&&(k++,b=0),w===0&&d!==0&&l[d-1].getWidth(h-1)===2&&(l[d].copyCellsFrom(l[d-1],h-1,w++,1,!1),l[d-1].setCell(h-1,y))}l[d].replaceCells(w,h,y);let L=0;for(let x=l.length-1;x>0&&(x>d||l[x].getTrimmedLength()===0);x--)L++;L>0&&(S.push(g+l.length-L),S.push(L)),g+=l.length-1}return S},r.reflowLargerCreateNewLayout=function(f,v){const h=[];let p=0,y=v[p],S=0;for(let g=0;g<f.length;g++)if(y===g){const a=v[++p];f.onDeleteEmitter.fire({index:g-S,amount:a}),g+=a-1,S+=a,y=v[++p]}else h.push(g);return{layout:h,countRemoved:S}},r.reflowLargerApplyNewLayout=function(f,v){const h=[];for(let p=0;p<v.length;p++)h.push(f.get(v[p]));for(let p=0;p<h.length;p++)f.set(p,h[p]);f.length=v.length},r.reflowSmallerGetNewLineLengths=function(f,v,h){const p=[],y=f.map((u,l)=>o(f,l,v)).reduce((u,l)=>u+l);let S=0,g=0,a=0;for(;a<y;){if(y-a<h){p.push(y-a);break}S+=h;const u=o(f,g,v);S>u&&(S-=u,g++);const l=f[g].getWidth(S-1)===2;l&&S--;const d=l?h-1:h;p.push(d),a+=d}return p},r.getWrappedLineTrimmedLength=o},5295:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferSet=void 0;const f=o(8460),v=o(844),h=o(9092);class p extends v.Disposable{constructor(S,g){super(),this._optionsService=S,this._bufferService=g,this._onBufferActivate=this.register(new f.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new h.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new h.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(S,g){this._normal.resize(S,g),this._alt.resize(S,g),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}r.BufferSet=p},511:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;const f=o(482),v=o(643),h=o(3734);class p extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const g=new p;return g.setFromCharData(S),g}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[v.CHAR_DATA_ATTR_INDEX],this.bg=0;let g=!1;if(S[v.CHAR_DATA_CHAR_INDEX].length>2)g=!0;else if(S[v.CHAR_DATA_CHAR_INDEX].length===2){const a=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const u=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=u&&u<=57343?this.content=1024*(a-55296)+u-56320+65536|S[v.CHAR_DATA_WIDTH_INDEX]<<22:g=!0}else g=!0}else this.content=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[v.CHAR_DATA_WIDTH_INDEX]<<22;g&&(this.combinedData=S[v.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[v.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=p},643:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},4863:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Marker=void 0;const f=o(8460),v=o(844);class h{get id(){return this._id}constructor(y){this.line=y,this.isDisposed=!1,this._disposables=[],this._id=h._nextId++,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,v.disposeArray)(this._disposables),this._disposables.length=0)}register(y){return this._disposables.push(y),y}}r.Marker=h,h._nextId=1},7116:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_CHARSET=r.CHARSETS=void 0,r.CHARSETS={},r.DEFAULT_CHARSET=r.CHARSETS.B,r.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},r.CHARSETS.A={"#":"£"},r.CHARSETS.B=void 0,r.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},r.CHARSETS.C=r.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},r.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},r.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},r.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},r.CHARSETS.E=r.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},r.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},r.CHARSETS.H=r.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},r.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(m,r)=>{var o,f,v;Object.defineProperty(r,"__esModule",{value:!0}),r.C1_ESCAPED=r.C1=r.C0=void 0,function(h){h.NUL="\0",h.SOH="",h.STX="",h.ETX="",h.EOT="",h.ENQ="",h.ACK="",h.BEL="\x07",h.BS="\b",h.HT=" ",h.LF=`
49
49
  `,h.VT="\v",h.FF="\f",h.CR="\r",h.SO="",h.SI="",h.DLE="",h.DC1="",h.DC2="",h.DC3="",h.DC4="",h.NAK="",h.SYN="",h.ETB="",h.CAN="",h.EM="",h.SUB="",h.ESC="\x1B",h.FS="",h.GS="",h.RS="",h.US="",h.SP=" ",h.DEL=""}(o||(r.C0=o={})),function(h){h.PAD="€",h.HOP="",h.BPH="‚",h.NBH="ƒ",h.IND="„",h.NEL="…",h.SSA="†",h.ESA="‡",h.HTS="ˆ",h.HTJ="‰",h.VTS="Š",h.PLD="‹",h.PLU="Œ",h.RI="",h.SS2="Ž",h.SS3="",h.DCS="",h.PU1="‘",h.PU2="’",h.STS="“",h.CCH="”",h.MW="•",h.SPA="–",h.EPA="—",h.SOS="˜",h.SGCI="™",h.SCI="š",h.CSI="›",h.ST="œ",h.OSC="",h.PM="ž",h.APC="Ÿ"}(f||(r.C1=f={})),function(h){h.ST=`${o.ESC}\\`}(v||(r.C1_ESCAPED=v={}))},7399:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;const f=o(2584),v={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(h,p,y,S){const g={type:0,cancel:!1,key:void 0},a=(h.shiftKey?1:0)|(h.altKey?2:0)|(h.ctrlKey?4:0)|(h.metaKey?8:0);switch(h.keyCode){case 0:h.key==="UIKeyInputUpArrow"?g.key=p?f.C0.ESC+"OA":f.C0.ESC+"[A":h.key==="UIKeyInputLeftArrow"?g.key=p?f.C0.ESC+"OD":f.C0.ESC+"[D":h.key==="UIKeyInputRightArrow"?g.key=p?f.C0.ESC+"OC":f.C0.ESC+"[C":h.key==="UIKeyInputDownArrow"&&(g.key=p?f.C0.ESC+"OB":f.C0.ESC+"[B");break;case 8:g.key=h.ctrlKey?"\b":f.C0.DEL,h.altKey&&(g.key=f.C0.ESC+g.key);break;case 9:if(h.shiftKey){g.key=f.C0.ESC+"[Z";break}g.key=f.C0.HT,g.cancel=!0;break;case 13:g.key=h.altKey?f.C0.ESC+f.C0.CR:f.C0.CR,g.cancel=!0;break;case 27:g.key=f.C0.ESC,h.altKey&&(g.key=f.C0.ESC+f.C0.ESC),g.cancel=!0;break;case 37:if(h.metaKey)break;a?(g.key=f.C0.ESC+"[1;"+(a+1)+"D",g.key===f.C0.ESC+"[1;3D"&&(g.key=f.C0.ESC+(y?"b":"[1;5D"))):g.key=p?f.C0.ESC+"OD":f.C0.ESC+"[D";break;case 39:if(h.metaKey)break;a?(g.key=f.C0.ESC+"[1;"+(a+1)+"C",g.key===f.C0.ESC+"[1;3C"&&(g.key=f.C0.ESC+(y?"f":"[1;5C"))):g.key=p?f.C0.ESC+"OC":f.C0.ESC+"[C";break;case 38:if(h.metaKey)break;a?(g.key=f.C0.ESC+"[1;"+(a+1)+"A",y||g.key!==f.C0.ESC+"[1;3A"||(g.key=f.C0.ESC+"[1;5A")):g.key=p?f.C0.ESC+"OA":f.C0.ESC+"[A";break;case 40:if(h.metaKey)break;a?(g.key=f.C0.ESC+"[1;"+(a+1)+"B",y||g.key!==f.C0.ESC+"[1;3B"||(g.key=f.C0.ESC+"[1;5B")):g.key=p?f.C0.ESC+"OB":f.C0.ESC+"[B";break;case 45:h.shiftKey||h.ctrlKey||(g.key=f.C0.ESC+"[2~");break;case 46:g.key=a?f.C0.ESC+"[3;"+(a+1)+"~":f.C0.ESC+"[3~";break;case 36:g.key=a?f.C0.ESC+"[1;"+(a+1)+"H":p?f.C0.ESC+"OH":f.C0.ESC+"[H";break;case 35:g.key=a?f.C0.ESC+"[1;"+(a+1)+"F":p?f.C0.ESC+"OF":f.C0.ESC+"[F";break;case 33:h.shiftKey?g.type=2:h.ctrlKey?g.key=f.C0.ESC+"[5;"+(a+1)+"~":g.key=f.C0.ESC+"[5~";break;case 34:h.shiftKey?g.type=3:h.ctrlKey?g.key=f.C0.ESC+"[6;"+(a+1)+"~":g.key=f.C0.ESC+"[6~";break;case 112:g.key=a?f.C0.ESC+"[1;"+(a+1)+"P":f.C0.ESC+"OP";break;case 113:g.key=a?f.C0.ESC+"[1;"+(a+1)+"Q":f.C0.ESC+"OQ";break;case 114:g.key=a?f.C0.ESC+"[1;"+(a+1)+"R":f.C0.ESC+"OR";break;case 115:g.key=a?f.C0.ESC+"[1;"+(a+1)+"S":f.C0.ESC+"OS";break;case 116:g.key=a?f.C0.ESC+"[15;"+(a+1)+"~":f.C0.ESC+"[15~";break;case 117:g.key=a?f.C0.ESC+"[17;"+(a+1)+"~":f.C0.ESC+"[17~";break;case 118:g.key=a?f.C0.ESC+"[18;"+(a+1)+"~":f.C0.ESC+"[18~";break;case 119:g.key=a?f.C0.ESC+"[19;"+(a+1)+"~":f.C0.ESC+"[19~";break;case 120:g.key=a?f.C0.ESC+"[20;"+(a+1)+"~":f.C0.ESC+"[20~";break;case 121:g.key=a?f.C0.ESC+"[21;"+(a+1)+"~":f.C0.ESC+"[21~";break;case 122:g.key=a?f.C0.ESC+"[23;"+(a+1)+"~":f.C0.ESC+"[23~";break;case 123:g.key=a?f.C0.ESC+"[24;"+(a+1)+"~":f.C0.ESC+"[24~";break;default:if(!h.ctrlKey||h.shiftKey||h.altKey||h.metaKey)if(y&&!S||!h.altKey||h.metaKey)!y||h.altKey||h.ctrlKey||h.shiftKey||!h.metaKey?h.key&&!h.ctrlKey&&!h.altKey&&!h.metaKey&&h.keyCode>=48&&h.key.length===1?g.key=h.key:h.key&&h.ctrlKey&&(h.key==="_"&&(g.key=f.C0.US),h.key==="@"&&(g.key=f.C0.NUL)):h.keyCode===65&&(g.type=1);else{const u=v[h.keyCode],l=u==null?void 0:u[h.shiftKey?1:0];if(l)g.key=f.C0.ESC+l;else if(h.keyCode>=65&&h.keyCode<=90){const d=h.ctrlKey?h.keyCode-64:h.keyCode+32;let w=String.fromCharCode(d);h.shiftKey&&(w=w.toUpperCase()),g.key=f.C0.ESC+w}else if(h.keyCode===32)g.key=f.C0.ESC+(h.ctrlKey?f.C0.NUL:" ");else if(h.key==="Dead"&&h.code.startsWith("Key")){let d=h.code.slice(3,4);h.shiftKey||(d=d.toLowerCase()),g.key=f.C0.ESC+d,g.cancel=!0}}else h.keyCode>=65&&h.keyCode<=90?g.key=String.fromCharCode(h.keyCode-64):h.keyCode===32?g.key=f.C0.NUL:h.keyCode>=51&&h.keyCode<=55?g.key=String.fromCharCode(h.keyCode-51+27):h.keyCode===56?g.key=f.C0.DEL:h.keyCode===219?g.key=f.C0.ESC:h.keyCode===220?g.key=f.C0.FS:h.keyCode===221&&(g.key=f.C0.GS)}return g}},482:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},r.utf32ToString=function(o,f=0,v=o.length){let h="";for(let p=f;p<v;++p){let y=o[p];y>65535?(y-=65536,h+=String.fromCharCode(55296+(y>>10))+String.fromCharCode(y%1024+56320)):h+=String.fromCharCode(y)}return h},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,f){const v=o.length;if(!v)return 0;let h=0,p=0;if(this._interim){const y=o.charCodeAt(p++);56320<=y&&y<=57343?f[h++]=1024*(this._interim-55296)+y-56320+65536:(f[h++]=this._interim,f[h++]=y),this._interim=0}for(let y=p;y<v;++y){const S=o.charCodeAt(y);if(55296<=S&&S<=56319){if(++y>=v)return this._interim=S,h;const g=o.charCodeAt(y);56320<=g&&g<=57343?f[h++]=1024*(S-55296)+g-56320+65536:(f[h++]=S,f[h++]=g)}else S!==65279&&(f[h++]=S)}return h}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,f){const v=o.length;if(!v)return 0;let h,p,y,S,g=0,a=0,u=0;if(this.interim[0]){let w=!1,k=this.interim[0];k&=(224&k)==192?31:(240&k)==224?15:7;let b,L=0;for(;(b=63&this.interim[++L])&&L<4;)k<<=6,k|=b;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,E=x-L;for(;u<E;){if(u>=v)return 0;if(b=o[u++],(192&b)!=128){u--,w=!0;break}this.interim[L++]=b,k<<=6,k|=63&b}w||(x===2?k<128?u--:f[g++]=k:x===3?k<2048||k>=55296&&k<=57343||k===65279||(f[g++]=k):k<65536||k>1114111||(f[g++]=k)),this.interim.fill(0)}const l=v-4;let d=u;for(;d<v;){for(;!(!(d<l)||128&(h=o[d])||128&(p=o[d+1])||128&(y=o[d+2])||128&(S=o[d+3]));)f[g++]=h,f[g++]=p,f[g++]=y,f[g++]=S,d+=4;if(h=o[d++],h<128)f[g++]=h;else if((224&h)==192){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(a=(31&h)<<6|63&p,a<128){d--;continue}f[g++]=a}else if((240&h)==224){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(a=(15&h)<<12|(63&p)<<6|63&y,a<2048||a>=55296&&a<=57343||a===65279)continue;f[g++]=a}else if((248&h)==240){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,this.interim[2]=y,g;if(S=o[d++],(192&S)!=128){d--;continue}if(a=(7&h)<<18|(63&p)<<12|(63&y)<<6|63&S,a<65536||a>1114111)continue;f[g++]=a}}return g}}},225:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeV6=void 0;const f=o(1480),v=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],h=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let p;r.UnicodeV6=class{constructor(){if(this.version="6",!p){p=new Uint8Array(65536),p.fill(1),p[0]=0,p.fill(0,1,32),p.fill(0,127,160),p.fill(2,4352,4448),p[9001]=2,p[9002]=2,p.fill(2,11904,42192),p[12351]=1,p.fill(2,44032,55204),p.fill(2,63744,64256),p.fill(2,65040,65050),p.fill(2,65072,65136),p.fill(2,65280,65377),p.fill(2,65504,65511);for(let y=0;y<v.length;++y)p.fill(0,v[y][0],v[y][1]+1)}}wcwidth(y){return y<32?0:y<127?1:y<65536?p[y]:function(S,g){let a,u=0,l=g.length-1;if(S<g[0][0]||S>g[l][1])return!1;for(;l>=u;)if(a=u+l>>1,S>g[a][1])u=a+1;else{if(!(S<g[a][0]))return!0;l=a-1}return!1}(y,h)?0:y>=131072&&y<=196605||y>=196608&&y<=262141?2:1}charProperties(y,S){let g=this.wcwidth(y),a=g===0&&S!==0;if(a){const u=f.UnicodeService.extractWidth(S);u===0?a=!1:u>g&&(g=u)}return f.UnicodeService.createPropertyValue(0,g,a)}}},5981:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WriteBuffer=void 0;const f=o(8460),v=o(844);class h extends v.Disposable{constructor(y){super(),this._action=y,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new f.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(y,S){if(S!==void 0&&this._syncCalls>S)return void(this._syncCalls=0);if(this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let g;for(this._isSyncWriting=!0;g=this._writeBuffer.shift();){this._action(g);const a=this._callbacks.shift();a&&a()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(y,S){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(S),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(S)}_innerWrite(y=0,S=!0){const g=y||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const a=this._writeBuffer[this._bufferOffset],u=this._action(a,S);if(u){const d=w=>Date.now()-g>=12?setTimeout(()=>this._innerWrite(0,w)):this._innerWrite(g,w);return void u.catch(w=>(queueMicrotask(()=>{throw w}),Promise.resolve(!1))).then(d)}const l=this._callbacks[this._bufferOffset];if(l&&l(),this._bufferOffset++,this._pendingData-=a.length,Date.now()-g>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}r.WriteBuffer=h},5941:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.toRgbString=r.parseColor=void 0;const o=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,f=/^[\da-f]+$/;function v(h,p){const y=h.toString(16),S=y.length<2?"0"+y:y;switch(p){case 4:return y[0];case 8:return S;case 12:return(S+S).slice(0,3);default:return S+S}}r.parseColor=function(h){if(!h)return;let p=h.toLowerCase();if(p.indexOf("rgb:")===0){p=p.slice(4);const y=o.exec(p);if(y){const S=y[1]?15:y[4]?255:y[7]?4095:65535;return[Math.round(parseInt(y[1]||y[4]||y[7]||y[10],16)/S*255),Math.round(parseInt(y[2]||y[5]||y[8]||y[11],16)/S*255),Math.round(parseInt(y[3]||y[6]||y[9]||y[12],16)/S*255)]}}else if(p.indexOf("#")===0&&(p=p.slice(1),f.exec(p)&&[3,6,9,12].includes(p.length))){const y=p.length/3,S=[0,0,0];for(let g=0;g<3;++g){const a=parseInt(p.slice(y*g,y*g+y),16);S[g]=y===1?a<<4:y===2?a:y===3?a>>4:a>>8}return S}},r.toRgbString=function(h,p=16){const[y,S,g]=h;return`rgb:${v(y,p)}/${v(S,p)}/${v(g,p)}`}},5770:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PAYLOAD_LIMIT=void 0,r.PAYLOAD_LIMIT=1e7},6351:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DcsHandler=r.DcsParser=void 0;const f=o(482),v=o(8742),h=o(5770),p=[];r.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=p,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=p}registerHandler(S,g){this._handlers[S]===void 0&&(this._handlers[S]=[]);const a=this._handlers[S];return a.push(g),{dispose:()=>{const u=a.indexOf(g);u!==-1&&a.splice(u,1)}}}clearHandler(S){this._handlers[S]&&delete this._handlers[S]}setHandlerFallback(S){this._handlerFb=S}reset(){if(this._active.length)for(let S=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;S>=0;--S)this._active[S].unhook(!1);this._stack.paused=!1,this._active=p,this._ident=0}hook(S,g){if(this.reset(),this._ident=S,this._active=this._handlers[S]||p,this._active.length)for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(g);else this._handlerFb(this._ident,"HOOK",g)}put(S,g,a){if(this._active.length)for(let u=this._active.length-1;u>=0;u--)this._active[u].put(S,g,a);else this._handlerFb(this._ident,"PUT",(0,f.utf32ToString)(S,g,a))}unhook(S,g=!0){if(this._active.length){let a=!1,u=this._active.length-1,l=!1;if(this._stack.paused&&(u=this._stack.loopPosition-1,a=g,l=this._stack.fallThrough,this._stack.paused=!1),!l&&a===!1){for(;u>=0&&(a=this._active[u].unhook(S),a!==!0);u--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=u,this._stack.fallThrough=!1,a;u--}for(;u>=0;u--)if(a=this._active[u].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=u,this._stack.fallThrough=!0,a}else this._handlerFb(this._ident,"UNHOOK",S);this._active=p,this._ident=0}};const y=new v.Params;y.addParam(0),r.DcsHandler=class{constructor(S){this._handler=S,this._data="",this._params=y,this._hitLimit=!1}hook(S){this._params=S.length>1||S.params[0]?S.clone():y,this._data="",this._hitLimit=!1}put(S,g,a){this._hitLimit||(this._data+=(0,f.utf32ToString)(S,g,a),this._data.length>h.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(S){let g=!1;if(this._hitLimit)g=!1;else if(S&&(g=this._handler(this._data,this._params),g instanceof Promise))return g.then(a=>(this._params=y,this._data="",this._hitLimit=!1,a));return this._params=y,this._data="",this._hitLimit=!1,g}}},2015:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.EscapeSequenceParser=r.VT500_TRANSITION_TABLE=r.TransitionTable=void 0;const f=o(844),v=o(8742),h=o(6242),p=o(6351);class y{constructor(u){this.table=new Uint8Array(u)}setDefault(u,l){this.table.fill(u<<4|l)}add(u,l,d,w){this.table[l<<8|u]=d<<4|w}addMany(u,l,d,w){for(let k=0;k<u.length;k++)this.table[l<<8|u[k]]=d<<4|w}}r.TransitionTable=y;const S=160;r.VT500_TRANSITION_TABLE=function(){const a=new y(4095),u=Array.apply(null,Array(256)).map((L,x)=>x),l=(L,x)=>u.slice(L,x),d=l(32,127),w=l(0,24);w.push(25),w.push.apply(w,l(28,32));const k=l(0,14);let b;for(b in a.setDefault(1,0),a.addMany(d,0,2,0),k)a.addMany([24,26,153,154],b,3,0),a.addMany(l(128,144),b,3,0),a.addMany(l(144,152),b,3,0),a.add(156,b,0,0),a.add(27,b,11,1),a.add(157,b,4,8),a.addMany([152,158,159],b,0,7),a.add(155,b,11,3),a.add(144,b,11,9);return a.addMany(w,0,3,0),a.addMany(w,1,3,1),a.add(127,1,0,1),a.addMany(w,8,0,8),a.addMany(w,3,3,3),a.add(127,3,0,3),a.addMany(w,4,3,4),a.add(127,4,0,4),a.addMany(w,6,3,6),a.addMany(w,5,3,5),a.add(127,5,0,5),a.addMany(w,2,3,2),a.add(127,2,0,2),a.add(93,1,4,8),a.addMany(d,8,5,8),a.add(127,8,5,8),a.addMany([156,27,24,26,7],8,6,0),a.addMany(l(28,32),8,0,8),a.addMany([88,94,95],1,0,7),a.addMany(d,7,0,7),a.addMany(w,7,0,7),a.add(156,7,0,0),a.add(127,7,0,7),a.add(91,1,11,3),a.addMany(l(64,127),3,7,0),a.addMany(l(48,60),3,8,4),a.addMany([60,61,62,63],3,9,4),a.addMany(l(48,60),4,8,4),a.addMany(l(64,127),4,7,0),a.addMany([60,61,62,63],4,0,6),a.addMany(l(32,64),6,0,6),a.add(127,6,0,6),a.addMany(l(64,127),6,0,0),a.addMany(l(32,48),3,9,5),a.addMany(l(32,48),5,9,5),a.addMany(l(48,64),5,0,6),a.addMany(l(64,127),5,7,0),a.addMany(l(32,48),4,9,5),a.addMany(l(32,48),1,9,2),a.addMany(l(32,48),2,9,2),a.addMany(l(48,127),2,10,0),a.addMany(l(48,80),1,10,0),a.addMany(l(81,88),1,10,0),a.addMany([89,90,92],1,10,0),a.addMany(l(96,127),1,10,0),a.add(80,1,11,9),a.addMany(w,9,0,9),a.add(127,9,0,9),a.addMany(l(28,32),9,0,9),a.addMany(l(32,48),9,9,12),a.addMany(l(48,60),9,8,10),a.addMany([60,61,62,63],9,9,10),a.addMany(w,11,0,11),a.addMany(l(32,128),11,0,11),a.addMany(l(28,32),11,0,11),a.addMany(w,10,0,10),a.add(127,10,0,10),a.addMany(l(28,32),10,0,10),a.addMany(l(48,60),10,8,10),a.addMany([60,61,62,63],10,0,11),a.addMany(l(32,48),10,9,12),a.addMany(w,12,0,12),a.add(127,12,0,12),a.addMany(l(28,32),12,0,12),a.addMany(l(32,48),12,9,12),a.addMany(l(48,64),12,0,11),a.addMany(l(64,127),12,12,13),a.addMany(l(64,127),10,12,13),a.addMany(l(64,127),9,12,13),a.addMany(w,13,13,13),a.addMany(d,13,13,13),a.add(127,13,0,13),a.addMany([27,156,24,26],13,14,0),a.add(S,0,2,0),a.add(S,8,5,8),a.add(S,6,0,6),a.add(S,11,0,11),a.add(S,13,13,13),a}();class g extends f.Disposable{constructor(u=r.VT500_TRANSITION_TABLE){super(),this._transitions=u,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new v.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(l,d,w)=>{},this._executeHandlerFb=l=>{},this._csiHandlerFb=(l,d)=>{},this._escHandlerFb=l=>{},this._errorHandlerFb=l=>l,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,f.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new h.OscParser),this._dcsParser=this.register(new p.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(u,l=[64,126]){let d=0;if(u.prefix){if(u.prefix.length>1)throw new Error("only one byte as prefix supported");if(d=u.prefix.charCodeAt(0),d&&60>d||d>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(u.intermediates){if(u.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let k=0;k<u.intermediates.length;++k){const b=u.intermediates.charCodeAt(k);if(32>b||b>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");d<<=8,d|=b}}if(u.final.length!==1)throw new Error("final must be a single byte");const w=u.final.charCodeAt(0);if(l[0]>w||w>l[1])throw new Error(`final must be in range ${l[0]} .. ${l[1]}`);return d<<=8,d|=w,d}identToString(u){const l=[];for(;u;)l.push(String.fromCharCode(255&u)),u>>=8;return l.reverse().join("")}setPrintHandler(u){this._printHandler=u}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(u,l){const d=this._identifier(u,[48,126]);this._escHandlers[d]===void 0&&(this._escHandlers[d]=[]);const w=this._escHandlers[d];return w.push(l),{dispose:()=>{const k=w.indexOf(l);k!==-1&&w.splice(k,1)}}}clearEscHandler(u){this._escHandlers[this._identifier(u,[48,126])]&&delete this._escHandlers[this._identifier(u,[48,126])]}setEscHandlerFallback(u){this._escHandlerFb=u}setExecuteHandler(u,l){this._executeHandlers[u.charCodeAt(0)]=l}clearExecuteHandler(u){this._executeHandlers[u.charCodeAt(0)]&&delete this._executeHandlers[u.charCodeAt(0)]}setExecuteHandlerFallback(u){this._executeHandlerFb=u}registerCsiHandler(u,l){const d=this._identifier(u);this._csiHandlers[d]===void 0&&(this._csiHandlers[d]=[]);const w=this._csiHandlers[d];return w.push(l),{dispose:()=>{const k=w.indexOf(l);k!==-1&&w.splice(k,1)}}}clearCsiHandler(u){this._csiHandlers[this._identifier(u)]&&delete this._csiHandlers[this._identifier(u)]}setCsiHandlerFallback(u){this._csiHandlerFb=u}registerDcsHandler(u,l){return this._dcsParser.registerHandler(this._identifier(u),l)}clearDcsHandler(u){this._dcsParser.clearHandler(this._identifier(u))}setDcsHandlerFallback(u){this._dcsParser.setHandlerFallback(u)}registerOscHandler(u,l){return this._oscParser.registerHandler(u,l)}clearOscHandler(u){this._oscParser.clearHandler(u)}setOscHandlerFallback(u){this._oscParser.setHandlerFallback(u)}setErrorHandler(u){this._errorHandler=u}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(u,l,d,w,k){this._parseStack.state=u,this._parseStack.handlers=l,this._parseStack.handlerPos=d,this._parseStack.transition=w,this._parseStack.chunkPos=k}parse(u,l,d){let w,k=0,b=0,L=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,L=this._parseStack.chunkPos+1;else{if(d===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const x=this._parseStack.handlers;let E=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(d===!1&&E>-1){for(;E>=0&&(w=x[E](this._params),w!==!0);E--)if(w instanceof Promise)return this._parseStack.handlerPos=E,w}this._parseStack.handlers=[];break;case 4:if(d===!1&&E>-1){for(;E>=0&&(w=x[E](),w!==!0);E--)if(w instanceof Promise)return this._parseStack.handlerPos=E,w}this._parseStack.handlers=[];break;case 6:if(k=u[this._parseStack.chunkPos],w=this._dcsParser.unhook(k!==24&&k!==26,d),w)return w;k===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(k=u[this._parseStack.chunkPos],w=this._oscParser.end(k!==24&&k!==26,d),w)return w;k===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,L=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let x=L;x<l;++x){switch(k=u[x],b=this._transitions.table[this.currentState<<8|(k<160?k:S)],b>>4){case 2:for(let A=x+1;;++A){if(A>=l||(k=u[A])<32||k>126&&k<S){this._printHandler(u,x,A),x=A-1;break}if(++A>=l||(k=u[A])<32||k>126&&k<S){this._printHandler(u,x,A),x=A-1;break}if(++A>=l||(k=u[A])<32||k>126&&k<S){this._printHandler(u,x,A),x=A-1;break}if(++A>=l||(k=u[A])<32||k>126&&k<S){this._printHandler(u,x,A),x=A-1;break}}break;case 3:this._executeHandlers[k]?this._executeHandlers[k]():this._executeHandlerFb(k),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:x,code:k,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const E=this._csiHandlers[this._collect<<8|k];let R=E?E.length-1:-1;for(;R>=0&&(w=E[R](this._params),w!==!0);R--)if(w instanceof Promise)return this._preserveStack(3,E,R,b,x),w;R<0&&this._csiHandlerFb(this._collect<<8|k,this._params),this.precedingJoinState=0;break;case 8:do switch(k){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(k-48)}while(++x<l&&(k=u[x])>47&&k<60);x--;break;case 9:this._collect<<=8,this._collect|=k;break;case 10:const I=this._escHandlers[this._collect<<8|k];let T=I?I.length-1:-1;for(;T>=0&&(w=I[T](),w!==!0);T--)if(w instanceof Promise)return this._preserveStack(4,I,T,b,x),w;T<0&&this._escHandlerFb(this._collect<<8|k),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|k,this._params);break;case 13:for(let A=x+1;;++A)if(A>=l||(k=u[A])===24||k===26||k===27||k>127&&k<S){this._dcsParser.put(u,x,A),x=A-1;break}break;case 14:if(w=this._dcsParser.unhook(k!==24&&k!==26),w)return this._preserveStack(6,[],0,b,x),w;k===27&&(b|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let A=x+1;;A++)if(A>=l||(k=u[A])<32||k>127&&k<S){this._oscParser.put(u,x,A),x=A-1;break}break;case 6:if(w=this._oscParser.end(k!==24&&k!==26),w)return this._preserveStack(5,[],0,b,x),w;k===27&&(b|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&b}}}r.EscapeSequenceParser=g},6242:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OscHandler=r.OscParser=void 0;const f=o(5770),v=o(482),h=[];r.OscParser=class{constructor(){this._state=0,this._active=h,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(p,y){this._handlers[p]===void 0&&(this._handlers[p]=[]);const S=this._handlers[p];return S.push(y),{dispose:()=>{const g=S.indexOf(y);g!==-1&&S.splice(g,1)}}}clearHandler(p){this._handlers[p]&&delete this._handlers[p]}setHandlerFallback(p){this._handlerFb=p}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=h}reset(){if(this._state===2)for(let p=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;p>=0;--p)this._active[p].end(!1);this._stack.paused=!1,this._active=h,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||h,this._active.length)for(let p=this._active.length-1;p>=0;p--)this._active[p].start();else this._handlerFb(this._id,"START")}_put(p,y,S){if(this._active.length)for(let g=this._active.length-1;g>=0;g--)this._active[g].put(p,y,S);else this._handlerFb(this._id,"PUT",(0,v.utf32ToString)(p,y,S))}start(){this.reset(),this._state=1}put(p,y,S){if(this._state!==3){if(this._state===1)for(;y<S;){const g=p[y++];if(g===59){this._state=2,this._start();break}if(g<48||57<g)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+g-48}this._state===2&&S-y>0&&this._put(p,y,S)}}end(p,y=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let S=!1,g=this._active.length-1,a=!1;if(this._stack.paused&&(g=this._stack.loopPosition-1,S=y,a=this._stack.fallThrough,this._stack.paused=!1),!a&&S===!1){for(;g>=0&&(S=this._active[g].end(p),S!==!0);g--)if(S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=g,this._stack.fallThrough=!1,S;g--}for(;g>=0;g--)if(S=this._active[g].end(!1),S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=g,this._stack.fallThrough=!0,S}else this._handlerFb(this._id,"END",p);this._active=h,this._id=-1,this._state=0}}},r.OscHandler=class{constructor(p){this._handler=p,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(p,y,S){this._hitLimit||(this._data+=(0,v.utf32ToString)(p,y,S),this._data.length>f.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(p){let y=!1;if(this._hitLimit)y=!1;else if(p&&(y=this._handler(this._data),y instanceof Promise))return y.then(S=>(this._data="",this._hitLimit=!1,S));return this._data="",this._hitLimit=!1,y}}},8742:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Params=void 0;const o=2147483647;class f{static fromArray(h){const p=new f;if(!h.length)return p;for(let y=Array.isArray(h[0])?1:0;y<h.length;++y){const S=h[y];if(Array.isArray(S))for(let g=0;g<S.length;++g)p.addSubParam(S[g]);else p.addParam(S)}return p}constructor(h=32,p=32){if(this.maxLength=h,this.maxSubParamsLength=p,p>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(h),this.length=0,this._subParams=new Int32Array(p),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(h),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const h=new f(this.maxLength,this.maxSubParamsLength);return h.params.set(this.params),h.length=this.length,h._subParams.set(this._subParams),h._subParamsLength=this._subParamsLength,h._subParamsIdx.set(this._subParamsIdx),h._rejectDigits=this._rejectDigits,h._rejectSubDigits=this._rejectSubDigits,h._digitIsSub=this._digitIsSub,h}toArray(){const h=[];for(let p=0;p<this.length;++p){h.push(this.params[p]);const y=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-y>0&&h.push(Array.prototype.slice.call(this._subParams,y,S))}return h}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(h){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(h<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=h>o?o:h}}addSubParam(h){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(h<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=h>o?o:h,this._subParamsIdx[this.length-1]++}}hasSubParams(h){return(255&this._subParamsIdx[h])-(this._subParamsIdx[h]>>8)>0}getSubParams(h){const p=this._subParamsIdx[h]>>8,y=255&this._subParamsIdx[h];return y-p>0?this._subParams.subarray(p,y):null}getSubParamsAll(){const h={};for(let p=0;p<this.length;++p){const y=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-y>0&&(h[p]=this._subParams.slice(y,S))}return h}addDigit(h){let p;if(this._rejectDigits||!(p=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const y=this._digitIsSub?this._subParams:this.params,S=y[p-1];y[p-1]=~S?Math.min(10*S+h,o):h}}r.Params=f},5741:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.AddonManager=void 0,r.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let o=this._addons.length-1;o>=0;o--)this._addons[o].instance.dispose()}loadAddon(o,f){const v={instance:f,dispose:f.dispose,isDisposed:!1};this._addons.push(v),f.dispose=()=>this._wrappedAddonDispose(v),f.activate(o)}_wrappedAddonDispose(o){if(o.isDisposed)return;let f=-1;for(let v=0;v<this._addons.length;v++)if(this._addons[v]===o){f=v;break}if(f===-1)throw new Error("Could not dispose an addon that has not been loaded");o.isDisposed=!0,o.dispose.apply(o.instance),this._addons.splice(f,1)}}},8771:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferApiView=void 0;const f=o(3785),v=o(511);r.BufferApiView=class{constructor(h,p){this._buffer=h,this.type=p}init(h){return this._buffer=h,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(h){const p=this._buffer.lines.get(h);if(p)return new f.BufferLineApiView(p)}getNullCell(){return new v.CellData}}},3785:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLineApiView=void 0;const f=o(511);r.BufferLineApiView=class{constructor(v){this._line=v}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(v,h){if(!(v<0||v>=this._line.length))return h?(this._line.loadCell(v,h),h):this._line.loadCell(v,new f.CellData)}translateToString(v,h,p){return this._line.translateToString(v,h,p)}}},8285:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferNamespaceApi=void 0;const f=o(8771),v=o(8460),h=o(844);class p extends h.Disposable{constructor(S){super(),this._core=S,this._onBufferChange=this.register(new v.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new f.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new f.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}r.BufferNamespaceApi=p},7975:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ParserApi=void 0,r.ParserApi=class{constructor(o){this._core=o}registerCsiHandler(o,f){return this._core.registerCsiHandler(o,v=>f(v.toArray()))}addCsiHandler(o,f){return this.registerCsiHandler(o,f)}registerDcsHandler(o,f){return this._core.registerDcsHandler(o,(v,h)=>f(v,h.toArray()))}addDcsHandler(o,f){return this.registerDcsHandler(o,f)}registerEscHandler(o,f){return this._core.registerEscHandler(o,f)}addEscHandler(o,f){return this.registerEscHandler(o,f)}registerOscHandler(o,f){return this._core.registerOscHandler(o,f)}addOscHandler(o,f){return this.registerOscHandler(o,f)}}},7090:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeApi=void 0,r.UnicodeApi=class{constructor(o){this._core=o}register(o){this._core.unicodeService.register(o)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(o){this._core.unicodeService.activeVersion=o}}},744:function(m,r,o){var f=this&&this.__decorate||function(a,u,l,d){var w,k=arguments.length,b=k<3?u:d===null?d=Object.getOwnPropertyDescriptor(u,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,u,l,d);else for(var L=a.length-1;L>=0;L--)(w=a[L])&&(b=(k<3?w(b):k>3?w(u,l,b):w(u,l))||b);return k>3&&b&&Object.defineProperty(u,l,b),b},v=this&&this.__param||function(a,u){return function(l,d){u(l,d,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferService=r.MINIMUM_ROWS=r.MINIMUM_COLS=void 0;const h=o(8460),p=o(844),y=o(5295),S=o(2585);r.MINIMUM_COLS=2,r.MINIMUM_ROWS=1;let g=r.BufferService=class extends p.Disposable{get buffer(){return this.buffers.active}constructor(a){super(),this.isUserScrolling=!1,this._onResize=this.register(new h.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new h.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(a.rawOptions.cols||0,r.MINIMUM_COLS),this.rows=Math.max(a.rawOptions.rows||0,r.MINIMUM_ROWS),this.buffers=this.register(new y.BufferSet(a,this))}resize(a,u){this.cols=a,this.rows=u,this.buffers.resize(a,u),this._onResize.fire({cols:a,rows:u})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(a,u=!1){const l=this.buffer;let d;d=this._cachedBlankLine,d&&d.length===this.cols&&d.getFg(0)===a.fg&&d.getBg(0)===a.bg||(d=l.getBlankLine(a,u),this._cachedBlankLine=d),d.isWrapped=u;const w=l.ybase+l.scrollTop,k=l.ybase+l.scrollBottom;if(l.scrollTop===0){const b=l.lines.isFull;k===l.lines.length-1?b?l.lines.recycle().copyFrom(d):l.lines.push(d.clone()):l.lines.splice(k+1,0,d.clone()),b?this.isUserScrolling&&(l.ydisp=Math.max(l.ydisp-1,0)):(l.ybase++,this.isUserScrolling||l.ydisp++)}else{const b=k-w+1;l.lines.shiftElements(w+1,b-1,-1),l.lines.set(k,d.clone())}this.isUserScrolling||(l.ydisp=l.ybase),this._onScroll.fire(l.ydisp)}scrollLines(a,u,l){const d=this.buffer;if(a<0){if(d.ydisp===0)return;this.isUserScrolling=!0}else a+d.ydisp>=d.ybase&&(this.isUserScrolling=!1);const w=d.ydisp;d.ydisp=Math.max(Math.min(d.ydisp+a,d.ybase),0),w!==d.ydisp&&(u||this._onScroll.fire(d.ydisp))}};r.BufferService=g=f([v(0,S.IOptionsService)],g)},7994:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CharsetService=void 0,r.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(o){this.glevel=o,this.charset=this._charsets[o]}setgCharset(o,f){this._charsets[o]=f,this.glevel===o&&(this.charset=f)}}},1753:function(m,r,o){var f=this&&this.__decorate||function(d,w,k,b){var L,x=arguments.length,E=x<3?w:b===null?b=Object.getOwnPropertyDescriptor(w,k):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(d,w,k,b);else for(var R=d.length-1;R>=0;R--)(L=d[R])&&(E=(x<3?L(E):x>3?L(w,k,E):L(w,k))||E);return x>3&&E&&Object.defineProperty(w,k,E),E},v=this&&this.__param||function(d,w){return function(k,b){w(k,b,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreMouseService=void 0;const h=o(2585),p=o(8460),y=o(844),S={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:d=>d.button!==4&&d.action===1&&(d.ctrl=!1,d.alt=!1,d.shift=!1,!0)},VT200:{events:19,restrict:d=>d.action!==32},DRAG:{events:23,restrict:d=>d.action!==32||d.button!==3},ANY:{events:31,restrict:d=>!0}};function g(d,w){let k=(d.ctrl?16:0)|(d.shift?4:0)|(d.alt?8:0);return d.button===4?(k|=64,k|=d.action):(k|=3&d.button,4&d.button&&(k|=64),8&d.button&&(k|=128),d.action===32?k|=32:d.action!==0||w||(k|=3)),k}const a=String.fromCharCode,u={DEFAULT:d=>{const w=[g(d,!1)+32,d.col+32,d.row+32];return w[0]>255||w[1]>255||w[2]>255?"":`\x1B[M${a(w[0])}${a(w[1])}${a(w[2])}`},SGR:d=>{const w=d.action===0&&d.button!==4?"m":"M";return`\x1B[<${g(d,!0)};${d.col};${d.row}${w}`},SGR_PIXELS:d=>{const w=d.action===0&&d.button!==4?"m":"M";return`\x1B[<${g(d,!0)};${d.x};${d.y}${w}`}};let l=r.CoreMouseService=class extends y.Disposable{constructor(d,w){super(),this._bufferService=d,this._coreService=w,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new p.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const k of Object.keys(S))this.addProtocol(k,S[k]);for(const k of Object.keys(u))this.addEncoding(k,u[k]);this.reset()}addProtocol(d,w){this._protocols[d]=w}addEncoding(d,w){this._encodings[d]=w}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(d){if(!this._protocols[d])throw new Error(`unknown protocol "${d}"`);this._activeProtocol=d,this._onProtocolChange.fire(this._protocols[d].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(d){if(!this._encodings[d])throw new Error(`unknown encoding "${d}"`);this._activeEncoding=d}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(d){if(d.col<0||d.col>=this._bufferService.cols||d.row<0||d.row>=this._bufferService.rows||d.button===4&&d.action===32||d.button===3&&d.action!==32||d.button!==4&&(d.action===2||d.action===3)||(d.col++,d.row++,d.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,d,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(d))return!1;const w=this._encodings[this._activeEncoding](d);return w&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(w):this._coreService.triggerDataEvent(w,!0)),this._lastEvent=d,!0}explainEvents(d){return{down:!!(1&d),up:!!(2&d),drag:!!(4&d),move:!!(8&d),wheel:!!(16&d)}}_equalEvents(d,w,k){if(k){if(d.x!==w.x||d.y!==w.y)return!1}else if(d.col!==w.col||d.row!==w.row)return!1;return d.button===w.button&&d.action===w.action&&d.ctrl===w.ctrl&&d.alt===w.alt&&d.shift===w.shift}};r.CoreMouseService=l=f([v(0,h.IBufferService),v(1,h.ICoreService)],l)},6975:function(m,r,o){var f=this&&this.__decorate||function(l,d,w,k){var b,L=arguments.length,x=L<3?d:k===null?k=Object.getOwnPropertyDescriptor(d,w):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(l,d,w,k);else for(var E=l.length-1;E>=0;E--)(b=l[E])&&(x=(L<3?b(x):L>3?b(d,w,x):b(d,w))||x);return L>3&&x&&Object.defineProperty(d,w,x),x},v=this&&this.__param||function(l,d){return function(w,k){d(w,k,l)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreService=void 0;const h=o(1439),p=o(8460),y=o(844),S=o(2585),g=Object.freeze({insertMode:!1}),a=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let u=r.CoreService=class extends y.Disposable{constructor(l,d,w){super(),this._bufferService=l,this._logService=d,this._optionsService=w,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new p.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new p.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new p.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new p.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,h.clone)(g),this.decPrivateModes=(0,h.clone)(a)}reset(){this.modes=(0,h.clone)(g),this.decPrivateModes=(0,h.clone)(a)}triggerDataEvent(l,d=!1){if(this._optionsService.rawOptions.disableStdin)return;const w=this._bufferService.buffer;d&&this._optionsService.rawOptions.scrollOnUserInput&&w.ybase!==w.ydisp&&this._onRequestScrollToBottom.fire(),d&&this._onUserInput.fire(),this._logService.debug(`sending data "${l}"`,()=>l.split("").map(k=>k.charCodeAt(0))),this._onData.fire(l)}triggerBinaryEvent(l){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${l}"`,()=>l.split("").map(d=>d.charCodeAt(0))),this._onBinary.fire(l))}};r.CoreService=u=f([v(0,S.IBufferService),v(1,S.ILogService),v(2,S.IOptionsService)],u)},9074:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DecorationService=void 0;const f=o(8055),v=o(8460),h=o(844),p=o(6106);let y=0,S=0;class g extends h.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new p.SortedList(l=>l==null?void 0:l.marker.line),this._onDecorationRegistered=this.register(new v.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new v.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,h.toDisposable)(()=>this.reset()))}registerDecoration(l){if(l.marker.isDisposed)return;const d=new a(l);if(d){const w=d.marker.onDispose(()=>d.dispose());d.onDispose(()=>{d&&(this._decorations.delete(d)&&this._onDecorationRemoved.fire(d),w.dispose())}),this._decorations.insert(d),this._onDecorationRegistered.fire(d)}return d}reset(){for(const l of this._decorations.values())l.dispose();this._decorations.clear()}*getDecorationsAtCell(l,d,w){let k=0,b=0;for(const L of this._decorations.getKeyIterator(d))k=L.options.x??0,b=k+(L.options.width??1),l>=k&&l<b&&(!w||(L.options.layer??"bottom")===w)&&(yield L)}forEachDecorationAtCell(l,d,w,k){this._decorations.forEachByKey(d,b=>{y=b.options.x??0,S=y+(b.options.width??1),l>=y&&l<S&&(!w||(b.options.layer??"bottom")===w)&&k(b)})}}r.DecorationService=g;class a extends h.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=f.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=f.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(l){super(),this.options=l,this.onRenderEmitter=this.register(new v.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new v.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=l.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InstantiationService=r.ServiceCollection=void 0;const f=o(2585),v=o(8343);class h{constructor(...y){this._entries=new Map;for(const[S,g]of y)this.set(S,g)}set(y,S){const g=this._entries.get(y);return this._entries.set(y,S),g}forEach(y){for(const[S,g]of this._entries.entries())y(S,g)}has(y){return this._entries.has(y)}get(y){return this._entries.get(y)}}r.ServiceCollection=h,r.InstantiationService=class{constructor(){this._services=new h,this._services.set(f.IInstantiationService,this)}setService(p,y){this._services.set(p,y)}getService(p){return this._services.get(p)}createInstance(p,...y){const S=(0,v.getServiceDependencies)(p).sort((u,l)=>u.index-l.index),g=[];for(const u of S){const l=this._services.get(u.id);if(!l)throw new Error(`[createInstance] ${p.name} depends on UNKNOWN service ${u.id}.`);g.push(l)}const a=S.length>0?S[0].index:y.length;if(y.length!==a)throw new Error(`[createInstance] First service dependency of ${p.name} at position ${a+1} conflicts with ${y.length} static arguments`);return new p(...y,...g)}}},7866:function(m,r,o){var f=this&&this.__decorate||function(a,u,l,d){var w,k=arguments.length,b=k<3?u:d===null?d=Object.getOwnPropertyDescriptor(u,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,u,l,d);else for(var L=a.length-1;L>=0;L--)(w=a[L])&&(b=(k<3?w(b):k>3?w(u,l,b):w(u,l))||b);return k>3&&b&&Object.defineProperty(u,l,b),b},v=this&&this.__param||function(a,u){return function(l,d){u(l,d,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;const h=o(844),p=o(2585),y={trace:p.LogLevelEnum.TRACE,debug:p.LogLevelEnum.DEBUG,info:p.LogLevelEnum.INFO,warn:p.LogLevelEnum.WARN,error:p.LogLevelEnum.ERROR,off:p.LogLevelEnum.OFF};let S,g=r.LogService=class extends h.Disposable{get logLevel(){return this._logLevel}constructor(a){super(),this._optionsService=a,this._logLevel=p.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=y[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let u=0;u<a.length;u++)typeof a[u]=="function"&&(a[u]=a[u]())}_log(a,u,l){this._evalLazyOptionalParams(l),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+u,...l)}trace(a,...u){var l;this._logLevel<=p.LogLevelEnum.TRACE&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.trace.bind(this._optionsService.options.logger))??console.log,a,u)}debug(a,...u){var l;this._logLevel<=p.LogLevelEnum.DEBUG&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.debug.bind(this._optionsService.options.logger))??console.log,a,u)}info(a,...u){var l;this._logLevel<=p.LogLevelEnum.INFO&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.info.bind(this._optionsService.options.logger))??console.info,a,u)}warn(a,...u){var l;this._logLevel<=p.LogLevelEnum.WARN&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.warn.bind(this._optionsService.options.logger))??console.warn,a,u)}error(a,...u){var l;this._logLevel<=p.LogLevelEnum.ERROR&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.error.bind(this._optionsService.options.logger))??console.error,a,u)}};r.LogService=g=f([v(0,p.IOptionsService)],g),r.setTraceLogger=function(a){S=a},r.traceCall=function(a,u,l){if(typeof l.value!="function")throw new Error("not supported");const d=l.value;l.value=function(...w){if(S.logLevel!==p.LogLevelEnum.TRACE)return d.apply(this,w);S.trace(`GlyphRenderer#${d.name}(${w.map(b=>JSON.stringify(b)).join(", ")})`);const k=d.apply(this,w);return S.trace(`GlyphRenderer#${d.name} return`,k),k}}},7302:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OptionsService=r.DEFAULT_OPTIONS=void 0;const f=o(8460),v=o(844),h=o(6114);r.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:h.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const p=["normal","bold","100","200","300","400","500","600","700","800","900"];class y extends v.Disposable{constructor(g){super(),this._onOptionChange=this.register(new f.EventEmitter),this.onOptionChange=this._onOptionChange.event;const a={...r.DEFAULT_OPTIONS};for(const u in g)if(u in a)try{const l=g[u];a[u]=this._sanitizeAndValidateOption(u,l)}catch(l){console.error(l)}this.rawOptions=a,this.options={...a},this._setupOptions(),this.register((0,v.toDisposable)(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(g,a){return this.onOptionChange(u=>{u===g&&a(this.rawOptions[g])})}onMultipleOptionChange(g,a){return this.onOptionChange(u=>{g.indexOf(u)!==-1&&a()})}_setupOptions(){const g=u=>{if(!(u in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${u}"`);return this.rawOptions[u]},a=(u,l)=>{if(!(u in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${u}"`);l=this._sanitizeAndValidateOption(u,l),this.rawOptions[u]!==l&&(this.rawOptions[u]=l,this._onOptionChange.fire(u))};for(const u in this.rawOptions){const l={get:g.bind(this,u),set:a.bind(this,u)};Object.defineProperty(this.options,u,l)}}_sanitizeAndValidateOption(g,a){switch(g){case"cursorStyle":if(a||(a=r.DEFAULT_OPTIONS[g]),!function(u){return u==="block"||u==="underline"||u==="bar"}(a))throw new Error(`"${a}" is not a valid value for ${g}`);break;case"wordSeparator":a||(a=r.DEFAULT_OPTIONS[g]);break;case"fontWeight":case"fontWeightBold":if(typeof a=="number"&&1<=a&&a<=1e3)break;a=p.includes(a)?a:r.DEFAULT_OPTIONS[g];break;case"cursorWidth":a=Math.floor(a);case"lineHeight":case"tabStopWidth":if(a<1)throw new Error(`${g} cannot be less than 1, value: ${a}`);break;case"minimumContrastRatio":a=Math.max(1,Math.min(21,Math.round(10*a)/10));break;case"scrollback":if((a=Math.min(a,4294967295))<0)throw new Error(`${g} cannot be less than 0, value: ${a}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(a<=0)throw new Error(`${g} cannot be less than or equal to 0, value: ${a}`);break;case"rows":case"cols":if(!a&&a!==0)throw new Error(`${g} must be numeric, value: ${a}`);break;case"windowsPty":a=a??{}}return a}}r.OptionsService=y},2660:function(m,r,o){var f=this&&this.__decorate||function(y,S,g,a){var u,l=arguments.length,d=l<3?S:a===null?a=Object.getOwnPropertyDescriptor(S,g):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")d=Reflect.decorate(y,S,g,a);else for(var w=y.length-1;w>=0;w--)(u=y[w])&&(d=(l<3?u(d):l>3?u(S,g,d):u(S,g))||d);return l>3&&d&&Object.defineProperty(S,g,d),d},v=this&&this.__param||function(y,S){return function(g,a){S(g,a,y)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkService=void 0;const h=o(2585);let p=r.OscLinkService=class{constructor(y){this._bufferService=y,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(y){const S=this._bufferService.buffer;if(y.id===void 0){const w=S.addMarker(S.ybase+S.y),k={data:y,id:this._nextId++,lines:[w]};return w.onDispose(()=>this._removeMarkerFromLink(k,w)),this._dataByLinkId.set(k.id,k),k.id}const g=y,a=this._getEntryIdKey(g),u=this._entriesWithId.get(a);if(u)return this.addLineToLink(u.id,S.ybase+S.y),u.id;const l=S.addMarker(S.ybase+S.y),d={id:this._nextId++,key:this._getEntryIdKey(g),data:g,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(d,l)),this._entriesWithId.set(d.key,d),this._dataByLinkId.set(d.id,d),d.id}addLineToLink(y,S){const g=this._dataByLinkId.get(y);if(g&&g.lines.every(a=>a.line!==S)){const a=this._bufferService.buffer.addMarker(S);g.lines.push(a),a.onDispose(()=>this._removeMarkerFromLink(g,a))}}getLinkData(y){var S;return(S=this._dataByLinkId.get(y))==null?void 0:S.data}_getEntryIdKey(y){return`${y.id};;${y.uri}`}_removeMarkerFromLink(y,S){const g=y.lines.indexOf(S);g!==-1&&(y.lines.splice(g,1),y.lines.length===0&&(y.data.id!==void 0&&this._entriesWithId.delete(y.key),this._dataByLinkId.delete(y.id)))}};r.OscLinkService=p=f([v(0,h.IBufferService)],p)},8343:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;const o="di$target",f="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(v){return v[f]||[]},r.createDecorator=function(v){if(r.serviceRegistry.has(v))return r.serviceRegistry.get(v);const h=function(p,y,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(g,a,u){a[o]===a?a[f].push({id:g,index:u}):(a[f]=[{id:g,index:u}],a[o]=a)})(h,p,S)};return h.toString=()=>v,r.serviceRegistry.set(v,h),h}},2585:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;const f=o(8343);var v;r.IBufferService=(0,f.createDecorator)("BufferService"),r.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),r.ICoreService=(0,f.createDecorator)("CoreService"),r.ICharsetService=(0,f.createDecorator)("CharsetService"),r.IInstantiationService=(0,f.createDecorator)("InstantiationService"),function(h){h[h.TRACE=0]="TRACE",h[h.DEBUG=1]="DEBUG",h[h.INFO=2]="INFO",h[h.WARN=3]="WARN",h[h.ERROR=4]="ERROR",h[h.OFF=5]="OFF"}(v||(r.LogLevelEnum=v={})),r.ILogService=(0,f.createDecorator)("LogService"),r.IOptionsService=(0,f.createDecorator)("OptionsService"),r.IOscLinkService=(0,f.createDecorator)("OscLinkService"),r.IUnicodeService=(0,f.createDecorator)("UnicodeService"),r.IDecorationService=(0,f.createDecorator)("DecorationService")},1480:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeService=void 0;const f=o(8460),v=o(225);class h{static extractShouldJoin(y){return(1&y)!=0}static extractWidth(y){return y>>1&3}static extractCharKind(y){return y>>3}static createPropertyValue(y,S,g=!1){return(16777215&y)<<3|(3&S)<<1|(g?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new f.EventEmitter,this.onChange=this._onChange.event;const y=new v.UnicodeV6;this.register(y),this._active=y.version,this._activeProvider=y}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(y){if(!this._providers[y])throw new Error(`unknown Unicode version "${y}"`);this._active=y,this._activeProvider=this._providers[y],this._onChange.fire(y)}register(y){this._providers[y.version]=y}wcwidth(y){return this._activeProvider.wcwidth(y)}getStringCellWidth(y){let S=0,g=0;const a=y.length;for(let u=0;u<a;++u){let l=y.charCodeAt(u);if(55296<=l&&l<=56319){if(++u>=a)return S+this.wcwidth(l);const k=y.charCodeAt(u);56320<=k&&k<=57343?l=1024*(l-55296)+k-56320+65536:S+=this.wcwidth(k)}const d=this.charProperties(l,g);let w=h.extractWidth(d);h.extractShouldJoin(d)&&(w-=h.extractWidth(g)),S+=w,g=d}return S}charProperties(y,S){return this._activeProvider.charProperties(y,S)}}r.UnicodeService=h}},s={};function n(m){var r=s[m];if(r!==void 0)return r.exports;var o=s[m]={exports:{}};return i[m].call(o.exports,o,o.exports,n),o.exports}var c={};return(()=>{var m=c;Object.defineProperty(m,"__esModule",{value:!0}),m.Terminal=void 0;const r=n(9042),o=n(3236),f=n(844),v=n(5741),h=n(8285),p=n(7975),y=n(7090),S=["cols","rows"];class g extends f.Disposable{constructor(u){super(),this._core=this.register(new o.Terminal(u)),this._addonManager=this.register(new v.AddonManager),this._publicOptions={...this._core.options};const l=w=>this._core.options[w],d=(w,k)=>{this._checkReadonlyOptions(w),this._core.options[w]=k};for(const w in this._core.options){const k={get:l.bind(this,w),set:d.bind(this,w)};Object.defineProperty(this._publicOptions,w,k)}}_checkReadonlyOptions(u){if(S.includes(u))throw new Error(`Option "${u}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new p.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new y.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new h.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const u=this._core.coreService.decPrivateModes;let l="none";switch(this._core.coreMouseService.activeProtocol){case"X10":l="x10";break;case"VT200":l="vt200";break;case"DRAG":l="drag";break;case"ANY":l="any"}return{applicationCursorKeysMode:u.applicationCursorKeys,applicationKeypadMode:u.applicationKeypad,bracketedPasteMode:u.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:l,originMode:u.origin,reverseWraparoundMode:u.reverseWraparound,sendFocusMode:u.sendFocus,wraparoundMode:u.wraparound}}get options(){return this._publicOptions}set options(u){for(const l in u)this._publicOptions[l]=u[l]}blur(){this._core.blur()}focus(){this._core.focus()}input(u,l=!0){this._core.input(u,l)}resize(u,l){this._verifyIntegers(u,l),this._core.resize(u,l)}open(u){this._core.open(u)}attachCustomKeyEventHandler(u){this._core.attachCustomKeyEventHandler(u)}attachCustomWheelEventHandler(u){this._core.attachCustomWheelEventHandler(u)}registerLinkProvider(u){return this._core.registerLinkProvider(u)}registerCharacterJoiner(u){return this._checkProposedApi(),this._core.registerCharacterJoiner(u)}deregisterCharacterJoiner(u){this._checkProposedApi(),this._core.deregisterCharacterJoiner(u)}registerMarker(u=0){return this._verifyIntegers(u),this._core.registerMarker(u)}registerDecoration(u){return this._checkProposedApi(),this._verifyPositiveIntegers(u.x??0,u.width??0,u.height??0),this._core.registerDecoration(u)}hasSelection(){return this._core.hasSelection()}select(u,l,d){this._verifyIntegers(u,l,d),this._core.select(u,l,d)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(u,l){this._verifyIntegers(u,l),this._core.selectLines(u,l)}dispose(){super.dispose()}scrollLines(u){this._verifyIntegers(u),this._core.scrollLines(u)}scrollPages(u){this._verifyIntegers(u),this._core.scrollPages(u)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(u){this._verifyIntegers(u),this._core.scrollToLine(u)}clear(){this._core.clear()}write(u,l){this._core.write(u,l)}writeln(u,l){this._core.write(u),this._core.write(`\r
50
50
  `,l)}paste(u){this._core.paste(u)}refresh(u,l){this._verifyIntegers(u,l),this._core.refresh(u,l)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(u){this._addonManager.loadAddon(this,u)}static get strings(){return r}_verifyIntegers(...u){for(const l of u)if(l===1/0||isNaN(l)||l%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...u){for(const l of u)if(l&&(l===1/0||isNaN(l)||l%1!=0||l<0))throw new Error("This API only accepts positive integers")}}m.Terminal=g})(),c})())})(u_);var A1=u_.exports,d_={exports:{}};(function(e,t){(function(i,s){e.exports=s()})(self,()=>(()=>{var i={965:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.GlyphRenderer=void 0;const f=o(374),v=o(509),h=o(855),p=o(859),y=o(381),S=11,g=S*Float32Array.BYTES_PER_ELEMENT;let a,u=0,l=0,d=0;class w extends p.Disposable{constructor(b,L,x,E){super(),this._terminal=b,this._gl=L,this._dimensions=x,this._optionsService=E,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};const R=this._gl;v.TextureAtlas.maxAtlasPages===void 0&&(v.TextureAtlas.maxAtlasPages=Math.min(32,(0,f.throwIfFalsy)(R.getParameter(R.MAX_TEXTURE_IMAGE_UNITS))),v.TextureAtlas.maxTextureSize=(0,f.throwIfFalsy)(R.getParameter(R.MAX_TEXTURE_SIZE))),this._program=(0,f.throwIfFalsy)((0,y.createProgram)(R,`#version 300 es
51
51
  layout (location = 0) in vec2 a_unitquad;
@@ -81,7 +81,7 @@ void main() {
81
81
  if (v_texpage == 0) {
82
82
  outColor = texture(u_texture[0], v_texcoord);
83
83
  } ${G}
84
- }`}(v.TextureAtlas.maxAtlasPages))),this.register((0,p.toDisposable)(()=>R.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_resolution")),this._textureLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=R.createVertexArray(),R.bindVertexArray(this._vertexArrayObject);const I=new Float32Array([0,0,1,0,0,1,1,1]),T=R.createBuffer();this.register((0,p.toDisposable)(()=>R.deleteBuffer(T))),R.bindBuffer(R.ARRAY_BUFFER,T),R.bufferData(R.ARRAY_BUFFER,I,R.STATIC_DRAW),R.enableVertexAttribArray(0),R.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);const A=new Uint8Array([0,1,2,3]),P=R.createBuffer();this.register((0,p.toDisposable)(()=>R.deleteBuffer(P))),R.bindBuffer(R.ELEMENT_ARRAY_BUFFER,P),R.bufferData(R.ELEMENT_ARRAY_BUFFER,A,R.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(R.createBuffer()),this.register((0,p.toDisposable)(()=>R.deleteBuffer(this._attributesBuffer))),R.bindBuffer(R.ARRAY_BUFFER,this._attributesBuffer),R.enableVertexAttribArray(2),R.vertexAttribPointer(2,2,R.FLOAT,!1,g,0),R.vertexAttribDivisor(2,1),R.enableVertexAttribArray(3),R.vertexAttribPointer(3,2,R.FLOAT,!1,g,2*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(3,1),R.enableVertexAttribArray(4),R.vertexAttribPointer(4,1,R.FLOAT,!1,g,4*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(4,1),R.enableVertexAttribArray(5),R.vertexAttribPointer(5,2,R.FLOAT,!1,g,5*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(5,1),R.enableVertexAttribArray(6),R.vertexAttribPointer(6,2,R.FLOAT,!1,g,7*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(6,1),R.enableVertexAttribArray(1),R.vertexAttribPointer(1,2,R.FLOAT,!1,g,9*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(1,1),R.useProgram(this._program);const U=new Int32Array(v.TextureAtlas.maxAtlasPages);for(let $=0;$<v.TextureAtlas.maxAtlasPages;$++)U[$]=$;R.uniform1iv(this._textureLocation,U),R.uniformMatrix4fv(this._projectionLocation,!1,y.PROJECTION_MATRIX),this._atlasTextures=[];for(let $=0;$<v.TextureAtlas.maxAtlasPages;$++){const G=new y.GLTexture((0,f.throwIfFalsy)(R.createTexture()));this.register((0,p.toDisposable)(()=>R.deleteTexture(G.texture))),R.activeTexture(R.TEXTURE0+$),R.bindTexture(R.TEXTURE_2D,G.texture),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),R.texImage2D(R.TEXTURE_2D,0,R.RGBA,1,1,0,R.RGBA,R.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[$]=G}R.enable(R.BLEND),R.blendFunc(R.SRC_ALPHA,R.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(b,L,x,E,R,I,T,A,P){this._updateCell(this._vertices.attributes,b,L,x,E,R,I,T,A,P)}_updateCell(b,L,x,E,R,I,T,A,P,U){u=(x*this._terminal.cols+L)*S,E!==h.NULL_CELL_CODE&&E!==void 0?this._atlas&&(a=A&&A.length>1?this._atlas.getRasterizedGlyphCombinedChar(A,R,I,T,!1):this._atlas.getRasterizedGlyph(E,R,I,T,!1),l=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),R!==U&&a.offset.x>l?(d=a.offset.x-l,b[u]=-(a.offset.x-d)+this._dimensions.device.char.left,b[u+1]=-a.offset.y+this._dimensions.device.char.top,b[u+2]=(a.size.x-d)/this._dimensions.device.canvas.width,b[u+3]=a.size.y/this._dimensions.device.canvas.height,b[u+4]=a.texturePage,b[u+5]=a.texturePositionClipSpace.x+d/this._atlas.pages[a.texturePage].canvas.width,b[u+6]=a.texturePositionClipSpace.y,b[u+7]=a.sizeClipSpace.x-d/this._atlas.pages[a.texturePage].canvas.width,b[u+8]=a.sizeClipSpace.y):(b[u]=-a.offset.x+this._dimensions.device.char.left,b[u+1]=-a.offset.y+this._dimensions.device.char.top,b[u+2]=a.size.x/this._dimensions.device.canvas.width,b[u+3]=a.size.y/this._dimensions.device.canvas.height,b[u+4]=a.texturePage,b[u+5]=a.texturePositionClipSpace.x,b[u+6]=a.texturePositionClipSpace.y,b[u+7]=a.sizeClipSpace.x,b[u+8]=a.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,f.allowRescaling)(E,P,a.size.x,this._dimensions.device.cell.width)&&(b[u+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width)):b.fill(0,u,u+S-1-2)}clear(){const b=this._terminal,L=b.cols*b.rows*S;this._vertices.count!==L?this._vertices.attributes=new Float32Array(L):this._vertices.attributes.fill(0);let x=0;for(;x<this._vertices.attributesBuffers.length;x++)this._vertices.count!==L?this._vertices.attributesBuffers[x]=new Float32Array(L):this._vertices.attributesBuffers[x].fill(0);this._vertices.count=L,x=0;for(let E=0;E<b.rows;E++)for(let R=0;R<b.cols;R++)this._vertices.attributes[x+9]=R/b.cols,this._vertices.attributes[x+10]=E/b.rows,x+=S}handleResize(){const b=this._gl;b.useProgram(this._program),b.viewport(0,0,b.canvas.width,b.canvas.height),b.uniform2f(this._resolutionLocation,b.canvas.width,b.canvas.height),this.clear()}render(b){if(!this._atlas)return;const L=this._gl;L.useProgram(this._program),L.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;const x=this._vertices.attributesBuffers[this._activeBuffer];let E=0;for(let R=0;R<b.lineLengths.length;R++){const I=R*this._terminal.cols*S,T=this._vertices.attributes.subarray(I,I+b.lineLengths[R]*S);x.set(T,E),E+=T.length}L.bindBuffer(L.ARRAY_BUFFER,this._attributesBuffer),L.bufferData(L.ARRAY_BUFFER,x.subarray(0,E),L.STREAM_DRAW);for(let R=0;R<this._atlas.pages.length;R++)this._atlas.pages[R].version!==this._atlasTextures[R].version&&this._bindAtlasPageTexture(L,this._atlas,R);L.drawElementsInstanced(L.TRIANGLE_STRIP,4,L.UNSIGNED_BYTE,0,E/S)}setAtlas(b){this._atlas=b;for(const L of this._atlasTextures)L.version=-1}_bindAtlasPageTexture(b,L,x){b.activeTexture(b.TEXTURE0+x),b.bindTexture(b.TEXTURE_2D,this._atlasTextures[x].texture),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,L.pages[x].canvas),b.generateMipmap(b.TEXTURE_2D),this._atlasTextures[x].version=L.pages[x].version}setDimensions(b){this._dimensions=b}}r.GlyphRenderer=w},742:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RectangleRenderer=void 0;const f=o(374),v=o(859),h=o(310),p=o(381),y=8*Float32Array.BYTES_PER_ELEMENT;class S{constructor(){this.attributes=new Float32Array(160),this.count=0}}let g=0,a=0,u=0,l=0,d=0,w=0,k=0;class b extends v.Disposable{constructor(x,E,R,I){super(),this._terminal=x,this._gl=E,this._dimensions=R,this._themeService=I,this._vertices=new S,this._verticesCursor=new S;const T=this._gl;this._program=(0,f.throwIfFalsy)((0,p.createProgram)(T,`#version 300 es
84
+ }`}(v.TextureAtlas.maxAtlasPages))),this.register((0,p.toDisposable)(()=>R.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_resolution")),this._textureLocation=(0,f.throwIfFalsy)(R.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=R.createVertexArray(),R.bindVertexArray(this._vertexArrayObject);const I=new Float32Array([0,0,1,0,0,1,1,1]),T=R.createBuffer();this.register((0,p.toDisposable)(()=>R.deleteBuffer(T))),R.bindBuffer(R.ARRAY_BUFFER,T),R.bufferData(R.ARRAY_BUFFER,I,R.STATIC_DRAW),R.enableVertexAttribArray(0),R.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);const A=new Uint8Array([0,1,2,3]),O=R.createBuffer();this.register((0,p.toDisposable)(()=>R.deleteBuffer(O))),R.bindBuffer(R.ELEMENT_ARRAY_BUFFER,O),R.bufferData(R.ELEMENT_ARRAY_BUFFER,A,R.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(R.createBuffer()),this.register((0,p.toDisposable)(()=>R.deleteBuffer(this._attributesBuffer))),R.bindBuffer(R.ARRAY_BUFFER,this._attributesBuffer),R.enableVertexAttribArray(2),R.vertexAttribPointer(2,2,R.FLOAT,!1,g,0),R.vertexAttribDivisor(2,1),R.enableVertexAttribArray(3),R.vertexAttribPointer(3,2,R.FLOAT,!1,g,2*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(3,1),R.enableVertexAttribArray(4),R.vertexAttribPointer(4,1,R.FLOAT,!1,g,4*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(4,1),R.enableVertexAttribArray(5),R.vertexAttribPointer(5,2,R.FLOAT,!1,g,5*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(5,1),R.enableVertexAttribArray(6),R.vertexAttribPointer(6,2,R.FLOAT,!1,g,7*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(6,1),R.enableVertexAttribArray(1),R.vertexAttribPointer(1,2,R.FLOAT,!1,g,9*Float32Array.BYTES_PER_ELEMENT),R.vertexAttribDivisor(1,1),R.useProgram(this._program);const U=new Int32Array(v.TextureAtlas.maxAtlasPages);for(let $=0;$<v.TextureAtlas.maxAtlasPages;$++)U[$]=$;R.uniform1iv(this._textureLocation,U),R.uniformMatrix4fv(this._projectionLocation,!1,y.PROJECTION_MATRIX),this._atlasTextures=[];for(let $=0;$<v.TextureAtlas.maxAtlasPages;$++){const G=new y.GLTexture((0,f.throwIfFalsy)(R.createTexture()));this.register((0,p.toDisposable)(()=>R.deleteTexture(G.texture))),R.activeTexture(R.TEXTURE0+$),R.bindTexture(R.TEXTURE_2D,G.texture),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),R.texImage2D(R.TEXTURE_2D,0,R.RGBA,1,1,0,R.RGBA,R.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[$]=G}R.enable(R.BLEND),R.blendFunc(R.SRC_ALPHA,R.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(b,L,x,E,R,I,T,A,O){this._updateCell(this._vertices.attributes,b,L,x,E,R,I,T,A,O)}_updateCell(b,L,x,E,R,I,T,A,O,U){u=(x*this._terminal.cols+L)*S,E!==h.NULL_CELL_CODE&&E!==void 0?this._atlas&&(a=A&&A.length>1?this._atlas.getRasterizedGlyphCombinedChar(A,R,I,T,!1):this._atlas.getRasterizedGlyph(E,R,I,T,!1),l=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),R!==U&&a.offset.x>l?(d=a.offset.x-l,b[u]=-(a.offset.x-d)+this._dimensions.device.char.left,b[u+1]=-a.offset.y+this._dimensions.device.char.top,b[u+2]=(a.size.x-d)/this._dimensions.device.canvas.width,b[u+3]=a.size.y/this._dimensions.device.canvas.height,b[u+4]=a.texturePage,b[u+5]=a.texturePositionClipSpace.x+d/this._atlas.pages[a.texturePage].canvas.width,b[u+6]=a.texturePositionClipSpace.y,b[u+7]=a.sizeClipSpace.x-d/this._atlas.pages[a.texturePage].canvas.width,b[u+8]=a.sizeClipSpace.y):(b[u]=-a.offset.x+this._dimensions.device.char.left,b[u+1]=-a.offset.y+this._dimensions.device.char.top,b[u+2]=a.size.x/this._dimensions.device.canvas.width,b[u+3]=a.size.y/this._dimensions.device.canvas.height,b[u+4]=a.texturePage,b[u+5]=a.texturePositionClipSpace.x,b[u+6]=a.texturePositionClipSpace.y,b[u+7]=a.sizeClipSpace.x,b[u+8]=a.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,f.allowRescaling)(E,O,a.size.x,this._dimensions.device.cell.width)&&(b[u+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width)):b.fill(0,u,u+S-1-2)}clear(){const b=this._terminal,L=b.cols*b.rows*S;this._vertices.count!==L?this._vertices.attributes=new Float32Array(L):this._vertices.attributes.fill(0);let x=0;for(;x<this._vertices.attributesBuffers.length;x++)this._vertices.count!==L?this._vertices.attributesBuffers[x]=new Float32Array(L):this._vertices.attributesBuffers[x].fill(0);this._vertices.count=L,x=0;for(let E=0;E<b.rows;E++)for(let R=0;R<b.cols;R++)this._vertices.attributes[x+9]=R/b.cols,this._vertices.attributes[x+10]=E/b.rows,x+=S}handleResize(){const b=this._gl;b.useProgram(this._program),b.viewport(0,0,b.canvas.width,b.canvas.height),b.uniform2f(this._resolutionLocation,b.canvas.width,b.canvas.height),this.clear()}render(b){if(!this._atlas)return;const L=this._gl;L.useProgram(this._program),L.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;const x=this._vertices.attributesBuffers[this._activeBuffer];let E=0;for(let R=0;R<b.lineLengths.length;R++){const I=R*this._terminal.cols*S,T=this._vertices.attributes.subarray(I,I+b.lineLengths[R]*S);x.set(T,E),E+=T.length}L.bindBuffer(L.ARRAY_BUFFER,this._attributesBuffer),L.bufferData(L.ARRAY_BUFFER,x.subarray(0,E),L.STREAM_DRAW);for(let R=0;R<this._atlas.pages.length;R++)this._atlas.pages[R].version!==this._atlasTextures[R].version&&this._bindAtlasPageTexture(L,this._atlas,R);L.drawElementsInstanced(L.TRIANGLE_STRIP,4,L.UNSIGNED_BYTE,0,E/S)}setAtlas(b){this._atlas=b;for(const L of this._atlasTextures)L.version=-1}_bindAtlasPageTexture(b,L,x){b.activeTexture(b.TEXTURE0+x),b.bindTexture(b.TEXTURE_2D,this._atlasTextures[x].texture),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,L.pages[x].canvas),b.generateMipmap(b.TEXTURE_2D),this._atlasTextures[x].version=L.pages[x].version}setDimensions(b){this._dimensions=b}}r.GlyphRenderer=w},742:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RectangleRenderer=void 0;const f=o(374),v=o(859),h=o(310),p=o(381),y=8*Float32Array.BYTES_PER_ELEMENT;class S{constructor(){this.attributes=new Float32Array(160),this.count=0}}let g=0,a=0,u=0,l=0,d=0,w=0,k=0;class b extends v.Disposable{constructor(x,E,R,I){super(),this._terminal=x,this._gl=E,this._dimensions=R,this._themeService=I,this._vertices=new S,this._verticesCursor=new S;const T=this._gl;this._program=(0,f.throwIfFalsy)((0,p.createProgram)(T,`#version 300 es
85
85
  layout (location = 0) in vec2 a_position;
86
86
  layout (location = 1) in vec2 a_size;
87
87
  layout (location = 2) in vec4 a_color;
@@ -104,15 +104,15 @@ out vec4 outColor;
104
104
 
105
105
  void main() {
106
106
  outColor = v_color;
107
- }`)),this.register((0,v.toDisposable)(()=>T.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(T.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=T.createVertexArray(),T.bindVertexArray(this._vertexArrayObject);const A=new Float32Array([0,0,1,0,0,1,1,1]),P=T.createBuffer();this.register((0,v.toDisposable)(()=>T.deleteBuffer(P))),T.bindBuffer(T.ARRAY_BUFFER,P),T.bufferData(T.ARRAY_BUFFER,A,T.STATIC_DRAW),T.enableVertexAttribArray(3),T.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);const U=new Uint8Array([0,1,2,3]),$=T.createBuffer();this.register((0,v.toDisposable)(()=>T.deleteBuffer($))),T.bindBuffer(T.ELEMENT_ARRAY_BUFFER,$),T.bufferData(T.ELEMENT_ARRAY_BUFFER,U,T.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(T.createBuffer()),this.register((0,v.toDisposable)(()=>T.deleteBuffer(this._attributesBuffer))),T.bindBuffer(T.ARRAY_BUFFER,this._attributesBuffer),T.enableVertexAttribArray(0),T.vertexAttribPointer(0,2,T.FLOAT,!1,y,0),T.vertexAttribDivisor(0,1),T.enableVertexAttribArray(1),T.vertexAttribPointer(1,2,T.FLOAT,!1,y,2*Float32Array.BYTES_PER_ELEMENT),T.vertexAttribDivisor(1,1),T.enableVertexAttribArray(2),T.vertexAttribPointer(2,4,T.FLOAT,!1,y,4*Float32Array.BYTES_PER_ELEMENT),T.vertexAttribDivisor(2,1),this._updateCachedColors(I.colors),this.register(this._themeService.onChangeColors(G=>{this._updateCachedColors(G),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(x){const E=this._gl;E.useProgram(this._program),E.bindVertexArray(this._vertexArrayObject),E.uniformMatrix4fv(this._projectionLocation,!1,p.PROJECTION_MATRIX),E.bindBuffer(E.ARRAY_BUFFER,this._attributesBuffer),E.bufferData(E.ARRAY_BUFFER,x.attributes,E.DYNAMIC_DRAW),E.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,E.UNSIGNED_BYTE,0,x.count)}handleResize(){this._updateViewportRectangle()}setDimensions(x){this._dimensions=x}_updateCachedColors(x){this._bgFloat=this._colorToFloat32Array(x.background),this._cursorFloat=this._colorToFloat32Array(x.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(x){const E=this._terminal,R=this._vertices;let I,T,A,P,U,$,G,j,C,M,B,H=1;for(I=0;I<E.rows;I++){for(A=-1,P=0,U=0,$=!1,T=0;T<E.cols;T++)G=(I*E.cols+T)*h.RENDER_MODEL_INDICIES_PER_CELL,j=x.cells[G+h.RENDER_MODEL_BG_OFFSET],C=x.cells[G+h.RENDER_MODEL_FG_OFFSET],M=!!(67108864&C),(j!==P||C!==U&&($||M))&&((P!==0||$&&U!==0)&&(B=8*H++,this._updateRectangle(R,B,U,P,A,T,I)),A=T,P=j,U=C,$=M);(P!==0||$&&U!==0)&&(B=8*H++,this._updateRectangle(R,B,U,P,A,E.cols,I))}R.count=H}updateCursor(x){const E=this._verticesCursor,R=x.cursor;if(!R||R.style==="block")return void(E.count=0);let I,T=0;R.style!=="bar"&&R.style!=="outline"||(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,R.y*this._dimensions.device.cell.height,R.style==="bar"?R.dpr*R.cursorWidth:R.dpr,this._dimensions.device.cell.height,this._cursorFloat)),R.style!=="underline"&&R.style!=="outline"||(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,(R.y+1)*this._dimensions.device.cell.height-R.dpr,R.width*this._dimensions.device.cell.width,R.dpr,this._cursorFloat)),R.style==="outline"&&(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,R.y*this._dimensions.device.cell.height,R.width*this._dimensions.device.cell.width,R.dpr,this._cursorFloat),I=8*T++,this._addRectangleFloat(E.attributes,I,(R.x+R.width)*this._dimensions.device.cell.width-R.dpr,R.y*this._dimensions.device.cell.height,R.dpr,this._dimensions.device.cell.height,this._cursorFloat)),E.count=T}_updateRectangle(x,E,R,I,T,A,P){if(67108864&R)switch(50331648&R){case 16777216:case 33554432:g=this._themeService.colors.ansi[255&R].rgba;break;case 50331648:g=(16777215&R)<<8;break;default:g=this._themeService.colors.foreground.rgba}else switch(50331648&I){case 16777216:case 33554432:g=this._themeService.colors.ansi[255&I].rgba;break;case 50331648:g=(16777215&I)<<8;break;default:g=this._themeService.colors.background.rgba}x.attributes.length<E+4&&(x.attributes=(0,p.expandFloat32Array)(x.attributes,this._terminal.rows*this._terminal.cols*8)),a=T*this._dimensions.device.cell.width,u=P*this._dimensions.device.cell.height,l=(g>>24&255)/255,d=(g>>16&255)/255,w=(g>>8&255)/255,k=1,this._addRectangle(x.attributes,E,a,u,(A-T)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,l,d,w,k)}_addRectangle(x,E,R,I,T,A,P,U,$,G){x[E]=R/this._dimensions.device.canvas.width,x[E+1]=I/this._dimensions.device.canvas.height,x[E+2]=T/this._dimensions.device.canvas.width,x[E+3]=A/this._dimensions.device.canvas.height,x[E+4]=P,x[E+5]=U,x[E+6]=$,x[E+7]=G}_addRectangleFloat(x,E,R,I,T,A,P){x[E]=R/this._dimensions.device.canvas.width,x[E+1]=I/this._dimensions.device.canvas.height,x[E+2]=T/this._dimensions.device.canvas.width,x[E+3]=A/this._dimensions.device.canvas.height,x[E+4]=P[0],x[E+5]=P[1],x[E+6]=P[2],x[E+7]=P[3]}_colorToFloat32Array(x){return new Float32Array([(x.rgba>>24&255)/255,(x.rgba>>16&255)/255,(x.rgba>>8&255)/255,(255&x.rgba)/255])}}r.RectangleRenderer=b},310:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderModel=r.COMBINED_CHAR_BIT_MASK=r.RENDER_MODEL_EXT_OFFSET=r.RENDER_MODEL_FG_OFFSET=r.RENDER_MODEL_BG_OFFSET=r.RENDER_MODEL_INDICIES_PER_CELL=void 0;const f=o(296);r.RENDER_MODEL_INDICIES_PER_CELL=4,r.RENDER_MODEL_BG_OFFSET=1,r.RENDER_MODEL_FG_OFFSET=2,r.RENDER_MODEL_EXT_OFFSET=3,r.COMBINED_CHAR_BIT_MASK=2147483648,r.RenderModel=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=(0,f.createSelectionRenderModel)()}resize(v,h){const p=v*h*r.RENDER_MODEL_INDICIES_PER_CELL;p!==this.cells.length&&(this.cells=new Uint32Array(p),this.lineLengths=new Uint32Array(h))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}}},666:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.JoinedCellData=r.WebglRenderer=void 0;const f=o(820),v=o(274),h=o(627),p=o(457),y=o(56),S=o(374),g=o(345),a=o(859),u=o(147),l=o(782),d=o(855),w=o(965),k=o(742),b=o(310),L=o(733);class x extends a.Disposable{constructor(T,A,P,U,$,G,j,C,M){super(),this._terminal=T,this._characterJoinerService=A,this._charSizeService=P,this._coreBrowserService=U,this._coreService=$,this._decorationService=G,this._optionsService=j,this._themeService=C,this._cursorBlinkStateManager=new a.MutableDisposable,this._charAtlasDisposable=this.register(new a.MutableDisposable),this._observerDisposable=this.register(new a.MutableDisposable),this._model=new b.RenderModel,this._workCell=new l.CellData,this._workCell2=new l.CellData,this._rectangleRenderer=this.register(new a.MutableDisposable),this._glyphRenderer=this.register(new a.MutableDisposable),this._onChangeTextureAtlas=this.register(new g.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new g.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new g.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this.register(new g.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this.register(new g.EventEmitter),this.onContextLoss=this._onContextLoss.event,this.register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new v.CellColorResolver(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new L.LinkRenderLayer(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,j,this._themeService)],this.dimensions=(0,S.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this.register(j.onOptionChange(()=>this._handleOptionsChanged())),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");const B={antialias:!1,depth:!1,preserveDrawingBuffer:M};if(this._gl=this._canvas.getContext("webgl2",B),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextlost",H=>{console.log("webglcontextlost event received"),H.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(H)},3e3)})),this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextrestored",H=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,(0,h.removeTerminalFromCache)(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=(0,y.observeDevicePixelDimensions)(this._canvas,this._coreBrowserService.window,(H,Y)=>this._setCanvasDevicePixelDimensions(H,Y)),this.register(this._coreBrowserService.onWindowChange(H=>{this._observerDisposable.value=(0,y.observeDevicePixelDimensions)(this._canvas,H,(Y,V)=>this._setCanvasDevicePixelDimensions(Y,V))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._coreBrowserService.window.document.body.contains(this._core.screenElement),this.register((0,a.toDisposable)(()=>{var H;for(const Y of this._renderLayers)Y.dispose();(H=this._canvas.parentElement)==null||H.removeChild(this._canvas),(0,h.removeTerminalFromCache)(this._terminal)}))}get textureAtlas(){var T;return(T=this._charAtlas)==null?void 0:T.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(T,A){var P,U,$,G;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(const j of this._renderLayers)j.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,(P=this._rectangleRenderer.value)==null||P.setDimensions(this.dimensions),(U=this._rectangleRenderer.value)==null||U.handleResize(),($=this._glyphRenderer.value)==null||$.setDimensions(this.dimensions),(G=this._glyphRenderer.value)==null||G.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){var T;for(const A of this._renderLayers)A.handleBlur(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.pause(),this._requestRedrawViewport()}handleFocus(){var T;for(const A of this._renderLayers)A.handleFocus(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.resume(),this._requestRedrawViewport()}handleSelectionChanged(T,A,P){for(const U of this._renderLayers)U.handleSelectionChanged(this._terminal,T,A,P);this._model.selection.update(this._core,T,A,P),this._requestRedrawViewport()}handleCursorMove(){var T;for(const A of this._renderLayers)A.handleCursorMove(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new k.RectangleRenderer(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new w.GlyphRenderer(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){var A;if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0)return void(this._isAttached=!1);const T=(0,h.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr);this._charAtlas!==T&&(this._onChangeTextureAtlas.fire(T.pages[0].canvas),this._charAtlasDisposable.value=(0,a.getDisposeArrayDisposable)([(0,g.forwardEvent)(T.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),(0,g.forwardEvent)(T.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)])),this._charAtlas=T,this._charAtlas.warmUp(),(A=this._glyphRenderer.value)==null||A.setAtlas(this._charAtlas)}_clearModel(T){var A;this._model.clear(),T&&((A=this._glyphRenderer.value)==null||A.clear())}clearTextureAtlas(){var T;(T=this._charAtlas)==null||T.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){var T;this._clearModel(!0);for(const A of this._renderLayers)A.reset(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.restartBlinkAnimation(),this._updateCursorBlink()}registerCharacterJoiner(T){return-1}deregisterCharacterJoiner(T){return!1}renderRows(T,A){if(!this._isAttached){if(!(this._coreBrowserService.window.document.body.contains(this._core.screenElement)&&this._charSizeService.width&&this._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}for(const P of this._renderLayers)P.handleGridChanged(this._terminal,T,A);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(T,A),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),this._cursorBlinkStateManager.value&&!this._cursorBlinkStateManager.value.isCursorVisible||this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new p.CursorBlinkStateManager(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(T,A){const P=this._core;let U,$,G,j,C,M,B,H,Y,V,te,Q,z,O,J=this._workCell;T=R(T,P.rows-1,0),A=R(A,P.rows-1,0);const K=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,re=K-P.buffer.ydisp,ne=Math.min(this._terminal.buffer.active.cursorX,P.cols-1);let be=-1;const ge=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let ke=!1;for($=T;$<=A;$++)for(G=$+P.buffer.ydisp,j=P.buffer.lines.get(G),this._model.lineLengths[$]=0,C=this._characterJoinerService.getJoinedCharacters(G),z=0;z<P.cols;z++)if(U=this._cellColorResolver.result.bg,j.loadCell(z,J),z===0&&(U=this._cellColorResolver.result.bg),M=!1,B=z,C.length>0&&z===C[0][0]&&(M=!0,H=C.shift(),J=new E(J,j.translateToString(!0,H[0],H[1]),H[1]-H[0]),B=H[1]-1),Y=J.getChars(),V=J.getCode(),Q=($*P.cols+z)*b.RENDER_MODEL_INDICIES_PER_CELL,this._cellColorResolver.resolve(J,z,G,this.dimensions.device.cell.width),ge&&G===K&&(z===ne&&(this._model.cursor={x:ne,y:re,width:J.getWidth(),style:this._coreBrowserService.isFocused?P.options.cursorStyle||"block":P.options.cursorInactiveStyle,cursorWidth:P.options.cursorWidth,dpr:this._devicePixelRatio},be=ne+J.getWidth()-1),z>=ne&&z<=be&&(this._coreBrowserService.isFocused&&(P.options.cursorStyle||"block")==="block"||this._coreBrowserService.isFocused===!1&&P.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),V!==d.NULL_CELL_CODE&&(this._model.lineLengths[$]=z+1),(this._model.cells[Q]!==V||this._model.cells[Q+b.RENDER_MODEL_BG_OFFSET]!==this._cellColorResolver.result.bg||this._model.cells[Q+b.RENDER_MODEL_FG_OFFSET]!==this._cellColorResolver.result.fg||this._model.cells[Q+b.RENDER_MODEL_EXT_OFFSET]!==this._cellColorResolver.result.ext)&&(ke=!0,Y.length>1&&(V|=b.COMBINED_CHAR_BIT_MASK),this._model.cells[Q]=V,this._model.cells[Q+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[Q+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[Q+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext,te=J.getWidth(),this._glyphRenderer.value.updateCell(z,$,V,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,Y,te,U),M))for(J=this._workCell,z++;z<B;z++)O=($*P.cols+z)*b.RENDER_MODEL_INDICIES_PER_CELL,this._glyphRenderer.value.updateCell(z,$,d.NULL_CELL_CODE,0,0,0,d.NULL_CELL_CHAR,0,0),this._model.cells[O]=d.NULL_CELL_CODE,this._model.cells[O+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[O+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[O+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext;ke&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){this._charSizeService.width&&this._charSizeService.height&&(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(T,A){this._canvas.width===T&&this._canvas.height===A||(this._canvas.width=T,this._canvas.height=A,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){const T=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:T,end:T})}}r.WebglRenderer=x;class E extends u.AttributeData{constructor(T,A,P){super(),this.content=0,this.combinedData="",this.fg=T.fg,this.bg=T.bg,this.combinedData=A,this._width=P}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(T){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}function R(I,T,A=0){return Math.max(Math.min(I,T),A)}r.JoinedCellData=E},381:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.GLTexture=r.expandFloat32Array=r.createShader=r.createProgram=r.PROJECTION_MATRIX=void 0;const f=o(374);function v(h,p,y){const S=(0,f.throwIfFalsy)(h.createShader(p));if(h.shaderSource(S,y),h.compileShader(S),h.getShaderParameter(S,h.COMPILE_STATUS))return S;console.error(h.getShaderInfoLog(S)),h.deleteShader(S)}r.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),r.createProgram=function(h,p,y){const S=(0,f.throwIfFalsy)(h.createProgram());if(h.attachShader(S,(0,f.throwIfFalsy)(v(h,h.VERTEX_SHADER,p))),h.attachShader(S,(0,f.throwIfFalsy)(v(h,h.FRAGMENT_SHADER,y))),h.linkProgram(S),h.getProgramParameter(S,h.LINK_STATUS))return S;console.error(h.getProgramInfoLog(S)),h.deleteProgram(S)},r.createShader=v,r.expandFloat32Array=function(h,p){const y=Math.min(2*h.length,p),S=new Float32Array(y);for(let g=0;g<h.length;g++)S[g]=h[g];return S},r.GLTexture=class{constructor(h){this.texture=h,this.version=-1}}},592:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BaseRenderLayer=void 0;const f=o(627),v=o(237),h=o(374),p=o(859);class y extends p.Disposable{constructor(g,a,u,l,d,w,k,b){super(),this._container=a,this._alpha=d,this._coreBrowserService=w,this._optionsService=k,this._themeService=b,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${u}-layer`),this._canvas.style.zIndex=l.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this.register(this._themeService.onChangeColors(L=>{this._refreshCharAtlas(g,L),this.reset(g)})),this.register((0,p.toDisposable)(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=(0,h.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(g){}handleFocus(g){}handleCursorMove(g){}handleGridChanged(g,a,u){}handleSelectionChanged(g,a,u,l=!1){}_setTransparency(g,a){if(a===this._alpha)return;const u=this._canvas;this._alpha=a,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,u),this._refreshCharAtlas(g,this._themeService.colors),this.handleGridChanged(g,0,g.rows-1)}_refreshCharAtlas(g,a){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=(0,f.acquireTextureAtlas)(g,this._optionsService.rawOptions,a,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlas.warmUp())}resize(g,a){this._deviceCellWidth=a.device.cell.width,this._deviceCellHeight=a.device.cell.height,this._deviceCharWidth=a.device.char.width,this._deviceCharHeight=a.device.char.height,this._deviceCharLeft=a.device.char.left,this._deviceCharTop=a.device.char.top,this._canvas.width=a.device.canvas.width,this._canvas.height=a.device.canvas.height,this._canvas.style.width=`${a.css.canvas.width}px`,this._canvas.style.height=`${a.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(g,this._themeService.colors)}_fillBottomLineAtCells(g,a,u=1){this._ctx.fillRect(g*this._deviceCellWidth,(a+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,u*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(g,a,u,l){this._alpha?this._ctx.clearRect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,l*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,l*this._deviceCellHeight))}_fillCharTrueColor(g,a,u,l){this._ctx.font=this._getFont(g,!1,!1),this._ctx.textBaseline=v.TEXT_BASELINE,this._clipCell(u,l,a.getWidth()),this._ctx.fillText(a.getChars(),u*this._deviceCellWidth+this._deviceCharLeft,l*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(g,a,u){this._ctx.beginPath(),this._ctx.rect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(g,a,u){return`${u?"italic":""} ${a?g.options.fontWeightBold:g.options.fontWeight} ${g.options.fontSize*this._coreBrowserService.dpr}px ${g.options.fontFamily}`}}r.BaseRenderLayer=y},733:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkRenderLayer=void 0;const f=o(197),v=o(237),h=o(592);class p extends h.BaseRenderLayer{constructor(S,g,a,u,l,d,w){super(a,S,"link",g,!0,l,d,w),this.register(u.onShowLinkUnderline(k=>this._handleShowLinkUnderline(k))),this.register(u.onHideLinkUnderline(k=>this._handleHideLinkUnderline(k)))}resize(S,g){super.resize(S,g),this._state=void 0}reset(S){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const S=this._state.y2-this._state.y1-1;S>0&&this._clearCells(0,this._state.y1+1,this._state.cols,S),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(S){if(S.fg===v.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:S.fg!==void 0&&(0,f.is256Color)(S.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[S.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,S.y1===S.y2)this._fillBottomLineAtCells(S.x1,S.y1,S.x2-S.x1);else{this._fillBottomLineAtCells(S.x1,S.y1,S.cols-S.x1);for(let g=S.y1+1;g<S.y2;g++)this._fillBottomLineAtCells(0,g,S.cols);this._fillBottomLineAtCells(0,S.y2,S.x2)}this._state=S}_handleHideLinkUnderline(S){this._clearCurrentLink()}}r.LinkRenderLayer=p},820:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(o,f,v,h){o.addEventListener(f,v,h);let p=!1;return{dispose:()=>{p||(p=!0,o.removeEventListener(f,v,h))}}}},274:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellColorResolver=void 0;const f=o(855),v=o(160),h=o(374);let p,y=0,S=0,g=!1,a=!1,u=!1,l=0;r.CellColorResolver=class{constructor(d,w,k,b,L,x){this._terminal=d,this._optionService=w,this._selectionRenderModel=k,this._decorationService=b,this._coreBrowserService=L,this._themeService=x,this.result={fg:0,bg:0,ext:0}}resolve(d,w,k,b){if(this.result.bg=d.bg,this.result.fg=d.fg,this.result.ext=268435456&d.bg?d.extended.ext:0,S=0,y=0,a=!1,g=!1,u=!1,p=this._themeService.colors,l=0,d.getCode()!==f.NULL_CELL_CODE&&d.extended.underlineStyle===4){const L=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));l=w*b%(2*Math.round(L))}if(this._decorationService.forEachDecorationAtCell(w,k,"bottom",L=>{L.backgroundColorRGB&&(S=L.backgroundColorRGB.rgba>>8&16777215,a=!0),L.foregroundColorRGB&&(y=L.foregroundColorRGB.rgba>>8&16777215,g=!0)}),u=this._selectionRenderModel.isCellSelected(this._terminal,w,k),u){if(67108864&this.result.fg||50331648&this.result.bg){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:S=(16777215&this.result.fg)<<8|255;break;default:S=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:S=(16777215&this.result.bg)<<8|255}S=v.rgba.blend(S,4294967040&(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else S=(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(a=!0,p.selectionForeground&&(y=p.selectionForeground.rgba>>8&16777215,g=!0),(0,h.treatGlyphAsBackgroundColor)(d.getCode())){if(67108864&this.result.fg&&!(50331648&this.result.bg))y=(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:y=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:y=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:y=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:y=(16777215&this.result.fg)<<8|255;break;default:y=this._themeService.colors.foreground.rgba}y=v.rgba.blend(y,4294967040&(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}g=!0}}this._decorationService.forEachDecorationAtCell(w,k,"top",L=>{L.backgroundColorRGB&&(S=L.backgroundColorRGB.rgba>>8&16777215,a=!0),L.foregroundColorRGB&&(y=L.foregroundColorRGB.rgba>>8&16777215,g=!0)}),a&&(S=u?-16777216&d.bg&-134217729|S|50331648:-16777216&d.bg|S|50331648),g&&(y=-16777216&d.fg&-67108865|y|50331648),67108864&this.result.fg&&(a&&!g&&(y=50331648&this.result.bg?-134217728&this.result.fg|67108863&this.result.bg:-134217728&this.result.fg|16777215&p.background.rgba>>8|50331648,g=!0),!a&&g&&(S=50331648&this.result.fg?-67108864&this.result.bg|67108863&this.result.fg:-67108864&this.result.bg|16777215&p.foreground.rgba>>8|50331648,a=!0)),p=void 0,this.result.bg=a?S:this.result.bg,this.result.fg=g?y:this.result.fg,this.result.ext&=536870911,this.result.ext|=l<<29&3758096384}}},627:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.removeTerminalFromCache=r.acquireTextureAtlas=void 0;const f=o(509),v=o(197),h=[];r.acquireTextureAtlas=function(p,y,S,g,a,u,l,d){const w=(0,v.generateConfig)(g,a,u,l,y,S,d);for(let L=0;L<h.length;L++){const x=h[L],E=x.ownedBy.indexOf(p);if(E>=0){if((0,v.configEquals)(x.config,w))return x.atlas;x.ownedBy.length===1?(x.atlas.dispose(),h.splice(L,1)):x.ownedBy.splice(E,1);break}}for(let L=0;L<h.length;L++){const x=h[L];if((0,v.configEquals)(x.config,w))return x.ownedBy.push(p),x.atlas}const k=p._core,b={atlas:new f.TextureAtlas(document,w,k.unicodeService),config:w,ownedBy:[p]};return h.push(b),b.atlas},r.removeTerminalFromCache=function(p){for(let y=0;y<h.length;y++){const S=h[y].ownedBy.indexOf(p);if(S!==-1){h[y].ownedBy.length===1?(h[y].atlas.dispose(),h.splice(y,1)):h[y].ownedBy.splice(S,1);break}}}},197:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.is256Color=r.configEquals=r.generateConfig=void 0;const f=o(160);r.generateConfig=function(v,h,p,y,S,g,a){const u={foreground:g.foreground,background:g.background,cursor:f.NULL_COLOR,cursorAccent:f.NULL_COLOR,selectionForeground:f.NULL_COLOR,selectionBackgroundTransparent:f.NULL_COLOR,selectionBackgroundOpaque:f.NULL_COLOR,selectionInactiveBackgroundTransparent:f.NULL_COLOR,selectionInactiveBackgroundOpaque:f.NULL_COLOR,ansi:g.ansi.slice(),contrastCache:g.contrastCache,halfContrastCache:g.halfContrastCache};return{customGlyphs:S.customGlyphs,devicePixelRatio:a,letterSpacing:S.letterSpacing,lineHeight:S.lineHeight,deviceCellWidth:v,deviceCellHeight:h,deviceCharWidth:p,deviceCharHeight:y,fontFamily:S.fontFamily,fontSize:S.fontSize,fontWeight:S.fontWeight,fontWeightBold:S.fontWeightBold,allowTransparency:S.allowTransparency,drawBoldTextInBrightColors:S.drawBoldTextInBrightColors,minimumContrastRatio:S.minimumContrastRatio,colors:u}},r.configEquals=function(v,h){for(let p=0;p<v.colors.ansi.length;p++)if(v.colors.ansi[p].rgba!==h.colors.ansi[p].rgba)return!1;return v.devicePixelRatio===h.devicePixelRatio&&v.customGlyphs===h.customGlyphs&&v.lineHeight===h.lineHeight&&v.letterSpacing===h.letterSpacing&&v.fontFamily===h.fontFamily&&v.fontSize===h.fontSize&&v.fontWeight===h.fontWeight&&v.fontWeightBold===h.fontWeightBold&&v.allowTransparency===h.allowTransparency&&v.deviceCharWidth===h.deviceCharWidth&&v.deviceCharHeight===h.deviceCharHeight&&v.drawBoldTextInBrightColors===h.drawBoldTextInBrightColors&&v.minimumContrastRatio===h.minimumContrastRatio&&v.colors.foreground.rgba===h.colors.foreground.rgba&&v.colors.background.rgba===h.colors.background.rgba},r.is256Color=function(v){return(50331648&v)==16777216||(50331648&v)==33554432}},237:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;const f=o(399);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},457:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CursorBlinkStateManager=void 0,r.CursorBlinkStateManager=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(o=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,f>0)return void this._restartInterval(f)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(f)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},o)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tryDrawCustomChar=r.powerlineDefinitions=r.boxDrawingDefinitions=r.blockElementDefinitions=void 0;const f=o(374);r.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const v={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};r.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"║":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╒":{1:(g,a)=>`M.5,1 L.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╓":{1:(g,a)=>`M${.5-g},1 L${.5-g},.5 L1,.5 M${.5+g},.5 L${.5+g},1`},"╔":{1:(g,a)=>`M1,${.5-a} L${.5-g},${.5-a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1`},"╕":{1:(g,a)=>`M0,${.5-a} L.5,${.5-a} L.5,1 M0,${.5+a} L.5,${.5+a}`},"╖":{1:(g,a)=>`M${.5+g},1 L${.5+g},.5 L0,.5 M${.5-g},.5 L${.5-g},1`},"╗":{1:(g,a)=>`M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M0,${.5-a} L${.5+g},${.5-a} L${.5+g},1`},"╘":{1:(g,a)=>`M.5,0 L.5,${.5+a} L1,${.5+a} M.5,${.5-a} L1,${.5-a}`},"╙":{1:(g,a)=>`M1,.5 L${.5-g},.5 L${.5-g},0 M${.5+g},.5 L${.5+g},0`},"╚":{1:(g,a)=>`M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0 M1,${.5+a} L${.5-g},${.5+a} L${.5-g},0`},"╛":{1:(g,a)=>`M0,${.5+a} L.5,${.5+a} L.5,0 M0,${.5-a} L.5,${.5-a}`},"╜":{1:(g,a)=>`M0,.5 L${.5+g},.5 L${.5+g},0 M${.5-g},.5 L${.5-g},0`},"╝":{1:(g,a)=>`M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M0,${.5+a} L${.5+g},${.5+a} L${.5+g},0`},"╞":{1:(g,a)=>`M.5,0 L.5,1 M.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╟":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1 M${.5+g},.5 L1,.5`},"╠":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╡":{1:(g,a)=>`M.5,0 L.5,1 M0,${.5-a} L.5,${.5-a} M0,${.5+a} L.5,${.5+a}`},"╢":{1:(g,a)=>`M0,.5 L${.5-g},.5 M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╣":{1:(g,a)=>`M${.5+g},0 L${.5+g},1 M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0`},"╤":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a} M.5,${.5+a} L.5,1`},"╥":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},.5 L${.5-g},1 M${.5+g},.5 L${.5+g},1`},"╦":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1`},"╧":{1:(g,a)=>`M.5,0 L.5,${.5-a} M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╨":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},.5 L${.5-g},0 M${.5+g},.5 L${.5+g},0`},"╩":{1:(g,a)=>`M0,${.5+a} L1,${.5+a} M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╪":{1:(g,a)=>`M.5,0 L.5,1 M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╫":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╬":{1:(g,a)=>`M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1 M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(g,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,1,.5`},"╮":{1:(g,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,0,.5`},"╯":{1:(g,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,0,.5`},"╰":{1:(g,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,1,.5`}},r.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},r.powerlineDefinitions[""]=r.powerlineDefinitions[""],r.powerlineDefinitions[""]=r.powerlineDefinitions[""],r.tryDrawCustomChar=function(g,a,u,l,d,w,k,b){const L=r.blockElementDefinitions[a];if(L)return function(I,T,A,P,U,$){for(let G=0;G<T.length;G++){const j=T[G],C=U/8,M=$/8;I.fillRect(A+j.x*C,P+j.y*M,j.w*C,j.h*M)}}(g,L,u,l,d,w),!0;const x=v[a];if(x)return function(I,T,A,P,U,$){let G=h.get(T);G||(G=new Map,h.set(T,G));const j=I.fillStyle;if(typeof j!="string")throw new Error(`Unexpected fillStyle type "${j}"`);let C=G.get(j);if(!C){const M=T[0].length,B=T.length,H=I.canvas.ownerDocument.createElement("canvas");H.width=M,H.height=B;const Y=(0,f.throwIfFalsy)(H.getContext("2d")),V=new ImageData(M,B);let te,Q,z,O;if(j.startsWith("#"))te=parseInt(j.slice(1,3),16),Q=parseInt(j.slice(3,5),16),z=parseInt(j.slice(5,7),16),O=j.length>7&&parseInt(j.slice(7,9),16)||1;else{if(!j.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${j}" when drawing pattern glyph`);[te,Q,z,O]=j.substring(5,j.length-1).split(",").map(J=>parseFloat(J))}for(let J=0;J<B;J++)for(let K=0;K<M;K++)V.data[4*(J*M+K)]=te,V.data[4*(J*M+K)+1]=Q,V.data[4*(J*M+K)+2]=z,V.data[4*(J*M+K)+3]=T[J][K]*(255*O);Y.putImageData(V,0,0),C=(0,f.throwIfFalsy)(I.createPattern(H,null)),G.set(j,C)}I.fillStyle=C,I.fillRect(A,P,U,$)}(g,x,u,l,d,w),!0;const E=r.boxDrawingDefinitions[a];if(E)return function(I,T,A,P,U,$,G){I.strokeStyle=I.fillStyle;for(const[j,C]of Object.entries(T)){let M;I.beginPath(),I.lineWidth=G*Number.parseInt(j),M=typeof C=="function"?C(.15,.15/$*U):C;for(const B of M.split(" ")){const H=B[0],Y=y[H];if(!Y){console.error(`Could not find drawing instructions for "${H}"`);continue}const V=B.substring(1).split(",");V[0]&&V[1]&&Y(I,S(V,U,$,A,P,!0,G))}I.stroke(),I.closePath()}}(g,E,u,l,d,w,b),!0;const R=r.powerlineDefinitions[a];return!!R&&(function(I,T,A,P,U,$,G,j){const C=new Path2D;C.rect(A,P,U,$),I.clip(C),I.beginPath();const M=G/12;I.lineWidth=j*M;for(const B of T.d.split(" ")){const H=B[0],Y=y[H];if(!Y){console.error(`Could not find drawing instructions for "${H}"`);continue}const V=B.substring(1).split(",");V[0]&&V[1]&&Y(I,S(V,U,$,A,P,!1,j,(T.leftPadding??0)*(M/2),(T.rightPadding??0)*(M/2)))}T.type===1?(I.strokeStyle=I.fillStyle,I.stroke()):I.fill(),I.closePath()}(g,R,u,l,d,w,k,b),!0)};const h=new Map;function p(g,a,u=0){return Math.max(Math.min(g,a),u)}const y={C:(g,a)=>g.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]),L:(g,a)=>g.lineTo(a[0],a[1]),M:(g,a)=>g.moveTo(a[0],a[1])};function S(g,a,u,l,d,w,k,b=0,L=0){const x=g.map(E=>parseFloat(E)||parseInt(E));if(x.length<2)throw new Error("Too few arguments for instruction");for(let E=0;E<x.length;E+=2)x[E]*=a-b*k-L*k,w&&x[E]!==0&&(x[E]=p(Math.round(x[E]+.5)-.5,a,0)),x[E]+=l+b*k;for(let E=1;E<x.length;E+=2)x[E]*=u,w&&x[E]!==0&&(x[E]=p(Math.round(x[E]+.5)-.5,u,0)),x[E]+=d;return x}},56:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.observeDevicePixelDimensions=void 0;const f=o(859);r.observeDevicePixelDimensions=function(v,h,p){let y=new h.ResizeObserver(S=>{const g=S.find(l=>l.target===v);if(!g)return;if(!("devicePixelContentBoxSize"in g))return y==null||y.disconnect(),void(y=void 0);const a=g.devicePixelContentBoxSize[0].inlineSize,u=g.devicePixelContentBoxSize[0].blockSize;a>0&&u>0&&p(a,u)});try{y.observe(v,{box:["device-pixel-content-box"]})}catch{y.disconnect(),y=void 0}return(0,f.toDisposable)(()=>y==null?void 0:y.disconnect())}},374:(m,r)=>{function o(v){return 57508<=v&&v<=57558}function f(v){return v>=128512&&v<=128591||v>=127744&&v<=128511||v>=128640&&v<=128767||v>=9728&&v<=9983||v>=9984&&v<=10175||v>=65024&&v<=65039||v>=129280&&v<=129535||v>=127462&&v<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(v){if(!v)throw new Error("value must not be falsy");return v},r.isPowerlineGlyph=o,r.isRestrictedPowerlineGlyph=function(v){return 57520<=v&&v<=57527},r.isEmoji=f,r.allowRescaling=function(v,h,p,y){return h===1&&p>Math.ceil(1.5*y)&&v!==void 0&&v>255&&!f(v)&&!o(v)&&!function(S){return 57344<=S&&S<=63743}(v)},r.treatGlyphAsBackgroundColor=function(v){return o(v)||function(h){return 9472<=h&&h<=9631}(v)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(v,h,p=0){return(v-(2*Math.round(h)-p))%(2*Math.round(h))}},296:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(v,h,p,y=!1){if(this.selectionStart=h,this.selectionEnd=p,!h||!p||h[0]===p[0]&&h[1]===p[1])return void this.clear();const S=v.buffers.active.ydisp,g=h[1]-S,a=p[1]-S,u=Math.max(g,0),l=Math.min(a,v.rows-1);u>=v.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=g,this.viewportEndRow=a,this.viewportCappedStartRow=u,this.viewportCappedEndRow=l,this.startCol=h[0],this.endCol=p[0])}isCellSelected(v,h,p){return!!this.hasSelection&&(p-=v.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&p>=this.viewportCappedStartRow&&h<this.endCol&&p<=this.viewportCappedEndRow:h<this.startCol&&p>=this.viewportCappedStartRow&&h>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol)}}r.createSelectionRenderModel=function(){return new o}},509:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TextureAtlas=void 0;const f=o(237),v=o(860),h=o(374),p=o(160),y=o(345),S=o(485),g=o(385),a=o(147),u=o(855),l={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let d;class w{get pages(){return this._pages}constructor(E,R,I){this._document=E,this._config=R,this._unicodeService=I,this._didWarmUp=!1,this._cacheMap=new S.FourKeyMap,this._cacheMapCombined=new S.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new a.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new y.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new y.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=L(E,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,h.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const E of this.pages)E.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const E=new g.IdleTaskQueue;for(let R=33;R<126;R++)E.enqueue(()=>{if(!this._cacheMap.get(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT)){const I=this._drawToCache(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT);this._cacheMap.set(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT,I)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const E of this._pages)E.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(w.maxAtlasPages&&this._pages.length>=Math.max(4,w.maxAtlasPages)){const R=this._pages.filter(G=>2*G.canvas.width<=(w.maxTextureSize||4096)).sort((G,j)=>j.canvas.width!==G.canvas.width?j.canvas.width-G.canvas.width:j.percentageUsed-G.percentageUsed);let I=-1,T=0;for(let G=0;G<R.length;G++)if(R[G].canvas.width!==T)I=G,T=R[G].canvas.width;else if(G-I==3)break;const A=R.slice(I,I+4),P=A.map(G=>G.glyphs[0].texturePage).sort((G,j)=>G>j?1:-1),U=this.pages.length-A.length,$=this._mergePages(A,U);$.version++;for(let G=P.length-1;G>=0;G--)this._deletePage(P[G]);this.pages.push($),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire($.canvas)}const E=new k(this._document,this._textureSize);return this._pages.push(E),this._activePages.push(E),this._onAddTextureAtlasCanvas.fire(E.canvas),E}_mergePages(E,R){const I=2*E[0].canvas.width,T=new k(this._document,I,E);for(const[A,P]of E.entries()){const U=A*P.canvas.width%I,$=Math.floor(A/2)*P.canvas.height;T.ctx.drawImage(P.canvas,U,$);for(const j of P.glyphs)j.texturePage=R,j.sizeClipSpace.x=j.size.x/I,j.sizeClipSpace.y=j.size.y/I,j.texturePosition.x+=U,j.texturePosition.y+=$,j.texturePositionClipSpace.x=j.texturePosition.x/I,j.texturePositionClipSpace.y=j.texturePosition.y/I;this._onRemoveTextureAtlasCanvas.fire(P.canvas);const G=this._activePages.indexOf(P);G!==-1&&this._activePages.splice(G,1)}return T}_deletePage(E){this._pages.splice(E,1);for(let R=E;R<this._pages.length;R++){const I=this._pages[R];for(const T of I.glyphs)T.texturePage--;I.version++}}getRasterizedGlyphCombinedChar(E,R,I,T,A){return this._getFromCacheMap(this._cacheMapCombined,E,R,I,T,A)}getRasterizedGlyph(E,R,I,T,A){return this._getFromCacheMap(this._cacheMap,E,R,I,T,A)}_getFromCacheMap(E,R,I,T,A,P=!1){return d=E.get(R,I,T,A),d||(d=this._drawToCache(R,I,T,A,P),E.set(R,I,T,A,d)),d}_getColorFromAnsiIndex(E){if(E>=this._config.colors.ansi.length)throw new Error("No color found for idx "+E);return this._config.colors.ansi[E]}_getBackgroundColor(E,R,I,T){if(this._config.allowTransparency)return p.NULL_COLOR;let A;switch(E){case 16777216:case 33554432:A=this._getColorFromAnsiIndex(R);break;case 50331648:const P=a.AttributeData.toColorRGB(R);A=p.channels.toColor(P[0],P[1],P[2]);break;default:A=I?p.color.opaque(this._config.colors.foreground):this._config.colors.background}return A}_getForegroundColor(E,R,I,T,A,P,U,$,G,j){const C=this._getMinimumContrastColor(E,R,I,T,A,P,U,G,$,j);if(C)return C;let M;switch(A){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&G&&P<8&&(P+=8),M=this._getColorFromAnsiIndex(P);break;case 50331648:const B=a.AttributeData.toColorRGB(P);M=p.channels.toColor(B[0],B[1],B[2]);break;default:M=U?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(M=p.color.opaque(M)),$&&(M=p.color.multiplyOpacity(M,f.DIM_OPACITY)),M}_resolveBackgroundRgba(E,R,I){switch(E){case 16777216:case 33554432:return this._getColorFromAnsiIndex(R).rgba;case 50331648:return R<<8;default:return I?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(E,R,I,T){switch(E){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&T&&R<8&&(R+=8),this._getColorFromAnsiIndex(R).rgba;case 50331648:return R<<8;default:return I?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(E,R,I,T,A,P,U,$,G,j){if(this._config.minimumContrastRatio===1||j)return;const C=this._getContrastCache(G),M=C.getColor(E,T);if(M!==void 0)return M||void 0;const B=this._resolveBackgroundRgba(R,I,U),H=this._resolveForegroundRgba(A,P,U,$),Y=p.rgba.ensureContrastRatio(B,H,this._config.minimumContrastRatio/(G?2:1));if(!Y)return void C.setColor(E,T,null);const V=p.channels.toColor(Y>>24&255,Y>>16&255,Y>>8&255);return C.setColor(E,T,V),V}_getContrastCache(E){return E?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(E,R,I,T,A=!1){const P=typeof E=="number"?String.fromCharCode(E):E,U=Math.min(this._config.deviceCellWidth*Math.max(P.length,2)+4,this._textureSize);this._tmpCanvas.width<U&&(this._tmpCanvas.width=U);const $=Math.min(this._config.deviceCellHeight+8,this._textureSize);if(this._tmpCanvas.height<$&&(this._tmpCanvas.height=$),this._tmpCtx.save(),this._workAttributeData.fg=I,this._workAttributeData.bg=R,this._workAttributeData.extended.ext=T,this._workAttributeData.isInvisible())return l;const G=!!this._workAttributeData.isBold(),j=!!this._workAttributeData.isInverse(),C=!!this._workAttributeData.isDim(),M=!!this._workAttributeData.isItalic(),B=!!this._workAttributeData.isUnderline(),H=!!this._workAttributeData.isStrikethrough(),Y=!!this._workAttributeData.isOverline();let V=this._workAttributeData.getFgColor(),te=this._workAttributeData.getFgColorMode(),Q=this._workAttributeData.getBgColor(),z=this._workAttributeData.getBgColorMode();if(j){const ue=V;V=Q,Q=ue;const me=te;te=z,z=me}const O=this._getBackgroundColor(z,Q,j,C);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=O.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";const J=G?this._config.fontWeightBold:this._config.fontWeight,K=M?"italic":"";this._tmpCtx.font=`${K} ${J} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=f.TEXT_BASELINE;const re=P.length===1&&(0,h.isPowerlineGlyph)(P.charCodeAt(0)),ne=P.length===1&&(0,h.isRestrictedPowerlineGlyph)(P.charCodeAt(0)),be=this._getForegroundColor(R,z,Q,I,te,V,j,C,G,(0,h.treatGlyphAsBackgroundColor)(P.charCodeAt(0)));this._tmpCtx.fillStyle=be.css;const ge=ne?0:4;let ke=!1;this._config.customGlyphs!==!1&&(ke=(0,v.tryDrawCustomChar)(this._tmpCtx,P,ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let Me,pe=!re;if(Me=typeof E=="number"?this._unicodeService.wcwidth(E):this._unicodeService.getStringCellWidth(E),B){this._tmpCtx.save();const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),me=ue%2==1?.5:0;if(this._tmpCtx.lineWidth=ue,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())pe=!1,this._tmpCtx.strokeStyle=`rgb(${a.AttributeData.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{pe=!1;let ve=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&ve<8&&(ve+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(ve).css}this._tmpCtx.beginPath();const Ie=ge,X=Math.ceil(ge+this._config.deviceCharHeight)-me-(A?2*ue:0),Te=X+ue,ie=X+2*ue;let ae=this._workAttributeData.getUnderlineVariantOffset();for(let ve=0;ve<Me;ve++){this._tmpCtx.save();const xe=Ie+ve*this._config.deviceCellWidth,we=Ie+(ve+1)*this._config.deviceCellWidth,dt=xe+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(we,X),this._tmpCtx.moveTo(xe,ie),this._tmpCtx.lineTo(we,ie);break;case 3:const ut=ue<=1?ie:Math.ceil(ge+this._config.deviceCharHeight-ue/2)-me,Ze=ue<=1?X:Math.ceil(ge+this._config.deviceCharHeight+ue/2)-me,Tt=new Path2D;Tt.rect(xe,X,this._config.deviceCellWidth,ie-X),this._tmpCtx.clip(Tt),this._tmpCtx.moveTo(xe-this._config.deviceCellWidth/2,Te),this._tmpCtx.bezierCurveTo(xe-this._config.deviceCellWidth/2,Ze,xe,Ze,xe,Te),this._tmpCtx.bezierCurveTo(xe,ut,dt,ut,dt,Te),this._tmpCtx.bezierCurveTo(dt,Ze,we,Ze,we,Te),this._tmpCtx.bezierCurveTo(we,ut,we+this._config.deviceCellWidth/2,ut,we+this._config.deviceCellWidth/2,Te);break;case 4:const kt=ae===0?0:ae>=ue?2*ue-ae:ue-ae;ae>=ue||kt===0?(this._tmpCtx.setLineDash([Math.round(ue),Math.round(ue)]),this._tmpCtx.moveTo(xe+kt,X),this._tmpCtx.lineTo(we,X)):(this._tmpCtx.setLineDash([Math.round(ue),Math.round(ue)]),this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(xe+kt,X),this._tmpCtx.moveTo(xe+kt+ue,X),this._tmpCtx.lineTo(we,X)),ae=(0,h.computeNextVariantOffset)(we-xe,ue,ae);break;case 5:const Ut=.6,It=.3,Qe=we-xe,Pe=Math.floor(Ut*Qe),_t=Math.floor(It*Qe),Dt=Qe-Pe-_t;this._tmpCtx.setLineDash([Pe,_t,Dt]),this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(we,X);break;default:this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(we,X)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!ke&&this._config.fontSize>=12&&!this._config.allowTransparency&&P!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const ve=this._tmpCtx.measureText(P);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in ve&&ve.actualBoundingBoxDescent>0){this._tmpCtx.save();const xe=new Path2D;xe.rect(Ie,X-Math.ceil(ue/2),this._config.deviceCellWidth*Me,ie-X+Math.ceil(ue/2)),this._tmpCtx.clip(xe),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=O.css,this._tmpCtx.strokeText(P,ge,ge+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(Y){const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),me=ue%2==1?.5:0;this._tmpCtx.lineWidth=ue,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ge,ge+me),this._tmpCtx.lineTo(ge+this._config.deviceCharWidth*Me,ge+me),this._tmpCtx.stroke()}if(ke||this._tmpCtx.fillText(P,ge,ge+this._config.deviceCharHeight),P==="_"&&!this._config.allowTransparency){let ue=b(this._tmpCtx.getImageData(ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight),O,be,pe);if(ue)for(let me=1;me<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=O.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(P,ge,ge+this._config.deviceCharHeight-me),ue=b(this._tmpCtx.getImageData(ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight),O,be,pe),ue);me++);}if(H){const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),me=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=ue,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ge,ge+Math.floor(this._config.deviceCharHeight/2)-me),this._tmpCtx.lineTo(ge+this._config.deviceCharWidth*Me,ge+Math.floor(this._config.deviceCharHeight/2)-me),this._tmpCtx.stroke()}this._tmpCtx.restore();const $e=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let Je;if(Je=this._config.allowTransparency?function(ue){for(let me=0;me<ue.data.length;me+=4)if(ue.data[me+3]>0)return!1;return!0}($e):b($e,O,be,pe),Je)return l;const Re=this._findGlyphBoundingBox($e,this._workBoundingBox,U,ne,ke,ge);let oe,Se;for(;;){if(this._activePages.length===0){const ue=this._createNewPage();oe=ue,Se=ue.currentRow,Se.height=Re.size.y;break}oe=this._activePages[this._activePages.length-1],Se=oe.currentRow;for(const ue of this._activePages)Re.size.y<=ue.currentRow.height&&(oe=ue,Se=ue.currentRow);for(let ue=this._activePages.length-1;ue>=0;ue--)for(const me of this._activePages[ue].fixedRows)me.height<=Se.height&&Re.size.y<=me.height&&(oe=this._activePages[ue],Se=me);if(Se.y+Re.size.y>=oe.canvas.height||Se.height>Re.size.y+2){let ue=!1;if(oe.currentRow.y+oe.currentRow.height+Re.size.y>=oe.canvas.height){let me;for(const Ie of this._activePages)if(Ie.currentRow.y+Ie.currentRow.height+Re.size.y<Ie.canvas.height){me=Ie;break}if(me)oe=me;else if(w.maxAtlasPages&&this._pages.length>=w.maxAtlasPages&&Se.y+Re.size.y<=oe.canvas.height&&Se.height>=Re.size.y&&Se.x+Re.size.x<=oe.canvas.width)ue=!0;else{const Ie=this._createNewPage();oe=Ie,Se=Ie.currentRow,Se.height=Re.size.y,ue=!0}}ue||(oe.currentRow.height>0&&oe.fixedRows.push(oe.currentRow),Se={x:0,y:oe.currentRow.y+oe.currentRow.height,height:Re.size.y},oe.fixedRows.push(Se),oe.currentRow={x:0,y:Se.y+Se.height,height:0})}if(Se.x+Re.size.x<=oe.canvas.width)break;Se===oe.currentRow?(Se.x=0,Se.y+=Se.height,Se.height=0):oe.fixedRows.splice(oe.fixedRows.indexOf(Se),1)}return Re.texturePage=this._pages.indexOf(oe),Re.texturePosition.x=Se.x,Re.texturePosition.y=Se.y,Re.texturePositionClipSpace.x=Se.x/oe.canvas.width,Re.texturePositionClipSpace.y=Se.y/oe.canvas.height,Re.sizeClipSpace.x/=oe.canvas.width,Re.sizeClipSpace.y/=oe.canvas.height,Se.height=Math.max(Se.height,Re.size.y),Se.x+=Re.size.x,oe.ctx.putImageData($e,Re.texturePosition.x-this._workBoundingBox.left,Re.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,Re.size.x,Re.size.y),oe.addGlyph(Re),oe.version++,Re}_findGlyphBoundingBox(E,R,I,T,A,P){R.top=0;const U=T?this._config.deviceCellHeight:this._tmpCanvas.height,$=T?this._config.deviceCellWidth:I;let G=!1;for(let j=0;j<U;j++){for(let C=0;C<$;C++){const M=j*this._tmpCanvas.width*4+4*C+3;if(E.data[M]!==0){R.top=j,G=!0;break}}if(G)break}R.left=0,G=!1;for(let j=0;j<P+$;j++){for(let C=0;C<U;C++){const M=C*this._tmpCanvas.width*4+4*j+3;if(E.data[M]!==0){R.left=j,G=!0;break}}if(G)break}R.right=$,G=!1;for(let j=P+$-1;j>=P;j--){for(let C=0;C<U;C++){const M=C*this._tmpCanvas.width*4+4*j+3;if(E.data[M]!==0){R.right=j,G=!0;break}}if(G)break}R.bottom=U,G=!1;for(let j=U-1;j>=0;j--){for(let C=0;C<$;C++){const M=j*this._tmpCanvas.width*4+4*C+3;if(E.data[M]!==0){R.bottom=j,G=!0;break}}if(G)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:R.right-R.left+1,y:R.bottom-R.top+1},sizeClipSpace:{x:R.right-R.left+1,y:R.bottom-R.top+1},offset:{x:-R.left+P+(T||A?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-R.top+P+(T||A?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}}r.TextureAtlas=w;class k{get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(E){this._glyphs.push(E),this._usedPixels+=E.size.x*E.size.y}constructor(E,R,I){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],I)for(const T of I)this._glyphs.push(...T.glyphs),this._usedPixels+=T._usedPixels;this.canvas=L(E,R,R),this.ctx=(0,h.throwIfFalsy)(this.canvas.getContext("2d",{alpha:!0}))}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}}function b(x,E,R,I){const T=E.rgba>>>24,A=E.rgba>>>16&255,P=E.rgba>>>8&255,U=R.rgba>>>24,$=R.rgba>>>16&255,G=R.rgba>>>8&255,j=Math.floor((Math.abs(T-U)+Math.abs(A-$)+Math.abs(P-G))/12);let C=!0;for(let M=0;M<x.data.length;M+=4)x.data[M]===T&&x.data[M+1]===A&&x.data[M+2]===P||I&&Math.abs(x.data[M]-T)+Math.abs(x.data[M+1]-A)+Math.abs(x.data[M+2]-P)<j?x.data[M+3]=0:C=!1;return C}function L(x,E,R){const I=x.createElement("canvas");return I.width=E,I.height=R,I}},160:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let o=0,f=0,v=0,h=0;var p,y,S,g,a;function u(d){const w=d.toString(16);return w.length<2?"0"+w:w}function l(d,w){return d<w?(w+.05)/(d+.05):(d+.05)/(w+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(w,k,b,L){return L!==void 0?`#${u(w)}${u(k)}${u(b)}${u(L)}`:`#${u(w)}${u(k)}${u(b)}`},d.toRgba=function(w,k,b,L=255){return(w<<24|k<<16|b<<8|L)>>>0},d.toColor=function(w,k,b,L){return{css:d.toCss(w,k,b,L),rgba:d.toRgba(w,k,b,L)}}}(p||(r.channels=p={})),function(d){function w(k,b){return h=Math.round(255*b),[o,f,v]=a.toChannels(k.rgba),{css:p.toCss(o,f,v,h),rgba:p.toRgba(o,f,v,h)}}d.blend=function(k,b){if(h=(255&b.rgba)/255,h===1)return{css:b.css,rgba:b.rgba};const L=b.rgba>>24&255,x=b.rgba>>16&255,E=b.rgba>>8&255,R=k.rgba>>24&255,I=k.rgba>>16&255,T=k.rgba>>8&255;return o=R+Math.round((L-R)*h),f=I+Math.round((x-I)*h),v=T+Math.round((E-T)*h),{css:p.toCss(o,f,v),rgba:p.toRgba(o,f,v)}},d.isOpaque=function(k){return(255&k.rgba)==255},d.ensureContrastRatio=function(k,b,L){const x=a.ensureContrastRatio(k.rgba,b.rgba,L);if(x)return p.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(k){const b=(255|k.rgba)>>>0;return[o,f,v]=a.toChannels(b),{css:p.toCss(o,f,v),rgba:b}},d.opacity=w,d.multiplyOpacity=function(k,b){return h=255&k.rgba,w(k,h*b/255)},d.toColorRGB=function(k){return[k.rgba>>24&255,k.rgba>>16&255,k.rgba>>8&255]}}(y||(r.color=y={})),function(d){let w,k;try{const b=document.createElement("canvas");b.width=1,b.height=1;const L=b.getContext("2d",{willReadFrequently:!0});L&&(w=L,w.globalCompositeOperation="copy",k=w.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),p.toColor(o,f,v);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),h=parseInt(b.slice(4,5).repeat(2),16),p.toColor(o,f,v,h);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const L=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(L)return o=parseInt(L[1]),f=parseInt(L[2]),v=parseInt(L[3]),h=Math.round(255*(L[5]===void 0?1:parseFloat(L[5]))),p.toColor(o,f,v,h);if(!w||!k)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=k,w.fillStyle=b,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[o,f,v,h]=w.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(o,f,v,h),css:b}}}(S||(r.css=S={})),function(d){function w(k,b,L){const x=k/255,E=b/255,R=L/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(R<=.03928?R/12.92:Math.pow((R+.055)/1.055,2.4))}d.relativeLuminance=function(k){return w(k>>16&255,k>>8&255,255&k)},d.relativeLuminance2=w}(g||(r.rgb=g={})),function(d){function w(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,P=L>>8&255,U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));for(;U<x&&(T>0||A>0||P>0);)T-=Math.max(0,Math.ceil(.1*T)),A-=Math.max(0,Math.ceil(.1*A)),P-=Math.max(0,Math.ceil(.1*P)),U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|P<<8|255)>>>0}function k(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,P=L>>8&255,U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));for(;U<x&&(T<255||A<255||P<255);)T=Math.min(255,T+Math.ceil(.1*(255-T))),A=Math.min(255,A+Math.ceil(.1*(255-A))),P=Math.min(255,P+Math.ceil(.1*(255-P))),U=l(g.relativeLuminance2(T,A,P),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|P<<8|255)>>>0}d.blend=function(b,L){if(h=(255&L)/255,h===1)return L;const x=L>>24&255,E=L>>16&255,R=L>>8&255,I=b>>24&255,T=b>>16&255,A=b>>8&255;return o=I+Math.round((x-I)*h),f=T+Math.round((E-T)*h),v=A+Math.round((R-A)*h),p.toRgba(o,f,v)},d.ensureContrastRatio=function(b,L,x){const E=g.relativeLuminance(b>>8),R=g.relativeLuminance(L>>8);if(l(E,R)<x){if(R<E){const A=w(b,L,x),P=l(E,g.relativeLuminance(A>>8));if(P<x){const U=k(b,L,x);return P>l(E,g.relativeLuminance(U>>8))?A:U}return A}const I=k(b,L,x),T=l(E,g.relativeLuminance(I>>8));if(T<x){const A=w(b,L,x);return T>l(E,g.relativeLuminance(A>>8))?I:A}return I}},d.reduceLuminance=w,d.increaseLuminance=k,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(r.rgba=a={})),r.toPaddedHex=u,r.contrastRatio=l},345:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const v=[];for(let h=0;h<this._listeners.length;h++)v.push(this._listeners[h]);for(let h=0;h<v.length;h++)v[h].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(o,f){return o(v=>f.fire(v))},r.runAndSubscribe=function(o,f){return f(void 0),o(v=>f(v))}},859:(m,r)=>{function o(f){for(const v of f)v.dispose();f.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const v=this._disposables.indexOf(f);v!==-1&&this._disposables.splice(v,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var v;this._isDisposed||f===this._value||((v=this._value)==null||v.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},r.toDisposable=function(f){return{dispose:f}},r.disposeArray=o,r.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},485:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(v,h,p){this._data[v]||(this._data[v]={}),this._data[v][h]=p}get(v,h){return this._data[v]?this._data[v][h]:void 0}clear(){this._data={}}}r.TwoKeyMap=o,r.FourKeyMap=class{constructor(){this._data=new o}set(f,v,h,p,y){this._data.get(f,v)||this._data.set(f,v,new o),this._data.get(f,v).set(h,p,y)}get(f,v,h,p){var y;return(y=this._data.get(f,v))==null?void 0:y.get(h,p)}clear(){this._data.clear()}}},399:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;const o=r.isNode?"node":navigator.userAgent,f=r.isNode?"node":navigator.platform;r.isFirefox=o.includes("Firefox"),r.isLegacyEdge=o.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(o),r.getSafariVersion=function(){if(!r.isSafari)return 0;const v=o.match(/Version\/(\d+)/);return v===null||v.length<2?0:parseInt(v[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),r.isIpad=f==="iPad",r.isIphone=f==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),r.isLinux=f.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(o)},385:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;const f=o(399);class v{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let S=0,g=0,a=y.timeRemaining(),u=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),g=Math.max(S,g),u=y.timeRemaining(),1.5*g>u)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=u}this.clear()}}class h extends v{_requestCallback(y){return setTimeout(()=>y(this._createDeadline(16)))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const S=Date.now()+y;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}r.PriorityTaskQueue=h,r.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends v{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:h,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},147:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new o;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,p=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=p}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=f},782:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;const f=o(133),v=o(855),h=o(147);class p extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const g=new p;return g.setFromCharData(S),g}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[v.CHAR_DATA_ATTR_INDEX],this.bg=0;let g=!1;if(S[v.CHAR_DATA_CHAR_INDEX].length>2)g=!0;else if(S[v.CHAR_DATA_CHAR_INDEX].length===2){const a=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const u=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=u&&u<=57343?this.content=1024*(a-55296)+u-56320+65536|S[v.CHAR_DATA_WIDTH_INDEX]<<22:g=!0}else g=!0}else this.content=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[v.CHAR_DATA_WIDTH_INDEX]<<22;g&&(this.combinedData=S[v.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[v.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=p},855:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},133:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},r.utf32ToString=function(o,f=0,v=o.length){let h="";for(let p=f;p<v;++p){let y=o[p];y>65535?(y-=65536,h+=String.fromCharCode(55296+(y>>10))+String.fromCharCode(y%1024+56320)):h+=String.fromCharCode(y)}return h},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,f){const v=o.length;if(!v)return 0;let h=0,p=0;if(this._interim){const y=o.charCodeAt(p++);56320<=y&&y<=57343?f[h++]=1024*(this._interim-55296)+y-56320+65536:(f[h++]=this._interim,f[h++]=y),this._interim=0}for(let y=p;y<v;++y){const S=o.charCodeAt(y);if(55296<=S&&S<=56319){if(++y>=v)return this._interim=S,h;const g=o.charCodeAt(y);56320<=g&&g<=57343?f[h++]=1024*(S-55296)+g-56320+65536:(f[h++]=S,f[h++]=g)}else S!==65279&&(f[h++]=S)}return h}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,f){const v=o.length;if(!v)return 0;let h,p,y,S,g=0,a=0,u=0;if(this.interim[0]){let w=!1,k=this.interim[0];k&=(224&k)==192?31:(240&k)==224?15:7;let b,L=0;for(;(b=63&this.interim[++L])&&L<4;)k<<=6,k|=b;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,E=x-L;for(;u<E;){if(u>=v)return 0;if(b=o[u++],(192&b)!=128){u--,w=!0;break}this.interim[L++]=b,k<<=6,k|=63&b}w||(x===2?k<128?u--:f[g++]=k:x===3?k<2048||k>=55296&&k<=57343||k===65279||(f[g++]=k):k<65536||k>1114111||(f[g++]=k)),this.interim.fill(0)}const l=v-4;let d=u;for(;d<v;){for(;!(!(d<l)||128&(h=o[d])||128&(p=o[d+1])||128&(y=o[d+2])||128&(S=o[d+3]));)f[g++]=h,f[g++]=p,f[g++]=y,f[g++]=S,d+=4;if(h=o[d++],h<128)f[g++]=h;else if((224&h)==192){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(a=(31&h)<<6|63&p,a<128){d--;continue}f[g++]=a}else if((240&h)==224){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(a=(15&h)<<12|(63&p)<<6|63&y,a<2048||a>=55296&&a<=57343||a===65279)continue;f[g++]=a}else if((248&h)==240){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,this.interim[2]=y,g;if(S=o[d++],(192&S)!=128){d--;continue}if(a=(7&h)<<18|(63&p)<<12|(63&y)<<6|63&S,a<65536||a>1114111)continue;f[g++]=a}}return g}}},776:function(m,r,o){var f=this&&this.__decorate||function(a,u,l,d){var w,k=arguments.length,b=k<3?u:d===null?d=Object.getOwnPropertyDescriptor(u,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,u,l,d);else for(var L=a.length-1;L>=0;L--)(w=a[L])&&(b=(k<3?w(b):k>3?w(u,l,b):w(u,l))||b);return k>3&&b&&Object.defineProperty(u,l,b),b},v=this&&this.__param||function(a,u){return function(l,d){u(l,d,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;const h=o(859),p=o(97),y={trace:p.LogLevelEnum.TRACE,debug:p.LogLevelEnum.DEBUG,info:p.LogLevelEnum.INFO,warn:p.LogLevelEnum.WARN,error:p.LogLevelEnum.ERROR,off:p.LogLevelEnum.OFF};let S,g=r.LogService=class extends h.Disposable{get logLevel(){return this._logLevel}constructor(a){super(),this._optionsService=a,this._logLevel=p.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=y[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let u=0;u<a.length;u++)typeof a[u]=="function"&&(a[u]=a[u]())}_log(a,u,l){this._evalLazyOptionalParams(l),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+u,...l)}trace(a,...u){var l;this._logLevel<=p.LogLevelEnum.TRACE&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.trace.bind(this._optionsService.options.logger))??console.log,a,u)}debug(a,...u){var l;this._logLevel<=p.LogLevelEnum.DEBUG&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.debug.bind(this._optionsService.options.logger))??console.log,a,u)}info(a,...u){var l;this._logLevel<=p.LogLevelEnum.INFO&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.info.bind(this._optionsService.options.logger))??console.info,a,u)}warn(a,...u){var l;this._logLevel<=p.LogLevelEnum.WARN&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.warn.bind(this._optionsService.options.logger))??console.warn,a,u)}error(a,...u){var l;this._logLevel<=p.LogLevelEnum.ERROR&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.error.bind(this._optionsService.options.logger))??console.error,a,u)}};r.LogService=g=f([v(0,p.IOptionsService)],g),r.setTraceLogger=function(a){S=a},r.traceCall=function(a,u,l){if(typeof l.value!="function")throw new Error("not supported");const d=l.value;l.value=function(...w){if(S.logLevel!==p.LogLevelEnum.TRACE)return d.apply(this,w);S.trace(`GlyphRenderer#${d.name}(${w.map(b=>JSON.stringify(b)).join(", ")})`);const k=d.apply(this,w);return S.trace(`GlyphRenderer#${d.name} return`,k),k}}},726:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;const o="di$target",f="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(v){return v[f]||[]},r.createDecorator=function(v){if(r.serviceRegistry.has(v))return r.serviceRegistry.get(v);const h=function(p,y,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(g,a,u){a[o]===a?a[f].push({id:g,index:u}):(a[f]=[{id:g,index:u}],a[o]=a)})(h,p,S)};return h.toString=()=>v,r.serviceRegistry.set(v,h),h}},97:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;const f=o(726);var v;r.IBufferService=(0,f.createDecorator)("BufferService"),r.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),r.ICoreService=(0,f.createDecorator)("CoreService"),r.ICharsetService=(0,f.createDecorator)("CharsetService"),r.IInstantiationService=(0,f.createDecorator)("InstantiationService"),function(h){h[h.TRACE=0]="TRACE",h[h.DEBUG=1]="DEBUG",h[h.INFO=2]="INFO",h[h.WARN=3]="WARN",h[h.ERROR=4]="ERROR",h[h.OFF=5]="OFF"}(v||(r.LogLevelEnum=v={})),r.ILogService=(0,f.createDecorator)("LogService"),r.IOptionsService=(0,f.createDecorator)("OptionsService"),r.IOscLinkService=(0,f.createDecorator)("OscLinkService"),r.IUnicodeService=(0,f.createDecorator)("UnicodeService"),r.IDecorationService=(0,f.createDecorator)("DecorationService")}},s={};function n(m){var r=s[m];if(r!==void 0)return r.exports;var o=s[m]={exports:{}};return i[m].call(o.exports,o,o.exports,n),o.exports}var c={};return(()=>{var m=c;Object.defineProperty(m,"__esModule",{value:!0}),m.WebglAddon=void 0;const r=n(345),o=n(859),f=n(399),v=n(666),h=n(776);class p extends o.Disposable{constructor(S){if(f.isSafari&&(0,f.getSafariVersion)()<16){const g={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",g))throw new Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=S,this._onChangeTextureAtlas=this.register(new r.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new r.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new r.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this.register(new r.EventEmitter),this.onContextLoss=this._onContextLoss.event}activate(S){const g=S._core;if(!S.element)return void this.register(g.onWillOpen(()=>this.activate(S)));this._terminal=S;const a=g.coreService,u=g.optionsService,l=g,d=l._renderService,w=l._characterJoinerService,k=l._charSizeService,b=l._coreBrowserService,L=l._decorationService,x=l._logService,E=l._themeService;(0,h.setTraceLogger)(x),this._renderer=this.register(new v.WebglRenderer(S,w,k,b,a,L,u,E,this._preserveDrawingBuffer)),this.register((0,r.forwardEvent)(this._renderer.onContextLoss,this._onContextLoss)),this.register((0,r.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,r.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this.register((0,r.forwardEvent)(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),d.setRenderer(this._renderer),this.register((0,o.toDisposable)(()=>{const R=this._terminal._core._renderService;R.setRenderer(this._terminal._core._createRenderer()),R.handleResize(S.cols,S.rows)}))}get textureAtlas(){var S;return(S=this._renderer)==null?void 0:S.textureAtlas}clearTextureAtlas(){var S;(S=this._renderer)==null||S.clearTextureAtlas()}}m.WebglAddon=p})(),c})())})(d_);var M1=d_.exports;function N1(e,t){let i=0,s=e;for(;Math.abs(s)>=t;)s>0?(i+=1,s-=t):(i-=1,s+=t);return{notches:i,rem:s}}const I1=e=>e>0?"up":"down";function O1(e){return e.replace(/\r?\n/g,`\r
108
- `)}function P1(e,t){let i=t,s=!1,n=!1,c=!1;const m=v=>{/\S/.test(v)&&(s=!0,i&&(n=!0)),i&&v.length&&(c=!0)},r=/\x1b\[([0-9;]*)m/g;let o=0,f=r.exec(e);for(;f;){m(e.slice(o,f.index)),o=r.lastIndex;const v=f[1]===""?[0]:f[1].split(";").map(Number);for(let h=0;h<v.length;h+=1){const p=v[h];if(p===0||p===49)i=!1;else if(p>=40&&p<=47||p>=100&&p<=107)i=!0;else if(p===38||p===48){const y=p===48;v[h+1]===5?(h+=2,y&&(i=!0)):v[h+1]===2&&(h+=4,y&&(i=!0))}}f=r.exec(e)}return m(e.slice(o)),{bgEnd:i,hasText:s,hasShadeText:n,hasShadeBlank:c}}function B1(e){const t=[];let i=!1,s=[],n=-1,c=!1;const m=()=>{n>=0&&c&&(t[n]+="\x1B[49m"),n=-1,c=!1},r=()=>{if(s.length){t.push("\x1B[0m");for(let o=1;o<s.length;o+=1)t.push("");s=[]}};for(const o of e){const f=P1(o,i);f.hasShadeText?(t.push(...s),s=[],t.push(o),n=t.length-1,c=f.bgEnd):!f.hasText&&(i||f.bgEnd||f.hasShadeBlank)?s.push(o):(m(),r(),t.push(o)),i=f.bgEnd}return m(),r(),t}function j1(e){const t=O1(e.replace(/\n$/,""));return B1(t.split(`\r
107
+ }`)),this.register((0,v.toDisposable)(()=>T.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(T.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=T.createVertexArray(),T.bindVertexArray(this._vertexArrayObject);const A=new Float32Array([0,0,1,0,0,1,1,1]),O=T.createBuffer();this.register((0,v.toDisposable)(()=>T.deleteBuffer(O))),T.bindBuffer(T.ARRAY_BUFFER,O),T.bufferData(T.ARRAY_BUFFER,A,T.STATIC_DRAW),T.enableVertexAttribArray(3),T.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);const U=new Uint8Array([0,1,2,3]),$=T.createBuffer();this.register((0,v.toDisposable)(()=>T.deleteBuffer($))),T.bindBuffer(T.ELEMENT_ARRAY_BUFFER,$),T.bufferData(T.ELEMENT_ARRAY_BUFFER,U,T.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(T.createBuffer()),this.register((0,v.toDisposable)(()=>T.deleteBuffer(this._attributesBuffer))),T.bindBuffer(T.ARRAY_BUFFER,this._attributesBuffer),T.enableVertexAttribArray(0),T.vertexAttribPointer(0,2,T.FLOAT,!1,y,0),T.vertexAttribDivisor(0,1),T.enableVertexAttribArray(1),T.vertexAttribPointer(1,2,T.FLOAT,!1,y,2*Float32Array.BYTES_PER_ELEMENT),T.vertexAttribDivisor(1,1),T.enableVertexAttribArray(2),T.vertexAttribPointer(2,4,T.FLOAT,!1,y,4*Float32Array.BYTES_PER_ELEMENT),T.vertexAttribDivisor(2,1),this._updateCachedColors(I.colors),this.register(this._themeService.onChangeColors(G=>{this._updateCachedColors(G),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(x){const E=this._gl;E.useProgram(this._program),E.bindVertexArray(this._vertexArrayObject),E.uniformMatrix4fv(this._projectionLocation,!1,p.PROJECTION_MATRIX),E.bindBuffer(E.ARRAY_BUFFER,this._attributesBuffer),E.bufferData(E.ARRAY_BUFFER,x.attributes,E.DYNAMIC_DRAW),E.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,E.UNSIGNED_BYTE,0,x.count)}handleResize(){this._updateViewportRectangle()}setDimensions(x){this._dimensions=x}_updateCachedColors(x){this._bgFloat=this._colorToFloat32Array(x.background),this._cursorFloat=this._colorToFloat32Array(x.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(x){const E=this._terminal,R=this._vertices;let I,T,A,O,U,$,G,j,C,M,B,H=1;for(I=0;I<E.rows;I++){for(A=-1,O=0,U=0,$=!1,T=0;T<E.cols;T++)G=(I*E.cols+T)*h.RENDER_MODEL_INDICIES_PER_CELL,j=x.cells[G+h.RENDER_MODEL_BG_OFFSET],C=x.cells[G+h.RENDER_MODEL_FG_OFFSET],M=!!(67108864&C),(j!==O||C!==U&&($||M))&&((O!==0||$&&U!==0)&&(B=8*H++,this._updateRectangle(R,B,U,O,A,T,I)),A=T,O=j,U=C,$=M);(O!==0||$&&U!==0)&&(B=8*H++,this._updateRectangle(R,B,U,O,A,E.cols,I))}R.count=H}updateCursor(x){const E=this._verticesCursor,R=x.cursor;if(!R||R.style==="block")return void(E.count=0);let I,T=0;R.style!=="bar"&&R.style!=="outline"||(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,R.y*this._dimensions.device.cell.height,R.style==="bar"?R.dpr*R.cursorWidth:R.dpr,this._dimensions.device.cell.height,this._cursorFloat)),R.style!=="underline"&&R.style!=="outline"||(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,(R.y+1)*this._dimensions.device.cell.height-R.dpr,R.width*this._dimensions.device.cell.width,R.dpr,this._cursorFloat)),R.style==="outline"&&(I=8*T++,this._addRectangleFloat(E.attributes,I,R.x*this._dimensions.device.cell.width,R.y*this._dimensions.device.cell.height,R.width*this._dimensions.device.cell.width,R.dpr,this._cursorFloat),I=8*T++,this._addRectangleFloat(E.attributes,I,(R.x+R.width)*this._dimensions.device.cell.width-R.dpr,R.y*this._dimensions.device.cell.height,R.dpr,this._dimensions.device.cell.height,this._cursorFloat)),E.count=T}_updateRectangle(x,E,R,I,T,A,O){if(67108864&R)switch(50331648&R){case 16777216:case 33554432:g=this._themeService.colors.ansi[255&R].rgba;break;case 50331648:g=(16777215&R)<<8;break;default:g=this._themeService.colors.foreground.rgba}else switch(50331648&I){case 16777216:case 33554432:g=this._themeService.colors.ansi[255&I].rgba;break;case 50331648:g=(16777215&I)<<8;break;default:g=this._themeService.colors.background.rgba}x.attributes.length<E+4&&(x.attributes=(0,p.expandFloat32Array)(x.attributes,this._terminal.rows*this._terminal.cols*8)),a=T*this._dimensions.device.cell.width,u=O*this._dimensions.device.cell.height,l=(g>>24&255)/255,d=(g>>16&255)/255,w=(g>>8&255)/255,k=1,this._addRectangle(x.attributes,E,a,u,(A-T)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,l,d,w,k)}_addRectangle(x,E,R,I,T,A,O,U,$,G){x[E]=R/this._dimensions.device.canvas.width,x[E+1]=I/this._dimensions.device.canvas.height,x[E+2]=T/this._dimensions.device.canvas.width,x[E+3]=A/this._dimensions.device.canvas.height,x[E+4]=O,x[E+5]=U,x[E+6]=$,x[E+7]=G}_addRectangleFloat(x,E,R,I,T,A,O){x[E]=R/this._dimensions.device.canvas.width,x[E+1]=I/this._dimensions.device.canvas.height,x[E+2]=T/this._dimensions.device.canvas.width,x[E+3]=A/this._dimensions.device.canvas.height,x[E+4]=O[0],x[E+5]=O[1],x[E+6]=O[2],x[E+7]=O[3]}_colorToFloat32Array(x){return new Float32Array([(x.rgba>>24&255)/255,(x.rgba>>16&255)/255,(x.rgba>>8&255)/255,(255&x.rgba)/255])}}r.RectangleRenderer=b},310:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderModel=r.COMBINED_CHAR_BIT_MASK=r.RENDER_MODEL_EXT_OFFSET=r.RENDER_MODEL_FG_OFFSET=r.RENDER_MODEL_BG_OFFSET=r.RENDER_MODEL_INDICIES_PER_CELL=void 0;const f=o(296);r.RENDER_MODEL_INDICIES_PER_CELL=4,r.RENDER_MODEL_BG_OFFSET=1,r.RENDER_MODEL_FG_OFFSET=2,r.RENDER_MODEL_EXT_OFFSET=3,r.COMBINED_CHAR_BIT_MASK=2147483648,r.RenderModel=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=(0,f.createSelectionRenderModel)()}resize(v,h){const p=v*h*r.RENDER_MODEL_INDICIES_PER_CELL;p!==this.cells.length&&(this.cells=new Uint32Array(p),this.lineLengths=new Uint32Array(h))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}}},666:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.JoinedCellData=r.WebglRenderer=void 0;const f=o(820),v=o(274),h=o(627),p=o(457),y=o(56),S=o(374),g=o(345),a=o(859),u=o(147),l=o(782),d=o(855),w=o(965),k=o(742),b=o(310),L=o(733);class x extends a.Disposable{constructor(T,A,O,U,$,G,j,C,M){super(),this._terminal=T,this._characterJoinerService=A,this._charSizeService=O,this._coreBrowserService=U,this._coreService=$,this._decorationService=G,this._optionsService=j,this._themeService=C,this._cursorBlinkStateManager=new a.MutableDisposable,this._charAtlasDisposable=this.register(new a.MutableDisposable),this._observerDisposable=this.register(new a.MutableDisposable),this._model=new b.RenderModel,this._workCell=new l.CellData,this._workCell2=new l.CellData,this._rectangleRenderer=this.register(new a.MutableDisposable),this._glyphRenderer=this.register(new a.MutableDisposable),this._onChangeTextureAtlas=this.register(new g.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new g.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new g.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this.register(new g.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this.register(new g.EventEmitter),this.onContextLoss=this._onContextLoss.event,this.register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new v.CellColorResolver(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new L.LinkRenderLayer(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,j,this._themeService)],this.dimensions=(0,S.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this.register(j.onOptionChange(()=>this._handleOptionsChanged())),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");const B={antialias:!1,depth:!1,preserveDrawingBuffer:M};if(this._gl=this._canvas.getContext("webgl2",B),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextlost",H=>{console.log("webglcontextlost event received"),H.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(H)},3e3)})),this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextrestored",H=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,(0,h.removeTerminalFromCache)(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=(0,y.observeDevicePixelDimensions)(this._canvas,this._coreBrowserService.window,(H,Y)=>this._setCanvasDevicePixelDimensions(H,Y)),this.register(this._coreBrowserService.onWindowChange(H=>{this._observerDisposable.value=(0,y.observeDevicePixelDimensions)(this._canvas,H,(Y,V)=>this._setCanvasDevicePixelDimensions(Y,V))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._coreBrowserService.window.document.body.contains(this._core.screenElement),this.register((0,a.toDisposable)(()=>{var H;for(const Y of this._renderLayers)Y.dispose();(H=this._canvas.parentElement)==null||H.removeChild(this._canvas),(0,h.removeTerminalFromCache)(this._terminal)}))}get textureAtlas(){var T;return(T=this._charAtlas)==null?void 0:T.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(T,A){var O,U,$,G;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(const j of this._renderLayers)j.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,(O=this._rectangleRenderer.value)==null||O.setDimensions(this.dimensions),(U=this._rectangleRenderer.value)==null||U.handleResize(),($=this._glyphRenderer.value)==null||$.setDimensions(this.dimensions),(G=this._glyphRenderer.value)==null||G.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){var T;for(const A of this._renderLayers)A.handleBlur(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.pause(),this._requestRedrawViewport()}handleFocus(){var T;for(const A of this._renderLayers)A.handleFocus(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.resume(),this._requestRedrawViewport()}handleSelectionChanged(T,A,O){for(const U of this._renderLayers)U.handleSelectionChanged(this._terminal,T,A,O);this._model.selection.update(this._core,T,A,O),this._requestRedrawViewport()}handleCursorMove(){var T;for(const A of this._renderLayers)A.handleCursorMove(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new k.RectangleRenderer(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new w.GlyphRenderer(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){var A;if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0)return void(this._isAttached=!1);const T=(0,h.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr);this._charAtlas!==T&&(this._onChangeTextureAtlas.fire(T.pages[0].canvas),this._charAtlasDisposable.value=(0,a.getDisposeArrayDisposable)([(0,g.forwardEvent)(T.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),(0,g.forwardEvent)(T.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)])),this._charAtlas=T,this._charAtlas.warmUp(),(A=this._glyphRenderer.value)==null||A.setAtlas(this._charAtlas)}_clearModel(T){var A;this._model.clear(),T&&((A=this._glyphRenderer.value)==null||A.clear())}clearTextureAtlas(){var T;(T=this._charAtlas)==null||T.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){var T;this._clearModel(!0);for(const A of this._renderLayers)A.reset(this._terminal);(T=this._cursorBlinkStateManager.value)==null||T.restartBlinkAnimation(),this._updateCursorBlink()}registerCharacterJoiner(T){return-1}deregisterCharacterJoiner(T){return!1}renderRows(T,A){if(!this._isAttached){if(!(this._coreBrowserService.window.document.body.contains(this._core.screenElement)&&this._charSizeService.width&&this._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}for(const O of this._renderLayers)O.handleGridChanged(this._terminal,T,A);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(T,A),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),this._cursorBlinkStateManager.value&&!this._cursorBlinkStateManager.value.isCursorVisible||this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new p.CursorBlinkStateManager(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(T,A){const O=this._core;let U,$,G,j,C,M,B,H,Y,V,te,Q,z,P,J=this._workCell;T=R(T,O.rows-1,0),A=R(A,O.rows-1,0);const K=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,re=K-O.buffer.ydisp,ne=Math.min(this._terminal.buffer.active.cursorX,O.cols-1);let be=-1;const ge=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let Ee=!1;for($=T;$<=A;$++)for(G=$+O.buffer.ydisp,j=O.buffer.lines.get(G),this._model.lineLengths[$]=0,C=this._characterJoinerService.getJoinedCharacters(G),z=0;z<O.cols;z++)if(U=this._cellColorResolver.result.bg,j.loadCell(z,J),z===0&&(U=this._cellColorResolver.result.bg),M=!1,B=z,C.length>0&&z===C[0][0]&&(M=!0,H=C.shift(),J=new E(J,j.translateToString(!0,H[0],H[1]),H[1]-H[0]),B=H[1]-1),Y=J.getChars(),V=J.getCode(),Q=($*O.cols+z)*b.RENDER_MODEL_INDICIES_PER_CELL,this._cellColorResolver.resolve(J,z,G,this.dimensions.device.cell.width),ge&&G===K&&(z===ne&&(this._model.cursor={x:ne,y:re,width:J.getWidth(),style:this._coreBrowserService.isFocused?O.options.cursorStyle||"block":O.options.cursorInactiveStyle,cursorWidth:O.options.cursorWidth,dpr:this._devicePixelRatio},be=ne+J.getWidth()-1),z>=ne&&z<=be&&(this._coreBrowserService.isFocused&&(O.options.cursorStyle||"block")==="block"||this._coreBrowserService.isFocused===!1&&O.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),V!==d.NULL_CELL_CODE&&(this._model.lineLengths[$]=z+1),(this._model.cells[Q]!==V||this._model.cells[Q+b.RENDER_MODEL_BG_OFFSET]!==this._cellColorResolver.result.bg||this._model.cells[Q+b.RENDER_MODEL_FG_OFFSET]!==this._cellColorResolver.result.fg||this._model.cells[Q+b.RENDER_MODEL_EXT_OFFSET]!==this._cellColorResolver.result.ext)&&(Ee=!0,Y.length>1&&(V|=b.COMBINED_CHAR_BIT_MASK),this._model.cells[Q]=V,this._model.cells[Q+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[Q+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[Q+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext,te=J.getWidth(),this._glyphRenderer.value.updateCell(z,$,V,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,Y,te,U),M))for(J=this._workCell,z++;z<B;z++)P=($*O.cols+z)*b.RENDER_MODEL_INDICIES_PER_CELL,this._glyphRenderer.value.updateCell(z,$,d.NULL_CELL_CODE,0,0,0,d.NULL_CELL_CHAR,0,0),this._model.cells[P]=d.NULL_CELL_CODE,this._model.cells[P+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[P+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[P+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext;Ee&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){this._charSizeService.width&&this._charSizeService.height&&(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(T,A){this._canvas.width===T&&this._canvas.height===A||(this._canvas.width=T,this._canvas.height=A,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){const T=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:T,end:T})}}r.WebglRenderer=x;class E extends u.AttributeData{constructor(T,A,O){super(),this.content=0,this.combinedData="",this.fg=T.fg,this.bg=T.bg,this.combinedData=A,this._width=O}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(T){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}function R(I,T,A=0){return Math.max(Math.min(I,T),A)}r.JoinedCellData=E},381:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.GLTexture=r.expandFloat32Array=r.createShader=r.createProgram=r.PROJECTION_MATRIX=void 0;const f=o(374);function v(h,p,y){const S=(0,f.throwIfFalsy)(h.createShader(p));if(h.shaderSource(S,y),h.compileShader(S),h.getShaderParameter(S,h.COMPILE_STATUS))return S;console.error(h.getShaderInfoLog(S)),h.deleteShader(S)}r.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),r.createProgram=function(h,p,y){const S=(0,f.throwIfFalsy)(h.createProgram());if(h.attachShader(S,(0,f.throwIfFalsy)(v(h,h.VERTEX_SHADER,p))),h.attachShader(S,(0,f.throwIfFalsy)(v(h,h.FRAGMENT_SHADER,y))),h.linkProgram(S),h.getProgramParameter(S,h.LINK_STATUS))return S;console.error(h.getProgramInfoLog(S)),h.deleteProgram(S)},r.createShader=v,r.expandFloat32Array=function(h,p){const y=Math.min(2*h.length,p),S=new Float32Array(y);for(let g=0;g<h.length;g++)S[g]=h[g];return S},r.GLTexture=class{constructor(h){this.texture=h,this.version=-1}}},592:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BaseRenderLayer=void 0;const f=o(627),v=o(237),h=o(374),p=o(859);class y extends p.Disposable{constructor(g,a,u,l,d,w,k,b){super(),this._container=a,this._alpha=d,this._coreBrowserService=w,this._optionsService=k,this._themeService=b,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${u}-layer`),this._canvas.style.zIndex=l.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this.register(this._themeService.onChangeColors(L=>{this._refreshCharAtlas(g,L),this.reset(g)})),this.register((0,p.toDisposable)(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=(0,h.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(g){}handleFocus(g){}handleCursorMove(g){}handleGridChanged(g,a,u){}handleSelectionChanged(g,a,u,l=!1){}_setTransparency(g,a){if(a===this._alpha)return;const u=this._canvas;this._alpha=a,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,u),this._refreshCharAtlas(g,this._themeService.colors),this.handleGridChanged(g,0,g.rows-1)}_refreshCharAtlas(g,a){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=(0,f.acquireTextureAtlas)(g,this._optionsService.rawOptions,a,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlas.warmUp())}resize(g,a){this._deviceCellWidth=a.device.cell.width,this._deviceCellHeight=a.device.cell.height,this._deviceCharWidth=a.device.char.width,this._deviceCharHeight=a.device.char.height,this._deviceCharLeft=a.device.char.left,this._deviceCharTop=a.device.char.top,this._canvas.width=a.device.canvas.width,this._canvas.height=a.device.canvas.height,this._canvas.style.width=`${a.css.canvas.width}px`,this._canvas.style.height=`${a.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(g,this._themeService.colors)}_fillBottomLineAtCells(g,a,u=1){this._ctx.fillRect(g*this._deviceCellWidth,(a+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,u*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(g,a,u,l){this._alpha?this._ctx.clearRect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,l*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,l*this._deviceCellHeight))}_fillCharTrueColor(g,a,u,l){this._ctx.font=this._getFont(g,!1,!1),this._ctx.textBaseline=v.TEXT_BASELINE,this._clipCell(u,l,a.getWidth()),this._ctx.fillText(a.getChars(),u*this._deviceCellWidth+this._deviceCharLeft,l*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(g,a,u){this._ctx.beginPath(),this._ctx.rect(g*this._deviceCellWidth,a*this._deviceCellHeight,u*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(g,a,u){return`${u?"italic":""} ${a?g.options.fontWeightBold:g.options.fontWeight} ${g.options.fontSize*this._coreBrowserService.dpr}px ${g.options.fontFamily}`}}r.BaseRenderLayer=y},733:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkRenderLayer=void 0;const f=o(197),v=o(237),h=o(592);class p extends h.BaseRenderLayer{constructor(S,g,a,u,l,d,w){super(a,S,"link",g,!0,l,d,w),this.register(u.onShowLinkUnderline(k=>this._handleShowLinkUnderline(k))),this.register(u.onHideLinkUnderline(k=>this._handleHideLinkUnderline(k)))}resize(S,g){super.resize(S,g),this._state=void 0}reset(S){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const S=this._state.y2-this._state.y1-1;S>0&&this._clearCells(0,this._state.y1+1,this._state.cols,S),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(S){if(S.fg===v.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:S.fg!==void 0&&(0,f.is256Color)(S.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[S.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,S.y1===S.y2)this._fillBottomLineAtCells(S.x1,S.y1,S.x2-S.x1);else{this._fillBottomLineAtCells(S.x1,S.y1,S.cols-S.x1);for(let g=S.y1+1;g<S.y2;g++)this._fillBottomLineAtCells(0,g,S.cols);this._fillBottomLineAtCells(0,S.y2,S.x2)}this._state=S}_handleHideLinkUnderline(S){this._clearCurrentLink()}}r.LinkRenderLayer=p},820:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(o,f,v,h){o.addEventListener(f,v,h);let p=!1;return{dispose:()=>{p||(p=!0,o.removeEventListener(f,v,h))}}}},274:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellColorResolver=void 0;const f=o(855),v=o(160),h=o(374);let p,y=0,S=0,g=!1,a=!1,u=!1,l=0;r.CellColorResolver=class{constructor(d,w,k,b,L,x){this._terminal=d,this._optionService=w,this._selectionRenderModel=k,this._decorationService=b,this._coreBrowserService=L,this._themeService=x,this.result={fg:0,bg:0,ext:0}}resolve(d,w,k,b){if(this.result.bg=d.bg,this.result.fg=d.fg,this.result.ext=268435456&d.bg?d.extended.ext:0,S=0,y=0,a=!1,g=!1,u=!1,p=this._themeService.colors,l=0,d.getCode()!==f.NULL_CELL_CODE&&d.extended.underlineStyle===4){const L=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));l=w*b%(2*Math.round(L))}if(this._decorationService.forEachDecorationAtCell(w,k,"bottom",L=>{L.backgroundColorRGB&&(S=L.backgroundColorRGB.rgba>>8&16777215,a=!0),L.foregroundColorRGB&&(y=L.foregroundColorRGB.rgba>>8&16777215,g=!0)}),u=this._selectionRenderModel.isCellSelected(this._terminal,w,k),u){if(67108864&this.result.fg||50331648&this.result.bg){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:S=(16777215&this.result.fg)<<8|255;break;default:S=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:S=(16777215&this.result.bg)<<8|255}S=v.rgba.blend(S,4294967040&(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else S=(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(a=!0,p.selectionForeground&&(y=p.selectionForeground.rgba>>8&16777215,g=!0),(0,h.treatGlyphAsBackgroundColor)(d.getCode())){if(67108864&this.result.fg&&!(50331648&this.result.bg))y=(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:y=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:y=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:y=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:y=(16777215&this.result.fg)<<8|255;break;default:y=this._themeService.colors.foreground.rgba}y=v.rgba.blend(y,4294967040&(this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}g=!0}}this._decorationService.forEachDecorationAtCell(w,k,"top",L=>{L.backgroundColorRGB&&(S=L.backgroundColorRGB.rgba>>8&16777215,a=!0),L.foregroundColorRGB&&(y=L.foregroundColorRGB.rgba>>8&16777215,g=!0)}),a&&(S=u?-16777216&d.bg&-134217729|S|50331648:-16777216&d.bg|S|50331648),g&&(y=-16777216&d.fg&-67108865|y|50331648),67108864&this.result.fg&&(a&&!g&&(y=50331648&this.result.bg?-134217728&this.result.fg|67108863&this.result.bg:-134217728&this.result.fg|16777215&p.background.rgba>>8|50331648,g=!0),!a&&g&&(S=50331648&this.result.fg?-67108864&this.result.bg|67108863&this.result.fg:-67108864&this.result.bg|16777215&p.foreground.rgba>>8|50331648,a=!0)),p=void 0,this.result.bg=a?S:this.result.bg,this.result.fg=g?y:this.result.fg,this.result.ext&=536870911,this.result.ext|=l<<29&3758096384}}},627:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.removeTerminalFromCache=r.acquireTextureAtlas=void 0;const f=o(509),v=o(197),h=[];r.acquireTextureAtlas=function(p,y,S,g,a,u,l,d){const w=(0,v.generateConfig)(g,a,u,l,y,S,d);for(let L=0;L<h.length;L++){const x=h[L],E=x.ownedBy.indexOf(p);if(E>=0){if((0,v.configEquals)(x.config,w))return x.atlas;x.ownedBy.length===1?(x.atlas.dispose(),h.splice(L,1)):x.ownedBy.splice(E,1);break}}for(let L=0;L<h.length;L++){const x=h[L];if((0,v.configEquals)(x.config,w))return x.ownedBy.push(p),x.atlas}const k=p._core,b={atlas:new f.TextureAtlas(document,w,k.unicodeService),config:w,ownedBy:[p]};return h.push(b),b.atlas},r.removeTerminalFromCache=function(p){for(let y=0;y<h.length;y++){const S=h[y].ownedBy.indexOf(p);if(S!==-1){h[y].ownedBy.length===1?(h[y].atlas.dispose(),h.splice(y,1)):h[y].ownedBy.splice(S,1);break}}}},197:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.is256Color=r.configEquals=r.generateConfig=void 0;const f=o(160);r.generateConfig=function(v,h,p,y,S,g,a){const u={foreground:g.foreground,background:g.background,cursor:f.NULL_COLOR,cursorAccent:f.NULL_COLOR,selectionForeground:f.NULL_COLOR,selectionBackgroundTransparent:f.NULL_COLOR,selectionBackgroundOpaque:f.NULL_COLOR,selectionInactiveBackgroundTransparent:f.NULL_COLOR,selectionInactiveBackgroundOpaque:f.NULL_COLOR,ansi:g.ansi.slice(),contrastCache:g.contrastCache,halfContrastCache:g.halfContrastCache};return{customGlyphs:S.customGlyphs,devicePixelRatio:a,letterSpacing:S.letterSpacing,lineHeight:S.lineHeight,deviceCellWidth:v,deviceCellHeight:h,deviceCharWidth:p,deviceCharHeight:y,fontFamily:S.fontFamily,fontSize:S.fontSize,fontWeight:S.fontWeight,fontWeightBold:S.fontWeightBold,allowTransparency:S.allowTransparency,drawBoldTextInBrightColors:S.drawBoldTextInBrightColors,minimumContrastRatio:S.minimumContrastRatio,colors:u}},r.configEquals=function(v,h){for(let p=0;p<v.colors.ansi.length;p++)if(v.colors.ansi[p].rgba!==h.colors.ansi[p].rgba)return!1;return v.devicePixelRatio===h.devicePixelRatio&&v.customGlyphs===h.customGlyphs&&v.lineHeight===h.lineHeight&&v.letterSpacing===h.letterSpacing&&v.fontFamily===h.fontFamily&&v.fontSize===h.fontSize&&v.fontWeight===h.fontWeight&&v.fontWeightBold===h.fontWeightBold&&v.allowTransparency===h.allowTransparency&&v.deviceCharWidth===h.deviceCharWidth&&v.deviceCharHeight===h.deviceCharHeight&&v.drawBoldTextInBrightColors===h.drawBoldTextInBrightColors&&v.minimumContrastRatio===h.minimumContrastRatio&&v.colors.foreground.rgba===h.colors.foreground.rgba&&v.colors.background.rgba===h.colors.background.rgba},r.is256Color=function(v){return(50331648&v)==16777216||(50331648&v)==33554432}},237:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;const f=o(399);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},457:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CursorBlinkStateManager=void 0,r.CursorBlinkStateManager=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(o=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,f>0)return void this._restartInterval(f)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(f)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},o)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tryDrawCustomChar=r.powerlineDefinitions=r.boxDrawingDefinitions=r.blockElementDefinitions=void 0;const f=o(374);r.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const v={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};r.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"║":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╒":{1:(g,a)=>`M.5,1 L.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╓":{1:(g,a)=>`M${.5-g},1 L${.5-g},.5 L1,.5 M${.5+g},.5 L${.5+g},1`},"╔":{1:(g,a)=>`M1,${.5-a} L${.5-g},${.5-a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1`},"╕":{1:(g,a)=>`M0,${.5-a} L.5,${.5-a} L.5,1 M0,${.5+a} L.5,${.5+a}`},"╖":{1:(g,a)=>`M${.5+g},1 L${.5+g},.5 L0,.5 M${.5-g},.5 L${.5-g},1`},"╗":{1:(g,a)=>`M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M0,${.5-a} L${.5+g},${.5-a} L${.5+g},1`},"╘":{1:(g,a)=>`M.5,0 L.5,${.5+a} L1,${.5+a} M.5,${.5-a} L1,${.5-a}`},"╙":{1:(g,a)=>`M1,.5 L${.5-g},.5 L${.5-g},0 M${.5+g},.5 L${.5+g},0`},"╚":{1:(g,a)=>`M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0 M1,${.5+a} L${.5-g},${.5+a} L${.5-g},0`},"╛":{1:(g,a)=>`M0,${.5+a} L.5,${.5+a} L.5,0 M0,${.5-a} L.5,${.5-a}`},"╜":{1:(g,a)=>`M0,.5 L${.5+g},.5 L${.5+g},0 M${.5-g},.5 L${.5-g},0`},"╝":{1:(g,a)=>`M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M0,${.5+a} L${.5+g},${.5+a} L${.5+g},0`},"╞":{1:(g,a)=>`M.5,0 L.5,1 M.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╟":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1 M${.5+g},.5 L1,.5`},"╠":{1:(g,a)=>`M${.5-g},0 L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╡":{1:(g,a)=>`M.5,0 L.5,1 M0,${.5-a} L.5,${.5-a} M0,${.5+a} L.5,${.5+a}`},"╢":{1:(g,a)=>`M0,.5 L${.5-g},.5 M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╣":{1:(g,a)=>`M${.5+g},0 L${.5+g},1 M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0`},"╤":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a} M.5,${.5+a} L.5,1`},"╥":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},.5 L${.5-g},1 M${.5+g},.5 L${.5+g},1`},"╦":{1:(g,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1`},"╧":{1:(g,a)=>`M.5,0 L.5,${.5-a} M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╨":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},.5 L${.5-g},0 M${.5+g},.5 L${.5+g},0`},"╩":{1:(g,a)=>`M0,${.5+a} L1,${.5+a} M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╪":{1:(g,a)=>`M.5,0 L.5,1 M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╫":{1:(g,a)=>`M0,.5 L1,.5 M${.5-g},0 L${.5-g},1 M${.5+g},0 L${.5+g},1`},"╬":{1:(g,a)=>`M0,${.5+a} L${.5-g},${.5+a} L${.5-g},1 M1,${.5+a} L${.5+g},${.5+a} L${.5+g},1 M0,${.5-a} L${.5-g},${.5-a} L${.5-g},0 M1,${.5-a} L${.5+g},${.5-a} L${.5+g},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(g,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,1,.5`},"╮":{1:(g,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,0,.5`},"╯":{1:(g,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,0,.5`},"╰":{1:(g,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,1,.5`}},r.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},r.powerlineDefinitions[""]=r.powerlineDefinitions[""],r.powerlineDefinitions[""]=r.powerlineDefinitions[""],r.tryDrawCustomChar=function(g,a,u,l,d,w,k,b){const L=r.blockElementDefinitions[a];if(L)return function(I,T,A,O,U,$){for(let G=0;G<T.length;G++){const j=T[G],C=U/8,M=$/8;I.fillRect(A+j.x*C,O+j.y*M,j.w*C,j.h*M)}}(g,L,u,l,d,w),!0;const x=v[a];if(x)return function(I,T,A,O,U,$){let G=h.get(T);G||(G=new Map,h.set(T,G));const j=I.fillStyle;if(typeof j!="string")throw new Error(`Unexpected fillStyle type "${j}"`);let C=G.get(j);if(!C){const M=T[0].length,B=T.length,H=I.canvas.ownerDocument.createElement("canvas");H.width=M,H.height=B;const Y=(0,f.throwIfFalsy)(H.getContext("2d")),V=new ImageData(M,B);let te,Q,z,P;if(j.startsWith("#"))te=parseInt(j.slice(1,3),16),Q=parseInt(j.slice(3,5),16),z=parseInt(j.slice(5,7),16),P=j.length>7&&parseInt(j.slice(7,9),16)||1;else{if(!j.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${j}" when drawing pattern glyph`);[te,Q,z,P]=j.substring(5,j.length-1).split(",").map(J=>parseFloat(J))}for(let J=0;J<B;J++)for(let K=0;K<M;K++)V.data[4*(J*M+K)]=te,V.data[4*(J*M+K)+1]=Q,V.data[4*(J*M+K)+2]=z,V.data[4*(J*M+K)+3]=T[J][K]*(255*P);Y.putImageData(V,0,0),C=(0,f.throwIfFalsy)(I.createPattern(H,null)),G.set(j,C)}I.fillStyle=C,I.fillRect(A,O,U,$)}(g,x,u,l,d,w),!0;const E=r.boxDrawingDefinitions[a];if(E)return function(I,T,A,O,U,$,G){I.strokeStyle=I.fillStyle;for(const[j,C]of Object.entries(T)){let M;I.beginPath(),I.lineWidth=G*Number.parseInt(j),M=typeof C=="function"?C(.15,.15/$*U):C;for(const B of M.split(" ")){const H=B[0],Y=y[H];if(!Y){console.error(`Could not find drawing instructions for "${H}"`);continue}const V=B.substring(1).split(",");V[0]&&V[1]&&Y(I,S(V,U,$,A,O,!0,G))}I.stroke(),I.closePath()}}(g,E,u,l,d,w,b),!0;const R=r.powerlineDefinitions[a];return!!R&&(function(I,T,A,O,U,$,G,j){const C=new Path2D;C.rect(A,O,U,$),I.clip(C),I.beginPath();const M=G/12;I.lineWidth=j*M;for(const B of T.d.split(" ")){const H=B[0],Y=y[H];if(!Y){console.error(`Could not find drawing instructions for "${H}"`);continue}const V=B.substring(1).split(",");V[0]&&V[1]&&Y(I,S(V,U,$,A,O,!1,j,(T.leftPadding??0)*(M/2),(T.rightPadding??0)*(M/2)))}T.type===1?(I.strokeStyle=I.fillStyle,I.stroke()):I.fill(),I.closePath()}(g,R,u,l,d,w,k,b),!0)};const h=new Map;function p(g,a,u=0){return Math.max(Math.min(g,a),u)}const y={C:(g,a)=>g.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]),L:(g,a)=>g.lineTo(a[0],a[1]),M:(g,a)=>g.moveTo(a[0],a[1])};function S(g,a,u,l,d,w,k,b=0,L=0){const x=g.map(E=>parseFloat(E)||parseInt(E));if(x.length<2)throw new Error("Too few arguments for instruction");for(let E=0;E<x.length;E+=2)x[E]*=a-b*k-L*k,w&&x[E]!==0&&(x[E]=p(Math.round(x[E]+.5)-.5,a,0)),x[E]+=l+b*k;for(let E=1;E<x.length;E+=2)x[E]*=u,w&&x[E]!==0&&(x[E]=p(Math.round(x[E]+.5)-.5,u,0)),x[E]+=d;return x}},56:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.observeDevicePixelDimensions=void 0;const f=o(859);r.observeDevicePixelDimensions=function(v,h,p){let y=new h.ResizeObserver(S=>{const g=S.find(l=>l.target===v);if(!g)return;if(!("devicePixelContentBoxSize"in g))return y==null||y.disconnect(),void(y=void 0);const a=g.devicePixelContentBoxSize[0].inlineSize,u=g.devicePixelContentBoxSize[0].blockSize;a>0&&u>0&&p(a,u)});try{y.observe(v,{box:["device-pixel-content-box"]})}catch{y.disconnect(),y=void 0}return(0,f.toDisposable)(()=>y==null?void 0:y.disconnect())}},374:(m,r)=>{function o(v){return 57508<=v&&v<=57558}function f(v){return v>=128512&&v<=128591||v>=127744&&v<=128511||v>=128640&&v<=128767||v>=9728&&v<=9983||v>=9984&&v<=10175||v>=65024&&v<=65039||v>=129280&&v<=129535||v>=127462&&v<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(v){if(!v)throw new Error("value must not be falsy");return v},r.isPowerlineGlyph=o,r.isRestrictedPowerlineGlyph=function(v){return 57520<=v&&v<=57527},r.isEmoji=f,r.allowRescaling=function(v,h,p,y){return h===1&&p>Math.ceil(1.5*y)&&v!==void 0&&v>255&&!f(v)&&!o(v)&&!function(S){return 57344<=S&&S<=63743}(v)},r.treatGlyphAsBackgroundColor=function(v){return o(v)||function(h){return 9472<=h&&h<=9631}(v)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(v,h,p=0){return(v-(2*Math.round(h)-p))%(2*Math.round(h))}},296:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class o{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(v,h,p,y=!1){if(this.selectionStart=h,this.selectionEnd=p,!h||!p||h[0]===p[0]&&h[1]===p[1])return void this.clear();const S=v.buffers.active.ydisp,g=h[1]-S,a=p[1]-S,u=Math.max(g,0),l=Math.min(a,v.rows-1);u>=v.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=g,this.viewportEndRow=a,this.viewportCappedStartRow=u,this.viewportCappedEndRow=l,this.startCol=h[0],this.endCol=p[0])}isCellSelected(v,h,p){return!!this.hasSelection&&(p-=v.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&p>=this.viewportCappedStartRow&&h<this.endCol&&p<=this.viewportCappedEndRow:h<this.startCol&&p>=this.viewportCappedStartRow&&h>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&h>=this.startCol)}}r.createSelectionRenderModel=function(){return new o}},509:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TextureAtlas=void 0;const f=o(237),v=o(860),h=o(374),p=o(160),y=o(345),S=o(485),g=o(385),a=o(147),u=o(855),l={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let d;class w{get pages(){return this._pages}constructor(E,R,I){this._document=E,this._config=R,this._unicodeService=I,this._didWarmUp=!1,this._cacheMap=new S.FourKeyMap,this._cacheMapCombined=new S.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new a.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new y.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new y.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=L(E,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,h.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const E of this.pages)E.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const E=new g.IdleTaskQueue;for(let R=33;R<126;R++)E.enqueue(()=>{if(!this._cacheMap.get(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT)){const I=this._drawToCache(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT);this._cacheMap.set(R,u.DEFAULT_COLOR,u.DEFAULT_COLOR,u.DEFAULT_EXT,I)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const E of this._pages)E.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(w.maxAtlasPages&&this._pages.length>=Math.max(4,w.maxAtlasPages)){const R=this._pages.filter(G=>2*G.canvas.width<=(w.maxTextureSize||4096)).sort((G,j)=>j.canvas.width!==G.canvas.width?j.canvas.width-G.canvas.width:j.percentageUsed-G.percentageUsed);let I=-1,T=0;for(let G=0;G<R.length;G++)if(R[G].canvas.width!==T)I=G,T=R[G].canvas.width;else if(G-I==3)break;const A=R.slice(I,I+4),O=A.map(G=>G.glyphs[0].texturePage).sort((G,j)=>G>j?1:-1),U=this.pages.length-A.length,$=this._mergePages(A,U);$.version++;for(let G=O.length-1;G>=0;G--)this._deletePage(O[G]);this.pages.push($),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire($.canvas)}const E=new k(this._document,this._textureSize);return this._pages.push(E),this._activePages.push(E),this._onAddTextureAtlasCanvas.fire(E.canvas),E}_mergePages(E,R){const I=2*E[0].canvas.width,T=new k(this._document,I,E);for(const[A,O]of E.entries()){const U=A*O.canvas.width%I,$=Math.floor(A/2)*O.canvas.height;T.ctx.drawImage(O.canvas,U,$);for(const j of O.glyphs)j.texturePage=R,j.sizeClipSpace.x=j.size.x/I,j.sizeClipSpace.y=j.size.y/I,j.texturePosition.x+=U,j.texturePosition.y+=$,j.texturePositionClipSpace.x=j.texturePosition.x/I,j.texturePositionClipSpace.y=j.texturePosition.y/I;this._onRemoveTextureAtlasCanvas.fire(O.canvas);const G=this._activePages.indexOf(O);G!==-1&&this._activePages.splice(G,1)}return T}_deletePage(E){this._pages.splice(E,1);for(let R=E;R<this._pages.length;R++){const I=this._pages[R];for(const T of I.glyphs)T.texturePage--;I.version++}}getRasterizedGlyphCombinedChar(E,R,I,T,A){return this._getFromCacheMap(this._cacheMapCombined,E,R,I,T,A)}getRasterizedGlyph(E,R,I,T,A){return this._getFromCacheMap(this._cacheMap,E,R,I,T,A)}_getFromCacheMap(E,R,I,T,A,O=!1){return d=E.get(R,I,T,A),d||(d=this._drawToCache(R,I,T,A,O),E.set(R,I,T,A,d)),d}_getColorFromAnsiIndex(E){if(E>=this._config.colors.ansi.length)throw new Error("No color found for idx "+E);return this._config.colors.ansi[E]}_getBackgroundColor(E,R,I,T){if(this._config.allowTransparency)return p.NULL_COLOR;let A;switch(E){case 16777216:case 33554432:A=this._getColorFromAnsiIndex(R);break;case 50331648:const O=a.AttributeData.toColorRGB(R);A=p.channels.toColor(O[0],O[1],O[2]);break;default:A=I?p.color.opaque(this._config.colors.foreground):this._config.colors.background}return A}_getForegroundColor(E,R,I,T,A,O,U,$,G,j){const C=this._getMinimumContrastColor(E,R,I,T,A,O,U,G,$,j);if(C)return C;let M;switch(A){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&G&&O<8&&(O+=8),M=this._getColorFromAnsiIndex(O);break;case 50331648:const B=a.AttributeData.toColorRGB(O);M=p.channels.toColor(B[0],B[1],B[2]);break;default:M=U?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(M=p.color.opaque(M)),$&&(M=p.color.multiplyOpacity(M,f.DIM_OPACITY)),M}_resolveBackgroundRgba(E,R,I){switch(E){case 16777216:case 33554432:return this._getColorFromAnsiIndex(R).rgba;case 50331648:return R<<8;default:return I?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(E,R,I,T){switch(E){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&T&&R<8&&(R+=8),this._getColorFromAnsiIndex(R).rgba;case 50331648:return R<<8;default:return I?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(E,R,I,T,A,O,U,$,G,j){if(this._config.minimumContrastRatio===1||j)return;const C=this._getContrastCache(G),M=C.getColor(E,T);if(M!==void 0)return M||void 0;const B=this._resolveBackgroundRgba(R,I,U),H=this._resolveForegroundRgba(A,O,U,$),Y=p.rgba.ensureContrastRatio(B,H,this._config.minimumContrastRatio/(G?2:1));if(!Y)return void C.setColor(E,T,null);const V=p.channels.toColor(Y>>24&255,Y>>16&255,Y>>8&255);return C.setColor(E,T,V),V}_getContrastCache(E){return E?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(E,R,I,T,A=!1){const O=typeof E=="number"?String.fromCharCode(E):E,U=Math.min(this._config.deviceCellWidth*Math.max(O.length,2)+4,this._textureSize);this._tmpCanvas.width<U&&(this._tmpCanvas.width=U);const $=Math.min(this._config.deviceCellHeight+8,this._textureSize);if(this._tmpCanvas.height<$&&(this._tmpCanvas.height=$),this._tmpCtx.save(),this._workAttributeData.fg=I,this._workAttributeData.bg=R,this._workAttributeData.extended.ext=T,this._workAttributeData.isInvisible())return l;const G=!!this._workAttributeData.isBold(),j=!!this._workAttributeData.isInverse(),C=!!this._workAttributeData.isDim(),M=!!this._workAttributeData.isItalic(),B=!!this._workAttributeData.isUnderline(),H=!!this._workAttributeData.isStrikethrough(),Y=!!this._workAttributeData.isOverline();let V=this._workAttributeData.getFgColor(),te=this._workAttributeData.getFgColorMode(),Q=this._workAttributeData.getBgColor(),z=this._workAttributeData.getBgColorMode();if(j){const ue=V;V=Q,Q=ue;const me=te;te=z,z=me}const P=this._getBackgroundColor(z,Q,j,C);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=P.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";const J=G?this._config.fontWeightBold:this._config.fontWeight,K=M?"italic":"";this._tmpCtx.font=`${K} ${J} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=f.TEXT_BASELINE;const re=O.length===1&&(0,h.isPowerlineGlyph)(O.charCodeAt(0)),ne=O.length===1&&(0,h.isRestrictedPowerlineGlyph)(O.charCodeAt(0)),be=this._getForegroundColor(R,z,Q,I,te,V,j,C,G,(0,h.treatGlyphAsBackgroundColor)(O.charCodeAt(0)));this._tmpCtx.fillStyle=be.css;const ge=ne?0:4;let Ee=!1;this._config.customGlyphs!==!1&&(Ee=(0,v.tryDrawCustomChar)(this._tmpCtx,O,ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let Ne,pe=!re;if(Ne=typeof E=="number"?this._unicodeService.wcwidth(E):this._unicodeService.getStringCellWidth(E),B){this._tmpCtx.save();const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),me=ue%2==1?.5:0;if(this._tmpCtx.lineWidth=ue,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())pe=!1,this._tmpCtx.strokeStyle=`rgb(${a.AttributeData.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{pe=!1;let _e=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&_e<8&&(_e+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(_e).css}this._tmpCtx.beginPath();const Ie=ge,X=Math.ceil(ge+this._config.deviceCharHeight)-me-(A?2*ue:0),Te=X+ue,ie=X+2*ue;let ae=this._workAttributeData.getUnderlineVariantOffset();for(let _e=0;_e<Ne;_e++){this._tmpCtx.save();const xe=Ie+_e*this._config.deviceCellWidth,ve=Ie+(_e+1)*this._config.deviceCellWidth,dt=xe+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(ve,X),this._tmpCtx.moveTo(xe,ie),this._tmpCtx.lineTo(ve,ie);break;case 3:const ut=ue<=1?ie:Math.ceil(ge+this._config.deviceCharHeight-ue/2)-me,Ze=ue<=1?X:Math.ceil(ge+this._config.deviceCharHeight+ue/2)-me,Tt=new Path2D;Tt.rect(xe,X,this._config.deviceCellWidth,ie-X),this._tmpCtx.clip(Tt),this._tmpCtx.moveTo(xe-this._config.deviceCellWidth/2,Te),this._tmpCtx.bezierCurveTo(xe-this._config.deviceCellWidth/2,Ze,xe,Ze,xe,Te),this._tmpCtx.bezierCurveTo(xe,ut,dt,ut,dt,Te),this._tmpCtx.bezierCurveTo(dt,Ze,ve,Ze,ve,Te),this._tmpCtx.bezierCurveTo(ve,ut,ve+this._config.deviceCellWidth/2,ut,ve+this._config.deviceCellWidth/2,Te);break;case 4:const kt=ae===0?0:ae>=ue?2*ue-ae:ue-ae;ae>=ue||kt===0?(this._tmpCtx.setLineDash([Math.round(ue),Math.round(ue)]),this._tmpCtx.moveTo(xe+kt,X),this._tmpCtx.lineTo(ve,X)):(this._tmpCtx.setLineDash([Math.round(ue),Math.round(ue)]),this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(xe+kt,X),this._tmpCtx.moveTo(xe+kt+ue,X),this._tmpCtx.lineTo(ve,X)),ae=(0,h.computeNextVariantOffset)(ve-xe,ue,ae);break;case 5:const Ut=.6,It=.3,Qe=ve-xe,Oe=Math.floor(Ut*Qe),_t=Math.floor(It*Qe),Dt=Qe-Oe-_t;this._tmpCtx.setLineDash([Oe,_t,Dt]),this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(ve,X);break;default:this._tmpCtx.moveTo(xe,X),this._tmpCtx.lineTo(ve,X)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!Ee&&this._config.fontSize>=12&&!this._config.allowTransparency&&O!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const _e=this._tmpCtx.measureText(O);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in _e&&_e.actualBoundingBoxDescent>0){this._tmpCtx.save();const xe=new Path2D;xe.rect(Ie,X-Math.ceil(ue/2),this._config.deviceCellWidth*Ne,ie-X+Math.ceil(ue/2)),this._tmpCtx.clip(xe),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=P.css,this._tmpCtx.strokeText(O,ge,ge+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(Y){const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),me=ue%2==1?.5:0;this._tmpCtx.lineWidth=ue,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ge,ge+me),this._tmpCtx.lineTo(ge+this._config.deviceCharWidth*Ne,ge+me),this._tmpCtx.stroke()}if(Ee||this._tmpCtx.fillText(O,ge,ge+this._config.deviceCharHeight),O==="_"&&!this._config.allowTransparency){let ue=b(this._tmpCtx.getImageData(ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight),P,be,pe);if(ue)for(let me=1;me<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=P.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(O,ge,ge+this._config.deviceCharHeight-me),ue=b(this._tmpCtx.getImageData(ge,ge,this._config.deviceCellWidth,this._config.deviceCellHeight),P,be,pe),ue);me++);}if(H){const ue=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),me=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=ue,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ge,ge+Math.floor(this._config.deviceCharHeight/2)-me),this._tmpCtx.lineTo(ge+this._config.deviceCharWidth*Ne,ge+Math.floor(this._config.deviceCharHeight/2)-me),this._tmpCtx.stroke()}this._tmpCtx.restore();const $e=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let Je;if(Je=this._config.allowTransparency?function(ue){for(let me=0;me<ue.data.length;me+=4)if(ue.data[me+3]>0)return!1;return!0}($e):b($e,P,be,pe),Je)return l;const Re=this._findGlyphBoundingBox($e,this._workBoundingBox,U,ne,Ee,ge);let oe,ye;for(;;){if(this._activePages.length===0){const ue=this._createNewPage();oe=ue,ye=ue.currentRow,ye.height=Re.size.y;break}oe=this._activePages[this._activePages.length-1],ye=oe.currentRow;for(const ue of this._activePages)Re.size.y<=ue.currentRow.height&&(oe=ue,ye=ue.currentRow);for(let ue=this._activePages.length-1;ue>=0;ue--)for(const me of this._activePages[ue].fixedRows)me.height<=ye.height&&Re.size.y<=me.height&&(oe=this._activePages[ue],ye=me);if(ye.y+Re.size.y>=oe.canvas.height||ye.height>Re.size.y+2){let ue=!1;if(oe.currentRow.y+oe.currentRow.height+Re.size.y>=oe.canvas.height){let me;for(const Ie of this._activePages)if(Ie.currentRow.y+Ie.currentRow.height+Re.size.y<Ie.canvas.height){me=Ie;break}if(me)oe=me;else if(w.maxAtlasPages&&this._pages.length>=w.maxAtlasPages&&ye.y+Re.size.y<=oe.canvas.height&&ye.height>=Re.size.y&&ye.x+Re.size.x<=oe.canvas.width)ue=!0;else{const Ie=this._createNewPage();oe=Ie,ye=Ie.currentRow,ye.height=Re.size.y,ue=!0}}ue||(oe.currentRow.height>0&&oe.fixedRows.push(oe.currentRow),ye={x:0,y:oe.currentRow.y+oe.currentRow.height,height:Re.size.y},oe.fixedRows.push(ye),oe.currentRow={x:0,y:ye.y+ye.height,height:0})}if(ye.x+Re.size.x<=oe.canvas.width)break;ye===oe.currentRow?(ye.x=0,ye.y+=ye.height,ye.height=0):oe.fixedRows.splice(oe.fixedRows.indexOf(ye),1)}return Re.texturePage=this._pages.indexOf(oe),Re.texturePosition.x=ye.x,Re.texturePosition.y=ye.y,Re.texturePositionClipSpace.x=ye.x/oe.canvas.width,Re.texturePositionClipSpace.y=ye.y/oe.canvas.height,Re.sizeClipSpace.x/=oe.canvas.width,Re.sizeClipSpace.y/=oe.canvas.height,ye.height=Math.max(ye.height,Re.size.y),ye.x+=Re.size.x,oe.ctx.putImageData($e,Re.texturePosition.x-this._workBoundingBox.left,Re.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,Re.size.x,Re.size.y),oe.addGlyph(Re),oe.version++,Re}_findGlyphBoundingBox(E,R,I,T,A,O){R.top=0;const U=T?this._config.deviceCellHeight:this._tmpCanvas.height,$=T?this._config.deviceCellWidth:I;let G=!1;for(let j=0;j<U;j++){for(let C=0;C<$;C++){const M=j*this._tmpCanvas.width*4+4*C+3;if(E.data[M]!==0){R.top=j,G=!0;break}}if(G)break}R.left=0,G=!1;for(let j=0;j<O+$;j++){for(let C=0;C<U;C++){const M=C*this._tmpCanvas.width*4+4*j+3;if(E.data[M]!==0){R.left=j,G=!0;break}}if(G)break}R.right=$,G=!1;for(let j=O+$-1;j>=O;j--){for(let C=0;C<U;C++){const M=C*this._tmpCanvas.width*4+4*j+3;if(E.data[M]!==0){R.right=j,G=!0;break}}if(G)break}R.bottom=U,G=!1;for(let j=U-1;j>=0;j--){for(let C=0;C<$;C++){const M=j*this._tmpCanvas.width*4+4*C+3;if(E.data[M]!==0){R.bottom=j,G=!0;break}}if(G)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:R.right-R.left+1,y:R.bottom-R.top+1},sizeClipSpace:{x:R.right-R.left+1,y:R.bottom-R.top+1},offset:{x:-R.left+O+(T||A?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-R.top+O+(T||A?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}}r.TextureAtlas=w;class k{get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(E){this._glyphs.push(E),this._usedPixels+=E.size.x*E.size.y}constructor(E,R,I){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],I)for(const T of I)this._glyphs.push(...T.glyphs),this._usedPixels+=T._usedPixels;this.canvas=L(E,R,R),this.ctx=(0,h.throwIfFalsy)(this.canvas.getContext("2d",{alpha:!0}))}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}}function b(x,E,R,I){const T=E.rgba>>>24,A=E.rgba>>>16&255,O=E.rgba>>>8&255,U=R.rgba>>>24,$=R.rgba>>>16&255,G=R.rgba>>>8&255,j=Math.floor((Math.abs(T-U)+Math.abs(A-$)+Math.abs(O-G))/12);let C=!0;for(let M=0;M<x.data.length;M+=4)x.data[M]===T&&x.data[M+1]===A&&x.data[M+2]===O||I&&Math.abs(x.data[M]-T)+Math.abs(x.data[M+1]-A)+Math.abs(x.data[M+2]-O)<j?x.data[M+3]=0:C=!1;return C}function L(x,E,R){const I=x.createElement("canvas");return I.width=E,I.height=R,I}},160:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let o=0,f=0,v=0,h=0;var p,y,S,g,a;function u(d){const w=d.toString(16);return w.length<2?"0"+w:w}function l(d,w){return d<w?(w+.05)/(d+.05):(d+.05)/(w+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(w,k,b,L){return L!==void 0?`#${u(w)}${u(k)}${u(b)}${u(L)}`:`#${u(w)}${u(k)}${u(b)}`},d.toRgba=function(w,k,b,L=255){return(w<<24|k<<16|b<<8|L)>>>0},d.toColor=function(w,k,b,L){return{css:d.toCss(w,k,b,L),rgba:d.toRgba(w,k,b,L)}}}(p||(r.channels=p={})),function(d){function w(k,b){return h=Math.round(255*b),[o,f,v]=a.toChannels(k.rgba),{css:p.toCss(o,f,v,h),rgba:p.toRgba(o,f,v,h)}}d.blend=function(k,b){if(h=(255&b.rgba)/255,h===1)return{css:b.css,rgba:b.rgba};const L=b.rgba>>24&255,x=b.rgba>>16&255,E=b.rgba>>8&255,R=k.rgba>>24&255,I=k.rgba>>16&255,T=k.rgba>>8&255;return o=R+Math.round((L-R)*h),f=I+Math.round((x-I)*h),v=T+Math.round((E-T)*h),{css:p.toCss(o,f,v),rgba:p.toRgba(o,f,v)}},d.isOpaque=function(k){return(255&k.rgba)==255},d.ensureContrastRatio=function(k,b,L){const x=a.ensureContrastRatio(k.rgba,b.rgba,L);if(x)return p.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(k){const b=(255|k.rgba)>>>0;return[o,f,v]=a.toChannels(b),{css:p.toCss(o,f,v),rgba:b}},d.opacity=w,d.multiplyOpacity=function(k,b){return h=255&k.rgba,w(k,h*b/255)},d.toColorRGB=function(k){return[k.rgba>>24&255,k.rgba>>16&255,k.rgba>>8&255]}}(y||(r.color=y={})),function(d){let w,k;try{const b=document.createElement("canvas");b.width=1,b.height=1;const L=b.getContext("2d",{willReadFrequently:!0});L&&(w=L,w.globalCompositeOperation="copy",k=w.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),p.toColor(o,f,v);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),v=parseInt(b.slice(3,4).repeat(2),16),h=parseInt(b.slice(4,5).repeat(2),16),p.toColor(o,f,v,h);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const L=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(L)return o=parseInt(L[1]),f=parseInt(L[2]),v=parseInt(L[3]),h=Math.round(255*(L[5]===void 0?1:parseFloat(L[5]))),p.toColor(o,f,v,h);if(!w||!k)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=k,w.fillStyle=b,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[o,f,v,h]=w.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(o,f,v,h),css:b}}}(S||(r.css=S={})),function(d){function w(k,b,L){const x=k/255,E=b/255,R=L/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(R<=.03928?R/12.92:Math.pow((R+.055)/1.055,2.4))}d.relativeLuminance=function(k){return w(k>>16&255,k>>8&255,255&k)},d.relativeLuminance2=w}(g||(r.rgb=g={})),function(d){function w(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,O=L>>8&255,U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));for(;U<x&&(T>0||A>0||O>0);)T-=Math.max(0,Math.ceil(.1*T)),A-=Math.max(0,Math.ceil(.1*A)),O-=Math.max(0,Math.ceil(.1*O)),U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|O<<8|255)>>>0}function k(b,L,x){const E=b>>24&255,R=b>>16&255,I=b>>8&255;let T=L>>24&255,A=L>>16&255,O=L>>8&255,U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));for(;U<x&&(T<255||A<255||O<255);)T=Math.min(255,T+Math.ceil(.1*(255-T))),A=Math.min(255,A+Math.ceil(.1*(255-A))),O=Math.min(255,O+Math.ceil(.1*(255-O))),U=l(g.relativeLuminance2(T,A,O),g.relativeLuminance2(E,R,I));return(T<<24|A<<16|O<<8|255)>>>0}d.blend=function(b,L){if(h=(255&L)/255,h===1)return L;const x=L>>24&255,E=L>>16&255,R=L>>8&255,I=b>>24&255,T=b>>16&255,A=b>>8&255;return o=I+Math.round((x-I)*h),f=T+Math.round((E-T)*h),v=A+Math.round((R-A)*h),p.toRgba(o,f,v)},d.ensureContrastRatio=function(b,L,x){const E=g.relativeLuminance(b>>8),R=g.relativeLuminance(L>>8);if(l(E,R)<x){if(R<E){const A=w(b,L,x),O=l(E,g.relativeLuminance(A>>8));if(O<x){const U=k(b,L,x);return O>l(E,g.relativeLuminance(U>>8))?A:U}return A}const I=k(b,L,x),T=l(E,g.relativeLuminance(I>>8));if(T<x){const A=w(b,L,x);return T>l(E,g.relativeLuminance(A>>8))?I:A}return I}},d.reduceLuminance=w,d.increaseLuminance=k,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(r.rgba=a={})),r.toPaddedHex=u,r.contrastRatio=l},345:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const v=[];for(let h=0;h<this._listeners.length;h++)v.push(this._listeners[h]);for(let h=0;h<v.length;h++)v[h].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(o,f){return o(v=>f.fire(v))},r.runAndSubscribe=function(o,f){return f(void 0),o(v=>f(v))}},859:(m,r)=>{function o(f){for(const v of f)v.dispose();f.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const v=this._disposables.indexOf(f);v!==-1&&this._disposables.splice(v,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var v;this._isDisposed||f===this._value||((v=this._value)==null||v.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},r.toDisposable=function(f){return{dispose:f}},r.disposeArray=o,r.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},485:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(v,h,p){this._data[v]||(this._data[v]={}),this._data[v][h]=p}get(v,h){return this._data[v]?this._data[v][h]:void 0}clear(){this._data={}}}r.TwoKeyMap=o,r.FourKeyMap=class{constructor(){this._data=new o}set(f,v,h,p,y){this._data.get(f,v)||this._data.set(f,v,new o),this._data.get(f,v).set(h,p,y)}get(f,v,h,p){var y;return(y=this._data.get(f,v))==null?void 0:y.get(h,p)}clear(){this._data.clear()}}},399:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;const o=r.isNode?"node":navigator.userAgent,f=r.isNode?"node":navigator.platform;r.isFirefox=o.includes("Firefox"),r.isLegacyEdge=o.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(o),r.getSafariVersion=function(){if(!r.isSafari)return 0;const v=o.match(/Version\/(\d+)/);return v===null||v.length<2?0:parseInt(v[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),r.isIpad=f==="iPad",r.isIphone=f==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),r.isLinux=f.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(o)},385:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;const f=o(399);class v{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let S=0,g=0,a=y.timeRemaining(),u=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),g=Math.max(S,g),u=y.timeRemaining(),1.5*g>u)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=u}this.clear()}}class h extends v{_requestCallback(y){return setTimeout(()=>y(this._createDeadline(16)))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const S=Date.now()+y;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}r.PriorityTaskQueue=h,r.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends v{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:h,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},147:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new o;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,p=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=p}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=f},782:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;const f=o(133),v=o(855),h=o(147);class p extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const g=new p;return g.setFromCharData(S),g}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[v.CHAR_DATA_ATTR_INDEX],this.bg=0;let g=!1;if(S[v.CHAR_DATA_CHAR_INDEX].length>2)g=!0;else if(S[v.CHAR_DATA_CHAR_INDEX].length===2){const a=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const u=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=u&&u<=57343?this.content=1024*(a-55296)+u-56320+65536|S[v.CHAR_DATA_WIDTH_INDEX]<<22:g=!0}else g=!0}else this.content=S[v.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[v.CHAR_DATA_WIDTH_INDEX]<<22;g&&(this.combinedData=S[v.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[v.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=p},855:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},133:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},r.utf32ToString=function(o,f=0,v=o.length){let h="";for(let p=f;p<v;++p){let y=o[p];y>65535?(y-=65536,h+=String.fromCharCode(55296+(y>>10))+String.fromCharCode(y%1024+56320)):h+=String.fromCharCode(y)}return h},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,f){const v=o.length;if(!v)return 0;let h=0,p=0;if(this._interim){const y=o.charCodeAt(p++);56320<=y&&y<=57343?f[h++]=1024*(this._interim-55296)+y-56320+65536:(f[h++]=this._interim,f[h++]=y),this._interim=0}for(let y=p;y<v;++y){const S=o.charCodeAt(y);if(55296<=S&&S<=56319){if(++y>=v)return this._interim=S,h;const g=o.charCodeAt(y);56320<=g&&g<=57343?f[h++]=1024*(S-55296)+g-56320+65536:(f[h++]=S,f[h++]=g)}else S!==65279&&(f[h++]=S)}return h}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,f){const v=o.length;if(!v)return 0;let h,p,y,S,g=0,a=0,u=0;if(this.interim[0]){let w=!1,k=this.interim[0];k&=(224&k)==192?31:(240&k)==224?15:7;let b,L=0;for(;(b=63&this.interim[++L])&&L<4;)k<<=6,k|=b;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,E=x-L;for(;u<E;){if(u>=v)return 0;if(b=o[u++],(192&b)!=128){u--,w=!0;break}this.interim[L++]=b,k<<=6,k|=63&b}w||(x===2?k<128?u--:f[g++]=k:x===3?k<2048||k>=55296&&k<=57343||k===65279||(f[g++]=k):k<65536||k>1114111||(f[g++]=k)),this.interim.fill(0)}const l=v-4;let d=u;for(;d<v;){for(;!(!(d<l)||128&(h=o[d])||128&(p=o[d+1])||128&(y=o[d+2])||128&(S=o[d+3]));)f[g++]=h,f[g++]=p,f[g++]=y,f[g++]=S,d+=4;if(h=o[d++],h<128)f[g++]=h;else if((224&h)==192){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(a=(31&h)<<6|63&p,a<128){d--;continue}f[g++]=a}else if((240&h)==224){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(a=(15&h)<<12|(63&p)<<6|63&y,a<2048||a>=55296&&a<=57343||a===65279)continue;f[g++]=a}else if((248&h)==240){if(d>=v)return this.interim[0]=h,g;if(p=o[d++],(192&p)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,g;if(y=o[d++],(192&y)!=128){d--;continue}if(d>=v)return this.interim[0]=h,this.interim[1]=p,this.interim[2]=y,g;if(S=o[d++],(192&S)!=128){d--;continue}if(a=(7&h)<<18|(63&p)<<12|(63&y)<<6|63&S,a<65536||a>1114111)continue;f[g++]=a}}return g}}},776:function(m,r,o){var f=this&&this.__decorate||function(a,u,l,d){var w,k=arguments.length,b=k<3?u:d===null?d=Object.getOwnPropertyDescriptor(u,l):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,u,l,d);else for(var L=a.length-1;L>=0;L--)(w=a[L])&&(b=(k<3?w(b):k>3?w(u,l,b):w(u,l))||b);return k>3&&b&&Object.defineProperty(u,l,b),b},v=this&&this.__param||function(a,u){return function(l,d){u(l,d,a)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;const h=o(859),p=o(97),y={trace:p.LogLevelEnum.TRACE,debug:p.LogLevelEnum.DEBUG,info:p.LogLevelEnum.INFO,warn:p.LogLevelEnum.WARN,error:p.LogLevelEnum.ERROR,off:p.LogLevelEnum.OFF};let S,g=r.LogService=class extends h.Disposable{get logLevel(){return this._logLevel}constructor(a){super(),this._optionsService=a,this._logLevel=p.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=y[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let u=0;u<a.length;u++)typeof a[u]=="function"&&(a[u]=a[u]())}_log(a,u,l){this._evalLazyOptionalParams(l),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+u,...l)}trace(a,...u){var l;this._logLevel<=p.LogLevelEnum.TRACE&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.trace.bind(this._optionsService.options.logger))??console.log,a,u)}debug(a,...u){var l;this._logLevel<=p.LogLevelEnum.DEBUG&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.debug.bind(this._optionsService.options.logger))??console.log,a,u)}info(a,...u){var l;this._logLevel<=p.LogLevelEnum.INFO&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.info.bind(this._optionsService.options.logger))??console.info,a,u)}warn(a,...u){var l;this._logLevel<=p.LogLevelEnum.WARN&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.warn.bind(this._optionsService.options.logger))??console.warn,a,u)}error(a,...u){var l;this._logLevel<=p.LogLevelEnum.ERROR&&this._log(((l=this._optionsService.options.logger)==null?void 0:l.error.bind(this._optionsService.options.logger))??console.error,a,u)}};r.LogService=g=f([v(0,p.IOptionsService)],g),r.setTraceLogger=function(a){S=a},r.traceCall=function(a,u,l){if(typeof l.value!="function")throw new Error("not supported");const d=l.value;l.value=function(...w){if(S.logLevel!==p.LogLevelEnum.TRACE)return d.apply(this,w);S.trace(`GlyphRenderer#${d.name}(${w.map(b=>JSON.stringify(b)).join(", ")})`);const k=d.apply(this,w);return S.trace(`GlyphRenderer#${d.name} return`,k),k}}},726:(m,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;const o="di$target",f="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(v){return v[f]||[]},r.createDecorator=function(v){if(r.serviceRegistry.has(v))return r.serviceRegistry.get(v);const h=function(p,y,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(g,a,u){a[o]===a?a[f].push({id:g,index:u}):(a[f]=[{id:g,index:u}],a[o]=a)})(h,p,S)};return h.toString=()=>v,r.serviceRegistry.set(v,h),h}},97:(m,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;const f=o(726);var v;r.IBufferService=(0,f.createDecorator)("BufferService"),r.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),r.ICoreService=(0,f.createDecorator)("CoreService"),r.ICharsetService=(0,f.createDecorator)("CharsetService"),r.IInstantiationService=(0,f.createDecorator)("InstantiationService"),function(h){h[h.TRACE=0]="TRACE",h[h.DEBUG=1]="DEBUG",h[h.INFO=2]="INFO",h[h.WARN=3]="WARN",h[h.ERROR=4]="ERROR",h[h.OFF=5]="OFF"}(v||(r.LogLevelEnum=v={})),r.ILogService=(0,f.createDecorator)("LogService"),r.IOptionsService=(0,f.createDecorator)("OptionsService"),r.IOscLinkService=(0,f.createDecorator)("OscLinkService"),r.IUnicodeService=(0,f.createDecorator)("UnicodeService"),r.IDecorationService=(0,f.createDecorator)("DecorationService")}},s={};function n(m){var r=s[m];if(r!==void 0)return r.exports;var o=s[m]={exports:{}};return i[m].call(o.exports,o,o.exports,n),o.exports}var c={};return(()=>{var m=c;Object.defineProperty(m,"__esModule",{value:!0}),m.WebglAddon=void 0;const r=n(345),o=n(859),f=n(399),v=n(666),h=n(776);class p extends o.Disposable{constructor(S){if(f.isSafari&&(0,f.getSafariVersion)()<16){const g={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",g))throw new Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=S,this._onChangeTextureAtlas=this.register(new r.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new r.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new r.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this.register(new r.EventEmitter),this.onContextLoss=this._onContextLoss.event}activate(S){const g=S._core;if(!S.element)return void this.register(g.onWillOpen(()=>this.activate(S)));this._terminal=S;const a=g.coreService,u=g.optionsService,l=g,d=l._renderService,w=l._characterJoinerService,k=l._charSizeService,b=l._coreBrowserService,L=l._decorationService,x=l._logService,E=l._themeService;(0,h.setTraceLogger)(x),this._renderer=this.register(new v.WebglRenderer(S,w,k,b,a,L,u,E,this._preserveDrawingBuffer)),this.register((0,r.forwardEvent)(this._renderer.onContextLoss,this._onContextLoss)),this.register((0,r.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,r.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this.register((0,r.forwardEvent)(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),d.setRenderer(this._renderer),this.register((0,o.toDisposable)(()=>{const R=this._terminal._core._renderService;R.setRenderer(this._terminal._core._createRenderer()),R.handleResize(S.cols,S.rows)}))}get textureAtlas(){var S;return(S=this._renderer)==null?void 0:S.textureAtlas}clearTextureAtlas(){var S;(S=this._renderer)==null||S.clearTextureAtlas()}}m.WebglAddon=p})(),c})())})(d_);var M1=d_.exports;function N1(e,t){let i=0,s=e;for(;Math.abs(s)>=t;)s>0?(i+=1,s-=t):(i-=1,s+=t);return{notches:i,rem:s}}const I1=e=>e>0?"up":"down";function P1(e){return e.replace(/\r?\n/g,`\r
108
+ `)}function O1(e,t){let i=t,s=!1,n=!1,c=!1;const m=v=>{/\S/.test(v)&&(s=!0,i&&(n=!0)),i&&v.length&&(c=!0)},r=/\x1b\[([0-9;]*)m/g;let o=0,f=r.exec(e);for(;f;){m(e.slice(o,f.index)),o=r.lastIndex;const v=f[1]===""?[0]:f[1].split(";").map(Number);for(let h=0;h<v.length;h+=1){const p=v[h];if(p===0||p===49)i=!1;else if(p>=40&&p<=47||p>=100&&p<=107)i=!0;else if(p===38||p===48){const y=p===48;v[h+1]===5?(h+=2,y&&(i=!0)):v[h+1]===2&&(h+=4,y&&(i=!0))}}f=r.exec(e)}return m(e.slice(o)),{bgEnd:i,hasText:s,hasShadeText:n,hasShadeBlank:c}}function B1(e){const t=[];let i=!1,s=[],n=-1,c=!1;const m=()=>{n>=0&&c&&(t[n]+="\x1B[49m"),n=-1,c=!1},r=()=>{if(s.length){t.push("\x1B[0m");for(let o=1;o<s.length;o+=1)t.push("");s=[]}};for(const o of e){const f=O1(o,i);f.hasShadeText?(t.push(...s),s=[],t.push(o),n=t.length-1,c=f.bgEnd):!f.hasText&&(i||f.bgEnd||f.hasShadeBlank)?s.push(o):(m(),r(),t.push(o)),i=f.bgEnd}return m(),r(),t}function j1(e){const t=P1(e.replace(/\n$/,""));return B1(t.split(`\r
109
109
  `)).join(`\r
110
- `)}function F1(e,t,i=0){if(!e||!e.vis)return"\x1B[?25l";const s=i?Math.min(t|0,i|0):t|0,n=Math.max(1,s-Math.max(0,e.row|0)),c=Math.max(0,e.col|0)+1;return`\x1B[${n};${c}H\x1B[?25h`}function H1(e,{base:t=1e3,max:i=1e4,factor:s=2,jitter:n=.2,rng:c=Math.random}={}){if(e<=0)return 0;const m=Math.min(i,t*s**(e-1));return Math.round(m*(1+n*(c()*2-1)))}const $1=1e3;function z1(e){return e<8e3?$1:e<6e4?5e3:1e4}const U1=.95,W1=.015,V1=.1,G1=50;function K1(e,t,i=U1,s=W1){const n=e*t,c=e*i**(t/16);return{delta:n,v:c,done:Math.abs(c)<s}}function q1(e,t,i=V1,s=G1){return t<=s&&Math.abs(e)>=i}const Y1={failCount:0,connected:!0};function Ol(e,t,{threshold:i=2}={}){switch(t){case"ok":case"reset":return{failCount:0,connected:!0};case"fail":{const s=e.failCount+1;return{failCount:s,connected:s<i}}default:return e}}function f_(e,t,i){var r,o;let s=t;for(;s>0&&((r=e.getLine(s))!=null&&r.isWrapped);)s--;let n="";const c=[];let m=s;do{const f=e.getLine(m);if(!f)break;for(let v=0;v<i;v++){const h=f.getCell(v);if(!h)continue;const p=h.getWidth();p!==0&&(n+=h.getChars()||" ",c.push({row:m,col:v,w:p}))}m++}while(m<e.length&&((o=e.getLine(m))!=null&&o.isWrapped));return{text:n,cells:c}}function X1(e){var r;const t=e.buffer.active,i=e.cols,s=t.baseY,n=s+e.rows,c=[];let m=s;for(;m>0&&((r=t.getLine(m))!=null&&r.isWrapped);)m--;for(;m<n;){if(!t.getLine(m)){m++;continue}const{text:o,cells:f}=f_(t,m,i);for(const{start:v,end:h}of a_(o)){let p=v;for(;p<h;){const y=f[p].row;let S=p;for(;S<h&&f[S].row===y;)S++;const g=f[p].col,a=f[S-1],u=a.col+a.w;y>=s&&y<n&&c.push({y,x:g,width:u-g,path:o.slice(v,h)}),p=S}}m=f.length?f[f.length-1].row+1:m+1}return c}function J1(e,t){const i=e.buffer.active,s=e.cols,n=t-1;if(n<0||n>=i.length)return[];const{text:c,cells:m}=f_(i,n,s),r=[];for(const{start:o,end:f}of a_(c)){const v=m[o],h=m[f-1];n<v.row||n>h.row||r.push({range:{start:{x:v.col+1,y:v.row+1},end:{x:h.col+h.w,y:h.row+1}},path:c.slice(o,f)})}return r}const Z1=[{family:"JetBrainsMono Nerd Font",url:"/fonts/JetBrainsMonoNerdFontMono-Regular.woff2",probe:void 0},{family:"TW Unifont",url:"/fonts/TWUnifont.woff2",probe:"⏵",unicodeRange:"U+2190-21FF, U+2300-23FF, U+2400-243F, U+2500-257F, U+2580-259F, U+25A0-25FF, U+2600-26FF, U+2700-27BF, U+2800-28FF"}],Q1=4,eS=1500,tS=e=>{for(const t of document.fonts)if(t.family.replace(/["']/g,"")===e)return t;return null},iS=async({family:e,url:t,probe:i,unicodeRange:s},n)=>{var c;for(let m=0;m<Q1;m++){try{await document.fonts.load(`${n}px "${e}"`,i)}catch{}if(((c=tS(e))==null?void 0:c.status)==="loaded")return!0;try{const r=new FontFace(e,`url(${t}) format('woff2')`,s?{unicodeRange:s}:{});return await r.load(),document.fonts.add(r),!0}catch{}await new Promise(r=>setTimeout(r,eS*2**m))}return!1};let Pl=null;function sS(e=14){var t;return Pl||(Pl=typeof document<"u"&&((t=document.fonts)!=null&&t.load)?Promise.all(Z1.map(i=>iS(i,e))):Promise.resolve([!1,!1])),Pl}const rS=20,nS=100,No=5e3,oS=15,aS=N.forwardRef(function({pane:t,onAuthFail:i,onDocLinkTap:s},n){const c=N.useRef(null),m=N.useRef(null),r=N.useRef([]),o=N.useRef(s);o.current=s;const f=N.useRef(Uw()),v=N.useRef(null),[h,p]=N.useState(!1),[y,S]=N.useState(!0),g=N.useRef(!1),[a,u]=N.useState(null),[l,d]=N.useState(!1),w=N.useRef(null),k=N.useRef(!1),b=N.useRef(!1),[L,x]=N.useState(!1),[E,R]=N.useState(""),[I,T]=N.useState(!1),A=N.useRef(null),P=N.useRef(null),[U,$]=N.useState(""),[G,j]=N.useState(!1),C=N.useRef(null),M=N.useRef(null);N.useImperativeHandle(n,()=>({getSize:()=>{const V=m.current;return V?{cols:V.cols,rows:V.rows}:null},flash:()=>{const V=()=>{const te=m.current;te&&R(`${te.cols}×${te.rows} · ${te.options.fontSize}px`)};V(),T(!0),clearTimeout(A.current),clearInterval(P.current),P.current=setInterval(V,400),A.current=setTimeout(()=>{T(!1),clearInterval(P.current)},3e3)},getFontSize:()=>{const V=m.current;return V?{size:V.options.fontSize,auto:f.current==null}:null},setFontSize:V=>{var z;const te=m.current;if(!te)return null;const Q=Math.max(8,Math.min(40,Math.round(V)));return te.options.fontSize=Q,f.current=Q,nf(Q),(z=C.current)==null||z.call(C),Q},autoFont:()=>{var te;const V=m.current;V&&(V.options.fontSize=14,f.current=null,Ww(),(te=C.current)==null||te.call(C))},wake:()=>{var V;return(V=M.current)==null?void 0:V.call(M)}}),[]),N.useEffect(()=>()=>{clearTimeout(A.current),clearInterval(P.current)},[]),N.useEffect(()=>{var ot;const V=new A1.Terminal({disableStdin:!0,scrollback:No+100,convertEol:!1,fontSize:f.current??14,fontFamily:"ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, 'Cascadia Mono', 'Roboto Mono', 'Noto Sans Mono', 'DejaVu Sans Mono', 'Courier New', 'JetBrainsMono Nerd Font', 'TW Unifont', monospace",theme:{selectionBackground:"rgba(74,124,255,0.45)"},cursorInactiveStyle:"block"});V.open(c.current),m.current=V;const te=V.registerLinkProvider({provideLinks(le,Ee){if(!o.current){Ee(void 0);return}const Be=J1(V,le).map(({range:fe,path:je})=>({range:fe,text:je,decorations:{pointerCursor:!0,underline:!1},activate:Ue=>{var tt;return(tt=o.current)==null?void 0:tt.call(o,je,(Ue==null?void 0:Ue.clientX)??0,(Ue==null?void 0:Ue.clientY)??0)}}));Ee(Be.length?Be:void 0)}});let Q=null;const z=()=>{try{Q=new M1.WebglAddon,Q.onContextLoss(()=>Q.dispose()),V.loadAddon(Q)}catch{Q=null}};z();const O=c.current.querySelector(".xterm-helper-textarea");O&&(O.readOnly=!0,O.tabIndex=-1,O.setAttribute("inputmode","none"),O.setAttribute("aria-hidden","true"));let J=null,K=!1,re=!1,ne=!1,be=!1;k.current=!1,b.current=!1,x(!1);const ge=()=>Math.min(No,Math.max(24,V.rows+rS));let ke=ge(),Me=null,pe="",$e=null,Je=0,Re=null,oe=Date.now();p(!1),j(!1);let Se=!1;const ue=()=>{K||Se||(Se=!0,requestAnimationFrame(()=>{K||j(!0)}))};let me=Y1;const Ie=le=>{me=le,S(le.connected)};sS(f.current??14).then(()=>{if(!(K||!Q)){try{Q.dispose()}catch{}z(),V.refresh(0,V.rows-1)}});const X=()=>V.buffer.active,Te=(le="")=>{const Ee=X();$(be&&!ae()?`历史模式 · 行 ${Ee.viewportY}/${Ee.baseY}${re?" · 拉取中":""}${le}`:"")},ie=()=>X().viewportY>=X().baseY,ae=()=>X().baseY-X().viewportY<=oS,ve=()=>X().viewportY<=3,xe=()=>{!be||re||ke>=No||!ve()||(ke=Math.min(ke+nS,No),Te(" · 拉取↑"),qe(ke,!0))};let we=0;const dt=()=>{K||V.write(F1($e,V.rows,Je))},ut=(le=0)=>{if(K||!c.current||!V.rows)return;const Ee=c.current.clientHeight,Be=c.current.querySelector(".xterm-screen"),fe=Be?Be.getBoundingClientRect().height:0;if(!Ee||!fe)return;const je=fe/V.rows;if(f.current==null&&we&&le<4){const tt=we*je;if(tt>Ee+4){const Mt=V.options.fontSize||14,Ht=Math.max(6,Math.round(Mt*(Ee/tt)));if(Ht<Mt){V.options.fontSize=Ht,requestAnimationFrame(()=>ut(le+1));return}}}const Ue=Math.max(1,Math.floor(Ee/je));if(Ue!==V.rows){V.write(`\x1B[?25l\x1B[${V.rows};1H`,()=>{K||(V.resize(V.cols,Ue),V.scrollToBottom(),le<4?requestAnimationFrame(()=>ut(le+1)):(dt(),ue()))});return}dt(),ue()},Ze=()=>requestAnimationFrame(()=>ut(0));C.current=Ze;const Tt=()=>Ze();window.addEventListener("resize",Tt),window.addEventListener("orientationchange",Tt);let kt=((ot=c.current)==null?void 0:ot.clientHeight)||0;const Ut=typeof ResizeObserver<"u"?new ResizeObserver(()=>{var Be;const le=((Be=c.current)==null?void 0:Be.clientHeight)||0;if(!le)return;const Ee=le>kt;kt=le,Ee&&Ze()}):null;Ut&&c.current&&Ut.observe(c.current);const It=(le,Ee)=>{var Ht;const Be=(Ht=c.current)==null?void 0:Ht.querySelector(".xterm-screen");if(!Be||!V.cols||!V.rows)return null;const fe=Be.getBoundingClientRect(),je=fe.width/V.cols,Ue=fe.height/V.rows;if(!je||!Ue)return null;const tt=Math.max(0,Math.min(V.cols-1,Math.floor((le-fe.left)/je))),Mt=Math.max(0,Math.min(V.rows-1,Math.floor((Ee-fe.top)/Ue)));return{col:tt,row:X().viewportY+Mt}};let Qe=null;const Pe=(le,Ee)=>{var tt,Mt;const Be=It(le,Ee);if(!Be)return;const fe=((tt=X().getLine(Be.row))==null?void 0:tt.translateToString(!1))??"";let je=Be.col,Ue=Be.col;if(/\S/.test(fe[Be.col]||"")){for(;je>0&&/\S/.test(fe[je-1]);)je--;for(;Ue<V.cols-1&&/\S/.test(fe[Ue+1]);)Ue++}Qe={col:je,row:Be.row},g.current=!0,u(null),clearTimeout(w.current),d(!0),V.select(je,Be.row,Ue-je+1),(Mt=navigator.vibrate)==null||Mt.call(navigator,12)},_t=(le,Ee)=>{const Be=It(le,Ee);if(!Be||!Qe)return;const fe=V.cols,je=Qe.row*fe+Qe.col,Ue=Be.row*fe+Be.col,tt=Math.min(je,Ue);V.select(tt%fe,Math.floor(tt/fe),Math.abs(Ue-je)+1)},Dt=()=>{Qe=null,g.current=!1,u(null),clearTimeout(w.current),d(!1),V.clearSelection()},De=c.current;let ui=0,si=0,hi=0,At=0,Oi=!1,qi=0,st=0,Et=!1,yt=null;const wi=()=>{yt&&(clearTimeout(yt),yt=null)},Pi=le=>Math.hypot(le[0].clientX-le[1].clientX,le[0].clientY-le[1].clientY);let Bi=0,ji=0,vt=0,ft=0,Ft=0,di=null;const Yi=()=>{di!=null&&(cancelAnimationFrame(di),di=null)};v.current=Yi;const Fi=(le,Ee,Be)=>{if(!le)return;let fe=Be,je=null;const Ue=tt=>{if(je==null){je=tt,di=requestAnimationFrame(Ue);return}const Mt=tt-je;je=tt;const Ht=K1(fe,Mt);fe=Ht.v;const Ji=le[Ee];le[Ee]=Ji+Ht.delta;const ao=Math.abs(Ht.delta)>=1&&le[Ee]===Ji;if(Ht.done||ao){di=null;return}di=requestAnimationFrame(Ue)};di=requestAnimationFrame(Ue)},Xi=22;let Yt=0,W=0,se=0,Ae=!1;const Ke=async()=>{var Be;if(Ae||se===0)return;Ae=!0;const le=I1(se),Ee=Math.min(Math.abs(se),40);se=0;try{b.current?await wy(t,le,Ee):await Hc(t,Array(Ee).fill(le==="up"?"Up":"Down")),(Be=M.current)==null||Be.call(M)}catch{}finally{Ae=!1,se!==0&&Ke()}},St=le=>{if(oe=Date.now(),wi(),Yi(),g.current&&Dt(),Et=!1,le.touches.length===2){Oi=!0,At=-1,qi=Pi(le.touches),st=V.options.fontSize||14;return}if(Oi=!1,le.touches.length!==1){At=-1;return}ui=le.touches[0].clientX,si=le.touches[0].clientY,hi=De.scrollLeft,At=0,Bi=ui,ji=si,vt=le.timeStamp,ft=0,Ft=0,W=si,Yt=0,yt=setTimeout(()=>{yt=null,Et=!0,At=-1,Pe(ui,si)},500)},Wt=le=>{if(Oi&&le.touches.length===2){if(qi>0){const fe=Math.max(8,Math.min(40,Math.round(st*(Pi(le.touches)/qi))));fe!==(V.options.fontSize||14)&&(V.options.fontSize=fe,f.current=fe)}le.preventDefault(),le.stopPropagation();return}if(Et&&le.touches.length===1){_t(le.touches[0].clientX,le.touches[0].clientY),le.preventDefault(),le.stopPropagation();return}if(le.touches.length===1&&(Te(),xe()),le.touches.length!==1)return;const Ee=le.touches[0].clientX-ui,Be=le.touches[0].clientY-si;if((Math.abs(Ee)>6||Math.abs(Be)>6)&&wi(),At===0){if(Math.abs(Ee)<6&&Math.abs(Be)<6)return;At=Math.abs(Ee)>Math.abs(Be)?1:-1}if(At===1){De.scrollLeft=hi-Ee;const fe=le.touches[0].clientX,je=le.timeStamp-vt;je>0&&(ft=(Bi-fe)/je),Bi=fe,vt=le.timeStamp,le.preventDefault(),le.stopPropagation()}else{if(k.current){le.preventDefault(),le.stopPropagation();const Ue=le.touches[0].clientY,{notches:tt,rem:Mt}=N1(Yt+(Ue-W),Xi);Yt=Mt,W=Ue,tt&&(se+=tt,Ke());return}const fe=le.touches[0].clientY,je=le.timeStamp-vt;je>0&&(Ft=(ji-fe)/je),ji=fe,vt=le.timeStamp}},et=le=>{if(wi(),Et&&le.touches.length===0){Et=!1,clearTimeout(w.current),w.current=setTimeout(()=>d(!1),3500);const Ee=V.getSelection();if(Ee&&Ee.trim()){const Be=le.changedTouches[0],fe=De.getBoundingClientRect(),je=Math.max(8,Math.min(fe.width-72,Be.clientX-fe.left)),Ue=Math.max(8,Be.clientY-fe.top-46);u({x:je,y:Ue})}else Dt();return}if(Oi&&le.touches.length<2){Oi=!1,nf(V.options.fontSize||14),Ze();return}le.touches.length===0&&q1(At===1?ft:Ft,le.timeStamp-vt)&&(At===1?Fi(De,"scrollLeft",ft):At===-1&&Fi(De.querySelector(".xterm-viewport"),"scrollTop",Ft))};De.addEventListener("touchstart",St,{capture:!0,passive:!0}),De.addEventListener("touchmove",Wt,{capture:!0,passive:!1}),De.addEventListener("touchend",et,{capture:!0,passive:!0});const it=le=>{for(const{deco:fe,marker:je}of r.current)fe.dispose(),je.dispose();if(r.current=[],!o.current)return;const Ee=le.buffer.active,Be=Ee.baseY+Ee.cursorY;for(const{y:fe,x:je,width:Ue}of X1(le)){const tt=le.registerMarker(fe-Be);if(!tt)continue;const Mt=le.registerDecoration({marker:tt,x:je,width:Ue});if(!Mt){tt.dispose();continue}Mt.onRender(Ht=>{Ht.classList.add("doc-deco")}),r.current.push({deco:Mt,marker:tt})}},qe=async(le,Ee)=>{if(re||K)return;re=!0;const Be=Ee?X().length-X().viewportY:0;try{const fe=await vy(t,le,Re);if(K)return;if(Ie(Ol(me,"ok")),fe.unchanged){p(Ee);return}Re=fe.hash,k.current=!!fe.alt,b.current=!!fe.mouseAware,x(Ji=>Ji===!!fe.alt?Ji:!!fe.alt),oe=Date.now();let je=!1;fe.width&&fe.width!==V.cols&&(V.resize(fe.width,V.rows),je=!0);const Ue=we;fe.height&&(we=fe.height);const tt=!be,Mt=fe.cur?`${fe.cur.row},${fe.cur.col},${fe.cur.vis?1:0}`:"";if(!je&&!tt&&fe.ansi===Me&&Mt===pe){p(Ee);return}const Ht=j1(fe.ansi);if(Je=Ht?Ht.split(`
111
- `).length:0,await new Promise(Ji=>V.write("\x1B[?25l\x1B[0m\x1B[2J\x1B[3J\x1B[H"+Ht,Ji)),K)return;Me=fe.ansi,pe=Mt,$e=fe.cur,Ee?V.scrollToLine(Math.max(0,X().length-Be)):V.scrollToBottom(),be=!0;try{it(V)}catch{}p(Ee),dt(),(je||tt||we!==Ue)&&Ze(),tt&&setTimeout(ue,400)}catch(fe){fe instanceof lt?i==null||i():K||Ie(Ol(me,"fail"))}finally{re=!1,ne&&!K&&(ne=!1,de())}},ye=async()=>{if(!(re||K)&&!g.current){if(be&&!ae()){p(!0);return}ke=ge(),await qe(ke,!ie())}};let F=0;async function ee(le){if(!K&&le===F&&await ye(),K||document.hidden||le!==F)return;const Ee=me.failCount>0?H1(me.failCount):z1(Date.now()-oe);J=setTimeout(()=>ee(le),Ee)}const de=()=>{F+=1,J&&(clearTimeout(J),J=null),ee(F)};de();const ze=()=>{if(oe=Date.now(),re){ne=!0;return}de()};M.current=ze;const Oe=()=>{document.hidden?(F+=1,J&&(clearTimeout(J),J=null)):(Ie(Ol(me,"reset")),ke=ge(),oe=Date.now(),de())};document.addEventListener("visibilitychange",Oe);const Ye=V.onScroll(()=>{if(!K){if(ie()){p(!1),$("");return}p(!0),Te(),xe()}});return()=>{K=!0,C.current=null,M.current=null,v.current=null,wi(),Yi(),J&&clearTimeout(J),clearTimeout(w.current),document.removeEventListener("visibilitychange",Oe),window.removeEventListener("resize",Tt),window.removeEventListener("orientationchange",Tt),Ut==null||Ut.disconnect(),De.removeEventListener("touchstart",St,{capture:!0}),De.removeEventListener("touchmove",Wt,{capture:!0}),De.removeEventListener("touchend",et,{capture:!0}),Ye.dispose(),te.dispose();for(const{deco:le,marker:Ee}of r.current)le.dispose(),Ee.dispose();r.current=[],V.dispose(),m.current=null}},[t]);const B=()=>{var te,Q,z,O;(te=v.current)==null||te.call(v);const V=(Q=c.current)==null?void 0:Q.querySelector(".xterm-viewport");V&&(V.scrollTop=V.scrollHeight),(z=m.current)==null||z.scrollToBottom(),p(!1),$(""),(O=M.current)==null||O.call(M)},H=async V=>{var te;try{await Hc(t,[V==="up"?"PageUp":"PageDown"]),(te=M.current)==null||te.call(M)}catch{}},Y=async()=>{const V=m.current,te=V==null?void 0:V.getSelection();if(te){let Q=!1;if(navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(te),Q=!0}catch{}if(!Q){const z=document.createElement("textarea");z.value=te,z.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(z),z.focus(),z.select();try{document.execCommand("copy")}catch{}document.body.removeChild(z)}}V==null||V.clearSelection(),g.current=!1,u(null),clearTimeout(w.current),d(!1)};return _.jsxs("div",{className:"terminal-wrap",children:[_.jsx("div",{ref:c,className:G?"terminal":"terminal terminal--loading"}),!y&&_.jsx("div",{className:"term-banner term-banner--err",children:"⚠ 连接断开,重连中…"}),I&&_.jsx("div",{className:"dbg",children:E}),y&&U&&_.jsx("div",{className:"term-banner term-banner--hist",children:U}),U&&_.jsx("button",{className:"new-output",onClick:B,children:"↓ 回到底部"}),l&&_.jsx("div",{className:"sel-hint",children:"按住拖动选择文字,松手后点「复制」"}),L&&_.jsxs("div",{className:"term-pager",role:"group","aria-label":"翻页",children:[_.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"上翻页",onClick:()=>H("up"),children:_.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:_.jsx("path",{d:"M6 14.5l6-6 6 6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})}),_.jsx("span",{className:"term-pager-div","aria-hidden":"true"}),_.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"下翻页",onClick:()=>H("down"),children:_.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:_.jsx("path",{d:"M6 9.5l6 6 6-6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),a&&_.jsx("button",{className:"copy-bubble",style:{left:a.x,top:a.y},onClick:Y,children:"复制"})]})}),p_={active:!1,phase:null,pct:0,label:""};let qn=p_,En=null;const Wc=new Set,oh=()=>{for(const e of[...Wc])e()};function m_(e,t=""){En=e,qn={active:!0,phase:"sending",pct:0,label:t},oh()}function Aa(e){qn={...qn,...e},oh()}function Vc(){En=null,qn=p_,oh()}function lS(){En==null||En.abort()}const cS=e=>(Wc.add(e),()=>Wc.delete(e)),uS=()=>qn;function hS(){return N.useSyncExternalStore(cS,uS)}const dS=[["esc","tab","tilde","slash","up","at","del"],["ctrl","shift","alt","left","down","right","enter"]],Yn=["ctrl","shift","alt"],Gc={kbd:"⌨",esc:"Esc",up:"▲",tab:"Tab",ctrl:"Ctrl",shift:"Shift",del:"⌫",left:"◀",down:"▼",right:"▶",alt:"Alt",slash:"/",tilde:"~",at:"@",enter:"Enter"},fS=new Set(["up","down","left","right","del"]),Cf={esc:"Escape",tab:"Tab",del:"BSpace",enter:"Enter",up:"Up",down:"Down",left:"Left",right:"Right"},kf={slash:"/",tilde:"~",at:"@"};function pS(e){return e in Cf?{kind:"key",name:Cf[e]}:e in kf?{kind:"text",ch:kf[e]}:null}const Kc="off",ah="armed",qc="locked",ds=e=>e===ah||e===qc,mS=e=>Yn.some(t=>ds(e[t]));function Yc(e){const t={};for(const i of Yn)t[i]=e[i]===ah?Kc:e[i]??Kc;return t}function g_(e,t){if(!e||!mS(t))return e;const i=ds(t.ctrl),s=ds(t.shift),n=ds(t.alt);if(s&&e.kind==="key"){if(e.name==="Tab")return{kind:"key",name:"BTab"};if(["Up","Down","Left","Right"].includes(e.name))return{kind:"key",name:`S-${e.name}`}}return(i||n)&&e.kind==="text"&&/^[a-z0-9]$/i.test(e.ch)?{kind:"key",name:`${i?"C":"M"}-${e.ch.toLowerCase()}`}:e}const gS={up:"Up",down:"Down",left:"Left",right:"Right",enter:"Enter",ret:"Enter",return:"Enter",cr:"Enter",esc:"Escape",escape:"Escape",tab:"Tab",space:"Space",del:"BSpace",bs:"BSpace",bspace:"BSpace",backspace:"BSpace",home:"Home",end:"End",pgup:"PageUp",pageup:"PageUp",pgdn:"PageDown",pagedown:"PageDown"},_S={Escape:"Esc",BSpace:"⌫",Space:"Space",PageUp:"PgUp",PageDown:"PgDn"};function vS(e,t){const i=!!e.ctrl,s=!!e.shift,n=!!e.alt,c=(t||"").trim();if(!c)return null;const m=[];i&&m.push("Ctrl"),s&&m.push("Shift"),n&&m.push("Alt");const r=f=>[...m,f].join("+"),o=gS[c.toLowerCase()];return o?{name:o==="Tab"&&s&&!i&&!n?"BTab":(i?"C-":"")+(n?"M-":"")+(s?"S-":"")+o,label:r(_S[o]||o)}:c.length!==1||!i&&!n&&!s?null:i||n?{name:(i?"C-":"")+(n?"M-":"")+c.toLowerCase(),label:r(c.toUpperCase())}:{name:c.toUpperCase(),label:r(c.toUpperCase())}}function wS(e,{delay:t=400,interval:i=120}={}){let s=null,n=null;const c=()=>{s&&clearTimeout(s),n&&clearInterval(n),s=null,n=null};return{start:()=>{c(),e(),s=setTimeout(()=>{n=setInterval(e,i)},t)},stop:c}}const Ef={up:"Up",down:"Down",left:"Left",right:"Right",tilde:"Tilde",slash:"Slash",at:"At",del:"Backspace"},__=e=>{e.cancelable&&e.preventDefault()},yS=500;function SS({onKey:e,onText:t,mods:i,setMods:s,keyHeldRef:n}){const c=N.useRef(i);c.current=i;const m=o=>{const f=pS(o);if(!f)return;const v=Yn.some(p=>ds(c.current[p])),h=v?g_(f,c.current):f;h.kind==="key"?e(h.name):t(h.ch),v&&s(Yc)},r=o=>Yn.includes(o)?_.jsx(xS,{id:o,state:i[o],setMods:s},o):_.jsx(CS,{id:o,dispatch:m,keyHeldRef:n},o);return _.jsx("div",{className:"keybar-grid",children:dS.flat().map(r)})}const bS=300;function xS({id:e,state:t,setMods:i}){const s=N.useRef(-1/0),n=m=>{const r=m.timeStamp||0;if(r-s.current<bS){s.current=-1/0,i(o=>({...o,[e]:qc}));return}s.current=r,i(o=>({...o,[e]:ds(o[e])?Kc:ah}))},c=t===qc?" locked":ds(t)?" armed":"";return _.jsx("button",{type:"button",className:`keybar-key keybar-mod${c}`,"data-key":e,"data-state":t,"aria-pressed":ds(t),"aria-label":Gc[e],onPointerDown:__,onClick:n,children:Gc[e]})}function CS({id:e,dispatch:t,keyHeldRef:i}){const s=N.useRef(null),n=N.useRef(t);n.current=t;const c=N.useRef(null),m=y=>{i&&(i.current=y)},r=Gc[e];if(!fS.has(e))return _.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":Ef[e]||r,onPointerDown:__,onClick:()=>t(e),children:r});const o=()=>{const y=c.current;y!=null&&y.guard&&(clearTimeout(y.guard),y.guard=null)},f=y=>{y.cancelable&&y.preventDefault(),s.current||(s.current=wS(()=>n.current(e)));const S={x:y.clientX,y:y.clientY,held:!1,moved:!1,guard:null};S.guard=setTimeout(()=>{S.held=!0,S.guard=null,s.current.start()},yS),c.current=S,m(!0)},v=y=>{const S=c.current;!S||S.held||(Math.abs(y.clientX-S.x)>8||Math.abs(y.clientY-S.y)>8)&&(S.moved=!0,o(),m(!1))},h=()=>{const y=c.current;m(!1),y&&(o(),y.held?s.current.stop():y.moved||n.current(e),c.current=null)},p=()=>{var y;m(!1),o(),(y=c.current)!=null&&y.held&&s.current.stop(),c.current=null};return _.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":Ef[e]||r,onPointerDown:f,onPointerMove:v,onPointerUp:h,onPointerCancel:p,onPointerLeave:p,children:r})}const v_=e=>`hm_favs6_${e}`,w_="command",Xc=e=>e?`command@${e}`:w_,kS={command:[],agent:[{kind:"key",text:"Escape",label:"Esc"},{kind:"key",text:"Tab",label:"Tab"},{kind:"key",text:"BSpace",label:"⌫"},{kind:"reply",text:"ok"},{kind:"reply",text:"go on"},{kind:"reply",text:"1"},{kind:"reply",text:"2"},{kind:"reply",text:"3"},{kind:"cmd",text:"/compact"},{kind:"cmd",text:"/clear"},{kind:"cmd",text:"/model"}]};function pi(e){try{const t=localStorage.getItem(v_(e));if(t)return JSON.parse(t)}catch{}return(kS[e]||[]).map(t=>({...t}))}function sl(e,t){try{localStorage.setItem(v_(e),JSON.stringify(t))}catch{}return t}function Jc(e,t){const i=pi(e);if(i.some(n=>n.text===t.text))return i;const s=t.kind==="key"?{kind:"key",text:t.text,label:t.label}:{kind:t.kind,text:t.text,enter:!!t.enter};return sl(e,[...i,s])}function Zc(e,t){return sl(e,pi(e).filter(i=>i.text!==t))}function ES(e,t,i){const s=pi(e),n=s.findIndex(m=>m.text===t);if(n<0||s.some((m,r)=>r!==n&&m.text===i.text))return s;const c=s.slice();return c[n]=i.kind==="key"?{kind:"key",text:i.text,label:i.label}:{kind:i.kind,text:i.text,enter:!!i.enter},sl(e,c)}function LS(e,t,i){const s=pi(e),n=s.findIndex(r=>r.text===t),c=n+(i<0?-1:1);if(n<0||c<0||c>=s.length)return s;const m=s.slice();return[m[n],m[c]]=[m[c],m[n]],sl(e,m)}const RS=e=>{var t;try{(t=navigator.clipboard)==null||t.writeText(e)}catch{}};function TS({open:e,mode:t,recent:i=[],onSend:s,onFill:n,onClose:c,onDelete:m,historyOnly:r=!1}){const[o,f]=N.useState(()=>pi(t)),v=N.useRef(null),[h,p]=N.useState(t);if(h!==t&&(p(t),f(pi(t))),!e)return null;const y=r?[]:o.filter(u=>u.kind==="reply"),S=r?[]:o.filter(u=>u.kind==="cmd"),g=()=>{var d;const u=(((d=v.current)==null?void 0:d.value)||"").trim();if(!u)return;const l=t==="agent"&&!u.startsWith("/")?"reply":"cmd";f(Jc(t,{kind:l,text:u})),v.current&&(v.current.value="")},a=u=>f(Zc(t,u));return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:c}),_.jsxs("div",{className:`cmd-panel${r?" history":""}`,role:"dialog","aria-label":D("fav.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:D(r?"dock.history":"fav.title")}),_.jsx("button",{className:"cmd-close",onClick:c,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsxs("div",{className:"cmd-list",children:[r&&_.jsx("div",{className:"cmd-hint",children:D("history.scope")}),y.length>0&&_.jsx("div",{className:"fav-chips",children:y.map(u=>_.jsx("span",{className:"fav-chip",onClick:()=>s(u.text),onContextMenu:l=>{l.preventDefault(),a(u.text)},children:u.text},u.text))}),S.map(u=>_.jsxs("div",{className:"cmd-row",children:[_.jsx("span",{className:"cmd-text",onClick:()=>s(u.text),onDoubleClick:()=>n(u.text),children:u.text}),_.jsx("button",{className:"cmd-del",onClick:()=>a(u.text),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},u.text)),i.map(u=>_.jsxs("div",{className:"cmd-row",children:[_.jsx("span",{className:"cmd-text",onClick:()=>s(u),onDoubleClick:()=>n(u),children:u}),_.jsx("button",{className:"cmd-copy",onClick:()=>RS(u),"aria-label":D("common.copy"),children:_.jsx(Zg,{})}),m&&_.jsx("button",{className:"cmd-del",onClick:()=>m(u),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},`r:${u}`)),r&&i.length===0&&_.jsx("div",{className:"cmd-empty",children:D("history.empty")}),!r&&_.jsxs("div",{className:"fav-add",children:[_.jsx("input",{ref:v,className:"fav-add-input",placeholder:D("fav.addPlaceholder"),onKeyDown:u=>{u.key==="Enter"&&g()}}),_.jsx("button",{className:"fav-add-btn",onClick:g,children:D("fav.add")})]})]})]})]})}const Ma=[{key:"none",mods:{}},{key:"ctrl",label:"Ctrl",mods:{ctrl:!0}},{key:"shift",label:"Shift",mods:{shift:!0}},{key:"alt",label:"Alt",mods:{alt:!0}},{key:"ctrl-shift",label:"Ctrl+Shift",mods:{ctrl:!0,shift:!0}},{key:"ctrl-alt",label:"Ctrl+Alt",mods:{ctrl:!0,alt:!0}}],DS=e=>Ma.find(t=>t.key===e)||Ma[0],AS=[["Up","↑ Up"],["Down","↓ Down"],["Left","← Left"],["Right","→ Right"],["Tab","⇥ Tab"],["Enter","⏎ Enter"],["Escape","⎋ Esc"],["Space","␣ Space"],["BSpace","⌫ Backspace"],["Home","Home"],["End","End"],["PageUp","PgUp"],["PageDown","PgDn"]],MS=[...AS.map(([e,t])=>({value:e,label:t})),..."abcdefghijklmnopqrstuvwxyz".split("").map(e=>({value:e,label:e.toUpperCase()})),..."0123456789".split("").map(e=>({value:e,label:e}))];function NS(e){let t=e.text||"";if(t==="BTab")return{sticky:"shift",base:"Tab"};let i=!1,s=!1,n=!1;t.startsWith("C-")&&(i=!0,t=t.slice(2)),t.startsWith("M-")&&(s=!0,t=t.slice(2)),t.startsWith("S-")&&(n=!0,t=t.slice(2)),!i&&!s&&!n&&t.length===1&&t>="A"&&t<="Z"&&(n=!0);const c=Ma.find(m=>!!m.mods.ctrl===i&&!!m.mods.shift===n&&!!m.mods.alt===s);return{sticky:c?c.key:"none",base:t.length===1?t.toLowerCase():t}}function Lf({value:e,options:t,onChange:i,placeholder:s}){const[n,c]=N.useState(!1),m=t.find(r=>r.value===e);return _.jsxs("div",{className:"cmd-dd",children:[_.jsxs("button",{type:"button",className:`cmd-dd-btn${n?" open":""}`,onClick:()=>c(r=>!r),"aria-haspopup":"listbox","aria-expanded":n,children:[_.jsx("span",{className:m?void 0:"cmd-dd-ph",children:m?m.label:s}),_.jsx(Bs,{})]}),n&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-dd-scrim",onClick:()=>c(!1)}),_.jsx("div",{className:"cmd-dd-menu",role:"listbox",children:t.map(r=>_.jsxs("button",{type:"button",role:"option","aria-selected":r.value===e,className:`cmd-dd-opt${r.value===e?" on":""}`,onClick:()=>{i(r.value),c(!1)},children:[_.jsx("span",{children:r.label}),r.value===e&&_.jsx(Yg,{})]},r.value))})]})]})}function IS({title:e,accent:t,items:i,showTitle:s=!0,onMove:n,onDel:c,onEdit:m}){return _.jsxs("div",{className:`cmd-esection ${t}`,children:[s&&_.jsx("div",{className:`cmd-section ${t}`,children:_.jsx("span",{className:"cmd-section-name",children:e})}),i.length===0&&_.jsx("div",{className:"cmd-empty",children:D("cmd.empty")}),i.map((r,o)=>_.jsxs("div",{className:"cmd-row",children:[_.jsxs("button",{type:"button",className:"cmd-text cmd-fav-text",onClick:()=>m(r),children:[r.kind==="key"&&r.label||r.text,r.kind!=="key"&&r.enter&&_.jsx("span",{className:"cmd-enter","aria-hidden":"true",children:"⏎"})]}),_.jsx("button",{className:"cmd-move up",disabled:o===0,onClick:()=>n(r.text,-1),"aria-label":D("cmd.moveUp"),children:_.jsx(Bs,{})}),_.jsx("button",{className:"cmd-move",disabled:o===i.length-1,onClick:()=>n(r.text,1),"aria-label":D("cmd.moveDown"),children:_.jsx(Bs,{})}),_.jsx("button",{className:"cmd-del",onClick:()=>c(r.text),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},r.text))]})}function OS({scopes:e,cfg:t,edit:i,inset:s,onAdd:n,onUpdate:c,onClose:m}){const r=i&&i.fav.kind==="key"?NS(i.fav):null,[o,f]=N.useState(i&&i.fav.kind==="key"?"key":"msg"),[v,h]=N.useState(i?i.scope:e[0].key),[p,y]=N.useState(i?r?r.base:i.fav.text:""),[S,g]=N.useState(i&&i.fav.kind!=="key"?!!i.fav.enter:!1),[a,u]=N.useState(r?r.sticky:"none"),l=N.useRef(null),d=E=>{E!==o&&(f(E),y(""))},w=Ma.map(E=>({value:E.key,label:E.label??D("cmd.stickyNone")})),k=o==="key"?vS(DS(a).mods,p):null,b=e.some(E=>E.key===v)?v:e[0].key,L=o==="key"?!!k:!!p.trim(),x=()=>{var R;if(!L)return;const E=o==="key"?{kind:"key",text:k.name,label:k.label}:{kind:t.msgKind(p.trim()),text:p.trim(),enter:S};if(i){c(i.scope,i.fav.text,b,E);return}n(b,E),y(""),(R=l.current)==null||R.focus()};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop cmd-add-backdrop",onClick:m}),_.jsxs("div",{className:"cmd-addcard",role:"dialog","aria-label":D(i?"cmd.editItem":"cmd.addTitle"),style:{transform:`translate(-50%, calc(-50% + ${s/2}px))`},children:[_.jsxs("div",{className:"cmd-addcard-head",children:[_.jsx("span",{className:"cmd-title",children:D(i?"cmd.editItem":"cmd.addTitle")}),_.jsx("button",{className:"cmd-close",onClick:m,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsxs("div",{className:"cmd-modetabs",role:"tablist",children:[_.jsx("button",{type:"button",role:"tab","aria-selected":o==="msg",className:`cmd-modetab${o==="msg"?" on":""}`,onClick:()=>d("msg"),children:t.msgLabel}),_.jsx("button",{type:"button",role:"tab","aria-selected":o==="key",className:`cmd-modetab${o==="key"?" on":""}`,onClick:()=>d("key"),children:D("cmd.tabKey")})]}),e.length>1&&_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.addTo")}),_.jsx("div",{className:"cmd-seg",role:"group",children:e.map(E=>_.jsx("button",{type:"button","aria-pressed":b===E.key,className:`cmd-seg-btn${E.accent==="win"?" win":""}${b===E.key?" on":""}`,onClick:()=>h(E.key),children:E.title},E.key))})]}),o==="key"?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.sticky")}),_.jsx(Lf,{value:a,options:w,onChange:u})]}),_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.baseKey")}),_.jsx(Lf,{value:p,options:MS,onChange:y,placeholder:D("cmd.pickKey")}),k&&_.jsx("span",{className:"cmd-chord-preview",children:k.label})]})]}):_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:t.msgLabel}),_.jsx("input",{ref:l,className:"cmd-add-input",value:p,placeholder:t.placeholder,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:E=>y(E.target.value),onKeyDown:E=>{E.key==="Enter"&&x()}})]}),t.hasEnter&&_.jsxs("label",{className:"cmd-toggle-row",children:[_.jsx("span",{children:D("cmd.withEnter")}),_.jsxs("span",{className:"cmd-switch",children:[_.jsx("input",{type:"checkbox",checked:S,onChange:E=>g(E.target.checked)}),_.jsx("span",{className:"cmd-switch-track","aria-hidden":"true"}),_.jsx("span",{className:"cmd-switch-knob","aria-hidden":"true"})]})]})]}),_.jsx("button",{type:"button",className:"cmd-submit",disabled:!L,onClick:x,children:D(i?"common.save":"fav.add")})]})]})}function PS(e,t){if(e==="chat")return{title:D("chat.editTitle"),scopes:[{key:"agent",title:D("chat.favs"),accent:"global"}],card:{msgLabel:D("chat.tabMsg"),placeholder:D("chat.addPlaceholder"),hasEnter:!1,msgKind:s=>s.startsWith("/")?"cmd":"reply"}};const i=t?Xc(t):null;return{title:D("cmd.editTitle"),scopes:[{key:w_,title:D("cmd.global"),accent:"global"},...i?[{key:i,title:D("cmd.window"),accent:"win"}]:[]],card:{msgLabel:D("cmd.tabCmd"),placeholder:D("cmd.addPlaceholder"),hasEnter:!0,msgKind:()=>"cmd"}}}function Rf({windowId:e,inset:t=0,variant:i="command",onClose:s}){const{title:n,scopes:c,card:m}=PS(i,e),[r,o]=N.useState(()=>Object.fromEntries(c.map(a=>[a.key,pi(a.key)]))),[f,v]=N.useState(null),h=()=>o(Object.fromEntries(c.map(a=>[a.key,pi(a.key)]))),p=(a,u,l)=>{LS(a,u,l),h()},y=(a,u)=>{Zc(a,u),h()},S=(a,u)=>{Jc(a,u),h()},g=(a,u,l,d)=>{a===l?ES(a,u,d):(Zc(a,u),Jc(l,d)),h(),v(null)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:s}),_.jsxs("div",{className:"cmd-panel cmd-editor",role:"dialog","aria-label":n,children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:n}),_.jsx("button",{className:"cmd-add-open",onClick:()=>v({edit:null}),"aria-label":D("cmd.addTitle"),children:_.jsx(qg,{})}),_.jsx("button",{className:"cmd-close",onClick:s,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsx("div",{className:"cmd-list",children:c.map(a=>_.jsx(IS,{title:a.title,accent:a.accent,items:r[a.key]||[],showTitle:c.length>1,onMove:(u,l)=>p(a.key,u,l),onDel:u=>y(a.key,u),onEdit:u=>v({edit:{fav:u,scope:a.key}})},a.key))})]}),f&&_.jsx(OS,{scopes:c,cfg:m,edit:f.edit,inset:t,onAdd:S,onUpdate:g,onClose:()=>v(null)})]})}function y_({active:e,disabled:t,onToggle:i}){const s=N.useRef({x:0,y:0,moved:!1}),n=r=>{s.current={x:r.clientX,y:r.clientY,moved:!1}},c=r=>{const o=s.current;!o.moved&&Math.hypot(r.clientX-o.x,r.clientY-o.y)>10&&(o.moved=!0)},m=()=>{s.current.moved||i()};return _.jsx("button",{type:"button",className:`input-mic${e?" on":""}`,"aria-label":D(e?"mic.stop":"mic.start"),"aria-pressed":e,disabled:t,onPointerDown:n,onPointerMove:c,onPointerUp:m,children:_.jsx(s1,{})})}const S_=["jpg","jpeg","png","gif","webp","svg","bmp","heic","heif","avif","ico","tiff","mp4","m4v","mov","webm","mkv","avi","wmv","flv","3gp","ogv","mpeg","mpg","txt","md","markdown","rst","log","csv","tsv","json","yaml","yml","toml","ini","conf","xml","html","htm","css","js","mjs","cjs","ts","tsx","jsx","py","rb","go","rs","java","c","h","cpp","sh","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","rtf"],b_=S_.map(e=>`.${e}`).join(","),BS=new Set(S_);function jS(e){const t=/\.([A-Za-z0-9]+)$/.exec(e||"");return t?BS.has(t[1].toLowerCase()):!1}function x_(e){const i=(Array.isArray(e)?e:e&&typeof e.length=="number"?Array.from(e):[e]).filter(Boolean),s=[],n=[];for(const c of i)(jS(c.name)?s:n).push(c);return{allowed:s,rejected:n.map(c=>c.name)}}function FS(e,t){const i=t/16e3,s=Math.floor(e.length/i),n=new Int16Array(s);for(let c=0;c<s;c++){let m=e[Math.floor(c*i)];m>1?m=1:m<-1&&(m=-1),n[c]=m<0?m*32768:m*32767}return new Uint8Array(n.buffer)}function HS(e=1280){let t=new Uint8Array(0);return{push(i){const s=new Uint8Array(t.length+i.length);s.set(t),s.set(i,t.length);const n=[];let c=0;for(;s.length-c>=e;)n.push(s.slice(c,c+e)),c+=e;return t=s.slice(c),n},flush(){if(t.length===0)return null;const i=t;return t=new Uint8Array(0),i}}}function Tf(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return btoa(t)}const $S="data:text/javascript;base64,Ly8gd2ViL3NyYy92b2ljZS9wY20td29ya2xldC5qcwovLyBNaW5pbWFsIEF1ZGlvV29ya2xldDogZm9yd2FyZCBlYWNoIHJlbmRlciBxdWFudHVtJ3MgbW9ubyBzYW1wbGVzIHRvIHRoZSBtYWluIHRocmVhZCwgd2hpY2ggZG9lcyB0aGUKLy8gKHVuaXQtdGVzdGVkKSBkb3duc2FtcGxlL2ZyYW1lL2VuY29kZS4gS2VwdCB0cml2aWFsIG9uIHB1cnBvc2Ug4oCUIHdvcmtsZXQgY29kZSBjYW4ndCBiZSB1bml0LXRlc3RlZC4KY2xhc3MgUGNtRm9yd2FyZGVyIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBwcm9jZXNzKGlucHV0cykgewogICAgY29uc3QgY2ggPSBpbnB1dHNbMF0gJiYgaW5wdXRzWzBdWzBdOwogICAgaWYgKGNoICYmIGNoLmxlbmd0aCkgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKGNoLnNsaWNlKDApKTsgLy8gY29weTogdGhlIGJ1ZmZlciBpcyByZXVzZWQgYWZ0ZXIgcHJvY2VzcygpCiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KcmVnaXN0ZXJQcm9jZXNzb3IoJ3BjbS1mb3J3YXJkZXInLCBQY21Gb3J3YXJkZXIpOwo=";function zS({getUserMedia:e=i=>navigator.mediaDevices.getUserMedia(i),AudioCtor:t=window.AudioContext||window.webkitAudioContext}={}){let i=null,s=null,n=null,c=null;const m=HS(1280);async function r(f){s=await e({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),i=new t,await i.resume(),await i.audioWorklet.addModule($S),c=i.createMediaStreamSource(s),n=new AudioWorkletNode(i,"pcm-forwarder"),n.port.onmessage=v=>{const h=FS(v.data,i.sampleRate);for(const p of m.push(h))f(Tf(p))},c.connect(n),n.connect(i.destination)}async function o(){try{n&&(n.port.onmessage=null)}catch{}try{c&&c.disconnect(),n&&n.disconnect()}catch{}try{s&&s.getTracks().forEach(v=>v.stop())}catch{}try{i&&await i.close()}catch{}const f=m.flush();return i=s=n=c=null,f?Tf(f):null}return{start:r,stop:o}}const US={language:"zh_cn",domain:"iat",accent:"mandarin",vad_eos:1e4,dwa:"wpgs",ptt:1,nunum:1},lh="audio/L16;rate=16000";function WS(e,t){return{common:{app_id:e},business:{...US},data:{status:0,format:lh,encoding:"raw",audio:t}}}function VS(e){return{data:{status:1,format:lh,encoding:"raw",audio:e}}}function GS(){return{data:{status:2,format:lh,encoding:"raw",audio:""}}}function Df(){return{sentences:new Map}}function KS(e,t){var c;const i=(c=t==null?void 0:t.data)==null?void 0:c.result;if(!i||!Array.isArray(i.ws))return e;const s=i.ws.map(m=>(m.cw||[]).map(r=>r.w).join("")).join(""),n=new Map(e.sentences);if(i.pgs==="rpl"&&Array.isArray(i.rg))for(let m=i.rg[0];m<=i.rg[1];m++)n.delete(m);return n.set(i.sn,s),{sentences:n}}function Af(e){return[...e.sentences.keys()].sort((t,i)=>t-i).map(t=>e.sentences.get(t)).join("")}const qS=55e3,YS=4e3;function C_({onText:e,deps:t={}}){const i=t.signAsr||Ay,s=t.WebSocketCtor||window.WebSocket,n=t.makeRecorder||(()=>zS()),[c,m]=N.useState("idle"),[r,o]=N.useState(""),f=N.useRef("idle"),v=N.useCallback(E=>{f.current=E,m(E)},[]),h=N.useRef(null),p=N.useRef(null),y=N.useRef(Df()),S=N.useRef(""),g=N.useRef(!1),a=N.useRef(null),u=N.useRef(null),l=N.useRef(null),d=N.useRef(e);d.current=e;const w=N.useCallback(()=>{clearTimeout(a.current),clearTimeout(u.current);try{h.current&&h.current.close()}catch{}h.current=null,p.current=null,g.current=!1},[]),k=N.useCallback(()=>{var E;f.current!=="idle"&&((E=d.current)==null||E.call(d,Af(y.current)),o(""),v("idle"),w())},[w,v]),b=N.useCallback(E=>{const R=h.current;!R||R.readyState!==1||(R.send(JSON.stringify(g.current?VS(E):WS(S.current,E))),g.current=!0)},[]),L=N.useCallback(async()=>{if(f.current==="recording"){v("finalizing"),clearTimeout(a.current);try{const E=p.current?await p.current.stop():null;E&&b(E);const R=h.current;R&&R.readyState===1?(R.send(JSON.stringify(GS())),u.current=setTimeout(()=>k(),YS)):k()}catch{v("error"),w()}}},[b,w,v,k]);l.current=L;const x=N.useCallback(async()=>{if(!(f.current!=="idle"&&f.current!=="error")){v("requesting"),o(""),y.current=Df(),g.current=!1;try{const{url:E,appId:R}=await i();S.current=R;const I=new s(E);h.current=I,I.onmessage=A=>{var U;const P=JSON.parse(A.data);y.current=KS(y.current,P),o(Af(y.current)),((U=P==null?void 0:P.data)==null?void 0:U.status)===2&&k()},I.onerror=()=>{v("error"),w()},I.onclose=()=>{(f.current==="recording"||f.current==="finalizing")&&k()};const T=n();p.current=T,await T.start(b),v("recording"),a.current=setTimeout(()=>{var A;(A=l.current)==null||A.call(l)},qS)}catch{v("error"),w()}}},[i,s,n,b,w,v,k]);return N.useEffect(()=>w,[w]),{state:c,partial:r,start:x,stop:L}}const k_="tw_asr";function XS(){try{const e=localStorage.getItem(k_);return e==null?null:e==="1"}catch{return null}}function E_(){const[e,t]=N.useState(XS);return N.useEffect(()=>{let i=!0;return Promise.resolve().then(Vg).then(s=>{if(!i)return;const n=!!(s!=null&&s.asr);t(n);try{localStorage.setItem(k_,n?"1":"0")}catch{}}).catch(()=>{}),()=>{i=!1}},[]),e}function ch(e){N.useEffect(()=>{if(!e||!("wakeLock"in navigator))return;let t=null,i=!1;const s=async()=>{try{const c=await navigator.wakeLock.request("screen");if(i){try{c.release()}catch{}return}t=c}catch{}},n=()=>{document.visibilityState==="visible"&&!i&&s()};return s(),document.addEventListener("visibilitychange",n),()=>{i=!0,document.removeEventListener("visibilitychange",n);try{t&&t.release()}catch{}t=null}},[e])}function $i(e,t){const i=N.useRef(t);i.current=t,N.useEffect(()=>{if(!e)return;window.history.pushState({overlay:!0},"");const s=()=>{var n;return(n=i.current)==null?void 0:n.call(i)};return window.addEventListener("popstate",s),()=>{var n;window.removeEventListener("popstate",s),(n=window.history.state)!=null&&n.overlay&&window.history.back()}},[e])}const mr={ESC:"Escape",Esc:"Escape",Tab:"Tab","⌫":"BSpace"},Mf=e=>{e.cancelable&&e.preventDefault()},JS=e=>{var t,i;(i=(t=e.target).closest)!=null&&i.call(t,"input, textarea, [contenteditable]")||e.cancelable&&e.preventDefault()},Nf=80,ZS=e=>mr[e]?"esc":e.startsWith("/")?"cmd":"reply",QS=450;function Bl({className:e,onTap:t,onHold:i,children:s,...n}){const c=N.useRef({timer:null,long:!1,moved:!1,x:0,y:0}),m=v=>{v.cancelable&&v.preventDefault();const h=c.current;h.long=!1,h.moved=!1,h.x=v.clientX,h.y=v.clientY,i&&(h.timer=setTimeout(()=>{var p;h.long=!0,(p=navigator.vibrate)==null||p.call(navigator,12),i()},QS))},r=v=>{const h=c.current;h.moved||(Math.abs(v.clientX-h.x)>8||Math.abs(v.clientY-h.y)>8)&&(h.moved=!0,clearTimeout(h.timer))},o=()=>{const v=c.current;if(clearTimeout(v.timer),v.timer=null,v.moved){v.moved=!1;return}if(v.long){v.long=!1;return}t()},f=()=>{const v=c.current;clearTimeout(v.timer),v.timer=null,v.long=!1,v.moved=!1};return _.jsx("button",{type:"button",className:e,...n,onPointerDown:m,onPointerMove:r,onPointerUp:o,onPointerCancel:f,onPointerLeave:f,children:s})}function eb({pane:e,onAuthFail:t,onKey:i,onText:s,cwd:n=null,agent:c=null,windowId:m=null,recent:r=[],onSent:o,onRemoveRecent:f,inset:v=0},h){const[p,y]=N.useState(()=>Vw());N.useEffect(()=>{Gw(p)},[p]);const[S,g]=N.useState(!1),[a,u]=N.useState(!1),[l,d]=N.useState(!1),[w,k]=N.useState(()=>pi("agent")),[b,L]=N.useState(!1);N.useEffect(()=>{!l&&!b&&k(pi("agent"))},[l,b]);const[x,E]=N.useState(()=>pi("command")),[R,I]=N.useState(()=>m?pi(Xc(m)):[]),[T,A]=N.useState(!1);N.useEffect(()=>{T||(E(pi("command")),I(m?pi(Xc(m)):[]))},[T,m]);const[P,U]=N.useState({}),$=P[e]||(c?"agent":"command"),G=W=>U(se=>({...se,[e]:W})),[j,C]=N.useState({ctrl:"off",shift:"off",alt:"off"}),[M,B]=N.useState(!1),H=N.useRef(null),Y=N.useRef(null),V=$==="command"?0:1,te=N.useRef(V);te.current=V;const Q=N.useRef(G);Q.current=G;const z=N.useRef(!1),O=N.useRef(!1),J=()=>{var W;return((W=H.current)==null?void 0:W.clientWidth)||0},K=W=>{const se=Y.current;se&&(se.style.transition="none",se.style.transform=`translate3d(${W}px, 0, 0)`)},re=()=>{const W=Y.current;!W||!W.style.transform||(W.style.transition="",W.style.transform="")};N.useLayoutEffect(()=>{z.current||re()});const ne=()=>{const W=H.current;if(!W)return;const se=W.querySelector($==="command"?".dock-page.command":".dock-page.chat");se&&(W.style.height=`${se.offsetHeight}px`)};N.useLayoutEffect(()=>{$==="agent"&&xe(Me.current),ne()});const be=N.useRef(ne);be.current=ne,N.useEffect(()=>{const W=H.current;if(!W||typeof ResizeObserver>"u")return;const se=new ResizeObserver(()=>{z.current||be.current()});return W.querySelectorAll(".dock-page").forEach(Ae=>se.observe(Ae)),()=>se.disconnect()},[]),N.useEffect(()=>{if($!=="agent")return;const W=requestAnimationFrame(()=>{xe(Me.current),ne()});return()=>cancelAnimationFrame(W)},[$]),N.useEffect(()=>{var se;if($==="agent")return;document.activeElement===Me.current&&((se=Me.current)==null||se.blur());const W=H.current;W&&(W.scrollLeft=0,W.scrollTop=0)},[$]),N.useEffect(()=>{const W=H.current;if(!W)return;let se=null;const Ae=et=>{var qe,ye;re();const it=((ye=(qe=et.target)==null?void 0:qe.closest)==null?void 0:ye.call(qe,".quick-scroll"))||null;se=et.touches.length===1?{x:et.touches[0].clientX,y:et.touches[0].clientY,dx:0,decided:!1,horiz:!1,strip:it}:null},Ke=et=>{if(!se||et.touches.length!==1||O.current&&!se.horiz)return;const it=et.touches[0].clientX-se.x,qe=et.touches[0].clientY-se.y;if(!se.decided){if(Math.abs(it)<16&&Math.abs(qe)<16)return;if(se.decided=!0,se.horiz=Math.abs(it)>Math.abs(qe)*1.4,se.horiz&&se.strip){const ee=se.strip,de=te.current,ze=ee.scrollLeft<=0,Oe=ee.scrollLeft>=ee.scrollWidth-ee.clientWidth-1,Ye=it>0&&ze&&de===1,ot=it<0&&Oe&&de===0;Ye||ot||(se.horiz=!1)}}if(!se.horiz)return;et.preventDefault(),z.current=!0,se.dx=it;const ye=J()||1;let F=it;te.current===0?F=Math.min(0,Math.max(-ye,F)):F=Math.max(0,Math.min(ye,F)),K(-te.current*ye+F)},St=()=>{if(z.current=!1,!se||!se.horiz){se=null,re();return}const et=te.current,it=se.dx;se=null;let qe=et;et===0&&it<-Nf?qe=1:et===1&&it>Nf&&(qe=0),re(),qe!==et&&Q.current(qe===1?"agent":"command")},Wt=()=>{(W.scrollLeft||W.scrollTop)&&(W.scrollLeft=0,W.scrollTop=0)};return W.addEventListener("scroll",Wt,{passive:!0}),W.addEventListener("touchstart",Ae,{passive:!0}),W.addEventListener("touchmove",Ke,{passive:!1}),W.addEventListener("touchend",St,{passive:!0}),W.addEventListener("touchcancel",St,{passive:!0}),()=>{W.removeEventListener("scroll",Wt),W.removeEventListener("touchstart",Ae),W.removeEventListener("touchmove",Ke),W.removeEventListener("touchend",St),W.removeEventListener("touchcancel",St)}},[]),$i(l,()=>d(!1));const[ge,ke]=N.useState(null),Me=N.useRef(null),pe=N.useRef(null),$e=N.useRef(null),Je=N.useRef(null),Re=N.useRef({head:"",tail:""}),oe=N.useRef(null),Se=N.useRef(!1),me=C_({onText:W=>{if(Se.current){Se.current=!1;return}const{head:se,tail:Ae}=Re.current;y(se+W+Ae),oe.current=se.length+W.length}}),Ie=E_(),X=me.state==="recording"||me.state==="finalizing";ch(X),N.useEffect(()=>()=>clearTimeout(Je.current),[]),N.useEffect(()=>{if(me.state!=="recording"&&me.state!=="finalizing"||Se.current)return;const{head:W,tail:se}=Re.current;y(W+me.partial+se),oe.current=W.length+me.partial.length},[me.partial,me.state]),N.useLayoutEffect(()=>{const W=Me.current;if(!W)return;let se=!1;if(oe.current!=null){const Ae=oe.current;if(oe.current=null,document.activeElement===W)try{W.setSelectionRange(Ae,Ae)}catch{}se=Ae>=p.length}xe(W),se&&(W.scrollTop=W.scrollHeight)},[p]);const Te=()=>{if(X){me.stop();return}const W=Me.current,se=W?W.selectionStart:p.length;Re.current={head:p.slice(0,se),tail:p.slice(se)},me.start()},ie=40,ae=N.useRef(null),ve=(W,se)=>{const Ae=ae.current;if(!Ae)return null;Ae.style.width=`${se}px`,Ae.textContent=W;const Ke=document.createElement("span");return Ae.appendChild(Ke),{h:Ae.offsetHeight,endX:Ke.offsetLeft}},xe=W=>{if(!W)return;W.style.height="auto";const se=Ie?76:38,Ae=Ie?86:48,Ke=W.parentElement.clientWidth-11,St=W.value?ve(W.value,Ke-se):null,Wt=St?St.h>ie:!1;g(Wt);const et=Wt?ve(W.value,Ke):null;u(!!et&&Ke-et.endX<Ae),W.style.height=`${W.scrollHeight+2}px`},we=()=>{X&&(Se.current=!0,me.stop())},dt=async()=>{if(e){we();try{await Zo(e,p,!0),o==null||o(p),y(""),requestAnimationFrame(()=>xe(Me.current))}catch(W){W instanceof lt&&(t==null||t())}}},ut=N.useRef(!1),Ze=W=>{const se=W.value;if(W.value="",!se)return;const Ae=Yn.some(Ke=>ds(j[Ke]));if(Ae&&se.length===1){const Ke=g_({kind:"text",ch:se},j);if(Ke.kind==="key"){i(Ke.name),C(Yc);return}}s(se),Ae&&C(Yc)},Tt=W=>{var se;(se=W.nativeEvent)!=null&&se.isComposing||ut.current||Ze(W.target)},kt=()=>{$==="command"&&(ut.current=!0)},Ut=W=>{$==="command"&&(ut.current=!1,Ze(W.target))},It=W=>{var se;if(!($!=="command"||(se=W.nativeEvent)!=null&&se.isComposing)){if(W.key==="Enter"&&!W.shiftKey){W.preventDefault(),i("Enter");return}W.key==="Backspace"&&(W.preventDefault(),i("BSpace"))}},Qe=()=>{const W=pe.current;W&&(document.activeElement===W?W.blur():W.focus())},Pe=W=>{y(W),d(!1),requestAnimationFrame(()=>{var se;(se=Me.current)==null||se.focus(),xe(Me.current)})},_t=async W=>{if(e)try{await Zo(e,W,!0),o==null||o(W)}catch(se){se instanceof lt&&(t==null||t())}},Dt=W=>Pe(W),De=W=>{if(mr[W]){i(mr[W]);return}_t(W)},ui=W=>{if(W.kind==="key"){i(W.text);return}De(W.text)},si=W=>{if(W.kind==="key"){i(W.text);return}if(mr[W.text]){i(mr[W.text]);return}if(W.enter){_t(W.text);return}s(W.text)},hi=W=>W.kind==="key"&&W.label||W.text,At=W=>W.kind==="key"||mr[W.text]||!W.enter?void 0:()=>s(W.text);N.useImperativeHandle(h,()=>({fill:Pe}),[]);const Oi=W=>{if(!W.length)return;let se;if(W.length===1)se=W[0];else{const Ae=W[0].slice(0,W[0].lastIndexOf("/")+1);se=W.every(Ke=>Ke.startsWith(Ae))?`${Ae}{${W.map(Ke=>Ke.slice(Ae.length)).join(",")}}`:W.join(" ")}y(Ae=>Ae&&!/\s$/.test(Ae)?`${Ae} ${se}`:Ae+se),requestAnimationFrame(()=>{var Ae;(Ae=Me.current)==null||Ae.focus(),xe(Me.current)})},qi=async W=>{const{allowed:se,rejected:Ae}=x_(W);if(!se.length){Ae.length&&(clearTimeout(Je.current),ke({label:D("dock.upload.rejected",{names:Ae.join("、")}),error:!0}),Je.current=setTimeout(()=>ke(null),3500));return}clearTimeout(Je.current),ke(null);const Ke=se.length,St=[],Wt=[],et=new AbortController;m_(et,D("dock.upload.progress",{name:se[0].name,tag:Ke>1?`(1/${Ke})`:""}));try{for(let it=0;it<Ke&&!et.signal.aborted;it++){const qe=se[it],ye=Ke>1?`(${it+1}/${Ke})`:"";Aa({label:D("dock.upload.progress",{name:qe.name,tag:ye}),phase:"sending",pct:0});try{const F=await Gg(n||"",qe,(ee,de)=>Aa({pct:ee,phase:de}),!0,{signal:et.signal});F!=null&&F.path&&St.push(F.path)}catch(F){if(F instanceof Ta)break;if(F instanceof lt){t==null||t(),Vc(),ke(null);return}Wt.push({name:qe.name,reason:(F==null?void 0:F.message)||D("api.uploadFailed")})}}}finally{Vc()}if(St.length&&Oi(St),Wt.length||Ae.length){const it=Wt.map(qe=>`${qe.name}:${qe.reason}`);Ae.length&&it.push(D("dock.upload.rejected",{names:Ae.join("、")})),ke({label:it.join(";"),error:!0}),Je.current=setTimeout(()=>ke(null),5e3)}else ke(null)},st=async()=>{if(!(!e||!p)){we();try{await Zo(e,p,!1),o==null||o(p),y(""),requestAnimationFrame(()=>xe(Me.current))}catch(W){W instanceof lt&&(t==null||t())}}},Et=N.useRef(null),yt=N.useRef(!1),wi=N.useRef({x:0,y:0,moved:!1}),Pi=W=>{W.cancelable&&W.preventDefault(),yt.current=!1,wi.current={x:W.clientX,y:W.clientY,moved:!1},p&&(Et.current=setTimeout(()=>{var se;yt.current=!0,(se=navigator.vibrate)==null||se.call(navigator,12),st()},450))},Bi=W=>{const se=wi.current;se.moved||Math.hypot(W.clientX-se.x,W.clientY-se.y)<=10||(se.moved=!0,clearTimeout(Et.current),Et.current=null)},ji=()=>{if(clearTimeout(Et.current),Et.current=null,yt.current){yt.current=!1;return}wi.current.moved||dt()},vt=()=>{clearTimeout(Et.current),Et.current=null,yt.current=!1},ft=N.useRef(null),Ft=N.useRef({x:0,y:0,moved:!1}),di=W=>{if(!S)return null;for(const[se,Ae]of[["send",".input-send"],["mic",".input-mic"]]){const Ke=W.currentTarget.querySelector(Ae);if(!Ke)continue;const St=Ke.getBoundingClientRect();if(W.clientX>=St.left&&W.clientX<=St.right&&W.clientY>=St.top&&W.clientY<=St.bottom)return se}return null},Yi=W=>{const se=di(W);se&&(W.stopPropagation(),W.cancelable&&W.preventDefault(),ft.current=se,se==="send"?Pi(W):Ft.current={x:W.clientX,y:W.clientY,moved:!1})},Fi=W=>{const se=ft.current;if(!se)return;if(se==="send"){Bi(W);return}const Ae=Ft.current;!Ae.moved&&Math.hypot(W.clientX-Ae.x,W.clientY-Ae.y)>10&&(Ae.moved=!0)},Xi=()=>{const W=ft.current;if(ft.current=null,!!W){if(W==="send"){p?ji():vt();return}!Ft.current.moved&&me.state!=="requesting"&&Te()}},Yt=()=>{const W=ft.current;ft.current=null,W==="send"&&vt()};return _.jsxs("div",{className:"bottom-dock",children:[_.jsxs("div",{className:"dock-left",onPointerDown:JS,children:[_.jsxs("button",{type:"button",className:"dock-dots","aria-label":D("dock.mode.toggle"),onClick:()=>G($==="command"?"agent":"command"),children:[_.jsx("span",{className:"dock-mode-label",children:D($==="command"?"dock.mode.command":"dock.mode.chat")}),_.jsx("i",{className:`dock-dot${$==="command"?" on":""}`,"data-page":"command","aria-hidden":"true"}),_.jsx("i",{className:`dock-dot${$==="agent"?" on":""}`,"data-page":"agent","aria-hidden":"true"})]}),_.jsx("div",{className:"dock-pager",ref:H,children:_.jsxs("div",{className:`dock-track${V===1?" at-chat":""}`,ref:Y,children:[_.jsxs("div",{className:`dock-page command${$==="command"?" on":""}`,children:[_.jsx("input",{ref:pe,className:"cmd-capture",type:"text",onInput:Tt,onKeyDown:It,onCompositionStart:kt,onCompositionEnd:Ut,onFocus:()=>B(!0),onBlur:()=>B(!1),enterKeyHint:"send","aria-label":D("dock.command.placeholder"),autoCapitalize:"off",autoCorrect:"off",autoComplete:"off",spellCheck:!1}),_.jsxs("div",{className:"quick-bar",children:[_.jsx("div",{className:"quick-fixed",children:_.jsxs("button",{type:"button",className:"quick-fix","aria-pressed":M,"aria-label":D(M?"dock.kbdHide":"dock.kbdShow"),onPointerDown:Mf,onClick:Qe,children:[_.jsx(a1,{down:M}),_.jsx("span",{children:D(M?"dock.kbdHide":"dock.kbdShow")})]})}),_.jsxs("div",{className:"quick-scroll",children:[x.map(W=>_.jsxs(Bl,{className:"quick-cmd quick-cmd-plain",onTap:()=>si(W),onHold:At(W),children:[hi(W),W.kind!=="key"&&W.enter&&_.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`g:${W.text}`)),R.map(W=>_.jsxs(Bl,{className:"quick-cmd quick-cmd-win",onTap:()=>si(W),onHold:At(W),children:[hi(W),W.kind!=="key"&&W.enter&&_.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`w:${W.text}`)),_.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":D("cmd.editTitle"),onPointerDown:Mf,onClick:()=>A(!0),children:_.jsx($c,{})})]})]}),_.jsx(SS,{onKey:i,onText:s,mods:j,setMods:C,keyHeldRef:O})]}),_.jsxs("div",{className:`dock-page chat${$==="agent"?" on":""}`,children:[ge&&_.jsx("div",{className:"dock-upload error",children:_.jsx("span",{className:"dock-upload-label",children:ge.label})}),_.jsxs("div",{className:"quick-bar",children:[_.jsx("div",{className:"quick-fixed",children:_.jsxs("button",{type:"button",className:"quick-fix","aria-label":D("dock.attach"),disabled:!!ge&&!ge.error,onClick:()=>{var W;return(W=$e.current)==null?void 0:W.click()},children:[_.jsx(Jg,{}),_.jsx("span",{children:D("dock.attach")})]})}),_.jsxs("div",{className:"quick-scroll",children:[w.map(W=>_.jsx(Bl,{className:`quick-cmd qc-${W.kind==="key"?"esc":ZS(W.text)}`,onTap:()=>ui(W),onHold:W.kind==="key"?void 0:()=>s(W.text),children:hi(W)},W.text)),_.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":D("chat.editTitle"),onClick:()=>L(!0),children:_.jsx($c,{})})]})]}),_.jsx("input",{ref:$e,className:"browse-file-input",type:"file",multiple:!0,accept:b_,onChange:W=>{qi(W.target.files),W.target.value=""}}),_.jsxs("div",{className:`input-wrap${X?" recording":""}${S?" multi":""}${a?" crowd":""}`,onPointerDownCapture:Yi,onPointerMoveCapture:Fi,onPointerUpCapture:Xi,onPointerCancelCapture:Yt,children:[_.jsx("textarea",{ref:Me,className:"input-text",rows:1,value:p,onPointerDown:W=>{X&&(we(),W.currentTarget.focus())},onChange:W=>{y(W.target.value),xe(W.target)},placeholder:D("dock.input.placeholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),_.jsx("div",{ref:ae,className:"input-mirror","aria-hidden":"true"}),!p&&_.jsx("button",{type:"button",className:"input-history","aria-label":D("dock.history"),title:D("dock.history"),onClick:()=>d(W=>!W),children:_.jsx(Xg,{})}),Ie&&_.jsx(y_,{active:X,disabled:me.state==="requesting",onToggle:Te}),_.jsx("button",{type:"button",className:"input-send","aria-label":D("dock.send"),title:D("dock.send.hint"),disabled:!p,onPointerDown:Pi,onPointerMove:Bi,onPointerUp:ji,onPointerCancel:vt,onPointerLeave:vt,children:_.jsx(Kg,{})})]})]})]})})]}),_.jsx(TS,{open:l,mode:$,recent:r,historyOnly:!0,onDelete:f,onSend:W=>{d(!1),De(W)},onFill:W=>{d(!1),Dt(W)},onClose:()=>d(!1)}),T&&_.jsx(Rf,{windowId:m,inset:v,onClose:()=>A(!1)}),b&&_.jsx(Rf,{variant:"chat",inset:v,onClose:()=>L(!1)})]})}const tb=N.forwardRef(eb);function ib({onSaved:e}){const[t,i]=N.useState(""),s=n=>{n.preventDefault();const c=t.trim();c&&(Iw(c),e())};return _.jsxs("form",{className:"token-prompt",onSubmit:s,children:[_.jsx("h2",{children:D("token.title")}),_.jsx("input",{value:t,onChange:n=>i(n.target.value),placeholder:D("token.placeholder")}),_.jsx("button",{type:"submit",children:D("common.save")})]})}function uh({open:e,title:t,actions:i=[],onClose:s}){const[n,c]=N.useState(null);if(N.useEffect(()=>{e||c(null)},[e]),!e)return null;const m=o=>{var f;if(!o.disabled){if(o.confirm&&n!==o.key){c(o.key);return}c(null),(f=o.onClick)==null||f.call(o)}},r=o=>_.jsx("button",{className:`sheet-action ${o.danger?"danger":""} ${n===o.key?"armed":""}`,disabled:o.disabled,onClick:()=>m(o),children:o.confirm&&n===o.key?o.confirmLabel||D("actionsheet.confirmAgain"):o.label},o.key);return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",role:"dialog","aria-label":t,"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:t}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section sheet-actions",children:[i.map((o,f)=>Array.isArray(o)?_.jsx("div",{className:"sheet-row",children:o.map(r)},`row-${f}`):r(o)),_.jsx("button",{className:"fontbtn sheet-cancel",onClick:s,children:D("common.cancel")})]})]})]})}const sb=/\.(?:md|markdown|html|htm|txt|log|sh)$/i,If=300;function Of(e){const t=e.lastIndexOf("/");return t<0?{dir:"",frag:e}:{dir:e.slice(0,t+1),frag:e.slice(t+1)}}const rb=e=>e.replace(/\/+$/,"")||"/",jl=(e,t)=>e===t?"":e.startsWith(`${t}/`)?e.slice(t.length+1):e,Io=(e,t,i)=>{let s=null;for(const n of t||[])(e===n||e!=null&&e.startsWith(`${n}/`))&&(!s||n.length>s.length)&&(s=n);return s||i},nb=e=>e==null?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`;function L_({path:e,onNavigate:t,onOpenDoc:i,onJumpToCwd:s,pendingFile:n,onPendingConsumed:c,pickMode:m=!1,allowMkdir:r=!m,onPick:o,refreshKey:f=0}){const[v,h]=N.useState(""),[p,y]=N.useState(null),[S,g]=N.useState(!1),[a,u]=N.useState(""),[l,d]=N.useState(""),[w,k]=N.useState(""),[b,L]=N.useState(null),[x,E]=N.useState(!1),[R,I]=N.useState(!1),[T,A]=N.useState(""),[P,U]=N.useState(null),$=N.useRef(null),G=N.useRef(!1),j=N.useRef(f),C=N.useRef(null),M=N.useRef(null),B=N.useRef(null),H=async(X,{sync:Te=!1,notify:ie=!1,fallbackHome:ae=!1}={})=>{u("");try{const ve=await Wg(X??void 0);if(G.current=ve.path,y(ve),Te){const xe=jl(ve.path,Io(ve.path,ve.roots,ve.home));h(xe?`${xe}/`:"")}ie&&(t==null||t(ve.path),I(!1),A(""))}catch{if(ae&&X!=null){H(null,{sync:!0});return}u(D("filebrowser.openDirFailed"))}};N.useEffect(()=>{const X=f!==j.current;j.current=f,!(e===G.current&&!X)&&H(e,{sync:!0,fallbackHome:m})},[e,f]),N.useEffect(()=>()=>{clearTimeout(C.current),clearTimeout(M.current)},[]),N.useEffect(()=>{if(!S)return;const X=Te=>{var ie;(ie=B.current)!=null&&ie.contains(Te.target)||g(!1)};return document.addEventListener("pointerdown",X,!0),()=>document.removeEventListener("pointerdown",X,!0)},[S]);const Y=X=>{d(X),clearTimeout(M.current),M.current=setTimeout(()=>d(""),2500)},V=X=>{const Te=p==null?void 0:p.home;if(!Te){h(X);return}const ie=(p==null?void 0:p.roots)||[Te];let ae=X;(ae==="~"||ae.startsWith("~/"))&&(ae=Te+ae.slice(1));let ve=Io(p==null?void 0:p.path,ie,Te);ae.startsWith("/")&&(ve=Io(ae,ie,Te),ae=ae===ve?"":ae.startsWith(`${ve}/`)?ae.slice(ve.length+1):ae.replace(/^\/+/,"")),h(ae);const xe=rb(`${ve}/${Of(ae).dir}`);xe!==G.current&&(clearTimeout(C.current),C.current=setTimeout(()=>{xe!==G.current&&H(xe,{notify:!0})},250))},te=async X=>{const Te=Vs(p.path,X);try{await navigator.clipboard.writeText(Te),Y(D("filebrowser.copiedPath",{abs:Te}))}catch{Y(Te)}},Q=X=>i(Vs(p.path,X)),z=X=>H(Vs(p.path,X),{sync:!0,notify:!0}),O=()=>(p==null?void 0:p.parent)&&H(p.parent,{sync:!0,notify:!0}),J=async()=>{const X=T.trim();if(!(!X||!p)){u("");try{await Dy(p.path,X),await H(p.path,{}),I(!1),A("")}catch{u(D("filebrowser.mkdirFailed"))}}},K=async X=>{u(""),U({label:D("filebrowser.downloading",{name:X}),pct:0});try{await $y(Vs(p.path,X),Te=>U({label:D("filebrowser.downloading",{name:X}),pct:Te})),k(X)}catch{u(D("filebrowser.downloadFailed"))}finally{U(null)}},re=()=>{const X=b;L(null),X&&K(X)},ne=p==null?void 0:p.home,be=(p==null?void 0:p.roots)||(ne?[ne]:[]),ge=Io(p==null?void 0:p.path,be,ne),ke=X=>X===ne?"~":/\/tmp$/.test(X)?"tmp":X.includes("/var/folders/")?"TMPDIR":X.split("/").filter(Boolean).pop()||"/",Me=X=>{g(!1),X!==ge&&H(X,{sync:!0,notify:!0})},pe=(X,Te)=>!X||!Te||X===Te?!1:(X.startsWith(`${Te}/`)?X.slice(Te.length+1):X).split("/").some(ae=>ae.startsWith(".")),$e=!!p&&p.path!==ne&&!pe(p.path,ge),Je=async X=>{const{allowed:Te,rejected:ie}=x_(X);if(!Te.length)return ie.length&&u(D("filebrowser.uploadRejected",{names:ie.join("、")})),ie;E(!0),u("");const ae=Te.length,ve=[],xe=new AbortController;m_(xe,D("filebrowser.uploading",{name:Te[0].name,tag:ae>1?`(1/${ae})`:""}));try{for(let we=0;we<ae&&!xe.signal.aborted;we++){const dt=Te[we],ut=ae>1?`(${we+1}/${ae})`:"";Aa({label:D("filebrowser.uploading",{name:dt.name,tag:ut}),phase:"sending",pct:0});try{await Gg(p.path,dt,(Ze,Tt)=>Aa({pct:Ze,phase:Tt}),!1,{signal:xe.signal})}catch(Ze){if(Ze instanceof Ta)break;ve.push({name:dt.name,reason:(Ze==null?void 0:Ze.message)||D("filebrowser.uploadFailed")})}}}finally{Vc()}return await H(p.path,{}),E(!1),ve.length?u(ve.map(we=>`${we.name}:${we.reason}`).join(";")):ie.length&&u(D("filebrowser.uploadRejected",{names:ie.join("、")})),[...ve.map(we=>we.name),...ie]},Re=async()=>{n&&(await Je(n)).length===0&&(c==null||c())},oe=X=>{if(m||X.key!=="Enter")return;const Te=v.trim();Te&&sb.test(Te)&&(p!=null&&p.home)&&i(Vs(p.home,Te))},Se=Of(v).frag.toLowerCase(),ue=((p==null?void 0:p.entries)||[]).filter(X=>(!m||X.type==="dir")&&(!Se||X.name.toLowerCase().includes(Se))),me=ue.length>If?ue.slice(0,If):ue,Ie=ue.length-me.length;return _.jsxs("div",{className:"browse-view",children:[_.jsxs("div",{className:"browse-bar",children:[s&&_.jsx("button",{className:"browse-cwd","aria-label":D("filebrowser.sessionDir"),title:D("filebrowser.jumpToSessionDir"),onClick:s,children:_.jsx(Xy,{})}),_.jsx("button",{className:"browse-up","aria-label":D("filebrowser.parentDir"),disabled:!(p!=null&&p.parent),onClick:O,children:_.jsx(Kg,{})}),_.jsxs("div",{className:"browse-path",children:[be.length>1?_.jsxs("div",{className:"dd browse-root-dd",ref:B,children:[_.jsxs("button",{type:"button",className:"browse-root","aria-haspopup":"listbox","aria-expanded":S,"aria-label":D("filebrowser.rootSelect"),onClick:()=>g(X=>!X),children:[_.jsxs("span",{children:[ke(ge),"/"]}),_.jsx("span",{className:`dd-caret${S?" open":""}`,"aria-hidden":"true",children:"▾"})]}),S&&_.jsx("div",{className:"dd-menu",role:"listbox",children:be.map(X=>_.jsxs("button",{type:"button",role:"option","aria-selected":X===ge,title:X,className:`dd-option${X===ge?" is-selected":""}`,onClick:()=>Me(X),children:[_.jsxs("span",{className:"dd-option-label",children:[ke(X),"/"]}),X===ge&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},X))})]}):_.jsx("span",{className:"browse-home","aria-hidden":"true",children:"~/"}),_.jsx("input",{className:"browse-input",value:v,placeholder:D("filebrowser.pathPlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:X=>V(X.target.value),onKeyDown:oe})]}),r&&_.jsx("button",{className:"browse-mkdir","aria-label":D("filebrowser.newFolder"),title:D("filebrowser.newFolder"),disabled:!p,onClick:()=>{I(X=>!X),A("")},children:_.jsx(Ky,{})}),!m&&_.jsx("button",{className:"browse-upload","aria-label":D("filebrowser.uploadFile"),title:D($e?"filebrowser.uploadToCurrentDir":"filebrowser.enterSubdirToUpload"),disabled:!$e||x,onClick:()=>{var X;return(X=$.current)==null?void 0:X.click()},children:_.jsx(Jg,{})}),!m&&_.jsx("input",{ref:$,className:"browse-file-input",type:"file",multiple:!0,accept:b_,onChange:X=>{Je(Array.from(X.target.files||[])),X.target.value=""}})]}),R&&_.jsxs("div",{className:"browse-newfolder",children:[_.jsx("input",{className:"browse-newfolder-input",autoFocus:!0,value:T,placeholder:D("filebrowser.folderNamePlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:X=>A(X.target.value),onKeyDown:X=>{X.key==="Enter"&&J()}}),_.jsx("button",{className:"browse-newfolder-ok",onClick:J,children:D("filebrowser.createBtn")}),_.jsx("button",{className:"browse-newfolder-x","aria-label":D("common.cancel"),onClick:()=>{I(!1),A("")},children:"✕"})]}),!m&&n&&_.jsxs("div",{className:"browse-pending",children:[_.jsxs("span",{className:"browse-pending-text",children:[D("filebrowser.uploadPendingTo",{name:n.name}),!$e&&_.jsx("em",{className:"browse-pending-hint",children:D("filebrowser.enterSubdirFirst")})]}),_.jsx("button",{className:"browse-pending-btn",disabled:!$e||x,onClick:Re,children:D("filebrowser.upload")})]}),a&&_.jsx("div",{className:"bind-error browse-err",children:a}),l&&_.jsx("div",{className:"browse-notice",children:l}),!m&&w&&_.jsxs("div",{className:"browse-saved",children:[_.jsx("span",{className:"browse-saved-text",children:D("filebrowser.savedToDownloads",{name:w})}),_.jsx("button",{className:"browse-saved-close","aria-label":D("common.close"),onClick:()=>k(""),children:"×"})]}),!m&&P&&_.jsxs("div",{className:"browse-progress",children:[_.jsxs("span",{className:"browse-progress-label",children:[P.label," ",Math.round(P.pct*100),"%"]}),_.jsx("span",{className:"browse-progress-track",children:_.jsx("span",{className:"browse-progress-fill",style:{width:`${Math.round(P.pct*100)}%`}})})]}),_.jsxs("div",{className:"browse-list",children:[me.length===0&&!a&&_.jsx("div",{className:"browse-empty",children:D("filebrowser.noMatches")}),me.map(X=>_.jsxs("div",{className:"browse-entry-row",children:[_.jsxs("button",{className:"browse-entry",onClick:()=>X.type==="dir"?z(X.name):X.type==="doc"||X.type==="image"?Q(X.name):Y(D("filebrowser.previewUnsupported")),children:[_.jsx("span",{className:"browse-entry-icon",children:X.type==="dir"?_.jsx(Kn,{}):X.type==="image"?_.jsx(Yy,{}):_.jsx(qy,{})}),_.jsx("span",{className:"browse-entry-name",children:X.name}),X.type!=="dir"&&_.jsx("span",{className:"browse-entry-size",children:nb(X.size)})]}),X.type!=="dir"&&_.jsx("button",{className:"browse-copy","aria-label":D("filebrowser.copyAbsPath"),title:D("filebrowser.copyAbsPath"),onClick:()=>te(X.name),children:_.jsx(Zg,{})}),X.type!=="dir"&&_.jsx("button",{className:"browse-dl","aria-label":D("filebrowser.download"),onClick:()=>L(X.name),children:_.jsx(Qy,{})})]},X.name)),Ie>0&&_.jsx("div",{className:"browse-overflow",children:D("filebrowser.tooMany",{shown:me.length,total:ue.length})})]}),m&&p&&_.jsx("div",{className:"browse-pick-bar",children:_.jsx("button",{className:"browse-pick-confirm",onClick:()=>o==null?void 0:o(p.path),children:D("filebrowser.pickThisDir",{path:jl(p.path,p.home)?`~/${jl(p.path,p.home)}`:"~"})})}),_.jsx(uh,{open:!!b,title:b?D("filebrowser.downloadConfirm",{name:b}):"",actions:[{key:"dl",label:D("filebrowser.download"),onClick:re}],onClose:()=>L(null)})]})}const ob=()=>{};function ro({open:e,seedCwd:t=null,hint:i=null,pane:s=null,allowMkdir:n=!1,onPick:c,onClose:m,inset:r=0}){const[o,f]=N.useState(t),v=N.useRef(!1);e&&!v.current?(v.current=!0,o!==t&&f(t)):!e&&v.current&&(v.current=!1);const h=s?async()=>{try{const{cwd:p}=await rr(s);p&&f(p)}catch{}}:null;return e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop dirpick-backdrop",onClick:m}),_.jsxs("div",{className:"settings-card dirpick-card",style:{transform:`translate(-50%, calc(-50% + ${r/2}px))`,"--kb-inset":`${r}px`},role:"dialog","aria-label":D("dirpicker.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("dirpicker.title")}),_.jsx("button",{className:"settings-close",onClick:m,"aria-label":D("common.close"),children:"✕"})]}),i&&_.jsx("div",{className:"dirpick-hint",children:i}),_.jsx(L_,{path:o,onNavigate:f,onOpenDoc:ob,onJumpToCwd:h,pickMode:!0,allowMkdir:n,onPick:c})]})]}):null}function ab({open:e,onClose:t,termRef:i,onColAdjust:s,onColRestore:n,onOpenChangelog:c,changelogUnread:m,updateInfo:r=null,activePreview:o=null,pane:f=null,lastPreviewDir:v=null,dynamicEnabled:h=!1,getColCount:p=null,onStartPreview:y,onStartDynamicPreview:S,onOpenPreview:g,onRenew:a,onStop:u}){var Je,Re;const[l,d]=N.useState(null),[w,k]=N.useState(null),[b,L]=N.useState(!1),[x,E]=N.useState(r_()),[R,I]=N.useState(!1),[T,A]=N.useState(""),[P,U]=N.useState(!1),[$,G]=N.useState(null),[j,C]=N.useState("off"),[M,B]=N.useState(""),[H,Y]=N.useState(!1),[V,te]=N.useState(""),[Q,z]=N.useState(!1),O=t_(o==null?void 0:o.expiresAt,!!o&&e);N.useEffect(()=>{Y(!1),te("")},[o==null?void 0:o.name,e]);const J=oe=>({"port not listening":D("settings.err_port_not_listening"),"bad port":D("settings.err_bad_port"),"dynamic disabled":D("settings.err_dynamic_disabled")})[oe]||oe||D("settings.err_start_failed"),K=async()=>{const oe=Number(M);if(oe){te(""),z(!0);try{await(S==null?void 0:S(oe)),t==null||t()}catch(Se){te(J(Se==null?void 0:Se.message))}finally{z(!1)}}},re=async()=>{let oe=v;if(!oe&&f)try{oe=(await rr(f)).cwd||null}catch{}G(oe),U(!0)};N.useEffect(()=>{var oe,Se;e&&(d(((Se=(oe=i.current)==null?void 0:oe.getFontSize)==null?void 0:Se.call(oe))??null),k((p==null?void 0:p())??null))},[e,i,p]);const ne=async()=>{I(!0),A("");try{x?(await _1(),E(!1),A(D("settings.notify_disabled"))):(await g1(),E(!0),A(D("settings.notify_enabled")))}catch(oe){A(oe.message||D("settings.notify_failed"))}finally{I(!1)}};if(!e)return null;const be=oe=>{var me,Ie,X,Te;const Se=(Ie=(me=i.current)==null?void 0:me.getFontSize)==null?void 0:Ie.call(me),ue=(Te=(X=i.current)==null?void 0:X.setFontSize)==null?void 0:Te.call(X,((Se==null?void 0:Se.size)??14)+oe);ue!=null&&d({size:ue,auto:!1})},ge=()=>{var oe,Se;(Se=(oe=i.current)==null?void 0:oe.autoFont)==null||Se.call(oe),d({size:null,auto:!0})},ke=l!=null&&l.auto?D("settings.font_auto"):l!=null&&l.size?`${l.size}px`:"—",Me=w!=null?`${w} 列`:"—",pe=oe=>{s==null||s(oe),k((p==null?void 0:p())??null)},$e=()=>{n==null||n(),k(null)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",role:"dialog","aria-label":D("settings.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("settings.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"settings-group",children:D("settings.group_global")}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.language")}),_.jsxs("div",{className:"lang-drop",children:[b&&_.jsx("div",{className:"lang-drop-backdrop",onClick:()=>L(!1)}),_.jsxs("button",{className:"lang-trigger",onClick:()=>L(oe=>!oe),children:[_.jsx("span",{children:(Je=Jd.find(oe=>oe.code===Tr()))==null?void 0:Je.label}),_.jsx("span",{className:"lang-chevron",children:b?"▴":"▾"})]}),b&&_.jsx("div",{className:"lang-menu",children:Jd.map(oe=>_.jsx("button",{className:`lang-option${oe.code===Tr()?" active":""}`,onClick:()=>Mw(oe.code),children:oe.label},oe.code))})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.font_size")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:()=>be(-1),"aria-label":D("settings.font_decrease"),children:"A−"}),_.jsx("span",{className:"settings-value",children:ke}),_.jsx("button",{className:"fontbtn",onClick:()=>be(1),"aria-label":D("settings.font_increase"),children:"A+"}),_.jsx("button",{className:"fontbtn",onClick:ge,title:D("settings.font_auto_title"),children:D("settings.font_auto")})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.version")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("span",{className:"settings-value",children:r!=null&&r.current?`v${r.current}`:"—"}),_.jsxs("button",{className:"fontbtn",onClick:c,children:[D("settings.view_changelog"),m&&_.jsx("span",{className:"settings-dot","aria-label":D("settings.has_update")})]})]}),(r==null?void 0:r.updateAvailable)&&_.jsxs("div",{className:"settings-update",children:[_.jsx("div",{className:"settings-update-title",children:D("settings.update_available",{v:r.latest})}),((Re=r.whatsNew)==null?void 0:Re.length)>0&&_.jsx("ul",{className:"settings-update-new",children:r.whatsNew.map(oe=>_.jsxs("li",{children:[_.jsxs("span",{className:"settings-update-new-ver",children:["v",oe.version]}),(Tr().startsWith("zh")?oe.zh:oe.en)||oe.en]},oe.version))}),_.jsxs("div",{className:"settings-update-how",children:[D("settings.update_how")," ",_.jsx("code",{children:"handmux update"})]})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.feedback")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://github.com/handmux/handmux/issues",target:"_blank",rel:"noreferrer",children:D("settings.feedback_issues")}),Tr().startsWith("zh")&&_.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://handmux.com/#community",target:"_blank",rel:"noreferrer",children:D("settings.feedback_group")})]}),_.jsx("div",{className:"settings-hint",children:D("settings.feedback_hint")})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.push_notifications")}),il()?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:ne,disabled:R,"aria-pressed":x,children:D(x?"settings.notify_on":"settings.notify_enable")}),R&&_.jsx("span",{className:"spinner",role:"status","aria-label":D("settings.processing")}),!R&&T&&_.jsx("span",{className:"settings-note",children:T})]}),_.jsx("div",{className:"settings-hint",children:D("settings.push_hint")})]}):_.jsx("div",{className:"settings-value",style:{display:"block"},children:D("settings.push_unsupported")})]}),_.jsx("div",{className:"settings-group",children:D("settings.group_session")}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.screen_cols")}),_.jsxs("div",{className:"settings-btns cols-btns",children:[_.jsx("button",{className:"fontbtn col-step",onClick:()=>pe(-10),children:"−10"}),_.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>pe(-1),children:"−1"}),_.jsx("span",{className:"settings-value",children:Me}),_.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>pe(1),children:"+1"}),_.jsx("button",{className:"fontbtn col-step",onClick:()=>pe(10),children:"+10"}),_.jsxs("button",{className:"fontbtn",onClick:$e,children:["↺ ",D("settings.cols_restore")]})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D(h?"settings.preview_site":"settings.preview_static_site")}),o?_.jsxs("div",{className:"preview-active",children:[_.jsxs("div",{className:"preview-active-head",children:[_.jsxs("span",{className:"preview-running",children:[_.jsx("span",{className:"live-dot"}),o.kind==="dynamic"?D("settings.preview_running_dynamic"):D("settings.preview_running_static")]}),_.jsx("span",{className:"preview-remain-s",title:D("settings.preview_remain_title"),children:D("settings.preview_remain",{time:e_(O)})})]}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:()=>{g==null||g(),t==null||t()},children:D("common.open")}),_.jsx("button",{className:"fontbtn",onClick:()=>a==null?void 0:a(),children:D("settings.preview_renew")}),H?_.jsxs(_.Fragment,{children:[_.jsx("button",{className:"fontbtn preview-confirm-danger",onClick:()=>{Y(!1),u==null||u()},children:D("settings.preview_confirm_stop")}),_.jsx("button",{className:"fontbtn",onClick:()=>Y(!1),children:D("common.cancel")})]}):_.jsx("button",{className:"fontbtn",onClick:()=>Y(!0),children:D("settings.preview_stop")})]}),_.jsxs("div",{className:"settings-hint",children:[D("settings.preview_name",{name:o.name}),o.kind==="dynamic"?D("settings.preview_port",{port:o.port}):o.dir?`(${o.dir})`:""]})]}):_.jsxs("div",{className:"preview-start",children:[_.jsxs("div",{className:"preview-seg",role:"tablist","aria-label":D("settings.preview_type"),children:[_.jsx("button",{role:"tab",className:j==="off"?"on":"","aria-selected":j==="off",onClick:()=>C("off"),children:D("settings.preview_off")}),_.jsx("button",{role:"tab",className:j==="static"?"on":"","aria-selected":j==="static",onClick:()=>C("static"),children:D("settings.preview_static")}),h&&_.jsx("button",{role:"tab",className:j==="dynamic"?"on":"","aria-selected":j==="dynamic",onClick:()=>{te(""),C("dynamic")},children:D("settings.preview_dynamic")})]}),j==="off"&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-hint",children:D(h?"settings.preview_off_hint_both":"settings.preview_off_hint")}),!h&&_.jsx("div",{className:"settings-hint preview-dynamic-disabled",children:D("settings.preview_dynamic_disabled")})]}),j==="static"&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-btns",children:_.jsx("button",{className:"fontbtn",onClick:re,children:D("settings.preview_pick_dir")})}),_.jsx("div",{className:"settings-hint",children:D("settings.preview_static_hint")})]}),j==="dynamic"&&_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"settings-btns",children:[_.jsx("input",{className:"preview-port",type:"number",inputMode:"numeric",min:"1",max:"65535",placeholder:D("settings.preview_port_placeholder"),value:M,onChange:oe=>{B(oe.target.value),te("")},"aria-label":D("settings.preview_port_label")}),_.jsx("button",{className:"fontbtn",disabled:!M||Q,onClick:K,children:D(Q?"settings.preview_starting":"settings.preview_start")})]}),V?_.jsx("div",{className:"settings-hint settings-err",children:V}):_.jsx("div",{className:"settings-hint",children:D("settings.preview_dynamic_hint")})]})]})]})]}),_.jsx(ro,{open:P,seedCwd:$,pane:f,hint:D("settings.dir_picker_hint"),onPick:oe=>{U(!1),y==null||y(oe),t==null||t()},onClose:()=>U(!1)})]})}function Pf(e){return e===300?D("usage.win5h"):e===10080?D("usage.winWeekly"):e===43200?D("usage.winMonthly"):e>0?D("usage.winGeneric",{h:Math.round(e/60)}):""}function Na(e,t){if(!e)return"";const i=e-Math.floor(t/1e3);if(i<=0)return D("usage.resetSoon");const s=Math.floor(i/86400),n=Math.floor(i%86400/3600),c=Math.floor(i%3600/60),m=s>0?`${s}d ${n}h`:n>0?`${n}h ${c}m`:`${c}m`;return D("usage.resetIn",{t:m})}function R_({at:e,now:t}){if(!e)return null;const i=Math.max(0,Math.floor((t-e)/1e3)),s=i<60?D("usage.updatedNow"):i<3600?D("usage.updatedMin",{n:Math.floor(i/60)}):i<86400?D("usage.updatedHr",{n:Math.floor(i/3600)}):D("usage.updatedDay",{n:Math.floor(i/86400)});return _.jsx("div",{className:"usage-updated",children:s})}function Ar(e,t,i){if(!e||!t)return null;const s=e-Math.floor(i/1e3);return Math.max(0,Math.min(100,(1-s/(t*60))*100))}function lb({pct:e,timePct:t}){const i=Math.max(0,Math.min(100,e??0)),s=i>=80?"hi":i>=50?"mid":"lo";return _.jsxs("div",{className:"usage-bar",children:[_.jsx("div",{className:`usage-bar-fill lvl-${s}`,style:{width:`${i}%`}}),t!=null&&_.jsx("div",{className:"usage-bar-time",style:{left:`${t}%`},title:D("usage.timeMark")})]})}function Mr({label:e,pct:t,reset:i,sub:s,timePct:n}){return _.jsxs("div",{className:"usage-row",children:[_.jsxs("div",{className:"usage-row-head",children:[_.jsxs("span",{className:"usage-row-label",children:[e,s&&_.jsxs("span",{className:"usage-row-sub",children:[" · ",s]})]}),_.jsxs("span",{className:"usage-row-pct",children:[Math.round(t),"%"]})]}),_.jsx(lb,{pct:t,timePct:n}),i&&_.jsx("div",{className:"usage-row-reset",children:i})]})}function cb({claude:e,now:t}){var i,s;return _.jsxs("section",{className:"usage-agent",children:[_.jsxs("div",{className:"usage-agent-head",children:[_.jsx(so,{agent:"claude"}),_.jsx("span",{children:"Claude Code"}),_.jsx(R_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?!((i=e.rateLimits)!=null&&i.fiveHour)&&!((s=e.rateLimits)!=null&&s.sevenDay)?_.jsx("div",{className:"usage-empty",children:D("usage.claudePending")}):_.jsxs(_.Fragment,{children:[e.rateLimits.fiveHour&&_.jsx(Mr,{label:D("usage.win5h"),pct:e.rateLimits.fiveHour.usedPercent,reset:Na(e.rateLimits.fiveHour.resetsAt,t),timePct:Ar(e.rateLimits.fiveHour.resetsAt,300,t)}),e.rateLimits.sevenDay&&_.jsx(Mr,{label:D("usage.winWeekly"),pct:e.rateLimits.sevenDay.usedPercent,reset:Na(e.rateLimits.sevenDay.resetsAt,t),timePct:Ar(e.rateLimits.sevenDay.resetsAt,10080,t)}),e.rateLimits.sevenDayOpus&&_.jsx(Mr,{label:D("usage.winWeekly"),sub:"Opus",pct:e.rateLimits.sevenDayOpus.usedPercent,timePct:Ar(e.rateLimits.sevenDayOpus.resetsAt,10080,t)}),e.rateLimits.sevenDaySonnet&&_.jsx(Mr,{label:D("usage.winWeekly"),sub:"Sonnet",pct:e.rateLimits.sevenDaySonnet.usedPercent,timePct:Ar(e.rateLimits.sevenDaySonnet.resetsAt,10080,t)})]}):_.jsxs("div",{className:"usage-empty",children:[_.jsx("div",{children:D("usage.claudeOff")}),_.jsx("code",{className:"usage-code",children:"handmux hooks install"})]})]})}function ub({codex:e,now:t}){const i=e==null?void 0:e.rateLimits;return _.jsxs("section",{className:"usage-agent",children:[_.jsxs("div",{className:"usage-agent-head",children:[_.jsx(so,{agent:"codex"}),_.jsx("span",{children:"Codex CLI"}),_.jsx(R_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?_.jsxs(_.Fragment,{children:[(i==null?void 0:i.primary)&&_.jsx(Mr,{label:Pf(i.primary.windowMinutes)||D("usage.winPrimary"),pct:i.primary.usedPercent,reset:Na(i.primary.resetsAt,t),timePct:Ar(i.primary.resetsAt,i.primary.windowMinutes,t)}),(i==null?void 0:i.secondary)&&_.jsx(Mr,{label:Pf(i.secondary.windowMinutes)||D("usage.winSecondary"),pct:i.secondary.usedPercent,reset:Na(i.secondary.resetsAt,t),timePct:Ar(i.secondary.resetsAt,i.secondary.windowMinutes,t)}),!(i!=null&&i.primary)&&!(i!=null&&i.secondary)&&_.jsx("div",{className:"usage-empty",children:D("usage.codexNoQuota")})]}):_.jsx("div",{className:"usage-empty",children:D("usage.codexOff")})]})}function hb({open:e,onClose:t,onAuthFail:i}){const[s,n]=N.useState(null),[c,m]=N.useState(""),[r,o]=N.useState(!1),f=Date.now();return N.useEffect(()=>{if(!e)return;let v=!1;return o(!0),m(""),_y().then(h=>{v||(n(h),o(!1))}).catch(h=>{v||(h instanceof lt?i==null||i():m(D("usage.loadFailed")),o(!1))}),()=>{v=!0}},[e]),e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card usage-card",role:"dialog","aria-label":D("usage.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("usage.title")}),_.jsx("span",{className:"usage-head-note",children:D("usage.activityNote")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"settings-section",children:r&&!s?_.jsx("div",{className:"usage-empty",children:D("common.loading")}):c?_.jsx("div",{className:"bind-error",children:c}):s?_.jsxs(_.Fragment,{children:[s.codex&&_.jsx(ub,{codex:s.codex,now:f}),_.jsx(cb,{claude:s.claude,now:f})]}):null})]})]}):null}function db({rows:e,top:t,open:i,onToggle:s,onClose:n,onSelectRow:c,onMarkAllRead:m,hooksStatus:r,onEnableHooks:o}){const f=[];for(const d of e){const w=f[f.length-1];w&&w.session===d.session?w.items.push(d):f.push({session:d.session,items:[d]})}const v=Date.now(),h=e.some(d=>d.view==="done"),p=d1(e),[y,S]=N.useState(!1),[g,a]=N.useState(!1),u=f.length===0&&r==="absent",l=async()=>{S(!0),a(!1);try{const d=await(o==null?void 0:o());(!d||d.status!=="installed")&&a(!0)}catch{a(!0)}finally{S(!1)}};return _.jsxs(_.Fragment,{children:[_.jsxs("button",{className:"topbar-icon inbox-btn",onClick:s,"aria-label":D("inbox.title"),title:D("inbox.title"),children:[_.jsx(Zy,{}),t&&_.jsx("span",{className:`inbox-dot ${t}`,"aria-hidden":"true"})]}),i&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"inbox-backdrop",onClick:n}),_.jsxs("div",{className:"inbox-panel",role:"dialog","aria-label":D("inbox.title"),children:[_.jsxs("div",{className:"inbox-head",children:[_.jsx("span",{children:D("inbox.title")}),_.jsxs("div",{className:"inbox-summary",children:[_.jsxs("span",{className:"inbox-chip working",children:[D("inbox.working")," ",p.working]}),_.jsxs("span",{className:"inbox-chip done",children:[D("inbox.done")," ",p.done]}),_.jsxs("span",{className:"inbox-chip needs",children:[D("inbox.needs")," ",p.needs]})]}),h&&_.jsx("button",{className:"inbox-readall",onClick:m,children:D("inbox.clearDone")})]}),f.length===0?u?_.jsxs("div",{className:"inbox-empty inbox-enable",children:[_.jsx("div",{className:"inbox-enable-title",children:D("inbox.enableTitle")}),_.jsx("div",{className:"inbox-enable-hint",children:D("inbox.enableHint")}),_.jsx("button",{className:"inbox-enable-btn",onClick:l,disabled:y,children:D(y?"inbox.enabling":"inbox.enableBtn")}),g&&_.jsx("div",{className:"inbox-enable-err",children:D("inbox.enableFailed")})]}):_.jsx("div",{className:"inbox-empty",children:D("inbox.empty")}):f.map(d=>_.jsxs("div",{className:"inbox-group",children:[_.jsx("div",{className:"inbox-group-title",children:d.session}),d.items.map(w=>_.jsxs("button",{className:"inbox-row",onClick:()=>c(w),children:[_.jsxs("div",{className:"inbox-row-head",children:[_.jsx("span",{className:`inbox-chip ${w.view}`,children:u1[w.view]}),_.jsx(so,{agent:w.agent}),_.jsx("span",{className:"inbox-loc",children:w.windowName||w.window}),_.jsx("span",{className:"inbox-time",children:i_(w.ts,v)})]}),w.msg&&_.jsx("div",{className:"inbox-msg",children:w.msg})]},w.pane))]},d.session))]})]})]})}function fb({open:e,orphan:t,onConfirm:i,onClose:s,inset:n=0}){const[c,m]=N.useState([]),[r,o]=N.useState("new"),[f,v]=N.useState(!0),[h,p]=N.useState(!1),[y,S]=N.useState("");if(N.useEffect(()=>{e&&(o("new"),v(Yw()),p(!1),S(""),Dr().then(a=>m(Array.isArray(a)?a:[])).catch(()=>m([])))},[e]),!e||!t)return null;const g=async()=>{if(h)return;p(!0),S(""),Xw(f);const a=r==="new"?{mode:"new"}:{mode:"window",session:r};try{await i({target:a,kill:f})}catch{p(!1),S(D("inbox.orphans.failed"))}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${n/2}px))`},role:"dialog","aria-label":D("inbox.orphans.takeover"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("inbox.orphans.takeover")}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:t.cwdLabel||t.cwd}),t.snippet&&_.jsx("div",{className:"inbox-msg",children:t.snippet})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("inbox.orphans.targetLabel")}),_.jsxs("div",{className:"orphan-targets",children:[_.jsx("button",{className:"fontbtn","aria-pressed":r==="new",onClick:()=>o("new"),children:D("inbox.orphans.targetNew")}),c.map(a=>_.jsx("button",{className:"fontbtn","aria-pressed":r===a.id,onClick:()=>o(a.id),children:a.name},a.id))]})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("inbox.orphans.killTitle")}),_.jsxs("div",{className:"orphan-targets orphan-kill",children:[_.jsxs("button",{className:"fontbtn","aria-pressed":f,onClick:()=>v(!0),children:[D("inbox.orphans.killEnd"),_.jsx("span",{className:"orphan-reco",children:D("inbox.orphans.recommended")})]}),_.jsx("button",{className:"fontbtn","aria-pressed":!f,onClick:()=>v(!1),children:D("inbox.orphans.killKeep")})]}),_.jsx("div",{className:"orphan-help",children:D("inbox.orphans.killWhy")}),_.jsx("div",{className:"orphan-help",children:D("inbox.orphans.reopen")})]}),y&&_.jsx("div",{className:"bind-error",children:y}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:s,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:g,disabled:h,children:D(h?"inbox.orphans.working":"inbox.orphans.takeover")})]})]})]})]})}const Bf="tw_a2hs_dismissed",Xn=()=>typeof navigator<"u"&&navigator.userAgent||"",Qo=()=>/iP(hone|ad|od)/.test(Xn())||/Macintosh/.test(Xn())&&typeof navigator<"u"&&navigator.maxTouchPoints>1,pb=()=>/Android/.test(Xn()),mb=()=>Qo()&&/Safari/.test(Xn())&&!/(CriOS|FxiOS|EdgiOS|OPiOS|mercury|GSA)/.test(Xn());function gb(){const[e,t]=N.useState(!1),[i,s]=N.useState(null);if(N.useEffect(()=>{if(o_()||!Qo()&&!pb())return;try{if(localStorage.getItem(Bf)==="1")return}catch{}const f=v=>{v.preventDefault(),s(v)};return window.addEventListener("beforeinstallprompt",f),t(!0),()=>window.removeEventListener("beforeinstallprompt",f)},[]),!e)return null;const n=()=>{try{localStorage.setItem(Bf,"1")}catch{}t(!1)},c=async()=>{if(i){i.prompt();try{await i.userChoice}catch{}n()}};let m,r,o=null;return i?(m="install",r=D("a2hs.lead"),o=_.jsx("button",{className:"a2hs-banner-cta",onClick:c,children:D("a2hs.install")})):Qo()&&!mb()?(m="ios-other",r=D("a2hs.iosOpenSafari")):Qo()?(m="ios",r=D("a2hs.iosHint")):(m="android",r=D("a2hs.androidManual")),_.jsxs("div",{className:"a2hs-banner",role:"status","aria-label":D("a2hs.title"),"data-mode":m,children:[_.jsx("span",{className:"a2hs-banner-icon","aria-hidden":"true",children:"⊕"}),_.jsxs("div",{className:"a2hs-banner-txt",children:[_.jsx("span",{className:"a2hs-banner-title",children:D("a2hs.title")}),_.jsx("span",{className:"a2hs-banner-sub",children:r})]}),o,_.jsx("button",{className:"a2hs-banner-x",onClick:n,"aria-label":D("common.close"),children:"✕"})]})}const Qc="tw_claude_hooks";function _b(){try{return localStorage.getItem(Qc)||null}catch{return null}}function vb(){const[e,t]=N.useState(_b);N.useEffect(()=>{let s=!0;return Promise.resolve().then(Vg).then(n=>{if(!s)return;const c=(n==null?void 0:n.claudeHooks)||"installed";t(c);try{localStorage.setItem(Qc,c)}catch{}}).catch(()=>{}),()=>{s=!1}},[]);const i=N.useCallback(async()=>{const s=await Ny();if(s!=null&&s.status){t(s.status);try{localStorage.setItem(Qc,s.status)}catch{}}return s},[]);return{status:e,enable:i}}function wb({value:e,options:t,onChange:i,ariaLabel:s}){const[n,c]=N.useState(!1),m=N.useRef(null),r=t.find(o=>o.value===e)||t[0];return N.useEffect(()=>{if(!n)return;const o=f=>{var v;(v=m.current)!=null&&v.contains(f.target)||c(!1)};return document.addEventListener("pointerdown",o,!0),()=>document.removeEventListener("pointerdown",o,!0)},[n]),_.jsxs("div",{className:"dd",ref:m,children:[_.jsxs("button",{type:"button",className:"field dd-trigger","aria-haspopup":"listbox","aria-expanded":n,"aria-label":s,onClick:()=>c(o=>!o),children:[_.jsx("span",{className:"dd-value",children:r==null?void 0:r.label}),_.jsx("span",{className:`dd-caret${n?" open":""}`,"aria-hidden":"true",children:"▾"})]}),n&&_.jsx("div",{className:"dd-menu",role:"listbox",children:t.map(o=>_.jsxs("button",{type:"button",role:"option","aria-selected":o.value===e,className:`dd-option${o.value===e?" is-selected":""}`,onClick:()=>{i==null||i(o.value),c(!1)},children:[_.jsx("span",{className:"dd-option-label",children:o.label}),o.value===e&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},o.value||"__none__"))})]})}const T_=[{value:"",label:D("startup.preset_shell")},{value:"claude",label:D("startup.preset_claude")},{value:"claude --continue",label:D("startup.preset_claude_continue")},{value:"codex",label:D("startup.preset_codex")}],ea="__custom__",yb=[...T_,{value:ea,label:D("startup.custom")}];function D_({value:e="",onChange:t}){const i=T_.some(f=>f.value===e),[s,n]=N.useState(i?e:ea),[c,m]=N.useState(i?"":e),r=f=>{n(f),t==null||t(f===ea?c:f)},o=f=>{const v=f.target.value;m(v),t==null||t(v)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-label",children:D("startup.label")}),_.jsx(wb,{value:s,options:yb,onChange:r,ariaLabel:D("startup.aria")}),s===ea&&_.jsx("input",{className:"bind-input startup-custom",value:c,placeholder:D("startup.custom_placeholder"),onChange:o,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})}const Sb=/^[A-Za-z0-9-]{1,16}$/;function bb({open:e,onClose:t,onBound:i,bound:s,onAuthFail:n,inset:c=0}){const[m,r]=N.useState([]),[o,f]=N.useState(null),[v,h]=N.useState(""),[p,y]=N.useState(""),[S,g]=N.useState(!1),[a,u]=N.useState(null),[l,d]=N.useState(Og()),[w,k]=N.useState(!1),b=N.useRef(null);if(N.useEffect(()=>{e&&(f(null),h(""),y(""),g(!1),u(null),k(!1),Dr().then(R=>r(Array.isArray(R)?R:[])).catch(R=>{R instanceof lt?n==null||n():y(D("bind.checkFailed"))}))},[e]),N.useEffect(()=>{o==="new"&&setTimeout(()=>{var R;return(R=b.current)==null?void 0:R.focus()},0)},[o]),!e)return null;const L=m.filter(R=>!s.includes(R.name)),x=async()=>{if(S||!o)return;if(o!=="new"){i(o);return}const R=v.trim();if(R){if(s.includes(R)||m.some(I=>I.name===R)){y(D("bind.alreadyExists"));return}if(!Sb.test(R)){y(D("bind.invalidName"));return}g(!0),y(""),Pg(l);try{await Cy(R,a||void 0,l||void 0),i(R)}catch(I){I instanceof lt?n==null||n():y(D("bind.createFailed")),g(!1)}}},E=D(o==="new"?S?"bind.creating":"bind.createAndOpen":S?"bind.checking":"bind.bind");return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${c/2}px))`},role:"dialog","aria-label":D("bind.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("bind.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.pickSession")}),_.jsxs("div",{className:"orphan-targets",children:[_.jsx("button",{className:"fontbtn","aria-pressed":o==="new",onClick:()=>{f("new"),y("")},children:D("bind.newSession")}),L.map(R=>_.jsx("button",{className:"fontbtn","aria-pressed":o===R.name,onClick:()=>{f(R.name),y("")},children:R.name},R.id||R.name))]})]}),o==="new"&&_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.sessionName")}),_.jsx("input",{ref:b,className:"bind-input",value:v,placeholder:D("bind.namePlaceholder"),onChange:R=>{h(R.target.value),y("")},onKeyDown:R=>{R.key==="Enter"&&x()}})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.startDir")}),_.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>k(!0),children:[_.jsx("span",{className:"cwd-path",children:a||D("bind.homeDirDefault")}),_.jsx("span",{className:"cwd-action",children:D("bind.choose")})]}),a&&_.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>u(null),children:D("bind.reset")})]}),_.jsx("div",{className:"opt",children:_.jsx(D_,{value:l,onChange:d})})]}),p&&_.jsx("div",{className:"bind-error",children:p}),_.jsx("div",{className:"settings-hint",children:D("bind.desktopHint")}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:t,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:x,disabled:S||!o,children:E})]})]})]}),_.jsx(ro,{open:w,seedCwd:a,allowMkdir:!0,onPick:R=>{u(R),k(!1)},onClose:()=>k(!1),inset:c})]})}const xb=/^[A-Za-z0-9-]{1,16}$/;function Cb({open:e,onClose:t,onCreate:i,paneId:s,inset:n=0}){const[c,m]=N.useState(""),[r,o]=N.useState(""),[f,v]=N.useState(!1),[h,p]=N.useState(null),[y,S]=N.useState(""),[g,a]=N.useState(Og()),[u,l]=N.useState(!1),d=N.useRef(null);if(N.useEffect(()=>{e&&(m(""),o(""),v(!1),p(null),S(""),l(!1),setTimeout(()=>{var k;return(k=d.current)==null?void 0:k.focus()},0),s&&rr(s).then(({cwd:k})=>S(k||"")).catch(()=>{}))},[e,s]),!e)return null;const w=async()=>{if(f)return;const k=c.trim();if(k&&!xb.test(k)){o(D("newwindow.name_rule"));return}v(!0),o(""),Pg(g);try{await i(k,h||void 0,g||void 0)}catch{v(!1)}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${n/2}px))`},role:"dialog","aria-label":D("newwindow.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("newwindow.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("newwindow.window_name")}),_.jsx("input",{ref:d,className:"bind-input",value:c,placeholder:D("newwindow.name_placeholder"),onChange:k=>{m(k.target.value),o("")},onKeyDown:k=>{k.key==="Enter"&&w()}}),r&&_.jsx("div",{className:"bind-error",children:r})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("newwindow.start_dir")}),_.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>l(!0),children:[_.jsx("span",{className:"cwd-path",children:h||(y?D("newwindow.session_dir_named",{dir:y}):D("newwindow.session_dir_default"))}),_.jsx("span",{className:"cwd-action",children:D("newwindow.choose")})]}),h&&_.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>p(null),children:D("newwindow.reset_to_session_dir")})]}),_.jsx("div",{className:"opt",children:_.jsx(D_,{value:g,onChange:a})}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:t,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:w,disabled:f,children:D(f?"newwindow.creating":"common.create")})]})]})]}),_.jsx(ro,{open:u,seedCwd:h||y||null,pane:s,allowMkdir:!0,onPick:k=>{p(k),l(!1)},onClose:()=>l(!1),inset:n})]})}const kb=/^[A-Za-z0-9-]{1,16}$/;function Eb({open:e,title:t,currentName:i="",onClose:s,onSubmit:n,inset:c=0}){const[m,r]=N.useState(i),[o,f]=N.useState(""),[v,h]=N.useState(!1),p=N.useRef(null);if(N.useEffect(()=>{e&&(r(i),f(""),h(!1),setTimeout(()=>{var S;return(S=p.current)==null?void 0:S.focus()},0))},[e,i]),!e)return null;const y=async()=>{if(v)return;const S=m.trim();if(!kb.test(S)){f(D("rename.name_rule"));return}h(!0),f("");try{await n(S)}catch(g){f((g==null?void 0:g.message)||D("rename.failed")),h(!1)}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${c/2}px))`},role:"dialog","aria-label":t,"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:t}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("rename.new_name")}),_.jsx("input",{ref:p,className:"bind-input",value:m,placeholder:D("rename.name_placeholder"),onChange:S=>{r(S.target.value),f("")},onKeyDown:S=>{S.key==="Enter"&&y()}}),o&&_.jsx("div",{className:"bind-error",children:o}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:s,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:y,disabled:v,children:D(v?"rename.saving":"common.save")})]})]})]})]})}function Lb({onOpenDoc:e,refreshKey:t=0}){const[i,s]=N.useState(()=>kn()),n=m=>{ey(m),s(kn())},c=N.useRef(!0);return N.useEffect(()=>{if(c.current){c.current=!1;return}s(kn())},[t]),i.length===0?_.jsx("div",{className:"home-view",children:_.jsxs("div",{className:"home-empty",children:[D("home.empty"),_.jsx("span",{children:D("home.emptyHint")})]})}):_.jsx("div",{className:"home-view",children:i.map(m=>_.jsxs("div",{className:"home-recent-row",children:[_.jsxs("button",{className:"home-recent",onClick:()=>e(m.path),title:m.path,children:[_.jsx("span",{className:"home-name",children:m.name}),_.jsx("span",{className:"home-path",children:m.path})]}),_.jsx("button",{className:"home-x","aria-label":D("home.remove"),onClick:()=>n(m.path),children:"✕"})]},m.path))})}function hh(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let ur=hh();function A_(e){ur=e}const M_=/[&<>"']/,Rb=new RegExp(M_.source,"g"),N_=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Tb=new RegExp(N_.source,"g"),Db={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},jf=e=>Db[e];function bi(e,t){if(t){if(M_.test(e))return e.replace(Rb,jf)}else if(N_.test(e))return e.replace(Tb,jf);return e}const Ab=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Mb(e){return e.replace(Ab,(t,i)=>(i=i.toLowerCase(),i==="colon"?":":i.charAt(0)==="#"?i.charAt(1)==="x"?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""))}const Nb=/(^|[^\[])\^/g;function at(e,t){let i=typeof e=="string"?e:e.source;t=t||"";const s={replace:(n,c)=>{let m=typeof c=="string"?c:c.source;return m=m.replace(Nb,"$1"),i=i.replace(n,m),s},getRegex:()=>new RegExp(i,t)};return s}function Ff(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const Ln={exec:()=>null};function Hf(e,t){const i=e.replace(/\|/g,(c,m,r)=>{let o=!1,f=m;for(;--f>=0&&r[f]==="\\";)o=!o;return o?"|":" |"}),s=i.split(/ \|/);let n=0;if(s[0].trim()||s.shift(),s.length>0&&!s[s.length-1].trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;n<s.length;n++)s[n]=s[n].trim().replace(/\\\|/g,"|");return s}function Oo(e,t,i){const s=e.length;if(s===0)return"";let n=0;for(;n<s&&e.charAt(s-n-1)===t;)n++;return e.slice(0,s-n)}function Ib(e,t){if(e.indexOf(t[1])===-1)return-1;let i=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])i++;else if(e[s]===t[1]&&(i--,i<0))return s;return-1}function $f(e,t,i,s){const n=t.href,c=t.title?bi(t.title):null,m=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){s.state.inLink=!0;const r={type:"link",raw:i,href:n,title:c,text:m,tokens:s.inlineTokens(m)};return s.state.inLink=!1,r}return{type:"image",raw:i,href:n,title:c,text:bi(m)}}function Ob(e,t){const i=e.match(/^(\s+)(?:```)/);if(i===null)return t;const s=i[1];return t.split(`
110
+ `)}function F1(e,t,i=0){if(!e||!e.vis)return"\x1B[?25l";const s=i?Math.min(t|0,i|0):t|0,n=Math.max(1,s-Math.max(0,e.row|0)),c=Math.max(0,e.col|0)+1;return`\x1B[${n};${c}H\x1B[?25h`}function H1(e,{base:t=1e3,max:i=1e4,factor:s=2,jitter:n=.2,rng:c=Math.random}={}){if(e<=0)return 0;const m=Math.min(i,t*s**(e-1));return Math.round(m*(1+n*(c()*2-1)))}const $1=1e3;function z1(e){return e<8e3?$1:e<6e4?5e3:1e4}const U1=.95,W1=.015,V1=.1,G1=50;function K1(e,t,i=U1,s=W1){const n=e*t,c=e*i**(t/16);return{delta:n,v:c,done:Math.abs(c)<s}}function q1(e,t,i=V1,s=G1){return t<=s&&Math.abs(e)>=i}const Y1={failCount:0,connected:!0};function Pl(e,t,{threshold:i=2}={}){switch(t){case"ok":case"reset":return{failCount:0,connected:!0};case"fail":{const s=e.failCount+1;return{failCount:s,connected:s<i}}default:return e}}function f_(e,t,i){var r,o;let s=t;for(;s>0&&((r=e.getLine(s))!=null&&r.isWrapped);)s--;let n="";const c=[];let m=s;do{const f=e.getLine(m);if(!f)break;for(let v=0;v<i;v++){const h=f.getCell(v);if(!h)continue;const p=h.getWidth();p!==0&&(n+=h.getChars()||" ",c.push({row:m,col:v,w:p}))}m++}while(m<e.length&&((o=e.getLine(m))!=null&&o.isWrapped));return{text:n,cells:c}}function X1(e){var r;const t=e.buffer.active,i=e.cols,s=t.baseY,n=s+e.rows,c=[];let m=s;for(;m>0&&((r=t.getLine(m))!=null&&r.isWrapped);)m--;for(;m<n;){if(!t.getLine(m)){m++;continue}const{text:o,cells:f}=f_(t,m,i);for(const{start:v,end:h}of a_(o)){let p=v;for(;p<h;){const y=f[p].row;let S=p;for(;S<h&&f[S].row===y;)S++;const g=f[p].col,a=f[S-1],u=a.col+a.w;y>=s&&y<n&&c.push({y,x:g,width:u-g,path:o.slice(v,h)}),p=S}}m=f.length?f[f.length-1].row+1:m+1}return c}function J1(e,t){const i=e.buffer.active,s=e.cols,n=t-1;if(n<0||n>=i.length)return[];const{text:c,cells:m}=f_(i,n,s),r=[];for(const{start:o,end:f}of a_(c)){const v=m[o],h=m[f-1];n<v.row||n>h.row||r.push({range:{start:{x:v.col+1,y:v.row+1},end:{x:h.col+h.w,y:h.row+1}},path:c.slice(o,f)})}return r}const Z1=[{family:"JetBrainsMono Nerd Font",url:"/fonts/JetBrainsMonoNerdFontMono-Regular.woff2",probe:void 0},{family:"TW Unifont",url:"/fonts/TWUnifont.woff2",probe:"⏵",unicodeRange:"U+2190-21FF, U+2300-23FF, U+2400-243F, U+2500-257F, U+2580-259F, U+25A0-25FF, U+2600-26FF, U+2700-27BF, U+2800-28FF"}],Q1=4,eS=1500,tS=e=>{for(const t of document.fonts)if(t.family.replace(/["']/g,"")===e)return t;return null},iS=async({family:e,url:t,probe:i,unicodeRange:s},n)=>{var c;for(let m=0;m<Q1;m++){try{await document.fonts.load(`${n}px "${e}"`,i)}catch{}if(((c=tS(e))==null?void 0:c.status)==="loaded")return!0;try{const r=new FontFace(e,`url(${t}) format('woff2')`,s?{unicodeRange:s}:{});return await r.load(),document.fonts.add(r),!0}catch{}await new Promise(r=>setTimeout(r,eS*2**m))}return!1};let Ol=null;function sS(e=14){var t;return Ol||(Ol=typeof document<"u"&&((t=document.fonts)!=null&&t.load)?Promise.all(Z1.map(i=>iS(i,e))):Promise.resolve([!1,!1])),Ol}const rS=20,nS=100,No=5e3,oS=15,aS=N.forwardRef(function({pane:t,onAuthFail:i,onDocLinkTap:s},n){const c=N.useRef(null),m=N.useRef(null),r=N.useRef([]),o=N.useRef(s);o.current=s;const f=N.useRef(Uw()),v=N.useRef(null),[h,p]=N.useState(!1),[y,S]=N.useState(!0),g=N.useRef(!1),[a,u]=N.useState(null),[l,d]=N.useState(!1),w=N.useRef(null),k=N.useRef(!1),b=N.useRef(!1),[L,x]=N.useState(!1),[E,R]=N.useState(""),[I,T]=N.useState(!1),A=N.useRef(null),O=N.useRef(null),[U,$]=N.useState(""),[G,j]=N.useState(!1),C=N.useRef(null),M=N.useRef(null);N.useImperativeHandle(n,()=>({getSize:()=>{const V=m.current;return V?{cols:V.cols,rows:V.rows}:null},flash:()=>{const V=()=>{const te=m.current;te&&R(`${te.cols}×${te.rows} · ${te.options.fontSize}px`)};V(),T(!0),clearTimeout(A.current),clearInterval(O.current),O.current=setInterval(V,400),A.current=setTimeout(()=>{T(!1),clearInterval(O.current)},3e3)},getFontSize:()=>{const V=m.current;return V?{size:V.options.fontSize,auto:f.current==null}:null},setFontSize:V=>{var z;const te=m.current;if(!te)return null;const Q=Math.max(8,Math.min(40,Math.round(V)));return te.options.fontSize=Q,f.current=Q,nf(Q),(z=C.current)==null||z.call(C),Q},autoFont:()=>{var te;const V=m.current;V&&(V.options.fontSize=14,f.current=null,Ww(),(te=C.current)==null||te.call(C))},wake:()=>{var V;return(V=M.current)==null?void 0:V.call(M)}}),[]),N.useEffect(()=>()=>{clearTimeout(A.current),clearInterval(O.current)},[]),N.useEffect(()=>{var ot;const V=new A1.Terminal({disableStdin:!0,scrollback:No+100,convertEol:!1,fontSize:f.current??14,fontFamily:"ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, 'Cascadia Mono', 'Roboto Mono', 'Noto Sans Mono', 'DejaVu Sans Mono', 'Courier New', 'JetBrainsMono Nerd Font', 'TW Unifont', monospace",theme:{selectionBackground:"rgba(74,124,255,0.45)"},cursorInactiveStyle:"block"});V.open(c.current),m.current=V;const te=V.registerLinkProvider({provideLinks(le,Le){if(!o.current){Le(void 0);return}const Be=J1(V,le).map(({range:fe,path:je})=>({range:fe,text:je,decorations:{pointerCursor:!0,underline:!1},activate:Ue=>{var tt;return(tt=o.current)==null?void 0:tt.call(o,je,(Ue==null?void 0:Ue.clientX)??0,(Ue==null?void 0:Ue.clientY)??0)}}));Le(Be.length?Be:void 0)}});let Q=null;const z=()=>{try{Q=new M1.WebglAddon,Q.onContextLoss(()=>Q.dispose()),V.loadAddon(Q)}catch{Q=null}};z();const P=c.current.querySelector(".xterm-helper-textarea");P&&(P.readOnly=!0,P.tabIndex=-1,P.setAttribute("inputmode","none"),P.setAttribute("aria-hidden","true"));let J=null,K=!1,re=!1,ne=!1,be=!1;k.current=!1,b.current=!1,x(!1);const ge=()=>Math.min(No,Math.max(24,V.rows+rS));let Ee=ge(),Ne=null,pe="",$e=null,Je=0,Re=null,oe=Date.now();p(!1),j(!1);let ye=!1;const ue=()=>{K||ye||(ye=!0,requestAnimationFrame(()=>{K||j(!0)}))};let me=Y1;const Ie=le=>{me=le,S(le.connected)};sS(f.current??14).then(()=>{if(!(K||!Q)){try{Q.dispose()}catch{}z(),V.refresh(0,V.rows-1)}});const X=()=>V.buffer.active,Te=(le="")=>{const Le=X();$(be&&!ae()?`历史模式 · 行 ${Le.viewportY}/${Le.baseY}${re?" · 拉取中":""}${le}`:"")},ie=()=>X().viewportY>=X().baseY,ae=()=>X().baseY-X().viewportY<=oS,_e=()=>X().viewportY<=3,xe=()=>{!be||re||Ee>=No||!_e()||(Ee=Math.min(Ee+nS,No),Te(" · 拉取↑"),qe(Ee,!0))};let ve=0;const dt=()=>{K||V.write(F1($e,V.rows,Je))},ut=(le=0)=>{if(K||!c.current||!V.rows)return;const Le=c.current.clientHeight,Be=c.current.querySelector(".xterm-screen"),fe=Be?Be.getBoundingClientRect().height:0;if(!Le||!fe)return;const je=fe/V.rows;if(f.current==null&&ve&&le<4){const tt=ve*je;if(tt>Le+4){const Mt=V.options.fontSize||14,Ht=Math.max(6,Math.round(Mt*(Le/tt)));if(Ht<Mt){V.options.fontSize=Ht,requestAnimationFrame(()=>ut(le+1));return}}}const Ue=Math.max(1,Math.floor(Le/je));if(Ue!==V.rows){V.write(`\x1B[?25l\x1B[${V.rows};1H`,()=>{K||(V.resize(V.cols,Ue),V.scrollToBottom(),le<4?requestAnimationFrame(()=>ut(le+1)):(dt(),ue()))});return}dt(),ue()},Ze=()=>requestAnimationFrame(()=>ut(0));C.current=Ze;const Tt=()=>Ze();window.addEventListener("resize",Tt),window.addEventListener("orientationchange",Tt);let kt=((ot=c.current)==null?void 0:ot.clientHeight)||0;const Ut=typeof ResizeObserver<"u"?new ResizeObserver(()=>{var Be;const le=((Be=c.current)==null?void 0:Be.clientHeight)||0;if(!le)return;const Le=le>kt;kt=le,Le&&Ze()}):null;Ut&&c.current&&Ut.observe(c.current);const It=(le,Le)=>{var Ht;const Be=(Ht=c.current)==null?void 0:Ht.querySelector(".xterm-screen");if(!Be||!V.cols||!V.rows)return null;const fe=Be.getBoundingClientRect(),je=fe.width/V.cols,Ue=fe.height/V.rows;if(!je||!Ue)return null;const tt=Math.max(0,Math.min(V.cols-1,Math.floor((le-fe.left)/je))),Mt=Math.max(0,Math.min(V.rows-1,Math.floor((Le-fe.top)/Ue)));return{col:tt,row:X().viewportY+Mt}};let Qe=null;const Oe=(le,Le)=>{var tt,Mt;const Be=It(le,Le);if(!Be)return;const fe=((tt=X().getLine(Be.row))==null?void 0:tt.translateToString(!1))??"";let je=Be.col,Ue=Be.col;if(/\S/.test(fe[Be.col]||"")){for(;je>0&&/\S/.test(fe[je-1]);)je--;for(;Ue<V.cols-1&&/\S/.test(fe[Ue+1]);)Ue++}Qe={col:je,row:Be.row},g.current=!0,u(null),clearTimeout(w.current),d(!0),V.select(je,Be.row,Ue-je+1),(Mt=navigator.vibrate)==null||Mt.call(navigator,12)},_t=(le,Le)=>{const Be=It(le,Le);if(!Be||!Qe)return;const fe=V.cols,je=Qe.row*fe+Qe.col,Ue=Be.row*fe+Be.col,tt=Math.min(je,Ue);V.select(tt%fe,Math.floor(tt/fe),Math.abs(Ue-je)+1)},Dt=()=>{Qe=null,g.current=!1,u(null),clearTimeout(w.current),d(!1),V.clearSelection()},De=c.current;let ui=0,si=0,hi=0,At=0,Pi=!1,qi=0,st=0,Et=!1,yt=null;const wi=()=>{yt&&(clearTimeout(yt),yt=null)},Oi=le=>Math.hypot(le[0].clientX-le[1].clientX,le[0].clientY-le[1].clientY);let Bi=0,ji=0,vt=0,ft=0,Ft=0,di=null;const Yi=()=>{di!=null&&(cancelAnimationFrame(di),di=null)};v.current=Yi;const Fi=(le,Le,Be)=>{if(!le)return;let fe=Be,je=null;const Ue=tt=>{if(je==null){je=tt,di=requestAnimationFrame(Ue);return}const Mt=tt-je;je=tt;const Ht=K1(fe,Mt);fe=Ht.v;const Ji=le[Le];le[Le]=Ji+Ht.delta;const ao=Math.abs(Ht.delta)>=1&&le[Le]===Ji;if(Ht.done||ao){di=null;return}di=requestAnimationFrame(Ue)};di=requestAnimationFrame(Ue)},Xi=22;let Yt=0,W=0,se=0,Ae=!1;const Ke=async()=>{var Be;if(Ae||se===0)return;Ae=!0;const le=I1(se),Le=Math.min(Math.abs(se),40);se=0;try{b.current?await wy(t,le,Le):await Hc(t,Array(Le).fill(le==="up"?"Up":"Down")),(Be=M.current)==null||Be.call(M)}catch{}finally{Ae=!1,se!==0&&Ke()}},St=le=>{if(oe=Date.now(),wi(),Yi(),g.current&&Dt(),Et=!1,le.touches.length===2){Pi=!0,At=-1,qi=Oi(le.touches),st=V.options.fontSize||14;return}if(Pi=!1,le.touches.length!==1){At=-1;return}ui=le.touches[0].clientX,si=le.touches[0].clientY,hi=De.scrollLeft,At=0,Bi=ui,ji=si,vt=le.timeStamp,ft=0,Ft=0,W=si,Yt=0,yt=setTimeout(()=>{yt=null,Et=!0,At=-1,Oe(ui,si)},500)},Wt=le=>{if(Pi&&le.touches.length===2){if(qi>0){const fe=Math.max(8,Math.min(40,Math.round(st*(Oi(le.touches)/qi))));fe!==(V.options.fontSize||14)&&(V.options.fontSize=fe,f.current=fe)}le.preventDefault(),le.stopPropagation();return}if(Et&&le.touches.length===1){_t(le.touches[0].clientX,le.touches[0].clientY),le.preventDefault(),le.stopPropagation();return}if(le.touches.length===1&&(Te(),xe()),le.touches.length!==1)return;const Le=le.touches[0].clientX-ui,Be=le.touches[0].clientY-si;if((Math.abs(Le)>6||Math.abs(Be)>6)&&wi(),At===0){if(Math.abs(Le)<6&&Math.abs(Be)<6)return;At=Math.abs(Le)>Math.abs(Be)?1:-1}if(At===1){De.scrollLeft=hi-Le;const fe=le.touches[0].clientX,je=le.timeStamp-vt;je>0&&(ft=(Bi-fe)/je),Bi=fe,vt=le.timeStamp,le.preventDefault(),le.stopPropagation()}else{if(k.current){le.preventDefault(),le.stopPropagation();const Ue=le.touches[0].clientY,{notches:tt,rem:Mt}=N1(Yt+(Ue-W),Xi);Yt=Mt,W=Ue,tt&&(se+=tt,Ke());return}const fe=le.touches[0].clientY,je=le.timeStamp-vt;je>0&&(Ft=(ji-fe)/je),ji=fe,vt=le.timeStamp}},et=le=>{if(wi(),Et&&le.touches.length===0){Et=!1,clearTimeout(w.current),w.current=setTimeout(()=>d(!1),3500);const Le=V.getSelection();if(Le&&Le.trim()){const Be=le.changedTouches[0],fe=De.getBoundingClientRect(),je=Math.max(8,Math.min(fe.width-72,Be.clientX-fe.left)),Ue=Math.max(8,Be.clientY-fe.top-46);u({x:je,y:Ue})}else Dt();return}if(Pi&&le.touches.length<2){Pi=!1,nf(V.options.fontSize||14),Ze();return}le.touches.length===0&&q1(At===1?ft:Ft,le.timeStamp-vt)&&(At===1?Fi(De,"scrollLeft",ft):At===-1&&Fi(De.querySelector(".xterm-viewport"),"scrollTop",Ft))};De.addEventListener("touchstart",St,{capture:!0,passive:!0}),De.addEventListener("touchmove",Wt,{capture:!0,passive:!1}),De.addEventListener("touchend",et,{capture:!0,passive:!0});const it=le=>{for(const{deco:fe,marker:je}of r.current)fe.dispose(),je.dispose();if(r.current=[],!o.current)return;const Le=le.buffer.active,Be=Le.baseY+Le.cursorY;for(const{y:fe,x:je,width:Ue}of X1(le)){const tt=le.registerMarker(fe-Be);if(!tt)continue;const Mt=le.registerDecoration({marker:tt,x:je,width:Ue});if(!Mt){tt.dispose();continue}Mt.onRender(Ht=>{Ht.classList.add("doc-deco")}),r.current.push({deco:Mt,marker:tt})}},qe=async(le,Le)=>{if(re||K)return;re=!0;const Be=Le?X().length-X().viewportY:0;try{const fe=await vy(t,le,Re);if(K)return;if(Ie(Pl(me,"ok")),fe.unchanged){p(Le);return}Re=fe.hash,k.current=!!fe.alt,b.current=!!fe.mouseAware,x(Ji=>Ji===!!fe.alt?Ji:!!fe.alt),oe=Date.now();let je=!1;fe.width&&fe.width!==V.cols&&(V.resize(fe.width,V.rows),je=!0);const Ue=ve;fe.height&&(ve=fe.height);const tt=!be,Mt=fe.cur?`${fe.cur.row},${fe.cur.col},${fe.cur.vis?1:0}`:"";if(!je&&!tt&&fe.ansi===Ne&&Mt===pe){p(Le);return}const Ht=j1(fe.ansi);if(Je=Ht?Ht.split(`
111
+ `).length:0,await new Promise(Ji=>V.write("\x1B[?25l\x1B[0m\x1B[2J\x1B[3J\x1B[H"+Ht,Ji)),K)return;Ne=fe.ansi,pe=Mt,$e=fe.cur,Le?V.scrollToLine(Math.max(0,X().length-Be)):V.scrollToBottom(),be=!0;try{it(V)}catch{}p(Le),dt(),(je||tt||ve!==Ue)&&Ze(),tt&&setTimeout(ue,400)}catch(fe){fe instanceof lt?i==null||i():K||Ie(Pl(me,"fail"))}finally{re=!1,ne&&!K&&(ne=!1,de())}},we=async()=>{if(!(re||K)&&!g.current){if(be&&!ae()){p(!0);return}Ee=ge(),await qe(Ee,!ie())}};let F=0;async function ee(le){if(!K&&le===F&&await we(),K||document.hidden||le!==F)return;const Le=me.failCount>0?H1(me.failCount):z1(Date.now()-oe);J=setTimeout(()=>ee(le),Le)}const de=()=>{F+=1,J&&(clearTimeout(J),J=null),ee(F)};de();const ze=()=>{if(oe=Date.now(),re){ne=!0;return}de()};M.current=ze;const Pe=()=>{document.hidden?(F+=1,J&&(clearTimeout(J),J=null)):(Ie(Pl(me,"reset")),Ee=ge(),oe=Date.now(),de())};document.addEventListener("visibilitychange",Pe);const Ye=V.onScroll(()=>{if(!K){if(ie()){p(!1),$("");return}p(!0),Te(),xe()}});return()=>{K=!0,C.current=null,M.current=null,v.current=null,wi(),Yi(),J&&clearTimeout(J),clearTimeout(w.current),document.removeEventListener("visibilitychange",Pe),window.removeEventListener("resize",Tt),window.removeEventListener("orientationchange",Tt),Ut==null||Ut.disconnect(),De.removeEventListener("touchstart",St,{capture:!0}),De.removeEventListener("touchmove",Wt,{capture:!0}),De.removeEventListener("touchend",et,{capture:!0}),Ye.dispose(),te.dispose();for(const{deco:le,marker:Le}of r.current)le.dispose(),Le.dispose();r.current=[],V.dispose(),m.current=null}},[t]);const B=()=>{var te,Q,z,P;(te=v.current)==null||te.call(v);const V=(Q=c.current)==null?void 0:Q.querySelector(".xterm-viewport");V&&(V.scrollTop=V.scrollHeight),(z=m.current)==null||z.scrollToBottom(),p(!1),$(""),(P=M.current)==null||P.call(M)},H=async V=>{var te;try{await Hc(t,[V==="up"?"PageUp":"PageDown"]),(te=M.current)==null||te.call(M)}catch{}},Y=async()=>{const V=m.current,te=V==null?void 0:V.getSelection();if(te){let Q=!1;if(navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(te),Q=!0}catch{}if(!Q){const z=document.createElement("textarea");z.value=te,z.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(z),z.focus(),z.select();try{document.execCommand("copy")}catch{}document.body.removeChild(z)}}V==null||V.clearSelection(),g.current=!1,u(null),clearTimeout(w.current),d(!1)};return _.jsxs("div",{className:"terminal-wrap",children:[_.jsx("div",{ref:c,className:G?"terminal":"terminal terminal--loading"}),!y&&_.jsx("div",{className:"term-banner term-banner--err",children:"⚠ 连接断开,重连中…"}),I&&_.jsx("div",{className:"dbg",children:E}),y&&U&&_.jsx("div",{className:"term-banner term-banner--hist",children:U}),U&&_.jsx("button",{className:"new-output",onClick:B,children:"↓ 回到底部"}),l&&_.jsx("div",{className:"sel-hint",children:"按住拖动选择文字,松手后点「复制」"}),L&&_.jsxs("div",{className:"term-pager",role:"group","aria-label":"翻页",children:[_.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"上翻页",onClick:()=>H("up"),children:_.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:_.jsx("path",{d:"M6 14.5l6-6 6 6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})}),_.jsx("span",{className:"term-pager-div","aria-hidden":"true"}),_.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"下翻页",onClick:()=>H("down"),children:_.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:_.jsx("path",{d:"M6 9.5l6 6 6-6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),a&&_.jsx("button",{className:"copy-bubble",style:{left:a.x,top:a.y},onClick:Y,children:"复制"})]})}),p_={active:!1,phase:null,pct:0,label:""};let qn=p_,En=null;const Wc=new Set,oh=()=>{for(const e of[...Wc])e()};function m_(e,t=""){En=e,qn={active:!0,phase:"sending",pct:0,label:t},oh()}function Aa(e){qn={...qn,...e},oh()}function Vc(){En=null,qn=p_,oh()}function lS(){En==null||En.abort()}const cS=e=>(Wc.add(e),()=>Wc.delete(e)),uS=()=>qn;function hS(){return N.useSyncExternalStore(cS,uS)}const dS=[["esc","tab","tilde","slash","up","at","del"],["ctrl","shift","alt","left","down","right","enter"]],Yn=["ctrl","shift","alt"],Gc={kbd:"⌨",esc:"Esc",up:"▲",tab:"Tab",ctrl:"Ctrl",shift:"Shift",del:"⌫",left:"◀",down:"▼",right:"▶",alt:"Alt",slash:"/",tilde:"~",at:"@",enter:"Enter"},fS=new Set(["up","down","left","right","del"]),Cf={esc:"Escape",tab:"Tab",del:"BSpace",enter:"Enter",up:"Up",down:"Down",left:"Left",right:"Right"},kf={slash:"/",tilde:"~",at:"@"};function pS(e){return e in Cf?{kind:"key",name:Cf[e]}:e in kf?{kind:"text",ch:kf[e]}:null}const Kc="off",ah="armed",qc="locked",ds=e=>e===ah||e===qc,mS=e=>Yn.some(t=>ds(e[t]));function Yc(e){const t={};for(const i of Yn)t[i]=e[i]===ah?Kc:e[i]??Kc;return t}function g_(e,t){if(!e||!mS(t))return e;const i=ds(t.ctrl),s=ds(t.shift),n=ds(t.alt);if(s&&e.kind==="key"){if(e.name==="Tab")return{kind:"key",name:"BTab"};if(["Up","Down","Left","Right"].includes(e.name))return{kind:"key",name:`S-${e.name}`}}return(i||n)&&e.kind==="text"&&/^[a-z0-9]$/i.test(e.ch)?{kind:"key",name:`${i?"C":"M"}-${e.ch.toLowerCase()}`}:e}const gS={up:"Up",down:"Down",left:"Left",right:"Right",enter:"Enter",ret:"Enter",return:"Enter",cr:"Enter",esc:"Escape",escape:"Escape",tab:"Tab",space:"Space",del:"BSpace",bs:"BSpace",bspace:"BSpace",backspace:"BSpace",home:"Home",end:"End",pgup:"PageUp",pageup:"PageUp",pgdn:"PageDown",pagedown:"PageDown"},_S={Escape:"Esc",BSpace:"⌫",Space:"Space",PageUp:"PgUp",PageDown:"PgDn"};function vS(e,t){const i=!!e.ctrl,s=!!e.shift,n=!!e.alt,c=(t||"").trim();if(!c)return null;const m=[];i&&m.push("Ctrl"),s&&m.push("Shift"),n&&m.push("Alt");const r=f=>[...m,f].join("+"),o=gS[c.toLowerCase()];return o?{name:o==="Tab"&&s&&!i&&!n?"BTab":(i?"C-":"")+(n?"M-":"")+(s?"S-":"")+o,label:r(_S[o]||o)}:c.length!==1||!i&&!n&&!s?null:i||n?{name:(i?"C-":"")+(n?"M-":"")+c.toLowerCase(),label:r(c.toUpperCase())}:{name:c.toUpperCase(),label:r(c.toUpperCase())}}function wS(e,{delay:t=400,interval:i=120}={}){let s=null,n=null;const c=()=>{s&&clearTimeout(s),n&&clearInterval(n),s=null,n=null};return{start:()=>{c(),e(),s=setTimeout(()=>{n=setInterval(e,i)},t)},stop:c}}const Ef={up:"Up",down:"Down",left:"Left",right:"Right",tilde:"Tilde",slash:"Slash",at:"At",del:"Backspace"},__=e=>{e.cancelable&&e.preventDefault()},yS=500;function SS({onKey:e,onText:t,mods:i,setMods:s,keyHeldRef:n}){const c=N.useRef(i);c.current=i;const m=o=>{const f=pS(o);if(!f)return;const v=Yn.some(p=>ds(c.current[p])),h=v?g_(f,c.current):f;h.kind==="key"?e(h.name):t(h.ch),v&&s(Yc)},r=o=>Yn.includes(o)?_.jsx(xS,{id:o,state:i[o],setMods:s},o):_.jsx(CS,{id:o,dispatch:m,keyHeldRef:n},o);return _.jsx("div",{className:"keybar-grid",children:dS.flat().map(r)})}const bS=300;function xS({id:e,state:t,setMods:i}){const s=N.useRef(-1/0),n=m=>{const r=m.timeStamp||0;if(r-s.current<bS){s.current=-1/0,i(o=>({...o,[e]:qc}));return}s.current=r,i(o=>({...o,[e]:ds(o[e])?Kc:ah}))},c=t===qc?" locked":ds(t)?" armed":"";return _.jsx("button",{type:"button",className:`keybar-key keybar-mod${c}`,"data-key":e,"data-state":t,"aria-pressed":ds(t),"aria-label":Gc[e],onPointerDown:__,onClick:n,children:Gc[e]})}function CS({id:e,dispatch:t,keyHeldRef:i}){const s=N.useRef(null),n=N.useRef(t);n.current=t;const c=N.useRef(null),m=y=>{i&&(i.current=y)},r=Gc[e];if(!fS.has(e))return _.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":Ef[e]||r,onPointerDown:__,onClick:()=>t(e),children:r});const o=()=>{const y=c.current;y!=null&&y.guard&&(clearTimeout(y.guard),y.guard=null)},f=y=>{y.cancelable&&y.preventDefault(),s.current||(s.current=wS(()=>n.current(e)));const S={x:y.clientX,y:y.clientY,held:!1,moved:!1,guard:null};S.guard=setTimeout(()=>{S.held=!0,S.guard=null,s.current.start()},yS),c.current=S,m(!0)},v=y=>{const S=c.current;!S||S.held||(Math.abs(y.clientX-S.x)>8||Math.abs(y.clientY-S.y)>8)&&(S.moved=!0,o(),m(!1))},h=()=>{const y=c.current;m(!1),y&&(o(),y.held?s.current.stop():y.moved||n.current(e),c.current=null)},p=()=>{var y;m(!1),o(),(y=c.current)!=null&&y.held&&s.current.stop(),c.current=null};return _.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":Ef[e]||r,onPointerDown:f,onPointerMove:v,onPointerUp:h,onPointerCancel:p,onPointerLeave:p,children:r})}const v_=e=>`hm_favs6_${e}`,w_="command",Xc=e=>e?`command@${e}`:w_,kS={command:[],agent:[{kind:"key",text:"Escape",label:"Esc"},{kind:"key",text:"Tab",label:"Tab"},{kind:"key",text:"BSpace",label:"⌫"},{kind:"reply",text:"ok"},{kind:"reply",text:"go on"},{kind:"reply",text:"1"},{kind:"reply",text:"2"},{kind:"reply",text:"3"},{kind:"cmd",text:"/compact"},{kind:"cmd",text:"/clear"},{kind:"cmd",text:"/model"}]};function pi(e){try{const t=localStorage.getItem(v_(e));if(t)return JSON.parse(t)}catch{}return(kS[e]||[]).map(t=>({...t}))}function sl(e,t){try{localStorage.setItem(v_(e),JSON.stringify(t))}catch{}return t}function Jc(e,t){const i=pi(e);if(i.some(n=>n.text===t.text))return i;const s=t.kind==="key"?{kind:"key",text:t.text,label:t.label}:{kind:t.kind,text:t.text,enter:!!t.enter};return sl(e,[...i,s])}function Zc(e,t){return sl(e,pi(e).filter(i=>i.text!==t))}function ES(e,t,i){const s=pi(e),n=s.findIndex(m=>m.text===t);if(n<0||s.some((m,r)=>r!==n&&m.text===i.text))return s;const c=s.slice();return c[n]=i.kind==="key"?{kind:"key",text:i.text,label:i.label}:{kind:i.kind,text:i.text,enter:!!i.enter},sl(e,c)}function LS(e,t,i){const s=pi(e),n=s.findIndex(r=>r.text===t),c=n+(i<0?-1:1);if(n<0||c<0||c>=s.length)return s;const m=s.slice();return[m[n],m[c]]=[m[c],m[n]],sl(e,m)}const RS=e=>{var t;try{(t=navigator.clipboard)==null||t.writeText(e)}catch{}};function TS({open:e,mode:t,recent:i=[],onSend:s,onFill:n,onClose:c,onDelete:m,historyOnly:r=!1}){const[o,f]=N.useState(()=>pi(t)),v=N.useRef(null),[h,p]=N.useState(t);if(h!==t&&(p(t),f(pi(t))),!e)return null;const y=r?[]:o.filter(u=>u.kind==="reply"),S=r?[]:o.filter(u=>u.kind==="cmd"),g=()=>{var d;const u=(((d=v.current)==null?void 0:d.value)||"").trim();if(!u)return;const l=t==="agent"&&!u.startsWith("/")?"reply":"cmd";f(Jc(t,{kind:l,text:u})),v.current&&(v.current.value="")},a=u=>f(Zc(t,u));return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:c}),_.jsxs("div",{className:`cmd-panel${r?" history":""}`,role:"dialog","aria-label":D("fav.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:D(r?"dock.history":"fav.title")}),_.jsx("button",{className:"cmd-close",onClick:c,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsxs("div",{className:"cmd-list",children:[r&&_.jsx("div",{className:"cmd-hint",children:D("history.scope")}),y.length>0&&_.jsx("div",{className:"fav-chips",children:y.map(u=>_.jsx("span",{className:"fav-chip",onClick:()=>s(u.text),onContextMenu:l=>{l.preventDefault(),a(u.text)},children:u.text},u.text))}),S.map(u=>_.jsxs("div",{className:"cmd-row",children:[_.jsx("span",{className:"cmd-text",onClick:()=>s(u.text),onDoubleClick:()=>n(u.text),children:u.text}),_.jsx("button",{className:"cmd-del",onClick:()=>a(u.text),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},u.text)),i.map(u=>_.jsxs("div",{className:"cmd-row",children:[_.jsx("span",{className:"cmd-text",onClick:()=>s(u),onDoubleClick:()=>n(u),children:u}),_.jsx("button",{className:"cmd-copy",onClick:()=>RS(u),"aria-label":D("common.copy"),children:_.jsx(Zg,{})}),m&&_.jsx("button",{className:"cmd-del",onClick:()=>m(u),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},`r:${u}`)),r&&i.length===0&&_.jsx("div",{className:"cmd-empty",children:D("history.empty")}),!r&&_.jsxs("div",{className:"fav-add",children:[_.jsx("input",{ref:v,className:"fav-add-input",placeholder:D("fav.addPlaceholder"),onKeyDown:u=>{u.key==="Enter"&&g()}}),_.jsx("button",{className:"fav-add-btn",onClick:g,children:D("fav.add")})]})]})]})]})}const Ma=[{key:"none",mods:{}},{key:"ctrl",label:"Ctrl",mods:{ctrl:!0}},{key:"shift",label:"Shift",mods:{shift:!0}},{key:"alt",label:"Alt",mods:{alt:!0}},{key:"ctrl-shift",label:"Ctrl+Shift",mods:{ctrl:!0,shift:!0}},{key:"ctrl-alt",label:"Ctrl+Alt",mods:{ctrl:!0,alt:!0}}],DS=e=>Ma.find(t=>t.key===e)||Ma[0],AS=[["Up","↑ Up"],["Down","↓ Down"],["Left","← Left"],["Right","→ Right"],["Tab","⇥ Tab"],["Enter","⏎ Enter"],["Escape","⎋ Esc"],["Space","␣ Space"],["BSpace","⌫ Backspace"],["Home","Home"],["End","End"],["PageUp","PgUp"],["PageDown","PgDn"]],MS=[...AS.map(([e,t])=>({value:e,label:t})),..."abcdefghijklmnopqrstuvwxyz".split("").map(e=>({value:e,label:e.toUpperCase()})),..."0123456789".split("").map(e=>({value:e,label:e}))];function NS(e){let t=e.text||"";if(t==="BTab")return{sticky:"shift",base:"Tab"};let i=!1,s=!1,n=!1;t.startsWith("C-")&&(i=!0,t=t.slice(2)),t.startsWith("M-")&&(s=!0,t=t.slice(2)),t.startsWith("S-")&&(n=!0,t=t.slice(2)),!i&&!s&&!n&&t.length===1&&t>="A"&&t<="Z"&&(n=!0);const c=Ma.find(m=>!!m.mods.ctrl===i&&!!m.mods.shift===n&&!!m.mods.alt===s);return{sticky:c?c.key:"none",base:t.length===1?t.toLowerCase():t}}function Lf({value:e,options:t,onChange:i,placeholder:s}){const[n,c]=N.useState(!1),m=t.find(r=>r.value===e);return _.jsxs("div",{className:"cmd-dd",children:[_.jsxs("button",{type:"button",className:`cmd-dd-btn${n?" open":""}`,onClick:()=>c(r=>!r),"aria-haspopup":"listbox","aria-expanded":n,children:[_.jsx("span",{className:m?void 0:"cmd-dd-ph",children:m?m.label:s}),_.jsx(Bs,{})]}),n&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-dd-scrim",onClick:()=>c(!1)}),_.jsx("div",{className:"cmd-dd-menu",role:"listbox",children:t.map(r=>_.jsxs("button",{type:"button",role:"option","aria-selected":r.value===e,className:`cmd-dd-opt${r.value===e?" on":""}`,onClick:()=>{i(r.value),c(!1)},children:[_.jsx("span",{children:r.label}),r.value===e&&_.jsx(Yg,{})]},r.value))})]})]})}function IS({title:e,accent:t,items:i,showTitle:s=!0,onMove:n,onDel:c,onEdit:m}){return _.jsxs("div",{className:`cmd-esection ${t}`,children:[s&&_.jsx("div",{className:`cmd-section ${t}`,children:_.jsx("span",{className:"cmd-section-name",children:e})}),i.length===0&&_.jsx("div",{className:"cmd-empty",children:D("cmd.empty")}),i.map((r,o)=>_.jsxs("div",{className:"cmd-row",children:[_.jsxs("button",{type:"button",className:"cmd-text cmd-fav-text",onClick:()=>m(r),children:[r.kind==="key"&&r.label||r.text,r.kind!=="key"&&r.enter&&_.jsx("span",{className:"cmd-enter","aria-hidden":"true",children:"⏎"})]}),_.jsx("button",{className:"cmd-move up",disabled:o===0,onClick:()=>n(r.text,-1),"aria-label":D("cmd.moveUp"),children:_.jsx(Bs,{})}),_.jsx("button",{className:"cmd-move",disabled:o===i.length-1,onClick:()=>n(r.text,1),"aria-label":D("cmd.moveDown"),children:_.jsx(Bs,{})}),_.jsx("button",{className:"cmd-del",onClick:()=>c(r.text),"aria-label":D("common.delete"),children:_.jsx(Fr,{})})]},r.text))]})}function PS({scopes:e,cfg:t,edit:i,inset:s,onAdd:n,onUpdate:c,onClose:m}){const r=i&&i.fav.kind==="key"?NS(i.fav):null,[o,f]=N.useState(i&&i.fav.kind==="key"?"key":"msg"),[v,h]=N.useState(i?i.scope:e[0].key),[p,y]=N.useState(i?r?r.base:i.fav.text:""),[S,g]=N.useState(i&&i.fav.kind!=="key"?!!i.fav.enter:!1),[a,u]=N.useState(r?r.sticky:"none"),l=N.useRef(null),d=E=>{E!==o&&(f(E),y(""))},w=Ma.map(E=>({value:E.key,label:E.label??D("cmd.stickyNone")})),k=o==="key"?vS(DS(a).mods,p):null,b=e.some(E=>E.key===v)?v:e[0].key,L=o==="key"?!!k:!!p.trim(),x=()=>{var R;if(!L)return;const E=o==="key"?{kind:"key",text:k.name,label:k.label}:{kind:t.msgKind(p.trim()),text:p.trim(),enter:S};if(i){c(i.scope,i.fav.text,b,E);return}n(b,E),y(""),(R=l.current)==null||R.focus()};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop cmd-add-backdrop",onClick:m}),_.jsxs("div",{className:"cmd-addcard",role:"dialog","aria-label":D(i?"cmd.editItem":"cmd.addTitle"),style:{transform:`translate(-50%, calc(-50% + ${s/2}px))`},children:[_.jsxs("div",{className:"cmd-addcard-head",children:[_.jsx("span",{className:"cmd-title",children:D(i?"cmd.editItem":"cmd.addTitle")}),_.jsx("button",{className:"cmd-close",onClick:m,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsxs("div",{className:"cmd-modetabs",role:"tablist",children:[_.jsx("button",{type:"button",role:"tab","aria-selected":o==="msg",className:`cmd-modetab${o==="msg"?" on":""}`,onClick:()=>d("msg"),children:t.msgLabel}),_.jsx("button",{type:"button",role:"tab","aria-selected":o==="key",className:`cmd-modetab${o==="key"?" on":""}`,onClick:()=>d("key"),children:D("cmd.tabKey")})]}),e.length>1&&_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.addTo")}),_.jsx("div",{className:"cmd-seg",role:"group",children:e.map(E=>_.jsx("button",{type:"button","aria-pressed":b===E.key,className:`cmd-seg-btn${E.accent==="win"?" win":""}${b===E.key?" on":""}`,onClick:()=>h(E.key),children:E.title},E.key))})]}),o==="key"?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.sticky")}),_.jsx(Lf,{value:a,options:w,onChange:u})]}),_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:D("cmd.baseKey")}),_.jsx(Lf,{value:p,options:MS,onChange:y,placeholder:D("cmd.pickKey")}),k&&_.jsx("span",{className:"cmd-chord-preview",children:k.label})]})]}):_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"cmd-field",children:[_.jsx("label",{className:"cmd-field-label",children:t.msgLabel}),_.jsx("input",{ref:l,className:"cmd-add-input",value:p,placeholder:t.placeholder,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:E=>y(E.target.value),onKeyDown:E=>{E.key==="Enter"&&x()}})]}),t.hasEnter&&_.jsxs("label",{className:"cmd-toggle-row",children:[_.jsx("span",{children:D("cmd.withEnter")}),_.jsxs("span",{className:"cmd-switch",children:[_.jsx("input",{type:"checkbox",checked:S,onChange:E=>g(E.target.checked)}),_.jsx("span",{className:"cmd-switch-track","aria-hidden":"true"}),_.jsx("span",{className:"cmd-switch-knob","aria-hidden":"true"})]})]})]}),_.jsx("button",{type:"button",className:"cmd-submit",disabled:!L,onClick:x,children:D(i?"common.save":"fav.add")})]})]})}function OS(e,t){if(e==="chat")return{title:D("chat.editTitle"),scopes:[{key:"agent",title:D("chat.favs"),accent:"global"}],card:{msgLabel:D("chat.tabMsg"),placeholder:D("chat.addPlaceholder"),hasEnter:!1,msgKind:s=>s.startsWith("/")?"cmd":"reply"}};const i=t?Xc(t):null;return{title:D("cmd.editTitle"),scopes:[{key:w_,title:D("cmd.global"),accent:"global"},...i?[{key:i,title:D("cmd.window"),accent:"win"}]:[]],card:{msgLabel:D("cmd.tabCmd"),placeholder:D("cmd.addPlaceholder"),hasEnter:!0,msgKind:()=>"cmd"}}}function Rf({windowId:e,inset:t=0,variant:i="command",onClose:s}){const{title:n,scopes:c,card:m}=OS(i,e),[r,o]=N.useState(()=>Object.fromEntries(c.map(a=>[a.key,pi(a.key)]))),[f,v]=N.useState(null),h=()=>o(Object.fromEntries(c.map(a=>[a.key,pi(a.key)]))),p=(a,u,l)=>{LS(a,u,l),h()},y=(a,u)=>{Zc(a,u),h()},S=(a,u)=>{Jc(a,u),h()},g=(a,u,l,d)=>{a===l?ES(a,u,d):(Zc(a,u),Jc(l,d)),h(),v(null)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:s}),_.jsxs("div",{className:"cmd-panel cmd-editor",role:"dialog","aria-label":n,children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:n}),_.jsx("button",{className:"cmd-add-open",onClick:()=>v({edit:null}),"aria-label":D("cmd.addTitle"),children:_.jsx(qg,{})}),_.jsx("button",{className:"cmd-close",onClick:s,"aria-label":D("common.close"),children:_.jsx(Fr,{})})]}),_.jsx("div",{className:"cmd-list",children:c.map(a=>_.jsx(IS,{title:a.title,accent:a.accent,items:r[a.key]||[],showTitle:c.length>1,onMove:(u,l)=>p(a.key,u,l),onDel:u=>y(a.key,u),onEdit:u=>v({edit:{fav:u,scope:a.key}})},a.key))})]}),f&&_.jsx(PS,{scopes:c,cfg:m,edit:f.edit,inset:t,onAdd:S,onUpdate:g,onClose:()=>v(null)})]})}function y_({active:e,disabled:t,onToggle:i}){const s=N.useRef({x:0,y:0,moved:!1}),n=r=>{s.current={x:r.clientX,y:r.clientY,moved:!1}},c=r=>{const o=s.current;!o.moved&&Math.hypot(r.clientX-o.x,r.clientY-o.y)>10&&(o.moved=!0)},m=()=>{s.current.moved||i()};return _.jsx("button",{type:"button",className:`input-mic${e?" on":""}`,"aria-label":D(e?"mic.stop":"mic.start"),"aria-pressed":e,disabled:t,onPointerDown:n,onPointerMove:c,onPointerUp:m,children:_.jsx(s1,{})})}const S_=["jpg","jpeg","png","gif","webp","svg","bmp","heic","heif","avif","ico","tiff","mp4","m4v","mov","webm","mkv","avi","wmv","flv","3gp","ogv","mpeg","mpg","txt","md","markdown","rst","log","csv","tsv","json","yaml","yml","toml","ini","conf","xml","html","htm","css","js","mjs","cjs","ts","tsx","jsx","py","rb","go","rs","java","c","h","cpp","sh","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","rtf"],b_=S_.map(e=>`.${e}`).join(","),BS=new Set(S_);function jS(e){const t=/\.([A-Za-z0-9]+)$/.exec(e||"");return t?BS.has(t[1].toLowerCase()):!1}function x_(e){const i=(Array.isArray(e)?e:e&&typeof e.length=="number"?Array.from(e):[e]).filter(Boolean),s=[],n=[];for(const c of i)(jS(c.name)?s:n).push(c);return{allowed:s,rejected:n.map(c=>c.name)}}function FS(e,t){const i=t/16e3,s=Math.floor(e.length/i),n=new Int16Array(s);for(let c=0;c<s;c++){let m=e[Math.floor(c*i)];m>1?m=1:m<-1&&(m=-1),n[c]=m<0?m*32768:m*32767}return new Uint8Array(n.buffer)}function HS(e=1280){let t=new Uint8Array(0);return{push(i){const s=new Uint8Array(t.length+i.length);s.set(t),s.set(i,t.length);const n=[];let c=0;for(;s.length-c>=e;)n.push(s.slice(c,c+e)),c+=e;return t=s.slice(c),n},flush(){if(t.length===0)return null;const i=t;return t=new Uint8Array(0),i}}}function Tf(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return btoa(t)}const $S="data:text/javascript;base64,Ly8gd2ViL3NyYy92b2ljZS9wY20td29ya2xldC5qcwovLyBNaW5pbWFsIEF1ZGlvV29ya2xldDogZm9yd2FyZCBlYWNoIHJlbmRlciBxdWFudHVtJ3MgbW9ubyBzYW1wbGVzIHRvIHRoZSBtYWluIHRocmVhZCwgd2hpY2ggZG9lcyB0aGUKLy8gKHVuaXQtdGVzdGVkKSBkb3duc2FtcGxlL2ZyYW1lL2VuY29kZS4gS2VwdCB0cml2aWFsIG9uIHB1cnBvc2Ug4oCUIHdvcmtsZXQgY29kZSBjYW4ndCBiZSB1bml0LXRlc3RlZC4KY2xhc3MgUGNtRm9yd2FyZGVyIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBwcm9jZXNzKGlucHV0cykgewogICAgY29uc3QgY2ggPSBpbnB1dHNbMF0gJiYgaW5wdXRzWzBdWzBdOwogICAgaWYgKGNoICYmIGNoLmxlbmd0aCkgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKGNoLnNsaWNlKDApKTsgLy8gY29weTogdGhlIGJ1ZmZlciBpcyByZXVzZWQgYWZ0ZXIgcHJvY2VzcygpCiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KcmVnaXN0ZXJQcm9jZXNzb3IoJ3BjbS1mb3J3YXJkZXInLCBQY21Gb3J3YXJkZXIpOwo=";function zS({getUserMedia:e=i=>navigator.mediaDevices.getUserMedia(i),AudioCtor:t=window.AudioContext||window.webkitAudioContext}={}){let i=null,s=null,n=null,c=null;const m=HS(1280);async function r(f){s=await e({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),i=new t,await i.resume(),await i.audioWorklet.addModule($S),c=i.createMediaStreamSource(s),n=new AudioWorkletNode(i,"pcm-forwarder"),n.port.onmessage=v=>{const h=FS(v.data,i.sampleRate);for(const p of m.push(h))f(Tf(p))},c.connect(n),n.connect(i.destination)}async function o(){try{n&&(n.port.onmessage=null)}catch{}try{c&&c.disconnect(),n&&n.disconnect()}catch{}try{s&&s.getTracks().forEach(v=>v.stop())}catch{}try{i&&await i.close()}catch{}const f=m.flush();return i=s=n=c=null,f?Tf(f):null}return{start:r,stop:o}}const US={language:"zh_cn",domain:"iat",accent:"mandarin",vad_eos:1e4,dwa:"wpgs",ptt:1,nunum:1},lh="audio/L16;rate=16000";function WS(e,t){return{common:{app_id:e},business:{...US},data:{status:0,format:lh,encoding:"raw",audio:t}}}function VS(e){return{data:{status:1,format:lh,encoding:"raw",audio:e}}}function GS(){return{data:{status:2,format:lh,encoding:"raw",audio:""}}}function Df(){return{sentences:new Map}}function KS(e,t){var c;const i=(c=t==null?void 0:t.data)==null?void 0:c.result;if(!i||!Array.isArray(i.ws))return e;const s=i.ws.map(m=>(m.cw||[]).map(r=>r.w).join("")).join(""),n=new Map(e.sentences);if(i.pgs==="rpl"&&Array.isArray(i.rg))for(let m=i.rg[0];m<=i.rg[1];m++)n.delete(m);return n.set(i.sn,s),{sentences:n}}function Af(e){return[...e.sentences.keys()].sort((t,i)=>t-i).map(t=>e.sentences.get(t)).join("")}const qS=55e3,YS=4e3;function C_({onText:e,deps:t={}}){const i=t.signAsr||Ay,s=t.WebSocketCtor||window.WebSocket,n=t.makeRecorder||(()=>zS()),[c,m]=N.useState("idle"),[r,o]=N.useState(""),f=N.useRef("idle"),v=N.useCallback(E=>{f.current=E,m(E)},[]),h=N.useRef(null),p=N.useRef(null),y=N.useRef(Df()),S=N.useRef(""),g=N.useRef(!1),a=N.useRef(null),u=N.useRef(null),l=N.useRef(null),d=N.useRef(e);d.current=e;const w=N.useCallback(()=>{clearTimeout(a.current),clearTimeout(u.current);try{h.current&&h.current.close()}catch{}h.current=null,p.current=null,g.current=!1},[]),k=N.useCallback(()=>{var E;f.current!=="idle"&&((E=d.current)==null||E.call(d,Af(y.current)),o(""),v("idle"),w())},[w,v]),b=N.useCallback(E=>{const R=h.current;!R||R.readyState!==1||(R.send(JSON.stringify(g.current?VS(E):WS(S.current,E))),g.current=!0)},[]),L=N.useCallback(async()=>{if(f.current==="recording"){v("finalizing"),clearTimeout(a.current);try{const E=p.current?await p.current.stop():null;E&&b(E);const R=h.current;R&&R.readyState===1?(R.send(JSON.stringify(GS())),u.current=setTimeout(()=>k(),YS)):k()}catch{v("error"),w()}}},[b,w,v,k]);l.current=L;const x=N.useCallback(async()=>{if(!(f.current!=="idle"&&f.current!=="error")){v("requesting"),o(""),y.current=Df(),g.current=!1;try{const{url:E,appId:R}=await i();S.current=R;const I=new s(E);h.current=I,I.onmessage=A=>{var U;const O=JSON.parse(A.data);y.current=KS(y.current,O),o(Af(y.current)),((U=O==null?void 0:O.data)==null?void 0:U.status)===2&&k()},I.onerror=()=>{v("error"),w()},I.onclose=()=>{(f.current==="recording"||f.current==="finalizing")&&k()};const T=n();p.current=T,await T.start(b),v("recording"),a.current=setTimeout(()=>{var A;(A=l.current)==null||A.call(l)},qS)}catch{v("error"),w()}}},[i,s,n,b,w,v,k]);return N.useEffect(()=>w,[w]),{state:c,partial:r,start:x,stop:L}}const k_="tw_asr";function XS(){try{const e=localStorage.getItem(k_);return e==null?null:e==="1"}catch{return null}}function E_(){const[e,t]=N.useState(XS);return N.useEffect(()=>{let i=!0;return Promise.resolve().then(Vg).then(s=>{if(!i)return;const n=!!(s!=null&&s.asr);t(n);try{localStorage.setItem(k_,n?"1":"0")}catch{}}).catch(()=>{}),()=>{i=!1}},[]),e}function ch(e){N.useEffect(()=>{if(!e||!("wakeLock"in navigator))return;let t=null,i=!1;const s=async()=>{try{const c=await navigator.wakeLock.request("screen");if(i){try{c.release()}catch{}return}t=c}catch{}},n=()=>{document.visibilityState==="visible"&&!i&&s()};return s(),document.addEventListener("visibilitychange",n),()=>{i=!0,document.removeEventListener("visibilitychange",n);try{t&&t.release()}catch{}t=null}},[e])}function $i(e,t){const i=N.useRef(t);i.current=t,N.useEffect(()=>{if(!e)return;window.history.pushState({overlay:!0},"");const s=()=>{var n;return(n=i.current)==null?void 0:n.call(i)};return window.addEventListener("popstate",s),()=>{var n;window.removeEventListener("popstate",s),(n=window.history.state)!=null&&n.overlay&&window.history.back()}},[e])}const mr={ESC:"Escape",Esc:"Escape",Tab:"Tab","⌫":"BSpace"},Mf=e=>{e.cancelable&&e.preventDefault()},JS=e=>{var t,i;(i=(t=e.target).closest)!=null&&i.call(t,"input, textarea, [contenteditable]")||e.cancelable&&e.preventDefault()},Nf=80,ZS=e=>mr[e]?"esc":e.startsWith("/")?"cmd":"reply",QS=450;function Bl({className:e,onTap:t,onHold:i,children:s,...n}){const c=N.useRef({timer:null,long:!1,moved:!1,x:0,y:0}),m=v=>{v.cancelable&&v.preventDefault();const h=c.current;h.long=!1,h.moved=!1,h.x=v.clientX,h.y=v.clientY,i&&(h.timer=setTimeout(()=>{var p;h.long=!0,(p=navigator.vibrate)==null||p.call(navigator,12),i()},QS))},r=v=>{const h=c.current;h.moved||(Math.abs(v.clientX-h.x)>8||Math.abs(v.clientY-h.y)>8)&&(h.moved=!0,clearTimeout(h.timer))},o=()=>{const v=c.current;if(clearTimeout(v.timer),v.timer=null,v.moved){v.moved=!1;return}if(v.long){v.long=!1;return}t()},f=()=>{const v=c.current;clearTimeout(v.timer),v.timer=null,v.long=!1,v.moved=!1};return _.jsx("button",{type:"button",className:e,...n,onPointerDown:m,onPointerMove:r,onPointerUp:o,onPointerCancel:f,onPointerLeave:f,children:s})}function eb({pane:e,onAuthFail:t,onKey:i,onText:s,cwd:n=null,agent:c=null,windowId:m=null,recent:r=[],onSent:o,onRemoveRecent:f,inset:v=0},h){const[p,y]=N.useState(()=>Vw());N.useEffect(()=>{Gw(p)},[p]);const[S,g]=N.useState(!1),[a,u]=N.useState(!1),[l,d]=N.useState(!1),[w,k]=N.useState(()=>pi("agent")),[b,L]=N.useState(!1);N.useEffect(()=>{!l&&!b&&k(pi("agent"))},[l,b]);const[x,E]=N.useState(()=>pi("command")),[R,I]=N.useState(()=>m?pi(Xc(m)):[]),[T,A]=N.useState(!1);N.useEffect(()=>{T||(E(pi("command")),I(m?pi(Xc(m)):[]))},[T,m]);const[O,U]=N.useState({}),$=O[e]||(c?"agent":"command"),G=W=>U(se=>({...se,[e]:W})),[j,C]=N.useState({ctrl:"off",shift:"off",alt:"off"}),[M,B]=N.useState(!1),H=N.useRef(null),Y=N.useRef(null),V=$==="command"?0:1,te=N.useRef(V);te.current=V;const Q=N.useRef(G);Q.current=G;const z=N.useRef(!1),P=N.useRef(!1),J=()=>{var W;return((W=H.current)==null?void 0:W.clientWidth)||0},K=W=>{const se=Y.current;se&&(se.style.transition="none",se.style.transform=`translate3d(${W}px, 0, 0)`)},re=()=>{const W=Y.current;!W||!W.style.transform||(W.style.transition="",W.style.transform="")};N.useLayoutEffect(()=>{z.current||re()});const ne=()=>{const W=H.current;if(!W)return;const se=W.querySelector($==="command"?".dock-page.command":".dock-page.chat");se&&(W.style.height=`${se.offsetHeight}px`)};N.useLayoutEffect(()=>{$==="agent"&&xe(Ne.current),ne()});const be=N.useRef(ne);be.current=ne,N.useEffect(()=>{const W=H.current;if(!W||typeof ResizeObserver>"u")return;const se=new ResizeObserver(()=>{z.current||be.current()});return W.querySelectorAll(".dock-page").forEach(Ae=>se.observe(Ae)),()=>se.disconnect()},[]),N.useEffect(()=>{if($!=="agent")return;const W=requestAnimationFrame(()=>{xe(Ne.current),ne()});return()=>cancelAnimationFrame(W)},[$]),N.useEffect(()=>{var se;if($==="agent")return;document.activeElement===Ne.current&&((se=Ne.current)==null||se.blur());const W=H.current;W&&(W.scrollLeft=0,W.scrollTop=0)},[$]),N.useEffect(()=>{const W=H.current;if(!W)return;let se=null;const Ae=et=>{var qe,we;re();const it=((we=(qe=et.target)==null?void 0:qe.closest)==null?void 0:we.call(qe,".quick-scroll"))||null;se=et.touches.length===1?{x:et.touches[0].clientX,y:et.touches[0].clientY,dx:0,decided:!1,horiz:!1,strip:it}:null},Ke=et=>{if(!se||et.touches.length!==1||P.current&&!se.horiz)return;const it=et.touches[0].clientX-se.x,qe=et.touches[0].clientY-se.y;if(!se.decided){if(Math.abs(it)<16&&Math.abs(qe)<16)return;if(se.decided=!0,se.horiz=Math.abs(it)>Math.abs(qe)*1.4,se.horiz&&se.strip){const ee=se.strip,de=te.current,ze=ee.scrollLeft<=0,Pe=ee.scrollLeft>=ee.scrollWidth-ee.clientWidth-1,Ye=it>0&&ze&&de===1,ot=it<0&&Pe&&de===0;Ye||ot||(se.horiz=!1)}}if(!se.horiz)return;et.preventDefault(),z.current=!0,se.dx=it;const we=J()||1;let F=it;te.current===0?F=Math.min(0,Math.max(-we,F)):F=Math.max(0,Math.min(we,F)),K(-te.current*we+F)},St=()=>{if(z.current=!1,!se||!se.horiz){se=null,re();return}const et=te.current,it=se.dx;se=null;let qe=et;et===0&&it<-Nf?qe=1:et===1&&it>Nf&&(qe=0),re(),qe!==et&&Q.current(qe===1?"agent":"command")},Wt=()=>{(W.scrollLeft||W.scrollTop)&&(W.scrollLeft=0,W.scrollTop=0)};return W.addEventListener("scroll",Wt,{passive:!0}),W.addEventListener("touchstart",Ae,{passive:!0}),W.addEventListener("touchmove",Ke,{passive:!1}),W.addEventListener("touchend",St,{passive:!0}),W.addEventListener("touchcancel",St,{passive:!0}),()=>{W.removeEventListener("scroll",Wt),W.removeEventListener("touchstart",Ae),W.removeEventListener("touchmove",Ke),W.removeEventListener("touchend",St),W.removeEventListener("touchcancel",St)}},[]),$i(l,()=>d(!1));const[ge,Ee]=N.useState(null),Ne=N.useRef(null),pe=N.useRef(null),$e=N.useRef(null),Je=N.useRef(null),Re=N.useRef({head:"",tail:""}),oe=N.useRef(null),ye=N.useRef(!1),me=C_({onText:W=>{if(ye.current){ye.current=!1;return}const{head:se,tail:Ae}=Re.current;y(se+W+Ae),oe.current=se.length+W.length}}),Ie=E_(),X=me.state==="recording"||me.state==="finalizing";ch(X),N.useEffect(()=>()=>clearTimeout(Je.current),[]),N.useEffect(()=>{if(me.state!=="recording"&&me.state!=="finalizing"||ye.current)return;const{head:W,tail:se}=Re.current;y(W+me.partial+se),oe.current=W.length+me.partial.length},[me.partial,me.state]),N.useLayoutEffect(()=>{const W=Ne.current;if(!W)return;let se=!1;if(oe.current!=null){const Ae=oe.current;if(oe.current=null,document.activeElement===W)try{W.setSelectionRange(Ae,Ae)}catch{}se=Ae>=p.length}xe(W),se&&(W.scrollTop=W.scrollHeight)},[p]);const Te=()=>{if(X){me.stop();return}const W=Ne.current,se=W?W.selectionStart:p.length;Re.current={head:p.slice(0,se),tail:p.slice(se)},me.start()},ie=40,ae=N.useRef(null),_e=(W,se)=>{const Ae=ae.current;if(!Ae)return null;Ae.style.width=`${se}px`,Ae.textContent=W;const Ke=document.createElement("span");return Ae.appendChild(Ke),{h:Ae.offsetHeight,endX:Ke.offsetLeft}},xe=W=>{if(!W)return;W.style.height="auto";const se=Ie?76:38,Ae=Ie?86:48,Ke=W.parentElement.clientWidth-11,St=W.value?_e(W.value,Ke-se):null,Wt=St?St.h>ie:!1;g(Wt);const et=Wt?_e(W.value,Ke):null;u(!!et&&Ke-et.endX<Ae),W.style.height=`${W.scrollHeight+2}px`},ve=()=>{X&&(ye.current=!0,me.stop())},dt=async()=>{if(e){ve();try{await Zo(e,p,!0),o==null||o(p),y(""),requestAnimationFrame(()=>xe(Ne.current))}catch(W){W instanceof lt&&(t==null||t())}}},ut=N.useRef(!1),Ze=W=>{const se=W.value;if(W.value="",!se)return;const Ae=Yn.some(Ke=>ds(j[Ke]));if(Ae&&se.length===1){const Ke=g_({kind:"text",ch:se},j);if(Ke.kind==="key"){i(Ke.name),C(Yc);return}}s(se),Ae&&C(Yc)},Tt=W=>{var se;(se=W.nativeEvent)!=null&&se.isComposing||ut.current||Ze(W.target)},kt=()=>{$==="command"&&(ut.current=!0)},Ut=W=>{$==="command"&&(ut.current=!1,Ze(W.target))},It=W=>{var se;if(!($!=="command"||(se=W.nativeEvent)!=null&&se.isComposing)){if(W.key==="Enter"&&!W.shiftKey){W.preventDefault(),i("Enter");return}W.key==="Backspace"&&(W.preventDefault(),i("BSpace"))}},Qe=()=>{const W=pe.current;W&&(document.activeElement===W?W.blur():W.focus())},Oe=W=>{y(W),d(!1),requestAnimationFrame(()=>{var se;(se=Ne.current)==null||se.focus(),xe(Ne.current)})},_t=async W=>{if(e)try{await Zo(e,W,!0),o==null||o(W)}catch(se){se instanceof lt&&(t==null||t())}},Dt=W=>Oe(W),De=W=>{if(mr[W]){i(mr[W]);return}_t(W)},ui=W=>{if(W.kind==="key"){i(W.text);return}De(W.text)},si=W=>{if(W.kind==="key"){i(W.text);return}if(mr[W.text]){i(mr[W.text]);return}if(W.enter){_t(W.text);return}s(W.text)},hi=W=>W.kind==="key"&&W.label||W.text,At=W=>W.kind==="key"||mr[W.text]||!W.enter?void 0:()=>s(W.text);N.useImperativeHandle(h,()=>({fill:Oe}),[]);const Pi=W=>{if(!W.length)return;let se;if(W.length===1)se=W[0];else{const Ae=W[0].slice(0,W[0].lastIndexOf("/")+1);se=W.every(Ke=>Ke.startsWith(Ae))?`${Ae}{${W.map(Ke=>Ke.slice(Ae.length)).join(",")}}`:W.join(" ")}y(Ae=>Ae&&!/\s$/.test(Ae)?`${Ae} ${se}`:Ae+se),requestAnimationFrame(()=>{var Ae;(Ae=Ne.current)==null||Ae.focus(),xe(Ne.current)})},qi=async W=>{const{allowed:se,rejected:Ae}=x_(W);if(!se.length){Ae.length&&(clearTimeout(Je.current),Ee({label:D("dock.upload.rejected",{names:Ae.join("、")}),error:!0}),Je.current=setTimeout(()=>Ee(null),3500));return}clearTimeout(Je.current),Ee(null);const Ke=se.length,St=[],Wt=[],et=new AbortController;m_(et,D("dock.upload.progress",{name:se[0].name,tag:Ke>1?`(1/${Ke})`:""}));try{for(let it=0;it<Ke&&!et.signal.aborted;it++){const qe=se[it],we=Ke>1?`(${it+1}/${Ke})`:"";Aa({label:D("dock.upload.progress",{name:qe.name,tag:we}),phase:"sending",pct:0});try{const F=await Gg(n||"",qe,(ee,de)=>Aa({pct:ee,phase:de}),!0,{signal:et.signal});F!=null&&F.path&&St.push(F.path)}catch(F){if(F instanceof Ta)break;if(F instanceof lt){t==null||t(),Vc(),Ee(null);return}Wt.push({name:qe.name,reason:(F==null?void 0:F.message)||D("api.uploadFailed")})}}}finally{Vc()}if(St.length&&Pi(St),Wt.length||Ae.length){const it=Wt.map(qe=>`${qe.name}:${qe.reason}`);Ae.length&&it.push(D("dock.upload.rejected",{names:Ae.join("、")})),Ee({label:it.join(";"),error:!0}),Je.current=setTimeout(()=>Ee(null),5e3)}else Ee(null)},st=async()=>{if(!(!e||!p)){ve();try{await Zo(e,p,!1),o==null||o(p),y(""),requestAnimationFrame(()=>xe(Ne.current))}catch(W){W instanceof lt&&(t==null||t())}}},Et=N.useRef(null),yt=N.useRef(!1),wi=N.useRef({x:0,y:0,moved:!1}),Oi=W=>{W.cancelable&&W.preventDefault(),yt.current=!1,wi.current={x:W.clientX,y:W.clientY,moved:!1},p&&(Et.current=setTimeout(()=>{var se;yt.current=!0,(se=navigator.vibrate)==null||se.call(navigator,12),st()},450))},Bi=W=>{const se=wi.current;se.moved||Math.hypot(W.clientX-se.x,W.clientY-se.y)<=10||(se.moved=!0,clearTimeout(Et.current),Et.current=null)},ji=()=>{if(clearTimeout(Et.current),Et.current=null,yt.current){yt.current=!1;return}wi.current.moved||dt()},vt=()=>{clearTimeout(Et.current),Et.current=null,yt.current=!1},ft=N.useRef(null),Ft=N.useRef({x:0,y:0,moved:!1}),di=W=>{if(!S)return null;for(const[se,Ae]of[["send",".input-send"],["mic",".input-mic"]]){const Ke=W.currentTarget.querySelector(Ae);if(!Ke)continue;const St=Ke.getBoundingClientRect();if(W.clientX>=St.left&&W.clientX<=St.right&&W.clientY>=St.top&&W.clientY<=St.bottom)return se}return null},Yi=W=>{const se=di(W);se&&(W.stopPropagation(),W.cancelable&&W.preventDefault(),ft.current=se,se==="send"?Oi(W):Ft.current={x:W.clientX,y:W.clientY,moved:!1})},Fi=W=>{const se=ft.current;if(!se)return;if(se==="send"){Bi(W);return}const Ae=Ft.current;!Ae.moved&&Math.hypot(W.clientX-Ae.x,W.clientY-Ae.y)>10&&(Ae.moved=!0)},Xi=()=>{const W=ft.current;if(ft.current=null,!!W){if(W==="send"){p?ji():vt();return}!Ft.current.moved&&me.state!=="requesting"&&Te()}},Yt=()=>{const W=ft.current;ft.current=null,W==="send"&&vt()};return _.jsxs("div",{className:"bottom-dock",children:[_.jsxs("div",{className:"dock-left",onPointerDown:JS,children:[_.jsxs("button",{type:"button",className:"dock-dots","aria-label":D("dock.mode.toggle"),onClick:()=>G($==="command"?"agent":"command"),children:[_.jsx("span",{className:"dock-mode-label",children:D($==="command"?"dock.mode.command":"dock.mode.chat")}),_.jsx("i",{className:`dock-dot${$==="command"?" on":""}`,"data-page":"command","aria-hidden":"true"}),_.jsx("i",{className:`dock-dot${$==="agent"?" on":""}`,"data-page":"agent","aria-hidden":"true"})]}),_.jsx("div",{className:"dock-pager",ref:H,children:_.jsxs("div",{className:`dock-track${V===1?" at-chat":""}`,ref:Y,children:[_.jsxs("div",{className:`dock-page command${$==="command"?" on":""}`,children:[_.jsx("input",{ref:pe,className:"cmd-capture",type:"text",onInput:Tt,onKeyDown:It,onCompositionStart:kt,onCompositionEnd:Ut,onFocus:()=>B(!0),onBlur:()=>B(!1),enterKeyHint:"send","aria-label":D("dock.command.placeholder"),autoCapitalize:"off",autoCorrect:"off",autoComplete:"off",spellCheck:!1}),_.jsxs("div",{className:"quick-bar",children:[_.jsx("div",{className:"quick-fixed",children:_.jsxs("button",{type:"button",className:"quick-fix","aria-pressed":M,"aria-label":D(M?"dock.kbdHide":"dock.kbdShow"),onPointerDown:Mf,onClick:Qe,children:[_.jsx(a1,{down:M}),_.jsx("span",{children:D(M?"dock.kbdHide":"dock.kbdShow")})]})}),_.jsxs("div",{className:"quick-scroll",children:[x.map(W=>_.jsxs(Bl,{className:"quick-cmd quick-cmd-plain",onTap:()=>si(W),onHold:At(W),children:[hi(W),W.kind!=="key"&&W.enter&&_.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`g:${W.text}`)),R.map(W=>_.jsxs(Bl,{className:"quick-cmd quick-cmd-win",onTap:()=>si(W),onHold:At(W),children:[hi(W),W.kind!=="key"&&W.enter&&_.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`w:${W.text}`)),_.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":D("cmd.editTitle"),onPointerDown:Mf,onClick:()=>A(!0),children:_.jsx($c,{})})]})]}),_.jsx(SS,{onKey:i,onText:s,mods:j,setMods:C,keyHeldRef:P})]}),_.jsxs("div",{className:`dock-page chat${$==="agent"?" on":""}`,children:[ge&&_.jsx("div",{className:"dock-upload error",children:_.jsx("span",{className:"dock-upload-label",children:ge.label})}),_.jsxs("div",{className:"quick-bar",children:[_.jsx("div",{className:"quick-fixed",children:_.jsxs("button",{type:"button",className:"quick-fix","aria-label":D("dock.attach"),disabled:!!ge&&!ge.error,onClick:()=>{var W;return(W=$e.current)==null?void 0:W.click()},children:[_.jsx(Jg,{}),_.jsx("span",{children:D("dock.attach")})]})}),_.jsxs("div",{className:"quick-scroll",children:[w.map(W=>_.jsx(Bl,{className:`quick-cmd qc-${W.kind==="key"?"esc":ZS(W.text)}`,onTap:()=>ui(W),onHold:W.kind==="key"?void 0:()=>s(W.text),children:hi(W)},W.text)),_.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":D("chat.editTitle"),onClick:()=>L(!0),children:_.jsx($c,{})})]})]}),_.jsx("input",{ref:$e,className:"browse-file-input",type:"file",multiple:!0,accept:b_,onChange:W=>{qi(W.target.files),W.target.value=""}}),_.jsxs("div",{className:`input-wrap${X?" recording":""}${S?" multi":""}${a?" crowd":""}`,onPointerDownCapture:Yi,onPointerMoveCapture:Fi,onPointerUpCapture:Xi,onPointerCancelCapture:Yt,children:[_.jsx("textarea",{ref:Ne,className:"input-text",rows:1,value:p,onPointerDown:W=>{X&&(ve(),W.currentTarget.focus())},onChange:W=>{y(W.target.value),xe(W.target)},placeholder:D("dock.input.placeholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),_.jsx("div",{ref:ae,className:"input-mirror","aria-hidden":"true"}),!p&&_.jsx("button",{type:"button",className:"input-history","aria-label":D("dock.history"),title:D("dock.history"),onClick:()=>d(W=>!W),children:_.jsx(Xg,{})}),Ie&&_.jsx(y_,{active:X,disabled:me.state==="requesting",onToggle:Te}),_.jsx("button",{type:"button",className:"input-send","aria-label":D("dock.send"),title:D("dock.send.hint"),disabled:!p,onPointerDown:Oi,onPointerMove:Bi,onPointerUp:ji,onPointerCancel:vt,onPointerLeave:vt,children:_.jsx(Kg,{})})]})]})]})})]}),_.jsx(TS,{open:l,mode:$,recent:r,historyOnly:!0,onDelete:f,onSend:W=>{d(!1),De(W)},onFill:W=>{d(!1),Dt(W)},onClose:()=>d(!1)}),T&&_.jsx(Rf,{windowId:m,inset:v,onClose:()=>A(!1)}),b&&_.jsx(Rf,{variant:"chat",inset:v,onClose:()=>L(!1)})]})}const tb=N.forwardRef(eb);function ib({onSaved:e}){const[t,i]=N.useState(""),s=n=>{n.preventDefault();const c=t.trim();c&&(Iw(c),e())};return _.jsxs("form",{className:"token-prompt",onSubmit:s,children:[_.jsx("h2",{children:D("token.title")}),_.jsx("input",{value:t,onChange:n=>i(n.target.value),placeholder:D("token.placeholder")}),_.jsx("button",{type:"submit",children:D("common.save")})]})}function uh({open:e,title:t,actions:i=[],onClose:s}){const[n,c]=N.useState(null);if(N.useEffect(()=>{e||c(null)},[e]),!e)return null;const m=o=>{var f;if(!o.disabled){if(o.confirm&&n!==o.key){c(o.key);return}c(null),(f=o.onClick)==null||f.call(o)}},r=o=>_.jsx("button",{className:`sheet-action ${o.danger?"danger":""} ${n===o.key?"armed":""}`,disabled:o.disabled,onClick:()=>m(o),children:o.confirm&&n===o.key?o.confirmLabel||D("actionsheet.confirmAgain"):o.label},o.key);return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",role:"dialog","aria-label":t,"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:t}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section sheet-actions",children:[i.map((o,f)=>Array.isArray(o)?_.jsx("div",{className:"sheet-row",children:o.map(r)},`row-${f}`):r(o)),_.jsx("button",{className:"fontbtn sheet-cancel",onClick:s,children:D("common.cancel")})]})]})]})}const sb=/\.(?:md|markdown|html|htm|txt|log|sh)$/i,If=300;function Pf(e){const t=e.lastIndexOf("/");return t<0?{dir:"",frag:e}:{dir:e.slice(0,t+1),frag:e.slice(t+1)}}const rb=e=>e.replace(/\/+$/,"")||"/",jl=(e,t)=>e===t?"":e.startsWith(`${t}/`)?e.slice(t.length+1):e,Io=(e,t,i)=>{let s=null;for(const n of t||[])(e===n||e!=null&&e.startsWith(`${n}/`))&&(!s||n.length>s.length)&&(s=n);return s||i},nb=e=>e==null?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`;function L_({path:e,onNavigate:t,onOpenDoc:i,onJumpToCwd:s,pendingFile:n,onPendingConsumed:c,pickMode:m=!1,allowMkdir:r=!m,onPick:o,refreshKey:f=0}){const[v,h]=N.useState(""),[p,y]=N.useState(null),[S,g]=N.useState(!1),[a,u]=N.useState(""),[l,d]=N.useState(""),[w,k]=N.useState(""),[b,L]=N.useState(null),[x,E]=N.useState(!1),[R,I]=N.useState(!1),[T,A]=N.useState(""),[O,U]=N.useState(null),$=N.useRef(null),G=N.useRef(!1),j=N.useRef(f),C=N.useRef(null),M=N.useRef(null),B=N.useRef(null),H=async(X,{sync:Te=!1,notify:ie=!1,fallbackHome:ae=!1}={})=>{u("");try{const _e=await Wg(X??void 0);if(G.current=_e.path,y(_e),Te){const xe=jl(_e.path,Io(_e.path,_e.roots,_e.home));h(xe?`${xe}/`:"")}ie&&(t==null||t(_e.path),I(!1),A(""))}catch{if(ae&&X!=null){H(null,{sync:!0});return}u(D("filebrowser.openDirFailed"))}};N.useEffect(()=>{const X=f!==j.current;j.current=f,!(e===G.current&&!X)&&H(e,{sync:!0,fallbackHome:m})},[e,f]),N.useEffect(()=>()=>{clearTimeout(C.current),clearTimeout(M.current)},[]),N.useEffect(()=>{if(!S)return;const X=Te=>{var ie;(ie=B.current)!=null&&ie.contains(Te.target)||g(!1)};return document.addEventListener("pointerdown",X,!0),()=>document.removeEventListener("pointerdown",X,!0)},[S]);const Y=X=>{d(X),clearTimeout(M.current),M.current=setTimeout(()=>d(""),2500)},V=X=>{const Te=p==null?void 0:p.home;if(!Te){h(X);return}const ie=(p==null?void 0:p.roots)||[Te];let ae=X;(ae==="~"||ae.startsWith("~/"))&&(ae=Te+ae.slice(1));let _e=Io(p==null?void 0:p.path,ie,Te);ae.startsWith("/")&&(_e=Io(ae,ie,Te),ae=ae===_e?"":ae.startsWith(`${_e}/`)?ae.slice(_e.length+1):ae.replace(/^\/+/,"")),h(ae);const xe=rb(`${_e}/${Pf(ae).dir}`);xe!==G.current&&(clearTimeout(C.current),C.current=setTimeout(()=>{xe!==G.current&&H(xe,{notify:!0})},250))},te=async X=>{const Te=Vs(p.path,X);try{await navigator.clipboard.writeText(Te),Y(D("filebrowser.copiedPath",{abs:Te}))}catch{Y(Te)}},Q=X=>i(Vs(p.path,X)),z=X=>H(Vs(p.path,X),{sync:!0,notify:!0}),P=()=>(p==null?void 0:p.parent)&&H(p.parent,{sync:!0,notify:!0}),J=async()=>{const X=T.trim();if(!(!X||!p)){u("");try{await Dy(p.path,X),await H(p.path,{}),I(!1),A("")}catch{u(D("filebrowser.mkdirFailed"))}}},K=async X=>{u(""),U({label:D("filebrowser.downloading",{name:X}),pct:0});try{await $y(Vs(p.path,X),Te=>U({label:D("filebrowser.downloading",{name:X}),pct:Te})),k(X)}catch{u(D("filebrowser.downloadFailed"))}finally{U(null)}},re=()=>{const X=b;L(null),X&&K(X)},ne=p==null?void 0:p.home,be=(p==null?void 0:p.roots)||(ne?[ne]:[]),ge=Io(p==null?void 0:p.path,be,ne),Ee=X=>X===ne?"~":/\/tmp$/.test(X)?"tmp":X.includes("/var/folders/")?"TMPDIR":X.split("/").filter(Boolean).pop()||"/",Ne=X=>{g(!1),X!==ge&&H(X,{sync:!0,notify:!0})},pe=(X,Te)=>!X||!Te||X===Te?!1:(X.startsWith(`${Te}/`)?X.slice(Te.length+1):X).split("/").some(ae=>ae.startsWith(".")),$e=!!p&&p.path!==ne&&!pe(p.path,ge),Je=async X=>{const{allowed:Te,rejected:ie}=x_(X);if(!Te.length)return ie.length&&u(D("filebrowser.uploadRejected",{names:ie.join("、")})),ie;E(!0),u("");const ae=Te.length,_e=[],xe=new AbortController;m_(xe,D("filebrowser.uploading",{name:Te[0].name,tag:ae>1?`(1/${ae})`:""}));try{for(let ve=0;ve<ae&&!xe.signal.aborted;ve++){const dt=Te[ve],ut=ae>1?`(${ve+1}/${ae})`:"";Aa({label:D("filebrowser.uploading",{name:dt.name,tag:ut}),phase:"sending",pct:0});try{await Gg(p.path,dt,(Ze,Tt)=>Aa({pct:Ze,phase:Tt}),!1,{signal:xe.signal})}catch(Ze){if(Ze instanceof Ta)break;_e.push({name:dt.name,reason:(Ze==null?void 0:Ze.message)||D("filebrowser.uploadFailed")})}}}finally{Vc()}return await H(p.path,{}),E(!1),_e.length?u(_e.map(ve=>`${ve.name}:${ve.reason}`).join(";")):ie.length&&u(D("filebrowser.uploadRejected",{names:ie.join("、")})),[..._e.map(ve=>ve.name),...ie]},Re=async()=>{n&&(await Je(n)).length===0&&(c==null||c())},oe=X=>{if(m||X.key!=="Enter")return;const Te=v.trim();Te&&sb.test(Te)&&(p!=null&&p.home)&&i(Vs(p.home,Te))},ye=Pf(v).frag.toLowerCase(),ue=((p==null?void 0:p.entries)||[]).filter(X=>(!m||X.type==="dir")&&(!ye||X.name.toLowerCase().includes(ye))),me=ue.length>If?ue.slice(0,If):ue,Ie=ue.length-me.length;return _.jsxs("div",{className:"browse-view",children:[_.jsxs("div",{className:"browse-bar",children:[s&&_.jsx("button",{className:"browse-cwd","aria-label":D("filebrowser.sessionDir"),title:D("filebrowser.jumpToSessionDir"),onClick:s,children:_.jsx(Xy,{})}),_.jsx("button",{className:"browse-up","aria-label":D("filebrowser.parentDir"),disabled:!(p!=null&&p.parent),onClick:P,children:_.jsx(Kg,{})}),_.jsxs("div",{className:"browse-path",children:[be.length>1?_.jsxs("div",{className:"dd browse-root-dd",ref:B,children:[_.jsxs("button",{type:"button",className:"browse-root","aria-haspopup":"listbox","aria-expanded":S,"aria-label":D("filebrowser.rootSelect"),onClick:()=>g(X=>!X),children:[_.jsxs("span",{children:[Ee(ge),"/"]}),_.jsx("span",{className:`dd-caret${S?" open":""}`,"aria-hidden":"true",children:"▾"})]}),S&&_.jsx("div",{className:"dd-menu",role:"listbox",children:be.map(X=>_.jsxs("button",{type:"button",role:"option","aria-selected":X===ge,title:X,className:`dd-option${X===ge?" is-selected":""}`,onClick:()=>Ne(X),children:[_.jsxs("span",{className:"dd-option-label",children:[Ee(X),"/"]}),X===ge&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},X))})]}):_.jsx("span",{className:"browse-home","aria-hidden":"true",children:"~/"}),_.jsx("input",{className:"browse-input",value:v,placeholder:D("filebrowser.pathPlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:X=>V(X.target.value),onKeyDown:oe})]}),r&&_.jsx("button",{className:"browse-mkdir","aria-label":D("filebrowser.newFolder"),title:D("filebrowser.newFolder"),disabled:!p,onClick:()=>{I(X=>!X),A("")},children:_.jsx(Ky,{})}),!m&&_.jsx("button",{className:"browse-upload","aria-label":D("filebrowser.uploadFile"),title:D($e?"filebrowser.uploadToCurrentDir":"filebrowser.enterSubdirToUpload"),disabled:!$e||x,onClick:()=>{var X;return(X=$.current)==null?void 0:X.click()},children:_.jsx(Jg,{})}),!m&&_.jsx("input",{ref:$,className:"browse-file-input",type:"file",multiple:!0,accept:b_,onChange:X=>{Je(Array.from(X.target.files||[])),X.target.value=""}})]}),R&&_.jsxs("div",{className:"browse-newfolder",children:[_.jsx("input",{className:"browse-newfolder-input",autoFocus:!0,value:T,placeholder:D("filebrowser.folderNamePlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:X=>A(X.target.value),onKeyDown:X=>{X.key==="Enter"&&J()}}),_.jsx("button",{className:"browse-newfolder-ok",onClick:J,children:D("filebrowser.createBtn")}),_.jsx("button",{className:"browse-newfolder-x","aria-label":D("common.cancel"),onClick:()=>{I(!1),A("")},children:"✕"})]}),!m&&n&&_.jsxs("div",{className:"browse-pending",children:[_.jsxs("span",{className:"browse-pending-text",children:[D("filebrowser.uploadPendingTo",{name:n.name}),!$e&&_.jsx("em",{className:"browse-pending-hint",children:D("filebrowser.enterSubdirFirst")})]}),_.jsx("button",{className:"browse-pending-btn",disabled:!$e||x,onClick:Re,children:D("filebrowser.upload")})]}),a&&_.jsx("div",{className:"bind-error browse-err",children:a}),l&&_.jsx("div",{className:"browse-notice",children:l}),!m&&w&&_.jsxs("div",{className:"browse-saved",children:[_.jsx("span",{className:"browse-saved-text",children:D("filebrowser.savedToDownloads",{name:w})}),_.jsx("button",{className:"browse-saved-close","aria-label":D("common.close"),onClick:()=>k(""),children:"×"})]}),!m&&O&&_.jsxs("div",{className:"browse-progress",children:[_.jsxs("span",{className:"browse-progress-label",children:[O.label," ",Math.round(O.pct*100),"%"]}),_.jsx("span",{className:"browse-progress-track",children:_.jsx("span",{className:"browse-progress-fill",style:{width:`${Math.round(O.pct*100)}%`}})})]}),_.jsxs("div",{className:"browse-list",children:[me.length===0&&!a&&_.jsx("div",{className:"browse-empty",children:D("filebrowser.noMatches")}),me.map(X=>_.jsxs("div",{className:"browse-entry-row",children:[_.jsxs("button",{className:"browse-entry",onClick:()=>X.type==="dir"?z(X.name):X.type==="doc"||X.type==="image"?Q(X.name):Y(D("filebrowser.previewUnsupported")),children:[_.jsx("span",{className:"browse-entry-icon",children:X.type==="dir"?_.jsx(Kn,{}):X.type==="image"?_.jsx(Yy,{}):_.jsx(qy,{})}),_.jsx("span",{className:"browse-entry-name",children:X.name}),X.type!=="dir"&&_.jsx("span",{className:"browse-entry-size",children:nb(X.size)})]}),X.type!=="dir"&&_.jsx("button",{className:"browse-copy","aria-label":D("filebrowser.copyAbsPath"),title:D("filebrowser.copyAbsPath"),onClick:()=>te(X.name),children:_.jsx(Zg,{})}),X.type!=="dir"&&_.jsx("button",{className:"browse-dl","aria-label":D("filebrowser.download"),onClick:()=>L(X.name),children:_.jsx(Qy,{})})]},X.name)),Ie>0&&_.jsx("div",{className:"browse-overflow",children:D("filebrowser.tooMany",{shown:me.length,total:ue.length})})]}),m&&p&&_.jsx("div",{className:"browse-pick-bar",children:_.jsx("button",{className:"browse-pick-confirm",onClick:()=>o==null?void 0:o(p.path),children:D("filebrowser.pickThisDir",{path:jl(p.path,p.home)?`~/${jl(p.path,p.home)}`:"~"})})}),_.jsx(uh,{open:!!b,title:b?D("filebrowser.downloadConfirm",{name:b}):"",actions:[{key:"dl",label:D("filebrowser.download"),onClick:re}],onClose:()=>L(null)})]})}const ob=()=>{};function ro({open:e,seedCwd:t=null,hint:i=null,pane:s=null,allowMkdir:n=!1,onPick:c,onClose:m,inset:r=0}){const[o,f]=N.useState(t),v=N.useRef(!1);e&&!v.current?(v.current=!0,o!==t&&f(t)):!e&&v.current&&(v.current=!1);const h=s?async()=>{try{const{cwd:p}=await rr(s);p&&f(p)}catch{}}:null;return e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop dirpick-backdrop",onClick:m}),_.jsxs("div",{className:"settings-card dirpick-card",style:{transform:`translate(-50%, calc(-50% + ${r/2}px))`,"--kb-inset":`${r}px`},role:"dialog","aria-label":D("dirpicker.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("dirpicker.title")}),_.jsx("button",{className:"settings-close",onClick:m,"aria-label":D("common.close"),children:"✕"})]}),i&&_.jsx("div",{className:"dirpick-hint",children:i}),_.jsx(L_,{path:o,onNavigate:f,onOpenDoc:ob,onJumpToCwd:h,pickMode:!0,allowMkdir:n,onPick:c})]})]}):null}function ab({open:e,onClose:t,termRef:i,onColAdjust:s,onColRestore:n,onOpenChangelog:c,changelogUnread:m,updateInfo:r=null,activePreview:o=null,pane:f=null,lastPreviewDir:v=null,dynamicEnabled:h=!1,getColCount:p=null,onStartPreview:y,onStartDynamicPreview:S,onOpenPreview:g,onRenew:a,onStop:u}){var Je,Re;const[l,d]=N.useState(null),[w,k]=N.useState(null),[b,L]=N.useState(!1),[x,E]=N.useState(r_()),[R,I]=N.useState(!1),[T,A]=N.useState(""),[O,U]=N.useState(!1),[$,G]=N.useState(null),[j,C]=N.useState("off"),[M,B]=N.useState(""),[H,Y]=N.useState(!1),[V,te]=N.useState(""),[Q,z]=N.useState(!1),P=t_(o==null?void 0:o.expiresAt,!!o&&e);N.useEffect(()=>{Y(!1),te("")},[o==null?void 0:o.name,e]);const J=oe=>({"port not listening":D("settings.err_port_not_listening"),"bad port":D("settings.err_bad_port"),"dynamic disabled":D("settings.err_dynamic_disabled")})[oe]||oe||D("settings.err_start_failed"),K=async()=>{const oe=Number(M);if(oe){te(""),z(!0);try{await(S==null?void 0:S(oe)),t==null||t()}catch(ye){te(J(ye==null?void 0:ye.message))}finally{z(!1)}}},re=async()=>{let oe=v;if(!oe&&f)try{oe=(await rr(f)).cwd||null}catch{}G(oe),U(!0)};N.useEffect(()=>{var oe,ye;e&&(d(((ye=(oe=i.current)==null?void 0:oe.getFontSize)==null?void 0:ye.call(oe))??null),k((p==null?void 0:p())??null))},[e,i,p]);const ne=async()=>{I(!0),A("");try{x?(await _1(),E(!1),A(D("settings.notify_disabled"))):(await g1(),E(!0),A(D("settings.notify_enabled")))}catch(oe){A(oe.message||D("settings.notify_failed"))}finally{I(!1)}};if(!e)return null;const be=oe=>{var me,Ie,X,Te;const ye=(Ie=(me=i.current)==null?void 0:me.getFontSize)==null?void 0:Ie.call(me),ue=(Te=(X=i.current)==null?void 0:X.setFontSize)==null?void 0:Te.call(X,((ye==null?void 0:ye.size)??14)+oe);ue!=null&&d({size:ue,auto:!1})},ge=()=>{var oe,ye;(ye=(oe=i.current)==null?void 0:oe.autoFont)==null||ye.call(oe),d({size:null,auto:!0})},Ee=l!=null&&l.auto?D("settings.font_auto"):l!=null&&l.size?`${l.size}px`:"—",Ne=w!=null?`${w} 列`:"—",pe=oe=>{s==null||s(oe),k((p==null?void 0:p())??null)},$e=()=>{n==null||n(),k(null)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",role:"dialog","aria-label":D("settings.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("settings.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"settings-group",children:D("settings.group_global")}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.language")}),_.jsxs("div",{className:"lang-drop",children:[b&&_.jsx("div",{className:"lang-drop-backdrop",onClick:()=>L(!1)}),_.jsxs("button",{className:"lang-trigger",onClick:()=>L(oe=>!oe),children:[_.jsx("span",{children:(Je=Jd.find(oe=>oe.code===Tr()))==null?void 0:Je.label}),_.jsx("span",{className:"lang-chevron",children:b?"▴":"▾"})]}),b&&_.jsx("div",{className:"lang-menu",children:Jd.map(oe=>_.jsx("button",{className:`lang-option${oe.code===Tr()?" active":""}`,onClick:()=>Mw(oe.code),children:oe.label},oe.code))})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.font_size")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:()=>be(-1),"aria-label":D("settings.font_decrease"),children:"A−"}),_.jsx("span",{className:"settings-value",children:Ee}),_.jsx("button",{className:"fontbtn",onClick:()=>be(1),"aria-label":D("settings.font_increase"),children:"A+"}),_.jsx("button",{className:"fontbtn",onClick:ge,title:D("settings.font_auto_title"),children:D("settings.font_auto")})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.version")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("span",{className:"settings-value",children:r!=null&&r.current?`v${r.current}`:"—"}),_.jsxs("button",{className:"fontbtn",onClick:c,children:[D("settings.view_changelog"),m&&_.jsx("span",{className:"settings-dot","aria-label":D("settings.has_update")})]})]}),(r==null?void 0:r.updateAvailable)&&_.jsxs("div",{className:"settings-update",children:[_.jsx("div",{className:"settings-update-title",children:D("settings.update_available",{v:r.latest})}),((Re=r.whatsNew)==null?void 0:Re.length)>0&&_.jsx("ul",{className:"settings-update-new",children:r.whatsNew.map(oe=>_.jsxs("li",{children:[_.jsxs("span",{className:"settings-update-new-ver",children:["v",oe.version]}),(Tr().startsWith("zh")?oe.zh:oe.en)||oe.en]},oe.version))}),_.jsxs("div",{className:"settings-update-how",children:[D("settings.update_how")," ",_.jsx("code",{children:"handmux update"})]})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.feedback")}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://github.com/handmux/handmux/issues",target:"_blank",rel:"noreferrer",children:D("settings.feedback_issues")}),Tr().startsWith("zh")&&_.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://handmux.com/#community",target:"_blank",rel:"noreferrer",children:D("settings.feedback_group")})]}),_.jsx("div",{className:"settings-hint",children:D("settings.feedback_hint")})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.push_notifications")}),il()?_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:ne,disabled:R,"aria-pressed":x,children:D(x?"settings.notify_on":"settings.notify_enable")}),R&&_.jsx("span",{className:"spinner",role:"status","aria-label":D("settings.processing")}),!R&&T&&_.jsx("span",{className:"settings-note",children:T})]}),_.jsx("div",{className:"settings-hint",children:D("settings.push_hint")})]}):_.jsx("div",{className:"settings-value",style:{display:"block"},children:D("settings.push_unsupported")})]}),_.jsx("div",{className:"settings-group",children:D("settings.group_session")}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("settings.screen_cols")}),_.jsxs("div",{className:"settings-btns cols-btns",children:[_.jsx("button",{className:"fontbtn col-step",onClick:()=>pe(-10),children:"−10"}),_.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>pe(-1),children:"−1"}),_.jsx("span",{className:"settings-value",children:Ne}),_.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>pe(1),children:"+1"}),_.jsx("button",{className:"fontbtn col-step",onClick:()=>pe(10),children:"+10"}),_.jsxs("button",{className:"fontbtn",onClick:$e,children:["↺ ",D("settings.cols_restore")]})]})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D(h?"settings.preview_site":"settings.preview_static_site")}),o?_.jsxs("div",{className:"preview-active",children:[_.jsxs("div",{className:"preview-active-head",children:[_.jsxs("span",{className:"preview-running",children:[_.jsx("span",{className:"live-dot"}),o.kind==="dynamic"?D("settings.preview_running_dynamic"):D("settings.preview_running_static")]}),_.jsx("span",{className:"preview-remain-s",title:D("settings.preview_remain_title"),children:D("settings.preview_remain",{time:e_(P)})})]}),_.jsxs("div",{className:"settings-btns",children:[_.jsx("button",{className:"fontbtn",onClick:()=>{g==null||g(),t==null||t()},children:D("common.open")}),_.jsx("button",{className:"fontbtn",onClick:()=>a==null?void 0:a(),children:D("settings.preview_renew")}),H?_.jsxs(_.Fragment,{children:[_.jsx("button",{className:"fontbtn preview-confirm-danger",onClick:()=>{Y(!1),u==null||u()},children:D("settings.preview_confirm_stop")}),_.jsx("button",{className:"fontbtn",onClick:()=>Y(!1),children:D("common.cancel")})]}):_.jsx("button",{className:"fontbtn",onClick:()=>Y(!0),children:D("settings.preview_stop")})]}),_.jsxs("div",{className:"settings-hint",children:[D("settings.preview_name",{name:o.name}),o.kind==="dynamic"?D("settings.preview_port",{port:o.port}):o.dir?`(${o.dir})`:""]})]}):_.jsxs("div",{className:"preview-start",children:[_.jsxs("div",{className:"preview-seg",role:"tablist","aria-label":D("settings.preview_type"),children:[_.jsx("button",{role:"tab",className:j==="off"?"on":"","aria-selected":j==="off",onClick:()=>C("off"),children:D("settings.preview_off")}),_.jsx("button",{role:"tab",className:j==="static"?"on":"","aria-selected":j==="static",onClick:()=>C("static"),children:D("settings.preview_static")}),h&&_.jsx("button",{role:"tab",className:j==="dynamic"?"on":"","aria-selected":j==="dynamic",onClick:()=>{te(""),C("dynamic")},children:D("settings.preview_dynamic")})]}),j==="off"&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-hint",children:D(h?"settings.preview_off_hint_both":"settings.preview_off_hint")}),!h&&_.jsx("div",{className:"settings-hint preview-dynamic-disabled",children:D("settings.preview_dynamic_disabled")})]}),j==="static"&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-btns",children:_.jsx("button",{className:"fontbtn",onClick:re,children:D("settings.preview_pick_dir")})}),_.jsx("div",{className:"settings-hint",children:D("settings.preview_static_hint")})]}),j==="dynamic"&&_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"settings-btns",children:[_.jsx("input",{className:"preview-port",type:"number",inputMode:"numeric",min:"1",max:"65535",placeholder:D("settings.preview_port_placeholder"),value:M,onChange:oe=>{B(oe.target.value),te("")},"aria-label":D("settings.preview_port_label")}),_.jsx("button",{className:"fontbtn",disabled:!M||Q,onClick:K,children:D(Q?"settings.preview_starting":"settings.preview_start")})]}),V?_.jsx("div",{className:"settings-hint settings-err",children:V}):_.jsx("div",{className:"settings-hint",children:D("settings.preview_dynamic_hint")})]})]})]})]}),_.jsx(ro,{open:O,seedCwd:$,pane:f,hint:D("settings.dir_picker_hint"),onPick:oe=>{U(!1),y==null||y(oe),t==null||t()},onClose:()=>U(!1)})]})}function Of(e){return e===300?D("usage.win5h"):e===10080?D("usage.winWeekly"):e===43200?D("usage.winMonthly"):e>0?D("usage.winGeneric",{h:Math.round(e/60)}):""}function Na(e,t){if(!e)return"";const i=e-Math.floor(t/1e3);if(i<=0)return D("usage.resetSoon");const s=Math.floor(i/86400),n=Math.floor(i%86400/3600),c=Math.floor(i%3600/60),m=s>0?`${s}d ${n}h`:n>0?`${n}h ${c}m`:`${c}m`;return D("usage.resetIn",{t:m})}function R_({at:e,now:t}){if(!e)return null;const i=Math.max(0,Math.floor((t-e)/1e3)),s=i<60?D("usage.updatedNow"):i<3600?D("usage.updatedMin",{n:Math.floor(i/60)}):i<86400?D("usage.updatedHr",{n:Math.floor(i/3600)}):D("usage.updatedDay",{n:Math.floor(i/86400)});return _.jsx("div",{className:"usage-updated",children:s})}function Ar(e,t,i){if(!e||!t)return null;const s=e-Math.floor(i/1e3);return Math.max(0,Math.min(100,(1-s/(t*60))*100))}function lb({pct:e,timePct:t}){const i=Math.max(0,Math.min(100,e??0)),s=i>=80?"hi":i>=50?"mid":"lo";return _.jsxs("div",{className:"usage-bar",children:[_.jsx("div",{className:`usage-bar-fill lvl-${s}`,style:{width:`${i}%`}}),t!=null&&_.jsx("div",{className:"usage-bar-time",style:{left:`${t}%`},title:D("usage.timeMark")})]})}function Mr({label:e,pct:t,reset:i,sub:s,timePct:n}){return _.jsxs("div",{className:"usage-row",children:[_.jsxs("div",{className:"usage-row-head",children:[_.jsxs("span",{className:"usage-row-label",children:[e,s&&_.jsxs("span",{className:"usage-row-sub",children:[" · ",s]})]}),_.jsxs("span",{className:"usage-row-pct",children:[Math.round(t),"%"]})]}),_.jsx(lb,{pct:t,timePct:n}),i&&_.jsx("div",{className:"usage-row-reset",children:i})]})}function cb({claude:e,now:t}){var i,s;return _.jsxs("section",{className:"usage-agent",children:[_.jsxs("div",{className:"usage-agent-head",children:[_.jsx(so,{agent:"claude"}),_.jsx("span",{children:"Claude Code"}),_.jsx(R_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?!((i=e.rateLimits)!=null&&i.fiveHour)&&!((s=e.rateLimits)!=null&&s.sevenDay)?_.jsx("div",{className:"usage-empty",children:D("usage.claudePending")}):_.jsxs(_.Fragment,{children:[e.rateLimits.fiveHour&&_.jsx(Mr,{label:D("usage.win5h"),pct:e.rateLimits.fiveHour.usedPercent,reset:Na(e.rateLimits.fiveHour.resetsAt,t),timePct:Ar(e.rateLimits.fiveHour.resetsAt,300,t)}),e.rateLimits.sevenDay&&_.jsx(Mr,{label:D("usage.winWeekly"),pct:e.rateLimits.sevenDay.usedPercent,reset:Na(e.rateLimits.sevenDay.resetsAt,t),timePct:Ar(e.rateLimits.sevenDay.resetsAt,10080,t)}),e.rateLimits.sevenDayOpus&&_.jsx(Mr,{label:D("usage.winWeekly"),sub:"Opus",pct:e.rateLimits.sevenDayOpus.usedPercent,timePct:Ar(e.rateLimits.sevenDayOpus.resetsAt,10080,t)}),e.rateLimits.sevenDaySonnet&&_.jsx(Mr,{label:D("usage.winWeekly"),sub:"Sonnet",pct:e.rateLimits.sevenDaySonnet.usedPercent,timePct:Ar(e.rateLimits.sevenDaySonnet.resetsAt,10080,t)})]}):_.jsxs("div",{className:"usage-empty",children:[_.jsx("div",{children:D("usage.claudeOff")}),_.jsx("code",{className:"usage-code",children:"handmux hooks install"})]})]})}function ub({codex:e,now:t}){const i=e==null?void 0:e.rateLimits;return _.jsxs("section",{className:"usage-agent",children:[_.jsxs("div",{className:"usage-agent-head",children:[_.jsx(so,{agent:"codex"}),_.jsx("span",{children:"Codex CLI"}),_.jsx(R_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?_.jsxs(_.Fragment,{children:[(i==null?void 0:i.primary)&&_.jsx(Mr,{label:Of(i.primary.windowMinutes)||D("usage.winPrimary"),pct:i.primary.usedPercent,reset:Na(i.primary.resetsAt,t),timePct:Ar(i.primary.resetsAt,i.primary.windowMinutes,t)}),(i==null?void 0:i.secondary)&&_.jsx(Mr,{label:Of(i.secondary.windowMinutes)||D("usage.winSecondary"),pct:i.secondary.usedPercent,reset:Na(i.secondary.resetsAt,t),timePct:Ar(i.secondary.resetsAt,i.secondary.windowMinutes,t)}),!(i!=null&&i.primary)&&!(i!=null&&i.secondary)&&_.jsx("div",{className:"usage-empty",children:D("usage.codexNoQuota")})]}):_.jsx("div",{className:"usage-empty",children:D("usage.codexOff")})]})}function hb({open:e,onClose:t,onAuthFail:i}){const[s,n]=N.useState(null),[c,m]=N.useState(""),[r,o]=N.useState(!1),f=Date.now();return N.useEffect(()=>{if(!e)return;let v=!1;return o(!0),m(""),_y().then(h=>{v||(n(h),o(!1))}).catch(h=>{v||(h instanceof lt?i==null||i():m(D("usage.loadFailed")),o(!1))}),()=>{v=!0}},[e]),e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card usage-card",role:"dialog","aria-label":D("usage.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("usage.title")}),_.jsx("span",{className:"usage-head-note",children:D("usage.activityNote")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"settings-section",children:r&&!s?_.jsx("div",{className:"usage-empty",children:D("common.loading")}):c?_.jsx("div",{className:"bind-error",children:c}):s?_.jsxs(_.Fragment,{children:[s.codex&&_.jsx(ub,{codex:s.codex,now:f}),_.jsx(cb,{claude:s.claude,now:f})]}):null})]})]}):null}function db({rows:e,top:t,open:i,onToggle:s,onClose:n,onSelectRow:c,onMarkAllRead:m,hooksStatus:r,onEnableHooks:o}){const f=[];for(const d of e){const w=f[f.length-1];w&&w.session===d.session?w.items.push(d):f.push({session:d.session,items:[d]})}const v=Date.now(),h=e.some(d=>d.view==="done"),p=d1(e),[y,S]=N.useState(!1),[g,a]=N.useState(!1),u=f.length===0&&r==="absent",l=async()=>{S(!0),a(!1);try{const d=await(o==null?void 0:o());(!d||d.status!=="installed")&&a(!0)}catch{a(!0)}finally{S(!1)}};return _.jsxs(_.Fragment,{children:[_.jsxs("button",{className:"topbar-icon inbox-btn",onClick:s,"aria-label":D("inbox.title"),title:D("inbox.title"),children:[_.jsx(Zy,{}),t&&_.jsx("span",{className:`inbox-dot ${t}`,"aria-hidden":"true"})]}),i&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"inbox-backdrop",onClick:n}),_.jsxs("div",{className:"inbox-panel",role:"dialog","aria-label":D("inbox.title"),children:[_.jsxs("div",{className:"inbox-head",children:[_.jsx("span",{children:D("inbox.title")}),_.jsxs("div",{className:"inbox-summary",children:[_.jsxs("span",{className:"inbox-chip working",children:[D("inbox.working")," ",p.working]}),_.jsxs("span",{className:"inbox-chip done",children:[D("inbox.done")," ",p.done]}),_.jsxs("span",{className:"inbox-chip needs",children:[D("inbox.needs")," ",p.needs]})]}),h&&_.jsx("button",{className:"inbox-readall",onClick:m,children:D("inbox.clearDone")})]}),f.length===0?u?_.jsxs("div",{className:"inbox-empty inbox-enable",children:[_.jsx("div",{className:"inbox-enable-title",children:D("inbox.enableTitle")}),_.jsx("div",{className:"inbox-enable-hint",children:D("inbox.enableHint")}),_.jsx("button",{className:"inbox-enable-btn",onClick:l,disabled:y,children:D(y?"inbox.enabling":"inbox.enableBtn")}),g&&_.jsx("div",{className:"inbox-enable-err",children:D("inbox.enableFailed")})]}):_.jsx("div",{className:"inbox-empty",children:D("inbox.empty")}):f.map(d=>_.jsxs("div",{className:"inbox-group",children:[_.jsx("div",{className:"inbox-group-title",children:d.session}),d.items.map(w=>_.jsxs("button",{className:"inbox-row",onClick:()=>c(w),children:[_.jsxs("div",{className:"inbox-row-head",children:[_.jsx("span",{className:`inbox-chip ${w.view}`,children:u1[w.view]}),_.jsx(so,{agent:w.agent}),_.jsx("span",{className:"inbox-loc",children:w.windowName||w.window}),_.jsx("span",{className:"inbox-time",children:i_(w.ts,v)})]}),w.msg&&_.jsx("div",{className:"inbox-msg",children:w.msg})]},w.pane))]},d.session))]})]})]})}function fb({open:e,orphan:t,onConfirm:i,onClose:s,inset:n=0}){var d;const[c,m]=N.useState([]),[r,o]=N.useState("new"),[f,v]=N.useState(""),[h,p]=N.useState(!0),[y,S]=N.useState(!1),[g,a]=N.useState("");if(N.useEffect(()=>{e&&(o("new"),v((t==null?void 0:t.suggestedName)||""),p(Yw()),S(!1),a(""),Dr().then(w=>m(Array.isArray(w)?w:[])).catch(()=>m([])))},[e,t]),!e||!t)return null;const u=r==="new"?f.trim()||t.suggestedName||"":((d=c.find(w=>w.id===r))==null?void 0:d.name)||"",l=async()=>{if(y)return;S(!0),a(""),Xw(h);const w=r==="new"?{mode:"new"}:{mode:"window",session:r};try{await i({target:w,kill:h,name:r==="new"?f.trim():void 0})}catch{S(!1),a(D("inbox.orphans.failed"))}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${n/2}px))`},role:"dialog","aria-label":D("inbox.orphans.takeover"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("inbox.orphans.takeover")}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:t.cwdLabel||t.cwd}),t.snippet&&_.jsx("div",{className:"inbox-msg",children:t.snippet})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("inbox.orphans.targetLabel")}),_.jsxs("div",{className:"orphan-targets",children:[_.jsx("button",{className:"fontbtn","aria-pressed":r==="new",onClick:()=>o("new"),children:D("inbox.orphans.targetNew")}),c.map(w=>_.jsx("button",{className:"fontbtn","aria-pressed":r===w.id,onClick:()=>o(w.id),children:w.name},w.id))]})]}),r==="new"&&_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("inbox.orphans.nameLabel")}),_.jsx("input",{className:"bind-input",value:f,placeholder:D("inbox.orphans.namePlaceholder"),onChange:w=>{v(w.target.value),a("")}})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("inbox.orphans.killTitle")}),_.jsxs("div",{className:"orphan-targets orphan-kill",children:[_.jsxs("button",{className:"fontbtn","aria-pressed":h,onClick:()=>p(!0),children:[D("inbox.orphans.killEnd"),_.jsx("span",{className:"orphan-reco",children:D("inbox.orphans.recommended")})]}),_.jsx("button",{className:"fontbtn","aria-pressed":!h,onClick:()=>p(!1),children:D("inbox.orphans.killKeep")})]}),_.jsx("div",{className:"orphan-help",children:D("inbox.orphans.killWhy")}),_.jsxs("div",{className:"orphan-help",children:[D("inbox.orphans.reopenPre")," ",_.jsxs("code",{className:"orphan-cmd",children:["handmux open ",u||D("inbox.orphans.namePlaceholder")]})]})]}),g&&_.jsx("div",{className:"bind-error",children:g}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:s,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:l,disabled:y,children:D(y?"inbox.orphans.working":"inbox.orphans.takeover")})]})]})]})]})}const Bf="tw_a2hs_dismissed",Xn=()=>typeof navigator<"u"&&navigator.userAgent||"",Qo=()=>/iP(hone|ad|od)/.test(Xn())||/Macintosh/.test(Xn())&&typeof navigator<"u"&&navigator.maxTouchPoints>1,pb=()=>/Android/.test(Xn()),mb=()=>Qo()&&/Safari/.test(Xn())&&!/(CriOS|FxiOS|EdgiOS|OPiOS|mercury|GSA)/.test(Xn());function gb(){const[e,t]=N.useState(!1),[i,s]=N.useState(null);if(N.useEffect(()=>{if(o_()||!Qo()&&!pb())return;try{if(localStorage.getItem(Bf)==="1")return}catch{}const f=v=>{v.preventDefault(),s(v)};return window.addEventListener("beforeinstallprompt",f),t(!0),()=>window.removeEventListener("beforeinstallprompt",f)},[]),!e)return null;const n=()=>{try{localStorage.setItem(Bf,"1")}catch{}t(!1)},c=async()=>{if(i){i.prompt();try{await i.userChoice}catch{}n()}};let m,r,o=null;return i?(m="install",r=D("a2hs.lead"),o=_.jsx("button",{className:"a2hs-banner-cta",onClick:c,children:D("a2hs.install")})):Qo()&&!mb()?(m="ios-other",r=D("a2hs.iosOpenSafari")):Qo()?(m="ios",r=D("a2hs.iosHint")):(m="android",r=D("a2hs.androidManual")),_.jsxs("div",{className:"a2hs-banner",role:"status","aria-label":D("a2hs.title"),"data-mode":m,children:[_.jsx("span",{className:"a2hs-banner-icon","aria-hidden":"true",children:"⊕"}),_.jsxs("div",{className:"a2hs-banner-txt",children:[_.jsx("span",{className:"a2hs-banner-title",children:D("a2hs.title")}),_.jsx("span",{className:"a2hs-banner-sub",children:r})]}),o,_.jsx("button",{className:"a2hs-banner-x",onClick:n,"aria-label":D("common.close"),children:"✕"})]})}const Qc="tw_claude_hooks";function _b(){try{return localStorage.getItem(Qc)||null}catch{return null}}function vb(){const[e,t]=N.useState(_b);N.useEffect(()=>{let s=!0;return Promise.resolve().then(Vg).then(n=>{if(!s)return;const c=(n==null?void 0:n.claudeHooks)||"installed";t(c);try{localStorage.setItem(Qc,c)}catch{}}).catch(()=>{}),()=>{s=!1}},[]);const i=N.useCallback(async()=>{const s=await Ny();if(s!=null&&s.status){t(s.status);try{localStorage.setItem(Qc,s.status)}catch{}}return s},[]);return{status:e,enable:i}}function wb({value:e,options:t,onChange:i,ariaLabel:s}){const[n,c]=N.useState(!1),m=N.useRef(null),r=t.find(o=>o.value===e)||t[0];return N.useEffect(()=>{if(!n)return;const o=f=>{var v;(v=m.current)!=null&&v.contains(f.target)||c(!1)};return document.addEventListener("pointerdown",o,!0),()=>document.removeEventListener("pointerdown",o,!0)},[n]),_.jsxs("div",{className:"dd",ref:m,children:[_.jsxs("button",{type:"button",className:"field dd-trigger","aria-haspopup":"listbox","aria-expanded":n,"aria-label":s,onClick:()=>c(o=>!o),children:[_.jsx("span",{className:"dd-value",children:r==null?void 0:r.label}),_.jsx("span",{className:`dd-caret${n?" open":""}`,"aria-hidden":"true",children:"▾"})]}),n&&_.jsx("div",{className:"dd-menu",role:"listbox",children:t.map(o=>_.jsxs("button",{type:"button",role:"option","aria-selected":o.value===e,className:`dd-option${o.value===e?" is-selected":""}`,onClick:()=>{i==null||i(o.value),c(!1)},children:[_.jsx("span",{className:"dd-option-label",children:o.label}),o.value===e&&_.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},o.value||"__none__"))})]})}const T_=[{value:"",label:D("startup.preset_shell")},{value:"claude",label:D("startup.preset_claude")},{value:"claude --continue",label:D("startup.preset_claude_continue")},{value:"codex",label:D("startup.preset_codex")}],ea="__custom__",yb=[...T_,{value:ea,label:D("startup.custom")}];function D_({value:e="",onChange:t}){const i=T_.some(f=>f.value===e),[s,n]=N.useState(i?e:ea),[c,m]=N.useState(i?"":e),r=f=>{n(f),t==null||t(f===ea?c:f)},o=f=>{const v=f.target.value;m(v),t==null||t(v)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-label",children:D("startup.label")}),_.jsx(wb,{value:s,options:yb,onChange:r,ariaLabel:D("startup.aria")}),s===ea&&_.jsx("input",{className:"bind-input startup-custom",value:c,placeholder:D("startup.custom_placeholder"),onChange:o,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})}const Sb=/^[A-Za-z0-9-]{1,16}$/;function bb({open:e,onClose:t,onBound:i,bound:s,onAuthFail:n,inset:c=0}){const[m,r]=N.useState([]),[o,f]=N.useState(null),[v,h]=N.useState(""),[p,y]=N.useState(""),[S,g]=N.useState(!1),[a,u]=N.useState(null),[l,d]=N.useState(Pg()),[w,k]=N.useState(!1),b=N.useRef(null);if(N.useEffect(()=>{e&&(f(null),h(""),y(""),g(!1),u(null),k(!1),Dr().then(R=>r(Array.isArray(R)?R:[])).catch(R=>{R instanceof lt?n==null||n():y(D("bind.checkFailed"))}))},[e]),N.useEffect(()=>{o==="new"&&setTimeout(()=>{var R;return(R=b.current)==null?void 0:R.focus()},0)},[o]),!e)return null;const L=m.filter(R=>!s.includes(R.name)),x=async()=>{if(S||!o)return;if(o!=="new"){i(o);return}const R=v.trim();if(R){if(s.includes(R)||m.some(I=>I.name===R)){y(D("bind.alreadyExists"));return}if(!Sb.test(R)){y(D("bind.invalidName"));return}g(!0),y(""),Og(l);try{await Cy(R,a||void 0,l||void 0),i(R)}catch(I){I instanceof lt?n==null||n():y(D("bind.createFailed")),g(!1)}}},E=D(o==="new"?S?"bind.creating":"bind.createAndOpen":S?"bind.checking":"bind.bind");return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${c/2}px))`},role:"dialog","aria-label":D("bind.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("bind.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.pickSession")}),_.jsxs("div",{className:"orphan-targets",children:[_.jsx("button",{className:"fontbtn","aria-pressed":o==="new",onClick:()=>{f("new"),y("")},children:D("bind.newSession")}),L.map(R=>_.jsx("button",{className:"fontbtn","aria-pressed":o===R.name,onClick:()=>{f(R.name),y("")},children:R.name},R.id||R.name))]})]}),o==="new"&&_.jsxs(_.Fragment,{children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.sessionName")}),_.jsx("input",{ref:b,className:"bind-input",value:v,placeholder:D("bind.namePlaceholder"),onChange:R=>{h(R.target.value),y("")},onKeyDown:R=>{R.key==="Enter"&&x()}})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("bind.startDir")}),_.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>k(!0),children:[_.jsx("span",{className:"cwd-path",children:a||D("bind.homeDirDefault")}),_.jsx("span",{className:"cwd-action",children:D("bind.choose")})]}),a&&_.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>u(null),children:D("bind.reset")})]}),_.jsx("div",{className:"opt",children:_.jsx(D_,{value:l,onChange:d})})]}),p&&_.jsx("div",{className:"bind-error",children:p}),_.jsx("div",{className:"settings-hint",children:D("bind.desktopHint")}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:t,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:x,disabled:S||!o,children:E})]})]})]}),_.jsx(ro,{open:w,seedCwd:a,allowMkdir:!0,onPick:R=>{u(R),k(!1)},onClose:()=>k(!1),inset:c})]})}const xb=/^[A-Za-z0-9-]{1,16}$/;function Cb({open:e,onClose:t,onCreate:i,paneId:s,inset:n=0}){const[c,m]=N.useState(""),[r,o]=N.useState(""),[f,v]=N.useState(!1),[h,p]=N.useState(null),[y,S]=N.useState(""),[g,a]=N.useState(Pg()),[u,l]=N.useState(!1),d=N.useRef(null);if(N.useEffect(()=>{e&&(m(""),o(""),v(!1),p(null),S(""),l(!1),setTimeout(()=>{var k;return(k=d.current)==null?void 0:k.focus()},0),s&&rr(s).then(({cwd:k})=>S(k||"")).catch(()=>{}))},[e,s]),!e)return null;const w=async()=>{if(f)return;const k=c.trim();if(k&&!xb.test(k)){o(D("newwindow.name_rule"));return}v(!0),o(""),Og(g);try{await i(k,h||void 0,g||void 0)}catch{v(!1)}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:t}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${n/2}px))`},role:"dialog","aria-label":D("newwindow.title"),"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:D("newwindow.title")}),_.jsx("button",{className:"settings-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("newwindow.window_name")}),_.jsx("input",{ref:d,className:"bind-input",value:c,placeholder:D("newwindow.name_placeholder"),onChange:k=>{m(k.target.value),o("")},onKeyDown:k=>{k.key==="Enter"&&w()}}),r&&_.jsx("div",{className:"bind-error",children:r})]}),_.jsxs("div",{className:"opt",children:[_.jsx("div",{className:"settings-label",children:D("newwindow.start_dir")}),_.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>l(!0),children:[_.jsx("span",{className:"cwd-path",children:h||(y?D("newwindow.session_dir_named",{dir:y}):D("newwindow.session_dir_default"))}),_.jsx("span",{className:"cwd-action",children:D("newwindow.choose")})]}),h&&_.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>p(null),children:D("newwindow.reset_to_session_dir")})]}),_.jsx("div",{className:"opt",children:_.jsx(D_,{value:g,onChange:a})}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:t,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:w,disabled:f,children:D(f?"newwindow.creating":"common.create")})]})]})]}),_.jsx(ro,{open:u,seedCwd:h||y||null,pane:s,allowMkdir:!0,onPick:k=>{p(k),l(!1)},onClose:()=>l(!1),inset:n})]})}const kb=/^[A-Za-z0-9-]{1,16}$/;function Eb({open:e,title:t,currentName:i="",onClose:s,onSubmit:n,inset:c=0}){const[m,r]=N.useState(i),[o,f]=N.useState(""),[v,h]=N.useState(!1),p=N.useRef(null);if(N.useEffect(()=>{e&&(r(i),f(""),h(!1),setTimeout(()=>{var S;return(S=p.current)==null?void 0:S.focus()},0))},[e,i]),!e)return null;const y=async()=>{if(v)return;const S=m.trim();if(!kb.test(S)){f(D("rename.name_rule"));return}h(!0),f("");try{await n(S)}catch(g){f((g==null?void 0:g.message)||D("rename.failed")),h(!1)}};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"settings-backdrop",onClick:s}),_.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${c/2}px))`},role:"dialog","aria-label":t,"aria-modal":"true",children:[_.jsxs("div",{className:"settings-head",children:[_.jsx("span",{className:"settings-title",children:t}),_.jsx("button",{className:"settings-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:"settings-section",children:[_.jsx("div",{className:"settings-label",children:D("rename.new_name")}),_.jsx("input",{ref:p,className:"bind-input",value:m,placeholder:D("rename.name_placeholder"),onChange:S=>{r(S.target.value),f("")},onKeyDown:S=>{S.key==="Enter"&&y()}}),o&&_.jsx("div",{className:"bind-error",children:o}),_.jsxs("div",{className:"settings-btns bind-actions",children:[_.jsx("button",{className:"fontbtn",onClick:s,children:D("common.cancel")}),_.jsx("button",{className:"fontbtn bind-confirm",onClick:y,disabled:v,children:D(v?"rename.saving":"common.save")})]})]})]})]})}function Lb({onOpenDoc:e,refreshKey:t=0}){const[i,s]=N.useState(()=>kn()),n=m=>{ey(m),s(kn())},c=N.useRef(!0);return N.useEffect(()=>{if(c.current){c.current=!1;return}s(kn())},[t]),i.length===0?_.jsx("div",{className:"home-view",children:_.jsxs("div",{className:"home-empty",children:[D("home.empty"),_.jsx("span",{children:D("home.emptyHint")})]})}):_.jsx("div",{className:"home-view",children:i.map(m=>_.jsxs("div",{className:"home-recent-row",children:[_.jsxs("button",{className:"home-recent",onClick:()=>e(m.path),title:m.path,children:[_.jsx("span",{className:"home-name",children:m.name}),_.jsx("span",{className:"home-path",children:m.path})]}),_.jsx("button",{className:"home-x","aria-label":D("home.remove"),onClick:()=>n(m.path),children:"✕"})]},m.path))})}function hh(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let ur=hh();function A_(e){ur=e}const M_=/[&<>"']/,Rb=new RegExp(M_.source,"g"),N_=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Tb=new RegExp(N_.source,"g"),Db={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},jf=e=>Db[e];function bi(e,t){if(t){if(M_.test(e))return e.replace(Rb,jf)}else if(N_.test(e))return e.replace(Tb,jf);return e}const Ab=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Mb(e){return e.replace(Ab,(t,i)=>(i=i.toLowerCase(),i==="colon"?":":i.charAt(0)==="#"?i.charAt(1)==="x"?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""))}const Nb=/(^|[^\[])\^/g;function at(e,t){let i=typeof e=="string"?e:e.source;t=t||"";const s={replace:(n,c)=>{let m=typeof c=="string"?c:c.source;return m=m.replace(Nb,"$1"),i=i.replace(n,m),s},getRegex:()=>new RegExp(i,t)};return s}function Ff(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const Ln={exec:()=>null};function Hf(e,t){const i=e.replace(/\|/g,(c,m,r)=>{let o=!1,f=m;for(;--f>=0&&r[f]==="\\";)o=!o;return o?"|":" |"}),s=i.split(/ \|/);let n=0;if(s[0].trim()||s.shift(),s.length>0&&!s[s.length-1].trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;n<s.length;n++)s[n]=s[n].trim().replace(/\\\|/g,"|");return s}function Po(e,t,i){const s=e.length;if(s===0)return"";let n=0;for(;n<s&&e.charAt(s-n-1)===t;)n++;return e.slice(0,s-n)}function Ib(e,t){if(e.indexOf(t[1])===-1)return-1;let i=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])i++;else if(e[s]===t[1]&&(i--,i<0))return s;return-1}function $f(e,t,i,s){const n=t.href,c=t.title?bi(t.title):null,m=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){s.state.inLink=!0;const r={type:"link",raw:i,href:n,title:c,text:m,tokens:s.inlineTokens(m)};return s.state.inLink=!1,r}return{type:"image",raw:i,href:n,title:c,text:bi(m)}}function Pb(e,t){const i=e.match(/^(\s+)(?:```)/);if(i===null)return t;const s=i[1];return t.split(`
112
112
  `).map(n=>{const c=n.match(/^\s+/);if(c===null)return n;const[m]=c;return m.length>=s.length?n.slice(s.length):n}).join(`
113
- `)}class Ia{constructor(t){pt(this,"options");pt(this,"rules");pt(this,"lexer");this.options=t||ur}space(t){const i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(t){const i=this.rules.block.code.exec(t);if(i){const s=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?s:Oo(s,`
114
- `)}}}fences(t){const i=this.rules.block.fences.exec(t);if(i){const s=i[0],n=Ob(s,i[3]||"");return{type:"code",raw:s,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:n}}}heading(t){const i=this.rules.block.heading.exec(t);if(i){let s=i[2].trim();if(/#$/.test(s)){const n=Oo(s,"#");(this.options.pedantic||!n||/ $/.test(n))&&(s=n.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:s,tokens:this.lexer.inline(s)}}}hr(t){const i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}}blockquote(t){const i=this.rules.block.blockquote.exec(t);if(i){let s=i[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
115
- $1`);s=Oo(s.replace(/^ *>[ \t]?/gm,""),`
113
+ `)}class Ia{constructor(t){pt(this,"options");pt(this,"rules");pt(this,"lexer");this.options=t||ur}space(t){const i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(t){const i=this.rules.block.code.exec(t);if(i){const s=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?s:Po(s,`
114
+ `)}}}fences(t){const i=this.rules.block.fences.exec(t);if(i){const s=i[0],n=Pb(s,i[3]||"");return{type:"code",raw:s,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:n}}}heading(t){const i=this.rules.block.heading.exec(t);if(i){let s=i[2].trim();if(/#$/.test(s)){const n=Po(s,"#");(this.options.pedantic||!n||/ $/.test(n))&&(s=n.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:s,tokens:this.lexer.inline(s)}}}hr(t){const i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}}blockquote(t){const i=this.rules.block.blockquote.exec(t);if(i){let s=i[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
115
+ $1`);s=Po(s.replace(/^ *>[ \t]?/gm,""),`
116
116
  `);const n=this.lexer.state.top;this.lexer.state.top=!0;const c=this.lexer.blockTokens(s);return this.lexer.state.top=n,{type:"blockquote",raw:i[0],tokens:c,text:s}}}list(t){let i=this.rules.block.list.exec(t);if(i){let s=i[1].trim();const n=s.length>1,c={type:"list",raw:"",ordered:n,start:n?+s.slice(0,-1):"",loose:!1,items:[]};s=n?`\\d{1,9}\\${s.slice(-1)}`:`\\${s}`,this.options.pedantic&&(s=n?s:"[*+-]");const m=new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`);let r="",o="",f=!1;for(;t;){let v=!1;if(!(i=m.exec(t))||this.rules.block.hr.test(t))break;r=i[0],t=t.substring(r.length);let h=i[2].split(`
117
117
  `,1)[0].replace(/^\t+/,u=>" ".repeat(3*u.length)),p=t.split(`
118
118
  `,1)[0],y=0;this.options.pedantic?(y=2,o=h.trimStart()):(y=i[2].search(/[^ ]/),y=y>4?1:y,o=h.slice(y),y+=i[1].length);let S=!1;if(!h&&/^ *$/.test(p)&&(r+=p+`
@@ -122,8 +122,8 @@ void main() {
122
122
  `+p}!S&&!p.trim()&&(S=!0),r+=k+`
123
123
  `,t=t.substring(k.length+1),h=p.slice(y)}}c.loose||(f?c.loose=!0:/\n *\n *$/.test(r)&&(f=!0));let g=null,a;this.options.gfm&&(g=/^\[[ xX]\] /.exec(o),g&&(a=g[0]!=="[ ] ",o=o.replace(/^\[[ xX]\] +/,""))),c.items.push({type:"list_item",raw:r,task:!!g,checked:a,loose:!1,text:o,tokens:[]}),c.raw+=r}c.items[c.items.length-1].raw=r.trimEnd(),c.items[c.items.length-1].text=o.trimEnd(),c.raw=c.raw.trimEnd();for(let v=0;v<c.items.length;v++)if(this.lexer.state.top=!1,c.items[v].tokens=this.lexer.blockTokens(c.items[v].text,[]),!c.loose){const h=c.items[v].tokens.filter(y=>y.type==="space"),p=h.length>0&&h.some(y=>/\n.*\n/.test(y.raw));c.loose=p}if(c.loose)for(let v=0;v<c.items.length;v++)c.items[v].loose=!0;return c}}html(t){const i=this.rules.block.html.exec(t);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(t){const i=this.rules.block.def.exec(t);if(i){const s=i[1].toLowerCase().replace(/\s+/g," "),n=i[2]?i[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",c=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:s,raw:i[0],href:n,title:c}}}table(t){const i=this.rules.block.table.exec(t);if(!i||!/[:|]/.test(i[2]))return;const s=Hf(i[1]),n=i[2].replace(/^\||\| *$/g,"").split("|"),c=i[3]&&i[3].trim()?i[3].replace(/\n[ \t]*$/,"").split(`
124
124
  `):[],m={type:"table",raw:i[0],header:[],align:[],rows:[]};if(s.length===n.length){for(const r of n)/^ *-+: *$/.test(r)?m.align.push("right"):/^ *:-+: *$/.test(r)?m.align.push("center"):/^ *:-+ *$/.test(r)?m.align.push("left"):m.align.push(null);for(const r of s)m.header.push({text:r,tokens:this.lexer.inline(r)});for(const r of c)m.rows.push(Hf(r,m.header.length).map(o=>({text:o,tokens:this.lexer.inline(o)})));return m}}lheading(t){const i=this.rules.block.lheading.exec(t);if(i)return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:i[1],tokens:this.lexer.inline(i[1])}}paragraph(t){const i=this.rules.block.paragraph.exec(t);if(i){const s=i[1].charAt(i[1].length-1)===`
125
- `?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:s,tokens:this.lexer.inline(s)}}}text(t){const i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){const i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:bi(i[1])}}tag(t){const i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&/^<a /i.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){const i=this.rules.inline.link.exec(t);if(i){const s=i[2].trim();if(!this.options.pedantic&&/^</.test(s)){if(!/>$/.test(s))return;const m=Oo(s.slice(0,-1),"\\");if((s.length-m.length)%2===0)return}else{const m=Ib(i[2],"()");if(m>-1){const o=(i[0].indexOf("!")===0?5:4)+i[1].length+m;i[2]=i[2].substring(0,m),i[0]=i[0].substring(0,o).trim(),i[3]=""}}let n=i[2],c="";if(this.options.pedantic){const m=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);m&&(n=m[1],c=m[3])}else c=i[3]?i[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(this.options.pedantic&&!/>$/.test(s)?n=n.slice(1):n=n.slice(1,-1)),$f(i,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:c&&c.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer)}}reflink(t,i){let s;if((s=this.rules.inline.reflink.exec(t))||(s=this.rules.inline.nolink.exec(t))){const n=(s[2]||s[1]).replace(/\s+/g," "),c=i[n.toLowerCase()];if(!c){const m=s[0].charAt(0);return{type:"text",raw:m,text:m}}return $f(s,c,s[0],this.lexer)}}emStrong(t,i,s=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!n||n[3]&&s.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!s||this.rules.inline.punctuation.exec(s)){const m=[...n[0]].length-1;let r,o,f=m,v=0;const h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,i=i.slice(-1*t.length+m);(n=h.exec(i))!=null;){if(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!r)continue;if(o=[...r].length,n[3]||n[4]){f+=o;continue}else if((n[5]||n[6])&&m%3&&!((m+o)%3)){v+=o;continue}if(f-=o,f>0)continue;o=Math.min(o,o+f+v);const p=[...n[0]][0].length,y=t.slice(0,m+n.index+p+o);if(Math.min(m,o)%2){const g=y.slice(1,-1);return{type:"em",raw:y,text:g,tokens:this.lexer.inlineTokens(g)}}const S=y.slice(2,-2);return{type:"strong",raw:y,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(t){const i=this.rules.inline.code.exec(t);if(i){let s=i[2].replace(/\n/g," ");const n=/[^ ]/.test(s),c=/^ /.test(s)&&/ $/.test(s);return n&&c&&(s=s.substring(1,s.length-1)),s=bi(s,!0),{type:"codespan",raw:i[0],text:s}}}br(t){const i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}}del(t){const i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}}autolink(t){const i=this.rules.inline.autolink.exec(t);if(i){let s,n;return i[2]==="@"?(s=bi(i[1]),n="mailto:"+s):(s=bi(i[1]),n=s),{type:"link",raw:i[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}}url(t){var s;let i;if(i=this.rules.inline.url.exec(t)){let n,c;if(i[2]==="@")n=bi(i[0]),c="mailto:"+n;else{let m;do m=i[0],i[0]=((s=this.rules.inline._backpedal.exec(i[0]))==null?void 0:s[0])??"";while(m!==i[0]);n=bi(i[0]),i[1]==="www."?c="http://"+i[0]:c=i[0]}return{type:"link",raw:i[0],text:n,href:c,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){const i=this.rules.inline.text.exec(t);if(i){let s;return this.lexer.state.inRawBlock?s=i[0]:s=bi(i[0]),{type:"text",raw:i[0],text:s}}}}const Pb=/^(?: *(?:\n|$))+/,Bb=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,jb=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,no=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Fb=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,I_=/(?:[*+-]|\d{1,9}[.)])/,O_=at(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,I_).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),dh=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Hb=/^[^\n]+/,fh=/(?!\s*\])(?:\\.|[^\[\]\\])+/,$b=at(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",fh).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),zb=at(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,I_).getRegex(),rl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ph=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ub=at("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",ph).replace("tag",rl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),P_=at(dh).replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex(),Wb=at(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",P_).getRegex(),mh={blockquote:Wb,code:Bb,def:$b,fences:jb,heading:Fb,hr:no,html:Ub,lheading:O_,list:zb,newline:Pb,paragraph:P_,table:Ln,text:Hb},zf=at("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex(),Vb={...mh,table:zf,paragraph:at(dh).replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",zf).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex()},Gb={...mh,html:at(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ph).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ln,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:at(dh).replace("hr",no).replace("heading",` *#{1,6} *[^
126
- ]`).replace("lheading",O_).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},B_=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Kb=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,j_=/^( {2,}|\\)\n(?!\s*$)/,qb=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,oo="\\p{P}\\p{S}",Yb=at(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,oo).getRegex(),Xb=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,Jb=at(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,oo).getRegex(),Zb=at("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,oo).getRegex(),Qb=at("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,oo).getRegex(),ex=at(/\\([punct])/,"gu").replace(/punct/g,oo).getRegex(),tx=at(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ix=at(ph).replace("(?:-->|$)","-->").getRegex(),sx=at("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",ix).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Oa=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,rx=at(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Oa).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),F_=at(/^!?\[(label)\]\[(ref)\]/).replace("label",Oa).replace("ref",fh).getRegex(),H_=at(/^!?\[(ref)\](?:\[\])?/).replace("ref",fh).getRegex(),nx=at("reflink|nolink(?!\\()","g").replace("reflink",F_).replace("nolink",H_).getRegex(),gh={_backpedal:Ln,anyPunctuation:ex,autolink:tx,blockSkip:Xb,br:j_,code:Kb,del:Ln,emStrongLDelim:Jb,emStrongRDelimAst:Zb,emStrongRDelimUnd:Qb,escape:B_,link:rx,nolink:H_,punctuation:Yb,reflink:F_,reflinkSearch:nx,tag:sx,text:qb,url:Ln},ox={...gh,link:at(/^!?\[(label)\]\((.*?)\)/).replace("label",Oa).getRegex(),reflink:at(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Oa).getRegex()},eu={...gh,escape:at(B_).replace("])","~|])").getRegex(),url:at(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ax={...eu,br:at(j_).replace("{2,}","*").getRegex(),text:at(eu.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Po={normal:mh,gfm:Vb,pedantic:Gb},ln={normal:gh,gfm:eu,breaks:ax,pedantic:ox};class ss{constructor(t){pt(this,"tokens");pt(this,"options");pt(this,"state");pt(this,"tokenizer");pt(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||ur,this.options.tokenizer=this.options.tokenizer||new Ia,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const i={block:Po.normal,inline:ln.normal};this.options.pedantic?(i.block=Po.pedantic,i.inline=ln.pedantic):this.options.gfm&&(i.block=Po.gfm,this.options.breaks?i.inline=ln.breaks:i.inline=ln.gfm),this.tokenizer.rules=i}static get rules(){return{block:Po,inline:ln}}static lex(t,i){return new ss(i).lex(t)}static lexInline(t,i){return new ss(i).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
125
+ `?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:s,tokens:this.lexer.inline(s)}}}text(t){const i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){const i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:bi(i[1])}}tag(t){const i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&/^<a /i.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){const i=this.rules.inline.link.exec(t);if(i){const s=i[2].trim();if(!this.options.pedantic&&/^</.test(s)){if(!/>$/.test(s))return;const m=Po(s.slice(0,-1),"\\");if((s.length-m.length)%2===0)return}else{const m=Ib(i[2],"()");if(m>-1){const o=(i[0].indexOf("!")===0?5:4)+i[1].length+m;i[2]=i[2].substring(0,m),i[0]=i[0].substring(0,o).trim(),i[3]=""}}let n=i[2],c="";if(this.options.pedantic){const m=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);m&&(n=m[1],c=m[3])}else c=i[3]?i[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(this.options.pedantic&&!/>$/.test(s)?n=n.slice(1):n=n.slice(1,-1)),$f(i,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:c&&c.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer)}}reflink(t,i){let s;if((s=this.rules.inline.reflink.exec(t))||(s=this.rules.inline.nolink.exec(t))){const n=(s[2]||s[1]).replace(/\s+/g," "),c=i[n.toLowerCase()];if(!c){const m=s[0].charAt(0);return{type:"text",raw:m,text:m}}return $f(s,c,s[0],this.lexer)}}emStrong(t,i,s=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!n||n[3]&&s.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!s||this.rules.inline.punctuation.exec(s)){const m=[...n[0]].length-1;let r,o,f=m,v=0;const h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,i=i.slice(-1*t.length+m);(n=h.exec(i))!=null;){if(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!r)continue;if(o=[...r].length,n[3]||n[4]){f+=o;continue}else if((n[5]||n[6])&&m%3&&!((m+o)%3)){v+=o;continue}if(f-=o,f>0)continue;o=Math.min(o,o+f+v);const p=[...n[0]][0].length,y=t.slice(0,m+n.index+p+o);if(Math.min(m,o)%2){const g=y.slice(1,-1);return{type:"em",raw:y,text:g,tokens:this.lexer.inlineTokens(g)}}const S=y.slice(2,-2);return{type:"strong",raw:y,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(t){const i=this.rules.inline.code.exec(t);if(i){let s=i[2].replace(/\n/g," ");const n=/[^ ]/.test(s),c=/^ /.test(s)&&/ $/.test(s);return n&&c&&(s=s.substring(1,s.length-1)),s=bi(s,!0),{type:"codespan",raw:i[0],text:s}}}br(t){const i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}}del(t){const i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}}autolink(t){const i=this.rules.inline.autolink.exec(t);if(i){let s,n;return i[2]==="@"?(s=bi(i[1]),n="mailto:"+s):(s=bi(i[1]),n=s),{type:"link",raw:i[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}}url(t){var s;let i;if(i=this.rules.inline.url.exec(t)){let n,c;if(i[2]==="@")n=bi(i[0]),c="mailto:"+n;else{let m;do m=i[0],i[0]=((s=this.rules.inline._backpedal.exec(i[0]))==null?void 0:s[0])??"";while(m!==i[0]);n=bi(i[0]),i[1]==="www."?c="http://"+i[0]:c=i[0]}return{type:"link",raw:i[0],text:n,href:c,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){const i=this.rules.inline.text.exec(t);if(i){let s;return this.lexer.state.inRawBlock?s=i[0]:s=bi(i[0]),{type:"text",raw:i[0],text:s}}}}const Ob=/^(?: *(?:\n|$))+/,Bb=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,jb=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,no=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Fb=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,I_=/(?:[*+-]|\d{1,9}[.)])/,P_=at(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,I_).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),dh=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Hb=/^[^\n]+/,fh=/(?!\s*\])(?:\\.|[^\[\]\\])+/,$b=at(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",fh).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),zb=at(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,I_).getRegex(),rl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ph=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ub=at("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",ph).replace("tag",rl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),O_=at(dh).replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex(),Wb=at(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",O_).getRegex(),mh={blockquote:Wb,code:Bb,def:$b,fences:jb,heading:Fb,hr:no,html:Ub,lheading:P_,list:zb,newline:Ob,paragraph:O_,table:Ln,text:Hb},zf=at("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex(),Vb={...mh,table:zf,paragraph:at(dh).replace("hr",no).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",zf).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",rl).getRegex()},Gb={...mh,html:at(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ph).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ln,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:at(dh).replace("hr",no).replace("heading",` *#{1,6} *[^
126
+ ]`).replace("lheading",P_).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},B_=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Kb=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,j_=/^( {2,}|\\)\n(?!\s*$)/,qb=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,oo="\\p{P}\\p{S}",Yb=at(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,oo).getRegex(),Xb=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,Jb=at(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,oo).getRegex(),Zb=at("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,oo).getRegex(),Qb=at("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,oo).getRegex(),ex=at(/\\([punct])/,"gu").replace(/punct/g,oo).getRegex(),tx=at(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ix=at(ph).replace("(?:-->|$)","-->").getRegex(),sx=at("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",ix).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Pa=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,rx=at(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Pa).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),F_=at(/^!?\[(label)\]\[(ref)\]/).replace("label",Pa).replace("ref",fh).getRegex(),H_=at(/^!?\[(ref)\](?:\[\])?/).replace("ref",fh).getRegex(),nx=at("reflink|nolink(?!\\()","g").replace("reflink",F_).replace("nolink",H_).getRegex(),gh={_backpedal:Ln,anyPunctuation:ex,autolink:tx,blockSkip:Xb,br:j_,code:Kb,del:Ln,emStrongLDelim:Jb,emStrongRDelimAst:Zb,emStrongRDelimUnd:Qb,escape:B_,link:rx,nolink:H_,punctuation:Yb,reflink:F_,reflinkSearch:nx,tag:sx,text:qb,url:Ln},ox={...gh,link:at(/^!?\[(label)\]\((.*?)\)/).replace("label",Pa).getRegex(),reflink:at(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Pa).getRegex()},eu={...gh,escape:at(B_).replace("])","~|])").getRegex(),url:at(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ax={...eu,br:at(j_).replace("{2,}","*").getRegex(),text:at(eu.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Oo={normal:mh,gfm:Vb,pedantic:Gb},ln={normal:gh,gfm:eu,breaks:ax,pedantic:ox};class ss{constructor(t){pt(this,"tokens");pt(this,"options");pt(this,"state");pt(this,"tokenizer");pt(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||ur,this.options.tokenizer=this.options.tokenizer||new Ia,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const i={block:Oo.normal,inline:ln.normal};this.options.pedantic?(i.block=Oo.pedantic,i.inline=ln.pedantic):this.options.gfm&&(i.block=Oo.gfm,this.options.breaks?i.inline=ln.breaks:i.inline=ln.gfm),this.tokenizer.rules=i}static get rules(){return{block:Oo,inline:ln}}static lex(t,i){return new ss(i).lex(t)}static lexInline(t,i){return new ss(i).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
127
127
  `),this.blockTokens(t,this.tokens);for(let i=0;i<this.inlineQueue.length;i++){const s=this.inlineQueue[i];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[]){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(r,o,f)=>o+" ".repeat(f.length));let s,n,c,m;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(r=>(s=r.call({lexer:this},t,i))?(t=t.substring(s.raw.length),i.push(s),!0):!1))){if(s=this.tokenizer.space(t)){t=t.substring(s.raw.length),s.raw.length===1&&i.length>0?i[i.length-1].raw+=`
128
128
  `:i.push(s);continue}if(s=this.tokenizer.code(t)){t=t.substring(s.raw.length),n=i[i.length-1],n&&(n.type==="paragraph"||n.type==="text")?(n.raw+=`
129
129
  `+s.raw,n.text+=`
@@ -133,7 +133,7 @@ void main() {
133
133
  `+s.raw,n.text+=`
134
134
  `+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(s),m=c.length!==t.length,t=t.substring(s.raw.length);continue}if(s=this.tokenizer.text(t)){t=t.substring(s.raw.length),n=i[i.length-1],n&&n.type==="text"?(n.raw+=`
135
135
  `+s.raw,n.text+=`
136
- `+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(s);continue}if(t){const r="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(r);break}else throw new Error(r)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){let s,n,c,m=t,r,o,f;if(this.tokens.links){const v=Object.keys(this.tokens.links);if(v.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(m))!=null;)v.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(m=m.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.blockSkip.exec(m))!=null;)m=m.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(m))!=null;)m=m.slice(0,r.index)+"++"+m.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(f=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(v=>(s=v.call({lexer:this},t,i))?(t=t.substring(s.raw.length),i.push(s),!0):!1))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.tag(t)){t=t.substring(s.raw.length),n=i[i.length-1],n&&s.type==="text"&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),n=i[i.length-1],n&&s.type==="text"&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(s=this.tokenizer.emStrong(t,m,f)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.autolink(t)){t=t.substring(s.raw.length),i.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(t))){t=t.substring(s.raw.length),i.push(s);continue}if(c=t,this.options.extensions&&this.options.extensions.startInline){let v=1/0;const h=t.slice(1);let p;this.options.extensions.startInline.forEach(y=>{p=y.call({lexer:this},h),typeof p=="number"&&p>=0&&(v=Math.min(v,p))}),v<1/0&&v>=0&&(c=t.substring(0,v+1))}if(s=this.tokenizer.inlineText(c)){t=t.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(f=s.raw.slice(-1)),o=!0,n=i[i.length-1],n&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(t){const v="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(v);break}else throw new Error(v)}}return i}}class Pa{constructor(t){pt(this,"options");this.options=t||ur}code(t,i,s){var c;const n=(c=(i||"").match(/^\S*/))==null?void 0:c[0];return t=t.replace(/\n$/,"")+`
136
+ `+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(s);continue}if(t){const r="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(r);break}else throw new Error(r)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){let s,n,c,m=t,r,o,f;if(this.tokens.links){const v=Object.keys(this.tokens.links);if(v.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(m))!=null;)v.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(m=m.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.blockSkip.exec(m))!=null;)m=m.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+m.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(m))!=null;)m=m.slice(0,r.index)+"++"+m.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(f=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(v=>(s=v.call({lexer:this},t,i))?(t=t.substring(s.raw.length),i.push(s),!0):!1))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.tag(t)){t=t.substring(s.raw.length),n=i[i.length-1],n&&s.type==="text"&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),n=i[i.length-1],n&&s.type==="text"&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(s=this.tokenizer.emStrong(t,m,f)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.autolink(t)){t=t.substring(s.raw.length),i.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(t))){t=t.substring(s.raw.length),i.push(s);continue}if(c=t,this.options.extensions&&this.options.extensions.startInline){let v=1/0;const h=t.slice(1);let p;this.options.extensions.startInline.forEach(y=>{p=y.call({lexer:this},h),typeof p=="number"&&p>=0&&(v=Math.min(v,p))}),v<1/0&&v>=0&&(c=t.substring(0,v+1))}if(s=this.tokenizer.inlineText(c)){t=t.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(f=s.raw.slice(-1)),o=!0,n=i[i.length-1],n&&n.type==="text"?(n.raw+=s.raw,n.text+=s.text):i.push(s);continue}if(t){const v="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(v);break}else throw new Error(v)}}return i}}class Oa{constructor(t){pt(this,"options");this.options=t||ur}code(t,i,s){var c;const n=(c=(i||"").match(/^\S*/))==null?void 0:c[0];return t=t.replace(/\n$/,"")+`
137
137
  `,n?'<pre><code class="language-'+bi(n)+'">'+(s?t:bi(t,!0))+`</code></pre>
138
138
  `:"<pre><code>"+(s?t:bi(t,!0))+`</code></pre>
139
139
  `}blockquote(t){return`<blockquote>
@@ -151,9 +151,9 @@ ${t}</blockquote>
151
151
  `}tablerow(t){return`<tr>
152
152
  ${t}</tr>
153
153
  `}tablecell(t,i){const s=i.header?"th":"td";return(i.align?`<${s} align="${i.align}">`:`<${s}>`)+t+`</${s}>
154
- `}strong(t){return`<strong>${t}</strong>`}em(t){return`<em>${t}</em>`}codespan(t){return`<code>${t}</code>`}br(){return"<br>"}del(t){return`<del>${t}</del>`}link(t,i,s){const n=Ff(t);if(n===null)return s;t=n;let c='<a href="'+t+'"';return i&&(c+=' title="'+i+'"'),c+=">"+s+"</a>",c}image(t,i,s){const n=Ff(t);if(n===null)return s;t=n;let c=`<img src="${t}" alt="${s}"`;return i&&(c+=` title="${i}"`),c+=">",c}text(t){return t}}class _h{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,i,s){return""+s}image(t,i,s){return""+s}br(){return""}}class rs{constructor(t){pt(this,"options");pt(this,"renderer");pt(this,"textRenderer");this.options=t||ur,this.options.renderer=this.options.renderer||new Pa,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new _h}static parse(t,i){return new rs(i).parse(t)}static parseInline(t,i){return new rs(i).parseInline(t)}parse(t,i=!0){let s="";for(let n=0;n<t.length;n++){const c=t[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type]){const m=c,r=this.options.extensions.renderers[m.type].call({parser:this},m);if(r!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(m.type)){s+=r||"";continue}}switch(c.type){case"space":continue;case"hr":{s+=this.renderer.hr();continue}case"heading":{const m=c;s+=this.renderer.heading(this.parseInline(m.tokens),m.depth,Mb(this.parseInline(m.tokens,this.textRenderer)));continue}case"code":{const m=c;s+=this.renderer.code(m.text,m.lang,!!m.escaped);continue}case"table":{const m=c;let r="",o="";for(let v=0;v<m.header.length;v++)o+=this.renderer.tablecell(this.parseInline(m.header[v].tokens),{header:!0,align:m.align[v]});r+=this.renderer.tablerow(o);let f="";for(let v=0;v<m.rows.length;v++){const h=m.rows[v];o="";for(let p=0;p<h.length;p++)o+=this.renderer.tablecell(this.parseInline(h[p].tokens),{header:!1,align:m.align[p]});f+=this.renderer.tablerow(o)}s+=this.renderer.table(r,f);continue}case"blockquote":{const m=c,r=this.parse(m.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const m=c,r=m.ordered,o=m.start,f=m.loose;let v="";for(let h=0;h<m.items.length;h++){const p=m.items[h],y=p.checked,S=p.task;let g="";if(p.task){const a=this.renderer.checkbox(!!y);f?p.tokens.length>0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=a+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=a+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:a+" "}):g+=a+" "}g+=this.parse(p.tokens,f),v+=this.renderer.listitem(g,S,!!y)}s+=this.renderer.list(v,r,o);continue}case"html":{const m=c;s+=this.renderer.html(m.text,m.block);continue}case"paragraph":{const m=c;s+=this.renderer.paragraph(this.parseInline(m.tokens));continue}case"text":{let m=c,r=m.tokens?this.parseInline(m.tokens):m.text;for(;n+1<t.length&&t[n+1].type==="text";)m=t[++n],r+=`
155
- `+(m.tokens?this.parseInline(m.tokens):m.text);s+=i?this.renderer.paragraph(r):r;continue}default:{const m='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(m),"";throw new Error(m)}}}return s}parseInline(t,i){i=i||this.renderer;let s="";for(let n=0;n<t.length;n++){const c=t[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type]){const m=this.options.extensions.renderers[c.type].call({parser:this},c);if(m!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(c.type)){s+=m||"";continue}}switch(c.type){case"escape":{const m=c;s+=i.text(m.text);break}case"html":{const m=c;s+=i.html(m.text);break}case"link":{const m=c;s+=i.link(m.href,m.title,this.parseInline(m.tokens,i));break}case"image":{const m=c;s+=i.image(m.href,m.title,m.text);break}case"strong":{const m=c;s+=i.strong(this.parseInline(m.tokens,i));break}case"em":{const m=c;s+=i.em(this.parseInline(m.tokens,i));break}case"codespan":{const m=c;s+=i.codespan(m.text);break}case"br":{s+=i.br();break}case"del":{const m=c;s+=i.del(this.parseInline(m.tokens,i));break}case"text":{const m=c;s+=i.text(m.text);break}default:{const m='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(m),"";throw new Error(m)}}}return s}}class Rn{constructor(t){pt(this,"options");this.options=t||ur}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}}pt(Rn,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));var or,tu,$_;class lx{constructor(...t){$h(this,or);pt(this,"defaults",hh());pt(this,"options",this.setOptions);pt(this,"parse",ho(this,or,tu).call(this,ss.lex,rs.parse));pt(this,"parseInline",ho(this,or,tu).call(this,ss.lexInline,rs.parseInline));pt(this,"Parser",rs);pt(this,"Renderer",Pa);pt(this,"TextRenderer",_h);pt(this,"Lexer",ss);pt(this,"Tokenizer",Ia);pt(this,"Hooks",Rn);this.use(...t)}walkTokens(t,i){var n,c;let s=[];for(const m of t)switch(s=s.concat(i.call(this,m)),m.type){case"table":{const r=m;for(const o of r.header)s=s.concat(this.walkTokens(o.tokens,i));for(const o of r.rows)for(const f of o)s=s.concat(this.walkTokens(f.tokens,i));break}case"list":{const r=m;s=s.concat(this.walkTokens(r.items,i));break}default:{const r=m;(c=(n=this.defaults.extensions)==null?void 0:n.childTokens)!=null&&c[r.type]?this.defaults.extensions.childTokens[r.type].forEach(o=>{const f=r[o].flat(1/0);s=s.concat(this.walkTokens(f,i))}):r.tokens&&(s=s.concat(this.walkTokens(r.tokens,i)))}}return s}use(...t){const i=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(s=>{const n={...s};if(n.async=this.defaults.async||n.async||!1,s.extensions&&(s.extensions.forEach(c=>{if(!c.name)throw new Error("extension name required");if("renderer"in c){const m=i.renderers[c.name];m?i.renderers[c.name]=function(...r){let o=c.renderer.apply(this,r);return o===!1&&(o=m.apply(this,r)),o}:i.renderers[c.name]=c.renderer}if("tokenizer"in c){if(!c.level||c.level!=="block"&&c.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const m=i[c.level];m?m.unshift(c.tokenizer):i[c.level]=[c.tokenizer],c.start&&(c.level==="block"?i.startBlock?i.startBlock.push(c.start):i.startBlock=[c.start]:c.level==="inline"&&(i.startInline?i.startInline.push(c.start):i.startInline=[c.start]))}"childTokens"in c&&c.childTokens&&(i.childTokens[c.name]=c.childTokens)}),n.extensions=i),s.renderer){const c=this.defaults.renderer||new Pa(this.defaults);for(const m in s.renderer){if(!(m in c))throw new Error(`renderer '${m}' does not exist`);if(m==="options")continue;const r=m,o=s.renderer[r],f=c[r];c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h||""}}n.renderer=c}if(s.tokenizer){const c=this.defaults.tokenizer||new Ia(this.defaults);for(const m in s.tokenizer){if(!(m in c))throw new Error(`tokenizer '${m}' does not exist`);if(["options","rules","lexer"].includes(m))continue;const r=m,o=s.tokenizer[r],f=c[r];c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h}}n.tokenizer=c}if(s.hooks){const c=this.defaults.hooks||new Rn;for(const m in s.hooks){if(!(m in c))throw new Error(`hook '${m}' does not exist`);if(m==="options")continue;const r=m,o=s.hooks[r],f=c[r];Rn.passThroughHooks.has(m)?c[r]=v=>{if(this.defaults.async)return Promise.resolve(o.call(c,v)).then(p=>f.call(c,p));const h=o.call(c,v);return f.call(c,h)}:c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h}}n.hooks=c}if(s.walkTokens){const c=this.defaults.walkTokens,m=s.walkTokens;n.walkTokens=function(r){let o=[];return o.push(m.call(this,r)),c&&(o=o.concat(c.call(this,r))),o}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,i){return ss.lex(t,i??this.defaults)}parser(t,i){return rs.parse(t,i??this.defaults)}}or=new WeakSet,tu=function(t,i){return(s,n)=>{const c={...n},m={...this.defaults,...c};this.defaults.async===!0&&c.async===!1&&(m.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),m.async=!0);const r=ho(this,or,$_).call(this,!!m.silent,!!m.async);if(typeof s>"u"||s===null)return r(new Error("marked(): input parameter is undefined or null"));if(typeof s!="string")return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(s)+", string expected"));if(m.hooks&&(m.hooks.options=m),m.async)return Promise.resolve(m.hooks?m.hooks.preprocess(s):s).then(o=>t(o,m)).then(o=>m.hooks?m.hooks.processAllTokens(o):o).then(o=>m.walkTokens?Promise.all(this.walkTokens(o,m.walkTokens)).then(()=>o):o).then(o=>i(o,m)).then(o=>m.hooks?m.hooks.postprocess(o):o).catch(r);try{m.hooks&&(s=m.hooks.preprocess(s));let o=t(s,m);m.hooks&&(o=m.hooks.processAllTokens(o)),m.walkTokens&&this.walkTokens(o,m.walkTokens);let f=i(o,m);return m.hooks&&(f=m.hooks.postprocess(f)),f}catch(o){return r(o)}}},$_=function(t,i){return s=>{if(s.message+=`
156
- Please report this to https://github.com/markedjs/marked.`,t){const n="<p>An error occurred:</p><pre>"+bi(s.message+"",!0)+"</pre>";return i?Promise.resolve(n):n}if(i)return Promise.reject(s);throw s}};const nr=new lx;function rt(e,t){return nr.parse(e,t)}rt.options=rt.setOptions=function(e){return nr.setOptions(e),rt.defaults=nr.defaults,A_(rt.defaults),rt};rt.getDefaults=hh;rt.defaults=ur;rt.use=function(...e){return nr.use(...e),rt.defaults=nr.defaults,A_(rt.defaults),rt};rt.walkTokens=function(e,t){return nr.walkTokens(e,t)};rt.parseInline=nr.parseInline;rt.Parser=rs;rt.parser=rs.parse;rt.Renderer=Pa;rt.TextRenderer=_h;rt.Lexer=ss;rt.lexer=ss.lex;rt.Tokenizer=Ia;rt.Hooks=Rn;rt.parse=rt;rt.options;rt.setOptions;rt.use;rt.walkTokens;rt.parseInline;rs.parse;ss.lex;/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function Uf(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i<t;i++)s[i]=e[i];return s}function cx(e){if(Array.isArray(e))return e}function ux(e,t){var i=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(i!=null){var s,n,c,m,r=[],o=!0,f=!1;try{if(c=(i=i.call(e)).next,t!==0)for(;!(o=(s=c.call(i)).done)&&(r.push(s.value),r.length!==t);o=!0);}catch(v){f=!0,n=v}finally{try{if(!o&&i.return!=null&&(m=i.return(),Object(m)!==m))return}finally{if(f)throw n}}return r}}function hx(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
157
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dx(e,t){return cx(e)||ux(e,t)||fx(e,t)||hx()}function fx(e,t){if(e){if(typeof e=="string")return Uf(e,t);var i={}.toString.call(e).slice(8,-1);return i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Uf(e,t):void 0}}const z_=Object.entries,Wf=Object.setPrototypeOf,px=Object.isFrozen,mx=Object.getPrototypeOf,gx=Object.getOwnPropertyDescriptor;let ai=Object.freeze,Ii=Object.seal,gr=Object.create,U_=typeof Reflect<"u"&&Reflect,iu=U_.apply,su=U_.construct;ai||(ai=function(t){return t});Ii||(Ii=function(t){return t});iu||(iu=function(t,i){for(var s=arguments.length,n=new Array(s>2?s-2:0),c=2;c<s;c++)n[c-2]=arguments[c];return t.apply(i,n)});su||(su=function(t){for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];return new t(...s)});const zs=Pt(Array.prototype.forEach),_x=Pt(Array.prototype.lastIndexOf),Vf=Pt(Array.prototype.pop),dr=Pt(Array.prototype.push),vx=Pt(Array.prototype.splice),ri=Array.isArray,mn=Pt(String.prototype.toLowerCase),Fl=Pt(String.prototype.toString),Gf=Pt(String.prototype.match),fr=Pt(String.prototype.replace),Kf=Pt(String.prototype.indexOf),wx=Pt(String.prototype.trim),yx=Pt(Number.prototype.toString),Sx=Pt(Boolean.prototype.toString),qf=typeof BigInt>"u"?null:Pt(BigInt.prototype.toString),Yf=typeof Symbol>"u"?null:Pt(Symbol.prototype.toString),Lt=Pt(Object.prototype.hasOwnProperty),cn=Pt(Object.prototype.toString),Vt=Pt(RegExp.prototype.test),pr=bx(TypeError);function Pt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];return iu(e,t,s)}}function bx(e){return function(){for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return su(e,i)}}function He(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:mn;if(Wf&&Wf(e,null),!ri(t))return e;let s=t.length;for(;s--;){let n=t[s];if(typeof n=="string"){const c=i(n);c!==n&&(px(t)||(t[s]=c),n=c)}e[n]=!0}return e}function xx(e){for(let t=0;t<e.length;t++)Lt(e,t)||(e[t]=null);return e}function Qt(e){const t=gr(null);for(const s of z_(e)){var i=dx(s,2);const n=i[0],c=i[1];Lt(e,n)&&(ri(c)?t[n]=xx(c):c&&typeof c=="object"&&c.constructor===Object?t[n]=Qt(c):t[n]=c)}return t}function Cx(e){switch(typeof e){case"string":return e;case"number":return yx(e);case"boolean":return Sx(e);case"bigint":return qf?qf(e):"0";case"symbol":return Yf?Yf(e):"Symbol()";case"undefined":return cn(e);case"function":case"object":{if(e===null)return cn(e);const t=e,i=es(t,"toString");if(typeof i=="function"){const s=i(t);return typeof s=="string"?s:cn(s)}return cn(e)}default:return cn(e)}}function es(e,t){for(;e!==null;){const s=gx(e,t);if(s){if(s.get)return Pt(s.get);if(typeof s.value=="function")return Pt(s.value)}e=mx(e)}function i(){return null}return i}function kx(e){try{return Vt(e,""),!0}catch{return!1}}const Xf=ai(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Hl=ai(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),$l=ai(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ex=ai(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),zl=ai(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Lx=ai(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Jf=ai(["#text"]),Zf=ai(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Ul=ai(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Qf=ai(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Bo=ai(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Rx=Ii(/{{[\w\W]*|^[\w\W]*}}/g),Tx=Ii(/<%[\w\W]*|^[\w\W]*%>/g),Dx=Ii(/\${[\w\W]*/g),Ax=Ii(/^data-[\-\w.\u00B7-\uFFFF]+$/),Mx=Ii(/^aria-[\-\w]+$/),ep=Ii(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Nx=Ii(/^(?:\w+script|data):/i),Ix=Ii(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ox=Ii(/^html$/i),Px=Ii(/^[a-z][.\w]*(-[.\w]+)+$/i),Qi={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Bx=function(){return typeof window>"u"?null:window},jx=function(t,i){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(s=i.getAttribute(n));const c="dompurify"+(s?"#"+s:"");try{return t.createPolicy(c,{createHTML(m){return m},createScriptURL(m){return m}})}catch{return console.warn("TrustedTypes policy "+c+" could not be created."),null}},tp=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function W_(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bx();const t=ye=>W_(ye);if(t.version="3.4.8",t.removed=[],!e||!e.document||e.document.nodeType!==Qi.document||!e.Element)return t.isSupported=!1,t;let i=e.document;const s=i,n=s.currentScript;e.DocumentFragment;const c=e.HTMLTemplateElement,m=e.Node,r=e.Element,o=e.NodeFilter,f=e.NamedNodeMap;f===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const v=e.DOMParser,h=e.trustedTypes,p=r.prototype,y=es(p,"cloneNode"),S=es(p,"remove"),g=es(p,"nextSibling"),a=es(p,"childNodes"),u=es(p,"parentNode"),l=es(p,"shadowRoot"),d=es(p,"attributes"),w=m&&m.prototype?es(m.prototype,"nodeType"):null,k=m&&m.prototype?es(m.prototype,"nodeName"):null;if(typeof c=="function"){const ye=i.createElement("template");ye.content&&ye.content.ownerDocument&&(i=ye.content.ownerDocument)}let b,L="",x=0;const E=function(F){if(x>0)throw pr('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');x++;try{return b.createHTML(F)}finally{x--}},R=i,I=R.implementation,T=R.createNodeIterator,A=R.createDocumentFragment,P=R.getElementsByTagName,U=s.importNode;let $=tp();t.isSupported=typeof z_=="function"&&typeof u=="function"&&I&&I.createHTMLDocument!==void 0;const G=Rx,j=Tx,C=Dx,M=Ax,B=Mx,H=Nx,Y=Ix,V=Px;let te=ep,Q=null;const z=He({},[...Xf,...Hl,...$l,...zl,...Jf]);let O=null;const J=He({},[...Zf,...Ul,...Qf,...Bo]);let K=Object.seal(gr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),re=null,ne=null;const be=Object.seal(gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ge=!0,ke=!0,Me=!1,pe=!0,$e=!1,Je=!0,Re=!1,oe=!1,Se=!1,ue=!1,me=!1,Ie=!1,X=!0,Te=!1;const ie="user-content-";let ae=!0,ve=!1,xe={},we=null;const dt=He({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ut=null;const Ze=He({},["audio","video","img","source","image","track"]);let Tt=null;const kt=He({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ut="http://www.w3.org/1998/Math/MathML",It="http://www.w3.org/2000/svg",Qe="http://www.w3.org/1999/xhtml";let Pe=Qe,_t=!1,Dt=null;const De=He({},[Ut,It,Qe],Fl);let ui=He({},["mi","mo","mn","ms","mtext"]),si=He({},["annotation-xml"]);const hi=He({},["title","style","font","a","script"]);let At=null;const Oi=["application/xhtml+xml","text/html"],qi="text/html";let st=null,Et=null;const yt=i.createElement("form"),wi=function(F){return F instanceof RegExp||F instanceof Function},Pi=function(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Et&&Et===F)return;(!F||typeof F!="object")&&(F={}),F=Qt(F),At=Oi.indexOf(F.PARSER_MEDIA_TYPE)===-1?qi:F.PARSER_MEDIA_TYPE,st=At==="application/xhtml+xml"?Fl:mn,Q=Lt(F,"ALLOWED_TAGS")&&ri(F.ALLOWED_TAGS)?He({},F.ALLOWED_TAGS,st):z,O=Lt(F,"ALLOWED_ATTR")&&ri(F.ALLOWED_ATTR)?He({},F.ALLOWED_ATTR,st):J,Dt=Lt(F,"ALLOWED_NAMESPACES")&&ri(F.ALLOWED_NAMESPACES)?He({},F.ALLOWED_NAMESPACES,Fl):De,Tt=Lt(F,"ADD_URI_SAFE_ATTR")&&ri(F.ADD_URI_SAFE_ATTR)?He(Qt(kt),F.ADD_URI_SAFE_ATTR,st):kt,ut=Lt(F,"ADD_DATA_URI_TAGS")&&ri(F.ADD_DATA_URI_TAGS)?He(Qt(Ze),F.ADD_DATA_URI_TAGS,st):Ze,we=Lt(F,"FORBID_CONTENTS")&&ri(F.FORBID_CONTENTS)?He({},F.FORBID_CONTENTS,st):dt,re=Lt(F,"FORBID_TAGS")&&ri(F.FORBID_TAGS)?He({},F.FORBID_TAGS,st):Qt({}),ne=Lt(F,"FORBID_ATTR")&&ri(F.FORBID_ATTR)?He({},F.FORBID_ATTR,st):Qt({}),xe=Lt(F,"USE_PROFILES")?F.USE_PROFILES&&typeof F.USE_PROFILES=="object"?Qt(F.USE_PROFILES):F.USE_PROFILES:!1,ge=F.ALLOW_ARIA_ATTR!==!1,ke=F.ALLOW_DATA_ATTR!==!1,Me=F.ALLOW_UNKNOWN_PROTOCOLS||!1,pe=F.ALLOW_SELF_CLOSE_IN_ATTR!==!1,$e=F.SAFE_FOR_TEMPLATES||!1,Je=F.SAFE_FOR_XML!==!1,Re=F.WHOLE_DOCUMENT||!1,ue=F.RETURN_DOM||!1,me=F.RETURN_DOM_FRAGMENT||!1,Ie=F.RETURN_TRUSTED_TYPE||!1,Se=F.FORCE_BODY||!1,X=F.SANITIZE_DOM!==!1,Te=F.SANITIZE_NAMED_PROPS||!1,ae=F.KEEP_CONTENT!==!1,ve=F.IN_PLACE||!1,te=kx(F.ALLOWED_URI_REGEXP)?F.ALLOWED_URI_REGEXP:ep,Pe=typeof F.NAMESPACE=="string"?F.NAMESPACE:Qe,ui=Lt(F,"MATHML_TEXT_INTEGRATION_POINTS")&&F.MATHML_TEXT_INTEGRATION_POINTS&&typeof F.MATHML_TEXT_INTEGRATION_POINTS=="object"?Qt(F.MATHML_TEXT_INTEGRATION_POINTS):He({},["mi","mo","mn","ms","mtext"]),si=Lt(F,"HTML_INTEGRATION_POINTS")&&F.HTML_INTEGRATION_POINTS&&typeof F.HTML_INTEGRATION_POINTS=="object"?Qt(F.HTML_INTEGRATION_POINTS):He({},["annotation-xml"]);const ee=Lt(F,"CUSTOM_ELEMENT_HANDLING")&&F.CUSTOM_ELEMENT_HANDLING&&typeof F.CUSTOM_ELEMENT_HANDLING=="object"?Qt(F.CUSTOM_ELEMENT_HANDLING):gr(null);if(K=gr(null),Lt(ee,"tagNameCheck")&&wi(ee.tagNameCheck)&&(K.tagNameCheck=ee.tagNameCheck),Lt(ee,"attributeNameCheck")&&wi(ee.attributeNameCheck)&&(K.attributeNameCheck=ee.attributeNameCheck),Lt(ee,"allowCustomizedBuiltInElements")&&typeof ee.allowCustomizedBuiltInElements=="boolean"&&(K.allowCustomizedBuiltInElements=ee.allowCustomizedBuiltInElements),$e&&(ke=!1),me&&(ue=!0),xe&&(Q=He({},Jf),O=gr(null),xe.html===!0&&(He(Q,Xf),He(O,Zf)),xe.svg===!0&&(He(Q,Hl),He(O,Ul),He(O,Bo)),xe.svgFilters===!0&&(He(Q,$l),He(O,Ul),He(O,Bo)),xe.mathMl===!0&&(He(Q,zl),He(O,Qf),He(O,Bo))),be.tagCheck=null,be.attributeCheck=null,Lt(F,"ADD_TAGS")&&(typeof F.ADD_TAGS=="function"?be.tagCheck=F.ADD_TAGS:ri(F.ADD_TAGS)&&(Q===z&&(Q=Qt(Q)),He(Q,F.ADD_TAGS,st))),Lt(F,"ADD_ATTR")&&(typeof F.ADD_ATTR=="function"?be.attributeCheck=F.ADD_ATTR:ri(F.ADD_ATTR)&&(O===J&&(O=Qt(O)),He(O,F.ADD_ATTR,st))),Lt(F,"ADD_URI_SAFE_ATTR")&&ri(F.ADD_URI_SAFE_ATTR)&&He(Tt,F.ADD_URI_SAFE_ATTR,st),Lt(F,"FORBID_CONTENTS")&&ri(F.FORBID_CONTENTS)&&(we===dt&&(we=Qt(we)),He(we,F.FORBID_CONTENTS,st)),Lt(F,"ADD_FORBID_CONTENTS")&&ri(F.ADD_FORBID_CONTENTS)&&(we===dt&&(we=Qt(we)),He(we,F.ADD_FORBID_CONTENTS,st)),ae&&(Q["#text"]=!0),Re&&He(Q,["html","head","body"]),Q.table&&(He(Q,["tbody"]),delete re.tbody),F.TRUSTED_TYPES_POLICY){if(typeof F.TRUSTED_TYPES_POLICY.createHTML!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof F.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const de=b;b=F.TRUSTED_TYPES_POLICY;try{L=E("")}catch(ze){throw b=de,ze}}else b===void 0&&F.TRUSTED_TYPES_POLICY!==null&&(b=jx(h,n)),b&&typeof L=="string"&&(L=E(""));($.uponSanitizeElement.length>0||$.uponSanitizeAttribute.length>0)&&Q===z&&(Q=Qt(Q)),$.uponSanitizeAttribute.length>0&&O===J&&(O=Qt(O)),ai&&ai(F),Et=F},Bi=He({},[...Hl,...$l,...Ex]),ji=He({},[...zl,...Lx]),vt=function(F){let ee=u(F);(!ee||!ee.tagName)&&(ee={namespaceURI:Pe,tagName:"template"});const de=mn(F.tagName),ze=mn(ee.tagName);return Dt[F.namespaceURI]?F.namespaceURI===It?ee.namespaceURI===Qe?de==="svg":ee.namespaceURI===Ut?de==="svg"&&(ze==="annotation-xml"||ui[ze]):!!Bi[de]:F.namespaceURI===Ut?ee.namespaceURI===Qe?de==="math":ee.namespaceURI===It?de==="math"&&si[ze]:!!ji[de]:F.namespaceURI===Qe?ee.namespaceURI===It&&!si[ze]||ee.namespaceURI===Ut&&!ui[ze]?!1:!ji[de]&&(hi[de]||!Bi[de]):!!(At==="application/xhtml+xml"&&Dt[F.namespaceURI]):!1},ft=function(F){dr(t.removed,{element:F});try{u(F).removeChild(F)}catch{S(F)}},Ft=function(F,ee){try{dr(t.removed,{attribute:ee.getAttributeNode(F),from:ee})}catch{dr(t.removed,{attribute:null,from:ee})}if(ee.removeAttribute(F),F==="is")if(ue||me)try{ft(ee)}catch{}else try{ee.setAttribute(F,"")}catch{}},di=function(F){let ee=null,de=null;if(Se)F="<remove></remove>"+F;else{const Ye=Gf(F,/^[\r\n\t ]+/);de=Ye&&Ye[0]}At==="application/xhtml+xml"&&Pe===Qe&&(F='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+F+"</body></html>");const ze=b?E(F):F;if(Pe===Qe)try{ee=new v().parseFromString(ze,At)}catch{}if(!ee||!ee.documentElement){ee=I.createDocument(Pe,"template",null);try{ee.documentElement.innerHTML=_t?L:ze}catch{}}const Oe=ee.body||ee.documentElement;return F&&de&&Oe.insertBefore(i.createTextNode(de),Oe.childNodes[0]||null),Pe===Qe?P.call(ee,Re?"html":"body")[0]:Re?ee.documentElement:Oe},Yi=function(F){return T.call(F.ownerDocument||F,F,o.SHOW_ELEMENT|o.SHOW_COMMENT|o.SHOW_TEXT|o.SHOW_PROCESSING_INSTRUCTION|o.SHOW_CDATA_SECTION,null)},Fi=function(F){var ee,de;F.normalize();const ze=T.call(F.ownerDocument||F,F,o.SHOW_TEXT|o.SHOW_COMMENT|o.SHOW_CDATA_SECTION|o.SHOW_PROCESSING_INSTRUCTION,null);let Oe=ze.nextNode();for(;Oe;){let ot=Oe.data;zs([G,j,C],le=>{ot=fr(ot,le," ")}),Oe.data=ot,Oe=ze.nextNode()}const Ye=(ee=(de=F.querySelectorAll)===null||de===void 0?void 0:de.call(F,"template"))!==null&&ee!==void 0?ee:[];zs(Array.from(Ye),ot=>{Yt(ot.content)&&Fi(ot.content)})},Xi=function(F){const ee=k?k(F):null;return typeof ee!="string"||st(ee)!=="form"?!1:typeof F.nodeName!="string"||typeof F.textContent!="string"||typeof F.removeChild!="function"||F.attributes!==d(F)||typeof F.removeAttribute!="function"||typeof F.setAttribute!="function"||typeof F.namespaceURI!="string"||typeof F.insertBefore!="function"||typeof F.hasChildNodes!="function"||F.nodeType!==w(F)||F.childNodes!==a(F)},Yt=function(F){if(!w||typeof F!="object"||F===null)return!1;try{return w(F)===Qi.documentFragment}catch{return!1}},W=function(F){if(!w||typeof F!="object"||F===null)return!1;try{return typeof w(F)=="number"}catch{return!1}};function se(ye,F,ee){zs(ye,de=>{de.call(t,F,ee,Et)})}const Ae=function(F){let ee=null;if(se($.beforeSanitizeElements,F,null),Xi(F))return ft(F),!0;const de=st(k?k(F):F.nodeName);if(se($.uponSanitizeElement,F,{tagName:de,allowedTags:Q}),Je&&F.hasChildNodes()&&!W(F.firstElementChild)&&Vt(/<[/\w!]/g,F.innerHTML)&&Vt(/<[/\w!]/g,F.textContent)||Je&&F.namespaceURI===Qe&&de==="style"&&W(F.firstElementChild)||F.nodeType===Qi.progressingInstruction||Je&&F.nodeType===Qi.comment&&Vt(/<[/\w]/g,F.data))return ft(F),!0;if(re[de]||!(be.tagCheck instanceof Function&&be.tagCheck(de))&&!Q[de]){if(!re[de]&&Wt(de)&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,de)||K.tagNameCheck instanceof Function&&K.tagNameCheck(de)))return!1;if(ae&&!we[de]){const Oe=u(F),Ye=a(F);if(Ye&&Oe){const ot=Ye.length;for(let le=ot-1;le>=0;--le){const Ee=y(Ye[le],!0);Oe.insertBefore(Ee,g(F))}}}return ft(F),!0}return(w?w(F):F.nodeType)===Qi.element&&!vt(F)||(de==="noscript"||de==="noembed"||de==="noframes")&&Vt(/<\/no(script|embed|frames)/i,F.innerHTML)?(ft(F),!0):($e&&F.nodeType===Qi.text&&(ee=F.textContent,zs([G,j,C],Oe=>{ee=fr(ee,Oe," ")}),F.textContent!==ee&&(dr(t.removed,{element:F.cloneNode()}),F.textContent=ee)),se($.afterSanitizeElements,F,null),!1)},Ke=function(F,ee,de){if(ne[ee]||X&&(ee==="id"||ee==="name")&&(de in i||de in yt))return!1;const ze=O[ee]||be.attributeCheck instanceof Function&&be.attributeCheck(ee,F);if(!(ke&&!ne[ee]&&Vt(M,ee))){if(!(ge&&Vt(B,ee))){if(!ze||ne[ee]){if(!(Wt(F)&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,F)||K.tagNameCheck instanceof Function&&K.tagNameCheck(F))&&(K.attributeNameCheck instanceof RegExp&&Vt(K.attributeNameCheck,ee)||K.attributeNameCheck instanceof Function&&K.attributeNameCheck(ee,F))||ee==="is"&&K.allowCustomizedBuiltInElements&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,de)||K.tagNameCheck instanceof Function&&K.tagNameCheck(de))))return!1}else if(!Tt[ee]){if(!Vt(te,fr(de,Y,""))){if(!((ee==="src"||ee==="xlink:href"||ee==="href")&&F!=="script"&&Kf(de,"data:")===0&&ut[F])){if(!(Me&&!Vt(H,fr(de,Y,"")))){if(de)return!1}}}}}}return!0},St=He({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Wt=function(F){return!St[mn(F)]&&Vt(V,F)},et=function(F){se($.beforeSanitizeAttributes,F,null);const ee=F.attributes;if(!ee||Xi(F))return;const de={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:O,forceKeepAttr:void 0};let ze=ee.length;for(;ze--;){const Oe=ee[ze],Ye=Oe.name,ot=Oe.namespaceURI,le=Oe.value,Ee=st(Ye),Be=le;let fe=Ye==="value"?Be:wx(Be);if(de.attrName=Ee,de.attrValue=fe,de.keepAttr=!0,de.forceKeepAttr=void 0,se($.uponSanitizeAttribute,F,de),fe=de.attrValue,Te&&(Ee==="id"||Ee==="name")&&Kf(fe,ie)!==0&&(Ft(Ye,F),fe=ie+fe),Je&&Vt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,fe)){Ft(Ye,F);continue}if(Ee==="attributename"&&Gf(fe,"href")){Ft(Ye,F);continue}if(de.forceKeepAttr)continue;if(!de.keepAttr){Ft(Ye,F);continue}if(!pe&&Vt(/\/>/i,fe)){Ft(Ye,F);continue}$e&&zs([G,j,C],Ue=>{fe=fr(fe,Ue," ")});const je=st(F.nodeName);if(!Ke(je,Ee,fe)){Ft(Ye,F);continue}if(b&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!ot)switch(h.getAttributeType(je,Ee)){case"TrustedHTML":{fe=E(fe);break}case"TrustedScriptURL":{fe=b.createScriptURL(fe);break}}if(fe!==Be)try{ot?F.setAttributeNS(ot,Ye,fe):F.setAttribute(Ye,fe),Xi(F)?ft(F):Vf(t.removed)}catch{Ft(Ye,F)}}se($.afterSanitizeAttributes,F,null)},it=function(F){let ee=null;const de=Yi(F);for(se($.beforeSanitizeShadowDOM,F,null);ee=de.nextNode();)if(se($.uponSanitizeShadowNode,ee,null),Ae(ee),et(ee),Yt(ee.content)&&it(ee.content),(w?w(ee):ee.nodeType)===Qi.element){const Oe=l?l(ee):ee.shadowRoot;Yt(Oe)&&(qe(Oe),it(Oe))}se($.afterSanitizeShadowDOM,F,null)},qe=function(F){const ee=w?w(F):F.nodeType;if(ee===Qi.element){const Oe=l?l(F):F.shadowRoot;Yt(Oe)&&(qe(Oe),it(Oe))}const de=a?a(F):F.childNodes;if(!de)return;const ze=[];zs(de,Oe=>{dr(ze,Oe)});for(const Oe of ze)qe(Oe);if(ee===Qi.element){const Oe=k?k(F):null;if(typeof Oe=="string"&&st(Oe)==="template"){const Ye=F.content;Yt(Ye)&&qe(Ye)}}};return t.sanitize=function(ye){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ee=null,de=null,ze=null,Oe=null;if(_t=!ye,_t&&(ye="<!-->"),typeof ye!="string"&&!W(ye)&&(ye=Cx(ye),typeof ye!="string"))throw pr("dirty is not a string, aborting");if(!t.isSupported)return ye;if(oe||Pi(F),t.removed=[],typeof ye=="string"&&(ve=!1),ve){const le=k?k(ye):ye.nodeName;if(typeof le=="string"){const Ee=st(le);if(!Q[Ee]||re[Ee])throw pr("root node is forbidden and cannot be sanitized in-place")}if(Xi(ye))throw pr("root node is clobbered and cannot be sanitized in-place");qe(ye)}else if(W(ye))ee=di("<!---->"),de=ee.ownerDocument.importNode(ye,!0),de.nodeType===Qi.element&&de.nodeName==="BODY"||de.nodeName==="HTML"?ee=de:ee.appendChild(de),qe(de);else{if(!ue&&!$e&&!Re&&ye.indexOf("<")===-1)return b&&Ie?E(ye):ye;if(ee=di(ye),!ee)return ue?null:Ie?L:""}ee&&Se&&ft(ee.firstChild);const Ye=Yi(ve?ye:ee);for(;ze=Ye.nextNode();)Ae(ze),et(ze),Yt(ze.content)&&it(ze.content);if(ve)return $e&&Fi(ye),ye;if(ue){if($e&&Fi(ee),me)for(Oe=A.call(ee.ownerDocument);ee.firstChild;)Oe.appendChild(ee.firstChild);else Oe=ee;return(O.shadowroot||O.shadowrootmode)&&(Oe=U.call(s,Oe,!0)),Oe}let ot=Re?ee.outerHTML:ee.innerHTML;return Re&&Q["!doctype"]&&ee.ownerDocument&&ee.ownerDocument.doctype&&ee.ownerDocument.doctype.name&&Vt(Ox,ee.ownerDocument.doctype.name)&&(ot="<!DOCTYPE "+ee.ownerDocument.doctype.name+`>
158
- `+ot),$e&&zs([G,j,C],le=>{ot=fr(ot,le," ")}),b&&Ie?E(ot):ot},t.setConfig=function(){let ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Pi(ye),oe=!0},t.clearConfig=function(){Et=null,oe=!1},t.isValidAttribute=function(ye,F,ee){Et||Pi({});const de=st(ye),ze=st(F);return Ke(de,ze,ee)},t.addHook=function(ye,F){typeof F=="function"&&dr($[ye],F)},t.removeHook=function(ye,F){if(F!==void 0){const ee=_x($[ye],F);return ee===-1?void 0:vx($[ye],ee,1)[0]}return Vf($[ye])},t.removeHooks=function(ye){$[ye]=[]},t.removeAllHooks=function(){$=tp()},t}var Fx=W_();const Hx=/[^\n]*?(?:[。!?…]+|[.!?]+(?=\s|$)|\n+|$)/gu,$x=/[。!?…]$|[.!?]$/;function zx(e,t){for(let i=e.parentNode;i&&i!==t;i=i.parentNode){const s=i.nodeName;if(s==="PRE"||s==="SCRIPT"||s==="STYLE"||s==="CODE")return!0}return!1}function Ux(e){if(!e)return[];if(e.querySelector("span.tts-sent"))return Wx(e);const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:r=>r.nodeValue&&r.nodeValue.trim()&&!zx(r,e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),i=[];for(;t.nextNode();)i.push(t.currentNode);const s=[],n=[];let c=0;for(const r of i){const o=r.ownerDocument.createDocumentFragment();for(const f of r.nodeValue.matchAll(Hx)){const v=f[0];if(v==="")continue;const h=r.ownerDocument.createElement("span");h.className="tts-sent",h.textContent=v,o.appendChild(h),(n[c]||(n[c]=[])).push(h),s[c]=(s[c]||"")+v,$x.test(v)&&c++}r.parentNode.replaceChild(o,r)}const m=[];return s.forEach((r,o)=>{const f=(r||"").replace(/\s+/g," ").trim();if(!f)return;const v=m.length;m.push(f);for(const h of n[o]||[])h.dataset.tts=String(v)}),m}function Wx(e){const t=[];return e.querySelectorAll("span.tts-sent[data-tts]").forEach(i=>{const s=Number(i.dataset.tts);t[s]=(t[s]||"")+i.textContent}),t.map(i=>(i||"").replace(/\s+/g," ").trim())}const V_="tw_doc_rate",ta=[1,1.25,1.5],ip=()=>{const e=Number(localStorage.getItem(V_));return ta.includes(e)?e:1};function Vx(){const e=typeof window<"u"&&window.speechSynthesis||null,[t,i]=N.useState({playing:!1,paused:!1,idx:-1}),[s,n]=N.useState(ip),c=N.useRef({sentences:[],idx:-1,playing:!1,rate:ip()});c.current.rate=s;const m=()=>((e==null?void 0:e.getVoices())||[]).find(y=>/^zh/i.test(y.lang))||null,r=y=>{const S=c.current;if(!e)return;if(y<0||y>=S.sentences.length){o();return}S.idx=y,i({playing:!0,paused:!1,idx:y});const g=new SpeechSynthesisUtterance(S.sentences[y]);g.rate=S.rate;const a=m();a?(g.voice=a,g.lang=a.lang):g.lang="zh-CN";const u=()=>{S.playing&&S.idx===y&&r(y+1)};g.onend=u,g.onerror=u,e.speak(g)},o=()=>{const y=c.current;y.playing=!1,y.idx=-1,e&&e.cancel(),i({playing:!1,paused:!1,idx:-1})},f=y=>{if(!e||!y||!y.length)return;e.cancel();const S=c.current;if(S.sentences=y,S.playing=!0,S.idx=-1,i({playing:!0,paused:!1,idx:-1}),e.getVoices().length){r(0);return}const g=()=>{e.removeEventListener("voiceschanged",g),S.playing&&S.idx===-1&&r(0)};e.addEventListener("voiceschanged",g),setTimeout(g,300)},v=()=>{e&&c.current.playing&&(e.pause(),i(y=>({...y,paused:!0})))},h=()=>{e&&c.current.playing&&(e.resume(),i(y=>({...y,paused:!1})))},p=()=>{const y=ta[(ta.indexOf(s)+1)%ta.length]||1;localStorage.setItem(V_,String(y)),c.current.rate=y,n(y);const S=c.current;e&&S.playing&&S.idx>=0&&(e.cancel(),r(S.idx))};return N.useEffect(()=>()=>{c.current.playing=!1,e&&e.cancel()},[e]),{supported:!!e,playing:t.playing,paused:t.paused,idx:t.idx,rate:s,play:f,pause:v,resume:h,stop:o,cycleRate:p}}const sp=6,Gx=500,rp=10,Kx=300,np=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y);function qx({url:e,name:t}){const[i,s]=N.useState({s:1,x:0,y:0}),[n,c]=N.useState(""),[m,r]=N.useState(!1),o=N.useRef(i);o.current=i;const f=N.useRef(null),v=N.useRef(null),h=N.useRef(null),p=N.useRef(new Map),y=N.useRef(null),S=N.useRef(null),g=N.useRef(null),a=N.useRef({moved:!1,lpFired:!1,pinched:!1}),u=N.useRef(0);if(!e)return _.jsx("div",{className:"doc-image-msg",children:D("imageviewer.loadFailed")});const l=(T,A,P)=>{const U=v.current,$=h.current;if(!U||!$)return{x:A,y:P};const G=Math.max(0,($.offsetWidth*T-U.clientWidth)/2),j=Math.max(0,($.offsetHeight*T-U.clientHeight)/2);return{x:Math.min(G,Math.max(-G,A)),y:Math.min(j,Math.max(-j,P))}},d=(T,A,P)=>{if(T=Math.min(sp,Math.max(1,T)),T<=1){s({s:1,x:0,y:0});return}const U=l(T,A,P);s({s:T,x:U.x,y:U.y})},w=T=>d(o.current.s*T,o.current.x,o.current.y),k=()=>{g.current&&(clearTimeout(g.current),g.current=null)},b=T=>{c(T),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>c(""),2500)},L=()=>{r(!1);const T=document.createElement("a");T.href=e,T.download=t||"image",document.body.appendChild(T),T.click(),T.remove(),b(D("imageviewer.saved"))},x=async()=>{var T;r(!1);try{const A=await(await fetch(e)).blob(),P=new File([A],t||"image",{type:tl(t)||A.type||"application/octet-stream"});if((T=navigator.canShare)!=null&&T.call(navigator,{files:[P]})){await navigator.share({files:[P]});return}}catch{return}b(D("imageviewer.shareUnsupported"))},E=T=>{var P,U;(U=(P=T.currentTarget).setPointerCapture)==null||U.call(P,T.pointerId),p.current.set(T.pointerId,{x:T.clientX,y:T.clientY});const A=p.current.size;if(A===2){k(),a.current.pinched=!0;const[$,G]=[...p.current.values()];y.current={dist:np($,G)||1,s:o.current.s}}else A===1&&(a.current.moved=!1,a.current.lpFired=!1,a.current.pinched=!1,S.current={x:T.clientX,y:T.clientY},k(),g.current=setTimeout(()=>{g.current=null,p.current.size===1&&!a.current.moved&&(a.current.lpFired=!0,r(!0))},Gx))},R=T=>{if(p.current.has(T.pointerId)){if(p.current.set(T.pointerId,{x:T.clientX,y:T.clientY}),p.current.size>=2&&y.current){const[A,P]=[...p.current.values()];d(y.current.s*(np(A,P)/y.current.dist),o.current.x,o.current.y);return}if(S.current){const A=T.clientX-S.current.x,P=T.clientY-S.current.y;(Math.abs(A)>rp||Math.abs(P)>rp)&&(a.current.moved=!0,k()),o.current.s>1&&(S.current={x:T.clientX,y:T.clientY},d(o.current.s,o.current.x+A,o.current.y+P))}}},I=T=>{if(k(),p.current.delete(T.pointerId),p.current.size===1){y.current=null;const[A]=[...p.current.values()];S.current={x:A.x,y:A.y}}else if(p.current.size===0){if(!a.current.moved&&!a.current.lpFired&&!a.current.pinched){const P=T.timeStamp||0;P-u.current<Kx?(u.current=0,o.current.s>1?d(1,0,0):d(2,0,0)):u.current=P}y.current=null,S.current=null,a.current={moved:!1,lpFired:!1,pinched:!1}}};return _.jsxs("div",{ref:v,className:"doc-image-wrap",onPointerDown:E,onPointerMove:R,onPointerUp:I,onPointerCancel:I,onContextMenu:T=>T.preventDefault(),children:[_.jsx("img",{ref:h,className:"doc-image",src:e,alt:t,draggable:!1,style:{transform:`translate(${i.x}px, ${i.y}px) scale(${i.s})`}}),_.jsxs("div",{className:"doc-image-zoom",onPointerDown:T=>T.stopPropagation(),children:[_.jsx("button",{onClick:()=>w(1/1.5),disabled:i.s<=1,"aria-label":D("imageviewer.zoomOut"),children:"−"}),_.jsxs("span",{className:"doc-image-zoom-val","aria-hidden":"true",children:[Math.round(i.s*100),"%"]}),_.jsx("button",{onClick:()=>w(1.5),disabled:i.s>=sp,"aria-label":D("imageviewer.zoomIn"),children:"+"})]}),n&&_.jsx("div",{className:"doc-image-note",role:"status",children:n}),_.jsx(uh,{open:m,title:t||D("imageviewer.imageTitle"),actions:[{key:"save",label:D("imageviewer.saveImage"),onClick:L},{key:"share",label:D("imageviewer.shareImage"),onClick:x}],onClose:()=>r(!1)})]})}const Wl=_s.length-1;function Yx({type:e,name:t,content:i}){const[s,n]=N.useState(()=>sy()),c=N.useRef(null),m=Vx();ch(m.playing&&!m.paused);const r=N.useMemo(()=>e==="markdown"?Fx.sanitize(rt.parse(i||"")):"",[e,i]);if(N.useEffect(()=>{m.stop()},[r]),N.useEffect(()=>{var y;const h=c.current;if(!h||(h.querySelectorAll(".tts-active").forEach(S=>S.classList.remove("tts-active")),m.idx<0))return;const p=h.querySelectorAll(`.tts-sent[data-tts="${m.idx}"]`);p.forEach(S=>S.classList.add("tts-active")),(y=p[0])==null||y.scrollIntoView({block:"center",behavior:"smooth"})},[m.idx]),e==="image")return _.jsx(qx,{url:i,name:t});if(e==="html")return _.jsx("iframe",{className:"doc-iframe",sandbox:"allow-scripts",srcDoc:i||"",title:t});const o=h=>{const p=Math.min(Wl,Math.max(0,s+h));n(p),ry(p)};if(e==="text")return _.jsxs("div",{className:"doc-md-wrap",children:[_.jsx("div",{className:"doc-zoom",children:_.jsxs("div",{className:"doc-fonts",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":D("doc.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=Wl,"aria-label":D("doc.fontLarger"),children:"A+"})]})}),_.jsx("pre",{className:"doc-text",style:{fontSize:`${_s[s]}px`},children:i||""})]});const f=()=>{if(m.playing){m.paused?m.resume():m.pause();return}const h=Ux(c.current);h.length&&m.play(h)},v=m.playing&&!m.paused;return _.jsxs("div",{className:"doc-md-wrap",children:[_.jsxs("div",{className:"doc-zoom",children:[m.supported&&_.jsxs("div",{className:"doc-tts",children:[_.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:f,"aria-label":v?D("doc.pauseRead"):m.paused?D("doc.resumeRead"):D("doc.read"),children:v?_.jsx(t1,{}):_.jsx(e1,{})}),_.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:m.stop,disabled:!m.playing,"aria-label":D("doc.stopRead"),children:_.jsx(i1,{})}),_.jsxs("button",{className:"doc-zoom-btn",onClick:m.cycleRate,"aria-label":D("doc.rate"),children:[m.rate,"×"]})]}),_.jsxs("div",{className:"doc-fonts",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":D("doc.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=Wl,"aria-label":D("doc.fontLarger"),children:"A+"})]})]}),_.jsx("div",{ref:c,className:"doc-md",style:{fontSize:`${_s[s]}px`},dangerouslySetInnerHTML:{__html:r}})]})}function Xx({open:e,pane:t,windowId:i,tabs:s,active:n,onActivate:c,onCloseTab:m,onMinimize:r,onOpenDoc:o,pendingShare:f,onPendingConsumed:v}){const h=s.find($=>$.key===n)||s[0],[p,y]=N.useState("recent"),[S,g]=N.useState(null),[a,u]=N.useState(0),l=h.type==="home",d=N.useRef(null),w=N.useRef(S);w.current=S;const k=N.useRef(n);k.current=n;const b=N.useRef(i);b.current=i;const L=N.useRef(r);L.current=r;const x=N.useRef(c);x.current=c;const E=N.useRef(n),R=N.useRef(0),I=N.useRef([]),T=()=>{window.history.pushState({fileOverlay:!0},""),R.current+=1},A=$=>{e&&$!==w.current&&(I.current.push({type:"nav",prev:w.current}),T()),g($),rf(i,$)},P=N.useRef(e);N.useEffect(()=>{const $=E.current;E.current=n;const G=P.current;P.current=e,e&&G&&$==="home"&&n!=="home"&&(I.current.push({type:"doc"}),T())},[n,e]),N.useEffect(()=>{if(!e)return;I.current=[],R.current=0,T();const $=()=>{var j,C;R.current=Math.max(0,R.current-1);const G=I.current.pop();if((G==null?void 0:G.type)==="doc"){(j=x.current)==null||j.call(x,"home");return}if((G==null?void 0:G.type)==="nav"){g(G.prev),G.prev&&rf(b.current,G.prev);return}(C=L.current)==null||C.call(L)};return window.addEventListener("popstate",$),()=>{window.removeEventListener("popstate",$),R.current>0&&(window.history.go(-R.current),R.current=0)}},[e]);const U=async()=>{try{const{cwd:$}=await rr(t);$&&g($)}catch{}};return N.useEffect(()=>{f&&y("browse")},[f]),N.useEffect(()=>{e&&u($=>$+1)},[e]),N.useEffect(()=>{if(!e){d.current=null;return}if(d.current===i)return;d.current=i,I.current=[],y("browse");let $=!1;return(async()=>{const G=jw(i);let j=null;if(G)try{await Wg(G),j=G}catch{}if(!j&&t)try{const{cwd:C}=await rr(t);j=C}catch{}!$&&j&&g(j)})(),()=>{$=!0}},[e,i,t]),io.createPortal(_.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[_.jsxs("div",{className:"file-tabs",children:[_.jsx("div",{className:"file-tabs-scroll",children:s.map($=>_.jsxs("div",{className:`file-tab ${$.key===n?"active":""}`,children:[_.jsx("button",{className:"file-tab-label",onClick:()=>c($.key),children:$.key==="home"?_.jsxs(_.Fragment,{children:[_.jsx(Kn,{}),D("filemanager.files")]}):$.name}),$.key!=="home"&&_.jsx("button",{className:"file-tab-x","aria-label":D("filemanager.closeTab"),onClick:()=>m($.key),children:"✕"})]},$.key))}),_.jsx("button",{className:"file-min","aria-label":D("filemanager.minimize"),title:D("filemanager.minimize"),onClick:r,children:_.jsx(Bs,{})})]}),_.jsx("div",{className:"file-body",children:l?_.jsxs("div",{className:"home-pane",children:[_.jsxs("div",{className:"file-seg",role:"tablist",children:[_.jsxs("button",{className:`file-seg-btn ${p==="recent"?"on":""}`,role:"tab","aria-selected":p==="recent",onClick:()=>y("recent"),children:[_.jsx(Xg,{}),D("filemanager.recent")]}),_.jsxs("button",{className:`file-seg-btn ${p==="browse"?"on":""}`,role:"tab","aria-selected":p==="browse",onClick:()=>y("browse"),children:[_.jsx(Kn,{}),D("filemanager.directory")]})]}),p==="recent"?_.jsx(Lb,{onOpenDoc:o,refreshKey:a}):_.jsx(L_,{path:S,onNavigate:A,onOpenDoc:o,onJumpToCwd:t?U:null,refreshKey:a,pendingFile:f,onPendingConsumed:v})]}):_.jsx(Yx,{type:h.type,name:h.name,content:h.content})})]}),document.body)}function Jx(e){if(!e)return[];const t=[];let i=null,s=null;for(const n of e.split(`
159
- `)){if(n.startsWith("diff --git")){const m=n.match(/ b\/(.*)$/);i={path:m?m[1]:n.slice(11),hunks:[]},t.push(i),s=null;continue}if(!i)continue;if(n.startsWith("@@")){s={header:n,lines:[]},i.hunks.push(s);continue}if(!s)continue;const c=n[0];c==="+"?s.lines.push({type:"add",text:n.slice(1)}):c==="-"?s.lines.push({type:"del",text:n.slice(1)}):c===" "&&s.lines.push({type:"ctx",text:n.slice(1)})}return t}const Zx=e=>String(e||"").replace(/\/+$/,"").split("/").pop()||e;function Ba(e,t){const i=(e&&e!==" "?e:t)||"?";return i==="?"?"?":i}function Qx({open:e,pane:t,windowId:i,inset:s=0,onClose:n}){const c=N.useRef(!0);N.useEffect(()=>()=>{c.current=!1},[]);const[m,r]=N.useState([]),[o,f]=N.useState(null),[v,h]=N.useState([]),p=v.length?v[v.length-1]:null,[y,S]=N.useState(!1),[g,a]=N.useState(null),u=N.useRef(i);N.useEffect(()=>{u.current=i},[i]);const[l,d]=N.useState(null),[w,k]=N.useState(null),[b,L]=N.useState(null),[x,E]=N.useState(null),[R,I]=N.useState(20),[T,A]=N.useState(!1),[P,U]=N.useState({changes:!0,commits:!0}),[$,G]=N.useState(!1),j=N.useRef(null),[C,M]=N.useState(null),[B,H]=N.useState(null),[Y,V]=N.useState(null),te=N.useRef(v);te.current=v;const Q=N.useRef(y);Q.current=y;const z=N.useRef(n);z.current=n;const O=N.useRef(0),J=()=>{window.history.pushState({gitOverlay:!0},""),O.current+=1},K=ie=>{J(),h(ae=>[...ae,ie])},re=()=>{J(),S(!0)};N.useEffect(()=>{if(!e)return;J();const ie=()=>{var ae;if(O.current=Math.max(0,O.current-1),Q.current){S(!1);return}if(te.current.length){h(ve=>ve.slice(0,-1));return}(ae=z.current)==null||ae.call(z)};return window.addEventListener("popstate",ie),()=>{window.removeEventListener("popstate",ie),O.current>0&&(window.history.go(-O.current),O.current=0)}},[e]),N.useEffect(()=>{if(!e)return;let ie=!1;h([]),E(null),H(null),V(null);const ae=rh(i);return ae.length?(r(ae),f(ve=>ve&&ae.includes(ve)?ve:ae[0]),()=>{ie=!0}):(r([]),f(null),(async()=>{try{if(!t)return;const{cwd:ve}=await rr(t);if(!ve)return;const{repos:xe=[]}=await df(ve);if(ie||!xe.length)return;const we=cf(i,xe.map(dt=>dt.path));if(ie)return;r(we),f(we[0]??null)}catch(ve){if(ie)return;(ve==null?void 0:ve.message)==="outside home"?V(D("git.outsideRoots")):H(D("git.errReadRepo"))}})(),()=>{ie=!0})},[e,t,i]),N.useEffect(()=>{if(!e||!t)return;let ie=!1;return rr(t).then(({cwd:ae})=>{!ie&&ae&&a(ae)}).catch(()=>{}),()=>{ie=!0}},[e,t]),N.useEffect(()=>{if(!e||!o){d(null),k(null);return}let ie=!1;return d(null),k(null),L(null),E(null),I(20),H(null),V(null),(async()=>{try{const[ae,ve]=await Promise.all([Py(o),jy(o)]);if(ie)return;d(ae.changes??[]),k(ve.branches??[])}catch{ie||H(D("git.errLoad"))}})(),()=>{ie=!0}},[e,o]),N.useEffect(()=>{if(!e||!o){L(null);return}let ie=!1;return(async()=>{try{const{commits:ae=[]}=await By(o,{ref:x||void 0,limit:R});ie||L(ae)}catch{ie||L([])}finally{ie||A(!1)}})(),()=>{ie=!0}},[e,o,x,R]);const ne=!o||!p?"":p.kind==="diff"?`${o}|diff|${p.path}|${p.commit||""}|${p.staged?1:0}`:`${o}|commit|${p.hash}`;N.useEffect(()=>{if(!e||!o||!p){M(null);return}let ie=!1;return H(null),M(null),(async()=>{try{let ae;if(p.kind==="diff"){const{diff:ve,truncated:xe}=await Fy(o,{path:p.path,commit:p.commit,staged:p.staged});ae={files:Jx(ve),truncated:xe}}else ae=await Hy(o,p.hash);ie||M({key:ne,payload:ae})}catch{ie||H(D("git.errLoad"))}})(),()=>{ie=!0}},[e,ne]);const be=N.useCallback(()=>{window.history.back()},[]),ge=ie=>{f(ie),h([]),E(null)},ke=async ie=>{window.history.back(),V(null);try{const{repos:ae=[]}=await df(ie);if(!c.current)return;if(!ae.length){V(D("git.noRepoInDir"));return}const ve=ae.map(ut=>ut.path),xe=u.current,we=xe?cf(xe,ve):ve;r(ut=>{const Ze=[...ut];for(const Tt of we)Ze.includes(Tt)||Ze.push(Tt);return Ze});const dt=ve.find(ut=>!m.includes(ut))||ve[0];ge(dt)}catch(ae){if(!c.current)return;(ae==null?void 0:ae.message)==="outside home"?V(D("git.outsideRoots")):H(D("git.errReadDir"))}},Me=ie=>{const ae=fy(i,ie);r(ae),o===ie&&(f(ae[0]??null),h([]),E(null))},pe=(w||[]).find(ie=>ie.current)||null,$e=ie=>{const ae=ie===(pe==null?void 0:pe.name)?null:ie;ae!==x&&(E(ae),L(null),I(20))},Je=ie=>U(ae=>({...ae,[ie]:!ae[ie]})),Re=b!=null&&b.length>=R,oe=ie=>{if(!Re||T)return;const ae=ie.currentTarget;ae.scrollHeight-ae.scrollTop-ae.clientHeight<80&&(A(!0),I(ve=>ve+20))},Se=x||(pe==null?void 0:pe.name)||null,ue=!!x&&x!==(pe==null?void 0:pe.name),me=x?(w||[]).find(ie=>ie.name===x):pe,Ie=C&&C.key===ne?C.payload:null,X=!!p,Te=(p==null?void 0:p.kind)==="commit"?D("git.commitDetail"):(p==null?void 0:p.kind)==="diff"?p.path||D("git.diff"):"";return io.createPortal(_.jsxs("div",{className:`file-sheet git-sheet ${e?"open":""}`,"aria-hidden":!e,style:{"--kb-inset":`${s}px`},children:[_.jsxs("div",{className:"file-tabs git-head",children:[X?_.jsxs("div",{className:"git-drill-head",children:[_.jsx("button",{className:"git-back","aria-label":D("common.back"),title:D("common.back"),onClick:be,children:"‹"}),_.jsxs("span",{className:"git-drill-title",children:[_.jsx(Qg,{}),_.jsx("span",{className:"git-title-text",children:Te})]})]}):_.jsxs("div",{className:"git-tabs-scroll",children:[_.jsx("button",{className:"git-tab-add","aria-label":D("git.bindRepo"),title:D("git.bindRepo"),onClick:re,children:"+"}),m.map(ie=>_.jsxs("div",{className:`git-tab ${ie===o?"active":""}`,children:[_.jsx("button",{className:"git-tab-label",onClick:()=>ge(ie),children:Zx(ie)}),_.jsx("button",{className:"git-tab-x","aria-label":D("common.close"),title:D("common.close"),onClick:()=>Me(ie),children:"✕"})]},ie))]}),_.jsx("button",{className:"file-min","aria-label":D("git.collapse"),title:D("git.collapse"),onClick:()=>n==null?void 0:n(),children:_.jsx(Bs,{})})]}),!X&&o&&_.jsxs("div",{className:"git-branch-bar",children:[_.jsxs("span",{className:"git-branch-bar-name",children:[_.jsx("span",{className:"git-branch-glyph",children:"⎇"})," ",Se||"—",!ue&&Se&&_.jsx("span",{className:"git-branch-cur-tag",children:D("git.currentBranch")}),me&&(me.ahead||me.behind)?_.jsxs("span",{className:"git-branch-bar-track",children:[me.ahead?_.jsxs("span",{className:"git-ahead",children:["↑",me.ahead]}):null,me.behind?_.jsxs("span",{className:"git-behind",children:["↓",me.behind]}):null]}):null]}),_.jsxs("div",{className:"git-branch-dd",children:[_.jsxs("button",{className:`git-branch-trigger ${ue?"other":""}`,onClick:()=>G(ie=>!ie),"aria-haspopup":"listbox","aria-expanded":$,title:D("git.switchViewedBranch"),children:[_.jsx("span",{className:"git-branch-trigger-name",children:D("git.switchBranch")}),_.jsx("span",{className:"git-branch-caret",children:_.jsx(Bs,{})})]}),$&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"git-dd-backdrop",onClick:()=>G(!1)}),_.jsxs("div",{className:"git-dd-menu",role:"listbox",children:[(w||[]).length===0&&_.jsx("div",{className:"git-empty",children:D("git.noBranches")}),(w||[]).map(ie=>{const ae=x?ie.name===x:ie.current;return _.jsxs("button",{role:"option","aria-selected":ae,className:`git-dd-item ${ie.current?"current":""} ${ae?"viewing":""}`,onClick:()=>{$e(ie.name),G(!1)},children:[_.jsx("span",{className:"git-branch-dot",children:ie.current?"●":""}),_.jsx("span",{className:"git-row-path",children:ie.name}),ie.upstream&&_.jsxs("span",{className:"git-branch-up",children:[ie.upstream,ie.ahead?_.jsxs("span",{className:"git-ahead",children:[" ↑",ie.ahead]}):null,ie.behind?_.jsxs("span",{className:"git-behind",children:[" ↓",ie.behind]}):null]})]},ie.name)})]})]})]})]}),_.jsxs("div",{className:"git-body",children:[B&&_.jsx("div",{className:"git-error",children:B}),Y&&!B&&!X&&_.jsx("div",{className:"git-notice",children:Y}),!o&&!B&&!Y&&_.jsx("div",{className:"git-empty",children:D("git.noRepoBound")}),X&&o&&!B&&_.jsx("div",{className:"git-scroll",children:Ie?p.kind==="diff"?_.jsx(sC,{data:Ie}):_.jsx(iC,{data:Ie,onOpenFile:ie=>K({kind:"diff",path:ie,commit:p.hash})}):_.jsx("div",{className:"git-loading",children:D("common.loading")})}),!X&&o&&!B&&_.jsxs(_.Fragment,{children:[_.jsx(op,{variant:"top",title:D("git.changes"),count:l==null?void 0:l.length,expanded:P.changes,onToggle:()=>Je("changes"),children:l==null?_.jsx("div",{className:"git-loading",children:D("common.loading")}):_.jsx(eC,{data:{changes:l},onOpenFile:(ie,ae)=>K({kind:"diff",path:ie,staged:ae})})}),_.jsx(op,{variant:"mid",title:D("git.commits"),subtitle:ue?Se:null,expanded:P.commits,onToggle:()=>Je("commits"),bodyRef:j,onScroll:oe,children:b==null?_.jsx("div",{className:"git-loading",children:D("common.loading")}):_.jsxs(_.Fragment,{children:[_.jsx(tC,{data:{commits:b},onOpen:ie=>K({kind:"commit",hash:ie})}),Re&&_.jsx("div",{className:"git-more",children:D(T?"common.loading":"git.pullToLoadMore")})]})})]})]}),_.jsx(ro,{open:y,seedCwd:g,pane:t,inset:s,hint:D("git.pickerHint"),onPick:ke,onClose:()=>window.history.back()})]}),document.body)}function op({variant:e,title:t,subtitle:i,count:s,expanded:n,onToggle:c,onScroll:m,bodyRef:r,children:o}){return _.jsxs("div",{className:`git-section git-section--${e} ${n?"open":""}`,children:[_.jsxs("button",{className:"git-section-head",onClick:c,"aria-expanded":n,children:[_.jsx("span",{className:"git-section-caret",children:_.jsx(Bs,{})}),_.jsx("span",{className:"git-section-title",children:t}),i&&_.jsx("span",{className:"git-section-sub",children:i}),s!=null&&_.jsx("span",{className:"git-section-count",children:s})]}),n&&_.jsx("div",{className:"git-section-body",ref:r,onScroll:m,children:o})]})}function eC({data:e,onOpenFile:t}){const i=(e==null?void 0:e.changes)??[];return i.length?_.jsx("div",{className:"git-list",children:i.map((s,n)=>{const c=!!(s.x&&s.x!==" "&&s.x!=="?");return _.jsxs("button",{className:"git-row",onClick:()=>t(s.path,c),children:[_.jsx("span",{className:`git-badge git-badge-${Ba(s.x,s.y).toLowerCase().replace("?","q")}`,children:Ba(s.x,s.y)}),_.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${n}`)})}):_.jsx("div",{className:"git-empty",children:D("git.cleanTree")})}function tC({data:e,onOpen:t}){const i=(e==null?void 0:e.commits)??[];return i.length?_.jsx("div",{className:"git-list",children:i.map(s=>_.jsxs("button",{className:"git-row git-commit-row",onClick:()=>t(s.hash),children:[_.jsx("span",{className:"git-hash",children:s.short}),_.jsxs("span",{className:"git-commit-main",children:[_.jsx("span",{className:"git-row-path",children:s.subject}),_.jsxs("span",{className:"git-commit-meta",children:[s.author," · ",s.relDate]})]})]},s.hash))}):_.jsx("div",{className:"git-empty",children:D("git.noCommits")})}function iC({data:e,onOpenFile:t}){if(!e)return null;const i=e.files??[];return _.jsxs("div",{className:"git-commit-detail",children:[e.message&&_.jsx("pre",{className:"git-commit-msg",children:e.message}),_.jsx("div",{className:"git-list",children:i.map((s,n)=>_.jsxs("button",{className:"git-row",onClick:()=>t(s.path),children:[_.jsx("span",{className:`git-badge git-badge-${Ba(s.x,s.y).toLowerCase().replace("?","q")}`,children:Ba(s.x,s.y)}),_.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${n}`))})]})}const ap=_s.length-1;function sC({data:e}){const[t,i]=N.useState(()=>oy()),s=c=>{const m=Math.min(ap,Math.max(0,t+c));i(m),ay(m)};if(!e)return null;const n=e.files??[];return n.length?_.jsxs("div",{className:"git-diff-wrap",style:{fontSize:`${_s[t]}px`},children:[_.jsxs("div",{className:"git-diff-zoom",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(-1),disabled:t<=0,"aria-label":D("git.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(1),disabled:t>=ap,"aria-label":D("git.fontLarger"),children:"A+"})]}),e.truncated&&_.jsx("div",{className:"git-diff-trunc",children:D("git.diffTruncated")}),n.map((c,m)=>_.jsxs("div",{className:"git-diff-file",children:[n.length>1&&_.jsx("div",{className:"git-diff-fname",children:c.path}),_.jsx("div",{className:"git-diff",children:c.hunks.map((r,o)=>_.jsxs("div",{className:"git-diff-hunk-block",children:[_.jsx("div",{className:"git-diff-line git-diff-hunk",children:r.header}),r.lines.map((f,v)=>_.jsxs("div",{className:`git-diff-line git-diff-${f.type}`,children:[f.type==="add"?"+":f.type==="del"?"-":" ",f.text]},v))]},o))})]},`${c.path}-${m}`))]}):_.jsx("div",{className:"git-empty",children:D("git.noDiff")})}function rC(){const e=hS();if(!e.active)return null;const t=e.phase==="sending",i=Math.round((e.pct||0)*100);return io.createPortal(_.jsx("div",{className:"upload-overlay",role:"alertdialog","aria-modal":"true","aria-label":D("upload.title"),children:_.jsxs("div",{className:"upload-card",children:[e.label&&_.jsx("div",{className:"upload-card-label",children:e.label}),t?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"upload-bar",children:_.jsx("div",{className:"upload-bar-fill",style:{width:`${i}%`}})}),_.jsxs("div",{className:"upload-card-sub",children:[i,"%"]})]}):_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"upload-spinner","aria-hidden":"true"}),_.jsx("div",{className:"upload-card-sub",children:D("upload.processing")})]}),_.jsx("button",{type:"button",className:"upload-cancel",onClick:lS,children:D("common.cancel")})]})}),document.body)}const jo=8,lp=12;function nC({path:e,x:t,y:i,onOpen:s,onClose:n}){const c=e.split("/").filter(Boolean).pop()||e,m=N.useRef(null),[r,o]=N.useState(null);return N.useLayoutEffect(()=>{const f=m.current;if(!f)return;const v=f.offsetWidth,h=f.offsetHeight,p=window.innerWidth,y=window.innerHeight,S=Math.min(Math.max(t-v/2,jo),p-v-jo);let g=i+lp;g+h>y-jo&&(g=Math.max(jo,i-lp-h)),o({left:S,top:g})},[t,i,e]),_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"doclink-backdrop",onClick:n}),_.jsxs("div",{ref:m,className:"doclink-pop",style:r?{left:r.left,top:r.top}:{left:0,top:0,visibility:"hidden"},role:"dialog","aria-label":D("doclink.title"),children:[_.jsxs("div",{className:"doclink-name",children:[_.jsx(Kn,{}),c]}),_.jsx("div",{className:"doclink-path",children:e}),_.jsxs("div",{className:"doclink-actions",children:[_.jsx("button",{className:"doclink-cancel",onClick:n,children:D("common.cancel")}),_.jsx("button",{className:"doclink-open",onClick:()=>s(e),children:D("common.open")})]})]})]})}const oC=()=>`${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`;function aC(e){const t=(e??"").trim();return t?{id:oC(),text:t}:null}function lC(e,t,i){const s=[...e];if(t<0||t>=s.length||i<0||i>=s.length||t===i)return s;const[n]=s.splice(t,1);return s.splice(i,0,n),s}function cC({open:e,session:t,window:i,onClose:s,onSend:n,onCountChange:c}){const[m,r]=N.useState([]),[o,f]=N.useState(""),[v,h]=N.useState(null),[p,y]=N.useState(null),S=N.useRef(null),g=N.useRef({head:"",tail:""}),a=N.useRef(null),u=N.useRef(!1),l=N.useRef({active:!1}),d=C=>{lf(t,i,C),r(C),c==null||c(C.length)},w=C=>{C&&(C.style.height="auto",C.style.height=`${C.scrollHeight+2}px`)};N.useEffect(()=>{if(!e)return;const C=Ug(t,i);r(C),c==null||c(C.length),f(""),h(null)},[e,t,i]);const b=C_({onText:C=>{if(u.current){u.current=!1;return}const{head:M,tail:B}=g.current;f(M+C+B),a.current=M.length+C.length}}),L=E_(),x=b.state==="recording"||b.state==="finalizing";ch(x),N.useEffect(()=>{if(b.state!=="recording"&&b.state!=="finalizing"||u.current)return;const{head:C,tail:M}=g.current;f(C+b.partial+M),a.current=C.length+b.partial.length},[b.partial,b.state]),N.useLayoutEffect(()=>{const C=S.current;if(!C||(w(C),a.current==null))return;const M=a.current;if(a.current=null,document.activeElement===C)try{C.setSelectionRange(M,M)}catch{}},[o]);const E=()=>{if(x){b.stop();return}const C=S.current,M=C?C.selectionStart:o.length;g.current={head:o.slice(0,M),tail:o.slice(M)},b.start()},R=()=>{x&&(u.current=!0,b.stop())},I=()=>{R();const C=o.trim();if(C){if(v)d(m.map(M=>M.id===v?{...M,text:C}:M));else{const M=aC(C);M&&d([...m,M])}f(""),h(null)}},T=C=>{h(C.id),f(C.text),requestAnimationFrame(()=>{var M;return(M=S.current)==null?void 0:M.focus()})},A=()=>{h(null),f("")},P=C=>{d(m.filter(M=>M.id!==C)),C===v&&A()},U=(C,M)=>{var B,H;C.cancelable&&C.preventDefault(),(H=(B=C.currentTarget).setPointerCapture)==null||H.call(B,C.pointerId),l.current={active:!0,pointerId:C.pointerId,id:M},y(M)},$=C=>{var V;const M=l.current;if(!M.active||C.pointerId!==M.pointerId)return;const B=(V=C.currentTarget.closest(".idea-list"))==null?void 0:V.querySelectorAll("[data-idea]");if(!B||!B.length)return;const H=C.clientY;let Y=B.length-1;for(let te=0;te<B.length;te++){const Q=B[te].getBoundingClientRect();if(H<Q.top+Q.height/2){Y=te;break}}r(te=>{const Q=te.findIndex(z=>z.id===M.id);return Q<0||Q===Y?te:lC(te,Q,Y)})},G=C=>{const M=l.current;!M.active||C.pointerId!==M.pointerId||(l.current={active:!1},y(null),r(B=>(lf(t,i,B),B)))};if(!e)return null;const j=v!=null;return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:s}),_.jsxs("div",{className:"idea-panel",role:"dialog","aria-label":D("idea.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsxs("span",{className:"cmd-title",children:[D("idea.title"),i?` · ${i}`:"",m.length>0&&_.jsx("span",{className:"idea-head-count",children:m.length})]}),_.jsx("button",{className:"cmd-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:`idea-compose${x?" recording":""}`,children:[_.jsx("textarea",{ref:S,className:"idea-input",rows:1,placeholder:D(j?"idea.editPlaceholder":"idea.addPlaceholder"),value:o,readOnly:x,onChange:C=>f(C.target.value)}),j&&_.jsx("button",{className:"idea-cancel",onClick:A,children:D("common.cancel")}),L&&_.jsx(y_,{active:x,disabled:b.state==="requesting",onToggle:E}),_.jsx("button",{className:"idea-act",onClick:I,disabled:!o.trim(),"aria-label":D(j?"common.save":"idea.add"),children:j?_.jsx(Yg,{}):_.jsx(qg,{})})]}),_.jsx("div",{className:"idea-list",children:m.length===0?_.jsx("div",{className:"cmd-empty",children:D("idea.empty")}):m.map(C=>_.jsxs("div",{"data-idea":C.id,className:`idea-row${C.id===p?" dragging":""}${C.id===v?" editing":""}`,children:[_.jsx("button",{type:"button",className:"idea-handle","aria-label":D("idea.dragSort"),onPointerDown:M=>U(M,C.id),onPointerMove:$,onPointerUp:G,onPointerCancel:G,children:"≡"}),_.jsx("span",{className:"idea-text",onClick:()=>T(C),children:C.text}),_.jsx("button",{className:"idea-send",onClick:()=>n==null?void 0:n(C.text),"aria-label":D("idea.fillInput"),children:D("idea.send")}),_.jsx("button",{className:"idea-del",onClick:()=>P(C.id),"aria-label":D("common.delete"),children:"✕"})]},C.id))})]})]})}function uC({open:e,onClose:t}){return e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:t}),_.jsxs("div",{className:"changelog-panel",role:"dialog","aria-label":D("changelog.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:D("changelog.title")}),_.jsx("button",{className:"cmd-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"changelog-list",children:Fc.map(i=>{var c,m;const s=i.items[Tr()]||i.items.en||i.items.zh||[],n=i.version?`v${i.version}`:((c=i.label)==null?void 0:c[Tr()])||((m=i.label)==null?void 0:m.en);return _.jsxs("div",{className:"rel",children:[_.jsxs("div",{className:"rel-date",children:[n&&_.jsx("span",{className:"rel-ver",children:n}),_.jsx("span",{className:"rel-day",children:i.date})]}),_.jsx("ul",{className:"rel-items",children:s.map((r,o)=>_.jsx("li",{children:r},o))})]},i.version||i.date)})})]})]}):null}function hC(){const[e,t]=N.useState(0);return N.useEffect(()=>{const i=window.visualViewport;if(!i)return;const s=()=>{const n=window.innerHeight-i.height-i.offsetTop;t(Math.max(0,Math.round(n)))};return s(),i.addEventListener("resize",s),i.addEventListener("scroll",s),()=>{i.removeEventListener("resize",s),i.removeEventListener("scroll",s)}},[]),e}function cp(e){history.replaceState(null,"",`#${encodeURIComponent(e)}`)}const Fo=e=>{try{return decodeURIComponent(e)}catch{return e}};function up(){const e=location.hash.replace(/^#/,""),t=e.match(/^\/s\/([^/]*)\/w\/([^/]*)\/p\/(.*)$/);return t?{session:Fo(t[1]),window:Fo(t[2]),pane:Fo(t[3])}:{session:Fo(e)||null,window:null,pane:null}}const dC="tmw-share-v1",fC="/__share__/";function pC(e=typeof location<"u"?location.search:""){try{return new URLSearchParams(e).has("share")}catch{return!1}}function mC(){if(typeof location>"u"||typeof history>"u")return;const e=new URL(location.href);e.searchParams.delete("share"),history.replaceState(null,"",e.pathname+e.search+e.hash)}async function gC(){if(typeof caches>"u")return null;let e;try{e=await caches.open(dC)}catch{return null}const t=await e.keys();if(!t.length)return null;const i=t[t.length-1],s=await e.match(i);if(await e.delete(i),!s)return null;const n=await s.blob();let c="shared";try{c=decodeURIComponent(new URL(i.url).pathname.slice(fC.length))||"shared"}catch{}return new File([n],c,{type:n.type||s.headers.get("Content-Type")||""})}const un=(e,t)=>t&&e.some(i=>i.id===t)?t:e[0].id;function _C(){var vh,wh,yh,Sh,bh,xh,Ch,kh,Eh,Lh,Rh,Th,Dh,Ah,Mh,Nh,Ih,Oh,Ph,Bh,jh,Fh;const[e,t]=N.useState(!cr()),[i,s]=N.useState(!1),[n,c]=N.useState(!1),[m,r]=N.useState(!1),[o,f]=N.useState(!1),[v,h]=N.useState(!1),[p,y]=N.useState(null),[S,g]=N.useState(null),[a,u]=N.useState(!1),[l,d]=N.useState(!1),[w,k]=N.useState(null),[b,L]=N.useState(null),[x,E]=N.useState(null),[R,I]=N.useState(null),T=C1(),[A,P]=N.useState(sr),[U,$]=N.useState(La),[G,j]=N.useState([]),[C,M]=N.useState(null),[B,H]=N.useState([]),[Y,V]=N.useState(null),[te,Q]=N.useState(!1),[z,O]=N.useState(!1),[J,K]=N.useState(!0),[re,ne]=N.useState({}),[be,ge]=N.useState([]),[ke,Me]=N.useState(null),[pe,$e]=N.useState(!1),{status:Je,enable:Re}=vb(),[oe,Se]=N.useState(!1),[ue,me]=N.useState(0),[Ie,X]=N.useState(!1),[Te,ie]=N.useState(ly),[ae,ve]=N.useState(null),[xe,we]=N.useState(uy),[dt,ut]=N.useState(ef),[Ze,Tt]=N.useState(Bw),kt=N.useRef(null),Ut=N.useRef(null),It=N.useRef(null),Qe=N.useRef(null),Pe=N.useCallback(()=>t(!0),[]),_t=N.useCallback(async()=>{try{const q=await zy();H(q.previews||[]),V(q.domain??null),Q(!!q.dynamicEnabled)}catch{}},[]);N.useEffect(()=>{_t()},[_t]),N.useEffect(()=>{e||My().then(ve).catch(()=>{})},[e]);const Dt=C?Wy({session:(vh=C.session)==null?void 0:vh.name,windowName:(wh=C.window)==null?void 0:wh.name,windowId:(yh=C.window)==null?void 0:yh.id}):null,De=B.find(q=>q.name===Dt&&q.expiresAt>Date.now())||null,ui=(De==null?void 0:De.expiresAt)??null,si=!!De;N.useEffect(()=>{si||O(!1)},[si]),N.useEffect(()=>{if(ui==null)return;const q=setTimeout(_t,Math.max(0,ui-Date.now())+500);return()=>clearTimeout(q)},[ui,_t]);const hi=N.useCallback(()=>{n?(c(!1),requestAnimationFrame(()=>O(!0))):O(!0)},[n]),At=N.useCallback(async q=>{var Z;if(Dt)try{await Ml(Dt,{dir:q}),Hw((Z=C==null?void 0:C.window)==null?void 0:Z.id,q),await _t(),hi()}catch{}},[Dt,(Sh=C==null?void 0:C.window)==null?void 0:Sh.id,_t,hi]),Oi=N.useCallback(async q=>{Dt&&(await Ml(Dt,{port:q}),await _t(),hi())},[Dt,_t,hi]),qi=N.useCallback(async()=>{if(Dt)try{await Uy(Dt),await _t()}catch{}},[Dt,_t]),st=N.useCallback(async()=>{if(!De)return;const q=De.kind==="dynamic"?{port:De.port}:{dir:De.dir};try{await Ml(De.name,q),await _t()}catch{}},[De==null?void 0:De.name,De==null?void 0:De.kind,De==null?void 0:De.dir,De==null?void 0:De.port,_t]),Et=N.useCallback(()=>{Ow(),c(!1),f(!1),s(!1),M(null),K(!0),t(!0)},[]),yt=hC();$i(z,()=>O(!1)),$i(i,()=>s(!1)),$i(pe,()=>$e(!1)),$i(m,()=>r(!1)),$i(o,()=>f(!1)),$i(v,()=>h(!1)),$i(oe,()=>Se(!1)),$i(!!b,()=>L(null)),$i(n||Ie,()=>{Ie?X(!1):c(!1)}),$i(!!S||!!p,()=>{p?y(null):g(null)});const wi=N.useCallback(async q=>{var he,_e;const Z=C==null?void 0:C.paneId;if(Z)try{await Hc(Z,[q]),(_e=(he=kt.current)==null?void 0:he.wake)==null||_e.call(he)}catch(Le){Le instanceof lt&&Pe()}},[C,Pe]),Pi=N.useCallback(async q=>{var he,_e;const Z=C==null?void 0:C.paneId;if(Z)try{await Zo(Z,q,!1),(_e=(he=kt.current)==null?void 0:he.wake)==null||_e.call(he)}catch(Le){Le instanceof lt&&Pe()}},[C,Pe]),Bi=N.useCallback(async q=>{var Le,Ne,Fe,Ge,yi;const Z=(Le=C==null?void 0:C.window)==null?void 0:Le.id,he=It.current??((Fe=(Ne=kt.current)==null?void 0:Ne.getSize())==null?void 0:Fe.cols);if(!Z||!he)return;const _e=Math.max(20,Math.min(500,he+q));It.current=_e,(yi=(Ge=kt.current)==null?void 0:Ge.flash)==null||yi.call(Ge);try{Qe.current==null&&(Qe.current=await by(Z).then(Xt=>Xt.layout||"").catch(()=>"")),C.panes&&C.panes.length>1?await Sy(C.paneId,_e):await yy(Z,_e)}catch(Xt){Xt instanceof lt&&Pe()}},[C,Pe]),ji=N.useCallback(async()=>{var he;const q=(he=C==null?void 0:C.window)==null?void 0:he.id;if(!q)return;const Z=Qe.current;It.current=null,Qe.current=null;try{await xy(q,Z)}catch(_e){_e instanceof lt&&Pe()}},[C,Pe]),vt=N.useCallback(async(q,Z=null)=>{var Fe;const he=await on(q.id);if(!he.length)return!1;const _e=(Z==null?void 0:Z.window)&&he.find(Ge=>Ge.id===Z.window)||he.find(Ge=>Ge.id===un(he,zw(q.id))),Le=await Mo(_e.id);if(!Le.length)return!1;const Ne=Z!=null&&Z.pane&&Le.some(Ge=>Ge.id===Z.pane)?Z.pane:un(Le,Do(_e.id));return M({session:q,windows:he,window:_e,panes:Le,paneId:Ne}),nn({sessionId:q.id,windowId:_e.id,paneId:Ne}),cp(q.name),It.current=((Fe=Le.find(Ge=>Ge.id===Ne))==null?void 0:Fe.width)??null,Qe.current=null,!0},[]),ft=N.useCallback(async q=>{var Z;try{const he=await Mo(q.id);if(!he.length)return;const _e=un(he,Do(q.id));M(Le=>Le&&{...Le,window:q,panes:he,paneId:_e}),nn({sessionId:C.session.id,windowId:q.id,paneId:_e}),It.current=((Z=he.find(Le=>Le.id===_e))==null?void 0:Z.width)??null,Qe.current=null}catch(he){he instanceof lt&&Pe()}},[C,Pe]),Ft=N.useCallback(async(q,Z,he)=>{var Ne,Fe,Ge,yi;const _e=(Ne=C==null?void 0:C.session)==null?void 0:Ne.id,Le=C==null?void 0:C.paneId;if(!(!_e||!Le))try{const{id:Xt}=await ky(_e,Le,q||void 0,Z,he),lo=await on(_e),co=lo.find($s=>$s.id===Xt)||lo[lo.length-1],uo=await Mo(co.id);if(!uo.length)return;const nl=un(uo,Do(co.id));M($s=>$s&&{...$s,windows:lo,window:co,panes:uo,paneId:nl}),nn({sessionId:_e,windowId:co.id,paneId:nl}),It.current=((Fe=uo.find($s=>$s.id===nl))==null?void 0:Fe.width)??null,Qe.current=null,h(!1),(yi=(Ge=kt.current)==null?void 0:Ge.wake)==null||yi.call(Ge)}catch(Xt){if(Xt instanceof lt){Pe();return}throw Xt}},[C,Pe]),di=N.useCallback(async q=>{var _e,Le;const Z=p;if(!Z)return;const he=(_e=C==null?void 0:C.session)==null?void 0:_e.id;if(Z.kind==="session"){try{await Ey(Z.id,q)}catch(Ne){throw Ne instanceof lt?(Pe(),Ne):/\b409\b/.test(Ne.message)?new Error(Z("app.nameExists")):new Error(Z("app.renameFailed"))}P(Pw(Z.name,q)),an(),cp(q),M(Ne=>Ne&&Ne.session.id===Z.id?{...Ne,session:{...Ne.session,name:q}}:Ne)}else{try{await Ly(Z.id,q)}catch(Fe){throw Fe instanceof lt?(Pe(),Fe):new Error(Z("app.renameFailed"))}dy((Le=C==null?void 0:C.session)==null?void 0:Le.name,Z.name||Z.id,q);const Ne=await on(he);M(Fe=>Fe&&{...Fe,windows:Ne,window:Ne.find(Ge=>Ge.id===Fe.window.id)||Fe.window})}y(null)},[p,C,Pe]),Yi=N.useCallback(async()=>{var Ne;const q=S,Z=C==null?void 0:C.session;if(!q||!Z)return;const he=Z.id,_e=C.windows.length<=1;try{await Ry(q.id)}catch(Fe){if(Fe instanceof lt){Pe();return}window.alert(D("app.deleteFailed")),g(null);return}if(g(null),_e){P(Qd(Z.name)),an(),M(null);return}const Le=await on(he);if(q.id===C.window.id&&Le.length){const Fe=Le.find(Xt=>Xt.active)||Le[0],Ge=await Mo(Fe.id);if(!Ge.length)return;const yi=un(Ge,Do(Fe.id));M(Xt=>Xt&&{...Xt,windows:Le,window:Fe,panes:Ge,paneId:yi}),nn({sessionId:he,windowId:Fe.id,paneId:yi}),It.current=((Ne=Ge.find(Xt=>Xt.id===yi))==null?void 0:Ne.width)??null,Qe.current=null}else M(Fe=>Fe&&{...Fe,windows:Le})},[S,C,Pe]),Fi=N.useCallback(async q=>{var Le;const Z=S,he=(Le=C==null?void 0:C.session)==null?void 0:Le.id;if(!Z||!he)return;const _e=Il(C.windows,Z.id,q);if(_e)try{await Ty(Z.id,_e.id);const Ne=await on(he);M(Fe=>Fe&&{...Fe,windows:Ne,window:Ne.find(Ge=>Ge.id===Fe.window.id)||Fe.window}),g(Ne.find(Fe=>Fe.id===Z.id)||null)}catch(Ne){if(Ne instanceof lt){Pe(),g(null);return}window.alert(D("app.moveFailed")),g(null)}},[S,C,Pe]),Xi=nh(()=>{C!=null&&C.session&&y({kind:"session",id:C.session.id,name:C.session.name})}),Yt=N.useCallback(async q=>{try{const Z=(await Dr()).find(he=>he.name===q);if(!Z){window.alert(D("app.sessionGone",{name:q}));return}await vt(Z)&&s(!1)}catch(Z){Z instanceof lt&&Pe()}},[vt,Pe]),W=N.useCallback(async q=>{$e(!1),ut(tf(q.pane,q.ts));try{const Z=(await Dr()).find(he=>he.name===q.session);if(!Z){window.alert(D("app.sessionGone",{name:q.session}));return}s(!1),await vt(Z,{window:q.window,pane:q.pane})}catch(Z){Z instanceof lt&&Pe()}},[vt,Pe]),se=N.useCallback(async({target:q,kill:Z})=>{const he=ke,_e=await Oy({pid:he.pid,sessionId:he.sessionId,target:q,kill:Z});_e.name&&(P(Zd(_e.name)),an()),Me(null),$e(!1);try{_e.name&&(s(!1),await vt({id:_e.session,name:_e.name},{window:_e.window,pane:_e.pane}))}catch(Le){Le instanceof lt&&Pe()}try{ge(await hf())}catch{}},[ke,vt,Pe]),Ae=N.useCallback(()=>{const q=vf(re);sf(q),Tt(q)},[re]),Ke=N.useCallback(q=>{P(Zd(q)),an(),f(!1),Yt(q)},[Yt]),St=N.useCallback(q=>{P(Qd(q)),an(),M(Z=>Z&&Z.session.name===q?null:Z)},[]),Wt=N.useCallback(q=>{M(Z=>Z&&(nn({windowId:Z.window.id,paneId:q}),{...Z,paneId:q}))},[]),et=(bh=C==null?void 0:C.session)==null?void 0:bh.name,it=(xh=C==null?void 0:C.window)==null?void 0:xh.id;N.useEffect(()=>{j(et&&it?Ra(et,it):[])},[et,it]);const qe=(Ch=C==null?void 0:C.session)==null?void 0:Ch.name,ye=((kh=C==null?void 0:C.window)==null?void 0:kh.name)||((Eh=C==null?void 0:C.window)==null?void 0:Eh.id);N.useEffect(()=>{me(qe&&ye?Ug(qe,ye).length:0)},[qe,ye]),N.useEffect(()=>{C!=null&&C.paneId&&v1(C.paneId)},[C==null?void 0:C.paneId]),N.useEffect(()=>{var he;const q=C==null?void 0:C.paneId;if(!q)return;const Z=(he=re[q])==null?void 0:he.ts;Z!=null&&ef()[q]!==Z&&ut(tf(q,Z))},[C==null?void 0:C.paneId,re]),N.useEffect(()=>{if(!pC())return;mC();let q=!1;return(async()=>{const Z=await gC();q||!Z||(k(Z),T.activate("home"),u(!0))})(),()=>{q=!0}},[]),N.useEffect(()=>{if(e||typeof navigator>"u"||!("serviceWorker"in navigator))return;const q=async({session:_e,window:Le,pane:Ne})=>{if(_e)try{const Ge=(await Dr()).find(yi=>yi.name===_e);Ge&&(s(!1),await vt(Ge,{window:Le,pane:Ne}))}catch(Fe){Fe instanceof lt&&Pe()}},Z=_e=>{const Le=_e.data;Le&&Le.type==="navigate"&&q(Le)},he=()=>{const _e=up();_e.session&&(_e.window||_e.pane)&&q(_e)};return navigator.serviceWorker.addEventListener("message",Z),window.addEventListener("hashchange",he),()=>{navigator.serviceWorker.removeEventListener("message",Z),window.removeEventListener("hashchange",he)}},[e,vt,Pe]);const F=N.useCallback(q=>{var _e,Le,Ne,Fe;(Le=(_e=kt.current)==null?void 0:_e.wake)==null||Le.call(_e);const Z=(Ne=C==null?void 0:C.session)==null?void 0:Ne.name,he=(Fe=C==null?void 0:C.window)==null?void 0:Fe.id;Z&&he&&j(Jw(Z,he,q))},[C]),ee=N.useCallback(q=>{$(La().includes(q)?qw(q):Kw(q))},[]),de=N.useCallback(q=>{var _e,Le;const Z=(_e=C==null?void 0:C.session)==null?void 0:_e.name,he=(Le=C==null?void 0:C.window)==null?void 0:Le.id;Z&&he&&j(Zw(Z,he,q))},[C]),ze=((Rh=(Lh=C==null?void 0:C.panes)==null?void 0:Lh.find(q=>q.id===C.paneId))==null?void 0:Rh.cwd)||null,Oe=async q=>{if(gy(q)){const he=q.split("/").pop()||q;if(T.tabs.some(Ne=>Ne.key===q)){T.activate(q),ot(q),u(!0);return}const{url:_e,mtimeMs:Le}=await ff(q);T.openDoc(q,{type:"image",name:he,content:_e,mtime:Le}),of({path:q,name:he,type:"image",ts:Date.now()}),u(!0);return}const Z=await uf(q);T.openDoc(q,{type:Z.type,name:Z.name,content:Z.content,mtime:Z.mtimeMs}),of({path:q,name:Z.name,type:Z.type,ts:Date.now()}),u(!0)},Ye=q=>{const Z=T.tabs.find(he=>he.key===q);(Z==null?void 0:Z.type)==="image"&&Z.content&&URL.revokeObjectURL(Z.content),T.closeTab(q)},ot=q=>{const Z=T.tabs.find(he=>he.key===q);if(!(!Z||Z.type==="home")){if(Z.type==="image"){ff(q,Z.mtime??null).then(he=>{if(he.notModified)return;const _e=Z.content;T.refreshDoc(q,{content:he.url,mtime:he.mtimeMs}),_e&&URL.revokeObjectURL(_e)}).catch(()=>{});return}uf(q,Z.mtime??null).then(he=>{he.notModified||T.refreshDoc(q,{type:he.type,name:he.name,content:he.content,mtime:he.mtimeMs})}).catch(()=>{})}},le=q=>{T.activate(q),ot(q)},Ee=()=>{u(!0),ot(T.active)},Be=q=>{const Z=/-> (\d+)/.exec((q==null?void 0:q.message)||""),he=Z?Number(Z[1]):0;return D(he===404?"app.docNotFound":he===413?"app.docTooLarge":he===400?"app.docUnsupported":"app.docOpenFailed")},fe=async q=>{if(l_(q)){try{await Oe(q)}catch(he){E(Be(he))}return}const Z=af(C==null?void 0:C.paneId)??ze;if(Z)try{await Oe(Vs(Z,q));return}catch{}L({rawPath:q})},je=async q=>{try{await Oe(Vs(q,b.rawPath))}catch(Z){E(Be(Z));return}C!=null&&C.paneId&&ty(C.paneId,q),setTimeout(()=>L(null),0)},Ue=(q,Z,he)=>I({path:q,x:Z,y:he}),tt=q=>{I(null),fe(q)};if(N.useEffect(()=>{if(!x)return;const q=setTimeout(()=>E(null),4e3);return()=>clearTimeout(q)},[x]),N.useEffect(()=>{if(e)return;const q=sr();if(!q.length){K(!1);return}let Z=!1;return(async()=>{try{const he=await Dr();if(Z||!he.length)return;const _e=he.filter(Ge=>q.includes(Ge.name));if(!_e.length)return;const Le=up();let Ne=Le.session?_e.find(Ge=>Ge.name===Le.session):null;const Fe=Ne?{window:Le.window,pane:Le.pane}:null;if(!Ne){const Ge=$w();Ge&&(Ne=_e.find(yi=>yi.id===Ge))}Ne||(Ne=_e[0]),Z||await vt(Ne,Fe)}catch(he){he instanceof lt&&t(!0)}finally{Z||K(!1)}})(),()=>{Z=!0}},[e,vt]),N.useEffect(()=>{if(e)return;let q=!1,Z=null;const he=async()=>{if(!document.hidden)try{const Ne=await Iy(A);q||ne(Ne||{})}catch{}},_e=()=>{he(),Z=setTimeout(_e,5e3)};_e();const Le=()=>{document.hidden||(clearTimeout(Z),_e())};return document.addEventListener("visibilitychange",Le),()=>{q=!0,clearTimeout(Z),document.removeEventListener("visibilitychange",Le)}},[e,A]),N.useEffect(()=>{if(Ze!=null)return;const q=vf(re);q>0&&(sf(q),Tt(q))},[re,Ze]),N.useEffect(()=>{if(e)return;let q=!1,Z=null;const he=async()=>{if(!document.hidden)try{const Ne=await hf();q||ge(Array.isArray(Ne)?Ne:[])}catch{}},_e=()=>{he(),Z=setTimeout(_e,15e3)};_e();const Le=()=>{document.hidden||(clearTimeout(Z),_e())};return document.addEventListener("visibilitychange",Le),()=>{q=!0,clearTimeout(Z),document.removeEventListener("visibilitychange",Le)}},[e]),e)return _.jsx(ib,{onSaved:()=>{t(!1),K(!0)}});const Mt=h1(re,dt,Ze??1/0),Ht=f1(Mt),Ji={};for(const q of Object.values(re))q.window&&q.agent&&(Ji[q.window]=q.agent);const ao=!!Ao&&Te!==Ao,G_=!!(ae!=null&&ae.updateAvailable)&&ae.latest!==xe,K_=ao||G_,q_=()=>{c(!0),ae!=null&&ae.latest&&(hy(ae.latest),we(ae.latest))},Y_=()=>{c(!1),X(!0),cy(Ao),ie(Ao)};return _.jsxs("div",{className:"app",style:yt?{transform:`translateY(-${yt}px)`}:void 0,children:[_.jsxs("header",{className:"topbar",children:[_.jsx("button",{className:"hamburger",onClick:()=>s(!0),children:"☰"}),_.jsx("span",{className:"session-name",...Xi,children:((Th=C==null?void 0:C.session)==null?void 0:Th.name)??"—"}),De&&_.jsx("button",{className:"topbar-icon preview-live",onClick:()=>O(!0),"aria-label":D("app.preview"),title:D("app.openPreview"),children:_.jsx(zc,{})}),_.jsxs("button",{className:"topbar-icon",onClick:()=>Se(!0),"aria-label":D("app.ideas"),title:D("app.ideas"),disabled:!C,children:[_.jsx(Jy,{}),ue>0&&_.jsx("span",{className:"idea-badge",children:ue})]}),_.jsx(db,{rows:Mt,top:Ht,open:pe,onToggle:()=>$e(q=>!q),onClose:()=>$e(!1),onSelectRow:W,onMarkAllRead:Ae,hooksStatus:Je,onEnableHooks:Re}),_.jsx("button",{className:"topbar-icon",onClick:()=>r(!0),"aria-label":D("usage.title"),title:D("usage.title"),children:_.jsx(r1,{})}),_.jsx("button",{className:"topbar-icon",onClick:Ee,"aria-label":D("app.files"),title:D("app.files"),children:_.jsx(Kn,{})}),_.jsx("button",{className:"topbar-icon",onClick:()=>d(!0),"aria-label":"Git",title:"Git",children:_.jsx(Qg,{})}),_.jsxs("button",{className:"topbar-icon",onClick:q_,"aria-label":D("app.settings"),title:D("app.settings"),children:[_.jsx($c,{}),K_&&_.jsx("span",{className:"topbar-dot","aria-hidden":"true"})]})]}),_.jsx(hb,{open:m,onClose:()=>r(!1),onAuthFail:Pe}),_.jsx(ab,{open:n,onClose:()=>c(!1),termRef:kt,getColCount:()=>{var q,Z;return It.current??((Z=(q=kt.current)==null?void 0:q.getSize())==null?void 0:Z.cols)},onColAdjust:q=>Bi(q),onColRestore:ji,onOpenChangelog:Y_,changelogUnread:ao,updateInfo:ae,activePreview:De,pane:C==null?void 0:C.paneId,lastPreviewDir:Fw((Dh=C==null?void 0:C.window)==null?void 0:Dh.id),dynamicEnabled:te,onStartPreview:At,onStartDynamicPreview:Oi,onOpenPreview:hi,onRenew:st,onStop:qi}),_.jsx(uC,{open:Ie,onClose:()=>X(!1)}),_.jsx(k1,{open:i,currentSessionName:(Ah=C==null?void 0:C.session)==null?void 0:Ah.name,bound:A,onSelectSession:Yt,onUnbind:St,onBind:()=>f(!0),onClose:()=>s(!1),onLogout:Et,orphans:be,onTakeoverRequest:Me}),_.jsx(bb,{open:o,bound:A,onBound:Ke,onClose:()=>f(!1),onAuthFail:Pe,inset:yt}),_.jsx(Cb,{open:v,onClose:()=>h(!1),onCreate:Ft,paneId:C==null?void 0:C.paneId,inset:yt}),_.jsx(Eb,{open:!!p,title:(p==null?void 0:p.kind)==="session"?D("app.renameSession"):D("app.renameWindow"),currentName:(p==null?void 0:p.name)||"",onClose:()=>y(null),onSubmit:di,inset:yt}),_.jsx(fb,{open:!!ke,orphan:ke,onConfirm:se,onClose:()=>Me(null),inset:yt}),_.jsx(uh,{open:!!S,title:S?S.name||S.id:"",onClose:()=>g(null),actions:S?[...C&&C.windows.length>1?[[{key:"move-left",label:D("app.moveLeft"),disabled:!Il(C.windows,S.id,"left"),onClick:()=>Fi("left")},{key:"move-right",label:D("app.moveRight"),disabled:!Il(C.windows,S.id,"right"),onClick:()=>Fi("right")}]]:[],{key:"rename",label:D("common.rename"),onClick:()=>{y({kind:"window",id:S.id,name:S.name||""}),g(null)}},{key:"delete",label:D("app.deleteWindow"),danger:!0,confirm:!0,confirmLabel:C&&C.windows.length<=1?D("app.deleteLastWindowConfirm"):D("app.deleteConfirm"),onClick:Yi}]:[]}),_.jsx(Xx,{open:a,pane:C==null?void 0:C.paneId,windowId:(Mh=C==null?void 0:C.window)==null?void 0:Mh.id,tabs:T.tabs,active:T.active,onActivate:le,onCloseTab:Ye,onMinimize:()=>u(!1),onOpenDoc:fe,pendingShare:w,onPendingConsumed:()=>k(null)}),_.jsx(Qx,{open:l,pane:C==null?void 0:C.paneId,windowId:(Nh=C==null?void 0:C.window)==null?void 0:Nh.id,inset:yt,onClose:()=>d(!1)}),_.jsx(rC,{}),_.jsx(gb,{}),_.jsx(l1,{open:z&&!!De,name:De==null?void 0:De.name,kind:De==null?void 0:De.kind,domain:Y,port:De==null?void 0:De.port,dir:De==null?void 0:De.dir,expiresAt:De==null?void 0:De.expiresAt,onRenew:st,onStop:qi,onMinimize:()=>O(!1)}),x&&_.jsx("div",{className:"doc-toast",role:"alert",onClick:()=>E(null),children:x}),R&&_.jsx(nC,{path:R.path,x:R.x,y:R.y,onOpen:tt,onClose:()=>I(null)}),_.jsx(cC,{open:oe,session:(Ih=C==null?void 0:C.session)==null?void 0:Ih.name,window:((Oh=C==null?void 0:C.window)==null?void 0:Oh.name)||((Ph=C==null?void 0:C.window)==null?void 0:Ph.id),onClose:()=>Se(!1),onSend:q=>{var Z;(Z=Ut.current)==null||Z.fill(q),Se(!1)},onCountChange:me}),_.jsx(ro,{open:!!b,seedCwd:af(C==null?void 0:C.paneId)??ze??null,pane:(C==null?void 0:C.paneId)??null,hint:b?_.jsxs(_.Fragment,{children:[D("app.cannotLocate")," ",_.jsx("code",{children:b.rawPath}),D("app.pickItsDir")]}):null,onPick:je,onClose:()=>L(null),inset:yt}),C?_.jsxs(_.Fragment,{children:[_.jsx(D1,{windows:C.windows,windowAgents:Ji,currentAgent:(Bh=re[C.paneId])==null?void 0:Bh.agent,currentWindowId:C.window.id,panes:C.panes,currentPaneId:C.paneId,onSelectWindow:ft,onSelectPane:Wt,onNewWindow:()=>h(!0),onManageWindow:q=>g(q),trackWindowId:S==null?void 0:S.id}),C.paneId&&_.jsx(aS,{ref:kt,pane:C.paneId,onAuthFail:Pe,onDocLinkTap:Ue},C.paneId),_.jsx(tb,{ref:Ut,pane:C.paneId,onAuthFail:Pe,onKey:wi,onText:Pi,cwd:ze,agent:(jh=re[C.paneId])==null?void 0:jh.agent,windowId:(Fh=C.window)==null?void 0:Fh.id,recent:G,favorites:U,onSent:F,onToggleFav:ee,onRemoveRecent:de,inset:yt})]}):J?_.jsx("div",{className:"loading",children:D("common.loading")}):A.length===0?_.jsxs("button",{className:"empty-cta",onClick:()=>f(!0),children:[D("app.noBoundSession"),_.jsx("span",{children:D("app.tapToBind")})]}):_.jsx("div",{className:"loading",children:D("app.selectSessionHint")})]})}function vC(){typeof navigator>"u"||!("serviceWorker"in navigator)||window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(()=>{})})}xg(document.getElementById("root")).render(_.jsx(_C,{}));vC();if(typeof window<"u"&&window.__hideBootSplash){const e=[...document.querySelectorAll('link[rel="stylesheet"]')].filter(i=>i.media==="print"),t=e.length?new Promise(i=>{let s=e.length;e.forEach(n=>n.addEventListener("load",()=>{--s||i()},{once:!0}))}):Promise.resolve();requestAnimationFrame(()=>requestAnimationFrame(()=>t.then(()=>window.__hideBootSplash())))}
154
+ `}strong(t){return`<strong>${t}</strong>`}em(t){return`<em>${t}</em>`}codespan(t){return`<code>${t}</code>`}br(){return"<br>"}del(t){return`<del>${t}</del>`}link(t,i,s){const n=Ff(t);if(n===null)return s;t=n;let c='<a href="'+t+'"';return i&&(c+=' title="'+i+'"'),c+=">"+s+"</a>",c}image(t,i,s){const n=Ff(t);if(n===null)return s;t=n;let c=`<img src="${t}" alt="${s}"`;return i&&(c+=` title="${i}"`),c+=">",c}text(t){return t}}class _h{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,i,s){return""+s}image(t,i,s){return""+s}br(){return""}}class rs{constructor(t){pt(this,"options");pt(this,"renderer");pt(this,"textRenderer");this.options=t||ur,this.options.renderer=this.options.renderer||new Oa,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new _h}static parse(t,i){return new rs(i).parse(t)}static parseInline(t,i){return new rs(i).parseInline(t)}parse(t,i=!0){let s="";for(let n=0;n<t.length;n++){const c=t[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type]){const m=c,r=this.options.extensions.renderers[m.type].call({parser:this},m);if(r!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(m.type)){s+=r||"";continue}}switch(c.type){case"space":continue;case"hr":{s+=this.renderer.hr();continue}case"heading":{const m=c;s+=this.renderer.heading(this.parseInline(m.tokens),m.depth,Mb(this.parseInline(m.tokens,this.textRenderer)));continue}case"code":{const m=c;s+=this.renderer.code(m.text,m.lang,!!m.escaped);continue}case"table":{const m=c;let r="",o="";for(let v=0;v<m.header.length;v++)o+=this.renderer.tablecell(this.parseInline(m.header[v].tokens),{header:!0,align:m.align[v]});r+=this.renderer.tablerow(o);let f="";for(let v=0;v<m.rows.length;v++){const h=m.rows[v];o="";for(let p=0;p<h.length;p++)o+=this.renderer.tablecell(this.parseInline(h[p].tokens),{header:!1,align:m.align[p]});f+=this.renderer.tablerow(o)}s+=this.renderer.table(r,f);continue}case"blockquote":{const m=c,r=this.parse(m.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const m=c,r=m.ordered,o=m.start,f=m.loose;let v="";for(let h=0;h<m.items.length;h++){const p=m.items[h],y=p.checked,S=p.task;let g="";if(p.task){const a=this.renderer.checkbox(!!y);f?p.tokens.length>0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=a+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=a+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:a+" "}):g+=a+" "}g+=this.parse(p.tokens,f),v+=this.renderer.listitem(g,S,!!y)}s+=this.renderer.list(v,r,o);continue}case"html":{const m=c;s+=this.renderer.html(m.text,m.block);continue}case"paragraph":{const m=c;s+=this.renderer.paragraph(this.parseInline(m.tokens));continue}case"text":{let m=c,r=m.tokens?this.parseInline(m.tokens):m.text;for(;n+1<t.length&&t[n+1].type==="text";)m=t[++n],r+=`
155
+ `+(m.tokens?this.parseInline(m.tokens):m.text);s+=i?this.renderer.paragraph(r):r;continue}default:{const m='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(m),"";throw new Error(m)}}}return s}parseInline(t,i){i=i||this.renderer;let s="";for(let n=0;n<t.length;n++){const c=t[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[c.type]){const m=this.options.extensions.renderers[c.type].call({parser:this},c);if(m!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(c.type)){s+=m||"";continue}}switch(c.type){case"escape":{const m=c;s+=i.text(m.text);break}case"html":{const m=c;s+=i.html(m.text);break}case"link":{const m=c;s+=i.link(m.href,m.title,this.parseInline(m.tokens,i));break}case"image":{const m=c;s+=i.image(m.href,m.title,m.text);break}case"strong":{const m=c;s+=i.strong(this.parseInline(m.tokens,i));break}case"em":{const m=c;s+=i.em(this.parseInline(m.tokens,i));break}case"codespan":{const m=c;s+=i.codespan(m.text);break}case"br":{s+=i.br();break}case"del":{const m=c;s+=i.del(this.parseInline(m.tokens,i));break}case"text":{const m=c;s+=i.text(m.text);break}default:{const m='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(m),"";throw new Error(m)}}}return s}}class Rn{constructor(t){pt(this,"options");this.options=t||ur}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}}pt(Rn,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));var or,tu,$_;class lx{constructor(...t){$h(this,or);pt(this,"defaults",hh());pt(this,"options",this.setOptions);pt(this,"parse",ho(this,or,tu).call(this,ss.lex,rs.parse));pt(this,"parseInline",ho(this,or,tu).call(this,ss.lexInline,rs.parseInline));pt(this,"Parser",rs);pt(this,"Renderer",Oa);pt(this,"TextRenderer",_h);pt(this,"Lexer",ss);pt(this,"Tokenizer",Ia);pt(this,"Hooks",Rn);this.use(...t)}walkTokens(t,i){var n,c;let s=[];for(const m of t)switch(s=s.concat(i.call(this,m)),m.type){case"table":{const r=m;for(const o of r.header)s=s.concat(this.walkTokens(o.tokens,i));for(const o of r.rows)for(const f of o)s=s.concat(this.walkTokens(f.tokens,i));break}case"list":{const r=m;s=s.concat(this.walkTokens(r.items,i));break}default:{const r=m;(c=(n=this.defaults.extensions)==null?void 0:n.childTokens)!=null&&c[r.type]?this.defaults.extensions.childTokens[r.type].forEach(o=>{const f=r[o].flat(1/0);s=s.concat(this.walkTokens(f,i))}):r.tokens&&(s=s.concat(this.walkTokens(r.tokens,i)))}}return s}use(...t){const i=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(s=>{const n={...s};if(n.async=this.defaults.async||n.async||!1,s.extensions&&(s.extensions.forEach(c=>{if(!c.name)throw new Error("extension name required");if("renderer"in c){const m=i.renderers[c.name];m?i.renderers[c.name]=function(...r){let o=c.renderer.apply(this,r);return o===!1&&(o=m.apply(this,r)),o}:i.renderers[c.name]=c.renderer}if("tokenizer"in c){if(!c.level||c.level!=="block"&&c.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const m=i[c.level];m?m.unshift(c.tokenizer):i[c.level]=[c.tokenizer],c.start&&(c.level==="block"?i.startBlock?i.startBlock.push(c.start):i.startBlock=[c.start]:c.level==="inline"&&(i.startInline?i.startInline.push(c.start):i.startInline=[c.start]))}"childTokens"in c&&c.childTokens&&(i.childTokens[c.name]=c.childTokens)}),n.extensions=i),s.renderer){const c=this.defaults.renderer||new Oa(this.defaults);for(const m in s.renderer){if(!(m in c))throw new Error(`renderer '${m}' does not exist`);if(m==="options")continue;const r=m,o=s.renderer[r],f=c[r];c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h||""}}n.renderer=c}if(s.tokenizer){const c=this.defaults.tokenizer||new Ia(this.defaults);for(const m in s.tokenizer){if(!(m in c))throw new Error(`tokenizer '${m}' does not exist`);if(["options","rules","lexer"].includes(m))continue;const r=m,o=s.tokenizer[r],f=c[r];c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h}}n.tokenizer=c}if(s.hooks){const c=this.defaults.hooks||new Rn;for(const m in s.hooks){if(!(m in c))throw new Error(`hook '${m}' does not exist`);if(m==="options")continue;const r=m,o=s.hooks[r],f=c[r];Rn.passThroughHooks.has(m)?c[r]=v=>{if(this.defaults.async)return Promise.resolve(o.call(c,v)).then(p=>f.call(c,p));const h=o.call(c,v);return f.call(c,h)}:c[r]=(...v)=>{let h=o.apply(c,v);return h===!1&&(h=f.apply(c,v)),h}}n.hooks=c}if(s.walkTokens){const c=this.defaults.walkTokens,m=s.walkTokens;n.walkTokens=function(r){let o=[];return o.push(m.call(this,r)),c&&(o=o.concat(c.call(this,r))),o}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,i){return ss.lex(t,i??this.defaults)}parser(t,i){return rs.parse(t,i??this.defaults)}}or=new WeakSet,tu=function(t,i){return(s,n)=>{const c={...n},m={...this.defaults,...c};this.defaults.async===!0&&c.async===!1&&(m.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),m.async=!0);const r=ho(this,or,$_).call(this,!!m.silent,!!m.async);if(typeof s>"u"||s===null)return r(new Error("marked(): input parameter is undefined or null"));if(typeof s!="string")return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(s)+", string expected"));if(m.hooks&&(m.hooks.options=m),m.async)return Promise.resolve(m.hooks?m.hooks.preprocess(s):s).then(o=>t(o,m)).then(o=>m.hooks?m.hooks.processAllTokens(o):o).then(o=>m.walkTokens?Promise.all(this.walkTokens(o,m.walkTokens)).then(()=>o):o).then(o=>i(o,m)).then(o=>m.hooks?m.hooks.postprocess(o):o).catch(r);try{m.hooks&&(s=m.hooks.preprocess(s));let o=t(s,m);m.hooks&&(o=m.hooks.processAllTokens(o)),m.walkTokens&&this.walkTokens(o,m.walkTokens);let f=i(o,m);return m.hooks&&(f=m.hooks.postprocess(f)),f}catch(o){return r(o)}}},$_=function(t,i){return s=>{if(s.message+=`
156
+ Please report this to https://github.com/markedjs/marked.`,t){const n="<p>An error occurred:</p><pre>"+bi(s.message+"",!0)+"</pre>";return i?Promise.resolve(n):n}if(i)return Promise.reject(s);throw s}};const nr=new lx;function rt(e,t){return nr.parse(e,t)}rt.options=rt.setOptions=function(e){return nr.setOptions(e),rt.defaults=nr.defaults,A_(rt.defaults),rt};rt.getDefaults=hh;rt.defaults=ur;rt.use=function(...e){return nr.use(...e),rt.defaults=nr.defaults,A_(rt.defaults),rt};rt.walkTokens=function(e,t){return nr.walkTokens(e,t)};rt.parseInline=nr.parseInline;rt.Parser=rs;rt.parser=rs.parse;rt.Renderer=Oa;rt.TextRenderer=_h;rt.Lexer=ss;rt.lexer=ss.lex;rt.Tokenizer=Ia;rt.Hooks=Rn;rt.parse=rt;rt.options;rt.setOptions;rt.use;rt.walkTokens;rt.parseInline;rs.parse;ss.lex;/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function Uf(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i<t;i++)s[i]=e[i];return s}function cx(e){if(Array.isArray(e))return e}function ux(e,t){var i=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(i!=null){var s,n,c,m,r=[],o=!0,f=!1;try{if(c=(i=i.call(e)).next,t!==0)for(;!(o=(s=c.call(i)).done)&&(r.push(s.value),r.length!==t);o=!0);}catch(v){f=!0,n=v}finally{try{if(!o&&i.return!=null&&(m=i.return(),Object(m)!==m))return}finally{if(f)throw n}}return r}}function hx(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
157
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dx(e,t){return cx(e)||ux(e,t)||fx(e,t)||hx()}function fx(e,t){if(e){if(typeof e=="string")return Uf(e,t);var i={}.toString.call(e).slice(8,-1);return i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Uf(e,t):void 0}}const z_=Object.entries,Wf=Object.setPrototypeOf,px=Object.isFrozen,mx=Object.getPrototypeOf,gx=Object.getOwnPropertyDescriptor;let ai=Object.freeze,Ii=Object.seal,gr=Object.create,U_=typeof Reflect<"u"&&Reflect,iu=U_.apply,su=U_.construct;ai||(ai=function(t){return t});Ii||(Ii=function(t){return t});iu||(iu=function(t,i){for(var s=arguments.length,n=new Array(s>2?s-2:0),c=2;c<s;c++)n[c-2]=arguments[c];return t.apply(i,n)});su||(su=function(t){for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];return new t(...s)});const zs=Ot(Array.prototype.forEach),_x=Ot(Array.prototype.lastIndexOf),Vf=Ot(Array.prototype.pop),dr=Ot(Array.prototype.push),vx=Ot(Array.prototype.splice),ri=Array.isArray,mn=Ot(String.prototype.toLowerCase),Fl=Ot(String.prototype.toString),Gf=Ot(String.prototype.match),fr=Ot(String.prototype.replace),Kf=Ot(String.prototype.indexOf),wx=Ot(String.prototype.trim),yx=Ot(Number.prototype.toString),Sx=Ot(Boolean.prototype.toString),qf=typeof BigInt>"u"?null:Ot(BigInt.prototype.toString),Yf=typeof Symbol>"u"?null:Ot(Symbol.prototype.toString),Lt=Ot(Object.prototype.hasOwnProperty),cn=Ot(Object.prototype.toString),Vt=Ot(RegExp.prototype.test),pr=bx(TypeError);function Ot(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];return iu(e,t,s)}}function bx(e){return function(){for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return su(e,i)}}function He(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:mn;if(Wf&&Wf(e,null),!ri(t))return e;let s=t.length;for(;s--;){let n=t[s];if(typeof n=="string"){const c=i(n);c!==n&&(px(t)||(t[s]=c),n=c)}e[n]=!0}return e}function xx(e){for(let t=0;t<e.length;t++)Lt(e,t)||(e[t]=null);return e}function Qt(e){const t=gr(null);for(const s of z_(e)){var i=dx(s,2);const n=i[0],c=i[1];Lt(e,n)&&(ri(c)?t[n]=xx(c):c&&typeof c=="object"&&c.constructor===Object?t[n]=Qt(c):t[n]=c)}return t}function Cx(e){switch(typeof e){case"string":return e;case"number":return yx(e);case"boolean":return Sx(e);case"bigint":return qf?qf(e):"0";case"symbol":return Yf?Yf(e):"Symbol()";case"undefined":return cn(e);case"function":case"object":{if(e===null)return cn(e);const t=e,i=es(t,"toString");if(typeof i=="function"){const s=i(t);return typeof s=="string"?s:cn(s)}return cn(e)}default:return cn(e)}}function es(e,t){for(;e!==null;){const s=gx(e,t);if(s){if(s.get)return Ot(s.get);if(typeof s.value=="function")return Ot(s.value)}e=mx(e)}function i(){return null}return i}function kx(e){try{return Vt(e,""),!0}catch{return!1}}const Xf=ai(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Hl=ai(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),$l=ai(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ex=ai(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),zl=ai(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Lx=ai(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Jf=ai(["#text"]),Zf=ai(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Ul=ai(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Qf=ai(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Bo=ai(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Rx=Ii(/{{[\w\W]*|^[\w\W]*}}/g),Tx=Ii(/<%[\w\W]*|^[\w\W]*%>/g),Dx=Ii(/\${[\w\W]*/g),Ax=Ii(/^data-[\-\w.\u00B7-\uFFFF]+$/),Mx=Ii(/^aria-[\-\w]+$/),ep=Ii(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Nx=Ii(/^(?:\w+script|data):/i),Ix=Ii(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Px=Ii(/^html$/i),Ox=Ii(/^[a-z][.\w]*(-[.\w]+)+$/i),Qi={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Bx=function(){return typeof window>"u"?null:window},jx=function(t,i){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(s=i.getAttribute(n));const c="dompurify"+(s?"#"+s:"");try{return t.createPolicy(c,{createHTML(m){return m},createScriptURL(m){return m}})}catch{return console.warn("TrustedTypes policy "+c+" could not be created."),null}},tp=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function W_(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bx();const t=we=>W_(we);if(t.version="3.4.8",t.removed=[],!e||!e.document||e.document.nodeType!==Qi.document||!e.Element)return t.isSupported=!1,t;let i=e.document;const s=i,n=s.currentScript;e.DocumentFragment;const c=e.HTMLTemplateElement,m=e.Node,r=e.Element,o=e.NodeFilter,f=e.NamedNodeMap;f===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const v=e.DOMParser,h=e.trustedTypes,p=r.prototype,y=es(p,"cloneNode"),S=es(p,"remove"),g=es(p,"nextSibling"),a=es(p,"childNodes"),u=es(p,"parentNode"),l=es(p,"shadowRoot"),d=es(p,"attributes"),w=m&&m.prototype?es(m.prototype,"nodeType"):null,k=m&&m.prototype?es(m.prototype,"nodeName"):null;if(typeof c=="function"){const we=i.createElement("template");we.content&&we.content.ownerDocument&&(i=we.content.ownerDocument)}let b,L="",x=0;const E=function(F){if(x>0)throw pr('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');x++;try{return b.createHTML(F)}finally{x--}},R=i,I=R.implementation,T=R.createNodeIterator,A=R.createDocumentFragment,O=R.getElementsByTagName,U=s.importNode;let $=tp();t.isSupported=typeof z_=="function"&&typeof u=="function"&&I&&I.createHTMLDocument!==void 0;const G=Rx,j=Tx,C=Dx,M=Ax,B=Mx,H=Nx,Y=Ix,V=Ox;let te=ep,Q=null;const z=He({},[...Xf,...Hl,...$l,...zl,...Jf]);let P=null;const J=He({},[...Zf,...Ul,...Qf,...Bo]);let K=Object.seal(gr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),re=null,ne=null;const be=Object.seal(gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ge=!0,Ee=!0,Ne=!1,pe=!0,$e=!1,Je=!0,Re=!1,oe=!1,ye=!1,ue=!1,me=!1,Ie=!1,X=!0,Te=!1;const ie="user-content-";let ae=!0,_e=!1,xe={},ve=null;const dt=He({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ut=null;const Ze=He({},["audio","video","img","source","image","track"]);let Tt=null;const kt=He({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ut="http://www.w3.org/1998/Math/MathML",It="http://www.w3.org/2000/svg",Qe="http://www.w3.org/1999/xhtml";let Oe=Qe,_t=!1,Dt=null;const De=He({},[Ut,It,Qe],Fl);let ui=He({},["mi","mo","mn","ms","mtext"]),si=He({},["annotation-xml"]);const hi=He({},["title","style","font","a","script"]);let At=null;const Pi=["application/xhtml+xml","text/html"],qi="text/html";let st=null,Et=null;const yt=i.createElement("form"),wi=function(F){return F instanceof RegExp||F instanceof Function},Oi=function(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Et&&Et===F)return;(!F||typeof F!="object")&&(F={}),F=Qt(F),At=Pi.indexOf(F.PARSER_MEDIA_TYPE)===-1?qi:F.PARSER_MEDIA_TYPE,st=At==="application/xhtml+xml"?Fl:mn,Q=Lt(F,"ALLOWED_TAGS")&&ri(F.ALLOWED_TAGS)?He({},F.ALLOWED_TAGS,st):z,P=Lt(F,"ALLOWED_ATTR")&&ri(F.ALLOWED_ATTR)?He({},F.ALLOWED_ATTR,st):J,Dt=Lt(F,"ALLOWED_NAMESPACES")&&ri(F.ALLOWED_NAMESPACES)?He({},F.ALLOWED_NAMESPACES,Fl):De,Tt=Lt(F,"ADD_URI_SAFE_ATTR")&&ri(F.ADD_URI_SAFE_ATTR)?He(Qt(kt),F.ADD_URI_SAFE_ATTR,st):kt,ut=Lt(F,"ADD_DATA_URI_TAGS")&&ri(F.ADD_DATA_URI_TAGS)?He(Qt(Ze),F.ADD_DATA_URI_TAGS,st):Ze,ve=Lt(F,"FORBID_CONTENTS")&&ri(F.FORBID_CONTENTS)?He({},F.FORBID_CONTENTS,st):dt,re=Lt(F,"FORBID_TAGS")&&ri(F.FORBID_TAGS)?He({},F.FORBID_TAGS,st):Qt({}),ne=Lt(F,"FORBID_ATTR")&&ri(F.FORBID_ATTR)?He({},F.FORBID_ATTR,st):Qt({}),xe=Lt(F,"USE_PROFILES")?F.USE_PROFILES&&typeof F.USE_PROFILES=="object"?Qt(F.USE_PROFILES):F.USE_PROFILES:!1,ge=F.ALLOW_ARIA_ATTR!==!1,Ee=F.ALLOW_DATA_ATTR!==!1,Ne=F.ALLOW_UNKNOWN_PROTOCOLS||!1,pe=F.ALLOW_SELF_CLOSE_IN_ATTR!==!1,$e=F.SAFE_FOR_TEMPLATES||!1,Je=F.SAFE_FOR_XML!==!1,Re=F.WHOLE_DOCUMENT||!1,ue=F.RETURN_DOM||!1,me=F.RETURN_DOM_FRAGMENT||!1,Ie=F.RETURN_TRUSTED_TYPE||!1,ye=F.FORCE_BODY||!1,X=F.SANITIZE_DOM!==!1,Te=F.SANITIZE_NAMED_PROPS||!1,ae=F.KEEP_CONTENT!==!1,_e=F.IN_PLACE||!1,te=kx(F.ALLOWED_URI_REGEXP)?F.ALLOWED_URI_REGEXP:ep,Oe=typeof F.NAMESPACE=="string"?F.NAMESPACE:Qe,ui=Lt(F,"MATHML_TEXT_INTEGRATION_POINTS")&&F.MATHML_TEXT_INTEGRATION_POINTS&&typeof F.MATHML_TEXT_INTEGRATION_POINTS=="object"?Qt(F.MATHML_TEXT_INTEGRATION_POINTS):He({},["mi","mo","mn","ms","mtext"]),si=Lt(F,"HTML_INTEGRATION_POINTS")&&F.HTML_INTEGRATION_POINTS&&typeof F.HTML_INTEGRATION_POINTS=="object"?Qt(F.HTML_INTEGRATION_POINTS):He({},["annotation-xml"]);const ee=Lt(F,"CUSTOM_ELEMENT_HANDLING")&&F.CUSTOM_ELEMENT_HANDLING&&typeof F.CUSTOM_ELEMENT_HANDLING=="object"?Qt(F.CUSTOM_ELEMENT_HANDLING):gr(null);if(K=gr(null),Lt(ee,"tagNameCheck")&&wi(ee.tagNameCheck)&&(K.tagNameCheck=ee.tagNameCheck),Lt(ee,"attributeNameCheck")&&wi(ee.attributeNameCheck)&&(K.attributeNameCheck=ee.attributeNameCheck),Lt(ee,"allowCustomizedBuiltInElements")&&typeof ee.allowCustomizedBuiltInElements=="boolean"&&(K.allowCustomizedBuiltInElements=ee.allowCustomizedBuiltInElements),$e&&(Ee=!1),me&&(ue=!0),xe&&(Q=He({},Jf),P=gr(null),xe.html===!0&&(He(Q,Xf),He(P,Zf)),xe.svg===!0&&(He(Q,Hl),He(P,Ul),He(P,Bo)),xe.svgFilters===!0&&(He(Q,$l),He(P,Ul),He(P,Bo)),xe.mathMl===!0&&(He(Q,zl),He(P,Qf),He(P,Bo))),be.tagCheck=null,be.attributeCheck=null,Lt(F,"ADD_TAGS")&&(typeof F.ADD_TAGS=="function"?be.tagCheck=F.ADD_TAGS:ri(F.ADD_TAGS)&&(Q===z&&(Q=Qt(Q)),He(Q,F.ADD_TAGS,st))),Lt(F,"ADD_ATTR")&&(typeof F.ADD_ATTR=="function"?be.attributeCheck=F.ADD_ATTR:ri(F.ADD_ATTR)&&(P===J&&(P=Qt(P)),He(P,F.ADD_ATTR,st))),Lt(F,"ADD_URI_SAFE_ATTR")&&ri(F.ADD_URI_SAFE_ATTR)&&He(Tt,F.ADD_URI_SAFE_ATTR,st),Lt(F,"FORBID_CONTENTS")&&ri(F.FORBID_CONTENTS)&&(ve===dt&&(ve=Qt(ve)),He(ve,F.FORBID_CONTENTS,st)),Lt(F,"ADD_FORBID_CONTENTS")&&ri(F.ADD_FORBID_CONTENTS)&&(ve===dt&&(ve=Qt(ve)),He(ve,F.ADD_FORBID_CONTENTS,st)),ae&&(Q["#text"]=!0),Re&&He(Q,["html","head","body"]),Q.table&&(He(Q,["tbody"]),delete re.tbody),F.TRUSTED_TYPES_POLICY){if(typeof F.TRUSTED_TYPES_POLICY.createHTML!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof F.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const de=b;b=F.TRUSTED_TYPES_POLICY;try{L=E("")}catch(ze){throw b=de,ze}}else b===void 0&&F.TRUSTED_TYPES_POLICY!==null&&(b=jx(h,n)),b&&typeof L=="string"&&(L=E(""));($.uponSanitizeElement.length>0||$.uponSanitizeAttribute.length>0)&&Q===z&&(Q=Qt(Q)),$.uponSanitizeAttribute.length>0&&P===J&&(P=Qt(P)),ai&&ai(F),Et=F},Bi=He({},[...Hl,...$l,...Ex]),ji=He({},[...zl,...Lx]),vt=function(F){let ee=u(F);(!ee||!ee.tagName)&&(ee={namespaceURI:Oe,tagName:"template"});const de=mn(F.tagName),ze=mn(ee.tagName);return Dt[F.namespaceURI]?F.namespaceURI===It?ee.namespaceURI===Qe?de==="svg":ee.namespaceURI===Ut?de==="svg"&&(ze==="annotation-xml"||ui[ze]):!!Bi[de]:F.namespaceURI===Ut?ee.namespaceURI===Qe?de==="math":ee.namespaceURI===It?de==="math"&&si[ze]:!!ji[de]:F.namespaceURI===Qe?ee.namespaceURI===It&&!si[ze]||ee.namespaceURI===Ut&&!ui[ze]?!1:!ji[de]&&(hi[de]||!Bi[de]):!!(At==="application/xhtml+xml"&&Dt[F.namespaceURI]):!1},ft=function(F){dr(t.removed,{element:F});try{u(F).removeChild(F)}catch{S(F)}},Ft=function(F,ee){try{dr(t.removed,{attribute:ee.getAttributeNode(F),from:ee})}catch{dr(t.removed,{attribute:null,from:ee})}if(ee.removeAttribute(F),F==="is")if(ue||me)try{ft(ee)}catch{}else try{ee.setAttribute(F,"")}catch{}},di=function(F){let ee=null,de=null;if(ye)F="<remove></remove>"+F;else{const Ye=Gf(F,/^[\r\n\t ]+/);de=Ye&&Ye[0]}At==="application/xhtml+xml"&&Oe===Qe&&(F='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+F+"</body></html>");const ze=b?E(F):F;if(Oe===Qe)try{ee=new v().parseFromString(ze,At)}catch{}if(!ee||!ee.documentElement){ee=I.createDocument(Oe,"template",null);try{ee.documentElement.innerHTML=_t?L:ze}catch{}}const Pe=ee.body||ee.documentElement;return F&&de&&Pe.insertBefore(i.createTextNode(de),Pe.childNodes[0]||null),Oe===Qe?O.call(ee,Re?"html":"body")[0]:Re?ee.documentElement:Pe},Yi=function(F){return T.call(F.ownerDocument||F,F,o.SHOW_ELEMENT|o.SHOW_COMMENT|o.SHOW_TEXT|o.SHOW_PROCESSING_INSTRUCTION|o.SHOW_CDATA_SECTION,null)},Fi=function(F){var ee,de;F.normalize();const ze=T.call(F.ownerDocument||F,F,o.SHOW_TEXT|o.SHOW_COMMENT|o.SHOW_CDATA_SECTION|o.SHOW_PROCESSING_INSTRUCTION,null);let Pe=ze.nextNode();for(;Pe;){let ot=Pe.data;zs([G,j,C],le=>{ot=fr(ot,le," ")}),Pe.data=ot,Pe=ze.nextNode()}const Ye=(ee=(de=F.querySelectorAll)===null||de===void 0?void 0:de.call(F,"template"))!==null&&ee!==void 0?ee:[];zs(Array.from(Ye),ot=>{Yt(ot.content)&&Fi(ot.content)})},Xi=function(F){const ee=k?k(F):null;return typeof ee!="string"||st(ee)!=="form"?!1:typeof F.nodeName!="string"||typeof F.textContent!="string"||typeof F.removeChild!="function"||F.attributes!==d(F)||typeof F.removeAttribute!="function"||typeof F.setAttribute!="function"||typeof F.namespaceURI!="string"||typeof F.insertBefore!="function"||typeof F.hasChildNodes!="function"||F.nodeType!==w(F)||F.childNodes!==a(F)},Yt=function(F){if(!w||typeof F!="object"||F===null)return!1;try{return w(F)===Qi.documentFragment}catch{return!1}},W=function(F){if(!w||typeof F!="object"||F===null)return!1;try{return typeof w(F)=="number"}catch{return!1}};function se(we,F,ee){zs(we,de=>{de.call(t,F,ee,Et)})}const Ae=function(F){let ee=null;if(se($.beforeSanitizeElements,F,null),Xi(F))return ft(F),!0;const de=st(k?k(F):F.nodeName);if(se($.uponSanitizeElement,F,{tagName:de,allowedTags:Q}),Je&&F.hasChildNodes()&&!W(F.firstElementChild)&&Vt(/<[/\w!]/g,F.innerHTML)&&Vt(/<[/\w!]/g,F.textContent)||Je&&F.namespaceURI===Qe&&de==="style"&&W(F.firstElementChild)||F.nodeType===Qi.progressingInstruction||Je&&F.nodeType===Qi.comment&&Vt(/<[/\w]/g,F.data))return ft(F),!0;if(re[de]||!(be.tagCheck instanceof Function&&be.tagCheck(de))&&!Q[de]){if(!re[de]&&Wt(de)&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,de)||K.tagNameCheck instanceof Function&&K.tagNameCheck(de)))return!1;if(ae&&!ve[de]){const Pe=u(F),Ye=a(F);if(Ye&&Pe){const ot=Ye.length;for(let le=ot-1;le>=0;--le){const Le=y(Ye[le],!0);Pe.insertBefore(Le,g(F))}}}return ft(F),!0}return(w?w(F):F.nodeType)===Qi.element&&!vt(F)||(de==="noscript"||de==="noembed"||de==="noframes")&&Vt(/<\/no(script|embed|frames)/i,F.innerHTML)?(ft(F),!0):($e&&F.nodeType===Qi.text&&(ee=F.textContent,zs([G,j,C],Pe=>{ee=fr(ee,Pe," ")}),F.textContent!==ee&&(dr(t.removed,{element:F.cloneNode()}),F.textContent=ee)),se($.afterSanitizeElements,F,null),!1)},Ke=function(F,ee,de){if(ne[ee]||X&&(ee==="id"||ee==="name")&&(de in i||de in yt))return!1;const ze=P[ee]||be.attributeCheck instanceof Function&&be.attributeCheck(ee,F);if(!(Ee&&!ne[ee]&&Vt(M,ee))){if(!(ge&&Vt(B,ee))){if(!ze||ne[ee]){if(!(Wt(F)&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,F)||K.tagNameCheck instanceof Function&&K.tagNameCheck(F))&&(K.attributeNameCheck instanceof RegExp&&Vt(K.attributeNameCheck,ee)||K.attributeNameCheck instanceof Function&&K.attributeNameCheck(ee,F))||ee==="is"&&K.allowCustomizedBuiltInElements&&(K.tagNameCheck instanceof RegExp&&Vt(K.tagNameCheck,de)||K.tagNameCheck instanceof Function&&K.tagNameCheck(de))))return!1}else if(!Tt[ee]){if(!Vt(te,fr(de,Y,""))){if(!((ee==="src"||ee==="xlink:href"||ee==="href")&&F!=="script"&&Kf(de,"data:")===0&&ut[F])){if(!(Ne&&!Vt(H,fr(de,Y,"")))){if(de)return!1}}}}}}return!0},St=He({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Wt=function(F){return!St[mn(F)]&&Vt(V,F)},et=function(F){se($.beforeSanitizeAttributes,F,null);const ee=F.attributes;if(!ee||Xi(F))return;const de={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:P,forceKeepAttr:void 0};let ze=ee.length;for(;ze--;){const Pe=ee[ze],Ye=Pe.name,ot=Pe.namespaceURI,le=Pe.value,Le=st(Ye),Be=le;let fe=Ye==="value"?Be:wx(Be);if(de.attrName=Le,de.attrValue=fe,de.keepAttr=!0,de.forceKeepAttr=void 0,se($.uponSanitizeAttribute,F,de),fe=de.attrValue,Te&&(Le==="id"||Le==="name")&&Kf(fe,ie)!==0&&(Ft(Ye,F),fe=ie+fe),Je&&Vt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,fe)){Ft(Ye,F);continue}if(Le==="attributename"&&Gf(fe,"href")){Ft(Ye,F);continue}if(de.forceKeepAttr)continue;if(!de.keepAttr){Ft(Ye,F);continue}if(!pe&&Vt(/\/>/i,fe)){Ft(Ye,F);continue}$e&&zs([G,j,C],Ue=>{fe=fr(fe,Ue," ")});const je=st(F.nodeName);if(!Ke(je,Le,fe)){Ft(Ye,F);continue}if(b&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!ot)switch(h.getAttributeType(je,Le)){case"TrustedHTML":{fe=E(fe);break}case"TrustedScriptURL":{fe=b.createScriptURL(fe);break}}if(fe!==Be)try{ot?F.setAttributeNS(ot,Ye,fe):F.setAttribute(Ye,fe),Xi(F)?ft(F):Vf(t.removed)}catch{Ft(Ye,F)}}se($.afterSanitizeAttributes,F,null)},it=function(F){let ee=null;const de=Yi(F);for(se($.beforeSanitizeShadowDOM,F,null);ee=de.nextNode();)if(se($.uponSanitizeShadowNode,ee,null),Ae(ee),et(ee),Yt(ee.content)&&it(ee.content),(w?w(ee):ee.nodeType)===Qi.element){const Pe=l?l(ee):ee.shadowRoot;Yt(Pe)&&(qe(Pe),it(Pe))}se($.afterSanitizeShadowDOM,F,null)},qe=function(F){const ee=w?w(F):F.nodeType;if(ee===Qi.element){const Pe=l?l(F):F.shadowRoot;Yt(Pe)&&(qe(Pe),it(Pe))}const de=a?a(F):F.childNodes;if(!de)return;const ze=[];zs(de,Pe=>{dr(ze,Pe)});for(const Pe of ze)qe(Pe);if(ee===Qi.element){const Pe=k?k(F):null;if(typeof Pe=="string"&&st(Pe)==="template"){const Ye=F.content;Yt(Ye)&&qe(Ye)}}};return t.sanitize=function(we){let F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ee=null,de=null,ze=null,Pe=null;if(_t=!we,_t&&(we="<!-->"),typeof we!="string"&&!W(we)&&(we=Cx(we),typeof we!="string"))throw pr("dirty is not a string, aborting");if(!t.isSupported)return we;if(oe||Oi(F),t.removed=[],typeof we=="string"&&(_e=!1),_e){const le=k?k(we):we.nodeName;if(typeof le=="string"){const Le=st(le);if(!Q[Le]||re[Le])throw pr("root node is forbidden and cannot be sanitized in-place")}if(Xi(we))throw pr("root node is clobbered and cannot be sanitized in-place");qe(we)}else if(W(we))ee=di("<!---->"),de=ee.ownerDocument.importNode(we,!0),de.nodeType===Qi.element&&de.nodeName==="BODY"||de.nodeName==="HTML"?ee=de:ee.appendChild(de),qe(de);else{if(!ue&&!$e&&!Re&&we.indexOf("<")===-1)return b&&Ie?E(we):we;if(ee=di(we),!ee)return ue?null:Ie?L:""}ee&&ye&&ft(ee.firstChild);const Ye=Yi(_e?we:ee);for(;ze=Ye.nextNode();)Ae(ze),et(ze),Yt(ze.content)&&it(ze.content);if(_e)return $e&&Fi(we),we;if(ue){if($e&&Fi(ee),me)for(Pe=A.call(ee.ownerDocument);ee.firstChild;)Pe.appendChild(ee.firstChild);else Pe=ee;return(P.shadowroot||P.shadowrootmode)&&(Pe=U.call(s,Pe,!0)),Pe}let ot=Re?ee.outerHTML:ee.innerHTML;return Re&&Q["!doctype"]&&ee.ownerDocument&&ee.ownerDocument.doctype&&ee.ownerDocument.doctype.name&&Vt(Px,ee.ownerDocument.doctype.name)&&(ot="<!DOCTYPE "+ee.ownerDocument.doctype.name+`>
158
+ `+ot),$e&&zs([G,j,C],le=>{ot=fr(ot,le," ")}),b&&Ie?E(ot):ot},t.setConfig=function(){let we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Oi(we),oe=!0},t.clearConfig=function(){Et=null,oe=!1},t.isValidAttribute=function(we,F,ee){Et||Oi({});const de=st(we),ze=st(F);return Ke(de,ze,ee)},t.addHook=function(we,F){typeof F=="function"&&dr($[we],F)},t.removeHook=function(we,F){if(F!==void 0){const ee=_x($[we],F);return ee===-1?void 0:vx($[we],ee,1)[0]}return Vf($[we])},t.removeHooks=function(we){$[we]=[]},t.removeAllHooks=function(){$=tp()},t}var Fx=W_();const Hx=/[^\n]*?(?:[。!?…]+|[.!?]+(?=\s|$)|\n+|$)/gu,$x=/[。!?…]$|[.!?]$/;function zx(e,t){for(let i=e.parentNode;i&&i!==t;i=i.parentNode){const s=i.nodeName;if(s==="PRE"||s==="SCRIPT"||s==="STYLE"||s==="CODE")return!0}return!1}function Ux(e){if(!e)return[];if(e.querySelector("span.tts-sent"))return Wx(e);const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:r=>r.nodeValue&&r.nodeValue.trim()&&!zx(r,e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),i=[];for(;t.nextNode();)i.push(t.currentNode);const s=[],n=[];let c=0;for(const r of i){const o=r.ownerDocument.createDocumentFragment();for(const f of r.nodeValue.matchAll(Hx)){const v=f[0];if(v==="")continue;const h=r.ownerDocument.createElement("span");h.className="tts-sent",h.textContent=v,o.appendChild(h),(n[c]||(n[c]=[])).push(h),s[c]=(s[c]||"")+v,$x.test(v)&&c++}r.parentNode.replaceChild(o,r)}const m=[];return s.forEach((r,o)=>{const f=(r||"").replace(/\s+/g," ").trim();if(!f)return;const v=m.length;m.push(f);for(const h of n[o]||[])h.dataset.tts=String(v)}),m}function Wx(e){const t=[];return e.querySelectorAll("span.tts-sent[data-tts]").forEach(i=>{const s=Number(i.dataset.tts);t[s]=(t[s]||"")+i.textContent}),t.map(i=>(i||"").replace(/\s+/g," ").trim())}const V_="tw_doc_rate",ta=[1,1.25,1.5],ip=()=>{const e=Number(localStorage.getItem(V_));return ta.includes(e)?e:1};function Vx(){const e=typeof window<"u"&&window.speechSynthesis||null,[t,i]=N.useState({playing:!1,paused:!1,idx:-1}),[s,n]=N.useState(ip),c=N.useRef({sentences:[],idx:-1,playing:!1,rate:ip()});c.current.rate=s;const m=()=>((e==null?void 0:e.getVoices())||[]).find(y=>/^zh/i.test(y.lang))||null,r=y=>{const S=c.current;if(!e)return;if(y<0||y>=S.sentences.length){o();return}S.idx=y,i({playing:!0,paused:!1,idx:y});const g=new SpeechSynthesisUtterance(S.sentences[y]);g.rate=S.rate;const a=m();a?(g.voice=a,g.lang=a.lang):g.lang="zh-CN";const u=()=>{S.playing&&S.idx===y&&r(y+1)};g.onend=u,g.onerror=u,e.speak(g)},o=()=>{const y=c.current;y.playing=!1,y.idx=-1,e&&e.cancel(),i({playing:!1,paused:!1,idx:-1})},f=y=>{if(!e||!y||!y.length)return;e.cancel();const S=c.current;if(S.sentences=y,S.playing=!0,S.idx=-1,i({playing:!0,paused:!1,idx:-1}),e.getVoices().length){r(0);return}const g=()=>{e.removeEventListener("voiceschanged",g),S.playing&&S.idx===-1&&r(0)};e.addEventListener("voiceschanged",g),setTimeout(g,300)},v=()=>{e&&c.current.playing&&(e.pause(),i(y=>({...y,paused:!0})))},h=()=>{e&&c.current.playing&&(e.resume(),i(y=>({...y,paused:!1})))},p=()=>{const y=ta[(ta.indexOf(s)+1)%ta.length]||1;localStorage.setItem(V_,String(y)),c.current.rate=y,n(y);const S=c.current;e&&S.playing&&S.idx>=0&&(e.cancel(),r(S.idx))};return N.useEffect(()=>()=>{c.current.playing=!1,e&&e.cancel()},[e]),{supported:!!e,playing:t.playing,paused:t.paused,idx:t.idx,rate:s,play:f,pause:v,resume:h,stop:o,cycleRate:p}}const sp=6,Gx=500,rp=10,Kx=300,np=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y);function qx({url:e,name:t}){const[i,s]=N.useState({s:1,x:0,y:0}),[n,c]=N.useState(""),[m,r]=N.useState(!1),o=N.useRef(i);o.current=i;const f=N.useRef(null),v=N.useRef(null),h=N.useRef(null),p=N.useRef(new Map),y=N.useRef(null),S=N.useRef(null),g=N.useRef(null),a=N.useRef({moved:!1,lpFired:!1,pinched:!1}),u=N.useRef(0);if(!e)return _.jsx("div",{className:"doc-image-msg",children:D("imageviewer.loadFailed")});const l=(T,A,O)=>{const U=v.current,$=h.current;if(!U||!$)return{x:A,y:O};const G=Math.max(0,($.offsetWidth*T-U.clientWidth)/2),j=Math.max(0,($.offsetHeight*T-U.clientHeight)/2);return{x:Math.min(G,Math.max(-G,A)),y:Math.min(j,Math.max(-j,O))}},d=(T,A,O)=>{if(T=Math.min(sp,Math.max(1,T)),T<=1){s({s:1,x:0,y:0});return}const U=l(T,A,O);s({s:T,x:U.x,y:U.y})},w=T=>d(o.current.s*T,o.current.x,o.current.y),k=()=>{g.current&&(clearTimeout(g.current),g.current=null)},b=T=>{c(T),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>c(""),2500)},L=()=>{r(!1);const T=document.createElement("a");T.href=e,T.download=t||"image",document.body.appendChild(T),T.click(),T.remove(),b(D("imageviewer.saved"))},x=async()=>{var T;r(!1);try{const A=await(await fetch(e)).blob(),O=new File([A],t||"image",{type:tl(t)||A.type||"application/octet-stream"});if((T=navigator.canShare)!=null&&T.call(navigator,{files:[O]})){await navigator.share({files:[O]});return}}catch{return}b(D("imageviewer.shareUnsupported"))},E=T=>{var O,U;(U=(O=T.currentTarget).setPointerCapture)==null||U.call(O,T.pointerId),p.current.set(T.pointerId,{x:T.clientX,y:T.clientY});const A=p.current.size;if(A===2){k(),a.current.pinched=!0;const[$,G]=[...p.current.values()];y.current={dist:np($,G)||1,s:o.current.s}}else A===1&&(a.current.moved=!1,a.current.lpFired=!1,a.current.pinched=!1,S.current={x:T.clientX,y:T.clientY},k(),g.current=setTimeout(()=>{g.current=null,p.current.size===1&&!a.current.moved&&(a.current.lpFired=!0,r(!0))},Gx))},R=T=>{if(p.current.has(T.pointerId)){if(p.current.set(T.pointerId,{x:T.clientX,y:T.clientY}),p.current.size>=2&&y.current){const[A,O]=[...p.current.values()];d(y.current.s*(np(A,O)/y.current.dist),o.current.x,o.current.y);return}if(S.current){const A=T.clientX-S.current.x,O=T.clientY-S.current.y;(Math.abs(A)>rp||Math.abs(O)>rp)&&(a.current.moved=!0,k()),o.current.s>1&&(S.current={x:T.clientX,y:T.clientY},d(o.current.s,o.current.x+A,o.current.y+O))}}},I=T=>{if(k(),p.current.delete(T.pointerId),p.current.size===1){y.current=null;const[A]=[...p.current.values()];S.current={x:A.x,y:A.y}}else if(p.current.size===0){if(!a.current.moved&&!a.current.lpFired&&!a.current.pinched){const O=T.timeStamp||0;O-u.current<Kx?(u.current=0,o.current.s>1?d(1,0,0):d(2,0,0)):u.current=O}y.current=null,S.current=null,a.current={moved:!1,lpFired:!1,pinched:!1}}};return _.jsxs("div",{ref:v,className:"doc-image-wrap",onPointerDown:E,onPointerMove:R,onPointerUp:I,onPointerCancel:I,onContextMenu:T=>T.preventDefault(),children:[_.jsx("img",{ref:h,className:"doc-image",src:e,alt:t,draggable:!1,style:{transform:`translate(${i.x}px, ${i.y}px) scale(${i.s})`}}),_.jsxs("div",{className:"doc-image-zoom",onPointerDown:T=>T.stopPropagation(),children:[_.jsx("button",{onClick:()=>w(1/1.5),disabled:i.s<=1,"aria-label":D("imageviewer.zoomOut"),children:"−"}),_.jsxs("span",{className:"doc-image-zoom-val","aria-hidden":"true",children:[Math.round(i.s*100),"%"]}),_.jsx("button",{onClick:()=>w(1.5),disabled:i.s>=sp,"aria-label":D("imageviewer.zoomIn"),children:"+"})]}),n&&_.jsx("div",{className:"doc-image-note",role:"status",children:n}),_.jsx(uh,{open:m,title:t||D("imageviewer.imageTitle"),actions:[{key:"save",label:D("imageviewer.saveImage"),onClick:L},{key:"share",label:D("imageviewer.shareImage"),onClick:x}],onClose:()=>r(!1)})]})}const Wl=_s.length-1;function Yx({type:e,name:t,content:i}){const[s,n]=N.useState(()=>sy()),c=N.useRef(null),m=Vx();ch(m.playing&&!m.paused);const r=N.useMemo(()=>e==="markdown"?Fx.sanitize(rt.parse(i||"")):"",[e,i]);if(N.useEffect(()=>{m.stop()},[r]),N.useEffect(()=>{var y;const h=c.current;if(!h||(h.querySelectorAll(".tts-active").forEach(S=>S.classList.remove("tts-active")),m.idx<0))return;const p=h.querySelectorAll(`.tts-sent[data-tts="${m.idx}"]`);p.forEach(S=>S.classList.add("tts-active")),(y=p[0])==null||y.scrollIntoView({block:"center",behavior:"smooth"})},[m.idx]),e==="image")return _.jsx(qx,{url:i,name:t});if(e==="html")return _.jsx("iframe",{className:"doc-iframe",sandbox:"allow-scripts",srcDoc:i||"",title:t});const o=h=>{const p=Math.min(Wl,Math.max(0,s+h));n(p),ry(p)};if(e==="text")return _.jsxs("div",{className:"doc-md-wrap",children:[_.jsx("div",{className:"doc-zoom",children:_.jsxs("div",{className:"doc-fonts",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":D("doc.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=Wl,"aria-label":D("doc.fontLarger"),children:"A+"})]})}),_.jsx("pre",{className:"doc-text",style:{fontSize:`${_s[s]}px`},children:i||""})]});const f=()=>{if(m.playing){m.paused?m.resume():m.pause();return}const h=Ux(c.current);h.length&&m.play(h)},v=m.playing&&!m.paused;return _.jsxs("div",{className:"doc-md-wrap",children:[_.jsxs("div",{className:"doc-zoom",children:[m.supported&&_.jsxs("div",{className:"doc-tts",children:[_.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:f,"aria-label":v?D("doc.pauseRead"):m.paused?D("doc.resumeRead"):D("doc.read"),children:v?_.jsx(t1,{}):_.jsx(e1,{})}),_.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:m.stop,disabled:!m.playing,"aria-label":D("doc.stopRead"),children:_.jsx(i1,{})}),_.jsxs("button",{className:"doc-zoom-btn",onClick:m.cycleRate,"aria-label":D("doc.rate"),children:[m.rate,"×"]})]}),_.jsxs("div",{className:"doc-fonts",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":D("doc.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=Wl,"aria-label":D("doc.fontLarger"),children:"A+"})]})]}),_.jsx("div",{ref:c,className:"doc-md",style:{fontSize:`${_s[s]}px`},dangerouslySetInnerHTML:{__html:r}})]})}function Xx({open:e,pane:t,windowId:i,tabs:s,active:n,onActivate:c,onCloseTab:m,onMinimize:r,onOpenDoc:o,pendingShare:f,onPendingConsumed:v}){const h=s.find($=>$.key===n)||s[0],[p,y]=N.useState("recent"),[S,g]=N.useState(null),[a,u]=N.useState(0),l=h.type==="home",d=N.useRef(null),w=N.useRef(S);w.current=S;const k=N.useRef(n);k.current=n;const b=N.useRef(i);b.current=i;const L=N.useRef(r);L.current=r;const x=N.useRef(c);x.current=c;const E=N.useRef(n),R=N.useRef(0),I=N.useRef([]),T=()=>{window.history.pushState({fileOverlay:!0},""),R.current+=1},A=$=>{e&&$!==w.current&&(I.current.push({type:"nav",prev:w.current}),T()),g($),rf(i,$)},O=N.useRef(e);N.useEffect(()=>{const $=E.current;E.current=n;const G=O.current;O.current=e,e&&G&&$==="home"&&n!=="home"&&(I.current.push({type:"doc"}),T())},[n,e]),N.useEffect(()=>{if(!e)return;I.current=[],R.current=0,T();const $=()=>{var j,C;R.current=Math.max(0,R.current-1);const G=I.current.pop();if((G==null?void 0:G.type)==="doc"){(j=x.current)==null||j.call(x,"home");return}if((G==null?void 0:G.type)==="nav"){g(G.prev),G.prev&&rf(b.current,G.prev);return}(C=L.current)==null||C.call(L)};return window.addEventListener("popstate",$),()=>{window.removeEventListener("popstate",$),R.current>0&&(window.history.go(-R.current),R.current=0)}},[e]);const U=async()=>{try{const{cwd:$}=await rr(t);$&&g($)}catch{}};return N.useEffect(()=>{f&&y("browse")},[f]),N.useEffect(()=>{e&&u($=>$+1)},[e]),N.useEffect(()=>{if(!e){d.current=null;return}if(d.current===i)return;d.current=i,I.current=[],y("browse");let $=!1;return(async()=>{const G=jw(i);let j=null;if(G)try{await Wg(G),j=G}catch{}if(!j&&t)try{const{cwd:C}=await rr(t);j=C}catch{}!$&&j&&g(j)})(),()=>{$=!0}},[e,i,t]),io.createPortal(_.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[_.jsxs("div",{className:"file-tabs",children:[_.jsx("div",{className:"file-tabs-scroll",children:s.map($=>_.jsxs("div",{className:`file-tab ${$.key===n?"active":""}`,children:[_.jsx("button",{className:"file-tab-label",onClick:()=>c($.key),children:$.key==="home"?_.jsxs(_.Fragment,{children:[_.jsx(Kn,{}),D("filemanager.files")]}):$.name}),$.key!=="home"&&_.jsx("button",{className:"file-tab-x","aria-label":D("filemanager.closeTab"),onClick:()=>m($.key),children:"✕"})]},$.key))}),_.jsx("button",{className:"file-min","aria-label":D("filemanager.minimize"),title:D("filemanager.minimize"),onClick:r,children:_.jsx(Bs,{})})]}),_.jsx("div",{className:"file-body",children:l?_.jsxs("div",{className:"home-pane",children:[_.jsxs("div",{className:"file-seg",role:"tablist",children:[_.jsxs("button",{className:`file-seg-btn ${p==="recent"?"on":""}`,role:"tab","aria-selected":p==="recent",onClick:()=>y("recent"),children:[_.jsx(Xg,{}),D("filemanager.recent")]}),_.jsxs("button",{className:`file-seg-btn ${p==="browse"?"on":""}`,role:"tab","aria-selected":p==="browse",onClick:()=>y("browse"),children:[_.jsx(Kn,{}),D("filemanager.directory")]})]}),p==="recent"?_.jsx(Lb,{onOpenDoc:o,refreshKey:a}):_.jsx(L_,{path:S,onNavigate:A,onOpenDoc:o,onJumpToCwd:t?U:null,refreshKey:a,pendingFile:f,onPendingConsumed:v})]}):_.jsx(Yx,{type:h.type,name:h.name,content:h.content})})]}),document.body)}function Jx(e){if(!e)return[];const t=[];let i=null,s=null;for(const n of e.split(`
159
+ `)){if(n.startsWith("diff --git")){const m=n.match(/ b\/(.*)$/);i={path:m?m[1]:n.slice(11),hunks:[]},t.push(i),s=null;continue}if(!i)continue;if(n.startsWith("@@")){s={header:n,lines:[]},i.hunks.push(s);continue}if(!s)continue;const c=n[0];c==="+"?s.lines.push({type:"add",text:n.slice(1)}):c==="-"?s.lines.push({type:"del",text:n.slice(1)}):c===" "&&s.lines.push({type:"ctx",text:n.slice(1)})}return t}const Zx=e=>String(e||"").replace(/\/+$/,"").split("/").pop()||e;function Ba(e,t){const i=(e&&e!==" "?e:t)||"?";return i==="?"?"?":i}function Qx({open:e,pane:t,windowId:i,inset:s=0,onClose:n}){const c=N.useRef(!0);N.useEffect(()=>()=>{c.current=!1},[]);const[m,r]=N.useState([]),[o,f]=N.useState(null),[v,h]=N.useState([]),p=v.length?v[v.length-1]:null,[y,S]=N.useState(!1),[g,a]=N.useState(null),u=N.useRef(i);N.useEffect(()=>{u.current=i},[i]);const[l,d]=N.useState(null),[w,k]=N.useState(null),[b,L]=N.useState(null),[x,E]=N.useState(null),[R,I]=N.useState(20),[T,A]=N.useState(!1),[O,U]=N.useState({changes:!0,commits:!0}),[$,G]=N.useState(!1),j=N.useRef(null),[C,M]=N.useState(null),[B,H]=N.useState(null),[Y,V]=N.useState(null),te=N.useRef(v);te.current=v;const Q=N.useRef(y);Q.current=y;const z=N.useRef(n);z.current=n;const P=N.useRef(0),J=()=>{window.history.pushState({gitOverlay:!0},""),P.current+=1},K=ie=>{J(),h(ae=>[...ae,ie])},re=()=>{J(),S(!0)};N.useEffect(()=>{if(!e)return;J();const ie=()=>{var ae;if(P.current=Math.max(0,P.current-1),Q.current){S(!1);return}if(te.current.length){h(_e=>_e.slice(0,-1));return}(ae=z.current)==null||ae.call(z)};return window.addEventListener("popstate",ie),()=>{window.removeEventListener("popstate",ie),P.current>0&&(window.history.go(-P.current),P.current=0)}},[e]),N.useEffect(()=>{if(!e)return;let ie=!1;h([]),E(null),H(null),V(null);const ae=rh(i);return ae.length?(r(ae),f(_e=>_e&&ae.includes(_e)?_e:ae[0]),()=>{ie=!0}):(r([]),f(null),(async()=>{try{if(!t)return;const{cwd:_e}=await rr(t);if(!_e)return;const{repos:xe=[]}=await df(_e);if(ie||!xe.length)return;const ve=cf(i,xe.map(dt=>dt.path));if(ie)return;r(ve),f(ve[0]??null)}catch(_e){if(ie)return;(_e==null?void 0:_e.message)==="outside home"?V(D("git.outsideRoots")):H(D("git.errReadRepo"))}})(),()=>{ie=!0})},[e,t,i]),N.useEffect(()=>{if(!e||!t)return;let ie=!1;return rr(t).then(({cwd:ae})=>{!ie&&ae&&a(ae)}).catch(()=>{}),()=>{ie=!0}},[e,t]),N.useEffect(()=>{if(!e||!o){d(null),k(null);return}let ie=!1;return d(null),k(null),L(null),E(null),I(20),H(null),V(null),(async()=>{try{const[ae,_e]=await Promise.all([Oy(o),jy(o)]);if(ie)return;d(ae.changes??[]),k(_e.branches??[])}catch{ie||H(D("git.errLoad"))}})(),()=>{ie=!0}},[e,o]),N.useEffect(()=>{if(!e||!o){L(null);return}let ie=!1;return(async()=>{try{const{commits:ae=[]}=await By(o,{ref:x||void 0,limit:R});ie||L(ae)}catch{ie||L([])}finally{ie||A(!1)}})(),()=>{ie=!0}},[e,o,x,R]);const ne=!o||!p?"":p.kind==="diff"?`${o}|diff|${p.path}|${p.commit||""}|${p.staged?1:0}`:`${o}|commit|${p.hash}`;N.useEffect(()=>{if(!e||!o||!p){M(null);return}let ie=!1;return H(null),M(null),(async()=>{try{let ae;if(p.kind==="diff"){const{diff:_e,truncated:xe}=await Fy(o,{path:p.path,commit:p.commit,staged:p.staged});ae={files:Jx(_e),truncated:xe}}else ae=await Hy(o,p.hash);ie||M({key:ne,payload:ae})}catch{ie||H(D("git.errLoad"))}})(),()=>{ie=!0}},[e,ne]);const be=N.useCallback(()=>{window.history.back()},[]),ge=ie=>{f(ie),h([]),E(null)},Ee=async ie=>{window.history.back(),V(null);try{const{repos:ae=[]}=await df(ie);if(!c.current)return;if(!ae.length){V(D("git.noRepoInDir"));return}const _e=ae.map(ut=>ut.path),xe=u.current,ve=xe?cf(xe,_e):_e;r(ut=>{const Ze=[...ut];for(const Tt of ve)Ze.includes(Tt)||Ze.push(Tt);return Ze});const dt=_e.find(ut=>!m.includes(ut))||_e[0];ge(dt)}catch(ae){if(!c.current)return;(ae==null?void 0:ae.message)==="outside home"?V(D("git.outsideRoots")):H(D("git.errReadDir"))}},Ne=ie=>{const ae=fy(i,ie);r(ae),o===ie&&(f(ae[0]??null),h([]),E(null))},pe=(w||[]).find(ie=>ie.current)||null,$e=ie=>{const ae=ie===(pe==null?void 0:pe.name)?null:ie;ae!==x&&(E(ae),L(null),I(20))},Je=ie=>U(ae=>({...ae,[ie]:!ae[ie]})),Re=b!=null&&b.length>=R,oe=ie=>{if(!Re||T)return;const ae=ie.currentTarget;ae.scrollHeight-ae.scrollTop-ae.clientHeight<80&&(A(!0),I(_e=>_e+20))},ye=x||(pe==null?void 0:pe.name)||null,ue=!!x&&x!==(pe==null?void 0:pe.name),me=x?(w||[]).find(ie=>ie.name===x):pe,Ie=C&&C.key===ne?C.payload:null,X=!!p,Te=(p==null?void 0:p.kind)==="commit"?D("git.commitDetail"):(p==null?void 0:p.kind)==="diff"?p.path||D("git.diff"):"";return io.createPortal(_.jsxs("div",{className:`file-sheet git-sheet ${e?"open":""}`,"aria-hidden":!e,style:{"--kb-inset":`${s}px`},children:[_.jsxs("div",{className:"file-tabs git-head",children:[X?_.jsxs("div",{className:"git-drill-head",children:[_.jsx("button",{className:"git-back","aria-label":D("common.back"),title:D("common.back"),onClick:be,children:"‹"}),_.jsxs("span",{className:"git-drill-title",children:[_.jsx(Qg,{}),_.jsx("span",{className:"git-title-text",children:Te})]})]}):_.jsxs("div",{className:"git-tabs-scroll",children:[_.jsx("button",{className:"git-tab-add","aria-label":D("git.bindRepo"),title:D("git.bindRepo"),onClick:re,children:"+"}),m.map(ie=>_.jsxs("div",{className:`git-tab ${ie===o?"active":""}`,children:[_.jsx("button",{className:"git-tab-label",onClick:()=>ge(ie),children:Zx(ie)}),_.jsx("button",{className:"git-tab-x","aria-label":D("common.close"),title:D("common.close"),onClick:()=>Ne(ie),children:"✕"})]},ie))]}),_.jsx("button",{className:"file-min","aria-label":D("git.collapse"),title:D("git.collapse"),onClick:()=>n==null?void 0:n(),children:_.jsx(Bs,{})})]}),!X&&o&&_.jsxs("div",{className:"git-branch-bar",children:[_.jsxs("span",{className:"git-branch-bar-name",children:[_.jsx("span",{className:"git-branch-glyph",children:"⎇"})," ",ye||"—",!ue&&ye&&_.jsx("span",{className:"git-branch-cur-tag",children:D("git.currentBranch")}),me&&(me.ahead||me.behind)?_.jsxs("span",{className:"git-branch-bar-track",children:[me.ahead?_.jsxs("span",{className:"git-ahead",children:["↑",me.ahead]}):null,me.behind?_.jsxs("span",{className:"git-behind",children:["↓",me.behind]}):null]}):null]}),_.jsxs("div",{className:"git-branch-dd",children:[_.jsxs("button",{className:`git-branch-trigger ${ue?"other":""}`,onClick:()=>G(ie=>!ie),"aria-haspopup":"listbox","aria-expanded":$,title:D("git.switchViewedBranch"),children:[_.jsx("span",{className:"git-branch-trigger-name",children:D("git.switchBranch")}),_.jsx("span",{className:"git-branch-caret",children:_.jsx(Bs,{})})]}),$&&_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"git-dd-backdrop",onClick:()=>G(!1)}),_.jsxs("div",{className:"git-dd-menu",role:"listbox",children:[(w||[]).length===0&&_.jsx("div",{className:"git-empty",children:D("git.noBranches")}),(w||[]).map(ie=>{const ae=x?ie.name===x:ie.current;return _.jsxs("button",{role:"option","aria-selected":ae,className:`git-dd-item ${ie.current?"current":""} ${ae?"viewing":""}`,onClick:()=>{$e(ie.name),G(!1)},children:[_.jsx("span",{className:"git-branch-dot",children:ie.current?"●":""}),_.jsx("span",{className:"git-row-path",children:ie.name}),ie.upstream&&_.jsxs("span",{className:"git-branch-up",children:[ie.upstream,ie.ahead?_.jsxs("span",{className:"git-ahead",children:[" ↑",ie.ahead]}):null,ie.behind?_.jsxs("span",{className:"git-behind",children:[" ↓",ie.behind]}):null]})]},ie.name)})]})]})]})]}),_.jsxs("div",{className:"git-body",children:[B&&_.jsx("div",{className:"git-error",children:B}),Y&&!B&&!X&&_.jsx("div",{className:"git-notice",children:Y}),!o&&!B&&!Y&&_.jsx("div",{className:"git-empty",children:D("git.noRepoBound")}),X&&o&&!B&&_.jsx("div",{className:"git-scroll",children:Ie?p.kind==="diff"?_.jsx(sC,{data:Ie}):_.jsx(iC,{data:Ie,onOpenFile:ie=>K({kind:"diff",path:ie,commit:p.hash})}):_.jsx("div",{className:"git-loading",children:D("common.loading")})}),!X&&o&&!B&&_.jsxs(_.Fragment,{children:[_.jsx(op,{variant:"top",title:D("git.changes"),count:l==null?void 0:l.length,expanded:O.changes,onToggle:()=>Je("changes"),children:l==null?_.jsx("div",{className:"git-loading",children:D("common.loading")}):_.jsx(eC,{data:{changes:l},onOpenFile:(ie,ae)=>K({kind:"diff",path:ie,staged:ae})})}),_.jsx(op,{variant:"mid",title:D("git.commits"),subtitle:ue?ye:null,expanded:O.commits,onToggle:()=>Je("commits"),bodyRef:j,onScroll:oe,children:b==null?_.jsx("div",{className:"git-loading",children:D("common.loading")}):_.jsxs(_.Fragment,{children:[_.jsx(tC,{data:{commits:b},onOpen:ie=>K({kind:"commit",hash:ie})}),Re&&_.jsx("div",{className:"git-more",children:D(T?"common.loading":"git.pullToLoadMore")})]})})]})]}),_.jsx(ro,{open:y,seedCwd:g,pane:t,inset:s,hint:D("git.pickerHint"),onPick:Ee,onClose:()=>window.history.back()})]}),document.body)}function op({variant:e,title:t,subtitle:i,count:s,expanded:n,onToggle:c,onScroll:m,bodyRef:r,children:o}){return _.jsxs("div",{className:`git-section git-section--${e} ${n?"open":""}`,children:[_.jsxs("button",{className:"git-section-head",onClick:c,"aria-expanded":n,children:[_.jsx("span",{className:"git-section-caret",children:_.jsx(Bs,{})}),_.jsx("span",{className:"git-section-title",children:t}),i&&_.jsx("span",{className:"git-section-sub",children:i}),s!=null&&_.jsx("span",{className:"git-section-count",children:s})]}),n&&_.jsx("div",{className:"git-section-body",ref:r,onScroll:m,children:o})]})}function eC({data:e,onOpenFile:t}){const i=(e==null?void 0:e.changes)??[];return i.length?_.jsx("div",{className:"git-list",children:i.map((s,n)=>{const c=!!(s.x&&s.x!==" "&&s.x!=="?");return _.jsxs("button",{className:"git-row",onClick:()=>t(s.path,c),children:[_.jsx("span",{className:`git-badge git-badge-${Ba(s.x,s.y).toLowerCase().replace("?","q")}`,children:Ba(s.x,s.y)}),_.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${n}`)})}):_.jsx("div",{className:"git-empty",children:D("git.cleanTree")})}function tC({data:e,onOpen:t}){const i=(e==null?void 0:e.commits)??[];return i.length?_.jsx("div",{className:"git-list",children:i.map(s=>_.jsxs("button",{className:"git-row git-commit-row",onClick:()=>t(s.hash),children:[_.jsx("span",{className:"git-hash",children:s.short}),_.jsxs("span",{className:"git-commit-main",children:[_.jsx("span",{className:"git-row-path",children:s.subject}),_.jsxs("span",{className:"git-commit-meta",children:[s.author," · ",s.relDate]})]})]},s.hash))}):_.jsx("div",{className:"git-empty",children:D("git.noCommits")})}function iC({data:e,onOpenFile:t}){if(!e)return null;const i=e.files??[];return _.jsxs("div",{className:"git-commit-detail",children:[e.message&&_.jsx("pre",{className:"git-commit-msg",children:e.message}),_.jsx("div",{className:"git-list",children:i.map((s,n)=>_.jsxs("button",{className:"git-row",onClick:()=>t(s.path),children:[_.jsx("span",{className:`git-badge git-badge-${Ba(s.x,s.y).toLowerCase().replace("?","q")}`,children:Ba(s.x,s.y)}),_.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${n}`))})]})}const ap=_s.length-1;function sC({data:e}){const[t,i]=N.useState(()=>oy()),s=c=>{const m=Math.min(ap,Math.max(0,t+c));i(m),ay(m)};if(!e)return null;const n=e.files??[];return n.length?_.jsxs("div",{className:"git-diff-wrap",style:{fontSize:`${_s[t]}px`},children:[_.jsxs("div",{className:"git-diff-zoom",children:[_.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(-1),disabled:t<=0,"aria-label":D("git.fontSmaller"),children:"A−"}),_.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(1),disabled:t>=ap,"aria-label":D("git.fontLarger"),children:"A+"})]}),e.truncated&&_.jsx("div",{className:"git-diff-trunc",children:D("git.diffTruncated")}),n.map((c,m)=>_.jsxs("div",{className:"git-diff-file",children:[n.length>1&&_.jsx("div",{className:"git-diff-fname",children:c.path}),_.jsx("div",{className:"git-diff",children:c.hunks.map((r,o)=>_.jsxs("div",{className:"git-diff-hunk-block",children:[_.jsx("div",{className:"git-diff-line git-diff-hunk",children:r.header}),r.lines.map((f,v)=>_.jsxs("div",{className:`git-diff-line git-diff-${f.type}`,children:[f.type==="add"?"+":f.type==="del"?"-":" ",f.text]},v))]},o))})]},`${c.path}-${m}`))]}):_.jsx("div",{className:"git-empty",children:D("git.noDiff")})}function rC(){const e=hS();if(!e.active)return null;const t=e.phase==="sending",i=Math.round((e.pct||0)*100);return io.createPortal(_.jsx("div",{className:"upload-overlay",role:"alertdialog","aria-modal":"true","aria-label":D("upload.title"),children:_.jsxs("div",{className:"upload-card",children:[e.label&&_.jsx("div",{className:"upload-card-label",children:e.label}),t?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"upload-bar",children:_.jsx("div",{className:"upload-bar-fill",style:{width:`${i}%`}})}),_.jsxs("div",{className:"upload-card-sub",children:[i,"%"]})]}):_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"upload-spinner","aria-hidden":"true"}),_.jsx("div",{className:"upload-card-sub",children:D("upload.processing")})]}),_.jsx("button",{type:"button",className:"upload-cancel",onClick:lS,children:D("common.cancel")})]})}),document.body)}const jo=8,lp=12;function nC({path:e,x:t,y:i,onOpen:s,onClose:n}){const c=e.split("/").filter(Boolean).pop()||e,m=N.useRef(null),[r,o]=N.useState(null);return N.useLayoutEffect(()=>{const f=m.current;if(!f)return;const v=f.offsetWidth,h=f.offsetHeight,p=window.innerWidth,y=window.innerHeight,S=Math.min(Math.max(t-v/2,jo),p-v-jo);let g=i+lp;g+h>y-jo&&(g=Math.max(jo,i-lp-h)),o({left:S,top:g})},[t,i,e]),_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"doclink-backdrop",onClick:n}),_.jsxs("div",{ref:m,className:"doclink-pop",style:r?{left:r.left,top:r.top}:{left:0,top:0,visibility:"hidden"},role:"dialog","aria-label":D("doclink.title"),children:[_.jsxs("div",{className:"doclink-name",children:[_.jsx(Kn,{}),c]}),_.jsx("div",{className:"doclink-path",children:e}),_.jsxs("div",{className:"doclink-actions",children:[_.jsx("button",{className:"doclink-cancel",onClick:n,children:D("common.cancel")}),_.jsx("button",{className:"doclink-open",onClick:()=>s(e),children:D("common.open")})]})]})]})}const oC=()=>`${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`;function aC(e){const t=(e??"").trim();return t?{id:oC(),text:t}:null}function lC(e,t,i){const s=[...e];if(t<0||t>=s.length||i<0||i>=s.length||t===i)return s;const[n]=s.splice(t,1);return s.splice(i,0,n),s}function cC({open:e,session:t,window:i,onClose:s,onSend:n,onCountChange:c}){const[m,r]=N.useState([]),[o,f]=N.useState(""),[v,h]=N.useState(null),[p,y]=N.useState(null),S=N.useRef(null),g=N.useRef({head:"",tail:""}),a=N.useRef(null),u=N.useRef(!1),l=N.useRef({active:!1}),d=C=>{lf(t,i,C),r(C),c==null||c(C.length)},w=C=>{C&&(C.style.height="auto",C.style.height=`${C.scrollHeight+2}px`)};N.useEffect(()=>{if(!e)return;const C=Ug(t,i);r(C),c==null||c(C.length),f(""),h(null)},[e,t,i]);const b=C_({onText:C=>{if(u.current){u.current=!1;return}const{head:M,tail:B}=g.current;f(M+C+B),a.current=M.length+C.length}}),L=E_(),x=b.state==="recording"||b.state==="finalizing";ch(x),N.useEffect(()=>{if(b.state!=="recording"&&b.state!=="finalizing"||u.current)return;const{head:C,tail:M}=g.current;f(C+b.partial+M),a.current=C.length+b.partial.length},[b.partial,b.state]),N.useLayoutEffect(()=>{const C=S.current;if(!C||(w(C),a.current==null))return;const M=a.current;if(a.current=null,document.activeElement===C)try{C.setSelectionRange(M,M)}catch{}},[o]);const E=()=>{if(x){b.stop();return}const C=S.current,M=C?C.selectionStart:o.length;g.current={head:o.slice(0,M),tail:o.slice(M)},b.start()},R=()=>{x&&(u.current=!0,b.stop())},I=()=>{R();const C=o.trim();if(C){if(v)d(m.map(M=>M.id===v?{...M,text:C}:M));else{const M=aC(C);M&&d([...m,M])}f(""),h(null)}},T=C=>{h(C.id),f(C.text),requestAnimationFrame(()=>{var M;return(M=S.current)==null?void 0:M.focus()})},A=()=>{h(null),f("")},O=C=>{d(m.filter(M=>M.id!==C)),C===v&&A()},U=(C,M)=>{var B,H;C.cancelable&&C.preventDefault(),(H=(B=C.currentTarget).setPointerCapture)==null||H.call(B,C.pointerId),l.current={active:!0,pointerId:C.pointerId,id:M},y(M)},$=C=>{var V;const M=l.current;if(!M.active||C.pointerId!==M.pointerId)return;const B=(V=C.currentTarget.closest(".idea-list"))==null?void 0:V.querySelectorAll("[data-idea]");if(!B||!B.length)return;const H=C.clientY;let Y=B.length-1;for(let te=0;te<B.length;te++){const Q=B[te].getBoundingClientRect();if(H<Q.top+Q.height/2){Y=te;break}}r(te=>{const Q=te.findIndex(z=>z.id===M.id);return Q<0||Q===Y?te:lC(te,Q,Y)})},G=C=>{const M=l.current;!M.active||C.pointerId!==M.pointerId||(l.current={active:!1},y(null),r(B=>(lf(t,i,B),B)))};if(!e)return null;const j=v!=null;return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:s}),_.jsxs("div",{className:"idea-panel",role:"dialog","aria-label":D("idea.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsxs("span",{className:"cmd-title",children:[D("idea.title"),i?` · ${i}`:"",m.length>0&&_.jsx("span",{className:"idea-head-count",children:m.length})]}),_.jsx("button",{className:"cmd-close",onClick:s,"aria-label":D("common.close"),children:"✕"})]}),_.jsxs("div",{className:`idea-compose${x?" recording":""}`,children:[_.jsx("textarea",{ref:S,className:"idea-input",rows:1,placeholder:D(j?"idea.editPlaceholder":"idea.addPlaceholder"),value:o,readOnly:x,onChange:C=>f(C.target.value)}),j&&_.jsx("button",{className:"idea-cancel",onClick:A,children:D("common.cancel")}),L&&_.jsx(y_,{active:x,disabled:b.state==="requesting",onToggle:E}),_.jsx("button",{className:"idea-act",onClick:I,disabled:!o.trim(),"aria-label":D(j?"common.save":"idea.add"),children:j?_.jsx(Yg,{}):_.jsx(qg,{})})]}),_.jsx("div",{className:"idea-list",children:m.length===0?_.jsx("div",{className:"cmd-empty",children:D("idea.empty")}):m.map(C=>_.jsxs("div",{"data-idea":C.id,className:`idea-row${C.id===p?" dragging":""}${C.id===v?" editing":""}`,children:[_.jsx("button",{type:"button",className:"idea-handle","aria-label":D("idea.dragSort"),onPointerDown:M=>U(M,C.id),onPointerMove:$,onPointerUp:G,onPointerCancel:G,children:"≡"}),_.jsx("span",{className:"idea-text",onClick:()=>T(C),children:C.text}),_.jsx("button",{className:"idea-send",onClick:()=>n==null?void 0:n(C.text),"aria-label":D("idea.fillInput"),children:D("idea.send")}),_.jsx("button",{className:"idea-del",onClick:()=>O(C.id),"aria-label":D("common.delete"),children:"✕"})]},C.id))})]})]})}function uC({open:e,onClose:t}){return e?_.jsxs(_.Fragment,{children:[_.jsx("div",{className:"cmd-backdrop",onClick:t}),_.jsxs("div",{className:"changelog-panel",role:"dialog","aria-label":D("changelog.title"),children:[_.jsxs("div",{className:"cmd-head",children:[_.jsx("span",{className:"cmd-title",children:D("changelog.title")}),_.jsx("button",{className:"cmd-close",onClick:t,"aria-label":D("common.close"),children:"✕"})]}),_.jsx("div",{className:"changelog-list",children:Fc.map(i=>{var c,m;const s=i.items[Tr()]||i.items.en||i.items.zh||[],n=i.version?`v${i.version}`:((c=i.label)==null?void 0:c[Tr()])||((m=i.label)==null?void 0:m.en);return _.jsxs("div",{className:"rel",children:[_.jsxs("div",{className:"rel-date",children:[n&&_.jsx("span",{className:"rel-ver",children:n}),_.jsx("span",{className:"rel-day",children:i.date})]}),_.jsx("ul",{className:"rel-items",children:s.map((r,o)=>_.jsx("li",{children:r},o))})]},i.version||i.date)})})]})]}):null}function hC(){const[e,t]=N.useState(0);return N.useEffect(()=>{const i=window.visualViewport;if(!i)return;const s=()=>{const n=window.innerHeight-i.height-i.offsetTop;t(Math.max(0,Math.round(n)))};return s(),i.addEventListener("resize",s),i.addEventListener("scroll",s),()=>{i.removeEventListener("resize",s),i.removeEventListener("scroll",s)}},[]),e}function cp(e){history.replaceState(null,"",`#${encodeURIComponent(e)}`)}const Fo=e=>{try{return decodeURIComponent(e)}catch{return e}};function up(){const e=location.hash.replace(/^#/,""),t=e.match(/^\/s\/([^/]*)\/w\/([^/]*)\/p\/(.*)$/);return t?{session:Fo(t[1]),window:Fo(t[2]),pane:Fo(t[3])}:{session:Fo(e)||null,window:null,pane:null}}const dC="tmw-share-v1",fC="/__share__/";function pC(e=typeof location<"u"?location.search:""){try{return new URLSearchParams(e).has("share")}catch{return!1}}function mC(){if(typeof location>"u"||typeof history>"u")return;const e=new URL(location.href);e.searchParams.delete("share"),history.replaceState(null,"",e.pathname+e.search+e.hash)}async function gC(){if(typeof caches>"u")return null;let e;try{e=await caches.open(dC)}catch{return null}const t=await e.keys();if(!t.length)return null;const i=t[t.length-1],s=await e.match(i);if(await e.delete(i),!s)return null;const n=await s.blob();let c="shared";try{c=decodeURIComponent(new URL(i.url).pathname.slice(fC.length))||"shared"}catch{}return new File([n],c,{type:n.type||s.headers.get("Content-Type")||""})}const un=(e,t)=>t&&e.some(i=>i.id===t)?t:e[0].id;function _C(){var vh,wh,yh,Sh,bh,xh,Ch,kh,Eh,Lh,Rh,Th,Dh,Ah,Mh,Nh,Ih,Ph,Oh,Bh,jh,Fh;const[e,t]=N.useState(!cr()),[i,s]=N.useState(!1),[n,c]=N.useState(!1),[m,r]=N.useState(!1),[o,f]=N.useState(!1),[v,h]=N.useState(!1),[p,y]=N.useState(null),[S,g]=N.useState(null),[a,u]=N.useState(!1),[l,d]=N.useState(!1),[w,k]=N.useState(null),[b,L]=N.useState(null),[x,E]=N.useState(null),[R,I]=N.useState(null),T=C1(),[A,O]=N.useState(sr),[U,$]=N.useState(La),[G,j]=N.useState([]),[C,M]=N.useState(null),[B,H]=N.useState([]),[Y,V]=N.useState(null),[te,Q]=N.useState(!1),[z,P]=N.useState(!1),[J,K]=N.useState(!0),[re,ne]=N.useState({}),[be,ge]=N.useState([]),[Ee,Ne]=N.useState(null),[pe,$e]=N.useState(!1),{status:Je,enable:Re}=vb(),[oe,ye]=N.useState(!1),[ue,me]=N.useState(0),[Ie,X]=N.useState(!1),[Te,ie]=N.useState(ly),[ae,_e]=N.useState(null),[xe,ve]=N.useState(uy),[dt,ut]=N.useState(ef),[Ze,Tt]=N.useState(Bw),kt=N.useRef(null),Ut=N.useRef(null),It=N.useRef(null),Qe=N.useRef(null),Oe=N.useCallback(()=>t(!0),[]),_t=N.useCallback(async()=>{try{const q=await zy();H(q.previews||[]),V(q.domain??null),Q(!!q.dynamicEnabled)}catch{}},[]);N.useEffect(()=>{_t()},[_t]),N.useEffect(()=>{e||My().then(_e).catch(()=>{})},[e]);const Dt=C?Wy({session:(vh=C.session)==null?void 0:vh.name,windowName:(wh=C.window)==null?void 0:wh.name,windowId:(yh=C.window)==null?void 0:yh.id}):null,De=B.find(q=>q.name===Dt&&q.expiresAt>Date.now())||null,ui=(De==null?void 0:De.expiresAt)??null,si=!!De;N.useEffect(()=>{si||P(!1)},[si]),N.useEffect(()=>{if(ui==null)return;const q=setTimeout(_t,Math.max(0,ui-Date.now())+500);return()=>clearTimeout(q)},[ui,_t]);const hi=N.useCallback(()=>{n?(c(!1),requestAnimationFrame(()=>P(!0))):P(!0)},[n]),At=N.useCallback(async q=>{var Z;if(Dt)try{await Ml(Dt,{dir:q}),Hw((Z=C==null?void 0:C.window)==null?void 0:Z.id,q),await _t(),hi()}catch{}},[Dt,(Sh=C==null?void 0:C.window)==null?void 0:Sh.id,_t,hi]),Pi=N.useCallback(async q=>{Dt&&(await Ml(Dt,{port:q}),await _t(),hi())},[Dt,_t,hi]),qi=N.useCallback(async()=>{if(Dt)try{await Uy(Dt),await _t()}catch{}},[Dt,_t]),st=N.useCallback(async()=>{if(!De)return;const q=De.kind==="dynamic"?{port:De.port}:{dir:De.dir};try{await Ml(De.name,q),await _t()}catch{}},[De==null?void 0:De.name,De==null?void 0:De.kind,De==null?void 0:De.dir,De==null?void 0:De.port,_t]),Et=N.useCallback(()=>{Pw(),c(!1),f(!1),s(!1),M(null),K(!0),t(!0)},[]),yt=hC();$i(z,()=>P(!1)),$i(i,()=>s(!1)),$i(pe,()=>$e(!1)),$i(m,()=>r(!1)),$i(o,()=>f(!1)),$i(v,()=>h(!1)),$i(oe,()=>ye(!1)),$i(!!b,()=>L(null)),$i(n||Ie,()=>{Ie?X(!1):c(!1)}),$i(!!S||!!p,()=>{p?y(null):g(null)});const wi=N.useCallback(async q=>{var he,Se;const Z=C==null?void 0:C.paneId;if(Z)try{await Hc(Z,[q]),(Se=(he=kt.current)==null?void 0:he.wake)==null||Se.call(he)}catch(Ce){Ce instanceof lt&&Oe()}},[C,Oe]),Oi=N.useCallback(async q=>{var he,Se;const Z=C==null?void 0:C.paneId;if(Z)try{await Zo(Z,q,!1),(Se=(he=kt.current)==null?void 0:he.wake)==null||Se.call(he)}catch(Ce){Ce instanceof lt&&Oe()}},[C,Oe]),Bi=N.useCallback(async q=>{var Ce,Me,Fe,Ge,yi;const Z=(Ce=C==null?void 0:C.window)==null?void 0:Ce.id,he=It.current??((Fe=(Me=kt.current)==null?void 0:Me.getSize())==null?void 0:Fe.cols);if(!Z||!he)return;const Se=Math.max(20,Math.min(500,he+q));It.current=Se,(yi=(Ge=kt.current)==null?void 0:Ge.flash)==null||yi.call(Ge);try{Qe.current==null&&(Qe.current=await by(Z).then(Xt=>Xt.layout||"").catch(()=>"")),C.panes&&C.panes.length>1?await Sy(C.paneId,Se):await yy(Z,Se)}catch(Xt){Xt instanceof lt&&Oe()}},[C,Oe]),ji=N.useCallback(async()=>{var he;const q=(he=C==null?void 0:C.window)==null?void 0:he.id;if(!q)return;const Z=Qe.current;It.current=null,Qe.current=null;try{await xy(q,Z)}catch(Se){Se instanceof lt&&Oe()}},[C,Oe]),vt=N.useCallback(async(q,Z=null)=>{var Fe;const he=await on(q.id);if(!he.length)return!1;const Se=(Z==null?void 0:Z.window)&&he.find(Ge=>Ge.id===Z.window)||he.find(Ge=>Ge.id===un(he,zw(q.id))),Ce=await Mo(Se.id);if(!Ce.length)return!1;const Me=Z!=null&&Z.pane&&Ce.some(Ge=>Ge.id===Z.pane)?Z.pane:un(Ce,Do(Se.id));return M({session:q,windows:he,window:Se,panes:Ce,paneId:Me}),nn({sessionId:q.id,windowId:Se.id,paneId:Me}),cp(q.name),It.current=((Fe=Ce.find(Ge=>Ge.id===Me))==null?void 0:Fe.width)??null,Qe.current=null,!0},[]),ft=N.useCallback(async q=>{var Z;try{const he=await Mo(q.id);if(!he.length)return;const Se=un(he,Do(q.id));M(Ce=>Ce&&{...Ce,window:q,panes:he,paneId:Se}),nn({sessionId:C.session.id,windowId:q.id,paneId:Se}),It.current=((Z=he.find(Ce=>Ce.id===Se))==null?void 0:Z.width)??null,Qe.current=null}catch(he){he instanceof lt&&Oe()}},[C,Oe]),Ft=N.useCallback(async(q,Z,he)=>{var Me,Fe,Ge,yi;const Se=(Me=C==null?void 0:C.session)==null?void 0:Me.id,Ce=C==null?void 0:C.paneId;if(!(!Se||!Ce))try{const{id:Xt}=await ky(Se,Ce,q||void 0,Z,he),lo=await on(Se),co=lo.find($s=>$s.id===Xt)||lo[lo.length-1],uo=await Mo(co.id);if(!uo.length)return;const nl=un(uo,Do(co.id));M($s=>$s&&{...$s,windows:lo,window:co,panes:uo,paneId:nl}),nn({sessionId:Se,windowId:co.id,paneId:nl}),It.current=((Fe=uo.find($s=>$s.id===nl))==null?void 0:Fe.width)??null,Qe.current=null,h(!1),(yi=(Ge=kt.current)==null?void 0:Ge.wake)==null||yi.call(Ge)}catch(Xt){if(Xt instanceof lt){Oe();return}throw Xt}},[C,Oe]),di=N.useCallback(async q=>{var Se,Ce;const Z=p;if(!Z)return;const he=(Se=C==null?void 0:C.session)==null?void 0:Se.id;if(Z.kind==="session"){try{await Ey(Z.id,q)}catch(Me){throw Me instanceof lt?(Oe(),Me):/\b409\b/.test(Me.message)?new Error(Z("app.nameExists")):new Error(Z("app.renameFailed"))}O(Ow(Z.name,q)),an(),cp(q),M(Me=>Me&&Me.session.id===Z.id?{...Me,session:{...Me.session,name:q}}:Me)}else{try{await Ly(Z.id,q)}catch(Fe){throw Fe instanceof lt?(Oe(),Fe):new Error(Z("app.renameFailed"))}dy((Ce=C==null?void 0:C.session)==null?void 0:Ce.name,Z.name||Z.id,q);const Me=await on(he);M(Fe=>Fe&&{...Fe,windows:Me,window:Me.find(Ge=>Ge.id===Fe.window.id)||Fe.window})}y(null)},[p,C,Oe]),Yi=N.useCallback(async()=>{var Me;const q=S,Z=C==null?void 0:C.session;if(!q||!Z)return;const he=Z.id,Se=C.windows.length<=1;try{await Ry(q.id)}catch(Fe){if(Fe instanceof lt){Oe();return}window.alert(D("app.deleteFailed")),g(null);return}if(g(null),Se){O(Qd(Z.name)),an(),M(null);return}const Ce=await on(he);if(q.id===C.window.id&&Ce.length){const Fe=Ce.find(Xt=>Xt.active)||Ce[0],Ge=await Mo(Fe.id);if(!Ge.length)return;const yi=un(Ge,Do(Fe.id));M(Xt=>Xt&&{...Xt,windows:Ce,window:Fe,panes:Ge,paneId:yi}),nn({sessionId:he,windowId:Fe.id,paneId:yi}),It.current=((Me=Ge.find(Xt=>Xt.id===yi))==null?void 0:Me.width)??null,Qe.current=null}else M(Fe=>Fe&&{...Fe,windows:Ce})},[S,C,Oe]),Fi=N.useCallback(async q=>{var Ce;const Z=S,he=(Ce=C==null?void 0:C.session)==null?void 0:Ce.id;if(!Z||!he)return;const Se=Il(C.windows,Z.id,q);if(Se)try{await Ty(Z.id,Se.id);const Me=await on(he);M(Fe=>Fe&&{...Fe,windows:Me,window:Me.find(Ge=>Ge.id===Fe.window.id)||Fe.window}),g(Me.find(Fe=>Fe.id===Z.id)||null)}catch(Me){if(Me instanceof lt){Oe(),g(null);return}window.alert(D("app.moveFailed")),g(null)}},[S,C,Oe]),Xi=nh(()=>{C!=null&&C.session&&y({kind:"session",id:C.session.id,name:C.session.name})}),Yt=N.useCallback(async q=>{try{const Z=(await Dr()).find(he=>he.name===q);if(!Z){window.alert(D("app.sessionGone",{name:q}));return}await vt(Z)&&s(!1)}catch(Z){Z instanceof lt&&Oe()}},[vt,Oe]),W=N.useCallback(async q=>{$e(!1),ut(tf(q.pane,q.ts));try{const Z=(await Dr()).find(he=>he.name===q.session);if(!Z){window.alert(D("app.sessionGone",{name:q.session}));return}s(!1),await vt(Z,{window:q.window,pane:q.pane})}catch(Z){Z instanceof lt&&Oe()}},[vt,Oe]),se=N.useCallback(async({target:q,kill:Z,name:he})=>{const Se=Ee,Ce=await Py({pid:Se.pid,sessionId:Se.sessionId,target:q,kill:Z,name:he});Ce.name&&(O(Zd(Ce.name)),an()),Ne(null),$e(!1);try{Ce.name&&(s(!1),await vt({id:Ce.session,name:Ce.name},{window:Ce.window,pane:Ce.pane}))}catch(Me){Me instanceof lt&&Oe()}try{ge(await hf())}catch{}},[Ee,vt,Oe]),Ae=N.useCallback(()=>{const q=vf(re);sf(q),Tt(q)},[re]),Ke=N.useCallback(q=>{O(Zd(q)),an(),f(!1),Yt(q)},[Yt]),St=N.useCallback(q=>{O(Qd(q)),an(),M(Z=>Z&&Z.session.name===q?null:Z)},[]),Wt=N.useCallback(q=>{M(Z=>Z&&(nn({windowId:Z.window.id,paneId:q}),{...Z,paneId:q}))},[]),et=(bh=C==null?void 0:C.session)==null?void 0:bh.name,it=(xh=C==null?void 0:C.window)==null?void 0:xh.id;N.useEffect(()=>{j(et&&it?Ra(et,it):[])},[et,it]);const qe=(Ch=C==null?void 0:C.session)==null?void 0:Ch.name,we=((kh=C==null?void 0:C.window)==null?void 0:kh.name)||((Eh=C==null?void 0:C.window)==null?void 0:Eh.id);N.useEffect(()=>{me(qe&&we?Ug(qe,we).length:0)},[qe,we]),N.useEffect(()=>{C!=null&&C.paneId&&v1(C.paneId)},[C==null?void 0:C.paneId]),N.useEffect(()=>{var he;const q=C==null?void 0:C.paneId;if(!q)return;const Z=(he=re[q])==null?void 0:he.ts;Z!=null&&ef()[q]!==Z&&ut(tf(q,Z))},[C==null?void 0:C.paneId,re]),N.useEffect(()=>{if(!pC())return;mC();let q=!1;return(async()=>{const Z=await gC();q||!Z||(k(Z),T.activate("home"),u(!0))})(),()=>{q=!0}},[]),N.useEffect(()=>{if(e||typeof navigator>"u"||!("serviceWorker"in navigator))return;const q=async({session:Se,window:Ce,pane:Me})=>{if(Se)try{const Ge=(await Dr()).find(yi=>yi.name===Se);Ge&&(s(!1),await vt(Ge,{window:Ce,pane:Me}))}catch(Fe){Fe instanceof lt&&Oe()}},Z=Se=>{const Ce=Se.data;Ce&&Ce.type==="navigate"&&q(Ce)},he=()=>{const Se=up();Se.session&&(Se.window||Se.pane)&&q(Se)};return navigator.serviceWorker.addEventListener("message",Z),window.addEventListener("hashchange",he),()=>{navigator.serviceWorker.removeEventListener("message",Z),window.removeEventListener("hashchange",he)}},[e,vt,Oe]);const F=N.useCallback(q=>{var Se,Ce,Me,Fe;(Ce=(Se=kt.current)==null?void 0:Se.wake)==null||Ce.call(Se);const Z=(Me=C==null?void 0:C.session)==null?void 0:Me.name,he=(Fe=C==null?void 0:C.window)==null?void 0:Fe.id;Z&&he&&j(Jw(Z,he,q))},[C]),ee=N.useCallback(q=>{$(La().includes(q)?qw(q):Kw(q))},[]),de=N.useCallback(q=>{var Se,Ce;const Z=(Se=C==null?void 0:C.session)==null?void 0:Se.name,he=(Ce=C==null?void 0:C.window)==null?void 0:Ce.id;Z&&he&&j(Zw(Z,he,q))},[C]),ze=((Rh=(Lh=C==null?void 0:C.panes)==null?void 0:Lh.find(q=>q.id===C.paneId))==null?void 0:Rh.cwd)||null,Pe=async q=>{if(gy(q)){const he=q.split("/").pop()||q;if(T.tabs.some(Me=>Me.key===q)){T.activate(q),ot(q),u(!0);return}const{url:Se,mtimeMs:Ce}=await ff(q);T.openDoc(q,{type:"image",name:he,content:Se,mtime:Ce}),of({path:q,name:he,type:"image",ts:Date.now()}),u(!0);return}const Z=await uf(q);T.openDoc(q,{type:Z.type,name:Z.name,content:Z.content,mtime:Z.mtimeMs}),of({path:q,name:Z.name,type:Z.type,ts:Date.now()}),u(!0)},Ye=q=>{const Z=T.tabs.find(he=>he.key===q);(Z==null?void 0:Z.type)==="image"&&Z.content&&URL.revokeObjectURL(Z.content),T.closeTab(q)},ot=q=>{const Z=T.tabs.find(he=>he.key===q);if(!(!Z||Z.type==="home")){if(Z.type==="image"){ff(q,Z.mtime??null).then(he=>{if(he.notModified)return;const Se=Z.content;T.refreshDoc(q,{content:he.url,mtime:he.mtimeMs}),Se&&URL.revokeObjectURL(Se)}).catch(()=>{});return}uf(q,Z.mtime??null).then(he=>{he.notModified||T.refreshDoc(q,{type:he.type,name:he.name,content:he.content,mtime:he.mtimeMs})}).catch(()=>{})}},le=q=>{T.activate(q),ot(q)},Le=()=>{u(!0),ot(T.active)},Be=q=>{const Z=/-> (\d+)/.exec((q==null?void 0:q.message)||""),he=Z?Number(Z[1]):0;return D(he===404?"app.docNotFound":he===413?"app.docTooLarge":he===400?"app.docUnsupported":"app.docOpenFailed")},fe=async q=>{if(l_(q)){try{await Pe(q)}catch(he){E(Be(he))}return}const Z=af(C==null?void 0:C.paneId)??ze;if(Z)try{await Pe(Vs(Z,q));return}catch{}L({rawPath:q})},je=async q=>{try{await Pe(Vs(q,b.rawPath))}catch(Z){E(Be(Z));return}C!=null&&C.paneId&&ty(C.paneId,q),setTimeout(()=>L(null),0)},Ue=(q,Z,he)=>I({path:q,x:Z,y:he}),tt=q=>{I(null),fe(q)};if(N.useEffect(()=>{if(!x)return;const q=setTimeout(()=>E(null),4e3);return()=>clearTimeout(q)},[x]),N.useEffect(()=>{if(e)return;const q=sr();if(!q.length){K(!1);return}let Z=!1;return(async()=>{try{const he=await Dr();if(Z||!he.length)return;const Se=he.filter(Ge=>q.includes(Ge.name));if(!Se.length)return;const Ce=up();let Me=Ce.session?Se.find(Ge=>Ge.name===Ce.session):null;const Fe=Me?{window:Ce.window,pane:Ce.pane}:null;if(!Me){const Ge=$w();Ge&&(Me=Se.find(yi=>yi.id===Ge))}Me||(Me=Se[0]),Z||await vt(Me,Fe)}catch(he){he instanceof lt&&t(!0)}finally{Z||K(!1)}})(),()=>{Z=!0}},[e,vt]),N.useEffect(()=>{if(e)return;let q=!1,Z=null;const he=async()=>{if(!document.hidden)try{const Me=await Iy(A);q||ne(Me||{})}catch{}},Se=()=>{he(),Z=setTimeout(Se,5e3)};Se();const Ce=()=>{document.hidden||(clearTimeout(Z),Se())};return document.addEventListener("visibilitychange",Ce),()=>{q=!0,clearTimeout(Z),document.removeEventListener("visibilitychange",Ce)}},[e,A]),N.useEffect(()=>{if(Ze!=null)return;const q=vf(re);q>0&&(sf(q),Tt(q))},[re,Ze]),N.useEffect(()=>{if(e)return;let q=!1,Z=null;const he=async()=>{if(!document.hidden)try{const Me=await hf();q||ge(Array.isArray(Me)?Me:[])}catch{}},Se=()=>{he(),Z=setTimeout(Se,15e3)};Se();const Ce=()=>{document.hidden||(clearTimeout(Z),Se())};return document.addEventListener("visibilitychange",Ce),()=>{q=!0,clearTimeout(Z),document.removeEventListener("visibilitychange",Ce)}},[e]),e)return _.jsx(ib,{onSaved:()=>{t(!1),K(!0)}});const Mt=h1(re,dt,Ze??1/0),Ht=f1(Mt),Ji={};for(const q of Object.values(re))q.window&&q.agent&&(Ji[q.window]=q.agent);const ao=!!Ao&&Te!==Ao,G_=!!(ae!=null&&ae.updateAvailable)&&ae.latest!==xe,K_=ao||G_,q_=()=>{c(!0),ae!=null&&ae.latest&&(hy(ae.latest),ve(ae.latest))},Y_=()=>{c(!1),X(!0),cy(Ao),ie(Ao)};return _.jsxs("div",{className:"app",style:yt?{transform:`translateY(-${yt}px)`}:void 0,children:[_.jsxs("header",{className:"topbar",children:[_.jsx("button",{className:"hamburger",onClick:()=>s(!0),children:"☰"}),_.jsx("span",{className:"session-name",...Xi,children:((Th=C==null?void 0:C.session)==null?void 0:Th.name)??"—"}),De&&_.jsx("button",{className:"topbar-icon preview-live",onClick:()=>P(!0),"aria-label":D("app.preview"),title:D("app.openPreview"),children:_.jsx(zc,{})}),_.jsxs("button",{className:"topbar-icon",onClick:()=>ye(!0),"aria-label":D("app.ideas"),title:D("app.ideas"),disabled:!C,children:[_.jsx(Jy,{}),ue>0&&_.jsx("span",{className:"idea-badge",children:ue})]}),_.jsx(db,{rows:Mt,top:Ht,open:pe,onToggle:()=>$e(q=>!q),onClose:()=>$e(!1),onSelectRow:W,onMarkAllRead:Ae,hooksStatus:Je,onEnableHooks:Re}),_.jsx("button",{className:"topbar-icon",onClick:()=>r(!0),"aria-label":D("usage.title"),title:D("usage.title"),children:_.jsx(r1,{})}),_.jsx("button",{className:"topbar-icon",onClick:Le,"aria-label":D("app.files"),title:D("app.files"),children:_.jsx(Kn,{})}),_.jsx("button",{className:"topbar-icon",onClick:()=>d(!0),"aria-label":"Git",title:"Git",children:_.jsx(Qg,{})}),_.jsxs("button",{className:"topbar-icon",onClick:q_,"aria-label":D("app.settings"),title:D("app.settings"),children:[_.jsx($c,{}),K_&&_.jsx("span",{className:"topbar-dot","aria-hidden":"true"})]})]}),_.jsx(hb,{open:m,onClose:()=>r(!1),onAuthFail:Oe}),_.jsx(ab,{open:n,onClose:()=>c(!1),termRef:kt,getColCount:()=>{var q,Z;return It.current??((Z=(q=kt.current)==null?void 0:q.getSize())==null?void 0:Z.cols)},onColAdjust:q=>Bi(q),onColRestore:ji,onOpenChangelog:Y_,changelogUnread:ao,updateInfo:ae,activePreview:De,pane:C==null?void 0:C.paneId,lastPreviewDir:Fw((Dh=C==null?void 0:C.window)==null?void 0:Dh.id),dynamicEnabled:te,onStartPreview:At,onStartDynamicPreview:Pi,onOpenPreview:hi,onRenew:st,onStop:qi}),_.jsx(uC,{open:Ie,onClose:()=>X(!1)}),_.jsx(k1,{open:i,currentSessionName:(Ah=C==null?void 0:C.session)==null?void 0:Ah.name,bound:A,onSelectSession:Yt,onUnbind:St,onBind:()=>f(!0),onClose:()=>s(!1),onLogout:Et,orphans:be,onTakeoverRequest:Ne}),_.jsx(bb,{open:o,bound:A,onBound:Ke,onClose:()=>f(!1),onAuthFail:Oe,inset:yt}),_.jsx(Cb,{open:v,onClose:()=>h(!1),onCreate:Ft,paneId:C==null?void 0:C.paneId,inset:yt}),_.jsx(Eb,{open:!!p,title:(p==null?void 0:p.kind)==="session"?D("app.renameSession"):D("app.renameWindow"),currentName:(p==null?void 0:p.name)||"",onClose:()=>y(null),onSubmit:di,inset:yt}),_.jsx(fb,{open:!!Ee,orphan:Ee,onConfirm:se,onClose:()=>Ne(null),inset:yt}),_.jsx(uh,{open:!!S,title:S?S.name||S.id:"",onClose:()=>g(null),actions:S?[...C&&C.windows.length>1?[[{key:"move-left",label:D("app.moveLeft"),disabled:!Il(C.windows,S.id,"left"),onClick:()=>Fi("left")},{key:"move-right",label:D("app.moveRight"),disabled:!Il(C.windows,S.id,"right"),onClick:()=>Fi("right")}]]:[],{key:"rename",label:D("common.rename"),onClick:()=>{y({kind:"window",id:S.id,name:S.name||""}),g(null)}},{key:"delete",label:D("app.deleteWindow"),danger:!0,confirm:!0,confirmLabel:C&&C.windows.length<=1?D("app.deleteLastWindowConfirm"):D("app.deleteConfirm"),onClick:Yi}]:[]}),_.jsx(Xx,{open:a,pane:C==null?void 0:C.paneId,windowId:(Mh=C==null?void 0:C.window)==null?void 0:Mh.id,tabs:T.tabs,active:T.active,onActivate:le,onCloseTab:Ye,onMinimize:()=>u(!1),onOpenDoc:fe,pendingShare:w,onPendingConsumed:()=>k(null)}),_.jsx(Qx,{open:l,pane:C==null?void 0:C.paneId,windowId:(Nh=C==null?void 0:C.window)==null?void 0:Nh.id,inset:yt,onClose:()=>d(!1)}),_.jsx(rC,{}),_.jsx(gb,{}),_.jsx(l1,{open:z&&!!De,name:De==null?void 0:De.name,kind:De==null?void 0:De.kind,domain:Y,port:De==null?void 0:De.port,dir:De==null?void 0:De.dir,expiresAt:De==null?void 0:De.expiresAt,onRenew:st,onStop:qi,onMinimize:()=>P(!1)}),x&&_.jsx("div",{className:"doc-toast",role:"alert",onClick:()=>E(null),children:x}),R&&_.jsx(nC,{path:R.path,x:R.x,y:R.y,onOpen:tt,onClose:()=>I(null)}),_.jsx(cC,{open:oe,session:(Ih=C==null?void 0:C.session)==null?void 0:Ih.name,window:((Ph=C==null?void 0:C.window)==null?void 0:Ph.name)||((Oh=C==null?void 0:C.window)==null?void 0:Oh.id),onClose:()=>ye(!1),onSend:q=>{var Z;(Z=Ut.current)==null||Z.fill(q),ye(!1)},onCountChange:me}),_.jsx(ro,{open:!!b,seedCwd:af(C==null?void 0:C.paneId)??ze??null,pane:(C==null?void 0:C.paneId)??null,hint:b?_.jsxs(_.Fragment,{children:[D("app.cannotLocate")," ",_.jsx("code",{children:b.rawPath}),D("app.pickItsDir")]}):null,onPick:je,onClose:()=>L(null),inset:yt}),C?_.jsxs(_.Fragment,{children:[_.jsx(D1,{windows:C.windows,windowAgents:Ji,currentAgent:(Bh=re[C.paneId])==null?void 0:Bh.agent,currentWindowId:C.window.id,panes:C.panes,currentPaneId:C.paneId,onSelectWindow:ft,onSelectPane:Wt,onNewWindow:()=>h(!0),onManageWindow:q=>g(q),trackWindowId:S==null?void 0:S.id}),C.paneId&&_.jsx(aS,{ref:kt,pane:C.paneId,onAuthFail:Oe,onDocLinkTap:Ue},C.paneId),_.jsx(tb,{ref:Ut,pane:C.paneId,onAuthFail:Oe,onKey:wi,onText:Oi,cwd:ze,agent:(jh=re[C.paneId])==null?void 0:jh.agent,windowId:(Fh=C.window)==null?void 0:Fh.id,recent:G,favorites:U,onSent:F,onToggleFav:ee,onRemoveRecent:de,inset:yt})]}):J?_.jsx("div",{className:"loading",children:D("common.loading")}):A.length===0?_.jsxs("button",{className:"empty-cta",onClick:()=>f(!0),children:[D("app.noBoundSession"),_.jsx("span",{children:D("app.tapToBind")})]}):_.jsx("div",{className:"loading",children:D("app.selectSessionHint")})]})}function vC(){typeof navigator>"u"||!("serviceWorker"in navigator)||window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(()=>{})})}xg(document.getElementById("root")).render(_.jsx(_C,{}));vC();if(typeof window<"u"&&window.__hideBootSplash){const e=[...document.querySelectorAll('link[rel="stylesheet"]')].filter(i=>i.media==="print"),t=e.length?new Promise(i=>{let s=e.length;e.forEach(n=>n.addEventListener("load",()=>{--s||i()},{once:!0}))}):Promise.resolve();requestAnimationFrame(()=>requestAnimationFrame(()=>t.then(()=>window.__hideBootSplash())))}