glimmervoid 0.34.1 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/glimmervoid.js +31 -19
- package/dist/chunks/adapters-B37wqNti.js +1 -0
- package/dist/chunks/{adapters-D-cRFZ_Q.js → adapters-CADejSpq.js} +219 -9
- package/dist/chunks/agent-api-cli-CRj_FYbz.js +1 -0
- package/dist/chunks/{agent-api-cli-DuT7437B.js → agent-api-cli-vGwstJ1j.js} +57 -17
- package/dist/chunks/{agent-api-core-Ddg15j2j.js → agent-api-core-D1233u1U.js} +35 -9
- package/dist/chunks/{agent-setup-cli-CFielF2o.js → agent-setup-cli-BTAFcckd.js} +2 -2
- package/dist/chunks/child-process-safe-ChRmWAJP.js +1 -0
- package/dist/chunks/{config-DTwMFUjx.js → config-rPbbL4nW.js} +12 -21
- package/dist/chunks/config-store-BeIxAZNn.js +1 -0
- package/dist/chunks/{config-store-D0lRWsAM.js → config-store-BtsYbNC3.js} +44 -14
- package/dist/chunks/{contracts-DZV9H8px.js → contracts-DjIgIuDk.js} +27 -27
- package/dist/chunks/{git-version-CrLW4a6r.js → git-version-CUcDtF5k.js} +3 -3
- package/dist/chunks/{grok-BYKnBgdr.js → grok-KKgdSe-7.js} +7 -3
- package/dist/chunks/{ingest-editor-core-vR6Wv6bP.js → ingest-editor-core-B2tycW_m.js} +4 -4
- package/dist/chunks/{json-file-oEH9vt-0.js → json-file-BaxGcB2R.js} +1 -1
- package/dist/chunks/{knowledge-graph-cli-BBE3R9DJ.js → knowledge-graph-cli-Rj5nj87L.js} +4 -4
- package/dist/chunks/{main-VMWdsGC6.js → main-BTI0J5QE.js} +325 -424
- package/dist/chunks/{pair-cli-CI848omy.js → pair-cli-Dcyzv3In.js} +2 -2
- package/dist/chunks/paths-Bu4eH1Yd.js +27 -0
- package/dist/chunks/{remote-config-Y6YtqoiO.js → remote-config-Dd1T-VJA.js} +3 -3
- package/dist/chunks/{rtk-resolver-jJxy_Mrt.js → rtk-resolver-B9pzjLsM.js} +1 -1
- package/dist/chunks/rtk-resolver-SWU5VVM7.js +1 -0
- package/dist/chunks/{runtime-paths-BPoxENmK.js → runtime-paths-BkeftE60.js} +3 -4
- package/dist/chunks/runtime-paths-DSmormp7.js +1 -0
- package/dist/chunks/{sandbox-deps-C63o3mZs.js → sandbox-deps-CWiH1d1w.js} +3 -3
- package/dist/chunks/{session-C7rstCmA.js → session-D6xXN0UU.js} +26 -4
- package/dist/chunks/session-routes-BYy3am9m.js +127 -0
- package/dist/chunks/{ssh-sign-cli-SWtTF00D.js → ssh-sign-cli-DPHpT22B.js} +11 -7
- package/dist/chunks/{visions-cli-BhFdym5n.js → visions-cli-CYujESdJ.js} +2 -2
- package/dist/chunks/{visions-setup-CfgNHiG3.js → visions-setup-B-ZeRdsi.js} +9 -9
- package/dist/client/assets/index-DE2GUmqs.css +1 -0
- package/dist/client/assets/index-Ds4ngkHp.js +254 -0
- package/dist/client/index.html +2 -2
- package/dist/scripts/postinstall-path-check.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/session/hook-tool-relay.js +2 -2
- package/dist/session/sandbox-open-launcher.js +1 -1
- package/dist/session/statusline-relay.js +1 -1
- package/dist/session/visions-relay.js +3 -3
- package/dist/tools/vscode-visions/visions-lsp-core.js +1 -1
- package/package.json +8 -8
- package/dist/chunks/adapters-CgbcceU3.js +0 -2
- package/dist/chunks/agent-api-cli-CRJYxzVU.js +0 -2
- package/dist/chunks/child-process-safe-B3zcPdFM.js +0 -2
- package/dist/chunks/config-store-DwTxLe8Y.js +0 -2
- package/dist/chunks/paths-CeJl2Vcg.js +0 -55
- package/dist/chunks/rtk-resolver-CIVLE_xk.js +0 -2
- package/dist/chunks/runtime-paths-DU5jBEEO.js +0 -2
- package/dist/client/assets/index-BxU3Ww0L.css +0 -1
- package/dist/client/assets/index-b9goyXSa.js +0 -254
- package/dist/chunks/{child-process-safe-DDELk9XC.js → child-process-safe-CbQnyh7D.js} +1 -1
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=6e4,t=18e5,n=20;function r({attempt:r=1,baseMs:i=e,maxMs:a=t,retryAfterMs:o=null,random:s=Math.random,jitter:c=`full`}={}){if(typeof o==`number`&&Number.isFinite(o)&&o>0)return Math.min(o,a);let l=Math.max(0,Math.min(r,n)-1),u=Math.min(a,i*2**l);return c===`none`?u:Math.round(c===`half`?u*(.5+.5*s()):s()*u)}var i=3e4;function a(e,t=Math.random){return r({attempt:(typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0)+1,baseMs:500,maxMs:i,random:t,jitter:`half`})}var o=0,s=1,c=1e4;function l(e){return typeof e!=`number`||!Number.isFinite(e)?!1:e>=c}function u({hasSocket:e,readyState:t,retryPending:n,connectingAgeMs:r=0,hiddenForMs:i}){return n?`retry-now`:!e||l(i)?`connect`:t===o?r>1e4?`connect`:`wait`:t===s?`probe`:`connect`}function d(e){return e===`https:`?`wss:`:`ws:`}function f(e,t){return`${d(e?.protocol)}//${e.host}${t}`}var p=``,m=null;function h(){return p}function g(){return p?Promise.resolve(p):m||(m=fetch(`/control-token`,{credentials:`same-origin`,cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{let t=e?.token;return p=typeof t==`string`?t:``,p}).catch(()=>``).finally(()=>{m=null}),m)}function _(){p=``}function v(e){return p?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(p)}`:e}function y(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ee(e,t=`|`){return e.map(e=>xe(e)).join(t)}function b(e,t){return typeof t==`bigint`?t.toString():t}var te=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function ne(e){return new te(e)}function re(e){return e==null}function ie(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ae(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function x(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function oe(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function se(e){return oe(e._zod.def)??e._zod.def.shape}function ce(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return x(this,t,e),e},enumerable:!0,configurable:!0})}function le(e,t,n){t in e?x(e,t,n):e[t]=n}function ue(e,t,n,r){let i=se(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?ce(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):le(e,a,r?r(n.value,a):n.value))}}function S(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?ce(e,n,()=>t[n]):le(e,n,r.value))}}function C(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function w(e){return JSON.stringify(e)}function de(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var fe=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function pe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var me=ne(()=>{if(ut.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function he(e){if(pe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return pe(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ge(e){return he(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var _e=new Set([`string`,`number`,`symbol`]),ve=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function be(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function T(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function xe(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Se(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var Ce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},we={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Te(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return ue(i,e,Ee(e,t)),be(e,C(n,{shape:i,checks:[]}))}function Ee(e,t){let n=se(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function De(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Ee(e,t)),a={};return ue(a,e,Reflect.ownKeys(se(e)).filter(e=>!i.has(e))),be(e,C(n,{shape:a,checks:[]}))}function Oe(e,t){if(!he(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=se(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return be(e,C(e._zod.def,{shape:ke(e,t)}))}function ke(e,t){let n={};return ue(n,e,Reflect.ownKeys(se(e))),S(n,t),n}function Ae(e,t){if(!he(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return be(e,C(e._zod.def,{shape:ke(e,t)}))}function je(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return ue(n,e,Reflect.ownKeys(se(e))),ue(n,t,Reflect.ownKeys(se(t))),be(e,C(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Me(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(Ee(t,n)):void 0,o={};return ue(o,t,Reflect.ownKeys(se(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),be(t,C(t._zod.def,{shape:o,checks:[]}))}function Ne(e,t,n){let r=n?new Set(Ee(t,n)):void 0,i={};return ue(i,t,Reflect.ownKeys(se(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),be(t,C(t._zod.def,{shape:i}))}function Pe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Fe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Ie(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Le(e){return typeof e==`string`?e:e?.message}function Re(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function ze(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Le(e.inst?._zod.def?.error?.(e))??Le(a?.(e))??Le(t?.error?.(e))??Le(n.customError?.(e))??Le(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var Be=/[\uD800-\uDBFF]/;function Ve(e){let t=e.length;if(!Be.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function He(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ue(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function We(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Ge(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Ye(e,n,r.value)}}function Ke(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function qe(e,t,n){return Ke(e,t,n,!1)}function Je(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Ke(this,n,r(this))},set(e){Ke(this,n,e)}})}return t}function Ye(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Ke(this,t,n.bind(this))},set(e){Ke(this,t,e)}})}function Xe(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Ze,Qe=!1,$e={configurable:!0,get(){Qe=!0}};function et(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Ze!==e._zod){Ze=void 0;return}Ze=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,$e);let e=Qe;Qe=!1;try{let r=n(this);return Qe?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Qe||=e,r}catch(n){throw delete this[t],Qe||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function tt(e,t,n,r){let i=Xe(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var nt=`~constantCatch`;function rt(e){let t=()=>e;return t[nt]=!0,t}var it,at={value:void 0,enumerable:!1},ot=`captureStackTrace`in Error?Error:null;function st(e){let t=ot;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return ot=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function E(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){at.value=new a(r);try{Object.defineProperty(n,"_zod",at)}finally{at.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Ge(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?st(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var ct=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},lt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(it=globalThis).__zod_globalConfig??(it.__zod_globalConfig={});var ut=globalThis.__zod_globalConfig;function dt(e){return e&&Object.assign(ut,e),ut}function ft(){let e=this._zod;return e.message??=JSON.stringify(e.def,b,2),e.message}function pt(e){this._zod.message=e}var mt={get:ft,set:pt,enumerable:!0,configurable:!0},ht={value:void 0,enumerable:!1},gt=new WeakSet([Object.prototype,Error.prototype]),_t=(e,t)=>{e.name=`$ZodError`,ht.value=t,Object.defineProperty(e,"issues",ht),ht.value=void 0,Object.defineProperty(e,"message",mt);let n=Object.getPrototypeOf(e);gt.has(n)||(gt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},vt=E(`$ZodError`,_t);E(`$ZodError`,_t,void 0,{Parent:Error});function yt(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function bt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?yt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function xt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function St(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Ct=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new ct;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ze(e,o,dt())));throw fe(n,a?.callee??t),n}return s.value};return t},wt=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ze(e,o,dt())));throw fe(n,a?.callee??t),n}return s.value};return t},Tt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new ct;return a.issues.length?Et(e,a.issues,i):{success:!0,data:a.value}};function Et(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>ze(e,n,dt()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var Dt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Et(e,a.issues,i):{success:!0,data:a.value}},Ot=Symbol.for(`zod.compile.invalid`),kt=Symbol.for(`zod.compile.fallback`),At=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Ot)return!0;if(r.definite===!0&&n===void 0)return!1}return jt(e,t,n)});function jt(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[kt]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new ct;return a.issues.length===0}var Mt=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},Nt=e=>{let t=Ct(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,St(n,a))};return n},Pt=e=>{let t=Ct(e),n=(e,r,i,a)=>t(e,r,i,St(n,a));return n},Ft=e=>{let t=wt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,St(n,a))};return n},It=e=>{let t=wt(e),n=async(e,r,i,a)=>await t(e,r,i,St(n,a));return n},Lt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Tt(e)(t,n,i)},Rt=e=>(t,n,r)=>Tt(e)(t,n,r),zt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Dt(e)(t,n,i)},Bt=e=>async(t,n,r)=>Dt(e)(t,n,r),Vt=/^[cC][0-9a-z]{6,}$/,Ht=/^[0-9a-z]+$/,Ut=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Wt=/^[0-9a-vA-V]{20}$/,Gt=/^[A-Za-z0-9]{27}$/,Kt=/^[a-zA-Z0-9_-]{21}$/;function qt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Jt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Yt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Xt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Zt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,eee=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function tee(){return new RegExp(eee,`u`)}var nee=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ree=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,iee=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,aee=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,oee=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,see=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,cee=/^https?$/,lee=/^\+[1-9]\d{6,14}$/,Qt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function uee(e){return RegExp(`^${e}$`)}var dee=uee(Qt);function $t(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function fee(e){return RegExp(`^${$t(e)}$`)}function pee(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${$t({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${$t({precision:e.precision})}`:n;return RegExp(`^${Qt}T(?:${r})$`)}var mee=/^[\s\S]{0,}$/,en=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},tn=/^-?\d+$/,nn=/^-?\d+(?:\.\d+)?$/,rn=/^(?:true|false)$/i,an=/^null$/i,on=/^[^A-Z]*$/,sn=/^[^a-z]*$/,cn=E(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ln=e=>{let t=e.value;return!re(t)&&t.length!==void 0},un={number:`number`,bigint:`bigint`,object:`date`},dn=E(`$ZodCheckLessThan`,(e,t)=>{cn.init(e,t);let n=un[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:un[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),fn=E(`$ZodCheckGreaterThan`,(e,t)=>{cn.init(e,t);let n=un[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:un[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pn=E(`$ZodCheckMultipleOf`,(e,t)=>{cn.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):ae(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),mn=E(`$ZodCheckNumberFormat`,(e,t)=>{cn.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ce[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),hn=E(`$ZodCheckMaxLength`,(e,t)=>{var n;cn.init(e,t),(n=e._zod.def).when??(n.when=ln),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Ve(r):i)<=t.maximum)return;let a=He(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),gn=E(`$ZodCheckMinLength`,(e,t)=>{var n;cn.init(e,t),(n=e._zod.def).when??(n.when=ln),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Ve(r):i)>=t.minimum)return;let a=He(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),_n=E(`$ZodCheckLengthEquals`,(e,t)=>{var n;cn.init(e,t),(n=e._zod.def).when??(n.when=ln),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Ve(r):i;if(a===t.length)return;let o=He(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),vn=E(`$ZodCheckStringFormat`,(e,t)=>{var n,r;cn.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),yn=E(`$ZodCheckRegex`,(e,t)=>{vn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),bn=E(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=on,vn.init(e,t)}),xn=E(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=sn,vn.init(e,t)}),Sn=E(`$ZodCheckIncludes`,(e,t)=>{cn.init(e,t);let n=ye(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Cn=E(`$ZodCheckStartsWith`,(e,t)=>{cn.init(e,t);let n=RegExp(`^${ye(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),wn=E(`$ZodCheckEndsWith`,(e,t)=>{cn.init(e,t);let n=RegExp(`.*${ye(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Tn=E(`$ZodCheckOverwrite`,(e,t)=>{cn.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),En=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
3
|
-
`)}\n};`)(...Object.values(this.closed))}},Dn={major:4,minor:6,patch:5},On=E(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=Pe(t),a;for(let o of n){if(o._zod.def.when){if(Fe(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new ct;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Re(t.issues,n,e),i||=Pe(t,n))});else{if(t.issues.length===n)continue;Re(t.issues,n,e),i||=Pe(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(Pe(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new ct;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new ct;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return qe(this,`~standard`,jn(this))},set"~standard"(e){Ke(this,`~standard`,e)}}),kn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>ze(e,t,dt()))}:{value:e.value};async function An(e,t){let n={async:!0};return kn(await e._zod.run({value:t,issues:[]},n),n)}function jn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return kn(r,n)}catch{}return An(e,t)},vendor:`zod`,version:1}}var Mn=E(`$ZodString`,(e,t)=>{On.init(e,t),e._zod.pattern=t.pattern??mee,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Nn=E(`$ZodStringFormat`,(e,t)=>{vn.init(e,t),Mn.init(e,t)}),Pn=E(`$ZodGUID`,(e,t)=>{t.pattern??=Yt,Nn.init(e,t)}),hee=E(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Xt(e)}else t.pattern??=Xt();Nn.init(e,t)}),gee=E(`$ZodEmail`,(e,t)=>{t.pattern??=Zt,Nn.init(e,t)});function Fn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function _ee(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Fn(e)||2:vee(e,t)}function vee(e,t){if(!t.normalize&&t.protocol?.source===cee.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var yee=/[\t\n\r]/g;function In(e){return e.replace(yee,``)}function bee(e,t){return t.lastIndex=0,t.test(e.hostname)}function xee(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var See=E(`$ZodURL`,(e,t)=>{Nn.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=_ee(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=In(r);return}t.hostname&&!bee(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!xee(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:In(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Cee=E(`$ZodEmoji`,(e,t)=>{t.pattern??=tee(),Nn.init(e,t)}),Ln=E(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?Kt:qt(t.length),Nn.init(e,t)}),Rn=E(`$ZodCUID`,(e,t)=>{t.pattern??=Vt,Nn.init(e,t)}),zn=E(`$ZodCUID2`,(e,t)=>{t.pattern??=Ht,Nn.init(e,t)}),Bn=E(`$ZodULID`,(e,t)=>{t.pattern??=Ut,Nn.init(e,t)}),Vn=E(`$ZodXID`,(e,t)=>{t.pattern??=Wt,Nn.init(e,t)}),Hn=E(`$ZodKSUID`,(e,t)=>{t.pattern??=Gt,Nn.init(e,t)}),Un=E(`$ZodISODateTime`,(e,t)=>{t.pattern??=pee(t),Nn.init(e,t)}),Wn=E(`$ZodISODate`,(e,t)=>{t.pattern??=dee,Nn.init(e,t)}),Gn=E(`$ZodISOTime`,(e,t)=>{t.pattern??=fee(t),Nn.init(e,t)}),Kn=E(`$ZodISODuration`,(e,t)=>{t.pattern??=Jt,Nn.init(e,t)}),qn=E(`$ZodIPv4`,(e,t)=>{t.pattern??=nee,Nn.init(e,t)}),Jn=/^[0-9a-fA-F:.]+$/;function Yn(e){return Jn.test(e)?Fn(`http://[${e}]`):!1}var Xn=E(`$ZodIPv6`,(e,t)=>{t.pattern??=ree,Nn.init(e,t),e._zod.check=n=>{Yn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Zn=E(`$ZodCIDRv4`,(e,t)=>{t.pattern??=iee,Nn.init(e,t)});function Qn(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Yn(n)}var $n=E(`$ZodCIDRv6`,(e,t)=>{t.pattern??=aee,Nn.init(e,t),e._zod.check=n=>{Qn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function er(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var tr=/^[0-9a-zA-Z+/]*={0,2}$/,nr=E(`$ZodBase64`,(e,t)=>{t.pattern??=tr,Nn.init(e,t),e._zod.check=n=>{er(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),rr=/^[A-Za-z0-9_-]*$/;function ir(e){if(!rr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return er(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var ar=E(`$ZodBase64URL`,(e,t)=>{t.pattern??=rr,Nn.init(e,t),e._zod.check=n=>{ir(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),or=E(`$ZodE164`,(e,t)=>{t.pattern??=lee,Nn.init(e,t)});function sr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var cr=E(`$ZodJWT`,(e,t)=>{Nn.init(e,t),e._zod.check=n=>{sr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),lr=E(`$ZodNumber`,(e,t)=>{On.init(e,t),e._zod.pattern=nn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),ur=E(`$ZodNumberFormat`,(e,t)=>{mn.init(e,t),lr.init(e,t)}),dr=E(`$ZodBoolean`,(e,t)=>{On.init(e,t),e._zod.pattern=rn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),fr=E(`$ZodNull`,(e,t)=>{On.init(e,t),e._zod.pattern=an,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),pr=E(`$ZodUnknown`,(e,t)=>{On.init(e,t),e._zod.parse=e=>e}),mr=E(`$ZodNever`,(e,t)=>{On.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function hr(e,t,n){e.issues.length&&t.issues.push(...Ie(n,e.issues)),t.value[n]=e.value}var gr=E(`$ZodArray`,(e,t)=>{On.init(e,t);let n=ut.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>hr(t,r,e)));else if(hr(c,r,e),s&&c.issues.length!==0&&Pe(c))break}return o.length?Promise.all(o).then(()=>r):r}});function _r(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ie(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var vr=[];function yr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:vr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Se(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function br(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(Pe(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>_r(e,n,i,t,d,f))):_r(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var xr=E(`$ZodObject`,(e,t)=>{On.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=ne(()=>yr(t));et(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||x(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=pe,o=t.catchall,s,c=ut.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(Pe(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>_r(n,t,e,r,a,o))):_r(s,t,e,r,a,o)}return o?br(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Sr=E(`$ZodObjectJIT`,(e,t)=>{xr.init(e,t);let n=e._zod.parse,r=ne(()=>yr(t)),i=ut.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new En([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
4
|
-
let ${e}_ab = false;
|
|
5
|
-
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
6
|
-
const iss = ${e}.issues[i];
|
|
7
|
-
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
8
|
-
payload.issues.push(iss);
|
|
9
|
-
if (iss.continue !== true) ${e}_ab = true;
|
|
10
|
-
}
|
|
11
|
-
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
12
|
-
payload.value = newResult;
|
|
13
|
-
return payload;
|
|
14
|
-
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:w(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
15
|
-
const ${n}_present = ${i};
|
|
16
|
-
if (!${n}.issues.length || ${n}_present) {
|
|
17
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (${e}) {
|
|
21
|
-
newResult[${r}] = ${n}.value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
`)}else f?(o.write(`
|
|
26
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
27
|
-
}
|
|
28
|
-
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
29
|
-
if (${n}.value !== undefined || ${i}) {
|
|
30
|
-
newResult[${r}] = ${n}.value;
|
|
31
|
-
}
|
|
32
|
-
`)):o.write(`
|
|
33
|
-
const ${n}_present = ${i};
|
|
34
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
-
}
|
|
36
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
37
|
-
payload.issues.push({
|
|
38
|
-
code: "invalid_type",
|
|
39
|
-
expected: "nonoptional",
|
|
40
|
-
input: undefined,
|
|
41
|
-
path: [${r}]
|
|
42
|
-
});
|
|
43
|
-
if (ctx && ctx.abortEarly) {
|
|
44
|
-
payload.value = newResult;
|
|
45
|
-
return payload;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (${n}_present) {
|
|
50
|
-
newResult[${r}] = ${n}.value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=pe,c=!ut.jitless,l=c&&me.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?br([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Cr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Pe(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>ze(e,r,dt())))}),t)}var wr=E(`$ZodUnion`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),et(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),et(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),et(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>ie(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Cr(t,r,e,i)):Cr(o,r,e,i)}});function Tr(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var Er=E(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,wr.init(e,t);let n=e._zod.parse;et(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||x(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=oe(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=ne(()=>Tr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!pe(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),Dr=E(`$ZodIntersection`,(e,t)=>{On.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>kr(e,t,n)):kr(e,i,a)}});function Or(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(he(e)&&he(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Or(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Or(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function kr(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Or(t.value,n.value);if(!c.valid){if(Pe(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Ar=E(`$ZodRecord`,(e,t)=>{On.init(e,t);let n=ut.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!he(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>ze(e,i,dt())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ie(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ie(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&nn.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>ze(e,i,dt())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ie(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ie(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),jr=E(`$ZodEnum`,(e,t)=>{On.init(e,t);let n=y(t.entries),r=new Set(n);e._zod.values=r,et(e,`pattern`,e=>{let t=y(e.def.entries).filter(e=>_e.has(typeof e));return RegExp(t.length?`^(${t.map(e=>ye(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Mr=E(`$ZodLiteral`,(e,t)=>{On.init(e,t);let n=new Set(t.values);e._zod.values=n,et(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?ye(e):e?ye(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Nr=E(`$ZodTransform`,(e,t)=>{On.init(e,t),e._zod.optin=`optional`,ut.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new lt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new ct;return n.value=i,n}});function Pr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Fr=E(`$ZodOptional`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,et(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),et(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${ie(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>Pr(e,t)):Pr(e,r)}return t.innerType._zod.run(e,n)}}),Ir=E(`$ZodExactOptional`,(e,t)=>{Fr.init(e,t),et(e,`values`,e=>e.def.innerType._zod.values),et(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Lr=E(`$ZodNullable`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin),et(e,`optout`,e=>e.def.innerType._zod.optout),et(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${ie(t.source)}|null)$`):void 0}),et(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Rr=E(`$ZodDefault`,(e,t)=>{On.init(e,t),e._zod.optin=`defaulted`,et(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>zr(e,t)):zr(r,t)}});function zr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Br=E(`$ZodPrefault`,(e,t)=>{On.init(e,t),e._zod.optin=`defaulted`,et(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Vr=E(`$ZodNonOptional`,(e,t)=>{On.init(e,t),et(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Hr(t,e)):Hr(i,e)}});function Hr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Ur(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>ze(e,r,dt()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Wr=E(`$ZodCatch`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),et(e,`optout`,e=>e.def.innerType._zod.optout),et(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Ur(e,r,t,n)):Ur(e,r,t,n)}}),Gr=E(`$ZodPipe`,(e,t)=>{On.init(e,t),et(e,`values`,e=>e.def.in._zod.values),et(e,`optin`,e=>e.def.in._zod.optin),et(e,`optout`,e=>e.def.out._zod.optout),et(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Kr(e,t.in,n)):Kr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Kr(e,t.out,n)):Kr(r,t.out,n)}});function Kr(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var qr=E(`$ZodPreprocess`,(e,t)=>{Gr.init(e,t)}),Jr=E(`$ZodReadonly`,(e,t)=>{On.init(e,t),et(e,`propValues`,e=>e.def.innerType._zod.propValues),et(e,`values`,e=>e.def.innerType._zod.values),et(e,`optin`,e=>e.def.innerType?._zod?.optin),et(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Yr):Yr(r)}});function Yr(e){return e.memo||(e.value=Object.freeze(e.value)),e}function Xr(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return en({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===nn?tn:o)?.source}function Zr(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=Zr(r);return n&&e&&t&&t!==e?n.replace(ie(e),()=>ie(t)):n}if(t.options){let e=t.options.map(Zr);if(e.every(Boolean))return`^(${e.map(e=>ie(e)).join(`|`)})$`}return Xr(e)}var Qr=E(`$ZodTemplateLiteral`,(e,t)=>{On.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=Zr(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(ie(t))}else if(e===null||ve.has(typeof e))n.push(ye(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),$r=E(`$ZodCustom`,(e,t)=>{cn.init(e,t),On.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ei(t,n,r,e));ei(i,n,r,e)}});function ei(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(We(e))}}var ti=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},ni=`~memo`,ri=[];function ii(e){return typeof e==`object`&&!!e}function ai(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var oi=new WeakMap,si=0,ci=1,li=2;function ui(e,t,n){let r=oi.get(e);if(r!==void 0)return r?li:si;if(t.has(e))return li;t.add(e);let i=si,a=e=>{if(i!==li&&e?._zod){let r=ui(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=si;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?ci:o.value?._zod?ui(o.value,t,n):si;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=oe(c);s(e?o(e,!0):ci),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?ui(r,t,!1):ci);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),di(e,i)}function di(e,t){return t!==ci&&oi.set(e,t===li),t}function fi(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var pi,mi=[],hi={alloc(e,t,n){let r=pi;if(!r)return n;pi=void 0;let i={value:n,issues:null};return r.set(t.value,i),mi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&_i(n,e.value))throw new ti;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=ui(e,new Set,!1);if(i===si)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===li||r?n=!0:r=!0}let l=s.value;if(!ii(l))return t(s,c);let u=c[ni];u||(u={buckets:new WeakMap,backEdges:void 0},c[ni]=u);let d;i===c?d=a:(d=fi(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...ai(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;pi=d;let p=mi.length,m=t(s,c);pi=void 0;let h=mi.length>p?mi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?ai(e.issues):ri),e)):(h&&(h.issues=m.issues.length?ai(m.issues):ri),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function gi(){return hi}function _i(e,t){let n=e[ni]?.backEdges;return n!==void 0&&ii(t)&&n.has(t)}var vi=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(Ue(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${xe(e.values[0])}`:`Invalid option: expected one of ${ee(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${ee(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function yi(){return{localeError:vi()}}var bi,xi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Si(){return new xi}(bi=globalThis).__zod_globalRegistry??(bi.__zod_globalRegistry=Si());var Ci=globalThis.__zod_globalRegistry;function wi(e){return e.checks&&=[...e.checks],e}function Ti(e,t){return new e(wi({type:`string`,...T(t)}))}function Ei(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...T(t)})}function Di(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...T(t)})}function Oi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...T(t)})}function ki(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...T(t)})}function Ai(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...T(t)})}function ji(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...T(t)})}function Mi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...T(t)})}function Ni(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...T(t)})}function Pi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...T(t)})}function Fi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...T(t)})}function Ii(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...T(t)})}function Li(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...T(t)})}function Ri(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...T(t)})}function zi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...T(t)})}function Bi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...T(t)})}function Vi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...T(t)})}function Hi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...T(t)})}function Ui(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...T(t)})}function Wi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...T(t)})}function Gi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...T(t)})}function Ki(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...T(t)})}function qi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...T(t)})}function Ji(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...T(t)})}function Yi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...T(t)})}function Xi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...T(t)})}function Zi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...T(t)})}function Qi(e,t){return new e(wi({type:`number`,checks:[],...T(t)}))}function $i(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...T(t)})}function ea(e,t){return new e({type:`boolean`,...T(t)})}function ta(e,t){return new e({type:`null`,...T(t)})}function na(e){return new e({type:`unknown`})}function ra(e,t){return new e({type:`never`,...T(t)})}function ia(e,t){return new dn({check:`less_than`,...T(t),value:e,inclusive:!1})}function aa(e,t){return new dn({check:`less_than`,...T(t),value:e,inclusive:!0})}function oa(e,t){return new fn({check:`greater_than`,...T(t),value:e,inclusive:!1})}function sa(e,t){return new fn({check:`greater_than`,...T(t),value:e,inclusive:!0})}function ca(e,t){return new pn({check:`multiple_of`,...T(t),value:e})}function la(e,t){return new hn({check:`max_length`,...T(t),maximum:e})}function ua(e,t){return new gn({check:`min_length`,...T(t),minimum:e})}function da(e,t){return new _n({check:`length_equals`,...T(t),length:e})}function fa(e,t){return new yn({check:`string_format`,format:`regex`,...T(t),pattern:e})}function pa(e){return new bn({check:`string_format`,format:`lowercase`,...T(e)})}function ma(e){return new xn({check:`string_format`,format:`uppercase`,...T(e)})}function ha(e,t){return new Sn({check:`string_format`,format:`includes`,...T(t),includes:e})}function ga(e,t){return new Cn({check:`string_format`,format:`starts_with`,...T(t),prefix:e})}function _a(e,t){return new wn({check:`string_format`,format:`ends_with`,...T(t),suffix:e})}function va(e){return new Tn({check:`overwrite`,tx:e})}function ya(e){return va(t=>t.normalize(e))}function ba(){return va(e=>e.trim())}function xa(){return va(e=>e.toLowerCase())}function Sa(){return va(e=>e.toUpperCase())}function Ca(){return va(e=>de(e))}function wa(e,t,n){return new e({type:`array`,element:t,...T(n)})}function Ta(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...T(n)})}function Ea(e,t){let n=Da(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(We(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(We(r))}},e(t.value,t)),t);return n}function Da(e,t){let n=new cn({check:`custom`,...T(t)});return n._zod.check=e,n}function Oa(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&x(e,t,n[t]);return e}function ka(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Ci,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Aa(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function ja(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,ja(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Oa(o.schema,c),t.io===`input`&&Ba(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ma(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Na(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Ma(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ma(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
54
|
-
|
|
55
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Pa(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Pa(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Fa=new Set([`type`,`properties`,`required`,`additionalProperties`]),Ia=[`oneOf`,`anyOf`];function La(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ra(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Fa.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??La(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}x(n,r,e.length===1?e[0]:Ra(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=La(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function wee(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Fa)if(t in e)return;let n=t.filter(e=>Ia.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ra(t);else{let e=n[0],i=Ia.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ra([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Oa(e,r))}function za(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Oa(i,s),Oa(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Pa(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])wee(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Oa(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,x(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Va(t,`input`,e.processors),output:Va(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Ba(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Ba(r.element,n);if(r.type===`set`)return Ba(r.valueType,n);if(r.type===`lazy`)return Ba(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return Ba(r.innerType,n);if(r.type===`intersection`)return Ba(r.left,n)||Ba(r.right,n);if(r.type===`record`||r.type===`map`)return Ba(r.keyType,n)||Ba(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:Ba(r.in,n)||Ba(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Ba(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Ba(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Ba(e,n))return!0;return!!(r.rest&&Ba(r.rest,n))}return!1}var Tee=(e,t={})=>n=>{let r=ka({...n,processors:t});return ja(e,r),Na(r,e),za(r,e)},Va=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ka({...i??{},target:a,io:t,processors:n});return ja(e,o),Na(o,e),za(o,e)},Ha=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Ua=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Wa=(e,t)=>{Ha(e,`minimum`,t),Ua(e,`maximum`,t)},Ga=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ka=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},qa=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ja=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ya=(e,t)=>Ha(e,`minimum`,t.minimum),Xa=(e,t)=>Ua(e,`maximum`,t.maximum),Za=e=>(t,n)=>{Ja(t,n.format);let[r,i]=e[n.format];Ha(t,`minimum`,r),Ua(t,`maximum`,i)},Eee={greater_than:(e,t)=>Ha(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Ua(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ga(e,t.value),number_format:Za(Ce),bigint_format:Za(we),min_length:Ya,max_length:Xa,length_equals:(e,t)=>Wa(e,t.length),min_size:Ya,max_size:Xa,size_equals:(e,t)=>Wa(e,t.size),string_format:(e,t)=>{Ja(e,t.format),t.pattern&&Ka(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>qa(e,t.mime)};function Qa(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Eee[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ha(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ha(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Ua(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Ua(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ga(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&qa(t,i.mime);for(let e of i.patterns??[])Ka(t,e);return t}var Dee={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Oee=new Map([[tr,oee],[rr,see]]),$a=e=>Oee.get(e)??e,kee=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=Qa(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Dee[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map($a);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Aee=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=Qa(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):Aa(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},jee=(e,t,n,r)=>{n.type=`boolean`},Mee=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Nee=(e,t,n,r)=>{n.not={}},Pee=(e,t,n,r)=>{let i=e._zod.def,a=y(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Fee=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(Aa(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Aa(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},Iee=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},Lee=(e,t,n,r)=>{Aa(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ree=(e,t,n,r)=>{Aa(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},zee=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Qa(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=ja(a.element,t,{...r,path:[...r.path,`items`]})};function eo(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?eo(t.out):t.type===`catch`?eo(t.innerType):e._zod.optin}var Bee=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Aa(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)x(i.properties,e,ja(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?eo(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ja(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Vee=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>ja(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Hee=(e,t,n,r)=>{let i=e._zod.def,a=ja(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=ja(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function to(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=to(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>to(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?nn:tn).source),p):p}var no=new WeakMap;function Uee(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of no.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=to(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var Wee=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=Qa(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=ja(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)x(i.patternProperties,$a(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=ja(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=no.get(t);n||(n=[],no.set(t,n),t.deferred.push(()=>Uee(t))),n.push(e)}i.additionalProperties=ja(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&eo(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},Gee=(e,t,n,r)=>{let i=e._zod.def,a=ja(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Kee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ro=Symbol();function io(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Aa(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),ro):JSON.parse(o)}var qee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=io(i.defaultValue,e,t,n,r);o!==ro&&(n.default=o)},Jee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=io(i.defaultValue,e,t,n,r);o!==ro&&(n._prefault=o)},Yee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Aa(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Xee=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;ja(o,t,r);let s=t.seen.get(e);s.ref=o},Zee=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},ao=(e,t,n,r)=>{let i=e._zod.def;ja(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},oo=new WeakSet([Object.prototype,Error.prototype]);function so(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var co=E(`ZodError`,(e,t)=>{vt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);oo.has(n)||(oo.add(n),so(n,`format`,e=>t=>xt(e,t)),so(n,`flatten`,e=>t=>bt(e,t)),so(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,b,2)}),so(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,b,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Qee=Ct(co),$ee=wt(co),ete=Tt(co),tte=Dt(co),nte=Nt(co),rte=Pt(co),ite=Ft(co),ate=It(co),ote=Lt(co),ste=Rt(co),cte=zt(co),lte=Bt(co);function ute(){ut.localeError||dt(yi())}function lo(){ut.memoizer||dt({memoizer:gi()})}var uo=E(`ZodType`,(e,t)=>(ute(),On.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(C(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return be(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hs(e,t))},superRefine(e,t){return this.check(gs(e,t))},overwrite(e){return this.check(va(e))},optional(){return is(this)},exactOptional(){return yte(this)},nullable(){return os(this)},nullish(){return is(os(this))},nonoptional(e){return Tte(this,e)},array(){return A(this)},or(e){return qo([this,e])},and(e){return Zo(this,e)},transform(e){return ls(this,ns(e))},default(e){return Ste(this,e)},prefault(e){return wte(this,e)},catch(e){return Dte(this,e)},pipe(e){return ls(this,e)},readonly(){return ds(this)},describe(e){let t=this.clone();return Ci.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ci.get(this);let t=this.clone();return Ci.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return qe(this,`~standard`,{...jn(this),jsonSchema:{input:Va(this,`input`),output:Va(this,`output`)}})},set"~standard"(e){Ke(this,`~standard`,e)},parse:function e(t,n){return Qee(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await $ee(this,t,n,{callee:e})},safeParse(e,t){return ete(this,e,t)},async safeParseAsync(e,t){return tte(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Ke(this,`spa`,e)},validate(e,t){return At(this,e,t)},validateAsync(e,t){return Mt(this,e,t)},encode:function e(t,n){return nte(this,t,n,{callee:e})},decode:function e(t,n){return rte(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await ite(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await ate(this,t,n,{callee:e})},safeEncode(e,t){return ote(this,e,t)},safeDecode(e,t){return ste(this,e,t)},async safeEncodeAsync(e,t){return cte(this,e,t)},async safeDecodeAsync(e,t){return lte(this,e,t)},toJSONSchema(e){return Tee(this,{})(e)},get description(){return Ci.get(this)?.description},get _def(){return this._zod.def}}),fo=E(`_ZodString`,(e,t)=>{Mn.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kee(e,t,n,r)},Je({format:e=>Qa(e).format??null,minLength:e=>Qa(e).minimum??null,maxLength:e=>Qa(e).maximum??null},{regex(...e){return this.check(fa(...e))},includes(...e){return this.check(ha(...e))},startsWith(...e){return this.check(ga(...e))},endsWith(...e){return this.check(_a(...e))},min(...e){return this.check(ua(...e))},max(...e){return this.check(la(...e))},length(...e){return this.check(da(...e))},nonempty(...e){return this.check(ua(1,...e))},lowercase(e){return this.check(pa(e))},uppercase(e){return this.check(ma(e))},trim(){return this.check(ba())},normalize(...e){return this.check(ya(...e))},toLowerCase(){return this.check(xa())},toUpperCase(){return this.check(Sa())},slugify(){return this.check(Ca())}})),dte=E(`ZodString`,(e,t)=>{Mn.init(e,t),fo.init(e,t)},{email(e){return this.check(Ei(_o,e))},url(e){return this.check(Mi(bo,e))},jwt(e){return this.check(qi(Mo,e))},emoji(e){return this.check(Ni(So,e))},guid(e){return this.check(Di(vo,e))},uuid(e){return this.check(Oi(yo,e))},uuidv4(e){return this.check(ki(yo,e))},uuidv6(e){return this.check(Ai(yo,e))},uuidv7(e){return this.check(ji(yo,e))},nanoid(e){return this.check(Pi(pte,e))},cuid(e){return this.check(Fi(mte,e))},cuid2(e){return this.check(Ii(hte,e))},ulid(e){return this.check(Li(gte,e))},base64(e){return this.check(Wi(Oo,e))},base64url(e){return this.check(Gi(Ao,e))},xid(e){return this.check(Ri(_te,e))},ksuid(e){return this.check(zi(Co,e))},ipv4(e){return this.check(Bi(wo,e))},ipv6(e){return this.check(Vi(To,e))},cidrv4(e){return this.check(Hi(Eo,e))},cidrv6(e){return this.check(Ui(Do,e))},e164(e){return this.check(Ki(jo,e))},datetime(e){return this.check(Ji(mo,e))},date(e){return this.check(Yi(ho,e))},time(e){return this.check(Xi(fte,e))},duration(e){return this.check(Zi(go,e))}});function D(e){return Ti(dte,e)}var po=E(`ZodStringFormat`,(e,t)=>{Nn.init(e,t),fo.init(e,t)}),mo=E(`ZodISODateTime`,(e,t)=>{Un.init(e,t),po.init(e,t)}),ho=E(`ZodISODate`,(e,t)=>{Wn.init(e,t),po.init(e,t)}),fte=E(`ZodISOTime`,(e,t)=>{Gn.init(e,t),po.init(e,t)}),go=E(`ZodISODuration`,(e,t)=>{Kn.init(e,t),po.init(e,t)}),_o=E(`ZodEmail`,(e,t)=>{gee.init(e,t),po.init(e,t)}),vo=E(`ZodGUID`,(e,t)=>{Pn.init(e,t),po.init(e,t)}),yo=E(`ZodUUID`,(e,t)=>{hee.init(e,t),po.init(e,t)}),bo=E(`ZodURL`,(e,t)=>{See.init(e,t),po.init(e,t)});function xo(e){return Mi(bo,e)}var So=E(`ZodEmoji`,(e,t)=>{Cee.init(e,t),po.init(e,t)}),pte=E(`ZodNanoID`,(e,t)=>{Ln.init(e,t),po.init(e,t)}),mte=E(`ZodCUID`,(e,t)=>{Rn.init(e,t),po.init(e,t)}),hte=E(`ZodCUID2`,(e,t)=>{zn.init(e,t),po.init(e,t)}),gte=E(`ZodULID`,(e,t)=>{Bn.init(e,t),po.init(e,t)}),_te=E(`ZodXID`,(e,t)=>{Vn.init(e,t),po.init(e,t)}),Co=E(`ZodKSUID`,(e,t)=>{Hn.init(e,t),po.init(e,t)}),wo=E(`ZodIPv4`,(e,t)=>{qn.init(e,t),po.init(e,t)}),To=E(`ZodIPv6`,(e,t)=>{Xn.init(e,t),po.init(e,t)}),Eo=E(`ZodCIDRv4`,(e,t)=>{Zn.init(e,t),po.init(e,t)}),Do=E(`ZodCIDRv6`,(e,t)=>{$n.init(e,t),po.init(e,t)}),Oo=E(`ZodBase64`,(e,t)=>{nr.init(e,t),po.init(e,t)});function ko(e){return Wi(Oo,e)}var Ao=E(`ZodBase64URL`,(e,t)=>{ar.init(e,t),po.init(e,t)}),jo=E(`ZodE164`,(e,t)=>{or.init(e,t),po.init(e,t)}),Mo=E(`ZodJWT`,(e,t)=>{cr.init(e,t),po.init(e,t)}),No=E(`ZodNumber`,(e,t)=>{lr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aee(e,t,n,r),e.isFinite=!0},Je({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Qa(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Qa(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=Qa(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Qa(e).format??null},{gt(e,t){return this.check(oa(e,t))},gte(e,t){return this.check(sa(e,t))},min(e,t){return this.check(sa(e,t))},lt(e,t){return this.check(ia(e,t))},lte(e,t){return this.check(aa(e,t))},max(e,t){return this.check(aa(e,t))},int(e){return this.check(Fo(e))},safe(e){return this.check(Fo(e))},positive(e){return this.check(oa(0,e))},nonnegative(e){return this.check(sa(0,e))},negative(e){return this.check(ia(0,e))},nonpositive(e){return this.check(aa(0,e))},multipleOf(e,t){return this.check(ca(e,t))},step(e,t){return this.check(ca(e,t))},finite(){return this}}));function O(e){return Qi(No,e)}var Po=E(`ZodNumberFormat`,(e,t)=>{ur.init(e,t),No.init(e,t)});function Fo(e){return $i(Po,e)}var Io=E(`ZodBoolean`,(e,t)=>{dr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jee(e,t,n,r)});function k(e){return ea(Io,e)}var Lo=E(`ZodNull`,(e,t)=>{fr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mee(e,t,n,r)});function Ro(e){return ta(Lo,e)}var zo=E(`ZodUnknown`,(e,t)=>{pr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Bo(){return na(zo)}var Vo=E(`ZodNever`,(e,t)=>{mr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nee(e,t,n,r)});function Ho(e){return ra(Vo,e)}var Uo=E(`ZodArray`,(e,t)=>{lo(),gr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zee(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ua(e,t))},nonempty(e){return this.check(ua(1,e))},max(e,t){return this.check(la(e,t))},length(e,t){return this.check(da(e,t))},unwrap(){return this.element}});function A(e,t){return wa(Uo,e,t)}var Wo=E(`ZodObject`,(e,t)=>{lo(),Sr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bee(e,t,n,r),tt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return N(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(C(this._zod.def,{catchall:e}))},passthrough(){return this.clone(C(this._zod.def,{catchall:Bo()}))},loose(){return this.clone(C(this._zod.def,{catchall:Bo()}))},strict(){return this.clone(C(this._zod.def,{catchall:Ho()}))},strip(){return this.clone(C(this._zod.def,{catchall:void 0}))},extend(e){return Oe(this,e)},safeExtend(e){return Ae(this,e)},merge(e){return je(this,e)},pick(e){return Te(this,e)},omit(e){return De(this,e)},partial(...e){return Me(rs,this,e[0])},exactPartial(...e){return Me(as,this,e[0],`exactPartial`)},required(...e){return Ne(ss,this,e[0])}});function j(e,t){return new Wo({type:`object`,shape:e??{},...T(t)})}function M(e,t){return new Wo({type:`object`,shape:e,catchall:Ho(),...T(t)})}function Go(e,t){return new Wo({type:`object`,shape:e,catchall:Bo(),...T(t)})}var Ko=E(`ZodUnion`,(e,t)=>{wr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vee(e,t,n,r),e.options=t.options});function qo(e,t){return new Ko({type:`union`,options:e,...T(t)})}var Jo=E(`ZodDiscriminatedUnion`,(e,t)=>{Ko.init(e,t),Er.init(e,t)});function Yo(e,t,n){return new Jo({type:`union`,options:t,discriminator:e,...T(n)})}var Xo=E(`ZodIntersection`,(e,t)=>{Dr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hee(e,t,n,r)});function Zo(e,t){return new Xo({type:`intersection`,left:e,right:t})}var Qo=E(`ZodRecord`,(e,t)=>{lo(),Ar.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wee(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function $o(e,t,n){return!t||!t._zod?new Qo({type:`record`,keyType:D(),valueType:e,...T(t)}):new Qo({type:`record`,keyType:e,valueType:t,...T(n)})}var es=E(`ZodEnum`,(e,t)=>{jr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pee(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new es({...t,checks:[],...T(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new es({...t,checks:[],...T(r),entries:i})}});function N(e,t){return new es({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...T(t)})}var ts=E(`ZodLiteral`,(e,t)=>{Mr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fee(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function P(e,t){return new ts({type:`literal`,values:Array.isArray(e)?e:[e],...T(t)})}var vte=E(`ZodTransform`,(e,t)=>{lo(),Nr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ree(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new lt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(We(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(We(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ns(e){return new vte({type:`transform`,transform:e})}var rs=E(`ZodOptional`,(e,t)=>{Fr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function is(e){return new rs({type:`optional`,innerType:e})}var as=E(`ZodExactOptional`,(e,t)=>{Ir.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yte(e){return new as({type:`optional`,innerType:e})}var bte=E(`ZodNullable`,(e,t)=>{Lr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function os(e){return new bte({type:`nullable`,innerType:e})}var xte=E(`ZodDefault`,(e,t)=>{Rr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ste(e,t){return new xte({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ge(t)}})}var Cte=E(`ZodPrefault`,(e,t)=>{Br.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function wte(e,t){return new Cte({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ge(t)}})}var ss=E(`ZodNonOptional`,(e,t)=>{Vr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Kee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Tte(e,t){return new ss({type:`nonoptional`,innerType:e,...T(t)})}var Ete=E(`ZodCatch`,(e,t)=>{Wr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Dte(e,t){return new Ete({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:rt(t)})}var cs=E(`ZodPipe`,(e,t)=>{Gr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xee(e,t,n,r),e.in=t.in,e.out=t.out});function ls(e,t){return new cs({type:`pipe`,in:e,out:t})}var Ote=E(`ZodPreprocess`,(e,t)=>{cs.init(e,t),qr.init(e,t)}),us=E(`ZodReadonly`,(e,t)=>{Jr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zee(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ds(e){return new us({type:`readonly`,innerType:e})}var fs=E(`ZodTemplateLiteral`,(e,t)=>{Qr.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iee(e,t,n,r)});function ps(e,t){return new fs({type:`template_literal`,parts:e,...T(t)})}var ms=E(`ZodCustom`,(e,t)=>{$r.init(e,t),uo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lee(e,t,n,r)});function hs(e,t={}){return Ta(ms,e,t)}function gs(e,t){return Ea(e,t)}function _s(e,t){return new Ote({type:`pipe`,in:ns(e),out:t})}function vs(e){return Ji(mo,e)}var ys=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,bs=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,xs=/^[A-Za-z0-9_=-]+$/;function Ss(e){let t=e.split(`/`);return t.length!==2||!t.every(e=>ys.test(e))?null:[t[0],t[1]]}var Cs=j({attempt:O().int().positive(),limit:O().int().positive()}).refine(e=>e.attempt<=e.limit),ws={error:D().nullable().optional(),nextAttemptAt:O().finite().nonnegative().nullable().optional(),retry:Cs.nullable().optional(),isRefreshing:k().optional(),refreshNotice:D().nullable().optional()},Ts=j({lane:N([`my-prs`,`team-review`,`issues`])}),Es=j({ok:k(),error:D().optional()}),Ds=D().regex(bs),Os=D().regex(RegExp(`${bs.source.slice(0,-1)}#[1-9][0-9]*$`)),ks=j({number:O().int().positive(),url:D().url(),title:D(),state:N([`open`,`draft`,`merged`,`closed`])});j({issue:j({closedByPullRequestsReferences:j({nodes:A(j({number:ks.shape.number,url:ks.shape.url,title:ks.shape.title,state:N([`OPEN`,`MERGED`,`CLOSED`]),isDraft:k()}).nullable()).max(5)})}).nullable()});var As={key:D(),repo:Ds,number:O().int().positive(),title:D(),url:D().url(),labels:A(D()),assignees:A(D()),author:D(),comments:O().int().nonnegative(),createdAt:vs(),updatedAt:vs()},js=N([`project`,`me`,`team`]),Ms={...As,sources:A(js).nonempty().refine(e=>new Set(e).size===e.length),teams:A(Ds),projectId:D().nullable(),pullRequests:A(ks).max(5).default([])},Ns=j(Ms).refine(e=>e.key===`${e.repo}#${e.number}`),Ps=j({...Ms,sessionId:D().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),Fs=j({...As,state:N([`open`,`closed`])});j({number:As.number,title:As.title,html_url:As.url,state:N([`open`,`closed`]),labels:A(qo([D(),j({name:D()})])),assignees:A(j({login:D()})),user:j({login:D()}).nullable(),comments:As.comments,created_at:As.createdAt,updated_at:As.updatedAt,repository_url:D().url().optional(),pull_request:Bo().optional()}),j({items:A(Bo()),total_count:O().int().nonnegative(),incomplete_results:k()}),j({ok:k(),items:A(Fs),isComplete:k(),error:D()}),j({issues:A(Ns),lastSyncAt:O().finite().nonnegative().nullable(),perRepoSync:$o(Ds,j({lastSyncAt:O().finite().nonnegative().nullable(),ticks:O().int().nonnegative(),needsFullReconcile:k()})),sessionLinks:$o(Os,D()).default({}),pullRequestsFetchedAt:$o(Os,vs()).default({})});var Is=j({type:P(`issues-status`),ts:O().finite(),configured:k(),reason:D().nullable(),lastSyncAt:O().finite().nonnegative().nullable(),issues:A(Ps),...ws}).passthrough(),F=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),Ls=Object.freeze({[F.DORMANT]:`Dormant`,[F.INITIALIZING]:`Preparing`,[F.STARTING]:`Starting`,[F.RUNNING]:`Working`,[F.WAITING]:`Needs Input`,[F.IDLE]:`Idle`,[F.COMPLETE]:`Complete`,[F.DONE]:`Exited`,[F.FAILED]:`Failed`}),Rs=Object.freeze({[F.DORMANT]:`○`,[F.INITIALIZING]:`◌`,[F.STARTING]:`◐`,[F.RUNNING]:`●`,[F.WAITING]:`◆`,[F.IDLE]:`◍`,[F.FAILED]:`▲`,[F.DONE]:`■`,[F.COMPLETE]:`◇`}),zs=Object.freeze([F.INITIALIZING,F.STARTING,F.RUNNING,F.WAITING,F.IDLE,F.COMPLETE]),Bs=Object.freeze([F.DONE,F.FAILED]),Vs=Object.freeze([F.WAITING,F.IDLE,F.COMPLETE]),Hs=Object.freeze({Bash:`command`,Read:`file_path`,Edit:`file_path`,MultiEdit:`file_path`,Write:`file_path`,NotebookEdit:`notebook_path`,Grep:`pattern`,Glob:`pattern`,WebFetch:`url`,WebSearch:`query`,Task:`description`,Agent:`description`,Skill:`skill`});function Us(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=160?t:`${t.slice(0,157)}...`}function Ws(e,t){let n=Hs[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return null;let r=t[n];return typeof r==`string`?r:null}function Gs(e,t){let n=Ws(e,t);return n===null?``:Us(n)}var Ks=/[\x00-\x1f\x7f-\x9f]/,qs=RegExp(`${Ks.source}|[\\p{Cf}\\u2028\\u2029]`,`u`),Js=D().refine(e=>!Ks.test(e)).trim().max(120);j({title:D().nullable()}).strict();var Ys=N(F),Xs=j({at:O().finite().nullable(),kind:D(),reason:D().nullable()}).passthrough(),Zs=e=>!qs.test(e),Qs=j({text:D().min(1).max(300).refine(Zs),options:A(D().min(1).max(80).refine(Zs)).min(1).max(8),multiSelect:k()}),$s=j({toolName:D().max(160),summary:D().max(160),isComplete:k(),question:Qs.nullable().optional()}),ec=j({id:D(),name:D(),taskTitle:Js.nullable().default(null),taskTitleIsCustom:k().default(!1),path:D(),agent:D(),state:Ys,stateSince:O(),sleeping:k(),dangerouslySkipPermissions:k(),saneYolo:k().default(!1),ephemeral:k(),isWorktree:k(),isWorkspace:k().default(!1),resumeSessionId:D().nullable(),activeAgents:O().int().nonnegative(),awaitingBackgroundTasks:k(),isCompacting:k().default(!1),hasEndedTurn:k().default(!1),pendingWakeup:Xs.nullable(),pendingPromptKind:D().nullable(),pendingPromptDetail:$s.nullable().default(null),hasPlan:k().default(!1),mergeStatus:D().nullable(),mergeReason:D().nullable(),worktreeNotice:D().nullable(),effectiveBase:D().nullable(),auditLog:A(Bo())}).passthrough();function tc(e,t){return!e||!t?!e&&!t:e.text===t.text&&e.multiSelect===t.multiSelect&&e.options.length===t.options.length&&e.options.every((e,n)=>e===t.options[n])}j({namespace:P(`git`,{error:`namespace must be git`}),publicKey:D({error:`publicKey must be a string`}).min(1,{error:`publicKey must not be empty`}).max(16384,{error:`publicKey must be at most 16384 characters`}),payload:ko({error:`payload must be base64`})}).strict(),qo([j({ok:P(!0),signature:D()}).strict(),j({ok:P(!1),error:D()}).strict()]),j({prompt:D({error:`prompt must be a string`}).min(1,{error:`prompt must not be empty`}).max(2e4,{error:`prompt must be at most 20000 characters`}).refine(e=>!e.trimStart().startsWith(`-`),{message:`prompt must not start with a dash, which the agent CLI would read as an option`}),name:D({error:`name must be a string`}).min(1,{error:`name must not be empty`}).max(200,{error:`name must be at most 200 characters`}).optional(),agent:D({error:`agent must be a string`}).min(1,{error:`agent must not be empty`}).max(40,{error:`agent must be at most 40 characters`}).optional()}).strict(),j({note:D({error:`note must be a string`}).min(1,{error:`note must not be empty`}).max(500,{error:`note must be at most 500 characters`})}).strict(),qo([j({ok:P(!0),pending:k()}).strict(),j({ok:P(!1),error:D()}).strict()]),j({id:ec.shape.id,name:ec.shape.name,agent:ec.shape.agent,state:ec.shape.state,ephemeral:ec.shape.ephemeral}).strict();var nc=4096;j({path:D({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(nc,{error:`path must be at most ${nc} characters`})}).strict();var rc=j({path:D(),name:D(),surfacedAt:O().finite()}).strict();j({workId:D().regex(/^wrk-[0-9a-f]{16}$/).optional(),readyIntent:D().regex(/^wrk-[0-9a-f]{16}$/).optional()}).strict().refine(e=>!!e.workId!=!!e.readyIntent,`Expected exactly one work id or ready intent`),j({workId:D({error:`workId must be a string`}).regex(/^wrk-[0-9a-f]{16}$/,{error:`workId must match wrk-[0-9a-f]{16}`})}).strict(),Yo(`ok`,[j({ok:P(!0),workId:D(),state:N([`open`,`cancelled`])}),j({ok:P(!1),reason:D()})]);var ic=N([`low`,`medium`,`high`,`critical`]),ac=N([`open`,`active`,`blocked`,`completed`,`cancelled`]),oc=N([`ready`,`waiting`,`active`,`blocked`,`done`]),sc=Go({total:O().int().nonnegative(),roots:O().int().nonnegative(),dependencies:O().int().nonnegative(),states:Go({open:O().int().nonnegative(),active:O().int().nonnegative(),blocked:O().int().nonnegative(),completed:O().int().nonnegative(),cancelled:O().int().nonnegative()}),readiness:Go({ready:O().int().nonnegative(),waiting:O().int().nonnegative(),active:O().int().nonnegative(),blocked:O().int().nonnegative(),done:O().int().nonnegative()}),risks:Go({low:O().int().nonnegative(),medium:O().int().nonnegative(),high:O().int().nonnegative(),critical:O().int().nonnegative()}),graphProblems:O().int().nonnegative(),scopeOverlaps:O().int().nonnegative(),scopeConflicts:O().int().nonnegative(),orphans:O().int().nonnegative(),unsynthesizedChildren:O().int().nonnegative()}),cc=Go({action:N([`steady`,`dispatch`,`continue`,`verify`,`synthesize`,`unblock`,`resolve-conflict`,`repair-navigation`,`refuse`]),reasons:A(D()),sources:A(Go({name:D(),ok:k(),detail:D()})),work:Go({stats:sc,ready:A(D()),active:A(D()),blocked:A(D()),completed:A(D()),conflicts:A(Go({left:D(),right:D(),scope:D()})),unsynthesized:A(Bo())}).nullable(),consequences:Go({unverifiedCompletedWork:A(D())}).nullable(),verification:Go({state:D()}).nullable()});Go({work:A(Go({work:D(),state:ac,readiness:oc,owner:Go({session:D(),agent:D()}),last:Go({event:D(),at:D(),session:D()}).nullable(),opened:Go({at:vs(),objective:D(),authority:Go({boundary:D()}),criteria:A(D()),risk:ic,parent:D().nullable(),dependsOn:A(D()),readScopes:A(D()),writeScopes:A(D())})})),scopeConflicts:A(Go({left:D(),right:D(),leftScope:D(),rightScope:D(),status:D()}))}),Go({version:P(1),event:P(`opened`),at:vs(),session:P(`glimmervoid-factory`),work:D().regex(/^wrk-[a-f0-9]{16}$/),id:D().regex(/^wev-[a-f0-9]{16}$/),parent:Ro(),objective:D(),criteria:A(D()),risk:ic,state:P(`open`),authority:j({kind:P(`user-directed`),grantedBy:P(`operator`),boundary:D()}),writeScopes:A(D())}).extend({parent:D().regex(/^wrk-[a-f0-9]{16}$/)}),Go({records:A(Go({from:j({kind:D(),id:D()}),relation:D(),to:j({kind:D(),id:D()}),session:D().optional(),evidence:D().optional()}))});var lc=j({projectId:D(),projectName:D(),headSha:D().nullable(),paused:k(),orchestrator:j({sessionId:D(),intentId:D(),state:Ys}).nullable(),liveWorkers:A(j({workId:D(),sessionId:D()})).optional(),reviewing:A(D()).optional(),note:D().nullable().optional(),spentTodayUsd:O().finite().nonnegative().optional(),dailyBudgetUsd:O().finite().nonnegative().nullable().optional(),verifierIntentIds:A(D()).optional(),error:D().nullable(),heading:j({action:cc.shape.action,reasons:A(D())}),orders:A(j({id:D(),objective:D(),openedAt:vs(),criteria:A(D()),boundary:D(),risk:ic,state:ac,readiness:oc,parent:D().nullable(),dependsOn:A(D()),writeScopes:A(D()),owner:D().nullable(),lastEvent:j({event:D(),at:D(),session:D()}).nullable()})),conflicts:A(j({left:D(),right:D(),scope:D()})),unverifiedCompletedWork:A(D()),observedRun:j({recordDirectory:D(),outcome:D().nullable()}).optional()}),uc=j({type:P(`factory-state`),ts:O().finite(),projects:A(lc)});j({arrivedAt:D(),state:uc}),Go({outcome:N([`pass`,`fail`]),failureClass:D().nullable().optional()});var dc=16384;function fc(e){return e!==`.`&&e!==`..`&&!/[/\\]/.test(e)}var pc=D().trim().min(1).max(128).refine(fc,`Invalid factory project id`),mc=D().trim().min(1).max(4096),hc=D().trim().min(1).max(1024),gc=32,_c=D().trim().min(1).max(64),vc=[`**/package.json`,`**/package-lock.json`,`**/npm-shrinkwrap.json`,`**/yarn.lock`,`**/pnpm-lock.yaml`,`**/bun.lock`,`**/bun.lockb`,`**/.npmrc`,`**/.yarnrc`,`**/.yarnrc.yml`,`**/pnpm-workspace.yaml`,`**/.pnpmfile.cjs`,`**/tsconfig*.json`,`**/biome.json`,`**/biome.jsonc`,`**/vite.config.*`,`**/vitest.config.*`,`**/vitest.workspace.*`,`**/jest.config.*`,`**/.mocharc*`,`**/playwright.config.*`],yc=A(N(vc)).max(vc.length),bc=j({id:_c,objective:mc,criteria:A(mc).min(1).max(12),dependsOn:A(_c).max(gc),writeScopes:A(hc).min(1).max(32)}),xc=j({projectId:pc,objective:mc,criteria:A(mc).min(1).max(12),risk:ic,boundary:mc,writeScopes:A(hc).max(32),tickets:A(bc).min(1).max(gc).optional(),floorAllowances:yc.optional()}),Sc=j({projectId:D().max(128),ok:k(),workId:D().min(1).max(128).optional(),error:D().max(dc).optional()}),Cc=j({projectId:pc,action:N([`pause`,`resume`])}),wc=j({projectId:D().max(128),action:Cc.shape.action,ok:k(),error:D().max(dc).optional()}),Tc=j({pass:k(),findings:A(D())}).strict();j({type:P(`result`),subtype:P(`success`),is_error:P(!1),structured_output:Tc});var Ec=j({id:D().min(1).max(1024),path:D().min(1).max(4096),line:D().min(1).regex(/^[^\n]*$/)});j({ledgerPath:D().min(1).max(4096).nullable(),ledgerBranch:D().min(1).max(1024).nullable(),paused:k(),trustedVerifications:A(j({id:D().min(1),sha:D().regex(/^[a-f0-9]{40,64}$/)})).optional(),trustedIntentCloses:A(D().min(1)).optional(),pendingVerifierTrusts:A(j({intentId:D().min(1),sha:D().regex(/^[a-f0-9]{40,64}$/),records:A(Ec).min(1)})).optional(),trustedIntentIds:A(D().min(1)).optional(),intentWriteScopes:$o(D().min(1),A(D().min(1))).optional(),intentFloorAllowances:$o(D().min(1),yc).optional(),ticketedIntentIds:A(D().min(1)).optional(),pendingIntentTickets:$o(D().min(1),j({risk:ic,boundary:mc,tickets:A(bc).min(1).max(gc)})).optional(),intentBaseShas:$o(D().min(1),D().regex(/^[a-f0-9]{40,64}$/)).optional(),factoryLandedShas:A(D().regex(/^[a-f0-9]{40,64}$/)).optional(),unlandedFactoryRecords:A(Ec).optional(),ticketBlockCounts:$o(D().min(1),O().int().nonnegative()).optional(),intentCapCancelCounts:$o(D().min(1),O().int().nonnegative()).optional()}),j({workId:D().min(1),event:D().min(1),sessionId:D().optional(),detail:D().optional()}),Yo(`ok`,[j({ok:P(!0),sessionId:D()}),j({ok:P(!1),reason:D()})]);var Dc=2e4,Oc=4e3,kc=524288,Ac=1e4,jc=`ExitPlanMode`,Mc=4096,Nc=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function Pc(e){let t=e.trimEnd(),n=t.length;for(;n>0&&t[n-1]===`#`;)n--;if(n===t.length||n===0)return t;let r=t[n-1];return r!==` `&&r!==` `?t:t.slice(0,n).trimEnd()}function Fc(e,{overlongLine:t}){if(t===`reject`&&e.length>4096)return null;let n=Nc.exec(e.slice(0,Mc));return n?{level:n[1].length,text:Pc(n[2])}:null}var Ic=j({plan:D().min(1),planFilePath:D().min(1),agent_id:D().min(1).optional(),agent_type:D().min(1).optional()}).passthrough();j({tool_name:P(jc),tool_input:Ic,agent_id:D().min(1).optional(),agent_type:D().min(1).optional()}).passthrough(),j({plan:D(),planFilePath:D(),agentId:D().nullable(),agentType:D().nullable()}).extend({sessionId:D().min(1),revision:O().int().positive(),receivedAt:O().finite()});var Lc=N(Object.freeze([`open`,`released`,`decided`,`closed`])),Rc=N(Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`])),zc=j({heading:D().max(Oc).nullable(),comment:D().min(1).max(Oc)}),Bc=j({id:D().min(1),agentId:D().nullable(),revision:O().int().positive(),decision:Rc,feedback:D().max(Dc).optional(),comments:A(zc).max(40).optional(),plan:D().min(1).max(kc).optional()}),Vc=j({revision:O().int().positive(),receivedAt:O().finite(),chars:O().int().nonnegative(),title:D()}),Hc=j({revision:O().int().positive(),since:O().finite()}),Uc=j({agentId:D().nullable(),agentType:D().nullable(),revisions:A(Vc),state:Lc,openRevision:Hc.nullable(),approvedRevision:O().int().positive().nullable(),lastDecision:Rc.nullable()});j({reviews:A(Uc)});var kte=j({agentId:D().nullable(),revision:O().int().nonnegative(),plan:D(),planFilePath:D(),receivedAt:O().finite()}),Ate=j({id:D(),agentId:D().nullable(),agentType:D().nullable(),revision:O().int().positive(),receivedAt:O().finite(),state:Lc,lastDecision:Rc.nullable(),approvedRevision:O().int().positive().nullable(),chars:O().int().nonnegative(),title:D(),hasPlan:k()}),jte=j({id:D(),agentId:D().nullable(),planFilePath:D(),changedAt:O().finite()}),Mte=j({id:D(),reviews:A(Uc),body:kte.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var Wc=D().min(1),Gc=D().min(1),Kc=O().int().nonnegative(),qc=A(Gc).max(20),Nte=N([`added`,`modified`,`deleted`,`renamed`,`untracked`]),Pte=M({factId:Wc,path:Gc,previousPath:Gc.optional(),status:Nte,isCommitted:k()}),Fte=M({factId:Wc,agentsPath:Gc,title:D(),paths:A(Gc).min(1)}),Ite=M({factId:Wc,path:Gc,partner:Gc,support:Kc,confidence:O().min(0).max(1)}),Lte=M({factId:Wc,path:Gc,commitCount:Kc,fixCommitCount:Kc}),Rte=M({factId:Wc,path:Gc,directDependents:qc,directDependentCount:Kc,transitiveDependentCount:Kc,dependentTests:qc,dependentTestCount:Kc}),zte=M({factId:Wc,path:Gc}),Bte=M({factId:Wc,path:Gc,otherSessionId:D().min(1),otherSessionName:D()}),Vte=M({factId:Wc,providerRepo:D().min(1),packageName:D().min(1),packageDir:D(),consumerManifest:Gc,versionSpec:D(),isLocalLink:k(),providerChangedPathCount:Kc,importers:qc,importerCount:Kc,changedImporterCount:Kc}),Hte=M({name:D().min(1),root:D().min(1),sessionPathPrefix:D(),base:D().nullable(),files:A(Pte),subsystems:A(Fte),coChangeGaps:A(Ite),hotspots:A(Lte),blastRadius:A(Rte),untestedFiles:A(zte),collisions:A(Bte),links:A(Vte),error:D().nullable()}),Ute=M({text:D().min(1).max(600),factIds:A(Wc).min(1)}),Wte=M({factsHash:D().min(1),model:D().nullable(),claims:A(Ute).max(12)}),Gte=N([`disabled`,`pending`,`ready`,`failed`]),Jc=M({sessionId:D().min(1),sig:D().nullable(),generatedAt:O().finite(),repos:A(Hte),narrative:Wte.nullable(),narratorState:Gte,error:D().min(1).optional()}),Yc=4e3,Xc=j({ts:O().finite(),uuid:D().nullable(),parentUuid:D().nullable(),vendorSessionId:D().min(1),agentId:D().min(1).optional(),agentType:D().min(1).optional(),transcriptOffset:O().int().nonnegative().optional(),truncated:k().optional()}),Kte=Yo(`kind`,[Xc.extend({kind:P(`prompt`),text:D()}),Xc.extend({kind:P(`expansion`),text:D(),toolUseId:D().min(1).optional()}),Xc.extend({kind:P(`thinking`),text:D()}),Xc.extend({kind:P(`assistant`),text:D()}),Xc.extend({kind:P(`tool_call`),toolUseId:D().min(1),name:D().min(1),input:Bo()}),Xc.extend({kind:P(`tool_result`),toolUseId:D().min(1),content:D(),isError:k(),truncated:k()}),Xc.extend({kind:P(`session`),vendor:D().min(1),transcriptPath:D().min(1),reason:D().min(1).optional()}),Xc.extend({kind:P(`notice`),text:D().max(Yc)}),Xc.extend({kind:P(`raw`),line:D().max(Yc)})]);j({transcriptPath:D().min(1),vendorSessionId:D().min(1),offset:O().int().nonnegative(),ingestedSubagentPaths:A(D().min(1)),offsetByTranscriptPath:$o(D().min(1),O().int().nonnegative()).default({}),subagentOffsetByPath:$o(D().min(1),O().int().nonnegative()).default({})});var Zc=N([`release`,`main`]),qte=N([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),Qc=N([`fetch`,`stage`,`install`,`link-deps`,`build`]),Jte=j({id:Qc,status:N([`pending`,`running`,`succeeded`,`failed`]),startedAt:O().finite().nullable(),finishedAt:O().finite().nullable(),outputTail:A(D())}).strict(),$c=j({state:qte,fromSha:D().nullable(),toSha:D().nullable(),toVersion:D().nullable(),channel:Zc,steps:A(Jte),activeStep:Qc.nullable(),reason:D().nullable(),startedAt:O().finite().nullable(),finishedAt:O().finite().nullable(),failedAtHandOff:k().optional()}).strict(),Yte=$c.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Xte=/^[0-9a-f]{7,40}$/i,Zte=/^[0-9a-f]{40}$/;function el(e,{chars:t=7,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return Xte.test(r)?r.slice(0,t).toLowerCase():``}var I=D().regex(Zte),tl=D().regex(/^[^/]+\/[^/]+$/);j({number:O().int().positive(),title:D(),html_url:D(),draft:k().optional(),created_at:D().optional(),updated_at:D().optional(),repository_url:D(),user:j({login:D(),type:N([`User`,`Bot`])}).passthrough(),pull_request:j({}).passthrough()}).passthrough(),j({number:O().int().positive(),title:D(),body:D(),url:D(),author:j({login:D(),is_bot:k().optional()}).passthrough(),isDraft:k(),isCrossRepository:k(),baseRefName:D(),baseRefOid:I,headRefOid:I,additions:O().int().nonnegative(),deletions:O().int().nonnegative(),files:A(j({path:D(),additions:O().int().nonnegative(),deletions:O().int().nonnegative()}).passthrough())}).passthrough();var nl=j({path:D(),line:O().int().positive(),side:N([`RIGHT`,`LEFT`]).default(`RIGHT`),body:D()}),rl=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),il=N([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),Qte=_s(e=>typeof e==`string`&&Object.hasOwn(rl,e)?rl[e]:e,il),al=N([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),$te=nl.extend({severity:al.optional()}),ene=j({path:D().min(1),line:O().int().positive().nullable(),side:N([`RIGHT`,`LEFT`]),severity:al,reviewer:D().min(1),disposition:N([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:D().min(1)}),ol=j({goal:D().default(``),change:D(),checked:A(D()),gaps:A(D())});j({verdict:il,head:I,summary:D(),assessment:ol.nullable(),findings:A(ene)}),j({body:D(),commit_id:I,comments:A(j({path:D().min(1),line:O().int().positive(),side:N([`RIGHT`,`LEFT`]).default(`RIGHT`),body:D().min(1)}))});var tne=N([`APPROVE`,`COMMENT`]),nne=N([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),sl=new Set([`APPROVED`,`CHANGES_REQUESTED`]),cl=N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),ll=N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),ul={requestSource:N([`direct`,`team`]).default(`team`),isDraft:k().optional(),checksState:ll.nullable().optional()},dl=j({login:D().min(1),state:nne,commit:I.nullable(),isViewer:k(),submittedAt:D().nullable().optional()});function fl(e){return e.reviewDecision!==`APPROVED`||e.requeuedHead!==void 0&&e.requeuedHead===(e.liveHead??e.reviewedHead)?!1:(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`)}j({head:I,reviews:A(dl)});var pl=j({head:I,base:I.optional(),verdict:il,summary:D(),body:D(),comments:A(nl),wasPosted:k()}),ml=D().min(1).max(256).regex(xs),hl=j({addressed:k(),reason:D().trim().min(1).max(4e3)}).strict(),gl=j({id:ml,path:D(),line:O().int().positive().nullable(),isResolved:k(),viewerCanResolve:k(),comments:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable().optional()}),nodes:A(j({body:D(),author:j({login:D()}).nullable(),viewerDidAuthor:k(),createdAt:D().datetime(),url:D().url(),originalCommit:j({oid:I}).nullable()}))})});j({data:j({node:j({comments:gl.shape.comments}).nullable()}).nullable()}),j({pullRequest:j({reviewThreads:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable().optional()}),nodes:A(gl)})}).nullable()}),j({data:j({resolveReviewThread:j({thread:j({id:ml,isResolved:P(!0)})})}).nullable(),errors:A(Bo()).optional()});var _l=j({id:ml,path:D(),line:O().int().positive().nullable(),isResolved:k(),viewerCanResolve:k(),isNit:k(),url:D().url(),viewerComment:D().max(1500).optional(),lastReplyBody:D().max(1500).optional(),viewerCommentTruncated:k().optional(),lastReplyTruncated:k().optional(),lastReplyAuthor:D(),lastReplyAt:D().datetime(),judgement:hl.extend({head:I,judgedAt:O().finite(),lastReplyAt:D().datetime()}).optional(),resolveError:D().optional(),resolveAttemptReplyAt:D().optional(),judgeAttempt:j({head:I,lastReplyAt:D(),retryAt:O().finite()}).optional(),unjudgeable:j({head:I,lastReplyAt:D(),reason:D().min(1)}).optional()});j({merge_base_commit:j({sha:I}),files:A(j({filename:D(),previous_filename:D().optional(),patch:D().optional()})).max(300)});var vl=j({total:O().int().nonnegative(),resolved:O().int().nonnegative()}),yl=j({...ul,key:D(),repo:tl,number:O().int().positive(),title:D(),url:D(),author:D(),tier:N([`stamp`,`full`]),reasons:A(D()),reviewedHead:I,reviewedBase:I.optional(),verdict:Qte,summary:D(),assessment:ol.optional(),body:D(),comments:A($te),status:N([`ready`,`stale`,`posted`,`discarded`,`error`]),error:D().optional(),threads:A(_l).optional(),viewerThreads:vl.optional(),githubReviews:A(dl).optional(),reviewDecision:cl.nullable().optional(),liveHead:I.optional(),prCreatedAt:D().optional(),reviewedAt:O().finite().optional(),postedAt:O().finite().optional(),postedEvent:tne.optional(),priorReviewedHead:I.optional(),requeuedHead:I.optional()});function bl(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var xl=N([`approve`,`approve-only`,`comment`,`discard`,`requeue`,`resolve-thread`]),Sl=j({key:D().min(1),head:I,action:xl,threadId:ml.optional(),body:D(),comments:A(nl)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}),Cl=j({key:D(),ok:k(),error:D().optional(),warning:D().optional()}),wl=j({sessionId:D().min(1),workDir:D().min(1),worktreePath:D().min(1),head:I,deadlineAt:O(),remainingAwakeMs:O().nonnegative().optional(),savedAt:O()}),Tl=j({...ul,reviewDecision:cl.nullable().optional(),key:D(),repo:tl,number:O().int().positive(),title:D(),url:D(),author:D(),prCreatedAt:D().optional()}),El=j({draft:yl.nullable(),reviewedHead:I.nullable(),inFlight:k(),skipReason:D().nullable(),handReview:Tl.optional(),reviewAttempts:O().int().nonnegative().default(0),resumable:wl.nullable().optional(),reviewedAt:O().optional(),threads:A(_l).optional(),viewerThreads:vl.optional(),autoResolvedThreadIds:A(ml).optional(),githubReviews:A(dl).optional(),reviewDecision:cl.nullable().optional(),liveHead:I.optional(),requeuedHead:I.optional(),priorReview:pl.optional(),discardedReviewHead:I.optional(),updatedAt:O().finite()});$o(D(),El);var Dl=N([`preparing`,`checkout`,`reviewing`]),Ol=j({at:O().finite(),tool:D(),detail:D()}),kl=j({...ul,reviewDecision:cl.nullable().optional(),key:D(),repo:tl,number:O().int().positive(),title:D(),url:D(),author:D(),tier:N([`stamp`,`full`]),reasons:A(D()),head:I,phase:Dl,startedAt:O().finite(),deadlineAt:O().finite().nullable(),toolCalls:O().int().nonnegative(),recentSteps:A(Ol),prCreatedAt:D().optional(),priorReviewedHead:I.optional()}),Al=j({...ws,type:P(`team-review-status`),ts:O().finite(),configured:k(),reason:D().nullable().optional(),drafts:A(yl),inFlight:A(kl),queued:A(Tl).default([]),handReview:A(Tl).default([]),team:j({org:D(),slug:D(),name:D(),avatarUrl:D()}).nullable().optional()}).passthrough(),jl=N([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),Ml=O().int().nonnegative(),Nl=D().regex(bs),Pl=ps([Nl,`#`,D().regex(/^[1-9][0-9]*$/)]),Fl=ps([Pl,`@`,I]),Il=D().refine(e=>Pl.safeParse(e).success),Ll=D().refine(e=>Fl.safeParse(e).success);Yo(`outcome`,[M({outcome:P(`pushed`)}),M({outcome:N([`no-change`,`failed`,`stopped`,`timed-out`]),reason:D().min(1)})]);var Rl=M({outcome:N([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:D().min(1).optional(),at:O().finite()}),zl=Rl.extend({key:Il,headRefOid:I,baseRefOid:I,consecutiveAttempts:O().int().min(1).optional()});M({keepMergeableKeys:A(Il),keepMergeableAttemptKeys:A(Ll),keepMergeableAttempts:A(zl).default([]),mergeQueueKeys:A(Il).default([]),keepMergeablePushedHeadKeys:A(Ll).default([])});var Bl=j({repo:Nl,number:O().int().positive(),keepMergeable:k()}),Vl=j({key:D(),ok:k(),error:D().optional()}),Hl=Vl,Ul=j({repo:Nl,number:O().int().positive(),mergeWhenReady:k()}),Wl=Vl,Gl=N([`MERGE`,`SQUASH`,`REBASE`]),Kl=j({path:D(),line:O().int().positive().nullable(),isOutdated:k(),url:xo(),author:D().nullable(),excerpt:D(),commentCount:O().int().positive(),lastAuthor:D().nullable(),lastActivityAt:D()}),ql=j({reviewer:D().nullable(),state:D(),submittedAt:D().nullable()}),Jl=j({outcome:N([`rebased`,`failed`]),at:O().finite(),message:D()}),Yl=j({key:D(),repo:Nl,number:O().int().positive(),title:D(),url:xo(),isDraft:k(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),updatedAt:D(),baseRefName:D(),baseRefOid:I,headRefName:D().min(1),isCrossRepository:k(),headRefOid:I,isInMergeQueue:k(),mergeMethod:Gl,mergeable:N([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:D(),reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:j({state:N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:A(D()),pendingCount:Ml}),unresolvedThreads:Ml,threads:A(Kl),behindBy:Ml.nullable(),reviewRequests:A(j({name:D(),isTeam:k(),avatarUrl:D().nullable()})),approvals:Ml,reviews:A(ql),stage:jl,autoRebase:Jl.optional(),keepMergeable:k().optional(),keepMergeableAttempt:Rl.optional(),isKeepMergeableFixInFlight:k().optional(),mergeQueuePosition:O().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:k().optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),Xl=j({...ws,type:P(`my-prs-status`),ts:O().finite(),configured:k(),reason:D().nullable().optional(),viewer:D().nullable(),prs:A(Yl),truncatedNote:D().nullable().optional(),isKeepMergeableEnabled:k().optional(),isMergeQueueEnabled:k().optional()}).passthrough(),Zl=j({repo:Nl,number:O().int().positive(),headRefOid:I}),Ql=N([`merged`,`queued`,`auto-merge`,`unconfirmed`]),$l=j({key:D(),ok:k(),kind:Ql.optional(),error:D().optional()}),eu=j({__typename:P(`CheckRun`),name:D(),conclusion:D().nullable(),status:D()}),tu=j({__typename:P(`StatusContext`),context:D(),state:D()}),nu=j({__typename:P(`PullRequest`),id:D().regex(xs),number:O().int().positive(),title:D(),url:xo(),isDraft:k(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),updatedAt:D(),baseRefName:D(),baseRefOid:I,headRefName:D().min(1),isCrossRepository:k(),headRefOid:I,isInMergeQueue:k(),mergeable:N([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:D(),reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:j({nameWithOwner:Nl,viewerDefaultMergeMethod:Gl}),commits:j({nodes:A(j({commit:j({statusCheckRollup:j({state:N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:j({nodes:A(qo([eu,tu]))})}).nullable()})}))}),reviewThreads:j({pageInfo:j({hasNextPage:k()}),nodes:A(j({isResolved:k()}))}),reviewRequests:j({nodes:A(j({requestedReviewer:Yo(`__typename`,[j({__typename:P(`User`),login:D()}),j({__typename:P(`Team`),slug:D(),avatarUrl:D().nullable(),organization:j({login:D()})}),j({__typename:N([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:j({nodes:A(j({state:D()}))}),latestReviews:j({nodes:A(j({state:D(),submittedAt:D().nullable(),author:j({login:D()}).nullable()}))})}),ru=j({login:D()}).nullable();j({isResolved:k(),isOutdated:k(),path:D(),line:O().int().positive().nullable(),firstComment:j({totalCount:Ml,nodes:A(j({author:ru,bodyText:D(),url:xo(),createdAt:D()}))}),lastComment:j({nodes:A(j({author:ru,createdAt:D()}))})}),j({data:j({repository:j({pullRequest:j({reviewThreads:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable()}),nodes:A(Bo())})}).nullable()}).nullable()}),errors:A(Bo()).optional()}),j({data:j({repository:j({pullRequest:j({state:D(),isInMergeQueue:k(),autoMergeRequest:j({enabledAt:D().nullable()}).nullable()}).nullable()}).nullable()}),errors:A(Bo()).optional()}),j({data:j({open:j({issueCount:Ml,nodes:A(Bo())}),merged:j({issueCount:Ml,nodes:A(Bo())})}),errors:A(Bo()).optional()});var iu=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,au=/^[A-Za-z_][A-Za-z0-9_]*$/,ou=D().regex(/^[^/\s]+\/[^/\s]+$/),su=O().finite(),cu=D().min(1),lu=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),uu=D().regex(iu);function du(e){return new Set(e.map(e=>e.id)).size===e.length}var fu=Yo(`kind`,[M({kind:P(`manual`)}),M({kind:P(`github-merged-prs`),repo:ou,minBodies:O().int().min(1),limit:O().int().min(1).max(500)})]),pu=Yo(`kind`,[M({kind:P(`none`)}),M({kind:P(`pr-checkout`)})]),mu=M({promptTemplate:cu,output:N([`review-findings`,`json`]),timeoutSeconds:O().int().min(30).max(14400)}),hu=M({id:uu,env:$o(D().regex(au),D()).refine(e=>lu.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${lu.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:A(D()).optional(),setup:M({command:A(cu).min(1)}).optional()}),gu=Yo(`kind`,[M({kind:P(`llm-judge-match`),model:cu})]);M({id:uu,title:cu,caseSource:fu,workspace:pu,subject:mu,arms:A(hu).min(2).refine(du,{message:`arm ids must be unique`}),baselineArm:uu,trials:O().int().min(1).max(20),scorer:gu}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var _u=M({id:uu,text:cu,tags:A(uu),path:cu.optional(),line:O().int().positive().optional()}),vu=Yo(`kind`,[M({kind:P(`manual`)}),M({kind:P(`github-pr`),repo:ou,number:O().int().positive(),url:cu,minedAt:su})]);M({id:uu,input:$o(D(),Bo()),references:A(_u).min(1).refine(du,{message:`reference ids must be unique`}),source:vu}),j({repo:ou,number:O().int().positive(),reviewedSha:I,baseSha:I,changedFiles:A(cu)});var yu=M({referenceId:uu,verdict:N([`found`,`partial`,`missed`]),findingIndexes:A(O().int().nonnegative())}),bu=N([`scored`,`invalid`,`error`]),xu=M({caseId:uu,armId:uu,trial:O().int().min(1),status:bu,startedAt:su,finishedAt:su,degradedReasons:A(cu),findingCount:O().int().nonnegative(),judgements:A(yu),costUsd:O().finite().nonnegative().nullable(),error:cu.nullable()}),Su=N([`running`,`completed`,`interrupted`,`failed`]);M({id:uu,suiteId:uu,status:Su,startedAt:su,finishedAt:su.nullable(),error:cu.nullable(),cells:A(xu)});var Cu=O().min(0).max(1).nullable(),wu=M({trials:O().int().nonnegative(),recall:Cu,recallByTag:$o(uu,Cu),degraded:O().int().nonnegative(),invalid:O().int().nonnegative(),costUsd:O().finite().nonnegative().nullable()}),Tu=M({caseId:uu,arms:$o(uu,wu),deltaVsBaseline:$o(uu,O().min(-1).max(1).nullable())}),Eu=M({runId:uu,suiteId:uu,status:Su,baselineArm:uu,armIds:A(uu),rows:A(Tu),totals:$o(uu,wu)}),Du=N([`mine`,`run`,`cancel`]),Ou=j({suiteId:uu,action:Du}),ku=j({suiteId:uu,action:Du,ok:k(),error:D().optional(),runId:uu.optional()}),Au=N([`setup`,`preflight`,`workspace`,`subject`,`judge`]),ju=j({suiteId:uu,runId:uu,caseId:uu.nullable(),armId:uu,trial:O().int().min(1),phase:Au,cellIndex:O().int().nonnegative(),cellCount:O().int().positive(),startedAt:su}),Mu=j({id:uu,title:D(),error:D().nullable(),caseCount:O().int().nonnegative(),candidateCount:O().int().nonnegative(),armIds:A(uu),baselineArm:uu.nullable(),latestReport:Eu.nullable()}),Nu=j({type:P(`benchmark-status`),ts:su,configured:k(),reason:D().nullable(),suites:A(Mu),inFlight:ju.nullable()}).passthrough(),Pu=j({__typename:D(),login:D()}).nullable();j({number:O().int().positive(),title:D(),url:cu,mergedAt:D().nullable(),reviewThreads:j({totalCount:O().int().nonnegative()}),reviews:j({totalCount:O().int().nonnegative()})});var Fu=j({path:D(),line:O().int().positive().nullable(),originalLine:O().int().positive().nullable(),comments:j({nodes:A(j({databaseId:O().int().positive(),author:Pu,body:D(),createdAt:D(),originalCommit:j({oid:I}).nullable()}))})}),Iu=j({databaseId:O().int().positive(),author:Pu,body:D(),submittedAt:D().nullable(),commit:j({oid:I}).nullable()}),Lu=Yo(`__typename`,[j({__typename:P(`BaseRefChangedEvent`),createdAt:D()}),j({__typename:P(`BaseRefForcePushedEvent`),createdAt:D(),beforeCommit:j({oid:I}).nullable()})]);j({author:Pu,baseRefOid:I,reviewThreads:j({pageInfo:j({hasNextPage:k()}),nodes:A(Fu)}),reviews:j({pageInfo:j({hasNextPage:k()}),nodes:A(Iu)}),timelineItems:j({pageInfo:j({hasNextPage:k()}),nodes:A(Lu)})}),j({mergeBaseSha:I,changedFiles:A(cu),isFileListComplete:k()});var L=D().nullable().optional(),R=D();function z(e,t){return Go({type:P(e),...t})}function Ru(e={}){return Go(e)}var zu=D().nullable(),Bu=O().finite(),Vu=Bu.optional(),Hu=zu.optional(),Uu=Ru(),Wu=A(Bo()),Gu=O().int().positive(),Ku=D().min(1).max(nc),qu=A(Ru({at:Bu,tool:D(),detail:D()}));j({id:D(),label:D(),command:D(),args:A(D()),resolvable:k().nullable()}).strict();var Ju=j({id:R,session:D(),taskTitle:Js.nullable().optional(),taskTitleIsCustom:k().optional(),path:D(),agent:D(),state:Ys,stateSince:Bu,skipPerms:k(),saneYolo:k(),worktree:k(),workspace:k().optional(),resumeSessionId:zu,ephemeral:k().optional()}),Yu=1e3,Xu=RegExp(`^[^\0--]+$`),Zu=M({section:N([`committed`,`uncommitted`]),path:D().min(1).max(400).regex(Xu),line:O().int().positive(),side:N([`old`,`new`]),note:D().min(1).max(Yu)}),Qu=4096,$u=Qu+2*(kc+Dc+80*Oc),ed=j({reason:D(),message:D()}),td=N([`npm-global`,`npx`,`clone`,`unknown`]),nd={updateAvailable:k(),current:zu,latest:zu,currentSha:zu,latestSha:zu,releaseUrl:zu,command:D(),flavor:td,platform:D(),installedBranch:zu,upstream:zu,isTreeClean:k().nullable(),lastCheckAt:Bu,channel:Zc,behindCount:O().int().nonnegative().nullable(),reason:zu,journalSummary:Yte.nullable(),applyRefusal:ed.nullable()};j(nd);var rd=8192,id=j({name:D().max(128),stack:D().max(rd)}).strict(),ad=[`remove-session`,`kill`,`start-session`,`restart`,`force-restart`,`sleep`,`wake`,`merge-session`,`finish-session`,`merge-continue-session`,`discard-session-worktree`,`resolve-session-merge`,`request-session-diff`,`request-change-map`,`request-branch-sync`,`resync-branch`,`debug-state`];function od(e){return z(e,{id:R,force:Bo().optional()})}var sd=ad.map(od);Yo(`type`,[z(`add-session`,{name:D(),path:D(),repos:A(D()).optional(),agent:D().optional(),dangerouslySkipPermissions:k().optional(),unconfined:k().optional()}),z(`list-conversations`,{id:R,requestId:L}),z(`resume-conversation`,{id:R,conversationId:D()}),z(`rename-session`,{id:R,newName:D()}),z(`get-workspace-repos`,{id:R,requestId:L}),z(`set-workspace-repos`,{id:R,repos:A(D()),requestId:L}),z(`set-session-title`,{id:R,title:Js}),z(`reorder-sessions`,{order:A(R)}),z(`ping`,{requestId:L}),z(`get-settings`,{requestId:L}),z(`update-settings`,{settings:$o(D(),Bo()),requestId:L}),z(`scan-repo-roots`,{requestId:L}),z(`list-agents`,{requestId:L}),z(`get-posthog-report`,{issueId:qo([D(),O()]),requestId:L}),z(`posthog-open-session`,{projectId:qo([D(),O()]),issueId:qo([D(),O()]),requestId:L}),z(`issue-detail`,{requestId:D().min(1),repo:Ds,issueNumber:O().int().positive()}),z(`open-issue-session`,{requestId:L,projectId:D(),repo:Ds,issueNumber:O().int().positive()}),z(`posthog-issue-action`,{projectId:qo([D(),O()]),issueId:qo([D(),O()]),action:D(),requestId:L}),z(`team-review-action`,{...Sl.shape,requestId:L}),z(`factory-queue-intent`,{...xc.shape,requestId:L}),z(`factory-control`,{...Cc.shape,requestId:L}),z(`benchmark-action`,{...Ou.shape,requestId:L}),z(`my-pr-merge`,{...Zl.shape,requestId:L}),z(`my-pr-keep-mergeable`,{...Bl.shape,requestId:L}),z(`my-pr-merge-when-ready`,{...Ul.shape,requestId:L}),z(`reviews-refresh`,{...Ts.shape,requestId:L}),z(`posthog-archive-investigation`,{id:Bo().optional(),requestId:L}),z(`request-usage-report`,{requestId:L,days:Bo().optional(),force:Bo().optional()}),z(`request-hooks-report`,{requestId:L}),z(`send-diff-annotations`,{id:R,annotations:A(Zu).min(1).max(50),requestId:L}),z(`save-hook`,{hook:$o(D(),Bo()),requestId:L}),z(`delete-hook`,{id:D(),requestId:L}),z(`shutdown`),z(`restart-server`),z(`focus-change`,{focused:k()}),z(`request-health-snapshot`),z(`update-check`),z(`update-apply`,{restartWhenStaged:k().optional(),confirmedSessionIds:A(D().min(1)).max(1e3).optional()}),z(`session-trace`,{id:R,after:O().int().nonnegative().default(0),endingAt:qo([O().int().nonnegative(),P(`tail`)]).optional()}),z(`session-plan`,{id:R,agentId:zu,revision:Gu.optional(),draft:k().optional()}),z(`plan-decision`,Bc.shape),z(`session-doc-read`,{id:R,path:Ku,requestId:L}),z(`session-doc-save`,{id:R,path:Ku,text:D(),baseHash:D().min(1),requestId:L}),z(`client-error`,id.shape),z(`dismiss`,{id:R,force:Bo().optional(),expectedState:Ys.optional()}),...sd]),Object.freeze(`snapshot.hooks-report.save-hook-result.delete-hook-result.workspace-repos.set-workspace-repos-result.hooks-updated.state-change.session-added.session-removed.session-renamed.session-title.session-modified.session-git.session-agents.session-wakeup.session-prompt.session-sleep.session-wake.session-merge-status.session-worktree-blocked.session-worktree-warning.session-worktree-ready.session-diff.session-diff-error.change-map.send-diff-annotations-result.branch-sync-status.session-changed.post-turn-result.debug-state-response.session-trace-response.session-trace-changed.session-plan-changed.session-plan-draft.session-plan-response.session-docs-changed.session-docs-snapshot.session-doc-response.session-doc-save-result.notify.update-status.update-progress.error.session-error.settings.settings-error.settings-updated.pong.agents-listed.repo-roots-scanned.conversations.resume-conversation-ack.health-snapshot.posthog-status.posthog-investigation-activity.posthog-investigation-finished.posthog-report.posthog-open-session-result.issue-detail-result.open-issue-session-result.posthog-issue-action-result.team-review-action-result.benchmark-action-result.factory-queue-intent-result.factory-control-result.my-pr-merge-result.my-pr-keep-mergeable-result.my-pr-merge-when-ready-result.reviews-refresh-result.posthog-archive-investigation-result.team-review-status.benchmark-status.factory-state.my-prs-status.issues-status.branch-gc-status.usage-sessions.usage-report.plan-limits.usage-budget-alert.visions-findings.visions-comments.visions-hand.visions-intent.visions-fix.visions-snapshot.ingest-activity.ingest-snapshot.client-trust.sessions-reordered.shutting-down.restarting`.split(`.`));var cd=Yo(`type`,[z(`snapshot`,{sessions:A(ec),serverBuild:zu}),z(`hooks-report`,{requestId:L,ts:Vu,hooks:A(Uu).optional(),builtin:A(Uu).optional(),events:A(Ru({name:D(),matcher:zu,description:D(),http:k().optional()})).optional(),projects:A(Ru({id:D(),name:D(),agent:D()})).optional(),limits:Ru({maxTimeoutSec:O().int().positive()}).optional(),error:Hu}),z(`save-hook-result`,{requestId:L,ok:k(),error:Hu,hook:Uu.optional()}),z(`delete-hook-result`,{requestId:L,ok:k(),error:Hu,id:D().optional()}),z(`workspace-repos`,{requestId:L,id:R,ok:k(),repos:A(D()),error:Hu}),z(`set-workspace-repos-result`,{requestId:L,id:R,ok:k(),error:Hu}),z(`hooks-updated`,{count:O().int().nonnegative()}),z(`state-change`,{id:R,session:D(),from:Ys,to:Ys,event:D(),timestamp:Bu,skipPerms:k().optional(),saneYolo:k().optional(),hasEndedTurn:k().optional()}),z(`session-added`,Ju.shape),z(`session-modified`,Ju.shape),z(`session-removed`,{id:R,session:D()}),z(`session-renamed`,{id:R,oldName:D(),newName:D()}),z(`session-title`,{id:R,taskTitle:Js.nullable(),isCustom:k()}),z(`session-git`,{id:R,worktree:k()}),z(`session-agents`,{id:R,activeAgents:O().int().nonnegative(),awaitingBackgroundTasks:k(),timestamp:Bu}),z(`session-wakeup`,{id:R,pendingWakeup:Xs.nullable(),timestamp:Bu}),z(`session-prompt`,{isCompacting:k().optional(),id:R,pendingPromptKind:zu,pendingPromptDetail:$s.nullable().optional(),timestamp:Bu}),z(`session-sleep`),z(`session-wake`),z(`session-merge-status`,{id:R,mergeStatus:D(),reason:zu,parked:k(),timestamp:Bu}),z(`session-worktree-blocked`,{id:R,session:D(),branch:zu,notice:zu,timestamp:Bu}),z(`session-worktree-warning`,{id:R,session:D(),branch:zu,notice:zu,timestamp:Bu}),z(`session-worktree-ready`,{id:R,session:D(),branch:zu,base:zu,timestamp:Bu}),z(`session-diff`,{id:R,committed:Ru({stat:D(),diff:D()}),uncommitted:Ru({stat:D(),diff:D()}),hasCommits:k()}),z(`session-diff-error`,{id:R,message:D()}),z(`change-map`,{id:R,map:Jc}),z(`send-diff-annotations-result`,{requestId:L,ok:k(),error:Hu,pending:k().optional()}),z(`branch-sync-status`,{id:R,branch:zu,upstream:zu,state:D(),ahead:O().int().nonnegative(),behind:O().int().nonnegative(),fetched:k().nullable(),action:D().optional(),error:Hu}),z(`session-changed`,{id:R}),z(`post-turn-result`,{id:R,mode:D(),skipped:zu,filesFixed:O().int().nonnegative(),findings:A(Ru({file:D(),rule:D(),count:O().int().nonnegative()})),timestamp:Bu}),z(`debug-state-response`,{id:R,payload:Uu}),z(`session-trace-response`,{id:R,records:A(Kte),start:O().int().nonnegative(),next:O().int().nonnegative(),reset:k(),path:D()}),z(`session-trace-changed`,{id:R}),z(`session-plan-changed`,Ate.shape),z(`session-plan-draft`,jte.shape),z(`session-plan-response`,Mte.shape),z(`session-docs-changed`,{id:R,docs:A(rc)}),z(`session-docs-snapshot`,{sessions:$o(D(),A(rc))}),z(`session-doc-response`,{requestId:L,id:R,path:D(),ok:k(),text:D().optional(),hash:D().optional(),error:Hu}),z(`session-doc-save-result`,{requestId:L,id:R,path:D(),ok:k(),hash:D().optional(),conflict:k().optional(),error:Hu}),z(`notify`,{session:D(),category:D(),message:D(),escalationCount:O().int().nonnegative(),kind:P(`plan`).optional()}),z(`update-status`,nd),z(`update-progress`,{journal:$c}),z(`error`,{id:R.optional(),message:D(),requestId:L,scope:D().optional()}),z(`session-error`,{id:R.optional(),session:D(),message:D(),scope:D().optional()}),z(`settings`,{settings:Uu,requestId:L}),z(`settings-error`,{message:D(),requestId:L}),z(`settings-updated`,{settings:Uu,requestId:L}),z(`pong`,{requestId:L}),z(`agents-listed`,{requestId:L,agents:A(Ru({id:D(),label:D(),resolvable:k()}))}),z(`repo-roots-scanned`,{requestId:L,directories:A(Ru({root:D(),projects:A(Ru({name:D(),path:D()}))})),error:D().optional()}),z(`conversations`,{requestId:L,id:zu,current:zu.optional(),conversations:A(Ru({id:D(),title:D(),cwd:D(),worktreePath:D(),worktreeName:D(),gitBranch:zu,mtime:Bu})),error:D().optional()}),z(`resume-conversation-ack`,{id:R.optional(),resumeSessionId:zu.optional(),ok:k(),error:D().optional(),requestId:L}),z(`health-snapshot`,{stats:Uu}),z(`posthog-status`,{ts:Bu,intervalMinutes:O(),projects:A(Uu),investigations:A(Uu)}),z(`posthog-investigation-activity`,{projectId:qo([D(),O()]),issueId:D(),inFlight:P(!0),startedAt:Bu.nullable(),trail:qu}),z(`posthog-investigation-finished`,{projectId:qo([D(),O()]),issueId:D(),verdict:D(),summaryLine:zu,startedAt:Bu.nullable(),trail:qu}),z(`posthog-report`,{requestId:L,ok:k(),found:k(),issueId:zu,format:D().optional(),content:D().optional(),message:D().optional(),error:D().optional()}),z(`posthog-open-session-result`,{requestId:L,ok:k(),error:Hu,sessionId:D().optional(),sessionName:D().optional(),pending:k().optional()}),z(`issue-detail-result`,{requestId:D().min(1),ok:k(),body:D().nullable(),error:D().nullable()}),z(`open-issue-session-result`,{requestId:L,ok:k(),error:Hu,sessionId:D().optional(),sessionName:D().optional(),pending:k().optional(),existing:k().optional()}),z(`posthog-issue-action-result`,{requestId:L,ok:k(),error:Hu,status:zu.optional()}),z(`team-review-action-result`,{...Cl.shape,requestId:L}),z(`factory-queue-intent-result`,{...Sc.shape,requestId:L}),z(`factory-control-result`,{...wc.shape,requestId:L}),z(`benchmark-action-result`,{...ku.shape,requestId:L}),z(`my-pr-merge-result`,{...$l.shape,requestId:L}),z(`my-pr-keep-mergeable-result`,{...Hl.shape,requestId:L}),z(`my-pr-merge-when-ready-result`,{...Wl.shape,requestId:L}),z(`reviews-refresh-result`,{...Es.shape,requestId:L}),z(`posthog-archive-investigation-result`,{requestId:L,ok:k(),error:Hu}),Al,Nu,z(`factory-state`,uc.shape),Xl,Is,z(`branch-gc-status`),z(`usage-sessions`,{ts:Bu,pricingSource:zu,sessions:A(Ru({id:R,tokens:O(),costUSD:O(),officialCostUSD:O().nullable().optional()}))}),z(`usage-report`,{requestId:L,ts:Vu,tz:D().optional(),blockHours:O().optional(),totals:Uu.optional(),daily:Wu.optional(),models:Wu.optional(),sessions:Wu.optional(),blocks:Wu.optional(),activeBlock:Bo().nullable().optional(),anomaly:Bo().nullable().optional(),byLane:Bo().optional(),planWindowLanes:Bo().nullable().optional(),budget:Bo().optional(),savings:Bo().optional(),tokenLimit:Bo().nullable().optional(),pricing:Uu.optional(),scan:Uu.optional(),warning:Hu,error:Hu}),z(`plan-limits`,{ts:Bu,fiveHour:Bo().nullable(),sevenDay:Bo().nullable(),source:D()}),z(`usage-budget-alert`,{scope:D(),periodKey:D(),threshold:O(),text:D(),ts:Bu}),z(`visions-findings`,{uri:D(),diagnostics:Wu,ts:Bu}),z(`visions-comments`,{uri:D(),comments:Wu,ts:Bu}),z(`visions-hand`,{uri:D(),hand:zu,ts:Bu}),z(`visions-intent`,{projectId:zu,intent:Uu,ts:Bu}),z(`visions-fix`,{uri:D(),fix:Uu,ts:Bu}),z(`visions-snapshot`,{documents:A(Uu),intent:Uu,fixes:A(Uu),ts:Bu}),z(`ingest-activity`,{events:A(Uu),overflow:O().int().nonnegative(),ts:Bu}),z(`ingest-snapshot`,{events:A(Uu),sources:Bo(),ts:Bu}),z(`client-trust`,{trust:N([`local`,`remote`])}),z(`sessions-reordered`,{order:A(R)}),z(`shutting-down`),z(`restarting`)]),ld=null,ud=null,dd=0,fd=new Map,pd=null,md=0,hd=!1,gd=0,_d=0,vd=null,yd=null;function bd(e){yd=e}function xd(e){vd=e}function B(e){return ld?.readyState===WebSocket.OPEN&&(ld.send(JSON.stringify(e)),!0)}function Sd(e){return _d+=1,`${e}-${_d}`}function Cd(e,t){let n=Sd(e);return new Promise((r,i)=>{let a=setTimeout(()=>{fd.delete(n),i(Error(`Request timed out`))},5e3);if(fd.set(n,{resolve:r,reject:i,timer:a}),ld?.readyState!==WebSocket.OPEN){clearTimeout(a),fd.delete(n),i(Error(`Not connected`));return}ld.send(JSON.stringify({type:e,requestId:n,...t}))})}function wd(e){for(let t of fd.values())clearTimeout(t.timer),t.reject(Error(e));fd.clear()}function Td(){let e=ld;ld=null,wd(`Connection replaced`),e?.close(),dd=0,Ed()}function Ed(){if(ud!==null&&(ud!==null&&clearTimeout(ud),ud=null),!h()&&!hd){hd=!0,g().finally(()=>{hd=!1,Ed()});return}if(hd)return;let e=gd>0?`?since=${gd}`:``,t=f(location,v(`/control${e}`)),n=new WebSocket(t);ld=n,md=Date.now();let r=!1;n.addEventListener(`open`,()=>{r=!0,dd=0,yd&&yd(`connected`,`Connected`)}),n.addEventListener(`message`,e=>{if(ld!==n)return;let t;try{t=JSON.parse(e.data)}catch{console.warn(`[control] Dropped malformed server JSON message`);return}let r=cd.safeParse(t);if(!r.success){console.warn(`[control] Dropped invalid server message: ${r.error.issues[0]?.message||`invalid payload`}`);return}let i=r.data;if(i.type===`snapshot`&&typeof i.seq!=`number`&&(gd=0),typeof i.seq==`number`){if(i.seq<=gd)return;gd=i.seq}let a=typeof i.requestId==`string`?i.requestId:``,o=a?fd.get(a):void 0;if(o){clearTimeout(o.timer),fd.delete(a),o.resolve(i);return}vd&&vd(i)}),n.addEventListener(`close`,()=>{if(ld!==n)return;ld=null,wd(`Connection closed`),r||_(),yd&&yd(`disconnected`,`Reconnecting`);let e=a(dd);dd+=1,ud=setTimeout(Ed,e)})}async function Dd(e){if(yd&&yd(`connecting`,`Connecting`),pd)return pd;let t=u({hasSocket:!!ld,readyState:ld?.readyState??null,retryPending:ud!==null,connectingAgeMs:Date.now()-md,hiddenForMs:e});if(t===`retry-now`)return ud!==null&&clearTimeout(ud),ud=null,dd=0,Ed(),`reconnecting`;if(t===`connect`)return Td(),`reconnecting`;if(t===`wait`)return`reconnecting`;let n=ld;return pd=Cd(`ping`,{}).then(()=>(yd&&yd(`verified`,`Connected`),`ok`)).catch(()=>(ld===n&&n&&Td(),`dead`)).finally(()=>{pd=null}),pd}function Od(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function kd(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function V(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function Ad(e,t,n){let r=V(e,t);return r.innerHTML=n,r}function jd(e,t){for(let[n,r]of t)e.style.setProperty(n,r)}function Md({login:e,url:t,cssPx:n}){let r=V(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>V(`span`,`avatar-monogram`,kd(e)),a=t===void 0?Od(e,n):t;if(!a)return r.append(i()),r;let o=V(`img`);return o.src=a,o.width=n,o.height=n,o.loading=`lazy`,o.decoding=`async`,o.referrerPolicy=`no-referrer`,o.alt=``,o.addEventListener(`error`,()=>o.replaceWith(i()),{once:!0}),r.append(o),r}function Nd(e,t){let n=V(`span`,`avatar-stack`);for(let r of e){let e=Md({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=V(`span`,`avatar-badge`);i.dataset.tone=r.tone,e.append(i),n.append(e)}return n}function H(e,t,n){let r=e.querySelector(t);if(!r||r.tagName.toLowerCase()!==n)throw Error(`${t} does not match a <${n}>`);return r}function Pd(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function Fd(e,t,n,r=t){if(!n){let n=V(`span`,e,t);return n.title=r,n}let i=V(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}var Id={parked:`PARKED`,merging:`MERGING`};function Ld(e,t){return e===F.RUNNING&&t===!0}function Rd(e,t=!1){let n=e,r=Ld(e,t),i=r?`Monitoring`:Ls[n]||e;return{glyph:Rs[n]||``,label:i.toUpperCase(),isMonitoring:r}}function zd(e){if(!e)return;let t=null,n=()=>{t=null;let n=e.offsetHeight;n>0&&document.documentElement.style.setProperty(`--header-h`,`${n}px`)};new ResizeObserver(()=>{t===null&&(t=requestAnimationFrame(n))}).observe(e)}function Bd(e,t,n){let r=V(`section`,`${e}-section`),i=V(`div`,`${e}-section-head`);return i.append(V(`h2`,`${e}-section-title`,t)),n&&i.append(V(`span`,`${e}-section-hint`,n)),r.append(i),r}function Vd(e,t,n,r){let i=V(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append(V(`span`,`${e}-stat-value`,n),V(`span`,`${e}-stat-label`,t)),i}function Hd(e){return Array.isArray(e?.projects)?e.projects:[]}function Ud(e){return!e||!!e.closest(`[hidden]`)}function Wd(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function Gd(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function Kd(e,t=null){let n=e?._adoptHome;if(n){if(delete e._adoptHome,!n.parent?.isConnected){t&&t.appendChild(e);return}if(n.next&&n.next.parentElement===n.parent){n.parent.insertBefore(e,n.next);return}n.parent.appendChild(e)}}var qd=`(max-width: 768px)`,Jd=`(pointer: coarse)`;function Yd({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var Xd=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),Zd=e=>e||null,Qd=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:Zd(e)}),focusSession:e=>({focusedSessionId:Zd(e)}),selectSession:e=>({selectedSessionId:Zd(e)}),borrowCard:e=>({borrowedCardId:Zd(e)})});function $d(e){let t=Object.freeze({...Xd,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in Xd))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=Qd[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var ef=$d(),tf=()=>ef.snapshot().activeView,nf=window.matchMedia?.(Jd),rf=window.matchMedia?.(qd);function af(){return Yd({coarse:!!nf?.matches,narrowWidth:!!rf?.matches})}function of(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function sf(){ef.subscribe((e,t)=>{t.includes(`layout`)&&of(e.layout)});let e=af();of(e),ef.dispatch(`setLayout`,e);let t=()=>ef.dispatch(`setLayout`,af());return nf?.addEventListener?.(`change`,t),rf?.addEventListener?.(`change`,t),e}function cf(){return ef.snapshot().layout===`phone`}function lf(e){return ef.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var U=new Map;function uf(e){return e.card?.dataset.session||e.nameEl?.textContent||``}function df(e){return typeof e==`string`?e:String(e)}function ff(e){return typeof e==`string`?U.get(e):void 0}var pf=document.getElementById(`sessions-container`),mf=document.getElementById(`aggregate-status`);function hf(e){return[...document.querySelectorAll(`.dialog-overlay`)].at(-1)===e}function gf({dialogClass:e=`dialog`,closeOnBackdrop:t=!0,onEscape:n}={}){let r=document.activeElement,i=document.createElement(`div`);i.className=`dialog-overlay`;let a=document.createElement(`div`);a.className=e,i.appendChild(a),document.body.appendChild(i);function o(e){if(e.key===`Escape`){if(!n){s();return}hf(i)&&n()}}document.addEventListener(`keydown`,o);function s(){i.remove(),document.removeEventListener(`keydown`,o),r instanceof HTMLElement&&r.focus()}return t&&i.addEventListener(`click`,e=>{e.target===i&&s()}),{overlay:i,dialog:a,close:s}}function _f(e,t){e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.setAttribute(`aria-labelledby`,t),bf(e)}function vf({title:e,dialogClass:t=`dialog`,cancelLabel:n=`Cancel`}){let{overlay:r,dialog:i,close:a}=gf({dialogClass:t}),o=`dialog-title-${Math.random().toString(36).slice(2)}`,s=V(`h3`,`dialog-title`,e);s.id=o;let c=V(`div`,`dialog-actions`),l=V(`button`,`btn-dialog btn-dialog-cancel`,n);return c.append(l),i.append(s),_f(i,o),{overlay:r,dialog:i,close:a,titleEl:s,actions:c,btnCancel:l}}function yf({title:e,message:t,confirmLabel:n=`Confirm`,danger:r=!1,onConfirm:i}){let{dialog:a,close:o,actions:s,btnCancel:c}=vf({title:e}),l=V(`p`,`dialog-message`,t),u=V(`button`,r?`btn-dialog btn-dialog-confirm btn-dialog-danger`:`btn-dialog btn-dialog-confirm`,n);s.append(u),a.append(l,s),c.addEventListener(`click`,o),u.addEventListener(`click`,()=>{o(),i?.()}),requestAnimationFrame(()=>c.focus())}function bf(e){e.addEventListener(`keydown`,t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`button, input, select, textarea, [tabindex]:not([tabindex="-1"])`)];if(n.length===0)return;let r=n[0],i=n[n.length-1];if(t.shiftKey&&document.activeElement===r){t.preventDefault(),i.focus();return}!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus())})}function xf(e,t){return t===F.RUNNING?e===`restart-fresh`?{title:`Restart fresh`,message:`This agent is mid-turn. A fresh restart ends this conversation and starts a new one. Restart anyway?`,confirmLabel:`Restart fresh`,danger:!0}:{title:`Restart`,message:`This agent is mid-turn. Restarting interrupts the current turn and keeps this conversation. Restart anyway?`,confirmLabel:`Restart`,danger:!1}:null}function Sf(e,t,n){let r=zs.includes(t)?`force-restart`:`restart`;return e===`restart-fresh`?{type:r,id:n,fresh:!0}:{type:r,id:n}}function Cf(e,t,n){let r=()=>n.send(Sf(e,n.readState(),t)),i=xf(e,n.readState());if(!i){r();return}n.confirm({...i,onConfirm:r})}var wf=60,Tf=3600,Ef=24,Df=1024,Of=Df*1024,kf=Of*1024,Af={compact:{second:e=>`${e}s`,minute:e=>`${e}m`,hour:e=>`${e}h`,day:e=>`${e}d`},abbreviated:{second:e=>`${e} sec`,minute:e=>`${e} min`,hour:e=>`${e} hr`,day:e=>`${e} ${e===1?`day`:`days`}`},spelled:{second:e=>`${e} ${e===1?`second`:`seconds`}`,minute:e=>`${e} ${e===1?`minute`:`minutes`}`,hour:e=>`${e} ${e===1?`hour`:`hours`}`,day:e=>`${e} ${e===1?`day`:`days`}`}},jf={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function Mf(e){return String(e).padStart(2,`0`)}function Nf(e,t){return Math.max(0,Math[t](e/1e3))}function Pf(e,t){let n=Af[t];if(e<wf)return n.second(e);let r=Math.floor(e/wf);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Ef?n.hour(i):n.day(Math.floor(i/Ef))}function Ff(e,t){let n=Nf(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${Pf(n,t.wording)}${t.suffix}`}function If(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<wf)return`${e}s`;if(t===`s`&&e<Tf)return r(`${Math.floor(e/wf)}m`,e%wf,`s`);let i=Math.floor(e/wf);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function Lf(e,{rounding:t,showsHours:n}){let r=Nf(e,t),i=Mf(r%wf),a=Math.floor(r/wf),o=Math.floor(r/Tf);return!n||o===0?`${a}:${i}`:`${o}:${Mf(a%60)}:${i}`}function Rf(e,t){return e<Df?`${e} B`:t===`KB`||e<Of?`${(e/Df).toFixed(1)} KB`:e<kf?`${(e/Of).toFixed(1)} MB`:`${(e/kf).toFixed(2)} GB`}function zf(e){let t=new Date(e);return`${t.getFullYear()}-${Mf(t.getMonth()+1)}-${Mf(t.getDate())}`}function Bf(e){return`${Mf(e.getHours())}:${Mf(e.getMinutes())}`}function Vf(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}var Hf=320,Uf=8e3,Wf=null;function Gf(e){Wf=e}function Kf(e){if(!e||e.currentState!==F.RUNNING)return;let t=performance.now();e._lastOutputAt=t,!(t-(e._activityGate||0)<Hf)&&(e._activityGate=t,e._activity===`quiet`&&(e._activity=`active`,Wf?.(e,`flag`)),Wf?.(e,`beat`))}function qf(e){if(!e||e.currentState!==F.RUNNING)return;let t=performance.now()-(e._lastOutputAt||0)>=Uf?`quiet`:`active`;e._activity!==t&&(e._activity=t,Wf?.(e,`flag`))}function Jf(e,t){e&&(t&&(e._lastOutputAt=performance.now(),e._activityGate=0,e._activity=`active`),t||(e._activity=void 0),Wf?.(e,`flag`))}var Yf=new Set([F.RUNNING,F.WAITING,F.STARTING,F.INITIALIZING]),Xf=e=>Yf.has(e);function Zf(e){return Xf(e.currentState)?Lf(Date.now()-(e.stateSince||Date.now()),{rounding:`floor`,showsHours:!0}):``}function Qf(e){e.elapsedEl&&(e.elapsedEl.textContent=Zf(e))}var $f=new Set;function ep(e){return $f.add(e),()=>$f.delete(e)}function tp(){for(let[,e]of U)Qf(e),qf(e);for(let e of $f)try{e()}catch{}}setInterval(()=>{document.hidden||tp()},1e3),document.addEventListener(`visibilitychange`,()=>{document.hidden||tp()});var np=2,rp=1,ip=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(np,Math.floor(u/e.css.cell.width)),rows:Math.max(rp,Math.floor(l/e.css.cell.height))}}},ap=Object.defineProperty,op=Object.getOwnPropertyDescriptor,sp=(e,t)=>{for(var n in t)ap(e,n,{get:t[n],enumerable:!0})},cp=(e,t,n,r)=>{for(var i=r>1?void 0:r?op(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ap(t,n,i),i},W=(e,t)=>(n,r)=>t(n,r,e),lp=`Terminal input`,up={get:()=>lp,set:e=>lp=e},dp=`Too much output to announce, navigate to rows manually to read`,fp={get:()=>dp,set:e=>dp=e};function pp(e){return e.replace(/\r?\n/g,`\r`)}function mp(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function hp(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function gp(e,t,n,r){e.stopPropagation(),e.clipboardData&&_p(e.clipboardData.getData(`text/plain`),t,n,r)}function _p(e,t,n,r){e=pp(e),e=mp(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function vp(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function yp(e,t,n,r,i){vp(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function bp(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function xp(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Sp=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},Cp=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},wp=``,Tp=` `,Ep=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Dp}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Dp=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Op=class e extends Ep{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Dp,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?bp(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},kp=`di$target`,Ap=`di$dependencies`,jp=new Map;function Mp(e){return e[Ap]||[]}function Np(e){if(jp.has(e))return jp.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Pp(t,e,r)};return t._id=e,jp.set(e,t),t}function Pp(e,t,n){t[kp]===t?t[Ap].push({id:e,index:n}):(t[Ap]=[{id:e,index:n}],t[kp]=t)}var Fp=Np(`BufferService`),Ip=Np(`CoreMouseService`),Lp=Np(`CoreService`),Rp=Np(`CharsetService`),zp=Np(`InstantiationService`),Bp=Np(`LogService`),Vp=Np(`OptionsService`),Hp=Np(`OscLinkService`),Up=Np(`UnicodeService`),Wp=Np(`DecorationService`),Gp=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Op,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Kp(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};Gp=cp([W(0,Fp),W(1,Vp),W(2,Hp)],Gp);function Kp(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
56
|
-
|
|
57
|
-
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var qp=Np(`CharSizeService`),Jp=Np(`CoreBrowserService`),Yp=Np(`MouseService`),Xp=Np(`RenderService`),Zp=Np(`SelectionService`),Qp=Np(`CharacterJoinerService`),$p=Np(`ThemeService`),em=Np(`LinkProviderService`),tm=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?sm.isErrorNoTelemetry(e)?new sm(e.message+`
|
|
58
|
-
|
|
59
|
-
`+e.stack):Error(e.message+`
|
|
60
|
-
|
|
61
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function nm(e){im(e)||tm.onUnexpectedError(e)}var rm=`Canceled`;function im(e){return e instanceof am||e instanceof Error&&e.name===rm&&e.message===rm}var am=class extends Error{constructor(){super(rm),this.name=this.message}};function om(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var sm=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},cm=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function lm(e,t=0){return e[e.length-(1+t)]}var um;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(um||={});var dm=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||um.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};dm.empty=new dm(e=>{});function fm(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var pm;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(pm||={});var mm=null;function hm(e){return mm?.trackDisposable(e),e}function gm(e){mm?.markAsDisposed(e)}function _m(e,t){mm?.setParent(e,t)}function vm(e){return mm?.markAsSingleton(e),e}function ym(e){if(pm.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function bm(...e){return xm(()=>ym(e))}function xm(e){let t=hm({dispose:fm(()=>{gm(t),e()})});return t}var Sm=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,hm(this)}dispose(){this._isDisposed||(gm(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ym(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return _m(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),_m(e,null))}};Sm.DISABLE_DISPOSED_WARNING=!1;var Cm=Sm,G=class{constructor(){this._store=new Cm,hm(this),_m(this._store,this)}dispose(){gm(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};G.None=Object.freeze({dispose(){}});var wm=class{constructor(){this._isDisposed=!1,hm(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&_m(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gm(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&_m(e,null),e}},Tm=typeof window==`object`?window:globalThis,Em=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Em.Undefined=new Em(void 0);var Dm=Em,Om=class{constructor(){this._first=Dm.Undefined,this._last=Dm.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Dm.Undefined}clear(){let e=this._first;for(;e!==Dm.Undefined;){let t=e.next;e.prev=Dm.Undefined,e.next=Dm.Undefined,e=t}this._first=Dm.Undefined,this._last=Dm.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Dm(e);if(this._first===Dm.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==Dm.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Dm.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Dm.Undefined&&e.next!==Dm.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Dm.Undefined&&e.next===Dm.Undefined?(this._first=Dm.Undefined,this._last=Dm.Undefined):e.next===Dm.Undefined?(this._last=this._last.prev,this._last.next=Dm.Undefined):e.prev===Dm.Undefined&&(this._first=this._first.next,this._first.prev=Dm.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Dm.Undefined;)yield e.element,e=e.next}},km=globalThis.performance&&typeof globalThis.performance.now==`function`,Am=class e{static create(t){return new e(t)}constructor(e){this._now=km&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},jm;(e=>{e.None=()=>G.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(bm(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new K({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new K({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new K({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function ee(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=ee;function b(e){return new Promise(t=>n(e)(t))}e.toPromise=b;function te(e){let t=new K;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=te;function ne(e,t){return e(e=>t.fire(e))}e.forward=ne;function re(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=re;class ie{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new K(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ae(e,t){return new ie(e,t).emitter.event}e.fromObservable=ae;function x(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof Cm?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=x})(jm||={});var Mm=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new Am,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};Mm.all=new Set,Mm._idPool=0;var Nm=Mm,Pm=-1,Fm=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new Rm(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};Fm._idPool=1;var Im=Fm,Lm=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
62
|
-
`).slice(2).join(`
|
|
63
|
-
`))}},Rm=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},zm=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},Bm=0,Vm=class{constructor(e){this.value=e,this.id=Bm++}},Hm=2,K=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Pm>0||this._options?.leakWarningThreshold?new Im(e?.onListenerError??nm,this._options?.leakWarningThreshold??Pm):void 0,this._perfMon=this._options?._profName?new Nm(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new zm(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||nm)(n),G.None}if(this._disposed)return G.None;t&&(e=e.bind(t));let r=new Vm(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Lm.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Vm?(this._deliveryQueue??=new Um,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=xm(()=>{i?.(),this._removeListener(r)});return n instanceof Cm?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*Hm<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||nm;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof Vm)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},Um=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Wm=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new K,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new K,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Wm.INSTANCE=new Wm;var Gm=Wm;function Km(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Gm.INSTANCE.onDidChangeZoomLevel;function qm(e){return Gm.INSTANCE.getZoomFactor(e)}Gm.INSTANCE.onDidChangeFullscreen;var Jm=typeof navigator==`object`?navigator.userAgent:``,Ym=Jm.indexOf(`Firefox`)>=0,Xm=Jm.indexOf(`AppleWebKit`)>=0,Zm=Jm.indexOf(`Chrome`)>=0,Qm=!Zm&&Jm.indexOf(`Safari`)>=0;Jm.indexOf(`Electron/`),Jm.indexOf(`Android`);var $m=!1;if(typeof Tm.matchMedia==`function`){let e=Tm.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Tm.matchMedia(`(display-mode: fullscreen)`);$m=e.matches,Km(Tm,e,({matches:e})=>{$m&&t.matches||($m=e)})}function eh(){return $m}var th=`en`,nh=!1,rh=!1,ih=!1,ah=!1,oh=!1,sh=th,ch,lh=globalThis,uh;typeof lh.vscode<`u`&&typeof lh.vscode.process<`u`?uh=lh.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(uh=process);var dh=typeof uh?.versions?.electron==`string`&&uh?.type===`renderer`;if(typeof uh==`object`){nh=uh.platform===`win32`,rh=uh.platform===`darwin`,ih=uh.platform===`linux`,ih&&uh.env.SNAP&&uh.env.SNAP_REVISION,uh.env.CI||uh.env.BUILD_ARTIFACTSTAGINGDIRECTORY,sh=th;let e=uh.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,sh=t.resolvedLanguage||th,t.languagePack?.translationsConfigFile}catch{}ah=!0}else typeof navigator==`object`&&!dh?(ch=navigator.userAgent,nh=ch.indexOf(`Windows`)>=0,rh=ch.indexOf(`Macintosh`)>=0,(ch.indexOf(`Macintosh`)>=0||ch.indexOf(`iPad`)>=0||ch.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,ih=ch.indexOf(`Linux`)>=0,ch?.indexOf(`Mobi`),oh=!0,sh=globalThis._VSCODE_NLS_LANGUAGE||th,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var fh=nh,ph=rh,mh=ih,hh=ah;oh&&typeof lh.importScripts==`function`&&lh.origin;var gh=ch,_h=sh,vh;(e=>{function t(){return _h}e.value=t;function n(){return _h.length===2?_h===`en`:_h.length>=3&&_h[0]===`e`&&_h[1]===`n`&&_h[2]===`-`}e.isDefaultVariant=n;function r(){return _h===`en`}e.isDefault=r})(vh||={});var yh=typeof lh.postMessage==`function`&&!lh.importScripts;(()=>{if(yh){let e=[];lh.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),lh.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var bh=!!(gh&&gh.indexOf(`Chrome`)>=0);gh&&gh.indexOf(`Firefox`),!bh&&gh&&gh.indexOf(`Safari`),gh&&gh.indexOf(`Edg/`),gh&&gh.indexOf(`Android`);var xh=typeof navigator==`object`?navigator:{};hh||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||xh&&xh.clipboard&&xh.clipboard.writeText,hh||xh&&xh.clipboard&&xh.clipboard.readText,hh||eh()||xh.keyboard,`ontouchstart`in Tm||xh.maxTouchPoints,Tm.PointerEvent&&(`ontouchstart`in Tm||navigator.maxTouchPoints);var Sh=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Ch=new Sh,wh=new Sh,Th=new Sh,Eh=Array(230),Dh;(e=>{function t(e){return Ch.keyCodeToStr(e)}e.toString=t;function n(e){return Ch.strToKeyCode(e)}e.fromString=n;function r(e){return wh.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return Th.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return wh.strToKeyCode(e)||Th.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return Ch.keyCodeToStr(e)}e.toElectronAccelerator=o})(Dh||={});var Oh=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new kh([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},kh=class{constructor(e){if(e.length===0)throw om(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t<n;t++)t!==0&&(e+=`;`),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function Ah(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Dh.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(Ym)switch(t){case 59:return 85;case 60:if(mh)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(ph)return 57}else if(Xm&&(ph&&t===93||!ph&&t===92))return 57;return Eh[t]||0}var jh=ph?256:2048,Mh=512,Nh=1024,Ph=ph?2048:256,Fh=class{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(`AltGraph`),this.keyCode=Ah(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=jh),this.altKey&&(t|=Mh),this.shiftKey&&(t|=Nh),this.metaKey&&(t|=Ph),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Oh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},Ih=new WeakMap;function Lh(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}var Rh=class{static getSameOriginWindowChain(e){let t=Ih.get(e);if(!t){t=[],Ih.set(e,t);let n=e,r;do r=Lh(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r;while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let n=0,r=0,i=this.getSameOriginWindowChain(e);for(let e of i){let i=e.window.deref();if(n+=i?.scrollY??0,r+=i?.scrollX??0,i===t||!e.iframeElement)break;let a=e.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}}},zh=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type===`dblclick`&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX==`number`?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let n=Rh.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Bh=class{constructor(e,t=0,n=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t;let r=!1;if(Zm){let e=navigator.userAgent.match(/Chrome\/(\d+)/);r=(e?parseInt(e[1]):123)<=122}if(e){let t=e,n=e,i=e.view?.devicePixelRatio||1;if(typeof t.wheelDeltaY<`u`)this.deltaY=r?t.wheelDeltaY/(120*i):t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS<`u`&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(e.type===`wheel`){let t=e;this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?Ym&&!ph?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=Qm&&fh?-(t.wheelDeltaX/120):r?t.wheelDeltaX/(120*i):t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS<`u`&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type===`wheel`){let t=e;this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?Ym&&!ph?-e.deltaX/3:-e.deltaX:-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=r?e.wheelDelta/(120*i):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},Vh=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Hh;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Uh?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:jm.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vh})})(Hh||={});var Uh=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Vh:(this._emitter||=new K,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},Wh=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new cm(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new cm(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Gh=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new cm(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=xm(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Kh;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(Kh||={});var qh=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new K,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await jm.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};qh.EMPTY=qh.fromArray([]);function Jh(e){return Yh(e,0)}function Yh(e,t){switch(typeof e){case`object`:return e===null?Xh(349,t):Array.isArray(e)?$h(e,t):eg(e,t);case`string`:return Qh(e,t);case`boolean`:return Zh(e,t);case`number`:return Xh(e,t);case`undefined`:return Xh(937,t);default:return Xh(617,t)}}function Xh(e,t){return(t<<5)-t+e|0}function Zh(e,t){return Xh(e?433:863,t)}function Qh(e,t){t=Xh(149417,t);for(let n=0,r=e.length;n<r;n++)t=Xh(e.charCodeAt(n),t);return t}function $h(e,t){return t=Xh(104579,t),e.reduce((e,t)=>Yh(t,e),t)}function eg(e,t){return t=Xh(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Qh(n,t),Yh(e[n],t)),t)}var{registerWindow:rne,getWindow:tg,getDocument:ine,getWindows:ane,getWindowsCount:one,getWindowId:ng,getWindowById:sne,hasWindow:cne,onDidRegisterWindow:rg,onWillUnregisterWindow:lne,onDidUnregisterWindow:une}=function(){let e=new Map,t={window:Tm,disposables:new Cm};e.set(Tm.vscodeWindowId,t);let n=new K,r=new K,i=new K;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return G.None;let a=new Cm,o={window:t,disposables:a.add(new Cm)};return e.set(t.vscodeWindowId,o),a.add(xm(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(q(t,pg.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Tm},getDocument(e){return tg(e).document}}}(),ig=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function q(e,t,n,r){return new ig(e,t,n,r)}function ag(e,t){return function(n){return t(new zh(e,n))}}function og(e){return function(t){return e(new Fh(t))}}var sg=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=ag(tg(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=og(n)),q(e,t,i,r)},cg,lg=class extends Gh{constructor(e){super(),this.defaultTarget=e&&tg(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},ug=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){nm(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(ug.sort),a.shift().execute();r.set(i,!1)};cg=(t,r,a=0)=>{let o=ng(t),s=new ug(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var dg=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};dg.None=new dg(0,0);function fg(e){let t=e.getBoundingClientRect(),n=tg(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Jh(n),a=r.get(i);if(a)a.users+=1;else{let o=new K,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(xm(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var pg={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:Xm?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Xm?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Xm?`webkitAnimationIteration`:`animationiteration`},mg=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=hg(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=hg(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=hg(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=hg(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=hg(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=hg(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=hg(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=hg(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=hg(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=hg(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=hg(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=hg(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=hg(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=hg(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function hg(e){return typeof e==`number`?`${e}px`:e}function gg(e){return new mg(e)}var _g=class{constructor(){this._hooks=new Cm,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(xm(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=tg(e)}this._hooks.add(q(a,pg.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(q(a,pg.POINTER_UP,e=>this.stopMonitoring(!0)))}};function vg(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var yg;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(yg||={});var bg=class e extends G{constructor(){super(),this.dispatched=!1,this.targets=new Om,this.ignoreTargets=new Om,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(jm.runAndSubscribe(rg,({window:e,disposables:t})=>{t.add(q(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(q(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(q(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:Tm,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=vm(new e),xm(e.INSTANCE.targets.push(t))):G.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=vm(new e),xm(e.INSTANCE.ignoreTargets.push(t))):G.None}static isTouchDevice(){return`ontouchstart`in Tm||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(yg.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-lm(s.rollingPageX))<30&&Math.abs(s.initialPageY-lm(s.rollingPageY))<30){let e=this.newGestureEvent(yg.Tap,s.initialTarget);e.pageX=lm(s.rollingPageX),e.pageY=lm(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-lm(s.rollingPageX))<30&&Math.abs(s.initialPageY-lm(s.rollingPageY))<30){let e=this.newGestureEvent(yg.Contextmenu,s.initialTarget);e.pageX=lm(s.rollingPageX),e.pageY=lm(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=lm(s.rollingPageX),n=lm(s.rollingPageY),i=lm(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(yg.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===yg.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===yg.Change||t.type===yg.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=cg(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(yg.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(yg.Change,i.initialTarget);a.translationX=r.pageX-lm(i.rollingPageX),a.translationY=r.pageY-lm(i.rollingPageY),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};bg.SCROLL_FRICTION=-.005,bg.HOLD_DELAY=700,bg.CLEAR_TAP_COUNT_TIME=400,cp([vg],bg,`isTouchDevice`,1);var xg=bg,Sg=class extends G{onclick(e,t){this._register(q(e,pg.CLICK,n=>t(new zh(tg(e),n))))}onmousedown(e,t){this._register(q(e,pg.MOUSE_DOWN,n=>t(new zh(tg(e),n))))}onmouseover(e,t){this._register(q(e,pg.MOUSE_OVER,n=>t(new zh(tg(e),n))))}onmouseleave(e,t){this._register(q(e,pg.MOUSE_LEAVE,n=>t(new zh(tg(e),n))))}onkeydown(e,t){this._register(q(e,pg.KEY_DOWN,e=>t(new Fh(e))))}onkeyup(e,t){this._register(q(e,pg.KEY_UP,e=>t(new Fh(e))))}oninput(e,t){this._register(q(e,pg.INPUT,t))}onblur(e,t){this._register(q(e,pg.BLUR,t))}onfocus(e,t){this._register(q(e,pg.FOCUS,t))}onchange(e,t){this._register(q(e,pg.CHANGE,t))}ignoreGesture(e){return xg.ignoreTarget(e)}},Cg=11,wg=class extends Sg{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=Cg+`px`,this.domNode.style.height=Cg+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new _g),this._register(sg(this.bgDomNode,pg.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(sg(this.domNode,pg.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new lg),this._pointerdownScheduleRepeatTimer=this._register(new Wh)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,tg(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},Tg=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},Eg=class extends G{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Tg(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Ag(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Ag.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},Dg=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Og(e,t){let n=t-e;return function(t){return e+n*Mg(t)}}function kg(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Ag=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),kg(Og(e,r),Og(i,t),.33)}return Og(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new Dg(this.scrollLeft(t),this.scrollTop(t),!1):new Dg(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function jg(e){return e**3}function Mg(e){return 1-jg(1-e)}var Ng=class extends G{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Wh)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},Pg=140,Fg=class extends Sg{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Ng(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new _g),this._shouldRender=!0,this.domNode=gg(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(q(this.domNode.domNode,pg.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new wg(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=gg(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(q(this.slider.domNode,pg.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=fg(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(fh&&a>Pg){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Ig=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},Lg=class extends Fg{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Ig(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},Rg=class extends Fg{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Ig(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},zg=500,Bg=50,Vg=!0,Hg=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Ug=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(1);return t<=.5}acceptStandardWheelEvent(e){if(Zm){let t=qm(tg(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new Hg(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Ug.INSTANCE=new Ug;var Wg=Ug,Gg=class extends Sg{constructor(e,t,n){super(),this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new K),this.onWillScroll=this._onWillScroll.event,this._options=dne(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Rg(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new Lg(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=gg(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=gg(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=gg(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new Wh),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ym(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,ph&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Bh(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=ym(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(q(this._listenOnDomNode,pg.MOUSE_WHEEL,e=>{this._onMouseWheel(new Bh(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=Wg.INSTANCE;Vg&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!ph&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=Bg*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Bg*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(Vg&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),zg)}},Kg=class extends Gg{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function dne(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,ph&&(t.className+=` mac`),t}var qg=class extends G{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new Eg({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>cg(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Kg(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(jm.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(xm(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(xm(()=>this._styleElement.remove())),this._register(jm.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(`
|
|
64
|
-
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};qg=cp([W(2,Fp),W(3,Jp),W(4,Ip),W(5,$p),W(6,Vp),W(7,Xp)],qg);var Jg=class extends G{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,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(e=>this._removeDecoration(e))),this._register(xm(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Jg=cp([W(1,Fp),W(2,Jp),W(3,Wp),W(4,Xp)],Jg);var fne=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(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Yg={full:0,left:0,center:0,right:0},Xg={full:0,left:0,center:0,right:0},Zg={full:0,left:0,center:0,right:0},Qg=class extends G{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new fne,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(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(xm(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),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())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);Xg.full=this._canvas.width,Xg.left=e,Xg.center=t,Xg.right=e,this._refreshDrawHeightConstants(),Zg.full=1,Zg.left=1,Zg.center=1+Xg.left,Zg.right=1+Xg.left+Xg.center}_refreshDrawHeightConstants(){Yg.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Yg.left=t,Yg.center=t,Yg.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yg.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yg.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yg.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yg.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(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Zg[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Yg[e.position||`full`]/2),Xg[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Yg[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};Qg=cp([W(2,Fp),W(3,Wp),W(4,Xp),W(5,Vp),W(6,$p),W(7,Jp)],Qg);var J;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=`
|
|
65
|
-
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))(J||={});var $g;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))($g||={});var e_;(e=>e.ST=`${J.ESC}\\`)(e_||={});var t_=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${J.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};t_=cp([W(2,Fp),W(3,Vp),W(4,Lp),W(5,Xp)],t_);var n_=0,r_=0,i_=0,a_=0,o_={css:`#00000000`,rgba:0},s_;(e=>{function t(e,t,n,r){return r===void 0?`#${f_(e)}${f_(t)}${f_(n)}`:`#${f_(e)}${f_(t)}${f_(n)}${f_(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(s_||={});var c_;(e=>{function t(e,t){if(a_=(t.rgba&255)/255,a_===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return n_=a+Math.round((n-a)*a_),r_=o+Math.round((r-o)*a_),i_=s+Math.round((i-s)*a_),{css:s_.toCss(n_,r_,i_),rgba:s_.toRgba(n_,r_,i_)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=d_.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return s_.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[n_,r_,i_]=d_.toChannels(t),{css:s_.toCss(n_,r_,i_),rgba:t}}e.opaque=i;function a(e,t){return a_=Math.round(t*255),[n_,r_,i_]=d_.toChannels(e.rgba),{css:s_.toCss(n_,r_,i_,a_),rgba:s_.toRgba(n_,r_,i_,a_)}}e.opacity=a;function o(e,t){return a_=e.rgba&255,a(e,a_*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(c_||={});var l_;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return n_=parseInt(e.slice(1,2).repeat(2),16),r_=parseInt(e.slice(2,3).repeat(2),16),i_=parseInt(e.slice(3,4).repeat(2),16),s_.toColor(n_,r_,i_);case 5:return n_=parseInt(e.slice(1,2).repeat(2),16),r_=parseInt(e.slice(2,3).repeat(2),16),i_=parseInt(e.slice(3,4).repeat(2),16),a_=parseInt(e.slice(4,5).repeat(2),16),s_.toColor(n_,r_,i_,a_);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return n_=parseInt(r[1]),r_=parseInt(r[2]),i_=parseInt(r[3]),a_=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),s_.toColor(n_,r_,i_,a_);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[n_,r_,i_,a_]=t.getImageData(0,0,1,1).data,a_!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:s_.toRgba(n_,r_,i_,a_),css:e}}e.toColor=r})(l_||={});var u_;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(u_||={});var d_;(e=>{function t(e,t){if(a_=(t&255)/255,a_===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return n_=a+Math.round((n-a)*a_),r_=o+Math.round((r-o)*a_),i_=s+Math.round((i-s)*a_),s_.toRgba(n_,r_,i_)}e.blend=t;function n(e,t,n){let a=u_.relativeLuminance(e>>8),o=u_.relativeLuminance(t>>8);if(p_(a,o)<n){if(o<a){let o=r(e,t,n),s=p_(a,u_.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>p_(a,u_.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=p_(a,u_.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>p_(a,u_.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=p_(u_.relativeLuminance2(o,s,c),u_.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=p_(u_.relativeLuminance2(o,s,c),u_.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=p_(u_.relativeLuminance2(o,s,c),u_.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=p_(u_.relativeLuminance2(o,s,c),u_.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(d_||={});function f_(e){let t=e.toString(16);return t.length<2?`0`+t:t}function p_(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var pne=class extends Ep{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},m_=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Op}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,o=0,s=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==s||this._workCell.bg!==c){if(e-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,o=a,s=this._workCell.fg,c=this._workCell.bg}a+=this._workCell.getChars().length||Tp.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(e,t,n,r,i){let a=e.substring(t,n),o=[];try{o=this._characterJoiners[0].handler(a)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let t=this._characterJoiners[e].handler(a);for(let e=0;e<t.length;e++)m_._mergeRanges(o,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(o,r,i),o}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,o=e[r];if(o){for(let s=n;s<this._bufferService.cols;s++){let n=t.getWidth(s),c=t.getString(s).length||Tp.length;if(n!==0){if(!i&&o[0]<=a&&(o[0]=s,i=!0),o[1]<=a){if(o[1]=s,o=e[++r],!o)break;o[0]<=a?(o[0]=s,i=!0):i=!1}a+=c}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0);continue}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};m_=cp([W(0,Fp)],m_);function mne(e){return 57508<=e&&e<=57558}function hne(e){return 9472<=e&&e<=9631}function gne(e){return mne(e)||hne(e)}function _ne(){return{css:{canvas:h_(),cell:h_()},device:{canvas:h_(),cell:h_(),char:{width:0,height:0,left:0,top:0}}}}function h_(){return{width:0,height:0}}var g_=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new Op,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,ee=0,b=0,te=!1,ne=0,re=!1,ie=0,ae=0,x=[],oe=l!==-1&&u!==-1;for(let se=0;se<m;se++){e.loadCell(se,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ce=!1,le=se>=ae,ue=se,S=this._workCell;if(f.length>0&&se===f[0][0]&&le){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)le&&=i===this._isCellInSelection(v,t);le&&=!n||a<r[0]||a>=r[1],le?(ce=!0,S=new pne(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ue=r[1]-1,m=S.getWidth()):ae=r[1]}let C=this._isCellInSelection(se,t),w=n&&se===a,de=oe&&se>=l&&se<=u,fe=!1;this._decorationService.forEachDecorationAtCell(se,t,void 0,e=>{fe=!0});let pe=S.getChars()||Tp;if(pe===` `&&(S.isUnderline()||S.isOverline())&&(pe=`\xA0`),ie=m*s-c.get(pe,S.isBold(),S.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(C&&re||!C&&!re&&S.bg===y)&&(C&&re&&p.selectionForeground||S.fg===ee)&&S.extended.ext===b&&de===te&&ie===ne&&!w&&!ce&&!fe&&le){S.isInvisible()?_+=Tp:_+=pe,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=S.bg,ee=S.fg,b=S.extended.ext,te=de,ne=ie,re=C,ce&&a>=se&&a<=ue&&(a=se),!this._coreService.isCursorHidden&&w&&this._coreService.isCursorInitialized){if(x.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&x.push(`xterm-cursor-blink`),x.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:x.push(`xterm-cursor-outline`);break;case`block`:x.push(`xterm-cursor-block`);break;case`bar`:x.push(`xterm-cursor-bar`);break;case`underline`:x.push(`xterm-cursor-underline`)}}if(S.isBold()&&x.push(`xterm-bold`),S.isItalic()&&x.push(`xterm-italic`),S.isDim()&&x.push(`xterm-dim`),_=S.isInvisible()?Tp:S.getChars()||Tp,S.isUnderline()&&(x.push(`xterm-underline-${S.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!S.isUnderlineColorDefault())){if(S.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${Ep.toColorRGB(S.getUnderlineColor()).join(`,`)})`;else{let e=S.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&S.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}S.isOverline()&&(x.push(`xterm-overline`),_===` `&&(_=`\xA0`)),S.isStrikethrough()&&x.push(`xterm-strikethrough`),de&&(h.style.textDecoration=`underline`);let me=S.getFgColor(),he=S.getFgColorMode(),ge=S.getBgColor(),_e=S.getBgColorMode(),ve=!!S.isInverse();if(ve){let e=me;me=ge,ge=e;let t=he;he=_e,_e=t}let ye,be,T=!1;this._decorationService.forEachDecorationAtCell(se,t,void 0,e=>{e.options.layer!==`top`&&T||(e.backgroundColorRGB&&(_e=50331648,ge=e.backgroundColorRGB.rgba>>8&16777215,ye=e.backgroundColorRGB),e.foregroundColorRGB&&(he=50331648,me=e.foregroundColorRGB.rgba>>8&16777215,be=e.foregroundColorRGB),T=e.options.layer===`top`)}),!T&&C&&(ye=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,ge=ye.rgba>>8&16777215,_e=50331648,T=!0,p.selectionForeground&&(he=50331648,me=p.selectionForeground.rgba>>8&16777215,be=p.selectionForeground)),T&&x.push(`xterm-decoration-top`);let xe;switch(_e){case 16777216:case 33554432:xe=p.ansi[ge],x.push(`xterm-bg-${ge}`);break;case 50331648:xe=s_.toColor(ge>>16,ge>>8&255,ge&255),this._addStyle(h,`background-color:#${__((ge>>>0).toString(16),`0`,6)}`);break;default:ve?(xe=p.foreground,x.push(`xterm-bg-257`)):xe=p.background}switch(ye||S.isDim()&&(ye=c_.multiplyOpacity(xe,.5)),he){case 16777216:case 33554432:S.isBold()&&me<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(me+=8),this._applyMinimumContrast(h,xe,p.ansi[me],S,ye,void 0)||x.push(`xterm-fg-${me}`);break;case 50331648:let e=s_.toColor(me>>16&255,me>>8&255,me&255);this._applyMinimumContrast(h,xe,e,S,ye,be)||this._addStyle(h,`color:#${__(me.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,xe,p.foreground,S,ye,be)||ve&&x.push(`xterm-fg-257`)}x.length&&=(h.className=x.join(` `),0),!w&&!ce&&!fe&&le?g++:h.textContent=_,ie!==this.defaultSpacing&&(h.style.letterSpacing=`${ie}px`),d.push(h),se=ue}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||gne(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=c_.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0]}};g_=cp([W(1,Qp),W(2,Vp),W(3,Jp),W(4,Lp),W(5,Wp),W(6,$p)],g_);function __(e,t,n){for(;e.length<n;)e=t+e;return e}var vne=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.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`;let n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.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(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},yne=class{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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function bne(){return new yne}var v_=`xterm-dom-renderer-owner-`,y_=`xterm-rows`,b_=`xterm-fg-`,x_=`xterm-bg-`,S_=`xterm-focus`,C_=`xterm-selection`,xne=1,w_=class extends G{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=xne++,this._rowElements=[],this._selectionRenderModel=bne(),this.onRequestRedraw=this._register(new K).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(y_),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(C_),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=_ne(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(g_,document),this._element.classList.add(v_+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(xm(()=>{this._element.classList.remove(v_+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new vne(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(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),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/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),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(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${y_} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,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(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${y_} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${y_} .xterm-dim { color: ${c_.multiplyOpacity(e.foreground,.5).css};}`,t+=`${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;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${y_}.${S_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${y_}.${S_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${y_}.${S_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${y_} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${y_} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${y_} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${y_} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${y_} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${C_} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${C_} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${C_} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${b_}${n} { color: ${r.css}; }${this._terminalSelector} .${b_}${n}.xterm-dim { color: ${c_.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${x_}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${b_}257 { color: ${c_.opaque(e.background).css}; }${this._terminalSelector} .${b_}257.xterm-dim { color: ${c_.multiplyOpacity(c_.opaque(e.background),.5).css}; }${this._terminalSelector} .${x_}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),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(S_),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S_),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}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(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${v_}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};w_=cp([W(7,zp),W(8,qp),W(9,Vp),W(10,Fp),W(11,Lp),W(12,Jp),W(13,$p)],w_);var T_=class extends G{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new K),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Cne(this._optionsService))}catch{this._measureStrategy=this._register(new Sne(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};T_=cp([W(2,Vp)],T_);var E_=class extends G{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},Sne=class extends E_{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,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}},Cne=class extends E_{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},wne=class extends G{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Tne(this._window)),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new K),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(jm.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(q(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(q(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,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}},Tne=class extends G{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new wm),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(xm(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=q(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.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)}},Ene=class extends G{constructor(){super(),this.linkProviders=[],this._register(xm(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function D_(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function Dne(e,t,n,r,i,a,o,s,c){if(!a)return;let l=D_(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var O_=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Dne(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=D_(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};O_=cp([W(0,Xp),W(1,qp)],O_);var One=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!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){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},k_={};sp(k_,{getSafariVersion:()=>Ane,isChromeOS:()=>R_,isFirefox:()=>N_,isIpad:()=>jne,isIphone:()=>Mne,isLegacyEdge:()=>kne,isLinux:()=>L_,isMac:()=>F_,isNode:()=>A_,isSafari:()=>P_,isWindows:()=>I_});var A_=typeof process<`u`&&`title`in process,j_=A_?`node`:navigator.userAgent,M_=A_?`node`:navigator.platform,N_=j_.includes(`Firefox`),kne=j_.includes(`Edge`),P_=/^((?!chrome|android).)*safari/i.test(j_);function Ane(){if(!P_)return 0;let e=j_.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var F_=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(M_),jne=M_===`iPad`,Mne=M_===`iPhone`,I_=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(M_),L_=M_.indexOf(`Linux`)>=0,R_=/\bCrOS\b/.test(j_),z_=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},Nne=class extends z_{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},Pne=class extends z_{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},B_=!A_&&`requestIdleCallback`in window?Pne:Nne,Fne=class{constructor(){this._queue=new B_}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},V_=class extends G{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new wm),this._pausedResizeTask=new Fne,this._observerDisposable=this._register(new wm),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 K),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new K),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new K),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new One((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Ine(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(xm(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=xm(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.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(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,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(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};V_=cp([W(2,Vp),W(3,qp),W(4,Lp),W(5,Wp),W(6,Fp),W(7,Jp),W(8,$p)],V_);var Ine=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Lne(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return Bne(i,a,e,t,n,r)+H_(a,t,n,r)+Vne(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,q_(Math.abs(i-e),K_(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return q_(zne(a>t?e:i,n)+(s-1)*n.cols+1+Rne(a>t?i:e,n),K_(o,r))}function Rne(e,t){return e-1}function zne(e,t){return t.cols-e}function Bne(e,t,n,r,i,a){return H_(t,r,i,a).length===0?``:q_(G_(e,t,e,t-U_(t,i),!1,i).length,K_(`D`,a))}function H_(e,t,n,r){let i=e-U_(e,n),a=t-U_(t,n);return q_(Math.abs(i-a)-Hne(e,t,n),K_(W_(e,t),r))}function Vne(e,t,n,r,i,a){let o;o=H_(t,r,i,a).length>0?r-U_(r,i):t;let s=r,c=Une(e,t,n,r,i,a);return q_(G_(e,o,n,s,c===`C`,i).length,K_(c,a))}function Hne(e,t,n){let r=0,i=e-U_(e,n),a=t-U_(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=W_(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function U_(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function Une(e,t,n,r,i,a){let o;return o=H_(n,r,i,a).length>0?r-U_(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function W_(e,t){return e>t?`A`:`B`}function G_(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function K_(e,t){let n=t?`O`:`[`;return J.ESC+n+e}function q_(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var Wne=class{constructor(e){this._bufferService=e,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.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()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function J_(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var Y_=50,Gne=15,Kne=50,qne=500,Jne=RegExp(`\xA0`,`g`),X_=class extends G{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Op,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new K),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new K),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new Wne(this._bufferService),this._activeSelectionMode=0,this._register(xm(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}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(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map(e=>e.replace(Jne,` `)).join(I_?`\r
|
|
66
|
-
`:`
|
|
67
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),L_&&e&&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(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=J_(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=D_(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-Y_),Y_),t/=Y_,t/Math.abs(t)+Math.round(t*(Gne-1)))}shouldForceSelection(e){return F_?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),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(),Kne)}_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(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(F_&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}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(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[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});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<qne&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=Lne(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(t||o.slice(s,c).trim()!==``){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=J_(n,this._bufferService.cols)}};X_=cp([W(3,Fp),W(4,Lp),W(5,Yp),W(6,Vp),W(7,Xp),W(8,Jp)],X_);var Z_=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Q_=class{constructor(){this._color=new Z_,this._css=new Z_}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},$_=Object.freeze((()=>{let e=[l_.toColor(`#2e3436`),l_.toColor(`#cc0000`),l_.toColor(`#4e9a06`),l_.toColor(`#c4a000`),l_.toColor(`#3465a4`),l_.toColor(`#75507b`),l_.toColor(`#06989a`),l_.toColor(`#d3d7cf`),l_.toColor(`#555753`),l_.toColor(`#ef2929`),l_.toColor(`#8ae234`),l_.toColor(`#fce94f`),l_.toColor(`#729fcf`),l_.toColor(`#ad7fa8`),l_.toColor(`#34e2e2`),l_.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:s_.toCss(r,i,a),rgba:s_.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:s_.toCss(n,n,n),rgba:s_.toRgba(n,n,n)})}return e})()),ev=l_.toColor(`#ffffff`),tv=l_.toColor(`#000000`),nv=l_.toColor(`#ffffff`),rv=tv,iv={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},Yne=ev,av=class extends G{constructor(e){super(),this._optionsService=e,this._contrastCache=new Q_,this._halfContrastCache=new Q_,this._onChangeColors=this._register(new K),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:ev,background:tv,cursor:nv,cursorAccent:rv,selectionForeground:void 0,selectionBackgroundTransparent:iv,selectionBackgroundOpaque:c_.blend(tv,iv),selectionInactiveBackgroundTransparent:iv,selectionInactiveBackgroundOpaque:c_.blend(tv,iv),scrollbarSliderBackground:c_.opacity(ev,.2),scrollbarSliderHoverBackground:c_.opacity(ev,.4),scrollbarSliderActiveBackground:c_.opacity(ev,.5),overviewRulerBorder:ev,ansi:$_.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)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=ov(e.foreground,ev),t.background=ov(e.background,tv),t.cursor=c_.blend(t.background,ov(e.cursor,nv)),t.cursorAccent=c_.blend(t.background,ov(e.cursorAccent,rv)),t.selectionBackgroundTransparent=ov(e.selectionBackground,iv),t.selectionBackgroundOpaque=c_.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=ov(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=c_.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?ov(e.selectionForeground,o_):void 0,t.selectionForeground===o_&&(t.selectionForeground=void 0),c_.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=c_.opacity(t.selectionBackgroundTransparent,.3)),c_.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=c_.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=ov(e.scrollbarSliderBackground,c_.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=ov(e.scrollbarSliderHoverBackground,c_.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=ov(e.scrollbarSliderActiveBackground,c_.opacity(t.foreground,.5)),t.overviewRulerBorder=ov(e.overviewRulerBorder,Yne),t.ansi=$_.slice(),t.ansi[0]=ov(e.black,$_[0]),t.ansi[1]=ov(e.red,$_[1]),t.ansi[2]=ov(e.green,$_[2]),t.ansi[3]=ov(e.yellow,$_[3]),t.ansi[4]=ov(e.blue,$_[4]),t.ansi[5]=ov(e.magenta,$_[5]),t.ansi[6]=ov(e.cyan,$_[6]),t.ansi[7]=ov(e.white,$_[7]),t.ansi[8]=ov(e.brightBlack,$_[8]),t.ansi[9]=ov(e.brightRed,$_[9]),t.ansi[10]=ov(e.brightGreen,$_[10]),t.ansi[11]=ov(e.brightYellow,$_[11]),t.ansi[12]=ov(e.brightBlue,$_[12]),t.ansi[13]=ov(e.brightMagenta,$_[13]),t.ansi[14]=ov(e.brightCyan,$_[14]),t.ansi[15]=ov(e.brightWhite,$_[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=ov(e.extendedAnsi[r],$_[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(e){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[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(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()}}};av=cp([W(0,Vp)],av);function ov(e,t){if(e!==void 0)try{return l_.toColor(e)}catch{}return t}var Xne=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},Zne=class{constructor(){this._services=new Xne,this._services.set(zp,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=Mp(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},Qne={trace:0,debug:1,info:2,warn:3,error:4,off:5},$ne=`xterm.js: `,sv=class extends G{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),ere=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Qne[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:$ne)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};sv=cp([W(0,Vp)],sv);var ere,cv=class extends G{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new K),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new K),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new K),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw 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(e,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Y=3,lv=Object.freeze(new Ep),uv=0,dv=2,fv=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*Y);let r=t||Op.fromCharData([0,wp,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*Y+0],n=t&2097151;return[this._data[e*Y+1],t&2097152?this._combined[e]:n?bp(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*Y+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*Y+0]=e|2097152|t[2]<<22):this._data[e*Y+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*Y+0]>>22}hasWidth(e){return this._data[e*Y+0]&12582912}getFg(e){return this._data[e*Y+1]}getBg(e){return this._data[e*Y+2]}hasContent(e){return this._data[e*Y+0]&4194303}getCodePoint(e){let t=this._data[e*Y+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*Y+0]&2097152}getString(e){let t=this._data[e*Y+0];return t&2097152?this._combined[e]:t&2097151?bp(t&2097151):``}isProtected(e){return this._data[e*Y+2]&536870912}loadCell(e,t){return uv=e*Y,t.content=this._data[uv+0],t.fg=this._data[uv+1],t.bg=this._data[uv+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*Y+0]=t.content,this._data[e*Y+1]=t.fg,this._data[e*Y+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*Y+0]=t|n<<22,this._data[e*Y+1]=r.fg,this._data[e*Y+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*Y+0];r&2097152?this._combined[e]+=bp(t):r&2097151?(this._combined[e]=bp(r&2097151)+bp(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*Y+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new Op;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new Op;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*dv<this._data.buffer.byteLength;let n=e*Y;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*dv<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*dv<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t){for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);return}this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Y+0]&4194303)return e+(this._data[e*Y+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*Y+0]&4194303||this._data[e*Y+2]&50331648)return e+(this._data[e*Y+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<Y;e++)this._data[(n+i)*Y+e]=a[(t+i)*Y+e];a[(t+i)*Y+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<Y;e++)this._data[(n+i)*Y+e]=a[(t+i)*Y+e];a[(t+i)*Y+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*Y+0],n=e&2097151,a=e&2097152?this._combined[t]:n?bp(n):Tp;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function tre(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=pv(u,d,t),p=1,m=0;for(;p<u.length;){let e=pv(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function nre(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function rre(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function ire(e,t,n){let r=[],i=e.map((n,r)=>pv(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=pv(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function pv(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var mv=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new K),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ym(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};mv._nextId=1;var are=mv,hv={},gv=hv.B;hv[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},hv.A={"#":`£`},hv.B=void 0,hv[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},hv.C=hv[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},hv.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},hv.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},hv.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},hv.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},hv.E=hv[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},hv.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},hv.H=hv[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},hv[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var _v=4294967295,vv=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=lv.clone(),this.savedCharset=gv,this.markers=[],this._nullCell=Op.fromCharData([0,wp,1,0]),this._whitespaceCell=Op.fromCharData([0,Tp,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new B_,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new cv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new Dp),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new Dp),this._whitespaceCell}getBlankLine(e,t){return new fv(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>_v?_v:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=lv);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new cv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(lv),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new fv(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new fv(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=tre(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(lv),n);if(r.length>0){let n=nre(this.lines,r);rre(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(lv),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new fv(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(lv),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=ire(c,this._cols,e),d=u.length-c.length,f;f=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+d):Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let e=0;e<d;e++){let e=this.getBlankLine(lv,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=pv(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-->0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new are(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},ore=class extends G{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new K),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 vv(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new vv(!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(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),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(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},yv=2,bv=1,xv=class extends G{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,yv),this.rows=Math.max(e.rawOptions.rows||0,bv),this.buffers=this._register(new ore(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};xv=cp([W(0,Vp)],xv);var Sv={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:F_,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},sre=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],cre=class extends G{constructor(e){super(),this._onOptionChange=this._register(new K),this.onOptionChange=this._onOptionChange.event;let t={...Sv};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(xm(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in Sv))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in Sv))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=Sv[e],!lre(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=Sv[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=sre.includes(t)?t:Sv[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={}}return t}};function lre(e){return e===`block`||e===`underline`||e===`bar`}function Cv(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&Cv(e[r],t-1);return n}var wv=Object.freeze({insertMode:!1}),Tv=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Ev=class extends G{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new K),this.onData=this._onData.event,this._onUserInput=this._register(new K),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new K),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Cv(wv),this.decPrivateModes=Cv(Tv)}reset(){this.modes=Cv(wv),this.decPrivateModes=Cv(Tv)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};Ev=cp([W(0,Fp),W(1,Bp),W(2,Vp)],Ev);var Dv={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>e.action!==32||e.button!==3},ANY:{events:31,restrict:e=>!0}};function Ov(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var kv=String.fromCharCode,Av={DEFAULT:e=>{let t=[Ov(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${kv(t[0])}${kv(t[1])}${kv(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Ov(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Ov(e,!0)};${e.x};${e.y}${t}`}},jv=class extends G{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new K),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(Dv))this.addProtocol(e,Dv[e]);for(let e of Object.keys(Av))this.addEncoding(e,Av[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};jv=cp([W(0,Fp),W(1,Lp),W(2,Vp)],jv);var Mv=[[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]],ure=[[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]],Nv;function dre(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var fre=class{constructor(){if(this.version=`6`,!Nv){Nv=new Uint8Array(65536),Nv.fill(1),Nv[0]=0,Nv.fill(0,1,32),Nv.fill(0,127,160),Nv.fill(2,4352,4448),Nv[9001]=2,Nv[9002]=2,Nv.fill(2,11904,42192),Nv[12351]=1,Nv.fill(2,44032,55204),Nv.fill(2,63744,64256),Nv.fill(2,65040,65050),Nv.fill(2,65072,65136),Nv.fill(2,65280,65377),Nv.fill(2,65504,65511);for(let e=0;e<Mv.length;++e)Nv.fill(0,Mv[e][0],Mv[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?Nv[e]:dre(e,ure)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=Pv.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return Pv.createPropertyValue(0,n,r)}},Pv=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new K,this.onChange=this._onChange.event;let e=new fre;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return!!(e&1)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},pre=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function Fv(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var Iv=2147483647,mre=256,Lv=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>mre)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>Iv?Iv:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>Iv?Iv:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,Iv):e}},Rv=[],hre=class{constructor(){this._state=0,this._active=Rv,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Rv}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Rv,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Rv,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,xp(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3){if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}}this._active=Rv,this._id=-1,this._state=0}}},zv=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=xp(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},Bv=[],gre=class{constructor(){this._handlers=Object.create(null),this._active=Bv,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Bv}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Bv,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Bv,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,xp(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Bv,this._ident=0}},Vv=new Lv;Vv.addParam(0);var Hv=class{constructor(e){this._handler=e,this._data=``,this._params=Vv,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Vv,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=xp(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=Vv,this._data=``,this._hitLimit=!1,e));return this._params=Vv,this._data=``,this._hitLimit=!1,t}},_re=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},Uv=160,vre=function(){let e=new _re(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Uv,0,2,0),e.add(Uv,8,5,8),e.add(Uv,6,0,6),e.add(Uv,11,0,11),e.add(Uv,13,13,13),e}(),yre=class extends G{constructor(e=vre){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Lv,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(xm(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new hre),this._dcsParser=this._register(new gre),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}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(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state){if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:Uv)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<Uv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Uv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Uv){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Uv){this._printHandler(e,n,i),n=i-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),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|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<Uv){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=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 i=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<Uv){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=i&15}}},Wv=/^([\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})$/,Gv=/^[\da-f]+$/;function Kv(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Wv.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),Gv.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function qv(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function Jv(e,t=16){let[n,r,i]=e;return`rgb:${qv(n,t)}/${qv(r,t)}/${qv(i,t)}`}var bre={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Yv=131072,Xv=10;function Zv(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Qv=5e3,$v=0,ey=class extends G{constructor(e,t,n,r,i,a,o,s,c=new yre){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Sp,this._utf8Decoder=new Cp,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=lv.clone(),this._eraseAttrDataInternal=lv.clone(),this._onRequestBell=this._register(new K),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new K),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new K),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new K),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new K),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new K),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new K),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new K),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new K),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 ty(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(J.BEL,()=>this.bell()),this._parser.setExecuteHandler(J.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(J.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(J.BS,()=>this.backspace()),this._parser.setExecuteHandler(J.HT,()=>this.tab()),this._parser.setExecuteHandler(J.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(J.SI,()=>this.shiftIn()),this._parser.setExecuteHandler($g.IND,()=>this.index()),this._parser.setExecuteHandler($g.NEL,()=>this.nextLine()),this._parser.setExecuteHandler($g.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new zv(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new zv(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new zv(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new zv(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new zv(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new zv(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new zv(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new zv(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new zv(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new zv(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new zv(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new zv(e=>this.restoreCursorColor(e))),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(let e in hv)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new Hv((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),Qv))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${Qv} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Yv&&(a=this._parseStack.position+Yv)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<Yv&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Yv))),o||this._dirtyRowTracker.clearRange(),e.length>Yv)for(let t=a;t<e.length;t+=Yv){let a=t+Yv<e.length?t+Yv:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=Pv.extractWidth(t);let n=Pv.extractShouldJoin(t),m=n?Pv.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(bp(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,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),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof fv&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>!Zv(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Hv(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new zv(t))}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(){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&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,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(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)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(e){let t=e.params[0]||1;for(;t--;)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(lv));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=Pv.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(J.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(J.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(J.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(J.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(J.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,gv),this._charsetService.setgCharset(1,gv),this._charsetService.setgCharset(2,gv),this._charsetService.setgCharset(3,gv);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(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){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:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${J.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=Ep.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=lv.fg,e.bg=lv.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=lv.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=lv.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=lv.fg&16777215,r.bg&=-67108864,r.bg|=lv.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${J.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(e.params[0]===6){let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=lv.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(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Zv(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${J.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Xv&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Xv&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){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(e){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(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(ny(n)){if(r===`?`)t.push({type:0,index:n});else{let e=Kv(r);e&&t.push({type:1,index:n,color:e})}}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):!n.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=Kv(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);ny(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){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,gv),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(bre[e[0]],hv[e[1]]||gv),!0):(this.selectDefaultCharset(),!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){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,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=lv.clone(),this._eraseAttrDataInternal=lv.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new Op;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${J.ESC}${e}${J.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},ty=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&($v=e,e=t,t=$v),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ty=cp([W(0,Fp)],ty);function ny(e){return 0<=e&&e<256}var ry=5e7,iy=12,ay=50,oy=class extends G{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new K),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>ry)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=iy?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=iy)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>ay&&(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()}},sy=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};sy=cp([W(0,Fp)],sy);var cy=!1,ly=class extends G{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new wm),this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onData=this._register(new K),this.onData=this._onData.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new K),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new K),this._instantiationService=new Zne,this.optionsService=this._register(new cre(e)),this._instantiationService.setService(Vp,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(xv)),this._instantiationService.setService(Fp,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(sv)),this._instantiationService.setService(Bp,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Ev)),this._instantiationService.setService(Lp,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(jv)),this._instantiationService.setService(Ip,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Pv)),this._instantiationService.setService(Up,this.unicodeService),this._charsetService=this._instantiationService.createInstance(pre),this._instantiationService.setService(Rp,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(sy),this._instantiationService.setService(Hp,this._oscLinkService),this._inputHandler=this._register(new ey(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(jm.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(jm.forward(this._bufferService.onResize,this._onResize)),this._register(jm.forward(this.coreService.onData,this._onData)),this._register(jm.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new oy((e,t)=>this._inputHandler.parse(e,t))),this._register(jm.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new K),this._onScroll.event(e=>{this._onScrollApi?.fire(e.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(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!cy&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),cy=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,yv),t=Math.max(t,bv),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(Fv.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(Fv(this._bufferService),!1))),this._windowsWrappingHeuristics.value=xm(()=>{for(let t of e)t.dispose()})}}},uy={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:[`'`,`"`]};function dy(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=+!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?J.ESC+`OA`:J.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?J.ESC+`OD`:J.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?J.ESC+`OC`:J.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?J.ESC+`OB`:J.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:J.DEL,e.altKey&&(i.key=J.ESC+i.key);break;case 9:if(e.shiftKey){i.key=J.ESC+`[Z`;break}i.key=J.HT,i.cancel=!0;break;case 13:i.key=e.altKey?J.ESC+J.CR:J.CR,i.cancel=!0;break;case 27:i.key=J.ESC,e.altKey&&(i.key=J.ESC+J.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`D`:t?J.ESC+`OD`:J.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`C`:t?J.ESC+`OC`:J.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`A`:t?J.ESC+`OA`:J.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`B`:t?J.ESC+`OB`:J.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=J.ESC+`[2~`);break;case 46:i.key=a?J.ESC+`[3;`+(a+1)+`~`:J.ESC+`[3~`;break;case 36:i.key=a?J.ESC+`[1;`+(a+1)+`H`:t?J.ESC+`OH`:J.ESC+`[H`;break;case 35:i.key=a?J.ESC+`[1;`+(a+1)+`F`:t?J.ESC+`OF`:J.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?J.ESC+`[5;`+(a+1)+`~`:J.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?J.ESC+`[6;`+(a+1)+`~`:J.ESC+`[6~`;break;case 112:i.key=a?J.ESC+`[1;`+(a+1)+`P`:J.ESC+`OP`;break;case 113:i.key=a?J.ESC+`[1;`+(a+1)+`Q`:J.ESC+`OQ`;break;case 114:i.key=a?J.ESC+`[1;`+(a+1)+`R`:J.ESC+`OR`;break;case 115:i.key=a?J.ESC+`[1;`+(a+1)+`S`:J.ESC+`OS`;break;case 116:i.key=a?J.ESC+`[15;`+(a+1)+`~`:J.ESC+`[15~`;break;case 117:i.key=a?J.ESC+`[17;`+(a+1)+`~`:J.ESC+`[17~`;break;case 118:i.key=a?J.ESC+`[18;`+(a+1)+`~`:J.ESC+`[18~`;break;case 119:i.key=a?J.ESC+`[19;`+(a+1)+`~`:J.ESC+`[19~`;break;case 120:i.key=a?J.ESC+`[20;`+(a+1)+`~`:J.ESC+`[20~`;break;case 121:i.key=a?J.ESC+`[21;`+(a+1)+`~`:J.ESC+`[21~`;break;case 122:i.key=a?J.ESC+`[23;`+(a+1)+`~`:J.ESC+`[23~`;break;case 123:i.key=a?J.ESC+`[24;`+(a+1)+`~`:J.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=J.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=J.DEL:e.keyCode===219?i.key=J.ESC:e.keyCode===220?i.key=J.FS:e.keyCode===221&&(i.key=J.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=uy[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=J.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=J.ESC+n}else if(e.keyCode===32)i.key=J.ESC+(e.ctrlKey?J.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=J.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=J.US),e.key===`@`&&(i.key=J.NUL))}return i}var fy=0,py=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new B_,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new B_,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(fy=this._search(t),fy===-1)||this._getKey(this._array[fy])!==t)return!1;do if(this._array[fy]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(fy),!0;while(++fy<this._array.length&&this._getKey(this._array[fy])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(fy=this._search(e),!(fy<0||fy>=this._array.length)&&this._getKey(this._array[fy])===e))do yield this._array[fy];while(++fy<this._array.length&&this._getKey(this._array[fy])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(fy=this._search(e),!(fy<0||fy>=this._array.length)&&this._getKey(this._array[fy])===e))do t(this._array[fy]);while(++fy<this._array.length&&this._getKey(this._array[fy])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},my=0,hy=0,xre=class extends G{constructor(){super(),this._decorations=new py(e=>e?.marker.line),this._onDecorationRegistered=this._register(new K),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new K),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(xm(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new Sre(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{my=t.options.x??0,hy=my+(t.options.width??1),e>=my&&e<hy&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},Sre=class extends Cm{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new K),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new K),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=`full`)}get backgroundColorRGB(){return this._cachedBg===null&&(this._cachedBg=this.options.backgroundColor?l_.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?l_.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Cre=1e3,wre=class{constructor(e,t=Cre){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},gy=20,_y=class extends G{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new wre(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
68
|
-
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(q(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(xm(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<gy+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
69
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===gy+1&&(this._liveRegion.textContent+=fp.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(a&&o){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};_y=cp([W(1,zp),W(2,Jp),W(3,Xp)],_y);var vy=class extends G{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new K),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new K),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(xm(()=>{ym(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(q(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(q(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(q(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(q(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&yy(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,ym(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};vy=cp([W(1,Yp),W(2,Xp),W(3,Fp),W(4,em)],vy);function yy(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var by=class extends ly{constructor(e={}){super(e),this._linkifier=this._register(new wm),this.browser=k_,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new wm),this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new K),this.onKey=this._onKey.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new K),this.onBell=this._onBell.event,this._onFocus=this._register(new K),this._onBlur=this._register(new K),this._onA11yCharEmitter=this._register(new K),this._onA11yTabEmitter=this._register(new K),this._onWillOpen=this._register(new K),this._setup(),this._decorationService=this._instantiationService.createInstance(xre),this._instantiationService.setService(Wp,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Ene),this._instantiationService.setService(em,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Gp)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(jm.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(jm.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(jm.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(jm.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(xm(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}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}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=c_.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${J.ESC}]${n};${Jv(r)}${e_.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=s_.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=s_.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(_y,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(q(this.element,`copy`,e=>{this.hasSelection()&&hp(e,this._selectionService)}));let e=e=>gp(e,this.textarea,this.coreService,this.optionsService);this._register(q(this.textarea,`paste`,e)),this._register(q(this.element,`paste`,e)),N_?this._register(q(this.element,`mousedown`,e=>{e.button===2&&yp(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(q(this.element,`contextmenu`,e=>{yp(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),L_&&this._register(q(this.element,`auxclick`,e=>{e.button===1&&vp(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(q(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(q(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(q(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(q(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(q(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(q(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(q(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.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`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(q(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,up.get()),R_||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._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(wne,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Jp,this._coreBrowserService),this._register(q(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(q(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(T_,this._document,this._helperContainer),this._instantiationService.setService(qp,this._charSizeService),this._themeService=this._instantiationService.createInstance(av),this._instantiationService.setService($p,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(m_),this._instantiationService.setService(Qp,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(V_,this.rows,this.screenElement)),this._instantiationService.setService(Xp,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(t_,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(O_),this._instantiationService.setService(Yp,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(vy,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),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._viewport=this._register(this._instantiationService.createInstance(qg,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(X_,this.element,this.screenElement,r)),this._instantiationService.setService(Zp,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(jm.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Jg,this.screenElement)),this._register(q(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),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,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qg,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qg,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(w_,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),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()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(q(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(q(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=J.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?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(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){_p(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}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(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=dy(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===J.ETX||n.key===J.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(xy(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){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 e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(lv));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(J.ESC+`[I`):this.coreService.triggerDataEvent(J.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function xy(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Sy=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},Cy=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new Op)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},wy=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,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(e){let t=this._buffer.lines.get(e);if(t)return new Cy(t)}getNullCell(){return new Op}},Ty=class extends G{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new K),this.onBufferChange=this._onBufferChange.event,this._normal=new wy(this._core.buffers.normal,`normal`),this._alternate=new wy(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 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)}},Ey=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Dy=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Oy=[`cols`,`rows`],ky=0,Ay=class extends G{constructor(e){super(),this._core=this._register(new by(e)),this._addonManager=this._register(new Sy),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Oy.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw 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||=new Ey(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Dy(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._register(new Ty(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
70
|
-
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return up.get()},set promptLabel(e){up.set(e)},get tooMuchOutput(){return fp.get()},set tooMuchOutput(e){fp.set(e)}}}_verifyIntegers(...e){for(ky of e)if(ky===1/0||isNaN(ky)||ky%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(ky of e)if(ky&&(ky===1/0||isNaN(ky)||ky%1!=0||ky<0))throw Error(`This API only accepts positive integers`)}},jy=`CommitMono`,My=[400,700].map(e=>`${e} 14px ${jy}`),Ny=`monospace`;function Py(e){return e.trim().replace(/^['"]|['"]$/g,``)}function Fy(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>Py(e)!==jy);return r.length>0?r.join(`, `):Ny}function Iy(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function Ly(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function Ry(){return document.fonts?My.every(e=>document.fonts.check(e)):!1}function zy(){return Fy(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),Ry())}function By(e){document.fonts&&Iy(document.fonts,My,e)}var Vy=`↑`,Hy=`↓`,Uy=`←`,Wy=`→`,Gy=`⌘`,Ky={always:()=>!0,"calm-surface":e=>e.isCalmAvailable,"calm-view":e=>e.isCalmAvailable&&e.isCalmViewActive},qy=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Jy=[{action:`next-attention`,keyCaptions:[`J`],label:`Jump to the next session needing you`,stepByCode:new Map([[`KeyJ`,0]]),availability:`always`},{action:`rail-step`,keyCaptions:[Vy,Hy],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),availability:`always`},{action:`view-step`,keyCaptions:[Uy,Wy],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),availability:`always`,unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),availability:`always`,unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(qy),availability:`always`},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),availability:`always`},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]]),availability:`always`},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),availability:`always`},{action:`calm-home`,keyCaptions:[`H`],label:`Go to the Calm view (Calm layout)`,stepByCode:new Map([[`KeyH`,0]]),availability:`calm-surface`,unavailablePlatform:`mac`},{action:`calm-terminal`,keyCaptions:[`T`],label:`Open the terminal of the open Calm panel (Calm layout)`,stepByCode:new Map([[`KeyT`,0]]),availability:`calm-view`,unavailablePlatform:`mac`}];function Yy(e){return Jy.filter(t=>t.unavailablePlatform!==e)}function Xy(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function Zy(e,t){return e.ctrlKey||e.shiftKey?!1:t===`mac`?e.metaKey&&!e.altKey:e.altKey&&!e.metaKey}var Qy=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function $y(e){return Qy.has(e.key)?e.key:e.code}function eb(e,t,n){if(!Zy(e,t))return null;let r=$y(e);for(let e of Yy(t)){if(!Ky[e.availability](n))continue;let t=e.stepByCode.get(r);if(t!==void 0)return{action:e.action,step:t}}return null}function tb(e){return e===`mac`?Gy:`Alt`}function nb(e,t){let n=Yy(t).find(t=>t.action===e);if(!n)throw Error(`Unknown dashboard shortcut: ${e}`);return n}function rb(e,t){return[tb(t),nb(e,t).keyCaptions.join(` `)]}function ib(e,t){let[n,r]=rb(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function ab(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function Tre(e){let t=tb(e),n=e===`mac`?Gy:`Ctrl`;return[{title:`Dashboard`,items:Yy(e).map(e=>({combos:e.keyCaptions.map(e=>[t,e]),label:e.label}))},{title:`Navigation`,items:[{combos:[[Vy],[Hy]],label:`Move rail highlight (rail focused)`},{combos:[[Uy],[Wy]],label:`Switch view tab (tab focused)`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var ob=Xy(navigator.userAgent),sb=()=>({isCalmAvailable:!1,isCalmViewActive:!1});function Ere(e){sb=e}function cb(){return sb()}function lb(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(V(`span`,`shortcut-sep`,`+`)),e.appendChild(V(`kbd`,`kbd`,t))})}function Dre(e){let t=V(`span`,`shortcut-keys`);return lb(t,e),t}var Ore=6,kre=262144,ub=16384,Are=()=>{};function db(e,t){if(t.length<=ub){e.push(t);return}for(let n=0;n<t.length;n+=ub)e.push(t.slice(n,n+ub))}function jre({budget:e=Ore,maxChunkBytes:t=kre,requestFrame:n,cancelFrame:r}={}){let i=n||(e=>requestAnimationFrame(e)),a=r||(e=>cancelAnimationFrame(e)),o=new Map,s=[],c=0,l=null;function u(){l===null&&(l=i(h))}function d(e){return e.readIdx<e.pending.length}function f(e){d(e)||(e.pending.length=0,e.readIdx=0,e.dirty=!1)}function p(e){return!!(e?.live&&e.dirty&&!e.inFlight&&d(e))}function m(){for(let e of o.values())if(p(e))return!0;return!1}function h(){l=null;let n=s.length,r=0;for(let i=0;i<n&&r<e;i++){let e=s[(c+i)%n],a=o.get(e);if(!p(a))continue;let l=[],m=0;for(;a.readIdx<a.pending.length;){let e=a.pending[a.readIdx];if(typeof e!=`string`){if(m>0)break;a.readIdx++,e.run();continue}let n=t-m;if(m+e.length<=t){db(l,e),m+=e.length,a.readIdx++;continue}m===0&&(db(l,e.slice(0,n)),m+=n,a.pending[a.readIdx]=e.slice(n));break}let h=l.pop();if(h===void 0){f(a),r++;continue}f(a),d(a)&&a.readIdx>=64&&(a.pending.splice(0,a.readIdx),a.readIdx=0),a.inFlight=!0;for(let e of l)a.write(e,Are);a.write(h,()=>{a.live&&(a.inFlight=!1,d(a)&&(a.dirty=!0,u()))}),r++}n>0&&(c=(c+1)%n),m()&&u()}return{register(e,t){let n=o.get(e);if(n){n.write=t,n.live=!0;return}o.set(e,{write:t,pending:[],readIdx:0,inFlight:!1,dirty:!1,live:!0}),s.push(e)},unregister(e){let t=o.get(e);if(!t)return;t.live=!1,o.delete(e);let n=s.indexOf(e);n!==-1&&s.splice(n,1),c>=s.length&&(c=0)},enqueue(e,t){let n=o.get(e);n&&t&&(n.pending.push(t),n.dirty=!0,u())},enqueueAction(e,t){let n=o.get(e);n&&(n.pending.push({run:t}),n.dirty=!0,u())},has(e){return o.has(e)},size(){return o.size},running(){return l!==null},stop(){l!==null&&(a(l),l=null)}}}var fb=jre(),pb=`chime`,mb=`custom:`,hb=`/custom-sounds`,gb=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),Mre=Object.freeze(Object.entries(gb).map(([e,t])=>({id:e,label:t.label})));function Nre(e){return`${mb}${e}`}function Pre(e){return`${hb}/${encodeURIComponent(e)}`}function _b(e){return e.startsWith(mb)&&e.slice(7)||null}function vb(e){let t=(e??[]).map(e=>({id:Nre(e),label:e}));return[...Mre,...t]}function yb(e,t){if(typeof e!=`string`)return pb;if(Object.hasOwn(gb,e))return e;let n=_b(e);return n&&(t===null||t.includes(n))?e:pb}function bb(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}var xb=.3,Sb=null;function Cb(){return vb(Sb)}function wb(e){return yb(e,Sb)}async function Tb(){try{let e=await fetch(hb,{credentials:`same-origin`,cache:`no-store`});e.ok&&(Sb=bb(await e.json()))}catch{}}function Eb(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function Db(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function Ob(e){kb(gb[e]??gb.chime)}function kb(e){let t=Eb(),n=t.createGain();n.gain.value=e.peakGain,n.connect(t.destination);let r=t.currentTime,i=0;for(let a of e.tones){let e=r+a.startSeconds,o=e+a.durationSeconds,s=t.createOscillator(),c=t.createGain();s.type=a.waveform,s.frequency.setValueAtTime(a.frequency,e),a.endFrequency&&s.frequency.exponentialRampToValueAtTime(a.endFrequency,o),c.gain.setValueAtTime(.001,e),c.gain.exponentialRampToValueAtTime(a.gain??1,e+.01),c.gain.exponentialRampToValueAtTime(.001,o),s.connect(c),c.connect(n),s.start(e),s.stop(o),i=Math.max(i,a.startSeconds+a.durationSeconds)}Db(t,i)}async function Ab(e){try{let t=await fetch(Pre(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function jb(e){let t=await Ab(e);if(!t)return!1;let n=Eb();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=xb,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),Db(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var Mb=[659.25,830.61,987.77,1108.73,987.77,830.61,739.99,659.25,739.99,830.61,987.77,1108.73,987.77,830.61];function Nb(){try{let e=new AudioContext;if(e.state===`suspended`&&e.resume(),e.state===`suspended`)return;let t=e.createGain();t.gain.value=.05,t.connect(e.destination);let n=.125,r=e.currentTime;for(let i=0;i<Mb.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=Mb[i],s.gain.setValueAtTime(.001,a),s.gain.exponentialRampToValueAtTime(1,a+.01),s.gain.exponentialRampToValueAtTime(.001,a+n*.9),o.connect(s),s.connect(t),o.start(a),o.stop(a+n)}let i=r+Mb.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function Pb(){try{Ob(pb)}catch{}}function Fb(e){try{let t=wb(e),n=_b(t);if(!n){Ob(t);return}jb(n).then(e=>{e||Pb()})}catch{}}var Ib={"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.06)`,"--state-running":`#22c55e`,"--state-running-bg":`rgba(34, 197, 94, 0.06)`,"--state-waiting":`#f59e0b`,"--state-waiting-bg":`rgba(245, 158, 11, 0.08)`,"--state-failed":`#ef4444`,"--state-failed-bg":`rgba(239, 68, 68, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#eab308`,"--state-idle-bg":`rgba(234, 179, 8, 0.06)`},Lb={background:`--bg-card`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#ef4444`,brightRed:`#f87171`,green:`#22c55e`,brightGreen:`#4ade80`,yellow:`#eab308`,brightYellow:`#facc15`,cyan:`#06b6d4`,brightCyan:`#22d3ee`},Rb={golgari:{label:`Golgari (Green/Black)`,colors:{"--bg":`#060b08`,"--bg-card":`#0a120e`,"--bg-header":`#081009`,"--bg-surface":`#0e1a12`,"--border":`#1a2e1f`,"--border-dim":`#122016`,"--border-hover":`#2a4a32`,"--text":`#b8ccbe`,"--text-dim":`#6a9070`,"--text-head":`#dceede`,"--text-muted":`#7a9a80`,"--accent":`#2dd4a0`,"--accent-dim":`#1a9a6e`,...Ib,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#2dd4a0`,"--state-done-bg":`rgba(45, 212, 160, 0.06)`,"--state-starting":`#a78bfa`,"--state-starting-bg":`rgba(167, 139, 250, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Lb,foreground:`#c8dece`,blue:`--accent`,brightBlue:`#5ee8bc`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8dece`,brightWhite:`#e8f5ea`}},midnight:{label:`Midnight (Blue/Purple)`,colors:{"--bg":`#080816`,"--bg-card":`#0e0e20`,"--bg-header":`#0b0b1a`,"--bg-surface":`#131328`,"--border":`#1c1c38`,"--border-dim":`#141430`,"--border-hover":`#2a2a50`,"--text":`#b8b8d4`,"--text-dim":`#8585b3`,"--text-head":`#dcdcf0`,"--text-muted":`#7c7ca9`,"--accent":`#4f6ef7`,"--accent-dim":`#3a54c0`,...Ib,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#3b82f6`,"--state-done-bg":`rgba(59, 130, 246, 0.06)`,"--state-starting":`#a855f7`,"--state-starting-bg":`rgba(168, 85, 247, 0.06)`,"--state-complete":`#60a5fa`,"--state-complete-bg":`rgba(96, 165, 250, 0.06)`},terminal:{...Lb,foreground:`#c8c8e0`,blue:`--accent`,brightBlue:`#60a5fa`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8c8e0`,brightWhite:`#e8e8ff`}},phyrexian:{label:`Phyrexian (Iridescent)`,colors:{"--bg":`#0a0810`,"--bg-card":`#100e18`,"--bg-header":`#0c0a14`,"--bg-surface":`#16122a`,"--border":`#2a2440`,"--border-dim":`#1e1a32`,"--border-hover":`#3e3660`,"--text":`#c8c0e0`,"--text-dim":`#8d82b9`,"--text-head":`#e8e0ff`,"--text-muted":`#8579b1`,"--accent":`#c084fc`,"--accent-dim":`#9656d6`,...Ib,"--state-monitoring":`#60a5fa`,"--state-monitoring-bg":`rgba(96, 165, 250, 0.08)`,"--state-done":`#67e8f9`,"--state-done-bg":`rgba(103, 232, 249, 0.06)`,"--state-starting":`#f472b6`,"--state-starting-bg":`rgba(244, 114, 182, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Lb,foreground:`#c8c0e0`,blue:`#67e8f9`,brightBlue:`#a5f3fc`,magenta:`--accent`,brightMagenta:`#d8b4fe`,white:`#c8c0e0`,brightWhite:`#e8e0ff`}},compleated:{label:`Compleated (Light)`,colors:{"--bg":`#ece8e0`,"--bg-card":`#f7f4ee`,"--bg-header":`#f0ece4`,"--bg-surface":`#e4e0d6`,"--border":`#b8b0a0`,"--border-dim":`#ccc6b8`,"--border-hover":`#908878`,"--text":`#2a2622`,"--text-dim":`#5a5448`,"--text-head":`#0e0c0a`,"--text-muted":`#676157`,"--accent":`#0e0c0a`,"--accent-dim":`#2a2622`,"--state-running":`#16803c`,"--state-running-bg":`rgba(22, 128, 60, 0.08)`,"--state-waiting":`#b45309`,"--state-waiting-bg":`rgba(180, 83, 9, 0.08)`,"--state-failed":`#dc2626`,"--state-failed-bg":`rgba(220, 38, 38, 0.06)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#1a1816`,"--state-done-bg":`rgba(26, 24, 22, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#a16207`,"--state-idle-bg":`rgba(161, 98, 7, 0.06)`,"--state-starting":`#7c3aed`,"--state-starting-bg":`rgba(124, 58, 237, 0.06)`,"--state-complete":`#059669`,"--state-complete-bg":`rgba(5, 150, 105, 0.06)`},terminal:{background:`#faf8f4`,foreground:`#1a1816`,cursor:`#1a1816`,cursorAccent:`#faf8f4`,black:`#1a1816`,brightBlack:`#5a5448`,red:`#b91c1c`,brightRed:`#dc2626`,green:`#15803d`,brightGreen:`#16a34a`,yellow:`#92400e`,brightYellow:`#a16207`,blue:`#1d4ed8`,brightBlue:`#2563eb`,magenta:`#6d28d9`,brightMagenta:`#7c3aed`,cyan:`#0e7490`,brightCyan:`#0891b2`,white:`#5a5448`,brightWhite:`#3a3630`}},unicorn:{label:`Rainbow Unicorns (Dark)`,colors:{"--bg":`#191022`,"--bg-card":`#201730`,"--bg-header":`#1c1329`,"--bg-surface":`#281c3c`,"--border":`#3a2c52`,"--border-dim":`#2a2040`,"--border-hover":`#55407a`,"--text":`#d4c8e6`,"--text-dim":`#9a88b8`,"--text-head":`#ede4fa`,"--text-muted":`#a897c4`,"--accent":`#e8a3c4`,"--accent-dim":`#c4739e`,"--state-running":`#42d780`,"--state-running-bg":`rgba(66, 215, 128, 0.10)`,"--state-waiting":`#f79f3b`,"--state-waiting-bg":`rgba(247, 159, 59, 0.10)`,"--state-failed":`#f05442`,"--state-failed-bg":`rgba(240, 84, 66, 0.13)`,"--state-monitoring":`#2dd4bf`,"--state-monitoring-bg":`rgba(45, 212, 191, 0.08)`,"--state-done":`#f04ca4`,"--state-done-bg":`rgba(240, 76, 164, 0.13)`,"--state-initializing":`#8f87a6`,"--state-initializing-bg":`rgba(143, 135, 166, 0.08)`,"--state-idle":`#bcb02f`,"--state-idle-bg":`rgba(188, 176, 47, 0.08)`,"--state-starting":`#a17ef1`,"--state-starting-bg":`rgba(161, 126, 241, 0.08)`,"--state-complete":`#34baf4`,"--state-complete-bg":`rgba(52, 186, 244, 0.14)`},terminal:{background:`#201730`,foreground:`#d4c8e6`,cursor:`--accent`,cursorAccent:`#201730`,black:`#8c7dab`,brightBlack:`#9c8fb5`,red:`#e8887e`,brightRed:`#f4a89f`,green:`#86e0ab`,brightGreen:`#a3edc0`,yellow:`#f0c674`,brightYellow:`#f5d896`,blue:`#9cb3f0`,brightBlue:`#b5c8f5`,magenta:`#dd8ecf`,brightMagenta:`#e6a8dc`,cyan:`#7fd4d0`,brightCyan:`#a0e6e2`,white:`#d4c8e6`,brightWhite:`#f4ecfc`}},"posthog-light":{label:`PostHog (Light)`,colors:{"--bg":`#eeefe9`,"--bg-card":`#fdfdf8`,"--bg-header":`#eeefe9`,"--bg-surface":`#e5e7e0`,"--border":`#bfc1b7`,"--border-dim":`#d2d3cc`,"--border-hover":`#9ea096`,"--text":`#23251d`,"--text-dim":`#65675e`,"--text-head":`#111111`,"--text-muted":`#73756b`,"--accent":`#c03300`,"--accent-dim":`#8e2600`,"--state-running":`#4d7533`,"--state-running-bg":`rgba(77, 117, 51, 0.08)`,"--state-waiting":`#b17816`,"--state-waiting-bg":`rgba(177, 120, 22, 0.10)`,"--state-failed":`#8c0d3b`,"--state-failed-bg":`rgba(140, 13, 59, 0.07)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#3e6b9e`,"--state-done-bg":`rgba(62, 107, 158, 0.08)`,"--state-initializing":`#73756b`,"--state-initializing-bg":`rgba(115, 117, 107, 0.07)`,"--state-idle":`#835c19`,"--state-idle-bg":`rgba(131, 92, 25, 0.07)`,"--state-starting":`#a621c8`,"--state-starting-bg":`rgba(166, 33, 200, 0.07)`,"--state-complete":`#34796f`,"--state-complete-bg":`rgba(52, 121, 111, 0.08)`},terminal:{background:`--bg-card`,foreground:`#23251d`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`#23251d`,brightBlack:`#65675e`,red:`#c03300`,brightRed:`#df6133`,green:`#4d7533`,brightGreen:`#6aa84f`,yellow:`#835c19`,brightYellow:`#b17816`,blue:`#3e6b9e`,brightBlue:`#2f80fa`,magenta:`#74108d`,brightMagenta:`#a621c8`,cyan:`#34796f`,brightCyan:`#30abc6`,white:`#4d4f46`,brightWhite:`#23251d`}},"posthog-dark":{label:`PostHog (Dark)`,colors:{"--bg":`#1e1f23`,"--bg-card":`#25262b`,"--bg-header":`#232429`,"--bg-surface":`#2d2e37`,"--border":`#3e424f`,"--border-dim":`#32343f`,"--border-hover":`#626674`,"--text":`#edeef4`,"--text-dim":`#aeb3c2`,"--text-head":`#fafafa`,"--text-muted":`#9ea096`,"--accent":`#f87a4c`,"--accent-dim":`#f54e00`,"--state-running":`#36c46f`,"--state-running-bg":`rgba(54, 196, 111, 0.08)`,"--state-waiting":`#f7a501`,"--state-waiting-bg":`rgba(247, 165, 1, 0.09)`,"--state-failed":`#f35454`,"--state-failed-bg":`rgba(243, 84, 84, 0.09)`,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#589df8`,"--state-done-bg":`rgba(88, 157, 248, 0.08)`,"--state-initializing":`#8f8f8c`,"--state-initializing-bg":`rgba(143, 143, 140, 0.07)`,"--state-idle":`#ffce5c`,"--state-idle-bg":`rgba(255, 206, 92, 0.07)`,"--state-starting":`#8567ff`,"--state-starting-bg":`rgba(133, 103, 255, 0.09)`,"--state-complete":`#29dbbb`,"--state-complete-bg":`rgba(41, 219, 187, 0.08)`},terminal:{background:`--bg-card`,foreground:`#edeef4`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#f35454`,brightRed:`#f87a4c`,green:`#36c46f`,brightGreen:`#96e5b6`,yellow:`#f7a501`,brightYellow:`#ffce5c`,blue:`#2f80fa`,brightBlue:`#9fc4ff`,magenta:`#8567ff`,brightMagenta:`#e2d6ff`,cyan:`#30abc6`,brightCyan:`#29dbbb`,white:`#aeb3c2`,brightWhite:`#fafafa`}}},zb=`phyrexian`,Bb=null;function Vb(e){let t=Rb[e];if(!t)return;let n=Bb;Bb=e;let r=document.documentElement;r.dataset.theme=e;for(let[e,n]of Object.entries(t.colors))r.style.setProperty(e,n);e===`unicorn`&&n!==null&&n!==`unicorn`&&Nb()}function Hb(e){document.documentElement.toggleAttribute(`data-compact-status`,e)}function Ub(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function Wb(){let e=Rb[Bb||zb];if(!e)return{};let t=getComputedStyle(document.documentElement),n={};for(let[r,i]of Object.entries(e.terminal))n[r]=i.startsWith(`--`)?t.getPropertyValue(i).trim():i;return n}function Gb(){return Object.entries(Rb).map(([e,t])=>({id:e,label:t.label}))}var Kb=O().int().min(1).max(500),qb=O().int().min(1).max(200);Yo(`type`,[j({type:P(`input`),data:D()}),j({type:P(`claim`),cols:Kb,rows:qb}),j({type:P(`unview`)})]);var Jb=j({type:P(`pty-size`),cols:Kb,rows:qb,seq:O().int().nonnegative()});function Yb(e){try{return JSON.parse(e)}catch{return null}}function Xb(e){let t=Jb.safeParse(Yb(e));return t.success?t.data:null}function Zb(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function Qb(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function $b(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function ex({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&Zb(e,n))}function tx({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function nx({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:ex({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function rx({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function ix({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!Zb(e,t),s=Qb(n)?$b(n):null,c=r&&!!s&&!Zb(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:ex({authoritative:e,isActiveViewer:r,lastClaim:a})}}function ax(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function ox(e){let t=ax(e);return t===null?null:Xb(t)}function sx(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=ox(e);return n?t.hasSeenSize?n.seq<=t.lastSeq?{kind:`stale`}:{kind:`size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`attach-size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`ignored`}}var cx=new Map([[`deleteContentBackward`,``],[`deleteByComposition`,``],[`deleteCompositionText`,``],[`deleteWordBackward`,`\x1B`],[`deleteSoftLineBackward`,`\x1B`],[`deleteHardLineBackward`,`\x1B`]]);function lx(e){return cx.get(e)??``}var ux=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function dx(e){return typeof e!=`string`||e===``||!ux.has(e)}function fx(e){return e?e.keyCode===229||e.key===`Process`:!1}function px(e,t){let n=Array.from(e??``),r=Array.from(t??``),i=Math.min(n.length,r.length),a=0;for(;a<i&&n[a]===r[a];)a++;return``.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,`\r`)}var mx=new Set([`http:`,`https:`]);function hx(e){let t;try{t=new URL(e)}catch{return null}return mx.has(t.protocol)?t.href:null}var gx=/\bElectron\/\d/,_x=new Set([`localhost`,`127.0.0.1`]);function vx(e){return gx.test(e)}function yx({userAgent:e,pageHostname:t}){return vx(e)&&_x.has(t)}function bx(e){return hx(e)!==null}var xx=new Set([0,1]);function Sx({button:e,opensInNewTab:t}){return t&&xx.has(e)}function Cx(){return yx({userAgent:navigator.userAgent,pageHostname:location.hostname})}function wx(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function Tx(e){try{let t=await g();return(await fetch(`/open-external`,{method:`POST`,credentials:`same-origin`,cache:`no-store`,headers:{"content-type":`application/json`,"x-glimmervoid-page-token":t},body:JSON.stringify({url:e})})).ok}catch{return!1}}function Ex(e){if(!Cx()||!bx(e)){wx(e);return}Tx(e).then(t=>{t||wx(e)})}function Dx(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&Sx({button:e.button,opensInNewTab:t.target===`_blank`})&&bx(t.href)&&(e.preventDefault(),Ex(t.href))}function Ox(e){Cx()&&(e.addEventListener(`click`,Dx,!0),e.addEventListener(`auxclick`,Dx,!0))}var kx=/https?:\/\/[^\s<>"']+/g,Ax=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),jx={")":`(`,"]":`[`,"}":`{`};function Mx(e,t){let n=0;for(let r of e)r===t&&n++;return n}function Nx(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(Ax.has(t)){e=e.slice(0,-1);continue}let n=jx[t];if(n&&Mx(e,n)<Mx(e,t)){e=e.slice(0,-1);continue}return e}}function Px(e){let t=[];for(let n of e.matchAll(kx)){let e=Nx(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var Fx=50;function Ix(){return{activate(e,t){Ex(t)},allowNonHttpProtocols:!1}}function Lx(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<Fx;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<Fx;)r++;let i=``,a=[];for(let t=n;t<=r;t++){let n=e.getLine(t);if(!n)break;for(let e=0;e<n.length;e++){let r=n.getCell(e);if(!r)break;if(r.getWidth()===0)continue;let o=r.getChars()||` `;for(let n=0;n<o.length;n++)i+=o[n],a.push({x:e+1,y:t+1})}}return{text:i,cellAt:a}}function Rx(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=Lx(r,t),o=[];for(let{start:e,end:t,url:n}of Px(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){Ex(t)}})}n(o.length?o:void 0)}})}function zx(e){return e===`\r`}function Bx({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}var Vx=6e3,Hx=400,Ux=`×`,Wx=new WeakMap;function Gx(){let e=document.getElementById(`notice-region`);return e||(e=V(`div`,`notice-region`),e.id=`notice-region`,e.setAttribute(`role`,`region`),e.setAttribute(`aria-label`,`Notifications`),document.body.appendChild(e)),e}function Kx(e){let t=Wx.get(e);t&&!t.dismissed&&(t.dismissed=!0,t.timer&&clearTimeout(t.timer),e.classList.add(`is-leaving`),e.addEventListener(`transitionend`,()=>e.remove(),{once:!0}),setTimeout(()=>e.remove(),Hx))}function qx(e,t={}){let n=typeof e==`string`?e:String(e),r=t.persist===!0,i=Gx(),a=i.firstElementChild,o=a?Wx.get(a):null;if(o&&o.message===n&&!o.dismissed){if(!a)throw Error(`Toast state exists without a notice element`);o.count++;let e=H(a,`.notice-count`,`span`);return e.textContent=`x${o.count}`,e.hidden=!1,!r&&o.timer&&(clearTimeout(o.timer),o.timer=setTimeout(()=>Kx(a),Vx)),a}let s=V(`div`,r?`notice is-persistent`:`notice`),c={message:n,count:1,timer:null,dismissed:!1};Wx.set(s,c),s.setAttribute(`role`,`alert`);let l=V(`span`,`notice-glyph`,`!`);l.setAttribute(`aria-hidden`,`true`);let u=V(`span`,`notice-msg`,n),d=V(`span`,`notice-count`);d.hidden=!0;let f=V(`button`,`notice-close`,Ux);return f.type=`button`,f.setAttribute(`aria-label`,`Dismiss notification`),f.addEventListener(`click`,()=>Kx(s)),s.append(l,u,d,f),i.prepend(s),requestAnimationFrame(()=>s.classList.add(`is-visible`)),r||(c.timer=setTimeout(()=>Kx(s),Vx)),s}async function Jx(e,t){let n={"x-glimmervoid-upload-name":encodeURIComponent(t.name)};t.type&&(n[`content-type`]=t.type);try{let r=await fetch(`/upload/${encodeURIComponent(e)}`,{method:`POST`,body:t,headers:n});r.ok||qx(await Xx(r))}catch{qx(`Upload failed`)}}async function Yx(e,t){for(let n of t)await Jx(e,n)}async function Xx(e){try{let t=await e.json();if(t&&typeof t.error==`string`)return`Upload failed: ${t.error}`}catch{}return`Upload failed`}var Zx=1.2,Qx=.005;function $x(e,t){let n=Math.abs(t);return n<10?!1:n>Math.abs(e)*Zx}function eS(e,t,n=1/0){if(!(t>0))return{scrollLines:0,remainderPx:e};let r=Math.trunc(e/t),i=Math.max(-n,Math.min(n,r));return{scrollLines:i===0?0:-i,remainderPx:e-i*t}}function tS(e,t,n){let r=e.length>=4?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function nS(e){if(!e||e.length<2)return 0;let t=e[0],n=e[e.length-1],r=n.timestampMs-t.timestampMs;if(!(r>0))return 0;let i=(n.positionPx-t.positionPx)/r,a=Math.abs(i);if(!(a>=.08))return 0;let o=Math.min(a,5);return i<0?-o:o}function rS({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function iS(e,t){if(!e)return{scrollLines:0,state:null};let n=t-e.lastMs;if(!(n>0))return{scrollLines:0,state:e};let r=Math.abs(e.velocityPxPerMs)-Qx*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=eS(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function aS(e,t){return e===`alternate`||!!t&&t!==`none`}function oS(e,t){return!(e>0)||!(t>0)?0:e/t}var sS=1;function cS(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function lS(e,t){for(let n of e)if(n.identifier===t)return n;return null}function uS(e,t){if(cS(t))return;let n=()=>document.documentElement.dataset.layout===`phone`,r=null,i=0,a=0,o=0,s=!1,c=0,l=[],u=null,d=null,f=()=>{d!==null&&cancelAnimationFrame(d),d=null,u=null},p=()=>aS(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return oS(e?.clientHeight||t.element?.clientHeight||0,t.rows)},h=()=>{r=null,s=!1,c=0,l=[]},g=(e,n,r)=>{let i=e<0?-1:1;for(let a=0;a<Math.abs(e);a++)t.element?.dispatchEvent(new WheelEvent(`wheel`,{deltaY:i,deltaMode:sS,clientX:n,clientY:r,bubbles:!0,cancelable:!0}))},_=()=>{if(d=null,!u)return;if(!e.isConnected||!n()||p()){f();return}let r=t.buffer?.active?.viewportY,{scrollLines:i,state:a}=iS(u,performance.now());if(u=a,i!==0&&t.scrollLines(i),u){if(i!==0&&t.buffer?.active?.viewportY===r){f();return}d=requestAnimationFrame(_)}},v=(e,t,n)=>{u=rS({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:m(),pendingPx:n}),u&&(d=requestAnimationFrame(_))};e.addEventListener(`touchstart`,e=>{if(f(),!n()||e.touches.length!==1){h();return}let t=e.touches[0];r=t.identifier,i=t.clientX,a=t.clientY,o=t.clientY,s=!1,c=0,l=[]},{passive:!0}),e.addEventListener(`touchmove`,e=>{if(r===null||!n())return;let u=lS(e.touches,r);if(!u)return;if(!s){if(!$x(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=tS([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=tS(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=eS(c,m(),d?8:void 0);if(c=h,f!==0){if(d){g(f,u.clientX,u.clientY);return}t.scrollLines(f)}},{passive:!1}),e.addEventListener(`touchend`,e=>{if(!s||p()){h();return}l=tS(l,o,e.timeStamp);let t=nS(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}var dS=Object.defineProperty,fS=Object.getOwnPropertyDescriptor,pS=(e,t,n,r)=>{for(var i=r>1?void 0:r?fS(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&dS(t,n,i),i},mS=(e,t)=>(n,r)=>t(n,r,e),hS=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?bS.isErrorNoTelemetry(e)?new bS(e.message+`
|
|
71
|
-
|
|
72
|
-
`+e.stack):Error(e.message+`
|
|
73
|
-
|
|
74
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function gS(e){vS(e)||hS.onUnexpectedError(e)}var _S=`Canceled`;function vS(e){return e instanceof yS||e instanceof Error&&e.name===_S&&e.message===_S}var yS=class extends Error{constructor(){super(_S),this.name=this.message}},bS=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},xS;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(xS||={});var SS=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||xS.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};SS.empty=new SS(e=>{});function CS(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var wS;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(wS||={});var TS=null;function ES(e){return TS?.trackDisposable(e),e}function DS(e){TS?.markAsDisposed(e)}function OS(e,t){TS?.setParent(e,t)}function kS(e){if(wS.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function AS(...e){return jS(()=>kS(e))}function jS(e){let t=ES({dispose:CS(()=>{DS(t),e()})});return t}var MS=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,ES(this)}dispose(){this._isDisposed||(DS(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{kS(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return OS(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),OS(e,null))}};MS.DISABLE_DISPOSED_WARNING=!1;var NS=MS,PS=class{constructor(){this._store=new NS,ES(this),OS(this._store,this)}dispose(){DS(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};PS.None=Object.freeze({dispose(){}});var FS=class{constructor(){this._isDisposed=!1,ES(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&OS(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,DS(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&OS(e,null),e}},IS=typeof process<`u`&&`title`in process,LS=IS?`node`:navigator.userAgent,RS=IS?`node`:navigator.platform,zS=LS.includes(`Firefox`),BS=LS.includes(`Edge`),VS=/^((?!chrome|android).)*safari/i.test(LS);function HS(){if(!VS)return 0;let e=LS.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(RS),[`Windows`,`Win16`,`Win32`,`WinCE`].includes(RS),RS.indexOf(`Linux`),/\bCrOS\b/.test(LS);var US=``,WS=0,GS=0,KS=0,qS=0,JS={css:`#00000000`,rgba:0},YS;(e=>{function t(e,t,n,r){return r===void 0?`#${eC(e)}${eC(t)}${eC(n)}`:`#${eC(e)}${eC(t)}${eC(n)}${eC(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(YS||={});var XS;(e=>{function t(e,t){if(qS=(t.rgba&255)/255,qS===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return WS=a+Math.round((n-a)*qS),GS=o+Math.round((r-o)*qS),KS=s+Math.round((i-s)*qS),{css:YS.toCss(WS,GS,KS),rgba:YS.toRgba(WS,GS,KS)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=$S.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return YS.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[WS,GS,KS]=$S.toChannels(t),{css:YS.toCss(WS,GS,KS),rgba:t}}e.opaque=i;function a(e,t){return qS=Math.round(t*255),[WS,GS,KS]=$S.toChannels(e.rgba),{css:YS.toCss(WS,GS,KS,qS),rgba:YS.toRgba(WS,GS,KS,qS)}}e.opacity=a;function o(e,t){return qS=e.rgba&255,a(e,qS*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(XS||={});var ZS;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return WS=parseInt(e.slice(1,2).repeat(2),16),GS=parseInt(e.slice(2,3).repeat(2),16),KS=parseInt(e.slice(3,4).repeat(2),16),YS.toColor(WS,GS,KS);case 5:return WS=parseInt(e.slice(1,2).repeat(2),16),GS=parseInt(e.slice(2,3).repeat(2),16),KS=parseInt(e.slice(3,4).repeat(2),16),qS=parseInt(e.slice(4,5).repeat(2),16),YS.toColor(WS,GS,KS,qS);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return WS=parseInt(r[1]),GS=parseInt(r[2]),KS=parseInt(r[3]),qS=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),YS.toColor(WS,GS,KS,qS);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[WS,GS,KS,qS]=t.getImageData(0,0,1,1).data,qS!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:YS.toRgba(WS,GS,KS,qS),css:e}}e.toColor=r})(ZS||={});var QS;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(QS||={});var $S;(e=>{function t(e,t){if(qS=(t&255)/255,qS===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return WS=a+Math.round((n-a)*qS),GS=o+Math.round((r-o)*qS),KS=s+Math.round((i-s)*qS),YS.toRgba(WS,GS,KS)}e.blend=t;function n(e,t,n){let a=QS.relativeLuminance(e>>8),o=QS.relativeLuminance(t>>8);if(tC(a,o)<n){if(o<a){let o=r(e,t,n),s=tC(a,QS.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>tC(a,QS.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=tC(a,QS.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>tC(a,QS.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=tC(QS.relativeLuminance2(o,s,c),QS.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=tC(QS.relativeLuminance2(o,s,c),QS.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=tC(QS.relativeLuminance2(o,s,c),QS.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=tC(QS.relativeLuminance2(o,s,c),QS.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})($S||={});function eC(e){let t=e.toString(16);return t.length<2?`0`+t:t}function tC(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function nC(e){if(!e)throw Error(`value must not be falsy`);return e}function rC(e){return 57508<=e&&e<=57558}function Fre(e){return 57520<=e&&e<=57527}function Ire(e){return 57344<=e&&e<=63743}function Lre(e){return 9472<=e&&e<=9631}function Rre(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function zre(e,t,n,r){return t===1&&n>Math.ceil(r*1.5)&&e!==void 0&&e>255&&!Rre(e)&&!rC(e)&&!Ire(e)}function iC(e){return rC(e)||Lre(e)}function Bre(){return{css:{canvas:aC(),cell:aC()},device:{canvas:aC(),cell:aC(),char:{width:0,height:0,left:0,top:0}}}}function aC(){return{width:0,height:0}}function Vre(e,t,n=0){return(e-(Math.round(t)*2-n))%(Math.round(t)*2)}var oC=0,sC=0,cC=!1,lC=!1,uC=!1,dC,fC=0,Hre=class{constructor(e,t,n,r,i,a){this._terminal=e,this._optionService=t,this._selectionRenderModel=n,this._decorationService=r,this._coreBrowserService=i,this._themeService=a,this.result={fg:0,bg:0,ext:0}}resolve(e,t,n,r){if(this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,sC=0,oC=0,lC=!1,cC=!1,uC=!1,dC=this._themeService.colors,fC=0,e.getCode()!==0&&e.extended.underlineStyle===4){let e=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));fC=t*r%(Math.round(e)*2)}if(this._decorationService.forEachDecorationAtCell(t,n,`bottom`,e=>{e.backgroundColorRGB&&(sC=e.backgroundColorRGB.rgba>>8&16777215,lC=!0),e.foregroundColorRGB&&(oC=e.foregroundColorRGB.rgba>>8&16777215,cC=!0)}),uC=this._selectionRenderModel.isCellSelected(this._terminal,t,n),uC){if(this.result.fg&67108864||this.result.bg&50331648){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:sC=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:sC=(this.result.fg&16777215)<<8|255;break;default:sC=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:sC=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:sC=(this.result.bg&16777215)<<8|255}sC=$S.blend(sC,(this._coreBrowserService.isFocused?dC.selectionBackgroundOpaque:dC.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else sC=(this._coreBrowserService.isFocused?dC.selectionBackgroundOpaque:dC.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(lC=!0,dC.selectionForeground&&(oC=dC.selectionForeground.rgba>>8&16777215,cC=!0),iC(e.getCode())){if(this.result.fg&67108864&&!(this.result.bg&50331648))oC=(this._coreBrowserService.isFocused?dC.selectionBackgroundOpaque:dC.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:oC=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:oC=(this.result.bg&16777215)<<8|255}else switch(this.result.fg&50331648){case 16777216:case 33554432:oC=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:oC=(this.result.fg&16777215)<<8|255;break;default:oC=this._themeService.colors.foreground.rgba}oC=$S.blend(oC,(this._coreBrowserService.isFocused?dC.selectionBackgroundOpaque:dC.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}cC=!0}}this._decorationService.forEachDecorationAtCell(t,n,`top`,e=>{e.backgroundColorRGB&&(sC=e.backgroundColorRGB.rgba>>8&16777215,lC=!0),e.foregroundColorRGB&&(oC=e.foregroundColorRGB.rgba>>8&16777215,cC=!0)}),lC&&(sC=uC?e.bg&-150994944|sC|50331648:e.bg&-16777216|sC|50331648),cC&&(oC=e.fg&-83886080|oC|50331648),this.result.fg&67108864&&(lC&&!cC&&(oC=this.result.bg&50331648?this.result.fg&-134217728|this.result.bg&67108863:this.result.fg&-134217728|dC.background.rgba>>8&16777215|50331648,cC=!0),!lC&&cC&&(sC=this.result.fg&50331648?this.result.bg&-67108864|this.result.fg&67108863:this.result.bg&-67108864|dC.foreground.rgba>>8&16777215|50331648,lC=!0)),dC=void 0,this.result.bg=lC?sC:this.result.bg,this.result.fg=cC?oC:this.result.fg,this.result.ext&=536870911,this.result.ext|=fC<<29&3758096384}},Ure=.5,pC=zS||BS?`bottom`:`ideographic`,Wre={"▀":[{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}]},Gre={"░":[[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]]},Kre={"─":{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:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"║":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╒":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╓":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},"╔":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╕":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"╖":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},"╗":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},"╘":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"╙":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╚":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},"╛":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"╜":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},"╝":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},"╞":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╟":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},"╠":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╡":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"╢":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╣":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},"╤":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"╥":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},"╦":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╧":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╨":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╩":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╪":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╫":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╬":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},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:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"╮":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"╯":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"╰":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},mC={"":{d:`M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655`,type:0},"":{d:`M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5`,type:0},"":{d:`M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82`,type:0},"":{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}};mC[``]=mC[``],mC[``]=mC[``];function qre(e,t,n,r,i,a,o,s){let c=Wre[t];if(c)return Jre(e,c,n,r,i,a),!0;let l=Gre[t];if(l)return Yre(e,l,n,r,i,a),!0;let u=Kre[t];if(u)return Xre(e,u,n,r,i,a,s),!0;let d=mC[t];return d?(Zre(e,d,n,r,i,a,o,s),!0):!1}function Jre(e,t,n,r,i,a){for(let o=0;o<t.length;o++){let s=t[o],c=i/8,l=a/8;e.fillRect(n+s.x*c,r+s.y*l,s.w*c,s.h*l)}}var hC=new Map;function Yre(e,t,n,r,i,a){let o=hC.get(t);o||(o=new Map,hC.set(t,o));let s=e.fillStyle;if(typeof s!=`string`)throw Error(`Unexpected fillStyle type "${s}"`);let c=o.get(s);if(!c){let n=t[0].length,r=t.length,i=e.canvas.ownerDocument.createElement(`canvas`);i.width=n,i.height=r;let a=nC(i.getContext(`2d`)),l=new ImageData(n,r),u,d,f,p;if(s.startsWith(`#`))u=parseInt(s.slice(1,3),16),d=parseInt(s.slice(3,5),16),f=parseInt(s.slice(5,7),16),p=s.length>7&&parseInt(s.slice(7,9),16)||1;else if(s.startsWith(`rgba`))[u,d,f,p]=s.substring(5,s.length-1).split(`,`).map(e=>parseFloat(e));else throw Error(`Unexpected fillStyle color format "${s}" when drawing pattern glyph`);for(let e=0;e<r;e++)for(let r=0;r<n;r++)l.data[(e*n+r)*4]=u,l.data[(e*n+r)*4+1]=d,l.data[(e*n+r)*4+2]=f,l.data[(e*n+r)*4+3]=t[e][r]*(p*255);a.putImageData(l,0,0),c=nC(e.createPattern(i,null)),o.set(s,c)}e.fillStyle=c,e.fillRect(n,r,i,a)}function Xre(e,t,n,r,i,a,o){e.strokeStyle=e.fillStyle;for(let[s,c]of Object.entries(t)){e.beginPath(),e.lineWidth=o*Number.parseInt(s);let t;t=typeof c==`function`?c(.15,.15/a*i):c;for(let s of t.split(` `)){let t=s[0],c=_C[t];if(!c){console.error(`Could not find drawing instructions for "${t}"`);continue}let l=s.substring(1).split(`,`);!l[0]||!l[1]||c(e,vC(l,i,a,n,r,!0,o))}e.stroke(),e.closePath()}}function Zre(e,t,n,r,i,a,o,s){let c=new Path2D;c.rect(n,r,i,a),e.clip(c),e.beginPath();let l=o/12;e.lineWidth=s*l;for(let o of t.d.split(` `)){let c=o[0],u=_C[c];if(!u){console.error(`Could not find drawing instructions for "${c}"`);continue}let d=o.substring(1).split(`,`);!d[0]||!d[1]||u(e,vC(d,i,a,n,r,!1,s,(t.leftPadding??0)*(l/2),(t.rightPadding??0)*(l/2)))}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function gC(e,t,n=0){return Math.max(Math.min(e,t),n)}var _C={C:(e,t)=>e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function vC(e,t,n,r,i,a,o,s=0,c=0){let l=e.map(e=>parseFloat(e)||parseInt(e));if(l.length<2)throw Error(`Too few arguments for instruction`);for(let e=0;e<l.length;e+=2)l[e]*=t-s*o-c*o,a&&l[e]!==0&&(l[e]=gC(Math.round(l[e]+.5)-.5,t,0)),l[e]+=r+s*o;for(let e=1;e<l.length;e+=2)l[e]*=n,a&&l[e]!==0&&(l[e]=gC(Math.round(l[e]+.5)-.5,n,0)),l[e]+=i;return l}var yC=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},bC=class{constructor(){this._data=new yC}set(e,t,n,r,i){this._data.get(e,t)||this._data.set(e,t,new yC),this._data.get(e,t).set(n,r,i)}get(e,t,n,r){return this._data.get(e,t)?.get(n,r)}clear(){this._data.clear()}},xC=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},Qre=class extends xC{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},$re=class extends xC{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},eie=!IS&&`requestIdleCallback`in window?$re:Qre,SC=class e{constructor(){this.fg=0,this.bg=0,this.extended=new CC}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},CC=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},wC=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};wC.Undefined=new wC(void 0);var tie=globalThis.performance&&typeof globalThis.performance.now==`function`,nie=class e{static create(t){return new e(t)}constructor(e){this._now=tie&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},TC;(e=>{e.None=()=>PS.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(AS(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new AC({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new AC({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new AC({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new AC({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function ee(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new AC({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=ee;function b(e){return new Promise(t=>n(e)(t))}e.toPromise=b;function te(e){let t=new AC;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=te;function ne(e,t){return e(e=>t.fire(e))}e.forward=ne;function re(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=re;class ie{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new AC(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function ae(e,t){return new ie(e,t).emitter.event}e.fromObservable=ae;function x(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof NS?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=x})(TC||={});var EC=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new nie,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};EC.all=new Set,EC._idPool=0;var rie=EC,DC=-1,OC=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new oie(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};OC._idPool=1;var iie=OC,aie=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
75
|
-
`).slice(2).join(`
|
|
76
|
-
`))}},oie=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},sie=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},cie=0,kC=class{constructor(e){this.value=e,this.id=cie++}},lie=2,AC=class{constructor(e){this._size=0,this._options=e,this._leakageMon=DC>0||this._options?.leakWarningThreshold?new iie(e?.onListenerError??gS,this._options?.leakWarningThreshold??DC):void 0,this._perfMon=this._options?._profName?new rie(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new sie(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||gS)(n),PS.None}if(this._disposed)return PS.None;t&&(e=e.bind(t));let r=new kC(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=aie.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof kC?(this._deliveryQueue??=new uie,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=jS(()=>{i?.(),this._removeListener(r)});return n instanceof NS?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*lie<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||gS;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof kC)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},uie=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},jC={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}},MC=2,NC,PC=class e{constructor(e,t,n){this._document=e,this._config=t,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new bC,this._cacheMapCombined=new bC,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new SC,this._textureSize=512,this._onAddTextureAtlasCanvas=new AC,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new AC,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=RC(e,this._config.deviceCellWidth*4+MC*2,this._config.deviceCellHeight+MC*2),this._tmpCtx=nC(this._tmpCanvas.getContext(`2d`,{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let e of this.pages)e.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||=(this._doWarmUp(),!0)}_doWarmUp(){let e=new eie;for(let t=33;t<126;t++)e.enqueue(()=>{if(!this._cacheMap.get(t,0,0,0)){let e=this._drawToCache(t,0,0,0,!1,void 0);this._cacheMap.set(t,0,0,0,e)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(let e of this._pages)e.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(e.maxAtlasPages&&this._pages.length>=Math.max(4,e.maxAtlasPages)){let t=this._pages.filter(t=>t.canvas.width*2<=(e.maxTextureSize||4096)).sort((e,t)=>t.canvas.width===e.canvas.width?t.percentageUsed-e.percentageUsed:t.canvas.width-e.canvas.width),n=-1,r=0;for(let e=0;e<t.length;e++)if(t[e].canvas.width!==r)n=e,r=t[e].canvas.width;else if(e-n===3)break;let i=t.slice(n,n+4),a=i.map(e=>e.glyphs[0].texturePage).sort((e,t)=>e>t?1:-1),o=this.pages.length-i.length,s=this._mergePages(i,o);s.version++;for(let e=a.length-1;e>=0;e--)this._deletePage(a[e]);this.pages.push(s),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(s.canvas)}let t=new FC(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(e,t){let n=e[0].canvas.width*2,r=new FC(this._document,n,e);for(let[i,a]of e.entries()){let e=i*a.canvas.width%n,o=Math.floor(i/2)*a.canvas.height;r.ctx.drawImage(a.canvas,e,o);for(let r of a.glyphs)r.texturePage=t,r.sizeClipSpace.x=r.size.x/n,r.sizeClipSpace.y=r.size.y/n,r.texturePosition.x+=e,r.texturePosition.y+=o,r.texturePositionClipSpace.x=r.texturePosition.x/n,r.texturePositionClipSpace.y=r.texturePosition.y/n;this._onRemoveTextureAtlasCanvas.fire(a.canvas);let s=this._activePages.indexOf(a);s!==-1&&this._activePages.splice(s,1)}return r}_deletePage(e){this._pages.splice(e,1);for(let t=e;t<this._pages.length;t++){let e=this._pages[t];for(let t of e.glyphs)t.texturePage--;e.version++}}getRasterizedGlyphCombinedChar(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMapCombined,e,t,n,r,i,a)}getRasterizedGlyph(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMap,e,t,n,r,i,a)}_getFromCacheMap(e,t,n,r,i,a,o){return NC=e.get(t,n,r,i),NC||(NC=this._drawToCache(t,n,r,i,a,o),e.set(t,n,r,i,NC)),NC}_getColorFromAnsiIndex(e){if(e>=this._config.colors.ansi.length)throw Error(`No color found for idx `+e);return this._config.colors.ansi[e]}_getBackgroundColor(e,t,n,r){if(this._config.allowTransparency)return JS;let i;switch(e){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(t);break;case 50331648:let e=SC.toColorRGB(t);i=YS.toColor(e[0],e[1],e[2]);break;default:i=n?XS.opaque(this._config.colors.foreground):this._config.colors.background}return this._config.allowTransparency||(i=XS.opaque(i)),i}_getForegroundColor(e,t,n,r,i,a,o,s,c,l){let u=this._getMinimumContrastColor(e,t,n,r,i,a,o,c,s,l);if(u)return u;let d;switch(i){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&c&&a<8&&(a+=8),d=this._getColorFromAnsiIndex(a);break;case 50331648:let e=SC.toColorRGB(a);d=YS.toColor(e[0],e[1],e[2]);break;default:d=o?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(d=XS.opaque(d)),s&&(d=XS.multiplyOpacity(d,Ure)),d}_resolveBackgroundRgba(e,t,n){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(e,t,n,r){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&r&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(e,t,n,r,i,a,o,s,c,l){if(this._config.minimumContrastRatio===1||l)return;let u=this._getContrastCache(c),d=u.getColor(e,r);if(d!==void 0)return d||void 0;let f=this._resolveBackgroundRgba(t,n,o),p=this._resolveForegroundRgba(i,a,o,s),m=$S.ensureContrastRatio(f,p,this._config.minimumContrastRatio/(c?2:1));if(!m){u.setColor(e,r,null);return}let h=YS.toColor(m>>24&255,m>>16&255,m>>8&255);return u.setColor(e,r,h),h}_getContrastCache(e){return e?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,n,r,i,a,o){let s=typeof t==`number`?String.fromCharCode(t):t;o&&this._tmpCanvas.parentElement!==o&&(this._tmpCanvas.style.display=`none`,o.append(this._tmpCanvas));let c=Math.min(this._config.deviceCellWidth*Math.max(s.length,2)+MC*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<c&&(this._tmpCanvas.width=c);let l=Math.min(this._config.deviceCellHeight+MC*4,this._textureSize);if(this._tmpCanvas.height<l&&(this._tmpCanvas.height=l),this._tmpCtx.save(),this._workAttributeData.fg=r,this._workAttributeData.bg=n,this._workAttributeData.extended.ext=i,this._workAttributeData.isInvisible())return jC;let u=!!this._workAttributeData.isBold(),d=!!this._workAttributeData.isInverse(),f=!!this._workAttributeData.isDim(),p=!!this._workAttributeData.isItalic(),m=!!this._workAttributeData.isUnderline(),h=!!this._workAttributeData.isStrikethrough(),g=!!this._workAttributeData.isOverline(),_=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),y=this._workAttributeData.getBgColor(),ee=this._workAttributeData.getBgColorMode();if(d){let e=_;_=y,y=e;let t=v;v=ee,ee=t}let b=this._getBackgroundColor(ee,y,d,f);this._tmpCtx.globalCompositeOperation=`copy`,this._tmpCtx.fillStyle=b.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=`source-over`;let te=u?this._config.fontWeightBold:this._config.fontWeight,ne=p?`italic`:``;this._tmpCtx.font=`${ne} ${te} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=pC;let re=s.length===1&&rC(s.charCodeAt(0)),ie=s.length===1&&Fre(s.charCodeAt(0)),ae=this._getForegroundColor(n,ee,y,r,v,_,d,f,u,iC(s.charCodeAt(0)));this._tmpCtx.fillStyle=ae.css;let x=ie?0:MC*2,oe=!1;this._config.customGlyphs!==!1&&(oe=qre(this._tmpCtx,s,x,x,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let se=!re,ce;if(ce=typeof t==`number`?this._unicodeService.wcwidth(t):this._unicodeService.getStringCellWidth(t),m){this._tmpCtx.save();let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;if(this._tmpCtx.lineWidth=e,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())se=!1,this._tmpCtx.strokeStyle=`rgb(${SC.toColorRGB(this._workAttributeData.getUnderlineColor()).join(`,`)})`;else{se=!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();let n=x,r=Math.ceil(x+this._config.deviceCharHeight)-t-(a?e*2:0),i=r+e,o=r+e*2,c=this._workAttributeData.getUnderlineVariantOffset();for(let a=0;a<ce;a++){this._tmpCtx.save();let s=n+a*this._config.deviceCellWidth,l=n+(a+1)*this._config.deviceCellWidth,u=s+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r),this._tmpCtx.moveTo(s,o),this._tmpCtx.lineTo(l,o);break;case 3:let n=e<=1?o:Math.ceil(x+this._config.deviceCharHeight-e/2)-t,a=e<=1?r:Math.ceil(x+this._config.deviceCharHeight+e/2)-t,d=new Path2D;d.rect(s,r,this._config.deviceCellWidth,o-r),this._tmpCtx.clip(d),this._tmpCtx.moveTo(s-this._config.deviceCellWidth/2,i),this._tmpCtx.bezierCurveTo(s-this._config.deviceCellWidth/2,a,s,a,s,i),this._tmpCtx.bezierCurveTo(s,n,u,n,u,i),this._tmpCtx.bezierCurveTo(u,a,l,a,l,i),this._tmpCtx.bezierCurveTo(l,n,l+this._config.deviceCellWidth/2,n,l+this._config.deviceCellWidth/2,i);break;case 4:let f=c===0?0:c>=e?e*2-c:e-c;c>=e||f===0?(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s+f,r),this._tmpCtx.lineTo(l,r)):(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(s+f,r),this._tmpCtx.moveTo(s+f+e,r),this._tmpCtx.lineTo(l,r)),c=Vre(l-s,e,c);break;case 5:let p=l-s,m=Math.floor(.6*p),h=Math.floor(.3*p),g=p-m-h;this._tmpCtx.setLineDash([m,h,g]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r);break;default:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!oe&&this._config.fontSize>=12&&!this._config.allowTransparency&&s!==` `){this._tmpCtx.save(),this._tmpCtx.textBaseline=`alphabetic`;let t=this._tmpCtx.measureText(s);if(this._tmpCtx.restore(),`actualBoundingBoxDescent`in t&&t.actualBoundingBoxDescent>0){this._tmpCtx.save();let t=new Path2D;t.rect(n,r-Math.ceil(e/2),this._config.deviceCellWidth*ce,o-r+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=b.css,this._tmpCtx.strokeText(s,x,x+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(g){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(x,x+t),this._tmpCtx.lineTo(x+this._config.deviceCharWidth*ce,x+t),this._tmpCtx.stroke()}if(oe||this._tmpCtx.fillText(s,x,x+this._config.deviceCharHeight),s===`_`&&!this._config.allowTransparency){let e=IC(this._tmpCtx.getImageData(x,x,this._config.deviceCellWidth,this._config.deviceCellHeight),b,ae,se);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=b.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(s,x,x+this._config.deviceCharHeight-t),e=IC(this._tmpCtx.getImageData(x,x,this._config.deviceCellWidth,this._config.deviceCellHeight),b,ae,se),e);t++);}if(h){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),t=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(x,x+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(x+this._config.deviceCharWidth*ce,x+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();let le=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),ue;if(ue=this._config.allowTransparency?LC(le):IC(le,b,ae,se),ue)return jC;let S=this._findGlyphBoundingBox(le,this._workBoundingBox,c,ie,oe,x),C,w;for(;;){if(this._activePages.length===0){let e=this._createNewPage();C=e,w=e.currentRow,w.height=S.size.y;break}C=this._activePages[this._activePages.length-1],w=C.currentRow;for(let e of this._activePages)S.size.y<=e.currentRow.height&&(C=e,w=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(let t of this._activePages[e].fixedRows)t.height<=w.height&&S.size.y<=t.height&&(C=this._activePages[e],w=t);if(S.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new FC(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),C=this._overflowSizePage,w=this._overflowSizePage.currentRow,w.x+S.size.x>=C.canvas.width&&(w.x=0,w.y+=w.height,w.height=0);break}if(w.y+S.size.y>=C.canvas.height||w.height>S.size.y+2){let t=!1;if(C.currentRow.y+C.currentRow.height+S.size.y>=C.canvas.height){let n;for(let e of this._activePages)if(e.currentRow.y+e.currentRow.height+S.size.y<e.canvas.height){n=e;break}if(n)C=n;else if(e.maxAtlasPages&&this._pages.length>=e.maxAtlasPages&&w.y+S.size.y<=C.canvas.height&&w.height>=S.size.y&&w.x+S.size.x<=C.canvas.width)t=!0;else{let e=this._createNewPage();C=e,w=e.currentRow,w.height=S.size.y,t=!0}}t||(C.currentRow.height>0&&C.fixedRows.push(C.currentRow),w={x:0,y:C.currentRow.y+C.currentRow.height,height:S.size.y},C.fixedRows.push(w),C.currentRow={x:0,y:w.y+w.height,height:0})}if(w.x+S.size.x<=C.canvas.width)break;w===C.currentRow?(w.x=0,w.y+=w.height,w.height=0):C.fixedRows.splice(C.fixedRows.indexOf(w),1)}return S.texturePage=this._pages.indexOf(C),S.texturePosition.x=w.x,S.texturePosition.y=w.y,S.texturePositionClipSpace.x=w.x/C.canvas.width,S.texturePositionClipSpace.y=w.y/C.canvas.height,S.sizeClipSpace.x/=C.canvas.width,S.sizeClipSpace.y/=C.canvas.height,w.height=Math.max(w.height,S.size.y),w.x+=S.size.x,C.ctx.putImageData(le,S.texturePosition.x-this._workBoundingBox.left,S.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,S.size.x,S.size.y),C.addGlyph(S),C.version++,S}_findGlyphBoundingBox(e,t,n,r,i,a){t.top=0;let o=r?this._config.deviceCellHeight:this._tmpCanvas.height,s=r?this._config.deviceCellWidth:n,c=!1;for(let n=0;n<o;n++){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.top=n,c=!0;break}}if(c)break}t.left=0,c=!1;for(let n=0;n<a+s;n++){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.left=n,c=!0;break}}if(c)break}t.right=s,c=!1;for(let n=a+s-1;n>=a;n--){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.right=n,c=!0;break}}if(c)break}t.bottom=o,c=!1;for(let n=o-1;n>=0;n--){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.bottom=n,c=!0;break}}if(c)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:t.right-t.left+1,y:t.bottom-t.top+1},sizeClipSpace:{x:t.right-t.left+1,y:t.bottom-t.top+1},offset:{x:-t.left+a+(r||i?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-t.top+a+(r||i?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},FC=class{constructor(e,t,n){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],n)for(let e of n)this._glyphs.push(...e.glyphs),this._usedPixels+=e._usedPixels;this.canvas=RC(e,t,t),this.ctx=nC(this.canvas.getContext(`2d`,{alpha:!0}))}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}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 IC(e,t,n,r){let i=t.rgba>>>24,a=t.rgba>>>16&255,o=t.rgba>>>8&255,s=n.rgba>>>24,c=n.rgba>>>16&255,l=n.rgba>>>8&255,u=Math.floor((Math.abs(i-s)+Math.abs(a-c)+Math.abs(o-l))/12),d=!0;for(let t=0;t<e.data.length;t+=4)e.data[t]===i&&e.data[t+1]===a&&e.data[t+2]===o||r&&Math.abs(e.data[t]-i)+Math.abs(e.data[t+1]-a)+Math.abs(e.data[t+2]-o)<u?e.data[t+3]=0:d=!1;return d}function LC(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function RC(e,t,n){let r=e.createElement(`canvas`);return r.width=t,r.height=n,r}function zC(e,t,n,r,i,a,o,s){let c={foreground:a.foreground,background:a.background,cursor:JS,cursorAccent:JS,selectionForeground:JS,selectionBackgroundTransparent:JS,selectionBackgroundOpaque:JS,selectionInactiveBackgroundTransparent:JS,selectionInactiveBackgroundOpaque:JS,overviewRulerBorder:JS,scrollbarSliderBackground:JS,scrollbarSliderHoverBackground:JS,scrollbarSliderActiveBackground:JS,ansi:a.ansi.slice(),contrastCache:a.contrastCache,halfContrastCache:a.halfContrastCache};return{customGlyphs:i.customGlyphs,devicePixelRatio:o,deviceMaxTextureSize:s,letterSpacing:i.letterSpacing,lineHeight:i.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:n,deviceCharHeight:r,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,fontWeightBold:i.fontWeightBold,allowTransparency:i.allowTransparency,drawBoldTextInBrightColors:i.drawBoldTextInBrightColors,minimumContrastRatio:i.minimumContrastRatio,colors:c}}function BC(e,t){for(let n=0;n<e.colors.ansi.length;n++)if(e.colors.ansi[n].rgba!==t.colors.ansi[n].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function VC(e){return(e&50331648)==16777216||(e&50331648)==33554432}var HC=[];function UC(e,t,n,r,i,a,o,s,c){let l=zC(r,i,a,o,t,n,s,c);for(let t=0;t<HC.length;t++){let n=HC[t],r=n.ownedBy.indexOf(e);if(r>=0){if(BC(n.config,l))return n.atlas;n.ownedBy.length===1?(n.atlas.dispose(),HC.splice(t,1)):n.ownedBy.splice(r,1);break}}for(let t=0;t<HC.length;t++){let n=HC[t];if(BC(n.config,l))return n.ownedBy.push(e),n.atlas}let u=e._core,d={atlas:new PC(document,l,u.unicodeService),config:l,ownedBy:[e]};return HC.push(d),d.atlas}function WC(e){for(let t=0;t<HC.length;t++){let n=HC[t].ownedBy.indexOf(e);if(n!==-1){HC[t].ownedBy.length===1?(HC[t].atlas.dispose(),HC.splice(t,1)):HC[t].ownedBy.splice(n,1);break}}}var GC=600,KC=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}))}_restartInterval(e=GC){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let e=GC-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,e>0){this._restartInterval(e);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let e=GC-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(e);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},GC)},e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}};function qC(e,t,n){let r=new t.ResizeObserver(t=>{let i=t.find(t=>t.target===e);if(!i)return;if(!(`devicePixelContentBoxSize`in i)){r?.disconnect(),r=void 0;return}let a=i.devicePixelContentBoxSize[0].inlineSize,o=i.devicePixelContentBoxSize[0].blockSize;a>0&&o>0&&n(a,o)});try{r.observe(e,{box:[`device-pixel-content-box`]})}catch{r.disconnect(),r=void 0}return jS(()=>r?.disconnect())}function JC(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var YC=class e extends SC{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new CC,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?JC(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},XC=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function ZC(e,t,n){let r=nC(e.createProgram());if(e.attachShader(r,nC(QC(e,e.VERTEX_SHADER,t))),e.attachShader(r,nC(QC(e,e.FRAGMENT_SHADER,n))),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS))return r;console.error(e.getProgramInfoLog(r)),e.deleteProgram(r)}function QC(e,t,n){let r=nC(e.createShader(t));if(e.shaderSource(r,n),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS))return r;console.error(e.getShaderInfoLog(r)),e.deleteShader(r)}function $C(e,t){let n=Math.min(e.length*2,t),r=new Float32Array(n);for(let t=0;t<e.length;t++)r[t]=e[t];return r}var ew=class{constructor(e){this.texture=e,this.version=-1}},tw=`#version 300 es
|
|
77
|
-
layout (location = 0) in vec2 a_unitquad;
|
|
78
|
-
layout (location = 1) in vec2 a_cellpos;
|
|
79
|
-
layout (location = 2) in vec2 a_offset;
|
|
80
|
-
layout (location = 3) in vec2 a_size;
|
|
81
|
-
layout (location = 4) in float a_texpage;
|
|
82
|
-
layout (location = 5) in vec2 a_texcoord;
|
|
83
|
-
layout (location = 6) in vec2 a_texsize;
|
|
84
|
-
|
|
85
|
-
uniform mat4 u_projection;
|
|
86
|
-
uniform vec2 u_resolution;
|
|
87
|
-
|
|
88
|
-
out vec2 v_texcoord;
|
|
89
|
-
flat out int v_texpage;
|
|
90
|
-
|
|
91
|
-
void main() {
|
|
92
|
-
vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
|
|
93
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
94
|
-
v_texpage = int(a_texpage);
|
|
95
|
-
v_texcoord = a_texcoord + a_unitquad * a_texsize;
|
|
96
|
-
}`;function nw(e){let t=``;for(let n=1;n<e;n++)t+=` else if (v_texpage == ${n}) { outColor = texture(u_texture[${n}], v_texcoord); }`;return`#version 300 es
|
|
97
|
-
precision lowp float;
|
|
98
|
-
|
|
99
|
-
in vec2 v_texcoord;
|
|
100
|
-
flat in int v_texpage;
|
|
101
|
-
|
|
102
|
-
uniform sampler2D u_texture[${e}];
|
|
103
|
-
|
|
104
|
-
out vec4 outColor;
|
|
105
|
-
|
|
106
|
-
void main() {
|
|
107
|
-
if (v_texpage == 0) {
|
|
108
|
-
outColor = texture(u_texture[0], v_texcoord);
|
|
109
|
-
} ${t}
|
|
110
|
-
}`}var rw=11,iw=rw*Float32Array.BYTES_PER_ELEMENT,aw=2,ow=0,sw,cw=0,lw=0,uw=class extends PS{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._optionsService=r,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array,attributesBuffers:[new Float32Array,new Float32Array]};let i=this._gl;PC.maxAtlasPages===void 0&&(PC.maxAtlasPages=Math.min(32,nC(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS))),PC.maxTextureSize=nC(i.getParameter(i.MAX_TEXTURE_SIZE))),this._program=nC(ZC(i,tw,nw(PC.maxAtlasPages))),this._register(jS(()=>i.deleteProgram(this._program))),this._projectionLocation=nC(i.getUniformLocation(this._program,`u_projection`)),this._resolutionLocation=nC(i.getUniformLocation(this._program,`u_resolution`)),this._textureLocation=nC(i.getUniformLocation(this._program,`u_texture`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(jS(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(jS(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=nC(i.createBuffer()),this._register(jS(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,2,i.FLOAT,!1,iw,0),i.vertexAttribDivisor(2,1),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,i.FLOAT,!1,iw,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(3,1),i.enableVertexAttribArray(4),i.vertexAttribPointer(4,1,i.FLOAT,!1,iw,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(4,1),i.enableVertexAttribArray(5),i.vertexAttribPointer(5,2,i.FLOAT,!1,iw,5*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(5,1),i.enableVertexAttribArray(6),i.vertexAttribPointer(6,2,i.FLOAT,!1,iw,7*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(6,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,iw,9*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.useProgram(this._program);let l=new Int32Array(PC.maxAtlasPages);for(let e=0;e<PC.maxAtlasPages;e++)l[e]=e;i.uniform1iv(this._textureLocation,l),i.uniformMatrix4fv(this._projectionLocation,!1,XC),this._atlasTextures=[];for(let e=0;e<PC.maxAtlasPages;e++){let t=new ew(nC(i.createTexture()));this._register(jS(()=>i.deleteTexture(t.texture))),i.activeTexture(i.TEXTURE0+e),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,1,1,0,i.RGBA,i.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[e]=t}i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(e,t,n,r,i,a,o,s,c){this._updateCell(this._vertices.attributes,e,t,n,r,i,a,o,s,c)}_updateCell(e,t,n,r,i,a,o,s,c,l){if(ow=(n*this._terminal.cols+t)*rw,r===0||r===void 0){e.fill(0,ow,ow+rw-1-aw);return}this._atlas&&(sw=s&&s.length>1?this._atlas.getRasterizedGlyphCombinedChar(s,i,a,o,!1,this._terminal.element):this._atlas.getRasterizedGlyph(r,i,a,o,!1,this._terminal.element),cw=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),i!==l&&sw.offset.x>cw?(lw=sw.offset.x-cw,e[ow]=-(sw.offset.x-lw)+this._dimensions.device.char.left,e[ow+1]=-sw.offset.y+this._dimensions.device.char.top,e[ow+2]=(sw.size.x-lw)/this._dimensions.device.canvas.width,e[ow+3]=sw.size.y/this._dimensions.device.canvas.height,e[ow+4]=sw.texturePage,e[ow+5]=sw.texturePositionClipSpace.x+lw/this._atlas.pages[sw.texturePage].canvas.width,e[ow+6]=sw.texturePositionClipSpace.y,e[ow+7]=sw.sizeClipSpace.x-lw/this._atlas.pages[sw.texturePage].canvas.width,e[ow+8]=sw.sizeClipSpace.y):(e[ow]=-sw.offset.x+this._dimensions.device.char.left,e[ow+1]=-sw.offset.y+this._dimensions.device.char.top,e[ow+2]=sw.size.x/this._dimensions.device.canvas.width,e[ow+3]=sw.size.y/this._dimensions.device.canvas.height,e[ow+4]=sw.texturePage,e[ow+5]=sw.texturePositionClipSpace.x,e[ow+6]=sw.texturePositionClipSpace.y,e[ow+7]=sw.sizeClipSpace.x,e[ow+8]=sw.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&zre(r,c,sw.size.x,this._dimensions.device.cell.width)&&(e[ow+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*rw;this._vertices.count===t?this._vertices.attributes.fill(0):this._vertices.attributes=new Float32Array(t);let n=0;for(;n<this._vertices.attributesBuffers.length;n++)this._vertices.count===t?this._vertices.attributesBuffers[n].fill(0):this._vertices.attributesBuffers[n]=new Float32Array(t);this._vertices.count=t,n=0;for(let t=0;t<e.rows;t++)for(let r=0;r<e.cols;r++)this._vertices.attributes[n+9]=r/e.cols,this._vertices.attributes[n+10]=t/e.rows,n+=rw}handleResize(){let e=this._gl;e.useProgram(this._program),e.viewport(0,0,e.canvas.width,e.canvas.height),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),this.clear()}render(e){if(!this._atlas)return;let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let n=this._vertices.attributesBuffers[this._activeBuffer],r=0;for(let t=0;t<e.lineLengths.length;t++){let i=t*this._terminal.cols*rw,a=this._vertices.attributes.subarray(i,i+e.lineLengths[t]*rw);n.set(a,r),r+=a.length}t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,n.subarray(0,r),t.STREAM_DRAW);for(let e=0;e<this._atlas.pages.length;e++)this._atlas.pages[e].version!==this._atlasTextures[e].version&&this._bindAtlasPageTexture(t,this._atlas,e);t.drawElementsInstanced(t.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,r/rw)}setAtlas(e){this._atlas=e;for(let e of this._atlasTextures)e.version=-1}_bindAtlasPageTexture(e,t,n){e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,this._atlasTextures[n].texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.pages[n].canvas),e.generateMipmap(e.TEXTURE_2D),this._atlasTextures[n].version=t.pages[n].version}setDimensions(e){this._dimensions=e}},dw=class{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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function fw(){return new dw}var pw=4,mw=1,hw=2,gw=3,_w=2147483648,vw=class{constructor(){this.cells=new Uint32Array,this.lineLengths=new Uint32Array,this.selection=fw()}resize(e,t){let n=e*t*pw;n!==this.cells.length&&(this.cells=new Uint32Array(n),this.lineLengths=new Uint32Array(t))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},yw=`#version 300 es
|
|
111
|
-
layout (location = 0) in vec2 a_position;
|
|
112
|
-
layout (location = 1) in vec2 a_size;
|
|
113
|
-
layout (location = 2) in vec4 a_color;
|
|
114
|
-
layout (location = 3) in vec2 a_unitquad;
|
|
115
|
-
|
|
116
|
-
uniform mat4 u_projection;
|
|
117
|
-
|
|
118
|
-
out vec4 v_color;
|
|
119
|
-
|
|
120
|
-
void main() {
|
|
121
|
-
vec2 zeroToOne = a_position + (a_unitquad * a_size);
|
|
122
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
123
|
-
v_color = a_color;
|
|
124
|
-
}`,bw=`#version 300 es
|
|
125
|
-
precision lowp float;
|
|
126
|
-
|
|
127
|
-
in vec4 v_color;
|
|
128
|
-
|
|
129
|
-
out vec4 outColor;
|
|
130
|
-
|
|
131
|
-
void main() {
|
|
132
|
-
outColor = v_color;
|
|
133
|
-
}`,xw=8,Sw=xw*Float32Array.BYTES_PER_ELEMENT,Cw=20*xw,ww=class{constructor(){this.attributes=new Float32Array(Cw),this.count=0}},Tw=0,Ew=0,Dw=0,Ow=0,kw=0,Aw=0,jw=0,Mw=class extends PS{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._themeService=r,this._vertices=new ww,this._verticesCursor=new ww;let i=this._gl;this._program=nC(ZC(i,yw,bw)),this._register(jS(()=>i.deleteProgram(this._program))),this._projectionLocation=nC(i.getUniformLocation(this._program,`u_projection`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(jS(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(jS(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=nC(i.createBuffer()),this._register(jS(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,i.FLOAT,!1,Sw,0),i.vertexAttribDivisor(0,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,Sw,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,4,i.FLOAT,!1,Sw,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this._register(this._themeService.onChangeColors(e=>{this._updateCachedColors(e),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,XC),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,e.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.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(e){let t=this._terminal,n=this._vertices,r=1,i,a,o,s,c,l,u,d,f,p,m;for(i=0;i<t.rows;i++){for(o=-1,s=0,c=0,l=!1,a=0;a<t.cols;a++)u=(i*t.cols+a)*pw,d=e.cells[u+mw],f=e.cells[u+hw],p=!!(f&67108864),(d!==s||f!==c&&(l||p))&&((s!==0||l&&c!==0)&&(m=r++*xw,this._updateRectangle(n,m,c,s,o,a,i)),o=a,s=d,c=f,l=p);(s!==0||l&&c!==0)&&(m=r++*xw,this._updateRectangle(n,m,c,s,o,t.cols,i))}n.count=r}updateCursor(e){let t=this._verticesCursor,n=e.cursor;if(!n||n.style===`block`){t.count=0;return}let r,i=0;(n.style===`bar`||n.style===`outline`)&&(r=i++*xw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.style===`bar`?n.dpr*n.cursorWidth:n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(n.style===`underline`||n.style===`outline`)&&(r=i++*xw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,(n.y+1)*this._dimensions.device.cell.height-n.dpr,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat)),n.style===`outline`&&(r=i++*xw,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat),r=i++*xw,this._addRectangleFloat(t.attributes,r,(n.x+n.width)*this._dimensions.device.cell.width-n.dpr,n.y*this._dimensions.device.cell.height,n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),t.count=i}_updateRectangle(e,t,n,r,i,a,o){if(n&67108864)switch(n&50331648){case 16777216:case 33554432:Tw=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:Tw=(n&16777215)<<8;break;default:Tw=this._themeService.colors.foreground.rgba}else switch(r&50331648){case 16777216:case 33554432:Tw=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:Tw=(r&16777215)<<8;break;default:Tw=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=$C(e.attributes,this._terminal.rows*this._terminal.cols*xw)),Ew=i*this._dimensions.device.cell.width,Dw=o*this._dimensions.device.cell.height,Ow=(Tw>>24&255)/255,kw=(Tw>>16&255)/255,Aw=(Tw>>8&255)/255,jw=1,this._addRectangle(e.attributes,t,Ew,Dw,(a-i)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,Ow,kw,Aw,jw)}_addRectangle(e,t,n,r,i,a,o,s,c,l){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o,e[t+5]=s,e[t+6]=c,e[t+7]=l}_addRectangleFloat(e,t,n,r,i,a,o){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o[0],e[t+5]=o[1],e[t+6]=o[2],e[t+7]=o[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(e.rgba&255)/255])}},Nw=class extends PS{constructor(e,t,n,r,i,a,o,s){super(),this._container=t,this._alpha=i,this._coreBrowserService=a,this._optionsService=o,this._themeService=s,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-${n}-layer`),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(t=>{this._refreshCharAtlas(e,t),this.reset(e)})),this._register(jS(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=nC(this._canvas.getContext(`2d`,{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,n){}handleSelectionChanged(e,t,n,r=!1){}_setTransparency(e,t){if(t===this._alpha)return;let n=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,n),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=UC(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,n=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,n*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(e,t,n,r){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight))}_fillCharTrueColor(e,t,n,r){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=pC,this._clipCell(n,r,t.getWidth()),this._ctx.fillText(t.getChars(),n*this._deviceCellWidth+this._deviceCharLeft,r*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,n){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,n){let r=t?e.options.fontWeightBold:e.options.fontWeight;return`${n?`italic`:``} ${r} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},Pw=class extends Nw{constructor(e,t,n,r,i,a,o){super(n,e,`link`,t,!0,i,a,o),this._register(r.onShowLinkUnderline(e=>this._handleShowLinkUnderline(e))),this._register(r.onHideLinkUnderline(e=>this._handleHideLinkUnderline(e)))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg!==void 0&&VC(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},Fw=typeof window==`object`?window:globalThis,Iw=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new AC,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new AC,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Iw.INSTANCE=new Iw;var Lw=Iw;function Rw(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Lw.INSTANCE.onDidChangeZoomLevel,Lw.INSTANCE.onDidChangeFullscreen;var zw=typeof navigator==`object`?navigator.userAgent:``;zw.indexOf(`Firefox`);var Bw=zw.indexOf(`AppleWebKit`)>=0;!(zw.indexOf(`Chrome`)>=0)&&zw.indexOf(`Safari`),zw.indexOf(`Electron/`),zw.indexOf(`Android`);var Vw=!1;if(typeof Fw.matchMedia==`function`){let e=Fw.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Fw.matchMedia(`(display-mode: fullscreen)`);Vw=e.matches,Rw(Fw,e,({matches:e})=>{Vw&&t.matches||(Vw=e)})}function Hw(){return Vw}var Uw=`en`,Ww=!1,Gw=!1,Kw=!1,qw=Uw,Jw,Yw=globalThis,Xw;typeof Yw.vscode<`u`&&typeof Yw.vscode.process<`u`?Xw=Yw.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(Xw=process);var Zw=typeof Xw?.versions?.electron==`string`&&Xw?.type===`renderer`;if(typeof Xw==`object`){Xw.platform,Xw.platform,Ww=Xw.platform===`linux`,Ww&&Xw.env.SNAP&&Xw.env.SNAP_REVISION,Xw.env.CI||Xw.env.BUILD_ARTIFACTSTAGINGDIRECTORY,qw=Uw;let e=Xw.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,qw=t.resolvedLanguage||Uw,t.languagePack?.translationsConfigFile}catch{}Gw=!0}else typeof navigator==`object`&&!Zw?(Jw=navigator.userAgent,Jw.indexOf(`Windows`),Jw.indexOf(`Macintosh`),(Jw.indexOf(`Macintosh`)>=0||Jw.indexOf(`iPad`)>=0||Jw.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Ww=Jw.indexOf(`Linux`)>=0,Jw?.indexOf(`Mobi`),Kw=!0,qw=globalThis._VSCODE_NLS_LANGUAGE||Uw,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var Qw=Gw;Kw&&typeof Yw.importScripts==`function`&&Yw.origin;var $w=Jw,eT=qw,tT;(e=>{function t(){return eT}e.value=t;function n(){return eT.length===2?eT===`en`:eT.length>=3&&eT[0]===`e`&&eT[1]===`n`&&eT[2]===`-`}e.isDefaultVariant=n;function r(){return eT===`en`}e.isDefault=r})(tT||={});var nT=typeof Yw.postMessage==`function`&&!Yw.importScripts;(()=>{if(nT){let e=[];Yw.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),Yw.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var rT=!!($w&&$w.indexOf(`Chrome`)>=0);$w&&$w.indexOf(`Firefox`),!rT&&$w&&$w.indexOf(`Safari`),$w&&$w.indexOf(`Edg/`),$w&&$w.indexOf(`Android`);var iT=typeof navigator==`object`?navigator:{};Qw||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||iT&&iT.clipboard&&iT.clipboard.writeText,Qw||iT&&iT.clipboard&&iT.clipboard.readText,Qw||Hw()||iT.keyboard,`ontouchstart`in Fw||iT.maxTouchPoints,Fw.PointerEvent&&(`ontouchstart`in Fw||navigator.maxTouchPoints);var aT=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},oT=new aT,sT=new aT,cT=new aT;Array(230);var lT;(e=>{function t(e){return oT.keyCodeToStr(e)}e.toString=t;function n(e){return oT.strToKeyCode(e)}e.fromString=n;function r(e){return sT.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return cT.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return sT.strToKeyCode(e)||cT.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return oT.keyCodeToStr(e)}e.toElectronAccelerator=o})(lT||={});var uT=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),dT;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof fT?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:TC.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:uT})})(dT||={});var fT=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?uT:(this._emitter||=new AC,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var pT;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(pT||={});var mT=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new AC,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await TC.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};mT.EMPTY=mT.fromArray([]);function hT(e){return gT(e,0)}function gT(e,t){switch(typeof e){case`object`:return e===null?_T(349,t):Array.isArray(e)?bT(e,t):xT(e,t);case`string`:return yT(e,t);case`boolean`:return vT(e,t);case`number`:return _T(e,t);case`undefined`:return _T(937,t);default:return _T(617,t)}}function _T(e,t){return(t<<5)-t+e|0}function vT(e,t){return _T(e?433:863,t)}function yT(e,t){t=_T(149417,t);for(let n=0,r=e.length;n<r;n++)t=_T(e.charCodeAt(n),t);return t}function bT(e,t){return t=_T(104579,t),e.reduce((e,t)=>gT(t,e),t)}function xT(e,t){return t=_T(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=yT(n,t),gT(e[n],t)),t)}var{registerWindow:die,getWindow:ST,getDocument:fie,getWindows:pie,getWindowsCount:mie,getWindowId:hie,getWindowById:gie,hasWindow:_ie,onDidRegisterWindow:vie,onWillUnregisterWindow:yie,onDidUnregisterWindow:bie}=function(){let e=new Map,t={window:Fw,disposables:new NS};e.set(Fw.vscodeWindowId,t);let n=new AC,r=new AC,i=new AC;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return PS.None;let a=new NS,o={window:t,disposables:a.add(new NS)};return e.set(t.vscodeWindowId,o),a.add(jS(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(wT(t,ET.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Fw},getDocument(e){return ST(e).document}}}(),CT=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function wT(e,t,n,r){return new CT(e,t,n,r)}var TT=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};TT.None=new TT(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=hT(n),a=r.get(i);if(a)a.users+=1;else{let o=new AC,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(jS(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var ET={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:Bw?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Bw?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Bw?`webkitAnimationIteration`:`animationiteration`},DT=class extends PS{constructor(e,t,n,r,i,a,o,s,c){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._optionsService=o,this._themeService=s,this._cursorBlinkStateManager=new FS,this._charAtlasDisposable=this._register(new FS),this._observerDisposable=this._register(new FS),this._model=new vw,this._workCell=new YC,this._workCell2=new YC,this._rectangleRenderer=this._register(new FS),this._glyphRenderer=this._register(new FS),this._onChangeTextureAtlas=this._register(new AC),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new AC),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new AC),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new AC),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new AC),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`);let l={antialias:!1,depth:!1,preserveDrawingBuffer:c};if(this._gl=this._canvas.getContext(`webgl2`,l),!this._gl)throw Error(`WebGL2 not supported `+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new Hre(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new Pw(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,o,this._themeService)],this.dimensions=Bre(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(o.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(wT(this._canvas,`webglcontextlost`,e=>{console.log(`webglcontextlost event received`),e.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn(`webgl context not restored; firing onContextLoss`),this._onContextLoss.fire(e)},3e3)})),this._register(wT(this._canvas,`webglcontextrestored`,e=>{console.warn(`webglcontextrestored event received`),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,WC(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=qC(this._canvas,this._coreBrowserService.window,(e,t)=>this._setCanvasDevicePixelDimensions(e,t)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=qC(this._canvas,e,(e,t)=>this._setCanvasDevicePixelDimensions(e,t))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(jS(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),WC(this._terminal)}))}get textureAtlas(){return this._charAtlas?.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(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let e of this._renderLayers)e.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`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,t,n){for(let r of this._renderLayers)r.handleSelectionChanged(this._terminal,e,t,n);this._model.selection.update(this._core,e,t,n),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new Mw(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new uw(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=UC(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._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=AS(TC.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),TC.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached){if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return}for(let n of this._renderLayers)n.handleGridChanged(this._terminal,e,t);!this._glyphRenderer.value||!this._rectangleRenderer.value||(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new KC(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let n=this._core,r=this._workCell,i,a,o,s,c,l,u=0,d=!0,f,p,m,h,g,_,v,y,ee;e=kT(e,n.rows-1,0),t=kT(t,n.rows-1,0);let b=this._coreService.decPrivateModes.cursorStyle??n.options.cursorStyle??`block`,te=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,ne=te-n.buffer.ydisp,re=Math.min(this._terminal.buffer.active.cursorX,n.cols-1),ie=-1,ae=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let x=!1;for(a=e;a<=t;a++)for(o=a+n.buffer.ydisp,s=n.buffer.lines.get(o),this._model.lineLengths[a]=0,m=te===o,u=0,c=this._characterJoinerService.getJoinedCharacters(o),y=0;y<n.cols;y++){if(i=this._cellColorResolver.result.bg,s.loadCell(y,r),y===0&&(i=this._cellColorResolver.result.bg),l=!1,d=y>=u,f=y,c.length>0&&y===c[0][0]&&d){p=c.shift();let e=this._model.selection.isCellSelected(this._terminal,p[0],o);for(v=p[0]+1;v<p[1];v++)d&&=e===this._model.selection.isCellSelected(this._terminal,v,o);d&&=!m||re<p[0]||re>=p[1],d?(l=!0,r=new OT(r,s.translateToString(!0,p[0],p[1]),p[1]-p[0]),f=p[1]-1):u=p[1]}if(h=r.getChars(),g=r.getCode(),v=(a*n.cols+y)*pw,this._cellColorResolver.resolve(r,y,o,this.dimensions.device.cell.width),ae&&o===te&&(y===re&&(this._model.cursor={x:re,y:ne,width:r.getWidth(),style:this._coreBrowserService.isFocused?b:n.options.cursorInactiveStyle,cursorWidth:n.options.cursorWidth,dpr:this._devicePixelRatio},ie=re+r.getWidth()-1),y>=re&&y<=ie&&(this._coreBrowserService.isFocused&&b===`block`||this._coreBrowserService.isFocused===!1&&n.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)),g!==0&&(this._model.lineLengths[a]=y+1),(this._model.cells[v]!==g||this._model.cells[v+mw]!==this._cellColorResolver.result.bg||this._model.cells[v+hw]!==this._cellColorResolver.result.fg||this._model.cells[v+gw]!==this._cellColorResolver.result.ext)&&(x=!0,h.length>1&&(g|=_w),this._model.cells[v]=g,this._model.cells[v+mw]=this._cellColorResolver.result.bg,this._model.cells[v+hw]=this._cellColorResolver.result.fg,this._model.cells[v+gw]=this._cellColorResolver.result.ext,_=r.getWidth(),this._glyphRenderer.value.updateCell(y,a,g,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,h,_,i),l)){for(r=this._workCell,y++;y<=f;y++)ee=(a*n.cols+y)*pw,this._glyphRenderer.value.updateCell(y,a,0,0,0,0,US,0,0),this._model.cells[ee]=0,this._model.cells[ee+mw]=this._cellColorResolver.result.bg,this._model.cells[ee+hw]=this._cellColorResolver.result.fg,this._model.cells[ee+gw]=this._cellColorResolver.result.ext;y--}}x&&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(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},OT=class extends SC{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function kT(e,t,n=0){return Math.max(Math.min(e,t),n)}var AT=`di$target`,jT=`di$dependencies`,MT=new Map;function NT(e){if(MT.has(e))return MT.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);PT(t,e,r)};return t._id=e,MT.set(e,t),t}function PT(e,t,n){t[AT]===t?t[jT].push({id:e,index:n}):(t[jT]=[{id:e,index:n}],t[AT]=t)}NT(`BufferService`),NT(`CoreMouseService`),NT(`CoreService`),NT(`CharsetService`),NT(`InstantiationService`),NT(`LogService`);var FT=NT(`OptionsService`);NT(`OscLinkService`),NT(`UnicodeService`),NT(`DecorationService`);var IT={trace:0,debug:1,info:2,warn:3,error:4,off:5},LT=`xterm.js: `,RT=class extends PS{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),zT=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=IT[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:LT)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};RT=pS([mS(0,FT)],RT);var zT,BT=class extends PS{constructor(e){if(VS&&HS()<16&&!document.createElement(`canvas`).getContext(`webgl2`,{antialias:!1,depth:!1,preserveDrawingBuffer:!0}))throw Error(`Webgl2 is only supported on Safari 16 and above`);super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new AC),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new AC),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new AC),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new AC),this.onContextLoss=this._onContextLoss.event}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let n=t.coreService,r=t.optionsService,i=t,a=i._renderService,o=i._characterJoinerService,s=i._charSizeService,c=i._coreBrowserService,l=i._decorationService;i._logService;let u=i._themeService;this._renderer=this._register(new DT(e,o,s,c,n,l,r,u,this._preserveDrawingBuffer)),this._register(TC.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(TC.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(TC.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(TC.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),a.setRenderer(this._renderer),this._register(jS(()=>{if(this._terminal._core._store._isDisposed)return;let t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};function VT(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function HT(e,t,n=[]){let r=new Set(Array.isArray(n)?n:[n]),i=[];for(let n of e)e.length-i.length>=t&&!r.has(n)&&i.push(n);return i}var UT=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,WT=new Map;function GT(e){return e.clientWidth>0&&e.clientHeight>0}function KT(e){if(WT.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,e.webglAddon){try{e.webglAddon.dispose()}catch{}e.webglAddon=null}}function qT(e){let t=[e],n=ef.snapshot().borrowedCardId,r=n?U.get(n):void 0;r&&t.push(r);for(let e of HT([...WT.keys()],UT,t))KT(e),e.needsWebGLReload=!0}function JT(e){e?.term&&VT({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:GT(e.termWrap)})&&XT(e,{isForced:!0})}function YT(){for(let e of WT.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{KT(e),e.needsWebGLReload=!0}}}function XT(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){WT.delete(e),WT.set(e,!0);return}e.webglAddon&&(e.webglAddon.dispose(),e.webglAddon=null,WT.delete(e)),qT(e);let n=new BT;n.onContextLoss(()=>{n.dispose(),e.webglAddon=null,WT.delete(e),e.needsWebGLReload=!0});let r=e.term;if(!r)throw Error(`webgl: the terminal was disposed before the addon loaded`);r.loadAddon(n),e.webglAddon=n,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!GT(e.termWrap),WT.set(e,!0),requestAnimationFrame(()=>{e.webglAddon===n&&e.term&&e.term.refresh(0,e.term.rows-1)})}catch{e.webglAddon=null,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,WT.delete(e)}}var ZT=Object.freeze({min:1}),QT=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),$T=Object.freeze({min:0,label:`zero or more`}),eE=Object.freeze({min:0,max:300}),tE=Object.freeze({min:1,max:60}),nE=Object.freeze({min:.5,max:2}),rE=Object.freeze({min:64,max:16384}),iE=QT,aE=QT,oE=QT,sE=QT,cE=QT,lE=$T,uE=QT,dE=QT,fE=QT,pE=QT,mE=QT,hE=QT,gE=QT,_E=QT,vE=QT,yE=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),bE=Object.freeze({min:1,label:`at least 1`}),xE=Object.freeze({min:1,label:`at least 1`}),SE=$T,CE=Object.freeze({min:1,max:30,label:`between 1 and 30`}),wE=Object.freeze({min:1,max:1440}),TE=Object.freeze({min:1,max:3650}),EE=Object.freeze({min:30,max:3650}),DE=Object.freeze({min:1,max:24}),OE=QT;Object.freeze({scanIntervalMinutes:wE,retainDays:TE,warehouseRetainDays:EE,sessionBlockHours:DE});var kE=Object.freeze({min:15,max:600}),AE=Object.freeze({min:5,max:120}),jE=Object.freeze({min:1,max:5}),ME=Object.freeze({min:1,max:50}),NE=Object.freeze({NON_NEGATIVE_NUMBER_RANGE:$T,FACTORY_MAX_LIVE_WORKERS_RANGE:ZT,FLYING_ANIMALS_GAP_RANGE:eE,FLYING_ANIMALS_DURATION_RANGE:tE,FLYING_ANIMALS_SCALE_RANGE:nE,CHANGE_MAP_NARRATOR_TIMEOUT_RANGE:kE,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:AE,POSTHOG_ESCALATION_RANGE:gE,POSTHOG_FIX_TIMEOUT_RANGE:yE,POSTHOG_INTERVAL_RANGE:fE,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:mE,POSTHOG_MAX_CONCURRENT_RANGE:pE,POSTHOG_MIN_USERS_RANGE:hE,POSTHOG_TRAFFIC_BASELINE_RANGE:CE,POSTHOG_TRAFFIC_COOLDOWN_RANGE:SE,POSTHOG_TRAFFIC_MIN_USERS_RANGE:xE,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:bE,REPLAY_BUFFER_KB_RANGE:rE,USAGE_BUDGET_RANGE:OE,USAGE_RETAIN_DAYS_RANGE:TE,USAGE_SCAN_INTERVAL_RANGE:wE,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:lE,VISIONS_COOLDOWN_MS_RANGE:sE,VISIONS_DISPATCH_TIMEOUT_RANGE:uE,VISIONS_INTENT_THREAD_TTL_MS_RANGE:dE,VISIONS_MAX_PER_HOUR_RANGE:cE,VISIONS_QUIET_MS_RANGE:oE,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:ME,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:jE}),PE=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}],FE=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0});function IE(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function LE(e){if(!Array.isArray(e))return[];let t=new Set(PE.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function RE(e={}){let t=FE,n=eE,r=tE,i=IE(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=IE(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=IE(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=IE(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:IE(e.flyingAnimalsScale,t.flyingAnimalsScale,nE),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:LE(e.flyingAnimalsExcludedSprites)}}function zE(e){return PE.some(t=>!e.includes(t.sprite))}function BE(e,t=-1,n=Math.random){let r=PE.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function VE(e,t,n=Math.random,r){let i=r===void 0?BE(e.flyingAnimalsExcludedSprites,t,n):PE.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds);return{animalIndex:i,durationSeconds:a,gapMs:1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),firstDelaySeconds:n()*a,verticalProgress:n()}}function HE({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}var UE=61.2,WE=37.8,GE=768,KE=.68,qE=64,JE=5;function YE(e,t,n){return Math.min(Math.max(e,t),n)}function XE({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n}){let r=YE(e/GE,KE,1),i=(JE+70*n*n)*t/100;return{scale:r,spriteWidthPx:UE,spriteHeightPx:WE,topPx:Math.max(i,qE),startXpx:-.45*e,endXpx:1.45*e}}function ZE(e,t){return[[`--nyan-top`,`${e.topPx}px`],[`--nyan-scale`,String(e.scale*t)],[`--nyan-width`,`${e.spriteWidthPx}px`],[`--nyan-height`,`${e.spriteHeightPx}px`],[`--nyan-start-x`,`${e.startXpx}px`],[`--nyan-end-x`,`${e.endXpx}px`]]}function QE(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function $E(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var eD=`glimmervoid-ui-prefs`,tD=`glimmervoid:sidebar-width`,nD=e=>t=>typeof t==`boolean`?t:e,rD=e=>t=>typeof t==`string`?t:e,iD=e=>typeof e==`string`&&e?e:null,aD=e=>typeof e==`number`&&Number.isFinite(e)?e:null,oD=e=>t=>aD(t)??e,sD=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],cD={soundEnabled:nD(!0),soundId:rD(pb),themeId:rD(`phyrexian`),flyingAnimalsEnabled:nD(!1),flyingAnimalsMinGapSeconds:oD(FE.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:oD(FE.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:oD(FE.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:oD(FE.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:oD(FE.flyingAnimalsScale),flyingAnimalsOnPhone:nD(FE.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:LE,notificationsEnabled:nD(!0),compactStatusLabels:nD(!1),sessionUsageChips:nD(!1),activeView:rD(`focus`),lastFocusedSessionId:iD,railWidth:aD,reviewSidebarExpanded:nD(!1),reviewSidebarView:e=>e===`map`||e===`notes`?e:`diff`,prsQueueWidth:aD,prsQueueCollapsed:nD(!1),prsMode:e=>e===`mine`?`mine`:`team`,keptProjects:sD,traceHiddenKinds:sD,dismissedUpdate:iD,telemetryNoticeDismissed:nD(!1),radarAttentionAck:rD(``),prsAttentionAck:rD(``),usageAttentionAck:rD(``),visionsAttentionAck:rD(``)};function lD(e,t,n){e[t]=cD[t](n)}function uD(){let e=QE(eD,{}),t={};for(let n of Object.keys(cD))lD(t,n,e?.[n]);return t}function dD(e){return uD()[e]}function fD(e,t){let n=uD();lD(n,e,t),$E(eD,n)}var pD=()=>dD(`soundEnabled`),mD=e=>fD(`soundEnabled`,e),hD=()=>dD(`soundId`),gD=e=>fD(`soundId`,e),_D=()=>dD(`notificationsEnabled`),vD=e=>fD(`notificationsEnabled`,e),yD=()=>dD(`compactStatusLabels`),bD=e=>fD(`compactStatusLabels`,e),xD=()=>dD(`sessionUsageChips`),SD=e=>fD(`sessionUsageChips`,e),CD=()=>dD(`themeId`),wD=e=>fD(`themeId`,e),TD=()=>dD(`flyingAnimalsEnabled`),ED=e=>fD(`flyingAnimalsEnabled`,e),DD=()=>dD(`activeView`),OD=e=>fD(`activeView`,e),kD=()=>dD(`railWidth`),AD=e=>fD(`railWidth`,e),jD=()=>dD(`reviewSidebarExpanded`),MD=e=>fD(`reviewSidebarExpanded`,e),ND=()=>dD(`reviewSidebarView`),PD=e=>fD(`reviewSidebarView`,e),FD=()=>dD(`prsQueueWidth`),ID=e=>fD(`prsQueueWidth`,e),LD=()=>dD(`prsQueueCollapsed`),RD=e=>fD(`prsQueueCollapsed`,e),zD=()=>dD(`prsMode`),BD=e=>fD(`prsMode`,e),VD=()=>dD(`keptProjects`),HD=e=>fD(`keptProjects`,e),UD=()=>dD(`traceHiddenKinds`),WD=e=>fD(`traceHiddenKinds`,e),GD=()=>dD(`dismissedUpdate`),KD=e=>fD(`dismissedUpdate`,e),qD=()=>dD(`telemetryNoticeDismissed`),JD=e=>fD(`telemetryNoticeDismissed`,e),YD=()=>dD(`radarAttentionAck`),XD=e=>fD(`radarAttentionAck`,e),ZD=()=>dD(`prsAttentionAck`),QD=e=>fD(`prsAttentionAck`,e),$D=()=>dD(`usageAttentionAck`),eO=e=>fD(`usageAttentionAck`,e),tO=()=>dD(`visionsAttentionAck`),nO=e=>fD(`visionsAttentionAck`,e),rO=()=>dD(`lastFocusedSessionId`),iO=e=>fD(`lastFocusedSessionId`,e),aO=()=>aD(QE(tD,null)),oO=e=>$E(tD,aD(e)),sO=e=>fD(`flyingAnimalsMinGapSeconds`,e),cO=e=>fD(`flyingAnimalsMaxGapSeconds`,e),lO=e=>fD(`flyingAnimalsMinDurationSeconds`,e),uO=e=>fD(`flyingAnimalsMaxDurationSeconds`,e),dO=e=>fD(`flyingAnimalsScale`,e),fO=e=>fD(`flyingAnimalsOnPhone`,e),pO=e=>fD(`flyingAnimalsExcludedSprites`,e),mO=()=>RE(uD()),hO=()=>{let e=uD();return Object.fromEntries(Object.keys(FE).map(t=>[t,e[t]]))},gO=()=>$E(eD,{...uD(),...FE}),_O=XE({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function vO(e,t=``){let n=V(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${_O.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${_O.spriteHeightPx}px`);let r=V(`div`,`flying-animal-preview-stage`);return r.append(V(`div`,`nyan-trail ${e.trail}`),V(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function yO(){let e=BE(mO().flyingAnimalsExcludedSprites);return e===null?null:PE[e]??null}var bO=1024,xO=250,SO=`(max-width: 768px)`,CO=12,wO=14,TO=5e4,EO=!1;function DO(e){EO=e}var OO=!1;window.addEventListener(`blur`,()=>{OO=!0}),window.addEventListener(`focus`,()=>{OO=!1});function kO(e){let t=document.activeElement;return tx({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:OO,isPhoneLayout:cf()})}function AO(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return new TextDecoder().decode(n)}function jO(e,t){let n=(t instanceof Error?t.message:``)||String(t);console.error(`[clipboard:${e}]`,t),qx(`Clipboard ${e} failed: ${n}`)}function MO(e,t){return U.get(e)===t&&!t.dataWs}function NO(e){return e.querySelector(`:scope > .terminal-connecting`)}function PO(e){if(NO(e))return;let t=V(`div`,`terminal-connecting`);t.append(V(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function FO(e){let t=NO(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=yO();n&&t.prepend(vO(n,`terminal-connecting-animal`))}var IO=new Set;function LO(e){return IO.add(e),()=>IO.delete(e)}function RO(){let e=0;for(let t of U.values())t.card.dataset.link===`connecting`&&e++;return e}function zO(e){let t=Bx({hasTerminal:e.term!==null,isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:UO});if(t===`none`){delete e.card.dataset.link,BO();return}let n=t===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=t,n&&FO(e.termWrap),BO()}function BO(){for(let e of IO)e()}function VO(e,t,n,r){fb.unregister(e),t.dataWs=null,zO(t),t._resetGridClaim?.(),setTimeout(()=>{MO(e,t)&&g().catch(()=>{}).then(()=>{MO(e,t)&&HO(e,t,n)})},r)}function HO(e,t,n){let r=f(location,v(`/terminals/${encodeURIComponent(e)}`)),i=new WebSocket(r);i.binaryType=`arraybuffer`,t.dataWs=i,zO(t);let o=!1,s={hasSeenSize:!1,lastSeq:0};fb.register(e,(e,t)=>n.write(e,t)),i.addEventListener(`message`,r=>{if(t.dataWs!==i)return;let a=sx(r.data,s);if(a.kind===`bytes`){Kf(t),fb.enqueue(e,a.data);return}if(a.kind===`attach-size`){s.hasSeenSize=!0,s.lastSeq=a.seq,n.reset(),t.ptySize={cols:a.cols,rows:a.rows},t._syncGrid?.();return}if(a.kind!==`size`)return;s.lastSeq=a.seq;let o={cols:a.cols,rows:a.rows};fb.enqueueAction(e,()=>{t.ptySize=o,t._syncGrid?.()})}),i.addEventListener(`close`,()=>{if(t.dataWs!==i)return;o||_();let r=a(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,VO(e,t,n,r)}),i.addEventListener(`open`,()=>{o=!0,t._dataWsRetryAttempt=0,zO(t),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===i&&WO(t)},50)})}var UO=!1;function WO(e){let t=e._inputQueue,n=e.dataWs;if(!UO&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0}}function GO(){UO=!0;for(let e of U.values())zO(e)}function KO(){UO=!1;for(let e of U.values())zO(e),WO(e)}function qO(e){let t=ff(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,VO(e,t,t.term,0),n?.close()}function JO(e,t,n){return!e||t==null||t===``?!1:(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!UO&&!e._inputQueue?.length&&e.dataWs?.readyState===WebSocket.OPEN?(e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0):e._inputQueue&&e._inputQueue.length<bO?(e._inputQueue.push(t),!0):!1)}function YO(e,t){let n=window.matchMedia?.(SO).matches?CO:wO,r=new Ay({cursorBlink:EO,fontSize:n,fontFamily:zy(),theme:Wb(),scrollback:TO,allowProposedApi:!0,linkHandler:Ix()}),i=new ip;r.loadAddon(i),PO(e),r.open(e),Rx(r),t.term=r,t.fitAddon=i,KT(t);let a=null,o=null,s=!1,c=null,l=null;function u(){o!==null&&(clearTimeout(o),o=null)}function d(){if(!s)return null;let e=t.fitAddon;if(!e)return null;let n=e.proposeDimensions();return n?{cols:n.cols,rows:n.rows}:null}function f(e){if(!s||!kO(t.card)||t.dataWs?.readyState!==WebSocket.OPEN)return!1;t.dataWs.send(JSON.stringify({type:`claim`,cols:e.cols,rows:e.rows})),c=e,l=null;let n=ex({authoritative:t.ptySize??null,isActiveViewer:s,lastClaim:c});return t.card.dataset.grid=n?`following`:`exact`,!0}function p(e){u(),l=e,o=setTimeout(()=>{o=null,f(e)},xO)}function m(){l&&o===null&&f(l)}function h({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=ix({authoritative:t.ptySize??null,applied:{cols:n.cols,rows:n.rows},proposal:d(),isActiveViewer:s,isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});if(r.resizeTo&&n.resize(r.resizeTo.cols,r.resizeTo.rows),t.card.dataset.grid=r.isFollowing?`following`:`exact`,r.keepsPendingSettle||(u(),l=null),r.sendUnview){c=null,t.dataWs?.send(JSON.stringify({type:`unview`}));return}r.owedClaim&&(e&&f(r.owedClaim)||p(r.owedClaim))}function g(){let e=nx({authoritative:t.ptySize??null,isActiveViewer:s,isDocumentEngaged:kO(t.card),isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});e!==`none`&&(u(),e===`rebid`&&(c=null),h({isActivationEdge:!0}))}let _=new ResizeObserver(()=>{a===null&&(a=requestAnimationFrame(()=>{a=null,h()}))});_.observe(e),t.resizeObserver=_,t._syncGrid=h,t._resetGridClaim=()=>{u(),l=rx({isActiveViewer:s,lastClaim:c,owedClaim:l}),c=null},t._retryOwedGridClaim=m,t._syncGridOnEngagementEdge=g,t._isActiveViewer=()=>s,t._setActiveViewer=e=>{s!==e&&(s=e,u(),l=null,e&&JT(t),h({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{OO=!1,g()},{signal:t.abortController.signal}),XT(t);let v=null;r.onScroll(()=>{v===null&&(v=requestAnimationFrame(()=>{v=null,t.term&&t.term.refresh(0,t.term.rows-1)}))}),r.parser.registerOscHandler(52,e=>{let t=e.indexOf(`;`);if(t<0)return!0;let n=e.slice(t+1);if(n===``||n===`?`)return!0;let r;try{r=AO(n)}catch(e){return jO(`osc52 decode`,e),!0}if(!(document.hasFocus()&&navigator.userActivation?.isActive!==!1))return!0;let i=Wd(r);return i&&i.catch(e=>{jO(`osc52 write`,e)}),!0}),r.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`)return!0;if(document.body.dataset.activeView===`focus`&&eb(e,ob,cb()))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&r.hasSelection()){let e=r.getSelection();r.clearSelection();let t=Wd(e);return t&&t.catch(e=>{jO(`copy`,e)}),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(JO(t,`\x1B`),!1):!0}),XO(e,r,t),uS(e,r)}function XO(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,cf()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=px(i,r.value);return i=r.value,e!==``&&(JO(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{if(!cf()){a();return}n(e)},!0)};c(`keydown`,e=>{if(fx(e)){e.stopPropagation();return}s(),queueMicrotask(o)}),c(`compositionstart`,e=>{e.stopPropagation()}),c(`compositionupdate`,e=>{e.stopPropagation()}),c(`compositionend`,e=>{e.stopPropagation(),setTimeout(s,0)}),c(`input`,e=>{if(!dx(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=lx(e.inputType);r!==``&&(JO(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}var ZO=new Set;function QO(e){return ZO.add(e),()=>ZO.delete(e)}function $O(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(n=>{if(!JO(e,n))return;let r=zx(n);for(let e of ZO)e(t,r)}),tk(e.termWrap,t,e.abortController.signal),HO(t,e,n))}function ek(e){return!!e&&Array.from(e.types).includes(`Files`)}function tk(e,t,n){e.addEventListener(`paste`,e=>{let n=e.clipboardData;n&&n.files.length!==0&&n.getData(`text/plain`)===``&&(e.preventDefault(),e.stopPropagation(),Yx(t,Array.from(n.files)))},{capture:!0,signal:n}),e.addEventListener(`dragover`,e=>{ek(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},{signal:n}),e.addEventListener(`drop`,e=>{ek(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),Yx(t,Array.from(e.dataTransfer.files)))},{capture:!0,signal:n})}function nk(e,t){e.term||(YO(e.termWrap,e),$O(e,t))}function rk(e){e?._syncGridOnEngagementEdge?.()}function ik(e,t){if(!e)return;nk(e,t),JT(e);let n=e.term;n&&(n.refresh(0,n.rows-1),rk(e))}function ak(e,t,n){e&&(n&&nk(e,t),e._setActiveViewer?.(n))}function ok(e){let t=/^@@+ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{oldStart:n,newStart:r}}function sk(e){let t=[];if(!e)return t;let n=String(e).split(/\r?\n/),r=null,i=null,a=null,o=null,s=()=>{if(a===null)return null;let e=a;return a=e+1,e},c=()=>{if(o===null)return null;let e=o;return o=e+1,e},l=e=>{let n={path:``,oldPath:null,status:`modified`,added:0,removed:0,binary:!1,hunks:[]};t.push(n),i=null;let r=/^diff --git a\/(.+?) b\/(.+)$/.exec(e);return r&&(n.oldPath=r[1]??null,n.path=r[2]??``),n};for(let e of n){if(e.startsWith(`diff --git `)){r=l(e);continue}if(!r){if(!e.startsWith(`--- `)&&!e.startsWith(`@@`))continue;r=l(`diff --git a/ b/`)}if(r){if(e.startsWith(`new file mode`)){r.status=`added`;continue}if(e.startsWith(`deleted file mode`)){r.status=`deleted`;continue}if(e.startsWith(`rename from `)){r.oldPath=e.slice(12),r.status=`renamed`;continue}if(e.startsWith(`rename to `)){r.path=e.slice(10),r.status=`renamed`;continue}if(e.startsWith(`Binary files`)){r.binary=!0;continue}if(!(e.startsWith(`index `)||e.startsWith(`similarity index`)||e.startsWith(`dissimilarity index`)||e.startsWith(`old mode`)||e.startsWith(`new mode`))){if(e.startsWith(`--- `)){if(e===`--- /dev/null`){r.status=`added`;continue}if(!r.path){let t=e.slice(4).replace(/^a\//,``);t&&t!==`/dev/null`&&(r.oldPath=r.oldPath||t)}continue}if(e.startsWith(`+++ `)){if(e===`+++ /dev/null`){r.status=`deleted`;continue}if(!r.path){let t=e.slice(4).replace(/^b\//,``);t&&t!==`/dev/null`&&(r.path=t)}continue}if(e.startsWith(`@@`)){i={header:e,lines:[]},r.hunks.push(i);let t=ok(e);a=t?t.oldStart:null,o=t?t.newStart:null;continue}if(i){if(e===``)continue;let t=e[0];if(t===`+`){i.lines.push({type:`add`,text:e.slice(1),oldLineNumber:null,newLineNumber:c()}),r.added++;continue}if(t===`-`){i.lines.push({type:`del`,text:e.slice(1),oldLineNumber:s(),newLineNumber:null}),r.removed++;continue}if(t===`\\`){i.lines.push({type:`meta`,text:e.slice(1).trim(),oldLineNumber:null,newLineNumber:null});continue}i.lines.push({type:`context`,text:t===` `?e.slice(1):e,oldLineNumber:s(),newLineNumber:c()})}}}}for(let e of t)e.path||=e.oldPath||`(unknown)`;return t}function ck(e,t,n,r){return`${e}:${r}:${n}:${t}`}function lk(e,t,n){if(!e)return[];let r=new Set;if(e.committed!==t.committed&&r.add(`committed`),e.uncommitted!==t.uncommitted&&r.add(`uncommitted`),r.size===0)return[];let i=[];for(let e of n)r.has(e.slice(0,e.indexOf(`:`)))&&i.push(e);return i}function uk(e,t){return t.type===`del`?t.oldLineNumber===null?null:{path:e.path,line:t.oldLineNumber,side:`old`}:t.newLineNumber===null?null:{path:e.path,line:t.newLineNumber,side:`new`}}function dk(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function fk(e){let t=0,n=0;for(let r of e||[])t+=r.added||0,n+=r.removed||0;return{files:(e||[]).length,added:t,removed:n}}function pk(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function X(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function mk(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function hk(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function gk({getAck:e,setAck:t,signature:n,isLooking:r}){let i=e(),a=e=>{e!==i&&(i=e,t(e))};return{refresh(){let e=n(),t=hk(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function _k(e,{label:t,tab:n}){if(!e)return`Waiting for ${t} status from the server.`;let r=typeof e.reason==`string`?e.reason.trim():``;return e.configured===!1&&r?`${t} is misconfigured: ${r}. Open Settings and its ${n} tab.`:e.configured===!1?`${t} is off. Open Settings and its ${n} tab to switch it on.`:`${t} is on. Waiting for the first poll.`}var vk=`machine-updates`,yk=`update-actions`,bk={spiking:0,regressed:1,worsened:2,new:3,quiet:4},xk={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},Sk=99,Ck={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function wk(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=pk(t?.tool,``);return n?[{at:X(t?.at,0),tool:n,detail:pk(t?.detail,``)}]:[]}):[]}function Tk(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function Ek(e){let t=wk(e?.trail).at(-1);return t?Tk(t):``}function Dk(e){let t=pk(e?.summaryLine,``);return e?.inFlight===!0&&Ek(e)||t}function Ok(e){return{inFlight:e?.inFlight===!0,startedAt:X(e?.startedAt,null),steps:wk(e?.trail),verdict:pk(e?.verdict,``),summaryLine:pk(e?.summaryLine,``)}}function kk(e,t,n){let r=String(t??``),i=String(n??``);if(!r||!i)return null;for(let t of Array.isArray(e?.projects)?e.projects:[])if(String(t?.projectId??``)===r){for(let e of Array.isArray(t.issues)?t.issues:[])if(String(e?.issueId??``)===i)return e}return null}function Ak(e,t){let n=kk(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=X(t?.startedAt,null),n.trail=wk(t?.trail),!0):!1}function jk(e){return{inFlight:!1,startedAt:X(e?.startedAt,null),steps:wk(e?.trail),verdict:pk(e?.verdict,``),summaryLine:pk(e?.summaryLine,``)}}function Mk(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function Nk(e,t){let n=kk(e,t?.projectId,t?.issueId);if(!n)return!1;let r=jk(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function Pk(e){return Ck[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function Fk(e){return Lf(e,{rounding:`round`,showsHours:!1})}function Ik(e,t){return e==null?``:`+${Fk(t-e)}`}function Lk(e){let t=e.steps.at(-1);return[e.steps.length,t?.at??0,t?.tool??``].join(`::`)}function Rk(e,t){if(e.inFlight){let n=`${e.steps.length} ${e.steps.length===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${n}`}return e.verdict?`finished: ${Pk(e.verdict)}`:`finished`}function zk(e){return _k(e,{label:`PostHog monitoring`,tab:`PostHog`})}function Bk(e){return X(e.intervalMinutes,null)!==null}function Vk(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:Bk(e)?`placeholder`:`pending`}function Hk(e){return xk[e??``]||`dim`}function Uk(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function Wk(e){let t=pk(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Gk(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Kk(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function qk(e,t=64,n=16){let r=Gk(e);if(r.length<2)return``;let i=Math.max(...r),a=Math.min(...r),o=t/(r.length-1),s=n/2,c=i-a;return r.map((e,t)=>{let r=t*o,i=c===0?s:n-(e-a)/c*n;return`${Number(r.toFixed(2))},${Number(i.toFixed(2))}`}).join(` `)}function Jk(e){if(e.length<4)return null;let t=Math.floor(e.length/2),n=e.slice(0,t).reduce((e,t)=>e+t,0);if(n===0)return null;let r=e.slice(-t).reduce((e,t)=>e+t,0),i=Math.round(Math.abs(r-n)/Math.abs(n)*100);return r>n?{direction:`up`,percent:i}:r<n?{direction:`down`,percent:i}:{direction:`flat`,percent:i}}function Yk(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function Xk(e){let t=Array.isArray(e)?e:[],n=0,r=0;for(let e of t)e?.change===`spiking`&&(n+=1),e?.verdict===`NEEDS_HUMAN`&&(r+=1);return{active:t.length,spiking:n,needsHuman:r}}var Zk=3e5;function Qk(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Zk:t*2}function $k(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function eA(e){let t=$k(pk(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function tA(e){let t=pk(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function nA(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=tA(e?.host);n&&t.add(n)}return t.size>1}function rA(e,t,n={}){let r=Xk(e?.issues),i=pk(e?.error,``).slice(0,200),a=Number(t),o=Number(e?.lastTickAt),s=Number.isFinite(a)&&Number.isFinite(o)&&o>0?a-o:0,c=s>Qk(n.intervalMs)?s:0;return{loud:r.active>0||r.spiking>0||!!i||c>0,counts:r,error:i,staleMs:c}}function iA(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=rA(e,t,n),o={project:e,...a};if(a.loud){r.push(o);continue}i.push(o)}return{loud:r,quiet:i}}function aA(e,t=null){return(Array.isArray(e?.investigations)?e.investigations:[]).filter(e=>typeof e==`object`&&!!e).filter(e=>typeof e.id==`string`&&e.id!==``).filter(e=>e.archived!==!0).filter(e=>!t?.has(e.id)).map(e=>({id:e.id,issueId:pk(e.issueId,``),projectId:e.projectId??null,projectLabel:pk(e.projectName,``),title:pk(e.title,`Untitled issue`),summaryLine:pk(e.summaryLine,``),url:pk(e.url,``),verdict:pk(e.verdict,`ERROR`).toUpperCase(),mode:pk(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(pk(e.prUrl,``))?pk(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function oA(e,t){if(!t||t.size===0)return t;let n=Array.isArray(e?.investigations)?e.investigations:[],r=new Set;for(let e of n){if(typeof e!=`object`||!e)continue;let{id:t}=e;typeof t==`string`&&r.add(t)}for(let e of[...t])r.has(e)||t.delete(e);return t}function sA(e,t){let n=pk(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=el(t,{validate:!0});return r?`commit ${r}`:``}function cA(e){return`Update available: ${sA(e?.current,e?.currentSha)} to ${sA(e?.latest,e?.latestSha)}`}function lA({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=pk(e?.projectId,pk(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=pk(i?.issueId,pk(i?.title,`#${e}`));i?.change===`spiking`&&t.push(`issue:${n}/${a}:spiking`),i?.verdict===`NEEDS_HUMAN`&&t.push(`issue:${n}/${a}:needs-human`)}}return t}function uA(e={}){return mk(lA(e))}function dA(e){return bk[e??``]??Sk}function fA(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=dA(e.issue?.change)-dA(t.issue?.change);if(n!==0)return n;let r=X(t.issue?.users,0)-X(e.issue?.users,0);if(r!==0)return r;let i=X(t.issue?.occurrences,0)-X(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var pA=5e3;function mA(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function hA(e,t){if(!e.toolUseId)return mA(e.text)??`context`;let n=t.get(e.toolUseId);return n?Gs(n.name,n.input)||n.name:`expansion`}function gA(e){return e.kind!==`expansion`||e.toolUseId?!1:mA(e.text)!==null}function _A(e){return e.kind===`prompt`||e.kind===`session`||gA(e)}function vA(e){return new TextEncoder().encode(e).byteLength}function yA(e){return e.kind===`prompt`||e.kind===`expansion`||e.kind===`thinking`||e.kind===`assistant`||e.kind===`notice`?e.text:e.kind===`tool_result`?e.content:e.kind===`raw`?e.line:e.kind===`tool_call`?JSON.stringify(e.input,null,2)??String(e.input??``):[`${e.vendor} ${e.vendorSessionId}`,e.transcriptPath,e.reason??``].filter(Boolean).join(`
|
|
134
|
-
`)}var bA={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`},xA=[{kind:`thinking`,label:`Thinking`},{kind:`tool_result`,label:`Tool result`},{kind:`raw`,label:`Raw`}];function SA(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:Us(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:Us(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:Us(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:Us(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:Us(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:hA(e,t)};if(e.kind===`tool_call`){let t=Gs(e.name,e.input);return t?{prefix:`${e.name}: `,text:t}:{prefix:``,text:e.name}}return{prefix:`${t.get(e.toolUseId)?.name??`Tool`} result: `,text:`${vA(e.content)} bytes`}}function CA(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function wA(e,t){let n=SA(e,t),r=CA(e),i=e.kind===`tool_call`||e.kind===`tool_result`?`${n.prefix}${n.text}`:n.text,a=[],o=e.kind===`notice`?`muted`:`default`;if(e.kind===`tool_result`&&e.isError&&(o=`error`,a.push(`error`)),e.truncated===!0&&(o!==`error`&&(o=`muted`),a.push(`truncated`)),e.kind===`tool_result`){let n=t.get(e.toolUseId),r=n?e.ts-n.ts:NaN;Number.isFinite(r)&&r>=0&&a.push(r>1e3?`${(r/1e3).toFixed(1)}s`:`${Math.round(r)}ms`)}return{kind:e.kind,tag:bA[e.kind],text:`${r}${i}`,tone:o,badges:a}}function TA(e,t){return{record:e,...wA(e,t)}}function EA(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function DA(e,t){let n=EA(e);return!n||t.has(n)?null:n}function OA(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function kA(e,t){let n=(e.get(t)??0)-1;if(n>0){e.set(t,n);return}e.delete(t)}function AA(e,t){if(t.size!==0)for(let n of e.turns)for(let r=0;r<n.rows.length;r+=1){let i=n.rows[r],a=EA(i.record);a&&t.has(a)&&(n.rows[r]=TA(i.record,e.toolCallByUseId))}}function jA(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function MA(e){if(e.startedAt===null)return 0;let t=e.head?.record.ts??e.startedAt;for(let n of e.rows)t=Math.max(t,n.record.ts);return Math.max(0,t-e.startedAt)}function NA(e){let{rowCount:t,toolCallCount:n,errorCount:r,resultBytes:i}=e.metrics;return`${`${t} ${t===1?`row`:`rows`}`}, ${`${n} ${n===1?`tool`:`tools`}`}, ${`${r} ${r===1?`error`:`errors`}`}, ${Rf(i,`KB`)}, ${Fk(MA(e))}`}function PA(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function FA(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=vA(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function IA(e,t){for(let n of t)n.kind===`tool_call`&&e.toolCallByUseId.set(n.toolUseId,n);let n=[],r=e.turns[e.turns.length-1]??null;for(let i of t){let t=DA(i,e.toolCallByUseId);t&&OA(e.unresolvedToolUseCounts,t);let a=TA(i,e.toolCallByUseId);if(_A(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:PA()},FA(r,a,1),e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:a,rows:[]});continue}r||(r={head:null,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:PA()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),FA(r,a,1);let o=e.turns.length-1,s=n[n.length-1];if(s&&s.turnIndex===o){s.rows.push(a);continue}n.push({turnIndex:o,isNewTurn:!1,head:null,rows:[a]})}return n}function LA(e,t){let n=jA();IA(n,t);let r=new Set;for(let[t,i]of n.toolCallByUseId)e.toolCallByUseId.has(t)||(e.toolCallByUseId.set(t,i),r.add(t));let i=new Set;for(let t of r)e.unresolvedToolUseCounts.delete(t)&&i.add(t);for(let[t,r]of n.unresolvedToolUseCounts)e.toolCallByUseId.has(t)||OA(e.unresolvedToolUseCounts,t,r);let a=n.turns[n.turns.length-1],o=e.turns[0],s=!!a&&!!o&&!o.head,c=s?a.head:null,l=s?a.rows:[];if(s){n.turns.pop();let e=a.startedAt,t=o.startedAt;e!==null&&(t===null||e<t)&&(o.startedAt=a.startedAt),o.head=c,o.rows=[...l,...o.rows],o.metrics={rowCount:a.metrics.rowCount+o.metrics.rowCount,toolCallCount:a.metrics.toolCallCount+o.metrics.toolCallCount,errorCount:a.metrics.errorCount+o.metrics.errorCount,resultBytes:a.metrics.resultBytes+o.metrics.resultBytes}}return e.turns=[...n.turns,...e.turns],AA(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function RA(e){return e.rows.length+ +!!e.head}function zA(e){let t=0;for(let n of e.turns)t+=RA(n);return t}function BA(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=EA(n.record);t&&kA(e.unresolvedToolUseCounts,t)}}function VA(e,t){BA(e,t.head?[t.head,...t.rows]:t.rows)}function HA(e,t){let n=e.turns[0];if(!n)return 0;let r=Math.min(t,n.rows.length);if(r<=0)return 0;let i=n.rows.slice(0,r);BA(e,i);for(let e of i)FA(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function UA(e,t=pA){let n=zA(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=RA(t),VA(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:HA(e,n-t)}}function WA(e){let t=[],n=new Set;for(let r of e)r.id&&r.name&&!n.has(r.id)&&(n.add(r.id),t.push({id:r.id,label:r.name}));return t}function GA(e,t,n,r=!0){return t&&e.some(e=>e.id===t)?t:n&&e.some(e=>e.id===n)?n:r?e[0]?.id??null:null}function KA(e){return!e.selectedSessionId||!e.isPanelVisible||e.hasPendingRequest?null:e.hasLoadedOnce?{id:e.selectedSessionId,direction:`forward`,after:e.nextOffset}:{id:e.selectedSessionId,direction:`tail`,after:0,endingAt:`tail`}}function qA(e,t=pA){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function JA(e,t=pA){return!qA(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function YA(e){let{pendingRequest:t,resident:n,reply:r}=e;return!t||t.id!==r.id?`ignore`:!n||n.sessionId!==r.id?`stale`:r.reset||r.next<r.start?`reset`:t.direction===`tail`?n.hasLoadedOnce?`stale`:`seed`:t.direction===`earlier`?n.firstOffset===t.endingAt?r.next===t.endingAt?`prepend`:`reset`:`stale`:n.nextOffset===t.after?r.start===t.after?`append`:`reset`:`stale`}function XA(e){return e.hasSelectionChanged||e.isRenderedTraceStale||!e.hasRenderedOnce}function ZA(e,t,n){return e!==0||t?null:n?.startedAt??null}function QA(e,t){return $A(e,t)?e.filter(e=>e!==t):[...e,t]}function $A(e,t){return e.includes(t)}function ej(e){return e?`No trace has been recorded for ${e.label}.`:`No sessions are available.`}var tj=.32,nj=.6,rj=.88,ij=.98,aj=1.12,oj=2*Math.PI,sj={now:tj,next:nj,later:rj};function cj(e,t=0){let n=2166136261^t;for(let t=0;t<e.length;t+=1)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0)/4294967296}function lj(e,t){return t===`working`||t===`ready`?ij+cj(e,1)*.14000000000000012:sj[t]}function xie(e){let t=[];for(let{id:n,tier:r}of e)r!==`resting`&&t.push({id:n,tier:r,angle:cj(n)*oj,radius:lj(n,r)});if(t.length<2)return t;let n=[...t].sort((e,t)=>e.angle-t.angle),r=oj/n.length,i=n.reduce((e,t,i)=>Math.max(e,t.angle-oj+(n.length-i)*r),n[0].angle);return n.forEach((e,t)=>{e.angle=(i+t*r)%oj}),t}function Sie(e){return e>640}function uj(e){return e.reviews.filter(e=>e.state===`open`&&e.openRevision!==null).sort((e,t)=>(t.openRevision?.since??0)-(e.openRevision?.since??0))[0]??null}var dj=Object.freeze({now:0,next:1,later:2,ready:3,working:4,resting:5}),Cie=new Map(Object.entries({WAITING:{tier:`now`,"needs-you":`always`,"phone-triage":`always`,calm:`always`,favicon:`always`},FAILED:{tier:`next`,"needs-you":`never`,"phone-triage":`always`,calm:`always`,favicon:`never`},COMPLETE:{tier:`later`,"needs-you":`unseen`,"phone-triage":`always`,calm:`always`,favicon:`always`},IDLE:{tier:`ready`,"needs-you":`never`,"phone-triage":`never`,calm:`later-when-turn-ended`,favicon:`never`},RUNNING:{tier:`working`,"needs-you":`never`,"phone-triage":`always`,calm:`always`,favicon:`never`},STARTING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,calm:`always`,favicon:`never`},INITIALIZING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,calm:`always`,favicon:`never`},DORMANT:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,calm:`never`,favicon:`never`},DONE:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,calm:`never`,favicon:`never`}}));function fj(e,t){let n=typeof e.state==`string`?Cie.get(e.state):void 0;if(!n)return`resting`;let r=n[t];return r===`never`||r===`unseen`&&e.unseen!==!0?`resting`:r===`later-when-turn-ended`&&e.hasEndedTurn===!0?`later`:n.tier}function pj(e,t){return dj[fj(e,t)]}function wie(e,t){return[...e].map(([e,n])=>{let r=n.currentState||F.DORMANT;return{id:e,ui:n,name:t(n),isDormant:r===F.DORMANT,state:r,unseen:!1}})}function mj(e){return[...e].sort((e,t)=>(e.isDormant===t.isDormant?0:e.isDormant?1:-1)||String(e.name).localeCompare(String(t.name),void 0,{numeric:!0,sensitivity:`base`}))}function hj(e,t){return e.length?e[((t==null?-1:e.indexOf(t))+1)%e.length]:null}function gj(e,t,n){if(!e.length)return null;let r=n<0?-1:1,i=t==null?-1:e.indexOf(t);return e[((i===-1?r===1?-1:0:i)+r+e.length)%e.length]}function _j({state:e,unseen:t}={}){return pj({state:e,unseen:t},`needs-you`)<dj.ready}function vj(e){let t=0;for(let n of e||[])_j(n||{})&&t++;return t}function yj(e){return e<=0?`ALL CLEAR`:e===1?`1 NEEDS YOU`:`${e} NEED YOU`}var Tie=new Map([[`hand`,2]]),Eie=1;function Die(e){return e?typeof e==`string`&&Tie.get(e)||Eie:0}function Oie(e){let t=!1,n=0;for(let r of e||[]){let e=Die(r);e<=n||(t=typeof r!=`string`||r,n=e)}return t}var kie=`Estimated list prices, not a bill.`,Aie=`Enable in Settings.`,bj=Object.freeze([{value:`7`,label:`Last 7 days`,days:7},{value:`30`,label:`Last 30 days`,days:30},{value:`90`,label:`Last 90 days`,days:90},{value:`all`,label:`All retained`,days:null}]),xj=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Sj=/^(\d{4})-(\d{2})-(\d{2})$/,jie=new Set([`day`,`model`,`label`]),Mie=new Set([`model`,`label`]);function Cj(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function wj(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function Tj(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${Cj(String(Math.abs(t)))}`}function Ej(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.abs(e);if(t===0)return`$0.00`;let n=e<0?`-`:``;if(t<1e-4)return e<0?`above -$0.0001`:`<$0.0001`;if(t<.01)return`${n}$${t.toFixed(4)}`;let[r,i]=t.toFixed(2).split(`.`);return`${n}$${Cj(r)}.${i}`}function Dj(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=e<0?`-`:``,n=Math.abs(e);if(n<1e3){let e=Math.round(n);return`${e===0?``:t}${e}`}return n<999950?`${t}${wj((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${wj((n/1e6).toFixed(2))}M`:`${t}${wj((n/1e9).toFixed(2))}B`}function Oj(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${wj(e.toFixed(1))}%`}function kj(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function Aj(e){return e===`costUSD`?`share of cost`:`share of tokens`}function jj(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function Mj(e){let t=Sj.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=xj[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function Nie(e){let t=Pie(e);return t.length===0?``:t.length===1?Mj(t[0]):`${Mj(t[0])} to ${Mj(t[t.length-1])}`}function Pie(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>Sj.test(e)).sort()}function Nj(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:Fie(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function Fie(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=Pj(e,n);return Sj.test(r)?r:Pj(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function Pj(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function Fj(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:If(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function Iie(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=xj[n.getMonth()];return r?`${r} ${n.getDate()} ${Bf(n)}`:`-`}function Lie(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${Dj(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:Dj(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:Ej(e.costPerHour),sub:``}),t}function Rie(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${Dj(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(Ej(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${Fj(e.remainingMinutes)} left in this block`:``;if(t.length===0)return n;let r=`-> ${t.join(`, `)} by block end`;return n?`${r}, ${n}`:r}function Ij(e,t=Date.now()){let n=Number(e?.startTs),r=Number(e?.endTs);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=(r-n)/6e4,a=Math.min(Math.max((t-n)/6e4,0),i);return{totalMinutes:i,elapsedMinutes:a,remainingMinutes:Math.max(i-a,0),pct:Math.round(a/i*100)}}function Lj(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=80?`warn`:`ok`}function Rj(e){let t=X(e?.max,null);return t===null||t<=0?null:t}function zj(e){let t=Rj(e),n=X(e?.pct,null);return t===null||n===null?null:n*100}function Bj(e,t){let n=Rj(t),r=X(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}function zie(e){let t=zj(e);return t===null?``:`${Math.round(t)}% of ${Dj(e?.max)} tokens, the largest completed block seen`}function Bie(e,t){let n=Bj(e,t);return n===null?``:n>=100?`On this burn rate the block ends past that reference, at ${Math.round(n)}% of it.`:`On this burn rate the block ends at ${Math.round(n)}% of that reference.`}var Vie=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function Hie(e){let t=Vie.map(t=>{let n=Number(e?.[t.key]);return{spec:t,tokens:Number.isFinite(n)&&n>0?n:0}}),n=t.reduce((e,t)=>e+t.tokens,0);return n<=0?[]:t.map(e=>{let t=jj(e.tokens,n)??0,r=Dj(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${Oj(t)}`}})}var Vj=Object.freeze({interactive:`Interactive`,"pr-review":`PR review`,"team-review":`PR reviews`,posthog:`PostHog`,"my-prs":`Keep mergeable`,workflows:`Workflows`,"change-map":`Change map`,visions:`Visions`,benchmark:`Benchmarks`,"agent-spawn":`Agent API`,"task-title":`Task titles`,other:`Other`}),Uie=`Sessions spawned by Glimmervoid; terminal sessions count as other`,Wie=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function Hj(e){let t=pk(e,``);return t?Vj[t]||t:Vj.other}function Uj(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function Wj(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function Gie(e){return Uj(e).some(e=>Wj(e.lane))}var Kie=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function qie(e,t,n){let r=lM(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function Jie(e,t,n,r){if(!Array.isArray(t))return null;let i=t.filter(e=>e&&typeof e.lane==`string`),a=i.reduce((e,t)=>e+X(t.costUSD,0),0),o=i.reduce((e,t)=>e+X(t.tokens,0),0),s=i.filter(e=>Wj(e.lane)).map(e=>({lane:String(e.lane),label:Hj(e.lane),tokens:X(e.tokens,0),costUSD:X(e.costUSD,0)})),c=s.reduce((e,t)=>e+t.costUSD,0),l=s.reduce((e,t)=>e+t.tokens,0),u=a>0?jj(c,a):jj(l,o),d=qie(n,e,r),f=u===null||d===null?null:u/100*d;return{key:e,label:Kie[e],tokens:l,costUSD:c,sharePct:u,planPct:f,lanes:s}}function Yie(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:cM.map(e=>Jie(e.key,r[e.key],t,n)).filter(e=>e!==null)}function Xie(e){return e.planPct===null?``:`about ${Oj(e.planPct)} of plan`}function Zie(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?Ej(e.costUSD):Dj(e.tokens)}`).join(`, `)}var Gj=`team-review`;function Qie(e){if(!Array.isArray(e?.byLane))return null;let t=Uj(e).find(e=>e.lane===Gj),n=X(t?.costUSD,0),r=X(t?.tokens,0),i=kj(e?.totals),a=jj(i===`costUSD`?n:r,e?.totals?.[i]),o=a===null?``:`${Oj(a)} of range ${i===`costUSD`?`cost`:`tokens`}`,s=[Ej(n),o,Kj(t?.sessions)].filter(Boolean).join(`, `);return{label:Hj(Gj),value:Dj(r),sub:s}}function Kj(e){let t=X(e,null);return t===null||t<=0?``:`${Tj(t)} ${t===1?`session`:`sessions`}`}function qj(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function Jj(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function $ie(e){return qj(e)!==null||Jj(e)!==null}function eae(e){let t=qj(e);if(!t)return null;let n=X(t.commands,0),r=n===1?`command`:`commands`;return{value:`${Dj(X(t.savedTokens,0))} tokens`,sub:`${Oj(X(t.savingsPct,0))} avg across ${Tj(n)} ${r}`}}function tae(e){let t=Jj(e);if(!t)return null;let n=Dj(X(t.cacheReadTokens,0)),r=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),i=`${n} cache read tokens`;if(r.length===0)return{value:Ej(X(t.savedUSD,0)),sub:i};let a=r.length===1?`model`:`models`;return{value:Ej(X(t.savedUSD,0)),sub:`${i}, a floor (${r.length} unpriced ${a})`}}function Yj(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&X(e.budgetUsd,null)!==null):[]}function Xj(e){return e===`monthly`?`this month`:`today`}function nae(e){return`${Ej(X(e?.spentUsd,0))} of ${Ej(X(e?.budgetUsd,0))}`}function Zj(e){let t=X(e?.pct,null);return t===null?0:t}function rae(e){return`${Xj(e?.scope)} spend against budget`}var Qj=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function $j(e){let t=Sj.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function eM(e){let t=$j(e);if(!t)return``;let n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),zf(t)}function iae(e){let t=Sj.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function aae(e){return{key:e,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0,days:0,sources:new Set,vendorSet:new Set,modelByName:new Map}}function oae(e,t){e.tokens+=X(t?.tokens,0),e.costUSD+=X(t?.costUSD,0),e.input+=X(t?.input,0),e.output+=X(t?.output,0),e.cacheCreate+=X(t?.cacheCreate,0),e.cacheRead+=X(t?.cacheRead,0),e.days+=1,e.sources.add(t?.source===`history`?`history`:`live`);let n=Array.isArray(t?.vendors)?t.vendors:[];for(let t of n)e.vendorSet.add(t);let r=t?.models||[];for(let t of r){t?.vendor&&e.vendorSet.add(t.vendor);let n=_M(t),r=e.modelByName.get(n)||{key:n,model:t?.model??n,vendor:t?.vendor,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0};r.tokens+=X(t?.tokens,0),r.costUSD+=X(t?.costUSD,0),r.input+=X(t?.input,0),r.output+=X(t?.output,0),r.cacheCreate+=X(t?.cacheCreate,0),r.cacheRead+=X(t?.cacheRead,0),e.modelByName.set(n,r)}}function sae(e){let{modelByName:t,sources:n,vendorSet:r,...i}=e,a={...i};return a.day=e.key,a.models=Array.from(t.values()).sort((e,t)=>t.tokens-e.tokens),a.source=n.has(`live`)?`live`:`history`,a.vendors=Array.from(r).sort(),a}function tM(e,t){let n=new Map,r=Array.isArray(e)?e:[];for(let e of r){let r=t(e?.day);if(!r)continue;let i=n.get(r)||aae(r);oae(i,e),n.set(r,i)}return Array.from(n.values()).map(sae)}function cae(e){return tM(e,eM)}function lae(e){return tM(e,iae)}function uae(e,t){return t===`week`?cae(e):t===`month`?lae(e):Array.isArray(e)?[...e]:[]}var dae=/^(\d{4})-(\d{2})$/;function fae(e,t){if(t===`month`){let t=dae.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=xj[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=Mj(e);return t===`-`?t:`week of ${t}`}return Mj(e)}function pae(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var nM=Object.freeze([.05,.25,.5,.75]),mae=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function hae(e,t){let n=X(e,0),r=X(t,0);if(n<=0||r<=0)return 0;let i=n/r,a=1;for(let e=0;e<nM.length;e+=1)i>=nM[e]&&(a=e+1);return a}function gae(e,{weeks:t=16,today:n=new Date}={}){let r=(Array.isArray(e)?e:[]).filter(e=>Sj.test(String(e?.day??``))),i=new Map(r.map(e=>[String(e.day),e])),a=n instanceof Date?n:new Date(n),o=Number.isFinite(a.getTime())?a:new Date,s=typeof n==`string`&&Sj.test(n)?n:zf(o),c=$j(eM(s));if(!c)return{cells:[],max:0,weeks:0};let l=new Date(c.getFullYear(),c.getMonth(),c.getDate()-(t-1)*7,12),u=zf(l),d=[],f=0,p=null;for(let e of r){let t=String(e.day);(p===null||t<p)&&(p=t),!(t<u||t>s)&&(f=Math.max(f,X(e.tokens,0)))}for(let e=0;e<t;e+=1)for(let t=0;t<7;t+=1){let n=zf(new Date(l.getFullYear(),l.getMonth(),l.getDate()+e*7+t,12)),r=i.get(n)||null,a=n>s,o=p!==null&&n<p;d.push({day:n,week:e,weekday:t,tokens:X(r?.tokens,0),costUSD:X(r?.costUSD,0),source:r?.source===`history`?`history`:r?`live`:null,noData:a||o||!r&&p===null,tone:hae(r?.tokens,f)})}return{cells:d,max:f,weeks:t}}function _ae(e){let t=Mj(e?.day);if(e?.noData)return`${t}: no data`;let n=X(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${Dj(n)} tokens, ${Ej(X(e?.costUSD,0))}`}function vae(e){if(!e)return``;let t=X(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${rM(e.ratio)} the ${n} average: ${Ej(e.todayUsd)} against ${Ej(e.baselineUsd)}.`}function yae(e){return e?`This block is burning ${rM(e.ratio)} the usual rate: ${Dj(e.current)} tokens per minute against ${Dj(e.baseline)}.`:``}function bae(e){return[vae(e?.daily),yae(e?.burn)].filter(Boolean).join(` `)}function xae(e){return e?.daily||e?.burn?`warn`:`ok`}function Sae(e){return!!(e?.daily||e?.burn)}function rM(e){let t=X(e,null);return t===null?`-`:`${wj(t.toFixed(1))}x`}var iM=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function aM(e){let t=pk(e,``);return t?iM[t]||t:iM.claude}function Cae(e,t){return oM(t)?aM(e?.vendor):``}function wae(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>X(t[n]?.tokens,0)-X(t[e]?.tokens,0)).map(e=>({vendor:e,label:aM(e),tokens:X(t[e]?.tokens,0),costUSD:X(t[e]?.costUSD,0)}))}function oM(e){let t=e?.byVendor;if(!t||typeof t!=`object`)return!1;let n=Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`);return n.length>1||n.length===1&&n[0]!==`claude`}var Tae=`Claude only`;function sM(e){return oM(e)?Tae:``}var Eae=36e5,cM=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]);function lM(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=X(n.pct,null),i=X(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function Dae(e){return cM.some(t=>lM(e,t.key)!==null)}function Oae(e){return lM(e,`fiveHour`)?.pct??null}function uM(e){return e===`official`?`official, from Claude Code`:e===`estimated`?`estimated from the largest completed block`:``}function dM(e,t=null){let n=Oae(t);if(n!==null)return Lj(n);let r=Lj(zj(e?.tokenLimit));return r===`ok`?Lj(Bj(e?.activeBlock?.projection,e?.tokenLimit)):r}function kae(e,t=null){let n=[],r=dM(e,t);r!==`ok`&&n.push(`block:${r}`),e?.anomaly?.daily&&n.push(`anomaly:daily`),e?.anomaly?.burn&&n.push(`anomaly:burn`);for(let t of Yj(e)){let e=Zj(t);if(e<90)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return mk(n)}function Aae(e){let t=X(e?.pct,null);return t===null?`-`:`${Oj(t)} used`}function jae(e,t=Date.now()){let n=X(e,null);if(n===null||n<=0)return``;let r=(n-t)/6e4;return r<=0?`resetting now`:`resets in ${Fj(r)}`}function fM(e,t=Date.now()){let n=X(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function Mae(e,t=Date.now()){let n=X(e,null);return n===null||n<=0||t-n>Eae}function Nae(e,t=Date.now()){if(!Mae(e,t))return``;let n=fM(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function Pae(e,t=``){let n=e?.source;if(n===`fetched`){let e=pk(t,``);return e?`Prices fetched from the public model price table, ${e}.`:`Prices fetched from the public model price table.`}if(n===`cache`){let e=pk(t,``);return e?`Prices from the cached public model price table, ${e}.`:`Prices from the cached public model price table.`}return n===`snapshot`?`Prices from the price table bundled with this Glimmervoid build.`:n===`unavailable`?`Model prices could not be loaded, so every cost below counts as zero.`:`Pricing source not reported yet.`}function Fae(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e!=`string`)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function Iae(e){let t=(Array.isArray(e)?e:[]).map(e=>String(e)).filter(e=>e);if(t.length===0)return``;let n=t.length===1?`model`:`models`;return`No price for ${t.length} ${n}: ${t.join(`, `)}. Their cost counts as zero here.`}function Lae(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function Rae(e){if(!e||typeof e!=`object`)return``;let t=[],n=Lae(e.dirs);if(n!==null&&t.push(`${Tj(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${Tj(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${Tj(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${Tj(e.lastScanMs)}ms`),t.length===0)return``;let r=`Scanned ${t.join(`, `)}.`;return e.partial===!0?`${r} Some files were skipped this pass and will be re-read on the next one.`:r}function pM(e){return pk(e?.error,``)}function zae(e){let t=pk(e?.warning,``);return t?`Glimmervoid could not read every transcript location: ${t}`:``}function mM(e){return pM(e)!==``}function Bae(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function Vae(e){let t=String(e??``).trim();if(!t)return``;let n=t.split(/[\\/]+/).filter(e=>e);return n.length===0?t:n[n.length-1]}function hM(e){return typeof e?.id==`string`&&e.id!==``}function gM(e){let t=pk(e?.label,``);return hM(e)&&t?t:Vae(e?.project)||t||`unknown project`}function _M(e){return pk(typeof e==`string`?e:e?.model,`unknown model`)}function vM(e){return String(e?.day??``)}function yM(e,t,n){if(!jie.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?vM(e):n(e)}function bM(e,t,n,r=gM){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=yM(e,t,r),o=yM(n,t,r);if(typeof i==`string`||typeof o==`string`)return a*String(i).localeCompare(String(o));if(i!==o)return a*(i-o);let s=Number(e?.tokens),c=Number(n?.tokens),l=Number.isFinite(s)?s:0,u=Number.isFinite(c)?c:0;return l===u?r(e).localeCompare(r(n)):u-l})}function Hae(e){return Mie.has(e)?`asc`:`desc`}function xM(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:Hae(t)}}function Uae(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var SM=Object.freeze({key:`lastTs`,dir:`desc`}),CM=Object.freeze({key:`tokens`,dir:`desc`}),wM=Object.freeze({key:`day`,dir:`desc`});function Wae(e,t=SM){return bM(e,t.key,t.dir,gM)}function Gae(e,t,n=10){if(!Array.isArray(e))return{rows:[],hiddenCount:0};let r=Number.isFinite(n)?Math.max(0,Math.floor(n)):10;return t||e.length<=r?{rows:e,hiddenCount:0}:{rows:e.slice(0,r),hiddenCount:e.length-r}}function Kae(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${Tj(t)} hidden`}function TM(e,t=CM){return bM(e,t.key,t.dir,_M)}function qae(e,t=wM){return bM(e,t.key,t.dir,vM)}function Jae(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function Yae(e,t=8){return(Array.isArray(e)?e:[]).filter(e=>e&&e.isGap!==!0).sort((e,t)=>(Number(t?.startTs)||0)-(Number(e?.startTs)||0)).slice(0,Math.max(0,t)).map(e=>({startTs:Number(e.startTs),tokens:typeof e.tokens==`number`&&Number.isFinite(e.tokens)?e.tokens:0,costUSD:typeof e.costUSD==`number`&&Number.isFinite(e.costUSD)?e.costUSD:0,isActive:e.isActive===!0}))}function EM(e){let t=X(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=X(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Xae(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=EM(e);return n===null?Dj(t):`${Dj(t)} ${Ej(n)}`}function Zae(e){let{source:t}=EM(e);return t===`official`?`Tokens counted from the transcript; cost reported by Claude Code for this conversation`:`Tokens and estimated API list-price cost for this conversation`}var DM=Object.freeze({"claude-code":{approve:[{data:`\r`}],dismissPrompt:[{data:`\x1B`}],instruct:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:800}],answerWithOption:e=>[{data:String(e+1)}],answerWithText:(e,t)=>[{data:String(e+1),delayBeforeMs:0},{data:t,delayBeforeMs:800},{data:`\r`,delayBeforeMs:800}],reply:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:300}]}});function OM(e){return typeof e!=`string`||!Object.hasOwn(DM,e)?null:DM[e]}function kM(e){return OM(e)!==null}function Qae(e){return OM(e)?.approve??null}function $ae(e,t){let n=OM(e);return n?{dismissPrompt:n.dismissPrompt,instruct:n.instruct(t)}:null}function AM(e){return Number.isInteger(e)&&e>=1&&e<=8}function eoe(e,t,n,r){let i=OM(e);return!i||r||!AM(n)||!Number.isInteger(t)||t<0||t>=n?null:i.answerWithOption(t)}function toe(e,t,n,r){let i=OM(e);return!i||r||!AM(t)||!n.trim()?null:i.answerWithText(t,n)}function noe(e,t){let n=OM(e);return!n||!t.trim()?null:n.reply(t)}function jM(e,t){return e===F.WAITING&&typeof t==`string`&&t!==``}function roe({currentState:e,pendingPromptKind:t,elapsedMs:n}){return jM(e,t)?n>=1e4?`give-up`:`wait`:`send`}function MM(e){return fj(e,`calm`)}function NM(e){return e.map((e,t)=>({row:e,index:t,rank:dj[MM(e)]})).filter(e=>e.rank<dj.ready).sort((e,t)=>e.rank-t.rank||(e.row.stateSince??1/0)-(t.row.stateSince??1/0)||e.index-t.index).map(e=>e.row)}function PM(e,t){return NM(e).find(e=>MM(e)===`now`&&e.id!==t)??null}function ioe(e,t){return hj(NM(e).map(e=>e.id),t)??null}function aoe(e,t,n){return!t||e!==t?null:PM(n,e)?.id??null}function ooe(e,t,n,r){if(!t||r||n-e.armedAtMs>=15e3)return`cancel`;let i=t.pendingPromptSummary!==void 0&&t.pendingPromptSummary!==e.armedPromptSummary;return t.state===F.WAITING&&i?`cancel`:t.stateSince===e.armedStateSince?`keep`:t.state===F.RUNNING?`fire`:`cancel`}var soe=6e4;function FM(e){let t=Math.floor(Math.max(0,e)/soe);return t<1?`<1m`:Fj(t)}function coe(e){let t={now:0,next:0,later:0,ready:0,working:0};for(let n of e){let e=MM(n);e!==`resting`&&(t[e]+=1)}return t}function loe(e){return e?.question?.multiSelect===!1}function uoe(e){return e.pendingPromptKind===`plan`?{component:`plan`,canApprove:!1}:e.pendingPromptKind!==`permission`||!kM(e.agent)?{component:`terminal`,canApprove:!1}:loe(e.pendingPromptDetail)?{component:`question`,canApprove:!1}:e.pendingPromptDetail?.toolName===`AskUserQuestion`?{component:`terminal`,canApprove:!1}:{component:`permission`,canApprove:e.pendingPromptDetail?.isComplete===!0}}function IM(e){switch(MM(e)){case`now`:return uoe(e);case`next`:return{component:`failure`,canApprove:!1};case`later`:return{component:`review`,canApprove:!1};default:return{component:`terminal`,canApprove:!1}}}var doe={permission:`wants to run`,question:`asks`,plan:`has a plan ready`,failure:`failed`,review:`waits for you`},foe=new Map([[F.RUNNING,`is working`],[F.STARTING,`is working`],[F.INITIALIZING,`is working`],[F.IDLE,`has no task`],[F.DONE,`has exited`],[F.DORMANT,`is asleep`]]);function LM(e,t){return t===`terminal`?foe.get(e.state)??(MM(e)===`now`?`needs you`:`is quiet`):doe[t]}function RM(e,t,n,r){return e!==F.WAITING||t!==`permission`||!n||!r?!1:n.toolName===r.toolName&&n.summary===r.summary&&n.isComplete===r.isComplete&&tc(n.question,r.question)}function poe(e,t){return(e===F.COMPLETE||e===F.IDLE)&&t==null}function zM(e){return kM(e.agent)}function moe(e){return MM(e)===`ready`&&zM(e)}function BM(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.kind!==`assistant`||n.agentId||n.agentType)continue;let r=n.text.trim();if(r)return r}return null}var VM={now:`▲`,next:`■`,later:`✓`,ready:`○`,working:`·`,resting:`·`},HM=null,UM=()=>{},WM=null,GM=null,KM=null,qM=null,JM=!1,YM=null,XM=null,ZM=``,QM=null,$M=null,eN=null,tN=null,nN=null,rN=null,iN=null,aN=null,oN=[],sN=new Map,cN=15e3,lN=`The prompt is still open. Open Terminal to continue.`,uN=`Unable to send. Open Terminal to continue.`,dN=`The question changed. Open Terminal to continue.`,fN=`The session is busy. Open Terminal to continue.`,pN=50,mN=46/aj,hN={desktop:`Click a light for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`,phone:`Tap a light or a row for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`};function gN(){return WM!==null&&WM===HM&&!cf()}function _N(){return[...U].map(([e,t])=>({id:e,name:uf(t),state:t.currentState,stateSince:t.stateSince,agent:t.agent,pendingPromptKind:t.pendingPromptKind,pendingPromptDetail:t.pendingPromptDetail,hasEndedTurn:t.hasEndedTurn}))}function vN(e){return GM?[...GM.querySelectorAll(`.calm-light`)].find(t=>t.dataset.sessionId===e)??null:null}function yN(){if(KM?.parentElement?.classList.remove(`calm-has-panel`),KM?.remove(),qM?.remove(),qM=null,KM=null,YM=null,XM=null,ZM=``,QM=null,oN=[],GM&&(GM.inert=!1),aN?.isConnected){aN.focus();return}vN(aN?.dataset.sessionId)?.focus()}function bN(){let e=KM!==null&&WM?.kind===`phone`;e!==JM&&(JM=e,WM?.navigation.onSheetOpenChange?.(e))}function xN(){yN(),bN()}function SN(){YM&&sN.delete(YM),xN()}function CN(e,t,n){if(sN.set(e,{text:t,recordedAtMs:Date.now(),promptSummary:n}),!KM||YM!==e)return;let r=KM.querySelector(`.calm-status`);r&&(r.textContent=t)}function wN(e){return e?.question?.text??e?.summary}function TN(e,t){let n=sN.get(e);if(!n)return``;let r=Date.now()-n.recordedAtMs>=cN,i=t!==void 0&&t!==n.promptSummary;return!r&&!i?n.text:(sN.delete(e),``)}function EN(){for(let e of sN.keys())U.has(e)||sN.delete(e)}function DN(e,t,n){let r=V(`button`,t,e);return r.type=`button`,r.addEventListener(`click`,n),r}var ON={trace:`.calm-trace`,diff:`.calm-diff`,plan:`.calm-status`};function kN(e,t){let n=oN.findIndex(n=>n.id===e&&t.includes(n.kind));return n<0?null:oN.splice(n,1)[0].kind}function AN(e,t){if(t.classList.add(`calm-trace`),t.textContent=`Loading trace...`,!B({type:`session-trace`,id:e,endingAt:`tail`})){t.textContent=`Trace unavailable. Open Terminal to continue.`;return}oN.push({id:e,kind:`trace`})}function jN(e){if(!kN(e.id,[`trace`])||!WM||YM!==e.id||!KM)return;let t=KM.querySelector(`.calm-trace`);if(!t)return;if(XM===`review`){t.textContent=BM(e.records)??`No message has been recorded.`;return}let n=e.records.filter(e=>e.kind===`tool_call`),r=new Map(n.map(e=>[e.toolUseId,e])),i=KM.dataset.tier===`ready`?BM(e.records):null;if(i){t.replaceChildren(V(`div`,`calm-agent-message`,i));return}let a=XM===`failure`?n:e.records;t.replaceChildren(...a.slice(-3).map(e=>V(`div`,`calm-trace-row`,wA(e,r).text))),a.length||(t.textContent=`No trace has been recorded.`)}function MN(e,t,n){let r=kN(e,n);if(!r||!WM||YM!==e||!KM)return;let i=KM.querySelector(ON[r]);i&&(i.textContent=t)}function NN(e){let t=e.scope===`plan-decision`;MN(e.id,e.message,t?[`plan`]:[`trace`,`diff`])}function PN(e){MN(e.id,`Could not read changes: ${e.message}`,[`diff`])}var FN={sentStatus:`Instruction sent.`,failedStatus:`Unable to send instruction.`,blockedStatusBefore:e=>jM(e.currentState,e.pendingPromptKind)?lN:null};function IN(e,t,n,r,i,a=0){let o=n[a];if(!o){i(r.sentStatus);return}setTimeout(()=>{if(U.get(e)!==t){i(r.failedStatus);return}let s=r.blockedStatusBefore(t,a);if(s){i(s);return}if(!JO(t,o.data)){i(r.failedStatus);return}IN(e,t,n,r,i,a+1)},o.delayBeforeMs)}function LN(e,t,n,r,i){if(U.get(e)!==t){i(`Unable to send instruction.`);return}let a=roe({currentState:t.currentState,pendingPromptKind:t.pendingPromptKind,elapsedMs:Date.now()-r});if(a===`give-up`){i(lN);return}if(a===`send`){IN(e,t,n,FN,i);return}setTimeout(()=>LN(e,t,n,r,i),200)}function RN(e,t,n){let r=V(`input`,`calm-input`);return r.type=`text`,r.placeholder=e,r.setAttribute(`aria-label`,t),r.addEventListener(`keydown`,e=>{e.key===`Enter`&&!e.isComposing&&r.value.trim()&&(e.preventDefault(),n(r))}),r}function zN(e,t,n,r){let i=e.pendingPromptDetail?.question;if(!i)return;let a=t=>CN(e.id,t,wN(e.pendingPromptDetail)),o=()=>RM(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),s=[],c=()=>{for(let e of s)e.disabled=!0},l=V(`div`,`calm-options`);i.options.forEach((n,r)=>{let u=DN(n,`calm-option`,()=>{if(u.disabled)return;let n=eoe(e.agent,r,i.options.length,i.multiSelect);if(!n){a(uN);return}if(!o()){a(dN);return}if(ik(t,e.id),!n.every(e=>JO(t,e.data))){a(uN);return}c(),a(`Answer sent.`)});s.push(u),l.append(u)});let u=RN(`or type your own answer`,`Or type your own answer`,n=>{let r=toe(e.agent,i.options.length,n.value,i.multiSelect);if(!r){a(uN);return}if(!o()){a(dN);return}ik(t,e.id),c(),a(`Sending answer...`),IN(e.id,t,r,{sentStatus:`Answer sent.`,failedStatus:uN,blockedStatusBefore:(e,t)=>t===0&&!o()?dN:null},a)});s.push(u),n.append(V(`h2`,`calm-question`,i.text),l),r.append(u)}function BN(e,t,n){let r=t=>CN(e.id,t,wN(e.pendingPromptDetail)),i=e=>poe(e.currentState,e.pendingPromptKind),a=RN(`next instruction`,`Next instruction`,n=>{let a=noe(e.agent,n.value);if(!a){r(uN);return}if(!i(t)){r(fN);return}ik(t,e.id),n.disabled=!0,IN(e.id,t,a,{sentStatus:`Instruction sent.`,failedStatus:uN,blockedStatusBefore:(e,t)=>t===0&&!i(e)?fN:null},r),r(`Sending instruction...`)});n.append(a)}function VN(e){let t=U.get(e.id),n=WM;if(!n||!t)return;let{root:r,navigation:i}=n;yN(),aN=document.activeElement instanceof HTMLElement?document.activeElement:null,YM=e.id;let a=IM(e);XM=a.component,ZM=JSON.stringify([e,t.planReviewState]),KM=V(`article`,`calm-panel`),KM.dataset.tier=MM(e),KM.setAttribute(`role`,`dialog`),KM.setAttribute(`aria-modal`,`true`),KM.setAttribute(`aria-label`,`${e.name}, ${a.component}`),bf(KM);let o=V(`header`,`calm-panel-header`),s=V(`span`,`calm-panel-title`,`${VM[MM(e)]} ${e.name} ${LM(e,a.component)}`);s.tabIndex=-1,o.append(s,DN(`Terminal`,`calm-link`,()=>$N(e.id))),o.append(DN(`Close`,`calm-link`,SN));let c=V(`div`,`calm-panel-body`),l=V(`div`,`calm-actions`),u=V(`span`,`calm-status`,TN(e.id,wN(e.pendingPromptDetail)));u.setAttribute(`role`,`status`);let d=(e,t)=>{let n=DN(e,`calm-primary`,()=>{if(!n.disabled){if(t()===!1){u.textContent=uN;return}n.disabled=!0,u.textContent=`Action sent.`}});QM=n,l.append(n)};if(a.component===`permission`){c.append(V(`div`,`calm-tool-name`,e.pendingPromptDetail?.toolName??``),V(`pre`,`calm-summary`,e.pendingPromptDetail?.summary??``)),a.canApprove||c.append(V(`p`,`calm-caption`,`Review the full request in the terminal.`));let n=()=>RM(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),r=Qae(e.agent),i=t=>CN(e.id,t,wN(e.pendingPromptDetail));if(a.canApprove&&r){d(`Approve`,()=>n()?(ik(t,e.id),r.every(e=>JO(t,e.data))):!1);let a=RN(`or tell it what to do instead`,`Or tell it what to do instead`,r=>{let a=$ae(e.agent,r.value);if(!a){i(uN);return}if(!n()){i(`The prompt changed. Open Terminal to continue.`);return}if(ik(t,e.id),!a.dismissPrompt.every(e=>JO(t,e.data))){i(uN);return}r.disabled=!0,QM&&(QM.disabled=!0),i(`Sending instruction...`),LN(e.id,t,a.instruct,Date.now(),i)});l.append(a)}}if(a.component===`question`&&zN(e,t,c,l),a.component===`plan`){let n=uj(t.planReviewState),r=n?.openRevision?.revision,a=n?.revisions.find(e=>e.revision===r)?.title;c.append(V(`p`,`calm-summary`,a||`Plan ready for review`)),n&&r&&d(`Approve plan`,()=>{let n=uj(t.planReviewState);return n?.openRevision?B({type:`plan-decision`,id:e.id,agentId:n.agentId,revision:n.openRevision.revision,decision:`approve`})?(oN.push({id:e.id,kind:`plan`}),!0):!1:(i.openPlan(e.id),!0)}),(!n||!r)&&d(`Open plan`,()=>(i.openPlan(e.id),!0)),l.append(DN(`Open plan`,`calm-link`,()=>i.openPlan(e.id)))}if(a.component===`failure`){c.append(V(`p`,`calm-summary`,`Exited with a failure`));let n=V(`div`,`calm-trace`);c.append(n),AN(e.id,n),d(`Resume`,()=>B(Sf(`restart`,t.currentState,e.id)))}if(a.component===`terminal`&&AN(e.id,c),moe(e)&&BN(e,t,l),a.component===`review`){let n=V(`div`,`calm-agent-message`),r=V(`div`,`calm-diff`,`Loading files...`);c.append(n,r),AN(e.id,n);let a=B({type:`request-session-diff`,id:e.id});a&&oN.push({id:e.id,kind:`diff`}),a||(r.textContent=`Diff unavailable. Open review to continue.`),d(`Open review`,()=>(i.openTerminal(e.id),!0)),zM(e)&&BN(e,t,l)}l.append(u),KM.append(o,c,l),r.classList.add(`calm-has-panel`),r.append(UN()),r.append(KM),GM&&(GM.inert=!0),s.focus(),bN()}function HN(e){if(!kN(e.id,[`diff`])||!WM||XM!==`review`||YM!==e.id||!KM)return;let t=KM.querySelector(`.calm-diff`);if(!t)return;let n=sk(`${e.committed.diff}\n${e.uncommitted.diff}`),r=fk(n);if(!n.length){t.replaceChildren();return}t.replaceChildren(V(`p`,`calm-summary`,`${r.files} files / +${r.added} -${r.removed}`),...n.map(e=>V(`div`,`calm-file`,`${e.path} +${e.added} -${e.removed}`)))}function UN(){return qM=V(`div`,`calm-sheet-scrim`),qM.setAttribute(`aria-hidden`,`true`),qM.addEventListener(`click`,SN),qM}function WN(e){let t=coe(e),n=V(`header`,`calm-header`);for(let e of[`now`,`next`,`later`,`ready`,`working`]){let r=V(`span`,`calm-count`,`${VM[e]} ${t[e]} ${e}`);r.dataset.tier=e,n.append(r)}return n}function GN(e){return e.kind===`phone`?pN:mN}function KN(e,t){let n=GN(t),r=V(`div`,`calm-rings`),i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.setAttribute(`viewBox`,`0 0 100 100`),i.setAttribute(`aria-hidden`,`true`);for(let[e,t]of[[`now`,tj],[`next`,nj],[`later`,rj]]){let a=document.createElementNS(i.namespaceURI,`circle`);for(let[r,i]of Object.entries({cx:`50`,cy:`50`,r:String(t*n),"data-tier":e}))a.setAttribute(r,i);i.append(a);let o=V(`span`,`calm-ring-label`,e.toUpperCase());o.style.top=`${50-t*n+2}%`,r.append(o)}r.prepend(i);let a=new Map(e.map(e=>[e.id,e])),o=t.kind===`desktop`&&Sie(t.root.clientWidth);for(let t of xie(e.map(e=>({id:e.id,tier:MM(e)})))){let e=a.get(t.id);if(!e)continue;let i=DN(``,`calm-light`,()=>VN(e));if(i.dataset.tier=t.tier,i.dataset.sessionId=e.id,i.setAttribute(`aria-label`,`${e.name}, ${t.tier}`),i.title=e.name,i.style.left=`${50+Math.cos(t.angle)*t.radius*n}%`,i.dataset.labelSide=Math.cos(t.angle)<0?`left`:`right`,i.style.top=`${50+Math.sin(t.angle)*t.radius*n}%`,i.append(V(`span`,`calm-light-dot`)),o){let t=V(`span`,`calm-light-label`,e.name);t.append(V(`span`,`calm-light-context`,LM(e,IM(e).component))),i.append(t)}r.append(i)}return r}function qN(e,t){let n=V(`div`,`calm-now-list`);n.setAttribute(`aria-label`,`NOW sessions`);for(let r of NM(e).filter(e=>MM(e)===`now`))n.append(t(r));return n}function JN(e){return DN(`${VM.now} ${e.name}`,`calm-now-row`,()=>VN(e))}function YN(e){return FM(Date.now()-e)}function XN(e){let t=LM(e,IM(e).component),n=DN(``,`calm-now-row`,()=>VN(e));n.setAttribute(`aria-label`,`${e.name}, ${t}`);let r=V(`span`,`calm-now-glyph`,VM.now);r.setAttribute(`aria-hidden`,`true`);let i=V(`span`,`calm-now-details`);i.append(V(`span`,`calm-now-name`,e.name),V(`span`,`calm-now-context`,t));let a=V(`span`,`calm-now-wait`);return a.setAttribute(`aria-hidden`,`true`),typeof e.stateSince==`number`&&(a.dataset.stateSince=String(e.stateSince),a.textContent=YN(e.stateSince)),n.append(r,i,a),n}function ZN(){if(GM&&WM?.kind===`phone`)for(let e of GM.querySelectorAll(`.calm-now-wait[data-state-since]`))e.textContent=YN(Number(e.dataset.stateSince))}function QN(){if(aP())return;let e=_N();EN();let t=WM;if(!t||t.kind===`desktop`&&cf())return;let n=V(`div`,`calm-home`);n.append(KN(e,t)),n.append(qN(e,t.kind===`phone`?XN:JN));let r=V(`footer`,`calm-footer`,hN[t.kind]),i=V(`div`,`calm-field`);i.append(WN(e),n,r);let a=document.activeElement instanceof HTMLElement?document.activeElement.dataset.sessionId:null;if(GM?.remove(),GM=i,GM.inert=KM!==null,t.root.prepend(GM),a&&!KM&&vN(a)?.focus(),!YM)return;let o=e.find(e=>e.id===YM);if(!o){xN();return}let s=U.get(YM);JSON.stringify([o,s?.planReviewState])!==ZM&&VN(o)}function $N(e){let t=WM;t&&(t.navigation.openTerminal(e),t.kind===`desktop`&&ef.snapshot().focusedSessionId===e&&($M=e))}function eP(e){VN(e),aN=vN(e.id)}function tP(e){if(UM(),!gN())return!1;let t=_N().find(t=>t.id===e);return t?(eP(t),!0):!1}function nP(){return!gN()||!KM||!YM?!1:($N(YM),!0)}function rP(){if(!gN())return!1;let e=_N(),t=ioe(e,YM??tN),n=e.find(e=>e.id===t);return n?(tN=n.id,eP(n),!0):!1}function iP(e){let t=aoe(e,$M,_N());return t?($M=null,tP(t),!0):!1}function aP(){if(!eN)return!1;let e=U.get(eN.sessionId),t=e?{state:e.currentState,stateSince:e.stateSince,pendingPromptSummary:e.pendingPromptDetail?.summary}:null,n=ooe(eN,t,Date.now(),eN.hasOtherInputArrived);if(n===`keep`)return!1;let r=eN.sessionId;return eN=null,n===`cancel`||cf()?!1:iP(r)}function oP(e){let t=U.get(e);t&&!cf()&&e===$M&&(eN={sessionId:e,armedAtMs:Date.now(),armedStateSince:t.stateSince,armedPromptSummary:t.pendingPromptDetail?.summary,hasOtherInputArrived:!1})}function sP(e,t){if(t){oP(e);return}eN?.sessionId===e&&(eN.hasOtherInputArrived=!0,aP())}function cP(){$M=null,eN=null}function lP(){nN&&!nN.card.hidden&&(nN.wait.textContent=iN===null?``:`waiting ${FM(Date.now()-iN)}`)}function uP(e){let t=V(`div`,`focus-now-peek`);t.hidden=!0;let n=V(`span`,`focus-now-peek-details`);n.id=`focus-now-peek-details`;let r=V(`span`,`focus-now-peek-glyph`,VM.now);r.setAttribute(`aria-hidden`,`true`);let i=V(`span`,`focus-now-peek-name`),a=V(`span`,`focus-now-peek-context`),o=V(`span`,`focus-now-peek-wait`);n.append(r,i,a,o);let s=DN(`Open in Calm`,`focus-now-peek-open`,()=>{rN&&tP(rN)});s.setAttribute(`aria-describedby`,n.id),t.append(n,s),e.append(t),nN={card:t,name:i,context:a,wait:o},ep(lP)}function dP(e,t){if(!nN)return;let n=e?PM(_N(),t):null;nN.card.hidden=!n,rN=n?.id??null,iN=n?.stateSince??null,n&&(nN.name.textContent=n.name,nN.context.textContent=LM(n,IM(n).component),lP())}function fP(){return[...document.querySelectorAll(`[role="dialog"], .dialog-overlay`)].some(e=>e!==KM&&e.getClientRects().length>0)}function pP(e,{openCalm:t,...n}){HM={kind:`desktop`,root:e,navigation:n},UM=t,new ResizeObserver(()=>QN()).observe(e),QO(sP),ep(ZN),ef.subscribe((e,t)=>{let n=t.includes(`activeView`)&&e.activeView!==`focus`,r=t.includes(`focusedSessionId`)&&e.focusedSessionId!==eN?.sessionId;(n||r)&&(eN=null),t.includes(`focusedSessionId`)&&e.focusedSessionId!==$M&&($M=null)}),document.addEventListener(`keydown`,e=>{gN()&&KM&&!e.isComposing&&e.key===`Escape`&&(e.target===document.body||e.target instanceof Node&&KM.contains(e.target))&&!fP()&&(e.preventDefault(),SN())})}function mP(){HM&&WM?.kind!==`phone`&&(WM=HM,QN())}function hP(){WM?.kind===`desktop`&&(xN(),WM=null)}function gP(e,t){(WM?.kind!==`phone`||WM.root!==e)&&(xN(),WM={kind:`phone`,root:e,navigation:t}),QN()}function _P(){WM?.kind===`phone`&&KM&&SN()}function vP(){WM?.kind===`phone`&&(xN(),WM=null)}function yP(e){return e===`remote`?`remote`:`local`}function bP(e,t){return yP(t)===`local`||e!==`shutdown`}var xP=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function SP(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function CP({mode:e,delayMs:t,run:n,setTimeoutFn:r=xP.setTimeoutFn,clearTimeoutFn:i=xP.clearTimeoutFn,unref:a=!0}){let o=null;function s(){o&&=(i(o),null)}function c(){e===`leading`&&o||(s(),o=r(()=>{o=null,n()},t),a&&SP(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function wP(){return ef.snapshot().borrowedCardId}function TP(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=wP();i&&i!==t&&EP();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Gd(a,n),ef.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function EP(){let e=wP();if(ef.dispatch(`borrowCard`,null),!e)return null;let t=U.get(e);t?._showTerminalFace?.(),t?._setBorrowed?.(!1),t?._setActiveViewer?.(!1);let n=t?.card;return n?(n._cardHostClass&&n.classList.remove(n._cardHostClass),delete n._cardHostClass,Kd(n,pf),e):e}var DP=/^\s*at .+:\d+:\d+\)?$|^[^@\s]*@.+:\d+:\d+$/;function OP(e){let t=e.stack??``,n=String(e);return(t.startsWith(n)?t.slice(n.length):t).split(`
|
|
135
|
-
`).filter(e=>DP.test(e)).join(`
|
|
136
|
-
`)}function kP(e){return e==null?null:e instanceof Error?{name:(e.name||`Error`).slice(0,128),stack:OP(e).slice(0,rd)}:{name:`NonError`,stack:``}}function AP(e){let t=new Set;return n=>{let r=kP(n);if(!r)return;let i=`${r.name}\n${r.stack}`;t.has(i)||t.size>=32||e({type:`client-error`,...r})&&t.add(i)}}var jP=`<h2 class="dialog-title" id="add-session-title">Add Session</h2>
|
|
137
|
-
<fieldset class="dialog-mode-controls" aria-label="Session kind">
|
|
138
|
-
<button type="button" class="dialog-mode-button" id="add-session-single-mode" aria-pressed="true">Single repo</button>
|
|
139
|
-
<button type="button" class="dialog-mode-button" id="add-session-workspace-mode" aria-pressed="false">Workspace</button>
|
|
140
|
-
</fieldset>
|
|
141
|
-
<label class="dialog-label" id="add-session-picker-label">
|
|
142
|
-
Pick a project:
|
|
143
|
-
<select class="dialog-input project-picker" id="add-session-picker">
|
|
144
|
-
<option value="" disabled selected>Scanning...</option>
|
|
145
|
-
</select>
|
|
146
|
-
</label>
|
|
147
|
-
<fieldset class="dialog-workspace-list" id="add-session-workspace-list" aria-label="Workspace repositories" hidden></fieldset>
|
|
148
|
-
<label class="dialog-label" id="add-session-agent-label" hidden>
|
|
149
|
-
Agent
|
|
150
|
-
<select class="dialog-input" id="add-session-agent"></select>
|
|
151
|
-
</label>
|
|
152
|
-
<button type="button" class="dialog-advanced-toggle" id="add-session-advanced-toggle">Advanced options</button>
|
|
153
|
-
<div class="dialog-advanced-panel" id="add-session-advanced" hidden>
|
|
154
|
-
<label class="dialog-label">
|
|
155
|
-
Name
|
|
156
|
-
<input type="text" class="dialog-input" id="add-session-name" placeholder="my-project" autocomplete="off" spellcheck="false">
|
|
157
|
-
</label>
|
|
158
|
-
<label class="dialog-label" id="add-session-path-label">
|
|
159
|
-
Path
|
|
160
|
-
<input type="text" class="dialog-input" id="add-session-path" placeholder="C:\\Users\\...\\my-project" autocomplete="off" spellcheck="false">
|
|
161
|
-
</label>
|
|
162
|
-
</div>
|
|
163
|
-
<label class="dialog-label dialog-checkbox-label" id="add-session-skip-perms-label">
|
|
164
|
-
<input type="checkbox" class="dialog-checkbox" id="add-session-skip-perms">
|
|
165
|
-
<span>Skip permission prompts</span>
|
|
166
|
-
<span class="dialog-hint">The agent edits files and runs shell commands without asking first, so a bad instruction or a hostile file in the repo can act on this machine unchecked. Leave this off unless you trust the repo and the task.</span>
|
|
167
|
-
</label>
|
|
168
|
-
<label class="dialog-label dialog-checkbox-label" id="add-session-unconfined-label">
|
|
169
|
-
<input type="checkbox" class="dialog-checkbox" id="add-session-unconfined">
|
|
170
|
-
<span>Run without guardrails</span>
|
|
171
|
-
<span class="dialog-hint">Claude Code sessions run with guardrails that block writes to credentials and Glimmervoid's own state and hide credentials and other agents' settings. Turn this on only for work the guardrails cannot serve.</span>
|
|
172
|
-
</label>
|
|
173
|
-
<div class="dialog-error" id="add-session-error"></div>
|
|
174
|
-
<div class="dialog-actions">
|
|
175
|
-
<button type="button" class="btn-dialog btn-dialog-cancel" id="add-session-cancel">Cancel</button>
|
|
176
|
-
<button type="button" class="btn-dialog btn-dialog-confirm" id="add-session-confirm">Add</button>
|
|
177
|
-
</div>
|
|
178
|
-
`;function MP(e){return e instanceof Error?e.message:String(e)}function NP(e,t,n=!1){let r=V(`label`,`dialog-checkbox-label`),i=V(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,V(`span`,null,e)),r}function PP(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function FP(e){let[t,n]=await Promise.all([Cd(`get-workspace-repos`,{id:e}),Cd(`scan-repo-roots`,{}).catch(()=>null)]);if(t.type!==`workspace-repos`)throw Error(`Unexpected reply`);if(!t.ok)throw Error(t.error||`Could not read the workspace`);let r=t.repos.map(e=>({name:PP(e),path:e,isMember:!0})),i=new Set(t.repos),a=n?.type===`repo-roots-scanned`?n.directories:[];for(let e of a.flatMap(e=>e.projects))i.has(e.path)||(i.add(e.path),r.push({name:e.name,path:e.path,isMember:!1}));return r}function IP(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=vf({title:`Workspace repositories`}),o=V(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=V(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(V(`div`,`dialog-hint`,`Loading repositories...`));let c=V(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=V(`div`,`dialog-error`),u=V(`button`,`btn-dialog btn-dialog-confirm`,`Save`);u.type=`button`,u.disabled=!0,i.append(u),n.append(o,s,c,l,i),a.addEventListener(`click`,r),requestAnimationFrame(()=>a.focus()),FP(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(NP(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${MP(e)}`)}),u.addEventListener(`click`,()=>{let n=[...s.querySelectorAll(`input:checked`)].map(e=>e.value);if(n.length<2){l.textContent=`Select at least two repositories.`;return}l.textContent=``,u.disabled=!0,c.textContent=`Saving`,Cd(`set-workspace-repos`,{id:e,repos:n}).then(e=>{if(!t.isConnected)return;if(e.type===`set-workspace-repos-result`&&e.ok){r();return}let n=e.type===`set-workspace-repos-result`?e.error:null;l.textContent=n||`Could not update the workspace.`}).catch(e=>{t.isConnected&&(l.textContent=`Could not update the workspace: ${MP(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1})})}var LP=`claude-code`,RP=Object.freeze({"claude-code":``,codex:`Codex`,grok:`Grok`});function zP(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t===`claude-code`?``:RP[t]||t}function BP(e,{defaultId:t=LP}={}){let n=(Array.isArray(e)?e:[]).filter(e=>e?.resolvable&&typeof e.id==`string`&&e.id).map(e=>{let t=String(e.id);return{id:t,label:typeof e.label==`string`&&e.label?e.label:t}}),r=n.some(e=>e.id===t)?t:n.length>0?n[0].id:t;return{show:n.length>1,options:n,selectedId:r}}var VP=`No supported agent CLI was found on the PATH Glimmervoid runs with. Install Claude Code (or another supported agent), make sure its command is on that PATH, then run glimmervoid doctor to confirm.`;function HP(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||BP(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:VP}}function UP(e,t){if(e===t)return!0;let n=`${t} (`;if(!e.startsWith(n)||!e.endsWith(`)`))return!1;let r=e.slice(n.length,-1);return/^\d+$/.test(r)}function WP(e,t){let n=0;for(let r of t)UP(r,e)&&n++;return n}function GP(e,t){let n=new Set(t);if(!n.has(e))return e;for(let t=2;t<1e3;t++){let r=`${e} (${t})`;if(!n.has(r))return r}return`${e} (${Date.now()})`}function KP(){let e=[];for(let[,t]of U)e.push(t.card.dataset.session??``);return e}function qP(e){return WP(e,KP())}function JP(e){return GP(e??``,KP())}function YP(e){return Ff(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function XP(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${YP(Date.now()-e)} ago`}var ZP=e=>`polled ${XP(e)}`;function QP(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=ZP){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=ep(a)}}}function $P(e,{value:t,disabled:n=!1,selected:r=!1}={}){let i=V(`option`,null,e);return t!=null&&(i.value=t),n&&(i.disabled=!0),r&&(i.selected=!0),i}function eF(e){return typeof e!=`object`||!e?!1:`skipPermissionsByDefault`in e&&e.skipPermissionsByDefault===!0}function tF(){let{dialog:e,close:t}=gf();e.innerHTML=jP,_f(e,`add-session-title`);let n=H(e,`#add-session-picker`,`select`),r=Pd(e,`#add-session-picker-label`),i=Pd(e,`#add-session-workspace-list`),a=H(e,`#add-session-single-mode`,`button`),o=H(e,`#add-session-workspace-mode`,`button`),s=Pd(e,`#add-session-agent-label`),c=H(e,`#add-session-agent`,`select`),l=H(e,`#add-session-advanced-toggle`,`button`),u=Pd(e,`#add-session-advanced`),d=H(e,`#add-session-name`,`input`),f=H(e,`#add-session-path`,`input`),p=Pd(e,`#add-session-path-label`),m=H(e,`#add-session-skip-perms`,`input`),h=H(e,`#add-session-unconfined`,`input`),g=Pd(e,`#add-session-error`),_=H(e,`#add-session-cancel`,`button`),v=H(e,`#add-session-confirm`,`button`),y=!1;function ee(e){y=e,a.setAttribute(`aria-pressed`,String(!e)),o.setAttribute(`aria-pressed`,String(e)),r.hidden=e,i.hidden=!e,l.hidden=e,l.setAttribute(`aria-expanded`,String(e)),u.hidden=!e,p.hidden=e,e&&requestAnimationFrame(()=>d.focus())}a.addEventListener(`click`,()=>ee(!1)),o.addEventListener(`click`,()=>ee(!0)),l.setAttribute(`aria-expanded`,`false`),l.addEventListener(`click`,()=>{let e=u.hidden;u.hidden=!e,l.setAttribute(`aria-expanded`,String(e)),e&&requestAnimationFrame(()=>d.focus())}),Cd(`scan-repo-roots`,{}).then(e=>{n.textContent=``,n.appendChild($P(`-- Select a project --`,{value:``,disabled:!0,selected:!0}));let t=!1,r=e.type===`repo-roots-scanned`?e.directories:[];for(let e of r){if(e.projects.length===0)continue;let r=V(`optgroup`);r.label=e.root;for(let n of e.projects){let e=qP(n.name),a=e>0?`${n.name} (${e} open)`:n.name;r.appendChild($P(a,{value:JSON.stringify({name:n.name,path:n.path})})),i.appendChild(NP(n.name,n.path)),t=!0}n.appendChild(r)}t||(n.textContent=``,n.appendChild($P(`No projects found (configure repo roots in Settings)`,{disabled:!0,selected:!0})),i.textContent=`No projects found (configure repo roots in Settings).`)}).catch(()=>{n.textContent=``,n.appendChild($P(`Scan failed`,{disabled:!0,selected:!0})),i.textContent=`Repository scan failed.`}),n.addEventListener(`change`,()=>{try{let e=JSON.parse(n.value);d.value=JP(e.name),f.value=e.path}catch{}});let b=LP,te=!1;function ne(e){te=!0,v.disabled=!0;let t=V(`p`,`dialog-hint dialog-hint-warning`,e);t.id=`add-session-agent-guidance`,t.setAttribute(`role`,`status`),g.before(t)}Cd(`list-agents`,{}).then(e=>{let t=HP(e);t.canSpawn||ne(t.guidance);let n=BP(e.type===`agents-listed`?e.agents:[]);if(b=n.selectedId,n.show){c.textContent=``;for(let e of n.options)c.appendChild($P(e.label,{value:e.id,selected:e.id===n.selectedId}));s.hidden=!1}}).catch(()=>{}),c.addEventListener(`change`,()=>{b=c.value});let re=!1;m.addEventListener(`change`,()=>{re=!0}),Cd(`get-settings`,{}).then(e=>{re||(m.checked=eF(e.settings))}).catch(()=>{}),d.addEventListener(`input`,()=>{n.selectedIndex=0}),f.addEventListener(`input`,()=>{n.selectedIndex=0});function ie(){if(te)return;let e=d.value.trim(),n=f.value.trim();if(y){let n=[...i.querySelectorAll(`input:checked`)].map(e=>e.value);if(!e||n.length<2){g.textContent=`Enter a name and select at least two repositories.`;return}let r={type:`add-session`,name:JP(e),path:n[0],repos:n,dangerouslySkipPermissions:m.checked,unconfined:h.checked};b&&b!==`claude-code`&&(r.agent=b),B(r),t();return}if(!e||!n){g.textContent=`Both fields are required. Select a project or use Advanced options.`;return}let r={type:`add-session`,name:JP(e),path:n,dangerouslySkipPermissions:m.checked,unconfined:h.checked};b&&b!==`claude-code`&&(r.agent=b),B(r),t()}_.addEventListener(`click`,t),v.addEventListener(`click`,ie),d.addEventListener(`keydown`,e=>{e.key===`Enter`&&(y&&ie(),y||f.focus())}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&ie()}),requestAnimationFrame(()=>n.focus())}function nF({issueId:e,issueTitle:t,format:n,content:r,message:i,error:a}){let{dialog:o,close:s,actions:c,btnCancel:l}=vf({title:`Investigation report`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),u=V(`div`,`dialog-report-meta`,t||e||``),d=null;if(n===`html`&&!a&&!i){let e=V(`iframe`,`dialog-report-frame`);e.setAttribute(`sandbox`,``),e.srcdoc=r||``,d=e}d||=V(`pre`,a?`dialog-report-body dialog-report-error`:`dialog-report-body`,a||i||r||``),o.append(u,d,c),l.addEventListener(`click`,s),requestAnimationFrame(()=>l.focus())}function rF({issueTitle:e,projectLabel:t,onOpenReport:n}){let{dialog:r,close:i,actions:a,btnCancel:o}=vf({title:`Investigation`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),s=V(`div`,`dialog-report-meta`,t?`${t}: ${e}`:e),c=V(`p`,`dialog-trail-status`),l=V(`p`,`dialog-trail-summary`),u=V(`ol`,`dialog-trail-steps`),d=V(`p`,`dialog-trail-empty`,`No tool calls yet; the session is reading the issue.`),f=V(`button`,`btn-dialog btn-dialog-cancel`,`Open report`);f.type=`button`,f.hidden=!0,f.addEventListener(`click`,()=>{i(),n()}),a.prepend(f),r.append(s,c,l,u,d,a),o.addEventListener(`click`,i),requestAnimationFrame(()=>o.focus());let p=null,m=``;function h(e){let t=u.scrollHeight-u.scrollTop-u.clientHeight<24,n=Lk(e);if(m!==n){u.textContent=``;for(let t of e.steps){let n=V(`li`,`dialog-trail-step`);n.append(V(`span`,`dialog-trail-at`,Ik(e.startedAt,t.at)),V(`span`,`dialog-trail-tool`,t.tool),V(`span`,`dialog-trail-detail`,t.detail)),u.append(n)}m=n}d.hidden=e.steps.length>0||!e.inFlight,u.hidden=e.steps.length===0,t&&(u.scrollTop=u.scrollHeight)}function g(e){c.textContent=Rk(e,XP(e.startedAt))}function _(){p&&(g(p),c.dataset.tone=p.inFlight?`live`:`done`,l.textContent=p.summaryLine,l.hidden=!p.summaryLine,f.hidden=p.inFlight||!p.verdict,h(p))}let v=ep(()=>{if(!r.isConnected){v();return}p?.inFlight&&g(p)});return{update(e){p=e,_()},isOpen:()=>r.isConnected,close:()=>{v(),i()}}}var iF=2,aF=8,oF=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,sF=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,cF=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,lF=/^:?-{3,}:?$/,uF=/^[A-Za-z0-9_+#.-]{1,32}$/;function dF(e){return Fc(e,{overlongLine:`reject`})}function fF(e){let t=e.trim().split(/\s+/)[0]??``;return uF.test(t)?t:``}function pF(e,t){if(!t)return;let n=e.at(-1);if(n?.type===`text`){n.text+=t;return}e.push({type:`text`,text:t})}function mF(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function hF(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function gF(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function _F(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function vF(e,t){let n=1;for(let r=t;r<e.length;r++){let t=e[r];if(t===`(`&&n++,t===`)`&&n--,n===0)return r;if(n>iF)return-1}return-1}function yF(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=vF(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function bF(e){let t=[],n=_F(e,`]`),r=0;for(;r<e.length;){let i=yF(e,r,n);if(i){let e=hx(i.target.trim());e&&t.push({type:`link`,href:e,children:bF(i.label)}),e||pF(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=gF(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=mF(e,r);if(a){let n=gF(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:bF(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=hF(e,r);if(o){let n=gF(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:bF(e.slice(r+1,n))}),r=n+1;continue}}pF(t,e[r]),r++}return t}function xF(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:xF(e.children)).join(``)}var SF=`plan-h-`;function CF(e,t){let n=e.toLowerCase().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`section`,r=(t.slugCounts.get(n)??0)+1;return t.slugCounts.set(n,r),`${SF}${r===1?n:`${n}-${r}`}`}function wF(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=TF(e);return t.length<2?!1:t.every(e=>lF.test(e))}function TF(e){let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())}function EF(e){let t=sF.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function DF(e,t,n,r){let i=EF(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=EF(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=aF)break;let t=DF(e,c,n,r+1);if(!t||a.length===0)break;a.at(-1)?.children.push(t.block),c=t.next;continue}if(t.ordered!==o)break;a.push({children:[{type:`paragraph`,children:bF(t.content)}]}),c++}return{block:{type:`list`,ordered:o,items:a},next:c}}function OF(e,t){let n=e[t]??``;return n.trim()===``||dF(n)||oF.test(n)||cF.test(n)||EF(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&wF(e[t+1])}function kF(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=oF.exec(a);if(o){let t=[],n=o[1][0],a=o[1].length;for(i++;i<e.length;){let r=/^ {0,3}(`{3,}|~{3,})\s*$/.exec(e[i]);if(r&&r[1][0]===n&&r[1].length>=a)break;t.push(e[i]),i++}i<e.length&&i++,r.push({type:`code`,language:fF(o[2]),text:t.join(`
|
|
179
|
-
`)});continue}let s=dF(a);if(s){let e=bF(s.text);r.push({type:`heading`,level:s.level,id:CF(xF(e),t),children:e}),i++;continue}if(cF.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&wF(e[i+1])){let t=TF(a).map(bF),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(TF(e[i]).map(bF)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=DF(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<aF&&/^ {0,3}>/.test(a)){let a=[];for(;i<e.length&&/^ {0,3}>/.test(e[i]);)a.push(e[i].replace(/^ {0,3}> ?/,``)),i++;r.push({type:`blockquote`,blocks:kF(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!OF(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:bF(l.join(` `))})}return r}function AF(e){return kF(e.replace(/\r\n?/g,`
|
|
180
|
-
`).split(`
|
|
181
|
-
`),{slugCounts:new Map},0)}function jF(e){let t=[],n={heading:null,id:null,level:0,blocks:[]},r=()=>{(n.heading!==null||n.blocks.length!==0)&&t.push(n)};for(let t of e){if(t.type!==`heading`){n.blocks.push(t);continue}r(),n={heading:xF(t.children),id:t.id,level:t.level,blocks:[t]}}return r(),t}function MF(e,t){for(let n of t){if(n.type===`text`){e.append(document.createTextNode(n.text));continue}if(n.type===`code`){e.append(V(`code`,`plan-inline-code`,n.text));continue}if(n.type===`emphasis`){let t=V(`em`);MF(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=V(`strong`);MF(t,n.children),e.append(t);continue}let t=V(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,MF(t,n.children),e.append(t)}}function NF(e){let t=V(`li`);return PF(t,e.children),t}function PF(e,t){for(let n of t){if(n.type===`heading`){let t=V(`h${n.level}`,`plan-heading`);t.id=n.id,MF(t,n.children),e.append(t);continue}if(n.type===`paragraph`){let t=V(`p`,`plan-paragraph`);MF(t,n.children),e.append(t);continue}if(n.type===`list`){let t=n.ordered?V(`ol`,`plan-list`):V(`ul`,`plan-list`);t.append(...n.items.map(NF)),e.append(t);continue}if(n.type===`code`){let t=V(`pre`,`plan-code`),r=V(`code`,n.language?`language-${n.language}`:null,n.text);t.append(r),e.append(t);continue}if(n.type===`table`){let t=V(`div`,`plan-table-wrap`),r=V(`table`,`plan-table`),i=V(`thead`),a=V(`tr`);for(let e of n.header){let t=V(`th`);MF(t,e),a.append(t)}i.append(a);let o=V(`tbody`);for(let e of n.rows){let t=V(`tr`);for(let n of e){let e=V(`td`);MF(e,n),t.append(e)}o.append(t)}r.append(i,o),t.append(r),e.append(t);continue}if(n.type===`blockquote`){let t=V(`blockquote`,`plan-blockquote`);PF(t,n.blocks),e.append(t);continue}e.append(V(`hr`,`plan-rule`))}}function FF(e){let t=V(`div`,`plan-document`);return PF(t,e),t}function IF(e,{hasComment:t,isComposing:n,onComment:r,attachmentFor:i}){let a=V(`div`,`plan-document`),o=[];for(let s of e){let e=V(`section`,`plan-section`);e.dataset.selected=`false`,e.addEventListener(`click`,()=>{for(let t of o)t.dataset.selected=String(t===e)}),o.push(e);let c=V(`div`,`plan-section-head`),l=s.blocks[0],u=l?.type===`heading`;if(u&&PF(c,[l]),u||(e.id=`plan-introduction`),!t(s)&&!n(s)){let e=V(`button`,`plan-section-comment`,`Comment`);e.type=`button`,e.setAttribute(`aria-label`,`Comment on ${s.heading??`Introduction`}`),e.addEventListener(`click`,()=>r(s)),c.append(e)}let d=V(`div`,`plan-section-body`);PF(d,u?s.blocks.slice(1):s.blocks),e.append(c,d);let f=i(s);f&&e.append(f),a.append(e)}return a}var LF={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function RF(e){let t=V(`div`,`plan-diff`);for(let n of e.lines){let e=V(`div`,`plan-diff-line plan-diff-${n.kind}`),r=V(`span`,`plan-diff-gutter`,LF[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,V(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var zF=new Map,BF=null;function VF(e){return zF.get(e)??[]}function HF(e){return VF(e).length>0}function UF(e){ff(e)?.btnDocs.classList.toggle(`visible`,HF(e))}function WF(e){let t=VF(e.sessionId);e.select.replaceChildren(...t.map(t=>{let n=V(`option`,null,t.name);return n.value=t.path,n.selected=t.path===e.docPath,n})),e.select.hidden=t.length<2,e.title.textContent=t.find(t=>t.path===e.docPath)?.name??e.title.textContent}function GF(e){let t=VF(e.sessionId).some(t=>t.path===e.docPath);e.btnEdit.setAttribute(`aria-pressed`,String(e.mode===`edit`)),e.btnPreview.setAttribute(`aria-pressed`,String(e.mode===`preview`)),e.textarea.hidden=e.mode!==`edit`,e.preview.hidden=e.mode!==`preview`,e.select.disabled=e.isBusy,e.btnReload.disabled=e.isBusy||!t,e.btnSave.disabled=e.isBusy||!t||e.baseHash===null||!e.hasUnsavedChanges}function KF(e,t,n=`quiet`){e.status.textContent=t,e.status.dataset.tone=n}function qF(e){e.preview.replaceChildren(FF(AF(e.textarea.value)))}function JF(e,t){yf({title:e,message:`Your unsaved edits will be lost.`,confirmLabel:`Discard`,danger:!0,onConfirm:t})}function YF(e,t,n){if(!e.hasUnsavedChanges){n();return}JF(t,n)}async function XF(e,t){e.docPath=t,e.isBusy=!0,e.baseHash=null,e.textarea.readOnly=!0,WF(e),KF(e,`Loading`),GF(e);let n=await Cd(`session-doc-read`,{id:e.sessionId,path:t}).catch(()=>null);if(BF!==e||e.docPath!==t)return;e.isBusy=!1,e.textarea.readOnly=!1;let r=n?.type===`session-doc-response`?n:null;if(!r?.ok||r.text===void 0||r.hash===void 0){KF(e,r?.error||`Could not open this doc`,`warn`),GF(e);return}e.textarea.value=r.text,e.baseHash=r.hash,e.hasUnsavedChanges=!1,e.mode===`preview`&&qF(e),KF(e,``),GF(e)}async function ZF(e){if(e.btnSave.disabled||e.baseHash===null)return;e.isBusy=!0,KF(e,`Saving`),GF(e);let t=e.docPath,n=e.textarea.value,r=await Cd(`session-doc-save`,{id:e.sessionId,path:t,text:n,baseHash:e.baseHash}).catch(()=>null);if(BF!==e||e.docPath!==t)return;e.isBusy=!1;let i=r?.type===`session-doc-save-result`?r:null;if(!i?.ok||i.hash===void 0){KF(e,i?.conflict?`The agent changed this file since you opened it. Reload to see its version.`:i?.error||`Save failed`,`warn`),GF(e);return}e.baseHash=i.hash,e.hasUnsavedChanges=e.textarea.value!==n,KF(e,e.hasUnsavedChanges?`Unsaved changes`:`Saved`),GF(e)}function QF(e,t){e.mode=t,t===`preview`&&qF(e),GF(e),t===`edit`&&e.textarea.focus()}function $F(e,t){let n=V(`button`,`plan-control ${t}`,e);return n.type=`button`,n}function eI(e){let t=VF(e)[0];if(!t||BF)return;let n=()=>YF(y,`Close this doc?`,()=>y.close()),r=gf({dialogClass:`doc-editor`,closeOnBackdrop:!1,onEscape:n}),i=`doc-editor-title-${e}`,a=V(`h3`,`doc-editor-title`,t.name);a.id=i;let o=V(`select`,`plan-control doc-editor-picker`);o.setAttribute(`aria-label`,`Doc`);let s=V(`span`,`doc-editor-status`);s.setAttribute(`role`,`status`);let c=$F(`Edit`,`doc-editor-mode`),l=$F(`Preview`,`doc-editor-mode`),u=$F(`Reload`,`doc-editor-reload`),d=$F(`Save`,`doc-editor-save`),f=$F(`Close`,`doc-editor-close`),p=V(`div`,`doc-editor-modes`);p.append(c,l);let m=V(`div`,`doc-editor-actions`);m.append(s,u,d,f);let h=V(`div`,`doc-editor-header`);h.append(a,o,p,m);let g=V(`textarea`,`plan-editor doc-editor-text`);g.spellcheck=!0,g.setAttribute(`aria-labelledby`,i);let _=V(`div`,`doc-editor-preview`),v=V(`div`,`doc-editor-body`);v.append(g,_),r.dialog.append(h,v),_f(r.dialog,i);let y={sessionId:e,docPath:t.path,baseHash:null,hasUnsavedChanges:!1,isBusy:!1,mode:`edit`,title:a,select:o,textarea:g,preview:_,status:s,btnEdit:c,btnPreview:l,btnReload:u,btnSave:d,close:()=>{BF=null,r.close()}};BF=y,g.addEventListener(`input`,()=>{y.hasUnsavedChanges||(y.hasUnsavedChanges=!0,KF(y,`Unsaved changes`),GF(y))}),g.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),ZF(y))}),o.addEventListener(`change`,()=>{let e=o.value;o.value=y.docPath,YF(y,`Open another doc?`,()=>{XF(y,e)})}),c.addEventListener(`click`,()=>QF(y,`edit`)),l.addEventListener(`click`,()=>QF(y,`preview`)),u.addEventListener(`click`,()=>{YF(y,`Reload this doc?`,()=>{XF(y,y.docPath)})}),d.addEventListener(`click`,()=>{ZF(y)}),f.addEventListener(`click`,n),XF(y,t.path),g.focus()}function tI(e){BF&&BF.sessionId===e&&(WF(BF),GF(BF),!VF(e).some(e=>e.path===BF?.docPath)&&KF(BF,`This doc is no longer surfaced, so it cannot be saved.`,`warn`))}function nI(e){zF.set(e.id,e.docs),e.docs.length===0&&zF.delete(e.id),UF(e.id),tI(e.id)}function rI(e){let t=[...zF.keys()];zF.clear();for(let[t,n]of Object.entries(e.sessions))zF.set(t,n);for(let e of new Set([...t,...zF.keys()]))UF(e),tI(e)}var iI=Object.freeze({idle:`#c084fc`,complete:`#4ade80`,waiting:`#fbbf24`});function aI(e){let t=Array.isArray(e)?e:[],n=!1;for(let e of t){let t=fj(e||{},`favicon`);if(t===`now`)return`waiting`;t===`later`&&(n=!0)}return n?`complete`:`idle`}function oI(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0a0810"/><rect x="1" y="1" width="30" height="30" rx="5" fill="none" stroke="#2a2440" stroke-width="1"/><path d="M10 8 L22 16 L10 24Z" fill="${iI[e]||iI.idle}"/>${e===`complete`?`<circle cx="25" cy="7" r="3" fill="#4ade80"/>`:``}</svg>`}function sI(){let e=document.querySelector(`link[rel="icon"]`);if(e instanceof HTMLLinkElement)return e;let t=document.createElement(`link`);return t.rel=`icon`,t.type=`image/svg+xml`,document.head.append(t),t}var cI=sI(),lI=`idle`;function uI(e){let t=aI([...e.values()].map(({currentState:e})=>({state:e})));t!==lI&&(lI=t,cI.href=`data:image/svg+xml,${encodeURIComponent(oI(t))}`)}function dI(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function fI(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function pI({resizer:e,column:t,widthHost:n,widthProperty:r,bounds:i,keyStepPx:a,getStoredWidth:o,setStoredWidth:s}){e.setAttribute(`aria-valuemin`,String(i.minPx)),e.setAttribute(`aria-valuemax`,String(i.maxPx));let c=t=>{let a=dI(t,i);return a===null?null:(n.style.setProperty(r,`${a}px`),e.setAttribute(`aria-valuenow`,String(a)),a)},l=o();l!==null&&c(l);let u=0,d=0;e.addEventListener(`pointerdown`,n=>{n.button===0&&(u=n.clientX,d=t.getBoundingClientRect().width,e.setPointerCapture(n.pointerId),e.dataset.dragging=`true`,n.preventDefault())}),e.addEventListener(`pointermove`,t=>{e.hasPointerCapture(t.pointerId)&&c(d+(t.clientX-u))});let f=t=>{e.releasePointerCapture(t.pointerId),delete e.dataset.dragging};e.addEventListener(`pointerup`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),s(c(d+(t.clientX-u))))}),e.addEventListener(`pointercancel`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),c(d))}),e.addEventListener(`dblclick`,()=>{n.style.removeProperty(r),e.setAttribute(`aria-valuenow`,String(Math.round(t.getBoundingClientRect().width))),s(null)}),e.addEventListener(`keydown`,e=>{let n=fI(e.key,a);if(n===null)return;e.preventDefault();let r=c(t.getBoundingClientRect().width+n);r!==null&&s(r)})}var mI=new Set(VD());function hI(){HD([...mI])}function gI(e){if(!e)return;let t=String(e);mI.has(t)||(mI.add(t),hI())}function _I(e,t){let n=new Set;for(let r of e||[]){let e=t(r);if(!e)continue;let i=String(e);n.add(i),gI(i)}return[...mI].filter(e=>!n.has(e))}function vI(e){return!e||!mI.delete(String(e))?!1:(hI(),!0)}function yI(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||F.DORMANT:e;return n===F.DORMANT?`start-session`:n===F.COMPLETE?`dismiss`:null}function bI({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==F.COMPLETE||!e||e===F.COMPLETE||!r?!1:n?a:i&&o}function xI(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||F.DORMANT)===F.DORMANT?null:e}function SI(){return ef.snapshot().selectedSessionId}function CI(e){ef.dispatch(`selectSession`,e)}function wI(e){return ef.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function TI(e,t=`explicit-state`){let n=U.get(e);if(!n)return null;let r=yI(n.currentState,t);return r&&B({type:r,id:e}),n}function EI(e,{rememberFocus:t=!0}={}){CI(e),t&&iO(e)}function DI(){return xI(rO(),U)}function OI(e=uf){return wie(U,e)}function kI(e,t){e&&B({type:`add-session`,name:JP(t),path:e})}function AI(e,t){let n=U.get(e);if(!n)return;let r=t||n.card?.dataset.merge||`none`;if(r!==`pending-review`&&r!==`parked`){B({type:`remove-session`,id:e});return}yf({title:`Remove Session`,message:`"${uf(n)}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`,confirmLabel:`Discard & Remove`,onConfirm:()=>B({type:`remove-session`,id:e})})}var jI=Object.freeze({[F.IDLE]:`compaction_restore_idle`,[F.COMPLETE]:`compaction_restore_complete`,[F.WAITING]:`compaction_restore_waiting`});function MI(e){return Object.values(jI).some(t=>t===e)}function NI(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function PI(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function FI(e,t){return e||PI(t)>0}var II={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},LI=null,RI=!1,zI=!1,BI=null,VI=null,HI=null,UI=`—`;function WI(e){return e==null?UI:Rf(e,`GB`)}function GI(e){return e==null?UI:If(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function KI(){let e=V(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=V(`button`,`health-summary`);t.type=`button`,t.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-controls`,`health-detail`);let n=V(`div`,`health-detail`);return n.id=`health-detail`,n.hidden=!0,t.addEventListener(`click`,()=>{zI=!zI,e.dataset.expanded=String(zI),t.setAttribute(`aria-expanded`,String(zI)),n.hidden=!zI,zI&&(B({type:`request-health-snapshot`}),JI())}),e.append(t,n),BI=e,VI=t,HI=n,e}function qI(){if(!VI||!LI)return;let e=LI,t=PI(e.anomalies);VI.innerHTML=`
|
|
182
|
-
<span class="health-chev" aria-hidden="true">${zI?`▼`:`▲`}</span>
|
|
183
|
-
<span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${WI(e.process.heapUsed)}</span>
|
|
184
|
-
<span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${WI(e.process.rss)}</span>
|
|
185
|
-
<span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${WI(e.process.external)}</span>
|
|
186
|
-
<span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
|
|
187
|
-
<span class="health-stat" title="Sessions: alivePty / sleeping / total"><span class="health-stat-label">Sess</span> ${e.sessions.alivePty}/${e.sessions.sleeping}/${e.sessions.total}</span>
|
|
188
|
-
<span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
|
|
189
|
-
<span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${GI(e.uptimeSeconds)}</span>
|
|
190
|
-
${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
|
|
191
|
-
`}function JI(){if(!HI||!LI)return;let e=LI,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(PI(i)>0){let e=[];i.listenerMismatch&&e.push(`Listener count mismatch: data WS listener leaked or missing`),i.orphanPty&&e.push(`Orphan PTY: session has live PTY but state is DONE/FAILED/DORMANT`),i.destroyedReachable&&e.push(`Destroyed session still reachable in sessions map`),a=`
|
|
192
|
-
<div class="health-section health-section-warn">
|
|
193
|
-
<div class="health-section-title">⚠ Anomalies</div>
|
|
194
|
-
${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
|
|
195
|
-
</div>
|
|
196
|
-
`}let o=r.list.map(e=>{let t=[];e.sleeping&&t.push(`sleeping`),e.autoKilled&&t.push(`autoKilled`),e.destroyed&&t.push(`destroyed`),e.pendingRestart&&t.push(`pendingRestart`);let n=Object.entries(e.timers).filter(([,e])=>e).map(([e])=>e).join(`,`)||`none`;return`
|
|
197
|
-
<tr>
|
|
198
|
-
<td>${NI(e.name)}</td>
|
|
199
|
-
<td class="health-mono">${II[e.state]||e.state}</td>
|
|
200
|
-
<td class="health-mono">${e.hasPty?e.ptyPid:UI}</td>
|
|
201
|
-
<td class="health-mono">${WI(e.outputBufferBytes)}</td>
|
|
202
|
-
<td class="health-mono">${e.outputBufferEntries}</td>
|
|
203
|
-
<td class="health-mono">${e.dataListenerCount}</td>
|
|
204
|
-
<td class="health-mono health-dim">${n}</td>
|
|
205
|
-
<td class="health-mono health-dim">${t.join(` `)||``}</td>
|
|
206
|
-
</tr>
|
|
207
|
-
`}).join(``);HI.innerHTML=`
|
|
208
|
-
${a}
|
|
209
|
-
<div class="health-section">
|
|
210
|
-
<div class="health-section-title">Process</div>
|
|
211
|
-
<div class="health-grid">
|
|
212
|
-
<div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${WI(t.heapUsed)}</span></div>
|
|
213
|
-
<div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${WI(t.heapTotal)}</span></div>
|
|
214
|
-
<div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${WI(t.rss)}</span></div>
|
|
215
|
-
<div class="health-row"><span class="health-label">External</span><span class="health-mono">${WI(t.external)}</span></div>
|
|
216
|
-
<div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${WI(t.arrayBuffers)}</span></div>
|
|
217
|
-
<div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
|
|
218
|
-
<div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${GI(e.uptimeSeconds)}</span></div>
|
|
219
|
-
</div>
|
|
220
|
-
</div>
|
|
221
|
-
|
|
222
|
-
<div class="health-section">
|
|
223
|
-
<div class="health-section-title">WebSockets</div>
|
|
224
|
-
<div class="health-grid">
|
|
225
|
-
<div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
|
|
226
|
-
<div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
|
|
227
|
-
<div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
|
|
228
|
-
</div>
|
|
229
|
-
</div>
|
|
230
|
-
|
|
231
|
-
<div class="health-section">
|
|
232
|
-
<div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY · ${r.sleeping} sleeping)</div>
|
|
233
|
-
<div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${WI(r.totalOutputBufferBytes)}</div>
|
|
234
|
-
<table class="health-table">
|
|
235
|
-
<thead>
|
|
236
|
-
<tr>
|
|
237
|
-
<th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
|
|
238
|
-
</tr>
|
|
239
|
-
</thead>
|
|
240
|
-
<tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
|
|
241
|
-
</table>
|
|
242
|
-
</div>
|
|
243
|
-
`}function YI(){if(!BI)return;let e=FI(RI,LI?.anomalies),t=BI.hidden;BI.hidden=!e,e&&t&&LI&&(qI(),zI&&JI())}function XI(e){RI=e,YI()}function ZI(e){if(BI)return BI;let t=KI();return e.appendChild(t),YI(),t}function QI(e){LI=e,YI(),BI&&!BI.hidden&&(qI(),zI&&JI())}function $I(e){return e.replace(/\r\n?/g,`
|
|
244
|
-
`).split(`
|
|
245
|
-
`)}function eL(e){return{kind:`unchanged`,text:e}}function tL(e){return{kind:`skipped`,text:`${e} unchanged lines`}}function nL(e,t){return e.length<=7?e.map(t):[...e.slice(0,3).map(t),tL(e.length-6),...e.slice(e.length-3).map(t)]}function rL(e){return e}function iL(e){let t=[],n=0;for(;n<e.length;){if(e[n].kind!==`unchanged`){t.push(e[n]),n++;continue}let r=n;for(;r<e.length&&e[r].kind===`unchanged`;)r++;t.push(...nL(e.slice(n,r),rL)),n=r}return t}function aL(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return r}function oL(e,t,n){let r=Math.min(e.length,t.length)-n,i=0;for(;i<r&&e[e.length-1-i]===t[t.length-1-i];)i++;return i}function sL(e,t){let n=e.length,r=t.length;if(n===0)return t.map(e=>({kind:`added`,text:e}));if(r===0)return e.map(e=>({kind:`removed`,text:e}));let i=r+1,a=new Int32Array((n+1)*i);for(let o=n-1;o>=0;o--)for(let n=r-1;n>=0;n--){let r=o*i+n;if(e[o]===t[n]){a[r]=a[r+i+1]+1;continue}a[r]=Math.max(a[r+i],a[r+1])}let o=[],s=0,c=0;for(;s<n&&c<r;){if(e[s]===t[c]){o.push(eL(e[s])),s++,c++;continue}if(a[(s+1)*i+c]>=a[s*i+c+1]){o.push({kind:`removed`,text:e[s]}),s++;continue}o.push({kind:`added`,text:t[c]}),c++}for(;s<n;)o.push({kind:`removed`,text:e[s]}),s++;for(;c<r;)o.push({kind:`added`,text:t[c]}),c++;return o}function cL(e,t){let n=$I(e),r=$I(t),i=aL(n,r),a=oL(n,r,i),o=n.slice(i,n.length-a),s=r.slice(i,r.length-a);return o.length+s.length>2e3?{lines:[],isTooLarge:!0}:{lines:iL([...nL(n.slice(0,i),eL),...sL(o,s),...nL(n.slice(n.length-a),eL)]),isTooLarge:!1}}var lL=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function uL(e){return e===`approve`||e===`approve-accept-edits`}function dL(e){return(e.state===`decided`||e.state===`closed`)&&uL(e.lastDecision)}function fL(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&dL(n)}function pL(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function mL(e){let t=pL(e.state,e.selectedAgentId);return t?e.selectedRevision&&t.revisions.some(t=>t.revision===e.selectedRevision)?e.selectedRevision:t.revisions.at(-1)?.revision??null:null}function hL(e,t){return pL(e,t)?.openRevision?.revision??null}function gL(e,t,n){if(n===null)return null;let r=pL(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function _L(e,t){let n=t-e;return Number.isFinite(n)?Ff(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function vL(e,t,n){return t!==null&&t.state===`open`&&t.openRevision!==null&&t.openRevision.revision===n&&e.body!==null&&e.isConnected&&e.isDraft!==!0&&!e.isDecisionInFlight}function yL(e,t,n){let r=vL(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return lL.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function bL(e,t){return e.openRevision===null?t!==null&&e.approvedRevision===t?`Approved`:e.state===`released`?`Answer in the terminal`:e.state===`decided`?e.lastDecision===`revise`?`Feedback sent, waiting for the next revision`:`Approved`:`Closed`:e.openRevision.revision===t?``:`Rev ${e.openRevision.revision} is the one open`}function xL(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function SL(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+Qu}function CL(e){let t=e.plan;if(t!==void 0&&t.length===0)return`the edited plan is empty, so nothing was sent`;if(t!==void 0&&new TextEncoder().encode(t).byteLength>524288)return`the edited plan is over the plan size cap, so nothing was sent`;let n=e.comments??[];return n.length>40?`more than 40 section comments are pending, so nothing was sent`:n.find(e=>e.comment.length>4e3||(e.heading?.length??0)>4e3)?`a section comment is over ${Oc} characters, so nothing was sent`:xL(e)>1e4?`the feedback composes more than the ${Ac} characters the hook reply carries, so nothing was sent`:SL(e)>$u?`the decision is larger than one control frame carries, so nothing was sent`:null}function wL(e){return e?`, ${e}`:``}function TL(e,t,n){if(!e.isConnected)return`Disconnected`;if(!t||n===null)return`No plan revision selected`;if(e.isDecisionInFlight)return`Sending your decision`;if(e.body===null)return`Loading`;if(e.isDraft===!0)return`Draft`;let r=bL(t,n);if(r)return r;if(e.hasUnsavedComment===!0)return`Save or cancel the open comment first.`;let i=e.pendingCommentCount??0;return i<=0?``:i===1?`1 comment to send. Remove it to approve.`:`${i} comments to send. Remove them to approve.`}function EL(e,t,n){let r=TL(e,t,n);return r?`${r}${wL(e.problem)}`:e.problem??``}function DL(e){let t=pL(e.state,e.selectedAgentId),n=mL(e);return{tabs:e.state.reviews.map(e=>({agentId:e.agentId,label:e.agentId===null?`Main`:e.agentType||`Agent`,selected:e===t})),revisions:(t?.revisions??[]).map(e=>({revision:e.revision,label:`Rev ${e.revision}`,isOpen:e.revision===t?.openRevision?.revision,receivedAt:e.receivedAt,selected:e.revision===n})),selectedAgentId:t?.agentId??null,selectedRevision:n,previousRevision:gL(e.state,t?.agentId??null,n),status:EL(e,t,n),actions:yL(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:gL(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:vL(e,t,n)}]}}function OL(e,t){let n=e.reviews.findIndex(e=>e.agentId===t.agentId),r=[...(n===-1?null:e.reviews[n])?.revisions??[]],i=r.findIndex(e=>e.revision===t.revision),a={revision:t.revision,receivedAt:t.receivedAt,chars:t.chars,title:t.title};r[i===-1?r.length:i]=a,r.sort((e,t)=>e.revision-t.revision);let o={agentId:t.agentId,agentType:t.agentType,revisions:r,state:t.state,openRevision:t.state===`open`?{revision:t.revision,since:t.receivedAt}:null,approvedRevision:t.approvedRevision,lastDecision:t.lastDecision},s=[...e.reviews];return s[n===-1?s.length:n]=o,{reviews:s}}function kL({headingOffsets:e,scrollTop:t,isScrolledToEnd:n,readingLineOffset:r}){if(e.length===0)return null;if(n)return e.length-1;let i=t+r,a=0;for(let t=0;t<e.length&&!(e[t]>i);t++)a=t;return a}var AL=12,jL=8,ML=``,NL=48,PL=new Map;function FL(e,t){return JSON.stringify([e,t])}function IL(e){return e.id??ML}function LL(e,t){let n=PL.get(e);n||(n=new Map,PL.set(e,n));let r=FL(t.agentId,t.revision);for(n.delete(r),n.set(r,t.plan);n.size>AL;){let e=n.keys().next().value;if(typeof e!=`string`)break;n.delete(e)}}function RL(e){PL.delete(e)}function zL(e,t,n){return!e||n===null?null:PL.get(e)?.get(FL(t,n))??null}function BL(e){let t=V(`section`,`plan-face`);t.hidden=!0;let n=V(`header`,`plan-head`),r=V(`select`,`plan-heading-picker`);r.setAttribute(`aria-label`,`Plan section`);let i=V(`div`,`plan-view-panel`),a=V(`div`,`plan-sheet-head`),o=V(`button`,`plan-control plan-sheet-close`,`×`);o.type=`button`,o.setAttribute(`aria-label`,`Close`),a.append(V(`span`,null,`View`),o);let s=V(`div`,`plan-view-group plan-author-group`),c=V(`div`,`plan-tabs`);c.setAttribute(`role`,`tablist`),c.setAttribute(`aria-label`,`Plan author`),s.append(V(`span`,`plan-sheet-label`,`Author`),c);let l=V(`div`,`plan-view-group plan-revision-group`),u=V(`div`,`plan-revision-stepper`),d=V(`button`,`plan-control plan-revision-previous`,`‹`);d.type=`button`,d.setAttribute(`aria-label`,`Previous revision`);let f=V(`button`,`plan-control plan-revision-next`,`›`);f.type=`button`,f.setAttribute(`aria-label`,`Next revision`);let p=V(`span`,`plan-revision-label`),m=V(`span`,`plan-revision-age`);u.append(d,p,f,m);let h=V(`div`,`plan-revision-list`);h.setAttribute(`role`,`radiogroup`),h.setAttribute(`aria-label`,`Revision`),l.append(V(`span`,`plan-sheet-label`,`Revision`),u,h);let g=V(`div`,`plan-view-group plan-mode-group`),_=V(`div`,`plan-modes`);_.setAttribute(`role`,`radiogroup`),_.setAttribute(`aria-label`,`Show`),g.append(V(`span`,`plan-sheet-label`,`Show`),_);let v=V(`div`,`plan-head-spacer`),y=V(`div`,`plan-draft-notice`),ee=V(`span`,`plan-draft-dot`);ee.setAttribute(`aria-hidden`,`true`);let b=V(`button`,`plan-control plan-draft-chip`,`Peek draft`);b.type=`button`,y.append(ee,b),i.append(a,s,l,g,v,y);let te=V(`button`,`plan-control plan-view-button`,`View`);te.type=`button`,te.setAttribute(`aria-haspopup`,`dialog`),te.setAttribute(`aria-expanded`,`false`);let ne=V(`button`,`plan-control plan-minimize-button`,`Minimize`);ne.type=`button`,ne.addEventListener(`click`,e.showTerminal),n.append(r,i,te,ne);let re=V(`div`,`plan-sheet-backdrop`),ie=V(`div`,`plan-body-layout`),ae=V(`nav`,`plan-heading-rail`);ae.setAttribute(`aria-label`,`Plan sections`);let x=V(`article`,`plan-reading-column`);ie.append(ae,x);let oe=V(`textarea`,`plan-editor`);oe.setAttribute(`aria-label`,`Plan markdown`),oe.spellcheck=!1;let se=V(`footer`,`plan-action-bar`),ce=V(`span`,`plan-status`);ce.setAttribute(`role`,`status`);let le=V(`div`,`plan-decision-slot`),ue=V(`label`,`plan-accept-edits`),S=V(`input`,`plan-accept-edits-checkbox`);S.type=`checkbox`,ue.append(S,V(`span`,null,`Accept edits`)),le.append(ue,ce),se.append(le);let C=new Map;for(let[e,t]of[[`terminal`,`Answer in terminal`],[`revise`,`Send feedback`],[`approve`,`Approve`]]){let n=V(`button`,`plan-action`,t);n.type=`button`,n.dataset.decision=e,n.addEventListener(`click`,()=>{n.disabled||at(e)}),C.set(e,n),se.append(n)}t.append(n,ie,se,re);let w=null,de={reviews:[]},fe=null,pe=null,me=!0,he=``,ge=``,_e=``,ve=``,ye=!1,be=null,T=!1,xe=null,Se=!1,Ce=!1,we=null,Te=[],Ee=null,De=null,Oe=new Map,ke=new Map,Ae=new Map,je=[],Me=!1,Ne=null,Pe=!1;function Fe(e,t=!0){Pe=e,i.replaceChildren(...e?[a,g,l,s,y,v]:[a,s,l,g,v,y]),c.setAttribute(`role`,e?`radiogroup`:`tablist`);for(let t of c.querySelectorAll(`button`)){let n=t.getAttribute(`aria-selected`)===`true`||t.getAttribute(`aria-checked`)===`true`;t.setAttribute(`role`,e?`radio`:`tab`),t.removeAttribute(e?`aria-selected`:`aria-checked`),t.setAttribute(e?`aria-checked`:`aria-selected`,String(n))}if(i.dataset.open=String(e),re.dataset.open=String(e),te.setAttribute(`aria-expanded`,String(e)),ie.inert=e,se.inert=e,r.inert=e,te.inert=e,ne.inert=e,e){i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-label`,`Plan view`),i.setAttribute(`aria-modal`,`true`),o.focus();return}i.removeAttribute(`role`),i.removeAttribute(`aria-modal`),t&&te.focus()}function Ie(e){e.addEventListener(`keydown`,t=>{let n={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1}[t.key];if(n===void 0&&t.key!==`Home`&&t.key!==`End`)return;let r=[...e.querySelectorAll(`button:not(:disabled)`)];if(r.length===0)return;t.preventDefault();let i=(r.indexOf(document.activeElement)+(n??0)+r.length)%r.length;t.key===`Home`&&(i=0),t.key===`End`&&(i=r.length-1);let a=Pe;r[i].click(),!(a&&e!==_)&&(e===_||!Pe)&&e.querySelector(`[aria-checked="true"], [aria-selected="true"]`)?.focus()})}let Le=ef.subscribe((e,t)=>{t.includes(`layout`)&&Pe&&Fe(!1,!1)});e.signal?.addEventListener(`abort`,Le,{once:!0}),Ie(_),Ie(c),Ie(h),te.addEventListener(`click`,()=>Fe(!Pe)),o.addEventListener(`click`,()=>Fe(!1)),re.addEventListener(`click`,()=>Fe(!1)),i.addEventListener(`keydown`,e=>{if(!Pe)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Fe(!1);return}if(e.key!==`Tab`)return;let t=[...i.querySelectorAll(`button:not(:disabled)`)].filter(e=>e.getClientRects().length>0&&e.tabIndex>=0),n=t[0],r=t.at(-1);if(e.shiftKey&&document.activeElement===n){e.preventDefault(),r?.focus();return}!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())});function Re(e){x.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})}r.addEventListener(`change`,()=>Re(r.value));function ze(){Me=!1;let e=je.map(e=>x.querySelector(`#${CSS.escape(e.dataset.headingId??``)}`)).filter(e=>e!==null),t=x.getBoundingClientRect().top-x.scrollTop,n=kL({headingOffsets:e.map(e=>e.getBoundingClientRect().top-t),scrollTop:x.scrollTop,isScrolledToEnd:x.scrollTop>0&&x.scrollTop+x.clientHeight>=x.scrollHeight-2,readingLineOffset:NL}),i=n===null?null:e[n]?.id??null;for(let e of je){if(e.dataset.headingId===i){e.setAttribute(`aria-current`,`location`);continue}e.removeAttribute(`aria-current`)}i!==null&&(r.value=i)}function Be(){Me||t.hidden||je.length===0||(Me=!0,requestAnimationFrame(ze))}x.addEventListener(`scroll`,Be,{passive:!0});function Ve(){Ne=null,T=!1,Se=!1,Ce=!1,we=null}function He(t){Ee=t,e.reportProblem(t),kt()}function Ue(e){pe=e,Ee=null,Ve(),Fe(!1,Pe),kt()}function We(e){let t=de.reviews.find(e=>e.agentId===fe)?.revisions??[],n=t[t.findIndex(e=>e.revision===pe)+e];n&&Ue(n.revision)}d.addEventListener(`click`,()=>We(-1)),f.addEventListener(`click`,()=>We(1));function Ge(e,t){return`${w??``}:${e??`main`}:${t??`latest`}`}function Ke(){return Ge(fe,pe)}function qe(e,t,n){return`${e??``}:${FL(t,n??0)}`}function Je(){return qe(w,fe,pe)}function Ye(){return ke.get(Je())??null}function Xe(){return Ye()?.size??0}function Ze(){if(Ne===null)return!1;let e=ke.get(Ne.target.bucketKey)?.get(Ne.target.sectionSlot)??``;return Ne.field.value.trim()!==e}function Qe(e){let t=ke.get(e);if(!t)return[];let n=[];for(let e of Te){let r=t.get(IL(e));r&&n.push({heading:e.heading,comment:r})}return n}function $e(e,t){let n=t.trim(),r=ke.get(e.bucketKey)??new Map;ke.set(e.bucketKey,r),n.length===0&&r.delete(e.sectionSlot),n.length>0&&r.set(e.sectionSlot,n),r.size===0&&ke.delete(e.bucketKey),kt()}function et(e){if(Ce||ye)return;let t={bucketKey:Je(),sectionSlot:IL(e)},n=V(`div`,`plan-comment-composer`),r=V(`label`,`plan-comment-label`,`Comment on ${e.heading??`Introduction`}`),i=V(`textarea`,`plan-comment-input`);i.maxLength=Oc,i.value=ke.get(t.bucketKey)?.get(t.sectionSlot)??``,r.append(i);let a=V(`div`,`plan-comment-actions`),o=V(`button`,`plan-control plan-comment-cancel`,`Cancel`);o.type=`button`;let s=V(`button`,`plan-control plan-comment-save`,`Save comment`);s.type=`button`,a.append(o,s),n.append(r,a);let c={target:t,element:n,field:i};Ne=c,i.addEventListener(`input`,Ot),o.addEventListener(`click`,()=>{Ne===c&&(Ne=null,kt())}),s.addEventListener(`click`,()=>{Ne===c&&(Ne=null),$e(t,i.value)}),kt(),i.focus()}function tt(e){let t={bucketKey:Je(),sectionSlot:IL(e)};if(Ne?.target.bucketKey===t.bucketKey&&Ne.target.sectionSlot===t.sectionSlot)return Ne.element;let n=Ye()?.get(t.sectionSlot);if(!n)return null;let r=V(`div`,`plan-comment-card`),i=V(`div`,`plan-comment-head`),a=V(`button`,`plan-control plan-comment-edit`,`Edit`);a.type=`button`,a.addEventListener(`click`,()=>et(e));let o=V(`button`,`plan-control plan-comment-remove`,`Remove`);return o.type=`button`,o.disabled=ye,a.disabled=ye,o.addEventListener(`click`,()=>$e(t,``)),i.append(V(`span`,`plan-comment-label`,`Your comment`),a,o),r.append(i,V(`p`,`plan-comment-text`,n)),r}function nt(t,n,r={}){if(!w||n.revision===null||ye)return!1;let i=CL(r);if(i!==null)return He(i),!1;let a={agentId:n.agentId,revision:n.revision,decision:t,...r};return e.sendDecision(w,a)?(Ee=null,ye=!0,be=uL(t)?n:null,kt(),!0):!1}function rt(e){if(!T)return{};let t=oe.value;return t===zL(w,e.agentId,e.revision)?{}:{plan:t}}function it(e){let t=qe(w,e.agentId,e.revision),n=Qe(t);n.length!==0&&nt(`revise`,e,{comments:n})&&e.revision!==null&&(De={bucketKey:t,agentId:e.agentId,revision:e.revision},kt())}function at(e){let t={agentId:fe,revision:pe};if(e===`revise`){it(t);return}nt(e===`approve`&&!ue.hidden&&S.checked?`approve-accept-edits`:e,t,rt(t))}function ot(e){Ne=null,T=e===`edit`,Se=e===`changes`,T&&xe!==Je()&&(oe.value=zL(w,fe,pe)??``,xe=Je()),Ee=null,kt()}function st(e){return`${e.kind}:${Ge(e.agentId,e.revision)}`}function E(e){for(Ae.set(st(e),e);Ae.size>jL;){let e=Ae.keys().next().value;if(typeof e!=`string`)break;Ae.delete(e)}}function ct(e,t){return e.agentId===t.agentId?e.kind===`draft`?t.revision===0:t.revision===0?!1:e.revision===null||e.revision===t.revision:!1}function lt(e){for(let[t,n]of Ae)if(ct(n,e))return Ae.delete(t),n;return null}function ut(){for(let[e,t]of Ae)if(t.kind===`draft`)return Ae.delete(e),t;return null}function dt(){if(Ae.size!==1)return null;let e=Ae.entries().next().value;return e?(Ae.delete(e[0]),e[1]):null}function ft(){if(!w)return;let t=Ke();he!==t&&e.requestPlan(w,fe,pe??void 0)&&(he=t,E({kind:`selection`,agentId:fe,revision:pe}))}function pt(){t.hidden||ft()}function mt(){return gL(de,fe,pe)}function ht(t){if(!w)return;let n=Ge(fe,t);_e!==n&&e.requestPlan(w,fe,t)&&(_e=n,E({kind:`diff-base`,agentId:fe,revision:t}))}function gt(){if(!w)return;let t=`${w}:${fe??`main`}`;ve!==t&&e.requestDraft(w,fe)&&(ve=t,E({kind:`draft`,agentId:fe,revision:null}))}function _t(e,t){return`${e??``}:${t??``}`}function vt(){return de.reviews.find(e=>e.agentId===fe)?.revisions.find(e=>e.revision===pe)?.receivedAt??0}function yt(){let e=Oe.get(_t(w,fe));return e!==void 0&&e>vt()}function bt(){if(Ce){Ve(),kt();return}Ne=null,T=!1,Se=!1,gt(),kt()}b.addEventListener(`click`,bt);function xt(e){ae.replaceChildren(),r.replaceChildren(),je=[];for(let t of e){let e=t.id??`plan-introduction`,n=t.heading??`Introduction`,i=V(`button`,`plan-heading-link`,n);i.type=`button`,i.dataset.level=String(t.level),i.dataset.headingId=e,i.title=n,i.dataset.commented=String(Ye()?.has(IL(t))===!0),je.push(i),i.addEventListener(`click`,()=>Re(e)),ae.append(i);let a=V(`option`,null,n);a.value=e,r.append(a)}}function St(e){let t=mt();if(t===null){x.append(V(`p`,`plan-loading`,`This is the first revision, so there is nothing to diff`));return}let n=zL(w,fe,t);if(n===null){x.append(V(`p`,`plan-loading`,`Loading the previous revision`)),ht(t);return}let r=cL(n,e);if(r.isTooLarge){x.append(V(`p`,`plan-loading`,`This diff is too large to show, so the newer revision stands alone`)),x.append(FF(AF(e)));return}x.append(RF(r))}function Ct(e){if(x.replaceChildren(),T){xt(Te),x.append(oe);return}if(e===null){if(Te=[],xt(Te),ge===Ke()){x.append(V(`p`,`plan-loading`,`This plan revision could not be loaded`));return}x.append(V(`p`,`plan-loading`,`Loading plan`)),ft();return}let t=AF(e);if(Te=jF(t),xt(Te),Se){St(e);return}if(Ce){x.append(FF(t));return}let n=Ye();x.append(IF(Te,{hasComment:e=>n?.has(IL(e))===!0,isComposing:e=>Ne?.target.bucketKey===Je()&&Ne.target.sectionSlot===IL(e),onComment:et,attachmentFor:tt}))}function wt(e){s.hidden=e.tabs.length<2,c.replaceChildren();for(let t of e.tabs){let e=V(`button`,`plan-tab`,t.label);e.type=`button`,e.setAttribute(`role`,Pe?`radio`:`tab`),e.setAttribute(Pe?`aria-checked`:`aria-selected`,String(t.selected)),e.tabIndex=t.selected?0:-1,e.addEventListener(`click`,()=>{fe=t.agentId,pe=null,Ee=null,he=``,ge=``,_e=``,ve=``,Ve(),Fe(!1,Pe),kt()}),c.append(e)}}function Tt(){return Ce?we:zL(w,fe,pe)}function Et(e){return DL({state:de,selectedAgentId:fe,selectedRevision:pe,body:e,isConnected:me,isDecisionInFlight:ye,isDraft:Ce,pendingCommentCount:Xe(),hasUnsavedComment:Ze(),problem:Ee})}function Dt(e){ce.textContent=e.status,ce.hidden=e.status.length===0;let t=e.actions.some(e=>e.kind===`approve`&&e.enabled);ue.hidden=!t,S.disabled=!t;for(let t of e.actions){let e=C.get(t.kind);e&&(e.disabled=!t.enabled)}}function Ot(){Dt(Et(Tt()))}function kt(){let e=Pe&&i.contains(document.activeElement),t=DL({state:de,selectedAgentId:fe,selectedRevision:pe,body:null,isConnected:me});(fe!==t.selectedAgentId||pe!==t.selectedRevision)&&Ve(),fe=t.selectedAgentId,pe=t.selectedRevision,xe!==Je()&&(xe=null);let n=Tt(),a=Et(n);wt(a);let s=a.revisions.findIndex(e=>e.selected),c=a.revisions[s],l=Date.now();u.hidden=a.revisions.length<2,p.textContent=`Rev ${s+1} of ${a.revisions.length}`,m.textContent=c?_L(c.receivedAt,l):``,d.disabled=s<=0,f.disabled=s<0||s>=a.revisions.length-1,h.replaceChildren();for(let e of[...a.revisions].reverse()){let t=V(`button`,`plan-revision-option`);t.type=`button`,t.dataset.revision=String(e.revision),t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.selected)),t.tabIndex=e.selected?0:-1,t.append(V(`span`,`plan-revision-name`,e.label),V(`span`,`plan-revision-age`,_L(e.receivedAt,l))),e.isOpen&&t.append(V(`span`,`plan-revision-open`,`OPEN`)),t.addEventListener(`click`,()=>Ue(e.revision)),h.append(t)}_.replaceChildren();let g=T?`edit`:Se?`changes`:`read`,v=a.modes.find(e=>e.kind===g&&e.enabled)??a.modes[0];for(let e of a.modes){let t=V(`button`,`plan-control plan-mode`,e.label);t.type=`button`,t.dataset.mode=e.kind,t.disabled=!e.enabled,t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.kind===g)),t.tabIndex=e.kind===v.kind?0:-1,t.addEventListener(`click`,()=>{t.disabled||(ot(e.kind),_.querySelector(`[aria-checked="true"]`)?.focus())}),_.append(t)}y.hidden=!yt()&&!Ce,b.hidden=y.hidden,b.setAttribute(`aria-pressed`,String(Ce)),Dt(a),Ct(n),r.disabled=je.length===0,Be(),e&&!i.contains(document.activeElement)&&o.focus()}function At(t){be!==null&&fL(t,be.agentId)&&(be=null,xe=null,e.showTerminal())}function jt(e){Ne=null,e!==w&&(be=null,ye=!1,Ee=null,Ae.clear()),Fe(!1,!1),w=e,t.hidden=!1,he=``,ge=``,kt(),pt()}function Mt(){Ne=null,Fe(!1,!1),t.hidden=!0}function Nt(e,t){return t.kind!==`selection`||e.agentId!==fe?!1:t.revision===null?pe===null||pe===e.revision:t.revision===pe}function Pt(e){if(e.kind===`draft`){ve=``,He(`the draft could not be read, so nothing was shown`);return}if(e.kind===`diff-base`){_e=``;return}ge=Ge(e.agentId,e.revision)}function Ft(e){De!==null&&hL(e,De.agentId)!==De.revision&&(ke.delete(De.bucketKey),De=null)}function It(e){ye=!1,Lt({reviews:e.reviews});let t=e.body;if(!t){let e=dt()??ut();e!==null&&Pt(e);return}let n=lt(t);if(t.revision===0){if(ve=``,n===null||t.agentId!==fe)return;we=t.plan,Ce=!0;return}LL(e.id,t),n!==null&&Nt(t,n)&&(fe=t.agentId,pe=t.revision,he=``,ge=``)}function Lt(e){let t=hL(e,fe);t!==null&&t!==hL(de,fe)&&(pe=t,Ve()),Ft(e),de=e,ye=!1,At(e)}function Rt(e){let n=!1;e.state&&Lt(e.state),e.draft&&Oe.set(_t(e.draft.id,e.draft.agentId),e.draft.changedAt),e.decisionRefused&&(be=null,ye=!1,De=null),typeof e.isConnected==`boolean`&&(n=e.isConnected&&!me,me=e.isConnected,n&&(he=``,ge=``,_e=``,ve=``,ye=!1)),e.requestFailed&&(ge=he),e.response&&It(e.response),t.hidden||kt(),(n||e.decisionRefused)&&pt()}return{el:t,show:jt,hide:Mt,update:Rt}}var VL=`#plan/`;function HL(e){return`${VL}${encodeURIComponent(e)}`}function UL(e){if(!e.startsWith(VL))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var WL=`http://www.w3.org/2000/svg`;function GL(e,t){let n=document.createElementNS(WL,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function KL(e,t){let n=document.createElementNS(WL,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}function qL(e){let t=new Map;for(let n of e.files){let e=n.path.split(`/`);for(let r=0;r<e.length;r++){let i=e.slice(0,r).join(`/`),a=t.get(i);a!==void 0&&a.localeCompare(n.path)<=0||t.set(i,n.path)}}return t}function JL(e,t){let n=[],r=new Set(e.files.map(e=>e.path));for(let i of e.links){let a=t.get(i.providerRepo),o=a?.firstChangedPathByDirectory.get(i.packageDir),s=o??i.importers.find(e=>r.has(e))??i.importers[0]??i.consumerManifest,c=o&&a?a.repo:e,l=i.importerCount===1?`file`:`files`,u=i.providerChangedPathCount===1?`file`:`files`,d=i.changedImporterCount===1?`file`:`files`,f=i.isLocalLink?`Linked locally (${i.versionSpec}), so ${i.providerRepo} changes reach it now.`:`Uses ${i.versionSpec} from the registry, so ${i.providerRepo} changes reach it only after a publish.`;i.providerChangedPathCount>0&&(f+=` ${i.providerRepo} changed ${i.providerChangedPathCount} ${u} in ${i.packageDir||`the repository root`}.`),i.changedImporterCount>0&&(f+=` ${i.changedImporterCount} importing ${d} changed here.`),n.push({factId:i.factId,kind:`link`,severity:6,path:s,openPath:`${c.sessionPathPrefix}${s}`,headline:`${e.name} imports ${i.packageName} from ${i.providerRepo} in ${i.importerCount} ${l}`,detail:f})}for(let t of e.collisions)n.push({factId:t.factId,kind:`collision`,severity:5,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is also changed in "${t.otherSessionName}"`,detail:`Another live session is changing this file.`});for(let t of e.coChangeGaps){let r=t.confidence>0?Math.round(t.support/t.confidence):0;n.push({factId:t.factId,kind:`co-change`,severity:4,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Usually changes with ${t.partner} (${t.support} of ${r} commits)`,detail:`${t.partner} is absent from these changes.`})}for(let t of e.untestedFiles)n.push({factId:t.factId,kind:`untested`,severity:3,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`No test reaches ${t.path}`,detail:`No dependent test was found in the import graph.`});for(let t of e.hotspots)n.push({factId:t.factId,kind:`hotspot`,severity:2,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is a hotspot`,detail:`${t.fixCommitCount} of its last ${t.commitCount} commits were fixes.`});for(let t of e.blastRadius)t.transitiveDependentCount<10||n.push({factId:t.factId,kind:`blast`,severity:1,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Wide blast radius: ${t.transitiveDependentCount} files depend on ${t.path}`,detail:`${t.directDependentCount} direct dependents; ${t.dependentTestCount} dependent tests.`});return n.sort((e,t)=>t.severity-e.severity||e.path.localeCompare(t.path)||e.factId.localeCompare(t.factId))}function YL(e,t){let n=new Map(e.blastRadius.map(e=>[e.path,e])),r=e.files.filter(e=>e.isCommitted).length;return{header:{name:e.name,fileCount:e.files.length,committedCount:r,uncommittedCount:e.files.length-r,base:e.base},subsystems:e.subsystems.map(e=>({title:e.title,fileCount:e.paths.length})),warnings:JL(e,t),files:e.files.map(t=>({path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,status:t.status,isCommitted:t.isCommitted,dependentCount:n.get(t.path)?.transitiveDependentCount??0,testCount:n.get(t.path)?.dependentTestCount??0})),error:e.error}}function XL(e){let t=new Set(e.repos.flatMap(e=>e.links.map(e=>e.providerRepo))),n=new Map;for(let r of e.repos)t.has(r.name)&&!n.has(r.name)&&n.set(r.name,{repo:r,firstChangedPathByDirectory:qL(r)});let r=e.repos.map(e=>YL(e,n));return{repos:!e.error&&r.every(e=>e.header.fileCount===0&&e.warnings.length===0&&!e.error)?[]:r,narrative:{state:e.narratorState,claims:e.narratorState===`ready`?e.narrative?.claims.map(e=>({text:e.text,factIds:e.factIds}))??[]:[],status:{disabled:null,pending:`Narrative is being prepared.`,ready:null,failed:`Narrative could not be prepared.`}[e.narratorState]},error:e.error??null}}function ZL(e,t,n,r){let i=V(`button`,n);return i.type=`button`,i.title=`Open ${e} in the diff`,i.addEventListener(`click`,()=>r(t)),i}function QL(e,t){let n=V(`section`,`review-map-repo`),r=V(`div`,`review-map-repo-head`);r.append(V(`strong`,`review-map-repo-name`,e.header.name)),n.append(r);let i=V(`div`,`review-map-summary`);if(i.append(V(`span`,``,`${e.header.committedCount} committed`)),i.append(V(`span`,``,`${e.header.uncommittedCount} uncommitted`)),i.append(V(`span`,``,`Base: ${el(e.header.base,{chars:8})||`unknown`}`)),n.append(i),e.error&&n.append(V(`p`,`review-map-error`,e.error)),e.subsystems.length>0){let t=V(`div`,`review-map-subsystems`);for(let n of e.subsystems)t.append(V(`span`,`review-map-chip`,`${n.title} (${n.fileCount})`));n.append(t)}if(e.warnings.length>0){n.append(V(`h3`,`review-map-label`,`Signals`));let r=V(`div`,`review-map-warnings`);for(let n of e.warnings){let e=ZL(n.path,n.openPath,`review-map-warning`,t);e.dataset.severity=String(n.severity),e.dataset.kind=n.kind,e.append(V(`span`,`review-map-warning-headline`,n.headline)),e.append(V(`span`,`review-map-detail`,n.detail)),r.append(e)}n.append(r)}if(e.files.length>0){n.append(V(`h3`,`review-map-label`,`Files`));let r=V(`div`,`review-map-files`);for(let n of e.files){let e=ZL(n.path,n.openPath,`review-map-file`,t);e.dataset.status=n.status,e.append(V(`span`,`review-map-file-path`,n.path)),e.append(V(`span`,`review-map-file-meta`,`${n.status} · ${n.isCommitted?`committed`:`uncommitted`} · ${n.dependentCount} dependents · ${n.testCount} tests`)),r.append(e)}n.append(r)}return n}function $L(e,t){let n=V(`div`,`review-map`);if(e.error&&n.append(V(`p`,`review-map-error`,e.error)),e.narrative.status&&n.append(V(`p`,`review-map-narrative-status`,e.narrative.status)),e.narrative.claims.length>0){let t=V(`section`,`review-map-narrative`);t.append(V(`h3`,`review-map-label`,`Narrative`));for(let n of e.narrative.claims){let e=V(`p`,`review-map-claim`,n.text);e.dataset.factIds=n.factIds.join(` `),t.append(e)}n.append(t)}for(let r of e.repos)n.append(QL(r,t));return n}function eR({status:e,mergeReason:t,fetched:n,hasDiffError:r,hasChanges:i,hasCommits:a,canMerge:o,isWorkspace:s,live:c,effectiveBase:l}){return e===`parked`&&t===`base-diverged`?{text:`Parked: base branch diverged`,namesMergeTarget:!1}:e===`parked`?{text:`Parked: merge conflict`,namesMergeTarget:!1}:e===`merging`?{text:`Merging`,namesMergeTarget:!1}:e===`merged`?{text:`Merged`,namesMergeTarget:!1}:r?{text:`Could not read changes`,namesMergeTarget:!1}:n?i?s?{text:`Changes in this worktree`,namesMergeTarget:!1}:o?{text:`Ready to merge into ${rR(l)}`,namesMergeTarget:!0}:c?a?{text:`Not ready to merge`,namesMergeTarget:!1}:{text:`Uncommitted changes`,namesMergeTarget:!1}:{text:`Session ended`,namesMergeTarget:!1}:{text:`No changes yet`,namesMergeTarget:!1}:{text:`Checking for changes`,namesMergeTarget:!1}}function tR(e,t){return e.namesMergeTarget?null:`merges into ${rR(t)}`}function nR({status:e,mergeReason:t,live:n,isMergeRendered:r,hasChanges:i}){return e===`parked`&&n&&t!==`base-diverged`?`resolve`:!i&&e!==`parked`&&e!==`merging`?`none`:r?`merge`:`none`}function rR(e){return e||`base`}function iR(e,t){return`Merge into ${rR(e)}, push it, and rebase this worktree, then keep working (${t})`}function aR(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function oR(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function sR({status:e,hasCommits:t,live:n,state:r}){return e===`merging`||!t?null:!n&&(e===`parked`||e===`merged`)?`Session ended.`:!n||e===`parked`?null:r===`INITIALIZING`||r===`STARTING`?`Starting up. Mergeable once the session is live.`:null}function cR({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function lR(e){return e||`its upstream`}function uR(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=lR(e.upstream);return n===`no-upstream`?`${t}: no upstream`:n===`unknown`&&e.error&&e.action===void 0?`${t}: sync check failed: ${e.error}`:n===`unknown`?`${t}: sync state unknown vs ${a}`:n===`in-sync`?`${t}: in sync with ${a}`:n===`ahead`?`${t}: ${r} ahead of ${a}`:n===`behind`?`${t}: ${i} behind ${a}`:n===`diverged`?`${t}: ${r} ahead, ${i} behind ${a}`:null}function dR(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function fR(e,t,n){let r=n?` (${t})`:``;if(!e||dR(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=lR(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function pR(e){return e?.state!==`in-sync`||e.fetched===!1}function mR({fetched:e,changedFileCount:t,view:n}){return!e||t===0?!1:n!==`diff`}function hR(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=lR(e.upstream);return e.action===`fast-forwarded`?`Fast-forwarded ${t} to ${n}.`:e.action===`pushed`?`Pushed ${t} to ${n}.`:e.state===`diverged`?`${t} has diverged from ${n}. Resolve manually.`:e.state===`in-sync`?null:e.state===`no-upstream`?`${t} has no upstream to resync against.`:`Could not determine sync status.`}var gR=new Set([`pending-review`,`parked`]),_R=600,vR=ib(`merge`,ob),yR=ib(`resolve-or-resync`,ob),bR=260,xR=700,SR=new Map,CR=new Map,wR=new Map,TR=new Map,ER=new Map,DR=new Map,OR=new Set,kR=new Set,AR=new Set,jR=ND(),MR=null,NR=null,PR=null,FR=null,IR=new Map,LR=null,RR=null,zR=null,BR=null,VR=null,HR=!1,UR=!1,WR=null,GR=null,KR=null,qR=null,JR=new Map,YR=null,XR=null,ZR=null,QR=null,$R=null,ez=new Map,tz=null,nz=!1,rz=null;function iz(e,t){let n=V(`button`,`review-icon-button`);n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e);let r=KL(16,16);return r.append(GL(`path`,{d:t,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n.append(r),n}function az(){HR=!1,PR?.querySelector(`.review-more-menu`)?.remove(),PR?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function oz({panel:e}){if(NR=e,!NR)return;let t=NR,n=V(`div`,`review-sidebar-head`),r=V(`span`,`review-sidebar-title`,`Review`),i=e=>{t.toggleAttribute(`data-collapsed`,e),MD(!e)},a=V(`div`,`review-header-tabs`);a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,`Review view`);for(let[e,t]of[[`map`,`Map`],[`diff`,`Diff`],[`notes`,`Notes`]]){let n=V(`button`,`review-header-tab`,t);n.type=`button`,n.addEventListener(`click`,()=>aB(e)),IR.set(e,n),a.append(n)}LR=V(`span`,`review-notes-count`),a.append(LR);let o=iz(`Close review`,`M6 3L11 8L6 13`);o.classList.add(`review-sidebar-close`),o.addEventListener(`click`,()=>i(!0)),n.append(r,a,o);let s=V(`div`,`review-sidebar-rail`),c=iz(`Open review`,`M10 3L5 8L10 13`);c.classList.add(`review-sidebar-open`),c.addEventListener(`click`,()=>i(!1)),zR=V(`div`,`review-rail-status`),BR=V(`span`,`review-rail-added`),VR=V(`span`,`review-rail-removed`),zR.append(BR,VR),RR=V(`span`,`review-rail-label`,`Review`),s.append(c,RR,zR),PR=V(`div`,`review-controls`),FR=V(`div`,`review-sidebar-body`),YR=V(`div`,`review-notes-footer`),XR=V(`button`,`review-btn review-btn-primary`,`Send notes`),XR.type=`button`,XR.title=`Paste the drafted review notes into this session as one message`,XR.addEventListener(`click`,Gz),ZR=V(`div`,`review-notes-status`),YR.append(ZR,XR),$R=V(`div`,`review-notes-list`),QR=V(`div`,`review-notes-outcome`),QR.setAttribute(`role`,`status`);let l=V(`div`,`review-resize-handle`);l.setAttribute(`aria-hidden`,`true`),t.append(s,n,PR,FR,QR,YR,l),t.toggleAttribute(`data-collapsed`,!jD()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&HR&&(e.preventDefault(),az(),PR?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{HR&&e.target instanceof Element&&(PR?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||az())});let u=0,d=0,f=e=>{let n=Math.max(bR,Math.min(xR,e));return Number.isFinite(n)?(t.style.setProperty(`--sidebar-width`,`${n}px`),n):null},p=e=>{l.hasPointerCapture(e.pointerId)&&f(d+(u-e.clientX))},m=!1,h=e=>{if(!m)return;m=!1,l.hasPointerCapture(e.pointerId)&&l.releasePointerCapture(e.pointerId),document.documentElement.style.cursor=``,document.documentElement.style.userSelect=``;let n=t.style.getPropertyValue(`--sidebar-width`);n&&oO(parseInt(n,10))};l.addEventListener(`pointerdown`,e=>{e.button===0&&(e.preventDefault(),u=e.clientX,d=t.getBoundingClientRect().width,l.setPointerCapture(e.pointerId),m=!0,document.documentElement.style.cursor=`col-resize`,document.documentElement.style.userSelect=`none`)}),l.addEventListener(`pointermove`,p),l.addEventListener(`pointerup`,h),l.addEventListener(`pointercancel`,h),l.addEventListener(`lostpointercapture`,h);let g=aO();g!==null&&f(g),wI(e=>{HR=!1,kR.clear(),AR.clear(),MR=null,Rz(),e&&kz(e),e&&!jz(e)&&Mz(e),lB()}),lB()}function sz(e){if(NR){if(e){Gd(NR,e);return}Kd(NR)}}function cz(e,t){let n=SR.get(e);SR.set(e,t),dk(n,t)&&(wR.delete(e),TR.delete(e),ER.delete(e),e===SI()&&Az(e)),e===SI()&&lB()}function lz(e,t,n=null){let r=SR.get(e)||`none`,i=t||`none`;if(CR.set(e,n),cz(e,i),gR.has(i)&&!gR.has(r)){let t=SI(),n=t?gR.has(SR.get(t)||`none`):!1;(!t||!U.has(t)||!n)&&CI(e)}}function uz(e,t,n=null){CR.set(e,n),cz(e,t||`none`)}function dz(e,t){let n=wR.get(e)??null;wR.set(e,t),TR.delete(e),e===SI()&&(hz(n,t),MR&&oB(MR,t),lB(),sB())}function fz(e,t){let n=df(e);n&&(TR.set(n,t),n===SI()&&lB())}function pz(e,t){let n=df(e);if(!n)return;let r=Jc.safeParse(t);r.success&&r.data.sessionId===n&&(ER.set(n,r.data),n===SI()&&lB())}function mz(e){return{committed:e?.committed?.diff||``,uncommitted:e?.uncommitted?.diff||``}}function hz(e,t){if(ez.size===0||!e)return;let n=lk(mz(e),mz(t),ez.keys());if(n.length!==0){for(let e of n)ez.delete(e);tz!==null&&n.includes(tz)&&(tz=null),rz=`${n.length} note${n.length===1?``:`s`} dropped because the diff changed.`}}function gz(e,t){let n=df(e),r=t;DR.set(n,r),r&&r.action!==void 0&&_z(n,r),n===SI()&&lB()}function _z(e,t){OR.delete(e),clearTimeout(qR??void 0),qR=null;let n=hR(t);KR=n?{forId:e,text:n,isError:!!t.error}:null,KR&&!KR.isError&&(qR=setTimeout(()=>{KR&&KR.forId===e&&(KR=null),lB()},5e3))}function vz(e){let t=df(e);t&&t===SI()&&kz(t)}function yz(e){let t=df(e);if(t!==SI())return;let n=!wR.has(t)||TR.has(t),r=!ER.has(t)||bz(ER.get(t));n&&kz(t),r&&!n&&Az(t),lB()}function bz(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function xz(e){let t=df(e);if(SR.delete(t),CR.delete(t),wR.delete(t),TR.delete(t),ER.delete(t),DR.delete(t),OR.delete(t),KR&&KR.forId===t&&(clearTimeout(qR??void 0),KR=null),t===SI()){CI(null);return}lB()}function Sz(){let e=SI();if(!e||jz(e))return!1;let t=U.get(e);if(!t)return!1;let n=SR.get(e)||`none`,r=!!wR.get(e)?.hasCommits,i=oR(n,CR.get(e)||null,Ez(t.currentState,r));return nR({status:n,mergeReason:CR.get(e)||null,live:Oz(t.currentState),isMergeRendered:i.isRendered,hasChanges:Tz(e)})!==`merge`||!i.isEnabled?!1:(Dz(e,t.currentState),!0)}function Cz(){let e=SI();if(!e||jz(e))return!1;let t=U.get(e);if(!t)return!1;let n=SR.get(e)||`none`,r=CR.get(e)||null;return nR({status:n,mergeReason:r,live:Oz(t.currentState),isMergeRendered:oR(n,r,!1).isRendered,hasChanges:Tz(e)})===`resolve`&&(B({type:`resolve-session-merge`,id:e}),!0)}function wz(){let e=SI();return!e||!U.has(e)||jz(e)||Pz(e)?!1:(Fz(e),!0)}function Tz(e){let t=wR.get(e)??null,n=[...sk(t?.committed?.diff||``),...sk(t?.uncommitted?.diff||``)];return cR({fetched:wR.has(e),changedFileCount:fk(n).files,hasCommits:!!t?.hasCommits})}function Ez(e,t){return(Vs.includes(e)||e===F.RUNNING)&&t}function Dz(e,t){if(t!==F.RUNNING){B({type:`merge-continue-session`,id:e});return}yf({title:`Merge while working`,message:`This session still looks like it is working. Merging rebases its worktree under it. Merge anyway?`,confirmLabel:`Merge anyway`,onConfirm:()=>B({type:`merge-continue-session`,id:e,force:!0})})}function Oz(e){return e!==F.DORMANT&&e!==F.DONE&&e!==F.FAILED}function kz(e){B({type:`request-session-diff`,id:e}),Az(e)}function Az(e){ER.has(e)||ER.set(e,null),B({type:`request-change-map`,id:e})}function jz(e){return U.get(e)?.card.dataset.workspace!==void 0}function Mz(e){DR.set(e,null),B({type:`request-branch-sync`,id:e}),e===SI()&&lB()}function Nz(e){OR.add(e),clearTimeout(qR??void 0),KR&&KR.forId===e&&(KR=null),B({type:`resync-branch`,id:e}),e===SI()&&lB()}function Pz(e){return OR.has(e)||DR.get(e)===null}function Fz(e){if(!Pz(e)){if(dR(DR.get(e))===`resync`){Nz(e);return}Mz(e)}}function Iz(e,t){return t?{text:`Resyncing...`,loading:!0,error:!1}:KR&&KR.forId===e?{text:KR.text,loading:!1,error:KR.isError}:null}function Lz(e,t){return e?.card?.dataset.session||t}function Rz(){ez.clear(),tz=null,rz=null,nz=!1}function zz(e){return ez.get(e)??null}function Bz(){return`${ez.size} note${ez.size===1?``:`s`} drafted`}function Vz(e,t){let n=V(`div`,`review-notes-entry`),r=t.side===`old`?` (removed line)`:``;n.append(V(`span`,`review-notes-entry-where`,`${t.section} ${t.path}:${t.line}${r}`)),n.append(V(`span`,`review-notes-entry-note`,t.note));let i=V(`button`,`review-note-remove`,`Remove`);return i.type=`button`,i.title=`Drop this note`,i.addEventListener(`click`,()=>iB(e)),n.append(i),n}function Hz(){if($R){$R.replaceChildren(),$R.hidden=ez.size===0;for(let[e,t]of ez)$R.append(Vz(e,t))}}function Uz(){if(!YR||!XR||!ZR)return;let e=SI(),t=!!e&&U.has(e);YR.hidden=!t||jR===`map`||ez.size===0,XR.disabled=nz||ez.size===0,ZR.textContent=Bz(),LR&&(LR.hidden=ez.size===0,LR.textContent=String(ez.size),LR.setAttribute(`aria-label`,Bz())),QR&&(QR.textContent=nz?`Sending notes...`:rz,QR.hidden=!t||jR===`map`||!QR.textContent),Hz(),jR===`notes`&&t&&Wz()}function Wz(){if(FR&&$R){if(FR.replaceChildren(),ez.size===0){uB(`No notes yet`,`Open the Diff tab and press note on a line to draft one.`);return}FR.append($R)}}function Gz(){let e=SI();e&&!nz&&ez.size!==0&&(nz=!0,rz=null,Uz(),Cd(`send-diff-annotations`,{id:e,annotations:[...ez.values()]}).then(Jz,Kz))}function Kz(e){nz=!1;let t=e instanceof Error?e.message:``;rz=t?`Could not send the notes: ${t}.`:`Could not send the notes.`,Uz()}function qz(e){return e.type===`send-diff-annotations-result`&&typeof e.error==`string`&&e.error?e.error:e.type===`error`&&typeof e.message==`string`&&e.message?e.message:`Could not send the notes.`}function Jz(e){if(nz=!1,e.type!==`send-diff-annotations-result`||e.ok!==!0){rz=qz(e),Uz();return}if(e.pending===!0){rz=`Notes queued until the session wakes. They stay drafted here, and pressing Send notes again re-sends them.`,Uz();return}rz=`Notes sent.`,ez.clear(),tz=null,lB()}function Yz(e,t){let n=V(`div`,`review-note`);n.dataset.noteFor=e,n.append(V(`span`,`review-note-text`,t));let r=V(`button`,`review-note-remove`,`Remove`);return r.type=`button`,r.title=`Drop this note`,r.addEventListener(`click`,()=>iB(e)),n.append(r),n}function Xz(e,t){let n=V(`div`,`review-note-editor`);n.dataset.editorFor=e;let r=V(`input`,`review-note-input`);r.type=`text`,r.value=t,r.maxLength=Yu,r.placeholder=`Note for this line`,r.addEventListener(`keydown`,t=>{if(t.key===`Enter`){t.preventDefault(),rB(e,r.value);return}t.key===`Escape`&&(t.preventDefault(),nB())});let i=V(`button`,`review-note-save`,`Save`);i.type=`button`,i.addEventListener(`click`,()=>rB(e,r.value));let a=V(`button`,`review-note-cancel`,`Cancel`);return a.type=`button`,a.addEventListener(`click`,nB),n.append(r,i,a),n}function Zz(e){let t=[],n=zz(e);return tz===e&&t.push(Xz(e,n?n.note:``)),n&&t.push(Yz(e,n.note)),t}function Qz(e,t){let n=Zz(t);return e.after(...n),n}function $z(e){let t=e.nextElementSibling;for(;t instanceof HTMLElement&&(t.dataset.noteFor!==void 0||t.dataset.editorFor!==void 0);){let e=t.nextElementSibling;t.remove(),t=e}}function eB(e){let t=JR.get(e);if(!t)return;let n=null;for(let r of t.rows){$z(r);let t=Qz(r,e);for(let e of t){let t=e.querySelector(`input`);!n&&t instanceof HTMLInputElement&&(n=t)}}n&&(n.focus(),n.select())}function tB(e){let t=tz;tz=e,t&&t!==e&&eB(t),eB(e)}function nB(){let e=tz;e&&(tz=null,eB(e))}function rB(e,t){let n=JR.get(e);if(!n)return;let r=t.trim();if(r){if(ez.size>=50&&!ez.has(e)){rz=`Only 50 notes can be sent at once.`,Uz();return}ez.set(e,{...n.target,section:n.section,note:r}),rz=null,tz=null,eB(e),Uz()}}function iB(e){ez.delete(e),rz=null,eB(e),Uz()}function aB(e){jR=e,e!==`diff`&&(MR=null),PD(e),lB()}function oB(e,t){if(!t)return;let n=sk(t.committed?.diff),r=sk(t.uncommitted?.diff);for(let t of n)(t.path===e||t.oldPath===e)&&kR.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&kR.add(`uncommitted:${t.path}`)}function sB(){if(!FR||!MR)return;let e=FR.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===MR||t.dataset.oldPath===MR){t.scrollIntoView({block:`nearest`}),MR=null;return}}function cB(e){MR=e,oB(e,wR.get(SI()??``)),aB(`diff`),sB()}function lB(){if(!PR||!FR)return;PR.replaceChildren(),FR.replaceChildren();for(let[e,t]of IR)t.setAttribute(`aria-pressed`,String(jR===e));JR.clear(),Uz(),RR&&(RR.hidden=!0),zR&&(zR.hidden=!0);let e=SI(),t=e?U.get(e):null;if(!e||!t){uB(`No session selected`,`Click a session name to review its changes here.`);return}let n=jz(e),r=SR.get(e)||`none`,i=CR.get(e)||null,a=t.currentState,o=gR.has(r),s=wR.has(e),c=s?wR.get(e):null,l=TR.get(e)??null,u=c?sk(c.committed?.diff||``):[],d=c?sk(c.uncommitted?.diff||``):[],f=!!c?.hasCommits,p=Oz(a),m=oR(r,i,Ez(a,f)),h=DR.get(e),g=OR.has(e),_=rR(t.effectiveBase),v=fk([...u,...d]),y=nR({status:r,mergeReason:i,live:p,hasChanges:cR({fetched:s,changedFileCount:v.files,hasCommits:f}),isMergeRendered:m.isRendered}),ee=eR({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:v.files>0||f,hasCommits:f,canMerge:!n&&m.isEnabled,isWorkspace:n,live:p,effectiveBase:_}),b=V(`div`,`review-status-headline`);if(b.append(V(`span`,`review-status-text`,ee.text)),!n&&!pR(h)){let t=uR(h);if(t){b.title=t;let n=iz(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=fR(h,yR,y!==`resolve`),n.disabled=Pz(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>Fz(e)),b.append(V(`span`,`sr-only`,t),n)}}PR.append(b);let te=V(`div`,`review-status-meta`);if(mR({fetched:s,changedFileCount:v.files,view:jR})&&te.append(V(`span`,`review-status-files`,`${v.files} file${v.files===1?``:`s`}`),V(`span`,`review-status-added`,`+${v.added}`),V(`span`,`review-status-removed`,`-${v.removed}`),V(`span`,`review-status-spacer`)),!n&&pR(h)){let t=dB(e,y!==`resolve`);t&&te.append(t)}te.childElementCount>0&&PR.append(te),r===`parked`&&PR.append(V(`div`,`review-status-explanation`,aR(i))),RR&&(RR.hidden=!1),zR&&(zR.hidden=!1,zR.setAttribute(`aria-label`,`${ee.text}, +${v.added}, -${v.removed}`),zR.title=ee.text),BR&&(BR.textContent=`+${v.added}`),VR&&(VR.textContent=`-${v.removed}`);let ne=n?null:hB(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:_,primaryAction:y});ne&&PR.append(ne);let re=n?null:Iz(e,g),ie=!n&&y===`merge`&&!m.isEnabled?sR({status:r,hasCommits:f,live:p,state:a}):null;if(ie){let e=V(`div`,`review-control-reason`,ie);e.id=`review-merge-reason`,PR.append(e),PR.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(re?.text){let e=V(`div`,re.loading?`review-control-reason review-loading`:`review-control-reason`,re.text);e.id=`review-resync-reason`,re.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),te.append(e),te.isConnected||PR.insertBefore(te,b.nextSibling),PR.querySelector(`.review-branch-sync-text, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(UR&&WR===e&&PR.append(V(`div`,`review-resolve-sent`,`Resolve prompt sent`)),jR!==`notes`){if(jR===`map`){let t=ER.get(e);if(!t){FR.append(V(`div`,`review-nochanges review-loading`,`Loading map...`));return}FR.append($L(XL(t),cB));return}if(l){FR.append(V(`p`,`review-diff-error`,l));return}u.length>0&&FR.append(fB(`committed`,`Committed`,tR(ee,_),u)),d.length>0&&FR.append(fB(`uncommitted`,`Uncommitted`,null,d))}}function uB(e,t){if(!FR)return;let n=V(`div`,`review-empty`);n.append(V(`div`,`review-empty-title`,e),V(`div`,`review-empty-desc`,t)),FR.append(n)}function dB(e,t){let n=DR.get(e);if(n===void 0)return null;if(n===null)return V(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=uR(n)||`Base branch: sync state unknown`,i=iz(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return i.className=`review-branch-sync-text`,i.removeAttribute(`aria-label`),i.append(V(`span`,`review-branch-sync-label`,r)),i.disabled=OR.has(e),n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`),i.title=fR(n,yR,t),i.addEventListener(`click`,()=>Fz(e)),i}function fB(e,t,n,r){let i=V(`div`,`review-section`);i.dataset.kind=e;let a=fk(r),o=V(`div`,`review-section-head`),s=V(`div`,`review-section-id`);s.append(V(`span`,`review-section-label`,t)),n&&s.append(V(`span`,`review-section-meaning`,n)),o.append(s);let c=V(`div`,`review-section-stat`);c.append(V(`span`,`review-stat-files`,`${a.files} file${a.files===1?``:`s`}`)),c.append(V(`span`,`review-add`,`+${a.added}`),V(`span`,`review-del`,`-${a.removed}`)),o.append(c),i.append(o);let l=V(`div`,`review-diff`);for(let t of r)l.append(pB(t,e));return i.append(l),i}function pB(e,t){let n=`${t}:${e.path}`,r=kR.has(n),i=V(`div`,`review-file`);i.dataset.path=e.path,e.oldPath&&(i.dataset.oldPath=e.oldPath),i.dataset.status=e.status,i.dataset.open=r?`true`:`false`;let a=V(`button`,`review-file-head`);a.type=`button`,a.setAttribute(`aria-expanded`,r?`true`:`false`);let o=V(`span`,`review-file-twisty`,r?`▾`:`▸`);o.setAttribute(`aria-hidden`,`true`),a.append(o,V(`span`,`review-file-path`,e.path));let s=V(`span`,`review-file-counts`);if(e.binary&&s.append(V(`span`,`review-bin`,`bin`)),e.binary||s.append(V(`span`,`review-add`,`+${e.added}`),V(`span`,`review-del`,`-${e.removed}`)),a.append(s),a.addEventListener(`click`,()=>{let e=kR.has(n);e&&kR.delete(n),e||kR.add(n),lB()}),i.append(a),!r)return i;let c=V(`div`,`review-file-body`);if(e.binary)return c.append(V(`div`,`review-file-binary`,`Binary file not shown`)),i.append(c),i;let l=0,u=!1;for(let r of e.hunks){if(l>=_R&&!AR.has(n)){u=!0;break}c.append(V(`div`,`review-hunk-head`,r.header));for(let i of r.lines){if(l>=_R&&!AR.has(n)){u=!0;break}let r=V(`div`,`review-line review-line-${i.type}`),a=i.type===`add`?`+`:i.type===`del`?`-`:i.type===`meta`?`\\`:` `;r.append(V(`span`,`review-line-gutter`,a)),r.append(V(`span`,`review-line-text`,i.text));let o=uk(e,i);if(c.append(r),l++,!o)continue;let s=ck(t,o.path,o.line,o.side),d=JR.get(s)??{target:o,section:t,rows:[]};d.rows.push(r),JR.set(s,d),r.dataset.noteKey=s;let f=V(`button`,`review-annotate`,`note`);f.type=`button`,f.title=`Note on ${o.path}:${o.line}`,f.addEventListener(`click`,()=>tB(s)),r.append(f),Qz(r,s)}if(u)break}if(u){let e=V(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{AR.add(n),lB()}),c.append(e)}return i.append(c),i}function mB({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=V(`button`,a?`review-btn review-btn-danger`:`review-btn review-btn-primary`);return s.type=`button`,e&&(s.id=e),r&&(s.title=r),s.disabled=i,s.innerHTML=n?`${t} <kbd class="review-shortcut" aria-hidden="true">${n}</kbd>`:t,s.addEventListener(`click`,o),s}function hB(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=V(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(mB({id:`review-merge-btn`,label:`Merge`,shortcut:vR,title:iR(o,vR),disabled:!r.isEnabled,onClick:()=>Dz(e,a)})),l&&c.append(mB({label:`Resolve`,shortcut:yR,title:`Paste a resolve prompt into this session so the agent can finish the merge (${yR})`,onClick:()=>{B({type:`resolve-session-merge`,id:e}),UR=!0,WR=e,clearTimeout(GR??void 0),GR=setTimeout(()=>{UR=!1,WR=null,lB()},3e3),lB()}}));let u=V(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=iz(`More review actions`,`M3 8h0.01M8 8h0.01M13 8h0.01`);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(HR)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{HR=!HR,lB(),(PR?.querySelector(HR?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??PR?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!HR)return u;let f=V(`div`,`review-more-menu`);if(f.id=`review-more-menu`,f.setAttribute(`role`,`menu`),f.setAttribute(`aria-label`,`More review actions`),n&&!i){let n=mB({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{HR=!1,lB(),yf({title:`Discard worktree`,message:`Throw away the worktree changes for "${Lz(U.get(e),e)}"? This cannot be undone.`,confirmLabel:`Discard`,onConfirm:()=>B({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var gB=1e4,_B=null,vB=null,yB=null,bB=null,xB=[],SB=!1,CB=UD(),wB=null,TB=null,EB=[],DB=null,OB=null,kB=null,AB=null,jB=!1;function MB(){return!!_B&&!Ud(_B)}function NB(){return EB.find(e=>e.id===DB)??null}function PB(){AB&&=(clearTimeout(AB.timeoutHandle),null)}function FB(){AB=null,aV()}function IB(e){PB(),jB=!1,DB=e,kB=e?{sessionId:e,grouping:jA(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,SB=!0}function LB(e){let t=GA(EB,OB,DB,e);return OB&&t===OB&&(OB=null),t!==DB&&(IB(t),!0)}function RB(e){if(!wB)return;let t=e.endingAt===void 0?{type:`session-trace`,id:e.id,after:e.after}:{type:`session-trace`,id:e.id,endingAt:e.endingAt};wB(t)&&(AB={request:e,timeoutHandle:setTimeout(FB,gB)})}function zB(e=!1){if(!wB)return;let t=KA({selectedSessionId:DB,isPanelVisible:e||MB(),hasPendingRequest:!!AB,hasLoadedOnce:kB?.hasLoadedOnce??!1,nextOffset:kB?.nextOffset??0});t&&RB(t)}function BB(){return{selectedSessionId:DB,hasPendingRequest:!!AB,hasLoadedOnce:kB?.hasLoadedOnce??!1,hasDroppedEarliestRows:kB?.hasDroppedEarliestRows??!1,firstOffset:kB?.firstOffset??0,residentRowCount:kB?zA(kB.grouping):0}}function VB(){if(!wB)return;let e=JA(BB());e&&RB(e)}function HB(e){EB.some(t=>t.id===e)&&e!==DB&&(OB=null,IB(e),zB(),aV())}function UB(){let e=V(`label`,`trace-session-field`),t=V(`span`,`trace-session-label`,`Session`),n=V(`select`,`trace-session-select`);n.disabled=EB.length===0;for(let e of EB){let t=V(`option`,null,e.label);t.value=e.id,t.selected=e.id===DB,n.append(t)}return n.addEventListener(`change`,()=>HB(n.value)),e.append(t,n),e}function WB(e){e.toggleAttribute(`data-hidden`,$A(CB,e.dataset.kind??``))}function GB(){if(yB)for(let e of yB.querySelectorAll(`.trace-row`))WB(e)}function KB(e){if(yB)for(let t of yB.querySelectorAll(`details`))t.open=e}function qB(){let e=V(`div`,`trace-filters`);for(let t of xA){let n=V(`button`,`trace-filter`,t.label);n.type=`button`;let r=()=>{n.setAttribute(`aria-pressed`,String(!$A(CB,t.kind)))};r(),n.addEventListener(`click`,()=>{CB=QA(CB,t.kind),WD(CB),r(),GB()}),e.append(n)}for(let[t,n]of[[`Expand all`,!0],[`Collapse all`,!1]]){let r=V(`button`,`trace-expand-control`,t);r.type=`button`,r.addEventListener(`click`,()=>{KB(n)}),e.append(r)}return e}function JB(){let e=Bd(`trace`,`Session trace`,`Bodies load from the local trace file only when requested.`),t=V(`div`,`trace-controls`);t.append(UB());let n=kB?.filePath??``,r=V(`code`,`trace-path`,n);r.title=n,t.append(r);let i=kB?ZA(kB.firstOffset,kB.hasDroppedEarliestRows,kB.grouping.turns[0]):null;return i!==null&&t.append(V(`span`,`trace-session-start`,`Started ${new Date(i).toLocaleString()}`)),e.append(t,qB()),e}function YB(e){let t=V(`div`,`trace-copy-wrap`),n=V(`button`,`trace-copy`,`Copy`);n.type=`button`;let r=V(`span`,`trace-copy-status`);return r.setAttribute(`role`,`status`),n.addEventListener(`click`,()=>{let t=Wd(e);if(!t){r.textContent=`Copy failed`;return}t.then(()=>{r.textContent=`Copied`}).catch(()=>{r.textContent=`Copy failed`}),setTimeout(()=>{r.textContent=``},1600)}),t.append(n,r),t}function XB(){let e=V(`div`,`trace-earlier-wrap`),t=V(`button`,`trace-load-earlier`,`Load earlier`);return t.type=`button`,t.addEventListener(`click`,()=>{VB()}),e.append(t),e}function ZB(e,t,n=``){let r=V(`details`,`trace-row${n?` ${n}`:``}`);r.dataset.kind=e.kind,r.dataset.tone=e.tone,WB(r);let i=V(`summary`,`trace-row-summary`);i.append(V(`span`,`trace-offset`,Ik(t,e.record.ts)),V(`span`,`trace-kind`,e.tag),V(`span`,`trace-row-label`,e.text));for(let t of e.badges){let e=V(`span`,`trace-badge`,t);e.dataset.badge=t,i.append(e)}let a=V(`div`,`trace-row-body`);r.append(i,a);let o=!1;return r.addEventListener(`toggle`,()=>{if(!r.open||o)return;o=!0;let t=yA(e.record);a.append(YB(t),V(`pre`,`trace-row-pre`,t))}),r}function QB(e){return V(`span`,`trace-turn-metrics`,NA(e))}function $B(e,t){e&&t&&(t.textContent=NA(e))}function eV(e,t){let n=e.children,r=Math.min(t.rows.length,n.length);for(let e=0;e<r;e+=1){let r=n[e]?.querySelector(`.trace-offset`);r&&(r.textContent=Ik(t.startedAt,t.rows[e].record.ts))}}function tV(e,t,n){let r=ZB(t,e.startedAt,`trace-turn-head`);return Pd(r,`.trace-row-summary`).append(n),r}function nV(e){let t=V(`section`,`trace-turn`),n=QB(e);if(e.head&&t.append(tV(e,e.head,n)),!e.head){let e=V(`h2`,`trace-leading-title`);e.append(V(`span`,`trace-leading-label`,`Before first prompt`),n),t.append(e)}let r=V(`div`,`trace-rows`);for(let t of e.rows)r.append(ZB(t,e.startedAt));return e.hasTrimmedRows&&t.append(V(`p`,`trace-trimmed`,`Earlier rows trimmed`)),t.append(r),{section:t,rowsElement:r,metricsElement:n}}function rV(e){return e?AB?.request.id===e.id&&!kB?.hasLoadedOnce?`Loading trace.`:ej(e):ej(null)}function iV(){if(!_B)return;let e=V(`div`,`trace-content`);vB=JB(),e.append(vB),yB=null,bB=null,xB=[];let t=NB(),n=kB?.grouping.turns??[];if(!t||n.length===0){e.append(V(`p`,`trace-empty`,rV(t))),_B.replaceChildren(e),SB=!1;return}qA(BB())&&(bB=XB(),e.append(bB));let r=V(`div`,`trace-turns`);for(let e of n){let t=nV(e);xB.push(t),r.append(t.section)}yB=r,GB(),e.append(r),_B.replaceChildren(e),SB=!1}function aV(){if(_B){if(!MB()){SB=!0;return}iV()}}function oV(){if(!vB||!MB())return;let e=JB();vB.replaceWith(e),vB=e}function sV(e){if(!yB)return;let t=kB?.grouping.turns[e.turnIndex];if(!t)return;if(e.isNewTurn){let e=nV(t);xB.push(e),yB.append(e.section);return}let n=xB[e.turnIndex];if(n){for(let r of e.rows)n.rowsElement.append(ZB(r,t.startedAt));$B(t,n.metricsElement)}}function cV(e){let t=e.parentElement;t&&!t.querySelector(`.trace-trimmed`)&&t.insertBefore(V(`p`,`trace-trimmed`,`Earlier rows trimmed`),e)}function lV(){if(!qA(BB())){bB?.remove(),bB=null;return}!bB&&yB?.parentElement&&(bB=XB(),yB.parentElement.insertBefore(bB,yB))}function uV(){if(!kB)return;let e=UA(kB.grouping);if(!(e.droppedTurnCount>0||e.droppedRowCount>0)){lV();return}let t=!kB.hasDroppedEarliestRows;if(kB.hasDroppedEarliestRows=!0,xB=xB.slice(e.droppedTurnCount),yB)for(let t=0;t<e.droppedTurnCount;t+=1)yB.firstElementChild?.remove();let n=xB[0];if(n&&e.droppedRowCount>0){for(let t=0;t<e.droppedRowCount;t+=1)n.rowsElement.firstElementChild?.remove();cV(n.rowsElement),$B(kB.grouping.turns[0],n.metricsElement)}t&&oV(),lV()}function dV(e){if(!kB)return;let t=IA(kB.grouping,e);if(MB()&&!SB&&yB){for(let e of t)sV(e);uV();return}if(yB=null,uV(),!MB()){SB=!0;return}iV()}function fV(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.id!=`string`||!Array.isArray(t.records)||typeof t.next!=`number`||typeof t.start!=`number`?null:{id:t.id,records:t.records,start:t.start,next:t.next,reset:t.reset===!0,path:typeof t.path==`string`?t.path:``}}function pV(){jB&&!AB&&(jB=!1,zB())}function mV(e){if(!yB)return;let t=xB[0]??null,n=t?.rowsElement.parentElement??null,r=kB?.grouping.turns[e.newTurns.length]??null;if((e.mergedHead||e.mergedRows.length>0)&&t&&n&&r){let i=t.rowsElement;if(e.mergedHead){n.querySelector(`.trace-leading-title`)?.remove();let a=QB(r),o=tV(r,e.mergedHead,a);n.insertBefore(o,i),t.metricsElement=a}e.mergedHead||$B(r,t.metricsElement);let a=document.createDocumentFragment();for(let t of e.mergedRows)a.append(ZB(t,r.startedAt));i.prepend(a),eV(i,r)}let i=document.createDocumentFragment(),a=[];for(let t of e.newTurns){let e=nV(t);a.push(e),i.append(e.section)}yB.prepend(i),xB.unshift(...a)}function hV(e){if(!kB)return;let t=LA(kB.grouping,e),n=MB()&&!SB&&!!yB&&!t.needsRerender,r=_B?.parentElement??null,i=r?.scrollHeight??0,a=r?.scrollTop??0;n&&mV(t),uV(),n||aV(),n&&oV(),r&&(r.scrollTop=a+r.scrollHeight-i)}function gV(e){_B||(_B=V(`div`,`trace-panel`),e.append(_B),iV())}function _V(e){wB=e}function vV(e){TB=e}function yV(e){OB=e,TB?.()}function bV(e){EB=WA(e);let t=LB(MB());t&&zB(),(t||!vB)&&aV(),!t&&vB&&oV()}function xV(){if(!_B)return;let e=LB(!0);zB(!0),XA({hasSelectionChanged:e,isRenderedTraceStale:SB,hasRenderedOnce:!!vB})&&iV()}function SV(e){let t=fV(e);if(!t)return;let n=YA({pendingRequest:AB?.request??null,resident:kB?{sessionId:kB.sessionId,firstOffset:kB.firstOffset,nextOffset:kB.nextOffset,hasLoadedOnce:kB.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});if(n===`ignore`){pV();return}if(PB(),n===`stale`){pV();return}if(n===`reset`){IB(t.id),kB&&(kB.filePath=t.path),zB(),aV(),pV();return}if(kB){if(kB.filePath=t.path,n===`prepend`){kB.firstOffset=t.start,hV(t.records),pV();return}n===`seed`&&(kB.hasLoadedOnce=!0,kB.firstOffset=t.start),kB.nextOffset=t.next,dV(t.records),pV()}}function CV(e){let t=e?.id;if(typeof t==`string`&&t===DB&&MB()){if(AB){jB=!0;return}zB()}}function wV(e){let t=e?.id;typeof t==`string`&&AB?.request.id===t&&(PB(),jB=!1,aV())}function TV(e){if(PB(),jB=!1,!e){aV();return}zB()}function EV(e){let{waiting:t,failed:n,done:r,complete:i,dormant:a,total:o}=e,s=e=>e>1?`s`:``,c=r+i,l=t+n;return t>0?{text:`${t} session${s(t)} need input`,severity:`warning`,alertCount:l}:n>0?{text:`${n} session${s(n)} failed`,severity:`critical`,alertCount:l}:o>0&&c===o?{text:`All sessions exited`,severity:`done`,alertCount:l}:o>0&&a===o?{text:`${a} session${s(a)} dormant`,severity:``,alertCount:l}:{text:``,severity:``,alertCount:l}}var DV=!1,OV=new Set;function kV(e){DV=!!e,$V();for(let e of OV)e(DV)}function AV(e){return OV.add(e),()=>OV.delete(e)}function jV(){return DV}var MV=[{cls:`agent-badge`,title:`Agent CLI this session supervises`},{cls:`worktree-badge`,text:`worktree`,title:`Running in a linked git worktree`,ariaLabel:`Linked git worktree`},{cls:`post-turn-badge`,ariaHidden:!0},{cls:`usage-badge`,title:`Tokens and estimated API list-price cost for this conversation`},{cls:`wakeup-badge`},{cls:`prompt-badge`,title:`Waiting on a permission or input prompt`}];function NV({cls:e,text:t=``,title:n,ariaLabel:r,ariaHidden:i}){let a=V(`span`,e,t);return n&&(a.title=n),r&&a.setAttribute(`aria-label`,r),i&&a.setAttribute(`aria-hidden`,`true`),a}function PV(e,t){e.textContent=t?`SANE YOLO`:`YOLO`,e.title=t?`Skips permission prompts; Sane YOLO blocks catastrophic commands`:`Running with --dangerously-skip-permissions`}function FV(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&PV(n,t)}function IV(e,t){let n=ff(e);n&&FV(n.card,t)}function LV(e,t,n,r={}){let i=n||F.INITIALIZING,a=V(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.saneYolo&&(a.dataset.saneYolo=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.path&&(a.dataset.path=String(r.path));let o=V(`div`,`session-card-header`),s=V(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?V(`span`,`perms-badge`):null;c&&PV(c,r.saneYolo===!0);let l=V(`span`,`session-task-title`);BV(l,r.taskTitle);let u=V(`span`,`card-elapsed`);u.setAttribute(`aria-hidden`,`true`);let d=V(`div`,`session-actions`),f=V(`div`,`session-overflow`),p=V(`button`,`btn-action btn-restart-menu visible`,`↻`);p.type=`button`,p.title=`Restart`,p.setAttribute(`aria-label`,`Restart`),p.setAttribute(`aria-haspopup`,`menu`),p.setAttribute(`aria-expanded`,`false`);let m=V(`div`,`session-overflow-menu`);m.id=`restart-menu-${e}`,m.setAttribute(`role`,`menu`),p.setAttribute(`aria-controls`,m.id);let h=RV(`Restart`,`Keeps this conversation`,`overflow-restart`),g=RV(`Restart fresh`,`Ends this conversation and starts a new one`,`overflow-restart-fresh`),_=RV(`Resume conversation...`,`Pick an earlier conversation`,`overflow-resume`),v=RV(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`);m.append(h,g,_,v),f.append(p,m);let y=V(`button`,`btn-action btn-debug`,`⚙`);y.title=`Debug state`,y.setAttribute(`aria-label`,`Debug session state`);let ee=V(`button`,`btn-action btn-trace`,`≡`);ee.type=`button`,ee.title=`Trace`,ee.setAttribute(`aria-label`,`Trace`);let b=V(`button`,`btn-action btn-remove visible`,`×`);b.type=`button`,b.title=`Remove session`,b.setAttribute(`aria-label`,`Remove session`);let te=V(`button`,`btn-action btn-face-plan`,`Plan`);te.type=`button`,te.title=`Show plan`;let ne=V(`button`,`btn-action btn-face-plan btn-docs`,`Docs`);ne.type=`button`,ne.title=`Open docs the agent surfaced`,d.append(ne,te,y,ee,f,b);let re=V(`div`,`session-card-tags`),ie=MV.map(e=>NV(e));c&&ie.push(c),re.append(...ie),o.append(s,u,l,re,d);let ae=V(`div`,`terminal-wrap`);return a.append(o,ae),{card:a,header:o,nameEl:s,elapsedEl:u,taskTitleEl:l,btnRestart:h,btnRestartFresh:g,btnRestartMenu:p,btnResume:_,btnWorkspaceRepos:v,btnTrace:ee,btnRemove:b,btnPlan:te,btnDocs:ne,btnDebug:y,restartMenu:m,termWrap:ae}}function RV(e,t,n){let r=V(`button`,`overflow-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(V(`span`,`restart-menu-label`,e),V(`span`,`restart-menu-hint`,t)),r}function zV(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function BV(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function VV(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&B({type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),BV(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var HV=`session-rename-input`;function UV(e){return!!e?.querySelector(`.${HV}`)}function WV(e,t){let n=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!n||UV(n))return;let r=e.card?.dataset.session??n.textContent??``;function i(){let t=e.card?.dataset.session??r;n.textContent=t,e.nameEl&&e.nameEl!==n&&(e.nameEl.textContent=t)}let a=document.createElement(`input`);a.type=`text`,a.className=HV,a.value=r,a.maxLength=64,n.textContent=``,n.appendChild(a),a.focus(),a.select();function o(){let n=a.value.trim();if(c(),!n||n===r){i();return}for(let[,t]of U)if(t!==e&&t.card.dataset.session===n){i(),qx(`Session "${n}" already exists.`);return}B({type:`rename-session`,id:t,newName:n}),i()}function s(){c(),i()}function c(){a.removeEventListener(`blur`,o),a.removeEventListener(`keydown`,l)}function l(e){e.key===`Enter`&&(e.preventDefault(),o()),e.key===`Escape`&&(e.preventDefault(),s()),e.stopPropagation()}a.addEventListener(`blur`,o),a.addEventListener(`keydown`,l)}var GV=`<button type="button" class="debug-close" aria-label="Close debug overlay" title="Close">×</button>`;function KV(e){return e?Vf(new Date(e)):`-`}function qV(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function JV(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${qV(e.quietMs)})`:``}function YV(e){let t=`<span class="debug-dim">${KV(e.ts)}</span>`;if(e.kind===`signal`){let n=NI([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${NI(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=JV(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${NI(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=NI(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${NI(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${NI(e.category||`?`)}: <span class="debug-dim">${NI(e.from||`?`)} → ${NI(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${NI(e.kind||`decision`)}</span>`}function XV(e,t){if(!e.debugOverlay)return;let n=t,r=GV;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${NI(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${NI(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${KV(e.timestamp)}</span> ${NI(e.from)} → ${NI(e.to)} <span class="debug-label">${NI(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${NI(a.signal)} (${NI(a.source||`?`)}${a.confidence?`/${NI(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${NI(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${qV(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${NI(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${YV(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r}function ZV(e,t){if(e.debugOpen){QV(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`${GV}<div class="debug-field debug-dim">Loading...</div>`,e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&QV(e)}),B({type:`debug-state`,id:t})}function QV(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function $V(){for(let[,e]of U)e.btnDebug.classList.toggle(`visible`,DV),e.btnTrace.classList.toggle(`visible`,DV),!DV&&e.debugOpen&&QV(e)}function eH(e){let t=typeof e.id==`string`?U.get(e.id):void 0;t?.debugOpen&&XV(t,e.payload)}function tH(e){ff(e)?.debugOpen&&B({type:`debug-state`,id:e})}function nH({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function rH({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}var iH=`DORMANT`;function aH(e){return e?Ff(Date.now()-e,{rounding:`round`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:60}):``}function oH(e,t,n){let r=V(`button`,`resume-item`);r.type=`button`,r.setAttribute(`role`,`option`),e.id===t&&r.classList.add(`resume-item-current`);let i=[e.worktreeName,e.gitBranch?e.gitBranch.replace(/^refs\/heads\//,``):null,aH(e.mtime)].filter(Boolean).join(` · `);return r.innerHTML=`<span class="resume-item-title">${NI(e.title||e.id)}</span><span class="resume-item-meta">${NI(i)}${e.id===t?` · current`:``}</span>`,r.addEventListener(`click`,()=>n(e.id)),r}function sH(e,t={}){let n=(t.currentState||``)===iH,{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=vf({title:`Resume a conversation`,dialogClass:`dialog resume-dialog`}),c=V(`p`,`dialog-message`,`Pick a Claude conversation from this repo (any worktree) to continue in this card.`),l=V(`div`,`resume-list`);l.setAttribute(`role`,`listbox`),l.setAttribute(`aria-label`,`Resumable conversations`),l.append(V(`div`,`resume-empty`,`Loading conversations...`));let u=V(`button`,`btn-dialog btn-dialog-cancel`,`Start fresh`);u.title=`Clear any resume binding so this card starts a new conversation`,o.prepend(u),i.append(c,l,o);function d(t){if(B({type:`resume-conversation`,id:e,conversationId:t||``}),a(),t){if(!n){qx(`Conversation will resume on this session's next restart.`);return}B({type:`start-session`,id:e})}}s.addEventListener(`click`,a),u.addEventListener(`click`,()=>d(null)),requestAnimationFrame(()=>s.focus()),Cd(`list-conversations`,{id:e}).then(e=>{if(!r.isConnected)return;let t=e.type===`conversations`?e.conversations:[];if(l.innerHTML=``,e.error){l.append(V(`div`,`resume-empty`,`Could not list conversations: ${e.error}`));return}if(t.length===0){l.append(V(`div`,`resume-empty`,`No prior conversations found for this repo.`));return}let n=e.type===`conversations`?e.current??null:null;for(let e of t)l.append(oH(e,n,d))}).catch(e=>{r.isConnected&&(l.innerHTML=``,l.append(V(`div`,`resume-empty`,`Could not list conversations: ${MP(e)}`)))})}var cH={critical:`✕`,warning:`▲`,done:`✓`,"":`▸`},lH=null,uH=null,dH=e=>e==null?``:String(e),fH=e=>zs.includes(e),pH=e=>Bs.includes(e);function mH(e){let t=e.currentState,n=fH(t)||pH(t);e.btnRestart.classList.toggle(`visible`,n),e.btnRestartFresh.classList.toggle(`visible`,n),e.btnResume.classList.add(`visible`),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,jV()),e.btnPlan.classList.toggle(`visible`,rH(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function hH(e){e.restartMenu.classList.remove(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`false`)}function gH(e,t){zV(e.taskTitleEl,()=>VV(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),WV(e,t)}),e.nameEl.addEventListener(`click`,()=>{UV(e.nameEl)||CI(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),WV(e,t))});function n(n){hH(e),e.btnRestartMenu.focus(),Cf(n,t,{readState:()=>e.currentState,send:B,confirm:yf})}e.btnRestart.addEventListener(`click`,()=>n(`restart`)),e.btnRestartFresh.addEventListener(`click`,()=>n(`restart-fresh`)),e.btnResume.addEventListener(`click`,()=>{hH(e),sH(t,{currentState:e.currentState})}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{hH(e),IP(t)}),e.btnTrace.addEventListener(`click`,()=>{hH(e),yV(t)}),e.btnDocs.addEventListener(`click`,()=>{hH(e),eI(t)}),e.btnPlan.addEventListener(`click`,()=>{let n=rH(e);if(n!==`hidden`){if(n===`face`){DH(t);return}location.hash=HL(t)}}),e.btnRemove.addEventListener(`click`,()=>{hH(e);let n=e.card.dataset.session,r=e.card.dataset.merge,i=r===`pending-review`||r===`parked`;yf({title:`Remove Session`,message:i?`"${n}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`:`Remove session "${n}"?`,confirmLabel:i?`Discard & Remove`:`Remove`,onConfirm:()=>B({type:`remove-session`,id:t})})}),e.btnRestartMenu.addEventListener(`click`,t=>{t.stopPropagation();for(let[,t]of U)t!==e&&hH(t);let n=e.restartMenu.classList.toggle(`open`);e.btnRestartMenu.setAttribute(`aria-expanded`,String(n))});let r=[e.btnRestart,e.btnRestartFresh,e.btnResume,e.btnWorkspaceRepos];function i(t){if(t.key!==`ArrowDown`&&t.key!==`ArrowUp`)return;t.preventDefault(),t.stopPropagation();for(let[,t]of U)t!==e&&hH(t);e.restartMenu.classList.add(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`true`);let n=r.filter(e=>e.classList.contains(`visible`)),i=document.activeElement,a=i instanceof HTMLButtonElement?n.indexOf(i):-1;n[((t.key===`ArrowDown`?a+1:a<0?n.length-1:a-1)+n.length)%n.length]?.focus()}e.btnRestartMenu.addEventListener(`keydown`,i),e.restartMenu.addEventListener(`keydown`,i),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.restartMenu.classList.contains(`open`)&&(t.preventDefault(),hH(e),e.btnRestartMenu.focus())},{signal:e.abortController.signal}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;!e.restartMenu.contains(n)&&n!==e.btnRestartMenu&&hH(e)},{signal:e.abortController.signal}),e.termWrap.addEventListener(`mousedown`,()=>{(e.currentState===F.WAITING||e.currentState===F.COMPLETE)&&B({type:`dismiss`,id:t})}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),ZV(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&QV(e)},{signal:e.abortController.signal})}function _H(e,t,n){let r=ff(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&BV(e,r.taskTitle)}}function vH(e){return typeof e==`string`&&U.has(e)}function yH(){return U.size}function bH(){return[...U.keys()]}function xH(e){let t=e||{};t.cursorBlink!=null&&DO(t.cursorBlink),t.debugMode!=null&&(kV(t.debugMode),XI(t.debugMode));for(let[,e]of U)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function SH(){Ly(U.values(),zy())}function CH(){if(!mf)return;let e=0,t=0,n=0,r=0,i=0,a=0;for(let[,o]of U){a++;let s=o.currentState;if(s===F.WAITING){e++;continue}if(s===F.FAILED){t++;continue}if(s===F.DONE){n++;continue}if(s===F.COMPLETE){r++;continue}s===F.DORMANT&&i++}let{text:o,severity:s,alertCount:c}=EV({waiting:e,failed:t,done:n,complete:r,dormant:i,total:a});if((o!==lH||s!==uH)&&(lH=o,uH=s,mf.dataset.severity=s,mf.textContent=``,o)){let e=V(`span`,`aggregate-glyph`,cH[s]??cH[``]);e.setAttribute(`aria-hidden`,`true`),mf.append(e,document.createTextNode(o))}document.title=c>0?`(${c}) Glimmervoid`:`Glimmervoid`}function wH(e,t,n,r={}){if(!pf)return;let i=df(e),a=dH(n)||F.DORMANT,o=LV(i,dH(t),a,r),s=a===F.DORMANT;pf.appendChild(o.card);let c;function l(){c.face=`terminal`,c.card.dataset.face=`terminal`,c.termWrap.hidden=!1,c.planFace.hide(),mH(c),ik(c,i)}let u=new AbortController,d=BL({signal:u.signal,requestPlan:(e,t,n)=>B({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>B({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:l,sendDecision:(e,t)=>B({type:`plan-decision`,id:e,...t}),reportProblem:e=>qx(`${o.nameEl.textContent||i}: ${e}`)});return c={term:null,fitAddon:null,webglAddon:null,needsWebGLReload:!1,webglAttachedWithoutLayout:!1,dataWs:null,card:o.card,nameEl:o.nameEl,taskTitleEl:o.taskTitleEl,taskTitle:r.taskTitle??null,taskTitleIsCustom:r.taskTitleIsCustom??!1,hasEndedTurn:!1,elapsedEl:o.elapsedEl,path:dH(r.path),stateSince:typeof r.stateSince==`number`&&Number.isFinite(r.stateSince)?r.stateSince:Date.now(),restartMenu:o.restartMenu,termWrap:o.termWrap,btnDebug:o.btnDebug,btnRestart:o.btnRestart,btnRestartFresh:o.btnRestartFresh,btnRestartMenu:o.btnRestartMenu,btnResume:o.btnResume,btnWorkspaceRepos:o.btnWorkspaceRepos,btnTrace:o.btnTrace,btnPlan:o.btnPlan,btnDocs:o.btnDocs,btnRemove:o.btnRemove,debugOverlay:null,debugOpen:!1,abortController:u,currentState:a,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,pendingPromptDetail:null,planReviewState:{reviews:[]},planFace:d},c._ensureTerminalReady=()=>ik(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{if(TH(c)===`plan`){DH(i);return}l()},c._setBorrowed=e=>{c.isBorrowed=e,mH(c)},o.card.append(d.el),U.set(i,c),gH(c,i),mH(c),c.btnDocs.classList.toggle(`visible`,HF(i)),a===F.RUNNING&&Jf(c,!0),s||(YO(o.termWrap,c),$O(c,i)),CH(),c}function TH(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(dL);return nH({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function EH(e){let t=ff(e);return!t?.isBorrowed||TH(t)!==`plan`?!1:DH(e)}function DH(e){let t=ff(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.planFace.show(df(e)),mH(t),!0)}function OH(e,t){let n=ff(e);n&&(n.hasPlan=t===!0,mH(n),EH(e))}function kH(e){let t=ff(e.id);t&&(t.planReviewState=OL(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),mH(t),EH(e.id))}function AH(e){let t=ff(e.id);t&&t.planFace.update({draft:e})}function jH(e){let t=ff(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),mH(t))}function MH(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return;let t=ff(e.id);if(t){if(e.scope===`plan`){t.planFace.update({requestFailed:!0});return}t.planFace.update({decisionRefused:!0})}}function NH(e){for(let[,t]of U)t.planFace.update({isConnected:e})}function PH(e,t){let n=ff(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function FH(e,t){let n=ff(e);if(!n)return;n.agent=typeof t==`string`?t:null;let r=zP(t);LH(n,`.agent-badge`,`agent`,{on:r!==``,value:r,text:r})}function IH(e,t){let n=ff(e);if(n){if(t){n.card.dataset.worktree=``;return}delete n.card.dataset.worktree}}function LH(e,t,n,r){let{on:i,value:a=``,text:o,title:s}=r,c=e.card.querySelector(t);if(!i){if(delete e.card.dataset[n],!c)return;o!==void 0&&(c.textContent=``),s!==void 0&&c.removeAttribute(`title`);return}e.card.dataset[n]=a,c&&(o!==void 0&&(c.textContent=o),s!==void 0&&(c.title=s))}function RH(e,t){let n=ff(e);n&&(n.hasEndedTurn=t)}function zH(e,t,n=!1){let r=ff(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Ld(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function BH(e,t){let n=ff(e);if(!n)return;let r=Xae(t);LH(n,`.usage-badge`,`usage`,{on:!!r,text:r||``,title:r?Zae(t):void 0})}function VH(e,t,n=null,r=!1){let i=ff(e);i&&(i.pendingPromptKind=typeof t==`string`?t:null,i.pendingPromptDetail=n,LH(i,`.prompt-badge`,`prompt`,{on:!!t||r,value:r?`compacting`:dH(t),title:r?`Context compaction in progress`:`Waiting on a permission or input prompt`,text:r?`compacting`:t===`plan`?`Plan ready`:t===`permission`?`permission`:`input`}),EH(e))}function HH(e){return e?`sleeping until ~${Bf(new Date(e))}`:`scheduled`}function UH(e,t){let n=ff(e);n&&LH(n,`.wakeup-badge`,`wakeup`,{on:!!t,value:t?.kind||`wakeup`,text:HH(t?.at),title:t?.reason?`Scheduled revival: ${t.reason}`:`Scheduled revival pending`})}function WH(e,t){let n=ff(e);if(!n)return;let r=Array.isArray(t.findings)?t.findings:[],i=t.filesFixed||0,a=null,o=0;!t.skipped&&t.mode===`fix`&&i>0&&(a=`fixed`,o=i),!t.skipped&&t.mode===`report`&&r.length>0&&(a=`flagged`,o=new Set(r.map(e=>e.file)).size);let s={};for(let e of r)s[e.rule]=(s[e.rule]||0)+(e.count||0);let c=Object.keys(s).map(e=>`${e}: ${s[e]}`).join(`, `),l=a===`fixed`?`auto-fixed`:`flagged`;LH(n,`.post-turn-badge`,`pt`,{on:!!a,value:a||void 0,text:`${a===`fixed`?`✓`:`⚠`} ${o}`,title:`Post-turn ${l} ${o} file(s)${c?` (${c})`:``}`})}function GH(e,t){if(t===`pending-review`||t===`parked`||t===`merging`){e.dataset.merge=t;return}delete e.dataset.merge}function KH(e,t,n=null){let r=ff(e),i=dH(t)||`none`;r&&GH(r.card,i),lz(df(e),i,dH(n)||null)}function qH(e,t,n=null){let r=ff(e),i=dH(t)||`none`;r&&GH(r.card,i),uz(df(e),i,dH(n)||null)}function JH(e,t){dz(df(e),t)}function YH(e,t){let n=ff(e);if(!n)return;let r=dH(t);n.card.dataset.session=r,n.nameEl.textContent=r}function XH(e){let t=ff(e);t&&(QV(t),U.delete(df(e)),RL(df(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),t.dataWs&&t.dataWs.readyState<=WebSocket.OPEN&&t.dataWs.close(),KT(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),CH())}function ZH(e,t,n){if(!t||!e.term)return;e.term.clear(),e.term.reset();let r=n===F.DONE?`Session complete`:`Session failed`,i=n===F.DONE?`\x1B[34m`:`\x1B[31m`;e.term.write(`\r\n\x1b[2m${i} ${r}\x1b[0m\r\n\r\n\x1b[2m Press Restart to start a new session.\x1b[0m\r\n`)}function QH(e,t){e.term&&(t===F.DONE||t===F.FAILED)&&(e.term.clear(),e.term.reset())}function $H(e,t,n){let r=document.activeElement;return bI({previousState:t,nextState:n,isPhoneLayout:cf(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function eU(e,t,n,r=``){let i=ff(e);if(!i)return;let a=dH(t),o=i.currentState;i.currentState=a,a!==F.RUNNING&&(i.awaitingBackgroundTasks=!1),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),Jf(i,a===F.RUNNING)),o===F.DORMANT&&a!==F.DORMANT&&nk(i,df(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,Ld(a,i.awaitingBackgroundTasks)),mH(i),(a===F.WAITING&&o!==F.WAITING||a===F.COMPLETE&&o!==F.COMPLETE)&&!MI(r)&&pD()&&Fb(hD()),$H(i,o,a)&&B({type:`dismiss`,id:df(e),expectedState:F.COMPLETE});let s=a===F.DONE||a===F.FAILED,c=o!==F.DONE&&o!==F.FAILED&&o!==F.INITIALIZING;s&&c&&(i.card.classList.remove(`completion-flash`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.card.classList.add(`completion-flash`),i.card.addEventListener(`animationend`,()=>i.card.classList.remove(`completion-flash`),{once:!0})})}),pD()&&Fb(hD())),(a===F.DONE||a===F.FAILED)&&ZH(i,c,a),a===F.INITIALIZING&&QH(i,o),CH(),Qf(i)}var tU=`(no path)`;function nU(e){if(!e)return tU;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function rU(e,t,n){let r=Array.isArray(e)?e:[],i=new Map;for(let e of r){let n=t(e),r=n?String(n):tU,a=i.get(r);a||(a={key:r,label:r===`(no path)`?tU:nU(r),title:r,rows:[]},i.set(r,a)),a.rows.push(e)}if(n)for(let e of n){if(!e)continue;let t=String(e);t===`(no path)`||i.has(t)||i.set(t,{key:t,label:nU(t),title:t,rows:[]})}let a=[...i.values()];return a.sort((e,t)=>e.label.localeCompare(t.label,void 0,{numeric:!0,sensitivity:`base`})||e.key.localeCompare(t.key)),{flat:i.size<=1,order:a.map(e=>e.key),groups:a}}function iU(e,t){if(!e||!Array.isArray(e.groups))return[];let n=t||new Set,r=[];if(e.flat){for(let t of e.groups)for(let e of t.rows)r.push(e.id);return r}let i=new Map(e.groups.map(e=>[e.key,e]));for(let t of e.order){if(n.has(t))continue;let e=i.get(t);if(e)for(let t of e.rows)r.push(t.id)}return r}function aU(e,t){let n=V(e,t);return n.innerHTML=`<span class="focus-pill-name"></span><span class="focus-pill-badge"><span class="focus-pill-glyph"></span><span class="focus-pill-label"></span></span><span class="focus-pill-merge"></span>`,{pill:n,refs:{glyph:Pd(n,`.focus-pill-glyph`),label:Pd(n,`.focus-pill-label`),name:Pd(n,`.focus-pill-name`),merge:Pd(n,`.focus-pill-merge`)}}}function oU(e,t,n,r=!1){e.dataset.state=n;let{glyph:i,label:a,isMonitoring:o}=Rd(n,r);return e.toggleAttribute(`data-monitoring`,o),t.glyph.textContent=i,t.label.textContent=a,a}function sU(){let e=new Map,t=new Set;function n(n){let r=new Set(n.map(e=>e.id));for(let{id:r,state:i}of n){let n=e.get(r);if(e.set(r,i),i!==F.COMPLETE){t.delete(r);continue}n&&n!==F.COMPLETE&&t.add(r)}for(let n of e.keys())r.has(n)||(e.delete(n),t.delete(n))}function r(e){t.delete(e)}function i(e){return t.has(e)}return{noteStates:n,acknowledge:r,isUnseen:i}}var cU=e=>e.ui.path,lU=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),uU=window.matchMedia?.(`(hover: none) and (min-width: 769px)`),dU=null,fU=null,pU=null,mU=null,hU=null,gU=null,_U=null,vU=null,yU=!1,bU=null,xU=new Map,SU=new Map,CU=sU(),wU=new Map,TU=new Map,EU=null,DU=new Set;function OU(){return iU(AU(BU()),DU)}function kU(e){let t=EU;if(EU=e||null,t&&t!==EU){let e=SU.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(EU){let e=SU.get(EU);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function AU(e){return rU(e,cU,_I(e,cU))}function jU(e){let t=TU.get(e.key),n=wU.get(e.key);if(!t||!n){let r=Object.assign(V(`div`,`focus-rail-group`),{_addBtn:V(`button`,`focus-rail-group-add`,`+`),_forgetBtn:V(`button`,`focus-rail-group-remove`,`×`)});r.dataset.key=e.key,r.innerHTML=`<span class="focus-rail-group-label"></span><span class="focus-rail-group-rule" aria-hidden="true"></span>`;let i=r._addBtn;i.type=`button`,i.addEventListener(`click`,()=>kI(r.dataset.path,r.dataset.label));let a=r._forgetBtn;a.type=`button`,a.addEventListener(`click`,()=>{vI(r.dataset.path),KU()}),r.appendChild(a),r.appendChild(i),t=r,n=V(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),TU.set(e.key,t),wU.set(e.key,n)}Pd(t,`.focus-rail-group-label`).textContent=e.label,t.title=e.title,t.dataset.path=e.key,t.dataset.label=e.label;let r=e.key===tU,i=e.rows.length===0;return t._addBtn.hidden=r,r||(t._addBtn.title=`Add a session to ${e.label}`,t._addBtn.setAttribute(`aria-label`,`Add a session to ${e.label}`)),t._forgetBtn.hidden=r||!i,!r&&i&&(t._forgetBtn.title=`Remove ${e.label} from the rail`,t._forgetBtn.setAttribute(`aria-label`,`Remove ${e.label} from the rail`)),t.toggleAttribute(`data-empty`,i),n.setAttribute(`aria-label`,`${e.label} sessions`),{header:t,list:n}}function MU(){return yU}function NU(){return hU}function PU(){return ef.snapshot().focusedSessionId}function FU({rail:e,center:t,resizer:n}){if(dU=e,pU=t,!dU||!pU)return;let r=dU,i=pU;RU(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,ab(ob)),fU=V(`button`,`focus-rail-head`),fU.type=`button`,fU.append(V(`span`,`focus-rail-head-count`),Dre(rb(`next-attention`,ob))),fU.addEventListener(`click`,XU),YU(!1,yj(0)),r.append(fU),gU=V(`div`,`focus-empty`),gU.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,_U=gU.querySelector(`.focus-empty-title`),vU=gU.querySelector(`.focus-empty-desc`),mU=V(`div`,`focus-card-slot`),hU=V(`div`,`focus-header-accessory-slot`),i.append(hU,gU,mU),r.addEventListener(`keydown`,zU)}var IU={minPx:180,maxPx:480},LU=16;function RU(e){e&&dU&&pI({resizer:e,column:dU,widthHost:dU,widthProperty:`--rail-width`,bounds:IU,keyStepPx:LU,getStoredWidth:kD,setStoredWidth:AD})}function zU(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||SU.get(n)!==t)return;e.preventDefault(),AI(n,xU.get(n));return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=gj(OU(),EU,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),kU(t),SU.get(t)?.focus())}function BU(e=OI(VU)){for(let t of e)t.unseen=CU.isUnseen(t.id);return mj(e)}function VU(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function HU(e){let{pill:t,refs:n}=aU(`button`,`focus-pill`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`);let r=Object.assign(t,{_refs:n,_row:null});r.addEventListener(`click`,()=>UU(e));let i=V(`div`,`focus-pill-row`);i.setAttribute(`role`,`presentation`);let a=V(`button`,`focus-pill-remove`,`×`);return a.type=`button`,a.tabIndex=-1,uU?.matches||a.setAttribute(`aria-hidden`,`true`),a.title=`Remove session`,a.addEventListener(`click`,t=>{t.stopPropagation(),AI(e,xU.get(e))}),i.append(r,a),r._row=i,r}function UU(e){TI(e)&&tW(e)}function WU(e,{id:t,ui:n,state:r,name:i,unseen:a}){e.toggleAttribute(`data-unseen`,a);let o=oU(e,e._refs,r,n.awaitingBackgroundTasks),s=[i,n.taskTitle,o].filter(Boolean).join(`, `);e.setAttribute(`aria-label`,s),e.title=s,e._refs.name.textContent=i;let c=xU.get(t)||`none`;e.dataset.merge=c===`none`?``:c,e._refs.merge.textContent=Id[c]||``,e.dataset.activity=n._activity||``,e.classList.toggle(`focused`,t===PU());let l=t===EU;e.setAttribute(`aria-selected`,String(l)),e.tabIndex=l?0:-1}function GU(e,t){if(!yU)return;let n=e?.card?.dataset.id,r=n?SU.get(n):null;if(!r)return;if(t===`flag`){r.dataset.activity=e._activity||``;return}if(lU?.matches||document.hidden)return;let i=r._refs?.glyph;i?.animate&&i.animate([{transform:`scale(1)`,opacity:.65},{transform:`scale(1.35)`,opacity:1,offset:.3},{transform:`scale(1)`,opacity:.9}],{duration:300,easing:`cubic-bezier(0.22, 1, 0.36, 1)`})}Gf(GU);function KU(){if(!yU)return;let e=dU;if(!e)return;let t=OI(VU);CU.noteStates(t);let n=BU(t),r=AU(n),i=new Set,a=(e,t)=>{let n=e.map(e=>e.id).join(`,`),r=t._lastOrderKey===n&&t.childElementCount===e.length;for(let n of e){let{id:e}=n;i.add(e);let a=SU.get(e);a||(a=HU(e),SU.set(e,a)),WU(a,n),!r&&a._row&&t.appendChild(a._row)}t._lastOrderKey=n},o=new Set(r.order);for(let t of r.groups){let{header:n,list:r}=jU(t);e.appendChild(n),e.appendChild(r),a(t.rows,r)}for(let[e,t]of[...TU])o.has(e)||(t.remove(),wU.get(e)?.remove(),TU.delete(e),wU.delete(e));for(let[e,t]of SU)i.has(e)||((t._row||t).remove(),SU.delete(e),e===EU&&(EU=null));for(let e of[...xU.keys()])U.has(e)||xU.delete(e);let s=PU();if(s&&!U.has(s)){ef.dispatch(`focusSession`,null),EU=null;let e=n.find(e=>U.has(e.id));if(e){tW(e.id);return}}nW();let c=PU();if(c){let e=U.get(c);e&&e.card.parentElement!==mU&&$U(e,c)}JU()}function qU(){return BU().filter(_j).map(({id:e})=>e)}function JU(){let e=vj(BU());YU(e>0,yj(e))}function YU(e,t){if(fU){if(Pd(fU,`.focus-rail-head-count`).textContent=t,fU.disabled=!e,e){fU.removeAttribute(`data-empty`),fU.removeAttribute(`aria-hidden`);return}fU.dataset.empty=``,fU.setAttribute(`aria-hidden`,`true`)}}function XU(){if(!yU)return;let e=qU();if(!e.length)return;let t=hj(e,bU);if(!t)return;bU=t;let n=U.get(t),r=t===PU();TI(t),tW(t),SU.get(t)?.scrollIntoView({block:`nearest`}),r&&QU(t),ZU(n,t)}function ZU(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{yU&&PU()===t&&e.term?.focus()}))}function QU(e){if(lU?.matches||document.hidden)return;let t=SU.get(e);t?.animate&&t.animate([{transform:`scale(1)`},{transform:`scale(1.045)`,offset:.3},{transform:`scale(1)`}],{duration:360,easing:`cubic-bezier(0.22, 1, 0.36, 1)`});let n=U.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function $U(e,t){mU&&(TP(e,t,mU,{className:`focus-centered`}),ak(e,t,!0))}function eW(){let e=PU();e&&(wP()===e&&EP(),ef.dispatch(`focusSession`,null))}function tW(e){yU&&U.has(e)&&e!==PU()&&(eW(),ef.dispatch(`focusSession`,e),EU=e,CU.acknowledge(e),EI(e),KU())}function nW(){if(!gU||!_U||!vU)return;let e=PU(),t=!!(e&&U.has(e));if(gU.hidden=t,t)return;let n=U.size>0;_U.textContent=n?`No session selected`:`Nothing to focus`,vU.textContent=n?iW():`Spawn a session to start watching.`}function rW(){return dU?.closest(`.focus-view`)?.dataset.rail===`off`}function iW(){return rW()?`Pick a session in Calm to focus it here.`:`Select a session from the rail on the left to focus it here.`}function aW(e){let t=dU?.closest(`.focus-view`);t&&(e&&t.removeAttribute(`data-rail`),e||(t.dataset.rail=`off`),nW())}function oW(e,t){xU.set(df(e),typeof t==`string`&&t?t:`none`),yU&&KU()}function sW(e){yU&&U.has(e)&&tW(e)}function cW(e){return!yU||!U.has(e)?!1:(tW(e),DH(e))}function lW(e){if(!yU)return;let t=OU()[e-1];t&&UU(t)}function uW(e){if(!yU)return;let t=gj(OU(),EU,e);t!=null&&(UU(t),SU.get(t)?.scrollIntoView({block:`nearest`}),ZU(U.get(t),t))}function dW(){dU&&(yU=!0,eW(),EU=null,KU(),fW())}function fW(){if(!yU||PU())return;let e=DI();e&&tW(e)}function pW(){yU&&=(eW(),EU=null,!1)}function mW(e,t,n){let r=V(`a`,`settings-link`,n);return r.href=`#settings/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,r}var hW=`t-[0-9a-f]{8}`,gW=`No findings. Open a markdown file in a connected editor.`,_W=`No intent yet. The visions proposes one after its first pass.`,vW=`Unowned`,yW=RegExp(`^${hW}$`);function bW(){return{byProject:{},unowned:[]}}function xW(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.text==`string`?t.text:``;if(!n)return null;let r=Number(t.ts),i=Number(t.hits);return{id:typeof t.id==`string`&&yW.test(t.id)?t.id:null,text:n,uris:Array.isArray(t.uris)?t.uris.filter(e=>typeof e==`string`&&e!==``):[],ts:Number.isFinite(r)&&r>0?r:0,hits:Number.isInteger(i)&&i>0?i:1}}function SW(e){if(Array.isArray(e))return e.map(xW).filter(e=>e!==null);let t=xW(e);return t?[t]:[]}function CW(e){let t=e?.intent;if(!t||typeof t!=`object`)return bW();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:SW(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=SW(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:SW(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function wW(e,t){let n=typeof t?.id==`string`?t.id:null;if(!n)return e;let r=e.findIndex(e=>e.id===n);return r<=0?e:[e[r],...e.slice(0,r),...e.slice(r+1)]}function TW(e,t){let n=e||bW(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=wW(Array.isArray(i.threads)?SW(i.threads):SW(i),i.active),o=typeof t?.projectId==`string`&&t.projectId?t.projectId:null;if(!o)return{byProject:{...n.byProject},unowned:a};let s={...n.byProject};return a.length===0&&delete s[o],a.length>0&&(s[o]=a),{byProject:s,unowned:n.unowned}}function EW(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function DW(e,{key:t,label:n,now:r}){return e.map((e,i)=>({key:`${t}:${e.id||i}`,label:n,text:e.text,hasText:!0,active:i===0,meta:jW(e,r)}))}function OW(e,t=null,n=Date.now()){let r=e||bW(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:EW(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>DW(r,{key:e,label:t,now:n})),a=DW(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:vW,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:vW,text:_W,hasText:!1,active:!1,meta:``}]}function kW(e){return e?.text?`proposed by visions`:``}function AW(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:Ff(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function jW(e,t=Date.now()){let n=kW(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=AW(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function MW(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function NW(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function PW(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function FW(e){let t=typeof e==`string`?e:``;if(!t)return``;let n=t.lastIndexOf(`/`),r=n===-1?t:t.slice(n+1);if(!r)return t;try{return decodeURIComponent(r)}catch{return r}}function IW(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function LW(e){let t=IW(e);return t===1?`1 finding`:`${t} findings`}function RW(e){let t=IW(e);return t===1?`1 comment`:`${t} comments`}function zW(e){let t=IW(e?.findings?.length),n=IW(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(LW(t)),n>0&&i.push(RW(n)),i.length>0?i.join(`, `):LW(0)}function BW(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function VW(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function HW(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=VW(t);return i?(n.set(r,i),n):(n.delete(r),n)}function UW(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=typeof e?.hand==`string`?e.hand.trim():``;n&&r&&t.set(n,r)}return t}var WW=`hand`,GW=`unseen`,KW=`
|
|
246
|
-
`;function qW(e){let t=2166136261,n=3266489909;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619)>>>0,n=Math.imul(n^i,2246822507)>>>0}return`${t.toString(36).padStart(7,`0`)}${n.toString(36).padStart(7,`0`)}`}function JW(e,t){return qW(JSON.stringify([e,...t]))}function YW(e,t){return JW(`finding`,[e,MW(t),String(t.code??``),String(t.message??``)])}function XW(e,t){return JW(`comment`,[e,tG(t),String(t.message??``)])}function ZW(e){return JW(`fix`,[e.uri,fG(e),e.code,e.message,pG(e)])}function QW(e){return JW(`intent`,[e.key,e.text,e.active])}function $W(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>JW(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(JW(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(YW(t,e));for(let[e,n]of t)for(let t of n)o.add(XW(e,t));for(let e of r)o.add(ZW(e));for(let e of OW(i,null,0))e.hasText&&o.add(QW(e));let s=[...o].sort();return{signature:[...a,...s].join(KW),handEntries:a,contentEntries:s}}function eG(e,t){let n=new Set(t.split(KW));return e.handEntries.some(e=>!n.has(e))?WW:e.contentEntries.some(e=>!n.has(e))?GW:null}function tG(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function nG(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function rG(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=nG(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function iG(e){return Array.isArray(e?.comments)?e.comments:[]}function aG(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=iG(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function oG(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.diagnostics)?e.diagnostics:[];n&&r.length!==0&&t.set(n,r)}return t}function sG(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.comments)?e.comments:[];n&&r.length!==0&&t.set(n,r)}return t}function cG(e,t=new Map,n=new Map){let r=[],i=new Set([...e.keys(),...t.keys(),...n.keys()]);for(let a of i){let i=e.get(a),o=t.get(a),s=n.get(a)||null,c=Array.isArray(i)?i:[],l=Array.isArray(o)?o:[];(c.length!==0||l.length!==0||s)&&r.push({uri:a,name:FW(a)||a,hand:s,findings:[...c].sort((e,t)=>PW(e)-PW(t)||NW(e)-NW(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>lG(e.name,t.name)||lG(e.uri,t.uri)),r}function lG(e,t){return e<t?-1:+(e>t)}var uG=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function dG(e){let t=IW(e);return t===1?`1 fix`:`${t} fixes`}function fG(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function pG(e){return e?.applied===!0?`applied`:`refused`}function mG(e,{uri:t=``,ts:n=0}={}){if(!e||typeof e!=`object`)return null;let r=e,i=typeof r.message==`string`?r.message.trim():``;if(!i)return null;let a=Number(r.line),o=Number(r.ts??n);return{uri:typeof r.uri==`string`&&r.uri?r.uri:t,code:typeof r.code==`string`?r.code:``,line:Number.isFinite(a)&&a>0?Math.floor(a):0,message:i,applied:r.applied===!0,ts:Number.isFinite(o)&&o>0?o:0}}function hG(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return mG(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function gG(e,t,{max:n=20}={}){let r=hG(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function _G(e,{max:t=20}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=mG(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var vG=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,yG={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function bG(e){let t=typeof e==`string`?e:``;return yG[t]||t||`source`}function xG(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:Ff(Number(t)-n,jf)}function SG(e){if(!e||typeof e!=`object`)return null;let t=e,n=Number(t.seq);if(!Number.isFinite(n))return null;let r=typeof t.summary==`string`?t.summary.trim():``;if(!r)return null;let i=Number(t.ts),a=t.scope&&typeof t.scope==`object`?t.scope:{};return{seq:Math.floor(n),source:typeof t.source==`string`?t.source:``,kind:typeof t.kind==`string`?t.kind:``,ts:Number.isFinite(i)&&i>0?i:0,summary:r,root:typeof a.root==`string`&&a.root?a.root:null,sessionId:typeof a.sessionId==`string`&&a.sessionId?a.sessionId:null}}function CG(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=SG(e);t&&n.push(t)}return n}function wG(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function TG(e){let t=IW(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function EG(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function DG(e,t,{max:n=100}={}){let r=CG(t);if(r.length===0)return EG(e,n);let i=new Map;for(let t of e)i.set(t.seq,t);for(let e of r)i.set(e.seq,e);return EG([...i.values()],n)}function OG(e,{max:t=100}={}){return EG(CG(e),t)}function kG(e){let t=IW(e);return t===1?`1 event`:`${t} events`}function AG(e){if(!e?.root)return`machine`;let t=e.root.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var jG=new Map,MG=new Map,NG=new Map,PG=bW(),FG=new Map,IG=null,LG=null,RG=null,zG=null,BG=null,VG=[],HG=0,UG=null,WG=[],GG=null,KG=$W(jG,MG,NG,WG,PG),qG=tO(),JG=gk({getAck:()=>qG,setAck:e=>{qG=e,nO(e)},signature:()=>KG.signature,isLooking:()=>!Ud(IG)});function YG(){let e=V(`section`,`visions-intent`);e.append(V(`h2`,`visions-intent-title`,`Intent`));let t=V(`div`,`visions-intent-list`);return e.append(t),RG={list:t},e}function XG(e){let t=V(`div`,`visions-intent-item`),n=V(`div`,`visions-intent-head`);n.append(V(`span`,`visions-intent-scope`,e.label),V(`span`,`visions-intent-meta`,e.meta));let r=V(`p`,`visions-intent-text`,e.text);return r.classList.toggle(`visions-intent-none`,!e.hasText),t.classList.toggle(`visions-intent-active`,e.active===!0),t.append(n,r),t}function ZG(){RG&&RG.list.replaceChildren(...OW(PG,FG).map(XG))}function QG(e){FG=e instanceof Map?e:new Map,ZG()}function $G(e){let t=V(`section`,`visions-doc`),n=V(`div`,`visions-doc-head`),r=V(`h2`,`visions-doc-name`);if(r.textContent=e.name,r.title=e.uri,n.append(r,V(`span`,`visions-doc-count`,zW(e))),t.append(n),e.hand&&t.append(eK(e.hand)),e.findings.length>0){let n=V(`div`,`visions-findings`);for(let t of e.findings)n.append(nK(t));t.append(n)}if(e.comments.length>0){let n=V(`div`,`visions-comments`);for(let t of e.comments)n.append(tK(t));t.append(n)}return t}function eK(e){let t=V(`div`,`visions-hand`);return t.textContent=BW(e),t}function tK(e){let t=V(`div`,`visions-comment`),n=V(`div`,`visions-comment-head`);n.append(V(`span`,`visions-comment-chip`,`visions`)),n.append(V(`span`,`visions-comment-line`,tG(e))),t.append(n);let r=V(`p`,`visions-comment-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function nK(e){let t=V(`div`,`visions-finding`);t.append(V(`span`,`visions-finding-line`,MW(e)));let n=e?.code==null?``:String(e.code);n&&t.append(V(`span`,`visions-finding-code`,n));let r=V(`span`,`visions-finding-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function rK({force:e=!1}={}){if(!LG||!e&&Ud(IG))return;LG.textContent=``;let t=cG(jG,MG,NG);if(t.length===0){let e=V(`p`,`visions-empty`,gW);if(BG===!1){let t=mW(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}LG.append(e);return}for(let e of t)LG.append($G(e))}function iK(e){BG=e?.visions?.enabled===!0,rK()}function aK(){let e=V(`section`,`visions-activity`),t=V(`div`,`visions-activity-head`);t.append(V(`h2`,`visions-activity-title`,`Activity`));let n=V(`span`,`visions-activity-count`);t.append(n),e.append(t);let r=V(`div`,`visions-activity-list`);e.append(r);let i=V(`p`,`visions-activity-overflow`);return e.append(i),UG={count:n,list:r,overflow:i},e}function oK(e,t){let n=V(`div`,`visions-activity-row`);n.append(V(`span`,`visions-activity-source`,bG(e.source))),n.append(V(`span`,`visions-activity-age`,xG(e.ts,t))),n.append(V(`span`,`visions-activity-scope`,AG(e)));let r=V(`span`,`visions-activity-summary`);return r.textContent=e.summary,n.append(r),n}function sK({force:e=!1}={}){if(!UG||!e&&Ud(IG))return;let{count:t,list:n,overflow:r}=UG;if(t.textContent=kG(VG.length),n.textContent=``,VG.length===0){n.append(V(`p`,`visions-empty`,vG)),r.textContent=``;return}let i=Date.now();for(let e of VG)n.append(oK(e,i));r.textContent=TG(HG)}function cK(){let e=V(`section`,`visions-fixes`),t=V(`div`,`visions-fixes-head`);t.append(V(`h2`,`visions-fixes-title`,`Fixes`));let n=V(`span`,`visions-fixes-count`);t.append(n),e.append(t);let r=V(`div`,`visions-fixes-list`);return e.append(r),GG={count:n,list:r},e}function lK(e){let t=V(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=V(`span`,`visions-fix-file`);n.textContent=FW(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(V(`span`,`visions-fix-line`,fG(e))),t.append(V(`span`,`visions-fix-outcome`,pG(e))),t.append(V(`span`,`visions-fix-code`,e.code||``));let r=V(`span`,`visions-fix-message`);return r.textContent=e.message,t.append(r),t}function uK({force:e=!1}={}){if(!GG||!e&&Ud(IG))return;let{count:t,list:n}=GG;if(t.textContent=dG(WG.length),n.textContent=``,WG.length===0){n.append(V(`p`,`visions-empty`,uG));return}for(let e of WG)n.append(lK(e))}function dK(){KG=$W(jG,MG,NG,WG,PG),KG.signature!==``&&JG.refresh(),zG&&zG(eG(KG,qG))}function fK(e){zG=e,dK()}function pK(e){if(IG)return IG;let t=V(`div`,`visions-content`);t.append(YG());let n=V(`div`,`visions-feed`);return t.append(n),t.append(cK()),t.append(aK()),e.appendChild(t),IG=t,LG=n,ZG(),rK({force:!0}),uK({force:!0}),sK({force:!0}),t}function mK(){ZG(),rK({force:!0}),uK({force:!0}),sK({force:!0})}function hK(){KG.signature!==``&&JG.acknowledge(),dK()}function gK(e){WG=gG(WG,e),uK(),dK()}function _K(e){jG=rG(jG,e),rK(),dK()}function vK(e){MG=aG(MG,e),rK(),dK()}function yK(e){NG=HW(NG,e),rK(),dK()}function bK(e){PG=TW(PG,e),ZG(),dK()}function xK(e){VG=DG(VG,e),HG=wG(e),sK(),dK()}function SK(e){VG=OG(e),HG=0,sK(),dK()}function CK(e){jG=oG(e),MG=sG(e),NG=UW(e),PG=CW(e),WG=_G(e),ZG(),rK(),uK(),dK()}var wK=$o(D(),Bo());j({glimmervoidId:D().min(1),event:D().min(1),token:D().nullable().optional(),payload:wK}),j({id:D().min(1),name:D().min(1),event:D().min(1),matcher:D().optional(),type:N([`command`,`http`]),command:D().optional(),url:D().optional(),timeout:O().int().positive().optional(),enabled:k(),projects:A(D()).optional()}).passthrough();var TK=`Claude Code hooks injected into every session Glimmervoid spawns.`,EK=`Loading hooks`,DK=`No hooks yet. A hook runs a command, or calls a URL, when a Claude Code event fires in a Glimmervoid session. Start from one of these, or add your own.`,OK=`Start from`,kK=`Filter by name, event or command`,AK=`Nothing matches that filter.`,jK=`Preview`,MK=`The entry this becomes in the per-session settings file.`,NK=`Duplicate`,PK=`Discard changes`,FK=`Close the editor and lose the unsaved changes?`,IK=`Esc cancels. Ctrl+Enter saves.`,LK=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,RK=`Glimmervoid's own hooks`,zK=`Always present, read-only. Status detection depends on them.`,BK=`Your hooks`,VK=`New hook`,HK=`Edit hook`,UK=`Saved to config.json.`,WK=`All projects`,GK=`This event takes no matcher.`,KK=`Blank uses Claude Code's default for the event.`,qK=Object.freeze([{value:`command`,label:`Command`,hint:`Run a shell command. It receives the event JSON on stdin.`},{value:`http`,label:`HTTP`,hint:`POST the event JSON to a URL.`}]),JK=Object.freeze([{id:`lint`,label:`Lint after edits`,summary:`PostToolUse on Edit|Write`,draft:{name:`Lint after edits`,event:`PostToolUse`,matcher:`Edit|Write`,type:`command`,command:`npx biome check --write "$(jq -r .tool_input.file_path)"`}},{id:`notify`,label:`Notify on Stop`,summary:`Stop, command`,draft:{name:`Notify on Stop`,event:`Stop`,matcher:``,type:`command`,command:`command -v notify-send >/dev/null 2>&1 && notify-send "Claude finished a turn" || { command -v osascript >/dev/null 2>&1 && osascript -e 'display notification "Claude finished a turn" with title "Claude Code"'; }`}},{id:`guard`,label:`Guard destructive Bash`,summary:`PreToolUse on Bash, exit 2 blocks`,draft:{name:`Guard destructive Bash`,event:`PreToolUse`,matcher:`Bash`,type:`command`,command:`jq -r .tool_input.command | grep -Eq "rm -rf|git push --force" && exit 2 || exit 0`}},{id:`log`,label:`Log every prompt`,summary:`UserPromptSubmit, appends JSON`,draft:{name:`Log every prompt`,event:`UserPromptSubmit`,matcher:``,type:`command`,command:`cat >> ~/.claude/prompts.jsonl`}}]),YK=Object.freeze({hooks:[],builtin:[],events:[]});function XK(e){return!e||typeof e.error==`string`}function ZK(e){return!e||typeof e.error!=`string`?``:e.error}function QK(e,t){let n=e?.[t];return Array.isArray(n)?n:YK[t]}var $K=e=>QK(e,`hooks`),eq=e=>QK(e,`builtin`),tq=e=>QK(e,`events`);function nq(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function rq(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function iq(e){let t=$K(e),n=t.filter(e=>e.enabled!==!1).length;return[{label:`yours`,value:String(t.length),tone:null},{label:`enabled`,value:String(n),tone:t.length>0&&n===0?`warn`:null},{label:`built in`,value:String(eq(e).length),tone:null}]}function aq(e,t){let n=new Map(t.map((e,t)=>[e.name,t])),r=e=>n.get(e.event)??t.length;return[...e].sort((e,t)=>{let n=r(e)-r(t);return n===0?String(e.name).localeCompare(String(t.name)):n})}function oq(e,t){let n=String(t||``).trim().toLowerCase();return n?e.filter(e=>[e.name,e.event,e.matcher,e.command,e.url].some(e=>typeof e==`string`&&e.toLowerCase().includes(n))):e}function sq(e){return e.length>=4}function cq(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.event===n.event){e.hooks.push(n);continue}t.push({event:n.event,hooks:[n]})}return t}function lq(e){let t=e.type===`http`?{type:`http`,url:e.url||``}:{type:`command`,command:e.command||``};Number.isInteger(e.timeout)&&Number(e.timeout)>0&&(t.timeout=e.timeout);let n=e.matcher?{matcher:e.matcher,hooks:[t]}:{hooks:[t]};return JSON.stringify({hooks:{[e.event]:[n]}},null,2)}function uq(e){return`${e} copy`}function dq(e,t){return e.find(e=>e.name===t)||null}function fq(e,t){let n=dq(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:GK:``}function pq(e){return e.type===`http`?e.url||``:e.command||``}function mq(e){let t=qK.find(t=>t.value===e);return t?t.label:String(e||``)}function hq(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function gq(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?WK:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function _q(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function vq(e){return _q(e)}function yq(e,t){let n=Array.isArray(e.projects)?e.projects:[],r=new Set(t.map(e=>e.id));return n.filter(e=>!r.has(e))}function bq(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function xq(e){return{id:e.id??null,name:e.name||``,event:e.event||``,matcher:e.matcher||``,type:e.type===`http`?`http`:`command`,command:e.command||``,url:e.url||``,timeout:Number.isInteger(e.timeout)?String(e.timeout):``,enabled:e.enabled!==!1,projects:Array.isArray(e.projects)?[...e.projects]:[]}}function Sq(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=dq(t,e.event);if(!r)return`Pick an event.`;if(e.matcher.trim()&&!r.matcher)return`${r.name} takes no matcher.`;if(e.type===`http`&&r.http===!1)return`${r.name} does not support HTTP hooks.`;if(e.type===`command`&&!e.command.trim())return`Enter the command to run.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter a URL starting with http:// or https://.`;if(e.timeout.trim()!==``){let t=Number(e.timeout);if(!Number.isInteger(t)||t<1||t>n)return`Timeout must be a whole number of seconds from 1 to ${n}.`}return null}function Cq(e){let t={name:e.name.trim(),event:e.event,type:e.type,enabled:e.enabled!==!1};return e.id&&(t.id=e.id),e.matcher.trim()&&(t.matcher=e.matcher.trim()),e.type===`command`&&(t.command=e.command.trim()),e.type===`http`&&(t.url=e.url.trim()),e.timeout.trim()!==``&&(t.timeout=Number(e.timeout)),e.projects.length>0&&(t.projects=[...e.projects]),t}function wq(e,t){let n={...bq(t),...e.draft};return dq(t,n.event)||(n.event=bq(t).event),n}function Tq(e,t){return JSON.stringify(Cq(e))!==JSON.stringify(t)}function Eq(e){return{...e,enabled:e.enabled===!1}}function Dq(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var Oq=null,kq=null,Aq=null,jq=null,Mq=null,Nq=null,Pq=null,Fq=null,Iq=!1,Lq=null,Rq=``,zq=new Set,Bq=new Set,Vq=!1,Hq=(e,t)=>Bd(`hooks`,e,t);function Uq(e,t,n){let r=V(`p`,e,t);return n&&(r.dataset.tone=n),r}function Wq(e,t,n,r){let i=V(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}function Gq(e){if(!Aq)return null;let t=Sd(`hooks`);return Aq({requestId:t,...e}),t}function Kq(e,t,n){let r=V(`label`,`hooks-field`);return r.append(V(`span`,`hooks-field-label`,e),t),n&&r.append(V(`span`,`hooks-field-hint`,n)),r}function qq(e,t,n){let r=V(`input`,`settings-view-input`);return r.type=`text`,r.value=e,r.autocomplete=`off`,r.spellcheck=!1,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value)),r}function Jq(e,t){let n=V(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function Yq(e,t,n){let r=V(`select`,`settings-view-input hooks-select`);for(let n of t){let t=V(`option`,null,n.name);t.value=n.name,t.title=n.description,n.name===e.event&&(t.selected=!0),r.append(t)}return r.addEventListener(`change`,()=>n(r.value)),r}function Xq(e,t){let n=V(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of qK){let i=V(`label`,`settings-view-toggle hooks-choice`),a=V(`input`,`settings-view-checkbox`);a.type=`radio`,a.name=`hooks-type`,a.value=r.value,a.checked=e.type===r.value,a.title=r.hint,a.addEventListener(`change`,()=>{a.checked&&t(r.value)}),i.append(a,V(`span`,null,r.label)),n.append(i)}return n}function Zq(e,t){let n=V(`div`,`hooks-projects`);if(t.length===0)return n.append(V(`span`,`hooks-field-hint`,WK)),n;let r=V(`label`,`settings-view-project-choice hooks-choice`),i=V(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,V(`span`,null,WK)),n.append(r);let a=[];for(let r of t){let t=V(`label`,`settings-view-project-choice hooks-choice`),o=V(`input`,`settings-view-checkbox`);o.type=`checkbox`,o.value=r.id,o.checked=e.projects.includes(r.id),o.addEventListener(`change`,()=>{e.projects=a.filter(e=>e.checked).map(e=>e.value),i.checked=e.projects.length===0}),a.push(o),t.append(o,V(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(V(`span`,`hooks-choice-note`,r.agent)),t.title=`Not a Claude Code project: this hook will not reach its sessions.`),n.append(t)}return i.addEventListener(`change`,()=>{if(!i.checked){i.checked=e.projects.length===0;return}for(let e of a)e.checked=!1;e.projects=[]}),n}function Qq(e){let t=V(`div`,`hooks-templates`);t.append(V(`span`,`hooks-templates-label`,OK));for(let n of JK){let r=Wq(`hooks-chip`,n.label,()=>tJ(null,wq(n,e)));r.title=n.summary,t.append(r)}return t}function $q(e){Fq&&(Fq.textContent=e||``,Fq.hidden=!e)}function eJ(e){let t=tq(Oq),n=Hd(Oq),r=Hq(e.id?HK:VK,UK);r.classList.add(`hooks-editor`);let i=V(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),iJ()}),i.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),rJ();return}e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),iJ())}),e.id||i.append(Qq(t));let a=V(`span`,`hooks-field-hint`,fq(t,e.event)),o=qq(e.matcher,``,t=>{e.matcher=t}),s=Kq(`Command`,Jq(e.command,t=>{e.command=t}),`Runs through the shell with the event JSON on stdin. Exit 2 blocks the action where the event allows it.`),c=Kq(`URL`,qq(e.url,`http://127.0.0.1:8080/hook`,t=>{e.url=t}),`Claude Code POSTs the event JSON to it.`),l=()=>{s.hidden=e.type!==`command`,c.hidden=e.type!==`http`};l();let u=Kq(`Matcher`,o,null);u.append(a);let d=()=>{let n=t.find(t=>t.name===e.event);a.textContent=fq(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};d();let f=V(`input`,`settings-view-input hooks-timeout`);f.type=`number`,f.inputMode=`numeric`,f.min=`1`,f.max=String(nq(Oq)),f.value=e.timeout,f.addEventListener(`input`,()=>{e.timeout=f.value});let p=V(`label`,`settings-view-toggle hooks-choice`),m=V(`input`,`settings-view-checkbox`);m.type=`checkbox`,m.checked=e.enabled,m.addEventListener(`change`,()=>{e.enabled=m.checked}),p.append(m,V(`span`,null,`Enabled`)),i.append(Kq(`Name`,qq(e.name,`Lint after edits`,t=>{e.name=t}),null),Kq(`Event`,Yq(e,t,t=>{e.event=t,d()}),null),u,Kq(`Type`,Xq(e,t=>{e.type=t,l()}),null),s,c,Kq(`Timeout (seconds)`,f,KK),Kq(`Projects`,Zq(e,n),null),Kq(``,p,null)),Fq=V(`p`,`hooks-editor-error`),Fq.setAttribute(`role`,`alert`),Fq.hidden=!0;let h=V(`div`,`hooks-editor-footer`),g=V(`span`,`hooks-editor-shortcut`,IK),_=Wq(`btn-dialog btn-dialog-cancel`,`Cancel`,rJ),v=V(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return v.type=`submit`,h.append(Fq,g,_,v),i.append(h),r.append(i),r}function tJ(e,t=null){Mq=t||(e?xq(e):bq(tq(Oq))),Nq=Cq(e?xq(e):bq(tq(Oq))),Pq=eJ(Mq),hJ({force:!0}),Pq.scrollIntoView({block:`nearest`});let n=Pq.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function nJ(){Mq=null,Nq=null,Pq=null,Fq=null,Iq=!1,Lq=null,Vq=!0,hJ({force:!0})}function rJ(){if(!Mq||!Nq||!Tq(Mq,Nq)){nJ();return}yf({title:PK,message:FK,confirmLabel:`Discard`,danger:!0,onConfirm:nJ})}function iJ(){if(!Mq||Iq)return;let e=Sq(Mq,tq(Oq),nq(Oq));if(e){$q(e);return}Iq=!0,$q(``),Lq=Gq({type:`save-hook`,hook:Cq(Mq)}),Lq||(Iq=!1)}function aJ(e){let t=V(`details`,`hooks-preview`);t.open=zq.has(e.id),t.addEventListener(`toggle`,()=>{if(t.open){zq.add(e.id);return}zq.delete(e.id)});let n=V(`summary`,`hooks-preview-summary`,jK);n.title=MK;let r=V(`pre`,`hooks-preview-code`,lq(e));return t.append(n,r),t}function oJ(e,{grouped:t=!1}={}){let n=Hd(Oq),r=V(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=V(`div`,`hooks-row-main`),a=V(`div`,`hooks-row-head`);a.append(V(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:_q(e);o&&a.append(V(`span`,`hooks-row-event`,o));let s=V(`code`,`hooks-row-target`,pq(e));s.title=pq(e);let c=V(`p`,`hooks-row-meta`,[mq(e.type),hq(e),gq(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=yq(e,n);l.length>0&&i.append(Uq(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(aJ(e));let u=V(`div`,`hooks-row-actions`),d=V(`label`,`settings-view-toggle hooks-choice`),f=V(`input`,`settings-view-checkbox`);f.type=`checkbox`,f.checked=e.enabled!==!1,f.disabled=Bq.has(e.id),f.setAttribute(`aria-label`,`${e.name} enabled`),f.addEventListener(`change`,()=>{Bq.add(e.id),f.disabled=!0,Gq({type:`save-hook`,hook:Eq(e)})}),d.append(f,V(`span`,null,`On`));let p=Wq(`hooks-btn`,`Edit`,()=>tJ(e),`Edit ${e.name}`),m=Wq(`hooks-btn`,NK,()=>{let t=xq({...e,name:uq(e.name)});t.id=null,tJ(null,t)},`Duplicate ${e.name}`),h=Wq(`hooks-btn hooks-btn-danger`,`Delete`,()=>{yf({title:`Delete hook`,message:Dq(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{Bq.add(e.id),Gq({type:`delete-hook`,id:e.id}),hJ({force:!0})}})},`Delete ${e.name}`);return h.disabled=Bq.has(e.id),u.append(d,p,m,h),r.append(i,u),r}function sJ(e){let t=V(`article`,`hooks-row hooks-row-builtin`),n=V(`div`,`hooks-row-main`);return n.append(V(`span`,`hooks-row-event`,vq(e)),V(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function cJ(){let e=Hq(`Hooks`,TK),t=V(`div`,`hooks-stats`);for(let e of iq(Oq))t.append(Vd(`hooks`,e.label,e.value,e.tone));return e.append(t,Uq(`hooks-meta`,LK)),e}function lJ(){let e=V(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=Rq,e.placeholder=kK,e.setAttribute(`aria-label`,kK),e.addEventListener(`input`,()=>{Rq=e.value;let t=kq?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(dJ())}),e}function uJ(){let e=V(`div`,`hooks-empty-state`);return e.append(Uq(`hooks-empty`,DK),Qq(tq(Oq))),e}function dJ(){let e=V(`div`,`hooks-list-yours`),t=$K(Oq);if(t.length===0)return e.append(uJ()),e;let n=oq(aq(t,tq(Oq)),Rq);if(n.length===0)return e.append(Uq(`hooks-empty`,AK)),e;for(let t of cq(n)){let n=V(`div`,`hooks-group`);n.append(V(`h3`,`hooks-group-title`,t.event));let r=V(`div`,`hooks-list`);for(let e of t.hooks)r.append(oJ(e,{grouped:!0}));n.append(r),e.append(n)}return e}function fJ(){let e=Hq(BK,null),t=Wq(`hooks-btn hooks-btn-add`,`+ New hook`,()=>tJ(null));t.disabled=!!Mq;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),sq($K(Oq))&&e.append(lJ()),e.append(dJ()),e}function pJ(){let e=V(`details`,`hooks-builtin`),t=V(`summary`,`hooks-builtin-summary`);t.append(V(`span`,`hooks-section-title`,`${RK} (${eq(Oq).length})`),V(`span`,`hooks-section-hint`,zK));let n=V(`div`,`hooks-list`);for(let e of eq(Oq))n.append(sJ(e));return e.append(t,n),e}function mJ(){let e=V(`div`,`hooks-content`);return Oq?XK(Oq)?(e.append(Uq(`hooks-warning`,ZK(Oq))),e):(e.append(cJ()),Pq&&e.append(Pq),e.append(fJ(),pJ()),e):(e.append(Uq(`hooks-empty`,EK)),e)}function hJ({force:e=!1}={}){if(!kq||!e&&Ud(kq)||(kq.replaceChildren(mJ()),!Vq))return;Vq=!1;let t=kq.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function gJ(e){Aq=e}function _J(){Aq&&(jq=Sd(`hooks-report`),Aq({type:`request-hooks-report`,requestId:jq}))}function vJ(e){kq||(kq=V(`div`,`hooks-panel`),e.append(kq),hJ({force:!0}))}function yJ(){hJ({force:!0})}function bJ(e){rq(e,jq)&&(Oq=e,Bq.clear(),Iq=!1,hJ())}function xJ(e){let t=Lq!==null&&e.requestId===Lq;if(t&&(Lq=null,Iq=!1),e.ok){t&&nJ(),_J();return}let n=typeof e.error==`string`&&e.error?e.error:`Could not save the hook`;if(t){$q(n);return}qx(n,{persist:!0}),_J()}function SJ(e){e.ok||qx(typeof e.error==`string`&&e.error?e.error:`Could not delete the hook`,{persist:!0}),_J()}function CJ(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0,silent:!0}}var wJ=4e3;function TJ(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function EJ(e,t,n,r=wJ){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function DJ(){return typeof Notification>`u`?null:Notification}function OJ(){return DJ()!==null}function kJ(){let e=DJ();return e?e.permission:`unavailable`}async function AJ(){let e=DJ();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function jJ(){let e=DJ();e&&_D()&&e.permission==="default"&&AJ()}function MJ({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=DJ();if(a&&_D()&&a.permission===`granted`&&(i||typeof document>`u`||typeof document.hasFocus!=`function`||!document.hasFocus())&&EJ(window.localStorage,TJ(e,t),Date.now()))try{let i=new a(`Glimmervoid`,CJ(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&typeof e==`string`&&(window.location.hash=HL(e)),i.close()}}catch{}}function NJ(e){return e.filter(e=>!e.hasOwnPhoneScreen).map(e=>{let t=e.label.trim();return{id:e.view,label:t,glyph:e.glyph||t.charAt(0).toUpperCase(),el:e.el}})}var PJ=[{name:`glimmervoid`,state:F.RUNNING,awaitingBackgroundTasks:!1},{name:`glimmervoid (2)`,state:F.RUNNING,awaitingBackgroundTasks:!0},{name:`api`,state:F.WAITING,awaitingBackgroundTasks:!1},{name:`docs-site`,state:F.IDLE,awaitingBackgroundTasks:!1}];function FJ(){let e=V(`div`,`compact-status-preview`);e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,`Example sidebar sessions showing how status appears with this setting`);for(let t of PJ){let{pill:n,refs:r}=aU(`div`,`focus-pill compact-status-preview-pill`);r.name.textContent=t.name,oU(n,r,t.state,t.awaitingBackgroundTasks),e.append(n)}return e}var IJ=null,LJ=null,RJ=null,zJ=null,BJ=-1,VJ=null,HJ=1;function UJ(){if(!IJ||VJ===null)return;let e=XE({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:VJ});jd(IJ,ZE(e,HJ))}function WJ(){zJ!==null&&(clearTimeout(zJ),zJ=null)}function GJ(e=TD()){return HE({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:cf(),options:mO()})}function KJ(e,t){if(!IJ||!LJ||!RJ||GJ())return;let n=mO();WJ();let r=VE(n,BJ,Math.random,t);if(IJ.onanimationend=null,IJ.style.animation=`none`,!r){zJ=setTimeout(()=>KJ(!1),1e3);return}VJ=r.verticalProgress,HJ=n.flyingAnimalsScale,UJ();let i=PE[r.animalIndex];LJ.className=`nyan-sprite ${i.sprite}`,RJ.className=`nyan-trail ${i.trail}`,BJ=r.animalIndex,IJ.offsetWidth,IJ.style.animation=`nyan-fly ${r.durationSeconds}s linear`,e&&(IJ.style.animationDelay=`-${r.firstDelaySeconds}s`),IJ.onanimationend=e=>{IJ&&e.target===IJ&&(IJ.onanimationend=null,IJ.style.animation=`none`,zJ=setTimeout(()=>KJ(!1),r.gapMs))}}function qJ(){IJ||GJ()||(IJ=document.createElement(`div`),IJ.className=`nyan-flight`,IJ.setAttribute(`aria-hidden`,`true`),RJ=document.createElement(`div`),LJ=document.createElement(`div`),IJ.append(RJ,LJ),document.body.appendChild(IJ),window.addEventListener(`resize`,UJ),window.addEventListener(`orientationchange`,UJ),KJ(!0))}function JJ(e){qJ(),KJ(!1,e)}function YJ(){WJ(),window.removeEventListener(`resize`,UJ),window.removeEventListener(`orientationchange`,UJ),IJ?.remove(),IJ=null,LJ=null,RJ=null,BJ=-1,VJ=null}var XJ=!1;function ZJ(e){let t=document.documentElement;if(XJ||(XJ=!0,lf(()=>ZJ(TD())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>ZJ(TD()))),e){if(t.dataset.flyingAnimals=`true`,GJ(e)){YJ();return}qJ();return}delete t.dataset.flyingAnimals,YJ()}function QJ(){let e=V(`div`),t=V(`p`,`flying-animals-status`);t.id=`flying-animals-gallery-status`,t.setAttribute(`role`,`status`);let n=V(`div`,`flying-animals-gallery`);n.setAttribute(`aria-label`,`Animal gallery`);let r=[],i=()=>{let e=GJ(),n=zE(mO().flyingAnimalsExcludedSprites);t.textContent=[e,n?``:`No animals are included, so automatic flights are paused.`].filter(Boolean).join(` `);for(let t of r)t.disabled=e!==null},a=mO();for(let e of PE){let o=V(`article`,`flying-animal-tile`),s=vO(e),c=V(`label`,`flying-animal-include`),l=V(`input`,`settings-view-checkbox`);l.type=`checkbox`,l.checked=!a.flyingAnimalsExcludedSprites.includes(e.sprite),l.setAttribute(`aria-label`,`Include ${e.name}`),l.addEventListener(`change`,()=>{let t=new Set(mO().flyingAnimalsExcludedSprites);l.checked&&t.delete(e.sprite),l.checked||t.add(e.sprite),pO([...t]),ZJ(TD()),i()}),c.append(l,document.createTextNode(`Include`));let u=V(`button`,`btn-dialog btn-dialog-cancel`,`Fly now`);u.type=`button`,u.setAttribute(`aria-describedby`,t.id),u.addEventListener(`click`,()=>JJ(e.sprite)),r.push(u),o.append(s,V(`h2`,`flying-animal-name`,e.name),c,u),n.append(o)}return i(),e.append(t,n),e}var $J=`johncwaters/glimmervoid`,eY=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),tY=Object.freeze([`notify`,`spawn`,`label`,`comment`]),nY=2e4,rY=65536,iY=/^[a-z0-9][a-z0-9-]{0,63}$/,aY=/[\x00-\x1f\x7f,]|^-/,oY=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return O({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},sY=k({error:`workflows.enabled must be a boolean`}),cY=oY(`workflows.maxConcurrentSessions`,jE),lY=oY(`workflows.maxActionsPerPoll`,ME),uY=(e,t)=>A(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),dY=D({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(50,{error:`a workflow label name must be at most 50 characters`}).refine(e=>!aY.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),fY=D({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(rY,{error:`a workflow comment body must be at most ${rY} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),pY=N(eY,{error:`workflows.rules[].trigger must be one of ${eY.join(`, `)}`}),mY=Yo(`type`,[M({type:P(`notify`)}),M({type:P(`spawn`),promptTemplate:D({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(nY,{error:`a spawn action promptTemplate must be at most ${nY} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),M({type:P(`label`),name:dY}),M({type:P(`comment`),body:fY})],{error:`workflows.rules[].actions[].type must be one of ${tY.join(`, `)}`}),hY=M({mine:k({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:k({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:uY(`workflows.rules[].filters.authors`,D({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(ys,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:uY(`workflows.rules[].filters.labels`,dY).optional(),baseBranches:uY(`workflows.rules[].filters.baseBranches`,D({error:`workflows.rules[].filters.baseBranches must hold branch names`}).min(1,{error:`workflows.rules[].filters.baseBranches must hold branch names`})).optional()},{error:`workflows.rules[].filters must be an object`}),gY=D({error:`workflows.rules[].id must be a string`}).regex(iY,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),_Y=k({error:`workflows.rules[].enabled must be a boolean`}),vY=M({id:gY,name:D({error:`workflows.rules[].name must be a string`}).trim().min(1,{error:`workflows.rules[].name must not be empty`}).max(80,{error:`workflows.rules[].name must be at most 80 characters`}),enabled:_Y.default(!1),repos:uY(`workflows.rules[].repos`,Nl),filters:hY.default({}),trigger:pY,actions:uY(`workflows.rules[].actions`,mY)},{error:`workflows.rules[] must be an object`}),yY=M({enabled:sY.default(!0),maxConcurrentSessions:cY.default(2),maxActionsPerPoll:lY.default(20),rules:A(vY,{error:`workflows.rules must be an array`}).default([])},{error:`workflows must be an object`}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.rules.entries()){if(!n.has(i.id)){n.add(i.id);continue}t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`})}}),bY=M({id:gY,enabled:_Y},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});M({enabled:sY.optional(),maxConcurrentSessions:cY.optional(),maxActionsPerPoll:lY.optional(),rules:A(bY,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var xY=O().int().nonnegative(),SY=N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable();nu.extend({author:j({login:D()}).nullable(),labels:j({nodes:A(j({name:D()}))}),comments:j({totalCount:xY})});var CY=M({polledAtMs:xY,prs:A(M({repo:Nl,number:O().int().positive(),title:D(),url:xo(),author:D().nullable(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),isDraft:k(),isCrossRepository:k(),baseRefName:D(),headRefName:D().min(1),headRefOid:I,labels:A(D()),commentCount:xY,reviewRequests:A(D()),checksState:SY,reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}))});M({repos:$o(D().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),CY)});var wY={maxConcurrentInvestigations:Math.ceil,minUsersToInvestigate:Math.ceil,userEscalationThreshold:Math.ceil,trafficSpikeMinUsers:Math.ceil,trafficSpikeBaselineDays:Math.floor};[...Object.entries(wY).map(([e,t])=>({path:[`posthog`,e],min:1,round:t}))];var TY=Object.freeze([`auto`,`calculate`,`display`]),EY=Object.freeze([`codex`,`grok`]),DY=Object.freeze([`dailyUsd`,`monthlyUsd`]),OY=e=>k({error:`${e} must be a boolean`}).optional(),kY=(e,t=!1)=>{let n=D({error:`${e} must be a string`});return(t?n.transform(e=>e.trim()):n).optional()},AY=e=>e.label?e.label:e.max==null?e.exclusiveMin?`greater than ${e.min}`:`at least ${e.min}`:`between ${e.min} and ${e.max}`,jY=(e,t=QT)=>O({error:`${e} must be ${AY(t)}`}).finite().refine(e=>!t.exclusiveMin||e>t.min,{message:`${e} must be ${AY(t)}`}).refine(e=>t.exclusiveMin||e>=t.min,{message:`${e} must be ${AY(t)}`}).refine(e=>t.max==null||e<=t.max,{message:`${e} must be ${AY(t)}`}).optional(),MY=(e,t)=>jY(e,t).unwrap().int({error:`${e} must be a whole number ${AY(t)}`}).optional(),NY=(e,t)=>O({error:`${e} must be an integer between ${t.min} and ${t.max}`}).int({error:`${e} must be an integer between ${t.min} and ${t.max}`}).min(t.min,{error:`${e} must be an integer between ${t.min} and ${t.max}`}).max(t.max,{error:`${e} must be an integer between ${t.min} and ${t.max}`}).optional(),PY=(e,t)=>j(t,{error:`${e} must be an object`}).nullable().optional(),FY=Object.freeze([`claude`,`codex`]),IY=Object.freeze([`release`,`main`]),LY=Object.freeze([`report`,`fix`]);PY(`changeMap`,{narrator:PY(`changeMap.narrator`,{enabled:OY(`changeMap.narrator.enabled`),engine:N(FY,{error:`changeMap.narrator.engine must be one of ${FY.join(`, `)}`}).optional(),model:kY(`changeMap.narrator.model`,!0),timeoutSeconds:NY(`changeMap.narrator.timeoutSeconds`,kE)})}),j({refiner:j({enabled:OY(`taskTitle.refiner.enabled`),model:kY(`taskTitle.refiner.model`,!0),minIntervalSeconds:jY(`taskTitle.refiner.minIntervalSeconds`,{min:0}),timeoutSeconds:jY(`taskTitle.refiner.timeoutSeconds`,{min:0,exclusiveMin:!0,max:2147483647/1e3})},{error:`taskTitle.refiner must be an object`}).nullable().optional()},{error:`taskTitle must be an object`}).nullable().optional();var RY={enabled:OY(`branchGc.enabled`),worktrees:OY(`branchGc.worktrees`),prefixes:A(D({error:`branchGc.prefixes must be an array of strings`}).min(1,{error:`branchGc.prefixes entries must be non-empty strings`}),{error:`branchGc.prefixes must be an array of strings`}).optional(),dryRun:OY(`branchGc.dryRun`),staleDays:jY(`branchGc.staleDays`,iE),deleteUnmerged:OY(`branchGc.deleteUnmerged`),intervalMs:jY(`branchGc.intervalMs`,aE)},zY=j(RY,{error:`branchGc must be an object`});PY(`branchGc`,RY),zY.omit({prefixes:!0,dryRun:!0,worktrees:!0}).nullable().optional(),Object.freeze([`enabled`,`deleteUnmerged`]),Object.freeze([`staleDays`,`intervalMs`]),PY(`postTurnChecks`,{mode:N(LY,{error:`postTurnChecks.mode must be one of report, fix`}).optional()}),PY(`visions`,{enabled:OY(`visions.enabled`),autoFix:OY(`visions.autoFix`),projects:A(D({error:`visions.projects must be an array of strings`}),{error:`visions.projects must be an array of strings`}).optional(),dispatch:PY(`visions.dispatch`,{enabled:OY(`visions.dispatch.enabled`),model:kY(`visions.dispatch.model`,!0),quietMs:MY(`visions.dispatch.quietMs`,oE),cooldownMs:MY(`visions.dispatch.cooldownMs`,sE),maxPerHour:MY(`visions.dispatch.maxPerHour`,cE),activityMaxPerHour:MY(`visions.dispatch.activityMaxPerHour`,lE),dispatchTimeoutSeconds:MY(`visions.dispatch.dispatchTimeoutSeconds`,uE)}),intent:PY(`visions.intent`,{threadTtlMs:MY(`visions.intent.threadTtlMs`,dE)})}),j({teams:A(D({error:`github.teams must be an array of org/slug strings`}).refine(e=>Ss(e)!==null,{message:`github.teams entries must be org/slug with valid GitHub segments`}),{error:`github.teams must be an array of org/slug strings`}).optional()},{error:`github must be an object`}).nullable().optional(),PY(`teamReview`,{enabled:OY(`teamReview.enabled`),autoRebaseMyPrs:OY(`teamReview.autoRebaseMyPrs`),keepMergeableEnabled:OY(`teamReview.keepMergeableEnabled`),mergeQueueEnabled:OY(`teamReview.mergeQueueEnabled`),keepMergeableTimeoutMinutes:NY(`teamReview.keepMergeableTimeoutMinutes`,AE),org:kY(`teamReview.org`,!0),team:kY(`teamReview.team`,!0),skill:kY(`teamReview.skill`,!0),reReviewAfterHours:jY(`teamReview.reReviewAfterHours`),skipIdleAfterDays:jY(`teamReview.skipIdleAfterDays`)}),PY(`benchmarks`,{enabled:OY(`benchmarks.enabled`)}),j({enabled:OY(`factory.enabled`),maxRisk:ic.optional(),maxLiveWorkers:O().int().min(ZT.min).optional(),checks:A(D().trim().min(1)).optional(),protectedPaths:A(D().trim().min(1)).optional(),reviewerModel:D().trim().min(1).nullable().optional(),dailyBudgetUsd:O().finite().nonnegative().nullable().optional(),verifierModel:D().trim().min(1).nullable().optional(),mirrorHarnessRuns:OY(`factory.mirrorHarnessRuns`)}).nullable().optional(),PY(`knowledgeGraph`,{enabled:OY(`knowledgeGraph.enabled`)});var BY={intervalMinutes:fE,maxConcurrentInvestigations:pE,investigationTimeoutSeconds:mE,fixTimeoutSeconds:yE,minUsersToInvestigate:hE,userEscalationThreshold:gE,recurrenceWindowDays:_E,transientRecurrenceLimit:vE,trafficSpikeMultiplier:bE,trafficSpikeMinUsers:xE,trafficSpikeCooldownMinutes:SE,trafficSpikeBaselineDays:CE};PY(`posthog`,{enabled:OY(`posthog.enabled`),recurrenceDedupe:OY(`posthog.recurrenceDedupe`),trafficSpikeEnabled:OY(`posthog.trafficSpikeEnabled`),autoFix:OY(`posthog.autoFix`),host:kY(`posthog.host`,!0).refine(e=>e==null||!e||/^https?:\/\//i.test(e),{message:`posthog.host must be an http(s) URL`}),apiKey:kY(`posthog.apiKey`,!0),repoPath:kY(`posthog.repoPath`,!0),projects:qo([P(`all`),A(O({error:`posthog.projects must be "all" or an array of positive integer project ids`}).int({error:`posthog.projects must be "all" or an array of positive integer project ids`}).positive({error:`posthog.projects must be "all" or an array of positive integer project ids`}),{error:`posthog.projects must be "all" or an array of positive integer project ids`})],{error:`posthog.projects must be "all" or an array of positive integer project ids`}).optional(),projectMap:$o(D(),Bo(),{error:`posthog.projectMap must be an object`}).optional(),...Object.fromEntries(Object.entries(BY).map(([e,t])=>[e,Object.hasOwn(wY,e)?MY(`posthog.${e}`,t):jY(`posthog.${e}`,t)]))}),`${TY.join(`, `)}`,Object.fromEntries(EY.map(e=>[e,OY(`usage.vendors.${e}`)])),Object.fromEntries(DY.map(e=>[e,O({error:`usage.budget.${e} must be a positive number or null`}).positive({error:`usage.budget.${e} must be a positive number or null`}).nullable().optional()])),PY(`telegram`,{botToken:kY(`telegram.botToken`,!0),chatId:kY(`telegram.chatId`,!0)}),j({enabled:OY(`ingest.enabled`)},{error:`ingest must be an object`}).passthrough().optional(),j({enabled:OY(`trace.enabled`)},{error:`trace must be an object`}).optional(),j({enabled:OY(`planReview.enabled`)},{error:`planReview must be an object`}).optional();var VY={enabled:OY(`agentApi.enabled`)};j(VY,{error:`agentApi must be an object`}).strict().optional(),j(VY,{error:`agentApi must be an object`}).passthrough().optional();var HY=e=>A(D({error:`${e} must be an array of paths`}).trim().min(1,{error:`${e} must be an array of paths`}),{error:`${e} must be an array of paths`}).optional();j({unguardedRepos:HY(`guardrails.unguardedRepos`),blockedPaths:HY(`guardrails.blockedPaths`),unreadablePaths:HY(`guardrails.unreadablePaths`)},{error:`guardrails must be an object`}).passthrough().optional();var UY={enabled:OY(`telemetry.enabled`)};j(UY,{error:`telemetry must be an object`}).strict().optional(),j(UY,{error:`telemetry must be an object`}).passthrough().optional();function WY(e){return e.map(e=>({value:e,label:e[0].toUpperCase()+e.slice(1)}))}var GY=Object.freeze({general:`machine-general`,updates:`machine-updates`,terminal:`machine-terminal`,repos:`machine-repositories`,repositories:`machine-repositories`,advanced:`machine-detection-sessions`,detection:`machine-detection-sessions`,telegram:`machine-telegram`,notifications:`machine-telegram`,"change-map":`lanes-change-map`,visions:`lanes-visions`,ingest:`lanes-ingest`,posthog:`lanes-posthog`,"team-review":`lanes-team-review`,reviews:`lanes-team-review`,benchmarks:`lanes-benchmarks`,factory:`lanes-factory`,"knowledge-graph":`lanes-knowledge-graph`,workflows:`lanes-workflows`,usage:`machine-usage`,privacy:`machine-privacy`,telemetry:`machine-privacy`,shortcuts:`browser-shortcuts`,animals:`browser-flying-animals`,"flying-animals":`browser-flying-animals`,unattended:`lanes-unattended`}),KY=Object.freeze({"browser-appearance":Object.freeze({"flying-animals":`browser-flying-animals`})}),qY=Object.freeze([{id:`browser-appearance`,level:`browser`,title:`Appearance and alerts`,description:`Preferences stored only in this browser.`,settings:[{id:`theme`,path:`pref:themeId`,title:`Theme`,description:`Color scheme for the dashboard.`,control:`select`,optionsFrom:`themes`,keywords:[`color`,`palette`],defaultValue:`phyrexian`},{id:`compact-status`,path:`pref:compactStatusLabels`,title:`Hide status words in sidebar`,description:`Hide status words in the sidebar and on the phone Board while keeping the colored status mark and the phone Plan ready badge. Saved per browser, so turn it on in each one.`,control:`toggle`,keywords:[`sidebar`,`status`,`compact`],defaultValue:!1},{id:`session-usage-chips`,path:`pref:sessionUsageChips`,title:`Show usage on session cards`,description:`Shows each card's transcript token count and CLI-reported cost when available, otherwise a calculated API list-price estimate.`,control:`toggle`,keywords:[`usage`,`cost`,`tokens`,`card`,`price`],defaultValue:!1},{id:`alert-sounds-enabled`,path:`pref:soundEnabled`,title:`Alert sounds`,description:`Play sounds when a session needs attention and when a merge celebration plays. The same switch as the note button in the desktop header.`,control:`toggle`,keywords:[`audio`,`mute`,`sound`,`notification`],defaultValue:!0},{id:`alert-sound`,path:`pref:soundId`,title:`Alert sound`,description:`Sound played when a session needs attention. Your own .ogg, .mp3, .wav, .m4a or .webm files dropped into the sounds folder of the Glimmervoid home (~/.glimmervoid/sounds/, or $GLIMMERVOID_HOME/sounds/) are listed after the built-in sounds. Glimmervoid never creates that folder, so make it yourself; new files show up the next time Settings opens.`,control:`select`,optionsFrom:`sounds`,keywords:[`audio`,`notification`,`custom`],defaultValue:`chime`},{id:`desktop-notifications`,path:`pref:notificationsEnabled`,title:`Desktop notifications`,description:`Raise a browser notification when a session needs attention while this dashboard is in the background.`,control:`toggle`,keywords:[`browser`,`attention`],defaultValue:!0}]},{id:`browser-flying-animals`,level:`browser`,title:`Flying animals`,description:`Choose your flying animals. Changes apply immediately in this browser.`,settings:[{id:`flying-animals`,path:`pref:flyingAnimalsEnabled`,title:`Flying animals`,description:`Show animated animals flying across the dashboard.`,control:`toggle`,keywords:[`animation`,`motion`],defaultValue:!1},{id:`animals-min-gap`,path:`pref:flyingAnimalsMinGapSeconds`,title:`Time between flights: minimum (seconds)`,description:`Shortest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,maximumSettingId:`animals-max-gap`,keywords:[`animals`,`frequency`],defaultValue:FE.flyingAnimalsMinGapSeconds},{id:`animals-max-gap`,path:`pref:flyingAnimalsMaxGapSeconds`,title:`Time between flights: maximum (seconds)`,description:`Longest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,keywords:[`animals`,`frequency`],defaultValue:FE.flyingAnimalsMaxGapSeconds},{id:`animals-min-duration`,path:`pref:flyingAnimalsMinDurationSeconds`,title:`Flight duration: minimum (seconds)`,description:`Shortest flight, for faster animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,maximumSettingId:`animals-max-duration`,keywords:[`animals`,`speed`],defaultValue:FE.flyingAnimalsMinDurationSeconds},{id:`animals-max-duration`,path:`pref:flyingAnimalsMaxDurationSeconds`,title:`Flight duration: maximum (seconds)`,description:`Longest flight, for slower animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,keywords:[`animals`,`speed`],defaultValue:FE.flyingAnimalsMaxDurationSeconds},{id:`animals-scale`,path:`pref:flyingAnimalsScale`,title:`Size multiplier`,description:`Scale applied on top of the viewport size.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_SCALE_RANGE`,keywords:[`animals`,`size`],defaultValue:FE.flyingAnimalsScale},{id:`animals-on-phone`,path:`pref:flyingAnimalsOnPhone`,title:`Show on phone layout`,description:`Allow flights on the phone layout.`,control:`toggle`,advanced:!0,keywords:[`animals`,`mobile`],defaultValue:FE.flyingAnimalsOnPhone}]},{id:`browser-shortcuts`,level:`browser`,title:`Shortcuts and about`,description:`Keyboard reference and build information.`,settings:[]},{id:`machine-general`,level:`machine`,title:`General`,description:`Machine-wide session startup and diagnostics.`,settings:[{id:`auto-resume`,path:`autoResume`,title:`Auto-resume sessions on startup`,description:`Resume conversations that were live when Glimmervoid last shut down or crashed.`,control:`toggle`,keywords:[`startup`,`conversation`],defaultValue:!0},{id:`debug-mode`,path:`debugMode`,title:`Debug mode`,description:`Show session-card diagnostics for state, transitions and detection signals.`,control:`toggle`,keywords:[`diagnostics`,`state`],defaultValue:!1},{id:`calm-layout`,path:`calmLayout`,title:`Calm layout (experimental)`,description:`Replace the Focus rail with a view that prioritizes sessions needing attention and also shows ready and working indicators. Applies to every browser on this machine.`,control:`toggle`,keywords:[`experimental`,`attention`,`priority`],defaultValue:!1}],unattendedLinks:[{settingId:`skip-permissions-by-default`,title:`Skip permission prompts by default`},{settingId:`rtk-compression`,title:`rtk output compression`}]},{id:`machine-updates`,level:`machine`,title:`Updates`,description:`See which Glimmervoid version is running, which one is newest, and update in one step.`,settings:[{id:`update-summary`,path:`status:update-summary`,title:`Status`,description:`Whether this install is up to date, and what an update would move it to.`,control:`readonly`,keywords:[`version`,`available`,`current`],status:`update-summary`},{id:`update-actions`,path:`status:update-actions`,title:`Actions`,description:`Update and restart stages the newest build, then restarts to run it. Update without restart stages it for a later restart.`,control:`readonly`,keywords:[`check`,`restart`],status:`update-actions`},{id:`update-installed`,path:`status:update-installed`,title:`Running version`,description:`The version loaded when the server started, alongside the commit, branch and state of the current disk checkout.`,control:`readonly`,keywords:[`version`,`commit`,`installed`],status:`update-installed`},{id:`update-latest`,path:`status:update-latest`,title:`Latest version`,description:`The newest target found on the selected update channel.`,control:`readonly`,keywords:[`release`,`commit`],status:`update-latest`},{id:`update-last-checked`,path:`status:update-last-checked`,title:`Last checked`,description:`The most recent update check, or why automatic checks are off.`,control:`readonly`,keywords:[`time`,`failure`],status:`update-last-checked`},{id:`update-channel`,path:`updateChannel`,title:`Channel`,description:`Track tagged releases or the upstream of the checked-out branch.`,control:`select`,options:WY(IY),keywords:[`release`,`branch`],defaultValue:`release`},{id:`check-updates`,path:`checkForUpdates`,title:`Check for updates automatically`,description:`Check for a newer Glimmervoid at launch, while a dashboard is connected, and when this page opens.`,control:`toggle`,keywords:[`release`,`github`],defaultValue:!0}]},{id:`machine-terminal`,level:`machine`,title:`Terminal`,description:`Terminal behavior shared by dashboard clients.`,settings:[{id:`replay-buffer`,path:`replayBufferKB`,title:`Replay buffer (KB)`,description:`PTY output retained for clients that reconnect or join late.`,control:`number`,range:`REPLAY_BUFFER_KB_RANGE`,keywords:[`history`,`backfill`],defaultValue:512},{id:`cursor-blink`,path:`cursorBlink`,title:`Cursor blink`,description:`Blink the cursor in every terminal.`,control:`toggle`,keywords:[`caret`,`terminal`],defaultValue:!1}]},{id:`machine-detection-sessions`,level:`machine`,title:`Detection and sessions`,description:`Config-file-only detection, timing, worktree and process settings.`,settings:[{id:`file-detect-background-agents`,path:`detectBackgroundAgents`,title:`Detect background agents`,description:`Hold completion while tracked background work is active. Changes apply to newly created sessions; recreate existing sessions to apply them.`,control:`readonly`,keywords:[`subagents`,`completion`],fileOnly:!0},{id:`file-record-signals`,path:`recordSignals`,title:`Record structural signals`,description:`Keep forensic status and hook recordings for newly created sessions. Full capture (capture.enabled) records these signals even when this is off. Recreate existing sessions to change recording.`,control:`readonly`,keywords:[`recordings`,`diagnostics`],fileOnly:!0},{id:`file-trace-enabled`,path:`trace.enabled`,title:`Capture session traces`,description:`Keep normalized Claude transcript traces for session debugging. Requires a server restart.`,control:`readonly`,keywords:[`transcripts`,`diagnostics`],fileOnly:!0},{id:`file-detect-scheduled-wakeups`,path:`detectScheduledWakeups`,title:`Detect scheduled wakeups`,description:`Surface advisory wakeup timing for scheduled sessions. Requires a server restart to update the configuration, and newly created sessions use the change.`,control:`readonly`,keywords:[`schedule`,`sleep`],fileOnly:!0},{id:`file-worktree-auto-rebase`,path:`worktreeAutoRebase`,title:`Worktree auto-rebase`,description:`Rebase eligible session worktrees when the integration branch moves. Changes apply to newly created sessions; recreate existing sessions to apply them.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-worktree-rerere`,path:`worktreeRerere`,title:`Worktree rerere`,description:`Reuse recorded Git conflict resolutions. Requires a server restart.`,control:`readonly`,keywords:[`git`,`conflicts`],fileOnly:!0},{id:`file-integration-branch`,path:`integrationBranch`,title:`Integration branch`,description:`Base branch for session worktrees. Empty = each repo's default branch. Reload affects newly created sessions and does not retarget existing sessions.`,control:`readonly`,keywords:[`git`,`merge`],fileOnly:!0},{id:`file-worktree-root`,path:`worktreeRoot`,title:`Worktree root`,description:`Directory that contains session worktrees. Changes apply to newly created sessions and do not relocate existing worktrees; recreate existing sessions to change where they create worktrees.`,control:`readonly`,keywords:[`git`,`directory`],fileOnly:!0},{id:`file-worktree-share`,path:`worktreeShare`,title:`Shared worktree paths`,description:`Local paths copied or linked during worktree preparation. Changes apply to newly created sessions; recreate existing sessions to use a new share list.`,control:`readonly`,keywords:[`files`,`context`],fileOnly:!0},{id:`file-port`,path:`port`,title:`Local port`,description:`Port used by the local dashboard listener. Requires a server restart.`,control:`readonly`,keywords:[`server`,`listener`],fileOnly:!0},{id:`file-auto-recover-seconds`,path:`autoRecoverSeconds`,title:`Auto-recovery delay`,description:`Delay before an interrupted state can recover.`,control:`readonly`,keywords:[`timer`,`recovery`],fileOnly:!0},{id:`file-input-grace-seconds`,path:`inputGraceSeconds`,title:`Input grace period`,description:`Grace window around operator input.`,control:`readonly`,keywords:[`timer`,`prompt`],fileOnly:!0},{id:`file-prompt-detection-ms`,path:`promptDetectionMs`,title:`Prompt detection delay`,description:`Timing threshold used by prompt detection.`,control:`readonly`,keywords:[`timer`,`detection`],fileOnly:!0},{id:`file-notify-debounce-ms`,path:`notifyDebounceMs`,title:`Notification debounce`,description:`Delay used to coalesce notification state changes.`,control:`readonly`,keywords:[`timer`,`alerts`],fileOnly:!0},{id:`file-phone-escalation-ms`,path:`phoneEscalationMs`,title:`Phone escalation delay`,description:`Delay before off-dashboard escalation.`,control:`readonly`,keywords:[`timer`,`telegram`],fileOnly:!0},{id:`file-post-turn-checks`,path:`postTurnChecks`,title:`Post-turn checks`,description:`Deterministic checks run after eligible turns. The global mode is a default; project and individual rule modes can select fixes even when the global mode is report.`,control:`readonly`,keywords:[`quality`,`fixes`],fileOnly:!0},{id:`file-branch-gc-enabled`,path:`branchGc.enabled`,title:`Branch cleanup`,description:`Enable cleanup of eligible session branches.`,control:`readonly`,keywords:[`git`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-worktrees`,path:`branchGc.worktrees`,title:`Local worktree cleanup`,description:`Enable cleanup of eligible local worktrees.`,control:`readonly`,keywords:[`git`,`worktree`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-prefixes`,path:`branchGc.prefixes`,title:`Branch cleanup prefixes`,description:`Branch prefixes that filter both remote branch cleanup and local worktree cleanup.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-branch-gc-dry-run`,path:`branchGc.dryRun`,title:`Branch cleanup dry run`,description:`Report planned cleanup without deleting remote branches.`,control:`readonly`,keywords:[`git`,`safety`],fileOnly:!0},{id:`file-branch-gc-stale-days`,path:`branchGc.staleDays`,title:`Branch stale days`,description:`Age threshold for orphan branch cleanup when unmerged deletion is on.`,control:`readonly`,keywords:[`git`,`retention`],fileOnly:!0},{id:`file-branch-gc-interval-ms`,path:`branchGc.intervalMs`,title:`Branch cleanup interval`,description:`Delay between branch cleanup passes.`,control:`readonly`,keywords:[`git`,`schedule`],fileOnly:!0},{id:`file-custom-agents`,path:`customAgents`,title:`Custom agents`,description:`Extra agent CLIs a session can be spawned with.`,control:`readonly`,keywords:[`adapters`,`cli`],fileOnly:!0,status:`custom-agents`}]},{id:`machine-repositories`,level:`machine`,title:`Repositories`,description:`Project discovery roots for new sessions.`,settings:[{id:`repository-roots`,path:`repoRoots`,title:`Repository roots`,description:`Directories scanned for projects when adding sessions.`,control:`list`,keywords:[`folders`,`project discovery`],defaultValue:[]}]},{id:`machine-telegram`,level:`machine`,title:`Telegram`,description:`One bot shared by session, PR review and PostHog notifications.`,settings:[{id:`telegram-bot-token`,path:`telegram.botToken`,title:`Bot token`,description:`Credential used by the shared Telegram bot. When GLIMMERVOID_TELEGRAM_BOT_TOKEN supplies it, this field is read-only.`,control:`password`,keywords:[`credential`,`api`],defaultValue:``},{id:`telegram-chat-id`,path:`telegram.chatId`,title:`Chat id`,description:`Destination chat for enabled Telegram lanes.`,control:`text`,keywords:[`destination`,`channel`],defaultValue:``},{id:`telegram-session-notifications`,path:`telegramNotifications`,title:`Send session notifications`,description:`Send session completion, input and failure alerts when no dashboard is open. Unacknowledged alerts also escalate after the phone escalation delay while a dashboard remains open.`,control:`toggle`,keywords:[`phone`,`off dashboard`],defaultValue:!1}]},{id:`machine-usage`,level:`machine`,title:`Usage`,description:`Local transcript accounting and estimated-cost budgets.`,settings:[{id:`usage-enabled`,path:`usage.enabled`,title:`Track token usage`,description:`Read local CLI transcripts and roll them into the Usage view and session chips.`,control:`toggle`,keywords:[`tokens`,`cost`],defaultValue:!0,status:`usage-last-report`},{id:`usage-codex`,path:`usage.vendors.codex`,title:`Track Codex usage`,description:`Include local Codex CLI transcripts in usage reports.`,control:`toggle`,keywords:[`openai`,`vendor`],defaultValue:!0},{id:`usage-grok`,path:`usage.vendors.grok`,title:`Track Grok usage`,description:`Include local Grok CLI transcripts in usage reports.`,control:`toggle`,keywords:[`xai`,`vendor`],defaultValue:!0},{id:`usage-fetch-pricing`,path:`usage.fetchPricing`,title:`Fetch current model prices`,description:`Load public model prices when usage tracking starts, using a cached table for up to one day. Falls back to cached or bundled prices if the fetch fails; no daily refresh runs while tracking continues.`,control:`toggle`,keywords:[`rates`,`models`],defaultValue:!0},{id:`usage-scan-interval`,path:`usage.scanIntervalMinutes`,title:`Scan interval (minutes)`,description:`Periodic transcript polling interval. Session activity can also trigger scans between timer ticks.`,control:`number`,range:`USAGE_SCAN_INTERVAL_RANGE`,keywords:[`poll`,`refresh`],defaultValue:5},{id:`usage-retain-days`,path:`usage.retainDays`,title:`Retain transcript detail (days)`,description:`How long live transcript detail stays available. A monthly budget keeps detail from the start of the current month when that is longer.`,control:`number`,range:`USAGE_RETAIN_DAYS_RANGE`,keywords:[`history`,`retention`],defaultValue:90},{id:`usage-cost-mode`,path:`usage.costMode`,title:`Cost mode`,description:`Choose whether recorded costs, calculated costs or both can appear.`,control:`select`,options:WY(TY),keywords:[`pricing`,`estimate`],defaultValue:`auto`},{id:`usage-daily-budget`,path:`usage.budget.dailyUsd`,title:`Daily budget (USD)`,description:`Estimated daily spend alert threshold. Alerts at 50%, 75% and 100% do not stop spending. Zero or below disables the threshold.`,control:`number`,range:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01},{id:`usage-monthly-budget`,path:`usage.budget.monthlyUsd`,title:`Monthly budget (USD)`,description:`Estimated monthly spend alert threshold. Alerts at 50%, 75% and 100% do not stop spending. Zero or below disables the threshold.`,control:`number`,range:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01}]},{id:`machine-privacy`,level:`machine`,title:`Privacy`,description:`What Glimmervoid sends about itself.`,settings:[{id:`telemetry-enabled`,path:`telemetry.enabled`,title:`Send anonymous usage and error data`,description:`Version, platform, app starts, daily activity, session starts and ends with agent kind, exit kind and duration, errors as their type, error code and scrubbed stack frames, per session token counts, models and estimated costs from the usage scan, and factory outcomes as the kind of decision, how it came out, its duration and attempt number, under a random install id. Never error messages, paths, repository or branch names, prompts, objectives or terminal output. GLIMMERVOID_TELEMETRY=0, DO_NOT_TRACK=1 or CI=true turn it off regardless.`,control:`toggle`,keywords:[`telemetry`,`analytics`,`tracking`,`opt out`],defaultValue:!0}]},{id:`lanes-change-map`,level:`lanes`,title:`Change map`,description:`Optional model narration for deterministic change facts.`,settings:[{id:`change-map-narrator-enabled`,path:`changeMap.narrator.enabled`,title:`Enable narration`,description:`Add cited model claims to the change map.`,control:`toggle`,keywords:[`review`,`claims`],defaultValue:!1},{id:`change-map-narrator-engine`,path:`changeMap.narrator.engine`,title:`Narrator engine`,description:`CLI used to generate change map claims.`,control:`select`,options:WY(FY),keywords:[`claude`,`codex`],defaultValue:`claude`},{id:`change-map-narrator-model`,path:`changeMap.narrator.model`,title:`Narrator model`,description:`Blank uses the engine default: haiku for Claude, the configured Codex model for Codex.`,control:`text`,keywords:[`claude`,`codex`,`haiku`],defaultValue:``},{id:`change-map-narrator-timeout`,path:`changeMap.narrator.timeoutSeconds`,title:`Narrator timeout (seconds)`,description:`Maximum time allowed for one narration.`,control:`number`,range:`CHANGE_MAP_NARRATOR_TIMEOUT_RANGE`,keywords:[`deadline`,`narration`],defaultValue:90}]},{id:`lanes-visions`,level:`lanes`,title:`Visions`,description:`Editor-buffer findings and bounded model comments.`,settings:[{id:`visions-enabled`,path:`visions.enabled`,title:`Enable Visions`,description:`Set up supported editors detected on this machine, then show their buffer findings in the Visions view.`,control:`toggle`,keywords:[`editor`,`findings`,`lsp`],defaultValue:!1},{id:`visions-dispatch-enabled`,path:`visions.dispatch.enabled`,title:`Enable model comments`,description:`Start bounded review sessions for local editor buffers.`,control:`toggle`,keywords:[`review`,`dispatch`],defaultValue:!1},{id:`visions-quiet-delay`,path:`visions.dispatch.quietMs`,title:`Quiet delay (ms)`,description:`Editor quiet time before a scheduled review. Saves and blank-line boundaries can dispatch immediately, subject to the other review limits.`,control:`number`,range:`VISIONS_QUIET_MS_RANGE`,keywords:[`debounce`,`idle`],defaultValue:3e4},{id:`visions-cooldown`,path:`visions.dispatch.cooldownMs`,title:`Cooldown (ms)`,description:`Minimum delay between reviews of the same document. Initial orientation reviews bypass this delay.`,control:`number`,range:`VISIONS_COOLDOWN_MS_RANGE`,keywords:[`rate limit`,`delay`],defaultValue:3e5},{id:`visions-max-per-hour`,path:`visions.dispatch.maxPerHour`,title:`Max per hour`,description:`Maximum review sessions dispatched per hour.`,control:`number`,range:`VISIONS_MAX_PER_HOUR_RANGE`,keywords:[`rate limit`,`reviews`],defaultValue:6},{id:`visions-activity-max-per-hour`,path:`visions.dispatch.activityMaxPerHour`,title:`Activity max per hour`,description:`Maximum activity-driven reviews dispatched per hour, capped at the overall hourly limit minus one to reserve an edit-review slot.`,control:`number`,range:`VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE`,status:`visions-activity-limit`,keywords:[`rate limit`,`events`],defaultValue:2},{id:`visions-dispatch-timeout`,path:`visions.dispatch.dispatchTimeoutSeconds`,title:`Dispatch timeout (seconds)`,description:`Maximum time allowed for one review session.`,control:`number`,range:`VISIONS_DISPATCH_TIMEOUT_RANGE`,keywords:[`deadline`,`review`],defaultValue:180},{id:`visions-intent-thread-ttl`,path:`visions.intent.threadTtlMs`,title:`Intent thread lifetime (ms)`,description:`How long an intent thread nobody advanced stays live before it retires.`,control:`number`,range:`VISIONS_INTENT_THREAD_TTL_MS_RANGE`,keywords:[`intent`,`decay`,`thread`],defaultValue:2592e5},{id:`visions-model`,path:`visions.dispatch.model`,title:`Model override`,description:`Leave blank to use the opus model alias.`,control:`text`,keywords:[`claude`,`override`],defaultValue:``},{id:`visions-projects`,path:`visions.projects`,title:`Projects`,description:`Clear every selection, including unavailable projects, to accept buffers from every configured project.`,control:`projects`,keywords:[`repositories`,`filter`],defaultValue:[]},{id:`visions-auto-fix`,path:`visions.autoFix`,title:`Apply tier 1 fixes`,description:`Allow Visions to edit eligible open Markdown buffers, including inactive buffers, without asking.`,control:`toggle`,keywords:[`automatic`,`edits`],danger:!0,warning:`Enabling this control lets Visions edit eligible buffers without a carbon unit present.`,defaultValue:!1}]},{id:`lanes-ingest`,level:`lanes`,title:`Ingest`,description:`Machine-context ingest behind Visions.`,settings:[{id:`ingest-enabled`,path:`ingest.enabled`,title:`Enable machine context ingest`,description:`Enable the local activity feed behind Visions. Turning Visions on enables ingest unless ingest.enabled is explicitly false.`,control:`toggle`,keywords:[`events`,`activity`],defaultValue:!1},{id:`ingest-terminal`,path:`ingest.sources.terminal.enabled`,title:`Terminal output source`,description:`Include terminal output in the ingest feed.`,control:`toggle`,keywords:[`pty`,`source`],defaultValue:!1},{id:`ingest-agent-logs`,path:`ingest.sources.agentLogs.enabled`,title:`Agent logs source`,description:`Include local agent logs in the ingest feed.`,control:`toggle`,keywords:[`transcript`,`source`],defaultValue:!1},{id:`ingest-git`,path:`ingest.sources.git.enabled`,title:`Git activity source`,description:`Include local Git activity in the ingest feed.`,control:`toggle`,keywords:[`commits`,`source`],defaultValue:!1},{id:`ingest-fs`,path:`ingest.sources.fs.enabled`,title:`File changes source`,description:`Include watched file changes in the ingest feed.`,control:`toggle`,keywords:[`filesystem`,`source`],defaultValue:!1},{id:`ingest-shell-history`,path:`ingest.sources.shellHistory.enabled`,title:`Shell history source`,description:`Include local shell history in the ingest feed.`,control:`toggle`,keywords:[`commands`,`source`],defaultValue:!1},{id:`ingest-editor`,path:`ingest.sources.editor.enabled`,title:`Editor events source`,description:`Include local editor events in the ingest feed.`,control:`toggle`,keywords:[`buffers`,`source`],defaultValue:!1}]},{id:`lanes-posthog`,level:`lanes`,title:`PostHog`,description:`Error monitoring, investigations and traffic-spike alerts.`,settings:[{id:`posthog-enabled`,path:`posthog.enabled`,title:`Enable PostHog monitoring`,description:`Poll PostHog error tracking and investigate issues that move.`,control:`toggle`,keywords:[`errors`,`monitoring`],defaultValue:!1},{id:`posthog-host`,path:`posthog.host`,title:`Host`,description:`PostHog cloud or self-hosted HTTP URL.`,control:`text`,keywords:[`url`,`server`],defaultValue:`https://us.posthog.com`},{id:`posthog-api-key`,path:`posthog.apiKey`,title:`Personal API key`,description:`Credential with read access to PostHog projects. When GLIMMERVOID_POSTHOG_API_KEY supplies it, this field is read-only.`,control:`password`,keywords:[`credential`,`token`],defaultValue:``},{id:`posthog-projects`,path:`posthog.projects`,title:`Projects`,description:`Use all, none for an empty selection, or a comma-separated list of positive integer PostHog project ids. Blank means all.`,control:`text`,keywords:[`project ids`,`filter`],defaultValue:`all`,valueKind:`posthog-projects`},{id:`posthog-interval`,path:`posthog.intervalMinutes`,title:`Poll interval (minutes)`,description:`Delay between PostHog polling passes.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`refresh`,`schedule`],defaultValue:15},{id:`posthog-max-investigations`,path:`posthog.maxConcurrentInvestigations`,title:`Max concurrent investigations`,description:`Maximum investigation sessions running together.`,control:`number`,range:`POSTHOG_MAX_CONCURRENT_RANGE`,keywords:[`parallel`,`workers`],defaultValue:2},{id:`posthog-investigation-timeout`,path:`posthog.investigationTimeoutSeconds`,title:`Investigation timeout (seconds)`,description:`Maximum time allowed for one investigation.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_INVESTIGATION_TIMEOUT_RANGE`,keywords:[`deadline`,`session`],defaultValue:900},{id:`posthog-min-users`,path:`posthog.minUsersToInvestigate`,title:`Min users to investigate`,description:`Minimum affected users for a new issue investigation. Regressions, worsening issues and eligible error spikes bypass this minimum.`,control:`number`,range:`POSTHOG_MIN_USERS_RANGE`,keywords:[`threshold`,`affected`],defaultValue:1},{id:`posthog-escalation`,path:`posthog.userEscalationThreshold`,title:`Escalation threshold (users)`,description:`Affected-user count that escalates an issue.`,control:`number`,range:`POSTHOG_ESCALATION_RANGE`,keywords:[`threshold`,`severity`],defaultValue:25},{id:`posthog-fix-timeout`,path:`posthog.fixTimeoutSeconds`,title:`Fix timeout (seconds)`,description:`Maximum time allowed for one fix session.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_FIX_TIMEOUT_RANGE`,keywords:[`deadline`,`repair`],defaultValue:1800},{id:`posthog-traffic-enabled`,path:`posthog.trafficSpikeEnabled`,title:`Traffic spike alerts`,description:`Ping when recent unique users exceed a project baseline.`,control:`toggle`,keywords:[`analytics`,`alert`],defaultValue:!0},{id:`posthog-traffic-multiplier`,path:`posthog.trafficSpikeMultiplier`,title:`Spike multiplier`,description:`Baseline multiplier required to classify a traffic spike.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_TRAFFIC_MULTIPLIER_RANGE`,keywords:[`baseline`,`ratio`],defaultValue:3},{id:`posthog-traffic-min-users`,path:`posthog.trafficSpikeMinUsers`,title:`Min users to alert`,description:`Minimum recent unique users for an initial traffic-spike alert. Escalation and recovery alerts bypass this minimum.`,control:`number`,range:`POSTHOG_TRAFFIC_MIN_USERS_RANGE`,keywords:[`threshold`,`analytics`],defaultValue:10},{id:`posthog-traffic-cooldown`,path:`posthog.trafficSpikeCooldownMinutes`,title:`Spike cooldown (minutes)`,description:`Cooldown for new traffic spikes. Escalation and recovery alerts bypass it. Zero removes the time delay; repeated active-spike alerts are still suppressed.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_TRAFFIC_COOLDOWN_RANGE`,keywords:[`silence`,`delay`],defaultValue:360},{id:`posthog-traffic-baseline`,path:`posthog.trafficSpikeBaselineDays`,title:`Baseline window (days)`,description:`Historical window used to calculate normal hourly traffic.`,control:`number`,range:`POSTHOG_TRAFFIC_BASELINE_RANGE`,keywords:[`history`,`analytics`],defaultValue:7},{id:`posthog-auto-fix`,path:`posthog.autoFix`,title:`Attempt fixes for major issues`,description:`Allow an isolated agent to fix an issue, push a branch and open a pull request.`,control:`toggle`,keywords:[`automatic`,`pull request`],danger:!0,warning:`Enabling this control lets PostHog fixes commit, push and open pull requests automatically.`,defaultValue:!1}]},{id:`lanes-team-review`,level:`lanes`,title:`Team review`,description:`Draft reviews of teammates' pull requests for you to post from the Reviews tab.`,settings:[{id:`team-review-enabled`,path:`teamReview.enabled`,title:`Enable team review`,description:`Poll open pull requests from the team and draft a review of each one. Nothing is posted until you choose Approve or Comment.`,control:`toggle`,keywords:[`pull requests`,`github`],defaultValue:!1},{id:`github-teams`,path:`github.teams`,title:`GitHub teams`,description:`Teams to search for review requests and members, one org/slug per entry. Leave empty to use the organization and team below.`,control:`list`,keywords:[`github`,`teams`,`review requests`],defaultValue:[],listPlaceholder:`org/team-slug`,listEmptyText:`No GitHub teams configured.`},{id:`team-review-org`,path:`teamReview.org`,title:`GitHub organization`,description:`Organization login that owns the team, for example PostHog.`,control:`text`,keywords:[`github`,`owner`],defaultValue:``},{id:`team-review-team`,path:`teamReview.team`,title:`GitHub team`,description:`Team slug whose members and review requests are polled.`,control:`text`,keywords:[`github`,`slug`],defaultValue:``},{id:`team-review-re-review-after-hours`,path:`teamReview.reReviewAfterHours`,title:`Re-review after (hours)`,description:`When a reviewed PR has a new head, review it again after this many hours since its last review. Queue review runs it at any time.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`review`,`delay`],defaultValue:24,integer:!1,step:.5},{id:`team-review-skip-idle-after-days`,path:`teamReview.skipIdleAfterDays`,title:`Skip PRs idle for (days)`,description:`Leave pull requests without GitHub activity for this long out of automatic review.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`idle`,`activity`],defaultValue:14,integer:!1,step:.5},{id:`team-review-skill`,path:`teamReview.skill`,title:`Review skill`,description:`Name of a Claude Code skill installed for the review agent, for example your own PR review skill. Leave empty to let the agent review with whatever skills it has.`,control:`text`,keywords:[`skill`,`claude code`,`pr review`],defaultValue:``},{id:`team-review-auto-rebase-my-prs`,path:`teamReview.autoRebaseMyPrs`,title:`Keep my pull requests rebased`,description:`On each poll, rebase your open, non-draft pull requests that are behind their base branch. A pull request with conflicts or checks still running is left alone, and a failed rebase is not retried until you push again.`,control:`toggle`,keywords:[`rebase`,`update branch`,`behind`,`my prs`],danger:!0,warning:`Enabling this control rewrites your pull request branches on GitHub. Pull before you push from a local checkout of one.`,defaultValue:!1},{id:`team-review-keep-mergeable-enabled`,path:`teamReview.keepMergeableEnabled`,title:`Keep mergeable`,description:`Offer Keep mergeable on your pull requests: a sandboxed agent repairs conflicts and failing checks and pushes the repair. Off hides the control and starts no repair; the pull requests you chose stay chosen for when you turn it back on.`,control:`toggle`,keywords:[`repair`,`conflicts`,`my prs`],defaultValue:!0},{id:`team-review-keep-mergeable-timeout`,path:`teamReview.keepMergeableTimeoutMinutes`,title:`Keep mergeable deadline (minutes)`,description:`Longest a Keep mergeable repair session may run before it is stopped and nothing is pushed.`,control:`number`,range:`KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE`,keywords:[`timeout`,`repair`],defaultValue:30},{id:`team-review-merge-queue-enabled`,path:`teamReview.mergeQueueEnabled`,title:`Merge when ready`,description:`Offer Merge when ready on your pull requests: queued pull requests are rebased when behind and merged once ready, one per repository per poll. Off hides the control and merges nothing; the queue is kept for when you turn it back on.`,control:`toggle`,keywords:[`merge queue`,`auto merge`,`my prs`],defaultValue:!0}]},{id:`lanes-benchmarks`,level:`lanes`,title:`Benchmarks`,description:`Compare agent setups on frozen cases from the suites in the benchmarks folder of the Glimmervoid home.`,settings:[{id:`benchmarks-enabled`,path:`benchmarks.enabled`,title:`Enable benchmarks`,description:`Show the Bench tab. Nothing runs until you choose Mine or Run there.`,control:`toggle`,keywords:[`eval`,`arms`,`recall`,`compare`],defaultValue:!1}]},{id:`lanes-factory`,level:`lanes`,title:`Factory`,description:`Read Coherence reports from repositories whose integration branch holds a coherence.config.json and show their status in the Factory tab.`,settings:[{id:`factory-enabled`,path:`factory.enabled`,title:`Enable the factory`,description:`Enable Coherence status polling and show the Factory tab. Off by default.`,control:`toggle`,keywords:[`orchestrator`,`intents`,`queue`,`coherence`,`guardrails`],defaultValue:!1},{id:`factory-max-risk`,path:`factory.maxRisk`,title:`Worker risk ceiling`,description:`Highest risk admitted for a ticket.`,control:`select`,defaultValue:`medium`,options:[`low`,`medium`,`high`,`critical`].map(e=>({value:e,label:e})),keywords:[`risk`,`admission`]},{id:`factory-max-live-workers`,path:`factory.maxLiveWorkers`,title:`Live worker cap`,description:`Most live workers per factory project.`,control:`number`,range:`FACTORY_MAX_LIVE_WORKERS_RANGE`,defaultValue:2,keywords:[`workers`,`parallel`]},{id:`factory-checks`,path:`factory.checks`,title:`Worker checks`,description:`Commands glimmervoid runs before merging worker commits.`,control:`list`,defaultValue:[`npm run typecheck`,`npm run lint`,`npm test`],keywords:[`tests`,`checks`]},{id:`factory-protected-paths`,path:`factory.protectedPaths`,title:`Protected paths`,description:`Repo-relative files, directory prefixes ending in /, or **/NAME basenames workers cannot change.`,control:`list`,defaultValue:[`coherence.config.json`,`.coherence/`,`package.json`,`package-lock.json`,`**/AGENTS.md`,`**/CLAUDE.md`,`**/CLAUDE.local.md`,`.claude/`,`.github/`],keywords:[`fence`,`scope`]},{id:`factory-reviewer-model`,path:`factory.reviewerModel`,title:`Reviewer model`,description:`Claude model for independent worker review. Blank uses the CLI default.`,control:`text`,defaultValue:null,nullable:!0,keywords:[`claude`,`review`]},{id:`factory-daily-budget`,path:`factory.dailyBudgetUsd`,title:`Factory daily budget (USD)`,description:`Factory lane spend ceiling. Blank means no ceiling. Needs usage tracking: with it off, dispatch refuses.`,control:`number`,range:`NON_NEGATIVE_NUMBER_RANGE`,integer:!1,nullable:!0,step:.01,defaultValue:null,keywords:[`spend`,`budget`]},{id:`factory-verifier-model`,path:`factory.verifierModel`,title:`Verifier model`,description:`Claude model for independent intent verification. Blank uses the CLI default.`,control:`text`,nullable:!0,defaultValue:null,keywords:[`claude`,`verification`]},{id:`factory-mirror-harness-runs`,path:`factory.mirrorHarnessRuns`,title:`Mirror harness runs`,description:`Show the latest factory harness run as a read-only project in the Factory tab while it runs and for a day after. Needs factory.enabled on; leave it off on a harness instance.`,control:`toggle`,defaultValue:!1,keywords:[`harness`,`test`,`read-only`]}]},{id:`lanes-knowledge-graph`,level:`lanes`,title:`Knowledge graph (experimental)`,description:`A typed local graph of projects, tasks, notes, references and questions, driven from the glimmervoid kg command. Its SQLite database defaults to the Glimmervoid home; --db selects another path.`,settings:[{id:`knowledge-graph-enabled`,path:`knowledgeGraph.enabled`,title:`Enable the knowledge graph`,description:`Allow the glimmervoid kg command. It reads Coherence ledgers to report where your tasks and the agents' tickets disagree, without modifying those ledgers. Graph writes go to the selected SQLite database, which can be inside a repository when --db names that path. Off by default.`,control:`toggle`,keywords:[`experimental`,`kg`,`tasks`,`notes`,`references`,`coherence`],defaultValue:!1}]},{id:`lanes-workflows`,level:`lanes`,title:`Workflows`,description:`Rules that act on pull request events in the repositories you choose.`,settings:[{id:`workflows-enabled`,path:`workflows.enabled`,title:`Run workflows`,description:`Poll the repositories your enabled rules watch and run their actions. Off stops polling and every action, whatever each rule says.`,control:`toggle`,keywords:[`pull requests`,`automation`,`master switch`],defaultValue:!0},{id:`workflows-max-concurrent-sessions`,path:`workflows.maxConcurrentSessions`,title:`Concurrent agent sessions`,description:`Most workflow agent sessions running at once. Up to twenty later spawns wait for a free slot; additional spawns are dropped and logged.`,control:`number`,range:`WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE`,keywords:[`parallel`,`spawn`],defaultValue:2},{id:`workflows-max-actions-per-poll`,path:`workflows.maxActionsPerPoll`,title:`Actions per poll`,description:`Most actions run in one poll. The rest are dropped and logged.`,control:`number`,range:`WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE`,keywords:[`cap`,`rate limit`],defaultValue:20},{id:`workflows-rules`,path:`workflows`,title:`Workflow rules`,description:`Each rule watches repositories for one pull request event (opened, checks-failed, review-requested, approved, commented or merged), narrows it by author, labels, base branch, your own pull requests or a review request to your team, and then notifies you, labels or comments on the pull request, or starts a sandboxed agent session that pushes nothing. Rules start disabled. Turn each rule on or off here; everything else about a rule is set in config.json.`,control:`readonly`,keywords:[`pull requests`,`automation`,`github`,`rules`],fileOnly:!0,status:`workflows`}]},{id:`machine-guardrails`,level:`machine`,title:`Session guardrails`,description:`Claude Code sessions on Linux and macOS write anywhere this account can, except credentials, Glimmervoid's own state and the blocked folders below. Changes apply to sessions started after the change.`,settings:[{id:`guardrails-unguarded-repos`,path:`guardrails.unguardedRepos`,title:`Unguarded repositories`,description:`Folders whose sessions run without guardrails. A session started in one of these folders, or below it, is not guarded. Applies to sessions created after the change.`,control:`list`,keywords:[`guardrails`,`opt out`,`dotfiles`],danger:!0,warning:`A session without guardrails can read credentials and write anywhere this account can.`,defaultValue:[]},{id:`guardrails-blocked-paths`,path:`guardrails.blockedPaths`,title:`Blocked folders`,description:`Extra folders and files a guarded session cannot write, on top of credentials and Glimmervoid's own state. A leading ~ means the home folder.`,control:`list`,keywords:[`guardrails`,`block`,`protect`],defaultValue:[]},{id:`guardrails-unreadable-paths`,path:`guardrails.unreadablePaths`,title:`Unreadable folders`,description:`Extra folders and files a guarded session cannot read, on top of the built-in credential list. A leading ~ means the home folder.`,control:`list`,keywords:[`guardrails`,`secrets`,`credentials`],defaultValue:[]}]},{id:`lanes-unattended`,level:`lanes`,title:`Unattended actions`,description:`Controls that let automated work change repositories or install executable tooling.`,settings:[{id:`skip-permissions-by-default`,path:`skipPermissionsByDefault`,title:`Skip permission prompts by default`,description:`Start sessions whose project sets no permission choice with the agent CLI permission bypass flag.`,control:`toggle`,keywords:[`permissions`,`yolo`,`dangerously`],danger:!0,warning:`Enabling this control lets agents edit files and run shell commands without asking, and restarts running sessions that inherit it.`,defaultValue:!1},{id:`sane-yolo`,path:`saneYolo`,title:`Sane YOLO`,description:`Block catastrophic commands in sessions that skip permission prompts when the cc-safety-net executable is available and trusted hooks are installed. Missing or untrusted hooks leave a session unprotected. Applies to sessions created after the change.`,control:`toggle`,keywords:[`permissions`,`yolo`,`safety`],defaultValue:!0},{id:`branch-gc-delete-unmerged`,path:`branchGc.deleteUnmerged`,title:`Delete unmerged branches`,description:`Also delete stale remote branches with no merge proof. Off keeps every unmerged branch.`,control:`toggle`,keywords:[`git`,`cleanup`,`orphan`],danger:!0,warning:`Enabling this control lets branch cleanup delete stale remote branches without merge proof.`,defaultValue:!1},{id:`post-turn-checks-mode`,path:`postTurnChecks.mode`,title:`Post-turn checks mode`,description:`Default mode for post-turn checks. Project and individual rule modes override it, so Report can still allow file fixes.`,control:`select`,options:WY(LY),keywords:[`quality`,`fixes`],defaultValue:`report`},{id:`agent-api-enabled`,path:`agentApi.enabled`,title:`Agent API`,description:`Expose the per-session agent endpoint to running sessions.`,control:`toggle`,keywords:[`session`,`localhost`],danger:!0,warning:`Enabling this control lets a running session spawn sibling sessions, flag itself and read the board through a per-session token on localhost, and it applies to sessions spawned after the change.`,defaultValue:!1},{id:`rtk-compression`,path:`rtk`,title:`rtk output compression`,description:`Compress Bash output for newly spawned or restarted sessions.`,control:`toggle`,keywords:[`bash`,`tokens`],danger:!0,status:`rtk-install`,warning:`Enabling this control permits Glimmervoid to install the pinned rtk executable automatically.`,defaultValue:!1}]}]);function JY(e){return[e.repos.join(`, `),e.trigger,e.actions.map(e=>e.type).join(`, `)].join(` `)}function YY(e){if(e==null)return[`No rules. Add workflows.rules to config.json.`];let t=yY.safeParse(e);return t.success?t.data.rules.length===0?[`No rules. Add workflows.rules to config.json.`]:t.data.rules.map(e=>[e.name,e.enabled?`enabled`:`disabled`,JY(e)].join(` `)):[`The workflows block is invalid, so no rule runs: ${t.error.issues[0]?.message??`unknown problem`}`]}function XY(e){let t=yY.safeParse(e??{});return t.success?t.data.rules.map(e=>({id:e.id,name:e.name,isEnabled:e.enabled,summary:JY(e)})):[]}function ZY(e){let t=e.workflows;return typeof t!=`object`||!t||Array.isArray(t)?e:{...e,workflows:Object.fromEntries(Object.entries(t).filter(([e])=>e!==`rules`))}}function QY({checked:e=[],stored:t=[],rendered:n=[]}={}){let r=new Set(n),i=[...e];for(let e of t)typeof e==`string`&&e.trim()&&(r.has(e)||i.includes(e)||i.push(e));return i}function $Y(e,t){let n=new Set(e.map(e=>e.id)),r=[...new Set(t)].filter(e=>!n.has(e));return[...e,...r.map(e=>({id:e,name:`Unavailable project (${e})`}))]}function eX(e,t,n){return n?e.some(e=>e.toLowerCase()===t.toLowerCase()):e.includes(t)}var tX=new WeakMap,nX=`Configured`,rX=`•`.repeat(12);function iX(e,t){let n=t.secretSources;if(!n||typeof n!=`object`)return null;let r=n[e.path];return typeof r==`string`?r:null}function aX(e){let t=String(e??``).trim().toLowerCase();if(!t||t===`all`)return`all`;if(t===`none`)return[];let n=t.split(`,`).map(e=>e.trim());return n.every(e=>/^\d+$/.test(e)&&Number.isSafeInteger(Number(e))&&Number(e)>0)?n.map(Number):null}function oX(e){let t=Number(e[`visions.dispatch.maxPerHour`]),n=Number(e[`visions.dispatch.activityMaxPerHour`]);return!Number.isSafeInteger(t)||t<1||!Number.isSafeInteger(n)||n<0?``:`Effective activity limit: ${Math.min(n,t-1)} per hour. One slot is reserved for edit reviews.`}function sX(e){let t=e.rtkInstall;return t?.status===`installing`?`No rtk binary found. Glimmervoid is installing it into ~/.glimmervoid/bin now.`:e.rtkInstallSupported===!1?`No rtk binary found. Automatic installation is unavailable on this server platform; install a compatible binary manually.`:t?.status===`failed`?`No rtk binary found. The last install attempt failed: ${t.reason||`unknown reason`}. A save can retry after the ten-minute failure cooldown; saves during the cooldown skip installation.`:`No rtk binary found. Saving requests installation into ~/.glimmervoid/bin on supported server platforms, subject to installer eligibility.`}function cX(e){return e.control===`password`}function lX(e){return`${e.path}${nX}`}function uX(e){return Array.isArray(e)?e.map(uX):!e||typeof e!=`object`?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,uX(t)]))}function dX(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function fX(e,t){let n=t.split(`.`),r=e;for(let e of n.slice(0,-1)){if(!r||typeof r!=`object`)return;r=r[e]}r&&typeof r==`object`&&delete r[n.at(-1)]}function pX(e,t,n){let r=t.split(`.`),i=e;for(let e of r.slice(0,-1))(!i[e]||typeof i[e]!=`object`||Array.isArray(i[e]))&&(i[e]={}),i=i[e];i[r.at(-1)]=uX(n)}function mX(e){return e.flatMap(e=>e.settings||[])}function hX(e){return e.fileOnly||e.control===`readonly`}function gX(e){return String(e||``).toLowerCase().match(/[a-z0-9]+/g)||[]}var _X=3,vX=2,yX=1,bX=3;function xX(e,t){return e===t?_X:e.startsWith(t)?vX:t.length>=bX&&e.includes(t)?yX:0}function SX(e,t,n){let r=0;for(let n of t){let t=Math.max(0,...e.map(e=>xX(e,n)));if(t===0)return 0;r+=t}return r*n}function CX(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,n)=>CX(e,t[n]));if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.hasOwn(t,n)&&CX(e[n],t[n]))}function wX(e,t){return e.valueKind===`posthog-projects`?Array.isArray(t)?t.length===0?`none`:t.join(`, `):t??`all`:uX(t)}function TX(e,t){if(e.control===`number`){if(e.nullable&&(t==null||String(t).trim()===``))return null;let n=Number(t);return e.zeroIsNull&&n<=0?null:n}if(e.valueKind===`posthog-projects`)return aX(t);if(e.control===`text`||e.control===`password`){let n=String(t??``).trim();return e.nullable&&!n?null:n}return uX(t)}function EX(e){return tX.get(e)||null}function DX(e,t={}){let n={};for(let r of mX(e)){if(hX(r))continue;if(r.path.startsWith(`pref:`)){let e=r.path.slice(5),i=t.prefs?.[e]??t[r.path];n[r.path]=wX(r,i??r.defaultValue);continue}if(cX(r)){let e=dX(t,lX(r))===!0;n[r.path]=e?rX:``;continue}let e=dX(t,r.path);n[r.path]=wX(r,e??r.defaultValue)}return tX.set(n,uX(t)),n}function OX(e,t,n,r,i={}){let{rehydrateSectionIds:a=[]}=i,o=DX(e,t),s=DX(e,t);if(!n||!r)return{original:o,edited:s};let c=new Set(a);for(let t of e)if(!c.has(t.id)&&t.settings.some(e=>!e.path.startsWith(`pref:`)&&!CX(n[e.path],r[e.path])))for(let e of t.settings)o[e.path]=uX(n[e.path]),s[e.path]=uX(r[e.path]);return{original:o,edited:s}}function kX(e,t,n){let r=mX(e).filter(e=>hX(e)||e.path.startsWith(`pref:`)||iX(e,EX(t)||{})||cX(e)&&n[e.path]===rX?!1:!CX(t[e.path],n[e.path]));if(r.length===0)return{};let i=EX(t)||{},a=(Array.isArray(i.projectChoices)?i.projectChoices:[]).map(e=>e.id).filter(e=>typeof e==`string`),o={},s=new Set;for(let e of r){let[r]=e.path.split(`.`);if(!e.path.includes(`.`)){o[r]=TX(e,n[e.path]);continue}if(!s.has(r)){let e=i[r];o[r]=e&&typeof e==`object`&&!Array.isArray(e)?uX(e):{},s.add(r)}let c=TX(e,n[e.path]);if(e.control===`projects`){let n=t[e.path];c=QY({checked:Array.isArray(c)?c:[],stored:Array.isArray(n)?n:[],rendered:$Y(a.map(e=>({id:e,name:e})),Array.isArray(n)?n:[]).map(e=>e.id)})}pX(o,e.path,c)}for(let t of mX(e))cX(t)&&fX(o,lX(t));return delete o.secretSources,o}function AX(e,t){let n=t.integer===!1?`number`:`whole number`;return e.exclusiveMin?`Must be a positive ${n}.`:e.max==null?`Must be a ${n} of at least ${e.min}.`:`Must be a ${n} between ${e.min} and ${e.max}.`}function jX(e,t,n){if(e.nullable&&(t==null||String(t).trim()===``))return null;let r=Number(t),i=n[e.range??``];return i?!Number.isFinite(r)||e.integer!==!1&&!Number.isSafeInteger(r)?AX(i,e):i.exclusiveMin&&r<=i.min?e.zeroIsNull&&r<=0?null:AX(i,e):!i.exclusiveMin&&r<i.min||i.max!=null&&r>i.max?AX(i,e):null:`Allowed range is unavailable.`}function MX(e){return aX(e)===null?`Must be "all", "none", or a comma-separated list of positive safe integer ids without empty entries.`:null}function NX(e,t,n={}){let r={};for(let i of mX(e)){if(hX(i))continue;let e=null;i.control===`number`&&(e=jX(i,t[i.path],n)),i.valueKind===`posthog-projects`&&(e=MX(t[i.path])),i.control===`select`&&!i.options.some(e=>e.value===t[i.path])&&(e=`Choose one of the available options.`),e&&(r[i.id]=e)}return PX(mX(e),t,r),r}function PX(e,t,n){for(let r of e){let i=e.find(e=>e.id===r.maximumSettingId);if(!i||n[r.id]||n[i.id])continue;let a=Number(t[r.path]),o=Number(t[i.path]);a>o&&(n[r.id]=`Minimum must not exceed the maximum (${o}).`,n[i.id]=`Maximum must not be below the minimum (${a}).`)}}function FX(e,t){return mX(e).find(e=>e.id===t.maximumSettingId||e.maximumSettingId===t.id)}function IX(e){let t={browser:[],machine:[],lanes:[],projects:[]};for(let n of e)t[n.level]||(t[n.level]=[]),t[n.level].push(n);return t}function LX(e,t){let n=gX(t);if(n.length===0)return[];let r=[];for(let t of e){let e=gX(t.title);for(let i of t.settings||[]){let a=SX(gX(i.title),n,1e3),o=SX(gX((i.keywords||[]).join(` `)),n,100),s=SX(e,n,10),c=SX(gX(i.description),n,1),l=a+o+s+c;l!==0&&r.push({section:t,setting:i,score:l})}}return r.sort((e,t)=>t.score-e.score||e.section.title.localeCompare(t.section.title)||e.setting.title.localeCompare(t.setting.title)).slice(0,30)}function RX(e,t,n={},r={}){let i=/^#settings\/([^/]+)(?:\/([^/]+))?$/.exec(String(e||``));if(!i)return null;let a,o;try{a=decodeURIComponent(i[1]),o=i[2]?decodeURIComponent(i[2]):null}catch{return null}let s=(o?r[a]?.[o]:void 0)||n[a]||a,c=t.find(e=>e.id===s);if(!c)return null;let l=o?(c.settings||[]).find(e=>e.id===o):null;return o&&!l?null:{sectionId:s,settingId:l?.id||null,hash:`#settings/${s}${l?`/${l.id}`:``}`}}function zX(e){let t=`lanes-unattended`,n=e.find(e=>e.id===t);if(!n)return[...e];let r=e.filter(e=>e.id!==t),i=r.findLastIndex(e=>e.level===`lanes`);return r.splice(i+1,0,n),r}function BX(e,t,n){return{id:`project-${e}-${t}`,projectId:e,...n}}function VX(e){return String(e||``).replace(/\s+\(\d+\)$/,``)}function HX(e){return String(e||``).replace(/[\\/]+$/,``).split(/[\\/]/).at(-1)||``}function UX(e){return HX(e?.path)||VX(e?.name)||e?.id}function WX(e=[]){return e.filter(e=>typeof e?.id==`string`&&e.id).map(e=>({id:`project-${e.id}`,level:`projects`,title:UX(e),description:`Settings scoped to this configured project.`,caption:(e.recordNames?.length??0)>1?`Cards: ${e.recordNames?.join(`, `)}`:``,project:e,settings:[BX(e.id,`agent`,{path:`project:${e.id}:agent`,title:`Agent`,description:`Agent configured for this project.`,control:`readonly`,keywords:[`cli`,`runtime`],value:e.agent||`Not available in the current dashboard payload`}),BX(e.id,`permission-mode`,{path:`project:${e.id}:permission-mode`,title:`Default permission mode`,description:`Permission mode used for newly spawned sessions.`,control:`readonly`,keywords:[`approval`,`sandbox`],value:e.permissionMode||`Not available in the current dashboard payload`}),BX(e.id,`codex-hook-trust`,{path:`projects.${e.id}.codexBypassHookTrust`,title:`Codex hook trust bypass`,description:`Configured only on this project record.`,control:`readonly`,keywords:[`hooks`,`codex`],fileOnly:!0})]}))}function GX(e=[]){let t=new Set;return e.filter(e=>typeof e?.id!=`string`||!e.id?!1:!e.path||!t.has(e.path)&&(t.add(e.path),!0))}function KX(e=[],t=[]){let n=new Map(t.filter(e=>typeof e?.id==`string`&&e.id).map(e=>[e.id,e]));return e.map(e=>{let r=n.get(e?.id),i=e?.path||r?.path,a=t.filter(e=>i&&e?.path===i).map(e=>e?.name).filter(e=>typeof e==`string`&&e!==``);return{...r,...e,path:i,recordNames:[...new Set(a)]}})}function qX(e,t){return e.danger===!0&&!!e.warning&&t===!0}function JX(e,t){return e.find(e=>e.id===t)||e[0]||null}var YX={ready:{label:`Ready`,meaning:`Ready to merge, or nothing left for you to do.`},passed:{label:`Passed`,meaning:`Checks passing, approved, or nothing open.`},failed:{label:`Failed`,meaning:`Checks failing, an automated review failed, or an auto-rebase failed.`},conflict:{label:`Conflict`,meaning:`Merge conflicts with the base branch.`},"your-turn":{label:`Your turn`,meaning:`Waiting on you: a review to give or a thread to answer.`},"changes-requested":{label:`Changes`,meaning:`A reviewer requested changes.`},thread:{label:`Threads`,meaning:`Unresolved review threads or comments.`},behind:{label:`Behind`,meaning:`The branch is behind its base.`},stale:{label:`Out of date`,meaning:`New commits landed since the automated review.`},fork:{label:`Fork`,meaning:`Opened from a fork, so it is reviewed by hand.`},running:{label:`Running`,meaning:`Checks or an automated review in progress.`},reviewer:{label:`Reviewer`,meaning:`Waiting on a reviewer.`},queued:{label:`Queued`,meaning:`Waiting for an automated review slot.`},draft:{label:`Draft`,meaning:`Still a draft.`},merged:{label:`Merged`,meaning:`Merged.`},discarded:{label:`Discarded`,meaning:`Review discarded or dismissed.`},unknown:{label:`Unknown`,meaning:`GitHub has not computed this yet.`},none:{label:`None`,meaning:`Nothing applies, such as no checks or no review requested.`}},XX={merged:`M5.45 5.154A4.25 4.25 0 0 0 9.25 7.5h1.378a2.251 2.251 0 1 1 0 1.5H9.25A5.734 5.734 0 0 1 5 7.123v3.505a2.25 2.25 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.95-.218ZM4.25 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm8.5-4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 3.25a.75.75 0 1 0 0 .005V3.25Z`,draft:`M3.25 1A2.25 2.25 0 0 1 4 5.372v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.251 2.251 0 0 1 3.25 1Zm9.5 14a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM2.5 3.25a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM3.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm9.5 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM14 7.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm0-4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z`,conflict:`M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,behind:`M13.03 8.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.47 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.97 2.97V3.75a.75.75 0 0 1 1.5 0v7.44l2.97-2.97a.75.75 0 0 1 1.06 0Z`,failed:`M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z`,running:`M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z`,passed:`M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z`,ready:`M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.78-9.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018L6.75 9.19 5.28 7.72a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l2 2a.75.75 0 0 0 1.06 0Z`,"changes-requested":`M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z`,thread:`M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z`,reviewer:`M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z`,"your-turn":`M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z`,queued:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7-3.25v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5a.75.75 0 0 1 1.5 0Z`,fork:`M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z`,discarded:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z`,stale:`M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z`,unknown:`M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,none:`M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z`};function ZX(e,t){let n=KL(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(GL(`path`,{d:XX[e],fill:`currentColor`})),n}var QX=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:Ls[e],meaning:t}),$X=Object.freeze([QX(F.DORMANT,`Not started yet.`),QX(F.INITIALIZING,`Setting up the worktree and launching the agent.`),QX(F.STARTING,`The agent is booting.`),QX(F.RUNNING,`The agent is mid-turn.`),QX(F.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),QX(F.WAITING,`Waiting on a permission prompt or your answer.`),QX(F.IDLE,`Ready for the next prompt.`),QX(F.COMPLETE,`Finished a turn you have not looked at yet.`),QX(F.DONE,`The agent process ended.`),QX(F.FAILED,`The agent failed to start or crashed.`)]);function eZ(e,t){let n=V(`section`,`status-legend`),r=V(`dl`,`status-legend-rows`);return r.append(...t),n.append(V(`h2`,`status-legend-title`,e),r),n}function tZ(e,t){let n=V(`div`,`status-legend-row`);return n.append(e,V(`dd`,`status-legend-meaning`,t)),n}function nZ(){return eZ(`Status colors`,$X.map(e=>{let t=V(`dt`,`status-legend-badge`),n=V(`span`,`status-legend-glyph`),r=V(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=tZ(t,e.meaning);return oU(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function rZ(){return eZ(`Pull request icons`,Object.keys(YX).map(e=>{let t=YX[e],n=V(`dt`,`status-legend-badge`);return n.append(ZX(e),V(`span`,`status-legend-name`,t.label)),tZ(n,t.meaning)}))}var iZ=2e4,Z=null,aZ=null,oZ=null,sZ=null,cZ=null,lZ=null,uZ=null,dZ=`all`,fZ=!1,pZ=null,mZ=wM,hZ=CM,gZ=SM,_Z=!1,vZ=null,yZ=`day`,bZ=new Set,xZ=gk({getAck:$D,setAck:eO,signature:()=>kae(Z,oZ),isLooking:()=>!Ud(sZ)}),SZ=null,CZ=null,wZ=null,TZ=null,EZ=null,DZ=null,OZ=null,kZ=null,AZ=QP(()=>sZ),jZ=(e,t)=>Bd(`usage`,e,t);function MZ(e,t,n,r){let i=V(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=V(`span`,`usage-tile-value`,t);i.append(a,V(`span`,`usage-tile-label`,e));let o=n?V(`span`,`usage-tile-sub`,n):null;return o&&i.append(o),{tile:i,valueEl:a,subEl:o}}function NZ(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function PZ(e,t,n){let r=V(`div`,`usage-meter`);r.dataset.tone=String(t),r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-label`,n);let i=V(`span`,`usage-meter-fill`);return r.append(i),FZ(r,e),r}function FZ(e,t){if(!e)return;let n=NZ(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function IZ(e,t,n,r){let i=V(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=V(`table`,`usage-table`),o=V(`thead`),s=V(`tr`);for(let i of e){let e=V(`th`,i.numeric?`usage-num`:null);if(e.scope=`col`,!i.key){e.textContent=i.label,s.append(e);continue}let a=i.key;e.setAttribute(`aria-sort`,Uae(t,a));let o=V(`button`,`usage-sort`,i.label);o.type=`button`,o.dataset.sortKey=a,o.addEventListener(`click`,()=>{vZ={kind:`sort`,table:r,key:a},n(a)}),e.append(o),s.append(e)}o.append(s);let c=V(`tbody`);return a.append(o,c),i.append(a),{wrap:i,body:c}}function LZ(e,t){for(let n of t){let t=V(`td`,n.numeric?`usage-num`:n.className||null,n.node?null:n.text);n.node&&t.append(n.node),n.title&&(t.title=n.title),n.span&&(t.colSpan=n.span),e.append(t)}}function RZ(e){let t=V(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(V(`span`,`usage-share-text`,Oj(e))),t;let n=V(`span`,`usage-share-bar`),r=V(`span`,`usage-share-fill`);return r.style.width=`${NZ(e)}%`,n.append(r),t.append(n,V(`span`,`usage-share-text`,Oj(e))),t}function zZ(){if(!SZ?.isConnected)return;let e=Number(Z?.ts);SZ.textContent=Number.isFinite(e)&&e>0?`Report ${XP(e)}`:``}function BZ(){if(!CZ?.isConnected)return;let e=Number(aZ?.ts);CZ.textContent=Number.isFinite(e)&&e>0?`Sessions ${XP(e)}`:``}function VZ(){let e=Ij(Z?.activeBlock);e&&(TZ?.isConnected&&(TZ.textContent=`${e.pct}%`),EZ?.isConnected&&(EZ.textContent=`${Fj(e.remainingMinutes)} left`),DZ?.isConnected&&FZ(DZ,e.pct))}function HZ(e){let t=bj.find(t=>t.value===e);return t?t.days:null}function UZ(){let e=V(`div`,`usage-controls`),t=V(`label`,`usage-control`);t.append(V(`span`,`usage-control-label`,`Range`));let n=V(`select`,`usage-select`);for(let e of bj){let t=V(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=dZ,n.addEventListener(`change`,()=>{dZ=n.value,EQ()}),t.append(n);let r=V(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>EQ({force:!0}));let i=V(`span`,`usage-refresh-status`,``);return OZ=r,kZ=i,SQ(),e.append(t,r,i),e}function WZ(){let e=jZ(`Usage`,Nie(Z?.daily||[]));e.append(UZ()),SZ=V(`p`,`usage-meta`,``),e.append(SZ),zZ(),AZ.onTick(zZ);let t=zae(Z);t&&e.append(V(`p`,`usage-warning`,t));let n=Iae(Z?.pricing?.missing);return n&&e.append(V(`p`,`usage-warning`,n)),e}function GZ(){if(!Dae(oZ))return null;let e=sM(Z?.totals),t=jZ(`Plan limits`,e?`${uM(`official`)}, ${e}`:uM(`official`)),n=Nae(oZ?.ts);if(n){let e=V(`p`,`usage-meta`,n);e.dataset.tone=`warn`,t.append(e)}let r=V(`div`,`usage-plan`);for(let e of cM){let t=lM(oZ,e.key);t&&r.append(KZ(e,t))}return t.append(r),wZ=V(`p`,`usage-meta`,``),t.append(wZ),qZ(),AZ.onTick(qZ),t}function KZ(e,t){let n=V(`div`,`usage-plan-window`),r=V(`div`,`usage-plan-head`);r.append(V(`span`,`usage-plan-label`,e.label)),r.append(V(`span`,`usage-plan-used`,Aae(t)));let i=V(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(PZ(t.pct,Lj(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=jae(t.resetsAtMs))};return a(),AZ.onTick(a),n}function qZ(){if(!wZ?.isConnected)return;let e=fM(oZ?.ts);wZ.textContent=e?`Plan ${e}`:``}function JZ(){let e=Yie(Z,oZ),t=YZ();if(e.length===0&&!t)return null;let n=jZ(`Glimmervoid overhead`,e.length>0?Wie:null);if(e.length>0){let t=V(`div`,`usage-tiles`);for(let n of e){let e=[Xie(n),Ej(n.costUSD)].filter(Boolean).join(`, `);t.append(MZ(`${n.label}, share of Claude use`,Oj(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=Zie(t);e&&n.append(V(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(V(`p`,`usage-meta`,`Selected range by lane. ${Uie}`)),n.append(t)),n}function YZ(){if(!Gie(Z))return null;let e=Uj(Z),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=IZ([{label:`Lane`},{label:`Cost`,numeric:!0},{label:`Tokens`,numeric:!0},{label:`Sessions`,numeric:!0},{label:`Share`,numeric:!0}],null,()=>{},`lane`);for(let n of e){let e=V(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),LZ(e,[{text:Hj(n.lane),className:`usage-lane-cell`},{text:Ej(n.costUSD),numeric:!0},{text:Dj(n.tokens),numeric:!0},{text:Kj(n.sessions),numeric:!0},{node:RZ(jj(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function XZ(){let e=Z?.activeBlock,t=Z?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=sM(Z?.totals),i=jZ(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(V(`p`,`usage-empty`,`No active block.`));let e=ZZ();return e&&i.append(e),i}let a=dM(Z,oZ),o=V(`div`,`usage-tiles`);o.append(MZ(`block tokens`,Dj(e.tokens??0),Ej(e.costUSD??0),a).tile);for(let t of Lie(e.burn))o.append(MZ(t.label,t.value,t.sub,a).tile);let s=Ij(e);if(s){let e=MZ(`elapsed`,`${s.pct}%`,`${Fj(s.remainingMinutes)} left`);TZ=e.valueEl,EZ=e.subEl,o.append(e.tile)}i.append(o),s&&(DZ=PZ(s.pct,`ok`,`Elapsed share of the current block window`),i.append(DZ),AZ.onTick(VZ));let c=Rie(e.projection);if(c){let e=V(`p`,`usage-projection`,c);e.dataset.tone=a,i.append(e)}let l=ZZ();l&&i.append(l);let u=zie(Z?.tokenLimit);if(!u)return i;let d=zj(Z?.tokenLimit),f=dM(Z);i.append(PZ(d,f,`Share of the largest completed block seen, estimated`));let p=V(`p`,`usage-meta`,u);p.dataset.tone=f,i.append(p),i.append(V(`p`,`usage-provenance`,uM(`estimated`)));let m=Bie(e.projection,Z?.tokenLimit);if(m){let e=V(`p`,`usage-meta`,m);e.dataset.tone=f,i.append(e)}return i}function ZZ(){let e=Z?.anomaly;if(!Sae(e))return null;let t=V(`p`,`usage-meta`,bae(e));return t.dataset.tone=xae(e),t}function QZ(){let e=Yae(Z?.blocks);if(e.length===0)return null;let t=sM(Z?.totals),n=jZ(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=V(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=V(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(V(`span`,`usage-block-label`,Iie(t.startTs)));let n=V(`span`,`usage-block-bar`),a=V(`span`,`usage-block-fill`);a.style.width=`${NZ(jj(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(V(`span`,`usage-block-value`,`${Dj(t.tokens)} ${Ej(t.costUSD)}`)),r.append(e)}return n.append(r),n}function $Z(){let e=Z?.totals||{},t=Jae(Z?.daily,Nj(Z)),n=jZ(`Totals`,[kie,Z?.tz?`TZ ${Z.tz}`:``].filter(Boolean).join(` `)),r=dM(Z,oZ),i=V(`div`,`usage-tiles`);i.append(MZ(`today`,Dj(t?.tokens??0),Ej(t?.costUSD??0),r).tile),i.append(MZ(`range total`,Dj(e.tokens??0),Ej(e.costUSD??0)).tile);let a=Qie(Z);a&&i.append(MZ(a.label,a.value,a.sub).tile),n.append(i);let o=eQ(e);o&&n.append(o);let s=oM(e)?wae(e):[];if(s.length>0){let e=V(`div`,`usage-tiles usage-vendor-tiles`);for(let t of s)e.append(MZ(t.label,Dj(t.tokens),Ej(t.costUSD)).tile);n.append(e)}return CZ=V(`p`,`usage-meta`,``),n.append(CZ),BZ(),AZ.onTick(BZ),n}function eQ(e){let t=Hie(e);if(t.length===0)return null;let n=V(`div`,`usage-compo`),r=V(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=V(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=V(`div`,`usage-compo-legend`);for(let e of t){let t=V(`span`,`usage-compo-item`),n=V(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,V(`span`,`usage-compo-label`,e.label),V(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function tQ(){let e=Z?.savings;if(!$ie(e))return null;let t=jZ(`Savings`,``),n=V(`div`,`usage-tiles`),r=eae(e);r&&n.append(MZ(`rtk compression`,r.value,r.sub).tile);let i=tae(e);return i&&n.append(MZ(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function nQ(){let e=Yj(Z);if(e.length===0)return null;let t=jZ(`Budgets`,`your own ceilings`),n=V(`div`,`usage-budgets`),r=mW(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=V(`div`,`usage-budget`),r=V(`div`,`usage-budget-head`);r.append(V(`span`,`usage-budget-label`,Xj(t.scope))),r.append(V(`span`,`usage-budget-value`,nae(t))),r.append(V(`span`,`usage-budget-pct`,Oj(Zj(t)))),e.append(r),e.append(PZ(Zj(t),t.tone,rae(t))),n.append(e)}return t.append(n),t}function rQ(){let e=Z?.daily||[],t=yZ,n=qae(uae(e,t),mZ),r=Qj.find(e=>e.value===t)?.label||`Day`,i=jZ(`Over time`,[pae(e)].filter(Boolean).join(`, `));if(i.append(iQ()),n.length===0)return i.append(V(`p`,`usage-empty`,`No usage.`)),i;let a=oQ(e);a&&i.append(a);let{wrap:o,body:s}=IZ([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],mZ,e=>{mZ=xM(mZ,e),hQ()},`day`);for(let e of n){let n=String(e.day??``),r=V(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=TM(e.models),a=`${t}:${n}`,o=sQ(a,i.length);LZ(r,[{node:aQ(e,t),title:n},{text:Dj(e.tokens),numeric:!0},{text:Ej(e.costUSD),numeric:!0},{node:o,className:`usage-toggle-cell`}]),s.append(r),i.length!==0&&bZ.has(a)&&s.append(cQ(i))}return i.append(o),i}function iQ(){let e=V(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of Qj){let n=V(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===yZ?`true`:`false`),n.addEventListener(`click`,()=>{yZ!==t.value&&(yZ=t.value,vZ={kind:`period`,view:t.value},hQ())}),e.append(n)}return e}function aQ(e,t){let n=V(`span`,`usage-period-cell`);return n.append(V(`span`,null,fae(e.day,t))),e.source===`history`&&n.append(V(`span`,`usage-history-tag`,`history`)),n}function oQ(e){let{cells:t,max:n}=gae(e,{today:Nj(Z)});if(t.length===0||n<=0)return null;let r=V(`div`,`usage-heatmap-scroll`),i=V(`div`,`usage-heatmap`);i.setAttribute(`role`,`img`),i.setAttribute(`aria-label`,`Daily usage for the trailing ${Math.max(...t.map(e=>e.week))+1} weeks`);let a=V(`div`,`usage-heatmap-days`);for(let e of mae)a.append(V(`span`,`usage-heatmap-day`,e));for(let e of t){let t=V(`span`,`usage-heatmap-cell`);t.dataset.tone=String(e.tone),e.noData&&(t.dataset.noData=`true`),e.source===`history`&&(t.dataset.source=`history`),t.style.gridColumn=String(e.week+1),t.style.gridRow=String(e.weekday+1),t.title=_ae(e),i.append(t)}return r.append(a,i),r}function sQ(e,t){if(t===0)return null;let n=V(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,bZ.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{if(vZ={kind:`day`,day:e},bZ.has(e)){bZ.delete(e),hQ();return}bZ.add(e),hQ()}),n}function cQ(e){let t=V(`tr`,`usage-row-breakdown`),n=V(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=V(`span`,`usage-model-chip`);e.append(V(`span`,`usage-model-name`,_M(t)),V(`span`,`usage-model-value`,`${Dj(t.tokens)} ${Ej(t.costUSD)}`)),n.append(e)}return t.append(n),t}function lQ(e,t){let n=V(`span`,`usage-model-name-wrap`),r=Cae(e,t);return r&&n.append(V(`span`,`usage-vendor-tag`,r)),n.append(V(`span`,null,_M(e))),n}function uQ(){let e=TM(Z?.models,hZ),t=Z?.totals||{},n=kj(t),r=jZ(`By model`,Aj(n));if(e.length===0)return r.append(V(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=IZ([{label:`Model`,key:`model`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Input`,numeric:!0,key:`input`},{label:`Output`,numeric:!0,key:`output`},{label:`Cache write`,numeric:!0,key:`cacheCreate`},{label:`Cache read`,numeric:!0,key:`cacheRead`}],hZ,e=>{hZ=xM(hZ,e),hQ()},`model`);for(let r of e){let e=V(`tr`,`usage-row`);LZ(e,[{node:lQ(r,t),className:`usage-model-cell`,title:_M(r)},{text:Dj(r.tokens),numeric:!0},{text:Ej(r.costUSD),numeric:!0},{node:RZ(jj(r[n],t[n])),className:`usage-share-cell`},{text:Dj(r.input),numeric:!0},{text:Dj(r.output),numeric:!0},{text:Dj(r.cacheCreate),numeric:!0},{text:Dj(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function dQ(){let e=Wae(Z?.sessions,gZ),t=Gae(e,_Z),n=Z?.totals||{},r=kj(n),i=jZ(`By session`,Aj(r));if(e.length===0)return i.append(V(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:o}=IZ([{label:`Session`,key:`label`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Last activity`,numeric:!0,key:`lastTs`}],gZ,e=>{gZ=xM(gZ,e),hQ()},`session`);for(let e of t.rows){let t=V(`tr`,`usage-row`);hM(e)&&(t.dataset.managed=`true`);let i=gM(e),a=V(`span`,`usage-ago`,``);LZ(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:Dj(e.tokens),numeric:!0},{text:Ej(e.costUSD),numeric:!0},{node:RZ(jj(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),AZ.track(a,Number(e.lastTs),XP),o.append(t)}return i.append(a),e.length>10&&i.append(fQ(t.hiddenCount)),i}function fQ(e){let t=V(`div`,`usage-overflow`),n=Kae(e);n&&t.append(V(`p`,`usage-meta`,n));let r=V(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,_Z?`true`:`false`),r.addEventListener(`click`,()=>{vZ={kind:`sessions-toggle`},_Z=!_Z,hQ()}),t.append(r),t}function pQ(){let e=jZ(`Not available`,``);return e.append(V(`p`,`usage-empty`,pM(Z))),e.append(V(`p`,`usage-empty`,Aie)),e}function mQ(){SZ=null,CZ=null,wZ=null,TZ=null,EZ=null,DZ=null,OZ=null,kZ=null}function hQ({force:e=!1}={}){if(!sZ||!e&&Ud(sZ))return;let t=sZ.parentElement,n=t?t.scrollTop:0;AZ.reset(),mQ(),sZ.textContent=``,vQ(),t&&(t.scrollTop=n),gQ()}function gQ(){let e=vZ;if(vZ=null,!e)return;let t=_Q(e);if(!t||!sZ)return;let n=sZ.querySelector(t);n instanceof HTMLElement&&n.focus()}function _Q(e){return e.kind===`day`?`.usage-toggle[data-usage-day="${CSS.escape(e.day)}"]`:e.kind===`period`?`.usage-period-button[data-period-view="${CSS.escape(e.view)}"]`:e.kind===`sessions-toggle`?`.usage-toggle[data-usage-sessions-toggle="true"]`:e.kind===`sort`?`[data-usage-table="${CSS.escape(e.table)}"] .usage-sort[data-sort-key="${CSS.escape(e.key)}"]`:null}function vQ(){if(!sZ)return;sZ.append(WZ());let e=GZ();if(mM(Z)){e&&sZ.append(e),sZ.append(pQ());return}if(!Z){e&&sZ.append(e),sZ.append(V(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,nQ()].filter(e=>e!==null);sZ.append(yQ(`usage-band-now`,XZ(),t,{sideFirst:!0}));let n=[tQ()].filter(e=>e!==null);sZ.append(yQ(`usage-band-spend`,$Z(),n));let r=[QZ()].filter(e=>e!==null);sZ.append(yQ(`usage-band-trend`,rQ(),r));let i=JZ();i&&sZ.append(i),sZ.append(uQ(),dQ())}function yQ(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=V(`div`,`usage-band ${e}`),a=V(`div`,`usage-band-col`);for(let e of n)a.append(e);return r?(i.append(a,t),i):(i.append(t,a),i)}function bQ(){cZ&&cZ(xZ.refresh())}function xQ(){xZ.acknowledge(),bQ()}function SQ(){OZ&&(OZ.disabled=fZ),kZ&&(kZ.textContent=fZ?`Refreshing`:``)}function CQ(e){fZ=e,SQ(),pZ&&=(clearTimeout(pZ),null),e&&(pZ=setTimeout(()=>{pZ=null,fZ=!1,SQ()},iZ))}function wQ(e){cZ=e,bQ()}function TQ(e){lZ=e}function EQ({force:e=!1}={}){if(!lZ)return;uZ=Sd(`usage`);let t={type:`request-usage-report`,requestId:uZ};e&&(t.force=!0);let n=HZ(dZ);n!==null&&(t.days=n),CQ(!0),lZ(t)}function DQ(e){if(sZ)return sZ;let t=V(`div`,`usage-content`);return e.appendChild(t),sZ=t,AZ.ensure(),hQ({force:!0}),t}function OQ(){hQ({force:!0})}function kQ(e){if(aZ=e,Z&&!mM(Z)&&CZ?.isConnected){BZ();return}hQ()}function AQ(e){oZ=e,hQ(),bQ()}function jQ(e){Bae(e,uZ)&&(CQ(!1),Z=e,hQ(),bQ())}function MQ(){let e=Z?.pricing||(aZ?{source:aZ.pricingSource}:null),t=Fae(e?.fetchedAt),n=[Pae(e,t!==null&&t>0?XP(t):``)],r=pM(Z);r&&n.push(r);let i=Rae(Z?.scan);return i&&n.push(i),n}var NQ=null,PQ=new Set;function FQ(){NQ?.setAttribute(`aria-pressed`,String(!pD()))}function IQ(e){mD(e),FQ();for(let t of PQ)t(e)}function LQ(e){PQ.add(e)}function RQ(e){NQ=e,FQ(),e.addEventListener(`click`,()=>IQ(!pD()))}var zQ=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),BQ=Object.freeze({"branch-count-unavailable":`The last check could not compare the checked-out branch with its upstream.`,"branch-diverged":`The checked-out branch has diverged from its upstream.`,"fetch-failed":`The last update check could not fetch the upstream branch.`,"main-channel-requires-clone":`The main channel requires a clone install.`,"no-branch":`The last update check found no checked-out branch.`,"no-upstream":`The checked-out branch has no upstream.`,"release-already-checked-out":`The checkout already contains the latest release. Restart to run it.`,"release-check-failed":`The last release check failed.`,"remote-tip-unavailable":`The last update check could not resolve the upstream branch tip.`,"update-check-failed":`The last update check failed.`}),VQ=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),HQ=`Not connected to the server. Reconnecting.`,UQ=Object.freeze({requested:!1,failure:null});function WQ(e,t){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:HQ}:t===`progress-frame`?UQ:t===`error-frame`?e.requested?UQ:e:e.failure===null?e:{requested:e.requested,failure:null}}function GQ(e,t){return t?.state?t.state:e?.journalSummary?.state}function KQ(e){return{enabled:!1,reason:e}}function qQ(){return{enabled:!0,reason:null}}function JQ({status:e,journal:t,request:n=UQ}){let r=GQ(e,t)===`running`||n.requested,i=r?KQ(`Wait for update staging to finish.`):qQ();if(n.failure)return{update:KQ(n.failure),restart:i};if(r)return{update:KQ(`Wait for the current update to finish.`),restart:i};if(!e)return{update:KQ(`Update status unavailable. Check for updates.`),restart:i};let a=e.applyRefusal;return a?{update:KQ(a.message),restart:i}:{update:qQ(),restart:i}}function YQ(e){let t=e?.applyRefusal;return t===void 0?`command`:t===null?`link`:VQ.includes(t.reason)?`command`:`link`}function XQ(e){let t=pk(e,``);return t?`: ${t}`:``}function ZQ(e){return e.state===`staged`?`Update staged. Restart to hand it off${XQ(e.reason)}.`:e.state===`succeeded`?`Update succeeded at restart${XQ(e.reason)}.`:e.state===`failed`?`Update failed${XQ(e.reason)}.`:e.state===`discarded`?`Update discarded${XQ(e.reason)}.`:e.state===`interrupted`?`Update interrupted${XQ(e.reason)}.`:null}function QQ(e){return zQ[e]??e}function $Q(e){let t=e.steps.find(t=>t.id===e.activeStep);if(t&&t.outputTail.length>0)return{stepId:t.id,lines:t.outputTail};let n=e.steps.findLast(e=>e.outputTail.length>0);return n?{stepId:n.id,lines:n.outputTail}:{stepId:null,lines:[]}}function e$(e){if(!e||e.state===`idle`)return null;let t=$Q(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:ZQ(e),steps:e.steps.map(e=>({id:e.id,label:QQ(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:QQ(n)}}var t$=6e5;function n$(e){return e.channel!==`main`||!Number.isInteger(e.behindCount)?``:`${e.behindCount} ${e.behindCount===1?`commit`:`commits`} behind`}function r$(e,t){let n=GQ(e,t),r=sA(t?.toVersion,t?.toSha)||sA(e?.latest,e?.latestSha)||`the update`;if(n===`running`)return{tone:`running`,headline:`Updating to ${r}. Glimmervoid keeps running until the restart.`};if(n===`staged`)return{tone:`staged`,headline:`${r} is staged. Restart to finish updating.`};if(!e)return{tone:`unknown`,headline:`No update check has run yet.`};let i=sA(e.current,e.currentSha)||`an unknown version`;if(e.updateAvailable){let t=sA(e.latest,e.latestSha)||`a newer build`,n=n$(e);return{tone:`available`,headline:`Update available: ${i} to ${t}${n?` (${n})`:``}.`}}return pk(e.reason,``)?{tone:`unknown`,headline:`Running ${i}. The last check did not finish.`}:{tone:`current`,headline:`Up to date. Running ${i}.`}}function i$(e){if(!e)return`Update status unavailable.`;let t=sA(e.current,null)||`Unknown version`,n=el(e.currentSha,{validate:!0}),r=pk(e.installedBranch,``);return[t,[n?`commit ${n}`:``,r?`on ${r}`:``].filter(Boolean).join(` `),e.isTreeClean===!0?`clean checkout`:e.isTreeClean===!1?`uncommitted local changes`:``].filter(Boolean).join(`, `)}function a$(e){return e?{label:sA(e.latest,e.latestSha)||`Latest target unknown`,behind:n$(e),releaseUrl:pk(e.releaseUrl,``)}:{label:`Update status unavailable.`,behind:``,releaseUrl:``}}function o$({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<t$)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=t$}function s$({status:e,checkForUpdates:t,relativeTime:n}){if(t===!1)return`Update checks are off.`;if(!e)return`No update check has run.`;let r=pk(e.reason,``);return r?BQ[r]??`The last update check failed: ${r}.`:e.flavor===`unknown`?`The install flavor is unknown.`:n}var c$=NE,l$=Object.freeze({sounds:()=>Cb(),themes:Gb});function u$(e){if(!e.optionsFrom)return e;let t=l$[e.optionsFrom]?.()??[];return{...e,options:t.map(e=>({value:e.id,label:e.label}))}}function d$(){return Object.freeze(qY.map(e=>({...e,settings:e.settings.map(u$)})))}var f$=d$(),p$=zX(f$),m$=Object.freeze({browser:`This browser`,machine:`Machine`,lanes:`Lanes`,projects:`Projects`}),h$=!1,g$=null,_$=null,v$=null,y$=null,b$=null,x$=null,S$=null,C$=null,w$=null,T$=null,E$=null,Q=p$[0],D$={},O$=[],k$=[],A$=new Map,j$=null,M$=null,N$=``,P$=``,F$=null,I$=null,L$=null,R$=null,z$=UQ,B$=()=>{},V$=e=>{e([])},H$=null,U$=!1,W$=!1,G$=null,K$=new Set,q$=new Map;function J$(){return{themeId:CD(),flyingAnimalsEnabled:TD(),...hO(),soundEnabled:pD(),soundId:wb(hD()),notificationsEnabled:_D(),compactStatusLabels:yD(),sessionUsageChips:xD()}}function Y$(e){let t={...e,prefs:J$()};j$=DX(p$,t),M$=DX(p$,t)}function X$(e){return e.control===`readonly`?e.value:M$?.[e.path]??e.defaultValue}function hoe(e){return e.settings.some(e=>!e.path.startsWith(`pref:`)&&JSON.stringify(j$?.[e.path])!==JSON.stringify(M$?.[e.path]))}function Z$(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function Q$(e,t=null){history.replaceState(history.state,``,Z$(e,t))}function $$(e){requestAnimationFrame(()=>{let t=document.getElementById(e),n=t?.closest(`.settings-view-advanced-panel`);n&&(h$=!0,n.hidden=!1,E$?.querySelector(`.settings-view-advanced-toggle`)?.setAttribute(`aria-expanded`,`true`));let r=t?.closest(`.settings-view-setting`);r&&(r.scrollIntoView({block:`center`}),r.classList.remove(`settings-view-setting-flash`),requestAnimationFrame(()=>r.classList.add(`settings-view-setting-flash`)))})}function e1(){let e=WX(k$);p$=zX([...f$,...e]),Q=JX(p$,Q?.id)??Q}function t1(e){let t=Array.isArray(e)?e:[];for(let e of t)typeof e?.id==`string`&&e.id&&A$.set(e.id,{...A$.get(e.id),...e});k$=KX(GX(O$),[...A$.values()])}function n1(e){for(let t of Tre(ob)){let n=V(`div`,`shortcut-group`);n.appendChild(V(`div`,`shortcut-group-title`,t.title));let r=V(`dl`,`shortcut-rows`);for(let e of t.items){let t=V(`dt`,`shortcut-keys`);e.combos.forEach((e,n)=>{n>0&&t.appendChild(V(`span`,`shortcut-sep`,`/`)),lb(t,e)}),r.append(t,V(`dd`,`shortcut-label`,e.label))}n.appendChild(r),e.appendChild(n)}}function r1(e){let t=V(`div`,`settings-about`),n=V(`span`,`settings-about-version`,`GLIMMERVOID `);n.appendChild(V(`span`,`settings-about-v`,`v0.34.1`));let r=V(`span`,`settings-about-links`),i=V(`a`,`settings-about-link`,`GitHub`);i.href=`https://github.com/${$J}`,i.target=`_blank`,i.rel=`noopener`;let a=V(`a`,`settings-about-link`,`Changelog`);a.href=`https://github.com/${$J}/blob/main/CHANGELOG.md`,a.target=`_blank`,a.rel=`noopener`,r.append(i,a),t.append(n,r),e.appendChild(t)}function i1(e){M$&&M$[`pref:soundEnabled`]!==e&&(M$[`pref:soundEnabled`]=e,j$&&(j$[`pref:soundEnabled`]=e),X1())}function a1(){for(let[e,t]of Object.entries(hO()))j$&&(j$[`pref:${e}`]=t),M$&&(M$[`pref:${e}`]=t)}var o1={"pref:flyingAnimalsMinGapSeconds":e=>sO(Number(e)),"pref:flyingAnimalsMaxGapSeconds":e=>cO(Number(e)),"pref:flyingAnimalsMinDurationSeconds":e=>lO(Number(e)),"pref:flyingAnimalsMaxDurationSeconds":e=>uO(Number(e)),"pref:flyingAnimalsScale":e=>dO(Number(e)),"pref:flyingAnimalsOnPhone":e=>fO(e===!0)};function s1(e,t){if(e.path===`pref:compactStatusLabels`){bD(t===!0),Hb(t===!0);return}if(e.path===`pref:sessionUsageChips`){SD(t===!0),Ub(t===!0);return}if(e.path===`pref:themeId`){wD(t),Vb(t);return}if(e.path===`pref:flyingAnimalsEnabled`){ED(t),ZJ(t);return}let n=o1[e.path];if(n){let r=NX([Q],M$??{},c$);if(r[e.id])return;n(t);let i=FX([Q],e),a=i&&o1[i.path];i&&a&&!r[i.id]&&a(M$?.[i.path]),ZJ(TD());return}if(e.path===`pref:soundEnabled`){IQ(t===!0);return}if(e.path===`pref:soundId`){gD(t),Fb(t);return}e.path===`pref:notificationsEnabled`&&(vD(t),t&&AJ().then(X1))}function c1(){if(!E$||!M$)return;E$.querySelector(`.settings-view-footer`)?.remove();let e=z1(NX([Q],M$,c$));e&&E$.appendChild(e)}function l1(e,t,{rerender:n=!0}={}){if(M$){if(M$[e.path]=t,N$=``,e.path.startsWith(`pref:`)&&j$&&(j$[e.path]=t,s1(e,t)),n){X1();return}c1(),_0()}}function u1(e,t){if(!t.exclusiveMin)return t.min;if(e.integer!==!1)return t.min+1}function d1(e){let t=V(`div`,`settings-view-toggle-wrap`),n=V(`label`,`settings-view-toggle`),r=V(`input`,`settings-view-checkbox`);return r.type=`checkbox`,r.checked=X$(e)===!0,e.id===`desktop-notifications`&&!OJ()&&(r.checked=!1,r.disabled=!0),r.setAttribute(`aria-labelledby`,e.id),r.addEventListener(`change`,()=>l1(e,r.checked)),n.append(r,V(`span`,`settings-view-toggle-state`,r.checked?`On`:`Off`)),t.appendChild(n),t}function f1(e){let t=V(`input`,`settings-view-input`);t.type=e.control??`text`,t.value=String(X$(e)??``),e.control===`password`&&(t.placeholder=`No credential stored`);let n=iX(e,D$);return n&&(t.disabled=!0,t.setAttribute(`aria-description`,`Supplied by ${n}`)),t.autocomplete=`off`,t.spellcheck=!1,t.setAttribute(`aria-labelledby`,e.id),t.addEventListener(`input`,()=>l1(e,t.value,{rerender:!1})),t}function p1(e){let t=V(`input`,`settings-view-input`),n=c$[e.range??``];t.type=`number`,t.value=String(X$(e)??``),t.step=String(e.step??1);let r=u1(e,n);return r!=null&&(t.min=String(r)),n.max!=null&&(t.max=String(n.max)),t.autocomplete=`off`,t.setAttribute(`aria-labelledby`,e.id),e.commitOnChange?(t.addEventListener(`change`,()=>l1(e,t.value.trim()===``?e.defaultValue:t.value)),t):(t.addEventListener(`input`,()=>l1(e,t.value,{rerender:!1})),t)}function m1(e){let t=V(`select`,`settings-view-input`);t.setAttribute(`aria-labelledby`,e.id);for(let n of e.options){let e=V(`option`,null,n.label);e.value=n.value,t.appendChild(e)}return t.value=String(X$(e)),t.addEventListener(`change`,()=>l1(e,t.value)),t}function h1(e){let t=V(`div`,`settings-view-list`),n=X$(e),r=Array.isArray(n)?n:[];r.length===0&&t.appendChild(V(`div`,`settings-empty`,e.listEmptyText??`No repository roots configured.`));for(let[n,i]of r.entries()){let a=V(`div`,`settings-root-item`),o=V(`span`,`settings-root-path`,i);o.title=i;let s=V(`button`,`btn-settings-remove`,`×`);s.type=`button`,s.title=`Remove`,s.setAttribute(`aria-label`,`Remove ${i}`),s.addEventListener(`click`,()=>{l1(e,r.filter((e,t)=>t!==n))}),a.append(o,s),t.appendChild(a)}let i=V(`div`,`settings-add-row`),a=V(`input`,`settings-view-input settings-root-input`);a.type=`text`,a.autocomplete=`off`,a.spellcheck=!1,a.placeholder=e.listPlaceholder??`Repository root path`;let o=V(`button`,`btn-dialog btn-dialog-confirm btn-settings-add`,`Add`);o.type=`button`;let s=()=>{let t=a.value.trim();t&&(eX(r,t,D$.repositoryRootCaseInsensitive===!0)||l1(e,[...r,t]))};return o.addEventListener(`click`,s),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),s())}),i.append(a,o),t.appendChild(i),t}function g1(e){let t=V(`div`,`settings-view-projects`),n=X$(e),r=new Set(Array.isArray(n)?n:[]),i=Array.isArray(D$.projectChoices)?D$.projectChoices:[];i.length===0&&t.appendChild(V(`div`,`settings-empty`,`No configured projects are available.`));for(let n of $Y(i,[...r])){let i=V(`label`,`settings-view-project-choice`),a=V(`input`,`settings-view-checkbox`);a.type=`checkbox`,a.checked=r.has(n.id),a.addEventListener(`change`,()=>{let t=new Set(r);a.checked&&t.add(n.id),a.checked||t.delete(n.id),l1(e,[...t])}),i.append(a,document.createTextNode(n.name)),t.appendChild(i)}return t}function _1(e){let t=V(`div`,`settings-view-file-only`);return t.append(V(`code`,`settings-view-key-path`,e.path)),t.append(V(`span`,`settings-view-file-caption`,`Configured in config.json`)),t}function v1(){let e=r$(L$,R$),t=V(`div`,`settings-readonly settings-update-readout settings-update-summary`,e.headline);return t.dataset.tone=e.tone,t}function y1(){return V(`div`,`settings-readonly settings-update-readout`,i$(L$))}function b1(){let e=a$(L$),t=V(`div`,`settings-readonly settings-update-readout`);if(t.appendChild(V(`span`,`settings-update-latest-label`,e.label)),e.behind&&t.appendChild(V(`span`,`settings-update-behind`,e.behind)),!e.releaseUrl)return t;let n=V(`a`,`settings-link`,`View release`);return n.href=e.releaseUrl,n.target=`_blank`,n.rel=`noopener noreferrer`,t.appendChild(n),t}function x1(){let e=typeof L$?.lastCheckAt==`number`?L$.lastCheckAt:null,t=V(`div`,`settings-readonly settings-update-readout`,s$({status:L$,checkForUpdates:D$.checkForUpdates,relativeTime:XP(e)}));return e&&(t.title=new Date(e).toLocaleString()),t}function S1(e,t,{decision:n={enabled:!0,reason:null},isPrimary:r=!1}={}){let i=V(`button`,`btn-dialog ${r?`btn-dialog-confirm`:`btn-dialog-cancel`} settings-update-button`,e);return i.type=`button`,i.disabled=!n.enabled,i.addEventListener(`click`,t),i}function C1(e){let t=V(`span`,`settings-update-action-status`,e??``);return t.setAttribute(`role`,`status`),t}function w1(e){let t=WQ(z$,e);t!==z$&&(z$=t,v0())}function T1({restartWhenStaged:e,confirmedSessionIds:t}){w1(B({type:`update-apply`,restartWhenStaged:e,confirmedSessionIds:t})?`request-sent`:`request-unsent`)}function E1(){H$=Date.now();let e=B({type:`update-check`});W$=e,G$=e?null:HQ,v0()}function D1(){return W$?`Checking for updates.`:G$}function O1(){if(!L$){U$=!0;return}U$=!1,o$({status:L$,checkForUpdates:D$.checkForUpdates,now:Date.now(),lastAutoCheckAt:H$})&&E1()}function k1(){let e=JQ({status:L$,journal:R$,request:z$}),t=V(`div`,`settings-update-actions settings-update-readout`),n=V(`div`,`settings-update-buttons`);n.append(S1(`Update and restart`,()=>V$(e=>T1({restartWhenStaged:!0,confirmedSessionIds:e})),{decision:e.update,isPrimary:!0}),S1(`Update without restart`,()=>T1({restartWhenStaged:!1}),{decision:e.update}),S1(`Check for updates`,E1,{decision:{enabled:!W$,reason:null}}),S1(`Restart`,B$,{decision:e.restart})),t.append(n,C1(e.update.reason));let r=D1();return r&&t.append(C1(r)),t}function A1(e){return e.status===`update-summary`?v1():e.status===`update-installed`?y1():e.status===`update-latest`?b1():e.status===`update-last-checked`?x1():e.status===`update-actions`?k1():V(`div`,`settings-readonly`,String(e.value||`Not configured`))}function j1(e){return e.fileOnly?_1(e):e.control===`readonly`?A1(e):e.control===`toggle`?d1(e):e.control===`number`?p1(e):e.control===`select`?m1(e):e.control===`list`?h1(e):e.control===`projects`?g1(e):f1(e)}function M1(e){let t=iX(e,D$);return t?`Supplied by ${t}. Change the server environment and restart to replace this credential.`:e.status===`visions-activity-limit`?oX(M$||{}):e.id===`desktop-notifications`&&!OJ()?`Desktop notifications are unavailable for this page.`:e.id===`desktop-notifications`&&X$(e)&&kJ()===`denied`?`Blocked by the browser. Allow notifications for this site to enable them.`:e.status!==`rtk-install`||!X$(e)||D$.rtkAvailable?``:sX(D$)}function N1(e){if(e.status===`custom-agents`)return H1();if(e.status===`workflows`)return K1();if(e.status===`usage-last-report`)return q1();if(e.status===`update-actions`)return P1();if(e.status?.startsWith(`update-`))return null;let t=M1(e);return t?V(`div`,`settings-view-warning settings-view-status-slot`,t):null}function P1(){let e=e$(R$);if(!e)return null;let t=V(`div`,`settings-update-progress settings-view-status-block settings-view-status-slot`);t.dataset.state=e.state,t.setAttribute(`role`,`status`),e.terminalLine&&t.appendChild(V(`div`,`settings-update-terminal`,e.terminalLine));let n=V(`ol`,`settings-update-steps`);for(let t of e.steps){let e=V(`li`,`settings-update-step`);e.dataset.status=t.status,e.append(V(`span`,`settings-update-step-state`,t.status),V(`span`,`settings-update-step-label`,t.label)),n.appendChild(e)}if(t.appendChild(n),e.outputTail.length===0)return t;let r=V(`pre`,`settings-update-output`,e.outputTail.join(`
|
|
247
|
-
`));if(e.outputStepId&&(r.dataset.step=e.outputStepId),!e.outputStepLabel)return t.appendChild(r),t;let i=`Output from ${e.outputStepLabel}`;return r.setAttribute(`aria-label`,i),t.append(V(`div`,`settings-update-output-label`,i),r),t}function F1(e){let t=V(`div`,`settings-view-setting-heading`),n=V(`h2`,`settings-view-setting-title`,e.title);n.id=e.id,n.addEventListener(`click`,()=>Q$(Q.id,e.id));let r=V(`button`,`settings-view-copy-link`,`#`);r.type=`button`,r.setAttribute(`aria-label`,`Copy link`);let i=V(`span`,`settings-view-copy-status`);return i.setAttribute(`role`,`status`),r.addEventListener(`click`,async()=>{let t=new URL(Z$(Q.id,e.id),location.href).href;try{await navigator.clipboard.writeText(t),i.textContent=`Link copied`}catch{i.textContent=`Copy failed`}setTimeout(()=>{i.textContent=``},1600)}),t.append(n,r,i),t}function I1(e,t){let n=V(`article`,`settings-view-setting`);n.append(F1(e),V(`p`,`settings-view-setting-description`,e.description)),n.appendChild(j1(e)),e.id===`compact-status`&&n.appendChild(FJ()),qX(e,X$(e))&&n.appendChild(V(`div`,`settings-view-warning settings-warning`,e.warning));let r=N1(e);return r&&n.appendChild(r),t[e.id]&&n.appendChild(V(`div`,`settings-view-field-error`,t[e.id])),n}function L1(){if(M$&&j$){for(let e of Q.settings)M$[e.path]=structuredClone(j$[e.path]);N$=``,X1()}}async function R1(){let e=Q,t=[e],n=NX(t,M$??{},c$);if(Object.keys(n).length>0){N$=`Fix the highlighted settings before saving.`,X1();return}let r=ZY(kX(t,j$??{},M$??{}));if(Object.keys(r).length!==0)try{let t=await Cd(`update-settings`,{settings:r});if(t.type===`settings-error`){if(Q!==e)return;N$=String(t.message),X1();return}t.settings&&m0(t.settings,{rehydrateSectionIds:[e.id]})}catch(t){if(Q!==e)return;N$=t?.message||`Failed to save settings.`,X1()}}function z1(e){let t=hoe(Q);if(Q.level===`browser`||!t&&!N$)return null;let n=V(`footer`,`settings-view-footer`),r=V(`div`,`settings-view-footer-error`,N$);if(r.setAttribute(`role`,`status`),n.appendChild(r),!t)return n;let i=V(`div`,`settings-view-footer-actions`),a=V(`button`,`btn-dialog btn-dialog-cancel`,`Revert`);a.type=`button`,a.addEventListener(`click`,L1);let o=V(`button`,`btn-dialog btn-dialog-confirm`,`Save`);return o.type=`button`,o.disabled=Object.keys(e).length>0,o.addEventListener(`click`,R1),i.append(a,o),n.appendChild(i),n}function B1(e){return e===null?`not probed yet`:e?`resolved`:`not found on PATH`}function V1(){let e=Array.isArray(D$.customAgents)?D$.customAgents:[];return e.length===0?[`None declared. Add customAgents to config.json.`]:e.map(e=>{let t=e.args.length>0?`${e.command} ${e.args.join(` `)}`:e.command;return`${e.id} ${e.label} ${t} ${B1(e.resolvable)}`})}function H1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Declared agents`));for(let t of V1())e.appendChild(V(`div`,`settings-readonly`,t));return e}async function U1(e,t){K$.add(e.id),q$.delete(e.id),_0();try{let n=await Cd(`update-settings`,{settings:{workflows:{rules:[{id:e.id,enabled:t}]}}});if(n.type===`settings-error`&&q$.set(e.id,String(n.message)),K$.delete(e.id),n.type!==`settings-error`&&n.settings){m0(n.settings);return}}catch(t){q$.set(e.id,t?.message||`Failed to save the rule.`)}K$.delete(e.id),_0()}function W1(e){return K$.has(e.id)?`Saving`:q$.get(e.id)??``}function G1(e){let t=V(`div`,`settings-view-toggle-wrap`),n=V(`label`,`settings-view-toggle`),r=V(`input`,`settings-view-checkbox`);r.type=`checkbox`,r.checked=e.isEnabled,r.disabled=K$.has(e.id),r.setAttribute(`aria-label`,`Run rule ${e.name}`),r.addEventListener(`change`,()=>{U1(e,r.checked)}),n.append(r,V(`span`,`settings-view-toggle-state`,e.isEnabled?`On`:`Off`),V(`span`,`settings-readonly`,`${e.name} ${e.summary}`));let i=V(`span`,`settings-view-copy-status`,W1(e));return i.setAttribute(`role`,`status`),t.append(n,i),t}function K1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Rules`));let t=XY(D$.workflows);if(t.length>0){for(let n of t)e.appendChild(G1(n));return e}for(let t of YY(D$.workflows))e.appendChild(V(`div`,`settings-readonly`,t));return e}function q1(){let e=V(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(V(`div`,`settings-section-title`,`Last report`));let t=MQ();for(let n of t)e.appendChild(V(`div`,`settings-readonly`,n));return e}function J1(){let e=V(`button`,`btn-dialog btn-dialog-cancel`,`Reset to defaults`);return e.type=`button`,e.addEventListener(`click`,()=>{gO(),a1(),ZJ(TD()),X1()}),e}function Y1(e,t){let n=V(`div`,`settings-view-advanced`),r=V(`button`,`dialog-advanced-toggle settings-view-advanced-toggle`,`Advanced`);r.type=`button`,r.setAttribute(`aria-expanded`,String(h$)),r.setAttribute(`aria-controls`,`settings-view-advanced-panel`);let i=V(`div`,`dialog-advanced-panel settings-view-advanced-panel`);i.id=`settings-view-advanced-panel`,i.hidden=!h$,r.addEventListener(`click`,()=>{h$=!h$,i.hidden=!h$,r.setAttribute(`aria-expanded`,String(h$))});for(let n of e)i.append(I1(n,t));return Q.id===`browser-flying-animals`&&i.append(J1()),n.append(r,i),n}function X1(){if(!E$||!M$)return;E$.textContent=``;let e=V(`header`,`settings-view-section-header`),t=V(`div`,`settings-view-title-row`),n=V(`h1`,`settings-view-section-title`,Q.title);if(n.tabIndex=-1,n.addEventListener(`click`,()=>Q$(Q.id)),t.append(n),t.append(V(`span`,`settings-view-level`,m$[Q.level]||Q.level)),e.append(t,V(`p`,`settings-view-section-description`,Q.description)),Q.caption&&e.appendChild(V(`p`,`settings-view-section-caption`,Q.caption)),E$.appendChild(e),Q.id===`browser-shortcuts`){let e=V(`div`,`shortcut-groups settings-view-shortcuts`);n1(e),E$.appendChild(e),E$.appendChild(nZ()),E$.appendChild(rZ()),r1(E$);return}let r=NX([Q],M$,c$),i=V(`div`,`settings-view-stack`);for(let e of Q.settings.filter(e=>!e.advanced))i.appendChild(I1(e,r));Q.id===`browser-flying-animals`&&i.append(QJ());let a=Q.settings.filter(e=>e.advanced);a.length>0&&i.append(Y1(a,r));for(let e of Q.unattendedLinks||[]){let t=V(`div`,`settings-view-unattended-link`);t.append(document.createTextNode(`${e.title}: `));let n=V(`a`,null,`Enabled in Unattended actions`);n.href=Z$(`lanes-unattended`,e.settingId),t.appendChild(n),i.appendChild(t)}E$.appendChild(i);let o=z1(r);o&&E$.appendChild(o)}function Z1(e,{focusContent:t=!1,settingId:n=null,updateHash:r=!0}={}){Q.id!==e&&(h$=!1),Q=JX(p$,e)??Q,N$=``,Q1(y$),Q1(w$),S$&&(S$.textContent=Q.title,x$&&(x$.title=Q.title)),C$&&(C$.textContent=m$[Q.level]||Q.level),X1(),l0(Q)&&c0(),Q.id===`machine-updates`&&O1(),r&&Q$(Q.id,n),n&&$$(n),t&&E$?.querySelector(`h1`)?.focus()}function Q1(e){for(let t of e?.querySelectorAll(`[data-settings-section]`)||[]){let e=t.dataset.settingsSection===Q.id;t.setAttribute(`aria-current`,e?`page`:`false`)}}function $1(e){i0(!1),b$&&(b$.value=``,P$=``,a0(),Z1(e.section.id,{settingId:e.setting.id}))}function e0(e,t){if(t.length===0){e.appendChild(V(`div`,`settings-empty settings-view-search-empty`,`No settings found.`));return}let n=new Map;for(let e of t)n.has(e.section.id)||n.set(e.section.id,[]),n.get(e.section.id)?.push(e);for(let t of n.values()){let n=t[0].section,r=V(`div`,`settings-view-nav-group`);r.appendChild(V(`div`,`settings-view-nav-label`,`${n.title} (${m$[n.level]})`));for(let e of t){let t=V(`button`,`settings-view-nav-item settings-view-search-result`,e.setting.title);t.type=`button`,t.addEventListener(`click`,()=>$1(e)),r.appendChild(t)}e.appendChild(r)}}function t0(e,t,{groupClassName:n,headingClassName:r,createButton:i}){for(let a of[`browser`,`machine`,`lanes`,`projects`]){if(t[a].length===0)continue;let o=V(`div`,n);o.appendChild(V(`div`,r,m$[a]));for(let e of t[a])o.appendChild(i(e));e.appendChild(o)}}function n0(e){w$&&(w$.textContent=``,t0(w$,e,{groupClassName:`settings-view-section-picker-group`,headingClassName:`settings-view-section-picker-heading`,createButton(e){let t=V(`button`,`settings-view-section-option`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>{i0(!1),Z1(e.id)}),t}}),Q1(w$))}function r0(){return!!w$&&!w$.hidden}function i0(e,{returnFocus:t=!0}={}){if(!w$||!x$)return;let n=r0();if(w$.hidden=!e,x$.setAttribute(`aria-expanded`,String(e)),e){n0(IX(p$)),requestAnimationFrame(()=>{let e=w$?.querySelector(`[aria-current="page"]`);e instanceof HTMLElement&&e.focus()});return}t&&n&&x$.focus()}function a0(){if(!y$||!T$||!v$)return;let e=IX(p$);if(y$.textContent=``,T$.textContent=``,v$.dataset.searching=String(!!P$),T$.hidden=!P$,P$){let e=LX(p$,P$);e0(y$,e),e0(T$,e);return}t0(y$,e,{groupClassName:`settings-view-nav-group`,headingClassName:`settings-view-nav-label`,createButton(e){let t=V(`button`,`settings-view-nav-item`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>Z1(e.id)),t}}),n0(e),Z1(Q.id,{updateHash:!1})}function o0(e){if(P$&&e.key===`Enter`){let t=LX(p$,P$)[0];if(!t)return;e.preventDefault(),$1(t);return}if(e.key===`Escape`&&P$){if(!b$)return;e.preventDefault(),b$.value=``,P$=``,a0(),b$.focus();return}if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`||!y$)return;let t=[...y$.querySelectorAll(`[data-settings-section]`)].filter(e=>e instanceof HTMLElement),n=document.activeElement;if(!(n instanceof HTMLElement))return;let r=t.indexOf(n);r<0||(e.preventDefault(),t[(r+(e.key===`ArrowDown`?1:-1)+t.length)%t.length].focus())}function s0(e,{onRestart:t=()=>{},onConfirmUpdateAndRestart:n=e=>{e([])}}={}){B$=t,V$=n,LQ(i1),g$=e,g$.textContent=``,v$=V(`div`,`settings-view-shell`);let r=V(`div`,`settings-view-sidebar`);b$=V(`input`,`settings-view-search`),b$.type=`search`,b$.placeholder=`Search settings`,b$.setAttribute(`aria-label`,`Search settings`),y$=V(`nav`,`settings-view-nav`),y$.setAttribute(`role`,`navigation`),y$.setAttribute(`aria-label`,`Settings sections`),x$=V(`button`,`settings-view-section-button`),x$.type=`button`,x$.setAttribute(`aria-expanded`,`false`),x$.setAttribute(`aria-controls`,`settings-section-picker`),S$=V(`span`,`settings-view-section-button-title`),C$=V(`span`,`settings-view-section-button-level`);let i=V(`span`,`settings-view-section-button-chevron`,`⌄`);i.setAttribute(`aria-hidden`,`true`),x$.append(S$,C$,i),w$=V(`div`,`settings-view-section-picker`),w$.id=`settings-section-picker`,w$.hidden=!0,w$.setAttribute(`role`,`dialog`),w$.setAttribute(`aria-label`,`Settings sections`),T$=V(`nav`,`settings-view-phone-results`),T$.hidden=!0,T$.setAttribute(`aria-label`,`Settings search results`),E$=V(`div`,`settings-view-content`),E$.setAttribute(`aria-live`,`polite`),b$.addEventListener(`input`,()=>{let e=b$;e&&(P$=e.value.trim(),a0())}),b$.addEventListener(`keydown`,o0),y$.addEventListener(`keydown`,o0),T$.addEventListener(`keydown`,o0),x$.addEventListener(`click`,()=>i0(!r0())),F$&&document.removeEventListener(`click`,F$),I$&&document.removeEventListener(`keydown`,I$),F$=e=>{r0()&&e.target instanceof Node&&(w$?.contains(e.target)||x$?.contains(e.target)||i0(!1))},I$=e=>{e.key===`Escape`&&r0()&&(e.preventDefault(),i0(!1))},document.addEventListener(`click`,F$),document.addEventListener(`keydown`,I$),r.append(b$,x$,y$,w$),v$.append(r,T$,E$),g$.appendChild(v$),Y$(D$),a0(),c0(),_$?.disconnect(),_$=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&c0()}),_$.observe(g$)}function c0(){Tb().then(u0)}function l0(e){return e.settings.some(e=>e.path===`pref:soundId`)}function u0(){f$=d$(),e1();let e=wb(hD());j$&&(j$[`pref:soundId`]=e),M$&&(M$[`pref:soundId`]=e),l0(Q)&&X1()}function d0({returnFocus:e=!0}={}){i0(!1,{returnFocus:e})}function f0(e=null,t=null){Z1(e||Q.id,{settingId:t})}function p0(e){return RX(e,p$,GY,KY)}function m0(e,t={}){let{rehydrateSectionIds:n=[]}=t;if(!e)return;D$=e,O$=Array.isArray(D$.projectChoices)?D$.projectChoices:[],t1(D$.projectChoices),e1();let r={...D$,prefs:J$()},i=OX(p$,r,j$,M$,{rehydrateSectionIds:n});j$=i.original,M$=i.edited,N$=``,y$&&a0(),X1()}function h0(e){return document.getElementById(e.id)?.closest(`.settings-view-setting`)??null}function g0(e,t){let n=t.querySelector(`.settings-view-status-slot`),r=N1(e);n&&r&&n.replaceWith(r),n&&!r&&n.remove(),!n&&r&&t.appendChild(r)}function _0(){for(let e of Q.settings||[]){if(!e.status)continue;let t=h0(e);t&&g0(e,t)}}function v0(){if(Q.id===`machine-updates`)for(let e of Q.settings||[]){if(!e.status?.startsWith(`update-`))continue;let t=h0(e);t&&(t.querySelector(`.settings-update-readout`)?.replaceWith(j1(e)),g0(e,t))}}function y0(e){L$=e,W$=!1,G$=null,z$=WQ(z$,`status-frame`),v0(),U$&&Q.id===`machine-updates`&&O1()}function b0(e){R$=e,z$=WQ(z$,`progress-frame`),v0()}function x0(){w1(`error-frame`),W$&&(W$=!1,v0())}function S0(e){t1(e),e1(),y$&&a0()}function C0(){Q.id===`browser-flying-animals`&&X1()}window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,C0),lf(C0);function w0(e){return[...e||[]].map((e,t)=>({row:e,index:t})).sort((e,t)=>pj(e.row||{},`phone-triage`)-pj(t.row||{},`phone-triage`)||e.index-t.index).map(e=>e.row)}var T0=new Set;function E0(e,t,n){let r=rU(e,t,n),i=r.groups.map(e=>({...e,rows:w0(e.rows)})),a={...r,groups:i};return{...a,visibleIds:iU(a,T0)}}var D0=e=>e.ui.path;function O0({onSelectSession:e}){let t=V(`div`,`phone-board`),n=V(`header`,`phone-topbar`),r=V(`div`,`phone-attention`);r.setAttribute(`role`,`status`),r.setAttribute(`aria-live`,`polite`);let i=V(`div`,`phone-calm calm-view`);i.hidden=!0;let a=V(`div`,`phone-board-list`),o=V(`div`,`phone-empty`);o.append(V(`p`,`phone-empty-title`,`No sessions`),V(`p`,`phone-empty-desc`,`Spawn a session to start watching.`)),t.append(n,r,i,a,o);let s=new Map,c=new Map,l=new WeakMap,u=new WeakMap,d=new WeakMap,f=0;zd(n);function p(t){let n=V(`button`,`phone-row`);n.type=`button`,n.dataset.id=t,n.innerHTML=`<span class="phone-row-glyph" aria-hidden="true"></span><span class="phone-row-main"><span class="phone-row-name"></span><span class="phone-row-meta"><span class="phone-row-badge"></span><span class="phone-row-merge"></span></span></span><span class="phone-row-elapsed" aria-hidden="true"></span>`;let r={glyph:H(n,`.phone-row-glyph`,`span`),name:H(n,`.phone-row-name`,`span`),badge:H(n,`.phone-row-badge`,`span`),merge:H(n,`.phone-row-merge`,`span`),elapsed:H(n,`.phone-row-elapsed`,`span`)};n.addEventListener(`click`,()=>e?.(t));let i=V(`div`,`phone-row-item`);i.setAttribute(`role`,`listitem`);let a=V(`button`,`phone-row-remove`,`x`);return a.type=`button`,a.title=`Remove session`,a.setAttribute(`aria-label`,`Remove session`),a.addEventListener(`click`,e=>{e.stopPropagation(),AI(t)}),i.append(n,a),l.set(n,{refs:r,item:i}),n}function m(e){let t=V(`section`,`phone-board-group`);t.dataset.key=e;let n=V(`div`,`phone-board-group-header`),r=V(`span`,`phone-board-group-label`),i=V(`span`,`phone-board-group-count`),a=V(`button`,`phone-board-group-add`,`+`);a.type=`button`,a.addEventListener(`click`,()=>kI(t.dataset.path,t.dataset.label));let o=V(`button`,`phone-board-group-forget`,`x`);o.type=`button`,o.addEventListener(`click`,()=>{vI(t.dataset.path),b()});let s=V(`div`,`phone-board-group-rows`);return s.setAttribute(`role`,`list`),n.append(r,i,o,a),t.append(n,s),u.set(t,{header:n,label:r,count:i,addButton:a,forgetButton:o,rows:s}),t}function h(e,t){let n=l.get(e);if(!n)return;let{ui:r,state:i,unseen:a}=t,{glyph:o,label:s,isMonitoring:c}=Rd(i,r.awaitingBackgroundTasks),u=r.pendingPromptKind===`plan`?`Plan ready`:s,d=t.name;e.dataset.state=i,e.toggleAttribute(`data-monitoring`,c),e.dataset.prompt=r.pendingPromptKind??``,e.toggleAttribute(`data-unseen`,a),n.refs.glyph.textContent=o,n.refs.name.textContent=d;let f=V(`span`,`session-list-task-title`,r.taskTitle??``);n.refs.name.append(f),n.refs.name.title=[d,r.taskTitle].filter(Boolean).join(` | `),n.refs.badge.textContent=u;let p=r.card?.dataset.merge||``;e.dataset.merge=p,n.refs.merge.textContent=Id[p]||``,n.refs.elapsed.textContent=Zf(r),e.setAttribute(`aria-label`,`${d}, ${u}`)}function g(e,t){let n=u.get(e);if(!n)return;let{header:r,label:i,count:a,addButton:o,forgetButton:s,rows:c}=n,l=t.key===tU,d=t.rows.length===0;e.dataset.path=t.key,e.dataset.label=t.label,e.toggleAttribute(`data-empty`,d),r.title=t.title,i.textContent=t.label,a.textContent=String(t.rows.length),a.title=`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`,o.hidden=l,s.hidden=l||!d,l||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!l&&d&&(s.title=`Remove ${t.label} from the Board`,s.setAttribute(`aria-label`,`Remove ${t.label} from the Board`)),c.setAttribute(`aria-label`,`${t.label} sessions`)}let{noteStates:_,acknowledge:v,isUnseen:y}=sU();function ee(){let e=OI();_(e);for(let t of e)t.unseen=y(t.id);return mj(e)}function b(){let e=ee(),t=E0(e,D0,_I(e,D0));f=vj(e),r.textContent=yj(f),r.toggleAttribute(`data-lit`,f>0);let n=new Set(t.order),i=t.order.join(`,`),_=d.get(a)===i&&a.childElementCount===t.groups.length;for(let e of t.groups){let t=c.get(e.key);t||(t=m(e.key),c.set(e.key,t)),g(t,e),_||a.appendChild(t);let n=e.rows.map(e=>e.id).join(`,`),r=u.get(t);if(!r)continue;let i=d.get(r.rows)===n&&r.rows.childElementCount===e.rows.length;for(let t of e.rows){let e=s.get(t.id);e||(e=p(t.id),s.set(t.id,e)),h(e,t);let n=l.get(e);n&&(i||r.rows.appendChild(n.item))}d.set(r.rows,n)}d.set(a,i);for(let[e,t]of[...c])n.has(e)||(t.remove(),c.delete(e));let v=new Set(t.visibleIds);for(let[e,t]of[...s]){if(v.has(e))continue;let n=l.get(t);n&&n.item.remove(),s.delete(e)}let y=t.groups.length>0;a.hidden=!y,o.hidden=y}ep(()=>{for(let[e,t]of s){let n=U.get(e),r=l.get(t);n&&r&&(r.refs.elapsed.textContent=Zf(n))}});function te(e){i.hidden=!e,t.toggleAttribute(`data-calm`,e)}return{el:t,topBarEl:n,calmEl:i,setCalmShown:te,refresh:b,acknowledge:v,getAttentionCount:()=>f}}var k0=`glimmervoidCalmSheet`,A0=Object.freeze({[k0]:!0});function j0(e){return typeof e!=`object`||!e?!1:k0 in e}function M0({poppedState:e,isCalmSheetOpen:t,isOwnSheetPopPending:n}){if(n)return`own-sheet-pop`;let r=j0(e);return r&&t?`adopt-sheet-entry`:r?`consume-stray-sheet-entry`:t?`close-sheet`:`navigate`}function N0({pushedEntry:e,isOwnSheetPopPending:t}){return e===`none`?t?`defer-until-own-pop`:`push-sheet-entry`:`keep-history`}function P0({pushedEntry:e,topState:t,isOwnSheetPopPending:n}){return!n&&e===`calm-sheet`&&j0(t)}var F0=`clipboard`,I0=`upload`,L0=Object.freeze([Object.freeze({id:`esc`,label:`Esc`,bytes:`\x1B`,title:`Send Escape`}),Object.freeze({id:`tab`,label:`Tab`,bytes:` `,title:`Send Tab`}),Object.freeze({id:`up`,label:`Up`,bytes:`\x1B[A`,title:`Arrow up`}),Object.freeze({id:`down`,label:`Down`,bytes:`\x1B[B`,title:`Arrow down`}),Object.freeze({id:`paste`,label:`Paste`,bytes:null,action:F0,title:`Paste from the clipboard`}),Object.freeze({id:`upload-image`,label:`Image`,bytes:null,action:I0,accept:`image/*`,title:`Upload an image to this session`}),Object.freeze({id:`upload-file`,label:`File`,bytes:null,action:I0,title:`Upload a file to this session`})]);function R0(e){let t=L0.find(t=>t.id===e);return t?t.bytes:null}function z0(e){return!!e&&e.action===`clipboard`}function B0(e){return!!e&&e.action===`upload`}function V0({send:e,getSessionId:t}){let n=V(`div`,`phone-key-strip`);n.setAttribute(`role`,`toolbar`),n.setAttribute(`aria-label`,`Terminal keys`);let r=null,i=null;for(let e of L0){let t=V(`button`,`phone-key`,e.label);t.type=`button`,t.dataset.key=e.id,t.title=e.title,t.addEventListener(`pointerdown`,e=>e.preventDefault()),t.addEventListener(`click`,()=>a(e,t)),n.appendChild(t)}function a(t,n){if(B0(t)){o(t,n);return}if(z0(t)){H0(e);return}e(R0(t.id))}function o(e,t){i=t,r||(r=V(`input`,`phone-file-picker`),r.type=`file`,r.hidden=!0,r.addEventListener(`change`,s),n.appendChild(r)),e.accept&&(r.accept=e.accept),e.accept||r.removeAttribute(`accept`),r.click()}function s(){let e=r;if(!e)return;let n=e.files?e.files[0]:null;if(e.value=``,!n)return;let a=t?.();if(!a){qx(`No session is open to upload to`);return}c(a,n,i)}async function c(e,t,n){n&&(n.disabled=!0),await Jx(e,t),n&&(n.disabled=!1)}return n}function H0(e){let t=null;try{t=navigator.clipboard?.readText?.()}catch{qx(`Paste needs clipboard permission`);return}if(!t){qx(`Paste is unavailable in this browser`);return}t.then(t=>{t&&e(t)}).catch(()=>qx(`Paste needs clipboard permission`))}var U0=`‹`;function W0({onBack:e}){let t=V(`div`,`phone-terminal`),n=V(`header`,`phone-topbar phone-terminal-bar`),r=V(`button`,`phone-back`,U0);r.type=`button`,r.setAttribute(`aria-label`,`Back to board`),r.addEventListener(`click`,()=>e?.());let i=V(`div`,`phone-terminal-identity`),a=V(`span`,`phone-terminal-name`);a.title=`Tap to rename`,a.addEventListener(`click`,()=>b());let o=V(`span`,`session-task-title session-list-task-title`);zV(o,()=>te());let s=V(`span`,`phone-terminal-identity-line`),c=V(`span`,`phone-terminal-badge`);c.innerHTML=`<span class="phone-terminal-glyph" aria-hidden="true"></span><span class="phone-terminal-label"></span><span class="phone-terminal-elapsed" aria-hidden="true"></span>`;let l=H(c,`.phone-terminal-glyph`,`span`),u=H(c,`.phone-terminal-label`,`span`),d=H(c,`.phone-terminal-elapsed`,`span`);s.append(a,o),i.append(s,c);let f=V(`div`,`phone-terminal-actions`);n.append(r,i,f);let p=V(`div`,`phone-card-slot`),m=V(`div`,`phone-empty`);m.innerHTML=`<p class="phone-empty-title">No session selected</p><p class="phone-empty-desc">Select a session from the board to watch it here.</p>`;let h=V0({send:y,getSessionId:()=>g});t.append(n,p,m,h);let g=null,_=null,v=null;function y(e){let t=g?U.get(g):null;t&&(JO(t,e)||qx(`Session is not connected; key press was dropped`))}function ee(){let e=g?U.get(g):null;e?.term&&e.term.focus()}p.addEventListener(`click`,ee);function b(){let e=g?U.get(g):null;e&&g&&WV(e,g)}function te(){let e=g?U.get(g):null;e&&g&&VV(e,g)}function ne(){let e=g?U.get(g):null,t=!!e;if(m.hidden=t,p.hidden=!t,h.hidden=!t,i.hidden=!t,!t){n.removeAttribute(`data-state`),n.removeAttribute(`data-monitoring`);return}let r=e.currentState||F.DORMANT;n.dataset.state=r;let{glyph:s,label:c,isMonitoring:f}=Rd(r,e.awaitingBackgroundTasks);n.toggleAttribute(`data-monitoring`,f),UV(a)||(a.textContent=e.card?.dataset.session||g),BV(o,e.taskTitle),l.textContent=s,u.textContent=c,d.textContent=Zf(e)}function re(){v&&=(delete v.renameTargetEl,delete v.titleTargetEl,null),a.replaceChildren(),_&&=(Kd(_),_.parentElement===f&&_.remove(),null)}function ie(e){let t=U.get(e);if(t){if(g===e&&wP()===e&&t.card.parentElement===p){ne();return}re(),g=e,TP(t,e,p,{className:`phone-centered`}),_=H(t.card,`.session-actions`,`div`),Gd(_,f),t.renameTargetEl=a,t.titleTargetEl=o,v=t,ne()}}function ae(){re(),wP()===g&&EP(),g=null,ne()}function x(){if(!g){ne();return}let e=U.get(g);if(!e){ae();return}if(e.card.parentElement!==p){ie(g);return}ne()}function oe(){let e=g;e&&ak(U.get(e),e,!1)}function se(){x();let e=g;if(!e)return;let t=U.get(e);t&&ak(t,e,!0)}return ep(()=>{let e=g?U.get(g):null;e&&(d.textContent=Zf(e))}),ne(),{el:t,show:ie,clear:ae,refresh:x,reveal:se,unview:oe,getSessionId:()=>g}}var G0=`board`,K0=Object.freeze([{id:G0,label:`Board`,glyph:`▤`},{id:`terminal`,label:`Terminal`,glyph:`▸`},{id:`review`,label:`Review`,glyph:`◫`}]),q0=[],J0=new Map,Y0=null,X0=new Map,Z0=new Map,Q0=new Map,$0=null,e2=null,t2=null,n2=null,r2=null,i2=new Map,a2=new Set,o2={},s2=!1,c2=120,l2=0,u2=0,d2=`none`,f2=!1,p2=!1,m2=!1,h2={openTerminal:O2,openPlan:e=>{K2(e)},onSheetOpenChange:P2};function g2(){l2=0,u2=0}function _2(){let e=window.visualViewport;if(Y0){if(!s2||!e){Y0.removeAttribute(`data-keyboard`);return}if(Y0.style.setProperty(`--phone-vh`,`${e.height}px`),Y0.style.setProperty(`--phone-vv-top`,`${e.offsetTop}px`),e.width!==u2&&(u2=e.width,l2=0),l2=Math.max(l2,e.height),l2-e.height>c2){Y0.dataset.keyboard=`open`;return}Y0.removeAttribute(`data-keyboard`)}}function v2(e,t,n=`phone-nav-item`,r=`phone-nav-dot`){let i=V(`button`,n);i.type=`button`;let a=V(`span`,`phone-nav-glyph`,t);a.setAttribute(`aria-hidden`,`true`),i.append(a,V(`span`,`phone-nav-label`,e));let o=V(`span`,r);return o.setAttribute(`aria-hidden`,`true`),o.hidden=!0,i.appendChild(o),i}function y2(e){return e?.querySelector(`.phone-nav-dot`)||null}function b2(e,t){e&&(e.hidden=!t,typeof t==`string`&&(e.dataset.attention=t),typeof t!=`string`&&delete e.dataset.attention)}function x2(){let e=[];for(let t of q0){if(a2.has(t.id))continue;let n=Q0.get(t.id)||!1;e.push(n),b2(y2(i2.get(t.id)),n)}b2(y2(n2),Oie(e))}function S2(){let e=V(`div`,`phone-nav-more-menu`);e.hidden=!0;for(let t of q0){let n=v2(t.label,t.glyph,`phone-nav-menu-item`,`phone-nav-dot phone-nav-menu-dot`);n.dataset.screen=t.id,n.hidden=a2.has(t.id),n.addEventListener(`click`,()=>{C2(!1),B2(t.id)}),i2.set(t.id,n),e.appendChild(n)}return e}function C2(e){r2&&n2&&(r2.hidden=!e,n2.setAttribute(`aria-expanded`,String(e)))}function w2(){return!!r2&&!r2.hidden}function T2(){let e=V(`nav`,`phone-nav`);e.setAttribute(`aria-label`,`Screens`);for(let t of K0){let n=v2(t.label,t.glyph);n.dataset.screen=t.id,n.addEventListener(`click`,()=>B2(t.id)),X0.set(t.id,n),e.appendChild(n)}return n2=v2(`More`,`⋯`),n2.setAttribute(`aria-expanded`,`false`),n2.addEventListener(`click`,()=>C2(!w2())),e.appendChild(n2),r2=S2(),e.appendChild(r2),e}function E2(e,t,n){let r=V(`section`,`phone-screen`);return r.dataset.screen=e,r.setAttribute(`aria-label`,t),r.hidden=!0,n&&r.appendChild(n),Z0.set(e,r),r}function D2(){if(Y0)return;$0=O0({onSelectSession:O2}),$0.setCalmShown(m2),e2=W0({onBack:()=>B2(G0)}),t2=V(`div`,`phone-review`);let e=V(`div`,`phone-screens`),t={[G0]:$0.el,terminal:e2.el,review:t2};for(let n of K0)e.appendChild(E2(n.id,n.label,t[n.id]));for(let t of q0){let n=V(`div`,`phone-panel phone-${t.id}`);J0.set(t.id,n),e.appendChild(E2(t.id,t.label,n))}Y0=V(`div`,`phone-shell`),Y0.id=`phone-shell`,Y0.append(e,T2()),document.body.appendChild(Y0),x2(),window.visualViewport?.addEventListener(`resize`,_2),window.visualViewport?.addEventListener(`scroll`,_2),window.addEventListener(`popstate`,I2),document.addEventListener(`click`,e=>{w2()&&r2&&n2&&e.target instanceof Node&&(r2.contains(e.target)||n2.contains(e.target)||C2(!1))}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&w2()&&C2(!1)})}function O2(e){if(U.has(e)){if(!$0||!e2)throw Error(`Phone shell is not built`);TI(e,`dormant-fallback`),$0.acknowledge(e),EI(e),e2.show(e),B2(`terminal`)}}function k2(e){if(e===G0){j2();return}let t={glimmervoidScreen:e};if(d2!==`none`){history.replaceState(t,``),d2=`screen`;return}history.pushState(t,``),d2=`screen`}function A2(){if(j0(history.state))return d2=`calm-sheet`,N2(),G0;let e=F2(history.state);return e&&z2(e)?(d2=`screen`,e):(e&&history.replaceState(null,``),d2=`none`,G0)}function j2(){d2!==`none`&&(d2=`none`,history.back())}function M2(){N0({pushedEntry:d2,isOwnSheetPopPending:p2})===`push-sheet-entry`&&(history.pushState(A0,``),d2=`calm-sheet`)}function N2(){P0({pushedEntry:d2,topState:history.state,isOwnSheetPopPending:p2})&&(d2=`none`,p2=!0,history.back())}function P2(e){if(f2=e,e){M2();return}N2()}function F2(e){let t=e?.glimmervoidScreen;return typeof t==`string`?t:null}function I2(e){let t=p2;if(p2=!1,!s2)return;let n=M0({poppedState:e.state,isCalmSheetOpen:f2,isOwnSheetPopPending:t});if(n===`own-sheet-pop`){f2&&M2();return}if(n===`adopt-sheet-entry`){d2=`calm-sheet`;return}if(n===`consume-stray-sheet-entry`){d2=`calm-sheet`,N2();return}if(n===`close-sheet`){d2=`none`,_P();return}let r=F2(e.state);d2=r?`screen`:`none`,R2(r&&z2(r)?r:G0)}function L2(e,t){for(let[n,r]of e){if(n===t){r.setAttribute(`aria-current`,`page`);continue}r.removeAttribute(`aria-current`)}}function R2(e){if(!n2||!e2)throw Error(`Phone shell is not built`);ef.dispatch(`setPhoneScreen`,e),C2(!1);for(let[t,n]of Z0)n.hidden=t!==e;o2.onScreenShown?.(e),W2(),L2(X0,e);let t=i2.has(e);if(t&&n2.setAttribute(`aria-current`,`page`),t||n2.removeAttribute(`aria-current`),L2(i2,e),e===`terminal`){e2.reveal();return}e2.unview()}function z2(e){return Z0.has(e)&&!a2.has(e)}function B2(e){Y0&&z2(e)&&(e!==ef.snapshot().phoneScreen&&k2(e),R2(e))}function V2(e){o2=e||{},q0=o2.panels||[]}function H2({sessionId:e}={}){if(s2)return;if(D2(),!Y0||!$0||!e2)throw Error(`Phone shell is not built`);s2=!0,Y0.hidden=!1;for(let e of o2.headerControls||[])Gd(e,$0.topBarEl);sz(t2);for(let e of q0)Gd(e.el,J0.get(e.id)),e.el.hidden=!1;_2(),e&&e2.show(e);let t=A2();if(Y2(),e&&t===G0){ef.dispatch(`setPhoneScreen`,G0),B2(`terminal`);return}R2(t)}function U2(){if(s2){if(!Y0||!e2)throw Error(`Phone shell is not built`);s2=!1,W2(),d0({returnFocus:!1}),e2.clear(),sz(null);for(let e of q0)Kd(e.el);for(let e of o2.headerControls||[])Kd(e);C2(!1),Y0.hidden=!0,Y0.removeAttribute(`data-keyboard`),g2(),j2()}}function W2(){if($0){if(!(s2&&m2&&ef.snapshot().phoneScreen===G0)){vP();return}gP($0.calmEl,h2)}}function G2(e){m2=e,$0?.setCalmShown(e),W2()}function K2(e){return!s2||!$0||!e2||!U.has(e)?!1:(O2(e),DH(e))}function q2(){return s2}function J2(){return s2&&e2?e2.getSessionId():null}function Y2(){if(!s2)return;if(!$0||!e2)throw Error(`Phone shell is not built`);$2(),$0.refresh(),e2.refresh(),ef.snapshot().phoneScreen===`terminal`&&!e2.getSessionId()&&B2(G0);let e=y2(X0.get(G0));e&&(e.hidden=$0.getAttentionCount()===0)}function X2(e){return!s2||!z2(e)?!1:(B2(e),!0)}function Z2(e,t){t&&a2.delete(e),t||a2.add(e);let n=i2.get(e);n&&(n.hidden=!t);let r=Z0.get(e);r&&!t&&(r.hidden=!0),x2(),!t&&s2&&ef.snapshot().phoneScreen===e&&B2(G0)}function Q2(e,t){Q0.set(e,typeof t==`string`&&t?t:t===!0),x2()}function $2(){if(!e2)throw Error(`Phone shell is not built`);if(e2.getSessionId())return;let e=DI();e&&(e2.show(e),EI(e,{rememberFocus:!1}))}function e4(e,t){return!!e?.error&&!e.isRefreshing&&typeof e.nextAttemptAt==`number`&&e.nextAttemptAt>t}function t4(e,t){if(!e?.error)return null;let n=`Could not reach GitHub: ${e.error.trim().replace(/[.!]+$/,``)}.`;if(e.isRefreshing)return`${n} Refreshing.`;if(typeof e.nextAttemptAt!=`number`)return n;let r=Math.max(0,Math.ceil((e.nextAttemptAt-t)/1e3));return r===0?`${n} Retrying now.`:e.retry?`${n} Retrying in ${r}s (${e.retry.attempt} of ${e.retry.limit}).`:`${n} Next try in ${r>=60?`${Math.ceil(r/60)} min`:`${r}s`}.`}function n4(e,t,n){return e?.refreshNotice&&e.isRefreshing?e.refreshNotice:t||e?.isRefreshing?`Refreshing.`:n||e?.refreshNotice||``}var r4={minPx:220,maxPx:720},i4=16,a4=new Set,o4=0;function s4(e){let t=LD();e.toggleAttribute(`data-queue-collapsed`,t),e.querySelector(`.pr-queue-toggle`)?.setAttribute(`aria-expanded`,String(!t));let n=FD();if(n===null){e.style.removeProperty(`--pr-queue-width`);return}e.style.setProperty(`--pr-queue-width`,`${n}px`)}function c4(){for(let e of a4){if(!e.isConnected){a4.delete(e);continue}s4(e)}}function l4(e,t){let n=V(`div`,`pr-queue-head`);return e&&n.append(e),t&&n.append(t),n}function u4(e){let t=V(`div`,`pr-queue-foot`);return e&&t.append(e),t}function d4({queueLabel:e,scopeTabs:t,resizerLabel:n}){let r=V(`div`,`pr-columns`),i=V(`div`,`pr-queue-pane`),a=V(`nav`,`pr-queue`);a.id=`pr-queue-${++o4}`,a.setAttribute(`aria-label`,e);let o=V(`button`,`pr-queue-toggle`);o.type=`button`,o.setAttribute(`aria-label`,`Review queue`),o.setAttribute(`aria-controls`,a.id),o.title=`Collapse or expand the review queue`;let s=KL(16,16);s.append(GL(`rect`,{x:`1.5`,y:`2`,width:`13`,height:`12`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),s.append(GL(`path`,{d:`M5.5 2V14`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`}));let c=GL(`path`,{d:`M11 6L9 8L11 10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`});c.classList.add(`pr-queue-chevron`),s.append(c),o.append(s),o.addEventListener(`click`,()=>{RD(!LD()),c4()});let l=u4(null);i.append(l4(t,o),a,l);let u=V(`div`,`pr-queue-resizer`);u.setAttribute(`role`,`separator`),u.setAttribute(`aria-orientation`,`vertical`),u.setAttribute(`aria-label`,n),u.tabIndex=0;let d=V(`main`,`pr-detail-host`);return r.append(i,u,d),s4(r),a4.add(r),pI({resizer:u,column:i,widthHost:r,widthProperty:`--pr-queue-width`,bounds:r4,keyStepPx:i4,getStoredWidth:FD,setStoredWidth:ID}),{columns:r,queue:a,foot:l,detail:d}}var f4=1.2,p4=1.55,m4=.12,h4=523.25,g4=2,_4=8,$=(e,t,n)=>({semitone:e,startBeat:t,beats:n}),v4={melody:[$(7,4,.5),$(11,4.5,.5),$(12,5,3)],bass:[$(-5,4,1),$(-12,5,3)]},y4=[{melody:[$(0,0,1),$(4,1,1),$(7,2,1),$(9,3,1)],bass:[$(-12,0,2),$(-8,2,2)]},{melody:[$(7,0,.67),$(7,.67,.67),$(7,1.33,.67),$(9,2,1),$(5,3,1)],bass:[$(-12,0,2),$(-7,2,2)]},{melody:[$(5,0,1),$(9,1,1),$(7,2,1),$(4,3,1)],bass:[$(-7,0,2),$(-12,2,2)]},{melody:[$(12,0,.5),$(7,.5,.5),$(12,1,.5),$(16,1.5,.5),$(16,2,1),$(14,3,1)],bass:[$(-12,0,2),$(-3,2,2)]},{melody:[$(4,0,1),$(7,1,1),$(4,2,.5),$(5,2.5,.5),$(7,3,.5),$(4,3.5,.5)],bass:[$(-8,0,2),$(-12,2,2)]}].map(e=>({melody:[...e.melody,...v4.melody],bass:[...e.bass,...v4.bass]}));function b4(e,t){return h4*2**((e+t)/12)}function x4(e,t){let n=(e,n,r)=>e.map(e=>({frequency:b4(e.semitone,t),startSeconds:p4+e.startBeat*m4,durationSeconds:e.beats*m4,waveform:n,gain:r}));return[...n(e.melody,`square`,.2),...n(e.melody,`triangle`,.5),...n(e.bass,`triangle`,.6)]}var S4=[{frequency:220,endFrequency:880,startSeconds:0,durationSeconds:.32,waveform:`triangle`,gain:.25},{frequency:160,endFrequency:45,startSeconds:f4,durationSeconds:.28,waveform:`sine`,gain:1},{frequency:1400,endFrequency:380,startSeconds:f4,durationSeconds:.06,waveform:`square`,gain:.12}];function C4(e){let t=y4[e%y4.length],n=Math.min(e*g4,_4);return{peakGain:.1,tones:[...S4,...x4(t,n)]}}function w4(e){return Math.round(Math.sqrt(2*e/780)*1e3)}function T4(e,t,n=Math.random){return Math.round(e+n()*(t-e))}function E4(e,t=Math.random){let n=[...e];for(let e=n.length-1;e>0;--e){let r=Math.floor(t()*(e+1));[n[e],n[r]]=[n[r],n[e]]}return n}var D4=.6,O4=.25,k4=1.6;function A4(e){return Math.min(D4+e*O4,k4)}var j4=[`var(--accent)`,`var(--state-running)`,`var(--state-idle)`,`var(--state-waiting)`,`var(--state-failed)`];function M4(e,t=Math.random){let n=T4(320,520,t),r=T4(1800,2800,t);return[[`--confetti-start-x`,`${T4(4,96,t)}%`],[`--confetti-x`,`${T4(-140,140,t)}px`],[`--confetti-rise`,`${-T4(20,55,t)}px`],[`--confetti-fall`,`${T4(45,70,t)}vh`],[`--confetti-rise-ms`,`${n}ms`],[`--confetti-fall-ms`,`${r}ms`],[`--confetti-flight-ms`,`${n+r}ms`],[`--confetti-tilt`,`${T4(0,180,t)}deg`],[`--confetti-spin`,`${T4(-360,360,t)}deg`],[`--confetti-flutter-ms`,`${T4(160,340,t)}ms`],[`--confetti-delay`,`${T4(0,160,t)}ms`],[`--confetti-color`,j4[e%j4.length]]]}var N4=`<svg viewBox="0 0 36 36" aria-hidden="true"><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="17"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="13"/><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="9"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="5"/></svg>`,P4=`<svg viewBox="0 0 26 8" aria-hidden="true"><path class="merge-bullseye-dart-flight" d="M0 0L7 3V5L0 8L2 4Z"/><rect class="merge-bullseye-dart-shaft" x="6" y="3.3" width="8" height="1.4"/><rect class="merge-bullseye-dart-barrel" x="13" y="2.5" width="7" height="3" rx="1"/><path class="merge-bullseye-dart-tip" d="M20 3L26 4L20 5Z"/></svg>`;function F4(){let e=Ad(`div`,`merge-bullseye-target`,N4);return e.append(V(`span`,`merge-bullseye-ripple`)),e}function I4(){let e=V(`div`,`merge-bullseye-dart-drift`),t=V(`div`,`merge-bullseye-dart-arc`),n=V(`div`,`merge-bullseye-dart-aim`);return n.append(Ad(`div`,`merge-bullseye-dart`,P4)),t.append(n),e.append(t),e}function L4(){let e=V(`div`,`merge-bullseye-range`),t=V(`div`,`merge-bullseye-track`);return t.append(I4()),e.append(F4(),t),e}var R4={title:`BULLSEYE!`,buildScene:L4},z4=6,B4=30,V4=-14,H4=16;function U4(e=Math.random){return[[`--crosshair-start-left`,`${T4(z4,B4,e)}%`],[`--crosshair-start-offset-y`,`${T4(V4,H4,e)}px`]]}var W4=`<svg viewBox="0 0 26 40" aria-hidden="true"><path class="merge-headshot-target-body" d="M9 13H17L18 16Q25 18 25 24V40H1V24Q1 18 8 16Z"/><circle class="merge-headshot-target-head" cx="13" cy="7" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="7" r="3"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="2.5"/></svg>`,G4=`<svg viewBox="0 0 22 22" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="M11 0V5M11 17V22M0 11H5M17 11H22"/><circle class="merge-headshot-crosshair-dot" cx="11" cy="11" r="1"/></svg>`,K4=`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3L8 8M21 3L16 8M3 21L8 16M21 21L16 16"/></svg>`;function q4(){let e=V(`div`,`merge-headshot-sweep`);jd(e,U4());let t=V(`div`,`merge-headshot-aim`);t.append(Ad(`div`,`merge-headshot-crosshair`,G4));let n=V(`div`,`merge-headshot-bob`);return n.append(t,Ad(`div`,`merge-headshot-hitmarker`,K4)),e.append(n),e}function J4(){let e=V(`div`,`merge-headshot-range`),t=V(`div`,`merge-headshot-track`);return t.append(q4()),e.append(Ad(`div`,`merge-headshot-target`,W4),t),e}var Y4={title:`HEADSHOT!`,buildScene:J4},X4=[`10`,`J`,`Q`,`K`,`A`],Z4=19,Q4=5,$4=9,e3=780,t3=70,n3=70,goe=35;function _oe(e){let t=X4.length-1,n=e-t/2;return{offsetPx:n*Z4,titleSpreadFraction:n/t,tiltDegrees:n*Q4,bottomPx:$4-n**2,dealLeadMs:e3-e*t3,flipLeadMs:160+(t-e)*n3,waveDelayMs:e*goe}}function voe(e){return[[`--card-offset`,`${e.offsetPx}px`],[`--card-title-spread`,String(e.titleSpreadFraction)],[`--card-tilt`,`${e.tiltDegrees}deg`],[`--card-bottom`,`${e.bottomPx}px`],[`--card-deal-lead-ms`,`${e.dealLeadMs}ms`],[`--card-flip-lead-ms`,`${e.flipLeadMs}ms`],[`--card-wave-delay-ms`,`${e.waveDelayMs}ms`]]}function yoe(){return[[`--card-flip-ms`,`160ms`]]}var boe=`<svg viewBox="0 0 10 9" aria-hidden="true"><path d="M5 8.5C5 8.5 0 5.3 0 2.6C0 1.1 1.2 0 2.6 0C3.6 0 4.5 .6 5 1.4C5.5 .6 6.4 0 7.4 0C8.8 0 10 1.1 10 2.6C10 5.3 5 8.5 5 8.5Z"/></svg>`;function xoe(e,t){let n=V(`div`,`merge-flush-deal`);jd(n,voe(_oe(t)));let r=V(`div`,`merge-flush-hop`),i=V(`div`,`merge-flush-card`),a=V(`div`,`merge-flush-face`);return a.append(V(`span`,`merge-flush-rank`,e)),a.insertAdjacentHTML(`beforeend`,boe),i.append(V(`div`,`merge-flush-back`),a),r.append(i),n.append(r),n}function Soe(){let e=V(`div`,`merge-flush-table`);return jd(e,yoe()),e.append(...X4.map(xoe)),e}var Coe={title:`ROYAL FLUSH!`,buildScene:Soe},woe=[1,2,3,4],Toe=14,Eoe=3,Doe=3,r3=10,Ooe=20,koe=2,i3=28,a3=18,Aoe=.01,joe=1.5,Moe=2200,Noe=1,o3=120,s3=.35,Poe=4,Foe=65,Ioe=145;function Loe(e){return Math.round(e/(Math.PI*a3)*360)}function c3(e){return Ooe-e*koe}function l3(e){return e.rowIndex*Toe+e.depthIndex*Eoe}function u3(e,t,n){return Array.from({length:n},(r,i)=>e+(t-e)*i/(n-1))}function d3(){return woe.flatMap((e,t)=>Array.from({length:e},(n,r)=>({rowIndex:t,depthIndex:e-1-r})))}function Roe(e,t){let n=E4(u3(15,105,e),t),r=E4(u3(Foe,Ioe,e),t);return n.map((e,n)=>({angleDegrees:e+T4(-4,Poe,t),depthScalePercent:Math.round(r[n])}))}function zoe(e,t,n){let r=T4(240,380,n),i=t.angleDegrees*Math.PI/180,a=r*Math.cos(i),o=(r*Math.sin(i))**2/1560,s=T4(15,45,n),c=w4(o),l=w4(o+s),u=c+l,d=T4(540,1080,n),f=a>=0?1:-1,p=l3(e);return{depthIndex:e.depthIndex,launchAngleDegrees:t.angleDegrees,distanceFromHeadPinPx:p,layer:c3(e.depthIndex),flyXPx:Math.round(a*u/1e3),peakRisePx:Math.round(o),landingDropPx:s,riseMs:c,fallMs:l,flightMs:u,spinDegrees:Math.round(f*d*u/1e3),glintMs:Math.round(180/d*1e3),depthScalePercent:t.depthScalePercent,delayMs:Math.round(p/s3)}}function Boe(e=Math.random){let t=d3(),n=Roe(t.length,e);return t.map((t,r)=>zoe(t,n[r],e))}function Voe(e){return[[`--pin-left`,`${e.distanceFromHeadPinPx}px`],[`--pin-raise`,`${e.depthIndex*Doe}px`],[`--pin-shade`,`${100-e.depthIndex*12}%`],[`--pin-fly-x`,`${e.flyXPx}px`],[`--pin-peak-y`,`${-e.peakRisePx}px`],[`--pin-land-y`,`${e.landingDropPx}px`],[`--pin-rise-ms`,`${e.riseMs}ms`],[`--pin-fall-ms`,`${e.fallMs}ms`],[`--pin-flight-ms`,`${e.flightMs}ms`],[`--pin-spin`,`${e.spinDegrees}deg`],[`--pin-glint-ms`,`${e.glintMs}ms`],[`--pin-depth-scale`,`${e.depthScalePercent}%`],[`--pin-depth-shade`,`${e.depthScalePercent-10}%`],[`--pin-delay`,`${e.delayMs}ms`],[`--pin-layer`,String(e.layer)]]}function Hoe(){return c3(joe)}function Uoe(){return Math.max(...d3().map(l3))+r3}function Woe(){let e=Uoe(),t=i3+e+a3-Noe;return[[`--ball-follow-px`,`${o3}px`],[`--ball-follow-ms`,`${Math.round(o3/s3)}ms`],[`--ball-follow-spin`,`${Loe(o3)}deg`],[`--ball-size`,`${a3}px`],[`--ball-approach-spin`,`${Moe}deg`],[`--ball-impact-inset`,`${t}px`],[`--ball-layer`,String(Hoe())],[`--rack-right`,`${i3}px`],[`--rack-width`,`${e}px`],[`--pin-width`,`${r3}px`]]}function Goe(e=Math.random){return e()>=Aoe?null:PE[Math.floor(e()*PE.length)].sprite}var Koe=`<svg viewBox="0 0 10 24" aria-hidden="true"><path class="merge-strike-pin-body" d="M5 0C7 0 7.6 2 7.2 4C6.9 5.6 6.3 6.6 6.4 8C6.6 10 9.6 12 9.6 16C9.6 19.5 8.4 22 7.6 24H2.4C1.6 22 .4 19.5 .4 16C.4 12 3.4 10 3.6 8C3.7 6.6 3.1 5.6 2.8 4C2.4 2 3 0 5 0Z"/><path class="merge-strike-pin-stripe" d="M3.1 5.2H6.9V6.2H3.1ZM3.4 7H6.6V8H3.4Z"/></svg>`;function qoe(e){let t=V(`span`,`merge-strike-pin`);return t.append(Ad(`span`,`merge-strike-pin-arc`,Koe)),jd(t,Voe(e)),t}function Joe(){let e=Goe();if(!e)return V(`span`,`merge-strike-ball`);let t=V(`span`,`merge-strike-ball is-animal`);return t.append(V(`span`,`nyan-sprite ${e}`)),t}function Yoe(){let e=V(`div`,`merge-strike-lane`);jd(e,Woe());let t=V(`div`,`merge-strike-rack`);t.append(...Boe().map(qoe));let n=V(`div`,`merge-strike-track`);return n.append(Joe()),e.append(t,n),e}var Xoe={title:`STRIKE!`,buildScene:Yoe},Zoe=20,Qoe=92,$oe=23,ese=7,tse=-40;function nse(){let e=w4(72),t=w4(69),n=780*t/1e3;return{launchHeightPx:Zoe,peakHeightPx:Qoe,heightThroughRimPx:$oe,heightLeavingNetPx:ese,heightOutOfCardPx:tse,riseMs:e,fallToRimMs:t,speedThroughRimPxPerSecond:n,netCatchMs:Math.round(32/n*1e3),dropMs:w4(47)}}function rse(e=nse()){return[[`--ball-launch-y`,`${-e.launchHeightPx}px`],[`--ball-peak-y`,`${-e.peakHeightPx}px`],[`--ball-rim-y`,`${-e.heightThroughRimPx}px`],[`--ball-net-exit-y`,`${-e.heightLeavingNetPx}px`],[`--ball-drop-out-y`,`${-e.heightOutOfCardPx}px`],[`--ball-rise-ms`,`${e.riseMs}ms`],[`--ball-fall-to-rim-ms`,`${e.fallToRimMs}ms`],[`--ball-to-rim-ms`,`${e.riseMs+e.fallToRimMs}ms`],[`--ball-net-catch-ms`,`${e.netCatchMs}ms`],[`--ball-drop-ms`,`${e.dropMs}ms`]]}var ise=`<svg viewBox="0 0 40 48" aria-hidden="true"><rect class="merge-swish-pole" x="36" y="28" width="2" height="20"/><rect class="merge-swish-backboard" x="35" y="2" width="3" height="26" rx="1"/><path class="merge-swish-rim" d="M31 18H35M7 18A12 2.5 0 0 1 31 18"/></svg>`,ase=`<svg viewBox="0 0 40 48" aria-hidden="true"><g class="merge-swish-net"><path d="M8 18L12 32M13.5 18L15.5 32M19 18V32M24.5 18L22.5 32M30 18L26 32M9.5 23Q19 25 28.5 23M11 28Q19 29.5 27 28"/></g><path class="merge-swish-rim" d="M7 18A12 2.5 0 0 0 31 18"/></svg>`;function ose(){let e=V(`div`,`merge-swish-ball-drift`),t=V(`div`,`merge-swish-ball-arc`);return t.append(V(`span`,`merge-swish-ball`)),e.append(t),e}function sse(){let e=V(`div`,`merge-swish-court`);jd(e,rse());let t=V(`div`,`merge-swish-track`);return t.append(ose()),e.append(Ad(`div`,`merge-swish-hoop-back`,ise),t,Ad(`div`,`merge-swish-hoop-front`,ase)),e}var f3=[Xoe,{title:`SWISH!`,buildScene:sse},R4,Y4,Coe],cse=48,p3=5600,lse=20,m3=null,h3=[],g3=null,_3=!1,v3=0;function use(e){let t=V(`span`,`merge-confetti-piece`),n=V(`span`,`merge-confetti-arc`);return n.append(V(`span`,`merge-confetti-paper`)),t.append(n),jd(t,M4(e)),t}function dse(e){let t=V(`p`,`merge-celebration-title`);return t.setAttribute(`aria-hidden`,`true`),Array.from(e).forEach((e,n)=>{let r=V(`span`,`merge-celebration-letter`,e);r.style.setProperty(`--letter-delay`,`${n*45}ms`),t.append(r)}),t}function fse(e,t){let n=t.firstElementChild,r=t.lastElementChild;n instanceof HTMLElement&&r instanceof HTMLElement&&(e.style.setProperty(`--celebration-title-width`,`${r.offsetLeft+r.offsetWidth-n.offsetLeft}px`),e.style.setProperty(`--celebration-title-center-y`,`${t.offsetTop+t.offsetHeight/2}px`))}function pse(e){let t=V(`div`,`merge-celebration-scene`);return t.setAttribute(`aria-hidden`,`true`),t.append(e.buildScene()),t}function mse(){return f3[Math.floor(Math.random()*f3.length)]}function hse(e){if(pD())try{kb(C4(e))}catch{}}function gse(e,t,n){m3?.remove(),hse(n);let r=V(`div`,`merge-celebration`);r.setAttribute(`role`,`status`);let i=V(`div`,`merge-celebration-card`),a=V(`div`,`merge-celebration-stage`),o=dse(t.title);a.append(o,V(`p`,`merge-celebration-message`,e),pse(t));let s=V(`div`,`merge-confetti`);s.style.setProperty(`--confetti-scale`,String(A4(n)));for(let e=0;e<cse;e+=1)s.append(use(e));i.append(s,a),r.append(i),document.body.append(r),fse(a,o),m3=r,window.setTimeout(()=>{r.remove(),m3===r&&(m3=null)},p3)}function _se(e){return _3?`playing`:e?`queued`:`empty`}function y3(){if(!g3)return;let e=h3.length>0;g3.tray.dataset.state=_se(e),g3.count.textContent=e?String(h3.length):``,g3.button.disabled=_3||!e}function b3(){let e=h3.shift();_3=e!==void 0,y3(),e&&(gse(e.message,e.scene,v3),v3+=1,window.setTimeout(b3,p3))}function vse(e,t,n){g3={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{v3=0,b3()}),y3()}function yse(e,t=mse()){h3.push({message:e,scene:t}),h3.length>lse&&h3.shift(),y3()}var bse={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},xse=new Set([`FAILURE`,`ERROR`]);function x3(e){return bse[e]}function Sse(e){return e.state===`MERGED`?`Already merged`:e.state===`OPEN`?e.isDraft?`Drafts cannot be merged`:e.isInMergeQueue?`Already in the merge queue`:e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?`Resolve the merge conflicts first`:e.checks.failing.length>0||e.checks.state!==null&&xse.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function S3(e,t,n,r,i,a){return{isVisible:a&&(e.state===`OPEN`||t),isPressed:t,isDisabled:n,statusText:r||(n?`Saving...`:i)}}function Cse(e,t,n=``){if(!t||!e.keepMergeable)return null;let r=C3(e,!1,``,!0,n).statusText;if(e.isKeepMergeableFixInFlight)return{text:`Repairing`,tone:`warn`,title:r};let i=e.keepMergeableAttempt;return!i||i.outcome===`pushed`||i.outcome===`stopped`?null:{text:`Repair failed`,tone:`danger`,title:r}}function C3(e,t,n=``,r=!0,i=``){let a=e.keepMergeableAttempt,o=e.keepMergeable?`On`:`Off`;if(e.keepMergeable&&a&&a.outcome!==`pushed`&&a.outcome!==`stopped`){let e=i?` (${i})`:``;o=`Keep mergeable failed: ${a.reason??`The attempt produced no repair`}${e}`}return e.isKeepMergeableFixInFlight&&(o=`Keep mergeable is running`),S3(e,!!e.keepMergeable,t,n,o,r)}function wse(e){return e?.isKeepMergeableEnabled!==!1}function Tse(e){return e?.isMergeQueueEnabled!==!1}var Ese={one:`st`,two:`nd`,few:`rd`,other:`th`},Dse=new Intl.PluralRules(`en-US`,{type:`ordinal`});function Ose(e){return`${e}${Ese[Dse.select(e)]??`th`}`}function kse(e,t){return e===null?`Not queued`:t?`Repair pushed, waiting for you`:`Queued, ${Ose(e)} in line for this repository`}function Ase(e,t,n=``,r=!0){let i=e.mergeQueuePosition??null;return S3(e,i!==null,t,n,kse(i,!!e.isMergeQueueHeldForRepairPush),r)}var w3=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],jse=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],Mse={conflicts:`Needs you`,behind:`Needs you`,"checks-failing":`Needs you`,"changes-requested":`Needs you`,"unresolved-threads":`Needs you`,"checks-pending":`Waiting`,"needs-approval":`Waiting`,unknown:`Waiting`,ready:`Ready to merge`,draft:`Drafts`,merged:`Merged today`},Nse={merged:`Merged`,draft:`Draft`,conflicts:`Merge conflicts`,behind:`Behind base`,"checks-failing":`Checks failing`,"changes-requested":`Changes requested`,"unresolved-threads":`Unresolved threads`,"checks-pending":`Checks running`,"needs-approval":`Needs approval`,ready:`Ready to merge`,unknown:`Status unknown`},Pse={merged:`muted`,draft:`muted`,conflicts:`danger`,behind:`warn`,"checks-failing":`danger`,"changes-requested":`warn`,"unresolved-threads":`warn`,"checks-pending":`wait`,"needs-approval":`wait`,ready:`ok`,unknown:`muted`},Fse={merged:`merged`,draft:`draft`,conflicts:`conflict`,behind:`behind`,"checks-failing":`failed`,"changes-requested":`changes-requested`,"unresolved-threads":`thread`,"checks-pending":`running`,"needs-approval":`reviewer`,ready:`ready`,unknown:`unknown`};function Ise(e){let t=Xl.safeParse(e);return t.success?t.data:null}function Lse(e){let t=e.filter(e=>e.state===`OPEN`&&!e.isCrossRepository),n=new Map(t.map(e=>[JSON.stringify([e.repo.toLowerCase(),e.headRefName]),e])),r=new Map,i=[];for(let t of e){let e=t.state===`OPEN`?n.get(JSON.stringify([t.repo.toLowerCase(),t.baseRefName])):void 0;if(!e||e.key===t.key){i.push(t);continue}let a=r.get(e.key)??[];a.push(t),r.set(e.key,a)}let a=[],o=new Set;for(let t of[...i,...e]){if(o.has(t.key))continue;let e=[],n=[{pr:t,parentKey:null,depth:0}];for(;n.length>0;){let t=n.pop();if(!t||o.has(t.pr.key))continue;o.add(t.pr.key),e.push(t);let i=r.get(t.pr.key)??[];for(let e=i.length-1;e>=0;--e)n.push({pr:i[e],parentKey:t.pr.key,depth:t.depth+1})}a.push({root:t,rows:e})}return a}function Rse(e){return w3[e.rows.reduce((e,{pr:t})=>Math.min(e,w3.indexOf(Mse[t.stage])),w3.length-1)]}function zse(e){let t=new Map(w3.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of Lse(e)){let e=t.get(Rse(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return jse.flatMap(e=>t.get(e)??[])}function T3(e){return Nse[e]}function E3(e){return Pse[e]}function D3(e){return Fse[e]}function Bse(e){if(e.checks.failing.length>0){let t=e.checks.failing.length-3;return{label:`Checks`,tone:`danger`,icon:`failed`,text:`${e.checks.failing.length} failing: ${e.checks.failing.slice(0,3).join(`, `)}${t>0?` and ${t} more`:``}`}}return e.checks.state===`FAILURE`||e.checks.state===`ERROR`?{label:`Checks`,tone:`danger`,icon:`failed`,text:`Failing`}:e.checks.pendingCount>0?{label:`Checks`,tone:`wait`,icon:`running`,text:`${e.checks.pendingCount} running`}:e.checks.state===`PENDING`||e.checks.state===`EXPECTED`?{label:`Checks`,tone:`wait`,icon:`running`,text:`Running`}:e.checks.state===`SUCCESS`?{label:`Checks`,tone:`ok`,icon:`passed`,text:`Passing`}:{label:`Checks`,tone:`muted`,icon:`none`,text:`No checks`}}function O3(e){return`${e} ${e===1?`approval`:`approvals`}`}function k3(e){return e.reviewRequests.map(e=>e.name).join(`, `)}function Vse(e){let t=e.reviewRequests.length>0?`Requested: ${k3(e)}`:`Approval required`;return e.approvals>0?`${t}, ${O3(e.approvals)}`:t}function Hse(e){let t=e.approvals>0?O3(e.approvals):`Approved`;return e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`${t}, merge blocked`}:{label:`Review`,tone:`ok`,icon:`passed`,text:t}}function Use(e){return e.reviewDecision===`CHANGES_REQUESTED`?{label:`Review`,tone:`warn`,icon:`changes-requested`,text:`Changes requested`}:e.reviewDecision===`APPROVED`?Hse(e):e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:Vse(e)}:e.reviewRequests.length>0?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`Requested: ${k3(e)}`}:{label:`Review`,tone:`muted`,icon:`none`,text:`No review requested`}}function A3(e,t){return t?e.lastAuthor!==t:null}function Wse(e){let t=e.line===null?e.path:`${e.path}:${e.line}`;return e.isOutdated?`${t} (outdated)`:t}function Gse(e){let t=e.commentCount-1;return t===0?`No replies`:`${t} ${t===1?`reply`:`replies`}, last by ${e.lastAuthor??`a deleted account`}`}function Kse(e,t){let n=A3(e,t);return n===null?null:n?{tone:`warn`,icon:`your-turn`,text:`Waiting on you`}:{tone:`wait`,icon:`reviewer`,text:`Waiting on reviewer`}}function qse(e,t){return[...e.threads].sort((e,n)=>{let r=Number(A3(n,t)===!0)-Number(A3(e,t)===!0);return r===0?(Date.parse(n.lastActivityAt)||0)-(Date.parse(e.lastActivityAt)||0):r}).map(e=>({location:Wse(e),url:e.url,author:e.author??`a deleted account`,excerpt:e.excerpt,replySummary:Gse(e),lastActivityAt:e.lastActivityAt,waiting:Kse(e,t)}))}function Jse(e,t){if(e.unresolvedThreads===0)return{label:`Threads`,tone:`ok`,icon:`passed`,text:`None open`};let n=`${e.unresolvedThreads} unresolved`;if(!t||e.threads.length===0)return{label:`Threads`,tone:`warn`,icon:`thread`,text:n};let r=e.threads.filter(e=>A3(e,t)).length;return r===0?{label:`Threads`,tone:`wait`,icon:`thread`,text:`${n}, all waiting on reviewers`}:{label:`Threads`,tone:`warn`,icon:`your-turn`,text:`${n}, ${r} waiting on you`}}function Yse(e){return e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?{label:`Conflicts`,tone:`danger`,icon:`conflict`,text:`Conflicts with ${e.baseRefName}`}:e.mergeable===`MERGEABLE`?{label:`Conflicts`,tone:`ok`,icon:`passed`,text:`None`}:{label:`Conflicts`,tone:`muted`,icon:`unknown`,text:`Not computed yet`}}function Xse(e){let t=e.behindBy!==null&&e.behindBy>0;return e.mergeStateStatus===`BEHIND`?{label:`Base`,tone:`warn`,icon:`behind`,text:t?`${e.behindBy} behind ${e.baseRefName}`:`Behind ${e.baseRefName}`}:e.behindBy===null?{label:`Base`,tone:`muted`,icon:`unknown`,text:`Unknown`}:t?{label:`Base`,tone:`muted`,icon:`behind`,text:`${e.behindBy} behind ${e.baseRefName}, update not required`}:{label:`Base`,tone:`ok`,icon:`passed`,text:`Up to date with ${e.baseRefName}`}}var Zse={APPROVED:{text:`Approved`,tone:`ok`,icon:`passed`},CHANGES_REQUESTED:{text:`Requested changes`,tone:`warn`,icon:`changes-requested`},COMMENTED:{text:`Commented`,tone:`muted`,icon:`thread`},DISMISSED:{text:`Dismissed`,tone:`muted`,icon:`discarded`},PENDING:{text:`Pending`,tone:`wait`,icon:`running`}};function Qse(e){return[...e.reviews].sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).map(e=>{let t=Zse[e.state]??{text:e.state.toLowerCase().replaceAll(`_`,` `),tone:`muted`,icon:`unknown`};return{reviewer:e.reviewer??`a deleted account`,text:t.text,tone:t.tone,icon:t.icon,submittedAt:e.submittedAt}})}function $se(e,t=null){if(e.state===`MERGED`)return[];let n=[Bse(e),Use(e),Jse(e,t),Yse(e),Xse(e)];return e.autoRebase?[...n,e.autoRebase.outcome===`rebased`?{label:`Auto-rebase`,tone:`ok`,icon:`passed`,text:e.autoRebase.message}:{label:`Auto-rebase`,tone:`danger`,icon:`failed`,text:e.autoRebase.message}]:n}function j3(e){return e?e.configured?e.error&&e.prs.length===0?`Pull requests will show here once GitHub answers.`:`No open or recently merged pull requests found.`:`Enable Team review and set its GitHub organization in settings to see your pull requests.`:`Waiting for your pull requests.`}function ece(e,t=0){if(!e)return[];let n=t4(e,t),r=n?[{text:n,tone:`error`}]:[];return e.truncatedNote?[...r,{text:e.truncatedNote,tone:`info`}]:r}function tce(e,t){let n=e.flatMap(e=>e.prs);return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}function nce(e,t){if(!e)return[];let n=new Set(e.filter(e=>e.state===`OPEN`).map(e=>e.key));return t.filter(e=>e.state===`MERGED`&&n.has(e.key))}function rce(e){return e.length===1?`Merged ${e[0].key}`:`Merged ${e.length} pull requests`}var ice={isVisible:!1,isDisabled:!0,statusText:``,tone:null},ace={merged:{statusText:`Merged on GitHub. Refreshing the list.`,tone:`ok`},queued:{statusText:`Added to the merge queue. Refreshing the list.`,tone:`ok`},"auto-merge":{statusText:`Auto-merge enabled. GitHub merges it once its requirements pass.`,tone:`ok`},unconfirmed:{statusText:`GitHub accepted the request but did not confirm a merge. Check GitHub.`,tone:null}};function oce(e,t){if(e.state!==`OPEN`)return ice;let n=t?.head===e.headRefOid?t:void 0;if(n?.phase===`pending`)return{isVisible:!0,isDisabled:!0,statusText:`Merging on GitHub`,tone:`busy`};if(n&&n.phase!==`failed`)return{isVisible:!0,isDisabled:!0,...ace[n.phase]};let r=Sse(e);return r?{isVisible:!0,isDisabled:!0,statusText:r,tone:null}:n?.phase===`failed`?{isVisible:!0,isDisabled:!1,statusText:n.text,tone:`error`}:{isVisible:!0,isDisabled:!1,statusText:`Merges into ${e.baseRefName} with ${x3(e.mergeMethod)}`,tone:null}}function sce(e){return`Merge ${e.key} "${e.title}" into ${e.baseRefName} with ${x3(e.mergeMethod)}, your default for this repository. Glimmervoid does not delete the branch.`}function cce(e){let t=$l.safeParse(e);if(!t.success)return null;let n=e&&typeof e==`object`&&`requestId`in e?e.requestId:null;return typeof n==`string`?{...t.data,requestId:n}:null}var M3=null,N3=null,P3=null,F3=null,I3=null,L3=null,R3=null,z3=new Map,B3=new Set,V3=new Map,H3={label:`Keep mergeable`,pendingKeys:new Set,errorsByKey:new Map,controlState:(e,t,n,r)=>C3(e,t,n,r,XP(e.keepMergeableAttempt?.at)),isFeatureEnabled:wse,save:async(e,t)=>{let n=await Cd(`my-pr-keep-mergeable`,{repo:e.repo,number:e.number,keepMergeable:t});if(n.type!==`my-pr-keep-mergeable-result`||n.key!==e.key)throw Error(`Unexpected keep mergeable reply.`);return n.ok?null:n.error??`Could not save Keep mergeable.`}},lce={label:`Merge when ready`,pendingKeys:new Set,errorsByKey:new Map,controlState:Ase,isFeatureEnabled:Tse,save:async(e,t)=>{let n=await Cd(`my-pr-merge-when-ready`,{repo:e.repo,number:e.number,mergeWhenReady:t});if(n.type!==`my-pr-merge-when-ready-result`||n.key!==e.key)throw Error(`Unexpected merge when ready reply.`);return n.ok?null:n.error??`Could not save Merge when ready.`}},uce=6e4,dce=`No reply from the server. Check GitHub before trying again.`;function U3(e,t){let n=V(`div`,`reviews-refresh-control`),r=V(`button`,`pr-action reviews-refresh-button`,`Refresh`);r.type=`button`;let i=V(`span`,`reviews-refresh-status`);i.setAttribute(`role`,`status`);let a=V(`p`,`my-pr-error reviews-retry-notice`);n.append(r,i);let o=null,s=!1,c=``,l=null;function u(){a.textContent=t4(o,Date.now()),a.hidden!==!o?.error&&(a.hidden=!o?.error);let e=a.isConnected&&!Ud(t)&&!document.hidden&&a.getClientRects().length>0&&e4(o,Date.now());!e&&l!==null&&(window.clearInterval(l),l=null),e&&l===null&&(l=window.setInterval(u,1e3))}function d(e){e!==o&&(c=``),o=e,r.disabled=s||!!e?.isRefreshing||!e?.configured,i.textContent=n4(e,s,c),i.hidden=!i.textContent,u()}r.addEventListener(`click`,async()=>{if(!s){s=!0,c=``,d(o);try{let t=await Cd(`reviews-refresh`,{lane:e});t.type===`reviews-refresh-result`&&(c=t.ok?`Refreshed.`:t.error??`Could not refresh from GitHub.`)}catch(e){c=MP(e)}finally{s=!1,d(o)}}});let f=new MutationObserver(u);f.observe(t,{attributes:!0,subtree:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});for(let e=t.parentElement;e;e=e.parentElement)f.observe(e,{attributes:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});return document.addEventListener(`visibilitychange`,u),{control:n,notice:a,update:d}}function W3(e,t,n,r){z3.set(e,{head:t,phase:n,text:r}),q3()}function fce(e){if(V3.has(e.key))return;let t=Sd(`my-pr-merge`);if(!B({type:`my-pr-merge`,requestId:t,repo:e.repo,number:e.number,headRefOid:e.headRefOid})){W3(e.key,e.headRefOid,`failed`,`Not connected to the server.`);return}let n=window.setTimeout(()=>{V3.delete(e.key),W3(e.key,e.headRefOid,`failed`,dce)},uce);V3.set(e.key,{requestId:t,head:e.headRefOid,timer:n}),z3.set(e.key,{head:e.headRefOid,phase:`pending`,text:``}),q3()}function pce(e){let t=oce(e,z3.get(e.key));if(!t.isVisible)return null;let n=V(`div`,`my-pr-merge`),r=V(`button`,`pr-action`,`Merge`);r.type=`button`,r.disabled=t.isDisabled;let i=V(`span`,`pr-action-status`,t.statusText);return i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`),t.tone&&(i.dataset.tone=t.tone),r.addEventListener(`click`,()=>{yf({title:`Merge pull request`,message:sce(e),confirmLabel:`Merge`,onConfirm:()=>fce(e)})}),n.append(r,i),n}function mce(e,t){let n=t.controlState(e,t.pendingKeys.has(e.key),t.errorsByKey.get(e.key),t.isFeatureEnabled(I3));if(!n.isVisible)return null;let r=V(`div`,`my-pr-merge`),i=V(`button`,`pr-action`,t.label);i.type=`button`,i.disabled=n.isDisabled,i.setAttribute(`aria-pressed`,String(n.isPressed));let a=V(`span`,`pr-action-status`,n.statusText);return a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),i.addEventListener(`click`,async()=>{if(!t.pendingKeys.has(e.key)){t.pendingKeys.add(e.key),t.errorsByKey.delete(e.key),q3();try{let r=await t.save(e,!n.isPressed);r&&t.errorsByKey.set(e.key,r)}catch(n){t.errorsByKey.set(e.key,MP(n))}finally{t.pendingKeys.delete(e.key),q3()}}}),r.append(i,a),r}function G3(e,{hasGlyph:t}){let n=V(`span`,`my-pr-stage`);return n.dataset.tone=E3(e.stage),t&&n.append(ZX(D3(e.stage),E3(e.stage))),n.append(T3(e.stage)),n}function hce(e,t){let n=V(`span`,`my-pr-requested`);n.append(V(`span`,null,`Requested`));let r=V(`span`,`avatar-stack`);for(let t of e.reviewRequests){let e=Md({login:t.name,url:t.isTeam?t.avatarUrl:void 0,cssPx:16});e.title=t.name,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.name),r.append(e)}return n.append(r,V(`span`,`my-pr-requested-names`,t.slice(11))),n}function gce(){if(!M3||!N3||P3?.isConnected)return;let e=d4({queueLabel:`My pull requests`,scopeTabs:N3,resizerLabel:`Resize pull request list`});P3=e.queue,F3=e.detail,M3.replaceChildren(e.columns),R3&&e.foot.append(R3.control)}function K3(e){if(!F3)return;if(!e){F3.replaceChildren(V(`p`,`pr-empty`,j3(I3)));return}let t=V(`article`,`pr-detail`),n=V(`div`,`pr-detail-heading`),r=V(`div`,`pr-detail-title`);r.append(Fd(`pr-link`,e.key,e.url),V(`h2`,null,e.title)),n.append(r,G3(e,{hasGlyph:!0})),t.append(n);for(let n of[H3,lce]){let r=mce(e,n);r&&t.append(r)}let i=$se(e,I3?.viewer??null);if(i.length>0){let n=V(`section`,`pr-readiness-section`);n.append(V(`h3`,`pr-section-heading`,`Merge readiness`));let r=V(`ul`,`pr-readiness`);for(let t of i){let n=V(`li`,`pr-readiness-row`),i=V(`span`,`pr-readiness-value`);t.label===`Review`&&t.text.startsWith(`Requested: `)&&i.append(hce(e,t.text)),i.childNodes.length===0&&(i.textContent=t.text),n.append(ZX(t.icon,t.tone),V(`span`,`pr-readiness-label`,t.label),i),r.append(n)}n.append(r);let a=pce(e);a&&n.append(a),t.append(n)}if(e.checks.failing.length>0){let n=V(`section`,`my-pr-failures`);n.append(V(`h3`,`pr-section-heading`,`Failing checks`));let r=V(`ul`,`my-pr-facts`);for(let t of e.checks.failing)r.append(V(`li`,null,t));n.append(r),t.append(n)}let a=Qse(e);if(a.length>0){let e=V(`section`,`pr-readiness-section`);e.append(V(`h3`,`pr-section-heading`,`Reviews`));let n=V(`ul`,`pr-readiness`);for(let e of a){let t=V(`li`,`pr-readiness-row`),r=Date.parse(e.submittedAt??``),i=Number.isFinite(r)?`${e.text} ${XP(r)}`:e.text,a=V(`span`,`my-pr-reviewer`);a.append(Nd([{login:e.reviewer,tone:e.tone,title:e.reviewer,url:e.reviewer===`a deleted account`?null:void 0}],16),V(`span`,null,e.reviewer)),t.append(ZX(e.icon,e.tone),a,V(`span`,`pr-readiness-value`,i)),n.append(t)}e.append(n),t.append(e)}let o=qse(e,I3?.viewer??null);if(o.length>0){let e=V(`section`,`my-pr-threads-section`);e.append(V(`h3`,`pr-section-heading`,`Unresolved threads`));let n=V(`ul`,`my-pr-threads`);for(let e of o){let t=V(`li`,`my-pr-thread`),r=V(`div`,`my-pr-thread-heading`);if(r.append(Fd(`my-pr-thread-location`,e.location,e.url)),e.waiting){let t=V(`span`,`my-pr-stage`);t.dataset.tone=e.waiting.tone,t.append(ZX(e.waiting.icon,e.waiting.tone),e.waiting.text),r.append(t)}let i=V(`p`,`my-pr-thread-excerpt`);i.append(V(`strong`,null,e.author),` ${e.excerpt}`);let a=Date.parse(e.lastActivityAt),o=V(`p`,`my-pr-thread-meta`,Number.isFinite(a)?`${e.replySummary}, ${XP(a)}`:e.replySummary);t.append(r,i,o),n.append(t)}e.append(n),t.append(e)}let s=V(`p`,`pr-detail-meta`);s.append(V(`span`,null,`Opened ${XP(Date.parse(e.createdAt))}`),V(`span`,null,`${e.state===`MERGED`?`Merged`:`Updated`} ${XP(Date.parse(e.state===`MERGED`?e.mergedAt??``:e.updatedAt))}`)),t.append(s),F3.replaceChildren(t)}function q3(){if(gce(),!P3)return;let e=I3?.prs??[],t=zse(e);L3=tce(t,L3);let n=document.activeElement instanceof HTMLElement&&P3.contains(document.activeElement)?document.activeElement.dataset.prKey:null,r=t.filter(e=>e.rows.length>0).map(e=>{let t=V(`section`,`pr-queue-section`);t.append(V(`h3`,`pr-section-heading`,`${e.title} ${e.rows.length}`));for(let{pr:n,parentKey:r,depth:i}of e.rows){let e=V(`button`,`pr-queue-row`);e.type=`button`,e.dataset.prKey=n.key,r&&(e.style.paddingInlineStart=`${12+Math.min(i,6)*16}px`),e.setAttribute(`aria-current`,String(n.key===L3)),e.title=`${n.key}: ${T3(n.stage)}`;let a=V(`span`,`pr-queue-glyph`);a.append(ZX(D3(n.stage),E3(n.stage)));let o=V(`span`,`pr-queue-top`);o.append(V(`strong`,`pr-queue-ref`,n.key),V(`span`,`pr-queue-title`,n.title));let s=V(`span`,`pr-queue-bottom`);r&&s.append(V(`span`,`my-pr-stage`,`Stacked on ${r}`)),s.append(G3(n,{hasGlyph:!1}),V(`span`,`pr-queue-elapsed`,`opened ${XP(Date.parse(n.createdAt))}`));let c=Cse(n,H3.isFeatureEnabled(I3),XP(n.keepMergeableAttempt?.at));if(c){let e=V(`span`,`my-pr-stage`,c.text);e.dataset.tone=c.tone,e.title=c.title,s.append(e)}e.append(a,o,s),e.addEventListener(`click`,()=>{L3=n.key;for(let e of P3?.querySelectorAll(`button[data-pr-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.prKey===L3));K3(n),document.documentElement.dataset.layout===`phone`&&F3?.scrollIntoView({block:`start`,behavior:`smooth`})}),t.append(e)}return t});if(r.length===0&&P3.replaceChildren(V(`p`,`pr-empty`,j3(I3))),r.length>0){let e=ece(I3,Date.now()).filter(e=>e.tone!==`error`).map(e=>V(`p`,e.tone===`error`?`my-pr-error`:`my-pr-note`,e.text));P3.replaceChildren(...e,...r)}R3&&(P3.prepend(R3.notice),R3.update(I3)),n&&[...P3.querySelectorAll(`button[data-pr-key]`)].find(e=>e.dataset.prKey===n)?.focus({preventScroll:!0}),K3(e.find(e=>e.key===L3))}function _ce(e,t){return M3||(N3=t,M3=V(`div`,`pr-content`),e.append(M3),R3=U3(`my-prs`,M3),q3(),M3)}function vce(e){let t=Ise(e);if(!t)return;let n=nce(I3?.prs??null,t.prs);I3=t,q3(),J3(n)}function J3(e){let t=e.filter(e=>!B3.has(e.key));if(t.length!==0){for(let e of t)B3.add(e.key);yse(rce(t))}}function yce(e){let t=cce(e);if(!t)return;let n=V3.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),V3.delete(t.key),!t.ok){W3(t.key,n.head,`failed`,t.error||`The merge failed.`);return}if(W3(t.key,n.head,t.kind??`unconfirmed`,``),t.kind!==`merged`)return;let r=I3?.prs.find(e=>e.key===t.key);r&&J3([r])}var bce=al.options.join(`|`),Y3=String.raw`\*\*(?:\[([^\]\n]+)\]\s+)?(${bce})\*\*`;function xce(e){return[...e.matchAll(new RegExp(Y3,`g`))].flatMap(e=>{let t=al.safeParse(e[2]);return t.success?[t.data]:[]})}function Sce(e){let t=new RegExp(String.raw`^${Y3}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let n=al.safeParse(t[2]);return n.success?{reviewer:t[1]??null,severity:n.data,length:t[0].length}:null}function X3(e){let t=e.trimStart();return t.startsWith(`> [!NOTE]
|
|
248
|
-
> Automated review. Not written by a human.`)?t.slice(53).trim():e.trim()}var Cce={"direct-request":`Needs you`,"team-request":`Ready`,"changes-requested":`Author to fix`,"checks-failing":`Checks failing`,"checks-pending":`Checks running`,draft:`Draft`,"review-available":`Ready`,approved:`Approved`};function Z3(e){return e.isDraft?{band:`not-ready`,reason:`draft`}:e.reviewDecision===`CHANGES_REQUESTED`?{band:`waiting-on-author`,reason:`changes-requested`}:e.checksState===`FAILURE`||e.checksState===`ERROR`?{band:`waiting-on-author`,reason:`checks-failing`}:e.checksState===`PENDING`||e.checksState===`EXPECTED`?{band:`not-ready`,reason:`checks-pending`}:e.requestSource===`direct`&&e.reviewDecision===`REVIEW_REQUIRED`?{band:`blocking-others`,reason:`direct-request`}:e.reviewDecision===`APPROVED`?{band:`actionable`,reason:`approved`}:{band:`actionable`,reason:e.requestSource===`direct`?`review-available`:`team-request`}}var Q3={APPROVE:{label:`You approved`,tone:`ok`,icon:`passed`},COMMENT:{label:`You commented`,tone:`muted`,icon:`thread`}},$3={APPROVED:{label:`You approved`,tone:`ok`,icon:`passed`},CHANGES_REQUESTED:{label:`You requested changes`,tone:`wait`,icon:`changes-requested`},COMMENTED:{label:`You commented`,tone:`muted`,icon:`thread`}};function e6(e){let t=(e.githubReviews??[]).filter(e=>e.isViewer).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!e.postedEvent)return t?$3[t.state]:null;if(!t)return Q3[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?Q3[e.postedEvent]:$3[t.state]}var wce={"changes-requested":`changes-requested`,"checks-failing":`failed`,"checks-pending":`running`,draft:`draft`};function t6(e){let{reason:t}=Z3(e),n=wce[t];return n?{text:Cce[t],icon:n}:null}function Tce(e){return t6(e)?.text??null}var Ece={discarded:{tone:`muted`,icon:`discarded`,meaning:`Discarded`},handReview:{tone:`warn`,icon:`fork`,meaning:`From a fork`}};function n6(e,t){let n=Tce(t);return n?`${e}, ${n}`:e}function Dce(e){if(fl(e))return!0;let t=(e.githubReviews??[]).filter(e=>e.isViewer);return t.length===0||t.some(t=>t.commit===h6(e))}var Oce={tone:`warn`,icon:`your-turn`,meaning:`Comments resolved`};function r6(e,t){let n=Ece[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,icon:`running`,meaning:n6(`In review`,e)};if(t===`queued`)return{tone:`muted`,icon:`queued`,meaning:n6(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=Dce(e)?e6(e):null;return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`ok`,icon:`passed`,meaning:`Others reviewed`}}if(t===`posted`&&`reviewedHead`in e){let t=e6(e);return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`muted`,icon:`none`,meaning:`Posted`}}if(t===`attention`&&`status`in e)return e.status===`error`?{tone:`danger`,icon:`failed`,meaning:`Review failed`}:{tone:`warn`,icon:`stale`,meaning:`Out of date`};let r=t6(e);return r?{tone:`wait`,icon:r.icon,meaning:r.text}:t===`ready`&&`reviewedHead`in e&&o6(e)?Oce:{tone:`warn`,icon:`your-turn`,meaning:`Waits on you`}}function i6(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function a6(e){return e.status===`posted`&&o6(e)}function o6(e){if(!i6(e)||fl(e))return!1;let t=h6(e);return!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function s6(e){return!e||e.total===0?null:e.total===1?e.resolved===1?`Your 1 comment resolved`:`Your 1 comment unresolved`:e.resolved===e.total?`All ${e.total} of your comments resolved`:`${e.resolved} of ${e.total} of your comments resolved`}function kce(e){return`${e} ${e===1?`comment`:`comments`}`}function c6(e,t,n){let r=[`${D6(e.repo,e.number)}: ${e.title}`],i=`reviewedHead`in e?e.assessment?.goal.trim():``;if(i&&r.push(i),r.push(r6(e,t).meaning),n.opened&&r.push(`Opened ${n.opened}`),n.reviewed&&r.push(`Reviewed ${n.reviewed}`),n.posted&&r.push(`Posted ${n.posted}`),!(`reviewedHead`in e))return r.join(`
|
|
249
|
-
`);let a=s6(e.viewerThreads);a&&r.push(a);let o=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${Rce(e.verdict)}, ${kce(o)}`);let s=v6(e);s&&r.push(`You ${p6[s.state]} at ${el(s.approvedCommit)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(j6(e));let c=x6(e,{isViewerShown:t!==`posted`});for(let[e,t]of c.entries())r.push(b6(t.text,n.githubReviews?.[e]??null));return r.join(`
|
|
250
|
-
`)}function l6(e){if(e.ready.length+e.attention.length+e.handReview.length>0)return null;let t=e.inReview.length+e.queued.length;return t===0?`Nothing needs you right now.`:`Nothing needs you right now. ${t} ${t===1?`review is`:`reviews are`} still running.`}function Ace(e,t){if([...e.ready,...e.attention].filter(e=>e.key!==t).length>0)return{title:`New pull requests need you`,detail:`Pick one from the queue.`};let n=e.handReview.length;return n>0?{title:`Drafts all handled`,detail:`${n} ${n===1?`pull request needs`:`pull requests need`} review by hand.`}:{title:`All caught up`,detail:l6({...e,ready:[],attention:[]})??``}}function u6(e){let t=e.trim();return t.endsWith(`.`)?t:`${t}.`}function jce({action:e,pullRequest:t,warning:n,isActedSelected:r}){let i=L6(e),a=`${t}: ${u6(i)}`;return n.trim()?{statusText:i,shouldAdvance:!1,notice:{text:`${a} ${u6(n)}`,tone:`error`}}:{statusText:i,shouldAdvance:r,notice:null}}function d6(e){let t=[...e.ready,...e.noReviewNeeded,...e.inReview,...e.queued,...e.handReview,...e.attention,...e.posted,...e.discarded];return new Set(t.map(e=>e.repo)).size>1}function f6(e,t,n){return n?D6(e,t):`#${t}`}var Mce={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},Nce={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},Pce=`lanes-team-review`,Fce=`team-review-enabled`,Ice=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),Lce={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function Rce(e){return Lce[e]}var zce=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`}),p6=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),Bce=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),Vce=Object.freeze({approve:`Approved on GitHub`,"approve-only":`Approved on GitHub`,comment:`Comment posted on GitHub`,discard:`Draft discarded`,requeue:`Queued. The next poll reviews it again.`,"resolve-thread":`Thread resolved on GitHub`}),Hce=Object.freeze({approve:`Posting the approval`,"approve-only":`Posting the approval`,comment:`Posting the comment`,discard:`Discarding the draft`,requeue:`Queueing the review`,"resolve-thread":`Resolving thread`});function m6(e){let t={ready:[],noReviewNeeded:[],inReview:[],queued:[],handReview:[],attention:[],posted:[],discarded:[]};if(!e)return t;let n={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},r={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},i=[`blocking-others`,`actionable`,`waiting-on-author`,`not-ready`],a=new Set(e.inFlight.map(e=>e.key));t.inReview.push(...e.inFlight);let o=new Set(e.drafts.filter(e=>g6(e).length>0).map(e=>e.key));t.handReview.push(...e.handReview.filter(e=>!a.has(e.key)&&!o.has(e.key)));let s=new Set(t.handReview.map(e=>e.key));for(let t of e.queued)a.has(t.key)||s.has(t.key)||r[Z3(t).band].push(t);for(let e of i)t.queued.push(...r[e]);let c=new Set(t.queued.map(e=>e.key));for(let r of e.drafts){if(a.has(r.key)||c.has(r.key)||s.has(r.key))continue;if(g6(r).length>0||a6(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!qce(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[Z3(r).band].push(r),(r.status===`stale`||r.status===`error`)&&!e&&t.attention.push(r),r.status===`posted`&&t.posted.push(r),r.status===`discarded`&&t.discarded.push(r)}for(let e of i)t.ready.push(...n[e]);return t}function Uce(e,t){return e.commit===t?e.isViewer||sl.has(e.state):!1}function h6(e){return e.liveHead??e.reviewedHead}function g6(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function Wce(e,t){if(e.isNit)return{label:`Automatic resolution failed`,reason:``,tone:`warn`};let n=e.judgement?.head===t&&e.judgement.lastReplyAt===e.lastReplyAt?e.judgement:void 0;if(n)return{label:n.addressed?`Addressed`:`Not addressed`,reason:n.reason,tone:n.addressed?`ok`:`warn`};let r=e.unjudgeable?.head===t&&e.unjudgeable.lastReplyAt===e.lastReplyAt?e.unjudgeable:void 0;return r?{label:`Auto-check skipped`,reason:r.reason,tone:`muted`}:{label:`Auto-check pending`,reason:``,tone:`muted`}}function _6(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>{let n=Wce(t,h6(e));return{thread:t,location:t.line===null?t.path:`${t.path}:${t.line}`,judgementLabel:n.label,judgementReason:n.reason,judgementTone:n.tone,judgementText:n.reason?`${n.label}: ${n.reason}`:n.label,canResolve:t.viewerCanResolve}})}var Gce=40;function Kce(e,t){return e.split(`
|
|
251
|
-
`).reduce((e,t)=>e+Math.max(1,Math.ceil(t.length/Gce)),0)>t}function qce(e){return g6(e).length>0?!0:fl(e)?!1:o6(e)?!0:!(e.githubReviews??[]).some(t=>Uce(t,h6(e)))}function Jce(e,t){let n=p6[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function v6(e){if(fl(e))return null;let t=(e.githubReviews??[]).filter(e=>e.isViewer&&sl.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!t?.commit||t.commit===h6(e)||t.state===`COMMENTED`)return null;let n=Date.parse(t.submittedAt??``);return e.reviewedAt!==void 0&&n>e.reviewedAt?null:{approvedCommit:t.commit,submittedAt:t.submittedAt,state:t.state,isReviewScopeSinceDecision:e.priorReviewedHead===t.commit}}function y6(e,t){let n=e.state===`APPROVED`?`approved this`:`requested changes`,r=e.state===`APPROVED`?`your approval`:`your request for changes`,i=`You ${n} at ${el(e.approvedCommit)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${i}, so this review covers what changed after ${r}.`:`${i}.`}function Yce(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function b6(e,t){return t?`${e}, ${t}`:e}function x6(e,{isViewerShown:t=!0}={}){return(e.githubReviews??[]).filter(e=>t||!e.isViewer).sort((e,t)=>Number(t.isViewer)-Number(e.isViewer)).map(t=>({login:t.login,tone:Yce(t.state),text:Jce(t,h6(e)),submittedAt:t.submittedAt}))}function Xce(e){return e.ready.length+e.noReviewNeeded.length+e.inReview.length+e.queued.length+e.handReview.length+e.attention.length+e.posted.length+e.discarded.length>0}function S6(e){return[...e.ready,...e.attention].map(e=>e.key)}function Zce({capturedOrder:e,actedKey:t,groups:n}){let r=S6(n).filter(e=>e!==t),i=new Set(r);return e.slice(e.indexOf(t)+1).find(e=>i.has(e))||(e.find(e=>i.has(e))??r[0]??null)}function C6(e,t,n=!1){if(n&&t===null)return null;let r=[...e.ready,...e.inReview,...e.queued,...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded];return t&&r.some(e=>e.key===t)?t:r[0]?.key??null}function Qce(e){return Mce[e]}function $ce(e){return Nce[e]}function ele(e){let t=xce(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function w6(e){let t=ele(e);return al.options.find(e=>t.includes(e))??null}function tle(e){return w6(e)!==`LOW`}var nle=new Set(`ts.tsx.js.jsx.mjs.cjs.json.jsonc.css.scss.less.html.md.mdx.py.go.rs.rb.java.kt.kts.swift.c.h.cc.cpp.hpp.cs.php.sh.bash.zsh.yml.yaml.toml.ini.sql.vue.svelte.astro.lock.txt.ex.exs.erl.scala.dart.lua.tf.proto.graphql.gql.xml.gradle`.split(`.`)),rle=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function ile(e){let t=rle.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:nle.has(n.slice(r+1).toLowerCase())}var ale=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function T6(e){let t=[],n=0;for(let r of e.matchAll(/`([^`\n]+)`/g)){let i=r.index??0;i>n&&t.push({text:e.slice(n,i),kind:`text`});let a=r[1]??``;t.push({text:a,kind:ile(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function E6(e){return e.split(/\r?\n\s*\r?\n/).filter(Boolean).map(e=>{let t=e.match(/^(Suggested fix:|Fix:|Open question[.,:])\s*/),n=t?.[1]??``;return{kind:`prose`,lead:n,leadKind:n.startsWith(`Open question`)?`question`:n?`fix`:null,segments:T6(e.slice(t?.[0].length??0))}})}function ole(e){let t=X3(e),n=Sce(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(ale)){let t=e.index??0;i.push(...E6(r.slice(a,t).trim()));let n=(e[1]??``).trim().split(/\s+/)[0]||null;i.push({kind:`code`,language:n,code:(e[2]??``).replace(/\r?\n$/,``)}),a=t+e[0].length}return i.push(...E6(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function sle(e){let t=e.find(e=>e.kind===`prose`);if(!t)return`Open comment`;let n=`${t.lead} ${t.segments.map(e=>e.text).join(``)}`.trim(),r=n.search(/[.!?](?=\s|$)/);return(r<0?n:n.slice(0,r+1))||`Open comment`}function cle(e){let t=[`Fetch the diff`,`Check out the head`,`Review`,`Draft ready`],n={preparing:0,checkout:1,reviewing:2}[e];return t.map((e,t)=>({label:e,state:t<n?`done`:t===n?`active`:`todo`}))}function D6(e,t){return`${e}#${t}`}function O6(e){return e===`full`?`full`:`light`}function lle(e){return e.priorReviewedHead?`${O6(e.tier)} review of changes since ${el(e.priorReviewedHead)}`:`${O6(e.tier)} review`}function ule(e){return e.reasons.join(`, `)}function dle(e){if(!e)return[];let t=[],n=e.goal.trim(),r=e.change.trim();return n&&t.push({kind:`goal`,text:n}),r&&t.push({kind:`change`,text:r}),t}function fle(e){if(!e)return`No coverage notes`;let t=e.checked.length,n=e.gaps.length,r=[];return t>0&&r.push(`${t} ${t===1?`check`:`checks`}`),n>0&&r.push(`${n} not covered`),r.join(`, `)||`No coverage notes`}function ple(e){return e?{label:`Coverage`,preview:fle(e)}:{label:`Review audit`,preview:``}}var mle=`This review ran before plain summaries existed, so only its verdict and findings remain. The audit log shows what it checked. Queue review to get a plain summary.`,hle=new Set([`error`,`stale`,`discarded`,`posted`]);function k6(e){return hle.has(e)}function gle(e){let t=_le(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function _le(e){return Ice[e]??String(e).toLowerCase()}function vle(e){return zce[e]??`dim`}function yle(e){return Bce[e]??e}function A6(e,t){return`${Fk(t-e.startedAt)} elapsed`}function ble(e,t){let n=[A6(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${Fk(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function j6(e){return e.status===`stale`?`Out of date. Automatic review runs at the next poll after the configured wait. Queue review bypasses the wait.`:e.status===`discarded`?`Not reviewed again until queued.`:e.error||e.summary||`The review failed.`}function M6(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function N6(e){return M6(e.path,e)}function xle(e){return M6(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function Sle(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function Cle(e,t,n,r,i){return t===`approve-only`?{key:e.key,head:e.reviewedHead,action:t,body:``,comments:[]}:{key:e.key,head:e.reviewedHead,action:t,body:n,...i?{threadId:i}:{},comments:r.map(({path:e,line:t,side:n,body:r})=>({path:e,line:t,side:n,body:r}))}}var wle=Object.freeze({approve:`Approve and comment`,"approve-only":`Approve`,comment:`Comment`,discard:`Discard`,requeue:`Queue review`,"resolve-thread":`Resolve`});function P6(e){return wle[e]}function F6(e){return e.status===`ready`?{footer:[`comment`,`approve-only`,`approve`],more:[`requeue`,`discard`]}:bl(e)?{footer:[`approve-only`],more:[`requeue`]}:k6(e.status)?{footer:[`requeue`],more:[]}:{footer:[],more:[]}}function I6(e){return Hce[e]}function L6(e){return Vce[e]}function Tle(e){return e===0?`Picked for review. It starts on the next poll.`:`Waiting for a free review slot. It starts as soon as ${e===1?`the review`:`one of the ${e} reviews`} in progress finishes.`}function Ele(e){return e?e.configured?e.error?`Review drafts will show here once GitHub answers.`:`No review drafts yet. New teammate pull requests show up here after the next poll.`:e.reason?`Team review is not running: ${e.reason}.`:`Team review is off.`:`Waiting for the team review lane.`}function R6(e){return e?.configured&&e.reason||null}function Dle(e){return mk(m6(e).ready.map(e=>`${e.key}@${e.reviewedHead}`))}function z6(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${x6(e).map(e=>e.text).join(`, `)}`}function B6(e){return`reviewedHead`in e?JSON.stringify([e.prCreatedAt,e.reviewedAt,e.postedAt,e.githubReviews,e.liveHead,e.priorReviewedHead,e.viewerThreads]):JSON.stringify([e.prCreatedAt,e.priorReviewedHead])}function Ole(e,t){return!e||e.error!==t.error||e.nextAttemptAt!==t.nextAttemptAt||JSON.stringify(e.retry)!==JSON.stringify(t.retry)||e.isRefreshing!==t.isRefreshing||e.refreshNotice!==t.refreshNotice||JSON.stringify(e.team)!==JSON.stringify(t.team)||e.configured!==t.configured||e.reason!==t.reason||e.inFlight.map(e=>e.key).join(`
|
|
252
|
-
`)!==t.inFlight.map(e=>e.key).join(`
|
|
253
|
-
`)||JSON.stringify(e.handReview)!==JSON.stringify(t.handReview)||JSON.stringify(e.queued)!==JSON.stringify(t.queued)?!1:JSON.stringify(e.drafts)===JSON.stringify(t.drafts)}var kle=12e4,V6=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,H6=null,U6=null,W6=null,G6=null,K6=null,q6=null,J6=null,Y6=null,X6=null,Z6=null,Q6=null,$6=null,e8=null,t8=null,n8=QP(()=>U6),r8=QP(()=>U6),i8=QP(()=>U6),a8=new WeakMap,o8=new Map,s8=new Map,c8=new Map,l8=gk({getAck:ZD,setAck:QD,signature:()=>Dle(H6),isLooking:()=>!Ud(U6)});function Ale(e){let t=Qce(e),n=V(`span`,`pr-severity-meter`);if(n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,`${e.toLowerCase()} severity`),n.style.color=`var(${t.colorToken})`,e===`CRITICAL`){let e=KL(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(GL(`path`,{d:V6,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=KL(9,11),i=e<t.filledCount;r.append(GL(`path`,{d:V6,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function jle(e){let{verdict:t}=e,n=V(`span`,`pr-verdict-seal`);n.dataset.tone=vle(t);let r=KL(20,20),i=$ce(t);return r.append(GL(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:i===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),i===`check`&&r.append(GL(`path`,{d:`M6 10.5L8.7 13L14 7.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),i===`dot`&&r.append(GL(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),i===`bar`&&r.append(GL(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),i===`cross`&&r.append(GL(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),n.append(r,V(`span`,null,gle(t))),n}function Mle(){let e=KL(16,16);return e.append(GL(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(GL(`path`,{d:`M6 6.2C6 4.9 7 4.2 8 4.2C9.1 4.2 10 5 10 6C10 7.4 8 7.4 8 9.2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`})),e.append(GL(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function u8(e){return Fd(`pr-link`,D6(e.repo,e.number),e.url)}function d8(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function f8(e,t){let n=d8(t);if(n===null)return null;let r=V(`span`,null,`${e}${e?` `:``}${XP(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function p8(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`)){let e=a8.get(t);if(!e)continue;let n=()=>{t.title=e(),t.setAttribute(`aria-label`,t.title)};n(),i8.onTick(n)}for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=H6?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?v6(e):null;if(!n)continue;let r=()=>{t.textContent=y6(n,h8(n.submittedAt))};r(),i8.onTick(r)}for(let t of e.querySelectorAll(`[data-age-at]`)){let e=Number(t.dataset.ageAt),n=t.dataset.reviewTitle;if(n!==void 0){let r=()=>{let r=b6(n,XP(e));t.title=r,t.setAttribute(`aria-label`,r)};r(),i8.onTick(r);continue}let r=t.dataset.ageLabel??``;i8.track(t,e,()=>`${r}${r?` `:``}${XP(e)}`)}}}function m8(e,t,n,r=!0){let i=x6(e,{isViewerShown:r});if(i.length===0)return null;let a=V(`span`,t),o=Nd(i.map(e=>({login:e.login,tone:e.tone,title:b6(e.text,h8(e.submittedAt))})),n);for(let[e,t]of i.entries()){let n=o.children[e];if(!(n instanceof HTMLElement)||!t.submittedAt)continue;let r=d8(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r),n.dataset.reviewTitle=t.text)}return a.append(o),a}function h8(e){let t=d8(e);return t===null?null:XP(t)}function g8(e,t,n){let r=V(`span`,n);return r.append(Md({login:e,cssPx:t}),V(`span`,null,e)),r}function Nle(e,t,n){let r=V(`button`,`pr-queue-row pr-queue-row-quiet`);r.type=`button`,r.dataset.reviewKey=e.key,r.setAttribute(`aria-current`,String(e.key===X6));let i=`reviewedHead`in e?v6(e):null,a=()=>c6(e,t,{opened:h8(e.prCreatedAt),reviewed:`reviewedHead`in e?h8(e.reviewedAt):null,posted:`reviewedHead`in e?h8(e.postedAt):null,viewerApproval:h8(i?.submittedAt),githubReviews:`reviewedHead`in e?x6(e,{isViewerShown:t!==`posted`}).map(e=>h8(e.submittedAt)):[]});r.title=a(),r.setAttribute(`aria-label`,r.title),a8.set(r,a);let o=y8(e,n);if(t===`inReview`){let t=e,n=V(`span`,`pr-queue-elapsed`);n8.track(n,t.startedAt,()=>A6(t,Date.now())),o.append(n)}if(t===`queued`){let t=f8(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),o.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=f8(``,t.reviewedAt)??f8(``,t.prCreatedAt);n&&(n.classList.add(`pr-queue-elapsed`),o.append(n))}if(t===`discarded`)return r.classList.add(`pr-queue-row-compact`),r.append(o),_8(r,e.key),r;r.classList.remove(`pr-queue-row-quiet`);let s=r6(e,t),c=V(`span`,`pr-queue-glyph`);c.append(ZX(s.icon,s.tone));let l=V(`span`,`pr-queue-bottom`);if(l.append(v8(s),g8(e.author,16,`pr-queue-author`)),e.requestSource===`direct`){let e=V(`span`,`pr-queue-direct`,`@`);e.title=`Requested from you directly`,l.append(e)}t===`inReview`&&l.append(V(`span`,`pr-phase-label`,yle(e.phase))),r.append(c,o,l);let u=t===`inReview`||t===`queued`?null:m8(e,`pr-queue-reviewers`,16,t!==`posted`);return u&&l.append(u),_8(r,e.key),r}function _8(e,t){e.addEventListener(`click`,()=>{X6=t,Z6=null,x8(null);for(let e of K6?.querySelectorAll(`button[data-review-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.reviewKey===X6));W8(m6(H6)),i8.reset(),p8(U6),document.documentElement.dataset.layout===`phone`&&J6?.scrollIntoView({block:`start`,behavior:`smooth`})})}function v8(e){let t=V(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function y8(e,t){let n=V(`span`,`pr-queue-top`);return n.append(V(`strong`,`pr-queue-ref`,f6(e.repo,e.number,t)),V(`strong`,`pr-queue-ref-compact`,f6(e.repo,e.number,!1)),V(`span`,`pr-queue-title`,e.title)),n}function Ple(e,t){let n=V(`section`,`pr-queue-section`);n.append(V(`h3`,`pr-section-heading`,`Review by hand ${e.length}`));for(let r of e){let e=Fd(`pr-queue-row`,``,r.url),i=()=>c6(r,`handReview`,{opened:h8(r.prCreatedAt)});e.title=i(),a8.set(e,i);let a=r6(r,`handReview`),o=V(`span`,`pr-queue-glyph`);o.append(ZX(a.icon,a.tone));let s=V(`span`,`pr-queue-bottom`);s.append(v8(a),g8(r.author,16,`pr-queue-author`)),e.append(o,y8(r,t),s),n.append(e)}return n}function b8({title:e,detail:t}){let n=V(`section`,`pr-caught-up`);n.setAttribute(`role`,`status`);let r=V(`strong`,`pr-caught-up-title`);return r.append(ZX(`ready`,`ok`),V(`span`,null,e)),n.append(r,V(`p`,`pr-caught-up-detail`,t)),n}function x8(e){Q6=e,$6&&($6.hidden=e===null,$6.textContent=e?.text??``,e&&($6.dataset.tone=e.tone))}function S8(e,t,n,r){let i=V(`section`,`pr-queue-section`);i.append(V(`h3`,`pr-section-heading`,`${e} ${t.length}`));for(let e of t)i.append(Nle(e,n,r));return i}function C8(e){let t=V(`div`,`pr-detail-heading`);t.dataset.signature=B6(e);let n=V(`div`,`pr-detail-title`);n.append(u8(e),V(`h2`,null,e.title));let r=V(`div`,`pr-detail-meta`);r.append(g8(e.author,20,`pr-detail-author`));let i=V(`span`,null,lle(e));i.title=ule(e),r.append(i);let a=f8(`Opened`,e.prCreatedAt);if(a&&r.append(a),`reviewedHead`in e){let t=f8(`Reviewed`,e.reviewedAt);t&&r.append(t);let n=f8(`Posted`,e.postedAt);n&&r.append(n)}let o=`reviewedHead`in e?m8(e,`pr-detail-github`,20):null;if(o&&r.append(o),t.append(n,r),`reviewedHead`in e){let n=s6(e.viewerThreads);if(n){let r=V(`p`,`pr-viewer-threads`,n);i6(e)&&(r.dataset.state=`all-resolved`),t.append(r)}}let s=`reviewedHead`in e?v6(e):null;if(s){let n=V(`p`,`pr-rereview-notice`,y6(s,h8(s.submittedAt)));n.dataset.reviewKey=e.key,t.append(n)}return t}function w8(e,t){let n=e.querySelector(`:scope > .pr-detail-heading`);if(!n||n.dataset.signature===B6(t))return e;let r=C8(t),i=n.querySelector(`:scope > .pr-detail-title > .pr-detail-more`);return i&&r.querySelector(`:scope > .pr-detail-title`)?.append(i),n.replaceWith(r),e}function T8(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}`}function E8(e,t){for(let n of t){if(n.kind===`text`){e.append(document.createTextNode(n.text));continue}if(n.kind===`code`){e.append(V(`code`,null,n.text));continue}let t=V(`span`,`pr-citation`,n.text);t.title=n.text,e.append(t)}return e}function D8(e,t){return E8(e,T6(t))}function O8(e,t,n){let r=V(`div`,`pr-assessment-part`);return n&&(r.dataset.tone=n),r.append(V(`h4`,`pr-assessment-title`,e),t),r}function k8(e){let t=V(`ul`,`pr-assessment-list`);for(let n of e)t.append(D8(V(`li`,null),n));return t}function A8(e){let t=dle(e.assessment);if(t.length===0)return[];let n=V(`section`,`pr-about-box`);n.setAttribute(`aria-label`,`About this PR`),n.append(V(`h3`,`pr-assessment-title`,`About this PR`));for(let e of t){let t=e.kind===`goal`?`pr-verdict-summary pr-about-goal`:`pr-verdict-summary`;n.append(D8(V(`p`,t),e.text))}return[n]}function j8(e){let t=V(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=V(`div`,`pr-verdict-line`);return n.append(jle(e)),t.append(n),e.assessment?(t.append(D8(V(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t):(t.append(V(`p`,`pr-verdict-legacy`,mle)),t)}function M8(e){let t=V(`details`,`pr-disclosure pr-coverage`),n=V(`summary`,`pr-disclosure-summary`),r=ple(e.assessment);n.append(V(`span`,`pr-disclosure-label`,r.label),V(`span`,`pr-disclosure-preview`,r.preview)),t.append(n);let{assessment:i}=e;return i?(i.checked.length>0&&t.append(O8(`What the review checked`,k8(i.checked))),i.gaps.length>0&&t.append(O8(`Not covered`,k8(i.gaps),`warning`)),t):(t.append(D8(V(`p`,`pr-verdict-summary`),e.summary)),t)}function Fle(e){if(e.kind===`code`){let t=V(`pre`,`pr-comment-code`),n=V(`code`,null);return n.textContent=e.code,t.append(n),t}let t=V(`p`,`pr-comment-paragraph`);if(e.lead){let n=V(`strong`,`pr-comment-lead pr-comment-lead-${e.leadKind}`);e.leadKind===`question`&&n.append(Mle()),n.append(e.lead),t.append(n,` `)}return E8(t,e.segments)}function Ile(e,t,n,r){let i=V(`article`,`pr-comment-card`),a=V(`input`,`pr-comment-checkbox`);a.type=`checkbox`,a.checked=n.has(t),a.setAttribute(`aria-label`,`Include comment on ${N6(e)}`),a.addEventListener(`change`,()=>{a.checked&&n.add(t),a.checked||n.delete(t),i.dataset.included=String(a.checked),r()}),i.dataset.included=String(a.checked);let o=V(`details`,`pr-comment-content`),s=V(`summary`,`pr-comment-header`),c=ole(e.body),l=w6(e);l&&s.append(Ale(l));let u=V(`span`,`pr-comment-location`,xle(e));u.title=N6(e),s.append(u),s.append(V(`span`,`pr-comment-preview`,sle(c.paragraphs))),o.append(s);let d=V(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)d.append(Fle(e));return o.append(d),o.open=l===`HIGH`||l===`CRITICAL`,i.append(a,o),i}var N8=`More review actions`,Lle=`M3 8h0.01M8 8h0.01M13 8h0.01`,Rle=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function P8(e,t,n,r,i,a,o){let s=S6(m6(H6));x8(null);let c=Sd(`team-review-action`);if(!B({type:`team-review-action`,requestId:c,...Cle(t,n,r,i,o)}))return!1;let l=window.setTimeout(()=>{c8.delete(t.key),a(!1,`No reply from the server. Check GitHub before trying again.`)},kle);return c8.set(t.key,{requestId:c,action:n,origin:e,capturedOrder:s,pullRequest:D6(t.repo,t.number),timer:l,settle:a}),!0}var F8=0;function I8(e,t){let n=V(`div`,`pr-detail-more`),r=V(`button`,`review-icon-button review-more-button`);r.type=`button`,r.title=N8,r.setAttribute(`aria-label`,N8),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`);let i=KL(16,16);i.append(GL(`path`,{d:Lle,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r.append(i),F8+=1;let a=V(`div`,`review-more-menu`);a.id=`pr-more-menu-${F8}`,a.setAttribute(`role`,`menu`),a.setAttribute(`aria-label`,N8),a.hidden=!0,r.setAttribute(`aria-controls`,a.id);let o=e=>{e.key===`Escape`&&(e.preventDefault(),c(),r.focus())},s=e=>{e.target instanceof Node&&n.contains(e.target)||c()};function c(){a.hidden=!0,r.setAttribute(`aria-expanded`,`false`),document.removeEventListener(`keydown`,o),document.removeEventListener(`pointerdown`,s)}let l=()=>{a.hidden=!1,r.setAttribute(`aria-expanded`,`true`),document.addEventListener(`keydown`,o),document.addEventListener(`pointerdown`,s),a.querySelector(`button:not(:disabled)`)?.focus()};r.addEventListener(`click`,()=>{if(a.hidden){l();return}c()});let u=[r];for(let n of e){let e=V(`button`,n===`discard`?`review-btn review-btn-danger`:`review-btn`,P6(n));e.type=`button`,e.dataset.action=n,e.setAttribute(`role`,`menuitem`),e.addEventListener(`click`,()=>{c(),t(n)}),u.push(e),a.append(e)}return n.append(r,a),{element:n,controls:u}}function L8(e,t){let n=V(`button`,`pr-action`,P6(e));return n.type=`button`,n.dataset.action=e,n.addEventListener(`click`,()=>t(e)),n}function R8(e,t){e.querySelector(`:scope > .pr-detail-heading > .pr-detail-title`)?.append(t)}function zle(e){let t=V(`article`,`pr-detail`),n=V(`div`);n.dataset.reviewThreads=``,t.append(C8(e),...A8(e),n,j8(e)),z8(t,e);let r=V(`section`,`pr-posts`);r.setAttribute(`aria-label`,`Inline comments`);let i=V(`div`,`pr-posts-heading`);i.append(V(`h3`,null,`Inline comments`),V(`span`,null,String(e.comments.length))),r.append(i);let a=V(`details`,`pr-disclosure`),o=V(`summary`,`pr-disclosure-summary`),s=V(`span`,`pr-disclosure-preview`);o.append(V(`span`,`pr-disclosure-label`,`Review body`),s),a.append(o);let c=V(`textarea`,`pr-body-input`);c.setAttribute(`aria-label`,`Review body`),c.value=e.body,c.rows=Math.min(10,Math.max(3,e.body.split(`
|
|
254
|
-
`).length+1)),c.spellcheck=!0;let l=()=>{s.textContent=X3(c.value).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||`No review body`};c.addEventListener(`input`,l),l(),a.append(c);let u=V(`details`,`pr-disclosure`);u.append(V(`summary`,`pr-disclosure-summary`,`Add a note`));let d=V(`textarea`,`pr-body-input pr-note-input`);d.setAttribute(`aria-label`,`Your note`),d.rows=2,d.spellcheck=!0,d.placeholder=`Posts above the automated-review note`,u.append(d);let f=new Set(e.comments.flatMap((e,t)=>tle(e)?[t]:[])),p=V(`footer`,`pr-footer`),m=V(`span`,`pr-action-status`);m.setAttribute(`role`,`status`),m.setAttribute(`aria-live`,`polite`);let h=()=>{c8.has(e.key)||m.dataset.tone===`ok`||(m.textContent=``,delete m.dataset.tone)};for(let[t,n]of e.comments.entries())r.append(Ile(n,t,f,h));t.append(r,a,u,M8(e));let g=[],_=e=>{for(let t of g)t.disabled=e;t.dataset.busy=String(e)},v=(e,t)=>{_(e),m.dataset.tone=e?`ok`:`error`,m.textContent=t},y=t=>{if(c8.has(e.key))return;_(!0),m.dataset.tone=`busy`,m.textContent=I6(t);let n=e.comments.filter((e,t)=>f.has(t));P8(`ready`,e,t,Sle(d.value,c.value),n,v)||v(!1,`Not connected to the server.`)},ee=F6(e),b=ee.footer.map(e=>L8(e,y)),te=I8(ee.more,y);return g.push(...b,...te.controls),R8(t,te.element),p.append(...b,m),t.append(p),{signature:z6(e),element:t,settle:v}}function Ble(e){let t=o8.get(e.key);if(t&&(c8.has(e.key)||t.signature===z6(e)))return z8(t.element,e),w8(t.element,e);let n=zle(e);return o8.set(e.key,n),n.element}function Vle(e,t){let n=V(`article`,`pr-detail`),r=V(`div`,`pr-detail-heading`),i=V(`div`,`pr-detail-title`);i.append(u8(e),V(`h2`,null,e.title));let a=V(`div`,`pr-detail-meta`);a.append(g8(e.author,20,`pr-detail-author`));let o=f8(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a),n.append(r,V(`p`,`pr-attention-detail`,Tle(t))),n}function Hle(e){let t=V(`article`,`pr-detail`);t.append(C8(e));let n=V(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=V(`ol`,`pr-progress-tracker`);for(let t of cle(e.phase)){let e=V(`li`,`pr-progress-stage`);e.dataset.state=t.state,e.append(V(`span`,`pr-progress-bar`),V(`span`,null,t.label)),r.append(e)}let i=V(`div`,`pr-progress-text`);r8.track(i,e.startedAt,()=>ble(e,Date.now())),n.append(r,i),t.append(n);let a=V(`section`,`pr-steps`);a.append(V(`h3`,null,`Latest agent steps`));let o=V(`ol`,`pr-step-list`);for(let t of e.recentSteps){let n=V(`li`,`pr-step`),r=V(`span`,`pr-step-detail`,t.detail);r.title=t.detail,n.append(V(`span`,`pr-step-at`,Ik(e.startedAt,t.at)),V(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a),t}function z8(e,t){if(c8.has(t.key))return;let n=e.querySelector(`:scope > [data-review-threads]`),r=JSON.stringify([t.liveHead,t.threads]);n&&n.dataset.reviewThreads!==r&&(n.replaceChildren(...V8(t)),n.dataset.reviewThreads=r)}function B8(e,t,n,r){let i=V(`div`,t?`pr-thread-message pr-thread-message-muted`:`pr-thread-message`);if(i.append(V(`p`,`pr-thread-body pr-thread-preview`,e)),!n&&!Kce(e,t?3:8))return i;let a=V(`details`,`pr-thread-disclosure`);return a.append(V(`summary`,`pr-thread-expand`,t?`Expand comment`:`Expand reply`),V(`p`,`pr-thread-body`,e)),n&&a.append(Fd(`pr-link pr-thread-continues`,t?`Comment continues on GitHub`:`Reply continues on GitHub`,r)),i.append(a),i}function V8(e){let t=_6(e);if(t.length===0)return[];let n=V(`section`,`my-pr-threads-section`);n.append(V(`h3`,`pr-section-heading`,`Answered threads`));let r=V(`div`,`my-pr-threads`);for(let n of t){let t=V(`div`,`my-pr-thread pr-thread-card`),i=V(`div`,`my-pr-thread-heading pr-thread-heading`),a=V(`span`,`pr-thread-chip`,n.judgementLabel);a.dataset.tone=n.judgementTone,i.append(Fd(`pr-link my-pr-thread-location`,n.location,n.thread.url),a),t.append(i),n.judgementReason&&t.append(V(`p`,`my-pr-thread-meta`,n.judgementReason)),n.thread.viewerComment&&t.append(V(`div`,`my-pr-thread-meta`,`Your comment`),B8(n.thread.viewerComment,!0,n.thread.viewerCommentTruncated===!0,n.thread.url));let o=V(`div`,`pr-detail-meta pr-thread-reply-meta`,`${n.thread.lastReplyAuthor} replied`),s=f8(``,n.thread.lastReplyAt);s&&o.append(s);let c=V(`span`,`pr-action-status`);c.setAttribute(`role`,`status`);let l=V(`button`,`pr-action`,`Resolve`);l.type=`button`,l.disabled=!n.canResolve||c8.has(e.key);let u=(e,t)=>{l.disabled=e||!n.canResolve,c.textContent=t,c.dataset.tone=e?`ok`:`error`};l.addEventListener(`click`,()=>{c8.has(e.key)||(l.disabled=!0,c.textContent=I6(`resolve-thread`),!P8(`other`,e,`resolve-thread`,``,[],u,n.thread.id)&&u(!1,`Not connected to the server.`))}),t.append(o),n.thread.lastReplyBody&&t.append(B8(n.thread.lastReplyBody,!1,n.thread.lastReplyTruncated===!0,n.thread.url));let d=V(`footer`,`pr-thread-footer`);d.append(c,l),t.append(d),n.thread.resolveError&&t.append(V(`p`,`pr-attention-detail`,n.thread.resolveError)),r.append(t)}return n.append(r),[n]}function H8(e){let t=V(`article`,`pr-detail`);if(t.append(C8(e),...A8(e),...V8(e)),e.status===`posted`&&t.append(j8(e),M8(e)),e.status!==`posted`&&t.append(V(`p`,`pr-attention-detail`,j6(e))),!k6(e.status))return s8.set(e.key,{signature:T8(e),element:t,settle:()=>{}}),t;let n=V(`footer`,`pr-footer`),r=F6(e),i=V(`span`,`pr-action-status`,r.footer.includes(`approve-only`)?Rle:``);i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`);let a=[],o=(e,t)=>{for(let t of a)t.disabled=e;i.dataset.tone=e?`ok`:`error`,i.textContent=t},s=t=>{if(!c8.has(e.key)){for(let e of a)e.disabled=!0;i.dataset.tone=`busy`,i.textContent=I6(t),!P8(`other`,e,t,``,[],o)&&o(!1,`Not connected to the server.`)}},c=r.footer.map(e=>L8(e,s));if(a.push(...c),r.more.length>0){let e=I8(r.more,s);a.push(...e.controls),R8(t,e.element)}return n.append(...c,i),t.append(n),s8.set(e.key,{signature:T8(e),element:t,settle:o}),t}function U8(e){if(!k6(e.status)&&_6(e).length===0)return H8(e);let t=s8.get(e.key);return t&&(c8.has(e.key)||t.signature===T8(e))?w8(t.element,e):H8(e)}function W8(e){if(!J6)return;if(X6=C6(e,X6,Z6!==null),!X6){if(Z6!==null){let t=Z6.actedKey;t&&![...e.ready,...e.attention].some(e=>e.key===t)&&(Z6={actedKey:null}),J6.replaceChildren(b8(Ace(e,Z6.actedKey))),e8=null;return}J6.replaceChildren(),e8=null;return}let t=e.ready.find(e=>e.key===X6&&(g6(e).length>0||a6(e)));if(t&&t.status!==`ready`){let e=`threads:${T8(t)}`,n=U8(t);if(e8===e&&J6.firstElementChild===n)return;J6.replaceChildren(n),e8=e;return}let n=[...e.ready,...e.noReviewNeeded].find(e=>e.key===X6&&e.status===`ready`);if(n){let e=`ready:${z6(n)}`,t=Ble(n);if(e8===e)return;J6.replaceChildren(t),e8=e;return}let r=e.inReview.find(e=>e.key===X6);if(r){r8.reset(),J6.replaceChildren(Hle(r)),e8=`inReview:${r.key}`;return}let i=e.queued.find(e=>e.key===X6);if(i){let t=`queued:${i.key}:${e.inReview.length}`;if(e8===t)return;J6.replaceChildren(Vle(i,e.inReview.length)),e8=t;return}let a=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===X6);a&&(J6.replaceChildren(U8(a)),e8=`${a.status}:${a.key}`)}function Ule(){let e=V(`p`,`pr-empty`,Ele(H6));return H6&&!H6.configured&&e.append(` `,mW(Pce,Fce,`Open Team review settings`)),e}function G8(){let e=R6(H6);return e?[V(`p`,`my-pr-note`,e)]:[]}function Wle(e){for(let t of[...o8.keys()])e.has(t)||c8.has(t)||o8.delete(t);let t=new Set(H6?.drafts.filter(e=>k6(e.status)).map(e=>e.key)??[]);for(let e of s8.keys())t.has(e)||c8.has(e)||s8.delete(e)}function Gle(){if(!U6||!W6||K6?.isConnected)return;let e=d4({queueLabel:`Review queue`,scopeTabs:W6,resizerLabel:`Resize review queue`});K6=e.queue,$6=V(`p`,`pr-action-status pr-action-notice`),$6.setAttribute(`role`,`status`),$6.setAttribute(`aria-live`,`polite`),J6=V(`div`,`pr-detail-body`),e.detail.append($6,J6),x8(Q6),G6&&e.foot.append(G6.control),U6.replaceChildren(e.columns),e8=null,q6=null}function K8(e){if(!e)return;e.querySelector(`.pr-team-chip`)?.remove();let t=H6?.team;if(!t)return;let n=V(`span`,`pr-team-chip`);n.append(Md({login:t.slug,url:t.avatarUrl,cssPx:16}),V(`span`,null,t.name)),e.insertBefore(n,e.querySelector(`.pr-queue-toggle`))}function q8(){let e=document.activeElement;return!(e instanceof HTMLElement)||!K6?.contains(e)?null:e.dataset.reviewKey??null}function J8(e){e&&K6&&[...K6.querySelectorAll(`button[data-review-key]`)].find(t=>t.dataset.reviewKey===e)?.focus({preventScroll:!0})}function Y8(){if(!U6)return;let e=q8(),t=m6(H6);if(Wle(new Set([...t.ready,...t.noReviewNeeded].map(e=>e.key))),i8.reset(),!H6?.configured||!Xce(t)&&Z6===null){n8.reset(),r8.reset();let e=l4(W6);K8(e),U6.replaceChildren(e,...G6?[G6.notice]:[],...G8(),Ule(),u4(G6?.control??null)),G6?.update(H6),K6=null,q6=null,J6=null,$6=null,Y6=null,e8=null;return}if(Gle(),!K6)return;K8(U6.querySelector(`.pr-queue-head`)),X6=C6(t,X6,Z6!==null);let n=d6(t),r=JSON.stringify([t,n,X6,R6(H6)]);if(r===q6){G6?.update(H6),W8(t),p8(U6);return}q6=r,n8.reset();let i=[],a=l6(t);a&&i.push(b8({title:`All caught up`,detail:a})),t.ready.length&&i.push(S8(`Ready`,t.ready,`ready`,n)),t.inReview.length&&(Y6=S8(`In review`,t.inReview,`inReview`,n),i.push(Y6)),t.queued.length&&i.push(S8(`Queued`,t.queued,`queued`,n)),t.noReviewNeeded.length&&i.push(S8(`Already reviewed`,t.noReviewNeeded,`settled`,n)),t.handReview.length&&i.push(Ple(t.handReview,n)),t.attention.length&&i.push(S8(`Needs attention`,t.attention,`attention`,n)),t.posted.length&&i.push(S8(`Waiting on author`,t.posted,`posted`,n)),t.discarded.length&&i.push(S8(`Discarded`,t.discarded,`discarded`,n)),K6.replaceChildren(...G6?[G6.notice]:[],...G8(),...i),G6?.update(H6),J8(e),W8(t),p8(U6)}function X8(){t8&&t8(l8.refresh())}function Kle(){l8.acknowledge(),X8()}function qle(e){t8=e,X8()}function Jle(e,t){return U6||(W6=t,U6=V(`div`,`pr-content`),e.append(U6),G6=U3(`team-review`,U6),n8.ensure(),r8.ensure(),i8.ensure(),Y8(),U6)}function Yle(e){let t=Al.safeParse(e);if(!t.success)return;let n=H6;H6=t.data,!(Ole(n,t.data)&&Xle())&&(Y8(),X8())}function Xle(){if(!H6||!Y6?.isConnected)return!1;n8.reset(),i8.reset();let e=q8(),t=m6(H6),n=S8(`In review`,t.inReview,`inReview`,d6(t));return Y6.replaceWith(n),Y6=n,J8(e),t.inReview.some(e=>e.key===X6)&&W8(t),p8(U6),!0}function Zle(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=c8.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),c8.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:L6(n.action)),s8.delete(t.key),e8=null,t.ok===!0&&Y8();return}let r=(n.origin===`ready`?o8:s8).get(t.key);if(t.ok===!0){n.origin===`other`&&s8.delete(t.key);let e=jce({action:n.action,pullRequest:n.pullRequest,warning:typeof t.warning==`string`?t.warning:``,isActedSelected:X6===t.key});if((r?.settle??n.settle)?.(!0,e.statusText),(e.notice||e.shouldAdvance)&&x8(e.notice),!e.shouldAdvance)return;X6=Zce({capturedOrder:n.capturedOrder,actedKey:t.key,groups:m6(H6)}),X6===null&&(Z6={actedKey:t.key}),Y8();return}(r?.settle??n.settle)?.(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}function Z8(e,t,n){return n.has(e.id)?`review`:e.state===`open`||e.state===`blocked`?`queue`:e.state===`active`?`workers`:e.state===`completed`?t.has(e.id)?`review`:`shipped`:null}function Qle(e){let t=0;for(let n of e.owner??e.id)t=Math.imul(t,31)+n.charCodeAt(0)>>>0;return PE[t%PE.length]}function $le(e,t,n){return t?`Scope conflict`:e.state===`blocked`?`Blocked`:e.state===`open`&&e.readiness===`waiting`?`Waiting on dependency`:n===`workers`?`Running`:n===`review`?`Unverified`:n===`shipped`?`Shipped`:`Ready`}function eue(e,t){let n=new Set,r=e;for(;r;){if(n.has(r.id))return null;if(n.add(r.id),r.parent===null)return r;r=t.get(r.parent)}return null}function tue(e,t){let n=e.orders.filter(e=>e.parent===null&&e.state!==`completed`&&e.state!==`cancelled`).sort((e,t)=>e.openedAt.localeCompare(t.openedAt)),r=new Set(e.orders.filter(e=>e.state===`active`).map(e=>e.parent)),i=n.find(t=>t.id===e.orchestrator?.intentId)??n.find(e=>r.has(e.id))??n[0]??null,a=i?e.orders.filter(e=>e.parent===i.id):[],o=new Set(e.reviewing??[]),s=new Set(e.unverifiedCompletedWork),c=new Set(e.conflicts.flatMap(e=>[e.left,e.right])),l={queue:[],workers:[],review:[],shipped:[]},u=e.orders.filter(e=>e.parent===i?.id);for(let n of u){let r=Z8(n,s,o);if(!r)continue;let i=c.has(n.id),a=i||n.state===`blocked`||n.state===`open`&&n.readiness===`waiting`;l[r].push({id:n.id,objective:n.objective,sessionId:e.liveWorkers?.find(e=>e.workId===n.id)?.sessionId??null,risk:n.risk,station:r,status:o.has(n.id)?`Reviewing`:$le(n,i,r),hasConflict:i,isHeld:a,isSelected:n.id===t,animal:Qle(n)})}let d=new Map(e.orders.map(e=>[e.id,e])),f=t===null?void 0:d.get(t),p=f?eue(f,d):null;return{paused:e.paused,spend:`Factory today: $${(e.spentTodayUsd??0).toFixed(2)} / ${e.dailyBudgetUsd==null?`unlimited`:`$${e.dailyBudgetUsd.toFixed(2)}`}`,note:e.note??null,intent:i?{id:i.id,objective:i.objective,criteria:i.criteria.map(e=>({text:e,isMet:i.state===`completed`})),shippedCount:l.shipped.length,childCount:a.length}:null,upNext:n.filter(e=>e.id!==i?.id).map(({id:e,objective:t})=>({id:e,objective:t})),orchestrator:e.error===null?{action:e.heading.action,reason:e.heading.reasons[0]??``,isException:!1,sessionId:e.orchestrator?.sessionId??null,state:e.orchestrator?.state??null}:{action:`Exception`,reason:e.error,isException:!0,sessionId:e.orchestrator?.sessionId??null,state:e.orchestrator?.state??null},stations:l,ledger:e.orders.flatMap(e=>e.lastEvent?[{orderId:e.id,...e.lastEvent}]:[]).sort((e,t)=>Date.parse(t.at)-Date.parse(e.at)).slice(0,50),selectedOrder:f?{id:f.id,intent:p?.objective??null,writeScopes:f.writeScopes,dependsOn:f.dependsOn,station:f.parent===null?`intent`:Z8(f,s,o)??`cancelled`,owner:f.owner}:null}}function nue(e,t){return e.find(e=>e.projectId===t)||([...e].sort((e,t)=>e.projectName.localeCompare(t.projectName)||e.projectId.localeCompare(t.projectId))[0]??null)}var Q8=null,$8=null,e5=null,t5=!1,n5=null,r5=null,i5=null,a5=0,o5=new Map,s5=new Map,c5=new Map;function rue(e){let t=o5.get(e);if(t)return t;let n={objective:``,criteria:``,risk:`low`,boundary:``,writeScopes:``};return o5.set(e,n),n}var l5=`.factory-stack, .factory-pads, .factory-ledger, .factory-detail, .factory-intent-queue, .factory-criteria`,iue=[[`[data-order-id]`,`orderId`],[`[data-factory-field]`,`factoryField`],[`[data-project-id]`,`projectId`]];function u5(e,t,n){let r=V(`button`,e,t);return r.type=`button`,r.addEventListener(`click`,n),r}function d5(e){let t=V(`p`,`factory-request-status`,e?.text??``);return t.setAttribute(`role`,`status`),t.dataset.error=String(e?.hasError===!0),t}function f5(e,t,n,r){let i=t===`factory-queue-intent`?s5:c5;if(i.get(e)?.requestId)return;a5+=1;let a=`factory-${a5}`,o=i5?.({...n,projectId:e,type:t,requestId:a})===!0;i.set(e,{requestId:o?a:null,text:o?r:`Not connected.`,hasError:!o}),_5()}function aue(e,t){let n=V(`fieldset`,`factory-form-field`);n.append(V(`legend`,`factory-label`,`Protected floor opt-in`));for(let r of vc){let i=V(`label`,`factory-floor-allowance`),a=V(`input`);a.type=`checkbox`,a.value=r,a.dataset.factoryField=`floor:${r}`,a.checked=e.floorAllowances?.includes(r)===!0,a.disabled=t,a.addEventListener(`change`,()=>{let t=(e.floorAllowances??[]).filter(e=>e!==r),n=a.checked?[...t,r]:t;e.floorAllowances=vc.filter(e=>n.includes(e))}),i.append(a,V(`span`,null,r)),n.append(i)}return n}function oue(e){let t=rue(e),n=V(`form`,`factory-queue-form`),r=s5.get(e)?.requestId!=null;for(let[e,i,a,o]of[[`objective`,`Objective`,4096,2],[`criteria`,`Criteria, one per line`,49164,2],[`boundary`,`Authority boundary`,4096,1],[`writeScopes`,`Write scopes, one per line`,32800,2]]){let s=V(`label`,`factory-form-field`),c=V(`textarea`,`factory-form-input`);c.name=e,c.dataset.factoryField=e,c.maxLength=a,c.rows=o,c.required=e!==`writeScopes`,c.value=t[e],c.disabled=r,c.addEventListener(`input`,()=>{t[e]=c.value}),s.append(V(`span`,`factory-label`,i),c),n.append(s)}let i=V(`label`,`factory-form-field`),a=V(`select`,`factory-form-input`);a.name=`risk`,a.dataset.factoryField=`risk`,a.disabled=r;for(let e of xc.shape.risk.options){let t=V(`option`,null,e);t.value=e,a.append(t)}a.value=t.risk,a.addEventListener(`change`,()=>{t.risk=xc.shape.risk.parse(a.value)}),i.append(V(`span`,`factory-label`,`Risk`),a),n.append(aue(t,r));let o=V(`button`,`factory-action`,`Queue intent`);return o.type=`submit`,o.disabled=!t5||r,n.insertBefore(i,n.children[2]??null),n.append(o,d5(s5.get(e))),n.addEventListener(`submit`,n=>{n.preventDefault();let r=xc.safeParse({...t,projectId:e,criteria:t.criteria.split(/\r?\n/).map(e=>e.trim()).filter(Boolean),writeScopes:t.writeScopes.split(/\r?\n/).map(e=>e.trim()).filter(Boolean)});if(!r.success){s5.set(e,{requestId:null,text:r.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `),hasError:!0}),_5();return}f5(e,`factory-queue-intent`,r.data,`Queueing intent.`)}),n}function sue(e,t){let n=V(`div`,`factory-controls`),r=c5.get(e);for(let i of[`pause`,`resume`]){let a=u5(`factory-action`,i===`pause`?`Pause`:`Resume`,()=>f5(e,`factory-control`,{action:i},i===`pause`?`Pausing factory.`:`Resuming factory.`));a.disabled=!t5||r?.requestId!=null||(i===`pause`?t:!t),n.append(a)}return n.append(d5(r)),n}var cue=[{id:`queue`,label:`Queue`,slots:3},{id:`workers`,label:`Workers`,slots:3},{id:`review`,label:`Review`,slots:2},{id:`shipped`,label:`Shipped`,slots:3}];function p5(e,t){let n=Bd(`factory`,e);return n.classList.add(...t.split(` `)),n.setAttribute(`aria-label`,e),n}function m5(e,t){let n=V(`div`,`factory-sprite`);n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t);let r=V(`span`,`nyan-sprite ${e}`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n}function lue(e){r5=e,_5()}function h5(e,t,n){let r=u5(n,t,()=>lue(e));return r.dataset.orderId=e,r.setAttribute(`aria-pressed`,String(r5===e)),r}function g5(e,t){let n=V(`div`,`factory-crate`);n.dataset.state=e.isHeld?`waiting`:e.station,n.dataset.selected=String(e.isSelected);let r=V(`div`,`factory-crate-id`),i=V(`span`,`factory-crate-risk`,e.risk);i.dataset.risk=e.risk,r.append(V(`span`,null,e.id),i),n.append(r,h5(e.id,e.objective,`factory-crate-title`));let a=e.sessionId;return a&&Q8&&!t&&n.append(u5(`factory-action`,`Open terminal`,()=>Q8?.(a))),e.station!==`workers`&&n.append(V(`span`,`factory-crate-note`,e.status)),n}function uue(e){return`Read-only mirror of the factory harness run at ${e.recordDirectory}. ${e.outcome?`Ended: ${e.outcome}.`:`No verdict yet.`}`}function due(e,t){let n=t.projectId,r=t.observedRun!==void 0,i=V(`div`,`factory-band factory-head`),a=p5(`Intent`,`factory-intent`);if(a.append(V(`p`,`factory-count`,e.spend)),e.intent){a.append(h5(e.intent.id,e.intent.objective,`factory-intent-title`));let t=V(`ul`,`factory-criteria`);for(let n of e.intent.criteria){let e=V(`li`,null,`${n.isMet?`[x]`:`[ ]`} ${n.text}`);e.dataset.met=String(n.isMet),t.append(e)}a.append(t,V(`p`,`factory-count`,`${e.intent.shippedCount} of ${e.intent.childCount} shipped`))}e.intent||a.append(V(`p`,`factory-empty`,`No open intent.`));let o=p5(`Orchestrator`,`factory-orchestrator`);o.dataset.state=e.orchestrator.isException?`failed`:e.paused?`paused`:`steady`;let s=V(`div`,`factory-heading`);s.append(V(`strong`,`factory-orchestrator-action`,e.orchestrator.action),V(`p`,`factory-reason`,e.orchestrator.reason)),e.note&&s.append(V(`p`,`factory-reason`,e.note));let c=V(`span`,`factory-paused-marker`,`[paused]`);c.hidden=!e.paused,s.append(c),t.observedRun&&s.append(V(`p`,`factory-reason`,uue(t.observedRun))),r||s.append(sue(n,e.paused));let l=m5(`is-owl`,`Orchestrator owl`),u=e.orchestrator.sessionId;if(u&&Q8&&!r){let e=u5(`factory-action`,null,()=>Q8?.(u));e.setAttribute(`aria-label`,`Open orchestrator terminal`),e.append(l),o.append(e)}(!u||!Q8||r)&&o.append(l),e.orchestrator.state&&s.append(V(`span`,`factory-orchestrator-state`,e.orchestrator.state)),o.append(s);let d=p5(`Up next`,`factory-up-next`),f=V(`ol`,`factory-intent-queue`);for(let t of e.upNext){let e=V(`li`);e.append(h5(t.id,t.objective,`factory-next-title`)),f.append(e)}return d.append(f),e.upNext.length===0&&d.append(V(`p`,`factory-empty`,`No queued intents.`)),r||d.append(oue(n)),i.append(a,o,d),i}function fue(e,t,n){let r=V(`section`,`factory-station factory-station-${e.id}`);r.setAttribute(`aria-label`,e.label);let i=V(`div`,`factory-station-head`);i.append(V(`h3`,`factory-label`,e.label),V(`span`,`factory-count`,String(t.length)));let a=V(`div`,e.id===`workers`?`factory-pads`:`factory-stack`);for(let r=0;r<Math.max(e.slots,t.length);r+=1){let i=t[r],o=V(`div`,`factory-open`,`Open slot`);if(e.id!==`workers`){a.append(i?g5(i,n):o);continue}let s=V(`div`,`factory-pad`);s.dataset.state=i?.hasConflict?`waiting`:i?`running`:`idle`,i&&s.append(m5(i.animal.sprite,i.animal.name)),i||s.append(V(`div`,`factory-sprite factory-sprite-empty`)),s.append(i?g5(i,n):o,V(`span`,`factory-pad-status`,i?.status??`Idle`)),a.append(s)}return r.append(i,a),r}function pue(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:Vf(t)}function mue(e){let t=V(`div`,`factory-band factory-foot`),n=p5(`Ledger`,`factory-ledger-region`),r=V(`ol`,`factory-ledger`);for(let t of e.ledger){let e=V(`li`),n=V(`time`,`factory-ledger-time`,pue(t.at));n.dateTime=t.at,e.append(n,V(`span`,null,`${t.orderId} ${t.event} (${t.session})`)),r.append(e)}e.ledger.length===0&&r.append(V(`li`,`factory-empty`,`No ledger events.`)),n.append(r);let i=p5(`Selected ticket`,`factory-detail-region`),a=V(`div`,`factory-detail`),o=e.selectedOrder;if(o){let e=V(`dl`);for(let[t,n]of[[`Intent`,o.intent??`No parent intent`],[`Fence`,o.writeScopes.join(`, `)||`None`],[`After`,o.dependsOn.join(`, `)||`None`],[`Station`,o.station],[`Session`,o.owner??`Unassigned`]])e.append(V(`dt`,null,t),V(`dd`,null,n));a.append(e)}return o||a.append(V(`p`,`factory-empty`,`Select a ticket to inspect its boundaries.`)),i.append(a),t.append(n,V(`div`,`factory-seam`),i),t}function _5(){if(!$8)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=e instanceof HTMLTextAreaElement?{start:e.selectionStart,end:e.selectionEnd}:null,n=[...$8.querySelectorAll(l5)].map(e=>e.scrollTop),r=document.createDocumentFragment(),i=V(`p`,`factory-connection`,t5?e5?``:`Waiting for the server.`:`Disconnected. Showing the last snapshot.`);i.setAttribute(`role`,`status`),r.append(i);let a=nue(e5?.projects??[],n5);if(!a){r.append(V(`p`,`factory-empty`,e5?`No repos holding coherence.config.json.`:`Waiting for Factory state.`)),$8.replaceChildren(r);return}if(n5!==a.projectId&&(r5=null),n5=a.projectId,e5&&e5.projects.length>1){let e=V(`div`,`factory-projects`);e.setAttribute(`aria-label`,`Factory projects`);for(let t of e5.projects){let n=u5(`factory-project`,t.projectName,()=>{n5=t.projectId,r5=null,_5()});n.dataset.projectId=t.projectId,n.setAttribute(`aria-pressed`,String(t.projectId===n5)),e.append(n)}r.append(e)}let o=tue(a,r5),s=V(`div`,`factory-console`),c=p5(`Floor`,`factory-band factory-floor-band`),l=V(`div`,`factory-pipe`);for(let e of cue)l.append(fue(e,o.stations[e.id],a.observedRun!==void 0));c.append(l),s.append(due(o,a),c,mue(o)),r.append(s),$8.replaceChildren(r),[...$8.querySelectorAll(l5)].forEach((e,t)=>{e.scrollTop=n[t]??0});for(let[n,r]of iue){let i=e?.dataset[r];if(!i)continue;let a=[...$8.querySelectorAll(n)].find(e=>e.dataset[r]===i);a?.focus({preventScroll:!0}),a instanceof HTMLTextAreaElement&&t&&a.setSelectionRange(t.start,t.end)}}function hue(e,t){return Q8=t?.openTerminal??null,$8||($8=V(`div`,`factory-content`),e.append($8),_5(),$8)}function gue(e){e5=e,_5()}function _ue(e){if(t5=e,!e)for(let e of[s5,c5])for(let[t,n]of e)n.requestId&&e.set(t,{requestId:null,text:`Disconnected. Check the floor before submitting again.`,hasError:!0});_5()}function vue(e){i5=e}function yue(e){s5.get(e.projectId)?.requestId===e.requestId&&(s5.set(e.projectId,{requestId:null,text:e.ok?`Queued ${e.workId??`intent`}.`:e.error??`Could not queue intent.`,hasError:!e.ok}),e.ok&&o5.delete(e.projectId),_5())}function bue(e){c5.get(e.projectId)?.requestId===e.requestId&&(c5.set(e.projectId,{requestId:null,text:e.ok?e.action===`pause`?`Factory paused.`:`Factory resumed.`:e.error??`Could not update factory.`,hasError:!e.ok}),_5())}var xue={mine:`Mine`,run:`Run`,cancel:`Cancel`},Sue={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},v5=null,y5=null,b5=null,x5=new Map,S5=new Map;function C5(e){return e===null?`n/a`:`${Math.round(e*100)}%`}function Cue(e){if(e===null)return`n/a`;let t=Math.round(e*100);return t>0?`+${t}`:String(t)}function wue(e,t){if(b5?.({type:`benchmark-action`,requestId:Sd(`benchmark`),suiteId:e,action:t})!==!0){S5.set(e,`Not connected.`),E5();return}x5.set(e,t),S5.set(e,Sue[t]),E5()}function w5(e,t,n){let r=V(`button`,`bench-action-button`,xue[t]);return r.type=`button`,r.disabled=n,r.addEventListener(`click`,()=>wue(e.id,t)),r}function Tue(e){let t=y5?.inFlight;if(!t||t.suiteId!==e.id)return``;let n=t.caseId?`case ${t.caseId}, `:``;return`Cell ${t.cellIndex+1} of ${t.cellCount}: ${n}arm ${t.armId}, trial ${t.trial}, ${t.phase}.`}function T5(e){let t=V(`td`,`bench-score`,C5(e?.recall??null));return e&&e.invalid>0&&(t.title=`${e.invalid} invalid or failed cell(s)`),e&&e.degraded>0&&(t.dataset.degraded=`true`),t}function Eue(e){let t=e.armIds.filter(t=>t!==e.baselineArm),n=V(`table`,`bench-table`),r=V(`tr`);r.append(V(`th`,null,`Case`),...e.armIds.map(t=>V(`th`,null,t===e.baselineArm?`${t} (baseline)`:t))),r.append(...t.map(e=>V(`th`,null,`${e} vs baseline`))),n.append(r);for(let r of e.rows){let i=V(`tr`);i.append(V(`td`,`bench-case`,r.caseId),...e.armIds.map(e=>T5(r.arms[e]))),i.append(...t.map(e=>V(`td`,`bench-delta`,Cue(r.deltaVsBaseline[e]??null)))),n.append(i)}let i=[...new Set(e.armIds.flatMap(t=>Object.keys(e.totals[t]?.recallByTag??{})))].sort(),a=V(`tr`,`bench-total`);a.append(V(`td`,`bench-case`,`Paired recall`),...e.armIds.map(t=>T5(e.totals[t]))),n.append(a);for(let t of i){let r=V(`tr`,`bench-total`);r.append(V(`td`,`bench-case`,`Recall, ${t}`),...e.armIds.map(n=>V(`td`,`bench-score`,C5(e.totals[n]?.recallByTag[t]??null)))),n.append(r)}return n}function Due(e){let t=V(`div`,`bench-suite`),n=y5?.inFlight?.suiteId===e.id,r=!!y5?.inFlight&&!n,i=x5.has(e.id),a=V(`div`,`bench-summary`);a.append(V(`span`,`bench-suite-title`,e.title),Vd(`bench`,e.caseCount===1?`case`:`cases`,String(e.caseCount)),Vd(`bench`,e.candidateCount===1?`candidate`:`candidates`,String(e.candidateCount)),Vd(`bench`,`arms`,String(e.armIds.length))),t.append(a);let o=V(`div`,`bench-controls`),s=y5?.configured===!0&&e.error===null;o.append(w5(e,`mine`,!s||i||n),w5(e,`run`,!s||i||n||r||e.caseCount===0),w5(e,`cancel`,i||!n));let c=V(`span`,`bench-status`,Tue(e)||S5.get(e.id)||``);if(c.setAttribute(`role`,`status`),o.append(c),t.append(o),e.error)return t.append(V(`p`,`bench-error`,e.error)),t;let l=e.latestReport;return l?(t.append(V(`p`,`bench-run-line`,`Latest run ${l.runId}: ${l.status}. Only cases every arm scored count toward paired recall.`)),l.rows.length>0&&t.append(Eue(l)),t):(t.append(V(`p`,`bench-empty`,e.caseCount===0?`Move approved candidates into the cases folder, then choose Run.`:`No run yet.`)),t)}function E5(){if(!v5)return;v5.textContent=``;let e=Bd(`bench`,`Benchmarks`,`Suites from the benchmarks folder of the Glimmervoid home, one run at a time.`);if(v5.append(e),!y5){v5.append(V(`p`,`bench-empty`,`Waiting for the server.`));return}if(!y5.configured){v5.append(V(`p`,`bench-empty`,y5.reason||`Benchmarks are off.`));return}if(y5.suites.length===0){v5.append(V(`p`,`bench-empty`,`No suites yet. Create a folder holding suite.json under benchmarks in the Glimmervoid home.`));return}for(let e of y5.suites)v5.append(Due(e))}function Oue(e){b5=e}function kue(e){return v5||(v5=V(`div`,`bench-content`),e.append(v5),E5(),v5)}function Aue(e){if(!(e||x5.size===0)){for(let e of x5.keys())S5.set(e,`Connection lost.`);x5.clear(),E5()}}function jue(e){y5=e,E5()}function Mue(e){x5.delete(e.suiteId);let t=y5?.suites.find(t=>t.id===e.suiteId)?.candidateCount??0,n={mine:`Mining finished. ${t} candidate${t===1?``:`s`} awaiting approval in the candidates folder.`,run:`Run ${e.runId??``} started.`,cancel:`Run cancelled.`};S5.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),E5()}function Nue(e){return e?e.configured?`No open issues.`:e.reason??`Loading issues.`:`Loading issues.`}function D5(e,t){return t===`all`||e.sources.includes(t)}function Pue(e){return{all:e.length,me:e.filter(e=>D5(e,`me`)).length,team:e.filter(e=>D5(e,`team`)).length,project:e.filter(e=>D5(e,`project`)).length}}function Fue(e,t,n){let r=t.query.trim().toLowerCase().split(/\s+/).filter(Boolean),i=e.filter(e=>{if(!D5(e,t.scope)||t.repo&&e.repo!==t.repo||t.label&&!e.labels.includes(t.label)||t.hasSession&&(!e.sessionId||!n.has(e.sessionId))||t.hasPr&&e.pullRequests.length===0||t.isUnassignedOnly&&e.assignees.length>0)return!1;let i=[e.title,`#${e.number}`,e.repo,e.author,...e.labels,...e.assignees,...e.teams].join(` `).toLowerCase();return r.every(e=>i.includes(e))}),a=e=>Date.parse(e)||0,o=e=>t.sort===`comments`?e.comments:t.sort===`created`?a(e.createdAt):a(e.updatedAt);return i.sort((e,t)=>o(t)-o(e)||e.key.localeCompare(t.key))}function Iue(e){let t=new Map;for(let n of e){let e=t.get(n.repo)??[];e.push(n),t.set(n.repo,e)}return t}function Lue(e){return{repos:[...new Set(e.map(e=>e.repo))].sort(),labels:[...new Set(e.flatMap(e=>e.labels))].sort()}}function Rue(e){let t=[e.query.trim()&&`search "${e.query.trim()}"`,e.repo,e.label,e.hasSession&&`has session`,e.hasPr&&`has PR`,e.isUnassignedOnly&&`unassigned`].filter(Boolean);return t.length===0?``:`Filtered by ${t.join(`, `)}.`}function O5(e,t){let n=typeof e==`number`?e:Date.parse(e);if(!Number.isFinite(n))return`unknown`;let r=Math.round(Math.max(0,t-n)/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.round(r/60);return i<48?`${i}h`:`${Math.round(i/24)}d`}function k5(e,t){let n=O5(e,t);return n===`now`?`just now`:n===`unknown`?`at an unknown time`:`${n} ago`}var A5=45e3,j5=[{id:`all`,label:`All`},{id:`me`,label:`Mine`},{id:`team`,label:`Team`},{id:`project`,label:`Projects`}],M5={scope:`all`,repo:``,label:``,sort:`updated`,query:``,hasSession:!1,hasPr:!1,isUnassignedOnly:!1},N5=null,P5=null,F5=null,I5=null,L5=null,R5=null,z5=null,B5=null,V5=null,H5=null,U5=new Map,W5=!1,G5=null,K5=null,q5=new Map,J5=new Map,Y5=new Map,X5=new Map,Z5=new Map;function Q5(e){return`${e.key}:${e.updatedAt}`}function $5(e){return e.sessionId?U.get(e.sessionId):void 0}function e7(e,t,n){let r=$5(t),i=r?.currentState??F.DORMANT,a=Rd(i,r?.awaitingBackgroundTasks),o=r?`Session: ${a.label}`:`No session yet`,s=n?`${a.glyph} ${a.label}`:a.glyph;(e.dataset.state!==i||e.title!==o||e.textContent!==s)&&(e.dataset.state=i,e.title=o,e.setAttribute(`aria-label`,o),e.textContent=s)}function t7(e,t=!1){let n=V(`span`,t?`issues-state`:`pr-queue-glyph issues-state`);return e7(n,e,t),n}function n7(e){let t=$5(e);return t?uf(t):`none yet`}function r7(e){return[...q5.values()].some(t=>t.issueKey===e.key)}function zue(e){let t=q5.get(e);t&&(q5.delete(e),J5.set(t.issueKey,`No reply from the server.`),c7())}function Bue(e){let t=q5.get(e);return t?(clearTimeout(t.timeoutHandle),q5.delete(e),t):null}function i7(e){let t=Q5(e);if(X5.has(t)||[...Y5.values()].some(e=>e.cacheKey===t))return;let n=Sd(`issue-detail`);if(Z5.delete(t),!K5?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})){Z5.set(t,`Not connected. Select the issue to load its description.`);return}Y5.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{Y5.delete(n),Z5.set(t,`No reply from the server. Select the issue to load its description.`),c7()},A5)})}function Vue(e){let t=e.projectId;if(!t||$5(e)||r7(e))return;let n=Sd(`open-issue-session`);if(!K5?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})){J5.set(e.key,`Not connected.`),c7();return}q5.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>zue(n),A5)}),J5.set(e.key,`Opening session.`),c7()}function Hue(e){let t=V(`button`,`pr-queue-row issue-row`);t.type=`button`,t.dataset.issueKey=e.key,t.setAttribute(`aria-current`,String(e.key===V5));let n=V(`span`,`pr-queue-top`);n.append(V(`span`,`pr-queue-ref`,`#${e.number}`),V(`span`,`pr-queue-title`,e.title||`Untitled issue`));let r=V(`span`,`pr-queue-bottom`);e.sources.includes(`me`)&&r.append(V(`span`,`issues-why`,`you`)),r.append(V(`span`,`issues-row-labels`,e.labels.join(`, `)));for(let t of e.pullRequests)r.append(V(`span`,`issues-row-pr`,`PR #${t.number}`));let i=V(`span`,`pr-queue-elapsed`,O5(e.updatedAt,Date.now()));return i.dataset.issueAge=e.updatedAt,r.append(i),t.append(t7(e),n,r),t.addEventListener(`click`,()=>{V5=e.key,N5&&(N5.dataset.detailOpen=`true`),i7(e),u7(),I5&&(I5.scrollTop=0)}),t}function a7(e,t,n){let r=V(`dd`);r.append(...n),e.append(V(`dt`,null,t),r)}function o7(e){let t=V(`footer`,`pr-footer issues-detail-footer`),n=$5(e);if(n&&e.sessionId){let n=e.sessionId,r=V(`button`,`pr-action`,`Go to session`);r.type=`button`,r.addEventListener(`click`,()=>EI(n)),t.append(r)}if(e.projectId&&!n){let n=V(`button`,`pr-action`,`Open session`);n.type=`button`,n.disabled=r7(e),n.addEventListener(`click`,()=>Vue(e)),t.append(n)}t.append(Fd(`pr-action`,`View on GitHub`,e.url));let r=J5.get(e.key),i=e.projectId?``:`Add a project for ${e.repo} in Settings to open sessions from here.`,a=V(`span`,`pr-action-status issue-open-status`,r??i);return a.setAttribute(`role`,`status`),r7(e)&&a.prepend(V(`span`,`issues-spinner`)),t.append(a),t}function s7(e,t){let n=V(`span`,null,k5(e,t));return n.dataset.issueAgo=e,n}function Uue(){let e=I5?.querySelector(`.issues-detail`),t=V5?U5.get(V5):void 0;if(!e||!t)return;let n=e.querySelector(`.issues-facts .issues-state`);n&&e7(n,t,!0);let r=e.querySelector(`.issues-session-name`),i=n7(t);r&&r.textContent!==i&&(r.textContent=i);let a=String(!!$5(t));e.dataset.hasLiveSession!==a&&(e.dataset.hasLiveSession=a,e.querySelector(`.issues-detail-footer`)?.replaceWith(o7(t)))}function c7(){if(!I5)return;let e=H5?.issues.find(e=>e.key===V5);if(!e){I5.replaceChildren(V(`p`,`pr-empty`,`Pick an issue from the queue.`));return}let t=V(`article`,`pr-detail issues-detail`),n=V(`button`,`pr-action issues-back`,`Back to issues`);n.type=`button`,n.addEventListener(`click`,()=>{N5&&(N5.dataset.detailOpen=`false`),[...F5?.querySelectorAll(`[data-issue-key]`)??[]].find(e=>e.dataset.issueKey===V5)?.focus({preventScroll:!0})});let r=V(`header`,`pr-detail-heading`),i=V(`div`,`pr-detail-title`);i.append(Fd(`pr-link`,`${e.repo}#${e.number}`,e.url),V(`h2`,null,e.title||`Untitled issue`));let a=Date.now(),o=V(`div`,`pr-detail-meta`),s=V(`span`,null,`opened by ${e.author||`unknown`} `),c=V(`span`,null,`updated `);s.append(s7(e.createdAt,a)),c.append(s7(e.updatedAt,a)),o.append(s,c,V(`span`,null,`${e.comments} comments`)),e.sources.includes(`me`)&&o.append(V(`span`,`issues-why`,`assigned to you`));for(let t of e.teams)o.append(V(`span`,null,`mentions ${t}`));r.append(i,o);let l=V(`dl`,`issues-facts`);a7(l,`Repository`,[e.repo]),a7(l,`Labels`,[e.labels.join(`, `)||`none`]),a7(l,`Assignees`,[e.assignees.join(`, `)||`unassigned`]),t.dataset.hasLiveSession=String(!!$5(e)),a7(l,`Session`,[t7(e,!0),V(`span`,`issues-session-name`,n7(e))]);let u=e.pullRequests.flatMap(e=>{let t=V(`span`,`issues-pr-state`,e.state);return t.dataset.prState=e.state,[t,Fd(`issues-inline-link`,`#${e.number} ${e.title}`,e.url)]});a7(l,`Pull request`,u.length>0?u:[`none linked`]);let d=V(`section`,`issues-body-section`),f=Q5(e),p=V(`div`,`issue-body`,X5.get(f)??Z5.get(f)??`Loading description.`);X5.get(f)===``&&(p.textContent=`No description.`),p.setAttribute(`role`,`status`),d.append(V(`h3`,`pr-section-heading`,`Description`),p),t.append(n,r,l,d,o7(e)),I5.replaceChildren(t)}function l7(e,t,n,r){if(!e)return;let i=r&&!n.includes(r)?[...n,r].sort():n;e.replaceChildren(...[``,...i].map(e=>{let n=V(`option`,null,e||t);return n.value=e,n})),e.value=r}function u7(){W5=!1,d7(),c7()}function d7(){if(!N5||!F5||!P5)return;let e=H5?.issues??[],t=Pue(e);for(let e of j5){P5.querySelector(`[data-scope="${e.id}"]`)?.setAttribute(`aria-selected`,String(e.id===M5.scope));let n=P5.querySelector(`[data-scope-count="${e.id}"]`);n&&(n.textContent=String(t[e.id]))}let n=Lue(e);l7(R5,`All repos`,n.repos,M5.repo),l7(z5,`All labels`,n.labels,M5.label),L5&&(L5.textContent=Rue(M5));let r=Fue(e,M5,new Set(U.keys())),i=document.activeElement instanceof HTMLElement&&F5.contains(document.activeElement)?document.activeElement.dataset.issueKey:null,a=[...Iue(r)].map(([e,t])=>{let n=V(`section`,`pr-queue-section`),r=V(`h3`,`pr-section-heading issues-repo-heading`,e);return t.some(e=>e.projectId)||r.append(V(`span`,`issues-repo-note`,`view only`)),r.append(V(`span`,`issues-repo-count`,String(t.length))),n.append(r,...t.map(Hue)),n});F5.replaceChildren(...a),r.length===0&&F5.append(V(`p`,`pr-empty`,e.length>0?`No open issues match these filters. Clear the search or pick All.`:Nue(H5))),i&&[...F5.querySelectorAll(`[data-issue-key]`)].find(e=>e.dataset.issueKey===i)?.focus({preventScroll:!0}),V5&&!e.some(e=>e.key===V5)&&(V5=null,N5.dataset.detailOpen=`false`),G5?.update(H5),f7()}function Wue(){let e=V(`div`,`issues-filters`),t=V(`div`,`issues-search-row`),n=V(`input`,`issues-search`);n.type=`search`,n.placeholder=`Search issues`,n.autocomplete=`off`,n.setAttribute(`aria-label`,`Search issues`),n.addEventListener(`input`,()=>{M5.query=n.value,u7()});let r=V(`button`,`pr-action`,`Filters`);r.type=`button`,r.setAttribute(`aria-expanded`,`false`),r.setAttribute(`aria-controls`,`issues-filters-panel`);let i=V(`div`,`issues-filters-panel`);i.id=`issues-filters-panel`,i.hidden=!0,r.addEventListener(`click`,()=>{i.hidden=!i.hidden,r.setAttribute(`aria-expanded`,String(!i.hidden))}),t.append(n,r);let a=V(`div`,`issues-filter-row`);function o(e){let t=V(`select`,`issues-field`);return t.setAttribute(`aria-label`,e),a.append(t),t}R5=o(`Repository`),R5.addEventListener(`change`,()=>{M5.repo=R5?.value??``,u7()}),z5=o(`Label`),z5.addEventListener(`change`,()=>{M5.label=z5?.value??``,u7()});let s=o(`Sort`);for(let[e,t]of[[`updated`,`Updated`],[`created`,`Newest`],[`comments`,`Most discussed`]]){let n=V(`option`,null,t);n.value=e??``,s.append(n)}s.addEventListener(`change`,()=>{M5.sort=s.value,u7()});let c=V(`div`,`issues-filter-row`);for(let[e,t]of[[`hasSession`,`Has session`],[`hasPr`,`Has PR`],[`isUnassignedOnly`,`Unassigned`]]){let n=V(`label`,`issues-toggle`),r=V(`input`);r.type=`checkbox`,r.addEventListener(`change`,()=>{M5[e]=r.checked,u7()}),n.append(r,` ${t}`),c.append(n)}return L5=V(`span`,`issues-filter-summary`),L5.setAttribute(`role`,`status`),i.append(a,c),e.append(t,L5,i),e}function f7(){if(!N5||N5.closest(`[hidden]`)||document.hidden)return;let e=Date.now();B5&&(B5.textContent=H5?.lastSyncAt?`Synced ${k5(H5.lastSyncAt,e)}.`:`Not synced yet.`);for(let t of N5.querySelectorAll(`[data-issue-age]`))t.textContent=O5(t.dataset.issueAge??``,e);for(let t of N5.querySelectorAll(`[data-issue-ago]`))t.textContent=k5(t.dataset.issueAgo??``,e)}function Gue(e){K5=e}function Kue(e){if(N5)return N5;N5=V(`div`,`issues-content`),N5.dataset.detailOpen=`false`,e.append(N5),G5=U3(`issues`,N5);let t=V(`div`,`pr-columns issues-columns`),n=V(`section`,`pr-queue-pane`);n.setAttribute(`aria-label`,`Issue queue`),P5=V(`div`,`pr-scope-tabs issues-scope-tabs`),P5.setAttribute(`role`,`tablist`),P5.setAttribute(`aria-label`,`Issue scope`);for(let e of j5){let t=V(`span`,`issues-scope`);t.setAttribute(`role`,`presentation`);let n=V(`button`,`pr-scope-tab`,e.label);n.type=`button`,n.dataset.scope=e.id,n.setAttribute(`role`,`tab`),n.addEventListener(`click`,()=>{M5.scope=e.id,u7()});let r=V(`span`,`issues-scope-count`);r.dataset.scopeCount=e.id,t.append(n,r),P5.append(t)}F5=V(`nav`,`pr-queue`),F5.setAttribute(`aria-label`,`Issues`);let r=u4(G5.control);return B5=V(`span`,`issues-sync`),B5.setAttribute(`role`,`status`),r.prepend(B5),r.append(G5.notice),n.append(l4(P5),Wue(),F5,r),I5=V(`section`,`pr-detail-host`),I5.setAttribute(`aria-label`,`Issue detail`),t.append(n,I5),N5.append(t),window.setInterval(f7,3e4),u7(),N5}function que(){W5&&p7(),f7()}function p7(){if(Ud(N5)){W5=!0;return}if(W5=!1,Uue(),M5.hasSession){d7();return}for(let e of F5?.querySelectorAll(`[data-issue-key]`)??[]){let t=U5.get(e.dataset.issueKey??``),n=e.querySelector(`.issues-state`);t&&n&&e7(n,t,!1)}}function Jue(e){if(!e){for(let e of q5.values())clearTimeout(e.timeoutHandle),J5.set(e.issueKey,`Connection lost.`);q5.clear();for(let e of Y5.values())clearTimeout(e.timeoutHandle),Z5.set(e.cacheKey,`Connection lost. Select the issue to load its description.`);Y5.clear(),u7()}}function Yue(e){let t=H5?.issues.find(e=>e.key===V5);H5=e,U5=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===V5);n&&n.updatedAt!==t?.updatedAt&&i7(n),u7()}function Xue(e){let t=Y5.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),Y5.delete(e.requestId),e.ok&&e.body!==null&&X5.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&Z5.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),c7())}function Zue(e){if(typeof e.requestId!=`string`)return;let t=Bue(e.requestId);if(!t)return;let n=t.issueKey;if(e.ok===!0){let r=typeof e.sessionName==`string`?e.sessionName:`issue #${t.issueNumber}`,i=e.pending===!0?` Prompt queued.`:``,a=e.existing===!0?`already open`:`created`;J5.set(n,`Session "${r}" ${a}.${i}`);let o=H5?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),u7();return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;J5.set(n,r),c7()}var Que=4e3;function $ue({render:e,holdMs:t=Que,setTimer:n=setTimeout,clearTimer:r=clearTimeout}){let i=new Set,a=!1,o=null;function s(e){(o===null||e)&&(o!==null&&r(o),o=n(c,t))}function c(){if(o=null,i.size>0){s(!1);return}a&&(a=!1,e())}return{begin(e){i.add(e)},settle(e){i.delete(e),s(!0)},request(){if(i.size===0&&o===null){e();return}a=!0,s(!1)},_state(){return{pending:i.size,held:a,armed:o!==null}}}}var m7=null,h7=null,g7=null,_7=null,v7=`http://www.w3.org/2000/svg`,y7=gk({getAck:YD,setAck:XD,signature:()=>uA({posthog:m7}),isLooking:()=>!Ud(h7)}),b7=$ue({render:z7}),x7=new Set,S7=null,C7=new Map,w7=QP(()=>h7),ede={spiking:`spiking`,regressed:`regressed`,worsened:`worsened`,new:`new`,quiet:`quiet`},T7=[{columnId:`stripe`,headText:``,cellClass:`radar-stripe`,track:`auto`,phoneTrack:`auto`,isMagnitude:!1,startsActionCluster:!1},{columnId:`change`,headText:``,cellClass:`radar-change`,track:`auto`,phoneTrack:`minmax(68px, auto)`,isMagnitude:!1,startsActionCluster:!1},{columnId:`copy`,headText:``,cellClass:`radar-issue-copy`,track:`minmax(0, 1fr)`,phoneTrack:`minmax(0, 1fr)`,isMagnitude:!1,startsActionCluster:!0},{columnId:`occurrences`,headText:`Occurrences`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`users`,headText:`Users`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`trend`,headText:`Trend`,cellClass:`radar-issue-trend`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1}],tde=T7.map(e=>e.track).join(` `),nde=T7.filter(e=>!e.isMagnitude).map(e=>e.phoneTrack).join(` `),rde=T7.findIndex(e=>e.startsActionCluster)+1;function E7(e){let t=V(`div`,e);return t.style.setProperty(`--radar-issue-grid`,tde),t.style.setProperty(`--radar-issue-grid-phone`,nde),t.style.setProperty(`--radar-issue-actions-start`,String(rde)),t}function D7(e,t){let n=V(`span`,`radar-issue-magnitudes`),r=!1;for(let i of T7){let a=t(i);if(!i.isMagnitude){e.append(a);continue}r||=(e.append(n),!0),n.append(a)}}function O7(e){return Number.isFinite(e)?String(e):`0`}function ide(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?``:`elapsed ${YP(Date.now()-e)}`}function k7(e){return typeof e?.issueId==`string`?e.issueId:``}function A7(e,t){return[String(e??``),String(t??``)].join(`::`)}function ade(e,t,n){let r=C7.get(A7(e,t));if(!r||!r.copy.isConnected)return!1;let i=Dk(n);return i?(r.summary||(r.summary=V(`span`,`radar-issue-summary`),r.copy.insertBefore(r.summary,r.copy.querySelector(`.radar-issue-meta`))),r.summary.textContent=i,!0):(r.summary?.remove(),r.summary=null,!0)}function j7(e,t,n){let r=k7(e);if(!r)return;S7?.dialog.close();let i=rF({issueTitle:String(e.title||r),projectLabel:n,onOpenReport:()=>N7(e)});S7={projectId:String(t??``),issueId:r,dialog:i},i.update(Ok(e))}function M7(){if(!S7)return;if(!S7.dialog.isOpen()){S7=null;return}let e=kk(m7,S7.projectId,S7.issueId);e&&S7.dialog.update(Ok(e))}function N7(e){let t=k7(e);t&&Cd(`get-posthog-report`,{issueId:t}).then(n=>{if(!n.ok){nF({issueId:t,issueTitle:String(e.title??``),error:String(n.error||`Could not read report`)});return}if(!n.found){nF({issueId:t,issueTitle:String(e.title??``),message:String(n.message||`Report not found`)});return}nF({issueId:t,issueTitle:String(e.title??``),format:String(n.format??``),content:String(n.content||``)})}).catch(n=>{nF({issueId:t,issueTitle:String(e.title??``),error:String(n?.message||`Could not read report`)})})}function P7(){let e=V(`div`,`radar-issue-actions`),t=V(`span`,`radar-issue-action-status`);t.setAttribute(`role`,`status`),e.append(t);let n=[],r=null,i=()=>{r?.remove(),r=null},a=t=>{i(),r=t,e.append(t)},o=e=>{for(let t of n)t.disabled=e};return{addButton:(r,i,a)=>{let o=V(`button`,`radar-issue-action`,r);return o.type=`button`,o.title=i,o.addEventListener(`click`,e=>{e.stopPropagation(),a()}),n.push(o),e.insertBefore(o,t),o},request:(e,n,r,a,s,c=null)=>{b7.begin(e),o(!0),i(),t.dataset.tone=`busy`,t.textContent=a;let l=(n,r)=>{o(!1),i(),t.dataset.tone=n,t.textContent=r,b7.settle(e)};Cd(n,r).then(e=>{if(!e.ok){l(`error`,String(e.error||`Request failed`));return}l(`ok`,s(e)),c&&c(e)}).catch(e=>l(`error`,String(e?.message||`Request failed`)))},showFollowUp:a,wrap:e}}function ode(e){let t=V(`button`,`radar-issue-action radar-open-trace`,`Open trace`);return t.type=`button`,t.title=`Open the session trace`,t.addEventListener(`click`,t=>{t.stopPropagation(),yde(e)}),t}function sde(e,t,n){let{addButton:r,request:i,showFollowUp:a,wrap:o}=P7(),s=(n,r,a,o,s=null)=>i(`${n}:${e.issueId}`,n,{projectId:t,issueId:e.issueId,...r},a,o,s);return e.inFlight&&r(`View investigation`,`Watch the running investigation`,()=>j7(e,t,n)),e.inFlight||r(`Open session`,`Paste an investigation prompt into the mapped project session`,()=>{s(`posthog-open-session`,{},`Opening session`,e=>e.pending?`Starting ${String(e.sessionName||`session`)}; the prompt lands when it is up`:`Prompt pasted into ${String(e.sessionName||`the session`)}; press Enter there`,e=>{typeof e.sessionId==`string`&&_7&&a(ode(e.sessionId))})}),r(`Resolve`,`Mark this issue resolved in PostHog`,()=>{s(`posthog-issue-action`,{action:`resolve`},`Resolving in PostHog`,()=>`Marked resolved`)}),r(`Suppress`,`Suppress this issue in PostHog`,()=>{s(`posthog-issue-action`,{action:`suppress`},`Suppressing in PostHog`,()=>`Marked suppressed`)}),o}function F7(e,t,n){e.classList.add(`radar-issue-reportable`),e.tabIndex=0,e.setAttribute(`role`,`button`),e.setAttribute(`aria-label`,t),e.title=t,e.addEventListener(`click`,e=>{e.target instanceof Element&&(e.target.closest(`a, button`)||n())}),e.addEventListener(`keydown`,t=>{t.target===e&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n())})}function cde(e,t,n){let r=V(`div`,`radar-issue`);r.dataset.severity=Hk(e.change);let i=V(`span`,`radar-stripe`);i.setAttribute(`aria-hidden`,`true`);let a=V(`span`,`radar-change`,ede[e.change??``]||String(e.change||`unknown`)),o=Fd(`radar-issue-title`,String(e.title||`Untitled issue`),e.url,String(e.title||``)),s=V(`span`,`radar-metric`);s.append(V(`span`,`radar-metric-value`,O7(e.occurrences)),V(`span`,`radar-metric-label`,`occ`));let c=V(`span`,`radar-metric`);c.append(V(`span`,`radar-metric-value`,O7(e.users)),V(`span`,`radar-metric-label`,`users`));let l=Kk(e.history),u=qk(l,64,16),d=u?document.createElementNS(v7,`svg`):null;if(d){d.classList.add(`radar-sparkline`),d.setAttribute(`viewBox`,`0 0 64 16`),d.setAttribute(`width`,`64`),d.setAttribute(`height`,`16`),d.setAttribute(`role`,`img`),d.setAttribute(`focusable`,`false`);let e=document.createElementNS(v7,`title`);e.textContent=Yk(l);let t=document.createElementNS(v7,`polyline`);t.setAttribute(`points`,u),d.append(e,t)}let f=Dk(e),p=V(`span`,`radar-issue-copy`);p.append(o);let m=null;f&&(m=V(`span`,`radar-issue-summary`),m.textContent=f,p.append(m)),C7.set(A7(t,e.issueId),{copy:p,summary:m});let h=V(`span`,`radar-issue-meta`),g=Uk(e);if(g!==null){let e=V(`span`,`radar-issue-seen`);e.title=new Date(g).toLocaleString(),w7.track(e,g,XP),h.append(e)}let _=Wk(e);_&&h.append(V(`span`,`radar-issue-status`,_));let v=String(e.title||e.issueId);if(e.inFlight){let i=V(`span`,`radar-verdict`,`investigating`);i.dataset.verdict=`INVESTIGATING`,h.append(i);let a=typeof e.startedAt==`number`?e.startedAt:null;if(a!==null&&Number.isFinite(a)&&a>0){let e=V(`span`,`radar-issue-elapsed`);w7.track(e,a,ide),h.append(e)}k7(e)&&F7(r,`Watch the investigation of ${v}`,()=>j7(e,t,n))}if(!e.inFlight&&e.verdict){let t=V(`span`,`radar-verdict`,Pk(e.verdict));t.dataset.verdict=e.verdict,h.append(t),k7(e)&&F7(r,`View investigation report for ${v}`,()=>N7(e))}h.childElementCount>0&&p.append(h);let y=V(`span`,`radar-issue-trend`);d&&y.append(d);let ee=Jk(l);if(ee){let e=V(`span`,`radar-delta`,`${ee.direction===`up`?`+`:ee.direction===`down`?`-`:`=`}${ee.percent}%`);e.dataset.direction=ee.direction,y.append(e)}let b={stripe:i,change:a,copy:p,occurrences:s,users:c,trend:y};return D7(r,e=>b[e.columnId]),k7(e)&&r.append(sde(e,t,n)),r}var I7=(e,t,n)=>Vd(`radar`,e,t,n);function lde(e){return e.error?`poll failed: ${e.error}`:e.staleMs>0?`stale ${YP(e.staleMs)}`:``}function L7(e,t,{showHost:n,nameTag:r,nameClass:i,hostClass:a}){let o=V(r,i,eA(t));o.title=String(t.name||``),e.append(o);let s=n?tA(t.host):``;s&&e.append(V(`span`,a,s))}function ude(){let e=E7(`radar-column-heads`);for(let t of T7){if(!t.headText){e.append(V(`span`));continue}let n=V(`span`,`radar-column-head`,t.headText);n.dataset.column=t.columnId,e.append(n)}return e}function dde(e,t){let n=e.project,r=V(`div`,`radar-project`),i=fA(n.issues),a=Xk(i),o=V(`div`,`radar-project-head`);L7(o,n,{showHost:t,nameTag:`h3`,nameClass:`radar-project-name`,hostClass:`radar-project-host`}),r.append(o);let s=V(`div`,`radar-project-summary`);s.append(I7(a.active===1?`active issue`:`active issues`,O7(a.active))),s.append(I7(`spiking`,O7(a.spiking),a.spiking>0?`crit`:null)),s.append(I7(`needs you`,O7(a.needsHuman),a.needsHuman>0?`warn`:null));let c=lde(e);if(c){let t=V(`span`,`radar-project-alert`,c);t.dataset.tone=e.error?`crit`:`warn`,s.append(t)}if(r.append(s),i.length===0)return r;r.append(ude());let l=E7(`radar-issues`);for(let e of i)l.append(cde(e,n.projectId,eA(n)));return r.append(l),r}function fde(e,t){let n=e.project,r=V(`div`,`radar-quiet-row`),i=V(`span`,`radar-quiet-dot`);return i.setAttribute(`aria-hidden`,`true`),r.append(i),L7(r,n,{showHost:t,nameTag:`span`,nameClass:`radar-quiet-name`,hostClass:`radar-quiet-host`}),r.append(V(`span`,`radar-quiet-count`,`0 issues`)),r}var R7=(e,t)=>Bd(`radar`,e,t);function pde(){let e=V(`div`,`radar-issue`);return e.dataset.skeleton=``,D7(e,e=>V(`span`,e.cellClass)),e}function mde(){let e=E7(`radar-issues`);e.setAttribute(`aria-busy`,`true`),e.setAttribute(`aria-label`,`Loading issues`);for(let t=0;t<5;t+=1)e.append(pde());return e}function hde(e,t=`ready`){let n=R7(`Errors`);if(t===`pending`)return n.append(mde()),n;if(t===`placeholder`||e.length===0){let e=V(`p`,`radar-unconfigured`,zk(m7)),t=mW(`lanes-posthog`,`posthog-enabled`,`PostHog settings`);return e.append(document.createTextNode(` `),t),n.append(e),n}let r=V(`div`,`radar-global-tick`),i=Number(m7?.intervalMinutes);w7.track(r,m7?.ts,e=>{let t=`polled ${XP(e)}`;return!Number.isFinite(i)||i<=0?t:`${t}, every ${i}m`}),n.append(r);let a=i>0?i*6e4:0,{loud:o,quiet:s}=iA(e,Date.now(),{intervalMs:a}),c=nA(e);for(let e of o)n.append(dde(e,c));if(s.length===0)return n;let l=V(`div`,`radar-quiet`);for(let e of s)l.append(fde(e,c));return n.append(l),n}function gde(e){let{addButton:t,request:n,wrap:r}=P7();return e.issueId&&t(`Open report`,`Open the investigation report for this issue`,()=>{N7({issueId:e.issueId,title:e.title})}),t(`Archive`,`Remove this investigation from the inbox`,()=>{n(`archive:${e.id}`,`posthog-archive-investigation`,{id:e.id},`Archiving`,()=>`Archived`,()=>x7.add(e.id))}),r}function _de(e){let t=V(`div`,`radar-investigation`),n=V(`span`,`radar-verdict`,Pk(e.verdict));n.dataset.verdict=e.verdict;let r=Fd(`radar-issue-title`,e.title,e.url),i=V(`span`,`radar-issue-copy`);if(i.append(r),e.summaryLine){let t=V(`span`,`radar-issue-summary`);t.textContent=e.summaryLine,i.append(t)}if(e.prUrl){let t=V(`a`,`radar-investigation-pr`,`fix PR`);t.href=e.prUrl,t.target=`_blank`,t.rel=`noopener`,t.title=e.prUrl,i.append(t)}if(t.append(n),e.mode===`fix`){let e=V(`span`,`radar-verdict`,`fix`);e.dataset.mode=`fix`,t.append(e)}if(t.append(i),e.projectLabel){let n=V(`span`,`radar-investigation-project`);n.textContent=e.projectLabel,t.append(n)}if(e.at>0){let n=V(`span`,`radar-investigation-time`,XP(e.at));n.title=new Date(e.at).toLocaleString(),t.append(n)}return t.append(gde(e)),t}function vde(e){let t=R7(`Investigations`,`completed, not yet archived`),n=V(`div`,`radar-investigations`);for(let t of e)n.append(_de(t));return t.append(n),t}function yde(e){_7&&_7(e)}function z7(){if(!h7)return;h7.textContent=``,C7.clear(),w7.reset();let e=Hd(m7),t=aA(m7,x7),n=Vk(m7,e.length);h7.append(hde(e,n)),t.length>0&&h7.append(vde(t))}function B7(){b7.request()}function V7(){g7&&g7(y7.refresh())}function bde(){y7.acknowledge(),V7()}function xde(e){g7=e,V7()}function Sde(e){_7=e}function Cde(e){if(h7)return h7;let t=V(`div`,`radar-content`);return e.appendChild(t),h7=t,w7.ensure(),z7(),t}function wde(e){m7=e,oA(m7,x7),B7(),V7(),M7()}function Tde(e){let t=kk(m7,e.projectId,e.issueId)?.inFlight===!0;if(!Ak(m7,e))return;M7();let n=kk(m7,e.projectId,e.issueId);t&&ade(e.projectId,e.issueId,n)||B7()}function Ede(e){S7?.dialog.isOpen()&&Mk(S7,e)&&S7.dialog.update(jk(e))}function Dde(e){if(!Nk(m7,e)){Ede(e);return}M7(),B7(),V7()}function H7(e){return{skipPerms:e.skipPerms??e.dangerouslySkipPermissions??!1,saneYolo:e.saneYolo===!0,worktree:e.worktree??e.isWorktree??!1,workspace:e.workspace??e.isWorkspace??!1,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}}function Ode(e,t){return typeof t!=`string`||t===``?{knownBuild:e,reload:!1}:e==null?{knownBuild:t,reload:!1}:e===t?{knownBuild:e,reload:!1}:{knownBuild:t,reload:!0}}function kde(e){if(typeof e!=`object`||!e||!(`telemetry`in e))return!1;let{telemetry:t}=e;return typeof t!=`object`||!t||!(`enabled`in t)?!1:t.enabled===!0}function Ade(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function jde(e,t){return t||Ade(e)?!1:kde(e)}var Mde=2500;function Nde({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}var U7={teamReview:e=>e?.teamReview?.enabled===!0,posthog:e=>e?.posthog?.enabled===!0,visions:e=>e?.visions?.enabled===!0,usage:e=>e?.usage?.enabled!==!1,benchmarks:e=>e?.benchmarks?.enabled===!0,factory:e=>e?.factory?.enabled===!0,calmLayout:e=>e?.calmLayout===!0};function W7(e,t){let n=document.createElement(`div`);n.className=`pr-scope-tabs`,n.setAttribute(`role`,`tablist`),n.setAttribute(`aria-label`,`Reviews scope`);let r=[`team`,`mine`];for(let i of r){let a=document.createElement(`button`);a.className=`pr-scope-tab`,a.type=`button`,a.setAttribute(`role`,`tab`),a.setAttribute(`aria-selected`,String(i===e)),a.tabIndex=i===e?0:-1,a.textContent=i===`team`?`Team`:`Mine`,a.addEventListener(`click`,()=>t(i,!1)),a.addEventListener(`keydown`,e=>{if(e.key===`ArrowLeft`){e.preventDefault(),t(r[(r.indexOf(i)+r.length-1)%r.length],!0);return}e.key===`ArrowRight`&&(e.preventDefault(),t(r[(r.indexOf(i)+1)%r.length],!0))}),n.append(a)}return n}function G7(){zD()===`team`&&Kle()}function Pde(e){let t=(e,t)=>{if(o(e),G7(),!t)return;let s=(e===`team`?n:r).querySelector(`[aria-selected="true"]`);if(s&&s.getClientRects().length>0){s.focus();return}(e===`team`?i:a).querySelector(`.pr-queue-toggle`)?.focus()},n=W7(`team`,t),r=W7(`mine`,t),i=document.createElement(`div`);i.className=`pr-mode-root`;let a=document.createElement(`div`);a.className=`pr-mode-root`,e.append(i,a),Jle(i,n),_ce(a,r);function o(e){c4(),i.hidden=e!==`team`,a.hidden=e!==`mine`,BD(e)}o(zD())}function Fde(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function Ide(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function Lde(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function K7(e){return e.map((e,t)=>({view:e,order:e.tabOrder??t})).sort((e,t)=>e.order-t.order).map(({view:e})=>e)}function q7(e,t){e?.refreshOn?.includes(t)&&e.refresh?.(t)}function Rde(e,t,n){for(let r of e)Fde(r.view,t)&&q7(r,n)}function zde(e){let t=[{view:`calm`,label:`Calm`,panelClass:`calm-view`,tabOrder:1,gate:{fromSettings:U7.calmLayout},hasOwnPhoneScreen:!0,hasPanelChrome:!1,mount:t=>pP(t,{openTerminal:e.openTerminal,openPlan:e.openPlan,openCalm:e.openCalm}),activate:mP,deactivate:hP},{view:`focus`,label:`Focus`,panelClass:`focus-view`,tabOrder:0,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,mount:()=>FU({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:dW,deactivate:pW},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:U7.teamReview},mount:Pde,attention:{subscribe:qle,acknowledge:G7}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,mount:Kue,refreshOn:[`shown`],refresh:que,onConnectionChange:Jue},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:U7.usage},mount:DQ,attention:{subscribe:wQ,acknowledge:xQ},refreshOn:[`shown`,`connected`,`usage-sessions`],refresh:e=>{e===`shown`&&OQ(),EQ()}},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:U7.posthog},mount:Cde,attention:{subscribe:xde,acknowledge:bde}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:U7.visions},mount:pK,attention:{subscribe:fK,acknowledge:()=>{hK(),mK()}}},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,mount:vJ,refreshOn:[`shown`,`connected`,`hooks-updated`],refresh:e=>{e===`shown`&&yJ(),_J()}},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:AV},mount:gV,refreshOn:[`shown`],refresh:xV,onAvailabilityChange:e=>Sde(e?yV:null),onConnectionChange:TV},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:U7.benchmarks},mount:kue,onConnectionChange:Aue},{view:`factory`,label:`Factory`,panelClass:`factory-floor`,gate:{fromSettings:U7.factory},mount:t=>hue(t,{openTerminal:e.openTerminal}),onConnectionChange:_ue},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,mount:t=>s0(t,{onRestart:e.onRestart,onConfirmUpdateAndRestart:e.onConfirmUpdateAndRestart})}],n=H(document,`#app-main`,`main`),r=t.map(t=>{let r=V(`button`,`header-tab`,t.label);r.id=`tab-${t.view}`,r.type=`button`;let i=`view-${t.view}`;r.setAttribute(`role`,`tab`),r.setAttribute(`aria-controls`,i);let a=t.view===`focus`;r.setAttribute(`aria-selected`,String(a)),r.tabIndex=a?0:-1,t.glyph&&(r.dataset.phoneGlyph=t.glyph);let o=document.getElementById(i)??V(`section`);if(o.classList.add(t.panelClass),o.id=i,o.setAttribute(`role`,`tabpanel`),o.setAttribute(`aria-labelledby`,r.id),o.hidden=!0,o.parentElement||n.append(o),r.hidden=t.gate!==void 0,o.classList.toggle(`view-panel`,t.hasPanelChrome!==!1),t.attention){let n=V(`span`,`tab-activity`);n.id=`tab-${t.view}-activity`,n.setAttribute(`aria-hidden`,`true`),r.append(n),t.attention.subscribe(r=>{let{isActive:i,level:a}=Lde(r);n.classList.toggle(`active`,i),a===null&&n.removeAttribute(`data-attention`),a!==null&&n.setAttribute(`data-attention`,a),e.setPhoneAttention(t.view,r)})}return{...t,tab:r,el:o}});return H(document,`#header-tabs`,`div`).replaceChildren(...K7(r).map(e=>e.tab)),r}Vb(CD()),Hb(yD()),Ub(xD()),ZJ(TD()),sf(),Ox(document);var J7=H(document,`#connection-status`,`span`),Y7=H(J7,`.connection-label`,`span`),X7=H(document,`#loading-screen`,`div`),Z7=H(document,`#loading-status`,`div`),Q7=H(document,`#shutdown-screen`,`div`),$7=H(document,`#shutdown-status`,`div`),e9=!1,t9=null,n9=!1;function Bde(){let e=yO(),t=X7.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(vO(e,`loading-animal`))}Bde();function r9(){e9||t9===null||Nde({hasSnapshot:n9,connectingTerminalCount:RO(),msSinceConnected:performance.now()-t9})===`reveal`&&i9()}LO(r9);function i9(){if(e9)return;e9=!0,X7.classList.add(`fade-out`);let e=()=>X7.remove();X7.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function a9(e,t){J7.dataset.state=`shutdown`,Y7.textContent=e,J7.title=e,C9.disabled=!0,$7.textContent=t,Q7.classList.add(`active`)}var Vde=new Set([`disconnected`,`connecting`]);function o9(e,t,n){J7.dataset.state=e,J7.toggleAttribute(`data-reconnected`,n),Y7.textContent=t,J7.title=t}function Hde(e,t){o9(e,t,e===`connected`&&Vde.has(J7.dataset.state??``))}function Ude(e,t){J7.dataset.state!==`shutdown`&&o9(e===`verified`?`connected`:e,t,!1)}bd((e,t)=>{if(e===`connecting`||e===`verified`){Ude(e,t);return}Hde(e,t),NH(e===`connected`);for(let t of k9)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(Q7.classList.contains(`active`)){location.reload();return}document.body.classList.add(`app-ready`),!e9&&t9===null&&(t9=performance.now(),Z7.textContent=`Connecting to sessions...`,setTimeout(i9,Mde)),r9(),J9(),g9(`connected`),Cd(`get-settings`,{}).then(e=>{e.settings&&(B9(e.settings),tf()===`settings`&&E9(location.hash))}).catch(()=>{});return}if(e===`disconnected`&&Q7.classList.contains(`active`)){$7.textContent=`Waiting for server...`;return}e9||(Z7.textContent=`Reconnecting to server...`)});function s9(){p7(),Y2(),QN(),u9()}function c9(){KU(),s9()}var l9=!1;function u9(){dP(l9&&MU()&&!cf(),PU())}var d9=null;function Wde(e){let t=Ode(d9,e);d9=t.knownBuild,t.reload&&location.reload()}function Gde(e){QG(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),S0(e.filter(e=>!e.ephemeral).map(e=>({id:e.id,name:e.name,agent:e.agent,permissionMode:e.dangerouslySkipPermissions?`Skip permissions`:`Default`})));for(let t of e){t.ephemeral||gI(t.path);let e=vH(t.id);e&&eU(t.id,t.state,t.stateSince),e&&IV(t.id,!!t.saneYolo),e||wH(t.id,t.name,t.state,H7(t)),_H(t.id,t.taskTitle,t.taskTitleIsCustom),FH(t.id,t.agent),qH(t.id,t.mergeStatus,t.mergeReason),PH(t.id,t.effectiveBase),zH(t.id,t.activeAgents,t.awaitingBackgroundTasks),RH(t.id,t.hasEndedTurn),UH(t.id,t.pendingWakeup),VH(t.id,t.pendingPromptKind,t.pendingPromptDetail,t.isCompacting),OH(t.id,t.hasPlan),h9(t.id)}CH(),uI(U),KU(),fW(),s9(),f9(),D9(location.hash),n9=!0,r9()}function f9(){bV([...U].map(([e,t])=>({id:e,name:uf(t)||e})))}function p9(e,t){OH(e,t?.hasPlan===!0),h9(e)}function Kde(e){if(!vH(e.id)){wH(e.id,e.session,e.to,H7({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),uI(U),p7();return}if(e.to===F.DORMANT&&e.from!==F.DORMANT){let t=U.get(String(e.id)),n=document.querySelector(`.session-card[data-id="${CSS.escape(String(e.id))}"]`),r=n instanceof HTMLElement?n:null,i=r?r.dataset.skipPerms!==void 0:!1,a=e.saneYolo??(r?r.dataset.saneYolo!==void 0:!1),o=r?r.dataset.path:void 0;XH(e.id),wH(e.id,e.session,F.DORMANT,H7({skipPerms:i,saneYolo:a,worktree:r?.dataset.worktree!==void 0,workspace:r?.dataset.workspace!==void 0,path:o,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom})),FH(e.id,t?.agent),p9(e.id,t),c9(),yz(e.id),uI(U);return}eU(e.id,e.to,e.timestamp,e.event),e.hasEndedTurn!==void 0&&RH(e.id,e.hasEndedTurn),e.saneYolo!==void 0&&IV(e.id,e.saneYolo),uI(U),yz(e.id),c9(),tH(e.id),e.to===F.INITIALIZING&&(e.from===F.DONE||e.from===F.FAILED)&&qO(e.id)}var m9=new Map;function qde(e){let t=new Set;for(let n of e){if(!n?.id)continue;t.add(n.id);let e={tokens:n.tokens,costUSD:n.costUSD,officialCostUSD:n.officialCostUSD};m9.set(n.id,e),BH(n.id,e)}for(let e of[...m9.keys()])t.has(e)||(m9.delete(e),BH(e,null))}function h9(e){let t=m9.get(e);t&&BH(e,t)}TQ(B),gJ(B),_V(B),Gue(B),Oue(B),vue(B);function g9(e){Rde(k9,{isPhoneShellActive:q2(),activeView:tf(),phoneScreen:ef.snapshot().phoneScreen},e)}var Jde={snapshot:e=>{Wde(e.serverBuild),Gde(e.sessions)},"hooks-report":e=>bJ(e),"save-hook-result":e=>xJ(e),"delete-hook-result":e=>SJ(e),"state-change":e=>Kde(e),"session-added":e=>{e.ephemeral||gI(e.path),vH(e.id)||(wH(e.id,e.session,e.state,H7(e)),FH(e.id,e.agent),h9(e.id)),uI(U),c9(),f9()},"session-removed":e=>{XH(e.id),xz(e.id),uI(U),c9(),f9()},"session-title":e=>{_H(e.id,e.taskTitle,e.isCustom),c9()},"session-renamed":e=>{YH(e.id,e.newName),s9(),f9()},"session-modified":e=>{e.ephemeral||gI(e.path);let t=U.get(String(e.id));XH(e.id),xz(e.id),wH(e.id,e.session,e.state,H7(e)),FH(e.id,e.agent),p9(e.id,t),uI(U),c9(),f9()},"session-git":e=>IH(e.id,!!e.worktree),"session-agents":e=>{zH(e.id,e.activeAgents,e.awaitingBackgroundTasks),c9(),tH(e.id)},"session-wakeup":e=>UH(e.id,e.pendingWakeup),"session-prompt":e=>{VH(e.id,e.pendingPromptKind,e.pendingPromptDetail??null,e.isCompacting===!0),s9()},"session-merge-status":e=>{KH(e.id,e.mergeStatus,e.reason),oW(e.id,e.mergeStatus),s9()},"session-worktree-blocked":e=>{qx(`${e.session}: ${e.notice||`integration branch not found`}`,{persist:!0})},"session-worktree-warning":e=>{qx(`${e.session}: ${e.notice||`base branch warning`}`)},"session-worktree-ready":e=>{PH(e.id,e.base)},"session-diff":e=>{HN(e),JH(e.id,{committed:e.committed,uncommitted:e.uncommitted,hasCommits:e.hasCommits})},"session-diff-error":e=>{PN(e),fz(e.id,e.message)},"change-map":e=>pz(e.id,e.map),"branch-sync-status":e=>gz(e.id,e),"session-changed":e=>vz(e.id),"post-turn-result":e=>WH(e.id,e),"debug-state-response":e=>eH(e),"session-trace-response":e=>{jN(e),SV(e)},"session-trace-changed":e=>CV(e),"session-plan-changed":e=>{kH(e),s9()},"session-plan-draft":e=>{AH(e)},"session-plan-response":e=>{jH(e)},"session-docs-changed":e=>nI(e),"session-docs-snapshot":e=>rI(e),notify:e=>{MJ(e),tH(e.session)},"update-status":e=>{Qde(e),y0(e)},"update-progress":e=>b0(e.journal),error:e=>{NN(e),x0(),wV(e),MH(e),qx(e.message,{persist:!0})},"session-error":e=>{MH(e),qx(`${e.session}: ${e.message}`,{persist:!0})},"settings-updated":e=>{e.settings&&B9(e.settings,{isLiveSettingsChange:!0})},"health-snapshot":e=>{e.stats&&QI(e.stats)},"posthog-status":e=>wde(e),"posthog-investigation-activity":e=>Tde(e),"posthog-investigation-finished":e=>Dde(e),"team-review-status":e=>Yle(e),"my-prs-status":e=>vce(e),"factory-state":e=>gue(e),"factory-queue-intent-result":e=>yue(e),"factory-control-result":e=>bue(e),"benchmark-status":e=>jue(e),"benchmark-action-result":e=>Mue(e),"my-pr-merge-result":e=>yce(e),"team-review-action-result":e=>Zle(e),"issues-status":e=>Yue(e),"issue-detail-result":e=>Xue(e),"open-issue-session-result":e=>Zue(e),"usage-sessions":e=>{qde(e.sessions),kQ(e)},"usage-report":e=>{jQ(e),_0()},"plan-limits":e=>AQ(e),"usage-budget-alert":e=>MJ({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>_K(e),"visions-comments":e=>vK(e),"visions-hand":e=>yK(e),"visions-intent":e=>bK(e),"visions-fix":e=>gK(e),"visions-snapshot":e=>CK(e),"ingest-activity":e=>xK(e),"ingest-snapshot":e=>SK(e),"client-trust":e=>ofe(e.trust),"shutting-down":()=>a9(`Shutting down...`,`Shutting down sessions...`),restarting:()=>a9(`Restarting...`,`Restarting server...`)};function Yde(e){let t=Jde[e.type];t&&t(e)}xd(e=>{Yde(e),g9(e.type)});var _9=!1,Xde=mW(vk,yk,`Update`).href;function Zde(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function Qde(e){let t=H(document,`#update-banner`,`div`);if(!e.updateAvailable){t.hidden=!0;return}if(_9)return;let n=Zde(e);if(n&&GD()===n)return;let r=String(e.command??``);H(document,`#update-banner-text`,`span`).textContent=cA(e),H(document,`#update-banner-cmd`,`code`).textContent=r;let i=YQ(e),a=H(document,`#update-banner-update`,`a`);a.href=Xde,a.hidden=i!==`link`;let o=H(document,`#update-banner-cmd`,`code`);o.hidden=i!==`command`;let s=H(document,`#update-banner-copy`,`button`);s.hidden=i!==`command`;let c=H(document,`#update-banner-copy-status`,`span`);c.hidden=i!==`command`,c.textContent=``;let l=H(document,`#update-banner-link`,`a`);l.hidden=!e.releaseUrl,l.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,s.onclick=()=>{let e=Wd(r);if(!e){c.textContent=`Copy failed`;return}e.then(()=>{c.textContent=`Copied`}).catch(()=>{c.textContent=`Copy failed`})},H(document,`#update-banner-dismiss`,`button`).onclick=()=>{_9=!0,KD(n),t.hidden=!0}}var v9=H(document,`#telemetry-banner`,`div`);function y9(){JD(!0),v9.hidden=!0}function $de(e){v9.hidden=!jde(e,qD())}var b9=H(document,`#telemetry-banner-settings`,`a`);b9.href=mW(`privacy`,`telemetry-enabled`,`Open settings`).href,b9.addEventListener(`click`,y9),H(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,y9),H(document,`#btn-add-session-header`,`button`).addEventListener(`click`,tF);var x9=H(document,`#btn-mute`,`button`);RQ(x9);var S9=H(document,`#power-menu`,`div`),C9=H(document,`#btn-power`,`button`);function w9(){C9.setAttribute(`aria-expanded`,S9.classList.contains(`open`)?`true`:`false`)}C9.addEventListener(`click`,e=>{e.stopPropagation(),S9.classList.toggle(`open`),w9()}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(S9.contains(e.target)||(S9.classList.remove(`open`),w9()))}),zd(document.querySelector(`.header`));function efe(e){e&&f0(e),!X2(`settings`)&&L9(`settings`,{section:e})}function T9(){location.hash.startsWith(`#settings/`)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function tfe(e){return e?(f0(e.sectionId,e.settingId),X2(`settings`)||L9(`settings`,{section:e.sectionId,setting:e.settingId,persist:!1}),!0):!1}function E9(e){return tfe(p0(e))}function D9(e){let t=UL(e);return t?!vH(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),q2()?(K2(t)||qx(`No plan is stored for this session yet`),!0):(L9(`focus`,{persist:!1}),cW(t)||qx(`No plan is stored for this session yet`),!0)):!1}function O9(e){return D9(e)?!0:E9(e)}function nfe(){return O9(location.hash)}document.addEventListener(`click`,e=>{if(!q2()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&O9(t.hash)&&e.preventDefault()}),vse(H(document,`#celebration-tray`,`div`),H(document,`#btn-celebrations`,`button`),H(document,`#celebration-tray-count`,`span`)),H(document,`#btn-help`,`button`).addEventListener(`click`,()=>{efe(`browser-shortcuts`)});var k9=zde({onRestart:q9,onConfirmUpdateAndRestart:afe,openTerminal:e=>{L9(`focus`),sW(e)},openPlan:e=>{L9(`focus`),cW(e)},openCalm:()=>L9(`calm`),setPhoneAttention:Q2});oz({panel:document.getElementById(`review-sidebar`)});for(let e of k9)e.mount(e.el);var A9=NU();A9&&uP(A9),ef.subscribe((e,t)=>{t.includes(`focusedSessionId`)&&u9()});function j9(e){return k9.find(t=>t.view===e)}function M9(e){return k9.some(t=>t.view===e&&!t.tab.hidden)}var N9=!0,P9=null;function F9(e){j9(e)?.attention?.acknowledge()}function I9(e){q7(j9(e),`shown`)}function L9(e,{section:t,setting:n,persist:r=!0}={}){if(!M9(e))return;let i=tf();ef.dispatch(`setActiveView`,e),N9=r,r&&(P9=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(j9(e)?.hasReviewSidebar!==!0),r&&OD(e);for(let t of k9){let n=t.view===e;t.el&&(t.el.hidden=!n),t.tab.setAttribute(`aria-selected`,String(n)),t.tab.tabIndex=n?0:-1}i!==e&&j9(i)?.deactivate?.(),j9(e)?.activate?.(),I9(e),i===`settings`&&e!==`settings`&&T9(),e===`settings`&&t&&f0(t,n??null),F9(e),u9()}function R9(e,t){let{view:n}=e;e.tab.hidden=!t,Z2(n,t),e.onAvailabilityChange?.(t),!q2()&&(!t&&tf()===n&&L9(`focus`),t&&P9===n&&L9(n))}var z9=null;function rfe(e,{isLiveSettingsChange:t=!1}={}){let n=Ide(k9,e),r=n.find(e=>e.view.view===`calm`)?.isAvailable===!0,i=t&&z9===!1&&r;z9=r,l9=r,G2(r),aW(!r),u9();for(let{view:e,isAvailable:t}of n)R9(e,t);!i||tf()!==`focus`||cf()||UL(location.hash)||L9(`calm`)}function B9(e,{isLiveSettingsChange:t=!1}={}){xH(e),m0(e),iK(e),rfe(e,{isLiveSettingsChange:t}),$de(e)}for(let e of k9)e.gate&&(R9(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>R9(e,t)));vV(()=>{M9(`trace`)&&(X2(`trace`)||L9(`trace`))});function V9(e,t){let n=k9.filter(e=>!e.tab.hidden),r=n[(n.findIndex(t=>t.view===e)+t+n.length)%n.length];return L9(r.view),r.tab}function ife(e){k9.some(e=>e.tab===document.activeElement)&&e.focus()}for(let e=0;e<k9.length;e++){let{view:t,tab:n}=k9[e];n.addEventListener(`click`,()=>L9(t)),n.addEventListener(`keydown`,e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),V9(tf(),e.key===`ArrowRight`?1:-1).focus()))})}var H9=DD(),U9=p0(location.hash),W9=UL(location.hash);if(U9&&L9(`settings`,{section:U9.sectionId,setting:U9.settingId,persist:!1}),W9&&L9(`focus`,{persist:!1}),!U9&&!W9){let e=M9(H9);e||(P9=H9),L9(e?H9:`focus`,{persist:e})}V2({panels:NJ(k9),onScreenShown:e=>{I9(e),e!==`settings`&&T9(),e===`settings`&&!location.hash.startsWith(`#settings/`)&&f0(),F9(e)},headerControls:[H(document,`.header-title`,`h1`),H(document,`#status-indicator`,`div`),H(document,`#celebration-tray`,`div`),H(document,`#btn-add-session-header`,`button`),H(document,`#btn-help`,`button`),x9,S9]});function G9(e){if(e===`phone`){let e=PU();for(let e of K7(k9))e.deactivate?.();cP(),u9(),H2({sessionId:e??void 0});return}let t=J2();U2();let n=tf();L9(M9(n)?n:`focus`,{persist:N9}),t&&sW(t)}cf()&&G9(`phone`),lf(G9),window.addEventListener(`hashchange`,nfe);function K9({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){S9.classList.remove(`open`),w9();let o=yH();yf({title:t,message:o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i,confirmLabel:n,danger:r,onConfirm:()=>B({type:e})})}function q9(){K9({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}function afe(e){let t=bH(),n=t.length;if(n===0){e(t);return}yf({title:`Update and restart`,message:`Glimmervoid restarts once the update is staged, which kills ${n} running session${n>1?`s`:``}. Continue?`,confirmLabel:`Update and restart`,danger:!1,onConfirm:()=>e(t)})}H(document,`#btn-restart`,`button`).addEventListener(`click`,q9);function ofe(e){let t=bP(`shutdown`,e);H(document,`#btn-shutdown`,`button`).hidden=!t,H(document,`#menu-divider-shutdown`,`div`).hidden=!t}H(document,`#btn-shutdown`,`button`).addEventListener(`click`,()=>{K9({type:`shutdown`,title:`Shut Down Server`,confirmLabel:`Shut Down`,danger:!0,idleMessage:`Shut down the server?`,actionAfterKillingSessions:`shut down the server`})});function sfe(){let e=document.activeElement;return e instanceof HTMLElement?e.isContentEditable?!0:(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)&&!e.classList.contains(`xterm-helper-textarea`):!1}function cfe({action:e,step:t}){switch(e){case`merge`:return Sz(),!0;case`resolve-or-resync`:return Cz()||wz(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`next-attention`:return tf()===`calm`?rP():MU()?(XU(),!0):!1;case`rail-step`:return MU()?(uW(t),!0):!1;case`view-step`:return!cf()&&(ife(V9(tf(),t)),!0);case`session-nth`:return MU()?(lW(t),!0):!1;case`calm-home`:return!cf()&&(L9(`calm`),!0);case`calm-terminal`:return nP()}}Ere(()=>({isCalmAvailable:l9,isCalmViewActive:tf()===`calm`})),document.addEventListener(`keydown`,e=>{if(e.repeat||sfe())return;let t=eb(e,ob,cb());t&&cfe(t)&&e.preventDefault()});var lfe=CP({mode:`trailing`,delayMs:150,run:()=>{B({type:`focus-change`,focused:document.hasFocus()})}});function J9(){lfe.schedule()}function Y9(){J9(),rk(ff(wP()))}window.addEventListener(`focus`,Y9),window.addEventListener(`blur`,Y9),document.addEventListener(`visibilitychange`,Y9);var X9=!1,Z9=null;function ufe(){if(document.visibilityState!==`visible`)return 0;let e=Z9;return Z9=null,e===null?0:Date.now()-e}async function Q9(){let e=ufe();if(!X9){X9=!0,GO();try{if(await Dd(e)===`ok`)return;for(let e of U.keys())qO(e)}finally{KO(),X9=!1}}}document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState!==`visible`){Z9??=Date.now();return}YT(),Q9()}),window.addEventListener(`online`,Q9);var $9=AP(B);window.addEventListener(`error`,e=>$9(e.error)),window.addEventListener(`unhandledrejection`,e=>$9(e.reason)),window.addEventListener(`pageshow`,e=>{e.persisted&&(YT(),Q9())}),ZI(H(document,`#health-footer-mount`,`div`)),jJ(),By(SH),Ed();
|