teapot-coding-agent 0.37.101 → 0.37.103

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.
@@ -3,27 +3,27 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en
3
3
  `)).split(`
4
4
  `))}function Be(e){let t=[],n=0;for(;n<e.length;){let o=e[n],s=o.match(/^(`{3,})([^\n]*)$/);if(s&&!/^```.+\`\`\`/.test(o)){let r=s[1].length,i=s[2].trim().split(/\s+/)[0]??``,a=[];n++;let o=RegExp("^`{"+r+`,}\\s*$`);for(;n<e.length&&!o.test(e[n]);)a.push(e[n++]);n++;let c=i?i.split(/\s+/)[0]:``,l=c?c.split(`/`).pop().split(`.`).pop().replace(/[^\w+#-]/g,``):``,u=l?` class="language-${l}"`:``;t.push(`<pre><code${u}>${a.join(`
5
5
  `)}</code></pre>`);continue}if(/^ {0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/.test(o)){t.push(`<hr>`),n++;continue}let c=o.match(/^(#{1,6})\s+(.*)$/);if(c){t.push(`<h${c[1].length}>${a(c[2])}</h${c[1].length}>`),n++;continue}if(/^\s*&gt;/.test(o)){let r=[];for(;n<e.length&&/^\s*&gt;/.test(e[n]);)r.push(e[n++].replace(/^\s*&gt;\s?/,``));t.push(`<blockquote>${Be(r)}</blockquote>`);continue}if(o.includes(`|`)&&n+1<e.length&&He(e[n+1])){let r=Ve(e[n+1]).map(e=>e.startsWith(`:`)&&e.endsWith(`:`)?`center`:e.endsWith(`:`)?`right`:`left`),i=Ve(o);n+=2;let s=[];for(;n<e.length&&/\S/.test(e[n])&&e[n].includes(`|`);)s.push(Ve(e[n])),n++;let c=(e,t,n)=>{let i=r[t];return`<${n}${i&&i!==`left`?` style="text-align:${i}"`:``}>${a(e)}</${n}>`},l=i.some(e=>e!==``);t.push(`<div class="tbl"><table>`+(l?`<thead><tr>${i.map((e,t)=>c(e,t,`th`)).join(``)}</tr></thead>`:``)+`<tbody>${s.map(e=>`<tr>${e.map((e,t)=>c(e,t,`td`)).join(``)}</tr>`).join(``)}</tbody></table></div>`);continue}if(Re.test(o)){t.push(i(r(o.match(Re)[1])));continue}if(/^\s*$/.test(o)){n++;continue}let l=n,u=[];for(;n<e.length&&!/^\s*$/.test(e[n])&&!/^#{1,6}\s/.test(e[n])&&!e[n].startsWith("```")&&!/^ {0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/.test(e[n])&&!/^\s*&gt;/.test(e[n])&&!Re.test(e[n])&&!(e[n].includes(`|`)&&n+1<e.length&&He(e[n+1]));)u.push(e[n++]);n===l&&u.push(e[n++]),t.push(`<p>${u.map(a).join(`<br>`)}</p>`)}return t.join(`
6
- `);function r(e){return e.replace(/\t/g,` `).length}function i(t){let o=null,s=1,c=[];for(;n<e.length;){let l=e[n].match(Re);if(!l)break;let u=r(l[1]);if(u<t)break;let d=/^\d/.test(l[2]);if(o===null)o=d;else if(d!==o)break;if(o&&c.length===0){let e=Number.parseInt(l[2],10);Number.isFinite(e)&&(s=e)}n++;let f=l[3];for(;n<e.length&&/\S/.test(e[n])&&!Re.test(e[n])&&!/^#{1,6}\s/.test(e[n])&&!e[n].startsWith("```")&&!/^\s*&gt;/.test(e[n])&&!/^ {0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/.test(e[n])&&!/^ {0,3}={3,}\s*$/.test(e[n])&&!(e[n].includes(`|`)&&n+1<e.length&&He(e[n+1]));)f+=` `+e[n].trim(),n++;let p=``,m=e[n]?.match(Re);m&&r(m[1])>u&&(p=i(r(m[1])));let h=f.match(/^\[( |x|X)\]\s+(.*)$/),g=h?`<input type="checkbox" disabled${h[1].toLowerCase()===`x`?` checked`:``}> `:``;c.push(`<li>${g}${a(h?h[2]:f)}${p}</li>`);let _=n;for(;_<e.length&&!/\S/.test(e[_]);)_++;let v=e[_]?.match(Re);_>n&&v&&r(v[1])===u&&/^\d/.test(v[2])===o&&(n=_)}return o?s===1?`<ol>${c.join(``)}</ol>`:`<ol start="${s}">${c.join(``)}</ol>`:`<ul>${c.join(``)}</ul>`}function a(e){let t=[];return e=e.replace(/\u0000/g,``),e=e.replace(/`([^`]+)`/g,(e,n)=>(t.push(`<code>${n}</code>`),`\ue000${t.length-1}\uE001`)),e=e.replace(/!\[([^\]]*)\]\((https?:\/\/[^)\s]+)(?:\s+&quot;[^)]*&quot;)?\)/g,(e,n,r)=>(t.push(`<img src="${r}" alt="${n}" loading="lazy">`),`\ue000${t.length-1}\uE001`)),e=e.replace(/\[([^\]]+)\]\((https?:\/\/[^)\s]+)(?:\s+&quot;[^)]*&quot;)?\)/g,(e,n,r)=>(t.push(`<a href="${r}" rel="noopener noreferrer" target="_blank">${n}</a>`),`\ue000${t.length-1}\uE001`)),e=e.replace(/(?<!["'=\w])(https?:\/\/[^\s<>"')\]]*[^\s<>"')\].,;:!?"')\]])/g,`<a href="$1">$1</a>`),e=e.replace(/\*\*\*([\s\S]+?)\*\*\*/g,`<strong><em>$1</em></strong>`),e=e.replace(/\*\*([\s\S]+?)\*\*/g,`<strong>$1</strong>`),e=e.replace(/(^|[^\w])__(?=\S)([\s\S]*?\S)__(?!\w)/g,`$1<strong>$2</strong>`),e=e.replace(/(^|[^\w*])\*(?!\s)([^*\n]+?)\*(?![\w*])/g,`$1<em>$2</em>`),e=e.replace(/(^|[^\w])_(?!\s)([^_\n]+?)_(?!\w)/g,`$1<em>$2</em>`),e=e.replace(/~~([\s\S]+?)~~/g,`<del>$1</del>`),e.replace(/\ue000(\d+)\ue001/g,(e,n)=>t[+n]??``)}}function Ve(e){let t=e.trim();t.startsWith(`|`)&&(t=t.slice(1));let n=[],r=``;for(let e=0;e<t.length;e++){let i=t[e];if(i===`\\`&&t[e+1]===`|`)r+=`|`,e++;else if(i==="`"){let n=t.indexOf("`",e+1);if(n!==-1){r+=t.slice(e,n+1).replace(/\\\|/g,`|`),e=n;continue}r+=i}else{if(i===`|`&&e===t.length-1)break;i===`|`?(n.push(r.trim()),r=``):r+=i}}return n.push(r.trim()),n.filter((e,r)=>!(e===``&&r===n.length-1&&t.endsWith(`|`)))}function He(e){let t=e.trim();if(!t.includes(`|`)||!t.includes(`-`))return!1;let n=Ve(t);return n.every(e=>/^:?-+:?$/.test(e))&&n.some(e=>e!==``)}function Ue(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function We(e){return Math.max(0,e.height-e.viewport)}function Ge(e){return e?Math.max(0,e.height-e.top-e.viewport):1/0}function Ke(e,t=24){return e?Ge(e)<=t:!1}function qe(e,t,n,r){if(r!==void 0&&Math.abs(e.viewport-r)>.5||n!==void 0&&Math.abs(e.height-n)>.5)return`layout`;if(t){let n=Math.min(t.top,We(e));if(Math.abs(e.top-n)<=.5)return`programmatic`}return`reader`}function Je(e,t){return e?Ge(t)<=64:!1}function Ye(e,t,n,r){return t===`reader`?r!==void 0&&n.top<r-.5?!1:Ke(n):e||Ke(n)}function Xe(e,t,n=.5){return e?Ge(t)>n:!1}var Ze=Ge;function Qe(e,t){let n=0,r=()=>{let t=0;for(let n of e.values())t+=n.bytes;return t};for(;e.size>t.maxEntries||r()>t.maxBytes;){let t,r=1/0;for(let[n,i]of e)i.at<r&&(r=i.at,t=n);if(t===void 0||(e.delete(t),n++,e.size===0))break}return n}function $e(e,t=0){if(t>8)return 8;if(e==null)return 4;switch(typeof e){case`string`:return 16+e.length*2;case`number`:case`boolean`:return 8;case`object`:{if(Array.isArray(e)){let n=16;for(let r of e)n+=$e(r,t+1);return n}let n=16;for(let[r,i]of Object.entries(e))n+=8+r.length*2+$e(i,t+1);return n}default:return 8}}var et=new Map,tt=0,nt=500,rt=4194304;function it(e){let t=et.get(e);if(t!==void 0)return t;let n=ze(e);for(et.set(e,n),tt+=(e.length+n.length)*2;(et.size>nt||tt>rt)&&et.size;){let e=et.keys().next().value;if(e===void 0)break;let t=et.get(e)??``;tt-=(e.length+t.length)*2,et.delete(e)}return n}function at(e){if(e==null||!Number.isFinite(e))return`?`;let t=Math.max(0,e);if(t<1e3)return`${Math.round(t)}ms`;if(t<6e4)return`${(Math.floor(t/100)/10).toFixed(1)}s`;let n=Math.round(t/1e3);if(n<3600){let e=Math.floor(n/60),t=n%60;return t?`${e}m ${t}s`:`${e}m`}let r=Math.round(n/60),i=Math.floor(r/60),a=r%60;return a?`${i}h ${a}m`:`${i}h`}function ot(e,t){return e.length>t?e.slice(0,t)+` …`:e}function st(e){let t=new Date(e).getTime()-Date.now(),n=Math.abs(t),r=n<9e4?`${Math.round(n/1e3)}s`:n<54e5?`${Math.round(n/6e4)}m`:`${(n/36e5).toFixed(1)}h`;return t>=0?`in ${r}`:`${r} ago`}function ct(e,t,n,r=Date.now()){let i=new Map(e);return i.set(t,{text:n.text??``,reasoning:n.reasoning??``,at:r}),i}function lt(e,t){if(!e.has(t))return e;let n=new Map(e);return n.delete(t),n}function ut(e){let t=e;return t?.type===`state`&&t.data?.detail===`llm turn start`}function dt(e){return e===`running`||e===`waiting`||e===`needs_operator`}function ft(e,t,n){let r=e.text.trim(),i=gt(t),a=dt(n);return{textCovered:!r||i.has(r),reasoningStale:!e.reasoning.trim()||ht(t).has(e.reasoning.trim())||a&&mt(t,e.at)}}function pt(e,t,n){let r=ft(e,t,n),i=r.textCovered?``:e.text,a=r.reasoningStale?``:e.reasoning,o=dt(n),s=!i.trim()&&!a.trim(),c=!!e.text.trim()||!!e.reasoning.trim();return{text:i,reasoning:a,live:o,empty:s&&(!o||c)}}function mt(e,t){return t?e.some(e=>{if(e.type!==`tool_call`)return!1;let n=Date.parse(String(e.ts??``));return Number.isFinite(n)&&n>t}):!1}function ht(e){let t=new Set;for(let n of e){let e=String(n.data?.reasoning??``).trim();e&&t.add(e)}return t}function gt(e){let t=new Set;for(let n of e)n.type===`message`&&n.data?.role===`assistant`&&t.add(String(n.data.content??``).trim());return t}function _t(e){if(!e)return!1;let t=e.data?.actor;return!(typeof t==`string`&&t.length>0)}function vt(e,t){let n=[];for(let r of e.keys()){let e=t(r);e!==void 0&&(dt(e)||n.push(r))}if(n.length===0)return e;let r=new Map(e);for(let e of n)r.delete(e);return r}function yt(e,t,n){if(!e)return null;let r=pt(e,t,n);return r.empty?null:r.text===e.text&&r.reasoning===e.reasoning?e:{text:r.text,reasoning:r.reasoning,at:e.at}}function bt(e,t,n,r){if(!e)return 0;if(r)return e;if(!n)return 0;let i=t.find(e=>e.id===n);return i?.status===`running`||i?.status===`waiting`||i?.status===`needs_operator`?e:0}function xt(e,t){if(!t.length)return[...e].sort((e,t)=>e.seq-t.seq);let n=e.reduce((e,t)=>Math.max(e,t.seq),0),r=t.map((e,t)=>e.seq>n?e:{...e,seq:n+1+t});return[...e,...r].sort((e,t)=>e.seq-t.seq)}function St(e,t){if(t===void 0||t<=e.seq)return e;let n=Ct.get(e);n||(n=new Map,Ct.set(e,n));let r=n.get(t);if(r)return r;let i={...e,seq:t};return n.set(t,i),i}var Ct=new WeakMap;function wt(e,t){return t===void 0?e.reduce((e,t)=>Math.max(e,t.seq),0)+1:t}var Tt=new Set([`report_progress`,`ask_user`,`record_decision`]);function Et(e){let{events:t,consumed:n,feedTypes:r}=e;return t.filter(e=>{if(e.type===`sub`)return!0;if(!r.has(e.type))return!1;let t=e.type===`tool_call`||e.type===`tool_result`?String(e.data?.name??``):``;if(Tt.has(t))return!1;if(e.type===`tool_result`)return!n.has(e.id);if(e.type===`message`){let t=String(e.data?.content??``),n=String(e.data?.reasoning??``);return t.trim()===``&&n.trim()!==``&&e.data?._prevKind===`tool`||e.data?.progressEcho||!e.data?.final&&t.trim()===`(tool call)`?!1:t.trim()!==``||n.trim()!==``||!!e.data?.final}return!0})}function Dt(e){let t=[];for(let n of e){if(n.type!==`sub`){t.push(n);continue}let e=n.data,r=String(e?.type??`message`);r!==`state`&&t.push({...n,type:r,data:{...e?.data??{},actor:e?.sub}})}return t}var Ot=e=>String(e??``).replace(/\s+/g,` `).trim().toLowerCase();function kt(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type===`message`&&r.data?.role===`assistant`){let e=t[t.length-1],n=e?.type;if(n===`progress`||n===`decision`||e?.data?.progressEcho){let t=Ot(r.data?.content),n=Ot(e?.data?.content);if(t&&t===n)continue}}t.push(r)}return t}function At(e){let t=new Set,n=new Set,r=new Map,i=new Map;for(let a of e){let e=a.data?.promptId;e&&(a.type===`prompt`&&a.data?.source===`user`&&n.add(String(e)),a.type===`system_note`&&a.data?.event===`prompt-delivered`&&(t.add(String(e)),r.set(String(e),a.seq)),a.type===`system_note`&&a.data?.event===`prompt-cancelled`&&i.set(String(e),a.seq))}return{deliveredIds:t,loggedUserPrompts:n,deliveredNotes:r,cancelledNotes:i}}function jt(e,t,n){return e.filter(e=>{if(!t.renderedTypes.has(e.type))return e.type===`system_note`&&t.renderedNoteEvents.has(String(e.data?.event??``));if(e.type!==`prompt`||e.data?.source!==`user`)return!0;let r=String(e.data?.promptId??``);return r===``||!n.has(r)})}var Mt=new WeakMap;function Nt(e,t){let n=Mt.get(e);n||(n=new Map,Mt.set(e,n));let r=n.get(t);if(r)return r;let i={...e,data:{...e.data??{},cancelled:!0}};return n.set(t,i),i}function Pt(e,t){let n=t=>wt(e,t),r=[];for(let i of e){if(i.type!==`prompt`||i.data?.source!==`user`){r.push(i);continue}let e=String(i.data?.promptId??``),a=t.cancelledNotes.get(e),o=t.deliveredNotes.get(e)??0,s=Math.max(o,a??0)||void 0,c=a===void 0?i:Nt(i,a);if(s!==void 0){r.push(St(c,s));continue}let l=n(c.seq);r.push(c.seq===l?c:{...c,seq:l})}return r}function Ft(e,t){return e.filter(e=>!e.promptId||!(t.deliveredIds.has(e.promptId)&&t.loggedUserPrompts.has(e.promptId)))}function It(e){let t=kt(Dt(Et(e))),n=At(t),r=new Set;for(let t of e.pending)t.promptId&&!n.deliveredIds.has(t.promptId)&&r.add(t.promptId);let i=Pt(jt(t,e,r),n),a=Ft(e.pending,n).map(e.echo);return{rows:xt(i,a),pendingCount:a.length}}function Lt(e){let t=e.event;return t===`status`||t===`audit-started`||t===`audit`||t===`audit-failed`?t:`other`}function Rt(e){let t=e.trim().toLowerCase();return t===``||t===`(no detail)`||t===`no detail`||t===`(none)`||t===`(empty)`}function zt(e,t){let n=String(e??``).trim();return Rt(n)?Rt(t)?``:t:n}function Bt(e){switch(Lt(e)){case`audit-started`:return{label:`🔍️ completion audit started`,detail:String(e.verify??``).trim()||`checking the verification contract…`,tone:``,markdown:!1,hasCard:!0};case`audit`:{let t=!Rt(String(e.feedback??``));return e.verdict===`approved`?{label:`✅ audit: approved`,detail:zt(e.feedback??``,``),tone:`ok`,markdown:!0,hasCard:t}:{label:`⚠ audit: changes required`,detail:zt(e.feedback??``,``),tone:`warn`,markdown:!0,hasCard:t}}case`audit-failed`:return{label:`🔍️ audit unavailable — finish accepted`,detail:String(e.detail??``).trim()||`the auditor could not be reached`,tone:`err`,markdown:!1,hasCard:!0};case`status`:{let t=String(e.status??``).trim();return t?t===`done`?String(e.by??``).trim()===`operator`?{label:`🏁 goal marked done`,detail:`you marked this goal done — no audit runs for a manual completion`,tone:``,markdown:!1,hasCard:!0}:{label:`🏁 finish claimed — pending audit`,detail:`the agent called finish(goalComplete=true); the verification contract is now being audited`,tone:``,markdown:!1,hasCard:!0}:t===`active`?String(e.by??``).trim()===`auditor`?{label:`▶ goal reopened`,detail:`the audit rejected the finish — work continues on the same goal`,tone:`warn`,markdown:!1,hasCard:!0}:{label:`▶ goal resumed`,detail:`marked active again — auto-continue picks the goal up from the next turn`,tone:``,markdown:!1,hasCard:!0}:{label:`🎯 goal ${t||`updated`}`,detail:String(e.text??``).trim()||`the goal is now ${t}`,tone:``,markdown:!0,hasCard:!0}:{label:`🎯 goal status updated`,detail:String(e.text??``).trim()||`no status recorded`,tone:``,markdown:!0,hasCard:!0}}default:{let t=String(e.text??``).trim(),n=String(e.event??``).trim();return{label:n?`🎯 goal ${n}`:`🎯 goal updated`,detail:t||`the "${n||`goal`}" event carried no further detail`,tone:``,markdown:!0,hasCard:!0}}}}var Vt=P(`<span class="meta muted">`),Ht=P(`<div class=ctitle>`),Ut=P(`<div>`),Wt=P(`<div class=cardbody>`);function Gt(e){let t=()=>{let t=e.tone;return[`card`,t?`card-${t}`:``,e.class??``].filter(Boolean).join(` `)},n=()=>e.markdown===!1?ze(`\`\`\`\n${e.body}\n\`\`\``):ze(e.body);return(()=>{var r=Ut();return L(r,A(M,{get when(){return e.title},get children(){var t=Ht();return L(t,()=>e.title,null),L(t,A(M,{get when(){return e.meta},get children(){var t=Vt();return L(t,()=>e.meta),t}}),null),t}}),null),L(r,()=>e.children??(()=>{var e=Wt();return b(()=>e.innerHTML=n()),e})(),null),b(()=>I(r,t())),r})()}function Kt(e,t){let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return[...n.values()]}var qt=[320,640,1280,1920,2560,3840],Jt=qt[0],Yt=/^\/api\/assets\/[a-f0-9]{32}\.(png|jpg|jpeg|gif|webp|avif)$/i;function Xt(e,t){if(e)return Yt.test(e)?`${e}?w=${t}`:e}function Zt(e){if(e)return qt.map(t=>`${Xt(e,t)} ${t}w`).join(`, `)}function Qt(e,t=Jt){return Xt(e,t)}function $t(e,t=new Set,n=!1,r=new Set){let i=n?e.filter(t=>{if(!t.workspaceMissing)return!0;let n=[t.id],r=new Set;for(;n.length;){let t=n.pop();if(!r.has(t)){r.add(t);for(let i of e)i.parent===t&&!r.has(i.id)&&n.push(i.id)}}for(let t of r){let n=e.find(e=>e.id===t);if(n&&!n.workspaceMissing)return!0}return!1}):e,a=new Map,o=[];for(let e of i)e.parent&&i.some(t=>t.id===e.parent)?(a.has(e.parent)||a.set(e.parent,[]),a.get(e.parent).unshift(e)):o.push(e);let s=[],c=(e,n)=>{for(let o of e){let e=n===0&&r.has(an(i,o));if(s.push({a:o,depth:n}),e)continue;let l=a.get(o.id);l?.length&&!t.has(o.id)&&c(l,n+1)}},l=[],u=new Map;for(let e of o){if(e.parent)continue;let t=en(i,e.id),n=u.get(t);n?n.push(e):(u.set(t,[e]),l.push(t))}for(let t of o){if(!t.parent)continue;let n=en(e,t.id)||``,r=u.get(n);r?r.push(t):(u.set(n,[t]),l.push(n))}for(let e of l)c(u.get(e),0);return s}function en(e,t,n=new Set){let r=e.find(e=>e.id===t);return r?!r.parent||n.has(t)?r.workspace||``:(n.add(t),en(e,r.parent,n)||r.workspace||``):``}function tn(e){return e.isSub?e.hasChildren:e.collapsed||e.hasChildren}function nn(e,t=[]){let n=e.indexOf(`-sub`);if(n===-1)return null;let r=e.slice(n+4).replace(/^-+/,``);if(!r)return null;let i=r.split(`-`);return(t.includes(i[0]??``)?i.slice(1).join(`-`):r).replace(/_/g,` `).trim()||null}function rn(e,t,n=new Set){let r=[],i=new Set(n);for(let n of e)n.parent===t&&(i.has(n.id)||(i.add(n.id),r.push(n,...rn(e,n.id,i))));return r}function an(e,t){let n=t.id,r=new Set;for(;;){let t=e.find(e=>e.id===n);if(!t?.parent||r.has(n))break;r.add(n),n=t.parent}return`chat:${n||t.id}`}function on(e){let t=new Map;for(let n of e){if(n.parent)continue;let r=en(e,n.id);r&&t.set(r,(t.get(r)??0)+1)}return t}function sn(e,t,n=new Set){let r=[],i=null;for(let a of t){let t=en(e,a.a.id);t?(t!==i&&(i=t,r.push({a:a.a,depth:0,headerOnly:!0,wsHeader:t,wsCollapsedGroup:n.has(`ws:${t}`)})),!n.has(`ws:${t}`)&&(n.has(an(e,a.a))?r.push({a:a.a,depth:a.depth,chatCollapsedGroup:!0}):r.push({a:a.a,depth:a.depth}))):r.push({a:a.a,depth:a.depth})}return r}function cn(e,t=new Set){let n=new Set,r=-1,i=-1;for(let t of e)t.type===`question`?r=t.seq:t.type===`prompt`&&t.data?.source===`user`?i=t.seq:t.type===`system_note`&&t.data?.event===`prompt-delivered`&&(i=Math.max(i,t.seq));if(r>=0&&i>r)for(let t of e)t.type===`question`&&t.seq<=i&&n.add(String(t.data?.callId??``));for(let e of t)n.add(e);return n}var ln=(e,t,n)=>{if(t>=e.length)return e;if(n?.length){let r=new Set(n),i=e.filter(e=>e.promptId&&r.has(e.promptId));if(i.length){let n=e.filter(e=>!e.promptId);return n.length?[...i,...n].slice(0,t):i}}return e.slice(0,t)};function un(e,t,n){let r=e??[];return n&&r.includes(n)?n:t&&r.includes(t)||!n&&t&&r.length===0?t:r[0]??null}function dn(e,t,n){return!e||!t.has(e)&&n.includes(e)?null:e}var fn=`teapot.textareaH.`;function pn(e){try{let t=Number(localStorage.getItem(fn+e)??``);return Number.isFinite(t)&&t>0?t:0}catch{return 0}}function mn(e,t){try{localStorage.setItem(fn+e,String(Math.round(t)))}catch{}}function hn(e,t){let n=new ResizeObserver(()=>{let n=e.offsetHeight;n>0&&t(n)});return n.observe(e),()=>n.disconnect()}function gn(e,t,n){return!t||n&&t===n?!0:typeof e==`string`&&e===t}function _n(e,t,n){return!e||!t||e.agent!==t?!1:gn(e.session,n,t)}function vn(e,t,n){return!e||!t||e.agentId!==t||!e.sessionId?!1:gn(e.sessionId,n,t)}function yn(e,t,n){return n?!e||!t||t===e.id||!e.session||e.session===t:!1}function bn(){let e=``,t=``,n=``,r=``;try{let i=getComputedStyle(document.documentElement);e=i.getPropertyValue(`--term-bg`).trim(),t=i.getPropertyValue(`--term-fg`).trim(),n=i.getPropertyValue(`--term-cursor`).trim(),r=i.getPropertyValue(`--term-cursor-accent`).trim()}catch{}let i=e||`#0d0e12`,a=t||`#dcdee4`;return{background:i,foreground:a,cursor:n||a,cursorAccent:r||i,selectionBackground:Sn(a),selectionForeground:a}}function xn(e){let t=bn(),n=e.options.theme;n&&n.background===t.background&&n.foreground===t.foreground&&n.cursor===t.cursor&&n.cursorAccent===t.cursorAccent&&n.selectionBackground===t.selectionBackground||(e.options.theme=t)}function Sn(e){let t=e.trim(),n=/^#([0-9a-f]{6})$/i.exec(t);return n?`#${n[1]}47`:`rgba(128, 128, 128, 0.35)`}function Cn(e,t,n){return e?.provider||n||Object.keys(t??{})[0]||``}function wn(e,t){return t?String(e?.[t]?.model??``).trim():``}function Tn(e,t,n){return wn(e,t)||(n&&t===(n.provider??``)?n.model??``:``)}function En(e,t,n,r){return n?.model&&t===r?n.model:wn(e,t)||n?.model||``}function Dn(e){return!e}function On(e){return!e}function kn(e,t){return e!==t}function An(e,t){return Math.max(1,Math.min(e,t))}var jn=e=>e?e.sessionTitle?.trim()||e.id:``,Mn=(e,t)=>{if(!e)return``;let n=jn(e),r=t?` — ${t}`:``;return n===e.id?`${n}${r}`:`${n} — ${e.id}${r}`},Nn=e=>e?Math.max(e.pendingPromptQueue?.length??0,e.pendingPromptIds?.length??0,e.pendingPrompts??0):0,Pn=e=>{let t=e.sameSession?Nn(e.agent):0;return Math.max(t,e.echoCount)},Fn=[{key:`bgDarkest`,cssVar:`--bg-darkest`,label:`surface (deepest)`},{key:`bgDark`,cssVar:`--bg-dark`,label:`surface`},{key:`bgMid`,cssVar:`--bg-mid`,label:`surface (raised)`},{key:`bgLight`,cssVar:`--bg-light`,label:`surface (control)`},{key:`fg`,cssVar:`--fg`,label:`text`},{key:`dim`,cssVar:`--dim`,label:`text (muted)`},{key:`line`,cssVar:`--line`,label:`divider`},{key:`acc`,cssVar:`--acc`,label:`accent`},{key:`ok`,cssVar:`--ok`,label:`success`},{key:`warn`,cssVar:`--warn`,label:`warning`},{key:`err`,cssVar:`--err`,label:`error`},{key:`tool`,cssVar:`--tool`,label:`tool accent`},{key:`termBg`,cssVar:`--term-bg`,label:`terminal background`},{key:`termFg`,cssVar:`--term-fg`,label:`terminal text`}],In=`teapot.customThemes`,Ln={bgDarkest:`#1a1c22`,bgDark:`#232630`,bgMid:`#2b2e39`,bgLight:`#343845`,fg:`#dcdee4`,dim:`#9298a5`,line:`#1d2027`,acc:`#5865f2`,ok:`#3ba55d`,warn:`#faa81a`,err:`#ed4245`,tool:`#3ba0c9`,termBg:`#0d0e12`,termFg:`#dcdee4`},Rn={dark:{bgDarkest:`#1a1c22`,bgDark:`#232630`,bgMid:`#2b2e39`,bgLight:`#343845`,fg:`#dcdee4`,dim:`#9298a5`,line:`#1d2027`,acc:`#5865f2`,ok:`#3ba55d`,warn:`#faa81a`,err:`#ed4245`,tool:`#3ba0c9`,termBg:`#0d0e12`,termFg:`#dcdee4`},midnight:{bgDarkest:`#0d0f18`,bgDark:`#12141f`,bgMid:`#1b1f31`,bgLight:`#252a42`,fg:`#dfe2f2`,dim:`#8a90ad`,line:`#0a0c14`,acc:`#8b7cf7`,ok:`#54c08a`,warn:`#e5b567`,err:`#ef6a6a`,tool:`#6aa9e9`,termBg:`#0a0c13`,termFg:`#dfe2f2`},tea:{bgDarkest:`#241c16`,bgDark:`#2e241c`,bgMid:`#3b2f24`,bgLight:`#493b2d`,fg:`#f0e4d2`,dim:`#b39d82`,line:`#1b140f`,acc:`#d98e32`,ok:`#7fa653`,warn:`#e0b058`,err:`#cf5b47`,tool:`#c9975f`,termBg:`#1d1712`,termFg:`#ecdcc3`},coffee:{bgDarkest:`#191410`,bgDark:`#211a14`,bgMid:`#30271e`,bgLight:`#403527`,fg:`#ede3d0`,dim:`#a89478`,line:`#120d07`,acc:`#c68a4b`,ok:`#8aa15c`,warn:`#d9a441`,err:`#c25450`,tool:`#a67c52`,termBg:`#15100c`,termFg:`#e8dcc5`},matcha:{bgDarkest:`#1b2217`,bgDark:`#232b1e`,bgMid:`#2f3a28`,bgLight:`#3c4a33`,fg:`#e8eeda`,dim:`#9aab84`,line:`#131a10`,acc:`#8db64e`,ok:`#6fae4e`,warn:`#d8b13c`,err:`#cd5c50`,tool:`#5da88f`,termBg:`#151b11`,termFg:`#dfe8cb`},matrix:{bgDarkest:`#060a06`,bgDark:`#0a0f0a`,bgMid:`#122116`,bgLight:`#18301d`,fg:`#c9f2cf`,dim:`#6fa075`,line:`#030603`,acc:`#2fd558`,ok:`#39c95f`,warn:`#b8d977`,err:`#ff6b6b`,tool:`#57c99b`,termBg:`#030503`,termFg:`#33ff77`},sunset:{bgDarkest:`#1c1422`,bgDark:`#241b2b`,bgMid:`#33253e`,bgLight:`#452f52`,fg:`#f2e6ea`,dim:`#ab93a8`,line:`#150e1b`,acc:`#f2784b`,ok:`#63b46f`,warn:`#eda63d`,err:`#e25563`,tool:`#b06ac9`,termBg:`#170f1d`,termFg:`#f0dfe4`},light:{bgDarkest:`#eceef4`,bgDark:`#f6f7fa`,bgMid:`#e2e5ee`,bgLight:`#ffffff`,fg:`#24272f`,dim:`#5d6470`,line:`#d8dbe4`,acc:`#4757d8`,ok:`#2b8a4b`,warn:`#b97a0f`,err:`#d83c3f`,tool:`#2278a8`,termBg:`#ffffff`,termFg:`#24272f`},strawberry:{bgDarkest:`#fbe4ea`,bgDark:`#fdf0f3`,bgMid:`#f7d4de`,bgLight:`#fffafb`,fg:`#4a2733`,dim:`#96707e`,line:`#f0ccd6`,acc:`#e05575`,ok:`#4d9e63`,warn:`#c98a2d`,err:`#d43d51`,tool:`#b05687`,termBg:`#fff5f8`,termFg:`#4a2733`},ramune:{bgDarkest:`#ddeff7`,bgDark:`#ecf7fb`,bgMid:`#c9e7f4`,bgLight:`#fbfeff`,fg:`#173342`,dim:`#5b7d90`,line:`#c2e2ef`,acc:`#1d86ae`,ok:`#3a9e6e`,warn:`#cf9a2a`,err:`#d64f5c`,tool:`#3a9db8`,termBg:`#f4fbfd`,termFg:`#173342`}},zn=e=>typeof e==`string`&&e.length>0&&e.length<=64&&!/[;{}]/.test(e);function Bn(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||!/^[a-z0-9-]{1,40}$/i.test(t.id)||typeof t.label!=`string`||!t.label.trim()||t.mode!==`dark`&&t.mode!==`light`)return null;let n=t.palette;if(!n||typeof n!=`object`)return null;let r={};for(let{key:e}of Fn){if(!zn(n[e]))return null;r[e]=n[e]}let i={id:t.id,label:t.label.slice(0,40),mode:t.mode,palette:r};if(typeof t.backgroundImage==`string`){let e=t.backgroundImage,n=/^\/api\/assets\/[a-f0-9]{32}\.(png|jpe?g|gif|webp|avif)$/i.test(e),r=/^data:image\//.test(e)&&e.length<=15e5,a=/^https?:\/\//.test(e);(n||r||a)&&(i.backgroundImage=e)}return typeof t.backgroundDim==`number`&&Number.isFinite(t.backgroundDim)&&(i.backgroundDim=Math.min(.9,Math.max(0,t.backgroundDim))),typeof t.backgroundImageBytes==`number`&&Number.isFinite(t.backgroundImageBytes)&&(i.backgroundImageBytes=Math.max(0,Math.round(t.backgroundImageBytes))),typeof t.surfaceAlpha==`number`&&Number.isFinite(t.surfaceAlpha)&&(i.surfaceAlpha=Math.min(1,Math.max(.35,t.surfaceAlpha))),i}function Vn(){try{let e=localStorage.getItem(In);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.map(Bn).filter(e=>e!==null):[]}catch{return[]}}function Hn(e){try{return localStorage.setItem(In,JSON.stringify(e)),fetch(`/api/themes`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({themes:e})}).catch(()=>{}),{ok:!0}}catch(e){return{ok:!1,error:e.name===`QuotaExceededError`||/quota/i.test(String(e.message))?`storage is full — that background image is too large. Try a smaller one, or remove another theme.`:`could not save: ${e.message}`}}}async function Un(){try{let e=await fetch(`/api/themes`);if(!e.ok)return null;let t=await e.json();return Array.isArray(t.themes)?t.themes.map(Bn).filter(e=>e!==null):null}catch{return null}}function Wn(e){for(let t=0;;t++){let n=`custom-${Date.now().toString(36)}${t?`-${t}`:``}`;if(!e.includes(n))return n}}function Gn(e,t){let n=new Set([`--bg-darkest`,`--bg-dark`,`--bg-mid`,`--bg-light`]),r=!!t?.backgroundImage;for(let{key:i,cssVar:a}of Fn){let o=t?t.palette[i]:``;r&&n.has(a)?e.style.getPropertyValue(a)&&e.style.removeProperty(a):e.style.getPropertyValue(a)!==o&&(o?e.style.setProperty(a,o):e.style.removeProperty(a))}let i=t?.backgroundImage?String(t.backgroundDim??.55):``,a=t?.backgroundImage?String(t.surfaceAlpha??.82):``;for(let[t,n]of[[`--bg-image-dim`,i],[`--surface-alpha`,a]])e.style.getPropertyValue(t)!==n&&(n?e.style.setProperty(t,n):e.style.removeProperty(t));if(t?.backgroundImage){e.dataset&&(e.dataset.bgImage=`on`);for(let[n,r]of[[`--bg-darkest-solid`,t.palette.bgDarkest],[`--bg-dark-solid`,t.palette.bgDark],[`--bg-mid-solid`,t.palette.bgMid],[`--bg-light-solid`,t.palette.bgLight]]){let t=Kn(r);e.style.getPropertyValue(n)!==t&&e.style.setProperty(n,t)}}else{e.dataset&&delete e.dataset.bgImage;for(let t of[`--bg-darkest-solid`,`--bg-dark-solid`,`--bg-mid-solid`,`--bg-light-solid`])e.style.removeProperty(t)}}function Kn(e){let t=/^#([0-9a-f]{6})[0-9a-f]{2}$/i.exec(e.trim());return t?`#${t[1]}`:e}function qn(e){let t=e.trim().toLowerCase(),n=/^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(t);if(!n)return null;let r=n[1];return r.length===3?`#${r[0]}${r[0]}${r[1]}${r[1]}${r[2]}${r[2]}`:`#${r}`}function Jn(e){if(e.customIds.includes(e.want)||e.presetIds.includes(e.want))return{active:e.want,repaired:!1};let t=e.fallback&&e.presetIds.includes(e.fallback)?e.fallback:`dark`;return{active:e.presetIds.includes(t)?t:e.presetIds[0]??`dark`,repaired:!0}}function Yn(e,t,n){return e.find(e=>e.id===t)??e.find(e=>e.id===n)??e[0]}function Xn(e){return e.preview?e.preview:e.auto?e.prefersLight?e.light:e.dark:e.fixed}var R=Object.defineProperty,Zn=Object.getOwnPropertyDescriptor,Qn=(e,t)=>{for(var n in t)R(e,n,{get:t[n],enumerable:!0})},$n=(e,t,n,r)=>{for(var i=r>1?void 0:r?Zn(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&&R(t,n,i),i},z=(e,t)=>(n,r)=>t(n,r,e),er=`Terminal input`,tr={get:()=>er,set:e=>er=e},nr=`Too much output to announce, navigate to rows manually to read`,rr={get:()=>nr,set:e=>nr=e};function ir(e){return e.replace(/\r?\n/g,`\r`)}function ar(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function or(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function sr(e,t,n,r){e.stopPropagation(),e.clipboardData&&cr(e.clipboardData.getData(`text/plain`),t,n,r)}function cr(e,t,n,r){e=ir(e),e=ar(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function lr(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 ur(e,t,n,r,i){lr(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function dr(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function fr(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 pr=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)}else i!==65279&&(t[r++]=i)}return r}},mr=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||(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}},hr=``,gr=` `,_r=class e{constructor(){this.fg=0,this.bg=0,this.extended=new vr}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}},vr=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}},yr=class e extends _r{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new vr,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?dr(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()]}},br=`di$target`,xr=`di$dependencies`,Sr=new Map;function Cr(e){return e[xr]||[]}function wr(e){if(Sr.has(e))return Sr.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Tr(t,e,r)};return t._id=e,Sr.set(e,t),t}function Tr(e,t,n){t[br]===t?t[xr].push({id:e,index:n}):(t[xr]=[{id:e,index:n}],t[br]=t)}var Er=wr(`BufferService`),Dr=wr(`CoreMouseService`),Or=wr(`CoreService`),kr=wr(`CharsetService`),Ar=wr(`InstantiationService`),jr=wr(`LogService`),Mr=wr(`OptionsService`),Nr=wr(`OscLinkService`),Pr=wr(`UnicodeService`),Fr=wr(`DecorationService`),Ir=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 yr,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):Lr(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)}};Ir=$n([z(0,Er),z(1,Mr),z(2,Nr)],Ir);function Lr(e,t){if(confirm(`Do you want to navigate to ${t}?
6
+ `);function r(e){return e.replace(/\t/g,` `).length}function i(t){let o=null,s=1,c=[];for(;n<e.length;){let l=e[n].match(Re);if(!l)break;let u=r(l[1]);if(u<t)break;let d=/^\d/.test(l[2]);if(o===null)o=d;else if(d!==o)break;if(o&&c.length===0){let e=Number.parseInt(l[2],10);Number.isFinite(e)&&(s=e)}n++;let f=l[3];for(;n<e.length&&/\S/.test(e[n])&&!Re.test(e[n])&&!/^#{1,6}\s/.test(e[n])&&!e[n].startsWith("```")&&!/^\s*&gt;/.test(e[n])&&!/^ {0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/.test(e[n])&&!/^ {0,3}={3,}\s*$/.test(e[n])&&!(e[n].includes(`|`)&&n+1<e.length&&He(e[n+1]));)f+=` `+e[n].trim(),n++;let p=``,m=e[n]?.match(Re);m&&r(m[1])>u&&(p=i(r(m[1])));let h=f.match(/^\[( |x|X)\]\s+(.*)$/),g=h?`<input type="checkbox" disabled${h[1].toLowerCase()===`x`?` checked`:``}> `:``;c.push(`<li>${g}${a(h?h[2]:f)}${p}</li>`);let _=n;for(;_<e.length&&!/\S/.test(e[_]);)_++;let v=e[_]?.match(Re);_>n&&v&&r(v[1])===u&&/^\d/.test(v[2])===o&&(n=_)}return o?s===1?`<ol>${c.join(``)}</ol>`:`<ol start="${s}">${c.join(``)}</ol>`:`<ul>${c.join(``)}</ul>`}function a(e){let t=[];return e=e.replace(/\u0000/g,``),e=e.replace(/`([^`]+)`/g,(e,n)=>(t.push(`<code>${n}</code>`),`\ue000${t.length-1}\uE001`)),e=e.replace(/!\[([^\]]*)\]\((https?:\/\/[^)\s]+)(?:\s+&quot;[^)]*&quot;)?\)/g,(e,n,r)=>(t.push(`<img src="${r}" alt="${n}" loading="lazy">`),`\ue000${t.length-1}\uE001`)),e=e.replace(/\[([^\]]+)\]\((https?:\/\/[^)\s]+)(?:\s+&quot;[^)]*&quot;)?\)/g,(e,n,r)=>(t.push(`<a href="${r}" rel="noopener noreferrer" target="_blank">${n}</a>`),`\ue000${t.length-1}\uE001`)),e=e.replace(/(?<!["'=\w])(https?:\/\/[^\s<>"')\]]*[^\s<>"')\].,;:!?"')\]])/g,`<a href="$1">$1</a>`),e=e.replace(/\*\*\*([\s\S]+?)\*\*\*/g,`<strong><em>$1</em></strong>`),e=e.replace(/\*\*([\s\S]+?)\*\*/g,`<strong>$1</strong>`),e=e.replace(/(^|[^\w])__(?=\S)([\s\S]*?\S)__(?!\w)/g,`$1<strong>$2</strong>`),e=e.replace(/(^|[^\w*])\*(?!\s)([^*\n]+?)\*(?![\w*])/g,`$1<em>$2</em>`),e=e.replace(/(^|[^\w])_(?!\s)([^_\n]+?)_(?!\w)/g,`$1<em>$2</em>`),e=e.replace(/~~([\s\S]+?)~~/g,`<del>$1</del>`),e.replace(/\ue000(\d+)\ue001/g,(e,n)=>t[+n]??``)}}function Ve(e){let t=e.trim();t.startsWith(`|`)&&(t=t.slice(1));let n=[],r=``;for(let e=0;e<t.length;e++){let i=t[e];if(i===`\\`&&t[e+1]===`|`)r+=`|`,e++;else if(i==="`"){let n=t.indexOf("`",e+1);if(n!==-1){r+=t.slice(e,n+1).replace(/\\\|/g,`|`),e=n;continue}r+=i}else{if(i===`|`&&e===t.length-1)break;i===`|`?(n.push(r.trim()),r=``):r+=i}}return n.push(r.trim()),n.filter((e,r)=>!(e===``&&r===n.length-1&&t.endsWith(`|`)))}function He(e){let t=e.trim();if(!t.includes(`|`)||!t.includes(`-`))return!1;let n=Ve(t);return n.every(e=>/^:?-+:?$/.test(e))&&n.some(e=>e!==``)}function Ue(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function We(e){return Math.max(0,e.height-e.viewport)}function Ge(e){return e?Math.max(0,e.height-e.top-e.viewport):1/0}function Ke(e,t=24){return e?Ge(e)<=t:!1}function qe(e,t,n,r){if(r!==void 0&&Math.abs(e.viewport-r)>.5||n!==void 0&&Math.abs(e.height-n)>.5)return`layout`;if(t){let n=Math.min(t.top,We(e));if(Math.abs(e.top-n)<=.5)return`programmatic`}return`reader`}function Je(e,t){return e?Ge(t)<=64:!1}function Ye(e,t,n,r){return t===`reader`?r!==void 0&&n.top<r-.5?!1:Ke(n):e||Ke(n)}function Xe(e,t,n=.5){return e?Ge(t)>n:!1}var Ze=Ge;function Qe(e,t){let n=0,r=()=>{let t=0;for(let n of e.values())t+=n.bytes;return t};for(;e.size>t.maxEntries||r()>t.maxBytes;){let t,r=1/0;for(let[n,i]of e)i.at<r&&(r=i.at,t=n);if(t===void 0||(e.delete(t),n++,e.size===0))break}return n}function $e(e,t=0){if(t>8)return 8;if(e==null)return 4;switch(typeof e){case`string`:return 16+e.length*2;case`number`:case`boolean`:return 8;case`object`:{if(Array.isArray(e)){let n=16;for(let r of e)n+=$e(r,t+1);return n}let n=16;for(let[r,i]of Object.entries(e))n+=8+r.length*2+$e(i,t+1);return n}default:return 8}}var et=new Map,tt=0,nt=500,rt=4194304;function it(e){let t=et.get(e);if(t!==void 0)return t;let n=ze(e);for(et.set(e,n),tt+=(e.length+n.length)*2;(et.size>nt||tt>rt)&&et.size;){let e=et.keys().next().value;if(e===void 0)break;let t=et.get(e)??``;tt-=(e.length+t.length)*2,et.delete(e)}return n}function at(e){if(e==null||!Number.isFinite(e))return`?`;let t=Math.max(0,e);if(t<1e3)return`${Math.round(t)}ms`;if(t<6e4)return`${(Math.floor(t/100)/10).toFixed(1)}s`;let n=Math.round(t/1e3);if(n<3600){let e=Math.floor(n/60),t=n%60;return t?`${e}m ${t}s`:`${e}m`}let r=Math.round(n/60),i=Math.floor(r/60),a=r%60;return a?`${i}h ${a}m`:`${i}h`}function ot(e,t){return e.length>t?e.slice(0,t)+` …`:e}function st(e){let t=new Date(e).getTime()-Date.now(),n=Math.abs(t),r=n<9e4?`${Math.round(n/1e3)}s`:n<54e5?`${Math.round(n/6e4)}m`:`${(n/36e5).toFixed(1)}h`;return t>=0?`in ${r}`:`${r} ago`}function ct(e,t,n,r=Date.now()){let i=new Map(e);return i.set(t,{text:n.text??``,reasoning:n.reasoning??``,at:r}),i}function lt(e,t){if(!e.has(t))return e;let n=new Map(e);return n.delete(t),n}function ut(e){let t=e;return t?.type===`state`&&t.data?.detail===`llm turn start`}function dt(e){return e===`running`||e===`waiting`||e===`needs_operator`}function ft(e,t,n){let r=e.text.trim(),i=gt(t),a=dt(n);return{textCovered:!r||i.has(r),reasoningStale:!e.reasoning.trim()||ht(t).has(e.reasoning.trim())||a&&mt(t,e.at)}}function pt(e,t,n){let r=ft(e,t,n),i=r.textCovered?``:e.text,a=r.reasoningStale?``:e.reasoning,o=dt(n),s=!i.trim()&&!a.trim(),c=!!e.text.trim()||!!e.reasoning.trim();return{text:i,reasoning:a,live:o,empty:s&&(!o||c)}}function mt(e,t){return t?e.some(e=>{if(e.type!==`tool_call`)return!1;let n=Date.parse(String(e.ts??``));return Number.isFinite(n)&&n>t}):!1}function ht(e){let t=new Set;for(let n of e){let e=String(n.data?.reasoning??``).trim();e&&t.add(e)}return t}function gt(e){let t=new Set;for(let n of e)n.type===`message`&&n.data?.role===`assistant`&&t.add(String(n.data.content??``).trim());return t}function _t(e){if(!e)return!1;let t=e.data?.actor;return!(typeof t==`string`&&t.length>0)}function vt(e,t){let n=[];for(let r of e.keys()){let e=t(r);e!==void 0&&(dt(e)||n.push(r))}if(n.length===0)return e;let r=new Map(e);for(let e of n)r.delete(e);return r}function yt(e,t,n){if(!e)return null;let r=pt(e,t,n);return r.empty?null:r.text===e.text&&r.reasoning===e.reasoning?e:{text:r.text,reasoning:r.reasoning,at:e.at}}function bt(e,t,n,r){if(!e)return 0;if(r)return e;if(!n)return 0;let i=t.find(e=>e.id===n);return i?.status===`running`||i?.status===`waiting`||i?.status===`needs_operator`?e:0}function xt(e,t){if(!t.length)return[...e].sort((e,t)=>e.seq-t.seq);let n=e.reduce((e,t)=>Math.max(e,t.seq),0),r=t.map((e,t)=>e.seq>n?e:{...e,seq:n+1+t});return[...e,...r].sort((e,t)=>e.seq-t.seq)}function St(e,t){if(t===void 0||t<=e.seq)return e;let n=Ct.get(e);n||(n=new Map,Ct.set(e,n));let r=n.get(t);if(r)return r;let i={...e,seq:t};return n.set(t,i),i}var Ct=new WeakMap;function wt(e,t){return t===void 0?e.reduce((e,t)=>Math.max(e,t.seq),0)+1:t}var Tt=new Set([`report_progress`,`ask_user`,`record_decision`]);function Et(e){let{events:t,consumed:n,feedTypes:r}=e;return t.filter(e=>{if(e.type===`sub`)return!0;if(!r.has(e.type))return!1;let t=e.type===`tool_call`||e.type===`tool_result`?String(e.data?.name??``):``;if(Tt.has(t))return!1;if(e.type===`tool_result`)return!n.has(e.id);if(e.type===`message`){let t=String(e.data?.content??``),n=String(e.data?.reasoning??``);return t.trim()===``&&n.trim()!==``&&e.data?._prevKind===`tool`||e.data?.progressEcho||!e.data?.final&&t.trim()===`(tool call)`?!1:t.trim()!==``||n.trim()!==``||!!e.data?.final}return!0})}function Dt(e){let t=[];for(let n of e){if(n.type!==`sub`){t.push(n);continue}let e=n.data,r=String(e?.type??`message`);r!==`state`&&t.push({...n,type:r,data:{...e?.data??{},actor:e?.sub}})}return t}var Ot=e=>String(e??``).replace(/\s+/g,` `).trim().toLowerCase();function kt(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type===`message`&&r.data?.role===`assistant`){let e=t[t.length-1],n=e?.type;if(n===`progress`||n===`decision`||e?.data?.progressEcho){let t=Ot(r.data?.content),n=Ot(e?.data?.content);if(t&&t===n)continue}}t.push(r)}return t}function At(e){let t=new Set,n=new Set,r=new Map,i=new Map;for(let a of e){let e=a.data?.promptId;e&&(a.type===`prompt`&&a.data?.source===`user`&&n.add(String(e)),a.type===`system_note`&&a.data?.event===`prompt-delivered`&&(t.add(String(e)),r.set(String(e),a.seq)),a.type===`system_note`&&a.data?.event===`prompt-cancelled`&&i.set(String(e),a.seq))}return{deliveredIds:t,loggedUserPrompts:n,deliveredNotes:r,cancelledNotes:i}}function jt(e,t,n){return e.filter(e=>{if(!t.renderedTypes.has(e.type))return e.type===`system_note`&&t.renderedNoteEvents.has(String(e.data?.event??``));if(e.type!==`prompt`||e.data?.source!==`user`)return!0;let r=String(e.data?.promptId??``);return r===``||!n.has(r)})}var Mt=new WeakMap;function Nt(e,t){let n=Mt.get(e);n||(n=new Map,Mt.set(e,n));let r=n.get(t);if(r)return r;let i={...e,data:{...e.data??{},cancelled:!0}};return n.set(t,i),i}function Pt(e,t){let n=t=>wt(e,t),r=[];for(let i of e){if(i.type!==`prompt`||i.data?.source!==`user`){r.push(i);continue}let e=String(i.data?.promptId??``),a=t.cancelledNotes.get(e),o=t.deliveredNotes.get(e)??0,s=Math.max(o,a??0)||void 0,c=a===void 0?i:Nt(i,a);if(s!==void 0){r.push(St(c,s));continue}let l=n(c.seq);r.push(c.seq===l?c:{...c,seq:l})}return r}function Ft(e,t){return e.filter(e=>!e.promptId||!(t.deliveredIds.has(e.promptId)&&t.loggedUserPrompts.has(e.promptId)))}function It(e){let t=kt(Dt(Et(e))),n=At(t),r=new Set;for(let t of e.pending)t.promptId&&!n.deliveredIds.has(t.promptId)&&r.add(t.promptId);let i=Pt(jt(t,e,r),n),a=Ft(e.pending,n).map(e.echo);return{rows:xt(i,a),pendingCount:a.length}}function Lt(e){let t=e.event;return t===`status`||t===`audit-started`||t===`audit`||t===`audit-failed`?t:`other`}function Rt(e){let t=e.trim().toLowerCase();return t===``||t===`(no detail)`||t===`no detail`||t===`(none)`||t===`(empty)`}function zt(e,t){let n=String(e??``).trim();return Rt(n)?Rt(t)?``:t:n}function Bt(e){switch(Lt(e)){case`audit-started`:return{label:`🔍️ completion audit started`,detail:String(e.verify??``).trim()||`checking the verification contract…`,tone:``,markdown:!1,hasCard:!0};case`audit`:{let t=!Rt(String(e.feedback??``));return e.verdict===`approved`?{label:`✅ audit: approved`,detail:zt(e.feedback??``,``),tone:`ok`,markdown:!0,hasCard:t}:{label:`⚠ audit: changes required`,detail:zt(e.feedback??``,``),tone:`warn`,markdown:!0,hasCard:t}}case`audit-failed`:return{label:`🔍️ audit unavailable — finish accepted`,detail:String(e.detail??``).trim()||`the auditor could not be reached`,tone:`err`,markdown:!1,hasCard:!0};case`status`:{let t=String(e.status??``).trim();return t?t===`done`?String(e.by??``).trim()===`operator`?{label:`🏁 goal marked done`,detail:`you marked this goal done — no audit runs for a manual completion`,tone:``,markdown:!1,hasCard:!0}:{label:`🏁 finish claimed — pending audit`,detail:`the agent called finish(goalComplete=true); the verification contract is now being audited`,tone:``,markdown:!1,hasCard:!0}:t===`active`?String(e.by??``).trim()===`auditor`?{label:`▶ goal reopened`,detail:`the audit rejected the finish — work continues on the same goal`,tone:`warn`,markdown:!1,hasCard:!0}:{label:`▶ goal resumed`,detail:`marked active again — auto-continue picks the goal up from the next turn`,tone:``,markdown:!1,hasCard:!0}:{label:`🎯 goal ${t||`updated`}`,detail:String(e.text??``).trim()||`the goal is now ${t}`,tone:``,markdown:!0,hasCard:!0}:{label:`🎯 goal status updated`,detail:String(e.text??``).trim()||`no status recorded`,tone:``,markdown:!0,hasCard:!0}}default:{let t=String(e.text??``).trim(),n=String(e.event??``).trim();return{label:n?`🎯 goal ${n}`:`🎯 goal updated`,detail:t||`the "${n||`goal`}" event carried no further detail`,tone:``,markdown:!0,hasCard:!0}}}}var Vt=P(`<span class="meta muted">`),Ht=P(`<div class=ctitle>`),Ut=P(`<div>`),Wt=P(`<div class=cardbody>`);function Gt(e){let t=()=>{let t=e.tone;return[`card`,t?`card-${t}`:``,e.class??``].filter(Boolean).join(` `)},n=()=>e.markdown===!1?ze(`\`\`\`\n${e.body}\n\`\`\``):ze(e.body);return(()=>{var r=Ut();return L(r,A(M,{get when(){return e.title},get children(){var t=Ht();return L(t,()=>e.title,null),L(t,A(M,{get when(){return e.meta},get children(){var t=Vt();return L(t,()=>e.meta),t}}),null),t}}),null),L(r,()=>e.children??(()=>{var e=Wt();return b(()=>e.innerHTML=n()),e})(),null),b(()=>I(r,t())),r})()}function Kt(e){let t=e.hideGhosts?e.agents.filter(e=>!e.workspaceMissing):e.agents,n=t.length?t:e.agents,r=e.urlId,i=r?e.ownerOf(r):void 0;return(i?n.find(e=>e.id===i):void 0)??n.find(t=>t.id===r&&!e.isSession(r))??n.find(t=>t.id===e.lastId)??n[0]}function qt(e,t){let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return[...n.values()]}var Jt=[320,640,1280,1920,2560,3840],Yt=Jt[0],Xt=/^\/api\/assets\/[a-f0-9]{32}\.(png|jpg|jpeg|gif|webp|avif)$/i;function Zt(e,t){if(e)return Xt.test(e)?`${e}?w=${t}`:e}function Qt(e){if(e)return Jt.map(t=>`${Zt(e,t)} ${t}w`).join(`, `)}function $t(e,t=Yt){return Zt(e,t)}function en(e,t=new Set,n=!1,r=new Set){let i=n?e.filter(t=>{if(!t.workspaceMissing)return!0;let n=[t.id],r=new Set;for(;n.length;){let t=n.pop();if(!r.has(t)){r.add(t);for(let i of e)i.parent===t&&!r.has(i.id)&&n.push(i.id)}}for(let t of r){let n=e.find(e=>e.id===t);if(n&&!n.workspaceMissing)return!0}return!1}):e,a=new Map,o=[];for(let e of i)e.parent&&i.some(t=>t.id===e.parent)?(a.has(e.parent)||a.set(e.parent,[]),a.get(e.parent).unshift(e)):o.push(e);let s=[],c=(e,n)=>{for(let o of e){let e=n===0&&r.has(on(i,o));if(s.push({a:o,depth:n}),e)continue;let l=a.get(o.id);l?.length&&!t.has(o.id)&&c(l,n+1)}},l=[],u=new Map;for(let e of o){if(e.parent)continue;let t=tn(i,e.id),n=u.get(t);n?n.push(e):(u.set(t,[e]),l.push(t))}for(let t of o){if(!t.parent)continue;let n=tn(e,t.id)||``,r=u.get(n);r?r.push(t):(u.set(n,[t]),l.push(n))}for(let e of l)c(u.get(e),0);return s}function tn(e,t,n=new Set){let r=e.find(e=>e.id===t);return r?!r.parent||n.has(t)?r.workspace||``:(n.add(t),tn(e,r.parent,n)||r.workspace||``):``}function nn(e){return e.isSub?e.hasChildren:e.collapsed||e.hasChildren}function rn(e,t=[]){let n=e.indexOf(`-sub`);if(n===-1)return null;let r=e.slice(n+4).replace(/^-+/,``);if(!r)return null;let i=r.split(`-`);return(t.includes(i[0]??``)?i.slice(1).join(`-`):r).replace(/_/g,` `).trim()||null}function an(e,t,n=new Set){let r=[],i=new Set(n);for(let n of e)n.parent===t&&(i.has(n.id)||(i.add(n.id),r.push(n,...an(e,n.id,i))));return r}function on(e,t){let n=t.id,r=new Set;for(;;){let t=e.find(e=>e.id===n);if(!t?.parent||r.has(n))break;r.add(n),n=t.parent}return`chat:${n||t.id}`}function sn(e){let t=new Map;for(let n of e){if(n.parent)continue;let r=tn(e,n.id);r&&t.set(r,(t.get(r)??0)+1)}return t}function cn(e,t,n=new Set){let r=[],i=null;for(let a of t){let t=tn(e,a.a.id);t?(t!==i&&(i=t,r.push({a:a.a,depth:0,headerOnly:!0,wsHeader:t,wsCollapsedGroup:n.has(`ws:${t}`)})),!n.has(`ws:${t}`)&&(n.has(on(e,a.a))?r.push({a:a.a,depth:a.depth,chatCollapsedGroup:!0}):r.push({a:a.a,depth:a.depth}))):r.push({a:a.a,depth:a.depth})}return r}function ln(e,t=new Set){let n=new Set,r=-1,i=-1;for(let t of e)t.type===`question`?r=t.seq:t.type===`prompt`&&t.data?.source===`user`?i=t.seq:t.type===`system_note`&&t.data?.event===`prompt-delivered`&&(i=Math.max(i,t.seq));if(r>=0&&i>r)for(let t of e)t.type===`question`&&t.seq<=i&&n.add(String(t.data?.callId??``));for(let e of t)n.add(e);return n}var un=(e,t,n)=>{if(t>=e.length)return e;if(n?.length){let r=new Set(n),i=e.filter(e=>e.promptId&&r.has(e.promptId));if(i.length){let n=e.filter(e=>!e.promptId);return n.length?[...i,...n].slice(0,t):i}}return e.slice(0,t)};function dn(e,t,n){let r=e??[];return n&&r.includes(n)?n:t&&r.includes(t)||!n&&t&&r.length===0?t:r[0]??null}function fn(e,t,n){return!e||!t.has(e)&&n.includes(e)?null:e}var pn=`teapot.textareaH.`;function mn(e){try{let t=Number(localStorage.getItem(pn+e)??``);return Number.isFinite(t)&&t>0?t:0}catch{return 0}}function hn(e,t){try{localStorage.setItem(pn+e,String(Math.round(t)))}catch{}}function gn(e,t){let n=new ResizeObserver(()=>{let n=e.offsetHeight;n>0&&t(n)});return n.observe(e),()=>n.disconnect()}function _n(e,t,n){return!t||n&&t===n?!0:typeof e==`string`&&e===t}function vn(e,t,n){return!e||!t||e.agent!==t?!1:_n(e.session,n,t)}function yn(e,t,n){return!e||!t||e.agentId!==t||!e.sessionId?!1:_n(e.sessionId,n,t)}function bn(e,t,n){return n?!e||!t||t===e.id||!e.session||e.session===t:!1}function xn(){let e=``,t=``,n=``,r=``;try{let i=getComputedStyle(document.documentElement);e=i.getPropertyValue(`--term-bg`).trim(),t=i.getPropertyValue(`--term-fg`).trim(),n=i.getPropertyValue(`--term-cursor`).trim(),r=i.getPropertyValue(`--term-cursor-accent`).trim()}catch{}let i=e||`#0d0e12`,a=t||`#dcdee4`;return{background:i,foreground:a,cursor:n||a,cursorAccent:r||i,selectionBackground:Cn(a),selectionForeground:a}}function Sn(e){let t=xn(),n=e.options.theme;n&&n.background===t.background&&n.foreground===t.foreground&&n.cursor===t.cursor&&n.cursorAccent===t.cursorAccent&&n.selectionBackground===t.selectionBackground||(e.options.theme=t)}function Cn(e){let t=e.trim(),n=/^#([0-9a-f]{6})$/i.exec(t);return n?`#${n[1]}47`:`rgba(128, 128, 128, 0.35)`}function wn(e,t,n){return e?.provider||n||Object.keys(t??{})[0]||``}function Tn(e,t){return t?String(e?.[t]?.model??``).trim():``}function En(e,t,n){return Tn(e,t)||(n&&t===(n.provider??``)?n.model??``:``)}function Dn(e,t,n,r){return n?.model&&t===r?n.model:Tn(e,t)||n?.model||``}function On(e){return!e}function kn(e){return!e}function An(e,t){return e!==t}function jn(e,t){return Math.max(1,Math.min(e,t))}var Mn=e=>e?e.sessionTitle?.trim()||e.id:``,Nn=(e,t)=>{if(!e)return``;let n=Mn(e),r=t?` — ${t}`:``;return n===e.id?`${n}${r}`:`${n} — ${e.id}${r}`},Pn=e=>e?Math.max(e.pendingPromptQueue?.length??0,e.pendingPromptIds?.length??0,e.pendingPrompts??0):0,Fn=e=>{let t=e.sameSession?Pn(e.agent):0;return Math.max(t,e.echoCount)},In=[{key:`bgDarkest`,cssVar:`--bg-darkest`,label:`surface (deepest)`},{key:`bgDark`,cssVar:`--bg-dark`,label:`surface`},{key:`bgMid`,cssVar:`--bg-mid`,label:`surface (raised)`},{key:`bgLight`,cssVar:`--bg-light`,label:`surface (control)`},{key:`fg`,cssVar:`--fg`,label:`text`},{key:`dim`,cssVar:`--dim`,label:`text (muted)`},{key:`line`,cssVar:`--line`,label:`divider`},{key:`acc`,cssVar:`--acc`,label:`accent`},{key:`ok`,cssVar:`--ok`,label:`success`},{key:`warn`,cssVar:`--warn`,label:`warning`},{key:`err`,cssVar:`--err`,label:`error`},{key:`tool`,cssVar:`--tool`,label:`tool accent`},{key:`termBg`,cssVar:`--term-bg`,label:`terminal background`},{key:`termFg`,cssVar:`--term-fg`,label:`terminal text`}],Ln=`teapot.customThemes`,Rn={bgDarkest:`#1a1c22`,bgDark:`#232630`,bgMid:`#2b2e39`,bgLight:`#343845`,fg:`#dcdee4`,dim:`#9298a5`,line:`#1d2027`,acc:`#5865f2`,ok:`#3ba55d`,warn:`#faa81a`,err:`#ed4245`,tool:`#3ba0c9`,termBg:`#0d0e12`,termFg:`#dcdee4`},zn={dark:{bgDarkest:`#1a1c22`,bgDark:`#232630`,bgMid:`#2b2e39`,bgLight:`#343845`,fg:`#dcdee4`,dim:`#9298a5`,line:`#1d2027`,acc:`#5865f2`,ok:`#3ba55d`,warn:`#faa81a`,err:`#ed4245`,tool:`#3ba0c9`,termBg:`#0d0e12`,termFg:`#dcdee4`},midnight:{bgDarkest:`#0d0f18`,bgDark:`#12141f`,bgMid:`#1b1f31`,bgLight:`#252a42`,fg:`#dfe2f2`,dim:`#8a90ad`,line:`#0a0c14`,acc:`#8b7cf7`,ok:`#54c08a`,warn:`#e5b567`,err:`#ef6a6a`,tool:`#6aa9e9`,termBg:`#0a0c13`,termFg:`#dfe2f2`},tea:{bgDarkest:`#241c16`,bgDark:`#2e241c`,bgMid:`#3b2f24`,bgLight:`#493b2d`,fg:`#f0e4d2`,dim:`#b39d82`,line:`#1b140f`,acc:`#d98e32`,ok:`#7fa653`,warn:`#e0b058`,err:`#cf5b47`,tool:`#c9975f`,termBg:`#1d1712`,termFg:`#ecdcc3`},coffee:{bgDarkest:`#191410`,bgDark:`#211a14`,bgMid:`#30271e`,bgLight:`#403527`,fg:`#ede3d0`,dim:`#a89478`,line:`#120d07`,acc:`#c68a4b`,ok:`#8aa15c`,warn:`#d9a441`,err:`#c25450`,tool:`#a67c52`,termBg:`#15100c`,termFg:`#e8dcc5`},matcha:{bgDarkest:`#1b2217`,bgDark:`#232b1e`,bgMid:`#2f3a28`,bgLight:`#3c4a33`,fg:`#e8eeda`,dim:`#9aab84`,line:`#131a10`,acc:`#8db64e`,ok:`#6fae4e`,warn:`#d8b13c`,err:`#cd5c50`,tool:`#5da88f`,termBg:`#151b11`,termFg:`#dfe8cb`},matrix:{bgDarkest:`#060a06`,bgDark:`#0a0f0a`,bgMid:`#122116`,bgLight:`#18301d`,fg:`#c9f2cf`,dim:`#6fa075`,line:`#030603`,acc:`#2fd558`,ok:`#39c95f`,warn:`#b8d977`,err:`#ff6b6b`,tool:`#57c99b`,termBg:`#030503`,termFg:`#33ff77`},sunset:{bgDarkest:`#1c1422`,bgDark:`#241b2b`,bgMid:`#33253e`,bgLight:`#452f52`,fg:`#f2e6ea`,dim:`#ab93a8`,line:`#150e1b`,acc:`#f2784b`,ok:`#63b46f`,warn:`#eda63d`,err:`#e25563`,tool:`#b06ac9`,termBg:`#170f1d`,termFg:`#f0dfe4`},light:{bgDarkest:`#eceef4`,bgDark:`#f6f7fa`,bgMid:`#e2e5ee`,bgLight:`#ffffff`,fg:`#24272f`,dim:`#5d6470`,line:`#d8dbe4`,acc:`#4757d8`,ok:`#2b8a4b`,warn:`#b97a0f`,err:`#d83c3f`,tool:`#2278a8`,termBg:`#ffffff`,termFg:`#24272f`},strawberry:{bgDarkest:`#fbe4ea`,bgDark:`#fdf0f3`,bgMid:`#f7d4de`,bgLight:`#fffafb`,fg:`#4a2733`,dim:`#96707e`,line:`#f0ccd6`,acc:`#e05575`,ok:`#4d9e63`,warn:`#c98a2d`,err:`#d43d51`,tool:`#b05687`,termBg:`#fff5f8`,termFg:`#4a2733`},ramune:{bgDarkest:`#ddeff7`,bgDark:`#ecf7fb`,bgMid:`#c9e7f4`,bgLight:`#fbfeff`,fg:`#173342`,dim:`#5b7d90`,line:`#c2e2ef`,acc:`#1d86ae`,ok:`#3a9e6e`,warn:`#cf9a2a`,err:`#d64f5c`,tool:`#3a9db8`,termBg:`#f4fbfd`,termFg:`#173342`}},Bn=e=>typeof e==`string`&&e.length>0&&e.length<=64&&!/[;{}]/.test(e);function Vn(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||!/^[a-z0-9-]{1,40}$/i.test(t.id)||typeof t.label!=`string`||!t.label.trim()||t.mode!==`dark`&&t.mode!==`light`)return null;let n=t.palette;if(!n||typeof n!=`object`)return null;let r={};for(let{key:e}of In){if(!Bn(n[e]))return null;r[e]=n[e]}let i={id:t.id,label:t.label.slice(0,40),mode:t.mode,palette:r};if(typeof t.backgroundImage==`string`){let e=t.backgroundImage,n=/^\/api\/assets\/[a-f0-9]{32}\.(png|jpe?g|gif|webp|avif)$/i.test(e),r=/^data:image\//.test(e)&&e.length<=15e5,a=/^https?:\/\//.test(e);(n||r||a)&&(i.backgroundImage=e)}return typeof t.backgroundDim==`number`&&Number.isFinite(t.backgroundDim)&&(i.backgroundDim=Math.min(.9,Math.max(0,t.backgroundDim))),typeof t.backgroundImageBytes==`number`&&Number.isFinite(t.backgroundImageBytes)&&(i.backgroundImageBytes=Math.max(0,Math.round(t.backgroundImageBytes))),typeof t.surfaceAlpha==`number`&&Number.isFinite(t.surfaceAlpha)&&(i.surfaceAlpha=Math.min(1,Math.max(.35,t.surfaceAlpha))),i}function Hn(){try{let e=localStorage.getItem(Ln);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.map(Vn).filter(e=>e!==null):[]}catch{return[]}}function Un(e){try{return localStorage.setItem(Ln,JSON.stringify(e)),fetch(`/api/themes`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({themes:e})}).catch(()=>{}),{ok:!0}}catch(e){return{ok:!1,error:e.name===`QuotaExceededError`||/quota/i.test(String(e.message))?`storage is full — that background image is too large. Try a smaller one, or remove another theme.`:`could not save: ${e.message}`}}}async function Wn(){try{let e=await fetch(`/api/themes`);if(!e.ok)return null;let t=await e.json();return Array.isArray(t.themes)?t.themes.map(Vn).filter(e=>e!==null):null}catch{return null}}function Gn(e){for(let t=0;;t++){let n=`custom-${Date.now().toString(36)}${t?`-${t}`:``}`;if(!e.includes(n))return n}}function Kn(e,t){let n=new Set([`--bg-darkest`,`--bg-dark`,`--bg-mid`,`--bg-light`]),r=!!t?.backgroundImage;for(let{key:i,cssVar:a}of In){let o=t?t.palette[i]:``;r&&n.has(a)?e.style.getPropertyValue(a)&&e.style.removeProperty(a):e.style.getPropertyValue(a)!==o&&(o?e.style.setProperty(a,o):e.style.removeProperty(a))}let i=t?.backgroundImage?String(t.backgroundDim??.55):``,a=t?.backgroundImage?String(t.surfaceAlpha??.82):``;for(let[t,n]of[[`--bg-image-dim`,i],[`--surface-alpha`,a]])e.style.getPropertyValue(t)!==n&&(n?e.style.setProperty(t,n):e.style.removeProperty(t));if(t?.backgroundImage){e.dataset&&(e.dataset.bgImage=`on`);for(let[n,r]of[[`--bg-darkest-solid`,t.palette.bgDarkest],[`--bg-dark-solid`,t.palette.bgDark],[`--bg-mid-solid`,t.palette.bgMid],[`--bg-light-solid`,t.palette.bgLight]]){let t=qn(r);e.style.getPropertyValue(n)!==t&&e.style.setProperty(n,t)}}else{e.dataset&&delete e.dataset.bgImage;for(let t of[`--bg-darkest-solid`,`--bg-dark-solid`,`--bg-mid-solid`,`--bg-light-solid`])e.style.removeProperty(t)}}function qn(e){let t=/^#([0-9a-f]{6})[0-9a-f]{2}$/i.exec(e.trim());return t?`#${t[1]}`:e}function Jn(e){let t=e.trim().toLowerCase(),n=/^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(t);if(!n)return null;let r=n[1];return r.length===3?`#${r[0]}${r[0]}${r[1]}${r[1]}${r[2]}${r[2]}`:`#${r}`}function Yn(e){if(e.customIds.includes(e.want)||e.presetIds.includes(e.want))return{active:e.want,repaired:!1};let t=e.fallback&&e.presetIds.includes(e.fallback)?e.fallback:`dark`;return{active:e.presetIds.includes(t)?t:e.presetIds[0]??`dark`,repaired:!0}}function Xn(e,t,n){return e.find(e=>e.id===t)??e.find(e=>e.id===n)??e[0]}function Zn(e){return e.preview?e.preview:e.auto?e.prefersLight?e.light:e.dark:e.fixed}var R=Object.defineProperty,Qn=Object.getOwnPropertyDescriptor,$n=(e,t)=>{for(var n in t)R(e,n,{get:t[n],enumerable:!0})},er=(e,t,n,r)=>{for(var i=r>1?void 0:r?Qn(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&&R(t,n,i),i},z=(e,t)=>(n,r)=>t(n,r,e),tr=`Terminal input`,nr={get:()=>tr,set:e=>tr=e},rr=`Too much output to announce, navigate to rows manually to read`,ir={get:()=>rr,set:e=>rr=e};function ar(e){return e.replace(/\r?\n/g,`\r`)}function or(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function sr(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function cr(e,t,n,r){e.stopPropagation(),e.clipboardData&&lr(e.clipboardData.getData(`text/plain`),t,n,r)}function lr(e,t,n,r){e=ar(e),e=or(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function ur(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 dr(e,t,n,r,i){ur(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function fr(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function pr(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 mr=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)}else i!==65279&&(t[r++]=i)}return r}},hr=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||(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}},gr=``,_r=` `,vr=class e{constructor(){this.fg=0,this.bg=0,this.extended=new yr}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}},yr=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}},br=class e extends vr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new yr,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?fr(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()]}},xr=`di$target`,Sr=`di$dependencies`,Cr=new Map;function wr(e){return e[Sr]||[]}function Tr(e){if(Cr.has(e))return Cr.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Er(t,e,r)};return t._id=e,Cr.set(e,t),t}function Er(e,t,n){t[xr]===t?t[Sr].push({id:e,index:n}):(t[Sr]=[{id:e,index:n}],t[xr]=t)}var Dr=Tr(`BufferService`),Or=Tr(`CoreMouseService`),kr=Tr(`CoreService`),Ar=Tr(`CharsetService`),jr=Tr(`InstantiationService`),Mr=Tr(`LogService`),Nr=Tr(`OptionsService`),Pr=Tr(`OscLinkService`),Fr=Tr(`UnicodeService`),Ir=Tr(`DecorationService`),Lr=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 br,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):Rr(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)}};Lr=er([z(0,Dr),z(1,Nr),z(2,Pr)],Lr);function Rr(e,t){if(confirm(`Do you want to navigate to ${t}?
7
7
 
8
- 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 Rr=wr(`CharSizeService`),zr=wr(`CoreBrowserService`),Br=wr(`MouseService`),Vr=wr(`RenderService`),Hr=wr(`SelectionService`),Ur=wr(`CharacterJoinerService`),Wr=wr(`ThemeService`),Gr=wr(`LinkProviderService`),Kr=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Qr.isErrorNoTelemetry(e)?new Qr(e.message+`
8
+ 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 zr=Tr(`CharSizeService`),Br=Tr(`CoreBrowserService`),Vr=Tr(`MouseService`),Hr=Tr(`RenderService`),Ur=Tr(`SelectionService`),Wr=Tr(`CharacterJoinerService`),Gr=Tr(`ThemeService`),Kr=Tr(`LinkProviderService`),qr=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?$r.isErrorNoTelemetry(e)?new $r(e.message+`
9
9
 
10
10
  `+e.stack):Error(e.message+`
11
11
 
12
- `+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 qr(e){Yr(e)||Kr.onUnexpectedError(e)}var Jr=`Canceled`;function Yr(e){return e instanceof Xr||e instanceof Error&&e.name===Jr&&e.message===Jr}var Xr=class extends Error{constructor(){super(Jr),this.name=this.message}};function Zr(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var Qr=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`}},$r=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function ei(e,t=0){return e[e.length-(1+t)]}var ti;(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})(ti||={});var ni=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||ti.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};ni.empty=new ni(e=>{});function ri(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 ii;(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 ee(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=ee})(ii||={});var ai=null;function oi(e){return ai?.trackDisposable(e),e}function si(e){ai?.markAsDisposed(e)}function ci(e,t){ai?.setParent(e,t)}function li(e){return ai?.markAsSingleton(e),e}function ui(e){if(ii.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 di(...e){return B(()=>ui(e))}function B(e){let t=oi({dispose:ri(()=>{si(t),e()})});return t}var fi=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,oi(this)}dispose(){this._isDisposed||(si(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ui(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return ci(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),ci(e,null))}};fi.DISABLE_DISPOSED_WARNING=!1;var pi=fi,V=class{constructor(){this._store=new pi,oi(this),ci(this._store,this)}dispose(){si(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};V.None=Object.freeze({dispose(){}});var mi=class{constructor(){this._isDisposed=!1,oi(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&ci(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,si(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&ci(e,null),e}},hi=typeof window==`object`?window:globalThis,gi=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};gi.Undefined=new gi(void 0);var H=gi,_i=class{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let e=this._first;for(;e!==H.Undefined;){let t=e.next;e.prev=H.Undefined,e.next=H.Undefined,e=t}this._first=H.Undefined,this._last=H.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new H(e);if(this._first===H.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!==H.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==H.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==H.Undefined&&e.next!==H.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===H.Undefined&&e.next===H.Undefined?(this._first=H.Undefined,this._last=H.Undefined):e.next===H.Undefined?(this._last=this._last.prev,this._last.next=H.Undefined):e.prev===H.Undefined&&(this._first=this._first.next,this._first.prev=H.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==H.Undefined;)yield e.element,e=e.next}},vi=globalThis.performance&&typeof globalThis.performance.now==`function`,yi=class e{static create(t){return new e(t)}constructor(e){this._now=vi&&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}},bi;(e=>{e.None=()=>V.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(di(...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 U({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 U({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 U({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 ee(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new U({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=ee;function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new U({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=y;function b(e){return new Promise(t=>n(e)(t))}e.toPromise=b;function x(e){let t=new U;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=x;function S(e,t){return e(e=>t.fire(e))}e.forward=S;function C(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=C;class w{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 U(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 T(e,t){return new w(e,t).emitter.event}e.fromObservable=T;function E(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 pi?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=E})(bi||={});var xi=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 yi,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}}};xi.all=new Set,xi._idPool=0;var Si=xi,Ci=-1,wi=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 Di(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}};wi._idPool=1;var Ti=wi,Ei=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
12
+ `+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 Jr(e){Xr(e)||qr.onUnexpectedError(e)}var Yr=`Canceled`;function Xr(e){return e instanceof Zr||e instanceof Error&&e.name===Yr&&e.message===Yr}var Zr=class extends Error{constructor(){super(Yr),this.name=this.message}};function Qr(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var $r=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`}},ei=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function ti(e,t=0){return e[e.length-(1+t)]}var ni;(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})(ni||={});var ri=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||ni.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};ri.empty=new ri(e=>{});function ii(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 ai;(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 ee(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=ee})(ai||={});var oi=null;function si(e){return oi?.trackDisposable(e),e}function ci(e){oi?.markAsDisposed(e)}function li(e,t){oi?.setParent(e,t)}function ui(e){return oi?.markAsSingleton(e),e}function di(e){if(ai.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 fi(...e){return B(()=>di(e))}function B(e){let t=si({dispose:ii(()=>{ci(t),e()})});return t}var pi=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,si(this)}dispose(){this._isDisposed||(ci(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{di(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return li(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),li(e,null))}};pi.DISABLE_DISPOSED_WARNING=!1;var mi=pi,V=class{constructor(){this._store=new mi,si(this),li(this._store,this)}dispose(){ci(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};V.None=Object.freeze({dispose(){}});var hi=class{constructor(){this._isDisposed=!1,si(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&li(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,ci(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&li(e,null),e}},gi=typeof window==`object`?window:globalThis,_i=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};_i.Undefined=new _i(void 0);var H=_i,vi=class{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let e=this._first;for(;e!==H.Undefined;){let t=e.next;e.prev=H.Undefined,e.next=H.Undefined,e=t}this._first=H.Undefined,this._last=H.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new H(e);if(this._first===H.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!==H.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==H.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==H.Undefined&&e.next!==H.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===H.Undefined&&e.next===H.Undefined?(this._first=H.Undefined,this._last=H.Undefined):e.next===H.Undefined?(this._last=this._last.prev,this._last.next=H.Undefined):e.prev===H.Undefined&&(this._first=this._first.next,this._first.prev=H.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==H.Undefined;)yield e.element,e=e.next}},yi=globalThis.performance&&typeof globalThis.performance.now==`function`,bi=class e{static create(t){return new e(t)}constructor(e){this._now=yi&&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}},xi;(e=>{e.None=()=>V.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(fi(...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 U({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 U({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 U({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 ee(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new U({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=ee;function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new U({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=y;function b(e){return new Promise(t=>n(e)(t))}e.toPromise=b;function x(e){let t=new U;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=x;function S(e,t){return e(e=>t.fire(e))}e.forward=S;function C(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=C;class w{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 U(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 T(e,t){return new w(e,t).emitter.event}e.fromObservable=T;function E(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 mi?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=E})(xi||={});var Si=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 bi,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}}};Si.all=new Set,Si._idPool=0;var Ci=Si,wi=-1,Ti=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 Oi(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}};Ti._idPool=1;var Ei=Ti,Di=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
13
13
  `).slice(2).join(`
14
- `))}},Di=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},Oi=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},ki=0,Ai=class{constructor(e){this.value=e,this.id=ki++}},ji=2,U=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Ci>0||this._options?.leakWarningThreshold?new Ti(e?.onListenerError??qr,this._options?.leakWarningThreshold??Ci):void 0,this._perfMon=this._options?._profName?new Si(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 Oi(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||qr)(n),V.None}if(this._disposed)return V.None;t&&(e=e.bind(t));let r=new Ai(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Ei.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Ai?(this._deliveryQueue??=new Mi,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=B(()=>{i?.(),this._removeListener(r)});return n instanceof pi?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*ji<=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||qr;if(!n)e.value(t);else 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 Ai)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}},Mi=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}},Ni=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new U,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new U,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}};Ni.INSTANCE=new Ni;var Pi=Ni;function Fi(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Pi.INSTANCE.onDidChangeZoomLevel;function Ii(e){return Pi.INSTANCE.getZoomFactor(e)}Pi.INSTANCE.onDidChangeFullscreen;var Li=typeof navigator==`object`?navigator.userAgent:``,Ri=Li.indexOf(`Firefox`)>=0,zi=Li.indexOf(`AppleWebKit`)>=0,Bi=Li.indexOf(`Chrome`)>=0,Vi=!Bi&&Li.indexOf(`Safari`)>=0;Li.indexOf(`Electron/`),Li.indexOf(`Android`);var Hi=!1;if(typeof hi.matchMedia==`function`){let e=hi.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=hi.matchMedia(`(display-mode: fullscreen)`);Hi=e.matches,Fi(hi,e,({matches:e})=>{Hi&&t.matches||(Hi=e)})}function Ui(){return Hi}var Wi=`en`,Gi=!1,Ki=!1,qi=!1,Ji=!1,Yi=!1,Xi=Wi,Zi,Qi=globalThis,$i;typeof Qi.vscode<`u`&&typeof Qi.vscode.process<`u`?$i=Qi.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&($i=process);var ea=typeof $i?.versions?.electron==`string`&&$i?.type===`renderer`;if(typeof $i==`object`){Gi=$i.platform===`win32`,Ki=$i.platform===`darwin`,qi=$i.platform===`linux`,qi&&$i.env.SNAP&&$i.env.SNAP_REVISION,$i.env.CI||$i.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Xi=Wi;let e=$i.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Xi=t.resolvedLanguage||Wi,t.languagePack?.translationsConfigFile}catch{}Ji=!0}else typeof navigator==`object`&&!ea?(Zi=navigator.userAgent,Gi=Zi.indexOf(`Windows`)>=0,Ki=Zi.indexOf(`Macintosh`)>=0,(Zi.indexOf(`Macintosh`)>=0||Zi.indexOf(`iPad`)>=0||Zi.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,qi=Zi.indexOf(`Linux`)>=0,Zi?.indexOf(`Mobi`),Yi=!0,Xi=globalThis._VSCODE_NLS_LANGUAGE||Wi,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var ta=Gi,na=Ki,ra=qi,ia=Ji;Yi&&typeof Qi.importScripts==`function`&&Qi.origin;var aa=Zi,oa=Xi,sa;(e=>{function t(){return oa}e.value=t;function n(){return oa.length===2?oa===`en`:oa.length>=3&&oa[0]===`e`&&oa[1]===`n`&&oa[2]===`-`}e.isDefaultVariant=n;function r(){return oa===`en`}e.isDefault=r})(sa||={});var ca=typeof Qi.postMessage==`function`&&!Qi.importScripts;(()=>{if(ca){let e=[];Qi.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}),Qi.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var la=!!(aa&&aa.indexOf(`Chrome`)>=0);aa&&aa.indexOf(`Firefox`),!la&&aa&&aa.indexOf(`Safari`),aa&&aa.indexOf(`Edg/`),aa&&aa.indexOf(`Android`);var ua=typeof navigator==`object`?navigator:{};ia||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||ua&&ua.clipboard&&ua.clipboard.writeText,ia||ua&&ua.clipboard&&ua.clipboard.readText,ia||Ui()||ua.keyboard,`ontouchstart`in hi||ua.maxTouchPoints,hi.PointerEvent&&(`ontouchstart`in hi||navigator.maxTouchPoints);var da=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}},fa=new da,pa=new da,ma=new da,ha=Array(230),ga;(e=>{function t(e){return fa.keyCodeToStr(e)}e.toString=t;function n(e){return fa.strToKeyCode(e)}e.fromString=n;function r(e){return pa.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return ma.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return pa.strToKeyCode(e)||ma.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 fa.keyCodeToStr(e)}e.toElectronAccelerator=o})(ga||={});var _a=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 va([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},va=class{constructor(e){if(e.length===0)throw Zr(`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 ya(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return ga.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(Ri)switch(t){case 59:return 85;case 60:if(ra)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(na)return 57}else if(zi&&(na&&t===93||!na&&t===92))return 57;return ha[t]||0}var ba=na?256:2048,xa=512,Sa=1024,Ca=na?2048:256,wa=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=ya(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|=ba),this.altKey&&(t|=xa),this.shiftKey&&(t|=Sa),this.metaKey&&(t|=Ca),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new _a(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},Ta=new WeakMap;function Ea(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 Da=class{static getSameOriginWindowChain(e){let t=Ta.get(e);if(!t){t=[],Ta.set(e,t);let n=e,r;do r=Ea(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}}},Oa=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=Da.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},ka=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(Bi){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?Ri&&!na?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=Vi&&ta?-(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?Ri&&!na?-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()}},Aa=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),ja;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Ma?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:bi.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Aa})})(ja||={});var Ma=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?Aa:(this._emitter||=new U,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},Na=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 $r(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new $r(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Pa=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 $r(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=B(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Fa;(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})(Fa||={});var Ia=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 U,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 bi.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())}};Ia.EMPTY=Ia.fromArray([]);function La(e){return Ra(e,0)}function Ra(e,t){switch(typeof e){case`object`:return e===null?za(349,t):Array.isArray(e)?Ha(e,t):Ua(e,t);case`string`:return Va(e,t);case`boolean`:return Ba(e,t);case`number`:return za(e,t);case`undefined`:return za(937,t);default:return za(617,t)}}function za(e,t){return(t<<5)-t+e|0}function Ba(e,t){return za(e?433:863,t)}function Va(e,t){t=za(149417,t);for(let n=0,r=e.length;n<r;n++)t=za(e.charCodeAt(n),t);return t}function Ha(e,t){return t=za(104579,t),e.reduce((e,t)=>Ra(t,e),t)}function Ua(e,t){return t=za(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Va(n,t),Ra(e[n],t)),t)}var{registerWindow:Wa,getWindow:Ga,getDocument:Ka,getWindows:qa,getWindowsCount:Ja,getWindowId:Ya,getWindowById:Xa,hasWindow:Za,onDidRegisterWindow:Qa,onWillUnregisterWindow:$a,onDidUnregisterWindow:eo}=function(){let e=new Map,t={window:hi,disposables:new pi};e.set(hi.vscodeWindowId,t);let n=new U,r=new U,i=new U;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 V.None;let a=new pi,o={window:t,disposables:a.add(new pi)};return e.set(t.vscodeWindowId,o),a.add(B(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(W(t,uo.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:hi},getDocument(e){return Ga(e).document}}}(),to=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 W(e,t,n,r){return new to(e,t,n,r)}function no(e,t){return function(n){return t(new Oa(e,n))}}function ro(e){return function(t){return e(new wa(t))}}var io=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=no(Ga(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=ro(n)),W(e,t,i,r)},ao,oo=class extends Pa{constructor(e){super(),this.defaultTarget=e&&Ga(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},so=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){qr(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(so.sort),a.shift().execute();r.set(i,!1)};ao=(t,r,a=0)=>{let o=Ya(t),s=new so(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 co=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}};co.None=new co(0,0);function lo(e){let t=e.getBoundingClientRect(),n=Ga(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=La(n),a=r.get(i);if(a)a.users+=1;else{let o=new U,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(B(()=>{--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 uo={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:zi?`webkitAnimationStart`:`animationstart`,ANIMATION_END:zi?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:zi?`webkitAnimationIteration`:`animationiteration`},fo=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=po(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=po(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=po(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=po(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=po(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=po(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=po(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=po(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=po(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=po(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=po(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=po(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=po(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=po(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 po(e){return typeof e==`number`?`${e}px`:e}function mo(e){return new fo(e)}var ho=class{constructor(){this._hooks=new pi,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(B(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=Ga(e)}this._hooks.add(W(a,uo.POINTER_MOVE,e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)})),this._hooks.add(W(a,uo.POINTER_UP,e=>this.stopMonitoring(!0)))}};function go(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 _o;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(_o||={});var vo=class e extends V{constructor(){super(),this.dispatched=!1,this.targets=new _i,this.ignoreTargets=new _i,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(bi.runAndSubscribe(Qa,({window:e,disposables:t})=>{t.add(W(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(W(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(W(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:hi,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=li(new e),B(e.INSTANCE.targets.push(t))):V.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=li(new e),B(e.INSTANCE.ignoreTargets.push(t))):V.None}static isTouchDevice(){return`ontouchstart`in hi||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(_o.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-ei(s.rollingPageX))<30&&Math.abs(s.initialPageY-ei(s.rollingPageY))<30){let e=this.newGestureEvent(_o.Tap,s.initialTarget);e.pageX=ei(s.rollingPageX),e.pageY=ei(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-ei(s.rollingPageX))<30&&Math.abs(s.initialPageY-ei(s.rollingPageY))<30){let e=this.newGestureEvent(_o.Contextmenu,s.initialTarget);e.pageX=ei(s.rollingPageX),e.pageY=ei(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=ei(s.rollingPageX),n=ei(s.rollingPageY),i=ei(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(_o.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===_o.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===_o.Change||t.type===_o.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=ao(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(_o.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(_o.Change,i.initialTarget);a.translationX=r.pageX-ei(i.rollingPageX),a.translationY=r.pageY-ei(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)}};vo.SCROLL_FRICTION=-.005,vo.HOLD_DELAY=700,vo.CLEAR_TAP_COUNT_TIME=400,$n([go],vo,`isTouchDevice`,1);var yo=vo,bo=class extends V{onclick(e,t){this._register(W(e,uo.CLICK,n=>t(new Oa(Ga(e),n))))}onmousedown(e,t){this._register(W(e,uo.MOUSE_DOWN,n=>t(new Oa(Ga(e),n))))}onmouseover(e,t){this._register(W(e,uo.MOUSE_OVER,n=>t(new Oa(Ga(e),n))))}onmouseleave(e,t){this._register(W(e,uo.MOUSE_LEAVE,n=>t(new Oa(Ga(e),n))))}onkeydown(e,t){this._register(W(e,uo.KEY_DOWN,e=>t(new wa(e))))}onkeyup(e,t){this._register(W(e,uo.KEY_UP,e=>t(new wa(e))))}oninput(e,t){this._register(W(e,uo.INPUT,t))}onblur(e,t){this._register(W(e,uo.BLUR,t))}onfocus(e,t){this._register(W(e,uo.FOCUS,t))}onchange(e,t){this._register(W(e,uo.CHANGE,t))}ignoreGesture(e){return yo.ignoreTarget(e)}},xo=11,So=class extends bo{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=xo+`px`,this.domNode.style.height=xo+`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 ho),this._register(io(this.bgDomNode,uo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(io(this.domNode,uo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new oo),this._pointerdownScheduleRepeatTimer=this._register(new Na)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ga(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},Co=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}}},wo=class extends V{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Co(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 Oo(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=Oo.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)))}},To=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Eo(e,t){let n=t-e;return function(t){return e+n*Ao(t)}}function Do(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Oo=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),Do(Eo(e,r),Eo(i,t),.33)}return Eo(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 To(this.scrollLeft(t),this.scrollTop(t),!1):new To(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 ko(e){return e**3}function Ao(e){return 1-ko(1-e)}var jo=class extends V{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 Na)}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(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_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`:``)))}},Mo=140,No=class extends bo{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 jo(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new ho),this._shouldRender=!0,this.domNode=mo(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(W(this.domNode.domNode,uo.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new So(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=mo(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(W(this.slider.domNode,uo.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=lo(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(ta&&a>Mo){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()}},Po=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)}},Fo=class extends No{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Po(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}},Io=class extends No{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Po(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}},Lo=500,Ro=50,zo=!0,Bo=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Vo=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(Bi){let t=Ii(Ga(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 Bo(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}};Vo.INSTANCE=new Vo;var Ho=Vo,Uo=class extends bo{constructor(e,t,n){super(),this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new U),this.onWillScroll=this._onWillScroll.event,this._options=Go(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 Io(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new Fo(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=mo(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=mo(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=mo(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 Na),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ui(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,na&&(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 ka(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=ui(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(W(this._listenOnDomNode,uo.MOUSE_WHEEL,e=>{this._onMouseWheel(new ka(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=Ho.INSTANCE;zo&&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=!na&&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=Ro*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Ro*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)&&(zo&&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(),Lo)}},Wo=class extends Uo{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 Go(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,na&&(t.className+=` mac`),t}var Ko=class extends V{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new U),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new wo({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>ao(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Wo(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(bi.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(B(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(B(()=>this._styleElement.remove())),this._register(bi.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(`
15
- `)})),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}};Ko=$n([z(2,Er),z(3,zr),z(4,Dr),z(5,Wr),z(6,Mr),z(7,Vr)],Ko);var qo=class extends V{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(B(()=>{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()}};qo=$n([z(1,Er),z(2,zr),z(3,Fr),z(4,Vr)],qo);var Jo=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)}},Yo={full:0,left:0,center:0,right:0},Xo={full:0,left:0,center:0,right:0},Zo={full:0,left:0,center:0,right:0},Qo=class extends V{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 Jo,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(B(()=>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);Xo.full=this._canvas.width,Xo.left=e,Xo.center=t,Xo.right=e,this._refreshDrawHeightConstants(),Zo.full=1,Zo.left=1,Zo.center=1+Xo.left,Zo.right=1+Xo.left+Xo.center}_refreshDrawHeightConstants(){Yo.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);Yo.left=t,Yo.center=t,Yo.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yo.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yo.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yo.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Yo.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(Zo[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Yo[e.position||`full`]/2),Xo[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Yo[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}))}};Qo=$n([z(2,Er),z(3,Fr),z(4,Vr),z(5,Mr),z(6,Wr),z(7,zr)],Qo);var G;(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=`
16
- `,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=``))(G||={});var $o;(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=`Ÿ`))($o||={});var es;(e=>e.ST=`${G.ESC}\\`)(es||={});var ts=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(`${G.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)}}};ts=$n([z(2,Er),z(3,Mr),z(4,Or),z(5,Vr)],ts);var ns=0,rs=0,is=0,as=0,os={css:`#00000000`,rgba:0},ss;(e=>{function t(e,t,n,r){return r===void 0?`#${fs(e)}${fs(t)}${fs(n)}`:`#${fs(e)}${fs(t)}${fs(n)}${fs(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})(ss||={});var cs;(e=>{function t(e,t){if(as=(t.rgba&255)/255,as===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 ns=a+Math.round((n-a)*as),rs=o+Math.round((r-o)*as),is=s+Math.round((i-s)*as),{css:ss.toCss(ns,rs,is),rgba:ss.toRgba(ns,rs,is)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=ds.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return ss.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[ns,rs,is]=ds.toChannels(t),{css:ss.toCss(ns,rs,is),rgba:t}}e.opaque=i;function a(e,t){return as=Math.round(t*255),[ns,rs,is]=ds.toChannels(e.rgba),{css:ss.toCss(ns,rs,is,as),rgba:ss.toRgba(ns,rs,is,as)}}e.opacity=a;function o(e,t){return as=e.rgba&255,a(e,as*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(cs||={});var ls;(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 ns=parseInt(e.slice(1,2).repeat(2),16),rs=parseInt(e.slice(2,3).repeat(2),16),is=parseInt(e.slice(3,4).repeat(2),16),ss.toColor(ns,rs,is);case 5:return ns=parseInt(e.slice(1,2).repeat(2),16),rs=parseInt(e.slice(2,3).repeat(2),16),is=parseInt(e.slice(3,4).repeat(2),16),as=parseInt(e.slice(4,5).repeat(2),16),ss.toColor(ns,rs,is,as);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 ns=parseInt(r[1]),rs=parseInt(r[2]),is=parseInt(r[3]),as=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),ss.toColor(ns,rs,is,as);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[ns,rs,is,as]=t.getImageData(0,0,1,1).data,as!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:ss.toRgba(ns,rs,is,as),css:e}}e.toColor=r})(ls||={});var us;(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})(us||={});var ds;(e=>{function t(e,t){if(as=(t&255)/255,as===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 ns=a+Math.round((n-a)*as),rs=o+Math.round((r-o)*as),is=s+Math.round((i-s)*as),ss.toRgba(ns,rs,is)}e.blend=t;function n(e,t,n){let a=us.relativeLuminance(e>>8),o=us.relativeLuminance(t>>8);if(ps(a,o)<n){if(o<a){let o=r(e,t,n),s=ps(a,us.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>ps(a,us.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ps(a,us.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>ps(a,us.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=ps(us.relativeLuminance2(o,s,c),us.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=ps(us.relativeLuminance2(o,s,c),us.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=ps(us.relativeLuminance2(o,s,c),us.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=ps(us.relativeLuminance2(o,s,c),us.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})(ds||={});function fs(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ps(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var ms=class extends _r{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()]}},hs=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new yr}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||gr.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++)hs._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||gr.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}};hs=$n([z(0,Er)],hs);function gs(e){return 57508<=e&&e<=57558}function _s(e){return 9472<=e&&e<=9631}function vs(e){return gs(e)||_s(e)}function ys(){return{css:{canvas:bs(),cell:bs()},device:{canvas:bs(),cell:bs(),char:{width:0,height:0,left:0,top:0}}}}function bs(){return{width:0,height:0}}var xs=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 yr,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,ee=0,y=0,b=0,x=!1,S=0,C=!1,w=0,T=0,E=[],te=l!==-1&&u!==-1;for(let D=0;D<m;D++){e.loadCell(D,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ne=!1,re=D>=T,ie=D,O=this._workCell;if(f.length>0&&D===f[0][0]&&re){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)re&&=i===this._isCellInSelection(v,t);re&&=!n||a<r[0]||a>=r[1],re?(ne=!0,O=new ms(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ie=r[1]-1,m=O.getWidth()):T=r[1]}let ae=this._isCellInSelection(D,t),oe=n&&D===a,se=te&&D>=l&&D<=u,ce=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,e=>{ce=!0});let le=O.getChars()||gr;if(le===` `&&(O.isUnderline()||O.isOverline())&&(le=`\xA0`),w=m*s-c.get(le,O.isBold(),O.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(ae&&C||!ae&&!C&&O.bg===ee)&&(ae&&C&&p.selectionForeground||O.fg===y)&&O.extended.ext===b&&se===x&&w===S&&!oe&&!ne&&!ce&&re){O.isInvisible()?_+=gr:_+=le,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(ee=O.bg,y=O.fg,b=O.extended.ext,x=se,S=w,C=ae,ne&&a>=D&&a<=ie&&(a=D),!this._coreService.isCursorHidden&&oe&&this._coreService.isCursorInitialized){if(E.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&E.push(`xterm-cursor-blink`),E.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:E.push(`xterm-cursor-outline`);break;case`block`:E.push(`xterm-cursor-block`);break;case`bar`:E.push(`xterm-cursor-bar`);break;case`underline`:E.push(`xterm-cursor-underline`)}}if(O.isBold()&&E.push(`xterm-bold`),O.isItalic()&&E.push(`xterm-italic`),O.isDim()&&E.push(`xterm-dim`),_=O.isInvisible()?gr:O.getChars()||gr,O.isUnderline()&&(E.push(`xterm-underline-${O.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!O.isUnderlineColorDefault())){if(O.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${_r.toColorRGB(O.getUnderlineColor()).join(`,`)})`;else{let e=O.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&O.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}O.isOverline()&&(E.push(`xterm-overline`),_===` `&&(_=`\xA0`)),O.isStrikethrough()&&E.push(`xterm-strikethrough`),se&&(h.style.textDecoration=`underline`);let ue=O.getFgColor(),de=O.getFgColorMode(),fe=O.getBgColor(),pe=O.getBgColorMode(),k=!!O.isInverse();if(k){let e=ue;ue=fe,fe=e;let t=de;de=pe,pe=t}let me,he,ge=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,e=>{e.options.layer!==`top`&&ge||(e.backgroundColorRGB&&(pe=50331648,fe=e.backgroundColorRGB.rgba>>8&16777215,me=e.backgroundColorRGB),e.foregroundColorRGB&&(de=50331648,ue=e.foregroundColorRGB.rgba>>8&16777215,he=e.foregroundColorRGB),ge=e.options.layer===`top`)}),!ge&&ae&&(me=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,fe=me.rgba>>8&16777215,pe=50331648,ge=!0,p.selectionForeground&&(de=50331648,ue=p.selectionForeground.rgba>>8&16777215,he=p.selectionForeground)),ge&&E.push(`xterm-decoration-top`);let _e;switch(pe){case 16777216:case 33554432:_e=p.ansi[fe],E.push(`xterm-bg-${fe}`);break;case 50331648:_e=ss.toColor(fe>>16,fe>>8&255,fe&255),this._addStyle(h,`background-color:#${Ss((fe>>>0).toString(16),`0`,6)}`);break;default:k?(_e=p.foreground,E.push(`xterm-bg-257`)):_e=p.background}switch(me||O.isDim()&&(me=cs.multiplyOpacity(_e,.5)),de){case 16777216:case 33554432:O.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(h,_e,p.ansi[ue],O,me,void 0)||E.push(`xterm-fg-${ue}`);break;case 50331648:let e=ss.toColor(ue>>16&255,ue>>8&255,ue&255);this._applyMinimumContrast(h,_e,e,O,me,he)||this._addStyle(h,`color:#${Ss(ue.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,_e,p.foreground,O,me,he)||k&&E.push(`xterm-fg-257`)}E.length&&=(h.className=E.join(` `),0),!oe&&!ne&&!ce&&re?g++:h.textContent=_,w!==this.defaultSpacing&&(h.style.letterSpacing=`${w}px`),d.push(h),D=ie}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||vs(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=cs.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]}};xs=$n([z(1,Ur),z(2,Mr),z(3,zr),z(4,Or),z(5,Fr),z(6,Wr)],xs);function Ss(e,t,n){for(;e.length<n;)e=t+e;return e}var Cs=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}},ws=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);s>=e.rows||c<0?this.clear():(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 Ts(){return new ws}var Es=`xterm-dom-renderer-owner-`,Ds=`xterm-rows`,Os=`xterm-fg-`,ks=`xterm-bg-`,As=`xterm-focus`,js=`xterm-selection`,Ms=1,Ns=class extends V{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=Ms++,this._rowElements=[],this._selectionRenderModel=Ts(),this.onRequestRedraw=this._register(new U).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(Ds),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(js),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=ys(),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(xs,document),this._element.classList.add(Es+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(B(()=>{this._element.classList.remove(Es+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Cs(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} .${Ds} 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} .${Ds} { 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} .${Ds} .xterm-dim { color: ${cs.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} .${Ds}.${As} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Ds}.${As} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Ds}.${As} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Ds} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Ds} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Ds} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Ds} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Ds} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${js} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${js} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${js} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${Os}${n} { color: ${r.css}; }${this._terminalSelector} .${Os}${n}.xterm-dim { color: ${cs.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${ks}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${Os}257 { color: ${cs.opaque(e.background).css}; }${this._terminalSelector} .${Os}257.xterm-dim { color: ${cs.multiplyOpacity(cs.opaque(e.background),.5).css}; }${this._terminalSelector} .${ks}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(As),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(As),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`.${Es}${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))}}};Ns=$n([z(7,Ar),z(8,Rr),z(9,Mr),z(10,Er),z(11,Or),z(12,zr),z(13,Wr)],Ns);var Ps=class extends V{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new U),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ls(this._optionsService))}catch{this._measureStrategy=this._register(new Is(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())}};Ps=$n([z(2,Mr)],Ps);var Fs=class extends V{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)}},Is=class extends Fs{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}},Ls=class extends Fs{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}},Rs=class extends V{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 zs(this._window)),this._onDprChange=this._register(new U),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new U),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(bi.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(W(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(W(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}},zs=class extends V{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new mi),this._onDprChange=this._register(new U),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(B(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=W(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)}},Bs=class extends V{constructor(){super(),this.linkProviders=[],this._register(B(()=>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 Vs(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 Hs(e,t,n,r,i,a,o,s,c){if(!a)return;let l=Vs(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 Us=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Hs(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=Vs(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])}}};Us=$n([z(0,Vr),z(1,Rr)],Us);var Ws=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=[]}},Gs={};Qn(Gs,{getSafariVersion:()=>Qs,isChromeOS:()=>ic,isFirefox:()=>Ys,isIpad:()=>ec,isIphone:()=>tc,isLegacyEdge:()=>Xs,isLinux:()=>rc,isMac:()=>$s,isNode:()=>Ks,isSafari:()=>Zs,isWindows:()=>nc});var Ks=typeof process<`u`&&`title`in process,qs=Ks?`node`:navigator.userAgent,Js=Ks?`node`:navigator.platform,Ys=qs.includes(`Firefox`),Xs=qs.includes(`Edge`),Zs=/^((?!chrome|android).)*safari/i.test(qs);function Qs(){if(!Zs)return 0;let e=qs.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var $s=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(Js),ec=Js===`iPad`,tc=Js===`iPhone`,nc=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(Js),rc=Js.indexOf(`Linux`)>=0,ic=/\bCrOS\b/.test(qs),ac=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()}},oc=class extends ac{_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())}}},sc=class extends ac{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},cc=!Ks&&`requestIdleCallback`in window?sc:oc,lc=class{constructor(){this._queue=new cc}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},uc=class extends V{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 mi),this._pausedResizeTask=new lc,this._observerDisposable=this._register(new mi),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 U),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new U),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new U),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new U),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ws((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new dc(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(B(()=>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=B(()=>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()}};uc=$n([z(2,Mr),z(3,Rr),z(4,Or),z(5,Fr),z(6,Er),z(7,zr),z(8,Wr)],uc);var dc=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 fc(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return hc(i,a,e,t,n,r)+gc(a,t,n,r)+_c(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,wc(Math.abs(i-e),Cc(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return wc(mc(a>t?e:i,n)+(s-1)*n.cols+1+pc(a>t?i:e,n),Cc(o,r))}function pc(e,t){return e-1}function mc(e,t){return t.cols-e}function hc(e,t,n,r,i,a){return gc(t,r,i,a).length===0?``:wc(Sc(e,t,e,t-yc(t,i),!1,i).length,Cc(`D`,a))}function gc(e,t,n,r){let i=e-yc(e,n),a=t-yc(t,n);return wc(Math.abs(i-a)-vc(e,t,n),Cc(xc(e,t),r))}function _c(e,t,n,r,i,a){let o;o=gc(t,r,i,a).length>0?r-yc(r,i):t;let s=r,c=bc(e,t,n,r,i,a);return wc(Sc(e,o,n,s,c===`C`,i).length,Cc(c,a))}function vc(e,t,n){let r=0,i=e-yc(e,n),a=t-yc(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=xc(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function yc(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 bc(e,t,n,r,i,a){let o;return o=gc(n,r,i,a).length>0?r-yc(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function xc(e,t){return e>t?`A`:`B`}function Sc(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 Cc(e,t){let n=t?`O`:`[`;return G.ESC+n+e}function wc(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var Tc=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 Ec(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 Dc=50,Oc=15,kc=50,Ac=500,jc=RegExp(`\xA0`,`g`),Mc=class extends V{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 yr,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new U),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new U),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new U),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new U),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 Tc(this._bufferService),this._activeSelectionMode=0,this._register(B(()=>{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(jc,` `)).join(nc?`\r
14
+ `))}},Oi=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},ki=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},Ai=0,ji=class{constructor(e){this.value=e,this.id=Ai++}},Mi=2,U=class{constructor(e){this._size=0,this._options=e,this._leakageMon=wi>0||this._options?.leakWarningThreshold?new Ei(e?.onListenerError??Jr,this._options?.leakWarningThreshold??wi):void 0,this._perfMon=this._options?._profName?new Ci(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 ki(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||Jr)(n),V.None}if(this._disposed)return V.None;t&&(e=e.bind(t));let r=new ji(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Di.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof ji?(this._deliveryQueue??=new Ni,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=B(()=>{i?.(),this._removeListener(r)});return n instanceof mi?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*Mi<=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||Jr;if(!n)e.value(t);else 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 ji)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}},Ni=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}},Pi=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new U,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new U,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}};Pi.INSTANCE=new Pi;var Fi=Pi;function Ii(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Fi.INSTANCE.onDidChangeZoomLevel;function Li(e){return Fi.INSTANCE.getZoomFactor(e)}Fi.INSTANCE.onDidChangeFullscreen;var Ri=typeof navigator==`object`?navigator.userAgent:``,zi=Ri.indexOf(`Firefox`)>=0,Bi=Ri.indexOf(`AppleWebKit`)>=0,Vi=Ri.indexOf(`Chrome`)>=0,Hi=!Vi&&Ri.indexOf(`Safari`)>=0;Ri.indexOf(`Electron/`),Ri.indexOf(`Android`);var Ui=!1;if(typeof gi.matchMedia==`function`){let e=gi.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=gi.matchMedia(`(display-mode: fullscreen)`);Ui=e.matches,Ii(gi,e,({matches:e})=>{Ui&&t.matches||(Ui=e)})}function Wi(){return Ui}var Gi=`en`,Ki=!1,qi=!1,Ji=!1,Yi=!1,Xi=!1,Zi=Gi,Qi,$i=globalThis,ea;typeof $i.vscode<`u`&&typeof $i.vscode.process<`u`?ea=$i.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(ea=process);var ta=typeof ea?.versions?.electron==`string`&&ea?.type===`renderer`;if(typeof ea==`object`){Ki=ea.platform===`win32`,qi=ea.platform===`darwin`,Ji=ea.platform===`linux`,Ji&&ea.env.SNAP&&ea.env.SNAP_REVISION,ea.env.CI||ea.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Zi=Gi;let e=ea.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Zi=t.resolvedLanguage||Gi,t.languagePack?.translationsConfigFile}catch{}Yi=!0}else typeof navigator==`object`&&!ta?(Qi=navigator.userAgent,Ki=Qi.indexOf(`Windows`)>=0,qi=Qi.indexOf(`Macintosh`)>=0,(Qi.indexOf(`Macintosh`)>=0||Qi.indexOf(`iPad`)>=0||Qi.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Ji=Qi.indexOf(`Linux`)>=0,Qi?.indexOf(`Mobi`),Xi=!0,Zi=globalThis._VSCODE_NLS_LANGUAGE||Gi,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var na=Ki,ra=qi,ia=Ji,aa=Yi;Xi&&typeof $i.importScripts==`function`&&$i.origin;var oa=Qi,sa=Zi,ca;(e=>{function t(){return sa}e.value=t;function n(){return sa.length===2?sa===`en`:sa.length>=3&&sa[0]===`e`&&sa[1]===`n`&&sa[2]===`-`}e.isDefaultVariant=n;function r(){return sa===`en`}e.isDefault=r})(ca||={});var la=typeof $i.postMessage==`function`&&!$i.importScripts;(()=>{if(la){let e=[];$i.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}),$i.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var ua=!!(oa&&oa.indexOf(`Chrome`)>=0);oa&&oa.indexOf(`Firefox`),!ua&&oa&&oa.indexOf(`Safari`),oa&&oa.indexOf(`Edg/`),oa&&oa.indexOf(`Android`);var da=typeof navigator==`object`?navigator:{};aa||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||da&&da.clipboard&&da.clipboard.writeText,aa||da&&da.clipboard&&da.clipboard.readText,aa||Wi()||da.keyboard,`ontouchstart`in gi||da.maxTouchPoints,gi.PointerEvent&&(`ontouchstart`in gi||navigator.maxTouchPoints);var fa=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}},pa=new fa,ma=new fa,ha=new fa,ga=Array(230),_a;(e=>{function t(e){return pa.keyCodeToStr(e)}e.toString=t;function n(e){return pa.strToKeyCode(e)}e.fromString=n;function r(e){return ma.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return ha.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return ma.strToKeyCode(e)||ha.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 pa.keyCodeToStr(e)}e.toElectronAccelerator=o})(_a||={});var va=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 ya([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ya=class{constructor(e){if(e.length===0)throw Qr(`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 ba(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return _a.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(zi)switch(t){case 59:return 85;case 60:if(ia)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(ra)return 57}else if(Bi&&(ra&&t===93||!ra&&t===92))return 57;return ga[t]||0}var xa=ra?256:2048,Sa=512,Ca=1024,wa=ra?2048:256,Ta=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=ba(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|=xa),this.altKey&&(t|=Sa),this.shiftKey&&(t|=Ca),this.metaKey&&(t|=wa),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new va(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},Ea=new WeakMap;function Da(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 Oa=class{static getSameOriginWindowChain(e){let t=Ea.get(e);if(!t){t=[],Ea.set(e,t);let n=e,r;do r=Da(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}}},ka=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=Oa.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Aa=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(Vi){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?zi&&!ra?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=Hi&&na?-(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?zi&&!ra?-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()}},ja=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Ma;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Na?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:xi.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ja})})(Ma||={});var Na=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?ja:(this._emitter||=new U,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},Pa=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 ei(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new ei(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Fa=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 ei(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=B(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Ia;(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})(Ia||={});var La=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 U,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 xi.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())}};La.EMPTY=La.fromArray([]);function Ra(e){return za(e,0)}function za(e,t){switch(typeof e){case`object`:return e===null?Ba(349,t):Array.isArray(e)?Ua(e,t):Wa(e,t);case`string`:return Ha(e,t);case`boolean`:return Va(e,t);case`number`:return Ba(e,t);case`undefined`:return Ba(937,t);default:return Ba(617,t)}}function Ba(e,t){return(t<<5)-t+e|0}function Va(e,t){return Ba(e?433:863,t)}function Ha(e,t){t=Ba(149417,t);for(let n=0,r=e.length;n<r;n++)t=Ba(e.charCodeAt(n),t);return t}function Ua(e,t){return t=Ba(104579,t),e.reduce((e,t)=>za(t,e),t)}function Wa(e,t){return t=Ba(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Ha(n,t),za(e[n],t)),t)}var{registerWindow:Ga,getWindow:Ka,getDocument:qa,getWindows:Ja,getWindowsCount:Ya,getWindowId:Xa,getWindowById:Za,hasWindow:Qa,onDidRegisterWindow:$a,onWillUnregisterWindow:eo,onDidUnregisterWindow:to}=function(){let e=new Map,t={window:gi,disposables:new mi};e.set(gi.vscodeWindowId,t);let n=new U,r=new U,i=new U;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 V.None;let a=new mi,o={window:t,disposables:a.add(new mi)};return e.set(t.vscodeWindowId,o),a.add(B(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(W(t,fo.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:gi},getDocument(e){return Ka(e).document}}}(),no=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 W(e,t,n,r){return new no(e,t,n,r)}function ro(e,t){return function(n){return t(new ka(e,n))}}function io(e){return function(t){return e(new Ta(t))}}var ao=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=ro(Ka(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=io(n)),W(e,t,i,r)},oo,so=class extends Fa{constructor(e){super(),this.defaultTarget=e&&Ka(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},co=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){Jr(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(co.sort),a.shift().execute();r.set(i,!1)};oo=(t,r,a=0)=>{let o=Xa(t),s=new co(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 lo=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}};lo.None=new lo(0,0);function uo(e){let t=e.getBoundingClientRect(),n=Ka(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=Ra(n),a=r.get(i);if(a)a.users+=1;else{let o=new U,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(B(()=>{--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 fo={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:Bi?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Bi?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Bi?`webkitAnimationIteration`:`animationiteration`},po=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=mo(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=mo(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=mo(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=mo(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=mo(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=mo(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=mo(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=mo(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=mo(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=mo(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=mo(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=mo(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=mo(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=mo(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 mo(e){return typeof e==`number`?`${e}px`:e}function ho(e){return new po(e)}var go=class{constructor(){this._hooks=new mi,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(B(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=Ka(e)}this._hooks.add(W(a,fo.POINTER_MOVE,e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)})),this._hooks.add(W(a,fo.POINTER_UP,e=>this.stopMonitoring(!0)))}};function _o(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 vo;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(vo||={});var yo=class e extends V{constructor(){super(),this.dispatched=!1,this.targets=new vi,this.ignoreTargets=new vi,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(xi.runAndSubscribe($a,({window:e,disposables:t})=>{t.add(W(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(W(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(W(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:gi,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=ui(new e),B(e.INSTANCE.targets.push(t))):V.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=ui(new e),B(e.INSTANCE.ignoreTargets.push(t))):V.None}static isTouchDevice(){return`ontouchstart`in gi||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(vo.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-ti(s.rollingPageX))<30&&Math.abs(s.initialPageY-ti(s.rollingPageY))<30){let e=this.newGestureEvent(vo.Tap,s.initialTarget);e.pageX=ti(s.rollingPageX),e.pageY=ti(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-ti(s.rollingPageX))<30&&Math.abs(s.initialPageY-ti(s.rollingPageY))<30){let e=this.newGestureEvent(vo.Contextmenu,s.initialTarget);e.pageX=ti(s.rollingPageX),e.pageY=ti(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=ti(s.rollingPageX),n=ti(s.rollingPageY),i=ti(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(vo.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===vo.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===vo.Change||t.type===vo.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=oo(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(vo.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(vo.Change,i.initialTarget);a.translationX=r.pageX-ti(i.rollingPageX),a.translationY=r.pageY-ti(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)}};yo.SCROLL_FRICTION=-.005,yo.HOLD_DELAY=700,yo.CLEAR_TAP_COUNT_TIME=400,er([_o],yo,`isTouchDevice`,1);var bo=yo,xo=class extends V{onclick(e,t){this._register(W(e,fo.CLICK,n=>t(new ka(Ka(e),n))))}onmousedown(e,t){this._register(W(e,fo.MOUSE_DOWN,n=>t(new ka(Ka(e),n))))}onmouseover(e,t){this._register(W(e,fo.MOUSE_OVER,n=>t(new ka(Ka(e),n))))}onmouseleave(e,t){this._register(W(e,fo.MOUSE_LEAVE,n=>t(new ka(Ka(e),n))))}onkeydown(e,t){this._register(W(e,fo.KEY_DOWN,e=>t(new Ta(e))))}onkeyup(e,t){this._register(W(e,fo.KEY_UP,e=>t(new Ta(e))))}oninput(e,t){this._register(W(e,fo.INPUT,t))}onblur(e,t){this._register(W(e,fo.BLUR,t))}onfocus(e,t){this._register(W(e,fo.FOCUS,t))}onchange(e,t){this._register(W(e,fo.CHANGE,t))}ignoreGesture(e){return bo.ignoreTarget(e)}},So=11,Co=class extends xo{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=So+`px`,this.domNode.style.height=So+`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 go),this._register(ao(this.bgDomNode,fo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(ao(this.domNode,fo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new so),this._pointerdownScheduleRepeatTimer=this._register(new Pa)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ka(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},wo=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}}},To=class extends V{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new wo(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 ko(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=ko.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)))}},Eo=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Do(e,t){let n=t-e;return function(t){return e+n*jo(t)}}function Oo(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var ko=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),Oo(Do(e,r),Do(i,t),.33)}return Do(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 Eo(this.scrollLeft(t),this.scrollTop(t),!1):new Eo(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 Ao(e){return e**3}function jo(e){return 1-Ao(1-e)}var Mo=class extends V{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 Pa)}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(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_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`:``)))}},No=140,Po=class extends xo{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 Mo(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new go),this._shouldRender=!0,this.domNode=ho(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(W(this.domNode.domNode,fo.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new Co(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=ho(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(W(this.slider.domNode,fo.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=uo(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(na&&a>No){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()}},Fo=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)}},Io=class extends Po{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Fo(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}},Lo=class extends Po{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new Fo(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}},Ro=500,zo=50,Bo=!0,Vo=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Ho=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(Vi){let t=Li(Ka(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 Vo(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}};Ho.INSTANCE=new Ho;var Uo=Ho,Wo=class extends xo{constructor(e,t,n){super(),this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new U),this.onWillScroll=this._onWillScroll.event,this._options=Ko(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 Lo(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new Io(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=ho(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=ho(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=ho(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 Pa),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=di(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,ra&&(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 Aa(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=di(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(W(this._listenOnDomNode,fo.MOUSE_WHEEL,e=>{this._onMouseWheel(new Aa(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=Uo.INSTANCE;Bo&&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=!ra&&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=zo*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=zo*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)&&(Bo&&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(),Ro)}},Go=class extends Wo{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 Ko(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,ra&&(t.className+=` mac`),t}var qo=class extends V{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new U),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new To({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>oo(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Go(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(xi.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(B(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(B(()=>this._styleElement.remove())),this._register(xi.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(`
15
+ `)})),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}};qo=er([z(2,Dr),z(3,Br),z(4,Or),z(5,Gr),z(6,Nr),z(7,Hr)],qo);var Jo=class extends V{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(B(()=>{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()}};Jo=er([z(1,Dr),z(2,Br),z(3,Ir),z(4,Hr)],Jo);var Yo=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)}},Xo={full:0,left:0,center:0,right:0},Zo={full:0,left:0,center:0,right:0},Qo={full:0,left:0,center:0,right:0},$o=class extends V{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 Yo,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(B(()=>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);Zo.full=this._canvas.width,Zo.left=e,Zo.center=t,Zo.right=e,this._refreshDrawHeightConstants(),Qo.full=1,Qo.left=1,Qo.center=1+Zo.left,Qo.right=1+Zo.left+Zo.center}_refreshDrawHeightConstants(){Xo.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);Xo.left=t,Xo.center=t,Xo.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xo.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xo.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xo.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xo.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(Qo[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Xo[e.position||`full`]/2),Zo[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Xo[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}))}};$o=er([z(2,Dr),z(3,Ir),z(4,Hr),z(5,Nr),z(6,Gr),z(7,Br)],$o);var G;(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=`
16
+ `,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=``))(G||={});var es;(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=`Ÿ`))(es||={});var ts;(e=>e.ST=`${G.ESC}\\`)(ts||={});var ns=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(`${G.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)}}};ns=er([z(2,Dr),z(3,Nr),z(4,kr),z(5,Hr)],ns);var rs=0,is=0,as=0,os=0,ss={css:`#00000000`,rgba:0},cs;(e=>{function t(e,t,n,r){return r===void 0?`#${ps(e)}${ps(t)}${ps(n)}`:`#${ps(e)}${ps(t)}${ps(n)}${ps(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})(cs||={});var ls;(e=>{function t(e,t){if(os=(t.rgba&255)/255,os===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 rs=a+Math.round((n-a)*os),is=o+Math.round((r-o)*os),as=s+Math.round((i-s)*os),{css:cs.toCss(rs,is,as),rgba:cs.toRgba(rs,is,as)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=fs.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return cs.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[rs,is,as]=fs.toChannels(t),{css:cs.toCss(rs,is,as),rgba:t}}e.opaque=i;function a(e,t){return os=Math.round(t*255),[rs,is,as]=fs.toChannels(e.rgba),{css:cs.toCss(rs,is,as,os),rgba:cs.toRgba(rs,is,as,os)}}e.opacity=a;function o(e,t){return os=e.rgba&255,a(e,os*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(ls||={});var us;(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 rs=parseInt(e.slice(1,2).repeat(2),16),is=parseInt(e.slice(2,3).repeat(2),16),as=parseInt(e.slice(3,4).repeat(2),16),cs.toColor(rs,is,as);case 5:return rs=parseInt(e.slice(1,2).repeat(2),16),is=parseInt(e.slice(2,3).repeat(2),16),as=parseInt(e.slice(3,4).repeat(2),16),os=parseInt(e.slice(4,5).repeat(2),16),cs.toColor(rs,is,as,os);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 rs=parseInt(r[1]),is=parseInt(r[2]),as=parseInt(r[3]),os=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),cs.toColor(rs,is,as,os);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[rs,is,as,os]=t.getImageData(0,0,1,1).data,os!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:cs.toRgba(rs,is,as,os),css:e}}e.toColor=r})(us||={});var ds;(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})(ds||={});var fs;(e=>{function t(e,t){if(os=(t&255)/255,os===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 rs=a+Math.round((n-a)*os),is=o+Math.round((r-o)*os),as=s+Math.round((i-s)*os),cs.toRgba(rs,is,as)}e.blend=t;function n(e,t,n){let a=ds.relativeLuminance(e>>8),o=ds.relativeLuminance(t>>8);if(ms(a,o)<n){if(o<a){let o=r(e,t,n),s=ms(a,ds.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>ms(a,ds.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ms(a,ds.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>ms(a,ds.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=ms(ds.relativeLuminance2(o,s,c),ds.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=ms(ds.relativeLuminance2(o,s,c),ds.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=ms(ds.relativeLuminance2(o,s,c),ds.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=ms(ds.relativeLuminance2(o,s,c),ds.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})(fs||={});function ps(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ms(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var hs=class extends vr{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()]}},gs=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new br}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||_r.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++)gs._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||_r.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}};gs=er([z(0,Dr)],gs);function _s(e){return 57508<=e&&e<=57558}function vs(e){return 9472<=e&&e<=9631}function ys(e){return _s(e)||vs(e)}function bs(){return{css:{canvas:xs(),cell:xs()},device:{canvas:xs(),cell:xs(),char:{width:0,height:0,left:0,top:0}}}}function xs(){return{width:0,height:0}}var Ss=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 br,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,ee=0,y=0,b=0,x=!1,S=0,C=!1,w=0,T=0,E=[],te=l!==-1&&u!==-1;for(let D=0;D<m;D++){e.loadCell(D,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ne=!1,re=D>=T,ie=D,O=this._workCell;if(f.length>0&&D===f[0][0]&&re){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)re&&=i===this._isCellInSelection(v,t);re&&=!n||a<r[0]||a>=r[1],re?(ne=!0,O=new hs(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ie=r[1]-1,m=O.getWidth()):T=r[1]}let ae=this._isCellInSelection(D,t),oe=n&&D===a,se=te&&D>=l&&D<=u,ce=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,e=>{ce=!0});let le=O.getChars()||_r;if(le===` `&&(O.isUnderline()||O.isOverline())&&(le=`\xA0`),w=m*s-c.get(le,O.isBold(),O.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(ae&&C||!ae&&!C&&O.bg===ee)&&(ae&&C&&p.selectionForeground||O.fg===y)&&O.extended.ext===b&&se===x&&w===S&&!oe&&!ne&&!ce&&re){O.isInvisible()?_+=_r:_+=le,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(ee=O.bg,y=O.fg,b=O.extended.ext,x=se,S=w,C=ae,ne&&a>=D&&a<=ie&&(a=D),!this._coreService.isCursorHidden&&oe&&this._coreService.isCursorInitialized){if(E.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&E.push(`xterm-cursor-blink`),E.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:E.push(`xterm-cursor-outline`);break;case`block`:E.push(`xterm-cursor-block`);break;case`bar`:E.push(`xterm-cursor-bar`);break;case`underline`:E.push(`xterm-cursor-underline`)}}if(O.isBold()&&E.push(`xterm-bold`),O.isItalic()&&E.push(`xterm-italic`),O.isDim()&&E.push(`xterm-dim`),_=O.isInvisible()?_r:O.getChars()||_r,O.isUnderline()&&(E.push(`xterm-underline-${O.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!O.isUnderlineColorDefault())){if(O.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${vr.toColorRGB(O.getUnderlineColor()).join(`,`)})`;else{let e=O.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&O.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}O.isOverline()&&(E.push(`xterm-overline`),_===` `&&(_=`\xA0`)),O.isStrikethrough()&&E.push(`xterm-strikethrough`),se&&(h.style.textDecoration=`underline`);let ue=O.getFgColor(),de=O.getFgColorMode(),fe=O.getBgColor(),pe=O.getBgColorMode(),k=!!O.isInverse();if(k){let e=ue;ue=fe,fe=e;let t=de;de=pe,pe=t}let me,he,ge=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,e=>{e.options.layer!==`top`&&ge||(e.backgroundColorRGB&&(pe=50331648,fe=e.backgroundColorRGB.rgba>>8&16777215,me=e.backgroundColorRGB),e.foregroundColorRGB&&(de=50331648,ue=e.foregroundColorRGB.rgba>>8&16777215,he=e.foregroundColorRGB),ge=e.options.layer===`top`)}),!ge&&ae&&(me=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,fe=me.rgba>>8&16777215,pe=50331648,ge=!0,p.selectionForeground&&(de=50331648,ue=p.selectionForeground.rgba>>8&16777215,he=p.selectionForeground)),ge&&E.push(`xterm-decoration-top`);let _e;switch(pe){case 16777216:case 33554432:_e=p.ansi[fe],E.push(`xterm-bg-${fe}`);break;case 50331648:_e=cs.toColor(fe>>16,fe>>8&255,fe&255),this._addStyle(h,`background-color:#${Cs((fe>>>0).toString(16),`0`,6)}`);break;default:k?(_e=p.foreground,E.push(`xterm-bg-257`)):_e=p.background}switch(me||O.isDim()&&(me=ls.multiplyOpacity(_e,.5)),de){case 16777216:case 33554432:O.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(h,_e,p.ansi[ue],O,me,void 0)||E.push(`xterm-fg-${ue}`);break;case 50331648:let e=cs.toColor(ue>>16&255,ue>>8&255,ue&255);this._applyMinimumContrast(h,_e,e,O,me,he)||this._addStyle(h,`color:#${Cs(ue.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,_e,p.foreground,O,me,he)||k&&E.push(`xterm-fg-257`)}E.length&&=(h.className=E.join(` `),0),!oe&&!ne&&!ce&&re?g++:h.textContent=_,w!==this.defaultSpacing&&(h.style.letterSpacing=`${w}px`),d.push(h),D=ie}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||ys(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=ls.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]}};Ss=er([z(1,Wr),z(2,Nr),z(3,Br),z(4,kr),z(5,Ir),z(6,Gr)],Ss);function Cs(e,t,n){for(;e.length<n;)e=t+e;return e}var ws=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}},Ts=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);s>=e.rows||c<0?this.clear():(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 Es(){return new Ts}var Ds=`xterm-dom-renderer-owner-`,Os=`xterm-rows`,ks=`xterm-fg-`,As=`xterm-bg-`,js=`xterm-focus`,Ms=`xterm-selection`,Ns=1,Ps=class extends V{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=Ns++,this._rowElements=[],this._selectionRenderModel=Es(),this.onRequestRedraw=this._register(new U).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(Os),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(Ms),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=bs(),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(Ss,document),this._element.classList.add(Ds+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(B(()=>{this._element.classList.remove(Ds+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new ws(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} .${Os} 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} .${Os} { 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} .${Os} .xterm-dim { color: ${ls.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} .${Os}.${js} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Os}.${js} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Os}.${js} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Os} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Os} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Os} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Os} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Os} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${Ms} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Ms} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Ms} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${ks}${n} { color: ${r.css}; }${this._terminalSelector} .${ks}${n}.xterm-dim { color: ${ls.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${As}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${ks}257 { color: ${ls.opaque(e.background).css}; }${this._terminalSelector} .${ks}257.xterm-dim { color: ${ls.multiplyOpacity(ls.opaque(e.background),.5).css}; }${this._terminalSelector} .${As}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(js),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(js),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`.${Ds}${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))}}};Ps=er([z(7,jr),z(8,zr),z(9,Nr),z(10,Dr),z(11,kr),z(12,Br),z(13,Gr)],Ps);var Fs=class extends V{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new U),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Rs(this._optionsService))}catch{this._measureStrategy=this._register(new Ls(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())}};Fs=er([z(2,Nr)],Fs);var Is=class extends V{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)}},Ls=class extends Is{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}},Rs=class extends Is{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}},zs=class extends V{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 Bs(this._window)),this._onDprChange=this._register(new U),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new U),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(xi.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(W(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(W(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}},Bs=class extends V{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new hi),this._onDprChange=this._register(new U),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(B(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=W(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)}},Vs=class extends V{constructor(){super(),this.linkProviders=[],this._register(B(()=>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 Hs(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 Us(e,t,n,r,i,a,o,s,c){if(!a)return;let l=Hs(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 Ws=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Us(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=Hs(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])}}};Ws=er([z(0,Hr),z(1,zr)],Ws);var Gs=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=[]}},Ks={};$n(Ks,{getSafariVersion:()=>$s,isChromeOS:()=>ac,isFirefox:()=>Xs,isIpad:()=>tc,isIphone:()=>nc,isLegacyEdge:()=>Zs,isLinux:()=>ic,isMac:()=>ec,isNode:()=>qs,isSafari:()=>Qs,isWindows:()=>rc});var qs=typeof process<`u`&&`title`in process,Js=qs?`node`:navigator.userAgent,Ys=qs?`node`:navigator.platform,Xs=Js.includes(`Firefox`),Zs=Js.includes(`Edge`),Qs=/^((?!chrome|android).)*safari/i.test(Js);function $s(){if(!Qs)return 0;let e=Js.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var ec=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(Ys),tc=Ys===`iPad`,nc=Ys===`iPhone`,rc=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(Ys),ic=Ys.indexOf(`Linux`)>=0,ac=/\bCrOS\b/.test(Js),oc=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()}},sc=class extends oc{_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())}}},cc=class extends oc{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},lc=!qs&&`requestIdleCallback`in window?cc:sc,uc=class{constructor(){this._queue=new lc}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},dc=class extends V{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 hi),this._pausedResizeTask=new uc,this._observerDisposable=this._register(new hi),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 U),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new U),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new U),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new U),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Gs((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new fc(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(B(()=>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=B(()=>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()}};dc=er([z(2,Nr),z(3,zr),z(4,kr),z(5,Ir),z(6,Dr),z(7,Br),z(8,Gr)],dc);var fc=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 pc(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return gc(i,a,e,t,n,r)+_c(a,t,n,r)+vc(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,Tc(Math.abs(i-e),wc(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return Tc(hc(a>t?e:i,n)+(s-1)*n.cols+1+mc(a>t?i:e,n),wc(o,r))}function mc(e,t){return e-1}function hc(e,t){return t.cols-e}function gc(e,t,n,r,i,a){return _c(t,r,i,a).length===0?``:Tc(Cc(e,t,e,t-bc(t,i),!1,i).length,wc(`D`,a))}function _c(e,t,n,r){let i=e-bc(e,n),a=t-bc(t,n);return Tc(Math.abs(i-a)-yc(e,t,n),wc(Sc(e,t),r))}function vc(e,t,n,r,i,a){let o;o=_c(t,r,i,a).length>0?r-bc(r,i):t;let s=r,c=xc(e,t,n,r,i,a);return Tc(Cc(e,o,n,s,c===`C`,i).length,wc(c,a))}function yc(e,t,n){let r=0,i=e-bc(e,n),a=t-bc(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=Sc(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function bc(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 xc(e,t,n,r,i,a){let o;return o=_c(n,r,i,a).length>0?r-bc(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function Sc(e,t){return e>t?`A`:`B`}function Cc(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 wc(e,t){let n=t?`O`:`[`;return G.ESC+n+e}function Tc(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var Ec=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 Dc(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 Oc=50,kc=15,Ac=50,jc=500,Mc=RegExp(`\xA0`,`g`),Nc=class extends V{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 br,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new U),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new U),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new U),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new U),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 Ec(this._bufferService),this._activeSelectionMode=0,this._register(B(()=>{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(Mc,` `)).join(rc?`\r
17
17
  `:`
18
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),rc&&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=Ec(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=Vs(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,-Dc),Dc),t/=Dc,t/Math.abs(t)+Math.round(t*(Oc-1)))}shouldForceSelection(e){return $s?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(),kc)}_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&&!($s&&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<Ac&&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=fc(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]);n?!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):this._oldHasSelection&&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=Ec(n,this._bufferService.cols)}};Mc=$n([z(3,Er),z(4,Or),z(5,Br),z(6,Mr),z(7,Vr),z(8,zr)],Mc);var Nc=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={}}},Pc=class{constructor(){this._color=new Nc,this._css=new Nc}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()}},Fc=Object.freeze((()=>{let e=[ls.toColor(`#2e3436`),ls.toColor(`#cc0000`),ls.toColor(`#4e9a06`),ls.toColor(`#c4a000`),ls.toColor(`#3465a4`),ls.toColor(`#75507b`),ls.toColor(`#06989a`),ls.toColor(`#d3d7cf`),ls.toColor(`#555753`),ls.toColor(`#ef2929`),ls.toColor(`#8ae234`),ls.toColor(`#fce94f`),ls.toColor(`#729fcf`),ls.toColor(`#ad7fa8`),ls.toColor(`#34e2e2`),ls.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:ss.toCss(r,i,a),rgba:ss.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:ss.toCss(n,n,n),rgba:ss.toRgba(n,n,n)})}return e})()),Ic=ls.toColor(`#ffffff`),Lc=ls.toColor(`#000000`),Rc=ls.toColor(`#ffffff`),zc=Lc,Bc={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},Vc=Ic,Hc=class extends V{constructor(e){super(),this._optionsService=e,this._contrastCache=new Pc,this._halfContrastCache=new Pc,this._onChangeColors=this._register(new U),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Ic,background:Lc,cursor:Rc,cursorAccent:zc,selectionForeground:void 0,selectionBackgroundTransparent:Bc,selectionBackgroundOpaque:cs.blend(Lc,Bc),selectionInactiveBackgroundTransparent:Bc,selectionInactiveBackgroundOpaque:cs.blend(Lc,Bc),scrollbarSliderBackground:cs.opacity(Ic,.2),scrollbarSliderHoverBackground:cs.opacity(Ic,.4),scrollbarSliderActiveBackground:cs.opacity(Ic,.5),overviewRulerBorder:Ic,ansi:Fc.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=K(e.foreground,Ic),t.background=K(e.background,Lc),t.cursor=cs.blend(t.background,K(e.cursor,Rc)),t.cursorAccent=cs.blend(t.background,K(e.cursorAccent,zc)),t.selectionBackgroundTransparent=K(e.selectionBackground,Bc),t.selectionBackgroundOpaque=cs.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=K(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=cs.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?K(e.selectionForeground,os):void 0,t.selectionForeground===os&&(t.selectionForeground=void 0),cs.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=cs.opacity(t.selectionBackgroundTransparent,.3)),cs.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=cs.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=K(e.scrollbarSliderBackground,cs.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=K(e.scrollbarSliderHoverBackground,cs.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=K(e.scrollbarSliderActiveBackground,cs.opacity(t.foreground,.5)),t.overviewRulerBorder=K(e.overviewRulerBorder,Vc),t.ansi=Fc.slice(),t.ansi[0]=K(e.black,Fc[0]),t.ansi[1]=K(e.red,Fc[1]),t.ansi[2]=K(e.green,Fc[2]),t.ansi[3]=K(e.yellow,Fc[3]),t.ansi[4]=K(e.blue,Fc[4]),t.ansi[5]=K(e.magenta,Fc[5]),t.ansi[6]=K(e.cyan,Fc[6]),t.ansi[7]=K(e.white,Fc[7]),t.ansi[8]=K(e.brightBlack,Fc[8]),t.ansi[9]=K(e.brightRed,Fc[9]),t.ansi[10]=K(e.brightGreen,Fc[10]),t.ansi[11]=K(e.brightYellow,Fc[11]),t.ansi[12]=K(e.brightBlue,Fc[12]),t.ansi[13]=K(e.brightMagenta,Fc[13]),t.ansi[14]=K(e.brightCyan,Fc[14]),t.ansi[15]=K(e.brightWhite,Fc[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]=K(e.extendedAnsi[r],Fc[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];else 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()}}};Hc=$n([z(0,Mr)],Hc);function K(e,t){if(e!==void 0)try{return ls.toColor(e)}catch{}return t}var Uc=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)}},Wc=class{constructor(){this._services=new Uc,this._services.set(Ar,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=Cr(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)}},Gc={trace:0,debug:1,info:2,warn:3,error:4,off:5},Kc=`xterm.js: `,qc=class extends V{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Jc=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Gc[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?``:Kc)+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)}};qc=$n([z(0,Mr)],qc);var Jc,Yc=class extends V{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new U),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new U),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new U),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}},q=3,Xc=Object.freeze(new _r),Zc=0,Qc=2,$c=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*q);let r=t||yr.fromCharData([0,hr,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*q+0],n=t&2097151;return[this._data[e*q+1],t&2097152?this._combined[e]:n?dr(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*q+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*q+0]=e|2097152|t[2]<<22):this._data[e*q+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*q+0]>>22}hasWidth(e){return this._data[e*q+0]&12582912}getFg(e){return this._data[e*q+1]}getBg(e){return this._data[e*q+2]}hasContent(e){return this._data[e*q+0]&4194303}getCodePoint(e){let t=this._data[e*q+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*q+0]&2097152}getString(e){let t=this._data[e*q+0];return t&2097152?this._combined[e]:t&2097151?dr(t&2097151):``}isProtected(e){return this._data[e*q+2]&536870912}loadCell(e,t){return Zc=e*q,t.content=this._data[Zc+0],t.fg=this._data[Zc+1],t.bg=this._data[Zc+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*q+0]=t.content,this._data[e*q+1]=t.fg,this._data[e*q+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*q+0]=t|n<<22,this._data[e*q+1]=r.fg,this._data[e*q+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*q+0];r&2097152?this._combined[e]+=dr(t):r&2097151?(this._combined[e]=dr(r&2097151)+dr(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*q+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 yr;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 yr;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++;else 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*Qc<this._data.buffer.byteLength;let n=e*q;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*Qc<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Qc<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);else{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*q+0]&4194303)return e+(this._data[e*q+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*q+0]&4194303||this._data[e*q+2]&50331648)return e+(this._data[e*q+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<q;e++)this._data[(n+i)*q+e]=a[(t+i)*q+e];a[(t+i)*q+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<q;e++)this._data[(n+i)*q+e]=a[(t+i)*q+e];a[(t+i)*q+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*q+0],n=e&2097151,a=e&2097152?this._combined[t]:n?dr(n):gr;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 el(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=il(u,d,t),p=1,m=0;for(;p<u.length;){let e=il(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 tl(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 nl(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 rl(e,t,n){let r=[],i=e.map((n,r)=>il(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=il(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 il(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 al=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new U),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ui(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};al._nextId=1;var ol=al,sl={},cl=sl.B;sl[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},sl.A={"#":`£`},sl.B=void 0,sl[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},sl.C=sl[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},sl.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},sl.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},sl.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},sl.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},sl.E=sl[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},sl.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},sl.H=sl[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},sl[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var ll=4294967295,ul=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=Xc.clone(),this.savedCharset=cl,this.markers=[],this._nullCell=yr.fromCharData([0,hr,1,0]),this._whitespaceCell=yr.fromCharData([0,gr,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new cc,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Yc(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 vr),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 vr),this._whitespaceCell}getBlankLine(e,t){return new $c(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>ll?ll:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Xc);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 Yc(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Xc),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 $c(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 $c(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=el(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Xc),n);if(r.length>0){let n=tl(this.lines,r);nl(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Xc),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new $c(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(Xc),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=rl(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(Xc,!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--,_=il(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 ol(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)}},dl=class extends V{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new U),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 ul(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new ul(!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)}},fl=2,pl=1,ml=class extends V{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new U),this.onResize=this._onResize.event,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,fl),this.rows=Math.max(e.rawOptions.rows||0,pl),this.buffers=this._register(new dl(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))}};ml=$n([z(0,Mr)],ml);var hl={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:$s,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},gl=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],_l=class extends V{constructor(e){super(),this._onOptionChange=this._register(new U),this.onOptionChange=this._onOptionChange.event;let t={...hl};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(B(()=>{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 hl))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in hl))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||=hl[e],!vl(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=hl[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=gl.includes(t)?t:hl[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 vl(e){return e===`block`||e===`underline`||e===`bar`}function yl(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]&&yl(e[r],t-1);return n}var bl=Object.freeze({insertMode:!1}),xl=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Sl=class extends V{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 U),this.onData=this._onData.event,this._onUserInput=this._register(new U),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new U),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new U),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=yl(bl),this.decPrivateModes=yl(xl)}reset(){this.modes=yl(bl),this.decPrivateModes=yl(xl)}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))}};Sl=$n([z(0,Er),z(1,jr),z(2,Mr)],Sl);var Cl={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 wl(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 Tl=String.fromCharCode,El={DEFAULT:e=>{let t=[wl(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${Tl(t[0])}${Tl(t[1])}${Tl(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${wl(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${wl(e,!0)};${e.x};${e.y}${t}`}},Dl=class extends V{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 U),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(Cl))this.addProtocol(e,Cl[e]);for(let e of Object.keys(El))this.addEncoding(e,El[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}};Dl=$n([z(0,Er),z(1,Or),z(2,Mr)],Dl);var Ol=[[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]],kl=[[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]],Al;function jl(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 Ml=class{constructor(){if(this.version=`6`,!Al){Al=new Uint8Array(65536),Al.fill(1),Al[0]=0,Al.fill(0,1,32),Al.fill(0,127,160),Al.fill(2,4352,4448),Al[9001]=2,Al[9002]=2,Al.fill(2,11904,42192),Al[12351]=1,Al.fill(2,44032,55204),Al.fill(2,63744,64256),Al.fill(2,65040,65050),Al.fill(2,65072,65136),Al.fill(2,65280,65377),Al.fill(2,65504,65511);for(let e=0;e<Ol.length;++e)Al.fill(0,Ol[e][0],Ol[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?Al[e]:jl(e,kl)?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=Nl.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return Nl.createPropertyValue(0,n,r)}},Nl=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new U,this.onChange=this._onChange.event;let e=new Ml;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)}},Pl=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 Fl(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 Il=2147483647,Ll=256,Rl=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>Ll)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;else{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>Il?Il: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>Il?Il: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,Il):e}},zl=[],Bl=class{constructor(){this._state=0,this._active=zl,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=zl}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=zl,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||zl,!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`,fr(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=zl,this._id=-1,this._state=0}}},Vl=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+=fr(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}},Hl=[],Ul=class{constructor(){this._handlers=Object.create(null),this._active=Hl,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Hl}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=Hl,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Hl,!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`,fr(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=Hl,this._ident=0}},Wl=new Rl;Wl.addParam(0);var Gl=class{constructor(e){this._handler=e,this._data=``,this._params=Wl,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Wl,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=fr(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=Wl,this._data=``,this._hitLimit=!1,e));return this._params=Wl,this._data=``,this._hitLimit=!1,t}},Kl=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}},ql=160,Jl=function(){let e=new Kl(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(ql,0,2,0),e.add(ql,8,5,8),e.add(ql,6,0,6),e.add(ql,11,0,11),e.add(ql,13,13,13),e}(),Yl=class extends V{constructor(e=Jl){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 Rl,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(B(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new Bl),this._dcsParser=this._register(new Ul),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:ql)],i>>4){case 2:for(let i=n+1;;++i)if(i>=t||(r=e[i])<32||r>126&&r<ql||++i>=t||(r=e[i])<32||r>126&&r<ql||++i>=t||(r=e[i])<32||r>126&&r<ql||++i>=t||(r=e[i])<32||r>126&&r<ql){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<ql){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<ql){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}}},Xl=/^([\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})$/,Zl=/^[\da-f]+$/;function Ql(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Xl.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),Zl.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 $l(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 eu(e,t=16){let[n,r,i]=e;return`rgb:${$l(n,t)}/${$l(r,t)}/${$l(i,t)}`}var tu={"(":0,")":1,"*":2,"+":3,"-":1,".":2},nu=131072,ru=10;function iu(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 au=5e3,ou=0,su=class extends V{constructor(e,t,n,r,i,a,o,s,c=new Yl){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 pr,this._utf8Decoder=new mr,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Xc.clone(),this._eraseAttrDataInternal=Xc.clone(),this._onRequestBell=this._register(new U),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new U),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new U),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new U),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new U),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new U),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new U),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new U),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new U),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new U),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new U),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new U),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 cu(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(G.BEL,()=>this.bell()),this._parser.setExecuteHandler(G.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(G.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(G.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(G.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(G.BS,()=>this.backspace()),this._parser.setExecuteHandler(G.HT,()=>this.tab()),this._parser.setExecuteHandler(G.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(G.SI,()=>this.shiftIn()),this._parser.setExecuteHandler($o.IND,()=>this.index()),this._parser.setExecuteHandler($o.NEL,()=>this.nextLine()),this._parser.setExecuteHandler($o.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Vl(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Vl(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Vl(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Vl(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Vl(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Vl(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Vl(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Vl(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Vl(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Vl(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Vl(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Vl(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 sl)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 Gl((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`),au))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${au} 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>nu&&(a=this._parseStack.position+nu)}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<nu&&(this._parseBuffer=new Uint32Array(Math.min(e.length,nu))),o||this._dirtyRowTracker.clearRange(),e.length>nu)for(let t=a;t<e.length;t+=nu){let a=t+nu<e.length?t+nu: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=Nl.extractWidth(t);let n=Nl.extractShouldJoin(t),m=n?Nl.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(dr(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 $c&&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)}else 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=>!iu(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Gl(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Vl(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(Xc));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=Nl.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(G.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(G.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(G.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(G.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(G.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,cl),this._charsetService.setgCharset(1,cl),this._charsetService.setgCharset(2,cl),this._charsetService.setgCharset(3,cl);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(`${G.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|=_r.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=Xc.fg,e.bg=Xc.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|=Xc.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Xc.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|=Xc.fg&16777215,r.bg&=-67108864,r.bg|=Xc.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${G.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${G.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(`${G.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=Xc.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(!iu(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(`${G.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>ru&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>ru&&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(lu(n)){if(r===`?`)t.push({type:0,index:n});else{let e=Ql(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=Ql(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]);lu(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,cl),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(tu[e[0]],sl[e[1]]||cl),!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=Xc.clone(),this._eraseAttrDataInternal=Xc.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 yr;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(`${G.ESC}${e}${G.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)}},cu=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&&(ou=e,e=t,t=ou),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};cu=$n([z(0,Er)],cu);function lu(e){return 0<=e&&e<256}var uu=5e7,du=12,fu=50,pu=class extends V{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 U),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>uu)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>=du?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>=du)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>fu&&(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()}},mu=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)))}};mu=$n([z(0,Er)],mu);var hu=!1,gu=class extends V{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new mi),this._onBinary=this._register(new U),this.onBinary=this._onBinary.event,this._onData=this._register(new U),this.onData=this._onData.event,this._onLineFeed=this._register(new U),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new U),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new U),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new U),this._instantiationService=new Wc,this.optionsService=this._register(new _l(e)),this._instantiationService.setService(Mr,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ml)),this._instantiationService.setService(Er,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(qc)),this._instantiationService.setService(jr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Sl)),this._instantiationService.setService(Or,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Dl)),this._instantiationService.setService(Dr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Nl)),this._instantiationService.setService(Pr,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Pl),this._instantiationService.setService(kr,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(mu),this._instantiationService.setService(Nr,this._oscLinkService),this._inputHandler=this._register(new su(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(bi.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(bi.forward(this._bufferService.onResize,this._onResize)),this._register(bi.forward(this.coreService.onData,this._onData)),this._register(bi.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 pu((e,t)=>this._inputHandler.parse(e,t))),this._register(bi.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new U),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&&!hu&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),hu=!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,fl),t=Math.max(t,pl),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(Fl.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(Fl(this._bufferService),!1))),this._windowsWrappingHeuristics.value=B(()=>{for(let t of e)t.dispose()})}}},_u={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 vu(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?G.ESC+`OA`:G.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?G.ESC+`OD`:G.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?G.ESC+`OC`:G.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?G.ESC+`OB`:G.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:G.DEL,e.altKey&&(i.key=G.ESC+i.key);break;case 9:if(e.shiftKey){i.key=G.ESC+`[Z`;break}i.key=G.HT,i.cancel=!0;break;case 13:i.key=e.altKey?G.ESC+G.CR:G.CR,i.cancel=!0;break;case 27:i.key=G.ESC,e.altKey&&(i.key=G.ESC+G.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`D`:t?G.ESC+`OD`:G.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`C`:t?G.ESC+`OC`:G.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`A`:t?G.ESC+`OA`:G.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`B`:t?G.ESC+`OB`:G.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=G.ESC+`[2~`);break;case 46:i.key=a?G.ESC+`[3;`+(a+1)+`~`:G.ESC+`[3~`;break;case 36:i.key=a?G.ESC+`[1;`+(a+1)+`H`:t?G.ESC+`OH`:G.ESC+`[H`;break;case 35:i.key=a?G.ESC+`[1;`+(a+1)+`F`:t?G.ESC+`OF`:G.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?G.ESC+`[5;`+(a+1)+`~`:G.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?G.ESC+`[6;`+(a+1)+`~`:G.ESC+`[6~`;break;case 112:i.key=a?G.ESC+`[1;`+(a+1)+`P`:G.ESC+`OP`;break;case 113:i.key=a?G.ESC+`[1;`+(a+1)+`Q`:G.ESC+`OQ`;break;case 114:i.key=a?G.ESC+`[1;`+(a+1)+`R`:G.ESC+`OR`;break;case 115:i.key=a?G.ESC+`[1;`+(a+1)+`S`:G.ESC+`OS`;break;case 116:i.key=a?G.ESC+`[15;`+(a+1)+`~`:G.ESC+`[15~`;break;case 117:i.key=a?G.ESC+`[17;`+(a+1)+`~`:G.ESC+`[17~`;break;case 118:i.key=a?G.ESC+`[18;`+(a+1)+`~`:G.ESC+`[18~`;break;case 119:i.key=a?G.ESC+`[19;`+(a+1)+`~`:G.ESC+`[19~`;break;case 120:i.key=a?G.ESC+`[20;`+(a+1)+`~`:G.ESC+`[20~`;break;case 121:i.key=a?G.ESC+`[21;`+(a+1)+`~`:G.ESC+`[21~`;break;case 122:i.key=a?G.ESC+`[23;`+(a+1)+`~`:G.ESC+`[23~`;break;case 123:i.key=a?G.ESC+`[24;`+(a+1)+`~`:G.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=G.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=G.DEL:e.keyCode===219?i.key=G.ESC:e.keyCode===220?i.key=G.FS:e.keyCode===221&&(i.key=G.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=_u[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=G.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=G.ESC+n}else if(e.keyCode===32)i.key=G.ESC+(e.ctrlKey?G.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=G.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=G.US),e.key===`@`&&(i.key=G.NUL))}return i}var yu=0,bu=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new cc,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new cc,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||(yu=this._search(t),yu===-1)||this._getKey(this._array[yu])!==t)return!1;do if(this._array[yu]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(yu),!0;while(++yu<this._array.length&&this._getKey(this._array[yu])===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&&(yu=this._search(e),!(yu<0||yu>=this._array.length)&&this._getKey(this._array[yu])===e))do yield this._array[yu];while(++yu<this._array.length&&this._getKey(this._array[yu])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(yu=this._search(e),!(yu<0||yu>=this._array.length)&&this._getKey(this._array[yu])===e))do t(this._array[yu]);while(++yu<this._array.length&&this._getKey(this._array[yu])===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}},xu=0,Su=0,Cu=class extends V{constructor(){super(),this._decorations=new bu(e=>e?.marker.line),this._onDecorationRegistered=this._register(new U),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new U),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(B(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new wu(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=>{xu=t.options.x??0,Su=xu+(t.options.width??1),e>=xu&&e<Su&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},wu=class extends pi{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new U),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new U),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?ls.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?ls.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Tu=1e3,Eu=class{constructor(e,t=Tu){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)}},Du=20,Ou=class extends V{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 Eu(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(`
19
- `))),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(W(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(B(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<Du+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
20
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Du+1&&(this._liveRegion.textContent+=rr.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})`}};Ou=$n([z(1,Ar),z(2,zr),z(3,Vr)],Ou);var ku=class extends V{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 U),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new U),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(B(()=>{ui(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(W(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(W(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(W(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(W(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){this._activeLine!==e.y||this._wasResized?(this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1):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&&Au(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,ui(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}}};ku=$n([z(1,Br),z(2,Vr),z(3,Er),z(4,Gr)],ku);function Au(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 ju=class extends gu{constructor(e={}){super(e),this._linkifier=this._register(new mi),this.browser=Gs,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new mi),this._onCursorMove=this._register(new U),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new U),this.onKey=this._onKey.event,this._onRender=this._register(new U),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new U),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new U),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new U),this.onBell=this._onBell.event,this._onFocus=this._register(new U),this._onBlur=this._register(new U),this._onA11yCharEmitter=this._register(new U),this._onA11yTabEmitter=this._register(new U),this._onWillOpen=this._register(new U),this._setup(),this._decorationService=this._instantiationService.createInstance(Cu),this._instantiationService.setService(Fr,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Bs),this._instantiationService.setService(Gr,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Ir)),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(bi.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(bi.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(bi.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(bi.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(B(()=>{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=cs.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${G.ESC}]${n};${eu(r)}${es.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=ss.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=ss.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(Ou,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.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(G.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(W(this.element,`copy`,e=>{this.hasSelection()&&or(e,this._selectionService)}));let e=e=>sr(e,this.textarea,this.coreService,this.optionsService);this._register(W(this.textarea,`paste`,e)),this._register(W(this.element,`paste`,e)),Ys?this._register(W(this.element,`mousedown`,e=>{e.button===2&&ur(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(W(this.element,`contextmenu`,e=>{ur(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),rc&&this._register(W(this.element,`auxclick`,e=>{e.button===1&&lr(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(W(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(W(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(W(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(W(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(W(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(W(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(W(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(W(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`,tr.get()),ic||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(Rs,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(zr,this._coreBrowserService),this._register(W(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(W(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Ps,this._document,this._helperContainer),this._instantiationService.setService(Rr,this._charSizeService),this._themeService=this._instantiationService.createInstance(Hc),this._instantiationService.setService(Wr,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(hs),this._instantiationService.setService(Ur,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(uc,this.rows,this.screenElement)),this._instantiationService.setService(Vr,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(ts,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Us),this._instantiationService.setService(Br,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(ku,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(Ko,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(Mc,this.element,this.screenElement,r)),this._instantiationService.setService(Hr,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(bi.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(qo,this.screenElement)),this._register(W(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(Ou,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qo,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qo,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Ns,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(W(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(W(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=G.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){cr(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=vu(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===G.ETX||n.key===G.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)&&(Mu(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){e===this.cols&&t===this.rows?this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure():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(Xc));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(G.ESC+`[I`):this.coreService.triggerDataEvent(G.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(`${G.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(`${G.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function Mu(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Nu=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)}},Pu=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 yr)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Fu=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 Pu(t)}getNullCell(){return new yr}},Iu=class extends V{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new U),this.onBufferChange=this._onBufferChange.event,this._normal=new Fu(this._core.buffers.normal,`normal`),this._alternate=new Fu(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)}},Lu=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)}},Ru=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}},zu=[`cols`,`rows`],Bu=0,Vu=class extends V{constructor(e){super(),this._core=this._register(new ju(e)),this._addonManager=this._register(new Nu),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(zu.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 Lu(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Ru(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 Iu(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
21
- `,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 tr.get()},set promptLabel(e){tr.set(e)},get tooMuchOutput(){return rr.get()},set tooMuchOutput(e){rr.set(e)}}}_verifyIntegers(...e){for(Bu of e)if(Bu===1/0||isNaN(Bu)||Bu%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Bu of e)if(Bu&&(Bu===1/0||isNaN(Bu)||Bu%1!=0||Bu<0))throw Error(`This API only accepts positive integers`)}},Hu=2,Uu=1,Wu=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(Hu,Math.floor(u/e.css.cell.width)),rows:Math.max(Uu,Math.floor(l/e.css.cell.height))}}};function Gu(e){return e.length}function Ku(e,t){return t<=0||e<0?-1:Math.min(e,t-1)}function qu(e,t,n){return Ku(e===t?t:e>t?e-1:e,n)}function Ju(e,t){return Array.from({length:t},(e,t)=>t).find(t=>t!==e)??-1}function Yu(e,t){let n=e.filter(e=>!t.has(e.id));return n.find(e=>!e.workspaceMissing)??n[0]??null}function Xu(e){return!(e.key!==`Enter`||e.shiftKey||e.composing||e.maximized)}function Zu(e){return e}async function Qu(e,t={}){if(!e)return`unsupported`;let n=t.clipboard===void 0?typeof navigator<`u`?navigator.clipboard??null:null:t.clipboard,r=t.execCommand??(typeof document<`u`?document.execCommand.bind(document):void 0),i=t.makeTextarea??(()=>{let e=document.createElement(`textarea`);return document.body.appendChild(e),{set value(t){e.value=t},get value(){return e.value},style:{get position(){return e.style.position},set position(t){e.style.position=t},get opacity(){return e.style.opacity},set opacity(t){e.style.opacity=t}},select:()=>e.select(),remove:()=>e.remove()}}),a=n?.writeText;if(typeof a==`function`)try{return await a.call(n,e),`copied`}catch{}let o=null;try{let t=i();return o=t,t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,t.select(),r&&r(`copy`)?`copied`:`failed`}catch{return`failed`}finally{o?.remove()}}var $u=P(`<button type=button><span class=iconbtn-glyph>`),ed=P(`<button class=copybtn>`),td=P(`<div class=overlay><div class=modal><div class=modal-head><b></b><button class=iconbtn>✕`);function nd(e){return(()=>{var t=$u(),n=t.firstChild;return Oe(t,`click`,e.onClick,!0),L(n,()=>e.icon),b(n=>{var r=`iconbtn`+(e.active?` active`:``)+(e.class?` `+e.class:``),i=e.title,a=e.style;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),n.a=ke(t,a,n.a),n},{e:void 0,t:void 0,a:void 0}),t})()}function rd(e){let[t,n]=y(!1),[r,i]=y(!1),a=t=>{t.preventDefault(),t.stopPropagation(),Qu(e.text??``).then(e=>{e===`unsupported`||e===`failed`?(i(!0),setTimeout(()=>i(!1),1200)):(n(!0),setTimeout(()=>n(!1),900))})};return(()=>{var n=ed();return n.$$click=a,L(n,(()=>{var n=N(()=>!!t());return()=>n()?`✓`:N(()=>!!r())()?`✗`:e.label??`⧉`})()),b(()=>F(n,`title`,e.title??`copy to clipboard`)),n})()}function id(e){return(()=>{var t=td(),n=t.firstChild,r=n.firstChild.firstChild,i=r.nextSibling;return t.$$click=t=>t.target===t.currentTarget&&e.onClose(),L(r,()=>e.title),Oe(i,`click`,e.onClose,!0),L(n,()=>e.children,null),t})()}De([`click`]);var ad={fg:void 0,bg:void 0,bold:!1,dim:!1,italic:!1,underline:!1,inverse:!1},od=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`];function sd(e){let t=[];return e.fg&&t.push(`ansi-fg-${e.fg}`),e.bg&&t.push(`ansi-bg-${e.bg}`),e.bold&&t.push(`ansi-bold`),e.dim&&t.push(`ansi-dim`),e.italic&&t.push(`ansi-italic`),e.underline&&t.push(`ansi-underline`),e.inverse&&t.push(`ansi-inverse`),t}function cd(e,t){let n={...e};t.length===0&&(t=[0]);for(let e=0;e<t.length;e++){let r=t[e];if(r===0)n.fg=void 0,n.bg=void 0,n.bold=!1,n.dim=!1,n.italic=!1,n.underline=!1,n.inverse=!1;else if(r===1)n.bold=!0;else if(r===2)n.dim=!0;else if(r===3)n.italic=!0;else if(r===4)n.underline=!0;else if(r===7)n.inverse=!0;else if(r===21||r===22)n.bold=!1,n.dim=!1;else if(r===23)n.italic=!1;else if(r===24)n.underline=!1;else if(r===27)n.inverse=!1;else if(r>=30&&r<=37)n.fg=od[r-30];else if(r>=90&&r<=97)n.fg=`bright-${od[r-90]}`;else if(r===39)n.fg=void 0;else if(r>=40&&r<=47)n.bg=od[r-40];else if(r>=100&&r<=107)n.bg=`bright-${od[r-100]}`;else if(r===49)n.bg=void 0;else if(r===38||r===48){let i=t[e+1],a=r===38?`fg`:`bg`;i===5&&t[e+2]!==void 0?(n[a]=`ext`,e+=2):i===2&&t[e+4]!==void 0?(n[a]=`ext`,e+=4):(n[a]=`ext`,e+=1)}}return n}var ld=/\x1b\[([0-9;]*)m/;function ud(e){if(!e)return[];let t=[],n={...ad},r=``,i=()=>{if(!r)return;let e=sd(n),i=t[t.length-1];i&&i.classes.join(` `)===e.join(` `)?i.text+=r:t.push({text:r,classes:e}),r=``};for(let t=0;t<e.length;t++){let a=e[t];if(a===`\x1B`){let r=e.slice(t),a=ld.exec(r);if(a){i();let e=(a[1]??``).split(`;`).filter(e=>e!==``).map(e=>Number(e)).filter(e=>Number.isFinite(e));n=cd(n,e),t+=a[0].length-1;continue}let o=/^\x1b\[[0-9;?]*[A-Za-z]/.exec(r);if(o){t+=o[0].length-1;continue}let s=/^\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/.exec(r);if(s){t+=s[0].length-1;continue}}else if(a===`\r`){if(e[t+1]===`
18
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),ic&&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=Dc(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=Hs(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,-Oc),Oc),t/=Oc,t/Math.abs(t)+Math.round(t*(kc-1)))}shouldForceSelection(e){return ec?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(),Ac)}_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&&!(ec&&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<jc&&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=pc(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]);n?!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):this._oldHasSelection&&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=Dc(n,this._bufferService.cols)}};Nc=er([z(3,Dr),z(4,kr),z(5,Vr),z(6,Nr),z(7,Hr),z(8,Br)],Nc);var Pc=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={}}},Fc=class{constructor(){this._color=new Pc,this._css=new Pc}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()}},Ic=Object.freeze((()=>{let e=[us.toColor(`#2e3436`),us.toColor(`#cc0000`),us.toColor(`#4e9a06`),us.toColor(`#c4a000`),us.toColor(`#3465a4`),us.toColor(`#75507b`),us.toColor(`#06989a`),us.toColor(`#d3d7cf`),us.toColor(`#555753`),us.toColor(`#ef2929`),us.toColor(`#8ae234`),us.toColor(`#fce94f`),us.toColor(`#729fcf`),us.toColor(`#ad7fa8`),us.toColor(`#34e2e2`),us.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:cs.toCss(r,i,a),rgba:cs.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:cs.toCss(n,n,n),rgba:cs.toRgba(n,n,n)})}return e})()),Lc=us.toColor(`#ffffff`),Rc=us.toColor(`#000000`),zc=us.toColor(`#ffffff`),Bc=Rc,Vc={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},Hc=Lc,Uc=class extends V{constructor(e){super(),this._optionsService=e,this._contrastCache=new Fc,this._halfContrastCache=new Fc,this._onChangeColors=this._register(new U),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Lc,background:Rc,cursor:zc,cursorAccent:Bc,selectionForeground:void 0,selectionBackgroundTransparent:Vc,selectionBackgroundOpaque:ls.blend(Rc,Vc),selectionInactiveBackgroundTransparent:Vc,selectionInactiveBackgroundOpaque:ls.blend(Rc,Vc),scrollbarSliderBackground:ls.opacity(Lc,.2),scrollbarSliderHoverBackground:ls.opacity(Lc,.4),scrollbarSliderActiveBackground:ls.opacity(Lc,.5),overviewRulerBorder:Lc,ansi:Ic.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=K(e.foreground,Lc),t.background=K(e.background,Rc),t.cursor=ls.blend(t.background,K(e.cursor,zc)),t.cursorAccent=ls.blend(t.background,K(e.cursorAccent,Bc)),t.selectionBackgroundTransparent=K(e.selectionBackground,Vc),t.selectionBackgroundOpaque=ls.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=K(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=ls.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?K(e.selectionForeground,ss):void 0,t.selectionForeground===ss&&(t.selectionForeground=void 0),ls.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=ls.opacity(t.selectionBackgroundTransparent,.3)),ls.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=ls.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=K(e.scrollbarSliderBackground,ls.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=K(e.scrollbarSliderHoverBackground,ls.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=K(e.scrollbarSliderActiveBackground,ls.opacity(t.foreground,.5)),t.overviewRulerBorder=K(e.overviewRulerBorder,Hc),t.ansi=Ic.slice(),t.ansi[0]=K(e.black,Ic[0]),t.ansi[1]=K(e.red,Ic[1]),t.ansi[2]=K(e.green,Ic[2]),t.ansi[3]=K(e.yellow,Ic[3]),t.ansi[4]=K(e.blue,Ic[4]),t.ansi[5]=K(e.magenta,Ic[5]),t.ansi[6]=K(e.cyan,Ic[6]),t.ansi[7]=K(e.white,Ic[7]),t.ansi[8]=K(e.brightBlack,Ic[8]),t.ansi[9]=K(e.brightRed,Ic[9]),t.ansi[10]=K(e.brightGreen,Ic[10]),t.ansi[11]=K(e.brightYellow,Ic[11]),t.ansi[12]=K(e.brightBlue,Ic[12]),t.ansi[13]=K(e.brightMagenta,Ic[13]),t.ansi[14]=K(e.brightCyan,Ic[14]),t.ansi[15]=K(e.brightWhite,Ic[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]=K(e.extendedAnsi[r],Ic[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];else 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()}}};Uc=er([z(0,Nr)],Uc);function K(e,t){if(e!==void 0)try{return us.toColor(e)}catch{}return t}var Wc=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)}},Gc=class{constructor(){this._services=new Wc,this._services.set(jr,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=wr(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)}},Kc={trace:0,debug:1,info:2,warn:3,error:4,off:5},qc=`xterm.js: `,Jc=class extends V{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Yc=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Kc[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?``:qc)+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)}};Jc=er([z(0,Nr)],Jc);var Yc,Xc=class extends V{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new U),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new U),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new U),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}},q=3,Zc=Object.freeze(new vr),Qc=0,$c=2,el=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*q);let r=t||br.fromCharData([0,gr,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*q+0],n=t&2097151;return[this._data[e*q+1],t&2097152?this._combined[e]:n?fr(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*q+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*q+0]=e|2097152|t[2]<<22):this._data[e*q+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*q+0]>>22}hasWidth(e){return this._data[e*q+0]&12582912}getFg(e){return this._data[e*q+1]}getBg(e){return this._data[e*q+2]}hasContent(e){return this._data[e*q+0]&4194303}getCodePoint(e){let t=this._data[e*q+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*q+0]&2097152}getString(e){let t=this._data[e*q+0];return t&2097152?this._combined[e]:t&2097151?fr(t&2097151):``}isProtected(e){return this._data[e*q+2]&536870912}loadCell(e,t){return Qc=e*q,t.content=this._data[Qc+0],t.fg=this._data[Qc+1],t.bg=this._data[Qc+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*q+0]=t.content,this._data[e*q+1]=t.fg,this._data[e*q+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*q+0]=t|n<<22,this._data[e*q+1]=r.fg,this._data[e*q+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*q+0];r&2097152?this._combined[e]+=fr(t):r&2097151?(this._combined[e]=fr(r&2097151)+fr(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*q+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 br;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 br;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++;else 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*$c<this._data.buffer.byteLength;let n=e*q;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*$c<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*$c<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);else{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*q+0]&4194303)return e+(this._data[e*q+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*q+0]&4194303||this._data[e*q+2]&50331648)return e+(this._data[e*q+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<q;e++)this._data[(n+i)*q+e]=a[(t+i)*q+e];a[(t+i)*q+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<q;e++)this._data[(n+i)*q+e]=a[(t+i)*q+e];a[(t+i)*q+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*q+0],n=e&2097151,a=e&2097152?this._combined[t]:n?fr(n):_r;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 tl(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=al(u,d,t),p=1,m=0;for(;p<u.length;){let e=al(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 nl(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 rl(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 il(e,t,n){let r=[],i=e.map((n,r)=>al(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=al(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 al(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 ol=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new U),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),di(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};ol._nextId=1;var sl=ol,cl={},ll=cl.B;cl[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},cl.A={"#":`£`},cl.B=void 0,cl[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},cl.C=cl[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},cl.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},cl.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},cl.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},cl.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},cl.E=cl[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},cl.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},cl.H=cl[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},cl[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var ul=4294967295,dl=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=Zc.clone(),this.savedCharset=ll,this.markers=[],this._nullCell=br.fromCharData([0,gr,1,0]),this._whitespaceCell=br.fromCharData([0,_r,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new lc,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Xc(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 yr),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 yr),this._whitespaceCell}getBlankLine(e,t){return new el(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>ul?ul:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Zc);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 Xc(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Zc),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 el(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 el(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=tl(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Zc),n);if(r.length>0){let n=nl(this.lines,r);rl(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Zc),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new el(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(Zc),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=il(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(Zc,!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--,_=al(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 sl(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)}},fl=class extends V{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new U),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 dl(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new dl(!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)}},pl=2,ml=1,hl=class extends V{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new U),this.onResize=this._onResize.event,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,pl),this.rows=Math.max(e.rawOptions.rows||0,ml),this.buffers=this._register(new fl(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))}};hl=er([z(0,Nr)],hl);var gl={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:ec,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},_l=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],vl=class extends V{constructor(e){super(),this._onOptionChange=this._register(new U),this.onOptionChange=this._onOptionChange.event;let t={...gl};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(B(()=>{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 gl))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in gl))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||=gl[e],!yl(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=gl[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=_l.includes(t)?t:gl[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 yl(e){return e===`block`||e===`underline`||e===`bar`}function bl(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]&&bl(e[r],t-1);return n}var xl=Object.freeze({insertMode:!1}),Sl=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Cl=class extends V{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 U),this.onData=this._onData.event,this._onUserInput=this._register(new U),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new U),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new U),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=bl(xl),this.decPrivateModes=bl(Sl)}reset(){this.modes=bl(xl),this.decPrivateModes=bl(Sl)}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))}};Cl=er([z(0,Dr),z(1,Mr),z(2,Nr)],Cl);var wl={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 Tl(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 El=String.fromCharCode,Dl={DEFAULT:e=>{let t=[Tl(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${El(t[0])}${El(t[1])}${El(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Tl(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${Tl(e,!0)};${e.x};${e.y}${t}`}},Ol=class extends V{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 U),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(wl))this.addProtocol(e,wl[e]);for(let e of Object.keys(Dl))this.addEncoding(e,Dl[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}};Ol=er([z(0,Dr),z(1,kr),z(2,Nr)],Ol);var kl=[[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]],Al=[[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]],jl;function Ml(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 Nl=class{constructor(){if(this.version=`6`,!jl){jl=new Uint8Array(65536),jl.fill(1),jl[0]=0,jl.fill(0,1,32),jl.fill(0,127,160),jl.fill(2,4352,4448),jl[9001]=2,jl[9002]=2,jl.fill(2,11904,42192),jl[12351]=1,jl.fill(2,44032,55204),jl.fill(2,63744,64256),jl.fill(2,65040,65050),jl.fill(2,65072,65136),jl.fill(2,65280,65377),jl.fill(2,65504,65511);for(let e=0;e<kl.length;++e)jl.fill(0,kl[e][0],kl[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?jl[e]:Ml(e,Al)?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=Pl.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return Pl.createPropertyValue(0,n,r)}},Pl=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new U,this.onChange=this._onChange.event;let e=new Nl;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)}},Fl=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 Il(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 Ll=2147483647,Rl=256,zl=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>Rl)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;else{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>Ll?Ll: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>Ll?Ll: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,Ll):e}},Bl=[],Vl=class{constructor(){this._state=0,this._active=Bl,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=Bl}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=Bl,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Bl,!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`,pr(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=Bl,this._id=-1,this._state=0}}},Hl=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+=pr(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}},Ul=[],Wl=class{constructor(){this._handlers=Object.create(null),this._active=Ul,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Ul}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=Ul,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Ul,!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`,pr(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=Ul,this._ident=0}},Gl=new zl;Gl.addParam(0);var Kl=class{constructor(e){this._handler=e,this._data=``,this._params=Gl,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Gl,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=pr(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=Gl,this._data=``,this._hitLimit=!1,e));return this._params=Gl,this._data=``,this._hitLimit=!1,t}},ql=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}},Jl=160,Yl=function(){let e=new ql(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(Jl,0,2,0),e.add(Jl,8,5,8),e.add(Jl,6,0,6),e.add(Jl,11,0,11),e.add(Jl,13,13,13),e}(),Xl=class extends V{constructor(e=Yl){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 zl,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(B(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new Vl),this._dcsParser=this._register(new Wl),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:Jl)],i>>4){case 2:for(let i=n+1;;++i)if(i>=t||(r=e[i])<32||r>126&&r<Jl||++i>=t||(r=e[i])<32||r>126&&r<Jl||++i>=t||(r=e[i])<32||r>126&&r<Jl||++i>=t||(r=e[i])<32||r>126&&r<Jl){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<Jl){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<Jl){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}}},Zl=/^([\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})$/,Ql=/^[\da-f]+$/;function $l(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Zl.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),Ql.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 eu(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 tu(e,t=16){let[n,r,i]=e;return`rgb:${eu(n,t)}/${eu(r,t)}/${eu(i,t)}`}var nu={"(":0,")":1,"*":2,"+":3,"-":1,".":2},ru=131072,iu=10;function au(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 ou=5e3,su=0,cu=class extends V{constructor(e,t,n,r,i,a,o,s,c=new Xl){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 mr,this._utf8Decoder=new hr,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Zc.clone(),this._eraseAttrDataInternal=Zc.clone(),this._onRequestBell=this._register(new U),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new U),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new U),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new U),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new U),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new U),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new U),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new U),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new U),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new U),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new U),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new U),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new U),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 lu(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(G.BEL,()=>this.bell()),this._parser.setExecuteHandler(G.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(G.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(G.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(G.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(G.BS,()=>this.backspace()),this._parser.setExecuteHandler(G.HT,()=>this.tab()),this._parser.setExecuteHandler(G.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(G.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(es.IND,()=>this.index()),this._parser.setExecuteHandler(es.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(es.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Hl(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Hl(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Hl(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Hl(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Hl(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Hl(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Hl(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Hl(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Hl(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Hl(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Hl(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Hl(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 cl)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 Kl((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`),ou))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${ou} 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>ru&&(a=this._parseStack.position+ru)}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<ru&&(this._parseBuffer=new Uint32Array(Math.min(e.length,ru))),o||this._dirtyRowTracker.clearRange(),e.length>ru)for(let t=a;t<e.length;t+=ru){let a=t+ru<e.length?t+ru: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=Pl.extractWidth(t);let n=Pl.extractShouldJoin(t),m=n?Pl.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(fr(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 el&&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)}else 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=>!au(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Kl(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Hl(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(Zc));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=Pl.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(G.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(G.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(G.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(G.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(G.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,ll),this._charsetService.setgCharset(1,ll),this._charsetService.setgCharset(2,ll),this._charsetService.setgCharset(3,ll);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(`${G.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|=vr.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=Zc.fg,e.bg=Zc.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|=Zc.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Zc.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|=Zc.fg&16777215,r.bg&=-67108864,r.bg|=Zc.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${G.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${G.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(`${G.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=Zc.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(!au(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(`${G.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>iu&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>iu&&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(uu(n)){if(r===`?`)t.push({type:0,index:n});else{let e=$l(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=$l(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]);uu(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,ll),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(nu[e[0]],cl[e[1]]||ll),!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=Zc.clone(),this._eraseAttrDataInternal=Zc.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 br;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(`${G.ESC}${e}${G.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)}},lu=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&&(su=e,e=t,t=su),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};lu=er([z(0,Dr)],lu);function uu(e){return 0<=e&&e<256}var du=5e7,fu=12,pu=50,mu=class extends V{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 U),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>du)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>=fu?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>=fu)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>pu&&(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()}},hu=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)))}};hu=er([z(0,Dr)],hu);var gu=!1,_u=class extends V{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new hi),this._onBinary=this._register(new U),this.onBinary=this._onBinary.event,this._onData=this._register(new U),this.onData=this._onData.event,this._onLineFeed=this._register(new U),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new U),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new U),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new U),this._instantiationService=new Gc,this.optionsService=this._register(new vl(e)),this._instantiationService.setService(Nr,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(hl)),this._instantiationService.setService(Dr,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Jc)),this._instantiationService.setService(Mr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Cl)),this._instantiationService.setService(kr,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Ol)),this._instantiationService.setService(Or,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Pl)),this._instantiationService.setService(Fr,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Fl),this._instantiationService.setService(Ar,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(hu),this._instantiationService.setService(Pr,this._oscLinkService),this._inputHandler=this._register(new cu(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(xi.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(xi.forward(this._bufferService.onResize,this._onResize)),this._register(xi.forward(this.coreService.onData,this._onData)),this._register(xi.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 mu((e,t)=>this._inputHandler.parse(e,t))),this._register(xi.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new U),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&&!gu&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),gu=!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,pl),t=Math.max(t,ml),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(Il.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(Il(this._bufferService),!1))),this._windowsWrappingHeuristics.value=B(()=>{for(let t of e)t.dispose()})}}},vu={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 yu(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?G.ESC+`OA`:G.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?G.ESC+`OD`:G.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?G.ESC+`OC`:G.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?G.ESC+`OB`:G.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:G.DEL,e.altKey&&(i.key=G.ESC+i.key);break;case 9:if(e.shiftKey){i.key=G.ESC+`[Z`;break}i.key=G.HT,i.cancel=!0;break;case 13:i.key=e.altKey?G.ESC+G.CR:G.CR,i.cancel=!0;break;case 27:i.key=G.ESC,e.altKey&&(i.key=G.ESC+G.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`D`:t?G.ESC+`OD`:G.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`C`:t?G.ESC+`OC`:G.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`A`:t?G.ESC+`OA`:G.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?G.ESC+`[1;`+(a+1)+`B`:t?G.ESC+`OB`:G.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=G.ESC+`[2~`);break;case 46:i.key=a?G.ESC+`[3;`+(a+1)+`~`:G.ESC+`[3~`;break;case 36:i.key=a?G.ESC+`[1;`+(a+1)+`H`:t?G.ESC+`OH`:G.ESC+`[H`;break;case 35:i.key=a?G.ESC+`[1;`+(a+1)+`F`:t?G.ESC+`OF`:G.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?G.ESC+`[5;`+(a+1)+`~`:G.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?G.ESC+`[6;`+(a+1)+`~`:G.ESC+`[6~`;break;case 112:i.key=a?G.ESC+`[1;`+(a+1)+`P`:G.ESC+`OP`;break;case 113:i.key=a?G.ESC+`[1;`+(a+1)+`Q`:G.ESC+`OQ`;break;case 114:i.key=a?G.ESC+`[1;`+(a+1)+`R`:G.ESC+`OR`;break;case 115:i.key=a?G.ESC+`[1;`+(a+1)+`S`:G.ESC+`OS`;break;case 116:i.key=a?G.ESC+`[15;`+(a+1)+`~`:G.ESC+`[15~`;break;case 117:i.key=a?G.ESC+`[17;`+(a+1)+`~`:G.ESC+`[17~`;break;case 118:i.key=a?G.ESC+`[18;`+(a+1)+`~`:G.ESC+`[18~`;break;case 119:i.key=a?G.ESC+`[19;`+(a+1)+`~`:G.ESC+`[19~`;break;case 120:i.key=a?G.ESC+`[20;`+(a+1)+`~`:G.ESC+`[20~`;break;case 121:i.key=a?G.ESC+`[21;`+(a+1)+`~`:G.ESC+`[21~`;break;case 122:i.key=a?G.ESC+`[23;`+(a+1)+`~`:G.ESC+`[23~`;break;case 123:i.key=a?G.ESC+`[24;`+(a+1)+`~`:G.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=G.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=G.DEL:e.keyCode===219?i.key=G.ESC:e.keyCode===220?i.key=G.FS:e.keyCode===221&&(i.key=G.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=vu[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=G.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=G.ESC+n}else if(e.keyCode===32)i.key=G.ESC+(e.ctrlKey?G.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=G.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=G.US),e.key===`@`&&(i.key=G.NUL))}return i}var bu=0,xu=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new lc,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new lc,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||(bu=this._search(t),bu===-1)||this._getKey(this._array[bu])!==t)return!1;do if(this._array[bu]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(bu),!0;while(++bu<this._array.length&&this._getKey(this._array[bu])===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&&(bu=this._search(e),!(bu<0||bu>=this._array.length)&&this._getKey(this._array[bu])===e))do yield this._array[bu];while(++bu<this._array.length&&this._getKey(this._array[bu])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(bu=this._search(e),!(bu<0||bu>=this._array.length)&&this._getKey(this._array[bu])===e))do t(this._array[bu]);while(++bu<this._array.length&&this._getKey(this._array[bu])===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}},Su=0,Cu=0,wu=class extends V{constructor(){super(),this._decorations=new xu(e=>e?.marker.line),this._onDecorationRegistered=this._register(new U),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new U),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(B(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new Tu(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=>{Su=t.options.x??0,Cu=Su+(t.options.width??1),e>=Su&&e<Cu&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},Tu=class extends mi{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new U),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new U),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?us.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?us.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Eu=1e3,Du=class{constructor(e,t=Eu){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)}},Ou=20,ku=class extends V{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 Du(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(`
19
+ `))),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(W(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(B(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<Ou+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
20
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Ou+1&&(this._liveRegion.textContent+=ir.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})`}};ku=er([z(1,jr),z(2,Br),z(3,Hr)],ku);var Au=class extends V{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 U),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new U),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(B(()=>{di(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(W(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(W(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(W(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(W(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){this._activeLine!==e.y||this._wasResized?(this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1):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&&ju(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,di(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}}};Au=er([z(1,Vr),z(2,Hr),z(3,Dr),z(4,Kr)],Au);function ju(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 Mu=class extends _u{constructor(e={}){super(e),this._linkifier=this._register(new hi),this.browser=Ks,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new hi),this._onCursorMove=this._register(new U),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new U),this.onKey=this._onKey.event,this._onRender=this._register(new U),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new U),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new U),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new U),this.onBell=this._onBell.event,this._onFocus=this._register(new U),this._onBlur=this._register(new U),this._onA11yCharEmitter=this._register(new U),this._onA11yTabEmitter=this._register(new U),this._onWillOpen=this._register(new U),this._setup(),this._decorationService=this._instantiationService.createInstance(wu),this._instantiationService.setService(Ir,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Vs),this._instantiationService.setService(Kr,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Lr)),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(xi.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(xi.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(xi.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(xi.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(B(()=>{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=ls.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${G.ESC}]${n};${tu(r)}${ts.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=cs.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=cs.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(ku,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.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(G.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(W(this.element,`copy`,e=>{this.hasSelection()&&sr(e,this._selectionService)}));let e=e=>cr(e,this.textarea,this.coreService,this.optionsService);this._register(W(this.textarea,`paste`,e)),this._register(W(this.element,`paste`,e)),Xs?this._register(W(this.element,`mousedown`,e=>{e.button===2&&dr(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(W(this.element,`contextmenu`,e=>{dr(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ic&&this._register(W(this.element,`auxclick`,e=>{e.button===1&&ur(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(W(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(W(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(W(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(W(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(W(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(W(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(W(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(W(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`,nr.get()),ac||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(zs,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Br,this._coreBrowserService),this._register(W(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(W(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Fs,this._document,this._helperContainer),this._instantiationService.setService(zr,this._charSizeService),this._themeService=this._instantiationService.createInstance(Uc),this._instantiationService.setService(Gr,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(gs),this._instantiationService.setService(Wr,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(dc,this.rows,this.screenElement)),this._instantiationService.setService(Hr,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(ns,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Ws),this._instantiationService.setService(Vr,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Au,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(qo,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(Nc,this.element,this.screenElement,r)),this._instantiationService.setService(Ur,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(xi.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Jo,this.screenElement)),this._register(W(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(ku,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance($o,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance($o,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Ps,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(W(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(W(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=G.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){lr(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=yu(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===G.ETX||n.key===G.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)&&(Nu(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){e===this.cols&&t===this.rows?this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure():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(Zc));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(G.ESC+`[I`):this.coreService.triggerDataEvent(G.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(`${G.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(`${G.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function Nu(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Pu=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)}},Fu=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 br)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Iu=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 Fu(t)}getNullCell(){return new br}},Lu=class extends V{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new U),this.onBufferChange=this._onBufferChange.event,this._normal=new Iu(this._core.buffers.normal,`normal`),this._alternate=new Iu(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)}},Ru=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)}},zu=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}},Bu=[`cols`,`rows`],Vu=0,Hu=class extends V{constructor(e){super(),this._core=this._register(new Mu(e)),this._addonManager=this._register(new Pu),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(Bu.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 Ru(this._core),this._parser}get unicode(){return this._checkProposedApi(),new zu(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 Lu(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
21
+ `,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 nr.get()},set promptLabel(e){nr.set(e)},get tooMuchOutput(){return ir.get()},set tooMuchOutput(e){ir.set(e)}}}_verifyIntegers(...e){for(Vu of e)if(Vu===1/0||isNaN(Vu)||Vu%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Vu of e)if(Vu&&(Vu===1/0||isNaN(Vu)||Vu%1!=0||Vu<0))throw Error(`This API only accepts positive integers`)}},Uu=2,Wu=1,Gu=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(Uu,Math.floor(u/e.css.cell.width)),rows:Math.max(Wu,Math.floor(l/e.css.cell.height))}}};function Ku(e){return e.length}function qu(e,t){return t<=0||e<0?-1:Math.min(e,t-1)}function Ju(e,t,n){return qu(e===t?t:e>t?e-1:e,n)}function Yu(e,t){return Array.from({length:t},(e,t)=>t).find(t=>t!==e)??-1}function Xu(e,t){let n=e.filter(e=>!t.has(e.id));return n.find(e=>!e.workspaceMissing)??n[0]??null}function Zu(e){return!(e.key!==`Enter`||e.shiftKey||e.composing||e.maximized)}function Qu(e){return e}async function $u(e,t={}){if(!e)return`unsupported`;let n=t.clipboard===void 0?typeof navigator<`u`?navigator.clipboard??null:null:t.clipboard,r=t.execCommand??(typeof document<`u`?document.execCommand.bind(document):void 0),i=t.makeTextarea??(()=>{let e=document.createElement(`textarea`);return document.body.appendChild(e),{set value(t){e.value=t},get value(){return e.value},style:{get position(){return e.style.position},set position(t){e.style.position=t},get opacity(){return e.style.opacity},set opacity(t){e.style.opacity=t}},select:()=>e.select(),remove:()=>e.remove()}}),a=n?.writeText;if(typeof a==`function`)try{return await a.call(n,e),`copied`}catch{}let o=null;try{let t=i();return o=t,t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,t.select(),r&&r(`copy`)?`copied`:`failed`}catch{return`failed`}finally{o?.remove()}}var ed=P(`<button type=button><span class=iconbtn-glyph>`),td=P(`<button class=copybtn>`),nd=P(`<div class=overlay><div class=modal><div class=modal-head><b></b><button class=iconbtn>✕`);function rd(e){return(()=>{var t=ed(),n=t.firstChild;return Oe(t,`click`,e.onClick,!0),L(n,()=>e.icon),b(n=>{var r=`iconbtn`+(e.active?` active`:``)+(e.class?` `+e.class:``),i=e.title,a=e.style;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),n.a=ke(t,a,n.a),n},{e:void 0,t:void 0,a:void 0}),t})()}function id(e){let[t,n]=y(!1),[r,i]=y(!1),a=t=>{t.preventDefault(),t.stopPropagation(),$u(e.text??``).then(e=>{e===`unsupported`||e===`failed`?(i(!0),setTimeout(()=>i(!1),1200)):(n(!0),setTimeout(()=>n(!1),900))})};return(()=>{var n=td();return n.$$click=a,L(n,(()=>{var n=N(()=>!!t());return()=>n()?`✓`:N(()=>!!r())()?`✗`:e.label??`⧉`})()),b(()=>F(n,`title`,e.title??`copy to clipboard`)),n})()}function ad(e){return(()=>{var t=nd(),n=t.firstChild,r=n.firstChild.firstChild,i=r.nextSibling;return t.$$click=t=>t.target===t.currentTarget&&e.onClose(),L(r,()=>e.title),Oe(i,`click`,e.onClose,!0),L(n,()=>e.children,null),t})()}De([`click`]);var od={fg:void 0,bg:void 0,bold:!1,dim:!1,italic:!1,underline:!1,inverse:!1},sd=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`];function cd(e){let t=[];return e.fg&&t.push(`ansi-fg-${e.fg}`),e.bg&&t.push(`ansi-bg-${e.bg}`),e.bold&&t.push(`ansi-bold`),e.dim&&t.push(`ansi-dim`),e.italic&&t.push(`ansi-italic`),e.underline&&t.push(`ansi-underline`),e.inverse&&t.push(`ansi-inverse`),t}function ld(e,t){let n={...e};t.length===0&&(t=[0]);for(let e=0;e<t.length;e++){let r=t[e];if(r===0)n.fg=void 0,n.bg=void 0,n.bold=!1,n.dim=!1,n.italic=!1,n.underline=!1,n.inverse=!1;else if(r===1)n.bold=!0;else if(r===2)n.dim=!0;else if(r===3)n.italic=!0;else if(r===4)n.underline=!0;else if(r===7)n.inverse=!0;else if(r===21||r===22)n.bold=!1,n.dim=!1;else if(r===23)n.italic=!1;else if(r===24)n.underline=!1;else if(r===27)n.inverse=!1;else if(r>=30&&r<=37)n.fg=sd[r-30];else if(r>=90&&r<=97)n.fg=`bright-${sd[r-90]}`;else if(r===39)n.fg=void 0;else if(r>=40&&r<=47)n.bg=sd[r-40];else if(r>=100&&r<=107)n.bg=`bright-${sd[r-100]}`;else if(r===49)n.bg=void 0;else if(r===38||r===48){let i=t[e+1],a=r===38?`fg`:`bg`;i===5&&t[e+2]!==void 0?(n[a]=`ext`,e+=2):i===2&&t[e+4]!==void 0?(n[a]=`ext`,e+=4):(n[a]=`ext`,e+=1)}}return n}var ud=/\x1b\[([0-9;]*)m/;function dd(e){if(!e)return[];let t=[],n={...od},r=``,i=()=>{if(!r)return;let e=cd(n),i=t[t.length-1];i&&i.classes.join(` `)===e.join(` `)?i.text+=r:t.push({text:r,classes:e}),r=``};for(let t=0;t<e.length;t++){let a=e[t];if(a===`\x1B`){let r=e.slice(t),a=ud.exec(r);if(a){i();let e=(a[1]??``).split(`;`).filter(e=>e!==``).map(e=>Number(e)).filter(e=>Number.isFinite(e));n=ld(n,e),t+=a[0].length-1;continue}let o=/^\x1b\[[0-9;?]*[A-Za-z]/.exec(r);if(o){t+=o[0].length-1;continue}let s=/^\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/.exec(r);if(s){t+=s[0].length-1;continue}}else if(a===`\r`){if(e[t+1]===`
22
22
  `){r+=`
23
- `,t++;continue}r=``}else r+=a}return i(),t}function dd(e){return ud(e).map(e=>e.text).join(``)}function fd(e){return e.includes(`\x1B`)}var pd=400,md=new Map;function hd(e){return md.get(e)}function gd(e,t){if(md.size>=pd){let e=md.keys().next();e.done||md.delete(e.value)}md.set(e,t)}var _d=`modulepreload`,vd=function(e){return`/`+e},yd={},bd=function(e){return e.pathname.endsWith(`.css`)},xd=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=vd(t,n);let r=s(t),i=bd(r);return xd(yd,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:_d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Sd=P(`<span class=bashelapsed>running… `),Cd=P(`<span class=bashelapsed> elapsed`),wd=P(`<span class=thinktimer>`),Td=P(`<pre class="mono toolbody ansi">`),Ed=P(`<pre class="mono toolbody">`),Dd=P(`<span>`),Od=P(`<div class="toolbody shiki">`);function kd(e){let t=new Date(e.startedAt).getTime(),[n,r]=y(Date.now());w(()=>{let e=setInterval(()=>r(Date.now()),500);T(()=>clearInterval(e))});let i=()=>at(Math.max(0,n()-t));return e.inline?(()=>{var t=Sd();return t.firstChild,L(t,i,null),L(t,(()=>{var t=N(()=>!!e.timeoutMs);return()=>t()?` · timeout ${Math.round(e.timeoutMs/1e3)}s`:``})(),null),t})():(()=>{var e=Cd(),t=e.firstChild;return L(e,i,t),e})()}function Ad(e){let[t,n]=y(Date.now());w(()=>{let e=setInterval(()=>n(Date.now()),500);T(()=>clearInterval(e))});let r=()=>{if(!e.startedAt)return null;let n=Math.max(0,t()-e.startedAt);return n>864e5?null:at(n)};return A(M,{get when(){return r()!==null},fallback:null,get children(){var e=wd();return L(e,r),e}})}function jd(e){let t=S(()=>fd(e.text)?ud(e.text):null);return A(M,{get when(){return t()},get fallback(){return(()=>{var t=Ed();return L(t,()=>e.text),t})()},get children(){var e=Td();return L(e,A(j,{get each(){return t()},children:e=>e.classes.length?(()=>{var t=Dd();return L(t,()=>e.text),b(()=>I(t,e.classes.join(` `))),t})():e.text})),e}})}function Md(e){let t=()=>e.lang?`${e.lang}::${e.text.length}::${e.text}`:``,[n,r]=y((e.lang?hd(t()):void 0)??``);return x(()=>{let n=t(),i=e.text,a=e.lang;if(!a||!i.trim()){r(``);return}let o=hd(n);o===void 0?(async()=>{try{let{highlightLangChunks:e}=await J(async()=>{let{highlightLangChunks:e}=await Promise.resolve().then(()=>Zb);return{highlightLangChunks:e}},void 0),o=``;for await(let t of e(a,i))o+=t;if(!o)return;gd(n,o),t()===n&&r(o)}catch{}})():r(o)}),A(M,{get when(){return!!n()},get fallback(){return(()=>{var t=Ed();return L(t,()=>e.text),t})()},get children(){var e=Od();return b(()=>e.innerHTML=n()),e}})}var Nd=[{key:`dark`,label:`Dark`,mode:`dark`,sw:[`#1a1c22`,`#2b2e39`,`#5865f2`]},{key:`midnight`,label:`Midnight`,mode:`dark`,sw:[`#0d0f18`,`#252a42`,`#8b7cf7`]},{key:`tea`,label:`Milk Tea`,mode:`dark`,sw:[`#241c16`,`#493b2d`,`#d98e32`]},{key:`coffee`,label:`Coffee`,mode:`dark`,sw:[`#191410`,`#403527`,`#c68a4b`]},{key:`matcha`,label:`Matcha`,mode:`dark`,sw:[`#1b2217`,`#3c4a33`,`#8db64e`]},{key:`matrix`,label:`Matrix`,mode:`dark`,sw:[`#060a06`,`#18301d`,`#2fd558`]},{key:`sunset`,label:`Sunset`,mode:`dark`,sw:[`#1c1422`,`#452f52`,`#f2784b`]},{key:`light`,label:`Light`,mode:`light`,sw:[`#eceef4`,`#ffffff`,`#4757d8`]},{key:`strawberry`,label:`Strawberry`,mode:`light`,sw:[`#fbe4ea`,`#fffafb`,`#e05575`]},{key:`ramune`,label:`Ramune`,mode:`light`,sw:[`#ddeff7`,`#fbfeff`,`#1d86ae`]}];async function Y(e,t){let n=localStorage.getItem(`teapot.token`),r=new Headers(t?.headers);n&&!r.has(`authorization`)&&r.set(`authorization`,`Bearer ${n}`);let i=await fetch(e,{...t,headers:r});if(!i.ok){i.status===401&&window.dispatchEvent(new CustomEvent(`teapot:unauthorized`));let t=null;try{t=await i.json()}catch{}let n=(t&&typeof t==`object`&&`error`in t?String(t.error):``)||`${e}: HTTP ${i.status}`;throw Object.assign(Error(n),{payload:t})}return i.json()}var Pd=.82,Fd=.9,Id=e=>{if(Number.isFinite(e))return e<0?0:e>1?1:e};function Ld(e,t){let n=Id(e??Pd)??Pd;return{dim:Id(t??Fd)??Fd,panel:Math.max(0,Math.min(1,n-.05)),raised:Math.max(0,Math.min(1,n+.06))}}function Rd(e,t){return`color-mix(in srgb, ${e} ${Math.round((Id(t)??Fd)*100)}%, transparent)`}function zd(e,t){let n=e?.trim();if(n)return`url("${(t?Xt(n,t)??n:n).replace(/"/g,`%22`)}")`}var Bd=P(`<div class="content mdpreview todopane">`),Vd=P(`<textarea id=todo-input class="mono todopane-edit"rows=5 placeholder="- [ ] task one
24
- - [ ] task two"title="shared with the agent \\u2014 it may check items off via set_todo; your unsaved edits win until you save">`),Hd=P(`<div class="filepreview shikiwrap">`),Ud=P(`<div class=muted style=padding-top:6px;font-size:11.5px>… truncated (first 100 KB)`),Wd=P(`<div class=muted style=padding:8px;font-size:12px>✨ highlighting <!>…`),Gd=P(`<pre class=mono style=max-height:62vh;overflow:auto;white-space:pre-wrap;margin:0>`),Kd=P(`<label><input type=number min=0>`),qd=P(`<span class=tprev-bg>`),Jd=P(`<span class=tprev-veil>`),Yd=P(`<span class=tprev><span class=tprev-nav></span><span class=tprev-head></span><span class=tprev-panel></span><span class=tprev-line style=left:32%;top:38%;width:34%;opacity:0.85></span><span class=tprev-line style=left:32%;top:50%;width:22%></span><span class=tprev-line style=left:32%;top:62%;width:40%></span><span class=tprev-dot style=left:6%;top:20%></span><span class=tprev-dot style=left:6%;top:40%></span><span class=tprev-dot style=left:6%;top:60%></span><span class=tprev-dot style=left:70%;top:12%></span><span class=tprev-dot style=left:84%;top:12%>`);function Xd(e){let t=Number(localStorage.getItem(`teapot.todoH`)??``),[n,r]=y(Number.isFinite(t)&&t>0?t:0),i=()=>n()>0?{height:`${n()}px`}:void 0,a=e=>{let t=new ResizeObserver(()=>{let t=e.offsetHeight;t<=0||r(e=>Math.abs(e-t)<1?e:(localStorage.setItem(`teapot.todoH`,String(t)),t))});t.observe(e),T(()=>t.disconnect())};return A(M,{get when(){return e.preview},get fallback(){return(()=>{var t=Vd();return t.$$input=t=>e.onDraft(t.currentTarget.value),je(a,t),b(e=>ke(t,i(),e)),b(()=>t.value=e.draft),t})()},get children(){var t=Bd();return je(a,t),b(n=>{var r=i(),a=it(e.draft);return n.e=ke(t,r,n.e),a!==n.t&&(t.innerHTML=n.t=a),n},{e:void 0,t:void 0}),t}})}function Zd(e){return[A(M,{get when(){return e.html},get fallback(){return N(()=>!!e.pending)()?(()=>{var t=Wd(),n=t.firstChild.nextSibling;return n.nextSibling,L(t,()=>e.path.split(`/`).pop(),n),t})():(()=>{var t=Gd();return L(t,()=>e.content),t})()},get children(){var t=Hd();return b(()=>t.innerHTML=e.html),t}}),A(M,{get when(){return e.truncated},get children(){return Ud()}})]}function Qd(e){return(()=>{var t=Kd(),n=t.firstChild;return L(t,()=>e.label,n),n.$$input=t=>e.onValue(Number(t.currentTarget.value)),b(()=>F(t,`title`,e.hint)),b(()=>n.value=e.value),t})()}function $d(e){let t=()=>e.palette,n=()=>Ld(e.surfaceAlpha,e.backgroundDim);return(()=>{var r=Yd(),i=r.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling,d=u.nextSibling,f=d.nextSibling,p=f.nextSibling,m=p.nextSibling;return L(r,A(M,{get when(){return e.backgroundImage},get children(){return[(()=>{var t=qd();return b(n=>Ae(t,`background-image`,zd(e.backgroundImage,Jt))),t})(),(()=>{var e=Jd();return b(r=>Ae(e,`background`,Rd(t().bgDark,n().dim))),e})()]}}),i),b(h=>{var g=t().bgDark,_=t().bgDarkest,v=e.backgroundImage?String(n().panel):`1`,ee=t().bgDarkest,y=e.backgroundImage?String(n().panel):`1`,b=t().bgMid,x=e.backgroundImage?String(n().raised):`1`,S=t().fg,C=t().acc,w=t().dim,T=t().acc,E=t().dim,te=t().ok,D=t().warn,ne=t().err;return g!==h.e&&Ae(r,`background`,h.e=g),_!==h.t&&Ae(i,`background`,h.t=_),v!==h.a&&Ae(i,`opacity`,h.a=v),ee!==h.o&&Ae(a,`background`,h.o=ee),y!==h.i&&Ae(a,`opacity`,h.i=y),b!==h.n&&Ae(o,`background`,h.n=b),x!==h.s&&Ae(o,`opacity`,h.s=x),S!==h.h&&Ae(s,`background`,h.h=S),C!==h.r&&Ae(c,`background`,h.r=C),w!==h.d&&Ae(l,`background`,h.d=w),T!==h.l&&Ae(u,`background`,h.l=T),E!==h.u&&Ae(d,`background`,h.u=E),te!==h.c&&Ae(f,`background`,h.c=te),D!==h.w&&Ae(p,`background`,h.w=D),ne!==h.m&&Ae(m,`background`,h.m=ne),h},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0}),r})()}De([`input`]);var[ef,tf]=y(``),nf,rf=e=>{tf(e),clearTimeout(nf),nf=setTimeout(()=>tf(``),3200)};function af(e,t){if(!t.startsWith(`blobs/`)||!e)return t;let n=t.slice(6);return`/api/agents/${encodeURIComponent(e)}/blobs/${encodeURIComponent(n)}`}var of=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function sf(e){return cf(e)}function cf(e){return Array.isArray(e)?lf(e):e instanceof RegExp?e:typeof e==`object`?uf(e):e}function lf(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=cf(e[n]);return t}function uf(e){let t={};for(let n in e)t[n]=cf(e[n]);return t}function df(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function ff(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?ff(e.substring(0,e.length-1)):e.substr(~t+1)}var pf=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,mf=class{static hasCaptures(e){return e!==null&&(pf.lastIndex=0,pf.test(e))}static replaceCaptures(e,t,n){return e.replace(pf,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function hf(e,t){return e<t?-1:+(e>t)}function gf(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=hf(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function _f(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function vf(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var yf=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},bf=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Tf(e),t)}static createFromParsedTheme(e,t){return Of(e,t)}_cachedMatchRoot=new yf(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>Sf(e.parent,t.parentScopes));return n?new wf(n.fontStyle,n.foreground,n.background):null}},xf=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e||this.parent!==null&&this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function Sf(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!Cf(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Cf(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var wf=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Tf(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8}}let s=null;typeof i.settings.foreground==`string`&&_f(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&_f(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new Ef(l,u,e,o,s,c)}}return n}var Ef=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},Df=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(Df||{});function Of(e,t){e.sort((e,t)=>{let n=hf(e.scope,t.scope);return n!==0||(n=gf(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new kf(t),o=new wf(n,a.getId(r),a.getId(i)),s=new Mf(new jf(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new bf(a,o,s)}var kf=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Af=Object.freeze([]),jf=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||Af,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},Mf=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),jf.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null)this._mainRule.acceptOverwrite(e,n,r,i);else{for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(gf(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new jf(e,t,n,r,i))}}},Nf=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=+!!e.containsBalancedBrackets(t),d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=Ff(r)),i!==null&&(u=+!!i),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c|0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function Pf(e){return e}function Ff(e){return e}function If(e,t){let n=[],r=Rf(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(Lf(i)){let e=[];do e.push(i),i=r.next();while(Lf(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function Lf(e){return!!e&&!!e.match(/[\w\.:]+/)}function Rf(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function zf(e){typeof e.dispose==`function`&&e.dispose()}var Bf=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Vf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Hf=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Uf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Bf(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Hf;for(let n of e)Wf(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof Bf){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function Wf(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof Bf?Kf({baseGrammar:a,selfGrammar:i},r):Gf(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new Bf(e))}function Gf(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];qf([r],t,n)}}function Kf(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&qf(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&qf(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function qf(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?df({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&qf(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=$f(i);switch(a.kind){case 0:Kf({...t,selfGrammar:t.baseGrammar},n);break;case 1:Kf(t,n);break;case 2:Gf(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?Gf(a.ruleName,i,n):Kf(i,n)}else a.kind===4?n.add(new Vf(a.scopeName,a.ruleName)):n.add(new Bf(a.scopeName))}}}var Jf=class{kind=0},Yf=class{kind=1},Xf=class{constructor(e){this.ruleName=e}kind=2},Zf=class{constructor(e){this.scopeName=e}kind=3},Qf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function $f(e){if(e===`$base`)return new Jf;if(e===`$self`)return new Yf;let t=e.indexOf(`#`);return t===-1?new Zf(e):t===0?new Xf(e.substring(1)):new Qf(e.substring(0,t),e.substring(t+1))}var ep=/\\(\d+)/,tp=/\\(\d+)/g,np=-1,rp=-2;function ip(e){return e}function ap(e){return e}var op=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=mf.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=mf.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ff(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:mf.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:mf.replaceCaptures(this._contentName,e,t)}},sp=class extends op{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},cp=class extends op{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new pp(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new mp,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},lp=class extends op{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new mp,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},up=class extends op{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new pp(i,this.id),this.beginCaptures=a,this._end=new pp(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new mp;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},dp=class extends op{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new pp(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new pp(o,rp),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new mp;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new mp,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},fp=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new sp(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new cp(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=df({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new lp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new dp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new up(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=$f(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l){if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository)}}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof lp||e instanceof up||e instanceof dp)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},pp=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this._anchorCache=this.hasAnchor?this._buildAnchorCache():null,this.ruleId=t,this.hasBackReferences=typeof this.source==`string`&&ep.test(this.source)}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return tp.lastIndex=0,this.source.replace(tp,(e,t)=>vf(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},mp=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new hp(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new hp(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},hp=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
25
- `)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},gp=class{constructor(e,t){this.languageId=e,this.tokenType=t}},_p=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new gp(e,8),this._embeddedLanguagesMatcher=new vp(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new gp(0,0);_getBasicScopeAttributes=new yf(e=>new gp(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},vp=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>vf(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var yp=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function bp(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=xp(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new yp(i,!0);f()}return new yp(i,!1);function f(){let o=Sp(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===np){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),Dp(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof up){let r=o;Dp(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof dp){let r=o;Dp(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(Dp(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function xp(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof dp&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=Ep(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==rp){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),Dp(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function Sp(e,t,n,r,i,a){let o=Cp(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=wp(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function Cp(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=Tp(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function wp(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=Tp(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function Tp(e,t,n,r,i){return{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function Ep(e,t,n,r,i){return{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function Dp(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));bp(e,p,n&&d.start===0,d.start,f,i,!1,0),zf(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new Op(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var Op=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function kp(e,t,n,r,i,a,o,s){return new Np(e,t,n,r,i,a,o,s)}function Ap(e,t,n,r,i){let a=If(t,jp),o=fp.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function jp(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(Mp(t[r],e))return n=r+1,!0;return!1})}function Mp(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var Np=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new _p(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=Pp(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=If(e,jp);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)Ap(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&Ap(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(ip(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[ap(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Pp(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=fp.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===Ip.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=Nf.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?Fp.createRootAndLookUpScopeName(a,r,this):Fp.createRoot(`unknown`,r),t=new Ip(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
26
- `;let a=this.createOnigString(e),o=a.content.length,s=new Rp(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=bp(this,a,i,0,t,s,!0,r);return zf(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function Pp(e,t){return e=sf(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Fp=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=xf.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new xf(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new xf(null,t),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(n,i,o);return new e(null,a,s)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(1)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),Nf.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(t.tokenAttributes,i,o);return new e(t,a,s)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},Ip=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t!==null&&e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?Fp.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(1)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:ap(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=Fp.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,ip(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Fp.fromExtension(r,n.contentNameScopesList))}},Lp=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):If(e,jp).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>If(e,jp).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Rp=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=Nf.set(n,0,Pf(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=Nf.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},zp=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,kp(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},Bp=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new zp(bf.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(bf.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new Lp(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new Uf(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},Vp=Ip.NULL;function Hp(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Up(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Wp(e){return Array.isArray(e)?e:[e]}async function Gp(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function Kp(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function qp(e){return e===`ansi`||Kp(e)}function Jp(e){return e===`none`}function Yp(e){return Jp(e)}var Xp=/(\r?\n)/g;function Zp(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(Xp),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var Qp={light:`#333333`,dark:`#bbbbbb`},$p={light:`#fffffe`,dark:`#1e1e1e`},em=`__shiki_resolved`;function tm(e){if(e?.[em])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qp.light:Qp.dark,n||=t.type===`light`?$p.light:$p.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,em,{enumerable:!1,writable:!1,value:!0}),t}async function nm(e){return[...new Set((await Promise.all(e.filter(e=>!qp(e)).map(async e=>await Gp(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function rm(e){return(await Promise.all(e.map(async e=>Yp(e)?null:tm(await Gp(e))))).filter(e=>!!e)}function im(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new of(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var am=class extends Bp{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tm(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=bf.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=im(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._syncRegistry?._grammars?.get(e.scopeName)?.dispose(),this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new of(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},om=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},sm=0;function cm(e){sm+=1,e.warnings!==!1&&sm>=10&&sm%10==0&&console.warn(`[Shiki] ${sm} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new of("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tm),i=new am(new om(e.engine,n),r,n,e.langAlias),a;function o(t){return im(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new of(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new of(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nm(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rm(e))}function g(){if(t)throw new of(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--sm)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function lm(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rm(e.themes||[]),nm(e.langs||[]),e.engine]);return cm({...e,themes:t,langs:n,engine:r})}var um=new WeakMap;function dm(e,t){um.set(e,t)}function fm(e){return um.get(e)}var pm=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(Wp(n).map(e=>[e,Vp])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return mm(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function mm(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function hm(e,t){if(!(e instanceof pm))throw new of(`Invalid grammar state`);return e.getInternalStack(t)}var gm=/,/,_m=/ /;function vm(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(Kp(e.resolveLangAlias(n.lang||`text`))||Jp(r))return Zp(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:i,colorMap:a}=e.setTheme(r),o=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new of(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new of(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return bm(t,o,i,a,n)}function ym(...e){if(e.length===2)return fm(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(Kp(i)||Jp(a))throw new of(`Plain language does not have grammar state`);if(i===`ansi`)throw new of(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new pm(xm(n,c,o,s,r).stateStack,c.name,o.name)}function bm(e,t,n,r,i){let a=xm(e,t,n,r,i),o=new pm(a.stateStack,t.name,n.name);return dm(a.tokens,o),a.tokens}function xm(e,t,n,r,i){let a=Hp(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=Zp(e),u=i.grammarState?hm(i.grammarState,n.name)??Vp:i.grammarContextCode==null?Vp:xm(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=Up(r[Nf.getForeground(s)],a),u=Nf.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=Nf.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(gm).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(_m))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?Sm(t.scopes):Cm(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function Sm(e){return e.map(e=>({scopeName:e}))}function Cm(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:Em(e,i,t.slice(0,r))}}return n}function wm(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function Tm(e,t,n){if(!wm(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)wm(e[r],n[i])&&--r,--i;return r===-1}function Em(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(Tm(e,t,n)){r.push(a);break}return r}function Dm(e,t,n,r=vm){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:fm(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=Om(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new pm(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&dm(s,c),s}function Om(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var km=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],Am=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};Am.prototype.normal={},Am.prototype.property={},Am.prototype.space=void 0;function jm(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new Am(n,r,t)}function Mm(e){return e.toLowerCase()}var Nm=class{constructor(e,t){this.attribute=t,this.property=e}};Nm.prototype.attribute=``,Nm.prototype.booleanish=!1,Nm.prototype.boolean=!1,Nm.prototype.commaOrSpaceSeparated=!1,Nm.prototype.commaSeparated=!1,Nm.prototype.defined=!1,Nm.prototype.mustUseProperty=!1,Nm.prototype.number=!1,Nm.prototype.overloadedBoolean=!1,Nm.prototype.property=``,Nm.prototype.spaceSeparated=!1,Nm.prototype.space=void 0;var Pm=t({boolean:()=>X,booleanish:()=>Im,commaOrSpaceSeparated:()=>zm,commaSeparated:()=>Rm,number:()=>Z,overloadedBoolean:()=>Lm,spaceSeparated:()=>Q}),Fm=0,X=Bm(),Im=Bm(),Lm=Bm(),Z=Bm(),Q=Bm(),Rm=Bm(),zm=Bm();function Bm(){return 2**++Fm}var Vm=Object.keys(Pm),Hm=class extends Nm{constructor(e,t,n,r){let i=-1;if(super(e,t),Um(this,`space`,r),typeof n==`number`)for(;++i<Vm.length;){let e=Vm[i];Um(this,Vm[i],(n&Pm[e])===Pm[e])}}};Hm.prototype.defined=!0;function Um(e,t,n){n&&(e[t]=n)}function Wm(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new Hm(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Mm(r)]=r,n[Mm(a.attribute)]=r}return new Am(t,n,e.space)}var Gm=Wm({properties:{ariaActiveDescendant:null,ariaAtomic:Im,ariaAutoComplete:null,ariaBusy:Im,ariaChecked:Im,ariaColCount:Z,ariaColIndex:Z,ariaColSpan:Z,ariaControls:Q,ariaCurrent:null,ariaDescribedBy:Q,ariaDetails:null,ariaDisabled:Im,ariaDropEffect:Q,ariaErrorMessage:null,ariaExpanded:Im,ariaFlowTo:Q,ariaGrabbed:Im,ariaHasPopup:null,ariaHidden:Im,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Q,ariaLevel:Z,ariaLive:null,ariaModal:Im,ariaMultiLine:Im,ariaMultiSelectable:Im,ariaOrientation:null,ariaOwns:Q,ariaPlaceholder:null,ariaPosInSet:Z,ariaPressed:Im,ariaReadOnly:Im,ariaRelevant:null,ariaRequired:Im,ariaRoleDescription:Q,ariaRowCount:Z,ariaRowIndex:Z,ariaRowSpan:Z,ariaSelected:Im,ariaSetSize:Z,ariaSort:null,ariaValueMax:Z,ariaValueMin:Z,ariaValueNow:Z,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function Km(e,t){return t in e?e[t]:t}function qm(e,t){return Km(e,t.toLowerCase())}var Jm=Wm({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:Rm,acceptCharset:Q,accessKey:Q,action:null,allow:null,allowFullScreen:X,allowPaymentRequest:X,allowUserMedia:X,alpha:X,alt:null,as:null,async:X,autoCapitalize:null,autoComplete:Q,autoFocus:X,autoPlay:X,blocking:Q,capture:null,charSet:null,checked:X,cite:null,className:Q,closedBy:null,colorSpace:null,cols:Z,colSpan:Z,command:null,commandFor:null,content:null,contentEditable:Im,controls:X,controlsList:Q,coords:Z|Rm,crossOrigin:null,data:null,dateTime:null,decoding:null,default:X,defer:X,dir:null,dirName:null,disabled:X,download:Lm,draggable:Im,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:X,formTarget:null,headers:Q,height:Z,hidden:Lm,high:Z,href:null,hrefLang:null,htmlFor:Q,httpEquiv:Q,id:null,imageSizes:null,imageSrcSet:null,inert:X,inputMode:null,integrity:null,is:null,isMap:X,itemId:null,itemProp:Q,itemRef:Q,itemScope:X,itemType:Q,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:X,low:Z,manifest:null,max:null,maxLength:Z,media:null,method:null,min:null,minLength:Z,multiple:X,muted:X,name:null,nonce:null,noModule:X,noValidate:X,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:X,optimum:Z,pattern:null,ping:Q,placeholder:null,playsInline:X,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:X,referrerPolicy:null,rel:Q,required:X,reversed:X,rows:Z,rowSpan:Z,sandbox:Q,scope:null,scoped:X,seamless:X,selected:X,shadowRootClonable:X,shadowRootCustomElementRegistry:X,shadowRootDelegatesFocus:X,shadowRootMode:null,shadowRootSerializable:X,shape:null,size:Z,sizes:null,slot:null,span:Z,spellCheck:Im,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Z,step:null,style:null,tabIndex:Z,target:null,title:null,translate:null,type:null,typeMustMatch:X,useMap:null,value:Im,width:Z,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Q,axis:null,background:null,bgColor:null,border:Z,borderColor:null,bottomMargin:Z,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:X,declare:X,event:null,face:null,frame:null,frameBorder:null,hSpace:Z,leftMargin:Z,link:null,longDesc:null,lowSrc:null,marginHeight:Z,marginWidth:Z,noResize:X,noHref:X,noShade:X,noWrap:X,object:null,profile:null,prompt:null,rev:null,rightMargin:Z,rules:null,scheme:null,scrolling:Im,standby:null,summary:null,text:null,topMargin:Z,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Z,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:X,disablePictureInPicture:X,disableRemotePlayback:X,exportParts:Rm,part:Q,prefix:null,property:null,results:Z,security:null,unselectable:null},space:`html`,transform:qm}),Ym=Wm({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:zm,accentHeight:Z,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Z,amplitude:Z,arabicForm:null,ascent:Z,attributeName:null,attributeType:null,azimuth:Z,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Z,by:null,calcMode:null,capHeight:Z,className:Q,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Z,diffuseConstant:Z,direction:null,display:null,dur:null,divisor:Z,dominantBaseline:null,download:X,dx:null,dy:null,edgeMode:null,editable:null,elevation:Z,enableBackground:null,end:null,event:null,exponent:Z,externalResourcesRequired:null,fill:null,fillOpacity:Z,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Rm,g2:Rm,glyphName:Rm,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Z,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Z,horizOriginX:Z,horizOriginY:Z,id:null,ideographic:Z,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Z,k:Z,k1:Z,k2:Z,k3:Z,k4:Z,kernelMatrix:zm,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Z,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Z,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Z,overlineThickness:Z,paintOrder:null,panose1:null,path:null,pathLength:Z,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Q,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Z,pointsAtY:Z,pointsAtZ:Z,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:zm,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:zm,rev:zm,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:zm,requiredFeatures:zm,requiredFonts:zm,requiredFormats:zm,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Z,specularExponent:Z,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Z,strikethroughThickness:Z,string:null,stroke:null,strokeDashArray:zm,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Z,strokeOpacity:Z,strokeWidth:null,style:null,surfaceScale:Z,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:zm,tabIndex:Z,tableValues:null,target:null,targetX:Z,targetY:Z,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:zm,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Z,underlineThickness:Z,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Z,values:null,vAlphabetic:Z,vMathematical:Z,vectorEffect:null,vHanging:Z,vIdeographic:Z,version:null,vertAdvY:Z,vertOriginX:Z,vertOriginY:Z,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Z,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:Km}),Xm=Wm({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),Zm=Wm({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:qm}),Qm=Wm({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),$m=/[A-Z]/g,eh=/-[a-z]/g,th=/^data[-\w.:]+$/i;function nh(e,t){let n=Mm(t),r=t,i=Nm;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&th.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(eh,ih);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!eh.test(e)){let n=e.replace($m,rh);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Hm}return new i(r,t)}function rh(e){return`-`+e.toLowerCase()}function ih(e){return e.charAt(1).toUpperCase()}var ah=jm([Gm,Jm,Xm,Zm,Qm],`html`),oh=jm([Gm,Ym,Xm,Zm,Qm],`svg`),sh={}.hasOwnProperty;function ch(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&sh.call(t,e)){let n=String(t[e]);i=sh.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var lh=/["&'<>`]/g,uh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dh=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,fh=/[|\\{}()[\]^$+*?.]/g,ph=new WeakMap;function mh(e,t){return e=e.replace(t.subset?hh(t.subset):lh,r),t.subset||t.escapeOnly?e:e.replace(uh,n).replace(dh,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function hh(e){let t=ph.get(e);return t||(t=gh(e),ph.set(e,t)),t}function gh(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(fh,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var _h=/[\dA-Fa-f]/;function vh(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!_h.test(String.fromCharCode(t))?r:r+`;`}var yh=/\d/;function bh(e,t,n){let r=`&#`+String(e);return n&&t&&!yh.test(String.fromCharCode(t))?r:r+`;`}var xh=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Sh={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},Ch=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],wh={}.hasOwnProperty,Th={},Eh;for(Eh in Sh)wh.call(Sh,Eh)&&(Th[Sh[Eh]]=Eh);var Dh=/[^\dA-Za-z]/;function Oh(e,t,n,r){let i=String.fromCharCode(e);if(wh.call(Th,i)){let e=Th[i],a=`&`+e;return n&&xh.includes(e)&&!Ch.includes(e)&&(!r||t&&t!==61&&Dh.test(String.fromCharCode(t)))?a:a+`;`}return``}function kh(e,t,n){let r=vh(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Oh(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=bh(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function Ah(e,t){return mh(e,Object.assign({format:kh},t))}var jh=/^>|^->|<!--|-->|--!>|<!-$/g,Mh=[`>`],Nh=[`<`,`>`];function Ph(e,t,n,r){return r.settings.bogusComments?`<?`+Ah(e.value,Object.assign({},r.settings.characterReferences,{subset:Mh}))+`>`:`<!--`+e.value.replace(jh,i)+`-->`;function i(e){return Ah(e,Object.assign({},r.settings.characterReferences,{subset:Nh}))}}function Fh(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}function Ih(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Lh(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function Rh(e){return e.join(` `).trim()}var zh=/[ \t\n\f\r]/g;function Bh(e){return typeof e==`object`?e.type===`text`&&Vh(e.value):Vh(e)}function Vh(e){return e.replace(zh,``)===``}var Hh=Gh(1),Uh=Gh(-1),Wh=[];function Gh(e){return t;function t(t,n,r){let i=t?t.children:Wh,a=(n||0)+e,o=i[a];if(!r)for(;o&&Bh(o);)a+=e,o=i[a];return o}}var Kh={}.hasOwnProperty;function qh(e){return t;function t(t,n,r){return Kh.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var Jh=qh({body:Zh,caption:Yh,colgroup:Yh,dd:tg,dt:eg,head:Yh,html:Xh,li:$h,optgroup:rg,option:ig,p:Qh,rp:ng,rt:ng,tbody:og,td:lg,tfoot:sg,th:lg,thead:ag,tr:cg});function Yh(e,t,n){let r=Hh(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&Bh(r.value.charAt(0)))}function Xh(e,t,n){let r=Hh(n,t);return!r||r.type!==`comment`}function Zh(e,t,n){let r=Hh(n,t);return!r||r.type!==`comment`}function Qh(e,t,n){let r=Hh(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||n.type!==`element`||n.tagName!==`a`&&n.tagName!==`audio`&&n.tagName!==`del`&&n.tagName!==`ins`&&n.tagName!==`map`&&n.tagName!==`noscript`&&n.tagName!==`video`}function $h(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&r.tagName===`li`}function eg(e,t,n){let r=Hh(n,t);return!(!r||r.type!==`element`||r.tagName!==`dt`&&r.tagName!==`dd`)}function tg(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function ng(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function rg(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function ig(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function ag(e,t,n){let r=Hh(n,t);return!(!r||r.type!==`element`||r.tagName!==`tbody`&&r.tagName!==`tfoot`)}function og(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function sg(e,t,n){return!Hh(n,t)}function cg(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function lg(e,t,n){let r=Hh(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var ug=qh({body:pg,colgroup:mg,head:fg,html:dg,tbody:hg});function dg(e){let t=Hh(e,-1);return!t||t.type!==`comment`}function fg(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function pg(e){let t=Hh(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&Bh(t.value.charAt(0)))&&(t.type!==`element`||t.tagName!==`meta`&&t.tagName!==`link`&&t.tagName!==`script`&&t.tagName!==`style`&&t.tagName!==`template`)}function mg(e,t,n){let r=Uh(n,t),i=Hh(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&Jh(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function hg(e,t,n){let r=Uh(n,t),i=Hh(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&Jh(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var gg={name:[[`
23
+ `,t++;continue}r=``}else r+=a}return i(),t}function fd(e){return dd(e).map(e=>e.text).join(``)}function pd(e){return e.includes(`\x1B`)}var md=400,hd=new Map;function gd(e){return hd.get(e)}function _d(e,t){if(hd.size>=md){let e=hd.keys().next();e.done||hd.delete(e.value)}hd.set(e,t)}var vd=`modulepreload`,yd=function(e){return`/`+e},bd={},xd=function(e){return e.pathname.endsWith(`.css`)},Sd=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=yd(t,n);let r=s(t),i=xd(r);return Sd(bd,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:vd,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Cd=P(`<span class=bashelapsed>running… `),wd=P(`<span class=bashelapsed> elapsed`),Td=P(`<span class=thinktimer>`),Ed=P(`<pre class="mono toolbody ansi">`),Dd=P(`<pre class="mono toolbody">`),Od=P(`<span>`),kd=P(`<div class="toolbody shiki">`);function Ad(e){let t=new Date(e.startedAt).getTime(),[n,r]=y(Date.now());w(()=>{let e=setInterval(()=>r(Date.now()),500);T(()=>clearInterval(e))});let i=()=>at(Math.max(0,n()-t));return e.inline?(()=>{var t=Cd();return t.firstChild,L(t,i,null),L(t,(()=>{var t=N(()=>!!e.timeoutMs);return()=>t()?` · timeout ${Math.round(e.timeoutMs/1e3)}s`:``})(),null),t})():(()=>{var e=wd(),t=e.firstChild;return L(e,i,t),e})()}function jd(e){let[t,n]=y(Date.now());w(()=>{let e=setInterval(()=>n(Date.now()),500);T(()=>clearInterval(e))});let r=()=>{if(!e.startedAt)return null;let n=Math.max(0,t()-e.startedAt);return n>864e5?null:at(n)};return A(M,{get when(){return r()!==null},fallback:null,get children(){var e=Td();return L(e,r),e}})}function Md(e){let t=S(()=>pd(e.text)?dd(e.text):null);return A(M,{get when(){return t()},get fallback(){return(()=>{var t=Dd();return L(t,()=>e.text),t})()},get children(){var e=Ed();return L(e,A(j,{get each(){return t()},children:e=>e.classes.length?(()=>{var t=Od();return L(t,()=>e.text),b(()=>I(t,e.classes.join(` `))),t})():e.text})),e}})}function Nd(e){let t=()=>e.lang?`${e.lang}::${e.text.length}::${e.text}`:``,[n,r]=y((e.lang?gd(t()):void 0)??``);return x(()=>{let n=t(),i=e.text,a=e.lang;if(!a||!i.trim()){r(``);return}let o=gd(n);o===void 0?(async()=>{try{let{highlightLangChunks:e}=await J(async()=>{let{highlightLangChunks:e}=await Promise.resolve().then(()=>Qb);return{highlightLangChunks:e}},void 0),o=``;for await(let t of e(a,i))o+=t;if(!o)return;_d(n,o),t()===n&&r(o)}catch{}})():r(o)}),A(M,{get when(){return!!n()},get fallback(){return(()=>{var t=Dd();return L(t,()=>e.text),t})()},get children(){var e=kd();return b(()=>e.innerHTML=n()),e}})}var Pd=[{key:`dark`,label:`Dark`,mode:`dark`,sw:[`#1a1c22`,`#2b2e39`,`#5865f2`]},{key:`midnight`,label:`Midnight`,mode:`dark`,sw:[`#0d0f18`,`#252a42`,`#8b7cf7`]},{key:`tea`,label:`Milk Tea`,mode:`dark`,sw:[`#241c16`,`#493b2d`,`#d98e32`]},{key:`coffee`,label:`Coffee`,mode:`dark`,sw:[`#191410`,`#403527`,`#c68a4b`]},{key:`matcha`,label:`Matcha`,mode:`dark`,sw:[`#1b2217`,`#3c4a33`,`#8db64e`]},{key:`matrix`,label:`Matrix`,mode:`dark`,sw:[`#060a06`,`#18301d`,`#2fd558`]},{key:`sunset`,label:`Sunset`,mode:`dark`,sw:[`#1c1422`,`#452f52`,`#f2784b`]},{key:`light`,label:`Light`,mode:`light`,sw:[`#eceef4`,`#ffffff`,`#4757d8`]},{key:`strawberry`,label:`Strawberry`,mode:`light`,sw:[`#fbe4ea`,`#fffafb`,`#e05575`]},{key:`ramune`,label:`Ramune`,mode:`light`,sw:[`#ddeff7`,`#fbfeff`,`#1d86ae`]}];async function Y(e,t){let n=localStorage.getItem(`teapot.token`),r=new Headers(t?.headers);n&&!r.has(`authorization`)&&r.set(`authorization`,`Bearer ${n}`);let i=await fetch(e,{...t,headers:r});if(!i.ok){i.status===401&&window.dispatchEvent(new CustomEvent(`teapot:unauthorized`));let t=null;try{t=await i.json()}catch{}let n=(t&&typeof t==`object`&&`error`in t?String(t.error):``)||`${e}: HTTP ${i.status}`;throw Object.assign(Error(n),{payload:t})}return i.json()}var Fd=.82,Id=.9,Ld=e=>{if(Number.isFinite(e))return e<0?0:e>1?1:e};function Rd(e,t){let n=Ld(e??Fd)??Fd;return{dim:Ld(t??Id)??Id,panel:Math.max(0,Math.min(1,n-.05)),raised:Math.max(0,Math.min(1,n+.06))}}function zd(e,t){return`color-mix(in srgb, ${e} ${Math.round((Ld(t)??Id)*100)}%, transparent)`}function Bd(e,t){let n=e?.trim();if(n)return`url("${(t?Zt(n,t)??n:n).replace(/"/g,`%22`)}")`}var Vd=P(`<div class="content mdpreview todopane">`),Hd=P(`<textarea id=todo-input class="mono todopane-edit"rows=5 placeholder="- [ ] task one
24
+ - [ ] task two"title="shared with the agent \\u2014 it may check items off via set_todo; your unsaved edits win until you save">`),Ud=P(`<div class="filepreview shikiwrap">`),Wd=P(`<div class=muted style=padding-top:6px;font-size:11.5px>… truncated (first 100 KB)`),Gd=P(`<div class=muted style=padding:8px;font-size:12px>✨ highlighting <!>…`),Kd=P(`<pre class=mono style=max-height:62vh;overflow:auto;white-space:pre-wrap;margin:0>`),qd=P(`<label><input type=number min=0>`),Jd=P(`<span class=tprev-bg>`),Yd=P(`<span class=tprev-veil>`),Xd=P(`<span class=tprev><span class=tprev-nav></span><span class=tprev-head></span><span class=tprev-panel></span><span class=tprev-line style=left:32%;top:38%;width:34%;opacity:0.85></span><span class=tprev-line style=left:32%;top:50%;width:22%></span><span class=tprev-line style=left:32%;top:62%;width:40%></span><span class=tprev-dot style=left:6%;top:20%></span><span class=tprev-dot style=left:6%;top:40%></span><span class=tprev-dot style=left:6%;top:60%></span><span class=tprev-dot style=left:70%;top:12%></span><span class=tprev-dot style=left:84%;top:12%>`);function Zd(e){let t=Number(localStorage.getItem(`teapot.todoH`)??``),[n,r]=y(Number.isFinite(t)&&t>0?t:0),i=()=>n()>0?{height:`${n()}px`}:void 0,a=e=>{let t=new ResizeObserver(()=>{let t=e.offsetHeight;t<=0||r(e=>Math.abs(e-t)<1?e:(localStorage.setItem(`teapot.todoH`,String(t)),t))});t.observe(e),T(()=>t.disconnect())};return A(M,{get when(){return e.preview},get fallback(){return(()=>{var t=Hd();return t.$$input=t=>e.onDraft(t.currentTarget.value),je(a,t),b(e=>ke(t,i(),e)),b(()=>t.value=e.draft),t})()},get children(){var t=Vd();return je(a,t),b(n=>{var r=i(),a=it(e.draft);return n.e=ke(t,r,n.e),a!==n.t&&(t.innerHTML=n.t=a),n},{e:void 0,t:void 0}),t}})}function Qd(e){return[A(M,{get when(){return e.html},get fallback(){return N(()=>!!e.pending)()?(()=>{var t=Gd(),n=t.firstChild.nextSibling;return n.nextSibling,L(t,()=>e.path.split(`/`).pop(),n),t})():(()=>{var t=Kd();return L(t,()=>e.content),t})()},get children(){var t=Ud();return b(()=>t.innerHTML=e.html),t}}),A(M,{get when(){return e.truncated},get children(){return Wd()}})]}function $d(e){return(()=>{var t=qd(),n=t.firstChild;return L(t,()=>e.label,n),n.$$input=t=>e.onValue(Number(t.currentTarget.value)),b(()=>F(t,`title`,e.hint)),b(()=>n.value=e.value),t})()}function ef(e){let t=()=>e.palette,n=()=>Rd(e.surfaceAlpha,e.backgroundDim);return(()=>{var r=Xd(),i=r.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.nextSibling,d=u.nextSibling,f=d.nextSibling,p=f.nextSibling,m=p.nextSibling;return L(r,A(M,{get when(){return e.backgroundImage},get children(){return[(()=>{var t=Jd();return b(n=>Ae(t,`background-image`,Bd(e.backgroundImage,Yt))),t})(),(()=>{var e=Yd();return b(r=>Ae(e,`background`,zd(t().bgDark,n().dim))),e})()]}}),i),b(h=>{var g=t().bgDark,_=t().bgDarkest,v=e.backgroundImage?String(n().panel):`1`,ee=t().bgDarkest,y=e.backgroundImage?String(n().panel):`1`,b=t().bgMid,x=e.backgroundImage?String(n().raised):`1`,S=t().fg,C=t().acc,w=t().dim,T=t().acc,E=t().dim,te=t().ok,D=t().warn,ne=t().err;return g!==h.e&&Ae(r,`background`,h.e=g),_!==h.t&&Ae(i,`background`,h.t=_),v!==h.a&&Ae(i,`opacity`,h.a=v),ee!==h.o&&Ae(a,`background`,h.o=ee),y!==h.i&&Ae(a,`opacity`,h.i=y),b!==h.n&&Ae(o,`background`,h.n=b),x!==h.s&&Ae(o,`opacity`,h.s=x),S!==h.h&&Ae(s,`background`,h.h=S),C!==h.r&&Ae(c,`background`,h.r=C),w!==h.d&&Ae(l,`background`,h.d=w),T!==h.l&&Ae(u,`background`,h.l=T),E!==h.u&&Ae(d,`background`,h.u=E),te!==h.c&&Ae(f,`background`,h.c=te),D!==h.w&&Ae(p,`background`,h.w=D),ne!==h.m&&Ae(m,`background`,h.m=ne),h},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0}),r})()}De([`input`]);var[tf,nf]=y(``),rf,af=e=>{nf(e),clearTimeout(rf),rf=setTimeout(()=>nf(``),3200)};function of(e,t){if(!t.startsWith(`blobs/`)||!e)return t;let n=t.slice(6);return`/api/agents/${encodeURIComponent(e)}/blobs/${encodeURIComponent(n)}`}var sf=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cf(e){return lf(e)}function lf(e){return Array.isArray(e)?uf(e):e instanceof RegExp?e:typeof e==`object`?df(e):e}function uf(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=lf(e[n]);return t}function df(e){let t={};for(let n in e)t[n]=lf(e[n]);return t}function ff(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function pf(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?pf(e.substring(0,e.length-1)):e.substr(~t+1)}var mf=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,hf=class{static hasCaptures(e){return e!==null&&(mf.lastIndex=0,mf.test(e))}static replaceCaptures(e,t,n){return e.replace(mf,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function gf(e,t){return e<t?-1:+(e>t)}function _f(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=gf(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function vf(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function yf(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var bf=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},xf=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Ef(e),t)}static createFromParsedTheme(e,t){return kf(e,t)}_cachedMatchRoot=new bf(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>Cf(e.parent,t.parentScopes));return n?new Tf(n.fontStyle,n.foreground,n.background):null}},Sf=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e||this.parent!==null&&this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function Cf(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!wf(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function wf(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var Tf=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Ef(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8}}let s=null;typeof i.settings.foreground==`string`&&vf(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&vf(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new Df(l,u,e,o,s,c)}}return n}var Df=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},Of=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(Of||{});function kf(e,t){e.sort((e,t)=>{let n=gf(e.scope,t.scope);return n!==0||(n=_f(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new Af(t),o=new Tf(n,a.getId(r),a.getId(i)),s=new Nf(new Mf(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new xf(a,o,s)}var Af=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},jf=Object.freeze([]),Mf=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||jf,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},Nf=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),Mf.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null)this._mainRule.acceptOverwrite(e,n,r,i);else{for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(_f(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new Mf(e,t,n,r,i))}}},Pf=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=+!!e.containsBalancedBrackets(t),d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=If(r)),i!==null&&(u=+!!i),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c|0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function Ff(e){return e}function If(e){return e}function Lf(e,t){let n=[],r=zf(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(Rf(i)){let e=[];do e.push(i),i=r.next();while(Rf(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function Rf(e){return!!e&&!!e.match(/[\w\.:]+/)}function zf(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function Bf(e){typeof e.dispose==`function`&&e.dispose()}var Vf=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Hf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Uf=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Wf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Vf(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Uf;for(let n of e)Gf(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof Vf){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function Gf(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof Vf?qf({baseGrammar:a,selfGrammar:i},r):Kf(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new Vf(e))}function Kf(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Jf([r],t,n)}}function qf(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Jf(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Jf(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Jf(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?ff({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Jf(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=ep(i);switch(a.kind){case 0:qf({...t,selfGrammar:t.baseGrammar},n);break;case 1:qf(t,n);break;case 2:Kf(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?Kf(a.ruleName,i,n):qf(i,n)}else a.kind===4?n.add(new Hf(a.scopeName,a.ruleName)):n.add(new Vf(a.scopeName))}}}var Yf=class{kind=0},Xf=class{kind=1},Zf=class{constructor(e){this.ruleName=e}kind=2},Qf=class{constructor(e){this.scopeName=e}kind=3},$f=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ep(e){if(e===`$base`)return new Yf;if(e===`$self`)return new Xf;let t=e.indexOf(`#`);return t===-1?new Qf(e):t===0?new Zf(e.substring(1)):new $f(e.substring(0,t),e.substring(t+1))}var tp=/\\(\d+)/,np=/\\(\d+)/g,rp=-1,ip=-2;function ap(e){return e}function op(e){return e}var sp=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=hf.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=hf.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${pf(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:hf.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:hf.replaceCaptures(this._contentName,e,t)}},cp=class extends sp{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},lp=class extends sp{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new mp(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new hp,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},up=class extends sp{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new hp,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},dp=class extends sp{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new mp(i,this.id),this.beginCaptures=a,this._end=new mp(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new hp;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},fp=class extends sp{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new mp(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new mp(o,ip),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new hp;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new hp,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},pp=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new cp(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new lp(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=ff({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new up(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new fp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new dp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=ep(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l){if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository)}}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof up||e instanceof dp||e instanceof fp)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},mp=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this._anchorCache=this.hasAnchor?this._buildAnchorCache():null,this.ruleId=t,this.hasBackReferences=typeof this.source==`string`&&tp.test(this.source)}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return np.lastIndex=0,this.source.replace(np,(e,t)=>yf(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},hp=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new gp(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new gp(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},gp=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
25
+ `)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},_p=class{constructor(e,t){this.languageId=e,this.tokenType=t}},vp=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new _p(e,8),this._embeddedLanguagesMatcher=new yp(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new _p(0,0);_getBasicScopeAttributes=new bf(e=>new _p(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},yp=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>yf(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var bp=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function xp(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=Sp(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new bp(i,!0);f()}return new bp(i,!1);function f(){let o=Cp(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===rp){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),Op(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof dp){let r=o;Op(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof fp){let r=o;Op(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(Op(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function Sp(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof fp&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=Dp(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==ip){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),Op(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function Cp(e,t,n,r,i,a){let o=wp(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=Tp(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function wp(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=Ep(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function Tp(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=Ep(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function Ep(e,t,n,r,i){return{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function Dp(e,t,n,r,i){return{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function Op(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));xp(e,p,n&&d.start===0,d.start,f,i,!1,0),Bf(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new kp(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var kp=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Ap(e,t,n,r,i,a,o,s){return new Pp(e,t,n,r,i,a,o,s)}function jp(e,t,n,r,i){let a=Lf(t,Mp),o=pp.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function Mp(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(Np(t[r],e))return n=r+1,!0;return!1})}function Np(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var Pp=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new vp(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=Fp(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=Lf(e,Mp);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)jp(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&jp(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(ap(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[op(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Fp(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=pp.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===Lp.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=Pf.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?Ip.createRootAndLookUpScopeName(a,r,this):Ip.createRoot(`unknown`,r),t=new Lp(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
26
+ `;let a=this.createOnigString(e),o=a.content.length,s=new zp(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=xp(this,a,i,0,t,s,!0,r);return Bf(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function Fp(e,t){return e=cf(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Ip=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=Sf.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new Sf(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new Sf(null,t),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(n,i,o);return new e(null,a,s)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(1)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),Pf.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(t.tokenAttributes,i,o);return new e(t,a,s)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},Lp=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t!==null&&e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?Ip.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(1)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:op(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=Ip.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,ap(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Ip.fromExtension(r,n.contentNameScopesList))}},Rp=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):Lf(e,Mp).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>Lf(e,Mp).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},zp=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=Pf.set(n,0,Ff(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=Pf.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},Bp=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,Ap(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},Vp=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Bp(xf.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(xf.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new Rp(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new Wf(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},Hp=Lp.NULL;function Up(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Wp(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Gp(e){return Array.isArray(e)?e:[e]}async function Kp(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function qp(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function Jp(e){return e===`ansi`||qp(e)}function Yp(e){return e===`none`}function Xp(e){return Yp(e)}var Zp=/(\r?\n)/g;function Qp(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(Zp),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var $p={light:`#333333`,dark:`#bbbbbb`},em={light:`#fffffe`,dark:`#1e1e1e`},tm=`__shiki_resolved`;function nm(e){if(e?.[tm])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?$p.light:$p.dark,n||=t.type===`light`?em.light:em.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,tm,{enumerable:!1,writable:!1,value:!0}),t}async function rm(e){return[...new Set((await Promise.all(e.filter(e=>!Jp(e)).map(async e=>await Kp(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function im(e){return(await Promise.all(e.map(async e=>Xp(e)?null:nm(await Kp(e))))).filter(e=>!!e)}function am(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new sf(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var om=class extends Vp{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=nm(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=xf.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=am(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._syncRegistry?._grammars?.get(e.scopeName)?.dispose(),this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new sf(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},sm=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},cm=0;function lm(e){cm+=1,e.warnings!==!1&&cm>=10&&cm%10==0&&console.warn(`[Shiki] ${cm} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new sf("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(nm),i=new om(new sm(e.engine,n),r,n,e.langAlias),a;function o(t){return am(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new sf(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new sf(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await rm(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await im(e))}function g(){if(t)throw new sf(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--cm)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function um(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([im(e.themes||[]),rm(e.langs||[]),e.engine]);return lm({...e,themes:t,langs:n,engine:r})}var dm=new WeakMap;function fm(e,t){dm.set(e,t)}function pm(e){return dm.get(e)}var mm=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(Gp(n).map(e=>[e,Hp])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return hm(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function hm(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function gm(e,t){if(!(e instanceof mm))throw new sf(`Invalid grammar state`);return e.getInternalStack(t)}var _m=/,/,vm=/ /;function ym(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(qp(e.resolveLangAlias(n.lang||`text`))||Yp(r))return Qp(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:i,colorMap:a}=e.setTheme(r),o=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new sf(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new sf(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return xm(t,o,i,a,n)}function bm(...e){if(e.length===2)return pm(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(qp(i)||Yp(a))throw new sf(`Plain language does not have grammar state`);if(i===`ansi`)throw new sf(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new mm(Sm(n,c,o,s,r).stateStack,c.name,o.name)}function xm(e,t,n,r,i){let a=Sm(e,t,n,r,i),o=new mm(a.stateStack,t.name,n.name);return fm(a.tokens,o),a.tokens}function Sm(e,t,n,r,i){let a=Up(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=Qp(e),u=i.grammarState?gm(i.grammarState,n.name)??Hp:i.grammarContextCode==null?Hp:Sm(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=Wp(r[Pf.getForeground(s)],a),u=Pf.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=Pf.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(_m).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(vm))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?Cm(t.scopes):wm(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function Cm(e){return e.map(e=>({scopeName:e}))}function wm(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:Dm(e,i,t.slice(0,r))}}return n}function Tm(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function Em(e,t,n){if(!Tm(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)Tm(e[r],n[i])&&--r,--i;return r===-1}function Dm(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(Em(e,t,n)){r.push(a);break}return r}function Om(e,t,n,r=ym){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:pm(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=km(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new mm(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&fm(s,c),s}function km(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var Am=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],jm=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};jm.prototype.normal={},jm.prototype.property={},jm.prototype.space=void 0;function Mm(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new jm(n,r,t)}function Nm(e){return e.toLowerCase()}var Pm=class{constructor(e,t){this.attribute=t,this.property=e}};Pm.prototype.attribute=``,Pm.prototype.booleanish=!1,Pm.prototype.boolean=!1,Pm.prototype.commaOrSpaceSeparated=!1,Pm.prototype.commaSeparated=!1,Pm.prototype.defined=!1,Pm.prototype.mustUseProperty=!1,Pm.prototype.number=!1,Pm.prototype.overloadedBoolean=!1,Pm.prototype.property=``,Pm.prototype.spaceSeparated=!1,Pm.prototype.space=void 0;var Fm=t({boolean:()=>X,booleanish:()=>Lm,commaOrSpaceSeparated:()=>Bm,commaSeparated:()=>zm,number:()=>Z,overloadedBoolean:()=>Rm,spaceSeparated:()=>Q}),Im=0,X=Vm(),Lm=Vm(),Rm=Vm(),Z=Vm(),Q=Vm(),zm=Vm(),Bm=Vm();function Vm(){return 2**++Im}var Hm=Object.keys(Fm),Um=class extends Pm{constructor(e,t,n,r){let i=-1;if(super(e,t),Wm(this,`space`,r),typeof n==`number`)for(;++i<Hm.length;){let e=Hm[i];Wm(this,Hm[i],(n&Fm[e])===Fm[e])}}};Um.prototype.defined=!0;function Wm(e,t,n){n&&(e[t]=n)}function Gm(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new Um(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Nm(r)]=r,n[Nm(a.attribute)]=r}return new jm(t,n,e.space)}var Km=Gm({properties:{ariaActiveDescendant:null,ariaAtomic:Lm,ariaAutoComplete:null,ariaBusy:Lm,ariaChecked:Lm,ariaColCount:Z,ariaColIndex:Z,ariaColSpan:Z,ariaControls:Q,ariaCurrent:null,ariaDescribedBy:Q,ariaDetails:null,ariaDisabled:Lm,ariaDropEffect:Q,ariaErrorMessage:null,ariaExpanded:Lm,ariaFlowTo:Q,ariaGrabbed:Lm,ariaHasPopup:null,ariaHidden:Lm,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Q,ariaLevel:Z,ariaLive:null,ariaModal:Lm,ariaMultiLine:Lm,ariaMultiSelectable:Lm,ariaOrientation:null,ariaOwns:Q,ariaPlaceholder:null,ariaPosInSet:Z,ariaPressed:Lm,ariaReadOnly:Lm,ariaRelevant:null,ariaRequired:Lm,ariaRoleDescription:Q,ariaRowCount:Z,ariaRowIndex:Z,ariaRowSpan:Z,ariaSelected:Lm,ariaSetSize:Z,ariaSort:null,ariaValueMax:Z,ariaValueMin:Z,ariaValueNow:Z,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function qm(e,t){return t in e?e[t]:t}function Jm(e,t){return qm(e,t.toLowerCase())}var Ym=Gm({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:zm,acceptCharset:Q,accessKey:Q,action:null,allow:null,allowFullScreen:X,allowPaymentRequest:X,allowUserMedia:X,alpha:X,alt:null,as:null,async:X,autoCapitalize:null,autoComplete:Q,autoFocus:X,autoPlay:X,blocking:Q,capture:null,charSet:null,checked:X,cite:null,className:Q,closedBy:null,colorSpace:null,cols:Z,colSpan:Z,command:null,commandFor:null,content:null,contentEditable:Lm,controls:X,controlsList:Q,coords:Z|zm,crossOrigin:null,data:null,dateTime:null,decoding:null,default:X,defer:X,dir:null,dirName:null,disabled:X,download:Rm,draggable:Lm,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:X,formTarget:null,headers:Q,height:Z,hidden:Rm,high:Z,href:null,hrefLang:null,htmlFor:Q,httpEquiv:Q,id:null,imageSizes:null,imageSrcSet:null,inert:X,inputMode:null,integrity:null,is:null,isMap:X,itemId:null,itemProp:Q,itemRef:Q,itemScope:X,itemType:Q,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:X,low:Z,manifest:null,max:null,maxLength:Z,media:null,method:null,min:null,minLength:Z,multiple:X,muted:X,name:null,nonce:null,noModule:X,noValidate:X,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:X,optimum:Z,pattern:null,ping:Q,placeholder:null,playsInline:X,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:X,referrerPolicy:null,rel:Q,required:X,reversed:X,rows:Z,rowSpan:Z,sandbox:Q,scope:null,scoped:X,seamless:X,selected:X,shadowRootClonable:X,shadowRootCustomElementRegistry:X,shadowRootDelegatesFocus:X,shadowRootMode:null,shadowRootSerializable:X,shape:null,size:Z,sizes:null,slot:null,span:Z,spellCheck:Lm,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Z,step:null,style:null,tabIndex:Z,target:null,title:null,translate:null,type:null,typeMustMatch:X,useMap:null,value:Lm,width:Z,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Q,axis:null,background:null,bgColor:null,border:Z,borderColor:null,bottomMargin:Z,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:X,declare:X,event:null,face:null,frame:null,frameBorder:null,hSpace:Z,leftMargin:Z,link:null,longDesc:null,lowSrc:null,marginHeight:Z,marginWidth:Z,noResize:X,noHref:X,noShade:X,noWrap:X,object:null,profile:null,prompt:null,rev:null,rightMargin:Z,rules:null,scheme:null,scrolling:Lm,standby:null,summary:null,text:null,topMargin:Z,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Z,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:X,disablePictureInPicture:X,disableRemotePlayback:X,exportParts:zm,part:Q,prefix:null,property:null,results:Z,security:null,unselectable:null},space:`html`,transform:Jm}),Xm=Gm({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:Bm,accentHeight:Z,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Z,amplitude:Z,arabicForm:null,ascent:Z,attributeName:null,attributeType:null,azimuth:Z,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Z,by:null,calcMode:null,capHeight:Z,className:Q,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Z,diffuseConstant:Z,direction:null,display:null,dur:null,divisor:Z,dominantBaseline:null,download:X,dx:null,dy:null,edgeMode:null,editable:null,elevation:Z,enableBackground:null,end:null,event:null,exponent:Z,externalResourcesRequired:null,fill:null,fillOpacity:Z,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:zm,g2:zm,glyphName:zm,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Z,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Z,horizOriginX:Z,horizOriginY:Z,id:null,ideographic:Z,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Z,k:Z,k1:Z,k2:Z,k3:Z,k4:Z,kernelMatrix:Bm,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Z,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Z,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Z,overlineThickness:Z,paintOrder:null,panose1:null,path:null,pathLength:Z,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Q,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Z,pointsAtY:Z,pointsAtZ:Z,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Bm,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Bm,rev:Bm,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Bm,requiredFeatures:Bm,requiredFonts:Bm,requiredFormats:Bm,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Z,specularExponent:Z,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Z,strikethroughThickness:Z,string:null,stroke:null,strokeDashArray:Bm,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Z,strokeOpacity:Z,strokeWidth:null,style:null,surfaceScale:Z,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Bm,tabIndex:Z,tableValues:null,target:null,targetX:Z,targetY:Z,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Bm,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Z,underlineThickness:Z,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Z,values:null,vAlphabetic:Z,vMathematical:Z,vectorEffect:null,vHanging:Z,vIdeographic:Z,version:null,vertAdvY:Z,vertOriginX:Z,vertOriginY:Z,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Z,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:qm}),Zm=Gm({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),Qm=Gm({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:Jm}),$m=Gm({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),eh=/[A-Z]/g,th=/-[a-z]/g,nh=/^data[-\w.:]+$/i;function rh(e,t){let n=Nm(t),r=t,i=Pm;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&nh.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(th,ah);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!th.test(e)){let n=e.replace(eh,ih);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Um}return new i(r,t)}function ih(e){return`-`+e.toLowerCase()}function ah(e){return e.charAt(1).toUpperCase()}var oh=Mm([Km,Ym,Zm,Qm,$m],`html`),sh=Mm([Km,Xm,Zm,Qm,$m],`svg`),ch={}.hasOwnProperty;function lh(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&ch.call(t,e)){let n=String(t[e]);i=ch.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var uh=/["&'<>`]/g,dh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,fh=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,ph=/[|\\{}()[\]^$+*?.]/g,mh=new WeakMap;function hh(e,t){return e=e.replace(t.subset?gh(t.subset):uh,r),t.subset||t.escapeOnly?e:e.replace(dh,n).replace(fh,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function gh(e){let t=mh.get(e);return t||(t=_h(e),mh.set(e,t)),t}function _h(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(ph,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var vh=/[\dA-Fa-f]/;function yh(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!vh.test(String.fromCharCode(t))?r:r+`;`}var bh=/\d/;function xh(e,t,n){let r=`&#`+String(e);return n&&t&&!bh.test(String.fromCharCode(t))?r:r+`;`}var Sh=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Ch={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},wh=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],Th={}.hasOwnProperty,Eh={},Dh;for(Dh in Ch)Th.call(Ch,Dh)&&(Eh[Ch[Dh]]=Dh);var Oh=/[^\dA-Za-z]/;function kh(e,t,n,r){let i=String.fromCharCode(e);if(Th.call(Eh,i)){let e=Eh[i],a=`&`+e;return n&&Sh.includes(e)&&!wh.includes(e)&&(!r||t&&t!==61&&Oh.test(String.fromCharCode(t)))?a:a+`;`}return``}function Ah(e,t,n){let r=yh(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=kh(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=xh(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function jh(e,t){return hh(e,Object.assign({format:Ah},t))}var Mh=/^>|^->|<!--|-->|--!>|<!-$/g,Nh=[`>`],Ph=[`<`,`>`];function Fh(e,t,n,r){return r.settings.bogusComments?`<?`+jh(e.value,Object.assign({},r.settings.characterReferences,{subset:Nh}))+`>`:`<!--`+e.value.replace(Mh,i)+`-->`;function i(e){return jh(e,Object.assign({},r.settings.characterReferences,{subset:Ph}))}}function Ih(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}function Lh(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Rh(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function zh(e){return e.join(` `).trim()}var Bh=/[ \t\n\f\r]/g;function Vh(e){return typeof e==`object`?e.type===`text`&&Hh(e.value):Hh(e)}function Hh(e){return e.replace(Bh,``)===``}var Uh=Kh(1),Wh=Kh(-1),Gh=[];function Kh(e){return t;function t(t,n,r){let i=t?t.children:Gh,a=(n||0)+e,o=i[a];if(!r)for(;o&&Vh(o);)a+=e,o=i[a];return o}}var qh={}.hasOwnProperty;function Jh(e){return t;function t(t,n,r){return qh.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var Yh=Jh({body:Qh,caption:Xh,colgroup:Xh,dd:ng,dt:tg,head:Xh,html:Zh,li:eg,optgroup:ig,option:ag,p:$h,rp:rg,rt:rg,tbody:sg,td:ug,tfoot:cg,th:ug,thead:og,tr:lg});function Xh(e,t,n){let r=Uh(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&Vh(r.value.charAt(0)))}function Zh(e,t,n){let r=Uh(n,t);return!r||r.type!==`comment`}function Qh(e,t,n){let r=Uh(n,t);return!r||r.type!==`comment`}function $h(e,t,n){let r=Uh(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||n.type!==`element`||n.tagName!==`a`&&n.tagName!==`audio`&&n.tagName!==`del`&&n.tagName!==`ins`&&n.tagName!==`map`&&n.tagName!==`noscript`&&n.tagName!==`video`}function eg(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&r.tagName===`li`}function tg(e,t,n){let r=Uh(n,t);return!(!r||r.type!==`element`||r.tagName!==`dt`&&r.tagName!==`dd`)}function ng(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function rg(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function ig(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function ag(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function og(e,t,n){let r=Uh(n,t);return!(!r||r.type!==`element`||r.tagName!==`tbody`&&r.tagName!==`tfoot`)}function sg(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function cg(e,t,n){return!Uh(n,t)}function lg(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function ug(e,t,n){let r=Uh(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var dg=Jh({body:mg,colgroup:hg,head:pg,html:fg,tbody:gg});function fg(e){let t=Uh(e,-1);return!t||t.type!==`comment`}function pg(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function mg(e){let t=Uh(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&Vh(t.value.charAt(0)))&&(t.type!==`element`||t.tagName!==`meta`&&t.tagName!==`link`&&t.tagName!==`script`&&t.tagName!==`style`&&t.tagName!==`template`)}function hg(e,t,n){let r=Wh(n,t),i=Uh(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&Yh(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function gg(e,t,n){let r=Wh(n,t),i=Uh(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&Yh(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var _g={name:[[`
27
27
  \f\r &/=>`.split(``),`
28
28
  \f\r "&'/=>\``.split(``)],[`\0
29
29
  \f\r "&'/<=>`.split(``),`\0
@@ -31,10 +31,10 @@ WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){t
31
31
  \f\r &>`.split(``),`\0
32
32
  \f\r "&'<=>\``.split(``)],[`\0
33
33
  \f\r "&'<=>\``.split(``),`\0
34
- \f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function _g(e,t,n,r){let i=r.schema,a=i.space!==`svg`&&r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=oh);let l=vg(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!ug(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!Jh(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function vg(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=yg(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function yg(e,t,n){let r=nh(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=+!e.settings.allowDangerousCharacters,o=e.quote,s;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let c=Ah(r.attribute,Object.assign({},e.settings.characterReferences,{subset:gg.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?Lh:Rh)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?c:(e.settings.preferUnquoted&&(s=Ah(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:gg.unquoted[i][a]}))),s!==n&&(e.settings.quoteSmart&&Ih(n,o)>Ih(n,e.alternative)&&(o=e.alternative),s=o+Ah(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?gg.single:gg.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var bg=[`<`,`&`];function xg(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:Ah(e.value,Object.assign({},r.settings.characterReferences,{subset:bg}))}function Sg(e,t,n,r){return r.settings.allowDangerousHtml?e.value:xg(e,t,n,r)}function Cg(e,t,n,r){return r.all(e)}var wg=ch(`type`,{invalid:Tg,unknown:Eg,handlers:{comment:Ph,doctype:Fh,element:_g,raw:Sg,root:Cg,text:xg}});function Tg(e){throw Error("Expected node, not `"+e+"`")}function Eg(e){throw Error("Cannot compile unknown node `"+e.type+"`")}var Dg={},Og={},kg=[];function Ag(e,t){let n=t||Dg,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:jg,all:Mg,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||km,characterReferences:n.characterReferences||Og,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?oh:ah,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function jg(e,t,n){return wg(e,t,n,this)}function Mg(e){let t=[],n=e&&e.children||kg,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var Ng=/\s+/g;function Pg(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(Ng)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(Ng);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function Fg(e){let t=Zp(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t.at(-1).length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}var Ig=[`color`,`background-color`];function Lg(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function Rg(e,t){let n=0,r=e.length;for(;n<r;){let i=n+(r-n>>1);e[i]<=t?n=i+1:r=i}return n}function zg(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=e.offset+e.content.length,r=Rg(n,e.offset),i=r;for(;i<n.length&&n[i]<t;)i++;if(r===i)return e;let a=n.slice(r,i);for(let t=0;t<a.length;t++)a[t]-=e.offset;return Lg(e,a)})):e}function Bg(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>Vg(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&Ig.includes(a)){if(r===`light-dark()`&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new of('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let u=o[e][a]||`inherit`,d=o[r][a]||`inherit`;c[a]=`light-dark(${u}, ${d})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s}else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function Vg(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&Df.Italic&&(t[`font-style`]=`italic`),e.fontStyle&Df.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&Df.Underline&&n.push(`underline`),e.fontStyle&Df.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function Hg(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function Ug(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=Fg(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new of(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...n.indexToPos(e),offset:e}}{let t=n.lines[e.line];if(t===void 0)throw new of(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new of(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:n.posToIndex(e.line,r)}}}let i=(t.options.decorations||[]).map(e=>({...e,start:r(e.start),end:r(e.end)}));Wg(i),e.set(t.meta,{decorations:i,converter:n,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return zg(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=[...e.children].filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new of(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=Gg(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new of(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new of(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&Pg(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function Wg(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new of(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new of(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function Gg(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(Gg).join(``):``}var Kg=[Ug()];function qg(e){let t=Jg(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Kg]}function Jg(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var Yg=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],Xg={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function Zg(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function Qg(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function $g(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r)){if(r===0)t.push({type:`resetAll`});else if(r<=9)Xg[r]&&t.push({type:`setDecoration`,value:Xg[r]});else if(r<=29){let e=Xg[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:Yg[r-30]}});else if(r===38){let n=Qg(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:Yg[r-40]}});else if(r===48){let n=Qg(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:Yg[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:Yg[r-100+8]}})}}return t}function e_(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=Zg(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=$g(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var t_={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function n_(e=t_){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<Yg.length;e++)r.push(t(Yg[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var r_=/#([0-9a-f]{3,8})/i,i_=/var\((--[\w-]+-ansi-[\w-]+)\)/,a_={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function o_(e,t,n){let r=Hp(e,n),i=Zp(t),a=n_(Object.fromEntries(Yg.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||a_[t]]}))),o=e_();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=Up(i,r),o=Up(o,r),n.decorations.has(`dim`)&&(i=s_(i));let s=Df.None;return n.decorations.has(`bold`)&&(s|=Df.Bold),n.decorations.has(`italic`)&&(s|=Df.Italic),n.decorations.has(`underline`)&&(s|=Df.Underline),n.decorations.has(`strikethrough`)&&(s|=Df.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function s_(e){let t=e.match(r_);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}if(e.length===6)return`#${e}80`;if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(i_);return n?`var(${n[1]}-dim)`:e}function c_(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!Kp(r)&&!Jp(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return o_(r,t,n)}return vm(e,t,n)}function l_(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:+(t.color===l));if(f.length===0)throw new of("`themes` option must not be empty");let p=Dm(e,t,n,c_);if(c=fm(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new of(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>Bg(e,h,u,l,d))),c&&dm(a,c);let g=f.map(e=>Hp(e.theme,n));i=u_(f,m,g,u,l,`fg`,d),r=u_(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=Hp(n.theme,n);a=c_(e,t,n);let l=e.getTheme(n.theme);r=Up(l.bg,s),i=Up(l.fg,s),o=l.name,c=fm(a)}else throw new of("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function u_(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=Up(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===`light-dark()`&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new of('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Up(t[r][a],n[r])||`inherit`}, ${Up(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var d_=/^\s+$/,f_=/^(\s*)(.*?)(\s*)$/;function p_(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>p_(e,t,n),codeToTokens:(t,n)=>l_(e,t,n)}){let i=t;for(let e of qg(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=l_(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=h_(a):d===`never`&&(a=g_(a)),f&&(a=__(a));let p={...r,get source(){return i}};for(let e of qg(n))a=e.tokens?.call(p,a)||a;return m_(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function m_(e,t,n,r=fm(e)){let i=qg(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(l.style=t.rootStyle==null?`background-color:${t.bg};color:${t.fg}`:t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:Pg,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
35
- `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=Hg(a.htmlStyle||Vg(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&dm(m,r),m}function h_(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&Df.Underline||i.fontStyle&Df.Strikethrough));o&&d_.test(i.content)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function g_(e){return e.map(e=>e.flatMap(e=>{if(d_.test(e.content))return e;let t=e.content.match(f_);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function __(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t.at(-1),r=Hg(e.htmlStyle||Vg(e)),i=Hg(n.htmlStyle||Vg(n)),a=e.fontStyle&&(e.fontStyle&Df.Underline||e.fontStyle&Df.Strikethrough),o=n.fontStyle&&(n.fontStyle&Df.Underline||n.fontStyle&Df.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var v_=Ag;function y_(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>p_(e,t,n),codeToTokens:(t,n)=>l_(e,t,n)},i=v_(p_(e,t,n,r));for(let e of qg(n))i=e.postprocess?.call(r,i,n)||i;return i}async function b_(e){let t=await lm(e);return{getLastGrammarState:(...e)=>ym(t,...e),codeToTokensBase:(e,n)=>c_(t,e,n),codeToTokensWithThemes:(e,n)=>Dm(t,e,n),codeToTokens:(e,n)=>l_(t,e,n),codeToHast:(e,n)=>p_(t,e,n),codeToHtml:(e,n)=>y_(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}var x_=4294967295;function S_(e){return!e.sticky&&!e.rawOptions?.strategy}function C_(e,t){return{index:e,captureIndices:t.map(e=>e==null?{start:x_,end:x_,length:0}:{start:e[0],end:e[1],length:e[1]-e[0]})}}var w_=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:r,regexConstructor:i}=t;if(!i)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}}),this.lastSearches=this.regexps.map(e=>e&&S_(e)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=typeof e==`string`?0:e.id||0,a=-1,o=0,s=null;for(let e=0;e<this.regexps.length;e++){let n=this.regexps[e];if(n)try{let c=i?this.lastSearches[e]:null,l,u;if(c&&c.strId===i&&c.searchedFrom<=t&&(c.matchIndex===-1||c.matchIndex>=t))l=c.matchIndex,u=c.indices;else{n.lastIndex=t;let e=n.exec(r);l=e?e.index:-1,u=e?e.indices:null,c&&(c.strId=i,c.searchedFrom=t,c.matchIndex=l,c.indices=u)}if(l===-1)continue;if(l===t)return C_(e,u);(a===-1||l<o)&&(a=e,o=l,s=u)}catch(e){if(this.options.forgiving)continue;throw e}}return a===-1?null:C_(a,s)}},T_=0;function E_(e){return{content:e,id:++T_}}function D_(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function O_(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var k_=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),A_=String.raw;function j_(e,t){if(e==null)throw Error(t??`Value expected`);return e}var M_=A_`\[\^?`,N_=`c.? | C(?:-.?)?|${A_`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${A_`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${A_`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${A_`o\{[^\}]*\}?`}|${A_`\d{1,3}`}`,P_=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,F_=new RegExp(A_`
34
+ \f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function vg(e,t,n,r){let i=r.schema,a=i.space!==`svg`&&r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=sh);let l=yg(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!dg(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!Yh(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function yg(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=bg(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function bg(e,t,n){let r=rh(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=+!e.settings.allowDangerousCharacters,o=e.quote,s;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let c=jh(r.attribute,Object.assign({},e.settings.characterReferences,{subset:_g.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?Rh:zh)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?c:(e.settings.preferUnquoted&&(s=jh(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:_g.unquoted[i][a]}))),s!==n&&(e.settings.quoteSmart&&Lh(n,o)>Lh(n,e.alternative)&&(o=e.alternative),s=o+jh(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?_g.single:_g.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var xg=[`<`,`&`];function Sg(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:jh(e.value,Object.assign({},r.settings.characterReferences,{subset:xg}))}function Cg(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Sg(e,t,n,r)}function wg(e,t,n,r){return r.all(e)}var Tg=lh(`type`,{invalid:Eg,unknown:Dg,handlers:{comment:Fh,doctype:Ih,element:vg,raw:Cg,root:wg,text:Sg}});function Eg(e){throw Error("Expected node, not `"+e+"`")}function Dg(e){throw Error("Cannot compile unknown node `"+e.type+"`")}var Og={},kg={},Ag=[];function jg(e,t){let n=t||Og,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Mg,all:Ng,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Am,characterReferences:n.characterReferences||kg,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?sh:oh,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function Mg(e,t,n){return Tg(e,t,n,this)}function Ng(e){let t=[],n=e&&e.children||Ag,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var Pg=/\s+/g;function Fg(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(Pg)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(Pg);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function Ig(e){let t=Qp(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t.at(-1).length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}var Lg=[`color`,`background-color`];function Rg(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function zg(e,t){let n=0,r=e.length;for(;n<r;){let i=n+(r-n>>1);e[i]<=t?n=i+1:r=i}return n}function Bg(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=e.offset+e.content.length,r=zg(n,e.offset),i=r;for(;i<n.length&&n[i]<t;)i++;if(r===i)return e;let a=n.slice(r,i);for(let t=0;t<a.length;t++)a[t]-=e.offset;return Rg(e,a)})):e}function Vg(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>Hg(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&Lg.includes(a)){if(r===`light-dark()`&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new sf('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let u=o[e][a]||`inherit`,d=o[r][a]||`inherit`;c[a]=`light-dark(${u}, ${d})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s}else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function Hg(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&Of.Italic&&(t[`font-style`]=`italic`),e.fontStyle&Of.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&Of.Underline&&n.push(`underline`),e.fontStyle&Of.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function Ug(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function Wg(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=Ig(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new sf(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...n.indexToPos(e),offset:e}}{let t=n.lines[e.line];if(t===void 0)throw new sf(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new sf(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:n.posToIndex(e.line,r)}}}let i=(t.options.decorations||[]).map(e=>({...e,start:r(e.start),end:r(e.end)}));Gg(i),e.set(t.meta,{decorations:i,converter:n,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return Bg(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=[...e.children].filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new sf(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=Kg(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new sf(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new sf(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&Fg(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function Gg(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new sf(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new sf(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function Kg(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(Kg).join(``):``}var qg=[Wg()];function Jg(e){let t=Yg(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...qg]}function Yg(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var Xg=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],Zg={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function Qg(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function $g(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function e_(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r)){if(r===0)t.push({type:`resetAll`});else if(r<=9)Zg[r]&&t.push({type:`setDecoration`,value:Zg[r]});else if(r<=29){let e=Zg[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:Xg[r-30]}});else if(r===38){let n=$g(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:Xg[r-40]}});else if(r===48){let n=$g(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:Xg[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:Xg[r-100+8]}})}}return t}function t_(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=Qg(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=e_(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var n_={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function r_(e=n_){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<Xg.length;e++)r.push(t(Xg[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var i_=/#([0-9a-f]{3,8})/i,a_=/var\((--[\w-]+-ansi-[\w-]+)\)/,o_={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function s_(e,t,n){let r=Up(e,n),i=Qp(t),a=r_(Object.fromEntries(Xg.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||o_[t]]}))),o=t_();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=Wp(i,r),o=Wp(o,r),n.decorations.has(`dim`)&&(i=c_(i));let s=Of.None;return n.decorations.has(`bold`)&&(s|=Of.Bold),n.decorations.has(`italic`)&&(s|=Of.Italic),n.decorations.has(`underline`)&&(s|=Of.Underline),n.decorations.has(`strikethrough`)&&(s|=Of.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function c_(e){let t=e.match(i_);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}if(e.length===6)return`#${e}80`;if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(a_);return n?`var(${n[1]}-dim)`:e}function l_(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!qp(r)&&!Yp(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return s_(r,t,n)}return ym(e,t,n)}function u_(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:+(t.color===l));if(f.length===0)throw new sf("`themes` option must not be empty");let p=Om(e,t,n,l_);if(c=pm(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new sf(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>Vg(e,h,u,l,d))),c&&fm(a,c);let g=f.map(e=>Up(e.theme,n));i=d_(f,m,g,u,l,`fg`,d),r=d_(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=Up(n.theme,n);a=l_(e,t,n);let l=e.getTheme(n.theme);r=Wp(l.bg,s),i=Wp(l.fg,s),o=l.name,c=pm(a)}else throw new sf("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function d_(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=Wp(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===`light-dark()`&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new sf('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Wp(t[r][a],n[r])||`inherit`}, ${Wp(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var f_=/^\s+$/,p_=/^(\s*)(.*?)(\s*)$/;function m_(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>m_(e,t,n),codeToTokens:(t,n)=>u_(e,t,n)}){let i=t;for(let e of Jg(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=u_(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=g_(a):d===`never`&&(a=__(a)),f&&(a=v_(a));let p={...r,get source(){return i}};for(let e of Jg(n))a=e.tokens?.call(p,a)||a;return h_(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function h_(e,t,n,r=pm(e)){let i=Jg(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(l.style=t.rootStyle==null?`background-color:${t.bg};color:${t.fg}`:t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:Fg,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
35
+ `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=Ug(a.htmlStyle||Hg(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&fm(m,r),m}function g_(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&Of.Underline||i.fontStyle&Of.Strikethrough));o&&f_.test(i.content)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function __(e){return e.map(e=>e.flatMap(e=>{if(f_.test(e.content))return e;let t=e.content.match(p_);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function v_(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t.at(-1),r=Ug(e.htmlStyle||Hg(e)),i=Ug(n.htmlStyle||Hg(n)),a=e.fontStyle&&(e.fontStyle&Of.Underline||e.fontStyle&Of.Strikethrough),o=n.fontStyle&&(n.fontStyle&Of.Underline||n.fontStyle&Of.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var y_=jg;function b_(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>m_(e,t,n),codeToTokens:(t,n)=>u_(e,t,n)},i=y_(m_(e,t,n,r));for(let e of Jg(n))i=e.postprocess?.call(r,i,n)||i;return i}async function x_(e){let t=await um(e);return{getLastGrammarState:(...e)=>bm(t,...e),codeToTokensBase:(e,n)=>l_(t,e,n),codeToTokensWithThemes:(e,n)=>Om(t,e,n),codeToTokens:(e,n)=>u_(t,e,n),codeToHast:(e,n)=>m_(t,e,n),codeToHtml:(e,n)=>b_(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}var S_=4294967295;function C_(e){return!e.sticky&&!e.rawOptions?.strategy}function w_(e,t){return{index:e,captureIndices:t.map(e=>e==null?{start:S_,end:S_,length:0}:{start:e[0],end:e[1],length:e[1]-e[0]})}}var T_=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:r,regexConstructor:i}=t;if(!i)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}}),this.lastSearches=this.regexps.map(e=>e&&C_(e)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=typeof e==`string`?0:e.id||0,a=-1,o=0,s=null;for(let e=0;e<this.regexps.length;e++){let n=this.regexps[e];if(n)try{let c=i?this.lastSearches[e]:null,l,u;if(c&&c.strId===i&&c.searchedFrom<=t&&(c.matchIndex===-1||c.matchIndex>=t))l=c.matchIndex,u=c.indices;else{n.lastIndex=t;let e=n.exec(r);l=e?e.index:-1,u=e?e.indices:null,c&&(c.strId=i,c.searchedFrom=t,c.matchIndex=l,c.indices=u)}if(l===-1)continue;if(l===t)return w_(e,u);(a===-1||l<o)&&(a=e,o=l,s=u)}catch(e){if(this.options.forgiving)continue;throw e}}return a===-1?null:w_(a,s)}},E_=0;function D_(e){return{content:e,id:++E_}}function O_(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function k_(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var A_=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),j_=String.raw;function M_(e,t){if(e==null)throw Error(t??`Value expected`);return e}var N_=j_`\[\^?`,P_=`c.? | C(?:-.?)?|${j_`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${j_`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${j_`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${j_`o\{[^\}]*\}?`}|${j_`\d{1,3}`}`,F_=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,I_=new RegExp(j_`
36
36
  \\ (?:
37
- ${N_}
37
+ ${P_}
38
38
  | [gk]<[^>]*>?
39
39
  | [gk]'[^']*'?
40
40
  | .
@@ -51,20 +51,20 @@ WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){t
51
51
  )?
52
52
  | \*[^\)]*\)?
53
53
  )?
54
- | (?:${P_.source})+
55
- | ${M_}
54
+ | (?:${F_.source})+
55
+ | ${N_}
56
56
  | .
57
- `.replace(/\s+/g,``),`gsu`),I_=new RegExp(A_`
57
+ `.replace(/\s+/g,``),`gsu`),L_=new RegExp(j_`
58
58
  \\ (?:
59
- ${N_}
59
+ ${P_}
60
60
  | .
61
61
  )
62
62
  | \[:(?:\^?\p{Alpha}+|\^):\]
63
- | ${M_}
63
+ | ${N_}
64
64
  | &&
65
65
  | .
66
- `.replace(/\s+/g,``),`gsu`);function L_(e,t={}){let n={flags:``,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!=`string`)throw Error(`String expected as pattern`);let r=pv(n.flags),i=[r.extended],a={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(e){i.push(e)},replaceCurrentModX(e){i[i.length-1]=e},singleline:n.rules.singleline},o=[],s;for(F_.lastIndex=0;s=F_.exec(e);){let t=R_(a,e,s[0],F_.lastIndex);t.tokens?o.push(...t.tokens):t.token&&o.push(t.token),t.lastIndex!==void 0&&(F_.lastIndex=t.lastIndex)}let c=[],l=0;o.filter(e=>e.type===`GroupOpen`).forEach(e=>{e.kind===`capturing`?e.number=++l:e.raw===`(`&&c.push(e)}),l||c.forEach((e,t)=>{e.kind=`capturing`,e.number=t+1});let u=l||c.length;return{tokens:o.map(e=>e.type===`EscapedNumber`?hv(e,u):e).flat(),flags:r}}function R_(e,t,n,r){let[i,a]=n;if(n===`[`||n===`[^`){let e=z_(t,n,r);return{tokens:e.tokens,lastIndex:e.lastIndex}}if(i===`\\`){if(`AbBGyYzZ`.includes(a))return{token:U_(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:rv(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:W_(n)}}if(a===`K`)return{token:Z_(`keep`,n)};if(a===`N`||a===`R`)return{token:X_(`newline`,n,{negate:a===`N`})};if(a===`O`)return{token:X_(`any`,n)};if(a===`X`)return{token:X_(`text_segment`,n)};let e=V_(n,{inCharClass:!1});return Array.isArray(e)?{tokens:e}:{token:e}}if(i===`(`){if(a===`*`)return{token:cv(n)};if(n===`(?{`)throw Error(`Unsupported callout "${n}"`);if(n.startsWith(`(?#`)){if(t[r]!==`)`)throw Error(`Unclosed comment group "(?#"`);return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:sv(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n===`(`&&!e.captureGroup||n===`(?:`)return{token:ev(`group`,n)};if(n===`(?>`)return{token:ev(`atomic`,n)};if(n===`(?=`||n===`(?!`||n===`(?<=`||n===`(?<!`)return{token:ev(n[2]===`<`?`lookbehind`:`lookahead`,n,{negate:n.endsWith(`!`)})};if(n===`(`&&e.captureGroup||n.startsWith(`(?<`)&&n.endsWith(`>`)||n.startsWith(`(?'`)&&n.endsWith(`'`))return{token:ev(`capturing`,n,{...n!==`(`&&{name:n.slice(3,-1)}})};if(n.startsWith(`(?~`)){if(n===`(?~|`)throw Error(`Unsupported absence function kind "${n}"`);return{token:ev(`absence_repeater`,n)}}throw Error(n===`(?(`?`Unsupported conditional "${n}"`:`Invalid or unsupported group option "${n}"`)}if(n===`)`){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw Error(`Unmatched ")"`);return{token:$_(n)}}if(e.getCurrentModX()){if(n===`#`){let e=t.indexOf(`
67
- `,r);return{lastIndex:e===-1?t.length:e}}if(/^\s$/.test(n)){let e=/\s+/y;return e.lastIndex=r,{lastIndex:e.exec(t)?e.lastIndex:r}}}return n===`.`?{token:X_(`dot`,n)}:n===`^`||n===`$`?{token:U_(e.singleline?{"^":A_`\A`,$:A_`\Z`}[n]:n,n)}:n===`|`?{token:H_(n)}:P_.test(n)?{tokens:gv(n)}:{token:G_(D_(n),n)}}function z_(e,t,n){let r=[Y_(t[1]===`^`,t)],i=1,a;for(I_.lastIndex=n;a=I_.exec(e);){let e=a[0];if(e[0]===`[`&&e[1]!==`:`)i++,r.push(Y_(e[1]===`^`,e));else if(e===`]`){if(r.at(-1).type===`CharacterClassOpen`)r.push(G_(93,e));else if(i--,r.push(K_(e)),!i)break}else{let t=B_(e);Array.isArray(t)?r.push(...t):r.push(t)}}return{tokens:r,lastIndex:I_.lastIndex||e.length}}function B_(e){if(e[0]===`\\`)return V_(e,{inCharClass:!0});if(e[0]===`[`){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!k_.has(t.groups.name))throw Error(`Invalid POSIX class "${e}"`);return X_(`posix`,e,{value:t.groups.name,negate:!!t.groups.negate})}return e===`-`?q_(e):e===`&&`?J_(e):G_(D_(e),e)}function V_(e,{inCharClass:t}){let n=e[1];if(n===`c`||n===`C`)return ov(e);if(`dDhHsSwW`.includes(n))return uv(e);if(e.startsWith(A_`\o{`))throw Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw Error(`Incomplete or invalid Unicode property "${e}"`);return dv(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let t=e.split(/\\x/).slice(1).map(e=>parseInt(e,16)),n=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(t)),r=new TextEncoder;return[...n].map(e=>{let t=[...r.encode(e)].map(e=>`\\x${e.toString(16)}`).join(``);return G_(D_(e),t)})}catch{throw Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n===`u`||n===`x`)return G_(mv(e),e);if(av.has(n))return G_(av.get(n),e);if(/\d/.test(n))return Q_(t,e);if(e===`\\`)throw Error(A_`Incomplete escape "\"`);if(n===`M`)throw Error(`Unsupported meta "${e}"`);if([...e].length===2)return G_(e.codePointAt(1),e);throw Error(`Unexpected escape "${e}"`)}function H_(e){return{type:`Alternator`,raw:e}}function U_(e,t){return{type:`Assertion`,kind:e,raw:t}}function W_(e){return{type:`Backreference`,raw:e}}function G_(e,t){return{type:`Character`,value:e,raw:t}}function K_(e){return{type:`CharacterClassClose`,raw:e}}function q_(e){return{type:`CharacterClassHyphen`,raw:e}}function J_(e){return{type:`CharacterClassIntersector`,raw:e}}function Y_(e,t){return{type:`CharacterClassOpen`,negate:e,raw:t}}function X_(e,t,n={}){return{type:`CharacterSet`,kind:e,...n,raw:t}}function Z_(e,t,n={}){return e===`keep`?{type:`Directive`,kind:e,raw:t}:{type:`Directive`,kind:e,flags:j_(n.flags),raw:t}}function Q_(e,t){return{type:`EscapedNumber`,inCharClass:e,raw:t}}function $_(e){return{type:`GroupClose`,raw:e}}function ev(e,t,n={}){return{type:`GroupOpen`,kind:e,...n,raw:t}}function tv(e,t,n,r){return{type:`NamedCallout`,kind:e,tag:t,arguments:n,raw:r}}function nv(e,t,n,r){return{type:`Quantifier`,kind:e,min:t,max:n,raw:r}}function rv(e){return{type:`Subroutine`,raw:e}}var iv=new Set([`COUNT`,`CMP`,`ERROR`,`FAIL`,`MAX`,`MISMATCH`,`SKIP`,`TOTAL_COUNT`]),av=new Map([[`a`,7],[`b`,8],[`e`,27],[`f`,12],[`n`,10],[`r`,13],[`t`,9],[`v`,11]]);function ov(e){let t=e[1]===`c`?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw Error(`Unsupported control character "${e}"`);return G_(D_(t.toUpperCase())-64,e)}function sv(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??=``;let i=(t.getCurrentModX()||n.includes(`x`))&&!r.includes(`x`),a=fv(n),o=fv(r),s={};if(a&&(s.enable=a),o&&(s.disable=o),e.endsWith(`)`))return t.replaceCurrentModX(i),Z_(`flags`,e,{flags:s});if(e.endsWith(`:`))return t.pushModX(i),t.numOpenGroups++,ev(`group`,e,{...(a||o)&&{flags:s}});throw Error(`Unexpected flag modifier "${e}"`)}function cv(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw Error(`Incomplete or invalid named callout "${e}"`);let{name:n,tag:r,args:i}=t.groups;if(!n)throw Error(`Invalid named callout "${e}"`);if(r===``)throw Error(`Named callout tag with empty value not allowed "${e}"`);let a=i?i.split(`,`).filter(e=>e!==``).map(e=>/^[+-]?\d+$/.test(e)?+e:e):[],[o,s,c]=a,l=iv.has(n)?n.toLowerCase():`custom`;switch(l){case`fail`:case`mismatch`:case`skip`:if(a.length>0)throw Error(`Named callout arguments not allowed "${a}"`);break;case`error`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(typeof o==`string`)throw Error(`Named callout argument must be a number "${o}"`);break;case`max`:if(!a.length||a.length>2)throw Error(`Named callout must have one or two arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(a.length===2&&(typeof s==`number`||!/^[<>X]$/.test(s)))throw Error(`Named callout optional argument two must be '<', '>', or 'X' "${s}"`);break;case`count`:case`total_count`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(a.length===1&&(typeof o==`number`||!/^[<>X]$/.test(o)))throw Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case`cmp`:if(a.length!==3)throw Error(`Named callout must have three arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof s==`number`||!/^(?:[<>!=]=|[<>])$/.test(s))throw Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${s}"`);if(typeof c==`string`&&!/^[A-Za-z_]\w*$/.test(c))throw Error(`Named callout argument three must be a tag or number "${c}"`);break;case`custom`:throw Error(`Undefined callout name "${n}"`);default:throw Error(`Unexpected named callout kind "${l}"`)}return tv(l,r??null,i?.split(`,`)??null,e)}function lv(e){let t=null,n,r;if(e[0]===`{`){let{minStr:i,maxStr:a}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+i>o||a&&+a>o)throw Error(`Quantifier value unsupported in Oniguruma`);if(n=+i,r=a===void 0?+i:a===``?1/0:+a,n>r&&(t=`possessive`,[n,r]=[r,n]),e.endsWith(`?`)){if(t===`possessive`)throw Error(`Unsupported possessive interval quantifier chain with "?"`);t=`lazy`}else t||=`greedy`}else n=+(e[0]===`+`),r=e[0]===`?`?1:1/0,t=e[1]===`+`?`possessive`:e[1]===`?`?`lazy`:`greedy`;return nv(t,n,r,e)}function uv(e){let t=e[1].toLowerCase();return X_({d:`digit`,h:`hex`,s:`space`,w:`word`}[t],e,{negate:e[1]!==t})}function dv(e){let{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return X_(`property`,e,{value:r,negate:t===`P`&&!n||t===`p`&&!!n})}function fv(e){let t={};return e.includes(`i`)&&(t.ignoreCase=!0),e.includes(`m`)&&(t.dotAll=!0),e.includes(`x`)&&(t.extended=!0),Object.keys(t).length?t:null}function pv(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){let r=e[n];if(!`imxDPSWy`.includes(r))throw Error(`Invalid flag "${r}"`);if(r===`y`){if(!/^y{[gw]}/.test(e.slice(n)))throw Error(`Invalid or unspecified flag "y" mode`);t.textSegmentMode=e[n+2]===`g`?`grapheme`:`word`,n+=3}else t[{i:`ignoreCase`,m:`dotAll`,x:`extended`,D:`digitIsAscii`,P:`posixIsAscii`,S:`spaceIsAscii`,W:`wordIsAscii`}[r]]=!0}return t}function mv(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw Error(`Incomplete or invalid escape "${e}"`);let t=e[2]===`{`?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function hv(e,t){let{raw:n,inCharClass:r}=e,i=n.slice(1);if(!r&&(i!==`0`&&i.length===1||i[0]!==`0`&&+i<=t))return[W_(n)];let a=[],o=i.match(/^[0-7]+|\d/g);for(let e=0;e<o.length;e++){let t=o[e],r;if(e===0&&t!==`8`&&t!==`9`){if(r=parseInt(t,8),r>127)throw Error(A_`Octal encoded byte above 177 unsupported "${n}"`)}else r=D_(t);a.push(G_(r,(e===0?`\\`:``)+t))}return a}function gv(e){let t=[],n=new RegExp(P_,`gy`),r;for(;r=n.exec(e);){let e=r[0];if(e[0]===`{`){let r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(e);if(r){let{min:i,max:a}=r.groups;if(+i>+a&&e.endsWith(`?`)){n.lastIndex--,t.push(lv(e.slice(0,-1)));continue}}}t.push(lv(e))}return t}function _v(e,t){if(!Array.isArray(e.body))throw Error(`Expected node with body array`);if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(e=>t[e]===n[e])}function vv(e){return yv.has(e.type)}var yv=new Set([`AbsenceFunction`,`Backreference`,`CapturingGroup`,`Character`,`CharacterClass`,`CharacterSet`,`Group`,`Quantifier`,`Subroutine`]);function bv(e,t={}){let n={flags:``,normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=L_(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(e,t)=>{let n=r.tokens[a.nextIndex];switch(a.parent=e,a.nextIndex++,n.type){case`Alternator`:return Av();case`Assertion`:return xv(n);case`Backreference`:return Sv(n,a);case`Character`:return Pv(n.value,{useLastValid:!!t.isCheckingRangeEnd});case`CharacterClassHyphen`:return Cv(n,a,t);case`CharacterClassOpen`:return wv(n,a,t);case`CharacterSet`:return Tv(n,a);case`Directive`:return Rv(n.kind,{flags:n.flags});case`GroupOpen`:return Ev(n,a,t);case`NamedCallout`:return Hv(n.kind,n.tag,n.arguments);case`Quantifier`:return Dv(n,a);case`Subroutine`:return Ov(n,a);default:throw Error(`Unexpected token type "${n.type}"`)}},a={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},o=Gv(zv(r.flags)),s=o.body[0];for(;a.nextIndex<r.tokens.length;){let e=i(s,{});e.type===`Alternative`?(o.body.push(e),s=e):s.body.push(e)}let{capturingGroups:c,hasNumberedRef:l,namedGroupsByName:u,subroutines:d}=a;if(l&&u.size&&!n.rules.captureGroup)throw Error(`Numbered backref/subroutine not allowed when using named capture`);for(let{ref:e}of d)if(typeof e==`number`){if(e>c.length)throw Error(`Subroutine uses a group number that's not defined`);e&&(c[e-1].isSubroutined=!0)}else if(u.has(e)){if(u.get(e).length>1)throw Error(A_`Subroutine uses a duplicate group name "\g<${e}>"`);u.get(e)[0].isSubroutined=!0}else throw Error(A_`Subroutine uses a group name that's not defined "\g<${e}>"`);return o}function xv({kind:e}){return jv(j_({"^":`line_start`,$:`line_end`,"\\A":`string_start`,"\\b":`word_boundary`,"\\B":`word_boundary`,"\\G":`search_start`,"\\y":`text_segment_boundary`,"\\Y":`text_segment_boundary`,"\\z":`string_end`,"\\Z":`string_end_newline`}[e],`Unexpected assertion kind "${e}"`),{negate:e===A_`\B`||e===A_`\Y`})}function Sv({raw:e},t){let n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),i=(n,r=!1)=>{let i=t.capturingGroups.length,a=!1;if(n>i){if(t.skipBackrefValidation)a=!0;else throw Error(`Not enough capturing groups defined to the left "${e}"`)}return t.hasNumberedRef=!0,Mv(r?i+1-n:n,{orphan:a})};if(n){let n=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(n)return i(+n.groups.num,!!n.groups.sign);if(/[-+]/.test(r))throw Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw Error(`Group name not defined to the left "${e}"`);return Mv(r)}return i(+r)}function Cv(e,t,n){let{tokens:r,walk:i}=t,a=t.parent,o=a.body.at(-1),s=r[t.nextIndex];if(!n.isCheckingRangeEnd&&o&&o.type!==`CharacterClass`&&o.type!==`CharacterClassRange`&&s&&s.type!==`CharacterClassOpen`&&s.type!==`CharacterClassClose`&&s.type!==`CharacterClassIntersector`){let e=i(a,{...n,isCheckingRangeEnd:!0});if(o.type===`Character`&&e.type===`Character`)return a.body.pop(),Iv(o,e);throw Error(`Invalid character class range`)}return Pv(D_(`-`))}function wv({negate:e},t,n){let{tokens:r,walk:i}=t,a=[Fv()],o=r[t.nextIndex],s=ny(o);for(;s.type!==`CharacterClassClose`;){if(s.type===`CharacterClassIntersector`)a.push(Fv()),t.nextIndex++;else{let e=a.at(-1);e.body.push(i(e,n))}s=ny(r[t.nextIndex],o)}let c=Fv({negate:e});return a.length===1?c.body=a[0].body:(c.kind=`intersection`,c.body=a.map(e=>e.body.length===1?e.body[0]:e)),t.nextIndex++,c}function Tv({kind:e,negate:t,value:n},r){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o}=r;if(e===`property`){let r=ty(n);if(k_.has(r)&&!o?.has(r))e=`posix`,n=r;else return qv(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o})}return e===`posix`?Uv(n,{negate:t}):Lv(e,{negate:t})}function Ev(e,t,n){let{tokens:r,capturingGroups:i,namedGroupsByName:a,skipLookbehindValidation:o,walk:s}=t,c=Jv(e),l=c.type===`AbsenceFunction`,u=Qv(c),d=u&&c.negate;if(c.type===`CapturingGroup`&&(i.push(c),c.name&&O_(a,c.name,[]).push(c)),l&&n.isInAbsenceFunction)throw Error(`Nested absence function not supported by Oniguruma`);let f=ry(r[t.nextIndex]);for(;f.type!==`GroupClose`;){if(f.type===`Alternator`)c.body.push(Av()),t.nextIndex++;else{let e=c.body.at(-1),t=s(e,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||u,isInNegLookbehind:n.isInNegLookbehind||d});if(e.body.push(t),(u||n.isInLookbehind)&&!o){let e=`Lookbehind includes a pattern not allowed by Oniguruma`;if(d||n.isInNegLookbehind){if(Zv(t)||t.type===`CapturingGroup`)throw Error(e)}else if(Zv(t)||Qv(t)&&t.negate)throw Error(e)}}f=ry(r[t.nextIndex])}return t.nextIndex++,c}function Dv({kind:e,min:t,max:n},r){let i=r.parent,a=i.body.at(-1);if(!a||!vv(a))throw Error(`Quantifier requires a repeatable token`);let o=Wv(e,t,n,a);return i.body.pop(),o}function Ov({raw:e},t){let{capturingGroups:n,subroutines:r}=t,i=e.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(i);if(a){let e=+a.groups.num,r=n.length;if(t.hasNumberedRef=!0,i={"":e,"+":r+e,"-":r+1-e}[a.groups.sign],i<1)throw Error(`Invalid subroutine number`)}else i===`0`&&(i=0);let o=Kv(i);return r.push(o),o}function kv(e,t){if(e!==`repeater`)throw Error(`Unexpected absence function kind "${e}"`);return{type:`AbsenceFunction`,kind:e,body:Yv(t?.body)}}function Av(e){return{type:`Alternative`,body:Xv(e?.body)}}function jv(e,t){let n={type:`Assertion`,kind:e};return(e===`word_boundary`||e===`text_segment_boundary`)&&(n.negate=!!t?.negate),n}function Mv(e,t){let n=!!t?.orphan;return{type:`Backreference`,ref:e,...n&&{orphan:n}}}function Nv(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!$v(n.name))throw Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:`CapturingGroup`,number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Yv(t?.body)}}function Pv(e,t){let n={useLastValid:!1,...t};if(e>1114111){let t=e.toString(16);if(n.useLastValid)e=1114111;else throw Error(e>1310719?`Invalid code point out of range "\\x{${t}}"`:`Invalid code point out of range in JS "\\x{${t}}"`)}return{type:`Character`,value:e}}function Fv(e){let t={kind:`union`,negate:!1,...e};return{type:`CharacterClass`,kind:t.kind,negate:t.negate,body:Xv(e?.body)}}function Iv(e,t){if(t.value<e.value)throw Error(`Character class range out of order`);return{type:`CharacterClassRange`,min:e,max:t}}function Lv(e,t){let n=!!t?.negate,r={type:`CharacterSet`,kind:e};return(e===`digit`||e===`hex`||e===`newline`||e===`space`||e===`word`)&&(r.negate=n),(e===`text_segment`||e===`newline`&&!n)&&(r.variableLength=!0),r}function Rv(e,t={}){if(e===`keep`)return{type:`Directive`,kind:e};if(e===`flags`)return{type:`Directive`,kind:e,flags:j_(t.flags)};throw Error(`Unexpected directive kind "${e}"`)}function zv(e){return{type:`Flags`,...e}}function Bv(e){let t=e?.atomic,n=e?.flags;if(t&&n)throw Error(`Atomic group cannot have flags`);return{type:`Group`,...t&&{atomic:t},...n&&{flags:n},body:Yv(e?.body)}}function Vv(e){let t={behind:!1,negate:!1,...e};return{type:`LookaroundAssertion`,kind:t.behind?`lookbehind`:`lookahead`,negate:t.negate,body:Yv(e?.body)}}function Hv(e,t,n){return{type:`NamedCallout`,kind:e,tag:t,arguments:n}}function Uv(e,t){let n=!!t?.negate;if(!k_.has(e))throw Error(`Invalid POSIX class "${e}"`);return{type:`CharacterSet`,kind:`posix`,value:e,negate:n}}function Wv(e,t,n,r){if(t>n)throw Error(`Invalid reversed quantifier range`);return{type:`Quantifier`,kind:e,min:t,max:n,body:r}}function Gv(e,t){return{type:`Regex`,body:Yv(t?.body),flags:e}}function Kv(e){return{type:`Subroutine`,ref:e}}function qv(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},r=n.unicodePropertyMap?.get(ty(e));if(!r){if(n.normalizeUnknownPropertyNames)r=ey(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw Error(A_`Invalid Unicode property "\p{${e}}"`)}return{type:`CharacterSet`,kind:`property`,value:r??e,negate:n.negate}}function Jv({flags:e,kind:t,name:n,negate:r,number:i}){switch(t){case`absence_repeater`:return kv(`repeater`);case`atomic`:return Bv({atomic:!0});case`capturing`:return Nv(i,{name:n});case`group`:return Bv({flags:e});case`lookahead`:case`lookbehind`:return Vv({behind:t===`lookbehind`,negate:r});default:throw Error(`Unexpected group kind "${t}"`)}}function Yv(e){if(e===void 0)e=[Av()];else if(!Array.isArray(e)||!e.length||!e.every(e=>e.type===`Alternative`))throw Error(`Invalid body; expected array of one or more Alternative nodes`);return e}function Xv(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(e=>!!e.type))throw Error(`Invalid body; expected array of nodes`);return e}function Zv(e){return e.type===`LookaroundAssertion`&&e.kind===`lookahead`}function Qv(e){return e.type===`LookaroundAssertion`&&e.kind===`lookbehind`}function $v(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function ey(e){return e.trim().replace(/[- _]+/g,`_`).replace(/[A-Z][a-z]+(?=[A-Z])/g,`$&_`).replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function ty(e){return e.replace(/[- _]+/g,``).toLowerCase()}function ny(e,t){let n=t;return j_(e,`Unclosed character class${n?.type===`Character`&&n.value===93&&n.raw===`]`?` (started with "]")`:``}`)}function ry(e){return j_(e,`Unclosed group`)}function iy(e,t,n=null){function r(e,t){for(let n=0;n<e.length;n++){let r=i(e[n],t,n,e);n=Math.max(-1,n+r)}}function i(a,o=null,s=null,c=null){let l=0,u=!1,d={node:a,parent:o,key:s,container:c,root:e,remove(){ay(c).splice(Math.max(0,oy(s)+l),1),l--,u=!0},removeAllNextSiblings(){return ay(c).splice(oy(s)+1)},removeAllPrevSiblings(){let e=oy(s)+l;return l-=e,ay(c).splice(0,Math.max(0,e))},replaceWith(e,t={}){let n=!!t.traverse;c?c[Math.max(0,oy(s)+l)]=e:j_(o,`Can't replace root node`)[s]=e,n&&i(e,o,s,c),u=!0},replaceWithMultiple(e,t={}){let n=!!t.traverse;if(ay(c).splice(Math.max(0,oy(s)+l),1,...e),l+=e.length-1,n){let t=0;for(let n=0;n<e.length;n++)t+=i(e[n],o,oy(s)+n+t,c)}u=!0},skip(){u=!0}},{type:f}=a,p=t[`*`],m=t[f],h=typeof p==`function`?p:p?.enter,g=typeof m==`function`?m:m?.enter;if(h?.(d,n),g?.(d,n),!u)switch(f){case`AbsenceFunction`:case`Alternative`:case`CapturingGroup`:case`CharacterClass`:case`Group`:case`LookaroundAssertion`:r(a.body,a);break;case`Assertion`:case`Backreference`:case`Character`:case`CharacterSet`:case`Directive`:case`Flags`:case`NamedCallout`:case`Subroutine`:break;case`CharacterClassRange`:i(a.min,a,`min`),i(a.max,a,`max`);break;case`Quantifier`:i(a.body,a,`body`);break;case`Regex`:r(a.body,a),i(a.flags,a,`flags`);break;default:throw Error(`Unexpected node type "${f}"`)}return m?.exit?.(d,n),p?.exit?.(d,n),l}return i(e),e}function ay(e){if(!Array.isArray(e))throw Error(`Container expected`);return e}function oy(e){if(typeof e!=`number`)throw Error(`Numeric key expected`);return e}var sy=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function cy(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function ly(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}var uy=Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`});function dy(e,t,n,r){let i=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,`gsu`),a=[!1],o=0,s=``;for(let t of e.matchAll(i)){let{0:e,groups:{$skip:i}}=t;!i&&(!r||r===uy.DEFAULT==!o)?n instanceof Function?s+=n(t,{context:o?uy.CHAR_CLASS:uy.DEFAULT,negated:a[a.length-1]}):s+=n:(e[0]===`[`?(o++,a.push(e[1]===`^`)):e===`]`&&o&&(o--,a.pop()),s+=e)}return s}function fy(e,t,n,r){dy(e,t,n,r)}function py(e,t,n=0,r){if(!new RegExp(t,`su`).test(e))return null;let i=RegExp(`${t}|(?<$skip>\\\\?.)`,`gsu`);i.lastIndex=n;let a=0,o;for(;o=i.exec(e);){let{0:e,groups:{$skip:t}}=o;if(!t&&(!r||r===uy.DEFAULT==!a))return o;e===`[`?a++:e===`]`&&a&&a--,i.lastIndex==o.index&&i.lastIndex++}return null}function my(e,t,n){return!!py(e,t,0,n)}function hy(e,t){let n=/\\?./gsu;n.lastIndex=t;let r=e.length,i=0,a=1,o;for(;o=n.exec(e);){let[e]=o;if(e===`[`)i++;else if(i)e===`]`&&i--;else if(e===`(`)a++;else if(e===`)`&&(a--,!a)){r=o.index;break}}return e.slice(t,r)}var gy=new RegExp(String.raw`(?<noncapturingStart>${sy})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,`gsu`);function _y(e,t){let n=t?.hiddenCaptures??[],r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};let i=[0],a=[],o=0,s=0,c=NaN,l;do{l=!1;let t=0,u=0,d=!1,f;for(gy.lastIndex=Number.isNaN(c)?0:c+7;f=gy.exec(e);){let{0:p,index:m,groups:{capturingStart:h,noncapturingStart:g}}=f;if(p===`[`)t++;else if(t)p===`]`&&t--;else if(p===`(?>`&&!d)c=m,d=!0;else if(d&&g)u++;else if(h)d?u++:(o++,i.push(o+s));else if(p===`)`&&d){if(!u){s++;let t=o+s;if(e=`${e.slice(0,c)}(?:(?=(${e.slice(c+3,m)}))<$$${t}>)${e.slice(m+1)}`,l=!0,a.push(t),cy(n,t),r.size){let e=new Map;r.forEach((n,r)=>{e.set(r>=t?r+1:r,n.map(e=>e>=t?e+1:e))}),r=e}break}u--}}}while(l);return n.push(...a),e=dy(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:e,groups:{backrefNum:t,wrappedBackrefNum:n}})=>{if(t){let n=+t;if(n>i.length-1)throw Error(`Backref "${e}" greater than number of captures`);return`\\${i[n]}`}return`\\${n}`},uy.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}var vy=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,yy=new RegExp(String.raw`
66
+ `.replace(/\s+/g,``),`gsu`);function R_(e,t={}){let n={flags:``,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!=`string`)throw Error(`String expected as pattern`);let r=mv(n.flags),i=[r.extended],a={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(e){i.push(e)},replaceCurrentModX(e){i[i.length-1]=e},singleline:n.rules.singleline},o=[],s;for(I_.lastIndex=0;s=I_.exec(e);){let t=z_(a,e,s[0],I_.lastIndex);t.tokens?o.push(...t.tokens):t.token&&o.push(t.token),t.lastIndex!==void 0&&(I_.lastIndex=t.lastIndex)}let c=[],l=0;o.filter(e=>e.type===`GroupOpen`).forEach(e=>{e.kind===`capturing`?e.number=++l:e.raw===`(`&&c.push(e)}),l||c.forEach((e,t)=>{e.kind=`capturing`,e.number=t+1});let u=l||c.length;return{tokens:o.map(e=>e.type===`EscapedNumber`?gv(e,u):e).flat(),flags:r}}function z_(e,t,n,r){let[i,a]=n;if(n===`[`||n===`[^`){let e=B_(t,n,r);return{tokens:e.tokens,lastIndex:e.lastIndex}}if(i===`\\`){if(`AbBGyYzZ`.includes(a))return{token:W_(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:iv(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:G_(n)}}if(a===`K`)return{token:Q_(`keep`,n)};if(a===`N`||a===`R`)return{token:Z_(`newline`,n,{negate:a===`N`})};if(a===`O`)return{token:Z_(`any`,n)};if(a===`X`)return{token:Z_(`text_segment`,n)};let e=H_(n,{inCharClass:!1});return Array.isArray(e)?{tokens:e}:{token:e}}if(i===`(`){if(a===`*`)return{token:lv(n)};if(n===`(?{`)throw Error(`Unsupported callout "${n}"`);if(n.startsWith(`(?#`)){if(t[r]!==`)`)throw Error(`Unclosed comment group "(?#"`);return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:cv(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n===`(`&&!e.captureGroup||n===`(?:`)return{token:tv(`group`,n)};if(n===`(?>`)return{token:tv(`atomic`,n)};if(n===`(?=`||n===`(?!`||n===`(?<=`||n===`(?<!`)return{token:tv(n[2]===`<`?`lookbehind`:`lookahead`,n,{negate:n.endsWith(`!`)})};if(n===`(`&&e.captureGroup||n.startsWith(`(?<`)&&n.endsWith(`>`)||n.startsWith(`(?'`)&&n.endsWith(`'`))return{token:tv(`capturing`,n,{...n!==`(`&&{name:n.slice(3,-1)}})};if(n.startsWith(`(?~`)){if(n===`(?~|`)throw Error(`Unsupported absence function kind "${n}"`);return{token:tv(`absence_repeater`,n)}}throw Error(n===`(?(`?`Unsupported conditional "${n}"`:`Invalid or unsupported group option "${n}"`)}if(n===`)`){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw Error(`Unmatched ")"`);return{token:ev(n)}}if(e.getCurrentModX()){if(n===`#`){let e=t.indexOf(`
67
+ `,r);return{lastIndex:e===-1?t.length:e}}if(/^\s$/.test(n)){let e=/\s+/y;return e.lastIndex=r,{lastIndex:e.exec(t)?e.lastIndex:r}}}return n===`.`?{token:Z_(`dot`,n)}:n===`^`||n===`$`?{token:W_(e.singleline?{"^":j_`\A`,$:j_`\Z`}[n]:n,n)}:n===`|`?{token:U_(n)}:F_.test(n)?{tokens:_v(n)}:{token:K_(O_(n),n)}}function B_(e,t,n){let r=[X_(t[1]===`^`,t)],i=1,a;for(L_.lastIndex=n;a=L_.exec(e);){let e=a[0];if(e[0]===`[`&&e[1]!==`:`)i++,r.push(X_(e[1]===`^`,e));else if(e===`]`){if(r.at(-1).type===`CharacterClassOpen`)r.push(K_(93,e));else if(i--,r.push(q_(e)),!i)break}else{let t=V_(e);Array.isArray(t)?r.push(...t):r.push(t)}}return{tokens:r,lastIndex:L_.lastIndex||e.length}}function V_(e){if(e[0]===`\\`)return H_(e,{inCharClass:!0});if(e[0]===`[`){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!A_.has(t.groups.name))throw Error(`Invalid POSIX class "${e}"`);return Z_(`posix`,e,{value:t.groups.name,negate:!!t.groups.negate})}return e===`-`?J_(e):e===`&&`?Y_(e):K_(O_(e),e)}function H_(e,{inCharClass:t}){let n=e[1];if(n===`c`||n===`C`)return sv(e);if(`dDhHsSwW`.includes(n))return dv(e);if(e.startsWith(j_`\o{`))throw Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw Error(`Incomplete or invalid Unicode property "${e}"`);return fv(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let t=e.split(/\\x/).slice(1).map(e=>parseInt(e,16)),n=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(t)),r=new TextEncoder;return[...n].map(e=>{let t=[...r.encode(e)].map(e=>`\\x${e.toString(16)}`).join(``);return K_(O_(e),t)})}catch{throw Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n===`u`||n===`x`)return K_(hv(e),e);if(ov.has(n))return K_(ov.get(n),e);if(/\d/.test(n))return $_(t,e);if(e===`\\`)throw Error(j_`Incomplete escape "\"`);if(n===`M`)throw Error(`Unsupported meta "${e}"`);if([...e].length===2)return K_(e.codePointAt(1),e);throw Error(`Unexpected escape "${e}"`)}function U_(e){return{type:`Alternator`,raw:e}}function W_(e,t){return{type:`Assertion`,kind:e,raw:t}}function G_(e){return{type:`Backreference`,raw:e}}function K_(e,t){return{type:`Character`,value:e,raw:t}}function q_(e){return{type:`CharacterClassClose`,raw:e}}function J_(e){return{type:`CharacterClassHyphen`,raw:e}}function Y_(e){return{type:`CharacterClassIntersector`,raw:e}}function X_(e,t){return{type:`CharacterClassOpen`,negate:e,raw:t}}function Z_(e,t,n={}){return{type:`CharacterSet`,kind:e,...n,raw:t}}function Q_(e,t,n={}){return e===`keep`?{type:`Directive`,kind:e,raw:t}:{type:`Directive`,kind:e,flags:M_(n.flags),raw:t}}function $_(e,t){return{type:`EscapedNumber`,inCharClass:e,raw:t}}function ev(e){return{type:`GroupClose`,raw:e}}function tv(e,t,n={}){return{type:`GroupOpen`,kind:e,...n,raw:t}}function nv(e,t,n,r){return{type:`NamedCallout`,kind:e,tag:t,arguments:n,raw:r}}function rv(e,t,n,r){return{type:`Quantifier`,kind:e,min:t,max:n,raw:r}}function iv(e){return{type:`Subroutine`,raw:e}}var av=new Set([`COUNT`,`CMP`,`ERROR`,`FAIL`,`MAX`,`MISMATCH`,`SKIP`,`TOTAL_COUNT`]),ov=new Map([[`a`,7],[`b`,8],[`e`,27],[`f`,12],[`n`,10],[`r`,13],[`t`,9],[`v`,11]]);function sv(e){let t=e[1]===`c`?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw Error(`Unsupported control character "${e}"`);return K_(O_(t.toUpperCase())-64,e)}function cv(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??=``;let i=(t.getCurrentModX()||n.includes(`x`))&&!r.includes(`x`),a=pv(n),o=pv(r),s={};if(a&&(s.enable=a),o&&(s.disable=o),e.endsWith(`)`))return t.replaceCurrentModX(i),Q_(`flags`,e,{flags:s});if(e.endsWith(`:`))return t.pushModX(i),t.numOpenGroups++,tv(`group`,e,{...(a||o)&&{flags:s}});throw Error(`Unexpected flag modifier "${e}"`)}function lv(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw Error(`Incomplete or invalid named callout "${e}"`);let{name:n,tag:r,args:i}=t.groups;if(!n)throw Error(`Invalid named callout "${e}"`);if(r===``)throw Error(`Named callout tag with empty value not allowed "${e}"`);let a=i?i.split(`,`).filter(e=>e!==``).map(e=>/^[+-]?\d+$/.test(e)?+e:e):[],[o,s,c]=a,l=av.has(n)?n.toLowerCase():`custom`;switch(l){case`fail`:case`mismatch`:case`skip`:if(a.length>0)throw Error(`Named callout arguments not allowed "${a}"`);break;case`error`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(typeof o==`string`)throw Error(`Named callout argument must be a number "${o}"`);break;case`max`:if(!a.length||a.length>2)throw Error(`Named callout must have one or two arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(a.length===2&&(typeof s==`number`||!/^[<>X]$/.test(s)))throw Error(`Named callout optional argument two must be '<', '>', or 'X' "${s}"`);break;case`count`:case`total_count`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(a.length===1&&(typeof o==`number`||!/^[<>X]$/.test(o)))throw Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case`cmp`:if(a.length!==3)throw Error(`Named callout must have three arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof s==`number`||!/^(?:[<>!=]=|[<>])$/.test(s))throw Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${s}"`);if(typeof c==`string`&&!/^[A-Za-z_]\w*$/.test(c))throw Error(`Named callout argument three must be a tag or number "${c}"`);break;case`custom`:throw Error(`Undefined callout name "${n}"`);default:throw Error(`Unexpected named callout kind "${l}"`)}return nv(l,r??null,i?.split(`,`)??null,e)}function uv(e){let t=null,n,r;if(e[0]===`{`){let{minStr:i,maxStr:a}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+i>o||a&&+a>o)throw Error(`Quantifier value unsupported in Oniguruma`);if(n=+i,r=a===void 0?+i:a===``?1/0:+a,n>r&&(t=`possessive`,[n,r]=[r,n]),e.endsWith(`?`)){if(t===`possessive`)throw Error(`Unsupported possessive interval quantifier chain with "?"`);t=`lazy`}else t||=`greedy`}else n=+(e[0]===`+`),r=e[0]===`?`?1:1/0,t=e[1]===`+`?`possessive`:e[1]===`?`?`lazy`:`greedy`;return rv(t,n,r,e)}function dv(e){let t=e[1].toLowerCase();return Z_({d:`digit`,h:`hex`,s:`space`,w:`word`}[t],e,{negate:e[1]!==t})}function fv(e){let{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return Z_(`property`,e,{value:r,negate:t===`P`&&!n||t===`p`&&!!n})}function pv(e){let t={};return e.includes(`i`)&&(t.ignoreCase=!0),e.includes(`m`)&&(t.dotAll=!0),e.includes(`x`)&&(t.extended=!0),Object.keys(t).length?t:null}function mv(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){let r=e[n];if(!`imxDPSWy`.includes(r))throw Error(`Invalid flag "${r}"`);if(r===`y`){if(!/^y{[gw]}/.test(e.slice(n)))throw Error(`Invalid or unspecified flag "y" mode`);t.textSegmentMode=e[n+2]===`g`?`grapheme`:`word`,n+=3}else t[{i:`ignoreCase`,m:`dotAll`,x:`extended`,D:`digitIsAscii`,P:`posixIsAscii`,S:`spaceIsAscii`,W:`wordIsAscii`}[r]]=!0}return t}function hv(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw Error(`Incomplete or invalid escape "${e}"`);let t=e[2]===`{`?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function gv(e,t){let{raw:n,inCharClass:r}=e,i=n.slice(1);if(!r&&(i!==`0`&&i.length===1||i[0]!==`0`&&+i<=t))return[G_(n)];let a=[],o=i.match(/^[0-7]+|\d/g);for(let e=0;e<o.length;e++){let t=o[e],r;if(e===0&&t!==`8`&&t!==`9`){if(r=parseInt(t,8),r>127)throw Error(j_`Octal encoded byte above 177 unsupported "${n}"`)}else r=O_(t);a.push(K_(r,(e===0?`\\`:``)+t))}return a}function _v(e){let t=[],n=new RegExp(F_,`gy`),r;for(;r=n.exec(e);){let e=r[0];if(e[0]===`{`){let r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(e);if(r){let{min:i,max:a}=r.groups;if(+i>+a&&e.endsWith(`?`)){n.lastIndex--,t.push(uv(e.slice(0,-1)));continue}}}t.push(uv(e))}return t}function vv(e,t){if(!Array.isArray(e.body))throw Error(`Expected node with body array`);if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(e=>t[e]===n[e])}function yv(e){return bv.has(e.type)}var bv=new Set([`AbsenceFunction`,`Backreference`,`CapturingGroup`,`Character`,`CharacterClass`,`CharacterSet`,`Group`,`Quantifier`,`Subroutine`]);function xv(e,t={}){let n={flags:``,normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=R_(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(e,t)=>{let n=r.tokens[a.nextIndex];switch(a.parent=e,a.nextIndex++,n.type){case`Alternator`:return jv();case`Assertion`:return Sv(n);case`Backreference`:return Cv(n,a);case`Character`:return Fv(n.value,{useLastValid:!!t.isCheckingRangeEnd});case`CharacterClassHyphen`:return wv(n,a,t);case`CharacterClassOpen`:return Tv(n,a,t);case`CharacterSet`:return Ev(n,a);case`Directive`:return zv(n.kind,{flags:n.flags});case`GroupOpen`:return Dv(n,a,t);case`NamedCallout`:return Uv(n.kind,n.tag,n.arguments);case`Quantifier`:return Ov(n,a);case`Subroutine`:return kv(n,a);default:throw Error(`Unexpected token type "${n.type}"`)}},a={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},o=Kv(Bv(r.flags)),s=o.body[0];for(;a.nextIndex<r.tokens.length;){let e=i(s,{});e.type===`Alternative`?(o.body.push(e),s=e):s.body.push(e)}let{capturingGroups:c,hasNumberedRef:l,namedGroupsByName:u,subroutines:d}=a;if(l&&u.size&&!n.rules.captureGroup)throw Error(`Numbered backref/subroutine not allowed when using named capture`);for(let{ref:e}of d)if(typeof e==`number`){if(e>c.length)throw Error(`Subroutine uses a group number that's not defined`);e&&(c[e-1].isSubroutined=!0)}else if(u.has(e)){if(u.get(e).length>1)throw Error(j_`Subroutine uses a duplicate group name "\g<${e}>"`);u.get(e)[0].isSubroutined=!0}else throw Error(j_`Subroutine uses a group name that's not defined "\g<${e}>"`);return o}function Sv({kind:e}){return Mv(M_({"^":`line_start`,$:`line_end`,"\\A":`string_start`,"\\b":`word_boundary`,"\\B":`word_boundary`,"\\G":`search_start`,"\\y":`text_segment_boundary`,"\\Y":`text_segment_boundary`,"\\z":`string_end`,"\\Z":`string_end_newline`}[e],`Unexpected assertion kind "${e}"`),{negate:e===j_`\B`||e===j_`\Y`})}function Cv({raw:e},t){let n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),i=(n,r=!1)=>{let i=t.capturingGroups.length,a=!1;if(n>i){if(t.skipBackrefValidation)a=!0;else throw Error(`Not enough capturing groups defined to the left "${e}"`)}return t.hasNumberedRef=!0,Nv(r?i+1-n:n,{orphan:a})};if(n){let n=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(n)return i(+n.groups.num,!!n.groups.sign);if(/[-+]/.test(r))throw Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw Error(`Group name not defined to the left "${e}"`);return Nv(r)}return i(+r)}function wv(e,t,n){let{tokens:r,walk:i}=t,a=t.parent,o=a.body.at(-1),s=r[t.nextIndex];if(!n.isCheckingRangeEnd&&o&&o.type!==`CharacterClass`&&o.type!==`CharacterClassRange`&&s&&s.type!==`CharacterClassOpen`&&s.type!==`CharacterClassClose`&&s.type!==`CharacterClassIntersector`){let e=i(a,{...n,isCheckingRangeEnd:!0});if(o.type===`Character`&&e.type===`Character`)return a.body.pop(),Lv(o,e);throw Error(`Invalid character class range`)}return Fv(O_(`-`))}function Tv({negate:e},t,n){let{tokens:r,walk:i}=t,a=[Iv()],o=r[t.nextIndex],s=ry(o);for(;s.type!==`CharacterClassClose`;){if(s.type===`CharacterClassIntersector`)a.push(Iv()),t.nextIndex++;else{let e=a.at(-1);e.body.push(i(e,n))}s=ry(r[t.nextIndex],o)}let c=Iv({negate:e});return a.length===1?c.body=a[0].body:(c.kind=`intersection`,c.body=a.map(e=>e.body.length===1?e.body[0]:e)),t.nextIndex++,c}function Ev({kind:e,negate:t,value:n},r){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o}=r;if(e===`property`){let r=ny(n);if(A_.has(r)&&!o?.has(r))e=`posix`,n=r;else return Jv(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o})}return e===`posix`?Wv(n,{negate:t}):Rv(e,{negate:t})}function Dv(e,t,n){let{tokens:r,capturingGroups:i,namedGroupsByName:a,skipLookbehindValidation:o,walk:s}=t,c=Yv(e),l=c.type===`AbsenceFunction`,u=$v(c),d=u&&c.negate;if(c.type===`CapturingGroup`&&(i.push(c),c.name&&k_(a,c.name,[]).push(c)),l&&n.isInAbsenceFunction)throw Error(`Nested absence function not supported by Oniguruma`);let f=iy(r[t.nextIndex]);for(;f.type!==`GroupClose`;){if(f.type===`Alternator`)c.body.push(jv()),t.nextIndex++;else{let e=c.body.at(-1),t=s(e,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||u,isInNegLookbehind:n.isInNegLookbehind||d});if(e.body.push(t),(u||n.isInLookbehind)&&!o){let e=`Lookbehind includes a pattern not allowed by Oniguruma`;if(d||n.isInNegLookbehind){if(Qv(t)||t.type===`CapturingGroup`)throw Error(e)}else if(Qv(t)||$v(t)&&t.negate)throw Error(e)}}f=iy(r[t.nextIndex])}return t.nextIndex++,c}function Ov({kind:e,min:t,max:n},r){let i=r.parent,a=i.body.at(-1);if(!a||!yv(a))throw Error(`Quantifier requires a repeatable token`);let o=Gv(e,t,n,a);return i.body.pop(),o}function kv({raw:e},t){let{capturingGroups:n,subroutines:r}=t,i=e.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(i);if(a){let e=+a.groups.num,r=n.length;if(t.hasNumberedRef=!0,i={"":e,"+":r+e,"-":r+1-e}[a.groups.sign],i<1)throw Error(`Invalid subroutine number`)}else i===`0`&&(i=0);let o=qv(i);return r.push(o),o}function Av(e,t){if(e!==`repeater`)throw Error(`Unexpected absence function kind "${e}"`);return{type:`AbsenceFunction`,kind:e,body:Xv(t?.body)}}function jv(e){return{type:`Alternative`,body:Zv(e?.body)}}function Mv(e,t){let n={type:`Assertion`,kind:e};return(e===`word_boundary`||e===`text_segment_boundary`)&&(n.negate=!!t?.negate),n}function Nv(e,t){let n=!!t?.orphan;return{type:`Backreference`,ref:e,...n&&{orphan:n}}}function Pv(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!ey(n.name))throw Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:`CapturingGroup`,number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Xv(t?.body)}}function Fv(e,t){let n={useLastValid:!1,...t};if(e>1114111){let t=e.toString(16);if(n.useLastValid)e=1114111;else throw Error(e>1310719?`Invalid code point out of range "\\x{${t}}"`:`Invalid code point out of range in JS "\\x{${t}}"`)}return{type:`Character`,value:e}}function Iv(e){let t={kind:`union`,negate:!1,...e};return{type:`CharacterClass`,kind:t.kind,negate:t.negate,body:Zv(e?.body)}}function Lv(e,t){if(t.value<e.value)throw Error(`Character class range out of order`);return{type:`CharacterClassRange`,min:e,max:t}}function Rv(e,t){let n=!!t?.negate,r={type:`CharacterSet`,kind:e};return(e===`digit`||e===`hex`||e===`newline`||e===`space`||e===`word`)&&(r.negate=n),(e===`text_segment`||e===`newline`&&!n)&&(r.variableLength=!0),r}function zv(e,t={}){if(e===`keep`)return{type:`Directive`,kind:e};if(e===`flags`)return{type:`Directive`,kind:e,flags:M_(t.flags)};throw Error(`Unexpected directive kind "${e}"`)}function Bv(e){return{type:`Flags`,...e}}function Vv(e){let t=e?.atomic,n=e?.flags;if(t&&n)throw Error(`Atomic group cannot have flags`);return{type:`Group`,...t&&{atomic:t},...n&&{flags:n},body:Xv(e?.body)}}function Hv(e){let t={behind:!1,negate:!1,...e};return{type:`LookaroundAssertion`,kind:t.behind?`lookbehind`:`lookahead`,negate:t.negate,body:Xv(e?.body)}}function Uv(e,t,n){return{type:`NamedCallout`,kind:e,tag:t,arguments:n}}function Wv(e,t){let n=!!t?.negate;if(!A_.has(e))throw Error(`Invalid POSIX class "${e}"`);return{type:`CharacterSet`,kind:`posix`,value:e,negate:n}}function Gv(e,t,n,r){if(t>n)throw Error(`Invalid reversed quantifier range`);return{type:`Quantifier`,kind:e,min:t,max:n,body:r}}function Kv(e,t){return{type:`Regex`,body:Xv(t?.body),flags:e}}function qv(e){return{type:`Subroutine`,ref:e}}function Jv(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},r=n.unicodePropertyMap?.get(ny(e));if(!r){if(n.normalizeUnknownPropertyNames)r=ty(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw Error(j_`Invalid Unicode property "\p{${e}}"`)}return{type:`CharacterSet`,kind:`property`,value:r??e,negate:n.negate}}function Yv({flags:e,kind:t,name:n,negate:r,number:i}){switch(t){case`absence_repeater`:return Av(`repeater`);case`atomic`:return Vv({atomic:!0});case`capturing`:return Pv(i,{name:n});case`group`:return Vv({flags:e});case`lookahead`:case`lookbehind`:return Hv({behind:t===`lookbehind`,negate:r});default:throw Error(`Unexpected group kind "${t}"`)}}function Xv(e){if(e===void 0)e=[jv()];else if(!Array.isArray(e)||!e.length||!e.every(e=>e.type===`Alternative`))throw Error(`Invalid body; expected array of one or more Alternative nodes`);return e}function Zv(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(e=>!!e.type))throw Error(`Invalid body; expected array of nodes`);return e}function Qv(e){return e.type===`LookaroundAssertion`&&e.kind===`lookahead`}function $v(e){return e.type===`LookaroundAssertion`&&e.kind===`lookbehind`}function ey(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function ty(e){return e.trim().replace(/[- _]+/g,`_`).replace(/[A-Z][a-z]+(?=[A-Z])/g,`$&_`).replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function ny(e){return e.replace(/[- _]+/g,``).toLowerCase()}function ry(e,t){let n=t;return M_(e,`Unclosed character class${n?.type===`Character`&&n.value===93&&n.raw===`]`?` (started with "]")`:``}`)}function iy(e){return M_(e,`Unclosed group`)}function ay(e,t,n=null){function r(e,t){for(let n=0;n<e.length;n++){let r=i(e[n],t,n,e);n=Math.max(-1,n+r)}}function i(a,o=null,s=null,c=null){let l=0,u=!1,d={node:a,parent:o,key:s,container:c,root:e,remove(){oy(c).splice(Math.max(0,sy(s)+l),1),l--,u=!0},removeAllNextSiblings(){return oy(c).splice(sy(s)+1)},removeAllPrevSiblings(){let e=sy(s)+l;return l-=e,oy(c).splice(0,Math.max(0,e))},replaceWith(e,t={}){let n=!!t.traverse;c?c[Math.max(0,sy(s)+l)]=e:M_(o,`Can't replace root node`)[s]=e,n&&i(e,o,s,c),u=!0},replaceWithMultiple(e,t={}){let n=!!t.traverse;if(oy(c).splice(Math.max(0,sy(s)+l),1,...e),l+=e.length-1,n){let t=0;for(let n=0;n<e.length;n++)t+=i(e[n],o,sy(s)+n+t,c)}u=!0},skip(){u=!0}},{type:f}=a,p=t[`*`],m=t[f],h=typeof p==`function`?p:p?.enter,g=typeof m==`function`?m:m?.enter;if(h?.(d,n),g?.(d,n),!u)switch(f){case`AbsenceFunction`:case`Alternative`:case`CapturingGroup`:case`CharacterClass`:case`Group`:case`LookaroundAssertion`:r(a.body,a);break;case`Assertion`:case`Backreference`:case`Character`:case`CharacterSet`:case`Directive`:case`Flags`:case`NamedCallout`:case`Subroutine`:break;case`CharacterClassRange`:i(a.min,a,`min`),i(a.max,a,`max`);break;case`Quantifier`:i(a.body,a,`body`);break;case`Regex`:r(a.body,a),i(a.flags,a,`flags`);break;default:throw Error(`Unexpected node type "${f}"`)}return m?.exit?.(d,n),p?.exit?.(d,n),l}return i(e),e}function oy(e){if(!Array.isArray(e))throw Error(`Container expected`);return e}function sy(e){if(typeof e!=`number`)throw Error(`Numeric key expected`);return e}var cy=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function ly(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function uy(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}var dy=Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`});function fy(e,t,n,r){let i=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,`gsu`),a=[!1],o=0,s=``;for(let t of e.matchAll(i)){let{0:e,groups:{$skip:i}}=t;!i&&(!r||r===dy.DEFAULT==!o)?n instanceof Function?s+=n(t,{context:o?dy.CHAR_CLASS:dy.DEFAULT,negated:a[a.length-1]}):s+=n:(e[0]===`[`?(o++,a.push(e[1]===`^`)):e===`]`&&o&&(o--,a.pop()),s+=e)}return s}function py(e,t,n,r){fy(e,t,n,r)}function my(e,t,n=0,r){if(!new RegExp(t,`su`).test(e))return null;let i=RegExp(`${t}|(?<$skip>\\\\?.)`,`gsu`);i.lastIndex=n;let a=0,o;for(;o=i.exec(e);){let{0:e,groups:{$skip:t}}=o;if(!t&&(!r||r===dy.DEFAULT==!a))return o;e===`[`?a++:e===`]`&&a&&a--,i.lastIndex==o.index&&i.lastIndex++}return null}function hy(e,t,n){return!!my(e,t,0,n)}function gy(e,t){let n=/\\?./gsu;n.lastIndex=t;let r=e.length,i=0,a=1,o;for(;o=n.exec(e);){let[e]=o;if(e===`[`)i++;else if(i)e===`]`&&i--;else if(e===`(`)a++;else if(e===`)`&&(a--,!a)){r=o.index;break}}return e.slice(t,r)}var _y=new RegExp(String.raw`(?<noncapturingStart>${cy})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,`gsu`);function vy(e,t){let n=t?.hiddenCaptures??[],r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};let i=[0],a=[],o=0,s=0,c=NaN,l;do{l=!1;let t=0,u=0,d=!1,f;for(_y.lastIndex=Number.isNaN(c)?0:c+7;f=_y.exec(e);){let{0:p,index:m,groups:{capturingStart:h,noncapturingStart:g}}=f;if(p===`[`)t++;else if(t)p===`]`&&t--;else if(p===`(?>`&&!d)c=m,d=!0;else if(d&&g)u++;else if(h)d?u++:(o++,i.push(o+s));else if(p===`)`&&d){if(!u){s++;let t=o+s;if(e=`${e.slice(0,c)}(?:(?=(${e.slice(c+3,m)}))<$$${t}>)${e.slice(m+1)}`,l=!0,a.push(t),ly(n,t),r.size){let e=new Map;r.forEach((n,r)=>{e.set(r>=t?r+1:r,n.map(e=>e>=t?e+1:e))}),r=e}break}u--}}}while(l);return n.push(...a),e=fy(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:e,groups:{backrefNum:t,wrappedBackrefNum:n}})=>{if(t){let n=+t;if(n>i.length-1)throw Error(`Backref "${e}" greater than number of captures`);return`\\${i[n]}`}return`\\${n}`},dy.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}var yy=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,by=new RegExp(String.raw`
68
68
  \\(?: \d+
69
69
  | c[A-Za-z]
70
70
  | [gk]<[^>]+>
@@ -77,9 +77,9 @@ WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){t
77
77
  | [A-Za-z\-]+:
78
78
  | \(DEFINE\)
79
79
  ))?
80
- | (?<qBase>${vy})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
80
+ | (?<qBase>${yy})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
81
81
  | \\?.
82
- `.replace(/\s+/g,``),`gsu`);function by(e){if(!RegExp(`${vy}\\+`).test(e))return{pattern:e};let t=[],n=null,r=null,i=``,a=0,o;for(yy.lastIndex=0;o=yy.exec(e);){let{0:s,index:c,groups:{qBase:l,qMod:u,invalidQ:d}}=o;if(s===`[`)a||(r=c),a++;else if(s===`]`)a?a--:r=null;else if(!a){if(u===`+`&&i&&!i.startsWith(`(`)){if(d)throw Error(`Invalid quantifier "${s}"`);let t=-1;if(/^\{\d+\}$/.test(l))e=ly(e,c+l.length,u,``);else{if(i===`)`||i===`]`){let t=i===`)`?n:r;if(t===null)throw Error(`Invalid unmatched "${i}"`);e=`${e.slice(0,t)}(?>${e.slice(t,c)}${l})${e.slice(c+s.length)}`}else e=`${e.slice(0,c-i.length)}(?>${i}${l})${e.slice(c+s.length)}`;t+=4}yy.lastIndex+=t}else s[0]===`(`?t.push(c):s===`)`&&(n=t.length?t.pop():null)}i=s}return{pattern:e}}var xy=String.raw,Sy=xy`\(\?R=(?<rDepth>[^\)]+)\)|${xy`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`}`,Cy=xy`\(\?<(?![=!])(?<captureName>[^>]+)>`,wy=xy`${Cy}|(?<unnamed>\()(?!\?)`,Ty=new RegExp(xy`${Cy}|${Sy}|\(\?|\\?.`,`gsu`),Ey=`Cannot use multiple overlapping recursions`;function Dy(e,t){let{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:`plugin`,...t},i=t?.captureTransfers??new Map;if(!new RegExp(Sy,`su`).test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(r===`plugin`&&my(e,xy`\(\?\(DEFINE\)`,uy.DEFAULT))throw Error(`DEFINE groups cannot be used with recursion`);let a=[],o=my(e,xy`\\[1-9]`,uy.DEFAULT),s=new Map,c=[],l=!1,u=0,d=0,f;for(Ty.lastIndex=0;f=Ty.exec(e);){let{0:t,groups:{captureName:p,rDepth:m,gRNameOrNum:h,gRDepth:g}}=f;if(t===`[`)u++;else if(u)t===`]`&&u--;else{if(m){if(Oy(m),l)throw Error(Ey);if(o)throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with global recursion`);let t=e.slice(0,f.index),s=e.slice(Ty.lastIndex);if(my(s,Sy,uy.DEFAULT))throw Error(Ey);let c=m-1;e=ky(t,s,c,!1,n,a,d),i=My(i,t,c,a.length,0,d);break}if(h){Oy(g);let u=!1;for(let e of c)if(e.name===h||e.num===+h){if(u=!0,e.hasRecursedWithin)throw Error(Ey);break}if(!u)throw Error(xy`Recursive \g cannot be used outside the referenced group "${r===`external`?h:xy`\g<${h}&R=${g}>`}"`);let p=s.get(h),m=hy(e,p);if(o&&my(m,xy`${Cy}|\((?!\?)`,uy.DEFAULT))throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with recursion of capturing groups`);let _=e.slice(p,f.index),v=m.slice(_.length+t.length),ee=a.length,y=g-1,b=ky(_,v,y,!0,n,a,d);i=My(i,_,y,a.length-ee,ee,d),e=`${e.slice(0,p)}${b}${e.slice(p+m.length)}`,Ty.lastIndex+=b.length-t.length-_.length-v.length,c.forEach(e=>e.hasRecursedWithin=!0),l=!0}else if(p)d++,s.set(String(d),Ty.lastIndex),s.set(p,Ty.lastIndex),c.push({num:d,name:p});else if(t[0]===`(`){let e=t===`(`;e&&(d++,s.set(String(d),Ty.lastIndex)),c.push(e?{num:d}:{})}else t===`)`&&c.pop()}}return n.push(...a),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function Oy(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e)||(e=+e,e<2||e>100))throw Error(t)}function ky(e,t,n,r,i,a,o){let s=new Set;r&&fy(e+t,Cy,({groups:{captureName:e}})=>{s.add(e)},uy.DEFAULT);let c=[n,r?s:null,i,a,o];return`${e}${Ay(`(?:${e}`,`forward`,...c)}(?:)${Ay(`${t})`,`backward`,...c)}${t}`}function Ay(e,t,n,r,i,a,o){let s=e=>t===`forward`?e+2:n-e+2-1,c=``;for(let t=0;t<n;t++){let n=s(t);c+=dy(e,xy`${wy}|\\k<(?<backref>[^>]+)>`,({0:e,groups:{captureName:t,unnamed:s,backref:c}})=>{if(c&&r&&!r.has(c))return e;let l=`_$${n}`;if(s||t){let n=o+a.length+1;return a.push(n),jy(i,n),s?e:`(?<${t}${l}>`}return xy`\k<${c}${l}>`},uy.DEFAULT)}return c}function jy(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function My(e,t,n,r,i,a){if(e.size&&r){let o=0;fy(t,wy,()=>o++,uy.DEFAULT);let s=a-o+i,c=new Map;return e.forEach((e,t)=>{let i=(r-o*n)/n,a=o*n,l=t>s+o?t+r:t,u=[];for(let t of e)if(t<=s)u.push(t);else if(t>s+o+i)u.push(t+r);else if(t<=s+o)for(let e=0;e<=n;e++)u.push(t+o*e);else for(let e=0;e<=n;e++)u.push(t+a+i*e);c.set(l,u)}),c}return e}var Ny=String.fromCodePoint,$=String.raw,Py={},Fy=globalThis.RegExp;Py.flagGroups=(()=>{try{new Fy(`(?i:)`)}catch{return!1}return!0})(),Py.unicodeSets=(()=>{try{new Fy(`[[]]`,`v`)}catch{return!1}return!0})(),Py.bugFlagVLiteralHyphenIsRange=Py.unicodeSets?(()=>{try{new Fy($`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,Py.bugNestedClassIgnoresNegation=Py.unicodeSets&&new Fy(`[[^a]]`,`v`).test(`a`);function Iy(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function Ly(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Ry(e,t){return By[e]>=By[t]}function zy(e,t){if(e==null)throw Error(t??`Value expected`);return e}var By={ES2025:2025,ES2024:2024,ES2018:2018},Vy={auto:`auto`,ES2025:`ES2025`,ES2024:`ES2024`,ES2018:`ES2018`};function Hy(e={}){if({}.toString.call(e)!==`[object Object]`)throw Error(`Unexpected options`);if(e.target!==void 0&&!Vy[e.target])throw Error(`Unexpected target "${e.target}"`);let t={accuracy:`default`,avoidSubclass:!1,flags:``,global:!1,hasIndices:!1,lazyCompileLength:1/0,target:`auto`,verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target===`auto`&&(t.target=Py.flagGroups?`ES2025`:Py.unicodeSets?`ES2024`:`ES2018`),t}var Uy=`[ -\r ]`,Wy=new Set([Ny(304),Ny(305)]),Gy=$`[\p{L}\p{M}\p{N}\p{Pc}]`;function Ky(e){if(Wy.has(e))return[e];let t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),i=Xy.get(n),a=Jy.get(n),o=Yy.get(n);return[...r].length===1&&t.add(r),o&&t.add(o),i&&t.add(i),t.add(n),a&&t.add(a),[...t]}var qy=new Map(`C Other
82
+ `.replace(/\s+/g,``),`gsu`);function xy(e){if(!RegExp(`${yy}\\+`).test(e))return{pattern:e};let t=[],n=null,r=null,i=``,a=0,o;for(by.lastIndex=0;o=by.exec(e);){let{0:s,index:c,groups:{qBase:l,qMod:u,invalidQ:d}}=o;if(s===`[`)a||(r=c),a++;else if(s===`]`)a?a--:r=null;else if(!a){if(u===`+`&&i&&!i.startsWith(`(`)){if(d)throw Error(`Invalid quantifier "${s}"`);let t=-1;if(/^\{\d+\}$/.test(l))e=uy(e,c+l.length,u,``);else{if(i===`)`||i===`]`){let t=i===`)`?n:r;if(t===null)throw Error(`Invalid unmatched "${i}"`);e=`${e.slice(0,t)}(?>${e.slice(t,c)}${l})${e.slice(c+s.length)}`}else e=`${e.slice(0,c-i.length)}(?>${i}${l})${e.slice(c+s.length)}`;t+=4}by.lastIndex+=t}else s[0]===`(`?t.push(c):s===`)`&&(n=t.length?t.pop():null)}i=s}return{pattern:e}}var Sy=String.raw,Cy=Sy`\(\?R=(?<rDepth>[^\)]+)\)|${Sy`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`}`,wy=Sy`\(\?<(?![=!])(?<captureName>[^>]+)>`,Ty=Sy`${wy}|(?<unnamed>\()(?!\?)`,Ey=new RegExp(Sy`${wy}|${Cy}|\(\?|\\?.`,`gsu`),Dy=`Cannot use multiple overlapping recursions`;function Oy(e,t){let{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:`plugin`,...t},i=t?.captureTransfers??new Map;if(!new RegExp(Cy,`su`).test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(r===`plugin`&&hy(e,Sy`\(\?\(DEFINE\)`,dy.DEFAULT))throw Error(`DEFINE groups cannot be used with recursion`);let a=[],o=hy(e,Sy`\\[1-9]`,dy.DEFAULT),s=new Map,c=[],l=!1,u=0,d=0,f;for(Ey.lastIndex=0;f=Ey.exec(e);){let{0:t,groups:{captureName:p,rDepth:m,gRNameOrNum:h,gRDepth:g}}=f;if(t===`[`)u++;else if(u)t===`]`&&u--;else{if(m){if(ky(m),l)throw Error(Dy);if(o)throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with global recursion`);let t=e.slice(0,f.index),s=e.slice(Ey.lastIndex);if(hy(s,Cy,dy.DEFAULT))throw Error(Dy);let c=m-1;e=Ay(t,s,c,!1,n,a,d),i=Ny(i,t,c,a.length,0,d);break}if(h){ky(g);let u=!1;for(let e of c)if(e.name===h||e.num===+h){if(u=!0,e.hasRecursedWithin)throw Error(Dy);break}if(!u)throw Error(Sy`Recursive \g cannot be used outside the referenced group "${r===`external`?h:Sy`\g<${h}&R=${g}>`}"`);let p=s.get(h),m=gy(e,p);if(o&&hy(m,Sy`${wy}|\((?!\?)`,dy.DEFAULT))throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with recursion of capturing groups`);let _=e.slice(p,f.index),v=m.slice(_.length+t.length),ee=a.length,y=g-1,b=Ay(_,v,y,!0,n,a,d);i=Ny(i,_,y,a.length-ee,ee,d),e=`${e.slice(0,p)}${b}${e.slice(p+m.length)}`,Ey.lastIndex+=b.length-t.length-_.length-v.length,c.forEach(e=>e.hasRecursedWithin=!0),l=!0}else if(p)d++,s.set(String(d),Ey.lastIndex),s.set(p,Ey.lastIndex),c.push({num:d,name:p});else if(t[0]===`(`){let e=t===`(`;e&&(d++,s.set(String(d),Ey.lastIndex)),c.push(e?{num:d}:{})}else t===`)`&&c.pop()}}return n.push(...a),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function ky(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e)||(e=+e,e<2||e>100))throw Error(t)}function Ay(e,t,n,r,i,a,o){let s=new Set;r&&py(e+t,wy,({groups:{captureName:e}})=>{s.add(e)},dy.DEFAULT);let c=[n,r?s:null,i,a,o];return`${e}${jy(`(?:${e}`,`forward`,...c)}(?:)${jy(`${t})`,`backward`,...c)}${t}`}function jy(e,t,n,r,i,a,o){let s=e=>t===`forward`?e+2:n-e+2-1,c=``;for(let t=0;t<n;t++){let n=s(t);c+=fy(e,Sy`${Ty}|\\k<(?<backref>[^>]+)>`,({0:e,groups:{captureName:t,unnamed:s,backref:c}})=>{if(c&&r&&!r.has(c))return e;let l=`_$${n}`;if(s||t){let n=o+a.length+1;return a.push(n),My(i,n),s?e:`(?<${t}${l}>`}return Sy`\k<${c}${l}>`},dy.DEFAULT)}return c}function My(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function Ny(e,t,n,r,i,a){if(e.size&&r){let o=0;py(t,Ty,()=>o++,dy.DEFAULT);let s=a-o+i,c=new Map;return e.forEach((e,t)=>{let i=(r-o*n)/n,a=o*n,l=t>s+o?t+r:t,u=[];for(let t of e)if(t<=s)u.push(t);else if(t>s+o+i)u.push(t+r);else if(t<=s+o)for(let e=0;e<=n;e++)u.push(t+o*e);else for(let e=0;e<=n;e++)u.push(t+a+i*e);c.set(l,u)}),c}return e}var Py=String.fromCodePoint,$=String.raw,Fy={},Iy=globalThis.RegExp;Fy.flagGroups=(()=>{try{new Iy(`(?i:)`)}catch{return!1}return!0})(),Fy.unicodeSets=(()=>{try{new Iy(`[[]]`,`v`)}catch{return!1}return!0})(),Fy.bugFlagVLiteralHyphenIsRange=Fy.unicodeSets?(()=>{try{new Iy($`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,Fy.bugNestedClassIgnoresNegation=Fy.unicodeSets&&new Iy(`[[^a]]`,`v`).test(`a`);function Ly(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function Ry(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function zy(e,t){return Vy[e]>=Vy[t]}function By(e,t){if(e==null)throw Error(t??`Value expected`);return e}var Vy={ES2025:2025,ES2024:2024,ES2018:2018},Hy={auto:`auto`,ES2025:`ES2025`,ES2024:`ES2024`,ES2018:`ES2018`};function Uy(e={}){if({}.toString.call(e)!==`[object Object]`)throw Error(`Unexpected options`);if(e.target!==void 0&&!Hy[e.target])throw Error(`Unexpected target "${e.target}"`);let t={accuracy:`default`,avoidSubclass:!1,flags:``,global:!1,hasIndices:!1,lazyCompileLength:1/0,target:`auto`,verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target===`auto`&&(t.target=Fy.flagGroups?`ES2025`:Fy.unicodeSets?`ES2024`:`ES2018`),t}var Wy=`[ -\r ]`,Gy=new Set([Py(304),Py(305)]),Ky=$`[\p{L}\p{M}\p{N}\p{Pc}]`;function qy(e){if(Gy.has(e))return[e];let t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),i=Zy.get(n),a=Yy.get(n),o=Xy.get(n);return[...r].length===1&&t.add(r),o&&t.add(o),i&&t.add(i),t.add(n),a&&t.add(a),[...t]}var Jy=new Map(`C Other
83
83
  Cc Control cntrl
84
84
  Cf Format
85
85
  Cn Unassigned
@@ -169,22 +169,22 @@ Uppercase Upper
169
169
  Variation_Selector VS
170
170
  White_Space space
171
171
  XID_Continue XIDC
172
- XID_Start XIDS`.split(/\s/).map(e=>[ty(e),e])),Jy=new Map([[`s`,Ny(383)],[Ny(383),`s`]]),Yy=new Map([[Ny(223),Ny(7838)],[Ny(107),Ny(8490)],[Ny(229),Ny(8491)],[Ny(969),Ny(8486)]]),Xy=new Map([$y(453),$y(456),$y(459),$y(498),...eb(8072,8079),...eb(8088,8095),...eb(8104,8111),$y(8124),$y(8140),$y(8188)]),Zy=new Map([[`alnum`,$`[\p{Alpha}\p{Nd}]`],[`alpha`,$`\p{Alpha}`],[`ascii`,$`\p{ASCII}`],[`blank`,$`[\p{Zs}\t]`],[`cntrl`,$`\p{Cc}`],[`digit`,$`\p{Nd}`],[`graph`,$`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],[`lower`,$`\p{Lower}`],[`print`,$`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],[`punct`,$`[\p{P}\p{S}]`],[`space`,$`\p{space}`],[`upper`,$`\p{Upper}`],[`word`,$`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],[`xdigit`,$`\p{AHex}`]]);function Qy(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function $y(e){let t=Ny(e);return[t.toLowerCase(),t]}function eb(e,t){return Qy(e,t).map(e=>$y(e))}var tb=new Set([`Lower`,`Lowercase`,`Upper`,`Uppercase`,`Ll`,`Lowercase_Letter`,`Lt`,`Titlecase_Letter`,`Lu`,`Uppercase_Letter`]);function nb(e,t){let n={accuracy:`default`,asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:`ES2025`,...t};ob(e);let r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Ry(n.bestEffortTarget,`ES2024`),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};iy(e,rb,r);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};return iy(e,ib,a),iy(e,ab,{groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer}),e._originMap=a.groupOriginByCopy,e._strategy=r.strategy,e}var rb={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:r,kind:i}=e;if(i===`repeater`){let e=Bv();e.body[0].body.push(Vv({negate:!0,body:r}),qv(`Any`));let i=Bv();i.body[0].body.push(Wv(`greedy`,0,1/0,e)),n(Tb(i,t),{traverse:!0})}else throw Error(`Unsupported absence function "(?~|"`)},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){let i=e.body.filter(e=>e.kind===`flags`);for(let e=n+1;e<t.body.length;e++){let n=t.body[e];Ly(r,n,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let n=pb(t.get(e));if(n){let t=Bv({flags:n});t.body[0].body=e.body,e.body=[Tb(t,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:i,remove:a,replaceWith:o},s){let{kind:c,negate:l}=e,{asciiWordBoundaries:u,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=s;if(c===`text_segment_boundary`)throw Error(`Unsupported text segment boundary "\\${l?`Y`:`y`}"`);if(c===`line_end`)o(Tb(Vv({body:[Av({body:[jv(`string_end`)]}),Av({body:[Pv(10)]})]}),t));else if(c===`line_start`)o(Tb(Sb($`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c===`search_start`){if(f.has(e))i.flags.sticky=!0,a();else{let e=r[n-1];if(e&&yb(e))o(Tb(Vv({negate:!0}),t));else if(d)throw Error($`Uses "\G" in a way that requires a subclass`);else o(wb(jv(`string_start`),t)),s.strategy=`clip_search`}}else if(c!==`string_end`&&c!==`string_start`){if(c===`string_end_newline`)o(Tb(Sb($`(?=\n?\z)`),t));else if(c===`word_boundary`){if(!p&&!u){let e=`(?:(?<=${Gy})(?!${Gy})|(?<!${Gy})(?=${Gy}))`,n=`(?:(?<=${Gy})(?=${Gy})|(?<!${Gy})(?!${Gy}))`;o(Tb(Sb(l?n:e),t))}}else throw Error(`Unexpected assertion kind "${c}"`)}},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!xb(n)&&(n=fb(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!xb(r)&&(r=fb(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){t.kind===`intersection`&&n(Tb(Fv({body:[e]}),t),{traverse:!0})},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:i,digitIsAscii:a,spaceIsAscii:o,wordIsAscii:s}){let{kind:c,negate:l,value:u}=e;if(a&&(c===`digit`||u===`digit`))n(wb(Lv(`digit`,{negate:l}),t));else if(o&&(c===`space`||u===`space`))n(Tb(Cb(Sb(Uy),l),t));else if(s&&(c===`word`||u===`word`))n(wb(Lv(`word`,{negate:l}),t));else if(c===`any`)n(wb(qv(`Any`),t));else if(c===`digit`)n(wb(qv(`Nd`,{negate:l}),t));else if(c!==`dot`){if(c===`text_segment`){if(r===`strict`)throw Error($`Use of "\X" requires non-strict accuracy`);let e=`\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?`,a=$`\p{RI}{2}|${e}(?:\u200D${e})*`;n(Tb(Sb($`(?>\r\n|${i?$`\p{RGI_Emoji}`:a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c===`hex`)n(wb(qv(`AHex`,{negate:l}),t));else if(c===`newline`)n(Tb(Sb(l?`[^
172
+ XID_Start XIDS`.split(/\s/).map(e=>[ny(e),e])),Yy=new Map([[`s`,Py(383)],[Py(383),`s`]]),Xy=new Map([[Py(223),Py(7838)],[Py(107),Py(8490)],[Py(229),Py(8491)],[Py(969),Py(8486)]]),Zy=new Map([eb(453),eb(456),eb(459),eb(498),...tb(8072,8079),...tb(8088,8095),...tb(8104,8111),eb(8124),eb(8140),eb(8188)]),Qy=new Map([[`alnum`,$`[\p{Alpha}\p{Nd}]`],[`alpha`,$`\p{Alpha}`],[`ascii`,$`\p{ASCII}`],[`blank`,$`[\p{Zs}\t]`],[`cntrl`,$`\p{Cc}`],[`digit`,$`\p{Nd}`],[`graph`,$`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],[`lower`,$`\p{Lower}`],[`print`,$`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],[`punct`,$`[\p{P}\p{S}]`],[`space`,$`\p{space}`],[`upper`,$`\p{Upper}`],[`word`,$`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],[`xdigit`,$`\p{AHex}`]]);function $y(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function eb(e){let t=Py(e);return[t.toLowerCase(),t]}function tb(e,t){return $y(e,t).map(e=>eb(e))}var nb=new Set([`Lower`,`Lowercase`,`Upper`,`Uppercase`,`Ll`,`Lowercase_Letter`,`Lt`,`Titlecase_Letter`,`Lu`,`Uppercase_Letter`]);function rb(e,t){let n={accuracy:`default`,asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:`ES2025`,...t};sb(e);let r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:zy(n.bestEffortTarget,`ES2024`),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};ay(e,ib,r);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};return ay(e,ab,a),ay(e,ob,{groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer}),e._originMap=a.groupOriginByCopy,e._strategy=r.strategy,e}var ib={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:r,kind:i}=e;if(i===`repeater`){let e=Vv();e.body[0].body.push(Hv({negate:!0,body:r}),Jv(`Any`));let i=Vv();i.body[0].body.push(Gv(`greedy`,0,1/0,e)),n(Eb(i,t),{traverse:!0})}else throw Error(`Unsupported absence function "(?~|"`)},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){let i=e.body.filter(e=>e.kind===`flags`);for(let e=n+1;e<t.body.length;e++){let n=t.body[e];Ry(r,n,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let n=mb(t.get(e));if(n){let t=Vv({flags:n});t.body[0].body=e.body,e.body=[Eb(t,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:i,remove:a,replaceWith:o},s){let{kind:c,negate:l}=e,{asciiWordBoundaries:u,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=s;if(c===`text_segment_boundary`)throw Error(`Unsupported text segment boundary "\\${l?`Y`:`y`}"`);if(c===`line_end`)o(Eb(Hv({body:[jv({body:[Mv(`string_end`)]}),jv({body:[Fv(10)]})]}),t));else if(c===`line_start`)o(Eb(Cb($`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c===`search_start`){if(f.has(e))i.flags.sticky=!0,a();else{let e=r[n-1];if(e&&bb(e))o(Eb(Hv({negate:!0}),t));else if(d)throw Error($`Uses "\G" in a way that requires a subclass`);else o(Tb(Mv(`string_start`),t)),s.strategy=`clip_search`}}else if(c!==`string_end`&&c!==`string_start`){if(c===`string_end_newline`)o(Eb(Cb($`(?=\n?\z)`),t));else if(c===`word_boundary`){if(!p&&!u){let e=`(?:(?<=${Ky})(?!${Ky})|(?<!${Ky})(?=${Ky}))`,n=`(?:(?<=${Ky})(?=${Ky})|(?<!${Ky})(?!${Ky}))`;o(Eb(Cb(l?n:e),t))}}else throw Error(`Unexpected assertion kind "${c}"`)}},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!Sb(n)&&(n=pb(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!Sb(r)&&(r=pb(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){t.kind===`intersection`&&n(Eb(Iv({body:[e]}),t),{traverse:!0})},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:i,digitIsAscii:a,spaceIsAscii:o,wordIsAscii:s}){let{kind:c,negate:l,value:u}=e;if(a&&(c===`digit`||u===`digit`))n(Tb(Rv(`digit`,{negate:l}),t));else if(o&&(c===`space`||u===`space`))n(Eb(wb(Cb(Wy),l),t));else if(s&&(c===`word`||u===`word`))n(Tb(Rv(`word`,{negate:l}),t));else if(c===`any`)n(Tb(Jv(`Any`),t));else if(c===`digit`)n(Tb(Jv(`Nd`,{negate:l}),t));else if(c!==`dot`){if(c===`text_segment`){if(r===`strict`)throw Error($`Use of "\X" requires non-strict accuracy`);let e=`\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?`,a=$`\p{RI}{2}|${e}(?:\u200D${e})*`;n(Eb(Cb($`(?>\r\n|${i?$`\p{RGI_Emoji}`:a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c===`hex`)n(Tb(Jv(`AHex`,{negate:l}),t));else if(c===`newline`)n(Eb(Cb(l?`[^
173
173
  ]`:`(?>\r
174
174
  ?|[
175
- \v\f…\u2028\u2029])`),t));else if(c===`posix`){if(!i&&(u===`graph`||u===`print`)){if(r===`strict`)throw Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);let e={graph:`!-~`,print:` -~`}[u];l&&(e=`\0-${Ny(e.codePointAt(0)-1)}${Ny(e.codePointAt(2)+1)}-\u{10FFFF}`),n(Tb(Sb(`[${e}]`),t))}else n(Tb(Cb(Sb(Zy.get(u)),l),t))}else if(c===`property`)qy.has(ty(u))||(e.key=`sc`);else if(c===`space`)n(wb(qv(`space`,{negate:l}),t));else if(c===`word`)n(Tb(Cb(Sb(Gy),l),t));else throw Error(`Unexpected character set kind "${c}"`)}},Directive({node:e,parent:t,root:n,remove:r,replaceWith:i,removeAllPrevSiblings:a,removeAllNextSiblings:o}){let{kind:s,flags:c}=e;if(s===`flags`){if(!c.enable&&!c.disable)r();else{let e=Bv({flags:c});e.body[0].body=o(),i(Tb(e,t),{traverse:!0})}}else if(s===`keep`){let e=n.body[0],r=n.body.length===1&&_v(e,{type:`Group`})&&e.body[0].body.length===1?e.body[0]:n;if(t.parent!==r||r.body.length>1)throw Error($`Uses "\K" in a way that's unsupported`);let o=Vv({behind:!0});o.body[0].body=a(),i(Tb(o,t))}else throw Error(`Unexpected directive kind "${s}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw Error(`Unsupported flag "P"`);if(e.textSegmentMode===`word`)throw Error(`Unsupported flag "y{w}"`);[`digitIsAscii`,`extended`,`posixIsAscii`,`spaceIsAscii`,`wordIsAscii`,`textSegmentMode`].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n===`lookbehind`&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:r}=e;if(r===`fail`)n(Tb(Vv({negate:!0}),t));else throw Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type===`Quantifier`){let t=Bv();t.body[0].body.push(e.body),e.body=Tb(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],r=!1,i=!1;for(let t of e.body)if(t.body.length===1&&t.body[0].kind===`search_start`)t.body.pop();else{let e=gb(t.body);e?(r=!0,Array.isArray(e)?n.push(...e):n.push(e)):i=!0}r&&!i&&n.forEach(e=>t.add(e))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t===`strict`&&n&&r)throw Error($`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!xb(n)&&(n=fb(n,t),e.ref=n)}},ib={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:r,ref:i}=e;r||n.set(e,[...t.get(i).map(({node:e})=>e)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:i,groupsByName:a,multiplexCapturesToLeftByRef:o,openRefs:s,reffedNodesByReferencer:c}){let l=i.get(e);if(l&&s.has(e.number)){let r=wb(ub(e.number),t);c.set(r,s.get(e.number)),n(r);return}s.set(e.number,e),o.set(e.number,[]),e.name&&Ly(o,e.name,[]);let u=o.get(e.name??e.number);for(let t=0;t<u.length;t++){let n=u[t];if(l===n.node||l&&l===n.origin||e===n.origin){u.splice(t,1);break}}if(o.get(e.number).push({node:e,origin:l}),e.name&&o.get(e.name).push({node:e,origin:l}),e.name){let t=Ly(a,e.name,new Map),n=!1;if(l)n=!0;else for(let e of t.values())if(!e.hasDuplicateNameToRemove){n=!0;break}a.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:n})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=Iy(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){let{isRecursive:i,ref:a}=e;if(i){let n=t;for(;(n=n.parent)&&(n.type!==`CapturingGroup`||n.name!==a&&n.number!==a););r.reffedNodesByReferencer.set(e,n);return}let o=r.subroutineRefMap.get(a),s=a===0,c=s?ub(0):lb(o,r.groupOriginByCopy,null),l=c;if(!s){let e=pb(db(o,e=>e.type===`Group`&&!!e.flags)),t=e?Iy(r.globalFlags,e):r.globalFlags;sb(t,r.currentFlags)||(l=Bv({flags:mb(t)}),l.body[0].body.push(c))}n(Tb(l,t),{traverse:!s})}},ab={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let i=r.reffedNodesByReferencer.get(e).filter(t=>cb(t,e));i.length?i.length>1?n(Tb(Bv({atomic:!0,body:i.reverse().map(e=>Av({body:[Mv(e.number)]}))}),t)):e.ref=i[0].number:n(Tb(Vv({negate:!0}),t))},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let t=0;t<n;t++){let t=Nv();e.body.at(-1).body.push(t)}}},Subroutine({node:e},t){e.isRecursive&&e.ref!==0&&(e.ref=t.reffedNodesByReferencer.get(e).number)}};function ob(e){iy(e,{"*"({node:e,parent:t}){e.parent=t}})}function sb(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function cb(e,t){let n=t;do{if(n.type===`Regex`)return!1;if(n.type===`Alternative`)continue;if(n===e)return!1;let t=hb(n.parent);for(let r of t){if(r===n)break;if(r===e||_b(r,e))return!0}}while(n=n.parent);throw Error(`Unexpected path`)}function lb(e,t,n,r){let i=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a===`parent`?i.parent=Array.isArray(n)?r:n:o&&typeof o==`object`?i[a]=lb(o,t,i,n):(a===`type`&&o===`CapturingGroup`&&t.set(i,t.get(e)??e),i[a]=o);return i}function ub(e){let t=Kv(e);return t.isRecursive=!0,t}function db(e,t){let n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function fb(e,t){if(t.has(e))return t.get(e);let n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/gu,`_`)}`;return t.set(e,n),n}function pb(e){let t=[`dotAll`,`ignoreCase`],n={enable:{},disable:{}};return e.forEach(({flags:e})=>{t.forEach(t=>{e.enable?.[t]&&(delete n.disable[t],n.enable[t]=!0),e.disable?.[t]&&(n.disable[t]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function mb({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function hb(e){if(!e)throw Error(`Node expected`);let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function gb(e){let t=e.find(e=>e.kind===`search_start`||bb(e,{negate:!1})||!vb(e));if(!t)return null;if(t.kind===`search_start`)return t;if(t.type===`LookaroundAssertion`)return t.body[0].body[0];if(t.type===`CapturingGroup`||t.type===`Group`){let e=[];for(let n of t.body){let t=gb(n.body);if(!t)return null;Array.isArray(t)?e.push(...t):e.push(t)}return e}return null}function _b(e,t){let n=hb(e)??[];for(let e of n)if(e===t||_b(e,t))return!0;return!1}function vb({type:e}){return e===`Assertion`||e===`Directive`||e===`LookaroundAssertion`}function yb(e){let t=[`Character`,`CharacterClass`,`CharacterSet`];return t.includes(e.type)||e.type===`Quantifier`&&e.min&&t.includes(e.body.type)}function bb(e,t){let n={negate:null,...t};return e.type===`LookaroundAssertion`&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&_v(e.body[0],{type:`Assertion`,kind:`search_start`})}function xb(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function Sb(e,t){let n=bv(e,{...t,unicodePropertyMap:qy}).body;return n.length>1||n[0].body.length>1?Bv({body:n}):n[0].body[0]}function Cb(e,t){return e.negate=t,e}function wb(e,t){return e.parent=t,e}function Tb(e,t){return ob(e),e.parent=t,e}function Eb(e,t){let n=Hy(t),r=Ry(n.target,`ES2024`),i=Ry(n.target,`ES2025`),a=n.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw Error(`Invalid recursionLimit; use 2-20`);let o=null,s=null;if(!i){let t=[e.flags.ignoreCase];iy(e,Db,{getCurrentModI:()=>t.at(-1),popModI(){t.pop()},pushModI(e){t.push(e)},setHasCasedChar(){t.at(-1)?o=!0:s=!0}})}let c={dotAll:e.flags.dotAll,ignoreCase:!(!e.flags.ignoreCase&&!o||s)},l=e,u={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:a,useAppliedIgnoreCase:!!(!i&&o&&s),useFlagMods:i,useFlagV:r,verbose:n.verbose};function d(e){return u.lastNode=l,l=e,zy(Ob[e.type],`Unexpected node type "${e.type}"`)(e,u,d)}let f={pattern:e.body.map(d).join(`|`),flags:d(e.flags),options:{...e.options}};return r||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],u.captureMap.forEach((e,t)=>{e.hidden&&f._hiddenCaptures.push(t),e.transferTo&&Ly(f._captureTransfers,e.transferTo,[]).push(t)}),f}var Db={"*":{enter({node:e},t){if(Bb(e)){let n=t.getCurrentModI();t.pushModI(e.flags?Iy({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Bb(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Pb(Ny(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Fb(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind===`property`&&tb.has(e.value)&&t.setHasCasedChar()}},Ob={Alternative({body:e},t,n){return e.map(n).join(``)},Assertion({kind:e,negate:t}){if(e===`string_end`)return`$`;if(e===`string_start`)return`^`;if(e===`word_boundary`)return t?$`\B`:$`\b`;throw Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!=`number`)throw Error(`Unexpected named backref in transformed AST`);if(!t.useFlagMods&&t.accuracy===`strict`&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw Error(`Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy`);return`\\`+e},CapturingGroup(e,t,n){let{body:r,name:i,number:a}=e,o={ignoreCase:t.currentFlags.ignoreCase},s=t.originMap.get(e);return s&&(o.hidden=!0,a>s.number&&(o.transferTo=s.number)),t.captureMap.set(a,o),`(${i?`?<${i}>`:``}${r.map(n).join(`|`)})`},Character({value:e},t){let n=Ny(e),r=Ib(e,{escDigit:t.lastNode.type===`Backreference`,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Pb(n)){let e=Ky(n);return t.inCharClass?e.join(``):e.length>1?`[${e.join(``)}]`:e[0]}return n},CharacterClass(e,t,n){let{kind:r,negate:i,parent:a}=e,{body:o}=e;if(r===`intersection`&&!t.useFlagV)throw Error(`Use of character class intersection requires min target ES2024`);Py.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(Hb)&&(o=[Pv(45),...o.filter(e=>!Hb(e))]);let s=()=>`[${i?`^`:``}${o.map(n).join(r===`intersection`?`&&`:``)}]`;if(!t.inCharClass){if((!t.useFlagV||Py.bugNestedClassIgnoresNegation)&&!i){let t=o.filter(e=>e.type===`CharacterClass`&&e.kind===`union`&&e.negate);if(t.length){let r=Bv(),i=r.body[0];return r.parent=a,i.parent=r,o=o.filter(e=>!t.includes(e)),e.body=o,o.length?(e.parent=i,i.body.push(e)):r.body.pop(),t.forEach(e=>{let t=Av({body:[e]});e.parent=t,t.parent=r,r.body.push(t)}),n(r)}}t.inCharClass=!0;let r=s();return t.inCharClass=!1,r}let c=o[0];if(r===`union`&&!i&&c&&((!t.useFlagV||!t.verbose)&&a.kind===`union`&&!(Py.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&a.kind===`intersection`&&o.length===1&&c.type!==`CharacterClassRange`))return o.map(n).join(``);if(!t.useFlagV&&a.type===`CharacterClass`)throw Error(`Uses nested character class in a way that requires min target ES2024`);return s()},CharacterClassRange(e,t){let n=e.min.value,r=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},a=Ib(n,i),o=Ib(r,i),s=new Set;return t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Lb(Fb(e)).forEach(e=>{s.add(Array.isArray(e)?`${Ib(e[0],i)}-${Ib(e[1],i)}`:Ib(e,i))}),`${a}-${o}${[...s].join(``)}`},CharacterSet({kind:e,negate:t,value:n,key:r},i){if(e===`dot`)return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?`.`:`[^]`:$`[^\n]`;if(e===`digit`)return t?$`\D`:$`\d`;if(e===`property`){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&tb.has(n))throw Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?$`\P`:$`\p`}{${r?`${r}=`:``}${n}}`}if(e===`word`)return t?$`\W`:$`\w`;throw Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?`i`:``)+(e.dotAll?`s`:``)+(e.sticky?`y`:``)},Group({atomic:e,body:t,flags:n,parent:r},i,a){let o=i.currentFlags;n&&(i.currentFlags=Iy(o,n));let s=t.map(a).join(`|`),c=!i.verbose&&t.length===1&&r.type!==`Quantifier`&&!e&&(!i.useFlagMods||!n)?s:`(?${Rb(e,n,i.useFlagMods)}${s})`;return i.currentFlags=o,c},LookaroundAssertion({body:e,kind:t,negate:n},r,i){return`(?${`${t===`lookahead`?``:`<`}${n?`!`:`=`}`}${e.map(i).join(`|`)})`},Quantifier(e,t,n){return n(e.body)+zb(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw Error(`Unexpected non-recursive subroutine in transformed AST`);let r=n.recursionLimit;return t===0?`(?R=${r})`:$`\g<${t}&R=${r}>`}},kb=new Set([`$`,`(`,`)`,`*`,`+`,`.`,`?`,`[`,`\\`,`]`,`^`,`{`,`|`,`}`]),Ab=new Set([`-`,`\\`,`]`,`^`,`[`]),jb=new Set("()-/[\\]^{|}!#$%&*+,.:;<=>?@`~".split(``)),Mb=new Map([[9,$`\t`],[10,$`\n`],[11,$`\v`],[12,$`\f`],[13,$`\r`],[8232,$`\u2028`],[8233,$`\u2029`],[65279,$`\uFEFF`]]),Nb=/^\p{Cased}$/u;function Pb(e){return Nb.test(e)}function Fb(e,t){let n=!!t?.firstOnly,r=e.min.value,i=e.max.value,a=[];if(r<65&&(i===65535||i>=131071)||r===65536&&i>=131071)return a;for(let e=r;e<=i;e++){let t=Ny(e);if(!Pb(t))continue;let o=Ky(t).filter(e=>{let t=e.codePointAt(0);return t<r||t>i});if(o.length&&(a.push(...o),n))break}return a}function Ib(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(Mb.has(e))return Mb.get(e);if(e<32||e>126&&e<160||e>262143||t&&Vb(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,`0`)}`;let i=n?r?jb:Ab:kb,a=Ny(e);return(i.has(a)?`\\`:``)+a}function Lb(e){let t=e.map(e=>e.codePointAt(0)).sort((e,t)=>e-t),n=[],r=null;for(let e=0;e<t.length;e++)t[e+1]===t[e]+1?r??=t[e]:r===null?n.push(t[e]):(n.push([r,t[e]]),r=null);return n}function Rb(e,t,n){if(e)return`>`;let r=``;if(t&&n){let{enable:e,disable:n}=t;r=(e?.ignoreCase?`i`:``)+(e?.dotAll?`s`:``)+(n?`-`:``)+(n?.ignoreCase?`i`:``)+(n?.dotAll?`s`:``)}return`${r}:`}function zb({kind:e,max:t,min:n}){let r;return r=!n&&t===1?`?`:!n&&t===1/0?`*`:n===1&&t===1/0?`+`:n===t?`{${n}}`:`{${n},${t===1/0?``:t}}`,r+{greedy:``,lazy:`?`,possessive:`+`}[e]}function Bb({type:e}){return e===`CapturingGroup`||e===`Group`||e===`LookaroundAssertion`}function Vb(e){return e>47&&e<58}function Hb({type:e,value:t}){return e===`Character`&&t===45}var Ub=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=Gb(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(Wb(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e<n.length;e++){let{hidden:a,transferTo:o}=this.#e.get(e)??{};if(a?i.push(null):(i.push(t.length),t.push(n[e]),this.hasIndices&&t.indices.push(r[e])),o&&n[e]!==void 0){let a=i[o];if(!a)throw Error(`Invalid capture transfer to "${a}"`);if(t[a]=n[e],this.hasIndices&&(t.indices[a]=r[e]),t.groups){this.#r||=Kb(this.source);let i=this.#r.get(o);i&&(t.groups[i]=n[e],this.hasIndices&&(t.indices.groups[i]=r[e]))}}}return t}};function Wb(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e<n.length;e++){let r=n[e];r&&(n[e]=[r[0]+t,r[1]+t])}let r=n.groups;r&&Object.keys(r).forEach(e=>{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function Gb(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)Ly(n,t,{}).transferTo=e;return n}function Kb(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}function qb(e,t){let n=Jb(e,t);return n.options?new Ub(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Jb(e,t){let n=Hy(t),r=nb(bv(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:qy}),{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),i=Eb(r,n),a=Dy(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:`external`}),o=_y(by(a.pattern).pattern,{captureTransfers:a.captureTransfers,hiddenCaptures:a.hiddenCaptures}),s={pattern:o.pattern,flags:`${n.hasIndices?`d`:``}${n.global?`g`:``}${i.flags}${i.options.disable.v?`u`:`v`}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw Error(`Lazy compilation requires subclass`)}else{let e=o.hiddenCaptures.sort((e,t)=>e-t),t=Array.from(o.captureTransfers),i=r._strategy,a=s.pattern.length>=n.lazyCompileLength;(e.length||t.length||i||a)&&(s.options={...e.length&&{hiddenCaptures:e},...t.length&&{transfers:t},...i&&{strategy:i},...a&&{lazyCompile:a}})}return s}function Yb(e,t){return qb(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Xb(e={}){let t={target:`auto`,cache:new Map,...e};return t.regexConstructor||=e=>Yb(e,{target:t.target}),{createScanner(e){return new w_(e,t)},createString:E_}}var Zb=t({highlightChunks:()=>cx,highlightLangChunks:()=>lx,langForPath:()=>sx}),Qb={light:`github-light`,dark:`github-dark`},$b=400,ex={ts:`typescript`,mts:`typescript`,cts:`typescript`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,tsx:`tsx`,json:`json`,jsonc:`jsonc`,json5:`json5`,map:`json`,md:`markdown`,mdx:`mdx`,markdown:`markdown`,css:`css`,pcss:`css`,postcss:`css`,sass:`sass`,scss:`scss`,less:`less`,styl:`stylus`,html:`html`,htm:`html`,vue:`vue`,svelte:`svelte`,astro:`astro`,py:`python`,pyi:`python`,rb:`ruby`,rake:`ruby`,rs:`rust`,go:`go`,java:`java`,kt:`kotlin`,kts:`kotlin`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,cs:`csharp`,fs:`fsharp`,swift:`swift`,m:`objective-c`,php:`php`,scala:`scala`,groovy:`groovy`,dart:`dart`,sh:`shellscript`,bash:`shellscript`,zsh:`shellscript`,fish:`fish`,ps1:`powershell`,bat:`bat`,cmd:`bat`,yml:`yaml`,yaml:`yaml`,toml:`toml`,xml:`xml`,svg:`xml`,sql:`sql`,graphql:`graphql`,gql:`graphql`,prisma:`prisma`,lua:`lua`,pl:`perl`,pm:`perl`,r:`r`,jl:`julia`,ex:`elixir`,exs:`elixir`,erl:`erlang`,hs:`haskell`,clj:`clojure`,cljs:`clojure`,edn:`clojure`,vim:`vim`,zig:`zig`,nim:`nim`,sol:`solidity`,tf:`terraform`,tfvars:`terraform`,hcl:`hcl`,diff:`diff`,patch:`diff`,lock:`yaml`},tx={dockerfile:`dockerfile`,makefile:`makefile`,".gitignore":`ini`,".gitattributes":`ini`,".editorconfig":`ini`,".npmrc":`ini`,".nvmrc":`ini`,".env":`ini`,justfile:`justfile`,"cmakelists.txt":`cmake`},nx={astro:()=>J(()=>import(`./astro-BZ97kZFP.js`),__vite__mapDeps([0,1,2,3,4,5,6])),bat:()=>J(()=>import(`./bat-qdxAdBWQ.js`),[]),c:()=>J(()=>import(`./c-Cz4nF6n_.js`),__vite__mapDeps([7,8])),clojure:()=>J(()=>import(`./clojure-DqKBuwfJ.js`),[]),cmake:()=>J(()=>import(`./cmake-Bj61d0ZC.js`),[]),cpp:()=>J(()=>import(`./cpp-B6pWdJV2.js`),__vite__mapDeps([9,10,11,8])),csharp:()=>J(()=>import(`./csharp-dmMxLVLW.js`),[]),css:()=>J(()=>import(`./css-DgaLhXQH.js`),__vite__mapDeps([12,4])),dart:()=>J(()=>import(`./dart-CHZY9Xhz.js`),[]),diff:()=>J(()=>import(`./diff-woXpYk--.js`),[]),dockerfile:()=>J(()=>import(`./dockerfile-IyjqRm3v.js`),[]),elixir:()=>J(()=>import(`./elixir-raGDl1oO.js`),__vite__mapDeps([13,14,2,4])),erlang:()=>J(()=>import(`./erlang-D0CaQ5Pl.js`),__vite__mapDeps([15,16])),fish:()=>J(()=>import(`./fish-BJitypiv.js`),[]),fsharp:()=>J(()=>import(`./fsharp-PZeu-6rm.js`),__vite__mapDeps([17,16])),graphql:()=>J(()=>import(`./graphql-BZEhxNwM.js`),__vite__mapDeps([18,19,2,3,6,20])),groovy:()=>J(()=>import(`./groovy-CacY0gHj.js`),[]),hcl:()=>J(()=>import(`./hcl-Dh228itO.js`),[]),haskell:()=>J(()=>import(`./haskell-D8IpX4py.js`),[]),html:()=>J(()=>import(`./html-BCy9P6D2.js`),__vite__mapDeps([21,14,2,4])),ini:()=>J(()=>import(`./ini-B5eOa1yu.js`),[]),java:()=>J(()=>import(`./java-_ATy9zCa.js`),__vite__mapDeps([22,23])),javascript:()=>J(()=>import(`./javascript-CpIGwZ_Y.js`),__vite__mapDeps([24,2])),json:()=>J(()=>import(`./json-C3WlssX3.js`),__vite__mapDeps([25,1])),json5:()=>J(()=>import(`./json5-BR5RXkoi.js`),[]),jsonc:()=>J(()=>import(`./jsonc-CYpm1nAK.js`),[]),jsx:()=>J(()=>import(`./jsx-C4yDKi0A.js`),__vite__mapDeps([26,20])),julia:()=>J(()=>import(`./julia-DCfl8sf8.js`),__vite__mapDeps([27,2,10,11,8,28,29,30])),justfile:()=>J(()=>import(`./justfile-CKP9W7x6.js`),__vite__mapDeps([31,2,3,28,32,33,4,14,30,34,23,35,8,10,11,19,6,20,36,37])),kotlin:()=>J(()=>import(`./kotlin-DhhofPvG.js`),[]),less:()=>J(()=>import(`./less-DVTAwKKz.js`),[]),lua:()=>J(()=>import(`./lua-fPRBWD-V.js`),__vite__mapDeps([38,36,8])),makefile:()=>J(()=>import(`./makefile-Dixweg8N.js`),[]),markdown:()=>J(()=>import(`./markdown-CjQmuOi1.js`),__vite__mapDeps([39,16])),mdx:()=>J(()=>import(`./mdx-DQZ5AkYe.js`),[]),nim:()=>J(()=>import(`./nim-VAaFSKwL.js`),__vite__mapDeps([40,2,4,8,11,14,16,34,23])),"objective-c":()=>J(()=>import(`./objective-c-D1A_Heim.js`),[]),perl:()=>J(()=>import(`./perl-BTdIRyOQ.js`),__vite__mapDeps([41,33,2,4,14,30,34,23])),php:()=>J(()=>import(`./php-DPoYWQt_.js`),__vite__mapDeps([42,1,2,4,14,30,34,23])),postcss:()=>J(()=>import(`./postcss-DkKB82OS.js`),__vite__mapDeps([43,5])),powershell:()=>J(()=>import(`./powershell-QtSnmXcu.js`),[]),prisma:()=>J(()=>import(`./prisma-DMgNhnYS.js`),[]),python:()=>J(()=>import(`./python-C5TF47hQ.js`),__vite__mapDeps([44,28])),r:()=>J(()=>import(`./r-BXEss897.js`),__vite__mapDeps([45,29])),ruby:()=>J(()=>import(`./ruby-BdDtUACQ.js`),__vite__mapDeps([46,35,2,4,8,10,11,14,19,3,6,20,30,32,34,23,36,37])),rust:()=>J(()=>import(`./rust-DpiIf5JO.js`),[]),sass:()=>J(()=>import(`./sass-DXrisJhu.js`),[]),scala:()=>J(()=>import(`./scala-BiFt_7mu.js`),[]),scss:()=>J(()=>import(`./scss-8bKmll0B.js`),__vite__mapDeps([47,4])),shellscript:()=>J(()=>import(`./shellscript-CVTB3cr6.js`),__vite__mapDeps([48,32])),solidity:()=>J(()=>import(`./solidity-Bj7E1mRn.js`),[]),sql:()=>J(()=>import(`./sql-CfM2IJm3.js`),__vite__mapDeps([49,30])),svelte:()=>J(()=>import(`./svelte-CdeT-Ich.js`),__vite__mapDeps([50,2,3,4,5])),swift:()=>J(()=>import(`./swift-CyEgAFGc.js`),[]),terraform:()=>J(()=>import(`./terraform-DswuEJGm.js`),[]),toml:()=>J(()=>import(`./toml-CcmNWLt0.js`),[]),tsx:()=>J(()=>import(`./tsx-CGosfAUg.js`),__vite__mapDeps([51,6])),typescript:()=>J(()=>import(`./typescript-Bb1J8qyy.js`),__vite__mapDeps([52,3])),vim:()=>J(()=>import(`./viml-DvXPmvsu.js`),[]),vue:()=>J(()=>import(`./vue-BqdMUtqy.js`),__vite__mapDeps([53,1,2,3,4,14])),xml:()=>J(()=>import(`./xml-DuKfbPI6.js`),__vite__mapDeps([54,34,23])),yaml:()=>J(()=>import(`./yaml-DDA_XMNu.js`),__vite__mapDeps([55,37])),stylus:()=>J(()=>import(`./stylus-B6D30XZt.js`),[]),zig:()=>J(()=>import(`./zig-CMLA9XwU.js`),[])},rx=null;function ix(){return rx??=b_({themes:[J(()=>import(`./github-light-EUqPIrTm.js`),[]),J(()=>import(`./github-dark-C-LZuMrd.js`),[])],langs:[],engine:Xb({forgiving:!0})}),rx}var ax=new Map;function ox(e,t){let n=ax.get(t);if(!n){let r=nx[t];n=r?r().then(t=>e.loadLanguage(t)).then(()=>void 0):Promise.reject(Error(`no grammar loader for ${t}`)),n.catch(()=>ax.delete(t)),ax.set(t,n)}return n}function sx(e){let t=(e.split(`/`).pop()??e).toLowerCase();return tx[t]?tx[t]:ex[t.includes(`.`)?t.slice(t.lastIndexOf(`.`)+1):``]??null}async function*cx(e,t){let n=sx(e);n&&t.trim()&&nx[n]&&(yield*lx(n,t))}async function*lx(e,t){if(!e||!t.trim()||!nx[e])return;let n=await ix();await ox(n,e);let r=t.split(`
176
- `),i;for(let t=0;t<r.length;t+=$b){let a=r.slice(t,t+$b).join(`
177
- `),o=n.codeToHast(a,{lang:e,themes:Qb,defaultColor:!1,...i?{grammarState:i}:{}});i=n.getLastGrammarState(o)??void 0,yield v_(o)}}var ux=/(?:^|\s)language-([\w+#.-]+)/,dx=`hl`;function fx(e){if(e)for(let t of e.querySelectorAll(`pre`)){if(t.dataset[dx])continue;let e=t.querySelector(`code`);if(!e){t.dataset[dx]=`skip`;continue}let n=ux.exec(e.className)?.[1],r=n?sx(`x.${n}`)??n:void 0,i=e.textContent??``;if(!r||!i.trim()){t.dataset[dx]=`skip`;continue}let a=`${r}::${i.length}::${i}`;t.dataset[dx]=`pending`;let o=hd(a);o===void 0?(async()=>{try{let{highlightLangChunks:e}=await J(async()=>{let{highlightLangChunks:e}=await Promise.resolve().then(()=>Zb);return{highlightLangChunks:e}},void 0),n=``;for await(let t of e(r,i))n+=t;if(!n){t.dataset[dx]=`skip`;return}gd(a,n),t.isConnected&&px(t,n)}catch{t.dataset[dx]=`skip`}})():px(t,o)}}function px(e,t){let n=document.createElement(`div`);n.className=`shikiwrap`;let r=document.createElement(`div`);r.className=`shiki`,r.innerHTML=t,n.appendChild(r),e.replaceWith(n)}function mx(e){let t=String(e??``).trim();if(!t)return null;if(t.startsWith(`[`)){let e=(()=>{try{return JSON.parse(t)}catch{try{return JSON.parse(t.replace(/'/g,`"`))}catch{return}}})();if(Array.isArray(e)&&e.length>=2)return`${String(e[0])}/${String(e[1])}`}for(let e of[`__`,`/`,`::`]){let n=t.lastIndexOf(e);if(!(n<=0))return`${t.slice(0,n).replace(/^mcp__/,``)}/${t.slice(n+e.length)}`}return t}var hx={prompt:{name:`you`,icon:`🟧`,color:`#faa81a`},user:{name:`you`,icon:`🟧`,color:`#faa81a`},message:{name:`agent`,icon:`🫖`,color:`#5865f2`},progress:{name:`progress`,icon:`📈`,color:`#3ba55d`},question:{name:`agent`,icon:`❓️`,color:`#5865f2`}},gx={name:`harness`,icon:`📣`,color:`#3ba55d`},_x={"#faa81a":`you`,"#5865f2":`agent`,"#3ba55d":`progress`,"#3ba0c9":`tool`},vx=e=>_x[e]??`agent`,yx=e=>{if(e.data?.actor)return{name:`@${String(e.data.actor)}`,icon:`🧩`,color:`#3ba0c9`};if(e.type===`tool_call`||e.type===`tool_result`){let t=String(e.data?.name??`tool`);if(t===`run_tool`){let t=mx(e.data?.args?.tool_id);if(t)return{name:t,icon:`⚙️`,color:`#3ba0c9`}}let n=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(t);return n?{name:`${n[1]}/${n[2]}`,icon:`⚙️`,color:`#3ba0c9`}:{name:t,icon:`⚙️`,color:`#3ba0c9`}}if(e.type===`prompt`){let t=String(e.data?.source??`user`);return t===`user`?hx.prompt:t.startsWith(`scheduler:`)?{name:t.slice(10),icon:`📣`,color:`#3ba55d`}:gx}return hx[e.type]??{name:e.type,icon:`•`,color:`#9298a5`}},bx=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`};function xx(e){let t=e.data??{};return e.type===`prompt`?String(t.text??``):e.type===`message`?`${typeof t.reasoning==`string`&&t.reasoning.trim()?`<reasoning>\n${t.reasoning}\n</reasoning>\n\n`:``}${String(t.content??``)}`:(e.type,``)}function Sx(e){return e>=1e9?`${+(e/1e9).toFixed(1)}b`:e>=1e6?`${+(e/1e6).toFixed(1)}m`:e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Cx(e,t){return ot(e.replace(/\s+/g,` `).trim(),t)}function wx(e){return e.type===`prompt`&&e.data?.source===`user`?`you`:e.type===`message`?`agent`:`harness`}function Tx(e){let t=e.data??{};if(e.data?.actor)return`sub:${String(e.data.actor)}`;if(e.type===`tool_call`||e.type===`tool_result`){let e=typeof t.name==`string`?t.name:``;return e===`load_skill`?`agent-skill`:`tool:${e}`}return e.type===`prompt`?`src:${String(t.source??`user`)}`:`type:${e.type}`}function Ex(e,t){return!(!e||t.data?.pending||e.data?.pending||t.data?.cancelled||Tx(e)!==Tx(t)||wx(e)!==wx(t)||t.session!==e.session||t.branch!==e.branch)}function Dx(e,t){let n=String(t??``);return/^TIMEOUT after\b/.test(n)?`timeout`:/^ABORTED\b/.test(n)?`aborted`:/^exit=\d+/.test(n)||e===!1?`exit`:n.trim()?`ok`:`empty`}function Ox(e){switch(e){case`timeout`:return` · TIMED OUT`;case`aborted`:return` · ABORTED`;case`exit`:return` · FAILED`;default:return``}}function kx(e){let t=[];e.outcome!==`empty`&&t.push(e.fmtDur(e.durationMs)),e.timeoutMs&&t.push(`timeout ${Math.round(e.timeoutMs/1e3)}s`);let n=Ox(e.outcome).replace(/^\s*·\s*/,``);return n&&t.push(n),t.join(` · `)}function Ax(e){let t=e.trim();if(!t)return;let n=t[0];if(n===`{`||n===`[`||n===`"`)try{let e=JSON.parse(t);return typeof e==`object`&&e?`json`:void 0}catch{return}}function jx(e){if(Ax(e)!==`json`)return e;try{let t=JSON.parse(e.trim()),n=JSON.stringify(t,null,1);return e.trim().split(`
178
- `).length>1?e:n}catch{return e}}var Mx=12e4,Nx=6e5,Px=e=>{let t=Number(e);return Math.min(Number.isFinite(t)&&t>0?t:Mx,Nx)},Fx=P(`<div class=qfree><input type=text><button>reply`),Ix=P(`<div class=meta>`),Lx=P(`<div class=meta>waiting for output…`),Rx=P(`<div class="meta bgjob-note">runs in background — poll with <b>bash_output(job_id=&quot;<!>&quot;)`),zx=P(`<b>action="kill"`),Bx=P(`<div class=meta>writing…`),Vx=P(`<pre class="mono toolbody del">`),Hx=P(`<pre class="mono toolbody add">`),Ux=P(`<div class=meta> · `),Wx=P(`<div class=meta>applying…`),Gx=P(`<pre class="mono toolbody patch">`),Kx=P(`<div>`),qx=P(`<div class=meta>validating…`),Jx=P(`<a target=_blank rel="noopener noreferrer"referrerpolicy=no-referrer>open ↗`),Yx=P(`<span class=muted>`),Xx=P(`<div class=content>`),Zx=P(`<div class=meta>loading…`),Qx=P(`<div class=meta>bundled: `),$x=P(`<div class=meta>saving…`),eS=P(`<div class=meta>found: `),tS=P(`<div class=meta>no matches`),nS=P(`<span class=actor>@`),rS=P(`<details><summary><b></b><span class=meta></span><span class=toolcopy>`),iS=P(`<div class=divider-msg>⑂ forked from <!> → `),aS=P(`<div><div class=goalline-label>`),oS=P(`<div class="embed auditstep"><span class=meta>`),sS=P(`<span class="meta muted">`),cS=P(`<pre class="mono toolbody">`),lS=P(`<details class="embed auditstep"><summary><span class=meta>`),uS=P(`<div class=divider-msg>✅ tasks updated (<!>)`),dS=P(`<div> → `),fS=P(`<div class="embed fail"><div class=mono>🛑 runaway: <!> tool failures in a row (limit <!>)</div><div class=meta>last: <!> — `),pS=P(`<div class="embed warn-embed"title="a round-fatal API error occurred; auto-retry is waiting, then a fresh round starts (onError: retry)"><div class=mono>↻ API error — retrying (attempt <!>) in <!>s…`),mS=P(`<div class=divider-msg>🗜 compacted: <!> → <!> tok (<!>)`),hS=P(`<div class=divider-msg title="compaction is rewriting older history — the agent is not stuck">🗜 compacting: summarizing <!> earlier messages from <!> tok (<!>)…`),gS=P(`<span class=ts>`),_S=P(`<button class=editbtn title="withdraw this message — it has not reached the model yet; the text goes back to the input box">✕ cancel`),vS=P(`<button class=editbtn title="edit this prompt — forks the conversation here (later events are dropped or summarized)">✎ edit`),yS=P(`<div class=msg-head><span></span><span class=ts>`),bS=P(`<div><div></div><div class=msg-body>`),xS=P(`<span class=grouptime>`),SS=P(`<div class=promptimgs>`),CS=P(`<img class=promptimg alt="tool image"loading=lazy>`,!0,!1,!1),wS=P(`<img class=promptimg alt=attachment>`),TS=P(`<details class=reasoning><summary>💭 thinking</summary><div class=mono>`),ES=P(`<div class=interrupted>⚠ interrupted — partial output kept`),DS=P(`<div class=msgfoot><span>copy summary`),OS=P(`<div class=meta>its call is no longer in the loaded events — the run itself finished`),kS=P(`<details><summary><span class=meta></span></summary><div class=mono></div><div class=meta>`),AS=P(`<div class="content muted">Rejected: `),jS=P(`<details class="embed decision"><summary><b>📌 <span class="content inline-md"></span></b><span class=meta>decision logged`),MS=P(`<div class="meta answerdone">✓ answered — continuing below`),NS=P(`<div class=qopts>`),PS=P(`<div><div>❓️ <div class="content inline-md">`),FS=P(`<button class=qopt>`),IS=P(`<div class=progrow><b>goal</b><span>`),LS=P(`<div class=progrow><b>recent</b><span class="content inline-md">`),RS=P(`<div class="progrow warn"><b>⚠ problems</b><span class="content inline-md">`),zS=P(`<div class=progrow><b>next</b><span class="content inline-md">`),BS=P(`<div class="embed progembed"><div>📈 <div class="content inline-md">`),VS=P(`<div class="embed fail"><div class=mono>⚠ `),HS=P(`<div class="muted compactnote">the summary pass produced nothing, so the oldest messages were dropped instead — the session continues with the recent tail intact`),US=P(`<div class="embed compaction"><b>🗜 context compacted</b><span class=meta> · <!> → <!> tok · `),WS=P(`<div class="vtitle compactkept">what the agent kept`),GS=P(`<details class="embed compaction"><summary><b>🗜 context compacted</b><span class=meta> · <!> → <!> tok · `),KS=P(`<div class="content muted">`);function qS(e){let[t,n]=y(``),r=()=>{let r=t().trim();r&&!e.answered&&(n(``),e.onOption?.(r))};return(()=>{var i=Fx(),a=i.firstChild,o=a.nextSibling;return a.$$keydown=e=>{e.key===`Enter`&&!e.isComposing&&(e.preventDefault(),r())},a.$$input=e=>n(e.currentTarget.value),o.$$click=r,b(n=>{var r=e.answered?`answered`:`or type your own answer…`,i=e.answered,s=e.answered||!t().trim();return r!==n.e&&F(a,`placeholder`,n.e=r),i!==n.t&&(a.disabled=n.t=i),s!==n.a&&(o.disabled=n.a=s),n},{e:void 0,t:void 0,a:void 0}),b(()=>a.value=t()),i})()}function JS(e){let t=e.e,n=Ex(e.prev,t),r=S(()=>e.res?.(),void 0,{equals:(e,t)=>e?.id===t?.id}),i=()=>r(),a=()=>!e.agentActive&&!i(),o=t.data??{},s=String(o.name??`tool`),c=()=>String(i()?.data?.result??``),l=e=>String(o.args?.[e]??``),u=()=>s===`bash`?l(`command`):l(`path`)||JSON.stringify(o.args??{},null,1),d=()=>s===`bash`?Px(l(`timeout_ms`)):s===`wait_children`?Number(l(`timeout_ms`))||3e5:Number(l(`timeout_ms`))||void 0,f=(e,t,n)=>A(Md,{text:e,lang:n}),p=e=>A(Md,{get text(){return JSON.stringify(e??o.args??{},null,1)},lang:`json`}),m=()=>(()=>{let t=i();return t?[N(()=>N(()=>!!fd(c()))()?A(jd,{get text(){return c()}}):A(Md,{get text(){return jx(c())},get lang(){return Ax(c())}})),(()=>{var e=Ix();return L(e,()=>at(t.data?.durationMs),null),L(e,()=>s===`bash`?Ox(Dx(t.data?.ok,String(t.data?.result??``))):t.data?.ok===!1?` · FAILED`:``,null),L(e,A(rd,{get text(){return N(()=>!!fd(c()))()?dd(c()):jx(c())}}),null),e})(),A(ZS,{get data(){return t.data},get agentId(){return e.agentId}})]:Lx()})(),h=S(()=>{i();let e=s,t=``,n=p(),r=(r,a,o)=>{let s=o??{},c=Object.keys(s);e=c.length?Cx(JSON.stringify(s),120):`(no arguments)`,t=i()?at(i().data?.durationMs):null,n=[N(()=>N(()=>!!c.length)()?p(s):null),N(m)]};try{switch(s){case`bash`:{let r=l(`command`),a=o.args?.background===!0,s=a?String(c()).match(/job (bg\d+)/)?.[1]??``:``;e=(a?`⏳ `:`$ `)+Cx(r,96);let u=l(`timeout_ms`)?Number(l(`timeout_ms`)):void 0,d=i(),f=Dx(d?.data?.ok,d?String(d.data?.result??``):``);t=d?a?`background job${s?` ${s}`:``}${u?` · timeout ${Math.round(u/1e3)}s`:``}`:kx({outcome:f,durationMs:d.data?.durationMs,timeoutMs:u,fmtDur:at}):null,n=[a?(()=>{var e=Rx(),t=e.firstChild.nextSibling,n=t.firstChild.nextSibling;return n.nextSibling,L(t,s||`?`,n),L(e,s?[` · kill with `,zx()]:null,null),e})():null,N(()=>N(()=>r!==e.slice(2))()?A(Md,{text:r,lang:`shellscript`}):null),N(m)];break}case`read_file`:{e=l(`path`)||`(no path)`;let r=[];l(`pattern`)&&r.push(`grep /${Cx(l(`pattern`),40)}/`),Number(o.args?.offset)<0?r.push(`last ${-Number(o.args.offset)} lines`):o.args?.offset&&r.push(`from L${o.args.offset}`),o.args?.limit&&r.push(`≤${o.args.limit} lines`),t=r.join(` · `),n=m();break}case`write_file`:{let r=String(o.args?.content??``);e=l(`path`)||`(no path)`,t=`${Sx(r.length)} bytes`,n=[N(()=>f(r)),N(()=>N(()=>!!i())()?(()=>{var e=Ix();return L(e,()=>Cx(c(),160)),e})():Bx())];break}case`edit_file`:e=l(`path`)||`(no path)`,t=o.args?.replace_all===!0?`replace all`:`unique spot`,n=[(()=>{var e=Vx();return L(e,()=>`- `+l(`old_text`)),e})(),(()=>{var e=Hx();return L(e,()=>`+ `+l(`new_text`)),e})(),N(()=>N(()=>!!i())()?(()=>{var e=Ux(),t=e.firstChild;return L(e,()=>Cx(c(),120),t),L(e,()=>at(i().data?.durationMs),null),e})():Wx())];break;case`apply_patch`:{let t=l(`patch`).split(`
179
- `).filter(e=>e&&!/^---$/.test(e.trim())),r=t.map(e=>e.match(/^\*\*\* (?:Add|Update|Delete) File: (.+)$/)?.[1]).filter(Boolean);e=r.length?`${r.length} file${r.length>1?`s`:``}: ${Cx(r.join(`, `),80)}`:`patch`,n=[(()=>{var e=Gx();return L(e,()=>t.map(e=>{let t=e.startsWith(`+`)?` add`:e.startsWith(`-`)?` del`:/^\*\*\*|^@@/.test(e)?` meta`:``;return(()=>{var n=Kx();return I(n,`pline`+t),L(n,e),n})()})),e})(),N(()=>N(()=>!!i())()?(()=>{var e=Ix();return L(e,()=>Cx(c().split(`
180
- `)[0]??``,140),null),L(e,()=>i().data?.ok===!1?` · FAILED`:``,null),e})():qx())];break}case`list_dir`:e=l(`path`)||`.`,n=m();break;case`read_url`:{let r=l(`url`);try{let e=new URL(r);r=e.host+e.pathname}catch{}e=Cx(r,70),t=`web`,n=[(()=>{var e=Ix();return L(e,A(M,{get when(){return/^https?:/i.test(l(`url`))},get fallback(){return(()=>{var e=Yx();return L(e,()=>Cx(l(`url`),80)),e})()},get children(){var e=Jx();return b(()=>F(e,`href`,l(`url`))),e}})),e})(),N(m)];break}case`bash_output`:{let r=l(`action`)||`read`;e=`bash_output ${l(`job_id`)||`(?)`}`,t=r,n=m();break}case`load_skill`:{e=`skill: ${l(`name`)}`;let t=c().replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,``);n=i()?[(()=>{var e=Xx();return b(()=>e.innerHTML=ze(t)),e})(),(()=>{var e=Ix();return L(e,()=>at(i().data?.durationMs)),e})()]:Zx();break}case`save_skill`:{e=`skill: ${l(`name`)}`,t=Cx(l(`description`),60);let r=Array.isArray(o.args?.files)?o.args.files.map(e=>e?.name).filter(Boolean):[];n=[N(()=>N(()=>!!r.length)()?(()=>{var e=Qx();return e.firstChild,L(e,()=>r.join(`, `),null),e})():null),N(()=>N(()=>!!i())()?(()=>{var e=Ux(),t=e.firstChild;return L(e,()=>Cx(c(),160),t),L(e,()=>at(i().data?.durationMs),null),e})():$x())];break}case`search_tools`:{e=`🔎 ${Cx(l(`query`)||`(browse)`,60)}`;let r=(()=>{try{let e=JSON.parse(c());return{names:(e.tools??[]).map(e=>`${e.server??`?`}/${e.name??`?`}`),total:e.totalMatches??0}}catch{return{names:[],total:0}}})();t=i()?`${r.total} match${r.total===1?``:`es`}`:null,n=[N(p),N(()=>N(()=>!!i())()?N(()=>!!r.names.length)()?(()=>{var e=eS();return e.firstChild,L(e,()=>r.names.join(`, `),null),e})():tS():null),N(m)];break}case`run_tool`:{let a=mx(l(`tool_id`)),s=a?.indexOf(`/`)??-1;a&&s>0?r(a.slice(0,s),a.slice(s+1),o.args?.arguments):(e=a||`(no tool_id)`,t=i()?at(i().data?.durationMs):null,n=[N(p),N(m)]);break}default:{let a=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(s);if(a){r(a[1],a[2],o.args);break}e=s,t=i()?at(i().data?.durationMs):null,n=[N(p),N(m)];break}}}catch{}return{label:e,hint:t,body:n,key:`${i()?.id??`none`}|${e}|${t??``}`}},void 0,{equals:(e,t)=>e.key===t.key});return(()=>{var r=rS(),o=r.firstChild,l=o.firstChild,f=l.nextSibling,p=f.nextSibling;return r.addEventListener(`toggle`,t=>{t.target.open&&e.onResize?.()}),L(l,()=>h().label),L(o,A(M,{get when(){return t.data?.actor},get children(){var e=nS();return e.firstChild,L(e,()=>String(t.data.actor),null),e}}),f),L(f,(()=>{var e=N(()=>!!i());return()=>e()?h().hint||``:N(()=>!!a())()?`(result missed)`:N(()=>!!(s===`bash`||d()))()?A(kd,{get startedAt(){return t.ts},inline:!0,get timeoutMs(){return d()}}):`running…`})()),L(p,A(rd,{get text(){return u()},label:`⧉ cmd`,title:`copy the ${s} arguments`}),null),L(p,A(M,{get when(){return i()},get children(){return A(rd,{get text(){return N(()=>!!fd(c()))()?dd(c()):c()},label:`⧉ out`,title:`copy this tool's full output (escapes removed)`})}}),null),L(r,()=>h().body,null),b(e=>{var t=`embed`+(n?` grouped`:``)+(i()?i().data?.ok===!1?` fail`:` done`:a()?` done`:` running`),o=`${s}${h().hint?` — `+h().hint:``}`;return t!==e.e&&I(r,e.e=t),o!==e.t&&F(r,`title`,e.t=o),e},{e:void 0,t:void 0}),r})()}function YS(e){let t;return x(()=>{e.html,queueMicrotask(()=>fx(t))}),(()=>{var n=Xx(),r=t;return typeof r==`function`?je(r,n):t=n,b(()=>n.innerHTML=e.html),n})()}function XS(e){let t=e.e,n=yx(t),r=()=>Ex(e.prev?.(),t),i=()=>{let n=e.next?.();return!!n&&Ex(t,n)};if(t.type===`fork`){let e=t.data??{};return(()=>{var n=iS(),r=n.firstChild.nextSibling;return r.nextSibling,L(n,()=>String(e.fromBranch??`?`),r),L(n,()=>String(e.newBranch??t.branch),null),n})()}if(t.type===`goal`){let e=Bt(t.data??{});return(()=>{var t=aS(),n=t.firstChild;return L(n,()=>e.label),L(t,A(M,{get when(){return e.hasCard},get children(){return A(Gt,{get tone(){return N(()=>e.tone===`ok`)()?`ok`:e.tone===`warn`?`warn`:`tool`},get markdown(){return e.markdown},get body(){return e.detail}})}}),null),b(()=>I(t,`goalline `+(e.tone===`err`?`err`:e.tone===`warn`?`warn`:``))),t})()}if(t.type===`audit_step`){let e=String(t.data?.step??``),n=String(t.data?.name??``),r=e===`started`?`🔍️ auditor started`:e===`tool`?`🔍️ auditor → ${n}`:e===`tool_done`?`🔍️ auditor ← ${n} ${t.data?.ok===!1?`failed`:`${String(t.data?.chars??0)} chars`}`:e===`reply`?`🔍️ auditor replied`:`🔍️ auditor`;return e===`reply`&&t.data?.text||e===`tool`&&t.data?.args?(()=>{var n=lS(),i=n.firstChild,a=i.firstChild;return L(a,r),L(i,A(M,{get when(){return e===`tool`&&t.data?.args},get children(){var e=sS();return L(e,()=>ot(String(t.data?.args??``),120)),e}}),null),L(n,A(M,{get when(){return e===`reply`&&t.data?.text},get children(){var e=cS();return L(e,()=>String(t.data?.text??``)),e}}),null),L(n,A(M,{get when(){return e===`tool`&&t.data?.args},get children(){var e=cS();return L(e,()=>String(t.data?.args??``)),e}}),null),n})():(()=>{var e=oS(),t=e.firstChild;return L(t,r),e})()}if(t.type===`todo`)return(()=>{var e=uS(),n=e.firstChild.nextSibling;return n.nextSibling,L(e,()=>String(t.data?.by??`human`),n),e})();if(t.type===`state`)return t.data.from===t.data.to?null:(()=>{var e=dS(),n=e.firstChild;return L(e,()=>t.data.from,n),L(e,()=>t.data.to,null),L(e,(()=>{var e=N(()=>!!t.data.reason);return()=>e()?` — ${t.data.reason}`:``})(),null),b(()=>I(e,`divider-msg`+(t.data.to===`error`?` err`:``))),e})();if(t.type===`system_note`){let e=String(t.data?.event??``);if(e===`runaway-detected`)return(()=>{var e=fS(),n=e.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;i.nextSibling;var a=n.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,L(n,()=>String(t.data?.failures),r),L(n,()=>String(t.data?.limit),i),L(a,()=>String(t.data?.lastTool),o),L(a,()=>String(t.data?.lastError??``).slice(0,200),null),b(()=>F(e,`title`,`${t.data?.failures} consecutive tool failures hit the configured limit (${t.data?.limit})`)),e})();if(e===`error-retry`)return(()=>{var e=pS(),n=e.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(n,()=>String(t.data?.attempt),r),L(n,()=>Math.round(Number(t.data?.waitMs)/1e3),i),e})();if(e===`background-exit`){let e=t.data?.failed===!0,n=Math.round(Number(t.data?.durationMs??0)/1e3);return(()=>{var r=Kx();return I(r,`divider-msg`+(e?` err`:``)),L(r,()=>(e?`⚠ background job `:`✓ background job `)+String(t.data?.jobId??`?`)+` `+(e?`FAILED (exit ${String(t.data?.code??`?`)})`:`finished (${n}s)`)),b(()=>F(r,`title`,String(t.data?.cmd??``))),r})()}return e===`context-compacted`?(()=>{var e=mS(),n=e.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(e,()=>String(t.data?.tokensBefore??`?`),n),L(e,()=>String(t.data?.tokensAfter??`?`),r),L(e,()=>String(t.data?.mode??``),i),e})():e===`context-compaction-started`?(()=>{var e=hS(),n=e.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(e,()=>String(t.data?.messages??`?`),n),L(e,()=>String(t.data?.tokensBefore??`?`),r),L(e,()=>String(t.data?.reason??`auto`),i),e})():null}return(()=>{var a=bS(),o=a.firstChild,s=o.nextSibling;return L(o,(()=>{var e=N(()=>!!r());return()=>e()?``:n.icon})()),L(s,(()=>{var e=N(()=>!!r());return()=>e()&&(()=>{var e=xS();return b(()=>F(e,`title`,`${bx(t.ts)} · ${t.branch}`)),e})()})(),null),L(s,A(M,{get when(){return!r()},get children(){var r=yS(),i=r.firstChild,a=i.nextSibling;return L(i,()=>n.name),L(r,A(M,{get when(){return t.data?.actor},get children(){var e=nS();return e.firstChild,L(e,()=>String(t.data.actor),null),e}}),a),L(a,(()=>{var e=N(()=>!!t.data?.pending);return()=>e()?`queued…`:N(()=>!!t.data?.cancelled)()?`withdrawn`:bx(t.ts)})()),L(r,A(M,{get when(){return e.showBranch},get children(){var e=gS();return L(e,()=>t.branch),e}}),null),L(r,A(M,{get when(){return e.onCancel},get children(){var t=_S();return t.$$click=t=>{t.stopPropagation(),e.onCancel()},t}}),null),L(r,A(M,{get when(){return t.type!==`tool_call`},get children(){return A(rd,{get text(){return xx(t)},label:`⧉ copy`,title:`copy the RAW text of this message (no markdown rendering)`})}}),null),L(r,A(M,{get when(){return e.onEdit},get children(){var t=vS();return t.$$click=t=>{t.stopPropagation(),e.onEdit()},t}}),null),b(()=>I(i,`author tone-${vx(n.color)}`)),r}}),null),L(s,A(QS,{e:t,get prev(){return e.prev?.()},get res(){return e.res},get orphan(){return e.orphan},get onOption(){return e.onOption},get answeredIds(){return e.answeredIds},get onAnswered(){return e.onAnswered},get agentActive(){return e.agentActive},get onResize(){return e.onResize},get agentId(){return e.agentId}}),null),b(e=>{var s=`msg`+(r()?` grouped`:``)+(i()?` next-grouped`:``)+(t.data?.pending?` pending`:``)+(t.data?.cancelled?` withdrawn`:``),c=t.id,l=`avatar avghost tone-${vx(n.color)}`+(r()?` ghosted`:``),u=r()?`${bx(t.ts)} · ${t.branch}`:void 0;return s!==e.e&&I(a,e.e=s),c!==e.t&&F(a,`data-eid`,e.t=c),l!==e.a&&I(o,e.a=l),u!==e.o&&F(o,`title`,e.o=u),e},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}function ZS(e){let t=()=>(Array.isArray(e.data?.images)?e.data.images:[]).map(e=>typeof e==`string`?e:e?.url).filter(e=>typeof e==`string`&&e.length>0).map(t=>af(e.agentId,t));return A(M,{get when(){return t().length},get children(){var e=SS();return L(e,A(j,{get each(){return t()},children:e=>(()=>{var t=CS();return F(t,`src`,e),t})()})),e}})}function QS(e){let t=e.e;switch(t.type){case`prompt`:{let e=(t.data?.images??[]).map(e=>typeof e==`string`?e:e?.url).filter(e=>typeof e==`string`&&e.length>0);return[A(YS,{get html(){return it(String(t.data.text??``))}}),A(M,{get when(){return e.length},get children(){var t=SS();return L(t,A(j,{each:e,children:e=>(()=>{var t=wS();return F(t,`src`,e),t})()})),t}})]}case`message`:return[A(M,{get when(){return N(()=>typeof t.data.reasoning==`string`)()&&t.data.reasoning.trim()},get children(){var e=TS(),n=e.firstChild.nextSibling;return L(n,()=>String(t.data.reasoning)),e}}),A(YS,{get html(){return it(String(t.data.content??``))}}),A(M,{get when(){return t.data.interrupted},get children(){return ES()}}),A(M,{get when(){return t.data.final},get children(){var e=DS(),n=e.firstChild;return L(e,A(rd,{get text(){return String(t.data.content??``)}}),n),e}})];case`tool_call`:return A(JS,{e:t,get prev(){return e.prev},get res(){return e.res},get orphan(){return e.orphan},get agentActive(){return e.agentActive},get onResize(){return e.onResize},get agentId(){return e.agentId}});case`tool_result`:{let n=String(t.data.result??``),r=String(t.data.name??`tool`),i=t.data.ok!==!1;return(()=>{var a=kS(),o=a.firstChild,s=o.firstChild,c=o.nextSibling,l=c.nextSibling;return I(a,`embed `+(i?``:`fail`)),L(s,r===`bash`?`$ (bash, call evicted)`:r),L(o,A(rd,{text:n}),null),L(c,n),L(l,()=>at(t.data.durationMs),null),L(l,()=>r===`bash`?Ox(Dx(t.data.ok,n)):i?``:` · FAILED`,null),L(a,A(M,{get when(){return e.orphan},get children(){return OS()}}),null),b(()=>a.open=e.orphan),a})()}case`decision`:{let e=Array.isArray(t.data?.alternatives)?t.data.alternatives:[];return(()=>{var n=jS(),r=n.firstChild.firstChild.firstChild.nextSibling;return L(n,A(YS,{get html(){return it(String(t.data?.rationale??``))}}),null),L(n,A(M,{get when(){return e.length},get children(){var t=AS();return t.firstChild,L(t,()=>e.join(` / `),null),t}}),null),b(()=>r.innerHTML=it(String(t.data?.decision??``))),n})()}case`question`:{let n=Array.isArray(t.data?.options)?t.data.options:[],r=t.data?.callId?String(t.data.callId):``,i=()=>e.answeredIds?.().has(r)??!1;return(()=>{var a=PS(),o=a.firstChild.firstChild.nextSibling;return L(a,A(M,{get when(){return i()},get children(){return MS()}}),null),L(a,A(M,{get when(){return n.length>0},get children(){var a=NS();return L(a,A(j,{each:n,children:n=>(()=>{var a=FS();return a.$$click=()=>{e.onAnswered?.(r);let i=t.data?.actor;i?Y(`/api/agents/${encodeURIComponent(String(i))}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:n,start:!0})}).then(()=>rf(`→ answered @${String(t.data.actor)}`)).catch(()=>rf(`answer failed`)):e.onOption?.(n)},L(a,n),b(()=>a.disabled=i()),a})()})),a}}),null),L(a,A(qS,{get answered(){return i()},get onOption(){return e.onOption}}),null),b(e=>{var n=`embed question`+(i()?` answered`:``),r=it(String(t.data?.question??``));return n!==e.e&&I(a,e.e=n),r!==e.t&&(o.innerHTML=e.t=r),e},{e:void 0,t:void 0}),a})()}case`progress`:return(()=>{var e=BS(),n=e.firstChild.firstChild.nextSibling;return L(e,A(M,{get when(){return t.data.goalStatus},get children(){var e=IS(),n=e.firstChild.nextSibling;return L(n,()=>String(t.data.goalStatus)),e}}),null),L(e,A(M,{get when(){return t.data.recent},get children(){var e=LS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.recent))),e}}),null),L(e,A(M,{get when(){return t.data.problems},get children(){var e=RS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.problems))),e}}),null),L(e,A(M,{get when(){return t.data.next},get children(){var e=zS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.next))),e}}),null),b(()=>n.innerHTML=it(String(t.data.doing??``))),e})();case`error`:return(()=>{var e=VS(),n=e.firstChild;return n.firstChild,L(n,()=>String(t.data.message??``),null),e})();case`compaction`:return t.data.summary?(()=>{var e=GS(),n=e.firstChild.firstChild.nextSibling,r=n.firstChild,i=r.nextSibling,a=i.nextSibling.nextSibling;return a.nextSibling,L(n,()=>String(t.data.mode??``),r),L(n,()=>Sx(Number(t.data.tokensBefore??0)),i),L(n,()=>Sx(Number(t.data.tokensAfter??0)),a),L(n,(()=>{var e=N(()=>!!t.data.summarized);return()=>e()?`${t.data.summarized} summarized`:`${t.data.dropped} dropped`})(),null),L(e,A(M,{get when(){return t.data.summary},get children(){return[WS(),A(YS,{get html(){return it(String(t.data.summary))}})]}}),null),e})():(()=>{var e=US(),n=e.firstChild.nextSibling,r=n.firstChild,i=r.nextSibling,a=i.nextSibling.nextSibling;return a.nextSibling,L(n,()=>String(t.data.mode??``),r),L(n,()=>Sx(Number(t.data.tokensBefore??0)),i),L(n,()=>Sx(Number(t.data.tokensAfter??0)),a),L(n,(()=>{var e=N(()=>!!t.data.summarized);return()=>e()?`${t.data.summarized} summarized`:`${t.data.dropped} dropped`})(),null),L(n,()=>String(t.data.mode??``)===`truncate`?` · older history dropped`:``,null),L(e,A(M,{get when(){return String(t.data.mode??``)===`truncate`},get children(){return HS()}}),null),e})();default:return(()=>{var e=KS();return L(e,()=>ot(JSON.stringify(t.data),200)),e})()}}De([`input`,`keydown`,`click`]);var $S=(e,t)=>{let n=String(t??``).trim();return!n||/^\d+$/.test(n)?null:e?.[n]??null},eC=[{key:`openrouter`,label:`OpenRouter`,url:`https://openrouter.ai/api/v1`,model:``,hint:`400+ models behind one key — teapot sends app-attribution headers automatically`},{key:`orcarouter`,label:`OrcaRouter`,url:`https://api.orcarouter.ai/v1`,model:``,hint:`zero-markup routing gateway — 'orcarouter/auto' grades each prompt and picks the model`},{key:`openai`,label:`OpenAI`,url:`https://api.openai.com/v1`,model:``,hint:`your account's models — pick from the list once the endpoint answers`},{key:`opencode-go`,label:`OpenCode Go`,url:`https://opencode.ai/zen/go/v1`,model:``,hint:`OpenCode's open-model subscription — teapot sends the required x-opencode-session header; choose a chat/completions model`},{key:`llamacpp`,label:`llama.cpp server`,url:`http://localhost:8080/v1`,model:``,hint:`free & local — start it with: llama-server -m ./model.gguf (any model name works)`}];function tC(e,t){return e?t===`dark`?{slot:`dark`,key:`teapot.theme.dark`}:{slot:`light`,key:`teapot.theme.light`}:{slot:`fixed`,key:`teapot.theme`}}var nC=P(`<div class=themeeditor><h4 class=cfgsub>your themes</h4><div class=btnrow><button type=button title="copy the theme you are using into a new editable one — presets themselves are never modified">+ duplicate current`),rC=P(`<div class=muted style="margin:6px 0">`),iC=P(`<b>+ duplicate current`),aC=P(`<div class=cfggrid style=margin-top:8px><label class=trow>appearance<select><option value=dark>dark</option><option value=light>light`),oC=P(`<div class=paletterows>`),sC=P(`<div class=btnrow><button type=button title="put every colour back to the palette this theme was created from">↺ reset palette</button><button type=button title="delete this custom theme">🗑 delete`),cC=P(`<h4 class=cfgsub>background image`),lC=P(`<img sizes=260px alt="current background"decoding=async loading=lazy>`,!0,!1,!1),uC=P(`<span class=bgpick-hint>🖼 replace…`),dC=P(`<div class=bgpreview><span class=muted title="this image is served from the server; the theme stores only its URL">✓ image set</span><div class=btnrow><label class=trow title="how much the image is dimmed so text stays readable">dim<input type=range min=0 max=0.9 step=0.05><span class="muted mono">%</span></label><label title="how much of the background shows through code blocks and tool cards — lower is more transparent">surfaces<input type=range min=0.35 max=1 step=0.01><span class="muted mono">%</span></label><button type=button>✕ remove`),fC=P(`<div class=cfggrid><button type=button></button><input type=file accept=image/* style=display:none>`),pC=P(`<div class=muted style=margin-top:6px;font-size:var(--text-xs)>the image is uploaded to the server and sits behind the panels, dimmed so text stays readable. No size limit — it is a file now, not browser storage.`),mC=P(`<label class=paletterow><input type=color><span class=paletterow-label></span><input class="mono paletterow-hex">`),hC=P(`<span class=bgpick-empty>🖼 choose a background image…`),gC=P(`<div class=muted style=font-size:11.5px;margin-top:4px>⚠ configured default provider <code></code> has no provider row here<!> Add a provider named <code></code> or pick a default below; otherwise agents fall back to the first provider.`),_C=P(`<div class=cfggrid style=margin-top:8px><label class=trow>dark theme →<select class=w100></select></label><label class=trow>light theme →<select class=w100>`),vC=P(`<div class=skilllist>`),yC=P(`<span style=color:var(--err);font-size:13px>`),bC=P(`<form style=display:flex;flex-direction:column;gap:12px;min-height:0><div class=cfgbody><nav class=cfgmenu aria-label="settings sections"></nav><div class=cfgpanel><fieldset><legend>providers</legend><button type=button>+ add custom</button><div style=display:flex;gap:6px;flex-wrap:wrap;margin-top:6px><span class=muted style=font-size:11.5px>quick-add:</span></div><div><label title="agents without an explicit provider use this one"style=display:flex;align-items:center;gap:6px;margin-top:6px>default provider<select><option value>(none — first provider wins)</option></select></label></div></fieldset><fieldset><legend>appearance</legend><div class=cfggrid><label class=trow>follow the system<input type=checkbox></label></div><h4 class=cfgsub>themes</h4></fieldset><fieldset><legend>agent runtime</legend><div class=cfgrow><label style=flex:1>API password<input type=password class=w100></label><span class=muted style=font-size:11.5px;max-width:34ch>bearer token for /api. empty = loopback only.</span></div><div class=cfggrid><label title="auto-compact threshold in k tokens. Leave EMPTY to derive per model (75% of its context window) — recommended, since models differ wildly in window size. Set only to force an absolute cap across all models.">compact budget (k tok)<input type=number min=0 placeholder="(derive: 75% of window)"></label></div><label class=cfgtoggle title="prune old tool output early (at 60% of the budget) instead of waiting for the window to fill. Meant for small-window models — on a large window it throws away context you had room for."><input type=checkbox>short-context mode</label></fieldset><fieldset><legend>MCP servers — external tools, shared by every agent</legend><div class=muted style=font-size:11.5px;margin-bottom:8px>each tool becomes <code class=mono>mcp__server__tool</code> for every agent. saving connects them; the status shown here is live.</div><button type=button>+ add MCP server</button></fieldset><fieldset><legend>scheduled tasks</legend><button type=button>+ add task</button></fieldset><fieldset><legend>archived agents — restore, or delete for good</legend></fieldset><fieldset><legend>agents (read-only — edit config file or use +)</legend></fieldset><fieldset><legend>live update</legend><div class=cfgrow><span class=muted>current version: </span><button type=button class=primarybtn>update & restart</button><span class=muted style=margin-left:8px;font-size:12px>gracefully stops all agents, spawns new process, then reloads this page</span></div></fieldset><fieldset><legend>skills</legend></fieldset><fieldset><legend>help</legend><div class=helpsec><h4 class=cfgsub>this host</h4><div class=featgrid><div class=featrow><b>image downscaling</b><span class=muted></span></div><div class=featrow><b>terminal pty</b><span class=muted></span></div></div></div><div class=helpsec><h4 class=cfgsub>keyboard</h4><div class=helprow><kbd>enter</kbd><span>send (shift+enter for a newline)</span></div><div class=helprow><span class=kbdgroup><kbd>↑</kbd><kbd>↓</kbd></span><span>move between sessions</span></div><div class=helprow><kbd>/</kbd><span>command palette — commands and focus</span></div><div class=helprow><kbd>t</kbd><span>open the terminal panel</span></div><div class=helprow><kbd>d</kbd><span>toggle the details panel</span></div><div class=helprow><kbd>esc</kbd><span>interrupt the running turn</span></div></div><div class=helpsec><h4 class=cfgsub>what the toggles do</h4><div class=helprow><b>auto-continue</b><span>fires after a round only when all hold: the toggle is on, a goal is set and its status is <code>active</code>, and the round ended cleanly (not an error, not stopped). It stops when the goal is marked done, or when you press ■ stop. Sending any prompt starts an idle agent regardless.</span></div><div class=helprow><b>auto-compact</b><span>when the live context passes the budget shown under 📊 runtime, older turns are summarized into notes and the recent stretch is kept verbatim, so work continues without losing the thread. Off means you compact by hand (<code>/compact</code>).</span></div><div class=helprow><b>messages while it works</b><span>anything you send queues up and is handed to the model at its next turn boundary — the timeline shows it as "pending (queued)…" until then. Withdraw it with ✕ cancel while it is still queued.</span></div><div class=helprow><b>👻 ghost sessions</b><span>a session whose workspace directory no longer exists on disk. The session log is intact — recreate the directory and it stops being a ghost.</span></div></div></fieldset></div></div><div class=cfgfoot><button type=submit class=cfgsave>`),xC=P(`<button type=button><span class=cfgmenu-label>`),SC=P(`<div class=cfgrow><input class=cfgname placeholder=name><input placeholder=https://…/v1><input placeholder="default model"><button type=button class=danger title="remove provider">✕</button><div class=cfgkeys><button type=button title="add another key for this provider — they are rotated round-robin, and a rate-limited key is skipped for a minute">+ key`),CC=P(`<button type=button title="remove this key">−`),wC=P(`<div class=cfgkeyrow><input type=password>`),TC=P(`<button type=button>+ `),EC=P(`<option>`),DC=P(`<div class=cfgsub style=margin-bottom:var(--space-1)>`),OC=P(`<div class=themepick>`),kC=P(`<button type=button><span class=themecard-preview></span><span class=themecard-label> ★`),AC=P(`<button type=button><span class=themecard-preview></span><span class=themecard-label>`),jC=P(`<div class=muted style=font-size:12.5px>no MCP servers. add one below — a remote url, or a local command for stdio.`),MC=P(`<input placeholder="command (e.g. npx)">`),NC=P(`<input placeholder="args, space separated">`),PC=P(`<input type=password placeholder="paste the token"title="sent as Authorization: Bearer <token>"style=flex:1>`),FC=P(`<input placeholder="header name"style="flex:0 1 150px">`),IC=P(`<input type=password placeholder=value style=flex:1>`),LC=P(`<div class=cfgrow><textarea class=mono rows=2 placeholder="{&quot;Authorization&quot;: &quot;Bearer …&quot;, &quot;X-Team&quot;: &quot;infra&quot;}"title="static headers for every request. Use the bearer option unless the server needs something unusual."style=flex:1>`),RC=P(`<button type=button class=mcpauthorize title="start the OAuth flow: a browser tab opens, and the tools appear when you finish">🔑 authorize`),zC=P(`<span class="mcpstate connected"title="an OAuth access token is usable — disconnect it under the server's details">🔑 authorized`),BC=P(`<span>`),VC=P(`<div class=muted style=font-size:11px;color:var(--warn)>`),HC=P(`<div class="cfgcol mcpcard"><div class=cfgrow><input class=cfgname placeholder=name title="the name that appears inside mcp__<name>__ in tool names"><input placeholder="https://example.com/mcp (or leave empty for a stdio command)"><label style=display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px><input type=checkbox>on</label><button type=button class=danger>✕</button></div><div class=cfgrow><input placeholder="what this server is for — e.g. reverse engineering: decompile, disassemble"title="shown to the model when the MCP catalog is too large to send, so it can search for the right tool instead of guessing keywords"></div><div class=cfgrow><select title="streamable HTTP is the current spec; legacy SSE is the 2024-11-05 handshake; stdio spawns a local process"><option value=http>streamable http</option><option value=sse>legacy http+sse</option><option value=stdio>stdio (local command)</option></select></div><div class=cfgrow><select title="how this server authenticates"><option value=none>no auth</option><option value=bearer>bearer token</option><option value=header>custom header</option><option value=json>headers as JSON (advanced)</option></select></div><div class=cfgrow><button type=button title="connect now and list the tools — nothing is saved">test`),UC=P(`<option value=oauth selected>`),WC=P(`<span class=muted> · needs a grant (🔑 authorize)`),GC=P(`<details class=mcptools-wrap><summary>show <!> tool</summary><ul class=mcptools>`),KC=P(`<div class=mcpdanger><span class=muted>OAuth grant</span><button type=button class=mcpdisconnect title="forget the stored grant (the refresh token is deleted, so authorizing again needs a browser)">disconnect`),qC=P(`<div><div class=mcpresult-head><b>`),JC=P(`<span class=mcptool-desc>`),YC=P(`<li><code class=mono>`),XC=P(`<div class=cfgcol><div class=cfgrow><input placeholder=id><input placeholder="agent id"><input placeholder="every 30m / cron"><label style=display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px><input type=checkbox>fork</label><button type=button class=danger>✕</button></div><textarea rows=2 placeholder="prompt to send">`),ZC=P(`<div class=muted style=font-size:12.5px>nothing archived. 🗄 archive in the controls panel puts an agent away without losing its history.`),QC=P(`<div class="cfgrow archrow"><div class=archmain><b></b><span class=muted> session</span><span class="muted mono ellip"></span></div><button type=button class=archrestore title="bring it back and start it again — its history was never touched">↩ restore</button><button type=button class=danger title="erase the config entry AND every session directory — irreversible">🗑 delete`),$C=P(`<span class=muted>🧩 sub of @`),ew=P(`<div class=cfgrow><b></b><span class=muted>`),tw=P(`<div class=muted>`),nw=P(`<div class=skillbody>`),rw=P(`<div class=skillrow><button type=button class=skillhead title="show the playbook"><span class=skillcaret></span><b class=mono></b><span class=muted>`),iw=P(`<div class="muted skillbody">`);function aw(e){let[t,n]=y(e.themes().some(t=>t.id===e.paintedId)?e.paintedId:e.themes()[0]?.id??``),r=()=>Yn(e.themes(),e.paintedId,t()),[i,a]=y({}),o,s=t=>{let n=r()?.id;if(!n)return;let i=e.themes().map(e=>e.id===n?t(e):e);e.onChange(i)},c=(e,t)=>{let n=qn(t);n&&s(t=>({...t,palette:{...t.palette,[e]:n}}))},l=()=>{let t=e.themes().find(t=>t.id===e.paintedId),r=Nd.find(t=>t.key===e.paintedId),i=t??r??Nd[0],a=getComputedStyle(document.documentElement),o={...Ln};for(let{key:e,cssVar:t}of Fn){let n=qn(a.getPropertyValue(t));n&&(o[e]=n)}let s=Wn(e.themes().map(e=>e.id).concat(Nd.map(e=>e.key))),c={id:s,label:`${i.label}${t?``:` copy`}`.slice(0,40),mode:i.mode,palette:o,...t?.backgroundImage?{backgroundImage:t.backgroundImage,backgroundDim:t.backgroundDim,surfaceAlpha:t.surfaceAlpha}:{}};e.onChange([...e.themes(),c]),n(s),e.onPick(s)},u=async t=>{if(t){if(!/^image\//.test(t.type))rf(`that file is ${JSON.stringify(t.type||`unknown`)} — pick an image`);else{rf(`uploading ${t.name} (${Math.round(t.size/1024)}KB)…`);try{let n=await fetch(`/api/assets`,{method:`POST`,headers:{"content-type":t.type},body:t}).then(async e=>({ok:e.ok,body:await e.json().catch(()=>null)}));if(!n.ok||!n.body?.url){rf(n.body?.error??`upload failed`);return}s(e=>({...e,backgroundImage:n.body.url,backgroundImageBytes:n.body.bytes}));let i=r()?.id;i&&e.onPick(i),rf(`background image set`)}catch(e){rf(`upload failed: ${e.message}`)}}}};return(()=>{var t=nC(),d=t.firstChild.nextSibling.firstChild;return d.$$click=l,L(t,A(M,{get when(){return N(()=>!!(r()&&e.themes().some(t=>t.id===e.paintedId)))()?r():null},get fallback(){return(()=>{var t=rC();return L(t,(()=>{var t=N(()=>e.themes().length===0);return()=>t()?[`no custom themes yet — press `,iC(),` to start from the palette you are using.`]:[`the editor shows when one of your themes is the one on screen — pick one under "your themes" above (or press `,iC(),`).`]})()),t})()},children:t=>[(()=>{var e=aC(),t=e.firstChild.firstChild.nextSibling;return t.addEventListener(`change`,e=>s(t=>({...t,mode:e.currentTarget.value}))),b(()=>t.value=r().mode),e})(),(()=>{var e=oC();return L(e,A(j,{each:Fn,children:e=>(()=>{var t=mC(),n=t.firstChild,o=n.nextSibling,s=o.nextSibling;return n.$$input=t=>c(e.key,t.currentTarget.value),L(o,()=>e.label),s.addEventListener(`blur`,()=>a(t=>{let n={...t};return delete n[e.key],n})),s.$$input=t=>{let n=t.currentTarget.value;a(t=>({...t,[e.key]:n})),c(e.key,n)},F(s,`spellcheck`,!1),b(()=>F(t,`title`,e.cssVar)),b(()=>n.value=qn(r().palette[e.key])??`#000000`),b(()=>s.value=i()[e.key]??r().palette[e.key]),t})()})),e})(),(()=>{var t=sC(),i=t.firstChild,a=i.nextSibling;return i.$$click=()=>s(e=>({...e,palette:{...Ln}})),a.$$click=()=>{let t=r()?.id;t&&(e.onChange(e.themes().filter(e=>e.id!==t)),n(e.themes().find(e=>e.id!==t)?.id??``))},t})(),cC(),(()=>{var e=fC(),t=e.firstChild,n=t.nextSibling;t.$$click=()=>o?.click(),L(t,A(M,{get when(){return r().backgroundImage},get fallback(){return hC()},get children(){return[(()=>{var e=lC();return b(t=>{var n=Qt(r().backgroundImage),i=Zt(r().backgroundImage);return n!==t.e&&F(e,`src`,t.e=n),i!==t.t&&F(e,`srcset`,t.t=i),t},{e:void 0,t:void 0}),e})(),uC()]}})),n.addEventListener(`change`,e=>{e.stopPropagation(),u(e.currentTarget.files?.[0]),e.currentTarget.value=``}),n.$$input=e=>e.stopPropagation();var i=o;return typeof i==`function`?je(i,n):o=n,L(e,A(M,{get when(){return r().backgroundImage},get children(){var e=dC(),t=e.firstChild;t.firstChild;var n=t.nextSibling.firstChild,i=n.firstChild.nextSibling,a=i.nextSibling,o=a.firstChild,c=n.nextSibling,l=c.firstChild.nextSibling,u=l.nextSibling,d=u.firstChild,f=c.nextSibling;return L(t,()=>{let e=r()?.backgroundImageBytes;return e?` — ${Math.max(1,Math.round(e/1024))} KB`:``},null),i.$$input=e=>s(t=>({...t,backgroundDim:Number(e.currentTarget.value)})),L(a,()=>Math.round((r().backgroundDim??.55)*100),o),l.$$input=e=>s(t=>({...t,surfaceAlpha:Number(e.currentTarget.value)})),L(u,()=>Math.round((r().surfaceAlpha??.82)*100),d),f.$$click=()=>s(e=>({...e,backgroundImage:void 0})),b(()=>i.value=r().backgroundDim??.55),b(()=>l.value=r().surfaceAlpha??.82),e}}),null),b(e=>{var n=`bgpick`+(r().backgroundImage?` has`:``),i=r().backgroundImage?`click to replace this background image (PNG/JPG/WebP)`:`choose a background image (PNG/JPG/WebP)`;return n!==e.e&&I(t,e.e=n),i!==e.t&&F(t,`title`,e.t=i),e},{e:void 0,t:void 0}),e})(),pC()]}),null),t})()}function ow(e){let t=(e,t)=>{let n=Array.isArray(t?.apiKeys)&&t.apiKeys.length?t.apiKeys.filter(e=>typeof e==`string`&&e.trim()):t?.apiKey?[String(t.apiKey)]:[``];return{name:e,baseUrl:t?.baseUrl??``,apiKeys:n.length?n:[``],model:t?.model??``}},[n,r]=y(Object.entries(e.cfg.providers??{}).map(([e,n])=>t(e,n))),[i,a]=y(e.cfg.defaultProvider??``),o=()=>e.cfg.defaultProvider??``,s=()=>{let e=[...new Set(n().map(e=>e.name.trim()).filter(Boolean))],t=i();return t&&!e.includes(t)&&e.push(t),e},c=()=>{let e=i();return e?n().some(t=>t.name.trim()===e)?``:e:``},[l,u]=y(Math.round((e.cfg.progressIntervalMs??6e5)/6e4)),[d,f]=y(e.cfg.progressMinChars??4e3),[p,m]=y(e.cfg.contextTokenBudget==null?null:Math.round(e.cfg.contextTokenBudget/1e3)),[h,g]=y(e.cfg.contextWindowTokens?Math.round(e.cfg.contextWindowTokens/1e3):0),[_,v]=y(e.cfg.maxSpawnDepth??3),[ee,S]=y(!!e.cfg.shortContext),[C,w]=y(``),[T,E]=y(!1),[te,D]=y((e.cfg.tasks??[]).map(e=>({...e}))),[ne,re]=y((e.cfg.mcpServers??[]).map(e=>({...e}))),[ie,O]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>[t,e.headers?JSON.stringify(e.headers):``]))),[ae,oe]=y({}),[se,ce]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=e.headers??{},r=Object.keys(n);if(!r.length)return[t,`none`];let i=r.length===1?r[0]:``;return i===`Authorization`&&/^Bearer /i.test(n[i]??``)?[t,`bearer`]:[t,r.length===1?`header`:`json`]}))),[le,ue]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=e.headers??{},r=Object.keys(n);if(r.length!==1)return[t,``];let i=r[0];return[t,i===`Authorization`?(n[i]??``).replace(/^Bearer /i,``):n[i]??``]}))),[de,fe]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=Object.keys(e.headers??{}),r=n.length===1?n[0]:``;return[t,r&&r!==`Authorization`?r:``]}))),[pe,k]=y({}),me={},he=async(e,t)=>{if(!ne()[e])return;let n=await Y(`/api/mcp/test`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}).catch(()=>null);ne()[e]&&n&&k(t=>({...t,[e]:n.ok?{kind:`ok`,text:`${n.tools?.length??0} tools`}:{kind:`err`,text:n.needsOAuth?`needs authorization — press 🔑`:n.error??`no response`,...n.needsOAuth?{needsOAuth:!0}:{}}}))},[ge,_e]=y({}),[ve,ye]=y({}),be=e=>{let t=$S(ve(),e);return t&&(t.required||t.authorized)?t:null},xe=async()=>{let e=await Y(`/api/mcp`).catch(()=>null);_e(Object.fromEntries((e?.states??[]).map(e=>[e.name,e])))},Se=async e=>{let t=String(e??``).trim();if(!t)return;let n=await Y(`/api/mcp/oauth/status?name=${encodeURIComponent(t)}`).catch(()=>null);n&&!n.error&&ye(e=>({...e,[t]:n}))},we=async(t,n)=>{if(!n.name){k(e=>({...e,[t]:{kind:`err`,text:`give it a name first`}}));return}k(e=>({...e,[t]:{kind:`testing`,text:`discovering the authorization server…`}}));let r=await Y(`/api/mcp/oauth/start`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:n.name,url:n.url})}).catch(()=>null);if(r?.alreadyAuthorized){k(e=>({...e,[t]:{kind:`ok`,text:`already authorized`}})),await Se(n.name),await xe();return}if(!r?.ok||!r.url){k(e=>({...e,[t]:{kind:`err`,text:r?.error??`no response`}})),await Se(n.name);return}window.open(r.url,`_blank`,`noopener`),k(e=>({...e,[t]:{kind:`testing`,text:`waiting for you to finish in the browser…`}}));let i=Date.now()+3e5;for(;Date.now()<i;){await new Promise(e=>setTimeout(e,1e3));let r=await Y(`/api/mcp/oauth/status?name=${encodeURIComponent(n.name)}`).catch(()=>null);if(r&&!r.error){if(ye(e=>({...e,[n.name]:r})),r.authorized){k(e=>({...e,[t]:{kind:`ok`,text:`authorized — the tools are available now`}})),await xe(),e.onSaved();return}if(r.flow?.phase===`error`){k(e=>({...e,[t]:{kind:`err`,text:r.flow.message??r.lastError??`authorization failed`}}));return}}}k(e=>({...e,[t]:{kind:`err`,text:`authorization timed out`}}))};x(()=>{P()===`mcp`&&(xe(),ne().forEach((e,t)=>{e.name&&Se(e.name)}))});let[Te,Ee]=y(``),[P,De]=y(`providers`),Oe=(t,n)=>{let{slot:r}=tC(e.theme.auto(),n);r===`dark`?Ke(t):r===`light`?Je(t):He(t)},ke=t=>e.theme.auto()?t===e.theme.dark()||t===e.theme.light():t===e.theme.activeId(),[Ae,je]=y([]),Me=async()=>{let e=await Y(`/api/archived`).catch(()=>null);je(e?.agents??[])},Ne=()=>Ae().filter(e=>!e.parent);x(()=>{P()===`archive`&&Me()});let Pe=[{key:`providers`,label:`🧦 providers`,hint:`endpoints, API keys, default models`},{key:`appearance`,label:`🎨 appearance`,hint:`theme, custom palettes, background image`},{key:`runtime`,label:`⚙️ runtime`,hint:`context budget, retries, spawn depth`},{key:`tasks`,label:`⏰ scheduled tasks`,hint:`cron prompts run against an agent`},{key:`mcp`,label:`🔌 MCP servers`,hint:`external tool servers exposed to every agent`},{key:`archive`,label:`🗄 archive`,hint:`agents you put away — restore or delete for good`},{key:`agents`,label:`👥 agents`,hint:`what exists (read-only)`},{key:`update`,label:`⬆️ live update`,hint:`restart onto a newer build`},{key:`skills`,label:`🧠 skills`,hint:`reusable playbooks available to the selected session`},{key:`help`,label:`❔️ help`,hint:`keyboard shortcuts and what each toggle does`}],Fe=()=>(e.cfg.agents??[]).map(e=>e.id),Ie=()=>e.theme.themes(),Le=()=>e.theme.activeId(),Re={auto:localStorage.getItem(`teapot.theme.auto`)===`1`,dark:localStorage.getItem(`teapot.theme.dark`)??`dark`,light:localStorage.getItem(`teapot.theme.light`)??`light`,fixed:localStorage.getItem(`teapot.theme`)??`dark`},ze=y(Re),Be=ze[0],Ve=t=>{let n={...Be(),...t};ze[1](n),e.theme.setAuto(n.auto),e.theme.setDark(n.dark),e.theme.setLight(n.light),e.theme.setActive(n.fixed);let r=t.dark??t.light??t.fixed;r&&e.theme.preview(r)},He=e=>Ve({fixed:e}),Ue=()=>Be().auto,We=e=>Ve({auto:e}),Ge=()=>Be().dark,Ke=e=>Ve({dark:e}),qe=()=>Be().light,Je=e=>Ve({light:e}),Ye=t=>e.theme.setThemes(t),Xe=()=>{let t=Re;e.theme.setAuto(t.auto),e.theme.setDark(t.dark),e.theme.setLight(t.light),e.theme.setActive(t.fixed),e.theme.preview(null)},Ze=e=>Rn[e]??Ln,Qe=()=>{let e={};for(let t of n()){if(!t.name.trim())return Ee(`provider name is required`),null;if(t.baseUrl&&!/^https?:\/\//.test(t.baseUrl))return Ee(`provider ${t.name}: baseUrl must start with http(s)://`),null;let n=t.apiKeys.map(e=>e.trim()).filter(Boolean);e[t.name.trim()]={baseUrl:t.baseUrl,...n.length?{apiKeys:n,apiKey:n[0]}:{},...t.model?{model:t.model}:{}}}return e},[$e,et]=y(`idle`),tt=e=>{Ee(e),et(e=>e===`saving`?`idle`:e)},nt=async t=>{t.preventDefault(),Ee(``),et(`saving`);let n=Qe();if(!n)return et(`idle`);let r=te().filter(e=>e.id?.trim()||e.prompt?.trim()).map((e,t)=>({id:e.id?.trim()||`task-${t+1}`,agent:e.agent,schedule:e.schedule,prompt:e.prompt,...e.forked?{forked:!0}:{}}));for(let e of r){if(!e.agent)return tt(`task "${e.id}": agent is required`);if(!e.schedule?.trim())return tt(`task "${e.id}": schedule is required`)}let a=[],o=new Set;for(let e of ne()){let t=String(e.name??``).trim(),n=String(e.url??``).trim(),r=e.transport??`http`,i=String(e.command??``).trim();if(t||n||i){if(!t)return tt(`MCP: a server needs a name`);if(o.has(t))return tt(`MCP: two servers are named "${t}"`);if(o.add(t),r===`stdio`?!i:!n)return tt(`MCP "${t}": ${r===`stdio`?`a command is`:`a url is`} required`);a.push({name:t,transport:r,enabled:e.enabled!==!1,...String(e.description??``).trim()?{description:String(e.description).trim()}:{},...n?{url:n}:{},...r===`stdio`?{command:i,...e.args?.length?{args:e.args}:{}}:{},...e.headers&&Object.keys(e.headers).length?{headers:e.headers}:{}})}}try{await Y(`/api/config`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({providers:n,defaultProvider:i()||void 0,progressIntervalMs:Math.max(1,l())*6e4,progressMinChars:Math.max(100,d()),...p()==null?{}:{contextTokenBudget:Math.max(1,p())*1e3},...h()>0?{contextWindowTokens:h()*1e3}:{},maxSpawnDepth:Math.max(0,_()),shortContext:ee(),...T()?{password:C()}:{},tasks:r,mcpServers:a})}),await xe(),await Promise.all(a.map((e,t)=>e.name?Se(e.name):Promise.resolve())),setTimeout(()=>{xe(),a.forEach((e,t)=>{e.name&&Se(e.name)})},1200),e.onSaved();let t=new Set(a.map(e=>e.name).filter(Boolean)),o=ne().filter(e=>{let n=String(e.name??``).trim();return t.has(n)&&ve()[n]?.required&&!ve()[n]?.authorized}).filter(t=>!e.announcedOAuth.has(String(t.name??``)));if(o.length>0){for(let t of o)e.announcedOAuth.add(String(t.name??``));rf(`${o.map(e=>String(e.name??``).trim()).filter(Boolean).join(`, `)||`a saved MCP server`} needs authorization — 🔑 authorize in MCP servers`)}e.theme.commitAppearance(Be()),e.theme.preview(null),et(`saved`),Object.assign(Re,Be()),setTimeout(()=>{et(`idle`),e.onClose()},400)}catch(e){Ee(e.message),et(`error`),setTimeout(()=>et(`idle`),1600)}};return A(id,{title:`settings`,onClose:()=>{Xe(),e.onClose()},get children(){var t=bC(),x=t.firstChild,T=x.firstChild,_e=T.nextSibling.firstChild,ye=_e.firstChild.nextSibling,xe=ye.nextSibling;xe.firstChild;var Ae=xe.nextSibling.firstChild.firstChild.nextSibling;Ae.firstChild;var je=_e.nextSibling,Re=je.firstChild.nextSibling,ze=Re.firstChild.firstChild.nextSibling,Be=Re.nextSibling,Ve=je.nextSibling,Xe=Ve.firstChild.nextSibling,Qe=Xe.firstChild.firstChild.nextSibling,et=Xe.nextSibling,tt=et.firstChild,rt=tt.firstChild.nextSibling,at=et.nextSibling.firstChild,ot=Ve.nextSibling,ct=ot.firstChild.nextSibling.nextSibling,lt=ot.nextSibling,ut=lt.firstChild.nextSibling,dt=lt.nextSibling;dt.firstChild;var ft=dt.nextSibling;ft.firstChild;var pt=ft.nextSibling,mt=pt.firstChild.nextSibling.firstChild;mt.firstChild;var ht=mt.nextSibling,gt=pt.nextSibling;gt.firstChild;var _t=gt.nextSibling,vt=_t.firstChild.nextSibling.firstChild.nextSibling.firstChild,yt=vt.firstChild.nextSibling,bt=vt.nextSibling.firstChild.nextSibling,xt=x.nextSibling,St=xt.firstChild;return t.addEventListener(`submit`,nt),L(T,A(j,{each:Pe,children:e=>(()=>{var t=xC(),n=t.firstChild;return t.$$click=()=>De(e.key),L(n,()=>e.label),b(n=>{var r=`cfgmenu-item`+(P()===e.key?` on`:``),i=e.hint,a=P()===e.key?`page`:void 0;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-current`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()})),L(_e,A(Ce,{get each(){return n()},children:(e,t)=>(()=>{var i=SC(),a=i.firstChild,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.firstChild;return a.$$input=e=>r(n().map((n,r)=>r===t?{...n,name:e.currentTarget.value}:n)),o.$$input=e=>r(n().map((n,r)=>r===t?{...n,baseUrl:e.currentTarget.value}:n)),s.$$input=e=>r(n().map((n,r)=>r===t?{...n,model:e.currentTarget.value}:n)),c.$$click=()=>r(n().filter((e,n)=>n!==t)),L(l,A(j,{get each(){return e().apiKeys},children:(i,a)=>(()=>{var o=wC(),s=o.firstChild;return s.$$input=e=>r(n().map((n,r)=>r===t?{...n,apiKeys:n.apiKeys.map((t,n)=>n===a()?e.currentTarget.value:t)}:n)),s.value=i,L(o,A(M,{get when(){return e().apiKeys.length>1},get children(){var e=CC();return e.$$click=()=>r(n().map((e,n)=>n===t?{...e,apiKeys:e.apiKeys.filter((e,t)=>t!==a())}:e)),e}}),null),b(()=>F(s,`placeholder`,a()===0?`api key`:`api key (backup)`)),o})()}),u),u.$$click=()=>r(n().map((e,n)=>n===t?{...e,apiKeys:[...e.apiKeys,``]}:e)),b(()=>a.value=e().name),b(()=>o.value=e().baseUrl),b(()=>s.value=e().model),i})()}),ye),ye.$$click=()=>r([...n(),{name:``,baseUrl:``,apiKeys:[``],model:``}]),L(xe,A(j,{each:eC,children:e=>(()=>{var t=TC();return t.firstChild,t.$$click=()=>{let t=n().filter(t=>t.name!==e.key);r([...t,{name:e.key,baseUrl:e.url,apiKeys:[``],model:e.model}]),i()||a(e.key)},L(t,()=>e.label,null),b(()=>F(t,`title`,`fill a ${e.label} row — ${e.url}${e.model?` (model: ${e.model})`:``}`)),t})()}),null),Ae.addEventListener(`change`,e=>a(e.currentTarget.value)),L(Ae,A(j,{get each(){return s()},children:e=>(()=>{var t=EC();return t.value=e,L(t,e),t})()}),null),L(_e,A(M,{get when(){return c()},get children(){var e=gC(),t=e.firstChild.nextSibling,n=t.nextSibling.nextSibling,r=n.nextSibling.nextSibling;return L(t,c),L(e,()=>c()===o()?` — the dropdown above cannot show it.`:` — it was replaced by your selection.`,n),L(r,c),e}}),null),ze.addEventListener(`change`,e=>{We(e.currentTarget.checked)}),L(je,A(M,{get when(){return Ue()},get children(){var e=_C(),t=e.firstChild,n=t.firstChild.nextSibling,r=t.nextSibling.firstChild.nextSibling;return n.addEventListener(`change`,e=>{Ke(e.currentTarget.value)}),L(n,A(j,{get each(){return Ie().filter(e=>e.mode===`dark`).map(e=>({key:e.id,label:`${e.label} (custom)`})).concat(Nd.filter(e=>e.mode===`dark`))},children:e=>(()=>{var t=EC();return L(t,()=>e.label),b(()=>t.value=e.key),t})()})),r.addEventListener(`change`,e=>{Je(e.currentTarget.value)}),L(r,A(j,{get each(){return Ie().filter(e=>e.mode===`light`).map(e=>({key:e.id,label:`${e.label} (custom)`})).concat(Nd.filter(e=>e.mode===`light`))},children:e=>(()=>{var t=EC();return L(t,()=>e.label),b(()=>t.value=e.key),t})()})),b(()=>n.value=Ge()),b(()=>r.value=qe()),e}}),Be),L(je,A(j,{each:[{mode:`dark`,title:`dark themes`},{mode:`light`,title:`light themes`}],children:e=>A(M,{get when(){return[...Ie(),...Nd].some(t=>t.mode===e.mode)},get children(){return[(()=>{var t=DC();return L(t,()=>e.title),t})(),(()=>{var t=OC();return L(t,A(j,{get each(){return Ie().filter(t=>t.mode===e.mode)},children:e=>(()=>{var t=kC(),n=t.firstChild,r=n.nextSibling,i=r.firstChild;return t.$$click=()=>Oe(e.id,e.mode),L(n,A($d,{get palette(){return e.palette},get backgroundImage(){return e.backgroundImage},get surfaceAlpha(){return e.surfaceAlpha},get backgroundDim(){return e.backgroundDim}})),L(r,()=>e.label,i),b(n=>{var r=`themecard`+(ke(e.id)?` on`:``),i=`${e.label} (custom)${e.backgroundImage?` · with a background image`:``}`,a=ke(e.id);return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-pressed`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()}),null),L(t,A(j,{get each(){return Nd.filter(t=>t.mode===e.mode)},children:e=>(()=>{var t=AC(),n=t.firstChild,r=n.nextSibling;return t.$$click=()=>Oe(e.key,e.mode),L(n,A($d,{get palette(){return Ze(e.key)}})),L(r,()=>e.label),b(n=>{var r=`themecard`+(ke(e.key)?` on`:``),i=`${e.label} (${e.mode})`,a=ke(e.key);return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-pressed`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()}),null),t})()]}})}),null),L(je,A(aw,{themes:Ie,get paintedId(){return e.theme.paintedId()},onChange:e=>{let t=Hn(e),n=e;if(!t.ok){let t=e.map(e=>e.backgroundImage?{...e,backgroundImage:void 0,backgroundDim:void 0,surfaceAlpha:void 0,backgroundImageBytes:void 0}:e),r=Hn(t);if(r.ok)n=t,rf(`storage was full — saved without the background image(s)`);else{rf(r.error??`could not save theme`);return}}Ye(n);let r=e=>n.some(t=>t.id===e)||Nd.some(t=>t.key===e);r(Le())||(He(`dark`),localStorage.setItem(`teapot.theme`,`dark`)),r(Ge())||(Ke(`dark`),localStorage.setItem(`teapot.theme.dark`,`dark`)),r(qe())||(Je(`light`),localStorage.setItem(`teapot.theme.light`,`light`))},onPick:e=>{let t=Ie().find(t=>t.id===e)?.mode??Nd.find(t=>t.key===e)?.mode??`dark`,n=tC(Ue(),t);n.slot===`dark`?Ke(e):n.slot===`light`?Je(e):He(e)}}),null),Qe.$$input=e=>{w(e.currentTarget.value),E(!0)},L(et,A(Qd,{label:`progress interval (min)`,get value(){return l()},onValue:e=>u(e),hint:`how often the harness asks for a progress report`}),tt),L(et,A(Qd,{label:`progress min chars`,get value(){return d()},onValue:e=>f(e),hint:`progress prompts wait for this much real output`}),tt),rt.$$input=e=>m(e.currentTarget.value===``?null:Number(e.currentTarget.value)),L(et,A(Qd,{label:`context window (k tok)`,get value(){return h()},onValue:e=>g(e),hint:`model's real window — 0/blank hides the % gauge`}),null),L(et,A(Qd,{label:`max spawn depth`,get value(){return _()},onValue:e=>v(e),hint:`sub-agent nesting limit (0 = no spawning)`}),null),at.addEventListener(`change`,e=>S(e.currentTarget.checked)),L(ot,A(M,{get when(){return ne().length>0},get fallback(){return jC()},get children(){return A(Ce,{get each(){return ne()},children:(e,t)=>{let n=()=>ge()[e().name],r=e=>re(ne().map((n,r)=>r===t?{...n,...e}:n));return(()=>{var i=HC(),a=i.firstChild,o=a.firstChild,s=o.nextSibling,c=s.nextSibling,l=c.firstChild,u=c.nextSibling,d=a.nextSibling,f=d.firstChild,p=d.nextSibling,m=p.firstChild,h=p.nextSibling,g=h.firstChild,_=g.firstChild,v=h.nextSibling,ee=v.firstChild;return o.$$input=e=>r({name:e.currentTarget.value}),s.$$input=e=>{r({url:e.currentTarget.value});let n=e.currentTarget.value.trim();clearTimeout(me[t]),/^https?:\/\//.test(n)&&(me[t]=setTimeout(()=>{he(t,{...ne()[t],url:n})},700))},l.addEventListener(`change`,e=>r({enabled:e.currentTarget.checked})),u.$$click=()=>re(ne().filter((e,n)=>n!==t)),f.$$input=e=>r({description:e.currentTarget.value}),m.addEventListener(`change`,e=>r({transport:e.currentTarget.value})),L(p,A(M,{get when(){return e().transport===`stdio`},get children(){return[(()=>{var t=MC();return t.$$input=e=>r({command:e.currentTarget.value}),b(()=>t.value=e().command??``),t})(),(()=>{var t=NC();return t.$$input=e=>r({args:e.currentTarget.value.split(` `).filter(Boolean)}),b(()=>t.value=(e().args??[]).join(` `)),t})()]}}),null),g.addEventListener(`change`,e=>{let n=e.currentTarget.value;if(ce(e=>({...e,[t]:n})),n===`none`)r({headers:void 0});else if(n===`bearer`){let e=le()[t]??``;r({headers:e?{Authorization:`Bearer ${e}`}:void 0})}else if(n===`header`){let e=de()[t]??``,n=le()[t]??``;r({headers:e&&n?{[e]:n}:void 0})}}),L(g,A(M,{get when(){return be(String(e().name??``))},children:e=>(()=>{var t=UC();return L(t,()=>e().authorized?`OAuth — authorized`:`OAuth — authorization needed`),t})()}),_),L(h,A(M,{get when(){return se()[t]===`bearer`},get children(){var e=PC();return e.$$input=e=>{let n=e.currentTarget.value;ue(e=>({...e,[t]:n})),r({headers:n?{Authorization:`Bearer ${n}`}:void 0})},b(()=>e.value=le()[t]??``),e}}),null),L(h,A(M,{get when(){return se()[t]===`header`},get children(){return[(()=>{var e=FC();return e.$$input=e=>{let n=e.currentTarget.value;fe(e=>({...e,[t]:n}));let i=le()[t]??``;r({headers:n&&i?{[n]:i}:void 0})},b(()=>e.value=de()[t]??``),e})(),(()=>{var e=IC();return e.$$input=e=>{let n=e.currentTarget.value;ue(e=>({...e,[t]:n}));let i=de()[t]??``;r({headers:i&&n?{[i]:n}:void 0})},b(()=>e.value=le()[t]??``),e})()]}}),null),L(i,A(M,{get when(){return se()[t]===`json`},get children(){var e=LC(),n=e.firstChild;return n.$$input=e=>{let n=e.currentTarget.value;if(O(e=>({...e,[t]:n})),!n.trim())r({headers:void 0});else try{let e=JSON.parse(n);if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`not an object`);r({headers:e}),oe(e=>({...e,[t]:``}))}catch{oe(e=>({...e,[t]:`must be a JSON object — not applied`}))}},b(()=>n.value=ie()[t]??``),e}}),v),ee.$$click=async()=>{let e=ne()[t];if(!e.name){k(e=>({...e,[t]:{kind:`err`,text:`give it a name first`}}));return}k(e=>({...e,[t]:{kind:`testing`,text:`connecting…`}}));let n=await Y(`/api/mcp/test`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).catch(()=>null);k(e=>({...e,[t]:n?.ok?{kind:`ok`,text:`${n.tools?.length??0} tool${n.tools?.length===1?``:`s`}`,tools:n.tools??[]}:{kind:`err`,text:n?.error??`no response`,...n?.needsOAuth?{needsOAuth:!0}:{}}})),n?.ok||await Se(e.name)},L(v,A(M,{get when(){return N(()=>!!$S(ve(),String(e().name??``))?.required)()&&!$S(ve(),String(e().name??``))?.authorized},get children(){var n=RC();return n.$$click=()=>void we(t,e()),n}}),null),L(v,A(M,{get when(){return $S(ve(),String(e().name??``))?.authorized},get children(){return zC()}}),null),L(v,A(M,{get when(){return n()},get children(){var e=BC();return L(e,(()=>{var e=N(()=>n()?.status===`connected`);return()=>e()?`● ${n()?.tools} tools`:N(()=>n()?.status===`error`)()?`● error`:n()?.status===`disabled`?`● off`:`● idle`})()),b(t=>{var r=`mcpstate `+(n()?.status??``),i=n()?.lastError??``;return r!==t.e&&I(e,t.e=r),i!==t.t&&F(e,`title`,t.t=i),t},{e:void 0,t:void 0}),e}}),null),L(i,A(M,{get when(){return ae()[t]},get children(){var e=VC();return L(e,()=>ae()[t]),e}}),null),L(i,A(M,{get when(){return pe()[t]},children:n=>(()=>{var r=qC(),i=r.firstChild,a=i.firstChild;return L(a,()=>n().text),L(i,A(M,{get when(){return n().needsOAuth},get children(){return WC()}}),null),L(r,A(M,{get when(){return(n().tools?.length??0)>0},get children(){var e=GC(),t=e.firstChild,r=t.firstChild.nextSibling;r.nextSibling;var i=t.nextSibling;return L(t,()=>n().tools?.length,r),L(t,()=>n().tools?.length===1?``:`s`,null),L(i,A(j,{get each(){return n().tools??[]},children:e=>(()=>{var t=YC(),n=t.firstChild;return L(n,()=>e.name),L(t,A(M,{get when(){return e.description},get children(){var t=JC();return L(t,()=>e.description),t}}),null),b(()=>F(t,`title`,e.description??``)),t})()})),e}}),null),L(r,A(M,{get when(){return $S(ve(),String(e().name??``))?.authorized},get children(){var n=KC(),r=n.firstChild.nextSibling;return r.$$click=async()=>{confirm(`Disconnect ${e().name}?\n\nThe stored OAuth grant is deleted and you will have to authorize again in a browser.`)&&(await Y(`/api/mcp/oauth/disconnect`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:e().name})}).catch(()=>{}),await Se(e().name),k(e=>({...e,[t]:{kind:`ok`,text:`disconnected`}})))},n}}),null),b(()=>I(r,`mcpresult `+(n().kind===`err`?`err`:`ok`))),r})()}),null),b(()=>o.value=e().name),b(()=>s.value=e().url??``),b(()=>l.checked=e().enabled!==!1),b(()=>f.value=e().description??``),b(()=>m.value=e().transport??`http`),b(()=>g.value=be(String(e().name??``))?`oauth`:se()[t]??`none`),i})()}})}}),ct),ct.$$click=()=>re([...ne(),{name:``,url:``,transport:`http`,enabled:!0}]),L(lt,A(M,{get when(){return te().length>0},get children(){return A(Ce,{get each(){return te()},children:(e,t)=>(()=>{var n=XC(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.firstChild,l=s.nextSibling,u=r.nextSibling;return i.$$input=e=>D(te().map((n,r)=>r===t?{...n,id:e.currentTarget.value}:n)),a.$$input=e=>D(te().map((n,r)=>r===t?{...n,agent:e.currentTarget.value}:n)),o.$$input=e=>D(te().map((n,r)=>r===t?{...n,schedule:e.currentTarget.value}:n)),c.addEventListener(`change`,e=>D(te().map((n,r)=>r===t?{...n,forked:e.currentTarget.checked}:n))),l.$$click=()=>D(te().filter((e,n)=>n!==t)),u.$$input=e=>D(te().map((n,r)=>r===t?{...n,prompt:e.currentTarget.value}:n)),b(()=>i.value=e().id),b(()=>a.value=e().agent),b(()=>o.value=e().schedule),b(()=>c.checked=!!e().forked),b(()=>u.value=e().prompt),n})()})}}),ut),ut.$$click=()=>D([...te(),{id:``,agent:Fe()[0]??``,schedule:`every 30m`,prompt:``}]),L(dt,A(M,{get when(){return Ne().length>0},get fallback(){return ZC()},get children(){return A(j,{get each(){return Ne()},children:t=>(()=>{var n=QC(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.firstChild,s=a.nextSibling,c=r.nextSibling,l=c.nextSibling;return L(i,()=>t.id),L(a,()=>t.sessions,o),L(a,()=>t.sessions===1?``:`s`,null),L(a,(()=>{var e=N(()=>(t.subs??0)>0);return()=>e()?` · +${t.subs} sub-agent${t.subs===1?``:`s`} (restored together)`:``})(),null),L(a,(()=>{var e=N(()=>!!t.archivedAt);return()=>e()?` · archived ${st(new Date(t.archivedAt).toISOString())}`:``})(),null),L(s,()=>t.workspace),c.$$click=async()=>{let n=await Y(`/api/agents/${t.id}/restore`,{method:`POST`}).catch(()=>null);await Me(),e.onSaved();let r=(n?.ids?.length??1)-1;rf((n?.live===!1?`restored ${t.id} — it could not be started (check its provider)`:`restored ${t.id}`)+(r>0?` + ${r} sub-agent${r===1?``:`s`}`:``))},l.$$click=async()=>{confirm(`PERMANENTLY DELETE ${t.id}?\n\n${t.sessions} session${t.sessions===1?``:`s`} of history will be erased from disk along with the config entry. This cannot be undone — archiving was the reversible option.`)&&(await Y(`/api/agents/${t.id}/purge`,{method:`DELETE`}).catch(()=>{}),await Me(),e.onSaved(),rf(`deleted ${t.id} for good`))},b(()=>F(s,`title`,t.workspace)),n})()})}}),null),L(ft,A(j,{get each(){return e.cfg.agents??[]},children:e=>(()=>{var t=ew(),n=t.firstChild,r=n.nextSibling;return L(n,()=>e.id),L(r,()=>e.workspace),L(t,A(M,{get when(){return e.parent},get children(){var t=$C();return t.firstChild,L(t,()=>e.parent,null),t}}),null),t})()}),null),L(mt,()=>e.cfg.version??`unknown`,null),ht.$$click=async e=>{try{Ee(``);let t=e.currentTarget;t.disabled=!0,t.textContent=`updating…`;let n=await Y(`/api/update/restart`,{method:`POST`});if(!n.ok)throw Error((await n.json()).error??`restart failed`);t.textContent=`restarting…`;let r=null,i=!1;for(let e=0;e<120&&!i;e++){await new Promise(e=>setTimeout(e,1e3));try{let e=await Y(`/api/version`);if(!e.version)continue;r===null&&(r=e.uptimeSeconds??null),(e.version!==`0.37.101`||typeof e.uptimeSeconds==`number`&&r!==null&&e.uptimeSeconds<r)&&(i=!0,window.location.reload())}catch{}}if(!i)throw Error(`restart timeout — new server did not come up`)}catch(e){Ee(e.message)}finally{e.currentTarget.disabled=!1,e.currentTarget.textContent=`update & restart`}},L(gt,A(M,{get when(){return e.skills.length>0},get fallback(){return(()=>{var t=tw();return L(t,()=>e.hasSelection?`this session has no skills yet — the agent saves them with save_skill once a procedure proves itself`:`select a session to see the skills available to it`),t})()},get children(){var t=vC();return L(t,A(j,{get each(){return e.skills},children:t=>{let[n,r]=y(!1),[i,a]=y(null),[o,s]=y(``),c=async()=>{if(n())return r(!1);if(r(!0),i()===null&&e.agentId)try{let n=await Y(`/api/agents/${e.agentId}/skills/${encodeURIComponent(t.name)}`);a(String(n.text??``))}catch(e){s(e.message)}};return(()=>{var e=rw(),r=e.firstChild,a=r.firstChild,s=a.nextSibling,l=s.nextSibling;return r.$$click=c,L(a,()=>n()?`▾`:`▸`),L(s,()=>t.name),L(l,()=>t.description),L(e,A(M,{get when(){return n()},get children(){return A(M,{get when(){return i()!==null},get fallback(){return(()=>{var e=iw();return L(e,()=>o()||`loading…`),e})()},get children(){var e=nw();return b(()=>e.innerHTML=it(String(i()??``))),e}})}}),null),b(()=>e.classList.toggle(`open`,!!n())),e})()}})),t}}),null),L(yt,(()=>{var t=N(()=>!!e.features);return()=>t()?N(()=>!!e.features.imageResize.available)()?`on — ${e.features.imageResize.tool}, long edge ≤ ${e.features.imageResize.maxEdge}px`:`off — no ffmpeg / ImageMagick found; uploads are served as-is`:`checking…`})()),L(bt,(()=>{var t=N(()=>!!e.features);return()=>t()?N(()=>!!e.features.pty.available)()?`on — ${e.features.pty.provider}`:`off — no pty provider; terminals run on plain pipes (no resize)`:`checking…`})()),L(xt,A(M,{get when(){return Te()},get children(){var e=yC();return L(e,Te),e}}),St),L(St,(()=>{var e=N(()=>$e()===`saving`);return()=>e()?`saving…`:N(()=>$e()===`saved`)()?`✓ saved`:$e()===`error`?`✕ failed`:`save settings`})()),b(t=>{var n=P()!==`providers`,r=P()!==`appearance`,i=P()!==`runtime`,a=e.cfg.hasPassword?`(unchanged — type to replace)`:`(none — loopback only)`,o=P()!==`mcp`,s=P()!==`tasks`,c=P()!==`archive`,l=P()!==`agents`,u=P()!==`update`,d=P()!==`skills`,f=P()!==`help`,p=$e()===`saved`,m=$e()===`error`,h=$e()===`saving`;return n!==t.e&&_e.classList.toggle(`hide`,t.e=n),r!==t.t&&je.classList.toggle(`hide`,t.t=r),i!==t.a&&Ve.classList.toggle(`hide`,t.a=i),a!==t.o&&F(Qe,`placeholder`,t.o=a),o!==t.i&&ot.classList.toggle(`hide`,t.i=o),s!==t.n&&lt.classList.toggle(`hide`,t.n=s),c!==t.s&&dt.classList.toggle(`hide`,t.s=c),l!==t.h&&ft.classList.toggle(`hide`,t.h=l),u!==t.r&&pt.classList.toggle(`hide`,t.r=u),d!==t.d&&gt.classList.toggle(`hide`,t.d=d),f!==t.l&&_t.classList.toggle(`hide`,t.l=f),p!==t.u&&St.classList.toggle(`saved`,t.u=p),m!==t.c&&St.classList.toggle(`error`,t.c=m),h!==t.w&&(St.disabled=t.w=h),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0}),b(()=>Ae.value=i()),b(()=>ze.checked=Ue()),b(()=>Qe.value=C()),b(()=>rt.value=p()??``),b(()=>at.checked=ee()),t}})}De([`click`,`input`]);var sw=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`ico`,`avif`]),cw=new Set([`mp4`,`webm`,`mov`,`mkv`,`avi`,`m4v`]),lw=new Set([`mp3`,`wav`,`ogg`,`m4a`,`flac`,`aac`,`opus`]);function uw(e){let t=e.split(`.`).pop()?.toLowerCase()??``,n=dw(e);return n===`image`?`🖼`:n===`video`?`🎬️`:n===`audio`?`🎵`:[`ts`,`tsx`,`mts`,`cts`].includes(t)?`🟦`:[`js`,`mjs`,`cjs`,`jsx`].includes(t)?`🟨`:t===`json`||t===`jsonc`?`🧾`:t===`md`||t===`mdx`||t===`markdown`?`📝`:t===`css`||t===`scss`||t===`less`?`🎨`:t===`html`||t===`htm`||t===`svg`?`🌐️`:[`py`,`pyi`].includes(t)?`🐍`:t===`rs`?`🦀`:t===`go`?`🐹`:t===`java`||t===`kt`||t===`kts`?`☕️`:t===`rb`?`💎`:t===`php`?`🐘`:t===`c`||t===`h`||t===`cpp`||t===`hpp`||t===`cc`?`🧩`:t===`sh`||t===`bash`||t===`zsh`||t===`fish`?`🐚`:t===`sql`?`🗄`:t===`yml`||t===`yaml`||t===`toml`||t===`ini`||t===`conf`?`⚙️`:t===`lock`?`🔒️`:e===`Dockerfile`||t===`dockerfile`?`🐳`:t===`zip`||t===`gz`||t===`tar`||t===`tgz`||t===`bz2`?`📦`:t===`pdf`?`📕`:t===`txt`||t===`log`?`📄`:`·`}function dw(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return sw.has(t)?`image`:cw.has(t)?`video`:lw.has(t)?`audio`:null}var fw=new Map,pw=e=>{let t=fw.get(e);return t||(t={expanded:new Set,preview:null,media:null,viewMode:`code`},fw.set(e,t)),t},mw=P(`<span class=fsize>`),hw=P(`<div><span class=ficon></span><span class=fname>`),gw=P(`<h3 title="the agent's workspace — lazy-loaded, dotfiles hidden; click a folder to expand, a file to preview"style=display:flex;align-items:center;gap:6px>🗂 files <span class=muted style=text-transform:none;letter-spacing:0>· `),_w=P(`<div class=filebox>`),vw=P(`<div class=muted style=padding:6px>`),yw=P(`<img>`),bw=P(`<div class=mediapreview><div class="meta muted"> preview`),xw=P(`<button title="rendered markdown">👁 preview`),Sw=P(`<button title="edit and save back to the workspace">✎ edit`),Cw=P(`<div class=filetoolbar><button title="syntax-highlighted source">&lt;/> code`),ww=P(`<div class=fileeditor><textarea class=mono></textarea><div class=filerow-actions><span class=muted> bytes</span><button class=savebtn>`),Tw=P(`<div class=mono style=margin:0;color:var(--dim)>(binary file — inspect it from the terminal)`),Ew=P(`<div class="content mdpreview shikiwrap">`),Dw=P(`<video controls>`),Ow=P(`<audio controls>`);function kw(e){let t=pw(e.agentId),[n,r]=y(new Map),[i,a]=y(t.expanded),[o,s]=y(t.preview),c=e=>{t.preview=e,s(e)},l=e=>{t.expanded=e,a(e)},[u,d]=y(t.media),f=e=>{t.media=e,d(e)},[p,m]=y(t.viewMode),h=e=>{t.viewMode=e,m(e)},[g,_]=y(``),[v,ee]=y(localStorage.getItem(`teapot.ignoreMode`)??`dim`),S=()=>{let e=[`dim`,`hide`,`show`],t=e[(e.indexOf(v())+1)%3];ee(t),localStorage.setItem(`teapot.ignoreMode`,t)},C=e=>v()!==`hide`||!e.ignored,[w,E]=y(localStorage.getItem(`teapot.showHidden`)===`1`),te=()=>{let e=!w(),t=[``,...i()];Promise.all(t.map(async t=>({p:t,rows:await re(t,e)}))).then(t=>{E(e),localStorage.setItem(`teapot.showHidden`,e?`1`:`0`);for(let{p:e,rows:n}of t)n&&ie(e,n)})},D=(e,t)=>t.map(t=>({name:String(t.name),path:e?`${e}/${t.name}`:String(t.name),dir:!!t.dir,...typeof t.size==`number`?{size:t.size}:{},...t.ignored?{ignored:!0}:{}}));async function ne(e){return re(e,w())}async function re(t,n){try{let r=new URLSearchParams;t&&r.set(`path`,t),n&&r.set(`hidden`,`1`);let i=await Y(`/api/agents/${e.agentId}/tree?${r.toString()}`);return D(t,i.entries??[])}catch(e){return _(e.message),null}}let ie=(e,n)=>r(r=>{let i=r.get(e);if(!i)return new Map(r).set(e,n);let a=new Map(i.map(e=>[e.path,e])),o=n.map(e=>{let t=a.get(e.path);return t&&t.dir===e.dir&&t.size===e.size&&t.ignored===e.ignored&&t.name===e.name?t:e}).filter(e=>n.some(t=>t.path===e.path)||t.preview?.path===e.path),s=new Map(r);return s.set(e,o),s}),O=``;x(()=>{let t=e.agentId;t!==O&&(O=t,l(new Set),c(null),f(null),r(new Map),ne(``).then(e=>{e&&O===t&&r(new Map([[``,e]]))}))});let ae=async e=>{let t=new Set(i());if(t.has(e.path))t.delete(e.path),l(t);else if(t.add(e.path),l(t),!n().has(e.path)){let t=await ne(e.path);t&&ie(e.path,t)}},[oe,se]=y(``),[ce,le]=y(!1),[ue,de]=y(``),[fe,pe]=y(!1),k=e=>/\.(md|markdown|mdx)$/i.test(e),me=0,he=async e=>{let t=++me;se(``),le(!0);try{let{highlightChunks:n}=await J(async()=>{let{highlightChunks:e}=await Promise.resolve().then(()=>Zb);return{highlightChunks:e}},void 0);for await(let r of n(e.path,e.content)){if(me!==t)return;se(e=>e+r)}}catch{me===t&&se(``)}finally{me===t&&le(!1)}};T(()=>{me++});let ge=async(t,n)=>{let r=dw(t.path);if(r)c({path:t.path,content:``,binary:!0}),f({path:t.path,kind:r}),h(`media`);else try{let r=await Y(`/api/agents/${e.agentId}/file?path=${encodeURIComponent(t.path)}`);f(null),c({path:t.path,content:r.content??``,binary:r.binary,truncated:r.truncated}),de(r.content??``),h(r.binary?`code`:n),!r.binary&&n!==`md`&&he({path:t.path,content:r.content??``,truncated:r.truncated})}catch(e){rf(`open failed: ${e.message}`)}},_e=async()=>{let t=o();if(t&&!fe()){pe(!0);try{await Y(`/api/agents/${e.agentId}/file?path=${encodeURIComponent(t.path)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({content:ue(),baseContent:t.content})}),c({...t,content:ue()}),rf(`saved ${t.path}`)}catch(e){let n=e.payload,r=n&&typeof n==`object`&&n.error===`file changed on disk`?n:null;r?.current===void 0?rf(`save failed: ${e.message}`):confirm(`This file changed on disk since you opened it.
175
+ \v\f…\u2028\u2029])`),t));else if(c===`posix`){if(!i&&(u===`graph`||u===`print`)){if(r===`strict`)throw Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);let e={graph:`!-~`,print:` -~`}[u];l&&(e=`\0-${Py(e.codePointAt(0)-1)}${Py(e.codePointAt(2)+1)}-\u{10FFFF}`),n(Eb(Cb(`[${e}]`),t))}else n(Eb(wb(Cb(Qy.get(u)),l),t))}else if(c===`property`)Jy.has(ny(u))||(e.key=`sc`);else if(c===`space`)n(Tb(Jv(`space`,{negate:l}),t));else if(c===`word`)n(Eb(wb(Cb(Ky),l),t));else throw Error(`Unexpected character set kind "${c}"`)}},Directive({node:e,parent:t,root:n,remove:r,replaceWith:i,removeAllPrevSiblings:a,removeAllNextSiblings:o}){let{kind:s,flags:c}=e;if(s===`flags`){if(!c.enable&&!c.disable)r();else{let e=Vv({flags:c});e.body[0].body=o(),i(Eb(e,t),{traverse:!0})}}else if(s===`keep`){let e=n.body[0],r=n.body.length===1&&vv(e,{type:`Group`})&&e.body[0].body.length===1?e.body[0]:n;if(t.parent!==r||r.body.length>1)throw Error($`Uses "\K" in a way that's unsupported`);let o=Hv({behind:!0});o.body[0].body=a(),i(Eb(o,t))}else throw Error(`Unexpected directive kind "${s}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw Error(`Unsupported flag "P"`);if(e.textSegmentMode===`word`)throw Error(`Unsupported flag "y{w}"`);[`digitIsAscii`,`extended`,`posixIsAscii`,`spaceIsAscii`,`wordIsAscii`,`textSegmentMode`].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n===`lookbehind`&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:r}=e;if(r===`fail`)n(Eb(Hv({negate:!0}),t));else throw Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type===`Quantifier`){let t=Vv();t.body[0].body.push(e.body),e.body=Eb(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],r=!1,i=!1;for(let t of e.body)if(t.body.length===1&&t.body[0].kind===`search_start`)t.body.pop();else{let e=_b(t.body);e?(r=!0,Array.isArray(e)?n.push(...e):n.push(e)):i=!0}r&&!i&&n.forEach(e=>t.add(e))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t===`strict`&&n&&r)throw Error($`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!Sb(n)&&(n=pb(n,t),e.ref=n)}},ab={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:r,ref:i}=e;r||n.set(e,[...t.get(i).map(({node:e})=>e)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:i,groupsByName:a,multiplexCapturesToLeftByRef:o,openRefs:s,reffedNodesByReferencer:c}){let l=i.get(e);if(l&&s.has(e.number)){let r=Tb(db(e.number),t);c.set(r,s.get(e.number)),n(r);return}s.set(e.number,e),o.set(e.number,[]),e.name&&Ry(o,e.name,[]);let u=o.get(e.name??e.number);for(let t=0;t<u.length;t++){let n=u[t];if(l===n.node||l&&l===n.origin||e===n.origin){u.splice(t,1);break}}if(o.get(e.number).push({node:e,origin:l}),e.name&&o.get(e.name).push({node:e,origin:l}),e.name){let t=Ry(a,e.name,new Map),n=!1;if(l)n=!0;else for(let e of t.values())if(!e.hasDuplicateNameToRemove){n=!0;break}a.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:n})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=Ly(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){let{isRecursive:i,ref:a}=e;if(i){let n=t;for(;(n=n.parent)&&(n.type!==`CapturingGroup`||n.name!==a&&n.number!==a););r.reffedNodesByReferencer.set(e,n);return}let o=r.subroutineRefMap.get(a),s=a===0,c=s?db(0):ub(o,r.groupOriginByCopy,null),l=c;if(!s){let e=mb(fb(o,e=>e.type===`Group`&&!!e.flags)),t=e?Ly(r.globalFlags,e):r.globalFlags;cb(t,r.currentFlags)||(l=Vv({flags:hb(t)}),l.body[0].body.push(c))}n(Eb(l,t),{traverse:!s})}},ob={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let i=r.reffedNodesByReferencer.get(e).filter(t=>lb(t,e));i.length?i.length>1?n(Eb(Vv({atomic:!0,body:i.reverse().map(e=>jv({body:[Nv(e.number)]}))}),t)):e.ref=i[0].number:n(Eb(Hv({negate:!0}),t))},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let t=0;t<n;t++){let t=Pv();e.body.at(-1).body.push(t)}}},Subroutine({node:e},t){e.isRecursive&&e.ref!==0&&(e.ref=t.reffedNodesByReferencer.get(e).number)}};function sb(e){ay(e,{"*"({node:e,parent:t}){e.parent=t}})}function cb(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function lb(e,t){let n=t;do{if(n.type===`Regex`)return!1;if(n.type===`Alternative`)continue;if(n===e)return!1;let t=gb(n.parent);for(let r of t){if(r===n)break;if(r===e||vb(r,e))return!0}}while(n=n.parent);throw Error(`Unexpected path`)}function ub(e,t,n,r){let i=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a===`parent`?i.parent=Array.isArray(n)?r:n:o&&typeof o==`object`?i[a]=ub(o,t,i,n):(a===`type`&&o===`CapturingGroup`&&t.set(i,t.get(e)??e),i[a]=o);return i}function db(e){let t=qv(e);return t.isRecursive=!0,t}function fb(e,t){let n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function pb(e,t){if(t.has(e))return t.get(e);let n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/gu,`_`)}`;return t.set(e,n),n}function mb(e){let t=[`dotAll`,`ignoreCase`],n={enable:{},disable:{}};return e.forEach(({flags:e})=>{t.forEach(t=>{e.enable?.[t]&&(delete n.disable[t],n.enable[t]=!0),e.disable?.[t]&&(n.disable[t]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function hb({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function gb(e){if(!e)throw Error(`Node expected`);let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function _b(e){let t=e.find(e=>e.kind===`search_start`||xb(e,{negate:!1})||!yb(e));if(!t)return null;if(t.kind===`search_start`)return t;if(t.type===`LookaroundAssertion`)return t.body[0].body[0];if(t.type===`CapturingGroup`||t.type===`Group`){let e=[];for(let n of t.body){let t=_b(n.body);if(!t)return null;Array.isArray(t)?e.push(...t):e.push(t)}return e}return null}function vb(e,t){let n=gb(e)??[];for(let e of n)if(e===t||vb(e,t))return!0;return!1}function yb({type:e}){return e===`Assertion`||e===`Directive`||e===`LookaroundAssertion`}function bb(e){let t=[`Character`,`CharacterClass`,`CharacterSet`];return t.includes(e.type)||e.type===`Quantifier`&&e.min&&t.includes(e.body.type)}function xb(e,t){let n={negate:null,...t};return e.type===`LookaroundAssertion`&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&vv(e.body[0],{type:`Assertion`,kind:`search_start`})}function Sb(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function Cb(e,t){let n=xv(e,{...t,unicodePropertyMap:Jy}).body;return n.length>1||n[0].body.length>1?Vv({body:n}):n[0].body[0]}function wb(e,t){return e.negate=t,e}function Tb(e,t){return e.parent=t,e}function Eb(e,t){return sb(e),e.parent=t,e}function Db(e,t){let n=Uy(t),r=zy(n.target,`ES2024`),i=zy(n.target,`ES2025`),a=n.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw Error(`Invalid recursionLimit; use 2-20`);let o=null,s=null;if(!i){let t=[e.flags.ignoreCase];ay(e,Ob,{getCurrentModI:()=>t.at(-1),popModI(){t.pop()},pushModI(e){t.push(e)},setHasCasedChar(){t.at(-1)?o=!0:s=!0}})}let c={dotAll:e.flags.dotAll,ignoreCase:!(!e.flags.ignoreCase&&!o||s)},l=e,u={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:a,useAppliedIgnoreCase:!!(!i&&o&&s),useFlagMods:i,useFlagV:r,verbose:n.verbose};function d(e){return u.lastNode=l,l=e,By(kb[e.type],`Unexpected node type "${e.type}"`)(e,u,d)}let f={pattern:e.body.map(d).join(`|`),flags:d(e.flags),options:{...e.options}};return r||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],u.captureMap.forEach((e,t)=>{e.hidden&&f._hiddenCaptures.push(t),e.transferTo&&Ry(f._captureTransfers,e.transferTo,[]).push(t)}),f}var Ob={"*":{enter({node:e},t){if(Vb(e)){let n=t.getCurrentModI();t.pushModI(e.flags?Ly({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Vb(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Fb(Py(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Ib(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind===`property`&&nb.has(e.value)&&t.setHasCasedChar()}},kb={Alternative({body:e},t,n){return e.map(n).join(``)},Assertion({kind:e,negate:t}){if(e===`string_end`)return`$`;if(e===`string_start`)return`^`;if(e===`word_boundary`)return t?$`\B`:$`\b`;throw Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!=`number`)throw Error(`Unexpected named backref in transformed AST`);if(!t.useFlagMods&&t.accuracy===`strict`&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw Error(`Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy`);return`\\`+e},CapturingGroup(e,t,n){let{body:r,name:i,number:a}=e,o={ignoreCase:t.currentFlags.ignoreCase},s=t.originMap.get(e);return s&&(o.hidden=!0,a>s.number&&(o.transferTo=s.number)),t.captureMap.set(a,o),`(${i?`?<${i}>`:``}${r.map(n).join(`|`)})`},Character({value:e},t){let n=Py(e),r=Lb(e,{escDigit:t.lastNode.type===`Backreference`,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Fb(n)){let e=qy(n);return t.inCharClass?e.join(``):e.length>1?`[${e.join(``)}]`:e[0]}return n},CharacterClass(e,t,n){let{kind:r,negate:i,parent:a}=e,{body:o}=e;if(r===`intersection`&&!t.useFlagV)throw Error(`Use of character class intersection requires min target ES2024`);Fy.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(Ub)&&(o=[Fv(45),...o.filter(e=>!Ub(e))]);let s=()=>`[${i?`^`:``}${o.map(n).join(r===`intersection`?`&&`:``)}]`;if(!t.inCharClass){if((!t.useFlagV||Fy.bugNestedClassIgnoresNegation)&&!i){let t=o.filter(e=>e.type===`CharacterClass`&&e.kind===`union`&&e.negate);if(t.length){let r=Vv(),i=r.body[0];return r.parent=a,i.parent=r,o=o.filter(e=>!t.includes(e)),e.body=o,o.length?(e.parent=i,i.body.push(e)):r.body.pop(),t.forEach(e=>{let t=jv({body:[e]});e.parent=t,t.parent=r,r.body.push(t)}),n(r)}}t.inCharClass=!0;let r=s();return t.inCharClass=!1,r}let c=o[0];if(r===`union`&&!i&&c&&((!t.useFlagV||!t.verbose)&&a.kind===`union`&&!(Fy.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&a.kind===`intersection`&&o.length===1&&c.type!==`CharacterClassRange`))return o.map(n).join(``);if(!t.useFlagV&&a.type===`CharacterClass`)throw Error(`Uses nested character class in a way that requires min target ES2024`);return s()},CharacterClassRange(e,t){let n=e.min.value,r=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},a=Lb(n,i),o=Lb(r,i),s=new Set;return t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Rb(Ib(e)).forEach(e=>{s.add(Array.isArray(e)?`${Lb(e[0],i)}-${Lb(e[1],i)}`:Lb(e,i))}),`${a}-${o}${[...s].join(``)}`},CharacterSet({kind:e,negate:t,value:n,key:r},i){if(e===`dot`)return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?`.`:`[^]`:$`[^\n]`;if(e===`digit`)return t?$`\D`:$`\d`;if(e===`property`){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&nb.has(n))throw Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?$`\P`:$`\p`}{${r?`${r}=`:``}${n}}`}if(e===`word`)return t?$`\W`:$`\w`;throw Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?`i`:``)+(e.dotAll?`s`:``)+(e.sticky?`y`:``)},Group({atomic:e,body:t,flags:n,parent:r},i,a){let o=i.currentFlags;n&&(i.currentFlags=Ly(o,n));let s=t.map(a).join(`|`),c=!i.verbose&&t.length===1&&r.type!==`Quantifier`&&!e&&(!i.useFlagMods||!n)?s:`(?${zb(e,n,i.useFlagMods)}${s})`;return i.currentFlags=o,c},LookaroundAssertion({body:e,kind:t,negate:n},r,i){return`(?${`${t===`lookahead`?``:`<`}${n?`!`:`=`}`}${e.map(i).join(`|`)})`},Quantifier(e,t,n){return n(e.body)+Bb(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw Error(`Unexpected non-recursive subroutine in transformed AST`);let r=n.recursionLimit;return t===0?`(?R=${r})`:$`\g<${t}&R=${r}>`}},Ab=new Set([`$`,`(`,`)`,`*`,`+`,`.`,`?`,`[`,`\\`,`]`,`^`,`{`,`|`,`}`]),jb=new Set([`-`,`\\`,`]`,`^`,`[`]),Mb=new Set("()-/[\\]^{|}!#$%&*+,.:;<=>?@`~".split(``)),Nb=new Map([[9,$`\t`],[10,$`\n`],[11,$`\v`],[12,$`\f`],[13,$`\r`],[8232,$`\u2028`],[8233,$`\u2029`],[65279,$`\uFEFF`]]),Pb=/^\p{Cased}$/u;function Fb(e){return Pb.test(e)}function Ib(e,t){let n=!!t?.firstOnly,r=e.min.value,i=e.max.value,a=[];if(r<65&&(i===65535||i>=131071)||r===65536&&i>=131071)return a;for(let e=r;e<=i;e++){let t=Py(e);if(!Fb(t))continue;let o=qy(t).filter(e=>{let t=e.codePointAt(0);return t<r||t>i});if(o.length&&(a.push(...o),n))break}return a}function Lb(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(Nb.has(e))return Nb.get(e);if(e<32||e>126&&e<160||e>262143||t&&Hb(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,`0`)}`;let i=n?r?Mb:jb:Ab,a=Py(e);return(i.has(a)?`\\`:``)+a}function Rb(e){let t=e.map(e=>e.codePointAt(0)).sort((e,t)=>e-t),n=[],r=null;for(let e=0;e<t.length;e++)t[e+1]===t[e]+1?r??=t[e]:r===null?n.push(t[e]):(n.push([r,t[e]]),r=null);return n}function zb(e,t,n){if(e)return`>`;let r=``;if(t&&n){let{enable:e,disable:n}=t;r=(e?.ignoreCase?`i`:``)+(e?.dotAll?`s`:``)+(n?`-`:``)+(n?.ignoreCase?`i`:``)+(n?.dotAll?`s`:``)}return`${r}:`}function Bb({kind:e,max:t,min:n}){let r;return r=!n&&t===1?`?`:!n&&t===1/0?`*`:n===1&&t===1/0?`+`:n===t?`{${n}}`:`{${n},${t===1/0?``:t}}`,r+{greedy:``,lazy:`?`,possessive:`+`}[e]}function Vb({type:e}){return e===`CapturingGroup`||e===`Group`||e===`LookaroundAssertion`}function Hb(e){return e>47&&e<58}function Ub({type:e,value:t}){return e===`Character`&&t===45}var Wb=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=Kb(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(Gb(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e<n.length;e++){let{hidden:a,transferTo:o}=this.#e.get(e)??{};if(a?i.push(null):(i.push(t.length),t.push(n[e]),this.hasIndices&&t.indices.push(r[e])),o&&n[e]!==void 0){let a=i[o];if(!a)throw Error(`Invalid capture transfer to "${a}"`);if(t[a]=n[e],this.hasIndices&&(t.indices[a]=r[e]),t.groups){this.#r||=qb(this.source);let i=this.#r.get(o);i&&(t.groups[i]=n[e],this.hasIndices&&(t.indices.groups[i]=r[e]))}}}return t}};function Gb(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e<n.length;e++){let r=n[e];r&&(n[e]=[r[0]+t,r[1]+t])}let r=n.groups;r&&Object.keys(r).forEach(e=>{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function Kb(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)Ry(n,t,{}).transferTo=e;return n}function qb(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}function Jb(e,t){let n=Yb(e,t);return n.options?new Wb(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Yb(e,t){let n=Uy(t),r=rb(xv(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Jy}),{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),i=Db(r,n),a=Oy(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:`external`}),o=vy(xy(a.pattern).pattern,{captureTransfers:a.captureTransfers,hiddenCaptures:a.hiddenCaptures}),s={pattern:o.pattern,flags:`${n.hasIndices?`d`:``}${n.global?`g`:``}${i.flags}${i.options.disable.v?`u`:`v`}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw Error(`Lazy compilation requires subclass`)}else{let e=o.hiddenCaptures.sort((e,t)=>e-t),t=Array.from(o.captureTransfers),i=r._strategy,a=s.pattern.length>=n.lazyCompileLength;(e.length||t.length||i||a)&&(s.options={...e.length&&{hiddenCaptures:e},...t.length&&{transfers:t},...i&&{strategy:i},...a&&{lazyCompile:a}})}return s}function Xb(e,t){return Jb(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Zb(e={}){let t={target:`auto`,cache:new Map,...e};return t.regexConstructor||=e=>Xb(e,{target:t.target}),{createScanner(e){return new T_(e,t)},createString:D_}}var Qb=t({highlightChunks:()=>lx,highlightLangChunks:()=>ux,langForPath:()=>cx}),$b={light:`github-light`,dark:`github-dark`},ex=400,tx={ts:`typescript`,mts:`typescript`,cts:`typescript`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,tsx:`tsx`,json:`json`,jsonc:`jsonc`,json5:`json5`,map:`json`,md:`markdown`,mdx:`mdx`,markdown:`markdown`,css:`css`,pcss:`css`,postcss:`css`,sass:`sass`,scss:`scss`,less:`less`,styl:`stylus`,html:`html`,htm:`html`,vue:`vue`,svelte:`svelte`,astro:`astro`,py:`python`,pyi:`python`,rb:`ruby`,rake:`ruby`,rs:`rust`,go:`go`,java:`java`,kt:`kotlin`,kts:`kotlin`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,cs:`csharp`,fs:`fsharp`,swift:`swift`,m:`objective-c`,php:`php`,scala:`scala`,groovy:`groovy`,dart:`dart`,sh:`shellscript`,bash:`shellscript`,zsh:`shellscript`,fish:`fish`,ps1:`powershell`,bat:`bat`,cmd:`bat`,yml:`yaml`,yaml:`yaml`,toml:`toml`,xml:`xml`,svg:`xml`,sql:`sql`,graphql:`graphql`,gql:`graphql`,prisma:`prisma`,lua:`lua`,pl:`perl`,pm:`perl`,r:`r`,jl:`julia`,ex:`elixir`,exs:`elixir`,erl:`erlang`,hs:`haskell`,clj:`clojure`,cljs:`clojure`,edn:`clojure`,vim:`vim`,zig:`zig`,nim:`nim`,sol:`solidity`,tf:`terraform`,tfvars:`terraform`,hcl:`hcl`,diff:`diff`,patch:`diff`,lock:`yaml`},nx={dockerfile:`dockerfile`,makefile:`makefile`,".gitignore":`ini`,".gitattributes":`ini`,".editorconfig":`ini`,".npmrc":`ini`,".nvmrc":`ini`,".env":`ini`,justfile:`justfile`,"cmakelists.txt":`cmake`},rx={astro:()=>J(()=>import(`./astro-BZ97kZFP.js`),__vite__mapDeps([0,1,2,3,4,5,6])),bat:()=>J(()=>import(`./bat-qdxAdBWQ.js`),[]),c:()=>J(()=>import(`./c-Cz4nF6n_.js`),__vite__mapDeps([7,8])),clojure:()=>J(()=>import(`./clojure-DqKBuwfJ.js`),[]),cmake:()=>J(()=>import(`./cmake-Bj61d0ZC.js`),[]),cpp:()=>J(()=>import(`./cpp-B6pWdJV2.js`),__vite__mapDeps([9,10,11,8])),csharp:()=>J(()=>import(`./csharp-dmMxLVLW.js`),[]),css:()=>J(()=>import(`./css-DgaLhXQH.js`),__vite__mapDeps([12,4])),dart:()=>J(()=>import(`./dart-CHZY9Xhz.js`),[]),diff:()=>J(()=>import(`./diff-woXpYk--.js`),[]),dockerfile:()=>J(()=>import(`./dockerfile-IyjqRm3v.js`),[]),elixir:()=>J(()=>import(`./elixir-raGDl1oO.js`),__vite__mapDeps([13,14,2,4])),erlang:()=>J(()=>import(`./erlang-D0CaQ5Pl.js`),__vite__mapDeps([15,16])),fish:()=>J(()=>import(`./fish-BJitypiv.js`),[]),fsharp:()=>J(()=>import(`./fsharp-PZeu-6rm.js`),__vite__mapDeps([17,16])),graphql:()=>J(()=>import(`./graphql-BZEhxNwM.js`),__vite__mapDeps([18,19,2,3,6,20])),groovy:()=>J(()=>import(`./groovy-CacY0gHj.js`),[]),hcl:()=>J(()=>import(`./hcl-Dh228itO.js`),[]),haskell:()=>J(()=>import(`./haskell-D8IpX4py.js`),[]),html:()=>J(()=>import(`./html-BCy9P6D2.js`),__vite__mapDeps([21,14,2,4])),ini:()=>J(()=>import(`./ini-B5eOa1yu.js`),[]),java:()=>J(()=>import(`./java-_ATy9zCa.js`),__vite__mapDeps([22,23])),javascript:()=>J(()=>import(`./javascript-CpIGwZ_Y.js`),__vite__mapDeps([24,2])),json:()=>J(()=>import(`./json-C3WlssX3.js`),__vite__mapDeps([25,1])),json5:()=>J(()=>import(`./json5-BR5RXkoi.js`),[]),jsonc:()=>J(()=>import(`./jsonc-CYpm1nAK.js`),[]),jsx:()=>J(()=>import(`./jsx-C4yDKi0A.js`),__vite__mapDeps([26,20])),julia:()=>J(()=>import(`./julia-DCfl8sf8.js`),__vite__mapDeps([27,2,10,11,8,28,29,30])),justfile:()=>J(()=>import(`./justfile-CKP9W7x6.js`),__vite__mapDeps([31,2,3,28,32,33,4,14,30,34,23,35,8,10,11,19,6,20,36,37])),kotlin:()=>J(()=>import(`./kotlin-DhhofPvG.js`),[]),less:()=>J(()=>import(`./less-DVTAwKKz.js`),[]),lua:()=>J(()=>import(`./lua-fPRBWD-V.js`),__vite__mapDeps([38,36,8])),makefile:()=>J(()=>import(`./makefile-Dixweg8N.js`),[]),markdown:()=>J(()=>import(`./markdown-CjQmuOi1.js`),__vite__mapDeps([39,16])),mdx:()=>J(()=>import(`./mdx-DQZ5AkYe.js`),[]),nim:()=>J(()=>import(`./nim-VAaFSKwL.js`),__vite__mapDeps([40,2,4,8,11,14,16,34,23])),"objective-c":()=>J(()=>import(`./objective-c-D1A_Heim.js`),[]),perl:()=>J(()=>import(`./perl-BTdIRyOQ.js`),__vite__mapDeps([41,33,2,4,14,30,34,23])),php:()=>J(()=>import(`./php-DPoYWQt_.js`),__vite__mapDeps([42,1,2,4,14,30,34,23])),postcss:()=>J(()=>import(`./postcss-DkKB82OS.js`),__vite__mapDeps([43,5])),powershell:()=>J(()=>import(`./powershell-QtSnmXcu.js`),[]),prisma:()=>J(()=>import(`./prisma-DMgNhnYS.js`),[]),python:()=>J(()=>import(`./python-C5TF47hQ.js`),__vite__mapDeps([44,28])),r:()=>J(()=>import(`./r-BXEss897.js`),__vite__mapDeps([45,29])),ruby:()=>J(()=>import(`./ruby-BdDtUACQ.js`),__vite__mapDeps([46,35,2,4,8,10,11,14,19,3,6,20,30,32,34,23,36,37])),rust:()=>J(()=>import(`./rust-DpiIf5JO.js`),[]),sass:()=>J(()=>import(`./sass-DXrisJhu.js`),[]),scala:()=>J(()=>import(`./scala-BiFt_7mu.js`),[]),scss:()=>J(()=>import(`./scss-8bKmll0B.js`),__vite__mapDeps([47,4])),shellscript:()=>J(()=>import(`./shellscript-CVTB3cr6.js`),__vite__mapDeps([48,32])),solidity:()=>J(()=>import(`./solidity-Bj7E1mRn.js`),[]),sql:()=>J(()=>import(`./sql-CfM2IJm3.js`),__vite__mapDeps([49,30])),svelte:()=>J(()=>import(`./svelte-CdeT-Ich.js`),__vite__mapDeps([50,2,3,4,5])),swift:()=>J(()=>import(`./swift-CyEgAFGc.js`),[]),terraform:()=>J(()=>import(`./terraform-DswuEJGm.js`),[]),toml:()=>J(()=>import(`./toml-CcmNWLt0.js`),[]),tsx:()=>J(()=>import(`./tsx-CGosfAUg.js`),__vite__mapDeps([51,6])),typescript:()=>J(()=>import(`./typescript-Bb1J8qyy.js`),__vite__mapDeps([52,3])),vim:()=>J(()=>import(`./viml-DvXPmvsu.js`),[]),vue:()=>J(()=>import(`./vue-BqdMUtqy.js`),__vite__mapDeps([53,1,2,3,4,14])),xml:()=>J(()=>import(`./xml-DuKfbPI6.js`),__vite__mapDeps([54,34,23])),yaml:()=>J(()=>import(`./yaml-DDA_XMNu.js`),__vite__mapDeps([55,37])),stylus:()=>J(()=>import(`./stylus-B6D30XZt.js`),[]),zig:()=>J(()=>import(`./zig-CMLA9XwU.js`),[])},ix=null;function ax(){return ix??=x_({themes:[J(()=>import(`./github-light-EUqPIrTm.js`),[]),J(()=>import(`./github-dark-C-LZuMrd.js`),[])],langs:[],engine:Zb({forgiving:!0})}),ix}var ox=new Map;function sx(e,t){let n=ox.get(t);if(!n){let r=rx[t];n=r?r().then(t=>e.loadLanguage(t)).then(()=>void 0):Promise.reject(Error(`no grammar loader for ${t}`)),n.catch(()=>ox.delete(t)),ox.set(t,n)}return n}function cx(e){let t=(e.split(`/`).pop()??e).toLowerCase();return nx[t]?nx[t]:tx[t.includes(`.`)?t.slice(t.lastIndexOf(`.`)+1):``]??null}async function*lx(e,t){let n=cx(e);n&&t.trim()&&rx[n]&&(yield*ux(n,t))}async function*ux(e,t){if(!e||!t.trim()||!rx[e])return;let n=await ax();await sx(n,e);let r=t.split(`
176
+ `),i;for(let t=0;t<r.length;t+=ex){let a=r.slice(t,t+ex).join(`
177
+ `),o=n.codeToHast(a,{lang:e,themes:$b,defaultColor:!1,...i?{grammarState:i}:{}});i=n.getLastGrammarState(o)??void 0,yield y_(o)}}var dx=/(?:^|\s)language-([\w+#.-]+)/,fx=`hl`;function px(e){if(e)for(let t of e.querySelectorAll(`pre`)){if(t.dataset[fx])continue;let e=t.querySelector(`code`);if(!e){t.dataset[fx]=`skip`;continue}let n=dx.exec(e.className)?.[1],r=n?cx(`x.${n}`)??n:void 0,i=e.textContent??``;if(!r||!i.trim()){t.dataset[fx]=`skip`;continue}let a=`${r}::${i.length}::${i}`;t.dataset[fx]=`pending`;let o=gd(a);o===void 0?(async()=>{try{let{highlightLangChunks:e}=await J(async()=>{let{highlightLangChunks:e}=await Promise.resolve().then(()=>Qb);return{highlightLangChunks:e}},void 0),n=``;for await(let t of e(r,i))n+=t;if(!n){t.dataset[fx]=`skip`;return}_d(a,n),t.isConnected&&mx(t,n)}catch{t.dataset[fx]=`skip`}})():mx(t,o)}}function mx(e,t){let n=document.createElement(`div`);n.className=`shikiwrap`;let r=document.createElement(`div`);r.className=`shiki`,r.innerHTML=t,n.appendChild(r),e.replaceWith(n)}function hx(e){let t=String(e??``).trim();if(!t)return null;if(t.startsWith(`[`)){let e=(()=>{try{return JSON.parse(t)}catch{try{return JSON.parse(t.replace(/'/g,`"`))}catch{return}}})();if(Array.isArray(e)&&e.length>=2)return`${String(e[0])}/${String(e[1])}`}for(let e of[`__`,`/`,`::`]){let n=t.lastIndexOf(e);if(!(n<=0))return`${t.slice(0,n).replace(/^mcp__/,``)}/${t.slice(n+e.length)}`}return t}var gx={prompt:{name:`you`,icon:`🟧`,color:`#faa81a`},user:{name:`you`,icon:`🟧`,color:`#faa81a`},message:{name:`agent`,icon:`🫖`,color:`#5865f2`},progress:{name:`progress`,icon:`📈`,color:`#3ba55d`},question:{name:`agent`,icon:`❓️`,color:`#5865f2`}},_x={name:`harness`,icon:`📣`,color:`#3ba55d`},vx={"#faa81a":`you`,"#5865f2":`agent`,"#3ba55d":`progress`,"#3ba0c9":`tool`},yx=e=>vx[e]??`agent`,bx=e=>{if(e.data?.actor)return{name:`@${String(e.data.actor)}`,icon:`🧩`,color:`#3ba0c9`};if(e.type===`tool_call`||e.type===`tool_result`){let t=String(e.data?.name??`tool`);if(t===`run_tool`){let t=hx(e.data?.args?.tool_id);if(t)return{name:t,icon:`⚙️`,color:`#3ba0c9`}}let n=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(t);return n?{name:`${n[1]}/${n[2]}`,icon:`⚙️`,color:`#3ba0c9`}:{name:t,icon:`⚙️`,color:`#3ba0c9`}}if(e.type===`prompt`){let t=String(e.data?.source??`user`);return t===`user`?gx.prompt:t.startsWith(`scheduler:`)?{name:t.slice(10),icon:`📣`,color:`#3ba55d`}:_x}return gx[e.type]??{name:e.type,icon:`•`,color:`#9298a5`}},xx=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`};function Sx(e){let t=e.data??{};return e.type===`prompt`?String(t.text??``):e.type===`message`?`${typeof t.reasoning==`string`&&t.reasoning.trim()?`<reasoning>\n${t.reasoning}\n</reasoning>\n\n`:``}${String(t.content??``)}`:(e.type,``)}function Cx(e){return e>=1e9?`${+(e/1e9).toFixed(1)}b`:e>=1e6?`${+(e/1e6).toFixed(1)}m`:e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function wx(e,t){return ot(e.replace(/\s+/g,` `).trim(),t)}function Tx(e){return e.type===`prompt`&&e.data?.source===`user`?`you`:e.type===`message`?`agent`:`harness`}function Ex(e){let t=e.data??{};if(e.data?.actor)return`sub:${String(e.data.actor)}`;if(e.type===`tool_call`||e.type===`tool_result`){let e=typeof t.name==`string`?t.name:``;return e===`load_skill`?`agent-skill`:`tool:${e}`}return e.type===`prompt`?`src:${String(t.source??`user`)}`:`type:${e.type}`}function Dx(e,t){return!(!e||t.data?.pending||e.data?.pending||t.data?.cancelled||Ex(e)!==Ex(t)||Tx(e)!==Tx(t)||t.session!==e.session||t.branch!==e.branch)}function Ox(e,t){let n=String(t??``);return/^TIMEOUT after\b/.test(n)?`timeout`:/^ABORTED\b/.test(n)?`aborted`:/^exit=\d+/.test(n)||e===!1?`exit`:n.trim()?`ok`:`empty`}function kx(e){switch(e){case`timeout`:return` · TIMED OUT`;case`aborted`:return` · ABORTED`;case`exit`:return` · FAILED`;default:return``}}function Ax(e){let t=[];e.outcome!==`empty`&&t.push(e.fmtDur(e.durationMs)),e.timeoutMs&&t.push(`timeout ${Math.round(e.timeoutMs/1e3)}s`);let n=kx(e.outcome).replace(/^\s*·\s*/,``);return n&&t.push(n),t.join(` · `)}function jx(e){let t=e.trim();if(!t)return;let n=t[0];if(n===`{`||n===`[`||n===`"`)try{let e=JSON.parse(t);return typeof e==`object`&&e?`json`:void 0}catch{return}}function Mx(e){if(jx(e)!==`json`)return e;try{let t=JSON.parse(e.trim()),n=JSON.stringify(t,null,1);return e.trim().split(`
178
+ `).length>1?e:n}catch{return e}}var Nx=12e4,Px=6e5,Fx=e=>{let t=Number(e);return Math.min(Number.isFinite(t)&&t>0?t:Nx,Px)},Ix=P(`<div class=qfree><input type=text><button>reply`),Lx=P(`<div class=meta>`),Rx=P(`<div class=meta>waiting for output…`),zx=P(`<div class="meta bgjob-note">runs in background — poll with <b>bash_output(job_id=&quot;<!>&quot;)`),Bx=P(`<b>action="kill"`),Vx=P(`<div class=meta>writing…`),Hx=P(`<pre class="mono toolbody del">`),Ux=P(`<pre class="mono toolbody add">`),Wx=P(`<div class=meta> · `),Gx=P(`<div class=meta>applying…`),Kx=P(`<pre class="mono toolbody patch">`),qx=P(`<div>`),Jx=P(`<div class=meta>validating…`),Yx=P(`<a target=_blank rel="noopener noreferrer"referrerpolicy=no-referrer>open ↗`),Xx=P(`<span class=muted>`),Zx=P(`<div class=content>`),Qx=P(`<div class=meta>loading…`),$x=P(`<div class=meta>bundled: `),eS=P(`<div class=meta>saving…`),tS=P(`<div class=meta>found: `),nS=P(`<div class=meta>no matches`),rS=P(`<span class=actor>@`),iS=P(`<details><summary><b></b><span class=meta></span><span class=toolcopy>`),aS=P(`<div class=divider-msg>⑂ forked from <!> → `),oS=P(`<div><div class=goalline-label>`),sS=P(`<div class="embed auditstep"><span class=meta>`),cS=P(`<span class="meta muted">`),lS=P(`<pre class="mono toolbody">`),uS=P(`<details class="embed auditstep"><summary><span class=meta>`),dS=P(`<div class=divider-msg>✅ tasks updated (<!>)`),fS=P(`<div> → `),pS=P(`<div class="embed fail"><div class=mono>🛑 runaway: <!> tool failures in a row (limit <!>)</div><div class=meta>last: <!> — `),mS=P(`<div class="embed warn-embed"title="a round-fatal API error occurred; auto-retry is waiting, then a fresh round starts (onError: retry)"><div class=mono>↻ API error — retrying (attempt <!>) in <!>s…`),hS=P(`<div class=divider-msg>🗜 compacted: <!> → <!> tok (<!>)`),gS=P(`<div class=divider-msg title="compaction is rewriting older history — the agent is not stuck">🗜 compacting: summarizing <!> earlier messages from <!> tok (<!>)…`),_S=P(`<span class=ts>`),vS=P(`<button class=editbtn title="withdraw this message — it has not reached the model yet; the text goes back to the input box">✕ cancel`),yS=P(`<button class=editbtn title="edit this prompt — forks the conversation here (later events are dropped or summarized)">✎ edit`),bS=P(`<div class=msg-head><span></span><span class=ts>`),xS=P(`<div><div></div><div class=msg-body>`),SS=P(`<span class=grouptime>`),CS=P(`<div class=promptimgs>`),wS=P(`<img class=promptimg alt="tool image"loading=lazy>`,!0,!1,!1),TS=P(`<img class=promptimg alt=attachment>`),ES=P(`<details class=reasoning><summary>💭 thinking</summary><div class=mono>`),DS=P(`<div class=interrupted>⚠ interrupted — partial output kept`),OS=P(`<div class=msgfoot><span>copy summary`),kS=P(`<div class=meta>its call is no longer in the loaded events — the run itself finished`),AS=P(`<details><summary><span class=meta></span></summary><div class=mono></div><div class=meta>`),jS=P(`<div class="content muted">Rejected: `),MS=P(`<details class="embed decision"><summary><b>📌 <span class="content inline-md"></span></b><span class=meta>decision logged`),NS=P(`<div class="meta answerdone">✓ answered — continuing below`),PS=P(`<div class=qopts>`),FS=P(`<div><div>❓️ <div class="content inline-md">`),IS=P(`<button class=qopt>`),LS=P(`<div class=progrow><b>goal</b><span>`),RS=P(`<div class=progrow><b>recent</b><span class="content inline-md">`),zS=P(`<div class="progrow warn"><b>⚠ problems</b><span class="content inline-md">`),BS=P(`<div class=progrow><b>next</b><span class="content inline-md">`),VS=P(`<div class="embed progembed"><div>📈 <div class="content inline-md">`),HS=P(`<div class="embed fail"><div class=mono>⚠ `),US=P(`<div class="muted compactnote">the summary pass produced nothing, so the oldest messages were dropped instead — the session continues with the recent tail intact`),WS=P(`<div class="embed compaction"><b>🗜 context compacted</b><span class=meta> · <!> → <!> tok · `),GS=P(`<div class="vtitle compactkept">what the agent kept`),KS=P(`<details class="embed compaction"><summary><b>🗜 context compacted</b><span class=meta> · <!> → <!> tok · `),qS=P(`<div class="content muted">`);function JS(e){let[t,n]=y(``),r=()=>{let r=t().trim();r&&!e.answered&&(n(``),e.onOption?.(r))};return(()=>{var i=Ix(),a=i.firstChild,o=a.nextSibling;return a.$$keydown=e=>{e.key===`Enter`&&!e.isComposing&&(e.preventDefault(),r())},a.$$input=e=>n(e.currentTarget.value),o.$$click=r,b(n=>{var r=e.answered?`answered`:`or type your own answer…`,i=e.answered,s=e.answered||!t().trim();return r!==n.e&&F(a,`placeholder`,n.e=r),i!==n.t&&(a.disabled=n.t=i),s!==n.a&&(o.disabled=n.a=s),n},{e:void 0,t:void 0,a:void 0}),b(()=>a.value=t()),i})()}function YS(e){let t=e.e,n=Dx(e.prev,t),r=S(()=>e.res?.(),void 0,{equals:(e,t)=>e?.id===t?.id}),i=()=>r(),a=()=>!e.agentActive&&!i(),o=t.data??{},s=String(o.name??`tool`),c=()=>String(i()?.data?.result??``),l=e=>String(o.args?.[e]??``),u=()=>s===`bash`?l(`command`):l(`path`)||JSON.stringify(o.args??{},null,1),d=()=>s===`bash`?Fx(l(`timeout_ms`)):s===`wait_children`?Number(l(`timeout_ms`))||3e5:Number(l(`timeout_ms`))||void 0,f=(e,t,n)=>A(Nd,{text:e,lang:n}),p=e=>A(Nd,{get text(){return JSON.stringify(e??o.args??{},null,1)},lang:`json`}),m=()=>(()=>{let t=i();return t?[N(()=>N(()=>!!pd(c()))()?A(Md,{get text(){return c()}}):A(Nd,{get text(){return Mx(c())},get lang(){return jx(c())}})),(()=>{var e=Lx();return L(e,()=>at(t.data?.durationMs),null),L(e,()=>s===`bash`?kx(Ox(t.data?.ok,String(t.data?.result??``))):t.data?.ok===!1?` · FAILED`:``,null),L(e,A(id,{get text(){return N(()=>!!pd(c()))()?fd(c()):Mx(c())}}),null),e})(),A(QS,{get data(){return t.data},get agentId(){return e.agentId}})]:Rx()})(),h=S(()=>{i();let e=s,t=``,n=p(),r=(r,a,o)=>{let s=o??{},c=Object.keys(s);e=c.length?wx(JSON.stringify(s),120):`(no arguments)`,t=i()?at(i().data?.durationMs):null,n=[N(()=>N(()=>!!c.length)()?p(s):null),N(m)]};try{switch(s){case`bash`:{let r=l(`command`),a=o.args?.background===!0,s=a?String(c()).match(/job (bg\d+)/)?.[1]??``:``;e=(a?`⏳ `:`$ `)+wx(r,96);let u=l(`timeout_ms`)?Number(l(`timeout_ms`)):void 0,d=i(),f=Ox(d?.data?.ok,d?String(d.data?.result??``):``);t=d?a?`background job${s?` ${s}`:``}${u?` · timeout ${Math.round(u/1e3)}s`:``}`:Ax({outcome:f,durationMs:d.data?.durationMs,timeoutMs:u,fmtDur:at}):null,n=[a?(()=>{var e=zx(),t=e.firstChild.nextSibling,n=t.firstChild.nextSibling;return n.nextSibling,L(t,s||`?`,n),L(e,s?[` · kill with `,Bx()]:null,null),e})():null,N(()=>N(()=>r!==e.slice(2))()?A(Nd,{text:r,lang:`shellscript`}):null),N(m)];break}case`read_file`:{e=l(`path`)||`(no path)`;let r=[];l(`pattern`)&&r.push(`grep /${wx(l(`pattern`),40)}/`),Number(o.args?.offset)<0?r.push(`last ${-Number(o.args.offset)} lines`):o.args?.offset&&r.push(`from L${o.args.offset}`),o.args?.limit&&r.push(`≤${o.args.limit} lines`),t=r.join(` · `),n=m();break}case`write_file`:{let r=String(o.args?.content??``);e=l(`path`)||`(no path)`,t=`${Cx(r.length)} bytes`,n=[N(()=>f(r)),N(()=>N(()=>!!i())()?(()=>{var e=Lx();return L(e,()=>wx(c(),160)),e})():Vx())];break}case`edit_file`:e=l(`path`)||`(no path)`,t=o.args?.replace_all===!0?`replace all`:`unique spot`,n=[(()=>{var e=Hx();return L(e,()=>`- `+l(`old_text`)),e})(),(()=>{var e=Ux();return L(e,()=>`+ `+l(`new_text`)),e})(),N(()=>N(()=>!!i())()?(()=>{var e=Wx(),t=e.firstChild;return L(e,()=>wx(c(),120),t),L(e,()=>at(i().data?.durationMs),null),e})():Gx())];break;case`apply_patch`:{let t=l(`patch`).split(`
179
+ `).filter(e=>e&&!/^---$/.test(e.trim())),r=t.map(e=>e.match(/^\*\*\* (?:Add|Update|Delete) File: (.+)$/)?.[1]).filter(Boolean);e=r.length?`${r.length} file${r.length>1?`s`:``}: ${wx(r.join(`, `),80)}`:`patch`,n=[(()=>{var e=Kx();return L(e,()=>t.map(e=>{let t=e.startsWith(`+`)?` add`:e.startsWith(`-`)?` del`:/^\*\*\*|^@@/.test(e)?` meta`:``;return(()=>{var n=qx();return I(n,`pline`+t),L(n,e),n})()})),e})(),N(()=>N(()=>!!i())()?(()=>{var e=Lx();return L(e,()=>wx(c().split(`
180
+ `)[0]??``,140),null),L(e,()=>i().data?.ok===!1?` · FAILED`:``,null),e})():Jx())];break}case`list_dir`:e=l(`path`)||`.`,n=m();break;case`read_url`:{let r=l(`url`);try{let e=new URL(r);r=e.host+e.pathname}catch{}e=wx(r,70),t=`web`,n=[(()=>{var e=Lx();return L(e,A(M,{get when(){return/^https?:/i.test(l(`url`))},get fallback(){return(()=>{var e=Xx();return L(e,()=>wx(l(`url`),80)),e})()},get children(){var e=Yx();return b(()=>F(e,`href`,l(`url`))),e}})),e})(),N(m)];break}case`bash_output`:{let r=l(`action`)||`read`;e=`bash_output ${l(`job_id`)||`(?)`}`,t=r,n=m();break}case`load_skill`:{e=`skill: ${l(`name`)}`;let t=c().replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,``);n=i()?[(()=>{var e=Zx();return b(()=>e.innerHTML=ze(t)),e})(),(()=>{var e=Lx();return L(e,()=>at(i().data?.durationMs)),e})()]:Qx();break}case`save_skill`:{e=`skill: ${l(`name`)}`,t=wx(l(`description`),60);let r=Array.isArray(o.args?.files)?o.args.files.map(e=>e?.name).filter(Boolean):[];n=[N(()=>N(()=>!!r.length)()?(()=>{var e=$x();return e.firstChild,L(e,()=>r.join(`, `),null),e})():null),N(()=>N(()=>!!i())()?(()=>{var e=Wx(),t=e.firstChild;return L(e,()=>wx(c(),160),t),L(e,()=>at(i().data?.durationMs),null),e})():eS())];break}case`search_tools`:{e=`🔎 ${wx(l(`query`)||`(browse)`,60)}`;let r=(()=>{try{let e=JSON.parse(c());return{names:(e.tools??[]).map(e=>`${e.server??`?`}/${e.name??`?`}`),total:e.totalMatches??0}}catch{return{names:[],total:0}}})();t=i()?`${r.total} match${r.total===1?``:`es`}`:null,n=[N(p),N(()=>N(()=>!!i())()?N(()=>!!r.names.length)()?(()=>{var e=tS();return e.firstChild,L(e,()=>r.names.join(`, `),null),e})():nS():null),N(m)];break}case`run_tool`:{let a=hx(l(`tool_id`)),s=a?.indexOf(`/`)??-1;a&&s>0?r(a.slice(0,s),a.slice(s+1),o.args?.arguments):(e=a||`(no tool_id)`,t=i()?at(i().data?.durationMs):null,n=[N(p),N(m)]);break}default:{let a=/^mcp__([^_]+(?:_[^_]+)*)__(.+)$/.exec(s);if(a){r(a[1],a[2],o.args);break}e=s,t=i()?at(i().data?.durationMs):null,n=[N(p),N(m)];break}}}catch{}return{label:e,hint:t,body:n,key:`${i()?.id??`none`}|${e}|${t??``}`}},void 0,{equals:(e,t)=>e.key===t.key});return(()=>{var r=iS(),o=r.firstChild,l=o.firstChild,f=l.nextSibling,p=f.nextSibling;return r.addEventListener(`toggle`,t=>{t.target.open&&e.onResize?.()}),L(l,()=>h().label),L(o,A(M,{get when(){return t.data?.actor},get children(){var e=rS();return e.firstChild,L(e,()=>String(t.data.actor),null),e}}),f),L(f,(()=>{var e=N(()=>!!i());return()=>e()?h().hint||``:N(()=>!!a())()?`(result missed)`:N(()=>!!(s===`bash`||d()))()?A(Ad,{get startedAt(){return t.ts},inline:!0,get timeoutMs(){return d()}}):`running…`})()),L(p,A(id,{get text(){return u()},label:`⧉ cmd`,title:`copy the ${s} arguments`}),null),L(p,A(M,{get when(){return i()},get children(){return A(id,{get text(){return N(()=>!!pd(c()))()?fd(c()):c()},label:`⧉ out`,title:`copy this tool's full output (escapes removed)`})}}),null),L(r,()=>h().body,null),b(e=>{var t=`embed`+(n?` grouped`:``)+(i()?i().data?.ok===!1?` fail`:` done`:a()?` done`:` running`),o=`${s}${h().hint?` — `+h().hint:``}`;return t!==e.e&&I(r,e.e=t),o!==e.t&&F(r,`title`,e.t=o),e},{e:void 0,t:void 0}),r})()}function XS(e){let t;return x(()=>{e.html,queueMicrotask(()=>px(t))}),(()=>{var n=Zx(),r=t;return typeof r==`function`?je(r,n):t=n,b(()=>n.innerHTML=e.html),n})()}function ZS(e){let t=e.e,n=bx(t),r=()=>Dx(e.prev?.(),t),i=()=>{let n=e.next?.();return!!n&&Dx(t,n)};if(t.type===`fork`){let e=t.data??{};return(()=>{var n=aS(),r=n.firstChild.nextSibling;return r.nextSibling,L(n,()=>String(e.fromBranch??`?`),r),L(n,()=>String(e.newBranch??t.branch),null),n})()}if(t.type===`goal`){let e=Bt(t.data??{});return(()=>{var t=oS(),n=t.firstChild;return L(n,()=>e.label),L(t,A(M,{get when(){return e.hasCard},get children(){return A(Gt,{get tone(){return N(()=>e.tone===`ok`)()?`ok`:e.tone===`warn`?`warn`:`tool`},get markdown(){return e.markdown},get body(){return e.detail}})}}),null),b(()=>I(t,`goalline `+(e.tone===`err`?`err`:e.tone===`warn`?`warn`:``))),t})()}if(t.type===`audit_step`){let e=String(t.data?.step??``),n=String(t.data?.name??``),r=e===`started`?`🔍️ auditor started`:e===`tool`?`🔍️ auditor → ${n}`:e===`tool_done`?`🔍️ auditor ← ${n} ${t.data?.ok===!1?`failed`:`${String(t.data?.chars??0)} chars`}`:e===`reply`?`🔍️ auditor replied`:`🔍️ auditor`;return e===`reply`&&t.data?.text||e===`tool`&&t.data?.args?(()=>{var n=uS(),i=n.firstChild,a=i.firstChild;return L(a,r),L(i,A(M,{get when(){return e===`tool`&&t.data?.args},get children(){var e=cS();return L(e,()=>ot(String(t.data?.args??``),120)),e}}),null),L(n,A(M,{get when(){return e===`reply`&&t.data?.text},get children(){var e=lS();return L(e,()=>String(t.data?.text??``)),e}}),null),L(n,A(M,{get when(){return e===`tool`&&t.data?.args},get children(){var e=lS();return L(e,()=>String(t.data?.args??``)),e}}),null),n})():(()=>{var e=sS(),t=e.firstChild;return L(t,r),e})()}if(t.type===`todo`)return(()=>{var e=dS(),n=e.firstChild.nextSibling;return n.nextSibling,L(e,()=>String(t.data?.by??`human`),n),e})();if(t.type===`state`)return t.data.from===t.data.to?null:(()=>{var e=fS(),n=e.firstChild;return L(e,()=>t.data.from,n),L(e,()=>t.data.to,null),L(e,(()=>{var e=N(()=>!!t.data.reason);return()=>e()?` — ${t.data.reason}`:``})(),null),b(()=>I(e,`divider-msg`+(t.data.to===`error`?` err`:``))),e})();if(t.type===`system_note`){let e=String(t.data?.event??``);if(e===`runaway-detected`)return(()=>{var e=pS(),n=e.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;i.nextSibling;var a=n.nextSibling,o=a.firstChild.nextSibling;return o.nextSibling,L(n,()=>String(t.data?.failures),r),L(n,()=>String(t.data?.limit),i),L(a,()=>String(t.data?.lastTool),o),L(a,()=>String(t.data?.lastError??``).slice(0,200),null),b(()=>F(e,`title`,`${t.data?.failures} consecutive tool failures hit the configured limit (${t.data?.limit})`)),e})();if(e===`error-retry`)return(()=>{var e=mS(),n=e.firstChild,r=n.firstChild.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(n,()=>String(t.data?.attempt),r),L(n,()=>Math.round(Number(t.data?.waitMs)/1e3),i),e})();if(e===`background-exit`){let e=t.data?.failed===!0,n=Math.round(Number(t.data?.durationMs??0)/1e3);return(()=>{var r=qx();return I(r,`divider-msg`+(e?` err`:``)),L(r,()=>(e?`⚠ background job `:`✓ background job `)+String(t.data?.jobId??`?`)+` `+(e?`FAILED (exit ${String(t.data?.code??`?`)})`:`finished (${n}s)`)),b(()=>F(r,`title`,String(t.data?.cmd??``))),r})()}return e===`context-compacted`?(()=>{var e=hS(),n=e.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(e,()=>String(t.data?.tokensBefore??`?`),n),L(e,()=>String(t.data?.tokensAfter??`?`),r),L(e,()=>String(t.data?.mode??``),i),e})():e===`context-compaction-started`?(()=>{var e=gS(),n=e.firstChild.nextSibling,r=n.nextSibling.nextSibling,i=r.nextSibling.nextSibling;return i.nextSibling,L(e,()=>String(t.data?.messages??`?`),n),L(e,()=>String(t.data?.tokensBefore??`?`),r),L(e,()=>String(t.data?.reason??`auto`),i),e})():null}return(()=>{var a=xS(),o=a.firstChild,s=o.nextSibling;return L(o,(()=>{var e=N(()=>!!r());return()=>e()?``:n.icon})()),L(s,(()=>{var e=N(()=>!!r());return()=>e()&&(()=>{var e=SS();return b(()=>F(e,`title`,`${xx(t.ts)} · ${t.branch}`)),e})()})(),null),L(s,A(M,{get when(){return!r()},get children(){var r=bS(),i=r.firstChild,a=i.nextSibling;return L(i,()=>n.name),L(r,A(M,{get when(){return t.data?.actor},get children(){var e=rS();return e.firstChild,L(e,()=>String(t.data.actor),null),e}}),a),L(a,(()=>{var e=N(()=>!!t.data?.pending);return()=>e()?`queued…`:N(()=>!!t.data?.cancelled)()?`withdrawn`:xx(t.ts)})()),L(r,A(M,{get when(){return e.showBranch},get children(){var e=_S();return L(e,()=>t.branch),e}}),null),L(r,A(M,{get when(){return e.onCancel},get children(){var t=vS();return t.$$click=t=>{t.stopPropagation(),e.onCancel()},t}}),null),L(r,A(M,{get when(){return t.type!==`tool_call`},get children(){return A(id,{get text(){return Sx(t)},label:`⧉ copy`,title:`copy the RAW text of this message (no markdown rendering)`})}}),null),L(r,A(M,{get when(){return e.onEdit},get children(){var t=yS();return t.$$click=t=>{t.stopPropagation(),e.onEdit()},t}}),null),b(()=>I(i,`author tone-${yx(n.color)}`)),r}}),null),L(s,A($S,{e:t,get prev(){return e.prev?.()},get res(){return e.res},get orphan(){return e.orphan},get onOption(){return e.onOption},get answeredIds(){return e.answeredIds},get onAnswered(){return e.onAnswered},get agentActive(){return e.agentActive},get onResize(){return e.onResize},get agentId(){return e.agentId}}),null),b(e=>{var s=`msg`+(r()?` grouped`:``)+(i()?` next-grouped`:``)+(t.data?.pending?` pending`:``)+(t.data?.cancelled?` withdrawn`:``),c=t.id,l=`avatar avghost tone-${yx(n.color)}`+(r()?` ghosted`:``),u=r()?`${xx(t.ts)} · ${t.branch}`:void 0;return s!==e.e&&I(a,e.e=s),c!==e.t&&F(a,`data-eid`,e.t=c),l!==e.a&&I(o,e.a=l),u!==e.o&&F(o,`title`,e.o=u),e},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}function QS(e){let t=()=>(Array.isArray(e.data?.images)?e.data.images:[]).map(e=>typeof e==`string`?e:e?.url).filter(e=>typeof e==`string`&&e.length>0).map(t=>of(e.agentId,t));return A(M,{get when(){return t().length},get children(){var e=CS();return L(e,A(j,{get each(){return t()},children:e=>(()=>{var t=wS();return F(t,`src`,e),t})()})),e}})}function $S(e){let t=e.e;switch(t.type){case`prompt`:{let e=(t.data?.images??[]).map(e=>typeof e==`string`?e:e?.url).filter(e=>typeof e==`string`&&e.length>0);return[A(XS,{get html(){return it(String(t.data.text??``))}}),A(M,{get when(){return e.length},get children(){var t=CS();return L(t,A(j,{each:e,children:e=>(()=>{var t=TS();return F(t,`src`,e),t})()})),t}})]}case`message`:return[A(M,{get when(){return N(()=>typeof t.data.reasoning==`string`)()&&t.data.reasoning.trim()},get children(){var e=ES(),n=e.firstChild.nextSibling;return L(n,()=>String(t.data.reasoning)),e}}),A(XS,{get html(){return it(String(t.data.content??``))}}),A(M,{get when(){return t.data.interrupted},get children(){return DS()}}),A(M,{get when(){return t.data.final},get children(){var e=OS(),n=e.firstChild;return L(e,A(id,{get text(){return String(t.data.content??``)}}),n),e}})];case`tool_call`:return A(YS,{e:t,get prev(){return e.prev},get res(){return e.res},get orphan(){return e.orphan},get agentActive(){return e.agentActive},get onResize(){return e.onResize},get agentId(){return e.agentId}});case`tool_result`:{let n=String(t.data.result??``),r=String(t.data.name??`tool`),i=t.data.ok!==!1;return(()=>{var a=AS(),o=a.firstChild,s=o.firstChild,c=o.nextSibling,l=c.nextSibling;return I(a,`embed `+(i?``:`fail`)),L(s,r===`bash`?`$ (bash, call evicted)`:r),L(o,A(id,{text:n}),null),L(c,n),L(l,()=>at(t.data.durationMs),null),L(l,()=>r===`bash`?kx(Ox(t.data.ok,n)):i?``:` · FAILED`,null),L(a,A(M,{get when(){return e.orphan},get children(){return kS()}}),null),b(()=>a.open=e.orphan),a})()}case`decision`:{let e=Array.isArray(t.data?.alternatives)?t.data.alternatives:[];return(()=>{var n=MS(),r=n.firstChild.firstChild.firstChild.nextSibling;return L(n,A(XS,{get html(){return it(String(t.data?.rationale??``))}}),null),L(n,A(M,{get when(){return e.length},get children(){var t=jS();return t.firstChild,L(t,()=>e.join(` / `),null),t}}),null),b(()=>r.innerHTML=it(String(t.data?.decision??``))),n})()}case`question`:{let n=Array.isArray(t.data?.options)?t.data.options:[],r=t.data?.callId?String(t.data.callId):``,i=()=>e.answeredIds?.().has(r)??!1;return(()=>{var a=FS(),o=a.firstChild.firstChild.nextSibling;return L(a,A(M,{get when(){return i()},get children(){return NS()}}),null),L(a,A(M,{get when(){return n.length>0},get children(){var a=PS();return L(a,A(j,{each:n,children:n=>(()=>{var a=IS();return a.$$click=()=>{e.onAnswered?.(r);let i=t.data?.actor;i?Y(`/api/agents/${encodeURIComponent(String(i))}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:n,start:!0})}).then(()=>af(`→ answered @${String(t.data.actor)}`)).catch(()=>af(`answer failed`)):e.onOption?.(n)},L(a,n),b(()=>a.disabled=i()),a})()})),a}}),null),L(a,A(JS,{get answered(){return i()},get onOption(){return e.onOption}}),null),b(e=>{var n=`embed question`+(i()?` answered`:``),r=it(String(t.data?.question??``));return n!==e.e&&I(a,e.e=n),r!==e.t&&(o.innerHTML=e.t=r),e},{e:void 0,t:void 0}),a})()}case`progress`:return(()=>{var e=VS(),n=e.firstChild.firstChild.nextSibling;return L(e,A(M,{get when(){return t.data.goalStatus},get children(){var e=LS(),n=e.firstChild.nextSibling;return L(n,()=>String(t.data.goalStatus)),e}}),null),L(e,A(M,{get when(){return t.data.recent},get children(){var e=RS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.recent))),e}}),null),L(e,A(M,{get when(){return t.data.problems},get children(){var e=zS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.problems))),e}}),null),L(e,A(M,{get when(){return t.data.next},get children(){var e=BS(),n=e.firstChild.nextSibling;return b(()=>n.innerHTML=it(String(t.data.next))),e}}),null),b(()=>n.innerHTML=it(String(t.data.doing??``))),e})();case`error`:return(()=>{var e=HS(),n=e.firstChild;return n.firstChild,L(n,()=>String(t.data.message??``),null),e})();case`compaction`:return t.data.summary?(()=>{var e=KS(),n=e.firstChild.firstChild.nextSibling,r=n.firstChild,i=r.nextSibling,a=i.nextSibling.nextSibling;return a.nextSibling,L(n,()=>String(t.data.mode??``),r),L(n,()=>Cx(Number(t.data.tokensBefore??0)),i),L(n,()=>Cx(Number(t.data.tokensAfter??0)),a),L(n,(()=>{var e=N(()=>!!t.data.summarized);return()=>e()?`${t.data.summarized} summarized`:`${t.data.dropped} dropped`})(),null),L(e,A(M,{get when(){return t.data.summary},get children(){return[GS(),A(XS,{get html(){return it(String(t.data.summary))}})]}}),null),e})():(()=>{var e=WS(),n=e.firstChild.nextSibling,r=n.firstChild,i=r.nextSibling,a=i.nextSibling.nextSibling;return a.nextSibling,L(n,()=>String(t.data.mode??``),r),L(n,()=>Cx(Number(t.data.tokensBefore??0)),i),L(n,()=>Cx(Number(t.data.tokensAfter??0)),a),L(n,(()=>{var e=N(()=>!!t.data.summarized);return()=>e()?`${t.data.summarized} summarized`:`${t.data.dropped} dropped`})(),null),L(n,()=>String(t.data.mode??``)===`truncate`?` · older history dropped`:``,null),L(e,A(M,{get when(){return String(t.data.mode??``)===`truncate`},get children(){return US()}}),null),e})();default:return(()=>{var e=qS();return L(e,()=>ot(JSON.stringify(t.data),200)),e})()}}De([`input`,`keydown`,`click`]);var eC=(e,t)=>{let n=String(t??``).trim();return!n||/^\d+$/.test(n)?null:e?.[n]??null},tC=[{key:`openrouter`,label:`OpenRouter`,url:`https://openrouter.ai/api/v1`,model:``,hint:`400+ models behind one key — teapot sends app-attribution headers automatically`},{key:`orcarouter`,label:`OrcaRouter`,url:`https://api.orcarouter.ai/v1`,model:``,hint:`zero-markup routing gateway — 'orcarouter/auto' grades each prompt and picks the model`},{key:`openai`,label:`OpenAI`,url:`https://api.openai.com/v1`,model:``,hint:`your account's models — pick from the list once the endpoint answers`},{key:`opencode-go`,label:`OpenCode Go`,url:`https://opencode.ai/zen/go/v1`,model:``,hint:`OpenCode's open-model subscription — teapot sends the required x-opencode-session header; choose a chat/completions model`},{key:`llamacpp`,label:`llama.cpp server`,url:`http://localhost:8080/v1`,model:``,hint:`free & local — start it with: llama-server -m ./model.gguf (any model name works)`}];function nC(e,t){return e?t===`dark`?{slot:`dark`,key:`teapot.theme.dark`}:{slot:`light`,key:`teapot.theme.light`}:{slot:`fixed`,key:`teapot.theme`}}var rC=P(`<div class=themeeditor><h4 class=cfgsub>your themes</h4><div class=btnrow><button type=button title="copy the theme you are using into a new editable one — presets themselves are never modified">+ duplicate current`),iC=P(`<div class=muted style="margin:6px 0">`),aC=P(`<b>+ duplicate current`),oC=P(`<div class=cfggrid style=margin-top:8px><label class=trow>appearance<select><option value=dark>dark</option><option value=light>light`),sC=P(`<div class=paletterows>`),cC=P(`<div class=btnrow><button type=button title="put every colour back to the palette this theme was created from">↺ reset palette</button><button type=button title="delete this custom theme">🗑 delete`),lC=P(`<h4 class=cfgsub>background image`),uC=P(`<img sizes=260px alt="current background"decoding=async loading=lazy>`,!0,!1,!1),dC=P(`<span class=bgpick-hint>🖼 replace…`),fC=P(`<div class=bgpreview><span class=muted title="this image is served from the server; the theme stores only its URL">✓ image set</span><div class=btnrow><label class=trow title="how much the image is dimmed so text stays readable">dim<input type=range min=0 max=0.9 step=0.05><span class="muted mono">%</span></label><label title="how much of the background shows through code blocks and tool cards — lower is more transparent">surfaces<input type=range min=0.35 max=1 step=0.01><span class="muted mono">%</span></label><button type=button>✕ remove`),pC=P(`<div class=cfggrid><button type=button></button><input type=file accept=image/* style=display:none>`),mC=P(`<div class=muted style=margin-top:6px;font-size:var(--text-xs)>the image is uploaded to the server and sits behind the panels, dimmed so text stays readable. No size limit — it is a file now, not browser storage.`),hC=P(`<label class=paletterow><input type=color><span class=paletterow-label></span><input class="mono paletterow-hex">`),gC=P(`<span class=bgpick-empty>🖼 choose a background image…`),_C=P(`<div class=muted style=font-size:11.5px;margin-top:4px>⚠ configured default provider <code></code> has no provider row here<!> Add a provider named <code></code> or pick a default below; otherwise agents fall back to the first provider.`),vC=P(`<div class=cfggrid style=margin-top:8px><label class=trow>dark theme →<select class=w100></select></label><label class=trow>light theme →<select class=w100>`),yC=P(`<div class=skilllist>`),bC=P(`<span style=color:var(--err);font-size:13px>`),xC=P(`<form style=display:flex;flex-direction:column;gap:12px;min-height:0><div class=cfgbody><nav class=cfgmenu aria-label="settings sections"></nav><div class=cfgpanel><fieldset><legend>providers</legend><button type=button>+ add custom</button><div style=display:flex;gap:6px;flex-wrap:wrap;margin-top:6px><span class=muted style=font-size:11.5px>quick-add:</span></div><div><label title="agents without an explicit provider use this one"style=display:flex;align-items:center;gap:6px;margin-top:6px>default provider<select><option value>(none — first provider wins)</option></select></label></div></fieldset><fieldset><legend>appearance</legend><div class=cfggrid><label class=trow>follow the system<input type=checkbox></label></div><h4 class=cfgsub>themes</h4></fieldset><fieldset><legend>agent runtime</legend><div class=cfgrow><label style=flex:1>API password<input type=password class=w100></label><span class=muted style=font-size:11.5px;max-width:34ch>bearer token for /api. empty = loopback only.</span></div><div class=cfggrid><label title="auto-compact threshold in k tokens. Leave EMPTY to derive per model (75% of its context window) — recommended, since models differ wildly in window size. Set only to force an absolute cap across all models.">compact budget (k tok)<input type=number min=0 placeholder="(derive: 75% of window)"></label></div><label class=cfgtoggle title="prune old tool output early (at 60% of the budget) instead of waiting for the window to fill. Meant for small-window models — on a large window it throws away context you had room for."><input type=checkbox>short-context mode</label></fieldset><fieldset><legend>MCP servers — external tools, shared by every agent</legend><div class=muted style=font-size:11.5px;margin-bottom:8px>each tool becomes <code class=mono>mcp__server__tool</code> for every agent. saving connects them; the status shown here is live.</div><button type=button>+ add MCP server</button></fieldset><fieldset><legend>scheduled tasks</legend><button type=button>+ add task</button></fieldset><fieldset><legend>archived agents — restore, or delete for good</legend></fieldset><fieldset><legend>agents (read-only — edit config file or use +)</legend></fieldset><fieldset><legend>live update</legend><div class=cfgrow><span class=muted>current version: </span><button type=button class=primarybtn>update & restart</button><span class=muted style=margin-left:8px;font-size:12px>gracefully stops all agents, spawns new process, then reloads this page</span></div></fieldset><fieldset><legend>skills</legend></fieldset><fieldset><legend>help</legend><div class=helpsec><h4 class=cfgsub>this host</h4><div class=featgrid><div class=featrow><b>image downscaling</b><span class=muted></span></div><div class=featrow><b>terminal pty</b><span class=muted></span></div></div></div><div class=helpsec><h4 class=cfgsub>keyboard</h4><div class=helprow><kbd>enter</kbd><span>send (shift+enter for a newline)</span></div><div class=helprow><span class=kbdgroup><kbd>↑</kbd><kbd>↓</kbd></span><span>move between sessions</span></div><div class=helprow><kbd>/</kbd><span>command palette — commands and focus</span></div><div class=helprow><kbd>t</kbd><span>open the terminal panel</span></div><div class=helprow><kbd>d</kbd><span>toggle the details panel</span></div><div class=helprow><kbd>esc</kbd><span>interrupt the running turn</span></div></div><div class=helpsec><h4 class=cfgsub>what the toggles do</h4><div class=helprow><b>auto-continue</b><span>fires after a round only when all hold: the toggle is on, a goal is set and its status is <code>active</code>, and the round ended cleanly (not an error, not stopped). It stops when the goal is marked done, or when you press ■ stop. Sending any prompt starts an idle agent regardless.</span></div><div class=helprow><b>auto-compact</b><span>when the live context passes the budget shown under 📊 runtime, older turns are summarized into notes and the recent stretch is kept verbatim, so work continues without losing the thread. Off means you compact by hand (<code>/compact</code>).</span></div><div class=helprow><b>messages while it works</b><span>anything you send queues up and is handed to the model at its next turn boundary — the timeline shows it as "pending (queued)…" until then. Withdraw it with ✕ cancel while it is still queued.</span></div><div class=helprow><b>👻 ghost sessions</b><span>a session whose workspace directory no longer exists on disk. The session log is intact — recreate the directory and it stops being a ghost.</span></div></div></fieldset></div></div><div class=cfgfoot><button type=submit class=cfgsave>`),SC=P(`<button type=button><span class=cfgmenu-label>`),CC=P(`<div class=cfgrow><input class=cfgname placeholder=name><input placeholder=https://…/v1><input placeholder="default model"><button type=button class=danger title="remove provider">✕</button><div class=cfgkeys><button type=button title="add another key for this provider — they are rotated round-robin, and a rate-limited key is skipped for a minute">+ key`),wC=P(`<button type=button title="remove this key">−`),TC=P(`<div class=cfgkeyrow><input type=password>`),EC=P(`<button type=button>+ `),DC=P(`<option>`),OC=P(`<div class=cfgsub style=margin-bottom:var(--space-1)>`),kC=P(`<div class=themepick>`),AC=P(`<button type=button><span class=themecard-preview></span><span class=themecard-label> ★`),jC=P(`<button type=button><span class=themecard-preview></span><span class=themecard-label>`),MC=P(`<div class=muted style=font-size:12.5px>no MCP servers. add one below — a remote url, or a local command for stdio.`),NC=P(`<input placeholder="command (e.g. npx)">`),PC=P(`<input placeholder="args, space separated">`),FC=P(`<input type=password placeholder="paste the token"title="sent as Authorization: Bearer <token>"style=flex:1>`),IC=P(`<input placeholder="header name"style="flex:0 1 150px">`),LC=P(`<input type=password placeholder=value style=flex:1>`),RC=P(`<div class=cfgrow><textarea class=mono rows=2 placeholder="{&quot;Authorization&quot;: &quot;Bearer …&quot;, &quot;X-Team&quot;: &quot;infra&quot;}"title="static headers for every request. Use the bearer option unless the server needs something unusual."style=flex:1>`),zC=P(`<button type=button class=mcpauthorize title="start the OAuth flow: a browser tab opens, and the tools appear when you finish">🔑 authorize`),BC=P(`<span class="mcpstate connected"title="an OAuth access token is usable — disconnect it under the server's details">🔑 authorized`),VC=P(`<span>`),HC=P(`<div class=muted style=font-size:11px;color:var(--warn)>`),UC=P(`<div class="cfgcol mcpcard"><div class=cfgrow><input class=cfgname placeholder=name title="the name that appears inside mcp__<name>__ in tool names"><input placeholder="https://example.com/mcp (or leave empty for a stdio command)"><label style=display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px><input type=checkbox>on</label><button type=button class=danger>✕</button></div><div class=cfgrow><input placeholder="what this server is for — e.g. reverse engineering: decompile, disassemble"title="shown to the model when the MCP catalog is too large to send, so it can search for the right tool instead of guessing keywords"></div><div class=cfgrow><select title="streamable HTTP is the current spec; legacy SSE is the 2024-11-05 handshake; stdio spawns a local process"><option value=http>streamable http</option><option value=sse>legacy http+sse</option><option value=stdio>stdio (local command)</option></select></div><div class=cfgrow><select title="how this server authenticates"><option value=none>no auth</option><option value=bearer>bearer token</option><option value=header>custom header</option><option value=json>headers as JSON (advanced)</option></select></div><div class=cfgrow><button type=button title="connect now and list the tools — nothing is saved">test`),WC=P(`<option value=oauth selected>`),GC=P(`<span class=muted> · needs a grant (🔑 authorize)`),KC=P(`<details class=mcptools-wrap><summary>show <!> tool</summary><ul class=mcptools>`),qC=P(`<div class=mcpdanger><span class=muted>OAuth grant</span><button type=button class=mcpdisconnect title="forget the stored grant (the refresh token is deleted, so authorizing again needs a browser)">disconnect`),JC=P(`<div><div class=mcpresult-head><b>`),YC=P(`<span class=mcptool-desc>`),XC=P(`<li><code class=mono>`),ZC=P(`<div class=cfgcol><div class=cfgrow><input placeholder=id><input placeholder="agent id"><input placeholder="every 30m / cron"><label style=display:flex;gap:3px;align-items:center;white-space:nowrap;color:var(--dim);font-size:11px><input type=checkbox>fork</label><button type=button class=danger>✕</button></div><textarea rows=2 placeholder="prompt to send">`),QC=P(`<div class=muted style=font-size:12.5px>nothing archived. 🗄 archive in the controls panel puts an agent away without losing its history.`),$C=P(`<div class="cfgrow archrow"><div class=archmain><b></b><span class=muted> session</span><span class="muted mono ellip"></span></div><button type=button class=archrestore title="bring it back and start it again — its history was never touched">↩ restore</button><button type=button class=danger title="erase the config entry AND every session directory — irreversible">🗑 delete`),ew=P(`<span class=muted>🧩 sub of @`),tw=P(`<div class=cfgrow><b></b><span class=muted>`),nw=P(`<div class=muted>`),rw=P(`<div class=skillbody>`),iw=P(`<div class=skillrow><button type=button class=skillhead title="show the playbook"><span class=skillcaret></span><b class=mono></b><span class=muted>`),aw=P(`<div class="muted skillbody">`);function ow(e){let[t,n]=y(e.themes().some(t=>t.id===e.paintedId)?e.paintedId:e.themes()[0]?.id??``),r=()=>Xn(e.themes(),e.paintedId,t()),[i,a]=y({}),o,s=t=>{let n=r()?.id;if(!n)return;let i=e.themes().map(e=>e.id===n?t(e):e);e.onChange(i)},c=(e,t)=>{let n=Jn(t);n&&s(t=>({...t,palette:{...t.palette,[e]:n}}))},l=()=>{let t=e.themes().find(t=>t.id===e.paintedId),r=Pd.find(t=>t.key===e.paintedId),i=t??r??Pd[0],a=getComputedStyle(document.documentElement),o={...Rn};for(let{key:e,cssVar:t}of In){let n=Jn(a.getPropertyValue(t));n&&(o[e]=n)}let s=Gn(e.themes().map(e=>e.id).concat(Pd.map(e=>e.key))),c={id:s,label:`${i.label}${t?``:` copy`}`.slice(0,40),mode:i.mode,palette:o,...t?.backgroundImage?{backgroundImage:t.backgroundImage,backgroundDim:t.backgroundDim,surfaceAlpha:t.surfaceAlpha}:{}};e.onChange([...e.themes(),c]),n(s),e.onPick(s)},u=async t=>{if(t){if(!/^image\//.test(t.type))af(`that file is ${JSON.stringify(t.type||`unknown`)} — pick an image`);else{af(`uploading ${t.name} (${Math.round(t.size/1024)}KB)…`);try{let n=await fetch(`/api/assets`,{method:`POST`,headers:{"content-type":t.type},body:t}).then(async e=>({ok:e.ok,body:await e.json().catch(()=>null)}));if(!n.ok||!n.body?.url){af(n.body?.error??`upload failed`);return}s(e=>({...e,backgroundImage:n.body.url,backgroundImageBytes:n.body.bytes}));let i=r()?.id;i&&e.onPick(i),af(`background image set`)}catch(e){af(`upload failed: ${e.message}`)}}}};return(()=>{var t=rC(),d=t.firstChild.nextSibling.firstChild;return d.$$click=l,L(t,A(M,{get when(){return N(()=>!!(r()&&e.themes().some(t=>t.id===e.paintedId)))()?r():null},get fallback(){return(()=>{var t=iC();return L(t,(()=>{var t=N(()=>e.themes().length===0);return()=>t()?[`no custom themes yet — press `,aC(),` to start from the palette you are using.`]:[`the editor shows when one of your themes is the one on screen — pick one under "your themes" above (or press `,aC(),`).`]})()),t})()},children:t=>[(()=>{var e=oC(),t=e.firstChild.firstChild.nextSibling;return t.addEventListener(`change`,e=>s(t=>({...t,mode:e.currentTarget.value}))),b(()=>t.value=r().mode),e})(),(()=>{var e=sC();return L(e,A(j,{each:In,children:e=>(()=>{var t=hC(),n=t.firstChild,o=n.nextSibling,s=o.nextSibling;return n.$$input=t=>c(e.key,t.currentTarget.value),L(o,()=>e.label),s.addEventListener(`blur`,()=>a(t=>{let n={...t};return delete n[e.key],n})),s.$$input=t=>{let n=t.currentTarget.value;a(t=>({...t,[e.key]:n})),c(e.key,n)},F(s,`spellcheck`,!1),b(()=>F(t,`title`,e.cssVar)),b(()=>n.value=Jn(r().palette[e.key])??`#000000`),b(()=>s.value=i()[e.key]??r().palette[e.key]),t})()})),e})(),(()=>{var t=cC(),i=t.firstChild,a=i.nextSibling;return i.$$click=()=>s(e=>({...e,palette:{...Rn}})),a.$$click=()=>{let t=r()?.id;t&&(e.onChange(e.themes().filter(e=>e.id!==t)),n(e.themes().find(e=>e.id!==t)?.id??``))},t})(),lC(),(()=>{var e=pC(),t=e.firstChild,n=t.nextSibling;t.$$click=()=>o?.click(),L(t,A(M,{get when(){return r().backgroundImage},get fallback(){return gC()},get children(){return[(()=>{var e=uC();return b(t=>{var n=$t(r().backgroundImage),i=Qt(r().backgroundImage);return n!==t.e&&F(e,`src`,t.e=n),i!==t.t&&F(e,`srcset`,t.t=i),t},{e:void 0,t:void 0}),e})(),dC()]}})),n.addEventListener(`change`,e=>{e.stopPropagation(),u(e.currentTarget.files?.[0]),e.currentTarget.value=``}),n.$$input=e=>e.stopPropagation();var i=o;return typeof i==`function`?je(i,n):o=n,L(e,A(M,{get when(){return r().backgroundImage},get children(){var e=fC(),t=e.firstChild;t.firstChild;var n=t.nextSibling.firstChild,i=n.firstChild.nextSibling,a=i.nextSibling,o=a.firstChild,c=n.nextSibling,l=c.firstChild.nextSibling,u=l.nextSibling,d=u.firstChild,f=c.nextSibling;return L(t,()=>{let e=r()?.backgroundImageBytes;return e?` — ${Math.max(1,Math.round(e/1024))} KB`:``},null),i.$$input=e=>s(t=>({...t,backgroundDim:Number(e.currentTarget.value)})),L(a,()=>Math.round((r().backgroundDim??.55)*100),o),l.$$input=e=>s(t=>({...t,surfaceAlpha:Number(e.currentTarget.value)})),L(u,()=>Math.round((r().surfaceAlpha??.82)*100),d),f.$$click=()=>s(e=>({...e,backgroundImage:void 0})),b(()=>i.value=r().backgroundDim??.55),b(()=>l.value=r().surfaceAlpha??.82),e}}),null),b(e=>{var n=`bgpick`+(r().backgroundImage?` has`:``),i=r().backgroundImage?`click to replace this background image (PNG/JPG/WebP)`:`choose a background image (PNG/JPG/WebP)`;return n!==e.e&&I(t,e.e=n),i!==e.t&&F(t,`title`,e.t=i),e},{e:void 0,t:void 0}),e})(),mC()]}),null),t})()}function sw(e){let t=(e,t)=>{let n=Array.isArray(t?.apiKeys)&&t.apiKeys.length?t.apiKeys.filter(e=>typeof e==`string`&&e.trim()):t?.apiKey?[String(t.apiKey)]:[``];return{name:e,baseUrl:t?.baseUrl??``,apiKeys:n.length?n:[``],model:t?.model??``}},[n,r]=y(Object.entries(e.cfg.providers??{}).map(([e,n])=>t(e,n))),[i,a]=y(e.cfg.defaultProvider??``),o=()=>e.cfg.defaultProvider??``,s=()=>{let e=[...new Set(n().map(e=>e.name.trim()).filter(Boolean))],t=i();return t&&!e.includes(t)&&e.push(t),e},c=()=>{let e=i();return e?n().some(t=>t.name.trim()===e)?``:e:``},[l,u]=y(Math.round((e.cfg.progressIntervalMs??6e5)/6e4)),[d,f]=y(e.cfg.progressMinChars??4e3),[p,m]=y(e.cfg.contextTokenBudget==null?null:Math.round(e.cfg.contextTokenBudget/1e3)),[h,g]=y(e.cfg.contextWindowTokens?Math.round(e.cfg.contextWindowTokens/1e3):0),[_,v]=y(e.cfg.maxSpawnDepth??3),[ee,S]=y(!!e.cfg.shortContext),[C,w]=y(``),[T,E]=y(!1),[te,D]=y((e.cfg.tasks??[]).map(e=>({...e}))),[ne,re]=y((e.cfg.mcpServers??[]).map(e=>({...e}))),[ie,O]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>[t,e.headers?JSON.stringify(e.headers):``]))),[ae,oe]=y({}),[se,ce]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=e.headers??{},r=Object.keys(n);if(!r.length)return[t,`none`];let i=r.length===1?r[0]:``;return i===`Authorization`&&/^Bearer /i.test(n[i]??``)?[t,`bearer`]:[t,r.length===1?`header`:`json`]}))),[le,ue]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=e.headers??{},r=Object.keys(n);if(r.length!==1)return[t,``];let i=r[0];return[t,i===`Authorization`?(n[i]??``).replace(/^Bearer /i,``):n[i]??``]}))),[de,fe]=y(Object.fromEntries((e.cfg.mcpServers??[]).map((e,t)=>{let n=Object.keys(e.headers??{}),r=n.length===1?n[0]:``;return[t,r&&r!==`Authorization`?r:``]}))),[pe,k]=y({}),me={},he=async(e,t)=>{if(!ne()[e])return;let n=await Y(`/api/mcp/test`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}).catch(()=>null);ne()[e]&&n&&k(t=>({...t,[e]:n.ok?{kind:`ok`,text:`${n.tools?.length??0} tools`}:{kind:`err`,text:n.needsOAuth?`needs authorization — press 🔑`:n.error??`no response`,...n.needsOAuth?{needsOAuth:!0}:{}}}))},[ge,_e]=y({}),[ve,ye]=y({}),be=e=>{let t=eC(ve(),e);return t&&(t.required||t.authorized)?t:null},xe=async()=>{let e=await Y(`/api/mcp`).catch(()=>null);_e(Object.fromEntries((e?.states??[]).map(e=>[e.name,e])))},Se=async e=>{let t=String(e??``).trim();if(!t)return;let n=await Y(`/api/mcp/oauth/status?name=${encodeURIComponent(t)}`).catch(()=>null);n&&!n.error&&ye(e=>({...e,[t]:n}))},we=async(t,n)=>{if(!n.name){k(e=>({...e,[t]:{kind:`err`,text:`give it a name first`}}));return}k(e=>({...e,[t]:{kind:`testing`,text:`discovering the authorization server…`}}));let r=await Y(`/api/mcp/oauth/start`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:n.name,url:n.url})}).catch(()=>null);if(r?.alreadyAuthorized){k(e=>({...e,[t]:{kind:`ok`,text:`already authorized`}})),await Se(n.name),await xe();return}if(!r?.ok||!r.url){k(e=>({...e,[t]:{kind:`err`,text:r?.error??`no response`}})),await Se(n.name);return}window.open(r.url,`_blank`,`noopener`),k(e=>({...e,[t]:{kind:`testing`,text:`waiting for you to finish in the browser…`}}));let i=Date.now()+3e5;for(;Date.now()<i;){await new Promise(e=>setTimeout(e,1e3));let r=await Y(`/api/mcp/oauth/status?name=${encodeURIComponent(n.name)}`).catch(()=>null);if(r&&!r.error){if(ye(e=>({...e,[n.name]:r})),r.authorized){k(e=>({...e,[t]:{kind:`ok`,text:`authorized — the tools are available now`}})),await xe(),e.onSaved();return}if(r.flow?.phase===`error`){k(e=>({...e,[t]:{kind:`err`,text:r.flow.message??r.lastError??`authorization failed`}}));return}}}k(e=>({...e,[t]:{kind:`err`,text:`authorization timed out`}}))};x(()=>{P()===`mcp`&&(xe(),ne().forEach((e,t)=>{e.name&&Se(e.name)}))});let[Te,Ee]=y(``),[P,De]=y(`providers`),Oe=(t,n)=>{let{slot:r}=nC(e.theme.auto(),n);r===`dark`?Ke(t):r===`light`?Je(t):He(t)},ke=t=>e.theme.auto()?t===e.theme.dark()||t===e.theme.light():t===e.theme.activeId(),[Ae,je]=y([]),Me=async()=>{let e=await Y(`/api/archived`).catch(()=>null);je(e?.agents??[])},Ne=()=>Ae().filter(e=>!e.parent);x(()=>{P()===`archive`&&Me()});let Pe=[{key:`providers`,label:`🧦 providers`,hint:`endpoints, API keys, default models`},{key:`appearance`,label:`🎨 appearance`,hint:`theme, custom palettes, background image`},{key:`runtime`,label:`⚙️ runtime`,hint:`context budget, retries, spawn depth`},{key:`tasks`,label:`⏰ scheduled tasks`,hint:`cron prompts run against an agent`},{key:`mcp`,label:`🔌 MCP servers`,hint:`external tool servers exposed to every agent`},{key:`archive`,label:`🗄 archive`,hint:`agents you put away — restore or delete for good`},{key:`agents`,label:`👥 agents`,hint:`what exists (read-only)`},{key:`update`,label:`⬆️ live update`,hint:`restart onto a newer build`},{key:`skills`,label:`🧠 skills`,hint:`reusable playbooks available to the selected session`},{key:`help`,label:`❔️ help`,hint:`keyboard shortcuts and what each toggle does`}],Fe=()=>(e.cfg.agents??[]).map(e=>e.id),Ie=()=>e.theme.themes(),Le=()=>e.theme.activeId(),Re={auto:localStorage.getItem(`teapot.theme.auto`)===`1`,dark:localStorage.getItem(`teapot.theme.dark`)??`dark`,light:localStorage.getItem(`teapot.theme.light`)??`light`,fixed:localStorage.getItem(`teapot.theme`)??`dark`},ze=y(Re),Be=ze[0],Ve=t=>{let n={...Be(),...t};ze[1](n),e.theme.setAuto(n.auto),e.theme.setDark(n.dark),e.theme.setLight(n.light),e.theme.setActive(n.fixed);let r=t.dark??t.light??t.fixed;r&&e.theme.preview(r)},He=e=>Ve({fixed:e}),Ue=()=>Be().auto,We=e=>Ve({auto:e}),Ge=()=>Be().dark,Ke=e=>Ve({dark:e}),qe=()=>Be().light,Je=e=>Ve({light:e}),Ye=t=>e.theme.setThemes(t),Xe=()=>{let t=Re;e.theme.setAuto(t.auto),e.theme.setDark(t.dark),e.theme.setLight(t.light),e.theme.setActive(t.fixed),e.theme.preview(null)},Ze=e=>zn[e]??Rn,Qe=()=>{let e={};for(let t of n()){if(!t.name.trim())return Ee(`provider name is required`),null;if(t.baseUrl&&!/^https?:\/\//.test(t.baseUrl))return Ee(`provider ${t.name}: baseUrl must start with http(s)://`),null;let n=t.apiKeys.map(e=>e.trim()).filter(Boolean);e[t.name.trim()]={baseUrl:t.baseUrl,...n.length?{apiKeys:n,apiKey:n[0]}:{},...t.model?{model:t.model}:{}}}return e},[$e,et]=y(`idle`),tt=e=>{Ee(e),et(e=>e===`saving`?`idle`:e)},nt=async t=>{t.preventDefault(),Ee(``),et(`saving`);let n=Qe();if(!n)return et(`idle`);let r=te().filter(e=>e.id?.trim()||e.prompt?.trim()).map((e,t)=>({id:e.id?.trim()||`task-${t+1}`,agent:e.agent,schedule:e.schedule,prompt:e.prompt,...e.forked?{forked:!0}:{}}));for(let e of r){if(!e.agent)return tt(`task "${e.id}": agent is required`);if(!e.schedule?.trim())return tt(`task "${e.id}": schedule is required`)}let a=[],o=new Set;for(let e of ne()){let t=String(e.name??``).trim(),n=String(e.url??``).trim(),r=e.transport??`http`,i=String(e.command??``).trim();if(t||n||i){if(!t)return tt(`MCP: a server needs a name`);if(o.has(t))return tt(`MCP: two servers are named "${t}"`);if(o.add(t),r===`stdio`?!i:!n)return tt(`MCP "${t}": ${r===`stdio`?`a command is`:`a url is`} required`);a.push({name:t,transport:r,enabled:e.enabled!==!1,...String(e.description??``).trim()?{description:String(e.description).trim()}:{},...n?{url:n}:{},...r===`stdio`?{command:i,...e.args?.length?{args:e.args}:{}}:{},...e.headers&&Object.keys(e.headers).length?{headers:e.headers}:{}})}}try{await Y(`/api/config`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({providers:n,defaultProvider:i()||void 0,progressIntervalMs:Math.max(1,l())*6e4,progressMinChars:Math.max(100,d()),...p()==null?{}:{contextTokenBudget:Math.max(1,p())*1e3},...h()>0?{contextWindowTokens:h()*1e3}:{},maxSpawnDepth:Math.max(0,_()),shortContext:ee(),...T()?{password:C()}:{},tasks:r,mcpServers:a})}),await xe(),await Promise.all(a.map((e,t)=>e.name?Se(e.name):Promise.resolve())),setTimeout(()=>{xe(),a.forEach((e,t)=>{e.name&&Se(e.name)})},1200),e.onSaved();let t=new Set(a.map(e=>e.name).filter(Boolean)),o=ne().filter(e=>{let n=String(e.name??``).trim();return t.has(n)&&ve()[n]?.required&&!ve()[n]?.authorized}).filter(t=>!e.announcedOAuth.has(String(t.name??``)));if(o.length>0){for(let t of o)e.announcedOAuth.add(String(t.name??``));af(`${o.map(e=>String(e.name??``).trim()).filter(Boolean).join(`, `)||`a saved MCP server`} needs authorization — 🔑 authorize in MCP servers`)}e.theme.commitAppearance(Be()),e.theme.preview(null),et(`saved`),Object.assign(Re,Be()),setTimeout(()=>{et(`idle`),e.onClose()},400)}catch(e){Ee(e.message),et(`error`),setTimeout(()=>et(`idle`),1600)}};return A(ad,{title:`settings`,onClose:()=>{Xe(),e.onClose()},get children(){var t=xC(),x=t.firstChild,T=x.firstChild,_e=T.nextSibling.firstChild,ye=_e.firstChild.nextSibling,xe=ye.nextSibling;xe.firstChild;var Ae=xe.nextSibling.firstChild.firstChild.nextSibling;Ae.firstChild;var je=_e.nextSibling,Re=je.firstChild.nextSibling,ze=Re.firstChild.firstChild.nextSibling,Be=Re.nextSibling,Ve=je.nextSibling,Xe=Ve.firstChild.nextSibling,Qe=Xe.firstChild.firstChild.nextSibling,et=Xe.nextSibling,tt=et.firstChild,rt=tt.firstChild.nextSibling,at=et.nextSibling.firstChild,ot=Ve.nextSibling,ct=ot.firstChild.nextSibling.nextSibling,lt=ot.nextSibling,ut=lt.firstChild.nextSibling,dt=lt.nextSibling;dt.firstChild;var ft=dt.nextSibling;ft.firstChild;var pt=ft.nextSibling,mt=pt.firstChild.nextSibling.firstChild;mt.firstChild;var ht=mt.nextSibling,gt=pt.nextSibling;gt.firstChild;var _t=gt.nextSibling,vt=_t.firstChild.nextSibling.firstChild.nextSibling.firstChild,yt=vt.firstChild.nextSibling,bt=vt.nextSibling.firstChild.nextSibling,xt=x.nextSibling,St=xt.firstChild;return t.addEventListener(`submit`,nt),L(T,A(j,{each:Pe,children:e=>(()=>{var t=SC(),n=t.firstChild;return t.$$click=()=>De(e.key),L(n,()=>e.label),b(n=>{var r=`cfgmenu-item`+(P()===e.key?` on`:``),i=e.hint,a=P()===e.key?`page`:void 0;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-current`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()})),L(_e,A(Ce,{get each(){return n()},children:(e,t)=>(()=>{var i=CC(),a=i.firstChild,o=a.nextSibling,s=o.nextSibling,c=s.nextSibling,l=c.nextSibling,u=l.firstChild;return a.$$input=e=>r(n().map((n,r)=>r===t?{...n,name:e.currentTarget.value}:n)),o.$$input=e=>r(n().map((n,r)=>r===t?{...n,baseUrl:e.currentTarget.value}:n)),s.$$input=e=>r(n().map((n,r)=>r===t?{...n,model:e.currentTarget.value}:n)),c.$$click=()=>r(n().filter((e,n)=>n!==t)),L(l,A(j,{get each(){return e().apiKeys},children:(i,a)=>(()=>{var o=TC(),s=o.firstChild;return s.$$input=e=>r(n().map((n,r)=>r===t?{...n,apiKeys:n.apiKeys.map((t,n)=>n===a()?e.currentTarget.value:t)}:n)),s.value=i,L(o,A(M,{get when(){return e().apiKeys.length>1},get children(){var e=wC();return e.$$click=()=>r(n().map((e,n)=>n===t?{...e,apiKeys:e.apiKeys.filter((e,t)=>t!==a())}:e)),e}}),null),b(()=>F(s,`placeholder`,a()===0?`api key`:`api key (backup)`)),o})()}),u),u.$$click=()=>r(n().map((e,n)=>n===t?{...e,apiKeys:[...e.apiKeys,``]}:e)),b(()=>a.value=e().name),b(()=>o.value=e().baseUrl),b(()=>s.value=e().model),i})()}),ye),ye.$$click=()=>r([...n(),{name:``,baseUrl:``,apiKeys:[``],model:``}]),L(xe,A(j,{each:tC,children:e=>(()=>{var t=EC();return t.firstChild,t.$$click=()=>{let t=n().filter(t=>t.name!==e.key);r([...t,{name:e.key,baseUrl:e.url,apiKeys:[``],model:e.model}]),i()||a(e.key)},L(t,()=>e.label,null),b(()=>F(t,`title`,`fill a ${e.label} row — ${e.url}${e.model?` (model: ${e.model})`:``}`)),t})()}),null),Ae.addEventListener(`change`,e=>a(e.currentTarget.value)),L(Ae,A(j,{get each(){return s()},children:e=>(()=>{var t=DC();return t.value=e,L(t,e),t})()}),null),L(_e,A(M,{get when(){return c()},get children(){var e=_C(),t=e.firstChild.nextSibling,n=t.nextSibling.nextSibling,r=n.nextSibling.nextSibling;return L(t,c),L(e,()=>c()===o()?` — the dropdown above cannot show it.`:` — it was replaced by your selection.`,n),L(r,c),e}}),null),ze.addEventListener(`change`,e=>{We(e.currentTarget.checked)}),L(je,A(M,{get when(){return Ue()},get children(){var e=vC(),t=e.firstChild,n=t.firstChild.nextSibling,r=t.nextSibling.firstChild.nextSibling;return n.addEventListener(`change`,e=>{Ke(e.currentTarget.value)}),L(n,A(j,{get each(){return Ie().filter(e=>e.mode===`dark`).map(e=>({key:e.id,label:`${e.label} (custom)`})).concat(Pd.filter(e=>e.mode===`dark`))},children:e=>(()=>{var t=DC();return L(t,()=>e.label),b(()=>t.value=e.key),t})()})),r.addEventListener(`change`,e=>{Je(e.currentTarget.value)}),L(r,A(j,{get each(){return Ie().filter(e=>e.mode===`light`).map(e=>({key:e.id,label:`${e.label} (custom)`})).concat(Pd.filter(e=>e.mode===`light`))},children:e=>(()=>{var t=DC();return L(t,()=>e.label),b(()=>t.value=e.key),t})()})),b(()=>n.value=Ge()),b(()=>r.value=qe()),e}}),Be),L(je,A(j,{each:[{mode:`dark`,title:`dark themes`},{mode:`light`,title:`light themes`}],children:e=>A(M,{get when(){return[...Ie(),...Pd].some(t=>t.mode===e.mode)},get children(){return[(()=>{var t=OC();return L(t,()=>e.title),t})(),(()=>{var t=kC();return L(t,A(j,{get each(){return Ie().filter(t=>t.mode===e.mode)},children:e=>(()=>{var t=AC(),n=t.firstChild,r=n.nextSibling,i=r.firstChild;return t.$$click=()=>Oe(e.id,e.mode),L(n,A(ef,{get palette(){return e.palette},get backgroundImage(){return e.backgroundImage},get surfaceAlpha(){return e.surfaceAlpha},get backgroundDim(){return e.backgroundDim}})),L(r,()=>e.label,i),b(n=>{var r=`themecard`+(ke(e.id)?` on`:``),i=`${e.label} (custom)${e.backgroundImage?` · with a background image`:``}`,a=ke(e.id);return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-pressed`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()}),null),L(t,A(j,{get each(){return Pd.filter(t=>t.mode===e.mode)},children:e=>(()=>{var t=jC(),n=t.firstChild,r=n.nextSibling;return t.$$click=()=>Oe(e.key,e.mode),L(n,A(ef,{get palette(){return Ze(e.key)}})),L(r,()=>e.label),b(n=>{var r=`themecard`+(ke(e.key)?` on`:``),i=`${e.label} (${e.mode})`,a=ke(e.key);return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),a!==n.a&&F(t,`aria-pressed`,n.a=a),n},{e:void 0,t:void 0,a:void 0}),t})()}),null),t})()]}})}),null),L(je,A(ow,{themes:Ie,get paintedId(){return e.theme.paintedId()},onChange:e=>{let t=Un(e),n=e;if(!t.ok){let t=e.map(e=>e.backgroundImage?{...e,backgroundImage:void 0,backgroundDim:void 0,surfaceAlpha:void 0,backgroundImageBytes:void 0}:e),r=Un(t);if(r.ok)n=t,af(`storage was full — saved without the background image(s)`);else{af(r.error??`could not save theme`);return}}Ye(n);let r=e=>n.some(t=>t.id===e)||Pd.some(t=>t.key===e);r(Le())||(He(`dark`),localStorage.setItem(`teapot.theme`,`dark`)),r(Ge())||(Ke(`dark`),localStorage.setItem(`teapot.theme.dark`,`dark`)),r(qe())||(Je(`light`),localStorage.setItem(`teapot.theme.light`,`light`))},onPick:e=>{let t=Ie().find(t=>t.id===e)?.mode??Pd.find(t=>t.key===e)?.mode??`dark`,n=nC(Ue(),t);n.slot===`dark`?Ke(e):n.slot===`light`?Je(e):He(e)}}),null),Qe.$$input=e=>{w(e.currentTarget.value),E(!0)},L(et,A($d,{label:`progress interval (min)`,get value(){return l()},onValue:e=>u(e),hint:`how often the harness asks for a progress report`}),tt),L(et,A($d,{label:`progress min chars`,get value(){return d()},onValue:e=>f(e),hint:`progress prompts wait for this much real output`}),tt),rt.$$input=e=>m(e.currentTarget.value===``?null:Number(e.currentTarget.value)),L(et,A($d,{label:`context window (k tok)`,get value(){return h()},onValue:e=>g(e),hint:`model's real window — 0/blank hides the % gauge`}),null),L(et,A($d,{label:`max spawn depth`,get value(){return _()},onValue:e=>v(e),hint:`sub-agent nesting limit (0 = no spawning)`}),null),at.addEventListener(`change`,e=>S(e.currentTarget.checked)),L(ot,A(M,{get when(){return ne().length>0},get fallback(){return MC()},get children(){return A(Ce,{get each(){return ne()},children:(e,t)=>{let n=()=>ge()[e().name],r=e=>re(ne().map((n,r)=>r===t?{...n,...e}:n));return(()=>{var i=UC(),a=i.firstChild,o=a.firstChild,s=o.nextSibling,c=s.nextSibling,l=c.firstChild,u=c.nextSibling,d=a.nextSibling,f=d.firstChild,p=d.nextSibling,m=p.firstChild,h=p.nextSibling,g=h.firstChild,_=g.firstChild,v=h.nextSibling,ee=v.firstChild;return o.$$input=e=>r({name:e.currentTarget.value}),s.$$input=e=>{r({url:e.currentTarget.value});let n=e.currentTarget.value.trim();clearTimeout(me[t]),/^https?:\/\//.test(n)&&(me[t]=setTimeout(()=>{he(t,{...ne()[t],url:n})},700))},l.addEventListener(`change`,e=>r({enabled:e.currentTarget.checked})),u.$$click=()=>re(ne().filter((e,n)=>n!==t)),f.$$input=e=>r({description:e.currentTarget.value}),m.addEventListener(`change`,e=>r({transport:e.currentTarget.value})),L(p,A(M,{get when(){return e().transport===`stdio`},get children(){return[(()=>{var t=NC();return t.$$input=e=>r({command:e.currentTarget.value}),b(()=>t.value=e().command??``),t})(),(()=>{var t=PC();return t.$$input=e=>r({args:e.currentTarget.value.split(` `).filter(Boolean)}),b(()=>t.value=(e().args??[]).join(` `)),t})()]}}),null),g.addEventListener(`change`,e=>{let n=e.currentTarget.value;if(ce(e=>({...e,[t]:n})),n===`none`)r({headers:void 0});else if(n===`bearer`){let e=le()[t]??``;r({headers:e?{Authorization:`Bearer ${e}`}:void 0})}else if(n===`header`){let e=de()[t]??``,n=le()[t]??``;r({headers:e&&n?{[e]:n}:void 0})}}),L(g,A(M,{get when(){return be(String(e().name??``))},children:e=>(()=>{var t=WC();return L(t,()=>e().authorized?`OAuth — authorized`:`OAuth — authorization needed`),t})()}),_),L(h,A(M,{get when(){return se()[t]===`bearer`},get children(){var e=FC();return e.$$input=e=>{let n=e.currentTarget.value;ue(e=>({...e,[t]:n})),r({headers:n?{Authorization:`Bearer ${n}`}:void 0})},b(()=>e.value=le()[t]??``),e}}),null),L(h,A(M,{get when(){return se()[t]===`header`},get children(){return[(()=>{var e=IC();return e.$$input=e=>{let n=e.currentTarget.value;fe(e=>({...e,[t]:n}));let i=le()[t]??``;r({headers:n&&i?{[n]:i}:void 0})},b(()=>e.value=de()[t]??``),e})(),(()=>{var e=LC();return e.$$input=e=>{let n=e.currentTarget.value;ue(e=>({...e,[t]:n}));let i=de()[t]??``;r({headers:i&&n?{[i]:n}:void 0})},b(()=>e.value=le()[t]??``),e})()]}}),null),L(i,A(M,{get when(){return se()[t]===`json`},get children(){var e=RC(),n=e.firstChild;return n.$$input=e=>{let n=e.currentTarget.value;if(O(e=>({...e,[t]:n})),!n.trim())r({headers:void 0});else try{let e=JSON.parse(n);if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`not an object`);r({headers:e}),oe(e=>({...e,[t]:``}))}catch{oe(e=>({...e,[t]:`must be a JSON object — not applied`}))}},b(()=>n.value=ie()[t]??``),e}}),v),ee.$$click=async()=>{let e=ne()[t];if(!e.name){k(e=>({...e,[t]:{kind:`err`,text:`give it a name first`}}));return}k(e=>({...e,[t]:{kind:`testing`,text:`connecting…`}}));let n=await Y(`/api/mcp/test`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}).catch(()=>null);k(e=>({...e,[t]:n?.ok?{kind:`ok`,text:`${n.tools?.length??0} tool${n.tools?.length===1?``:`s`}`,tools:n.tools??[]}:{kind:`err`,text:n?.error??`no response`,...n?.needsOAuth?{needsOAuth:!0}:{}}})),n?.ok||await Se(e.name)},L(v,A(M,{get when(){return N(()=>!!eC(ve(),String(e().name??``))?.required)()&&!eC(ve(),String(e().name??``))?.authorized},get children(){var n=zC();return n.$$click=()=>void we(t,e()),n}}),null),L(v,A(M,{get when(){return eC(ve(),String(e().name??``))?.authorized},get children(){return BC()}}),null),L(v,A(M,{get when(){return n()},get children(){var e=VC();return L(e,(()=>{var e=N(()=>n()?.status===`connected`);return()=>e()?`● ${n()?.tools} tools`:N(()=>n()?.status===`error`)()?`● error`:n()?.status===`disabled`?`● off`:`● idle`})()),b(t=>{var r=`mcpstate `+(n()?.status??``),i=n()?.lastError??``;return r!==t.e&&I(e,t.e=r),i!==t.t&&F(e,`title`,t.t=i),t},{e:void 0,t:void 0}),e}}),null),L(i,A(M,{get when(){return ae()[t]},get children(){var e=HC();return L(e,()=>ae()[t]),e}}),null),L(i,A(M,{get when(){return pe()[t]},children:n=>(()=>{var r=JC(),i=r.firstChild,a=i.firstChild;return L(a,()=>n().text),L(i,A(M,{get when(){return n().needsOAuth},get children(){return GC()}}),null),L(r,A(M,{get when(){return(n().tools?.length??0)>0},get children(){var e=KC(),t=e.firstChild,r=t.firstChild.nextSibling;r.nextSibling;var i=t.nextSibling;return L(t,()=>n().tools?.length,r),L(t,()=>n().tools?.length===1?``:`s`,null),L(i,A(j,{get each(){return n().tools??[]},children:e=>(()=>{var t=XC(),n=t.firstChild;return L(n,()=>e.name),L(t,A(M,{get when(){return e.description},get children(){var t=YC();return L(t,()=>e.description),t}}),null),b(()=>F(t,`title`,e.description??``)),t})()})),e}}),null),L(r,A(M,{get when(){return eC(ve(),String(e().name??``))?.authorized},get children(){var n=qC(),r=n.firstChild.nextSibling;return r.$$click=async()=>{confirm(`Disconnect ${e().name}?\n\nThe stored OAuth grant is deleted and you will have to authorize again in a browser.`)&&(await Y(`/api/mcp/oauth/disconnect`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:e().name})}).catch(()=>{}),await Se(e().name),k(e=>({...e,[t]:{kind:`ok`,text:`disconnected`}})))},n}}),null),b(()=>I(r,`mcpresult `+(n().kind===`err`?`err`:`ok`))),r})()}),null),b(()=>o.value=e().name),b(()=>s.value=e().url??``),b(()=>l.checked=e().enabled!==!1),b(()=>f.value=e().description??``),b(()=>m.value=e().transport??`http`),b(()=>g.value=be(String(e().name??``))?`oauth`:se()[t]??`none`),i})()}})}}),ct),ct.$$click=()=>re([...ne(),{name:``,url:``,transport:`http`,enabled:!0}]),L(lt,A(M,{get when(){return te().length>0},get children(){return A(Ce,{get each(){return te()},children:(e,t)=>(()=>{var n=ZC(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling,c=s.firstChild,l=s.nextSibling,u=r.nextSibling;return i.$$input=e=>D(te().map((n,r)=>r===t?{...n,id:e.currentTarget.value}:n)),a.$$input=e=>D(te().map((n,r)=>r===t?{...n,agent:e.currentTarget.value}:n)),o.$$input=e=>D(te().map((n,r)=>r===t?{...n,schedule:e.currentTarget.value}:n)),c.addEventListener(`change`,e=>D(te().map((n,r)=>r===t?{...n,forked:e.currentTarget.checked}:n))),l.$$click=()=>D(te().filter((e,n)=>n!==t)),u.$$input=e=>D(te().map((n,r)=>r===t?{...n,prompt:e.currentTarget.value}:n)),b(()=>i.value=e().id),b(()=>a.value=e().agent),b(()=>o.value=e().schedule),b(()=>c.checked=!!e().forked),b(()=>u.value=e().prompt),n})()})}}),ut),ut.$$click=()=>D([...te(),{id:``,agent:Fe()[0]??``,schedule:`every 30m`,prompt:``}]),L(dt,A(M,{get when(){return Ne().length>0},get fallback(){return QC()},get children(){return A(j,{get each(){return Ne()},children:t=>(()=>{var n=$C(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=a.firstChild,s=a.nextSibling,c=r.nextSibling,l=c.nextSibling;return L(i,()=>t.id),L(a,()=>t.sessions,o),L(a,()=>t.sessions===1?``:`s`,null),L(a,(()=>{var e=N(()=>(t.subs??0)>0);return()=>e()?` · +${t.subs} sub-agent${t.subs===1?``:`s`} (restored together)`:``})(),null),L(a,(()=>{var e=N(()=>!!t.archivedAt);return()=>e()?` · archived ${st(new Date(t.archivedAt).toISOString())}`:``})(),null),L(s,()=>t.workspace),c.$$click=async()=>{let n=await Y(`/api/agents/${t.id}/restore`,{method:`POST`}).catch(()=>null);await Me(),e.onSaved();let r=(n?.ids?.length??1)-1;af((n?.live===!1?`restored ${t.id} — it could not be started (check its provider)`:`restored ${t.id}`)+(r>0?` + ${r} sub-agent${r===1?``:`s`}`:``))},l.$$click=async()=>{confirm(`PERMANENTLY DELETE ${t.id}?\n\n${t.sessions} session${t.sessions===1?``:`s`} of history will be erased from disk along with the config entry. This cannot be undone — archiving was the reversible option.`)&&(await Y(`/api/agents/${t.id}/purge`,{method:`DELETE`}).catch(()=>{}),await Me(),e.onSaved(),af(`deleted ${t.id} for good`))},b(()=>F(s,`title`,t.workspace)),n})()})}}),null),L(ft,A(j,{get each(){return e.cfg.agents??[]},children:e=>(()=>{var t=tw(),n=t.firstChild,r=n.nextSibling;return L(n,()=>e.id),L(r,()=>e.workspace),L(t,A(M,{get when(){return e.parent},get children(){var t=ew();return t.firstChild,L(t,()=>e.parent,null),t}}),null),t})()}),null),L(mt,()=>e.cfg.version??`unknown`,null),ht.$$click=async e=>{try{Ee(``);let t=e.currentTarget;t.disabled=!0,t.textContent=`updating…`;let n=await Y(`/api/update/restart`,{method:`POST`});if(!n.ok)throw Error((await n.json()).error??`restart failed`);t.textContent=`restarting…`;let r=null,i=!1;for(let e=0;e<120&&!i;e++){await new Promise(e=>setTimeout(e,1e3));try{let e=await Y(`/api/version`);if(!e.version)continue;r===null&&(r=e.uptimeSeconds??null),(e.version!==`0.37.103`||typeof e.uptimeSeconds==`number`&&r!==null&&e.uptimeSeconds<r)&&(i=!0,window.location.reload())}catch{}}if(!i)throw Error(`restart timeout — new server did not come up`)}catch(e){Ee(e.message)}finally{e.currentTarget.disabled=!1,e.currentTarget.textContent=`update & restart`}},L(gt,A(M,{get when(){return e.skills.length>0},get fallback(){return(()=>{var t=nw();return L(t,()=>e.hasSelection?`this session has no skills yet — the agent saves them with save_skill once a procedure proves itself`:`select a session to see the skills available to it`),t})()},get children(){var t=yC();return L(t,A(j,{get each(){return e.skills},children:t=>{let[n,r]=y(!1),[i,a]=y(null),[o,s]=y(``),c=async()=>{if(n())return r(!1);if(r(!0),i()===null&&e.agentId)try{let n=await Y(`/api/agents/${e.agentId}/skills/${encodeURIComponent(t.name)}`);a(String(n.text??``))}catch(e){s(e.message)}};return(()=>{var e=iw(),r=e.firstChild,a=r.firstChild,s=a.nextSibling,l=s.nextSibling;return r.$$click=c,L(a,()=>n()?`▾`:`▸`),L(s,()=>t.name),L(l,()=>t.description),L(e,A(M,{get when(){return n()},get children(){return A(M,{get when(){return i()!==null},get fallback(){return(()=>{var e=aw();return L(e,()=>o()||`loading…`),e})()},get children(){var e=rw();return b(()=>e.innerHTML=it(String(i()??``))),e}})}}),null),b(()=>e.classList.toggle(`open`,!!n())),e})()}})),t}}),null),L(yt,(()=>{var t=N(()=>!!e.features);return()=>t()?N(()=>!!e.features.imageResize.available)()?`on — ${e.features.imageResize.tool}, long edge ≤ ${e.features.imageResize.maxEdge}px`:`off — no ffmpeg / ImageMagick found; uploads are served as-is`:`checking…`})()),L(bt,(()=>{var t=N(()=>!!e.features);return()=>t()?N(()=>!!e.features.pty.available)()?`on — ${e.features.pty.provider}`:`off — no pty provider; terminals run on plain pipes (no resize)`:`checking…`})()),L(xt,A(M,{get when(){return Te()},get children(){var e=bC();return L(e,Te),e}}),St),L(St,(()=>{var e=N(()=>$e()===`saving`);return()=>e()?`saving…`:N(()=>$e()===`saved`)()?`✓ saved`:$e()===`error`?`✕ failed`:`save settings`})()),b(t=>{var n=P()!==`providers`,r=P()!==`appearance`,i=P()!==`runtime`,a=e.cfg.hasPassword?`(unchanged — type to replace)`:`(none — loopback only)`,o=P()!==`mcp`,s=P()!==`tasks`,c=P()!==`archive`,l=P()!==`agents`,u=P()!==`update`,d=P()!==`skills`,f=P()!==`help`,p=$e()===`saved`,m=$e()===`error`,h=$e()===`saving`;return n!==t.e&&_e.classList.toggle(`hide`,t.e=n),r!==t.t&&je.classList.toggle(`hide`,t.t=r),i!==t.a&&Ve.classList.toggle(`hide`,t.a=i),a!==t.o&&F(Qe,`placeholder`,t.o=a),o!==t.i&&ot.classList.toggle(`hide`,t.i=o),s!==t.n&&lt.classList.toggle(`hide`,t.n=s),c!==t.s&&dt.classList.toggle(`hide`,t.s=c),l!==t.h&&ft.classList.toggle(`hide`,t.h=l),u!==t.r&&pt.classList.toggle(`hide`,t.r=u),d!==t.d&&gt.classList.toggle(`hide`,t.d=d),f!==t.l&&_t.classList.toggle(`hide`,t.l=f),p!==t.u&&St.classList.toggle(`saved`,t.u=p),m!==t.c&&St.classList.toggle(`error`,t.c=m),h!==t.w&&(St.disabled=t.w=h),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0}),b(()=>Ae.value=i()),b(()=>ze.checked=Ue()),b(()=>Qe.value=C()),b(()=>rt.value=p()??``),b(()=>at.checked=ee()),t}})}De([`click`,`input`]);var cw=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`ico`,`avif`]),lw=new Set([`mp4`,`webm`,`mov`,`mkv`,`avi`,`m4v`]),uw=new Set([`mp3`,`wav`,`ogg`,`m4a`,`flac`,`aac`,`opus`]);function dw(e){let t=e.split(`.`).pop()?.toLowerCase()??``,n=fw(e);return n===`image`?`🖼`:n===`video`?`🎬️`:n===`audio`?`🎵`:[`ts`,`tsx`,`mts`,`cts`].includes(t)?`🟦`:[`js`,`mjs`,`cjs`,`jsx`].includes(t)?`🟨`:t===`json`||t===`jsonc`?`🧾`:t===`md`||t===`mdx`||t===`markdown`?`📝`:t===`css`||t===`scss`||t===`less`?`🎨`:t===`html`||t===`htm`||t===`svg`?`🌐️`:[`py`,`pyi`].includes(t)?`🐍`:t===`rs`?`🦀`:t===`go`?`🐹`:t===`java`||t===`kt`||t===`kts`?`☕️`:t===`rb`?`💎`:t===`php`?`🐘`:t===`c`||t===`h`||t===`cpp`||t===`hpp`||t===`cc`?`🧩`:t===`sh`||t===`bash`||t===`zsh`||t===`fish`?`🐚`:t===`sql`?`🗄`:t===`yml`||t===`yaml`||t===`toml`||t===`ini`||t===`conf`?`⚙️`:t===`lock`?`🔒️`:e===`Dockerfile`||t===`dockerfile`?`🐳`:t===`zip`||t===`gz`||t===`tar`||t===`tgz`||t===`bz2`?`📦`:t===`pdf`?`📕`:t===`txt`||t===`log`?`📄`:`·`}function fw(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return cw.has(t)?`image`:lw.has(t)?`video`:uw.has(t)?`audio`:null}var pw=new Map,mw=e=>{let t=pw.get(e);return t||(t={expanded:new Set,preview:null,media:null,viewMode:`code`},pw.set(e,t)),t},hw=P(`<span class=fsize>`),gw=P(`<div><span class=ficon></span><span class=fname>`),_w=P(`<h3 title="the agent's workspace — lazy-loaded, dotfiles hidden; click a folder to expand, a file to preview"style=display:flex;align-items:center;gap:6px>🗂 files <span class=muted style=text-transform:none;letter-spacing:0>· `),vw=P(`<div class=filebox>`),yw=P(`<div class=muted style=padding:6px>`),bw=P(`<img>`),xw=P(`<div class=mediapreview><div class="meta muted"> preview`),Sw=P(`<button title="rendered markdown">👁 preview`),Cw=P(`<button title="edit and save back to the workspace">✎ edit`),ww=P(`<div class=filetoolbar><button title="syntax-highlighted source">&lt;/> code`),Tw=P(`<div class=fileeditor><textarea class=mono></textarea><div class=filerow-actions><span class=muted> bytes</span><button class=savebtn>`),Ew=P(`<div class=mono style=margin:0;color:var(--dim)>(binary file — inspect it from the terminal)`),Dw=P(`<div class="content mdpreview shikiwrap">`),Ow=P(`<video controls>`),kw=P(`<audio controls>`);function Aw(e){let t=mw(e.agentId),[n,r]=y(new Map),[i,a]=y(t.expanded),[o,s]=y(t.preview),c=e=>{t.preview=e,s(e)},l=e=>{t.expanded=e,a(e)},[u,d]=y(t.media),f=e=>{t.media=e,d(e)},[p,m]=y(t.viewMode),h=e=>{t.viewMode=e,m(e)},[g,_]=y(``),[v,ee]=y(localStorage.getItem(`teapot.ignoreMode`)??`dim`),S=()=>{let e=[`dim`,`hide`,`show`],t=e[(e.indexOf(v())+1)%3];ee(t),localStorage.setItem(`teapot.ignoreMode`,t)},C=e=>v()!==`hide`||!e.ignored,[w,E]=y(localStorage.getItem(`teapot.showHidden`)===`1`),te=()=>{let e=!w(),t=[``,...i()];Promise.all(t.map(async t=>({p:t,rows:await re(t,e)}))).then(t=>{E(e),localStorage.setItem(`teapot.showHidden`,e?`1`:`0`);for(let{p:e,rows:n}of t)n&&ie(e,n)})},D=(e,t)=>t.map(t=>({name:String(t.name),path:e?`${e}/${t.name}`:String(t.name),dir:!!t.dir,...typeof t.size==`number`?{size:t.size}:{},...t.ignored?{ignored:!0}:{}}));async function ne(e){return re(e,w())}async function re(t,n){try{let r=new URLSearchParams;t&&r.set(`path`,t),n&&r.set(`hidden`,`1`);let i=await Y(`/api/agents/${e.agentId}/tree?${r.toString()}`);return D(t,i.entries??[])}catch(e){return _(e.message),null}}let ie=(e,n)=>r(r=>{let i=r.get(e);if(!i)return new Map(r).set(e,n);let a=new Map(i.map(e=>[e.path,e])),o=n.map(e=>{let t=a.get(e.path);return t&&t.dir===e.dir&&t.size===e.size&&t.ignored===e.ignored&&t.name===e.name?t:e}).filter(e=>n.some(t=>t.path===e.path)||t.preview?.path===e.path),s=new Map(r);return s.set(e,o),s}),O=``;x(()=>{let t=e.agentId;t!==O&&(O=t,l(new Set),c(null),f(null),r(new Map),ne(``).then(e=>{e&&O===t&&r(new Map([[``,e]]))}))});let ae=async e=>{let t=new Set(i());if(t.has(e.path))t.delete(e.path),l(t);else if(t.add(e.path),l(t),!n().has(e.path)){let t=await ne(e.path);t&&ie(e.path,t)}},[oe,se]=y(``),[ce,le]=y(!1),[ue,de]=y(``),[fe,pe]=y(!1),k=e=>/\.(md|markdown|mdx)$/i.test(e),me=0,he=async e=>{let t=++me;se(``),le(!0);try{let{highlightChunks:n}=await J(async()=>{let{highlightChunks:e}=await Promise.resolve().then(()=>Qb);return{highlightChunks:e}},void 0);for await(let r of n(e.path,e.content)){if(me!==t)return;se(e=>e+r)}}catch{me===t&&se(``)}finally{me===t&&le(!1)}};T(()=>{me++});let ge=async(t,n)=>{let r=fw(t.path);if(r)c({path:t.path,content:``,binary:!0}),f({path:t.path,kind:r}),h(`media`);else try{let r=await Y(`/api/agents/${e.agentId}/file?path=${encodeURIComponent(t.path)}`);f(null),c({path:t.path,content:r.content??``,binary:r.binary,truncated:r.truncated}),de(r.content??``),h(r.binary?`code`:n),!r.binary&&n!==`md`&&he({path:t.path,content:r.content??``,truncated:r.truncated})}catch(e){af(`open failed: ${e.message}`)}},_e=async()=>{let t=o();if(t&&!fe()){pe(!0);try{await Y(`/api/agents/${e.agentId}/file?path=${encodeURIComponent(t.path)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({content:ue(),baseContent:t.content})}),c({...t,content:ue()}),af(`saved ${t.path}`)}catch(e){let n=e.payload,r=n&&typeof n==`object`&&n.error===`file changed on disk`?n:null;r?.current===void 0?af(`save failed: ${e.message}`):confirm(`This file changed on disk since you opened it.
181
181
  OK = load the disk version into the editor (your edits are discarded)
182
- Cancel = keep editing your copy`)?(de(r.current),c({...t,content:r.current}),rf(`loaded the current file from disk`)):rf(`kept your edits — use Save As via bash to force-write`)}finally{pe(!1)}}},ve=e=>!e.binary&&!e.truncated,ye=(e,t)=>[(()=>{var n=hw(),r=n.firstChild,a=r.nextSibling;return n.$$click=()=>e.dir?void ae(e):void ge(e,`code`),L(r,(()=>{var t=N(()=>!!e.dir);return()=>t()?i().has(e.path)?`▾`:`▸`:uw(e.name)})()),L(a,()=>e.name),L(n,A(M,{get when(){return N(()=>!e.dir)()&&e.size!==void 0},get children(){var t=mw();return L(t,()=>Sx(e.size)),t}}),null),b(r=>{var i=`filerow`+(e.dir?` isdir`:``)+(e.ignored&&v()===`dim`?` gitignored`:``),a=`padding-left:${t*13+8}px`,o=e.dir?`browse ${e.path}`:`preview ${e.path}`;return i!==r.e&&I(n,r.e=i),r.t=ke(n,a,r.t),o!==r.a&&F(n,`title`,r.a=o),r},{e:void 0,t:void 0,a:void 0}),n})(),A(M,{get when(){return N(()=>!!e.dir)()&&i().has(e.path)},get children(){return A(j,{get each(){return(n().get(e.path)??[]).filter(C)},children:e=>ye(e,t+1)})}})],be=()=>e.workspace.split(`/`).filter(Boolean).pop()??e.workspace,[xe,Se]=y(!1),Ce=async()=>{if(!xe()){Se(!0);try{let e=[``,...i()],t=await Promise.all(e.map(async e=>({p:e,rows:await re(e,w())})));for(let{p:e,rows:n}of t)n&&ie(e,n)}finally{Se(!1)}}};return[(()=>{var e=gw(),t=e.firstChild.nextSibling;return t.firstChild,L(t,be,null),L(e,A(nd,{class:`filetoggle`,get icon(){return xe()?`…`:`⟳`},title:`refresh the tree (root + expanded folders) — open popups are kept`,onClick:()=>void Ce()}),null),L(e,A(nd,{class:`filetoggle`,style:`margin-left:auto`,get icon(){return N(()=>v()===`hide`)()?`🙈`:v()===`dim`?`👁`:`✨`},get title(){return`gitignored files: ${v()} — click to cycle (dim → hidden → shown)`},onClick:S}),null),L(e,A(nd,{class:`filetoggle`,get icon(){return w()?`◉.`:`○.`},get title(){return w()?`dotfiles shown — click to hide`:`dotfiles hidden — click to show`},onClick:te}),null),e})(),(()=>{var e=_w();return L(e,A(M,{get when(){return(n().get(``)??[]).length>0},get fallback(){return(()=>{var e=vw();return L(e,()=>g()||`empty workspace`),e})()},get children(){return A(j,{get each(){return(n().get(``)??[]).filter(C)},children:e=>ye(e,0)})}})),e})(),A(M,{get when(){return o()},children:t=>A(id,{get title(){return`🗂 ${t().path}`},onClose:()=>{me++,c(null),f(null)},get children(){return A(M,{get when(){return u()},get fallback(){return[(()=>{var e=Cw(),n=e.firstChild;return L(e,A(M,{get when(){return N(()=>!!k(t().path))()&&!t().binary},get children(){var e=xw();return e.$$click=()=>h(`md`),b(()=>I(e,p()===`md`?`on`:``)),e}}),n),n.$$click=()=>{h(`code`),oe()||he({path:t().path,content:t().content,truncated:t().truncated})},L(e,A(M,{get when(){return ve(t())},get children(){var e=Sw();return e.$$click=()=>h(`edit`),b(()=>I(e,p()===`edit`?`on`:``)),e}}),null),b(()=>I(n,p()===`code`?`on`:``)),e})(),A(M,{get when(){return!t().binary},get fallback(){return Tw()},get children(){return A(M,{get when(){return p()===`edit`},get fallback(){return A(M,{get when(){return N(()=>p()===`md`)()&&k(t().path)},get fallback(){return A(Zd,{get path(){return t().path},get content(){return t().content},get html(){return oe()},get pending(){return ce()},get truncated(){return!!t().truncated}})},get children(){var e=Ew();return b(()=>e.innerHTML=ze(t().content)),e}})},get children(){var e=ww(),n=e.firstChild,r=n.nextSibling.firstChild,i=r.firstChild,a=r.nextSibling;return n.$$input=e=>de(e.currentTarget.value),F(n,`spellcheck`,!1),L(r,()=>Sx(ue().length),i),a.$$click=()=>void _e(),L(a,()=>fe()?`saving…`:`💾 save`),b(()=>a.disabled=fe()||ue()===t().content),b(()=>n.value=ue()),e}})}})]},get children(){var t=bw(),n=t.firstChild,r=n.firstChild;return L(t,A(M,{get when(){return u().kind===`image`},get fallback(){return A(M,{get when(){return u().kind===`video`},get fallback(){return(()=>{var t=Ow();return b(()=>F(t,`src`,`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`)),t})()},get children(){var t=Dw();return b(()=>F(t,`src`,`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`)),t}})},get children(){var t=yw();return b(n=>{var r=`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`,i=u().path.split(`/`).pop();return r!==n.e&&F(t,`src`,n.e=r),i!==n.t&&F(t,`alt`,n.t=i),n},{e:void 0,t:void 0}),t}}),n),L(n,()=>u().kind,r),t}})}})})]}De([`click`,`input`]);var Aw=P(`<div class=overlay><div class=modal style=max-width:360px><div class=modal-head><b>🔒️ sign in</b><span></span></div><form style=display:flex;flex-direction:column;gap:10px><input id=pw-input type=password placeholder=password autofocus><button type=submit class=primarybtn>unlock</button><span class=muted style=font-size:11px>the token is stored locally and sent as Bearer to this server only`),jw=P(`<div class=leftbarbackdrop>`),Mw=P(`<div class=sidehead><b>agents</b><button class=iconbtn title="close the agent list">✕`),Nw=P(`<i class=notifdot>`),Pw=P(`<br>`),Fw=P(`<button class="iconbtn ham"title="agent list">☰`),Iw=P(`<input class="title titleedit">`),Lw=P(`<span class="badge queued">⏳ <!> <!> queued`),Rw=P(`<button type=button class="badge bgjobs">⚙️ `),zw=P(`<span class="badge cron">⏰ `),Bw=P(`<div class=bgjobs-pop role=dialog aria-label="background shells"><div class=bgjobs-head><span>background shells</span><button type=button class=iconbtn title=close>✕`),Vw=P(`<header class=chan-head><span class=hash title="rename this chat">#</span><span></span><span class=sub> · <!>/<!> · <!>↻ <!>⚙️</span><span class=head-actions><button></button><span class=head-sep aria-hidden=true>`),Hw=P(`<div class=divider-msg>── beginning of log ──`),Uw=P(`<div class=divider-msg>loading older events…`),Ww=P(`<div class=feedloading><span class=spinner aria-hidden=true></span> loading newer events…`),Gw=P(`<details class=reasoning open><summary>💭 thinking </summary><div class="mono thinkscroll">`),Kw=P(`<div class=muted style=font-size:11.5px;margin-bottom:4px>🗜 summarizing older context…`),qw=P(`<div class=content>`),Jw=P(`<div class="msg live"><div class=avatar style="background:#5865f233;border:1px solid #5865f266">🫖</div><div class=msg-body><div class=msg-head><span class=author style=color:var(--acc)>agent</span><span class=ts>streaming…`),Yw=P(`<div class=feed>`),Xw=P(`<div class="termempty muted">no shell here — + opens one, tabs fill the focused pane`),Zw=P(`<div class=termsplit>`),Qw=P(`<div class="termempty muted">no shell here — click a tab or + to add`),$w=P(`<div class=termpane>`),eT=P(`<div class=termdrawer><div class=termgrip title="drag to resize · double-click to reset"></div><div class=termbar><div class=termtabs></div><div style=display:flex;gap:4px;align-items:center><span class="muted mono"style=flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap></span></div></div><div class=termbody><div class=termpane>`),tT=P(`<button class=jump>↓ `),nT=P(`<div class=cmds>`),rT=P(`<div class=imgstage><span class=muted style=font-size:11px;align-self:center> image<!> attached`),iT=P(`<label class=forkchip title="inherit the conversation prefix byte-exactly — the sub-agent's provider prefix cache starts warm"><input type=checkbox>fork ctx`),aT=P(`<span class=muted style=font-size:11.5px;white-space:nowrap>🖼 `),oT=P(`<div class="hint flashhint">`),sT=P(`<div><form><textarea rows=1></textarea><button type=button class="iconbtn maxbtn"></button><button type=submit>send</button><input id=composer-file type=file accept=image/* multiple style=display:none>`),cT=P(`<div class=rightbarbackdrop>`),lT=P(`<div><nav><div class=agent-list></div><div class=sidebar-footer><div class=footer-row style=justify-content:flex-end><button>🔔️</button></div><div class=brand-row><div class=brand>🫖 teapot <span class=version>v</span><span></span></div></div><div class=metrics></div></div></nav><section class=channel></section><aside><div class=rightbarhead><span class=muted>details`),uT=P(`<div class=notifbackdrop>`),dT=P(`<button class=editbtn>clear all`),fT=P(`<div class=notiflist>`),pT=P(`<div class=notifpanel><div class=notifhead>notifications<span style=display:flex;gap:8px;align-items:center><button class=iconbtn title="close notifications">✕`),mT=P(`<div class=bgphoto aria-hidden=true><img sizes=100vw alt decoding=async><span class=bgphoto-veil>`),hT=P(`<span class=wscount>`),gT=P(`<div class=wsheader><span class=wscaret>`),_T=P(`<span class=notifbadge>🔔️`),vT=P(`<span class=subtag>🧩`),yT=P(`<span class=mini-cron>⏰`),bT=P(`<span class=goaldone title="goal done">✓`),xT=P(`<div><span></span><span>`),ST=P(`<span class=caret-spacer>`),CT=P(`<span class=caret>`),wT=P(`<span class=ghosttag title="workspace missing">👻`),TT=P(`<span>🧩 `),ET=P(`<div class=muted style=display:grid;place-items:center;height:100%>select an agent`),DT=P(`<span class=title>`),OT=P(`<div class="muted bgjobs-empty">no background jobs for this agent`),kT=P(`<pre class="mono bgjob-tail">`),AT=P(`<div class=bgjob><div class=bgjob-line><span></span><code class="mono bgjob-cmd"></code><span class="muted bgjob-meta"></span><button type=button class=bgjob-kill>`),jT=P(`<div class="muted bgjob-detached">this job outlived a harness restart, so its output is no longer captured here. it is still running as pid <!> — read its own log, or stop it yourself.`),MT=P(`<div class="divider-msg compacting"title="the harness is compressing old turns into notes so work can continue within the context window">🗜 `),NT=P(`<div class=muted style=display:grid;place-items:center;height:100%><span><span class=spinner aria-hidden=true></span> loading timeline…`),PT=P(`<div class=muted style=display:grid;place-items:center;height:100%>no events yet — say something or press ▶ start`),FT=P(`<div class="content muted">thinking…`),IT=P(`<span>⌨ <button class=tabx title="close this shell">✕`),LT=P(`<div><b class=mono></b><span class=muted>`),RT=P(`<div class=cmdrow><b>@</b><span class=muted>`),zT=P(`<span class=imgchip><img><button type=button class=imgx title=remove>✕`),BT=P(`<span class=muted style=text-transform:none;letter-spacing:0>· <!> models`),VT=P(`<h3 title="switch provider/model live — applies from the agent's next turn">🧦 model`),HT=P(`<div style=display:flex;gap:6px;align-items:center;margin-top:6px><label class=muted style=font-size:11.5px;white-space:nowrap>effort</label><select style=flex:1;min-width:0><option value>provider default`),UT=P(`<div class=meta style=color:var(--fg)>`),WT=P(`<div class=modelbox><select title="provider (OpenAI-compatible endpoint)"></select><div style=display:flex;gap:4px><input type=text list=model-list style=flex:1;min-width:0><datalist id=model-list></datalist></div><div style=display:flex;gap:6px;align-items:center;margin-top:6px><button title="apply the provider, model and effort above to this session — takes effect from the agent's next turn"style=flex:1>apply</button></div><div class=meta>current: `),GT=P(`<div class=ctrlrow><label title="auto-continue fires after a round ONLY when all hold: ① this toggle is on ② a goal is set and its status is 'active' ③ the round ended cleanly (no error / not stopped). It stops when the goal is marked done, or if you press ■ stop. Sending any prompt also starts an idle agent regardless."><input type=checkbox>auto-continue`),KT=P(`<span>`),qT=P(`<h3 title="what the agent is working toward. Stored with the session; the agent reads it via get_goal(). Auto-continue keeps looping while the status is 'active' and stops when marked done.">🎯 goal`),JT=P(`<div class=statrow style=margin-bottom:6px><span class=k>status`),YT=P(`<div class="card goalcard"><div class=content>`),XT=P(`<form style=display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-bottom:6px><textarea id=goal-input rows=3 placeholder="set new goal…"title="drag the bottom edge to make this taller — the height is remembered"style="background:var(--bg-darkest);border:none;border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;width:100%;resize:vertical"></textarea><textarea id=goal-verify-input rows=2 placeholder="verification contract (optional) — e.g. 'npm test passes; endpoint documented'. finish(goalComplete=true) is then audited against this."title="pi-goal-x-style verification contract — an independent reviewer checks the agent's finish against these requirements"style="background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;font-size:12.5px;width:100%;resize:vertical"></textarea><div style=display:flex;justify-content:flex-end;align-items:center;gap:10px><label class=muted title="queue a harness prompt telling the agent about the new goal at its next turn boundary"style=display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer><input id=goal-notify type=checkbox> notify agent</label><button type=submit class=primarybtn>✓ save goal`),ZT=P(`<span class=badge>/<!> done`),QT=P(`<h3 title="todo.md — a shared checklist in the session dir. Write tasks like '- [ ] fix login'; the agent ticks them off via set_todo, you edit here. With notify on, it's told at its next turn boundary.">✅ tasks`),$T=P(`<div class=bartrack style=margin-bottom:6px><div>`),eE=P(`<div style=display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px><label class=muted title="queue a harness prompt telling the agent the task list changed"style=display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer><input id=todo-notify type=checkbox checked> notify agent</label><button class=okbtn>✓ save tasks`),tE=P(`<h3 title="latest report_progress snapshot. The harness asks for one after real activity (time AND output gates); errors show under ⚠ problems">📈 progress`),nE=P(`<h3 title="context is how much of the model's window the live conversation occupies. Past the threshold, the oldest turns are summarized into notes so work can continue.">📊 runtime`),rE=P(`<div class=rtcell><span>cost</span><b>$`),iE=P(`<div class=rtcell><span>cached</span><b>%`),aE=P(`<div class="card runcard"><div class=rtgrid><div class=rtcell title="prompt tokens billed this session"><span>tokens in</span><b></b></div><div class=rtcell title="completion tokens billed this session"><span>tokens out</span><b></b></div><div class=rtcell title="assistant turns this session"><span>turns</span><b></b></div><div class=rtcell title="tool calls this session"><span>tools</span><b></b></div><div class=rtcell><span>compacted</span><b>`),oE=P(`<div class=muted style=font-size:11px;text-transform:none;letter-spacing:0>showing <b></b> and the history it inherited before forking`),sE=P(`<h3>🌿 branches <span class=muted style=text-transform:none;letter-spacing:0>· click to filter the feed`),cE=P(`<span class=muted style=text-transform:none;letter-spacing:0>· <!> · all agents`),lE=P(`<h3 title="cron tasks, all agents — click a row to open that agent. Edit them in ⚙️ settings → scheduled tasks.">⏰ schedule`),uE=P(`<option>`),dE=P(`<span class=badge title="no goal set yet">no goal`),fE=P(`<button>`),pE=P(`<div class="card muted">no goal yet — write one below and press ✓ save. Then ▶ start (or any message) sets it in motion.`),mE=P(`<div class=muted>none yet`),hE=P(`<div class=progrow><b>recent</b><span class="content inline-md">`),gE=P(`<div class="progrow warn"><b>⚠ problems</b><span class="content inline-md">`),_E=P(`<div class=progrow><b>next</b><span class="content inline-md">`),vE=P(`<div class=progrow><b>goal</b><span>`),yE=P(`<div class="card prog"><div class=progrow><b>doing</b><span class="content inline-md"></span></div><div class="meta muted">`),bE=P(`<div class=statrow><span class=k>context</span><span class=muted>no window known for this model yet`),xE=P(`<span>% of `),SE=P(`<div class=bartrack><div>`),CE=P(`<div class=statrow title="a compaction pass is running right now — the summarizer's output streams in the timeline"><span class=k>🗜</span><b>compacting…</b><span class=muted style=font-size:11px;color:var(--acc)>`),wE=P(`<div class=ctxblock title="estimated live context vs the model's real window. Past the window, old turns are summarized into notes (compaction); the compact line below shows where that starts."><div class=statrow><span class=k>context</span><b>~<!> tok</b></div><div class=statrow style=margin-top:4px><span class=k>compact at</span><b> tok</b><span class=muted style=color:var(--dim)></span></div><div class=ctrlrow style=margin-top:6px><label title="when on, older turns are automatically summarized when context exceeds the budget"><input type=checkbox>auto-compact`),TE=P(`<div><span></span><span> events`),EE=P(`<div class=muted>no scheduled tasks — add them in ⚙️ settings ("scheduled tasks")`),DE=P(`<span title="runs on a forked branch so chatter stays off the main line">⑂`),OE=P(`<div><div class=sched-top><b></b><span class=muted>@</span></div><div class=sched-meta> → next </div><div class="sched-prompt muted">`),kE=P(`<div class=muted style=padding:10px>nothing yet — progress, finishes, questions and errors will land here`),AE=P(`<div class=nbody>`),jE=P(`<div><div class=nhead><span class=nicon></span><span class=ntitle></span><span class="meta muted"></span><button class="iconbtn nreadbtn">`),ME=P(`<div style=font-size:12.5px;color:var(--dim)> event(s) came after this prompt and will be discarded — the new branch starts from your edited text.`),NE=P(`<form style=display:flex;flex-direction:column;gap:10px><textarea id=edit-text class="mono w100"rows=6></textarea><div style=display:flex;justify-content:flex-end;gap:8px><button type=button>cancel</button><button type=submit class=primarybtn>⑂ fork & resend`),PE=P(`<span style=color:var(--err);font-size:13px>`),FE=P(`<form style=display:flex;flex-direction:column;gap:10px><label>workspace directory<div style=display:flex;gap:6px><input type=text class="w100 mono"><button type=button>go</button><button type=button title="parent directory">↑</button></div></label><div class=dirlist></div><div style=display:flex;gap:10px><label style=flex:1>agent name <input type=text placeholder="(directory name)"></label><label style="flex:0 1 auto;min-width:0">provider<select></select></label><label style=flex:1>model <input type=text placeholder="(provider default)"></label></div><button type=submit style=align-self:flex-end>create`),IE=P(`<div class=direntry>📁 `),LE=[`minimal`,`low`,`medium`,`high`],RE=1100,[zE,BE]=y(``),VE,HE=e=>{BE(e),clearTimeout(VE),VE=setTimeout(()=>BE(``),3200)},UE=!1,WE=new Set([`user`,`message`,`prompt`,`tool_call`,`tool_result`,`progress`,`state`,`error`,`fork`,`goal`,`todo`,`question`,`decision`,`compaction`,`audit_step`,`system_note`]),GE=new Set([`system_note`]),KE=new Set([`user`,`message`,`prompt`,`tool_call`,`tool_result`,`progress`,`error`,`fork`,`goal`,`todo`,`question`,`decision`,`compaction`,`audit_step`]),qE=new Set([`runaway-detected`,`error-retry`,`background-exit`,`context-compacted`,`context-compaction-started`]),JE=location.hash.match(/[#&]token=([^&]+)/);JE&&(localStorage.setItem(`teapot.token`,decodeURIComponent(JE[1])),history.replaceState(null,``,location.pathname+location.search));var YE=()=>{let e=localStorage.getItem(`teapot.token`);return e?`?token=${encodeURIComponent(e)}`:``};function XE(){let[e,t]=y([]),[n,r]=y(null),[i,a]=y(``),[o,s]=y(new Map),[c,l]=y(new Map),[u,d]=y(new Map),f=!1,p=null;async function m(e=!1){if(p)return p;if(f&&!e)return;let t=(async()=>{try{let e=await Y(`/api/sessions`),t=new Map,n=new Map,r=new Map;for(let i of e.sessions??[]){t.set(i.id,i.agentId),typeof i.title==`string`&&i.title&&r.set(i.id,i.title);let e=n.get(i.agentId)??[];e.push(i.id),n.set(i.agentId,e)}s(t),l(n),d(r),f=!0}catch{}})();p=t;try{await t}finally{p===t&&(p=null)}}let[h,g]=y([]),[_,v]=y(0),[ee,E]=y([]),[te,D]=y(null),ne=new Map,[re,ie]=y(ne.get(n()??``)??``),O=e=>{ie(e);let t=n();t&&(e?ne.set(t,e):ne.delete(t))},[ae,oe]=y({providers:{}}),[se,ce]=y(!1),le=()=>Jn({want:Xn({preview:nt(),auto:Ue(),prefersLight:ht(),dark:ft(),light:et(),fixed:Ve()}),customIds:ot().map(e=>e.id),presetIds:Nd.map(e=>e.key),fallback:`dark`}),ue=()=>le().active,de=()=>ot().find(e=>e.id===ue())?.backgroundImage??``,[fe,pe]=y(!1),k=!1;x(()=>{!k&&ae()?.needsSetup&&(k=!0,requestAnimationFrame(()=>{Pr(),pe(!0)}))}),x(()=>{fe()&&!$a()&&Y(`/api/features`).then(e=>eo(e)).catch(()=>eo(null))});let me=new Set,he=()=>window.innerWidth<=RE,[ge,_e]=y(he());w(()=>{let e=()=>_e(he());window.addEventListener(`resize`,e),T(()=>window.removeEventListener(`resize`,e)),e()});let ve=0,ye=null,be=0,xe,Se,Ce=0,we=``,Te=()=>{Ce=0;let e=Mi();if(!e)return;if(fo=e.scrollHeight,ho=e.clientHeight,zt()){Fi();return}let t=ye;if(!t)return;let n=e.querySelector(t.sel);if(!n)return;let r=n.getBoundingClientRect().top-t.top;r&&(e.scrollTop+=r,uo={top:e.scrollTop,height:e.scrollHeight}),Yt(Ni())};function Ee(e,t){if(!t)return;let n=e.querySelector(t.sel);if(!n)return;let r=n.getBoundingClientRect().top-t.top;Math.abs(r)<1||Math.abs(r)>po||(e.scrollTop+=r,uo={top:e.scrollTop,height:e.scrollHeight})}let P=()=>{Ce||=requestAnimationFrame(Te)},De=e=>{e&&e!==Se&&(xe??=new ResizeObserver(e=>{let t=e[0]?.contentRect,n=t?`${Math.round(t.width)}x${Math.round(t.height)}`:``;n!==we&&(we=n,P())}),Se&&xe.unobserve(Se),Se=e,we=``,xe.observe(e))};w(()=>{window.addEventListener(`resize`,P),T(()=>{window.removeEventListener(`resize`,P),xe?.disconnect(),xe=void 0,Se=void 0,Ce&&cancelAnimationFrame(Ce)})});function Oe(e){let t=e.querySelectorAll(`[data-eid]`);if(!t.length)return null;let n=e.getBoundingClientRect().top,r=e=>t[e].getBoundingClientRect(),i=0,a=t.length-1,o=-1;for(;i<=a;){let e=i+a>>1;r(e).bottom>n?(o=e,a=e-1):i=e+1}if(o<0)return null;let s=t[o].dataset.eid??``;return s?{sel:`[data-eid="${CSS.escape(s)}"]`,top:r(o).top}:null}let[Me,Ne]=y(localStorage.getItem(`teapot.panel`)===null?window.innerWidth>RE:localStorage.getItem(`teapot.panel`)===`1`),Pe=e=>{Ne(e),localStorage.setItem(`teapot.panel`,e?`1`:`0`)},Fe=()=>Pe(!Me()),Ie=()=>{Me()&&Pe(!1)},[Le,Re]=y(!1),Be=()=>Re(!1),[Ve,He]=y(localStorage.getItem(`teapot.theme`)??`dark`),[Ue,We]=y(localStorage.getItem(`teapot.theme.auto`)===`1`),[et,tt]=y(localStorage.getItem(`teapot.theme.light`)??`light`),[nt,rt]=y(null),[ot,dt]=y(Vn());w(()=>{Un().then(e=>{if(e===null)return;let t=Kt(ot(),e);dt(t),Hn(t)})});let[ft,pt]=y(localStorage.getItem(`teapot.theme.dark`)??`dark`),mt=typeof window.matchMedia==`function`?window.matchMedia(`(prefers-color-scheme: light)`):null,[ht,gt]=y(mt?.matches??!1);w(()=>{let e=e=>gt(e.matches);mt?.addEventListener(`change`,e),T(()=>mt?.removeEventListener(`change`,e))}),x(()=>{let{active:e,repaired:t}=le(),n=ot().find(t=>t.id===e)??null;t&&(Ue()?localStorage.setItem(ht()?`teapot.theme.light`:`teapot.theme.dark`,e):localStorage.setItem(`teapot.theme`,e)),document.documentElement.dataset.theme=e,Gn(document.documentElement,n),document.documentElement.dataset.appearance=n?.mode??Nd.find(t=>t.key===e)?.mode??`dark`});let[xt,St]=y(``),[Ct,wt]=y(``),[Tt,Et]=y(``);x(()=>{let t=n();Et(C(()=>e().find(e=>e.id===t)?.reasoningEffort??``))});let[Dt,Ot]=y([]),kt=()=>Object.keys(ae().providers??{});async function At(e){if(e)try{let t=await Y(`/api/models?provider=${encodeURIComponent(e)}`);Ot(t.models??[])}catch{Ot([])}}let jt=e=>{let t={text:`📄`,image:`🖼️`,audio:`🔊`,video:`🎬️`,file:`📎`},n=e=>(e??[`text`]).map(e=>t[e]??e).join(``);return e?.modalities?`${n(e.modalities.input)} → ${n(e.modalities.output)}`:``},Mt=()=>{let e=Ct().trim()||R()?.model||``;if(!e)return``;let t=Dt().find(t=>t.id===e);if(!t)return``;let n=[],r=jt(t);r&&r!==`📄 → 📄`&&n.push(r),t.contextLength&&n.push(`ctx ${Sx(t.contextLength)} tok`);let i=e=>e===void 0?``:`${e*1e6>=10?Math.round(e*1e6):+(e*1e6).toFixed(1)}/M`;if(t.pricing){let e=i(t.pricing.prompt),r=i(t.pricing.completion);e&&r?n.push(`${e} in · ${r} out`):(e||r)&&n.push(i(t.pricing.prompt??t.pricing.completion))}return n.join(` · `)},Nt=null,Pt=!1;x(()=>{let t=n();if(!t)return;let r=e().find(e=>e.id===t),i=r?.provider||ae().defaultProvider||kt()[0]||``;if(r){if(t!==Nt)Nt=t,Pt=!1,C(()=>xt())!==i&&(St(i),At(i)),C(()=>Ct())&&wt(``);else{let e=C(()=>xt());!C(()=>Ct())&&e!==i&&Dn(Pt)&&(St(i),At(i))}}});let[Ft,Lt]=y(!1),[zt,Bt]=y(!0),Vt,[Ht,Ut]=y(0),[Wt,Jt]=y(-1),Yt=e=>Jt(e?Ze(e):-1),[Xt,en]=y(null),fn=()=>Ln().startsWith(`[compact] `),gn=()=>{let e=fn()?Ln().slice(10):Ln();return e.length>1200?`…`+e.slice(-1200):e};x(()=>{Xt()||Fn(e=>e?.text.startsWith(`[compact] `)?null:e)}),x(()=>{h().length,_(),Xt(),Or().length,Ci(),xi(),yi();let e=Mi();if(!e)return;let t=e.scrollHeight;t!==ve&&(ve=t,requestAnimationFrame(()=>requestAnimationFrame(()=>{zt()&&(Fi(),requestAnimationFrame(()=>{if(!zt())return;let t=e.scrollHeight;t!==ve&&(ve=t,Fi())}))})))});let[Sn,wn]=y(new Map),Nn=()=>{let e=n();return e?Sn().get(e)??null:null},Fn=e=>{let t=n();t&&wn(n=>{let r=new Map(n),i=typeof e==`function`?e(n.get(t)??null):e;return i?r.set(t,{...i,at:Date.now()}):r.delete(t),r})},In=()=>{let e=Nn();if(!e)return;let t=yt(e,h(),R()?.status);t?(t.text!==e.text||t.reasoning!==e.reasoning)&&Fn(t):Fn(null)},[Ln,Rn]=y(``),[zn,Bn]=y(0),Wn=()=>zn(),[Kn,qn]=y(``),Yn;x(()=>{Nn()?Yn||=setTimeout(()=>{Yn=void 0,Rn(Nn()?.text??``),qn(Nn()?.reasoning??``)},(Nn()?.text.length??0)>2e4?250:(Nn()?.text.length??0)>6e3?120:60):(clearTimeout(Yn),Yn=void 0,Rn(``),qn(``))}),T(()=>clearTimeout(Yn)),x(()=>{let t=e();wn(e=>vt(e,e=>t.find(t=>t.id===e)?.status)),Bn(e=>bt(e,t,n(),Nn()))}),x(()=>{let e=Ln(),t=Nn()?.reasoning??``;(e||t)&&requestAnimationFrame(()=>{zt()&&Fi()})}),x(()=>{let e=R()?.pendingPrompts??0,t=R()?.pendingPromptIds,n=ir(),r=ar(n),i=ln(r,e,t);i!==r&&or(n,i)}),x(()=>{let e=R()?.pendingPromptQueue;if(!e?.length)return;let t=R()?.session||ir(),n=new Set(ar(t).map(e=>e.promptId).filter(Boolean)),r=e.filter(e=>e.id&&!n.has(e.id));r.length&&or(t,[...r.map(e=>({id:`p${e.id}`,text:e.text,at:Number(e.at)||Date.now(),promptId:e.id,images:e.images?.map(e=>e.url),...e.source?{source:e.source}:{}})),...ar(t)])}),x(()=>{if(!n())return;let e=()=>{document.visibilityState===`visible`&&requestAnimationFrame(()=>{Pi()&&(Bt(!0),Ut(0),Ii(!0),hr())})};document.addEventListener(`visibilitychange`,e),T(()=>document.removeEventListener(`visibilitychange`,e))});let R=S(()=>e().find(e=>e.id===n())),Zn=()=>Pn({sameSession:!(R()?.session!==ir()&&R()?.session),agent:R(),echoCount:kr()}),Qn=()=>{let e=R();return e?e.live??(e.status===`running`||e.status===`waiting`||e.status===`needs_operator`):!1},$n=()=>yn(R(),i(),Qn()),[z,er]=y(null);S(()=>{let e=new Set;for(let t of h())t.type===`tool_result`&&t.data?.name===`ask_user`&&e.add(String(t.data.callId));return e});let tr=new Map,[nr,rr]=y([]),ir=()=>i()||n()||`?`,ar=e=>tr.get(e)??[],or=(e,t)=>{let n=new Set,r=[];for(let e=t.length-1;e>=0;e--){let i=t[e],a=i.promptId;a?n.has(a)||(n.add(a),r.push(i)):r.push(i)}r.reverse(),r.length===0?tr.delete(e):tr.set(e,r),ir()===e&&rr(r)},[sr,cr]=y([]),[lr,ur]=y(localStorage.getItem(`teapot.hideGhosts`)===`1`),[dr,fr]=y(!1),pr=()=>sr().filter(e=>!e.read).length,mr=e=>{cr(t=>{let n=!1,r=t.map(t=>t.read||t.agentId!==e?t:(n=!0,{...t,read:!0}));return n?r:t})},hr=()=>{let e=n();e&&sr().some(t=>!t.read&&t.agentId===e)&&mr(e)},gr=t=>{let n=sr().filter(e=>!e.read&&e.agentId===t).length;for(let r of e())r.parent===t&&(n+=gr(r.id));return n},_r=0,vr=e=>{cr(t=>[{...e,id:`n${++_r}`,at:Date.now(),read:!1},...t].slice(0,50))},yr=(t,n)=>{let r=e().find(e=>e.id===t)?.id??t,i=typeof n.id==`string`?n.id:void 0;n.type===`message`&&n.data?.final===!0?vr({agentId:t,kind:`finish`,title:`${r} finished`,body:String(n.data.content??``).slice(0,300),eventId:i}):n.type===`question`?vr({agentId:t,kind:`question`,title:`${r} asks a question`,body:String(n.data.question??``).slice(0,300),eventId:i}):n.type===`error`?vr({agentId:t,kind:`error`,title:`${r} hit an error`,body:String(n.data.message??``).slice(0,300),eventId:i}):n.type===`progress`&&vr({agentId:t,kind:`progress`,title:`${r}: ${String(n.data.doing??`progress`)}`.slice(0,120),body:[n.data.recent&&`recent: ${n.data.recent}`,n.data.next&&`next: ${n.data.next}`].filter(Boolean).join(` · `).slice(0,300),eventId:i})},br=e=>{let t=document.querySelector(`[data-eid="${e}"]`);t&&(t.scrollIntoView({behavior:`smooth`,block:`center`}),t.classList.add(`flash-target`),setTimeout(()=>t.classList.remove(`flash-target`),1600))},xr=S(()=>{let e=new Map,t=new Set,n=new Map,r=new Map;for(let i of h())if(WE.has(i.type)){if(i.type===`tool_call`){let e=n.get(i.data.callId)??[];e.push(i),n.set(i.data.callId,e)}else if(i.type===`tool_result`){let a=n.get(i.data.callId)?.shift();a?(e.set(a.id,i),t.add(i.id)):r.set(i.id,i)}}return{resFor:e,consumed:t,orphanCalls:r}}),[Sr,Cr]=y(new Set),wr=e=>{e&&Cr(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},Tr=()=>Cr(new Set),Er=S(()=>cn(h(),Sr())),Dr=S(()=>It({events:h(),consumed:xr().consumed,pending:nr(),echo:Nr,feedTypes:WE,renderedTypes:KE,renderedNoteEvents:qE})),Or=()=>Dr().rows,kr=()=>Dr().pendingCount,Ar=S(()=>{let e=new WeakMap;return Or().forEach((t,n)=>e.set(t,n)),e}),jr=(e,t)=>{let n=Ar().get(e);if(n!==void 0)return Or()[n+t]},Mr=new Map;function Nr(e){let t=`${e.id}:${e.sent?`s`:`p`}`,n=Mr.get(t);if(n)return n;Mr.size>64&&Mr.clear();let r={id:e.id,seq:2**53-1,ts:new Date(e.at).toISOString(),session:R()?.session??``,branch:R()?.branch??`br0`,parent:null,type:`prompt`,data:{source:e.source??`user`,text:e.text,pending:!e.sent,...e.images?.length?{images:e.images}:{},...e.promptId?{promptId:e.promptId}:{}}};return Mr.set(t,r),r}let Pr=()=>Y(`/api/config`).then(oe).catch(()=>{}),[Fr,Ir]=y(!1);w(()=>{let e=()=>Ir(!0);window.addEventListener(`teapot:unauthorized`,e),T(()=>window.removeEventListener(`teapot:unauthorized`,e))});let[Lr,Rr]=y(``),[zr,Br]=y(!0),[Vr,Hr]=y(!1),Ur=``;x(()=>{let t=n(),r=e().find(e=>e.id===t)?.todo??``;t&&t!==Ur?(Ur=t,Hr(!1),Rr(r)):t&&!Vr()&&Rr(r)});let Wr=async()=>{let e=document.getElementById(`todo-notify`)?.checked??!0;if(n())try{await Y(`/api/agents/${n()}/todo`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:Lr(),notify:e})}),Hr(!1),Br(!0),HE(`tasks saved${e&&Lr().trim()?` & notification queued`:``}`),qr()}catch(e){HE(`save failed: ${e.message}`)}},Gr=S(()=>{let e=0,t=0;for(let n of Lr().split(`
183
- `)){let r=n.match(/^\s*[-*+] \[([ xX])\]/);r&&(e++,r[1].toLowerCase()===`x`&&t++)}return{total:e,done:t}});function Kr(e,t){let n=new Map(e.map(e=>[e.id,e]));return t.map(e=>{let t=n.get(e.id);return t&&JSON.stringify(t)===JSON.stringify(e)?t:e})}let qr=()=>Y(`/api/agents`).then(e=>{let n=!1;t(t=>(t.length!==(e.agents??[]).length&&(n=!0),(e.agents??[]).some(e=>!t.some(t=>t.id===e.id))&&(n=!0),Kr(t,e.agents??[]))),n&&m()}).catch(()=>{}),Jr=()=>Y(`/api/metrics`).then(D).catch(()=>{}),[Yr,Xr]=y([]),Zr=()=>Y(`/api/tasks`).then(e=>Xr(e.tasks)).catch(()=>{}),Qr=e=>Yr().filter(t=>t.agent===e),[$r,ei]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.expandedSubs`)??`[]`);return new Set(e.filter(e=>typeof e==`string`))}catch{return new Set}})()),[ti,ni]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.collapsed`)??`[]`);return new Set(e.filter(e=>typeof e==`string`&&!e.startsWith(`chat:`)))}catch{return new Set}})()),ri=e=>ti().has(e)||!$r().has(e),ii=e=>{let t=new Set($r());if(t.has(e)?t.delete(e):t.add(e),ei(t),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...t])),t.has(e)&&ti().has(e)){let t=new Set(ti());t.delete(e),ni(t),localStorage.setItem(`teapot.collapsed`,JSON.stringify([...t]))}},ai=t=>an(e(),t),[oi,si]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.wsCollapsed`)??`[]`),t=Array.isArray(e)?e.filter(e=>typeof e==`string`):[];if(Number(localStorage.getItem(`teapot.wsCollapsed.v`)??`0`)<2){let e=t.filter(e=>!e.startsWith(`chat:`));return t.length-e.length>0&&localStorage.setItem(`teapot.wsCollapsed`,JSON.stringify(e)),localStorage.setItem(`teapot.wsCollapsed.v`,`2`),new Set(e)}return new Set(t)}catch{return new Set}})()),ci=S(()=>{let e=new Set;for(let t of oi())t.startsWith(`chat:`)&&e.add(t);return e}),li=S(()=>$t(e(),new Set(e().filter(e=>ri(e.id)).map(e=>e.id)),lr(),ci())),ui=(t,r,i,a)=>{let o=new Set(oi());if(i)o.delete(t),a&&o.delete(a);else{o.add(t),a&&o.delete(a);let i=n();i&&(t===`chat:${i}`||ai(e().find(e=>e.id===i))===t)&&HE(`hid ${r} — click the header to show it`)}si(o);try{localStorage.setItem(`teapot.wsCollapsed`,JSON.stringify([...o]))}catch{}},di=e=>e.replace(/\/+$/,``).split(/[/\\]/).pop()||e,B=e=>{let t=fi().get(e)??0;return`${t} chat${t===1?``:`s`}`},fi=S(()=>on(e())),pi=S(()=>sn(e(),li(),oi())),[V,mi]=y(null),hi=new Map,gi=()=>{g([]),hi.clear(),H=0},H=0;function _i(e){return`${i()||(n()??`?`)}:${e.id}`}function vi(e){let t=Array.from({length:e.length});for(let n=0;n<e.length;n++){let r=e[n],i=_i(r),a=hi.get(i);if(t[n]=a??r,!a)for(hi.set(i,r),H+=Bi(r);hi.size>4e3||H>8388608;){let e=hi.keys().next().value;if(e===void 0)break;let t=hi.get(e);t&&(H-=Bi(t)),hi.delete(e)}}return t}let[yi,bi]=y(!1),[xi,Si]=y(!1),[Ci,wi]=y(!1),Ti=0,Ei=-1;function Di(e){let t=vi(e);g(e=>{if(t.length>0&&e.length>0){let n=e[e.length-1],r=t.every(e=>e.seq>n.seq),i=new Set(e.map(e=>e.id));if(r&&t.every(e=>!i.has(e.id)))return[...e,...t]}let n=new Map;for(let t of e)n.set(t.id,t);let r=!1;for(let e of t)n.has(e.id)||(n.set(e.id,e),r=!0);return r?[...n.values()].sort((e,t)=>e.seq-t.seq):e})}async function Oi(){let e=n();if(!e||Ci()||yi()||zt())return;if(h().length>=_()){wi(!0);return}let t=()=>{let e=Mi();return e&&e.clientHeight>0?e:null},r=0;for(;r++<20&&!Ci()&&n()===e;){let r=t();if(r&&r.scrollHeight>r.clientHeight+40)return;if(h().length>=_()){wi(!0);return}let i=h().length;if(await ki(),h().length===i)return;Ke(Ni())&&n()===e&&Ii(!0)}}async function ki(){let e=n(),t=h()[0];if(e&&t&&!yi()&&!Ci()){bi(!0);try{let r=Mi(),a=r?.scrollHeight??0,o=r?.scrollTop??0,s=V(),c=i(),l=(await Y(ji(e,{before:t.id},c,s))).events??[];if(l.length===0){wi(!0);return}if(n()!==e||h()[0]?.id!==t.id)return;Di(l),requestAnimationFrame(()=>{if(n()===e){let e=Mi();e&&(e.scrollTop=o+(e.scrollHeight-a))}})}catch{}finally{bi(!1)}}}function Ai(e,t){return t&&o().has(t)?`&session=${encodeURIComponent(t)}`:``}function ji(e,t,n,r){let i=[`/api/agents/${encodeURIComponent(e)}/events?limit=2000`];t.before&&i.push(`&before=${encodeURIComponent(t.before)}`),t.after&&i.push(`&after=${encodeURIComponent(t.after)}`);let a=Ai(e,n);return a&&i.push(a),r&&i.push(`&branch=${encodeURIComponent(r)}&lineage=true`),i.join(``)}async function U(e,t){let r=Ti,a=t??i()??``;try{let t=V(),i=r!==Ei||!ee().length;h().length||Si(!0),Y(`/api/agents/${e}/skills`).then(t=>{r===Ti&&n()===e&&Qa(t.skills??[])}).catch(()=>{});let[o,s]=await Promise.all([Y(ji(e,{},a,t)),i?Y(`/api/agents/${e}/branches`):Promise.resolve({branches:ee()})]);if(i&&(Ei=r),r!==Ti||n()!==e)return;g(e=>{let t=new Map;for(let n of e)t.set(n.id,n);for(let e of vi(o.events))t.set(e.id,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}),v(o.total??o.events.length),E(s.branches)}catch{}finally{Si(!1)}}function Mi(){return document.querySelector(`.feed`)}function Ni(){let e=Mi();return e?{top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight}:null}function Pi(){return Ke(Ni())}function Fi(){let e=Mi();if(!e)return;let t=()=>e.isConnected?(e.scrollTop=e.scrollHeight,uo={top:e.scrollTop,height:e.scrollHeight},!0):!1;if(!t())return;Ut(0);let n=r=>{e.isConnected&&zt()&&(Xe(zt(),{top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight})&&t(),r>0&&requestAnimationFrame(()=>n(r-1)))};requestAnimationFrame(()=>n(2)),Vt&&clearTimeout(Vt),Vt=setTimeout(()=>n(0),250)}function Ii(e=!1){(e||zt())&&Fi()}let Li=new Map,Ri=new Map,zi=8388608,Bi=e=>$e(e),Vi=(t,n)=>un(c().get(t),e().find(e=>e.id===t)?.session,n);async function Hi(e,t=!0,s){let l=n(),u=i(),d=h(),f=_();Ti++,c().size||m();let p=Vi(e,s),ee=s&&o().has(s)?s:null,y=p??ee??e;if(l!==e||y!==u){{let e=Mi(),t=e?Oe(e):null,n=u||l;if(e&&n&&t){let r=e.querySelector(t.sel)?.dataset.eid??``,i=e.scrollHeight-e.scrollTop-e.clientHeight<=24;for(r&&Ri.set(n,{eid:r,delta:e.getBoundingClientRect().top-t.top,atTail:i});Ri.size>24;){let e=Ri.keys().next().value;if(e===void 0)break;Ri.delete(e)}}}if(u&&d.length){let e=d.reduce((e,t)=>e+Bi(t),0);e<=zi&&Li.set(u,{events:d,total:f,at:Date.now(),bytes:e}),Qe(Li,{maxEntries:6,maxBytes:zi})}gi(),Tr(),en(null),Ut(0),Bt(Ri.get(y)?.atTail??!0),lo=void 0}r(e),a(y),O(ne.get(e)??``),mi(null),wi(!1),bi(!1),or(u||l||`?`,nr()),rr(ar(y||e)),localStorage.setItem(`teapot.session`,e),ea(y,t);let b=Li.get(y);if(b?.events.length&&(g(vi(b.events)),v(b.total),Si(!0),Ri.has(y)||requestAnimationFrame(()=>{n()===e&&Ii(!0)})),Y(`/api/agents/${e}/load`,{method:`POST`}).then(qr).catch(()=>{}),await U(e,y),n()!==e)return;wn(t=>{let n=t.get(e)??null,r=yt(n,h(),R()?.status);if(r===n)return t;let i=new Map(t);return r?i.set(e,r):i.delete(e),i}),en(R()?.ctx?.compacting?{phase:String(R().ctx.compacting)}:null);let x=Ri.get(y);Bt(!x||x.atTail),requestAnimationFrame(()=>{if(n()===e){if(x){let e=Mi(),t=e?.querySelector(`[data-eid="${CSS.escape(x.eid)}"]`);if(e&&t){e.scrollTop+=t.getBoundingClientRect().top-e.getBoundingClientRect().top+x.delta,uo={top:e.scrollTop,height:e.scrollHeight},x.atTail&&Ii(!0);return}x.atTail&&Ii(!0)}else Ii(!0)}}),Oi()}let[Ui,Wi]=y(!1),Gi=null,Ki=null;T(()=>Gi?.close());let qi=!1,Ji=null;document.addEventListener(`visibilitychange`,()=>Ji?.()),T(()=>{Ji=null});let Yi=!0,Xi=null;async function Zi(){let e=n(),t=h().at(-1)?.id,r=i(),a=document.visibilityState===`hidden`;if(!e||!t)qi=!0,a||Xi?.();else try{let n=V(),i=await Y(ji(e,{after:t},r,n)),o=i.events??[];i.gap?(g(vi(o)),v(o.length)):o.length&&(Di(o),v(e=>e+o.length)),await qr(),o.length&&!a&&Jr()}catch{qi=!0}}function Qi(){Yi=!0;let r=location.protocol===`https:`?`wss://`:`ws://`,a=new WebSocket(`${r}${location.host}/api/ws${YE()}`);Gi=a,a.onopen=()=>{Wi(!0),Yi?Yi=!1:Zi()},a.onclose=()=>{Wi(!1),setTimeout(Qi,1500)},a.onerror=()=>a.close();let o=new Set([`state`,`usage`,`session_start`]);a.onmessage=r=>{let c=JSON.parse(r.data);if(c.kind===`ping`)try{a.send(JSON.stringify({kind:`pong`}))}catch{}else if(c.kind!==`pong`){if(c.kind===`hello`&&Array.isArray(c.agents)){t(e=>Kr(e,c.agents));let n=e();wn(e=>vt(e,e=>n.find(t=>t.id===e)?.status))}else if(c.kind===`event`&&ut(c.event))wn(e=>lt(e,c.agentId));else if(c.kind===`llm-delta`){if(!vn(c,n(),i()))return;if(wn(e=>ct(e,c.agentId,c)),c.agentId===n()){let e=String(c.reasoning??``),t=String(c.text??``);e&&!t?zn()||Bn(Date.now()):t&&Bn(0)}}else if(c.kind===`compaction-progress`){if(c.agentId!==n())return;c.phase===`done`?en(null):en({phase:c.phase,summarized:c.summarized})}else if(c.kind===`agent-update`&&c.snapshot)t(e=>{let t=e.findIndex(e=>e.id===c.snapshot.id),n=c.snapshot;return t===-1?[...e,n]:Kr(e,e.map((e,n)=>n===t?c.snapshot:e))});else if(c.kind===`metrics`&&c.metrics)D(c.metrics);else if(c.kind===`tasks`&&Array.isArray(c.tasks))Xr(c.tasks);else{if(c.kind===`event`){let e=c.event?.type,t=c.event?.data??{};if(e===`system_note`&&(t.event===`prompt-delivered`||t.event===`prompt-cancelled`)){let e=String(t.promptId??``);if(e){let t=String(c.event?.session??``),n=new Set;t&&n.add(t),n.add(ir());for(let[t,r]of tr)r.some(t=>t.promptId===e)&&n.add(t);for(let t of n){let n=ar(t);n.some(t=>t.promptId===e)&&or(t,n.filter(t=>t.promptId!==e))}}}if(o.has(e)&&!GE.has(e)||(yr(c.agentId,c.event),c.event?.agent!==n())||!_n(c.event,n(),i())||(Di([c.event]),c.event&&In(),qi=!0,document.visibilityState!==`visible`)||Ki)return;Ki=setTimeout(s,60)}document.visibilityState===`hidden`?qi=!0:Ki||=setTimeout(s,120)}}},qi=!1;let s=async()=>{if(Ki=null,n()){let e=h().at(-1)?.id,t=h().length,r=Nn();r&&!yt(r,h(),R()?.status)&&Fn(null),h().at(-1)?.id!==e&&(zt()?(Fi(),mr(n())):(Ut(e=>e+Math.max(0,h().length-t)),Yt(Ni())))}};Xi=s,Ji=()=>{document.visibilityState===`visible`&&(Jr(),Zr(),n()&&(qi?(qi=!1,s()):h().at(-1)?.id?Zi():(qi=!0,s())))}}let $i=()=>decodeURIComponent(location.pathname.split(`/`)[2]??``);function ea(t,n=!0){let r=dn(t,o(),e().map(e=>e.id));if(!r)return;let i=`/session/${encodeURIComponent(r)}`;n?history.pushState(null,``,i):history.replaceState(null,``,i)}window.addEventListener(`popstate`,()=>{let e=$i(),t=o().get(e);t&&(t!==n()||e!==i())&&Hi(t,!1,e||null)}),x(()=>{let e=R(),t=e?`${Qn()?`▶ `:e.status===`error`?`⚠ `:``}${jn(e)} · teapot`:`teapot`;document.title=pr()>0?`(${pr()}) ${t}`:t});let ta=()=>se()||fe()||z()!==null||he()&&Me();window.addEventListener(`keydown`,e=>{let t=e.target;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))e.key===`Escape`&&t.blur();else if(e.key===`Escape`){if(se()){ce(!1);return}if(fe()){pe(!1);return}if(z()){er(null);return}if(he()&&Me()){Ie();return}let e=R();if(e&&Qn()){Y(`/api/agents/${e.id}/stop`,{method:`POST`}).then(qr);return}}else if(!ta()){if(e.key===`/`)e.preventDefault(),document.querySelector(`.composer textarea`)?.focus();else if(e.key===`d`)Fe();else if(e.key===`t`)ha();else if(e.key===`ArrowDown`||e.key===`ArrowUp`){let t=li().map(e=>e.a);if(t.length===0)return;e.preventDefault();let r=t.findIndex(e=>e.id===n()),i=e.key===`ArrowDown`?Math.min(r+1,t.length-1):Math.max(r-1,0);i!==r&&Hi(t[i].id)}}});let[na,ra]=y(localStorage.getItem(`teapot.term`)===`1`),[ia,aa]=y([]),[oa,sa]=y(!1),ca=async()=>{let e=n();if(!e)return;let t=await Y(`/api/agents/${encodeURIComponent(e)}/bg-jobs`).catch(()=>null);t?.jobs&&aa(t.jobs)};x(()=>{n(),ca()}),x(()=>{if(!oa())return;let e=setInterval(()=>void ca(),2e3);T(()=>clearInterval(e))});let[la,ua]=y(!1),[da,fa]=y(``),pa=()=>{let e=R();e&&(fa(jn(e)),ua(!0))},ma=async()=>{if(!la())return;let e=R();ua(!1);let t=da().replace(/\s+/g,` `).trim();if(!e||!t||t===jn(e))return;let n=await Y(`/api/agents/${encodeURIComponent(e.id)}/session-title?session=${encodeURIComponent(e.session)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({title:t})}).catch(e=>({error:String(e)}));n?.error?HE(`rename failed: ${n.error}`):(d(n=>new Map(n).set(e.session,t)),qr())},ha=()=>{let e=!na();ra(e),localStorage.setItem(`teapot.term`,e?`1`:`0`)},[ga,_a]=y([]),[va,ya]=y(0),[ba,xa]=y(-1),[Sa,Ca]=y(!1),[wa,Ta]=y(0),[Ea,Da]=y(Number(localStorage.getItem(`teapot.termH`))||Math.max(220,Math.round(window.innerHeight*.35))),Oa=new Map,ka=[null,null],Aa=()=>ga()[wa()===0?va():ba()]??null;function ja(e){if(!ga()[e])return;let t=wa(),n=t===0?va():ba(),r=t===0?ba():va(),i=e=>t===0?ya(e):xa(e);r===e?((e=>t===0?xa(e):ya(e))(n),i(e)):n!==e&&i(e)}let Ma=()=>Na();async function Na(e){let t=e??n();if(t){if(ga().filter(e=>e.agentId===t).length>=10)HE(`max 10 shells per agent (${t}) — that's already a lot`);else try{let e=(await Y(`/api/terminals`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({agentId:t})})).terminal;if(!e){HE(`could not open a shell`);return}let n=Gu(ga());_a(t=>[...t,{key:e.id,agentId:e.agentId,title:e.title}]),wa()===0?ya(n):xa(n)}catch(e){HE(`could not open a shell: ${e.message}`)}}}function Pa(e){let t=ga()[e];if(!t)return;Y(`/api/terminals/${encodeURIComponent(t.key)}`,{method:`DELETE`}).catch(()=>{});let n=Oa.get(t.key);if(n){n.ro?.disconnect();try{n.ws.close()}catch{}n.term.dispose(),Oa.delete(t.key)}let r=ga().filter((t,n)=>n!==e);_a(r),ya(t=>qu(t,e,r.length)),xa(t=>t===-1?-1:qu(t,e,r.length))}x(()=>{Ue(),Ve(),ht(),et(),ft();for(let[,e]of Oa)xn(e.term)});function Fa(){for(let[,e]of Oa){e.ro?.disconnect();try{e.ws.close()}catch{}e.term.dispose()}Oa.clear()}function Ia(e,t){let n=Oa.get(e.key);if(n&&xn(n.term),n)n.el.parentElement!==t&&(t.appendChild(n.el),setTimeout(()=>{try{n.fit()}catch{}},30));else{let r=document.createElement(`div`);r.className=`termsession`,t.appendChild(r);let i=new Vu({cursorBlink:!0,fontSize:12.5,fontFamily:`ui-monospace, Menlo, Consolas, monospace`,theme:bn()}),a=new Wu;i.loadAddon(a),i.open(r);let o=location.protocol===`https:`?`wss://`:`ws://`,s=()=>`${o}${location.host}/api/agents/${encodeURIComponent(e.agentId)}/term?terminal=${encodeURIComponent(e.key)}${YE()}`,c=new WebSocket(s()),l,u=!1,d=t=>{t.onmessage=t=>{let n=JSON.parse(t.data);n.kind===`data`?i.write(n.data):n.kind===`ping`||(n.kind===`exit`?(u=!0,i.write(`\r\n\x1b[2m[terminal exited ${n.code??``}]\x1b[0m\r\n`),_a(t=>t.filter(t=>t.key!==e.key)),Oa.get(e.key)?.term.dispose(),Oa.delete(e.key)):n.kind===`attach`&&n.error&&(u=!0,i.write(`\r\n\x1b[2m[${n.error}]\x1b[0m\r\n`)))},t.onclose=()=>{!u&&Oa.has(e.key)&&(l||=(i.write(`\r
182
+ Cancel = keep editing your copy`)?(de(r.current),c({...t,content:r.current}),af(`loaded the current file from disk`)):af(`kept your edits — use Save As via bash to force-write`)}finally{pe(!1)}}},ve=e=>!e.binary&&!e.truncated,ye=(e,t)=>[(()=>{var n=gw(),r=n.firstChild,a=r.nextSibling;return n.$$click=()=>e.dir?void ae(e):void ge(e,`code`),L(r,(()=>{var t=N(()=>!!e.dir);return()=>t()?i().has(e.path)?`▾`:`▸`:dw(e.name)})()),L(a,()=>e.name),L(n,A(M,{get when(){return N(()=>!e.dir)()&&e.size!==void 0},get children(){var t=hw();return L(t,()=>Cx(e.size)),t}}),null),b(r=>{var i=`filerow`+(e.dir?` isdir`:``)+(e.ignored&&v()===`dim`?` gitignored`:``),a=`padding-left:${t*13+8}px`,o=e.dir?`browse ${e.path}`:`preview ${e.path}`;return i!==r.e&&I(n,r.e=i),r.t=ke(n,a,r.t),o!==r.a&&F(n,`title`,r.a=o),r},{e:void 0,t:void 0,a:void 0}),n})(),A(M,{get when(){return N(()=>!!e.dir)()&&i().has(e.path)},get children(){return A(j,{get each(){return(n().get(e.path)??[]).filter(C)},children:e=>ye(e,t+1)})}})],be=()=>e.workspace.split(`/`).filter(Boolean).pop()??e.workspace,[xe,Se]=y(!1),Ce=async()=>{if(!xe()){Se(!0);try{let e=[``,...i()],t=await Promise.all(e.map(async e=>({p:e,rows:await re(e,w())})));for(let{p:e,rows:n}of t)n&&ie(e,n)}finally{Se(!1)}}};return[(()=>{var e=_w(),t=e.firstChild.nextSibling;return t.firstChild,L(t,be,null),L(e,A(rd,{class:`filetoggle`,get icon(){return xe()?`…`:`⟳`},title:`refresh the tree (root + expanded folders) — open popups are kept`,onClick:()=>void Ce()}),null),L(e,A(rd,{class:`filetoggle`,style:`margin-left:auto`,get icon(){return N(()=>v()===`hide`)()?`🙈`:v()===`dim`?`👁`:`✨`},get title(){return`gitignored files: ${v()} — click to cycle (dim → hidden → shown)`},onClick:S}),null),L(e,A(rd,{class:`filetoggle`,get icon(){return w()?`◉.`:`○.`},get title(){return w()?`dotfiles shown — click to hide`:`dotfiles hidden — click to show`},onClick:te}),null),e})(),(()=>{var e=vw();return L(e,A(M,{get when(){return(n().get(``)??[]).length>0},get fallback(){return(()=>{var e=yw();return L(e,()=>g()||`empty workspace`),e})()},get children(){return A(j,{get each(){return(n().get(``)??[]).filter(C)},children:e=>ye(e,0)})}})),e})(),A(M,{get when(){return o()},children:t=>A(ad,{get title(){return`🗂 ${t().path}`},onClose:()=>{me++,c(null),f(null)},get children(){return A(M,{get when(){return u()},get fallback(){return[(()=>{var e=ww(),n=e.firstChild;return L(e,A(M,{get when(){return N(()=>!!k(t().path))()&&!t().binary},get children(){var e=Sw();return e.$$click=()=>h(`md`),b(()=>I(e,p()===`md`?`on`:``)),e}}),n),n.$$click=()=>{h(`code`),oe()||he({path:t().path,content:t().content,truncated:t().truncated})},L(e,A(M,{get when(){return ve(t())},get children(){var e=Cw();return e.$$click=()=>h(`edit`),b(()=>I(e,p()===`edit`?`on`:``)),e}}),null),b(()=>I(n,p()===`code`?`on`:``)),e})(),A(M,{get when(){return!t().binary},get fallback(){return Ew()},get children(){return A(M,{get when(){return p()===`edit`},get fallback(){return A(M,{get when(){return N(()=>p()===`md`)()&&k(t().path)},get fallback(){return A(Qd,{get path(){return t().path},get content(){return t().content},get html(){return oe()},get pending(){return ce()},get truncated(){return!!t().truncated}})},get children(){var e=Dw();return b(()=>e.innerHTML=ze(t().content)),e}})},get children(){var e=Tw(),n=e.firstChild,r=n.nextSibling.firstChild,i=r.firstChild,a=r.nextSibling;return n.$$input=e=>de(e.currentTarget.value),F(n,`spellcheck`,!1),L(r,()=>Cx(ue().length),i),a.$$click=()=>void _e(),L(a,()=>fe()?`saving…`:`💾 save`),b(()=>a.disabled=fe()||ue()===t().content),b(()=>n.value=ue()),e}})}})]},get children(){var t=xw(),n=t.firstChild,r=n.firstChild;return L(t,A(M,{get when(){return u().kind===`image`},get fallback(){return A(M,{get when(){return u().kind===`video`},get fallback(){return(()=>{var t=kw();return b(()=>F(t,`src`,`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`)),t})()},get children(){var t=Ow();return b(()=>F(t,`src`,`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`)),t}})},get children(){var t=bw();return b(n=>{var r=`/api/agents/${e.agentId}/raw?path=${encodeURIComponent(u().path)}`,i=u().path.split(`/`).pop();return r!==n.e&&F(t,`src`,n.e=r),i!==n.t&&F(t,`alt`,n.t=i),n},{e:void 0,t:void 0}),t}}),n),L(n,()=>u().kind,r),t}})}})})]}De([`click`,`input`]);var jw=P(`<div class=overlay><div class=modal style=max-width:360px><div class=modal-head><b>🔒️ sign in</b><span></span></div><form style=display:flex;flex-direction:column;gap:10px><input id=pw-input type=password placeholder=password autofocus><button type=submit class=primarybtn>unlock</button><span class=muted style=font-size:11px>the token is stored locally and sent as Bearer to this server only`),Mw=P(`<div class=leftbarbackdrop>`),Nw=P(`<div class=sidehead><b>agents</b><button class=iconbtn title="close the agent list">✕`),Pw=P(`<i class=notifdot>`),Fw=P(`<br>`),Iw=P(`<button class="iconbtn ham"title="agent list">☰`),Lw=P(`<input class="title titleedit">`),Rw=P(`<span class="badge queued">⏳ <!> <!> queued`),zw=P(`<button type=button class="badge bgjobs">⚙️ `),Bw=P(`<span class="badge cron">⏰ `),Vw=P(`<div class=bgjobs-pop role=dialog aria-label="background shells"><div class=bgjobs-head><span>background shells</span><button type=button class=iconbtn title=close>✕`),Hw=P(`<header class=chan-head><span class=hash title="rename this chat">#</span><span></span><span class=sub> · <!>/<!> · <!>↻ <!>⚙️</span><span class=head-actions><button></button><span class=head-sep aria-hidden=true>`),Uw=P(`<div class=divider-msg>── beginning of log ──`),Ww=P(`<div class=divider-msg>loading older events…`),Gw=P(`<div class=feedloading><span class=spinner aria-hidden=true></span> loading newer events…`),Kw=P(`<details class=reasoning open><summary>💭 thinking </summary><div class="mono thinkscroll">`),qw=P(`<div class=muted style=font-size:11.5px;margin-bottom:4px>🗜 summarizing older context…`),Jw=P(`<div class=content>`),Yw=P(`<div class="msg live"><div class=avatar style="background:#5865f233;border:1px solid #5865f266">🫖</div><div class=msg-body><div class=msg-head><span class=author style=color:var(--acc)>agent</span><span class=ts>streaming…`),Xw=P(`<div class=feed>`),Zw=P(`<div class="termempty muted">no shell here — + opens one, tabs fill the focused pane`),Qw=P(`<div class=termsplit>`),$w=P(`<div class="termempty muted">no shell here — click a tab or + to add`),eT=P(`<div class=termpane>`),tT=P(`<div class=termdrawer><div class=termgrip title="drag to resize · double-click to reset"></div><div class=termbar><div class=termtabs></div><div style=display:flex;gap:4px;align-items:center><span class="muted mono"style=flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap></span></div></div><div class=termbody><div class=termpane>`),nT=P(`<button class=jump>↓ `),rT=P(`<div class=cmds>`),iT=P(`<div class=imgstage><span class=muted style=font-size:11px;align-self:center> image<!> attached`),aT=P(`<label class=forkchip title="inherit the conversation prefix byte-exactly — the sub-agent's provider prefix cache starts warm"><input type=checkbox>fork ctx`),oT=P(`<span class=muted style=font-size:11.5px;white-space:nowrap>🖼 `),sT=P(`<div class="hint flashhint">`),cT=P(`<div><form><textarea rows=1></textarea><button type=button class="iconbtn maxbtn"></button><button type=submit>send</button><input id=composer-file type=file accept=image/* multiple style=display:none>`),lT=P(`<div class=rightbarbackdrop>`),uT=P(`<div><nav><div class=agent-list></div><div class=sidebar-footer><div class=footer-row style=justify-content:flex-end><button>🔔️</button></div><div class=brand-row><div class=brand>🫖 teapot <span class=version>v</span><span></span></div></div><div class=metrics></div></div></nav><section class=channel></section><aside><div class=rightbarhead><span class=muted>details`),dT=P(`<div class=notifbackdrop>`),fT=P(`<button class=editbtn>clear all`),pT=P(`<div class=notiflist>`),mT=P(`<div class=notifpanel><div class=notifhead>notifications<span style=display:flex;gap:8px;align-items:center><button class=iconbtn title="close notifications">✕`),hT=P(`<div class=bgphoto aria-hidden=true><img sizes=100vw alt decoding=async><span class=bgphoto-veil>`),gT=P(`<span class=wscount>`),_T=P(`<div class=wsheader><span class=wscaret>`),vT=P(`<span class=notifbadge>🔔️`),yT=P(`<span class=subtag>🧩`),bT=P(`<span class=mini-cron>⏰`),xT=P(`<span class=goaldone title="goal done">✓`),ST=P(`<div><span></span><span>`),CT=P(`<span class=caret-spacer>`),wT=P(`<span class=caret>`),TT=P(`<span class=ghosttag title="workspace missing">👻`),ET=P(`<span>🧩 `),DT=P(`<div class=muted style=display:grid;place-items:center;height:100%>select an agent`),OT=P(`<span class=title>`),kT=P(`<div class="muted bgjobs-empty">no background jobs for this agent`),AT=P(`<pre class="mono bgjob-tail">`),jT=P(`<div class=bgjob><div class=bgjob-line><span></span><code class="mono bgjob-cmd"></code><span class="muted bgjob-meta"></span><button type=button class=bgjob-kill>`),MT=P(`<div class="muted bgjob-detached">this job outlived a harness restart, so its output is no longer captured here. it is still running as pid <!> — read its own log, or stop it yourself.`),NT=P(`<div class="divider-msg compacting"title="the harness is compressing old turns into notes so work can continue within the context window">🗜 `),PT=P(`<div class=muted style=display:grid;place-items:center;height:100%><span><span class=spinner aria-hidden=true></span> loading timeline…`),FT=P(`<div class=muted style=display:grid;place-items:center;height:100%>no events yet — say something or press ▶ start`),IT=P(`<div class="content muted">thinking…`),LT=P(`<span>⌨ <button class=tabx title="close this shell">✕`),RT=P(`<div><b class=mono></b><span class=muted>`),zT=P(`<div class=cmdrow><b>@</b><span class=muted>`),BT=P(`<span class=imgchip><img><button type=button class=imgx title=remove>✕`),VT=P(`<span class=muted style=text-transform:none;letter-spacing:0>· <!> models`),HT=P(`<h3 title="switch provider/model live — applies from the agent's next turn">🧦 model`),UT=P(`<div style=display:flex;gap:6px;align-items:center;margin-top:6px><label class=muted style=font-size:11.5px;white-space:nowrap>effort</label><select style=flex:1;min-width:0><option value>provider default`),WT=P(`<div class=meta style=color:var(--fg)>`),GT=P(`<div class=modelbox><select title="provider (OpenAI-compatible endpoint)"></select><div style=display:flex;gap:4px><input type=text list=model-list style=flex:1;min-width:0><datalist id=model-list></datalist></div><div style=display:flex;gap:6px;align-items:center;margin-top:6px><button title="apply the provider, model and effort above to this session — takes effect from the agent's next turn"style=flex:1>apply</button></div><div class=meta>current: `),KT=P(`<div class=ctrlrow><label title="auto-continue fires after a round ONLY when all hold: ① this toggle is on ② a goal is set and its status is 'active' ③ the round ended cleanly (no error / not stopped). It stops when the goal is marked done, or if you press ■ stop. Sending any prompt also starts an idle agent regardless."><input type=checkbox>auto-continue`),qT=P(`<span>`),JT=P(`<h3 title="what the agent is working toward. Stored with the session; the agent reads it via get_goal(). Auto-continue keeps looping while the status is 'active' and stops when marked done.">🎯 goal`),YT=P(`<div class=statrow style=margin-bottom:6px><span class=k>status`),XT=P(`<div class="card goalcard"><div class=content>`),ZT=P(`<form style=display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-bottom:6px><textarea id=goal-input rows=3 placeholder="set new goal…"title="drag the bottom edge to make this taller — the height is remembered"style="background:var(--bg-darkest);border:none;border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;width:100%;resize:vertical"></textarea><textarea id=goal-verify-input rows=2 placeholder="verification contract (optional) — e.g. 'npm test passes; endpoint documented'. finish(goalComplete=true) is then audited against this."title="pi-goal-x-style verification contract — an independent reviewer checks the agent's finish against these requirements"style="background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:6px;padding:6px 8px;color:var(--fg);font:inherit;font-size:12.5px;width:100%;resize:vertical"></textarea><div style=display:flex;justify-content:flex-end;align-items:center;gap:10px><label class=muted title="queue a harness prompt telling the agent about the new goal at its next turn boundary"style=display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer><input id=goal-notify type=checkbox> notify agent</label><button type=submit class=primarybtn>✓ save goal`),QT=P(`<span class=badge>/<!> done`),$T=P(`<h3 title="todo.md — a shared checklist in the session dir. Write tasks like '- [ ] fix login'; the agent ticks them off via set_todo, you edit here. With notify on, it's told at its next turn boundary.">✅ tasks`),eE=P(`<div class=bartrack style=margin-bottom:6px><div>`),tE=P(`<div style=display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px><label class=muted title="queue a harness prompt telling the agent the task list changed"style=display:flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap;cursor:pointer><input id=todo-notify type=checkbox checked> notify agent</label><button class=okbtn>✓ save tasks`),nE=P(`<h3 title="latest report_progress snapshot. The harness asks for one after real activity (time AND output gates); errors show under ⚠ problems">📈 progress`),rE=P(`<h3 title="context is how much of the model's window the live conversation occupies. Past the threshold, the oldest turns are summarized into notes so work can continue.">📊 runtime`),iE=P(`<div class=rtcell><span>cost</span><b>$`),aE=P(`<div class=rtcell><span>cached</span><b>%`),oE=P(`<div class="card runcard"><div class=rtgrid><div class=rtcell title="prompt tokens billed this session"><span>tokens in</span><b></b></div><div class=rtcell title="completion tokens billed this session"><span>tokens out</span><b></b></div><div class=rtcell title="assistant turns this session"><span>turns</span><b></b></div><div class=rtcell title="tool calls this session"><span>tools</span><b></b></div><div class=rtcell><span>compacted</span><b>`),sE=P(`<div class=muted style=font-size:11px;text-transform:none;letter-spacing:0>showing <b></b> and the history it inherited before forking`),cE=P(`<h3>🌿 branches <span class=muted style=text-transform:none;letter-spacing:0>· click to filter the feed`),lE=P(`<span class=muted style=text-transform:none;letter-spacing:0>· <!> · all agents`),uE=P(`<h3 title="cron tasks, all agents — click a row to open that agent. Edit them in ⚙️ settings → scheduled tasks.">⏰ schedule`),dE=P(`<option>`),fE=P(`<span class=badge title="no goal set yet">no goal`),pE=P(`<button>`),mE=P(`<div class="card muted">no goal yet — write one below and press ✓ save. Then ▶ start (or any message) sets it in motion.`),hE=P(`<div class=muted>none yet`),gE=P(`<div class=progrow><b>recent</b><span class="content inline-md">`),_E=P(`<div class="progrow warn"><b>⚠ problems</b><span class="content inline-md">`),vE=P(`<div class=progrow><b>next</b><span class="content inline-md">`),yE=P(`<div class=progrow><b>goal</b><span>`),bE=P(`<div class="card prog"><div class=progrow><b>doing</b><span class="content inline-md"></span></div><div class="meta muted">`),xE=P(`<div class=statrow><span class=k>context</span><span class=muted>no window known for this model yet`),SE=P(`<span>% of `),CE=P(`<div class=bartrack><div>`),wE=P(`<div class=statrow title="a compaction pass is running right now — the summarizer's output streams in the timeline"><span class=k>🗜</span><b>compacting…</b><span class=muted style=font-size:11px;color:var(--acc)>`),TE=P(`<div class=ctxblock title="estimated live context vs the model's real window. Past the window, old turns are summarized into notes (compaction); the compact line below shows where that starts."><div class=statrow><span class=k>context</span><b>~<!> tok</b></div><div class=statrow style=margin-top:4px><span class=k>compact at</span><b> tok</b><span class=muted style=color:var(--dim)></span></div><div class=ctrlrow style=margin-top:6px><label title="when on, older turns are automatically summarized when context exceeds the budget"><input type=checkbox>auto-compact`),EE=P(`<div><span></span><span> events`),DE=P(`<div class=muted>no scheduled tasks — add them in ⚙️ settings ("scheduled tasks")`),OE=P(`<span title="runs on a forked branch so chatter stays off the main line">⑂`),kE=P(`<div><div class=sched-top><b></b><span class=muted>@</span></div><div class=sched-meta> → next </div><div class="sched-prompt muted">`),AE=P(`<div class=muted style=padding:10px>nothing yet — progress, finishes, questions and errors will land here`),jE=P(`<div class=nbody>`),ME=P(`<div><div class=nhead><span class=nicon></span><span class=ntitle></span><span class="meta muted"></span><button class="iconbtn nreadbtn">`),NE=P(`<div style=font-size:12.5px;color:var(--dim)> event(s) came after this prompt and will be discarded — the new branch starts from your edited text.`),PE=P(`<form style=display:flex;flex-direction:column;gap:10px><textarea id=edit-text class="mono w100"rows=6></textarea><div style=display:flex;justify-content:flex-end;gap:8px><button type=button>cancel</button><button type=submit class=primarybtn>⑂ fork & resend`),FE=P(`<span style=color:var(--err);font-size:13px>`),IE=P(`<form style=display:flex;flex-direction:column;gap:10px><label>workspace directory<div style=display:flex;gap:6px><input type=text class="w100 mono"><button type=button>go</button><button type=button title="parent directory">↑</button></div></label><div class=dirlist></div><div style=display:flex;gap:10px><label style=flex:1>agent name <input type=text placeholder="(directory name)"></label><label style="flex:0 1 auto;min-width:0">provider<select></select></label><label style=flex:1>model <input type=text placeholder="(provider default)"></label></div><button type=submit style=align-self:flex-end>create`),LE=P(`<div class=direntry>📁 `),RE=[`minimal`,`low`,`medium`,`high`],zE=1100,[BE,VE]=y(``),HE,UE=e=>{VE(e),clearTimeout(HE),HE=setTimeout(()=>VE(``),3200)},WE=!1,GE=new Set([`user`,`message`,`prompt`,`tool_call`,`tool_result`,`progress`,`state`,`error`,`fork`,`goal`,`todo`,`question`,`decision`,`compaction`,`audit_step`,`system_note`]),KE=new Set([`system_note`]),qE=new Set([`user`,`message`,`prompt`,`tool_call`,`tool_result`,`progress`,`error`,`fork`,`goal`,`todo`,`question`,`decision`,`compaction`,`audit_step`]),JE=new Set([`runaway-detected`,`error-retry`,`background-exit`,`context-compacted`,`context-compaction-started`]),YE=location.hash.match(/[#&]token=([^&]+)/);YE&&(localStorage.setItem(`teapot.token`,decodeURIComponent(YE[1])),history.replaceState(null,``,location.pathname+location.search));var XE=()=>{let e=localStorage.getItem(`teapot.token`);return e?`?token=${encodeURIComponent(e)}`:``};function ZE(){let[e,t]=y([]),[n,r]=y(null),[i,a]=y(``),[o,s]=y(new Map),[c,l]=y(new Map),[u,d]=y(new Map),f=!1,p=null;async function m(e=!1){if(p)return p;if(f&&!e)return;let t=(async()=>{try{let e=await Y(`/api/sessions`),t=new Map,n=new Map,r=new Map;for(let i of e.sessions??[]){t.set(i.id,i.agentId),typeof i.title==`string`&&i.title&&r.set(i.id,i.title);let e=n.get(i.agentId)??[];e.push(i.id),n.set(i.agentId,e)}s(t),l(n),d(r),f=!0}catch{}})();p=t;try{await t}finally{p===t&&(p=null)}}let[h,g]=y([]),[_,v]=y(0),[ee,E]=y([]),[te,D]=y(null),ne=new Map,[re,ie]=y(ne.get(n()??``)??``),O=e=>{ie(e);let t=n();t&&(e?ne.set(t,e):ne.delete(t))},[ae,oe]=y({providers:{}}),[se,ce]=y(!1),le=()=>Yn({want:Zn({preview:nt(),auto:Ue(),prefersLight:ht(),dark:ft(),light:et(),fixed:Ve()}),customIds:ot().map(e=>e.id),presetIds:Pd.map(e=>e.key),fallback:`dark`}),ue=()=>le().active,de=()=>ot().find(e=>e.id===ue())?.backgroundImage??``,[fe,pe]=y(!1),k=!1;x(()=>{!k&&ae()?.needsSetup&&(k=!0,requestAnimationFrame(()=>{Fr(),pe(!0)}))}),x(()=>{fe()&&!eo()&&Y(`/api/features`).then(e=>to(e)).catch(()=>to(null))});let me=new Set,he=()=>window.innerWidth<=zE,[ge,_e]=y(he());w(()=>{let e=()=>_e(he());window.addEventListener(`resize`,e),T(()=>window.removeEventListener(`resize`,e)),e()});let ve=0,ye=null,be=0,xe,Se,Ce=0,we=``,Te=()=>{Ce=0;let e=Ni();if(!e)return;if(po=e.scrollHeight,go=e.clientHeight,zt()){Ii();return}let t=ye;if(!t)return;let n=e.querySelector(t.sel);if(!n)return;let r=n.getBoundingClientRect().top-t.top;r&&(e.scrollTop+=r,fo={top:e.scrollTop,height:e.scrollHeight}),Xt(Pi())};function Ee(e,t){if(!t)return;let n=e.querySelector(t.sel);if(!n)return;let r=n.getBoundingClientRect().top-t.top;Math.abs(r)<1||Math.abs(r)>mo||(e.scrollTop+=r,fo={top:e.scrollTop,height:e.scrollHeight})}let P=()=>{Ce||=requestAnimationFrame(Te)},De=e=>{e&&e!==Se&&(xe??=new ResizeObserver(e=>{let t=e[0]?.contentRect,n=t?`${Math.round(t.width)}x${Math.round(t.height)}`:``;n!==we&&(we=n,P())}),Se&&xe.unobserve(Se),Se=e,we=``,xe.observe(e))};w(()=>{window.addEventListener(`resize`,P),T(()=>{window.removeEventListener(`resize`,P),xe?.disconnect(),xe=void 0,Se=void 0,Ce&&cancelAnimationFrame(Ce)})});function Oe(e){let t=e.querySelectorAll(`[data-eid]`);if(!t.length)return null;let n=e.getBoundingClientRect().top,r=e=>t[e].getBoundingClientRect(),i=0,a=t.length-1,o=-1;for(;i<=a;){let e=i+a>>1;r(e).bottom>n?(o=e,a=e-1):i=e+1}if(o<0)return null;let s=t[o].dataset.eid??``;return s?{sel:`[data-eid="${CSS.escape(s)}"]`,top:r(o).top}:null}let[Me,Ne]=y(localStorage.getItem(`teapot.panel`)===null?window.innerWidth>zE:localStorage.getItem(`teapot.panel`)===`1`),Pe=e=>{Ne(e),localStorage.setItem(`teapot.panel`,e?`1`:`0`)},Fe=()=>Pe(!Me()),Ie=()=>{Me()&&Pe(!1)},[Le,Re]=y(!1),Be=()=>Re(!1),[Ve,He]=y(localStorage.getItem(`teapot.theme`)??`dark`),[Ue,We]=y(localStorage.getItem(`teapot.theme.auto`)===`1`),[et,tt]=y(localStorage.getItem(`teapot.theme.light`)??`light`),[nt,rt]=y(null),[ot,dt]=y(Hn());w(()=>{Wn().then(e=>{if(e===null)return;let t=qt(ot(),e);dt(t),Un(t)})});let[ft,pt]=y(localStorage.getItem(`teapot.theme.dark`)??`dark`),mt=typeof window.matchMedia==`function`?window.matchMedia(`(prefers-color-scheme: light)`):null,[ht,gt]=y(mt?.matches??!1);w(()=>{let e=e=>gt(e.matches);mt?.addEventListener(`change`,e),T(()=>mt?.removeEventListener(`change`,e))}),x(()=>{let{active:e,repaired:t}=le(),n=ot().find(t=>t.id===e)??null;t&&(Ue()?localStorage.setItem(ht()?`teapot.theme.light`:`teapot.theme.dark`,e):localStorage.setItem(`teapot.theme`,e)),document.documentElement.dataset.theme=e,Kn(document.documentElement,n),document.documentElement.dataset.appearance=n?.mode??Pd.find(t=>t.key===e)?.mode??`dark`});let[xt,St]=y(``),[Ct,wt]=y(``),[Tt,Et]=y(``);x(()=>{let t=n();Et(C(()=>e().find(e=>e.id===t)?.reasoningEffort??``))});let[Dt,Ot]=y([]),kt=()=>Object.keys(ae().providers??{});async function At(e){if(e)try{let t=await Y(`/api/models?provider=${encodeURIComponent(e)}`);Ot(t.models??[])}catch{Ot([])}}let jt=e=>{let t={text:`📄`,image:`🖼️`,audio:`🔊`,video:`🎬️`,file:`📎`},n=e=>(e??[`text`]).map(e=>t[e]??e).join(``);return e?.modalities?`${n(e.modalities.input)} → ${n(e.modalities.output)}`:``},Mt=()=>{let e=Ct().trim()||R()?.model||``;if(!e)return``;let t=Dt().find(t=>t.id===e);if(!t)return``;let n=[],r=jt(t);r&&r!==`📄 → 📄`&&n.push(r),t.contextLength&&n.push(`ctx ${Cx(t.contextLength)} tok`);let i=e=>e===void 0?``:`${e*1e6>=10?Math.round(e*1e6):+(e*1e6).toFixed(1)}/M`;if(t.pricing){let e=i(t.pricing.prompt),r=i(t.pricing.completion);e&&r?n.push(`${e} in · ${r} out`):(e||r)&&n.push(i(t.pricing.prompt??t.pricing.completion))}return n.join(` · `)},Nt=null,Pt=!1;x(()=>{let t=n();if(!t)return;let r=e().find(e=>e.id===t),i=r?.provider||ae().defaultProvider||kt()[0]||``;if(r){if(t!==Nt)Nt=t,Pt=!1,C(()=>xt())!==i&&(St(i),At(i)),C(()=>Ct())&&wt(``);else{let e=C(()=>xt());!C(()=>Ct())&&e!==i&&On(Pt)&&(St(i),At(i))}}});let[Ft,Lt]=y(!1),[zt,Bt]=y(!0),Vt,[Ht,Ut]=y(0),[Wt,Yt]=y(-1),Xt=e=>Yt(e?Ze(e):-1),[Zt,tn]=y(null),pn=()=>Rn().startsWith(`[compact] `),_n=()=>{let e=pn()?Rn().slice(10):Rn();return e.length>1200?`…`+e.slice(-1200):e};x(()=>{Zt()||In(e=>e?.text.startsWith(`[compact] `)?null:e)}),x(()=>{h().length,_(),Zt(),kr().length,wi(),Si(),bi();let e=Ni();if(!e)return;let t=e.scrollHeight;t!==ve&&(ve=t,requestAnimationFrame(()=>requestAnimationFrame(()=>{zt()&&(Ii(),requestAnimationFrame(()=>{if(!zt())return;let t=e.scrollHeight;t!==ve&&(ve=t,Ii())}))})))});let[Cn,Tn]=y(new Map),Pn=()=>{let e=n();return e?Cn().get(e)??null:null},In=e=>{let t=n();t&&Tn(n=>{let r=new Map(n),i=typeof e==`function`?e(n.get(t)??null):e;return i?r.set(t,{...i,at:Date.now()}):r.delete(t),r})},Ln=()=>{let e=Pn();if(!e)return;let t=yt(e,h(),R()?.status);t?(t.text!==e.text||t.reasoning!==e.reasoning)&&In(t):In(null)},[Rn,zn]=y(``),[Bn,Vn]=y(0),Gn=()=>Bn(),[qn,Jn]=y(``),Xn;x(()=>{Pn()?Xn||=setTimeout(()=>{Xn=void 0,zn(Pn()?.text??``),Jn(Pn()?.reasoning??``)},(Pn()?.text.length??0)>2e4?250:(Pn()?.text.length??0)>6e3?120:60):(clearTimeout(Xn),Xn=void 0,zn(``),Jn(``))}),T(()=>clearTimeout(Xn)),x(()=>{let t=e();Tn(e=>vt(e,e=>t.find(t=>t.id===e)?.status)),Vn(e=>bt(e,t,n(),Pn()))}),x(()=>{let e=Rn(),t=Pn()?.reasoning??``;(e||t)&&requestAnimationFrame(()=>{zt()&&Ii()})}),x(()=>{let e=R()?.pendingPrompts??0,t=R()?.pendingPromptIds,n=ar(),r=or(n),i=un(r,e,t);i!==r&&sr(n,i)}),x(()=>{let e=R()?.pendingPromptQueue;if(!e?.length)return;let t=R()?.session||ar(),n=new Set(or(t).map(e=>e.promptId).filter(Boolean)),r=e.filter(e=>e.id&&!n.has(e.id));r.length&&sr(t,[...r.map(e=>({id:`p${e.id}`,text:e.text,at:Number(e.at)||Date.now(),promptId:e.id,images:e.images?.map(e=>e.url),...e.source?{source:e.source}:{}})),...or(t)])}),x(()=>{if(!n())return;let e=()=>{document.visibilityState===`visible`&&requestAnimationFrame(()=>{Fi()&&(Bt(!0),Ut(0),Li(!0),gr())})};document.addEventListener(`visibilitychange`,e),T(()=>document.removeEventListener(`visibilitychange`,e))});let R=S(()=>e().find(e=>e.id===n())),Qn=()=>Fn({sameSession:!(R()?.session!==ar()&&R()?.session),agent:R(),echoCount:Ar()}),$n=()=>{let e=R();return e?e.live??(e.status===`running`||e.status===`waiting`||e.status===`needs_operator`):!1},er=()=>bn(R(),i(),$n()),[z,tr]=y(null);S(()=>{let e=new Set;for(let t of h())t.type===`tool_result`&&t.data?.name===`ask_user`&&e.add(String(t.data.callId));return e});let nr=new Map,[rr,ir]=y([]),ar=()=>i()||n()||`?`,or=e=>nr.get(e)??[],sr=(e,t)=>{let n=new Set,r=[];for(let e=t.length-1;e>=0;e--){let i=t[e],a=i.promptId;a?n.has(a)||(n.add(a),r.push(i)):r.push(i)}r.reverse(),r.length===0?nr.delete(e):nr.set(e,r),ar()===e&&ir(r)},[cr,lr]=y([]),[ur,dr]=y(localStorage.getItem(`teapot.hideGhosts`)===`1`),[fr,pr]=y(!1),mr=()=>cr().filter(e=>!e.read).length,hr=e=>{lr(t=>{let n=!1,r=t.map(t=>t.read||t.agentId!==e?t:(n=!0,{...t,read:!0}));return n?r:t})},gr=()=>{let e=n();e&&cr().some(t=>!t.read&&t.agentId===e)&&hr(e)},_r=t=>{let n=cr().filter(e=>!e.read&&e.agentId===t).length;for(let r of e())r.parent===t&&(n+=_r(r.id));return n},vr=0,yr=e=>{lr(t=>[{...e,id:`n${++vr}`,at:Date.now(),read:!1},...t].slice(0,50))},br=(t,n)=>{let r=e().find(e=>e.id===t)?.id??t,i=typeof n.id==`string`?n.id:void 0;n.type===`message`&&n.data?.final===!0?yr({agentId:t,kind:`finish`,title:`${r} finished`,body:String(n.data.content??``).slice(0,300),eventId:i}):n.type===`question`?yr({agentId:t,kind:`question`,title:`${r} asks a question`,body:String(n.data.question??``).slice(0,300),eventId:i}):n.type===`error`?yr({agentId:t,kind:`error`,title:`${r} hit an error`,body:String(n.data.message??``).slice(0,300),eventId:i}):n.type===`progress`&&yr({agentId:t,kind:`progress`,title:`${r}: ${String(n.data.doing??`progress`)}`.slice(0,120),body:[n.data.recent&&`recent: ${n.data.recent}`,n.data.next&&`next: ${n.data.next}`].filter(Boolean).join(` · `).slice(0,300),eventId:i})},xr=e=>{let t=document.querySelector(`[data-eid="${e}"]`);t&&(t.scrollIntoView({behavior:`smooth`,block:`center`}),t.classList.add(`flash-target`),setTimeout(()=>t.classList.remove(`flash-target`),1600))},Sr=S(()=>{let e=new Map,t=new Set,n=new Map,r=new Map;for(let i of h())if(GE.has(i.type)){if(i.type===`tool_call`){let e=n.get(i.data.callId)??[];e.push(i),n.set(i.data.callId,e)}else if(i.type===`tool_result`){let a=n.get(i.data.callId)?.shift();a?(e.set(a.id,i),t.add(i.id)):r.set(i.id,i)}}return{resFor:e,consumed:t,orphanCalls:r}}),[Cr,wr]=y(new Set),Tr=e=>{e&&wr(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},Er=()=>wr(new Set),Dr=S(()=>ln(h(),Cr())),Or=S(()=>It({events:h(),consumed:Sr().consumed,pending:rr(),echo:Pr,feedTypes:GE,renderedTypes:qE,renderedNoteEvents:JE})),kr=()=>Or().rows,Ar=()=>Or().pendingCount,jr=S(()=>{let e=new WeakMap;return kr().forEach((t,n)=>e.set(t,n)),e}),Mr=(e,t)=>{let n=jr().get(e);if(n!==void 0)return kr()[n+t]},Nr=new Map;function Pr(e){let t=`${e.id}:${e.sent?`s`:`p`}`,n=Nr.get(t);if(n)return n;Nr.size>64&&Nr.clear();let r={id:e.id,seq:2**53-1,ts:new Date(e.at).toISOString(),session:R()?.session??``,branch:R()?.branch??`br0`,parent:null,type:`prompt`,data:{source:e.source??`user`,text:e.text,pending:!e.sent,...e.images?.length?{images:e.images}:{},...e.promptId?{promptId:e.promptId}:{}}};return Nr.set(t,r),r}let Fr=()=>Y(`/api/config`).then(oe).catch(()=>{}),[Ir,Lr]=y(!1);w(()=>{let e=()=>Lr(!0);window.addEventListener(`teapot:unauthorized`,e),T(()=>window.removeEventListener(`teapot:unauthorized`,e))});let[Rr,zr]=y(``),[Br,Vr]=y(!0),[Hr,Ur]=y(!1),Wr=``;x(()=>{let t=n(),r=e().find(e=>e.id===t)?.todo??``;t&&t!==Wr?(Wr=t,Ur(!1),zr(r)):t&&!Hr()&&zr(r)});let Gr=async()=>{let e=document.getElementById(`todo-notify`)?.checked??!0;if(n())try{await Y(`/api/agents/${n()}/todo`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:Rr(),notify:e})}),Ur(!1),Vr(!0),UE(`tasks saved${e&&Rr().trim()?` & notification queued`:``}`),Jr()}catch(e){UE(`save failed: ${e.message}`)}},Kr=S(()=>{let e=0,t=0;for(let n of Rr().split(`
183
+ `)){let r=n.match(/^\s*[-*+] \[([ xX])\]/);r&&(e++,r[1].toLowerCase()===`x`&&t++)}return{total:e,done:t}});function qr(e,t){let n=new Map(e.map(e=>[e.id,e]));return t.map(e=>{let t=n.get(e.id);return t&&JSON.stringify(t)===JSON.stringify(e)?t:e})}let Jr=()=>Y(`/api/agents`).then(e=>{let n=!1;t(t=>(t.length!==(e.agents??[]).length&&(n=!0),(e.agents??[]).some(e=>!t.some(t=>t.id===e.id))&&(n=!0),qr(t,e.agents??[]))),n&&m()}).catch(()=>{}),Yr=()=>Y(`/api/metrics`).then(D).catch(()=>{}),[Xr,Zr]=y([]),Qr=()=>Y(`/api/tasks`).then(e=>Zr(e.tasks)).catch(()=>{}),$r=e=>Xr().filter(t=>t.agent===e),[ei,ti]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.expandedSubs`)??`[]`);return new Set(e.filter(e=>typeof e==`string`))}catch{return new Set}})()),[ni,ri]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.collapsed`)??`[]`);return new Set(e.filter(e=>typeof e==`string`&&!e.startsWith(`chat:`)))}catch{return new Set}})()),ii=e=>ni().has(e)||!ei().has(e),ai=e=>{let t=new Set(ei());if(t.has(e)?t.delete(e):t.add(e),ti(t),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...t])),t.has(e)&&ni().has(e)){let t=new Set(ni());t.delete(e),ri(t),localStorage.setItem(`teapot.collapsed`,JSON.stringify([...t]))}},oi=t=>on(e(),t),[si,ci]=y((()=>{try{let e=JSON.parse(localStorage.getItem(`teapot.wsCollapsed`)??`[]`),t=Array.isArray(e)?e.filter(e=>typeof e==`string`):[];if(Number(localStorage.getItem(`teapot.wsCollapsed.v`)??`0`)<2){let e=t.filter(e=>!e.startsWith(`chat:`));return t.length-e.length>0&&localStorage.setItem(`teapot.wsCollapsed`,JSON.stringify(e)),localStorage.setItem(`teapot.wsCollapsed.v`,`2`),new Set(e)}return new Set(t)}catch{return new Set}})()),li=S(()=>{let e=new Set;for(let t of si())t.startsWith(`chat:`)&&e.add(t);return e}),ui=S(()=>en(e(),new Set(e().filter(e=>ii(e.id)).map(e=>e.id)),ur(),li())),di=(t,r,i,a)=>{let o=new Set(si());if(i)o.delete(t),a&&o.delete(a);else{o.add(t),a&&o.delete(a);let i=n();i&&(t===`chat:${i}`||oi(e().find(e=>e.id===i))===t)&&UE(`hid ${r} — click the header to show it`)}ci(o);try{localStorage.setItem(`teapot.wsCollapsed`,JSON.stringify([...o]))}catch{}},fi=e=>e.replace(/\/+$/,``).split(/[/\\]/).pop()||e,B=e=>{let t=pi().get(e)??0;return`${t} chat${t===1?``:`s`}`},pi=S(()=>sn(e())),mi=S(()=>cn(e(),ui(),si())),[V,hi]=y(null),gi=new Map,_i=()=>{g([]),gi.clear(),H=0},H=0;function vi(e){return`${i()||(n()??`?`)}:${e.id}`}function yi(e){let t=Array.from({length:e.length});for(let n=0;n<e.length;n++){let r=e[n],i=vi(r),a=gi.get(i);if(t[n]=a??r,!a)for(gi.set(i,r),H+=Vi(r);gi.size>4e3||H>8388608;){let e=gi.keys().next().value;if(e===void 0)break;let t=gi.get(e);t&&(H-=Vi(t)),gi.delete(e)}}return t}let[bi,xi]=y(!1),[Si,Ci]=y(!1),[wi,Ti]=y(!1),Ei=0,Di=-1;function Oi(e){let t=yi(e);g(e=>{if(t.length>0&&e.length>0){let n=e[e.length-1],r=t.every(e=>e.seq>n.seq),i=new Set(e.map(e=>e.id));if(r&&t.every(e=>!i.has(e.id)))return[...e,...t]}let n=new Map;for(let t of e)n.set(t.id,t);let r=!1;for(let e of t)n.has(e.id)||(n.set(e.id,e),r=!0);return r?[...n.values()].sort((e,t)=>e.seq-t.seq):e})}async function ki(){let e=n();if(!e||wi()||bi()||zt())return;if(h().length>=_()){Ti(!0);return}let t=()=>{let e=Ni();return e&&e.clientHeight>0?e:null},r=0;for(;r++<20&&!wi()&&n()===e;){let r=t();if(r&&r.scrollHeight>r.clientHeight+40)return;if(h().length>=_()){Ti(!0);return}let i=h().length;if(await Ai(),h().length===i)return;Ke(Pi())&&n()===e&&Li(!0)}}async function Ai(){let e=n(),t=h()[0];if(e&&t&&!bi()&&!wi()){xi(!0);try{let r=Ni(),a=r?.scrollHeight??0,o=r?.scrollTop??0,s=V(),c=i(),l=(await Y(Mi(e,{before:t.id},c,s))).events??[];if(l.length===0){Ti(!0);return}if(n()!==e||h()[0]?.id!==t.id)return;Oi(l),requestAnimationFrame(()=>{if(n()===e){let e=Ni();e&&(e.scrollTop=o+(e.scrollHeight-a))}})}catch{}finally{xi(!1)}}}function ji(e,t){return t&&o().has(t)?`&session=${encodeURIComponent(t)}`:``}function Mi(e,t,n,r){let i=[`/api/agents/${encodeURIComponent(e)}/events?limit=2000`];t.before&&i.push(`&before=${encodeURIComponent(t.before)}`),t.after&&i.push(`&after=${encodeURIComponent(t.after)}`);let a=ji(e,n);return a&&i.push(a),r&&i.push(`&branch=${encodeURIComponent(r)}&lineage=true`),i.join(``)}async function U(e,t){let r=Ei,a=t??i()??``;try{let t=V(),i=r!==Di||!ee().length;h().length||Ci(!0),Y(`/api/agents/${e}/skills`).then(t=>{r===Ei&&n()===e&&$a(t.skills??[])}).catch(()=>{});let[o,s]=await Promise.all([Y(Mi(e,{},a,t)),i?Y(`/api/agents/${e}/branches`):Promise.resolve({branches:ee()})]);if(i&&(Di=r),r!==Ei||n()!==e)return;g(e=>{let t=new Map;for(let n of e)t.set(n.id,n);for(let e of yi(o.events))t.set(e.id,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}),v(o.total??o.events.length),E(s.branches)}catch{}finally{Ci(!1)}}function Ni(){return document.querySelector(`.feed`)}function Pi(){let e=Ni();return e?{top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight}:null}function Fi(){return Ke(Pi())}function Ii(){let e=Ni();if(!e)return;let t=()=>e.isConnected?(e.scrollTop=e.scrollHeight,fo={top:e.scrollTop,height:e.scrollHeight},!0):!1;if(!t())return;Ut(0);let n=r=>{e.isConnected&&zt()&&(Xe(zt(),{top:e.scrollTop,height:e.scrollHeight,viewport:e.clientHeight})&&t(),r>0&&requestAnimationFrame(()=>n(r-1)))};requestAnimationFrame(()=>n(2)),Vt&&clearTimeout(Vt),Vt=setTimeout(()=>n(0),250)}function Li(e=!1){(e||zt())&&Ii()}let Ri=new Map,zi=new Map,Bi=8388608,Vi=e=>$e(e),Hi=(t,n)=>dn(c().get(t),e().find(e=>e.id===t)?.session,n);async function Ui(e,t=!0,s){let l=n(),u=i(),d=h(),f=_();Ei++,c().size||m();let p=Hi(e,s),ee=s&&o().has(s)?s:null,y=p??ee??e;if(l!==e||y!==u){{let e=Ni(),t=e?Oe(e):null,n=u||l;if(e&&n&&t){let r=e.querySelector(t.sel)?.dataset.eid??``,i=e.scrollHeight-e.scrollTop-e.clientHeight<=24;for(r&&zi.set(n,{eid:r,delta:e.getBoundingClientRect().top-t.top,atTail:i});zi.size>24;){let e=zi.keys().next().value;if(e===void 0)break;zi.delete(e)}}}if(u&&d.length){let e=d.reduce((e,t)=>e+Vi(t),0);e<=Bi&&Ri.set(u,{events:d,total:f,at:Date.now(),bytes:e}),Qe(Ri,{maxEntries:6,maxBytes:Bi})}_i(),Er(),tn(null),Ut(0),Bt(zi.get(y)?.atTail??!0),uo=void 0}r(e),a(y),O(ne.get(e)??``),hi(null),Ti(!1),xi(!1),sr(u||l||`?`,rr()),ir(or(y||e)),localStorage.setItem(`teapot.session`,e),ta(y,t);let b=Ri.get(y);if(b?.events.length&&(g(yi(b.events)),v(b.total),Ci(!0),zi.has(y)||requestAnimationFrame(()=>{n()===e&&Li(!0)})),Y(`/api/agents/${e}/load`,{method:`POST`}).then(Jr).catch(()=>{}),await U(e,y),n()!==e)return;Tn(t=>{let n=t.get(e)??null,r=yt(n,h(),R()?.status);if(r===n)return t;let i=new Map(t);return r?i.set(e,r):i.delete(e),i}),tn(R()?.ctx?.compacting?{phase:String(R().ctx.compacting)}:null);let x=zi.get(y);Bt(!x||x.atTail),requestAnimationFrame(()=>{if(n()===e){if(x){let e=Ni(),t=e?.querySelector(`[data-eid="${CSS.escape(x.eid)}"]`);if(e&&t){e.scrollTop+=t.getBoundingClientRect().top-e.getBoundingClientRect().top+x.delta,fo={top:e.scrollTop,height:e.scrollHeight},x.atTail&&Li(!0);return}x.atTail&&Li(!0)}else Li(!0)}}),ki()}let[Wi,Gi]=y(!1),Ki=null,qi=null;T(()=>Ki?.close());let Ji=!1,Yi=null;document.addEventListener(`visibilitychange`,()=>Yi?.()),T(()=>{Yi=null});let Xi=!0,Zi=null;async function Qi(){let e=n(),t=h().at(-1)?.id,r=i(),a=document.visibilityState===`hidden`;if(!e||!t)Ji=!0,a||Zi?.();else try{let n=V(),i=await Y(Mi(e,{after:t},r,n)),o=i.events??[];i.gap?(g(yi(o)),v(o.length)):o.length&&(Oi(o),v(e=>e+o.length)),await Jr(),o.length&&!a&&Yr()}catch{Ji=!0}}function $i(){Xi=!0;let r=location.protocol===`https:`?`wss://`:`ws://`,a=new WebSocket(`${r}${location.host}/api/ws${XE()}`);Ki=a,a.onopen=()=>{Gi(!0),Xi?Xi=!1:Qi()},a.onclose=()=>{Gi(!1),setTimeout($i,1500)},a.onerror=()=>a.close();let o=new Set([`state`,`usage`,`session_start`]);a.onmessage=r=>{let c=JSON.parse(r.data);if(c.kind===`ping`)try{a.send(JSON.stringify({kind:`pong`}))}catch{}else if(c.kind!==`pong`){if(c.kind===`hello`&&Array.isArray(c.agents)){t(e=>qr(e,c.agents));let n=e();Tn(e=>vt(e,e=>n.find(t=>t.id===e)?.status))}else if(c.kind===`event`&&ut(c.event))Tn(e=>lt(e,c.agentId));else if(c.kind===`llm-delta`){if(!yn(c,n(),i()))return;if(Tn(e=>ct(e,c.agentId,c)),c.agentId===n()){let e=String(c.reasoning??``),t=String(c.text??``);e&&!t?Bn()||Vn(Date.now()):t&&Vn(0)}}else if(c.kind===`compaction-progress`){if(c.agentId!==n())return;c.phase===`done`?tn(null):tn({phase:c.phase,summarized:c.summarized})}else if(c.kind===`agent-update`&&c.snapshot)t(e=>{let t=e.findIndex(e=>e.id===c.snapshot.id),n=c.snapshot;return t===-1?[...e,n]:qr(e,e.map((e,n)=>n===t?c.snapshot:e))});else if(c.kind===`metrics`&&c.metrics)D(c.metrics);else if(c.kind===`tasks`&&Array.isArray(c.tasks))Zr(c.tasks);else{if(c.kind===`event`){let e=c.event?.type,t=c.event?.data??{};if(e===`system_note`&&(t.event===`prompt-delivered`||t.event===`prompt-cancelled`)){let e=String(t.promptId??``);if(e){let t=String(c.event?.session??``),n=new Set;t&&n.add(t),n.add(ar());for(let[t,r]of nr)r.some(t=>t.promptId===e)&&n.add(t);for(let t of n){let n=or(t);n.some(t=>t.promptId===e)&&sr(t,n.filter(t=>t.promptId!==e))}}}if(o.has(e)&&!KE.has(e)||(br(c.agentId,c.event),c.event?.agent!==n())||!vn(c.event,n(),i())||(Oi([c.event]),c.event&&Ln(),Ji=!0,document.visibilityState!==`visible`)||qi)return;qi=setTimeout(s,60)}document.visibilityState===`hidden`?Ji=!0:qi||=setTimeout(s,120)}}},Ji=!1;let s=async()=>{if(qi=null,n()){let e=h().at(-1)?.id,t=h().length,r=Pn();r&&!yt(r,h(),R()?.status)&&In(null),h().at(-1)?.id!==e&&(zt()?(Ii(),hr(n())):(Ut(e=>e+Math.max(0,h().length-t)),Xt(Pi())))}};Zi=s,Yi=()=>{document.visibilityState===`visible`&&(Yr(),Qr(),n()&&(Ji?(Ji=!1,s()):h().at(-1)?.id?Qi():(Ji=!0,s())))}}let ea=()=>decodeURIComponent(location.pathname.split(`/`)[2]??``);function ta(t,n=!0){let r=fn(t,o(),e().map(e=>e.id));if(!r)return;let i=`/session/${encodeURIComponent(r)}`;n?history.pushState(null,``,i):history.replaceState(null,``,i)}window.addEventListener(`popstate`,()=>{let e=ea(),t=o().get(e);t&&(t!==n()||e!==i())&&Ui(t,!1,e||null)}),x(()=>{let e=R(),t=e?`${$n()?`▶ `:e.status===`error`?`⚠ `:``}${Mn(e)} · teapot`:`teapot`;document.title=mr()>0?`(${mr()}) ${t}`:t});let na=()=>se()||fe()||z()!==null||he()&&Me();window.addEventListener(`keydown`,e=>{let t=e.target;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))e.key===`Escape`&&t.blur();else if(e.key===`Escape`){if(se()){ce(!1);return}if(fe()){pe(!1);return}if(z()){tr(null);return}if(he()&&Me()){Ie();return}let e=R();if(e&&$n()){Y(`/api/agents/${e.id}/stop`,{method:`POST`}).then(Jr);return}}else if(!na()){if(e.key===`/`)e.preventDefault(),document.querySelector(`.composer textarea`)?.focus();else if(e.key===`d`)Fe();else if(e.key===`t`)ga();else if(e.key===`ArrowDown`||e.key===`ArrowUp`){let t=ui().map(e=>e.a);if(t.length===0)return;e.preventDefault();let r=t.findIndex(e=>e.id===n()),i=e.key===`ArrowDown`?Math.min(r+1,t.length-1):Math.max(r-1,0);i!==r&&Ui(t[i].id)}}});let[ra,ia]=y(localStorage.getItem(`teapot.term`)===`1`),[aa,oa]=y([]),[sa,ca]=y(!1),la=async()=>{let e=n();if(!e)return;let t=await Y(`/api/agents/${encodeURIComponent(e)}/bg-jobs`).catch(()=>null);t?.jobs&&oa(t.jobs)};x(()=>{n(),la()}),x(()=>{if(!sa())return;let e=setInterval(()=>void la(),2e3);T(()=>clearInterval(e))});let[ua,da]=y(!1),[fa,pa]=y(``),ma=()=>{let e=R();e&&(pa(Mn(e)),da(!0))},ha=async()=>{if(!ua())return;let e=R();da(!1);let t=fa().replace(/\s+/g,` `).trim();if(!e||!t||t===Mn(e))return;let n=await Y(`/api/agents/${encodeURIComponent(e.id)}/session-title?session=${encodeURIComponent(e.session)}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify({title:t})}).catch(e=>({error:String(e)}));n?.error?UE(`rename failed: ${n.error}`):(d(n=>new Map(n).set(e.session,t)),Jr())},ga=()=>{let e=!ra();ia(e),localStorage.setItem(`teapot.term`,e?`1`:`0`)},[_a,va]=y([]),[ya,ba]=y(0),[xa,Sa]=y(-1),[Ca,wa]=y(!1),[Ta,Ea]=y(0),[Da,Oa]=y(Number(localStorage.getItem(`teapot.termH`))||Math.max(220,Math.round(window.innerHeight*.35))),ka=new Map,Aa=[null,null],ja=()=>_a()[Ta()===0?ya():xa()]??null;function Ma(e){if(!_a()[e])return;let t=Ta(),n=t===0?ya():xa(),r=t===0?xa():ya(),i=e=>t===0?ba(e):Sa(e);r===e?((e=>t===0?Sa(e):ba(e))(n),i(e)):n!==e&&i(e)}let Na=()=>Pa();async function Pa(e){let t=e??n();if(t){if(_a().filter(e=>e.agentId===t).length>=10)UE(`max 10 shells per agent (${t}) — that's already a lot`);else try{let e=(await Y(`/api/terminals`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({agentId:t})})).terminal;if(!e){UE(`could not open a shell`);return}let n=Ku(_a());va(t=>[...t,{key:e.id,agentId:e.agentId,title:e.title}]),Ta()===0?ba(n):Sa(n)}catch(e){UE(`could not open a shell: ${e.message}`)}}}function Fa(e){let t=_a()[e];if(!t)return;Y(`/api/terminals/${encodeURIComponent(t.key)}`,{method:`DELETE`}).catch(()=>{});let n=ka.get(t.key);if(n){n.ro?.disconnect();try{n.ws.close()}catch{}n.term.dispose(),ka.delete(t.key)}let r=_a().filter((t,n)=>n!==e);va(r),ba(t=>Ju(t,e,r.length)),Sa(t=>t===-1?-1:Ju(t,e,r.length))}x(()=>{Ue(),Ve(),ht(),et(),ft();for(let[,e]of ka)Sn(e.term)});function Ia(){for(let[,e]of ka){e.ro?.disconnect();try{e.ws.close()}catch{}e.term.dispose()}ka.clear()}function La(e,t){let n=ka.get(e.key);if(n&&Sn(n.term),n)n.el.parentElement!==t&&(t.appendChild(n.el),setTimeout(()=>{try{n.fit()}catch{}},30));else{let r=document.createElement(`div`);r.className=`termsession`,t.appendChild(r);let i=new Hu({cursorBlink:!0,fontSize:12.5,fontFamily:`ui-monospace, Menlo, Consolas, monospace`,theme:xn()}),a=new Gu;i.loadAddon(a),i.open(r);let o=location.protocol===`https:`?`wss://`:`ws://`,s=()=>`${o}${location.host}/api/agents/${encodeURIComponent(e.agentId)}/term?terminal=${encodeURIComponent(e.key)}${XE()}`,c=new WebSocket(s()),l,u=!1,d=t=>{t.onmessage=t=>{let n=JSON.parse(t.data);n.kind===`data`?i.write(n.data):n.kind===`ping`||(n.kind===`exit`?(u=!0,i.write(`\r\n\x1b[2m[terminal exited ${n.code??``}]\x1b[0m\r\n`),va(t=>t.filter(t=>t.key!==e.key)),ka.get(e.key)?.term.dispose(),ka.delete(e.key)):n.kind===`attach`&&n.error&&(u=!0,i.write(`\r\n\x1b[2m[${n.error}]\x1b[0m\r\n`)))},t.onclose=()=>{!u&&ka.has(e.key)&&(l||=(i.write(`\r
184
184
  \x1B[2m[connection lost — reconnecting…]\x1B[0m\r
185
- `),setTimeout(function(){if(l=void 0,!Oa.has(e.key))return;let t=new WebSocket(s());c=t,d(t),t.addEventListener(`open`,()=>h())},1500)))}};d(c),i.onData(e=>{c.readyState===WebSocket.OPEN&&c.send(JSON.stringify({kind:`input`,data:e}))});let f={cols:0,rows:0},p,m=[],h=()=>{try{a.fit()}catch{}c.readyState===WebSocket.OPEN?(i.cols!==f.cols||i.rows!==f.rows)&&(f={cols:i.cols,rows:i.rows},c.send(JSON.stringify({kind:`resize`,cols:i.cols,rows:i.rows}))):g()};function g(){p||=setInterval(()=>{Oa.has(e.key)?c.readyState===WebSocket.OPEN&&(clearInterval(p),p=void 0,h()):(clearInterval(p),p=void 0)},400)}c.addEventListener(`open`,()=>h());let _=r.parentElement??r,v=new ResizeObserver(()=>{m[0]&&clearTimeout(m[0]),m[0]=setTimeout(h,250)});v.observe(_),_!==r&&v.observe(r),setTimeout(h,60),n={el:r,term:i,fit:a,ws:c,ro:v},Oa.set(e.key,n)}return n}function La(e){let t=ka[e];if(!t)return;let n=ga()[e===0?va():ba()];if(!n){[...Oa.values()].some(e=>e.el.parentElement===t)&&t.replaceChildren();return}let r=Ia(n,t);for(let[e,r]of Oa)e!==n.key&&r.el.parentElement===t&&r.el.remove();requestAnimationFrame(()=>{r.el.parentElement!==t&&t.appendChild(r.el);try{r.fit()}catch{}if(wa()===(e===0?0:1))try{r.term.focus()}catch{}})}x(()=>{ga(),Sa(),va(),ba(),Ea(),requestAnimationFrame(()=>{La(0),Sa()&&La(1)})});let Ra=null;x(()=>{if(!na())return;let e=n();if(!e||e===Ra)return;Ra=e;let t=ga().map((e,t)=>({t:e,i:t})).filter(t=>t.t.agentId===e);t.length&&ja(t[t.length-1].i)}),x(()=>{let e=ga().length,t=Ku(va(),e);if(t!==va()&&ya(t),Sa()){let t=Ku(ba(),e);t!==ba()&&xa(t)}});let za=e=>{e.preventDefault();let t=e.clientY,n=Ea(),r=e=>{let r=Math.min(Math.max(n-(e.clientY-t),140),Math.round(window.innerHeight*.85));Da(r)},i=()=>{window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),localStorage.setItem(`teapot.termH`,String(Ea())),requestAnimationFrame(()=>{La(0),Sa()&&La(1)})};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i)},Ba=()=>{let e=!Sa();Ca(e),e&&(ba()<0||ba()===va()||ba()>=ga().length)&&xa(Ju(va(),ga().length)),requestAnimationFrame(()=>{La(0),Sa()&&La(1)})};T(Fa);let Va=e=>t=>{ka[e]=t,t&&requestAnimationFrame(()=>{La(e),Sa()&&La(1),setTimeout(()=>La(e),200)})};w(()=>{Pr(),qr().then(async()=>{await m();let t=$i(),n=t?o().get(t):void 0,r=(n?e().find(e=>e.id===n):void 0)??e().find(e=>e.id===t&&!o().has(t))??e().find(e=>e.id===localStorage.getItem(`teapot.session`))??e()[0];r&&Hi(r.id,!1,t||null)}),Jr(),Zr(),Ga(),Qi(),Y(`/api/terminals`).then(e=>{let t=e.terminals??[];t.length&&(_a(t.map(e=>({key:e.id,agentId:e.agentId,title:e.title}))),na()&&(ya(0),xa(-1)))}).catch(()=>{}),T(()=>{})});let Ha=[{cmd:`/start`,desc:`start working toward the goal`},{cmd:`/stop`,desc:`interrupt the running agent`},{cmd:`/fork`,desc:`branch the conversation here`},{cmd:`/goal`,desc:`/goal <text> — set goal & notify the agent`},{cmd:`/compact`,desc:`force a context compaction now`},{cmd:`/skill`,desc:`/skill <name> — force-load a skill and follow it`}],[Ua,Wa]=y([]),Ga=()=>Y(`/api/personas`).then(e=>Wa(e.personas)).catch(()=>{}),[Ka,qa]=y(!1),Ja=()=>{let e=re().match(/^@([A-Za-z0-9._-]*)$/);return e?e[1].toLowerCase():null},Ya=()=>{let t=Ja();return t===null?[]:[...Ua().map(e=>({key:e.key,label:`${e.label} — spawns a sub-agent`,kind:`persona`})),...e().filter(e=>e.id!==n()).map(e=>({key:e.id,label:`${e.status} — send directly`,kind:`agent`}))].filter(e=>e.key.toLowerCase().startsWith(t))},Xa=new Set([`start`,`stop`,`fork`,`compact`]),[Za,Qa]=y([]),[$a,eo]=y(null),[to,W]=y(-1),no=()=>{let e=re();if(!e.startsWith(`/`)||e.includes(`
186
- `))return[];let t=e.match(/^\/([a-z]*)(?:\s+(.*))?$/i);if(!t)return[];let n=t[1].toLowerCase(),r=(t[2]??``).trim();if(!r&&n!==`skill`){let e=Ha.filter(e=>e.cmd.slice(1).startsWith(n));return e.find(e=>e.cmd.slice(1)===n)&&Xa.has(n)?[]:e.map(e=>({insert:e.cmd+` `,title:e.desc}))}if(n===`skill`){let e=Za().filter(e=>e.name.toLowerCase().startsWith(r.toLowerCase()));return e.length===1&&e[0].name.toLowerCase()===r.toLowerCase()?[]:e.map(e=>({insert:`/skill ${e.name} `,title:e.description||`(bundled skill)`}))}return[]},ro,io,ao,oo=!1;function so(e){if(!io){io=document.createElement(`div`),io.setAttribute(`aria-hidden`,`true`);let e=io.style;e.position=`absolute`,e.visibility=`hidden`,e.pointerEvents=`none`,e.top=`0`,e.left=`-9999px`,e.whiteSpace=`pre-wrap`,e.overflowWrap=`anywhere`,e.wordBreak=`break-word`,io.dataset.mirror=``}let t=getComputedStyle(e);for(let e of[`font-family`,`font-size`,`font-weight`,`line-height`,`letter-spacing`,`padding-top`,`padding-bottom`,`padding-left`,`padding-right`,`border-top-width`,`border-bottom-width`,`box-sizing`])io.style.setProperty(e,t.getPropertyValue(e));if(io.style.width=`${e.clientWidth}px`,io.setAttribute(`data-mirror-text`,e.value.endsWith(`
187
- `)?`${e.value} `:e.value),ao||(ao=document.createElement(`div`),ao.setAttribute(`aria-hidden`,`true`),ao.style.cssText=`position:absolute;left:-9999px;top:0;pointer-events:none`,document.body.appendChild(ao)),io.parentElement!==ao&&ao.appendChild(io),!oo){let e=document.createElement(`style`);e.textContent=`[data-mirror]::after{content:attr(data-mirror-text);white-space:pre-wrap;display:block}`,document.head.appendChild(e),oo=!0}return io.scrollHeight}let co=()=>{if(!ro)return;let e=Ft();if(!ro.value&&!e){ro.style.height=``;return}let t=so(ro),n=e?-1:An(t,360);ro.style.height=n===-1?``:`${n}px`},lo,uo=null,fo,po=240,mo=4,ho;x(()=>{let e=re();ro&&On(UE)&&(kn(ro.value,e)&&(ro.value=e),co())}),w(()=>{let e=0,t=()=>{e||=requestAnimationFrame(()=>{e=0,co()})};window.addEventListener(`resize`,t),T(()=>{window.removeEventListener(`resize`,t),e&&cancelAnimationFrame(e)})});let[go,_o]=y([]),vo=e=>{let t=Array.from(e).filter(e=>e.type.startsWith(`image/`));for(let e of t){if(e.size>8e6){HE(`"${e.name}" is over 8 MB — skipped`);continue}let t=new FileReader;t.onload=()=>{_o(n=>[...n,{url:String(t.result),name:e.name}].slice(0,4))},t.readAsDataURL(e)}},yo=async(t,r,i)=>{let a=r??n();if(!a)return;let o=go(),s=e().find(e=>e.id===a)?.session||a;try{let e=await Y(`/api/agents/${a}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t,start:!0,...i?{source:i}:{},...o.length?{images:o}:{}})});or(s,[...ar(s),{id:`@p${Date.now()}${Math.random().toString(36).slice(2,6)}`,text:t,at:Date.now(),promptId:e.promptId,...o.length?{images:o.map(e=>e.url)}:{}}]),_o([]),Zu(Ft())&&Lt(!1),co(),zt()&&requestAnimationFrame(()=>{zt()&&Fi()})}catch(e){O(t),console.error(`send failed:`,e)}},bo=async t=>{t.preventDefault();let r=n(),i=re().trim();if(r&&i){if(i.startsWith(`@`)){let t=i.indexOf(` `),r=(t===-1?i.slice(1):i.slice(1,t)).toLowerCase(),a=t===-1?``:i.slice(t+1).trim(),o=Ua().some(e=>e.key.toLowerCase()===r),s=e().some(e=>e.id.toLowerCase()===r);try{if(o){if(!a){HE(`usage: @${r} <task>`);return}HE(`🧩 spawned ${(await Y(`/api/agents/${n()}/spawn`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({persona:r,task:a,context:Ka()?`fork`:`none`})})).id}${Ka()?` (forked context)`:``}`),qr(),O(``)}else if(s){if(!a){HE(`usage: @${r} <message>`);return}await Y(`/api/agents/${encodeURIComponent(r)}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:a,start:!0})}),HE(`→ delivered to @${r}`),O(``)}else{HE(`unknown @${r} — personas: ${Ua().map(e=>e.key).join(`, `)||`(none)`}`);return}}catch(e){HE(`@${r} failed: ${e.message}`)}}else if(i.startsWith(`/`)){let e=i.indexOf(` `),t=(e===-1?i.slice(1):i.slice(1,e)).toLowerCase(),n=e===-1?``:i.slice(e+1).trim();if(t===`goal`&&!n){O(`/goal `);return}if(t===`skill`&&!n){O(`/skill `);return}O(``);try{await xo(t,n)}catch(e){throw O(re()?`${i}\n${re()}`:i),e}}else O(``),await yo(i)}},xo=async(e,t)=>{let r=n();if(!r)return;let i=(e,t)=>Y(`/api/agents/${r}${e}`,{method:`POST`,headers:{"content-type":`application/json`},...t===void 0?{}:{body:JSON.stringify(t)}}).then(qr);try{if(e===`start`)await i(`/start`);else if(e===`stop`)await i(`/stop`);else if(e===`fork`)await i(`/fork`,{}),await Hi(r);else if(e===`compact`)HE((await i(`/compact`))?.ran?`context compacted`:`nothing to compact yet`);else if(e===`goal`){if(!t){HE(`usage: /goal <text>`);return}await i(`/goal`,{text:t,notify:!0}),HE(`goal saved & notification queued`)}else if(e===`skill`){if(!t){HE(`usage: /skill <name>`);return}await yo(`[harness] Force-load and follow the skill "${t}" now: call load_skill("${t}") and execute its playbook for the current task.`,void 0,`harness`),HE(`skill "${t}" dispatched`)}else HE(`unknown command "${e}" — /start /stop /fork /goal /skill /compact`)}catch(t){HE(`/${e} failed: ${t.message}`)}},So,Co=0;x(()=>{e(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!So)return;let e=Math.min(Co,So.scrollHeight);Math.abs(So.scrollTop-e)>1&&(So.scrollTop=e)})})});let wo=e=>()=>n()&&Y(`/api/agents/${n()}${e}`,{method:`POST`}).then(qr),To=async()=>{let i=n();if(!i)return;let a=new Set([i,...rn(e(),i).map(e=>e.id)]),o=a.size-1;if(!confirm(`archive agent ${i}?\n\n`+(o>0?`Its ${o} sub-agent${o===1?``:`s`} will be archived too.\n\n`:``)+`They stop running and leave the list, but the config and full session history are KEPT — restore any of them from ⚙️ settings → archive.`))return;await Y(`/api/agents/${i}/archive`,{method:`POST`}).catch(()=>{}),t(e().filter(e=>!a.has(e.id))),m(!0);let s=Yu(e(),a);s?Hi(s.id):(r(null),gi())},Eo=async()=>{n()&&(HE(`stopped: ${((await Y(`/api/agents/${n()}/stop-children`,{method:`POST`})).stopped??[]).join(`, `)||`(none)`}`),qr())},Do=()=>Y(`/api/agents/${R().id}/fork`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`}).then(async()=>{await m(!0),await Hi(R().id)}),[Oo,ko]=y(``),[Ao,jo]=y(pn(`goal`)),[Mo,No]=y(pn(`goalPreview`)),Po=()=>{let e={"max-height":`none`,"overflow-y":`auto`,resize:`vertical`};return Mo()>0&&(e.height=`${Mo()}px`),e},Fo=e=>{T(hn(e,e=>{No(t=>Math.abs(t-e)<1?t:(mn(`goalPreview`,e),e))}))},Io=()=>Ao()>0?{height:`${Ao()}px`}:void 0,Lo=e=>{T(hn(e,e=>{jo(t=>Math.abs(t-e)<1?t:(mn(`goal`,e),e))}))},[Ro,zo]=y(``),[Bo,Vo]=y(!1),[Ho,Uo]=y(!0),Wo=``;x(()=>{let e=n();e&&(R()?.goal,e!==Wo&&(Wo=e,Vo(!1),ko(``),zo(``)))});let Go=async e=>{if(e.preventDefault(),n()&&Oo().trim())try{await Y(`/api/agents/${n()}/goal`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:Oo(),notify:Ho(),...Ro().trim()?{verify:Ro()}:{}})}),ko(``),zo(``),Vo(!1),qr()}catch(e){HE(`goal save failed: ${e.message}`)}};return[A(M,{get when(){return Fr()},get children(){var e=Aw();return e.firstChild.firstChild.nextSibling.addEventListener(`submit`,e=>{e.preventDefault();let t=document.getElementById(`pw-input`);localStorage.setItem(`teapot.token`,t.value),location.reload()}),e}}),A(M,{get when(){return de()},children:e=>(()=>{var t=mT(),n=t.firstChild;return b(t=>{var r=Qt(e(),qt[qt.length-1]),i=Zt(e());return r!==t.e&&F(n,`src`,t.e=r),i!==t.t&&F(n,`srcset`,t.t=i),t},{e:void 0,t:void 0}),t})()}),(()=>{var t=lT(),r=t.firstChild,i=r.firstChild,a=i.nextSibling.firstChild,o=a.firstChild;o.firstChild;var s=a.nextSibling,c=s.firstChild.firstChild.nextSibling;c.firstChild;var l=c.nextSibling,d=s.nextSibling,f=r.nextSibling,p=f.nextSibling,m=p.firstChild;m.firstChild,L(t,A(M,{get when(){return N(()=>!!ge())()&&Le()},get children(){var e=jw();return e.$$click=Be,e}}),r),L(r,A(M,{get when(){return ge()},get children(){var e=Mw(),t=e.firstChild.nextSibling;return t.$$click=Be,e}}),i),L(i,A(j,{get each(){return pi()},children:t=>[A(M,{get when(){return N(()=>t.wsHeader!==void 0)()&&t.wsHeader!==``},get children(){var e=gT(),n=e.firstChild;return e.$$click=()=>ui(`ws:${t.wsHeader}`,di(t.wsHeader),t.wsCollapsedGroup===!0,t.collapsedVia),L(n,()=>t.wsCollapsedGroup?`▸`:`▾`),L(e,()=>di(t.wsHeader),null),L(e,A(M,{get when(){return(fi().get(t.wsHeader)??0)>1||t.wsCollapsedGroup},get children(){var e=hT();return L(e,()=>fi().get(t.wsHeader)??0),e}}),null),b(()=>F(e,`title`,t.wsCollapsedGroup?`${t.wsHeader} — collapsed (${B(t.wsHeader)} hidden). Click to show.`:(fi().get(t.wsHeader)??0)>1?`${t.wsHeader} — ${B(t.wsHeader)} in this directory`:t.wsHeader||``)),e}}),A(M,{get when(){return N(()=>!t.headerOnly)()&&!t.wsCollapsedGroup},get children(){var r=xT(),i=r.firstChild,a=i.nextSibling;return r.$$click=()=>Hi(t.a.id),L(r,A(M,{get when(){return tn({isSub:!!t.a.parent,collapsed:t.chatCollapsedGroup===!0,hasChildren:e().some(e=>e.parent===t.a.id)})},get fallback(){return ST()},get children(){return(()=>{let e=!t.a.parent,n=e&&ci().has(`chat:${t.a.id}`)||ri(t.a.id);return(()=>{var r=CT();return r.$$click=r=>{if(r.stopPropagation(),e){if(n){if(!$r().has(t.a.id)){let e=new Set($r());e.add(t.a.id),ei(e),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...e]))}if(ti().has(t.a.id)){let e=new Set(ti());e.delete(t.a.id),ni(e),localStorage.setItem(`teapot.collapsed`,JSON.stringify([...e]))}}else if($r().has(t.a.id)){let e=new Set($r());e.delete(t.a.id),ei(e),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...e]))}ui(`chat:${t.a.id}`,t.a.id,n)}else ii(t.a.id)},L(r,n?`▸`:`▾`),b(()=>F(r,`title`,e?n?`show ${t.a.id}`:`hide ${t.a.id} and its sub-agents`:n?`expand sub-agents`:`collapse sub-agents`)),r})()})()}}),i),L(a,()=>jn({id:t.a.id,sessionTitle:t.a.sessionTitle??u().get(t.a.session??``)})),L(r,(()=>{var e=N(()=>!!t.a.workspaceMissing);return()=>e()?wT():null})(),null),L(r,A(M,{get when(){return gr(t.a.id)>0},get children(){var e=_T();return e.firstChild,L(e,()=>gr(t.a.id),null),b(()=>F(e,`title`,`${gr(t.a.id)} unread notification${gr(t.a.id)>1?`s`:``} (including sub-agents)`)),e}}),null),L(r,A(M,{get when(){return ri(t.a.id)||t.chatCollapsedGroup===!0&&ci().has(`chat:${t.a.id}`)},get children(){return(()=>{let n=rn(e(),t.a.id),r=n.filter(e=>e.live??(e.status===`running`||e.status===`waiting`||e.status===`needs_operator`)).length;return n.length>0?(()=>{var e=TT();return e.firstChild,I(e,`subcount`+(r>0?` live`:``)),L(e,()=>n.length,null),L(e,r>0?` · ▶${r}`:``,null),b(()=>F(e,`title`,`${n.length} sub-agent${n.length>1?`s`:``} (${r} active)`)),e})():null})()}}),null),L(r,A(M,{get when(){return t.a.parent},get children(){return vT()}}),null),L(r,A(M,{get when(){return Qr(t.a.id).length>0},get children(){var e=yT();return b(()=>F(e,`title`,Qr(t.a.id).map(e=>`${e.id}: ${e.schedule}`).join(`
188
- `))),e}}),null),L(r,A(M,{get when(){return t.a.goal.status===`done`},get children(){return bT()}}),null),b(e=>{var o=`agent-item`+(t.a.id===n()?` sel`:``)+(t.depth>0?` sub-row`:``)+(t.chatCollapsedGroup?` collapsed`:``),s=t.depth>0?`padding-left:${10+t.depth*14}px`:``,c=t.a.parent?(()=>{let e=nn(t.a.id,Ua().map(e=>e.key));return e?`sub-agent of @${t.a.parent} — "${e}"`:`sub-agent of @${t.a.parent}`})():void 0,l=`dot ${t.a.status}`,d=t.a.status===`needs_operator`?`waiting for your answer`:t.a.status===`waiting`?`waiting on its own work — resumes by itself`:t.a.status,f=t.a.workspaceMissing?` ghost`:``,p=t.a.workspaceMissing?`workspace not found on disk (${t.a.workspace}) — it will be created when this session runs`:Mn({id:t.a.id,sessionTitle:t.a.sessionTitle??u().get(t.a.session??``)});return o!==e.e&&I(r,e.e=o),e.t=ke(r,s,e.t),c!==e.a&&F(r,`title`,e.a=c),l!==e.o&&I(i,e.o=l),d!==e.i&&F(i,`title`,e.i=d),f!==e.n&&I(a,e.n=f),p!==e.s&&F(a,`title`,e.s=p),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),r}})]})),o.$$click=e=>{e.stopPropagation(),fr(!dr()),dr()||cr(e=>e.map(e=>({...e,read:!0})))},L(o,A(M,{get when(){return pr()>0},get children(){var e=Nw();return L(e,pr),e}}),null),L(a,A(nd,{icon:`👻`,get active(){return lr()},get title(){return lr()?`show ghost sessions again (👻 workspace missing on disk)`:`hide ghost sessions (👻 — their workspace directory no longer exists)`},onClick:t=>{t.stopPropagation();let r=!lr();if(ur(r),localStorage.setItem(`teapot.hideGhosts`,r?`1`:`0`),r&&n()&&R()?.workspaceMissing){let t=e().find(e=>!e.workspaceMissing);t&&Hi(t.id)}}}),null),L(a,A(nd,{icon:`+`,title:`new agent`,onClick:()=>{Pr(),ce(!0)}}),null),L(a,A(nd,{icon:`⚙️`,title:`settings`,onClick:()=>{Pr(),pe(!0)}}),null),L(c,`0.37.101`,null),L(d,A(M,{get when(){return te()},get children(){return[`master rss `,N(()=>te().rssMb),`MB · heap `,N(()=>te().heapUsedMb),`MB`,A(M,{get when(){return te().heapTotalMb!==void 0},get children(){return[` · total `,N(()=>te().heapTotalMb),`MB`]}}),A(M,{get when(){return te().externalMb!==void 0},get children(){return[` · ext `,N(()=>te().externalMb),`MB`]}}),Pw(),`load1 `,N(()=>te().loadavg1),` · up `,N(()=>Math.floor(te().uptimeSec/60)),`m`]}})),L(f,A(M,{get when(){return R()?.id},keyed:!0,get fallback(){return ET()},get children(){return[(()=>{var t=Vw(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=o.nextSibling,c=s.nextSibling.nextSibling,l=c.nextSibling.nextSibling,u=l.nextSibling.nextSibling;u.nextSibling;var d=a.nextSibling,f=d.firstChild,p=f.nextSibling;return L(t,A(M,{get when(){return ge()},get children(){var e=Fw();return e.$$click=()=>Re(!Le()),b(()=>F(e,`aria-expanded`,Le())),e}}),r),r.$$click=()=>pa(),L(t,A(M,{get when(){return la()},get fallback(){return(()=>{var e=DT();return e.$$click=()=>pa(),L(e,()=>jn(R())),b(()=>F(e,`title`,`${Mn(R(),R().session)} — click to rename`)),e})()},get children(){var e=Iw();return e.addEventListener(`blur`,()=>void ma()),e.$$keydown=e=>{e.key===`Enter`?(e.preventDefault(),ma()):e.key===`Escape`&&(e.preventDefault(),ua(!1))},e.$$input=e=>fa(e.currentTarget.value),je(e=>{requestAnimationFrame(()=>{e.focus(),e.select()})},e),F(e,`spellcheck`,!1),b(()=>e.value=da()),e}}),i),L(i,()=>R().status),L(t,A(M,{get when(){return Zn()>0},get children(){var e=Lw(),t=e.firstChild.nextSibling,n=t.nextSibling.nextSibling;return n.nextSibling,L(e,Zn,t),L(e,()=>Zn()===1?`message`:`messages`,n),L(e,()=>R().status===`stopped`?` (stopped)`:``,null),b(()=>F(e,`title`,(()=>{let e=R().pendingPromptQueue??[],t=e.length||R().pendingPromptIds?.length||R().pendingPrompts||0,n=e.length?e.filter(e=>(e.source??`user`)===`user`).length:t,r=t-n;return`${`${t} message${t>1?`s`:``} queued${r?` — ${n} from you, ${r} from the harness`:` from you`}`}. ${R().status===`stopped`?`This agent is STOPPED, so nothing will run until you press start (or it is resumed).`:`They are handed to the model at its next turn boundary — the timeline shows them as queued… until then.`}`+(n?` Yours can be withdrawn with ✕ cancel while still queued.`:``)})())),e}}),a),L(t,A(M,{get when(){return ia().length>0},get children(){var e=Rw();return e.firstChild,e.$$click=()=>{sa(!oa()),oa()&&ca()},L(e,()=>ia().filter(e=>e.running).length||ia().length,null),L(e,()=>ia().some(e=>e.running)?` running`:` done`,null),b(t=>{var n=oa(),r=`background shells — ${ia().filter(e=>e.running).length} running, ${ia().length} total (click to inspect)`;return n!==t.e&&F(e,`aria-expanded`,t.e=n),r!==t.t&&F(e,`title`,t.t=r),t},{e:void 0,t:void 0}),e}}),a),L(t,A(M,{get when(){return Qr(R().id).length>0},get children(){var e=zw();return e.firstChild,L(e,()=>Qr(R().id).length,null),b(()=>F(e,`title`,`scheduled tasks:\n${Qr(R().id).map(e=>`${e.schedule} · ${e.id}${e.forked?` (forked)`:``}`).join(`
189
- `)}`)),e}}),a),L(a,()=>R().model,o),L(a,()=>R().session,s),L(a,()=>R().branch,c),L(a,()=>R().stats.turns,l),L(a,()=>R().stats.toolCalls,u),f.$$click=()=>(Qn()?wo(`/stop`):wo(`/start`))(),L(f,()=>Qn()?`■ stop`:`▶ start`),L(d,A(M,{get when(){return e().some(e=>e.parent===n())},get children(){return A(nd,{icon:`⏹`,title:`stop every sub-agent this agent spawned (descendants included)`,onClick:Eo})}}),p),L(d,A(nd,{icon:`🗄`,title:`archive this agent — reversible: it leaves the list but keeps its config and history (restore in ⚙️ settings → archive)`,onClick:To}),null),L(d,A(nd,{icon:`⑂`,title:`fork: branch off the conversation here — try things without disturbing the main line`,onClick:Do}),null),L(d,A(nd,{icon:`⌨`,title:`terminal (t)`,onClick:ha}),null),L(d,A(nd,{icon:`▤`,title:`toggle details panel (d)`,get active(){return Me()},onClick:Fe}),null),L(t,A(M,{get when(){return oa()},get children(){var e=Bw(),t=e.firstChild.firstChild.nextSibling;return t.$$click=()=>sa(!1),L(e,A(M,{get when(){return ia().length>0},get fallback(){return OT()},get children(){return A(j,{get each(){return ia()},children:e=>(()=>{var t=AT(),n=t.firstChild.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling;return L(r,()=>Cx(e.cmd,80)),L(i,(()=>{var t=N(()=>!!e.detached);return()=>t()?`detached · pid ${e.pid??`?`}`:N(()=>!!e.running)()?at(Date.now()-e.startedAt):`exit ${e.code??`?`}`})(),null),L(i,()=>e.truncated?` · truncated`:``,null),a.$$click=async()=>{await Y(`/api/agents/${encodeURIComponent(R().id)}/bg-jobs/${encodeURIComponent(e.id)}`,{method:`DELETE`}).catch(()=>{}),await ca()},L(a,(()=>{var t=N(()=>!!e.detached);return()=>t()?`forget`:e.running?`kill`:`clear`})()),L(t,A(M,{get when(){return e.tail.trim()},get fallback(){return A(M,{get when(){return e.detached},get children(){var t=jT(),n=t.firstChild.nextSibling;return n.nextSibling,L(t,()=>e.pid??`?`,n),t}})},get children(){var t=kT();return L(t,()=>e.tail),t}}),null),b(t=>{var i=`bgjob-dot `+(e.running?`running`:`done`),o=e.running?`running`:`finished`,s=e.cmd,c=e.detached?`this job survived a harness restart (pid ${e.pid??`?`}) — its output can no longer be read here; stop it yourself if needed`:e.running?`kill this job (whole process group)`:`forget this finished job`;return i!==t.e&&I(n,t.e=i),o!==t.t&&F(n,`title`,t.t=o),s!==t.a&&F(r,`title`,t.a=s),c!==t.o&&F(a,`title`,t.o=c),t},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()})}}),null),e}}),null),b(e=>{var t=`badge ${R().status}`,n=R().statusReason&&!/^(round complete|prompt|api start|goal set|created via web|start)$/.test(R().statusReason)?`${R().status} — ${R().statusReason}`:void 0,r=`${R().model} · ${R().session}/${R().branch} · turns ${R().stats.turns} · tools ${R().stats.toolCalls}`,o=`runbtn`+(Qn()?` danger`:``),s=Qn()?`interrupt: aborts the current LLM call; the running tool finishes first`:`run toward the goal (starts the loop)`;return t!==e.e&&I(i,e.e=t),n!==e.t&&F(i,`title`,e.t=n),r!==e.a&&F(a,`title`,e.a=r),o!==e.o&&I(f,e.o=o),s!==e.i&&F(f,`title`,e.i=s),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),t})(),(()=>{var e=Yw();return e.addEventListener(`scroll`,e=>{let t=e.currentTarget,r={top:t.scrollTop,height:t.scrollHeight,viewport:t.clientHeight},i=qe(r,uo,fo,ho);i===`layout`&&!zt()&&mo>0&&Math.abs(r.height-(fo??r.height))>1&&(mo--,Ee(t,ye)),uo=null,fo=r.height,ho=r.viewport,lo=r,Yt(r);let a=zt(),o=performance.now();o-be>100&&(be=o,ye=Oe(t));let s=Ye(a,i,r,lo?.top);s!==a&&Bt(s),i===`reader`&&(mo=4),s&&i!==`reader`?(Ht()&&Ut(0),hr(),Je(s,r)&&Ge(r)>0&&Fi()):s&&Ke(r)&&(Ht()&&Ut(0),hr()),r.top<=4&&n()&&!yi()&&!Ci()&&h().length>0&&ki()}),je(e=>De(e),e),L(e,A(M,{get when(){return Xt()},children:e=>(()=>{var t=MT();return t.firstChild,L(t,(()=>{var t=N(()=>e().phase===`harvesting`);return()=>t()?`saving durable lessons…`:`summarizing ${e().summarized?Sx(e().summarized)+` `:``}older messages…`})(),null),t})()}),null),L(e,A(M,{get when(){return N(()=>!!Ci())()&&Or().length>0},get children(){return Hw()}}),null),L(e,A(M,{get when(){return yi()},get children(){return Uw()}}),null),L(e,A(M,{get when(){return Or().length>0},get fallback(){return N(()=>!!xi())()?NT():PT()},get children(){return[A(j,{get each(){return Or()},children:e=>A(XS,{e,prev:()=>jr(e,-1),next:()=>jr(e,1),get showBranch(){return ee().length>1},res:()=>xr().resFor.get(e.id),get orphan(){return xr().orphanCalls.has(e.id)},onOption:e=>void yo(e),answeredIds:Er,onAnswered:wr,get agentActive(){return N(()=>!!$n())()&&_t(e)},onResize:()=>{zt()&&Fi()},get agentId(){return n()??void 0},get onCancel(){return e.data?.source===`user`&&e.data?.pending&&e.data?.promptId&&e.data?.sent!==!0?()=>{let t=String(e.data.promptId);Y(`/api/agents/${n()}/prompt/cancel`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({promptId:t})}).then(e=>{let n=String(e.text??``);O(re()?`${n}\n\n${re()}`:n),or(ir(),nr().filter(e=>e.promptId!==t)),HE(`message withdrawn — draft restored`)}).catch(()=>HE(`withdraw failed — it may have already been sent`))}:void 0},get onEdit(){return e.type===`prompt`&&e.data?.source===`user`&&!(e.data?.pending&&e.data?.sent!==!0)&&!e.data?.cancelled?async()=>{Qn()&&(await Y(`/api/agents/${n()}/stop`,{method:`POST`}).catch(()=>{}),await qr()),er({eventId:e.id,text:String(e.data?.text??``)})}:void 0}})}),A(M,{get when(){return xi()},get children(){return Ww()}}),A(M,{get when(){return N(()=>!!$n())()&&Nn()},get children(){var e=Jw(),t=e.firstChild.nextSibling;return t.firstChild,L(t,A(M,{get when(){return Kn().trim()!==``},get children(){var e=Gw(),t=e.firstChild;t.firstChild;var n=t.nextSibling;return L(t,A(Ad,{get startedAt(){return Wn()}}),null),je(e=>{let t=!0;e.addEventListener(`scroll`,()=>{t=e.scrollHeight-e.scrollTop-e.clientHeight<24}),x(()=>{Kn(),t&&(e.scrollTop=e.scrollHeight)})},n),L(n,Kn),e}}),null),L(t,A(M,{get when(){return Ln()},get fallback(){return FT()},get children(){return A(M,{get when(){return fn()},get fallback(){return(()=>{var e=qw();return b(()=>e.innerHTML=ze(Ln()+`▍`)),e})()},get children(){return[Kw(),(()=>{var e=qw();return b(()=>e.innerHTML=ze(gn()+`▍`)),e})()]}})}}),null),e}})]}}),null),e})(),A(M,{get when(){return na()},get children(){var t=eT(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=i.nextSibling,o=a.firstChild,s=r.nextSibling,c=s.firstChild;n.$$dblclick=()=>{Da(Math.max(220,Math.round(window.innerHeight*.35))),localStorage.setItem(`teapot.termH`,String(Ea()))},n.$$pointerdown=za,L(i,A(j,{get each(){return ga()},children:(e,t)=>(()=>{var n=IT(),r=n.firstChild.nextSibling;return n.$$click=()=>ja(t()),L(n,()=>e.title,r),r.$$click=e=>{e.stopPropagation(),Pa(t())},b(r=>{var i=`termtab`+(wa()===0&&va()===t()?` active`:``)+(Sa()&&wa()===1&&ba()===t()?` active`:``),a=`${e.title} — click to show in focused pane`;return i!==r.e&&I(n,r.e=i),a!==r.t&&F(n,`title`,r.t=a),r},{e:void 0,t:void 0}),n})()}),null),L(i,A(nd,{icon:`+`,title:`new shell in this workspace`,onClick:Ma}),null),L(o,(()=>{var t=N(()=>!!Aa());return()=>t()?e().find(e=>e.id===Aa().agentId)?.workspace.split(`/`).filter(Boolean).pop():R()?.workspace})()),L(a,A(nd,{icon:`◫`,get title(){return Sa()?`single pane`:`split panes (50/50)`},onClick:Ba}),null),L(a,A(nd,{icon:`▾`,title:`hide the terminal (shells keep running; reopen with t) — close individual shells with their ✕ tab buttons`,onClick:ha}),null);var l=Va(0);return typeof l==`function`&&je(l,c),c.$$pointerdown=()=>Ta(0),L(c,A(M,{get when(){return va()<0||va()>=ga().length},get children(){return Xw()}})),L(s,A(M,{get when(){return Sa()},get children(){return[Zw(),(()=>{var e=$w(),t=Va(1);return typeof t==`function`&&je(t,e),e.$$pointerdown=()=>Ta(1),L(e,A(M,{get when(){return ba()<0||ba()>=ga().length},get children(){return Qw()}})),b(()=>e.classList.toggle(`focused`,wa()===1)),e})()]}}),null),b(e=>{var n={height:`${Ea()}px`},r=!!Sa(),i=wa()===0;return e.e=ke(t,n,e.e),r!==e.t&&s.classList.toggle(`split`,e.t=r),i!==e.a&&c.classList.toggle(`focused`,e.a=i),e},{e:void 0,t:void 0,a:void 0}),t}}),(()=>{var e=sT(),t=e.firstChild,n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling;return L(e,A(M,{get when(){return N(()=>Wt()>32)()&&!zt()},get children(){var e=tT();return e.firstChild,e.$$click=()=>{Ii(!0),hr()},L(e,(()=>{var e=N(()=>Ht()>0);return()=>e()?`${Ht()} new message${Ht()>1?`s`:``}`:`jump to present`})(),null),e}}),t),L(e,A(M,{get when(){return no().length>0},get children(){var e=nT();return L(e,A(j,{get each(){return no()},children:(e,t)=>(()=>{var n=LT(),r=n.firstChild,i=r.nextSibling;return n.$$click=()=>{O(e.insert),W(-1)},L(r,()=>e.insert.trim()),L(i,()=>e.title),b(r=>{var i=`cmdrow`+(t()===to()?` active`:``),a=e.title;return i!==r.e&&I(n,r.e=i),a!==r.t&&F(n,`title`,r.t=a),r},{e:void 0,t:void 0}),n})()})),e}}),t),L(e,A(M,{get when(){return Ya().length>0},get children(){var e=nT();return L(e,A(j,{get each(){return Ya()},children:e=>(()=>{var t=RT(),n=t.firstChild;n.firstChild;var r=n.nextSibling;return t.$$click=()=>{O(`@${e.key} `),W(-1)},L(n,()=>e.key,null),L(r,()=>e.label),b(()=>F(t,`title`,e.label)),t})()})),e}}),t),t.addEventListener(`submit`,bo),L(t,A(M,{get when(){return go().length>0},get children(){var e=rT(),t=e.firstChild,n=t.firstChild,r=n.nextSibling;return r.nextSibling,L(e,A(j,{get each(){return go()},children:(e,t)=>(()=>{var n=zT(),r=n.firstChild,i=r.nextSibling;return i.$$click=()=>_o(e=>e.filter((e,n)=>n!==t())),b(t=>{var i=e.name,a=e.url,o=e.name;return i!==t.e&&F(n,`title`,t.e=i),a!==t.t&&F(r,`src`,t.t=a),o!==t.a&&F(r,`alt`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),n})()}),t),L(t,()=>go().length,n),L(t,()=>go().length>1?`s`:``,r),e}}),n),n.$$keydown=e=>{let t=no();t.length>0&&e.key===`ArrowDown`?(e.preventDefault(),W(e=>Math.min(e+1,t.length-1))):t.length>0&&e.key===`ArrowUp`?(e.preventDefault(),W(e=>Math.max(e-1,0))):t.length>0&&(e.key===`Tab`||e.key===`Enter`)&&!e.shiftKey&&to()>=0&&!UE?(e.preventDefault(),O(t[to()].insert),W(-1)):e.key===`Escape`&&t.length>0?W(-1):Xu({key:e.key,shiftKey:e.shiftKey,composing:UE,maximized:Ft()})&&(e.preventDefault(),bo(e))},n.$$input=e=>{O(e.currentTarget.value),W(0),co()},n.addEventListener(`paste`,e=>{let t=Array.from(e.clipboardData?.files??[]).filter(e=>e.type.startsWith(`image/`));t.length&&(e.preventDefault(),vo(t))}),n.addEventListener(`compositionend`,()=>{requestAnimationFrame(()=>{UE=!1}),O(ro?.value??``)}),n.addEventListener(`compositionstart`,()=>{UE=!0}),je(e=>{ro=e,e.value=re()},n),L(t,A(M,{get when(){return N(()=>!!re().startsWith(`@`))()&&re().includes(` `)},get children(){var e=iT(),t=e.firstChild;return t.addEventListener(`change`,e=>qa(e.currentTarget.checked)),b(()=>t.checked=Ka()),e}}),r),r.$$click=()=>{let e=!Ft();Lt(e),requestAnimationFrame(()=>co())},L(r,()=>Ft()?`⤡`:`⤢`),L(t,A(nd,{icon:`📎`,title:`attach images (or paste them straight into the box)`,onClick:()=>document.getElementById(`composer-file`)?.click()}),i),L(t,A(M,{get when(){return go().length},get children(){var e=aT();return e.firstChild,L(e,()=>go().length,null),e}}),i),a.addEventListener(`change`,e=>{e.currentTarget.files?.length&&vo(e.currentTarget.files),e.currentTarget.value=``}),L(e,A(M,{get when(){return zE()},get children(){var e=oT();return L(e,zE),e}}),null),b(t=>{var i=`composer`+(Ft()?` maximized`:``),a=`message #${R().id} — / for commands · paste or 📎 to attach images`,o=Ft()?`restore composer (hide timeline)`:`maximize composer — hide the timeline and fill the main column`;return i!==t.e&&I(e,t.e=i),a!==t.t&&F(n,`placeholder`,t.t=a),o!==t.a&&F(r,`title`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),e})()]}})),L(t,A(M,{get when(){return N(()=>!!ge())()&&Me()},get children(){var e=cT();return e.$$click=()=>Pe(!1),e}}),p),p.addEventListener(`scroll`,e=>{Co=e.currentTarget.scrollTop});var g=So;return typeof g==`function`?je(g,p):So=p,L(m,A(nd,{icon:`✕`,title:`close details panel (esc)`,onClick:Ie}),null),L(p,A(M,{get when(){return R()?.id},keyed:!0,fallback:null,children:t=>[A(M,{get when(){return R().id},keyed:!0,fallback:null,children:e=>A(kw,{agentId:e,get workspace(){return R().workspace}})}),(()=>{var e=VT();return e.firstChild,L(e,A(M,{get when(){return Dt().length},get children(){var e=BT(),t=e.firstChild.nextSibling;return t.nextSibling,L(e,()=>Dt().length,t),e}}),null),e})(),(()=>{var t=WT(),r=t.firstChild,i=r.nextSibling,a=i.firstChild,o=a.nextSibling,s=i.nextSibling,c=s.firstChild,l=s.nextSibling;return l.firstChild,r.addEventListener(`change`,t=>{let r=t.currentTarget.value;Pt=!0,St(r),wt(Tn(ae().providers,r,e().find(e=>e.id===n()))),At(r)}),L(r,A(j,{get each(){return kt()},children:e=>(()=>{var t=uE();return t.value=e,L(t,e,null),L(t,()=>e===ae().defaultProvider?` ★`:``,null),t})()})),a.$$input=e=>wt(e.currentTarget.value),L(o,A(j,{get each(){return Dt()},children:e=>(()=>{var t=uE();return b(()=>t.value=e.id),t})()})),L(t,A(M,{get when(){return R().effortSupported},get children(){var e=HT(),t=e.firstChild.nextSibling;return t.firstChild,t.addEventListener(`change`,e=>Et(e.currentTarget.value)),L(t,A(j,{get each(){return N(()=>!!R().effortOptions?.length)()?R().effortOptions:LE},children:e=>(()=>{var t=uE();return t.value=e,L(t,e),t})()}),null),b(()=>t.value=Tt()),e}}),s),c.$$click=async e=>{if(!n())return;let t=e.currentTarget;t.disabled=!0;try{await Y(`/api/agents/${n()}/model`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({provider:xt(),model:Ct().trim()||void 0,contextWindowTokens:Dt().find(e=>e.id===(Ct().trim()||void 0))?.contextLength,...R().effortSupported?{reasoningEffort:Tt()}:{}})}),t.textContent=`✓ applied`,qr()}catch(e){alert(`apply failed: ${e.message}`)}finally{setTimeout(()=>{t.textContent=`apply`,t.disabled=!1},1200)}},L(l,()=>R().model,null),L(t,A(M,{get when(){return Mt()},get children(){var e=UT();return L(e,Mt),e}}),null),b(()=>F(a,`placeholder`,En(ae().providers,xt(),R(),Cn(R(),ae().providers,ae().defaultProvider)))),b(()=>r.value=xt()),b(()=>a.value=Ct()),t})(),(()=>{var e=GT(),t=e.firstChild.firstChild;return t.addEventListener(`change`,e=>{n()&&Y(`/api/agents/${n()}/auto-continue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({value:e.currentTarget.checked})}).then(qr)}),b(()=>t.checked=R().autoContinue??!0),e})(),(()=>{var e=qT();return e.firstChild,L(e,A(M,{get when(){return!!R().goal.text.trim()},get fallback(){return dE()},get children(){var e=KT();return L(e,()=>R().goal.status),b(()=>I(e,`badge ${R().goal.status===`active`?`running`:R().goal.status}`)),e}}),null),e})(),(()=>{var e=JT();return e.firstChild,L(e,A(j,{each:[`active`,`done`,`paused`],children:e=>(()=>{var t=fE();return t.$$click=()=>{n()&&Y(`/api/agents/${n()}/goal`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({status:e})}).then(qr)},F(t,`title`,e===`active`?`agent keeps working toward the goal (with auto-continue)`:e===`done`?`mark achieved — auto-continue stops`:`parked on purpose — resume by setting active again`),L(t,e===`active`?`▶ working`:e===`done`?`✓ done`:`⏸ paused`),b(n=>{var r=`goalstate`+(R().goal.text.trim()&&R().goal.status===e?` on ${e}`:``),i=!!R().goal.text.trim()&&R().goal.status===e;return r!==n.e&&I(t,n.e=r),i!==n.t&&(t.disabled=n.t=i),n},{e:void 0,t:void 0}),t})()}),null),e})(),A(M,{get when(){return R().goal.text},get fallback(){return pE()},get children(){return[(()=>{var e=YT(),t=e.firstChild;return je(Fo,e),b(n=>{var r=Po(),i=ze(String(R().goal.text));return n.e=ke(e,r,n.e),i!==n.t&&(t.innerHTML=n.t=i),n},{e:void 0,t:void 0}),e})(),A(M,{get when(){return R().goal.verify},get children(){return A(Gt,{title:`🔍️ verification contract`,tone:`tool`,get body(){return String(R().goal.verify)}})}}),A(M,{get when(){return R().goal.audit},children:e=>A(Gt,{get title(){return e().verdict===`approved`?`✅ audit: approved`:`⚠ audit: changes required`},get meta(){return st(e().at)},get tone(){return e().verdict===`approved`?`ok`:`warn`},get body(){return N(()=>!!Rt(e().feedback))()?`_the auditor returned a verdict with no detail_`:e().feedback}})})]}}),(()=>{var e=XT(),t=e.firstChild,n=t.nextSibling,r=n.nextSibling.firstChild.firstChild;return e.addEventListener(`submit`,Go),t.$$input=e=>{ko(e.currentTarget.value),Vo(!0)},je(Lo,t),n.$$input=e=>{zo(e.currentTarget.value),Vo(!0)},r.addEventListener(`change`,e=>Uo(e.currentTarget.checked)),b(e=>ke(t,{...Io()??{}},e)),b(()=>t.value=Oo()),b(()=>n.value=Ro()),b(()=>r.checked=Ho()),e})(),(()=>{var e=QT();return e.firstChild,L(e,A(M,{get when(){return Gr().total>0},get children(){var e=ZT(),t=e.firstChild,n=t.nextSibling;return n.nextSibling,L(e,()=>Gr().done,t),L(e,()=>Gr().total,n),b(t=>ke(e,Gr().done===Gr().total?`color:var(--ok)`:`color:var(--warn)`,t)),e}}),null),e})(),A(M,{get when(){return Gr().total>0},get children(){var e=$T(),t=e.firstChild;return b(e=>{var n=`barfill `+(Gr().done===Gr().total?``:`warn`),r=`${Math.round(Gr().done/Gr().total*100)}%`;return n!==e.e&&I(t,e.e=n),r!==e.t&&Ae(t,`width`,e.t=r),e},{e:void 0,t:void 0}),e}}),A(Xd,{get draft(){return Lr()},get preview(){return zr()},onDraft:e=>{Rr(e),Hr(!0)}}),(()=>{var e=eE(),t=e.firstChild,n=t.nextSibling;return L(e,A(nd,{get icon(){return zr()?`✎`:`👁`},get title(){return zr()?`edit markdown`:`rendered checklist`},onClick:()=>Br(!zr())}),t),n.$$click=Wr,e})(),tE(),A(M,{get when(){return R().latestProgress},get fallback(){return mE()},children:e=>(()=>{var t=yE(),n=t.firstChild,r=n.firstChild.nextSibling,i=n.nextSibling;return L(t,A(M,{get when(){return e().recent},get children(){var t=hE(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().recent)),t}}),i),L(t,A(M,{get when(){return e().problems},get children(){var t=gE(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().problems)),t}}),i),L(t,A(M,{get when(){return e().next},get children(){var t=_E(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().next)),t}}),i),L(t,A(M,{get when(){return e().goalStatus},get children(){var t=vE(),n=t.firstChild.nextSibling;return L(n,()=>e().goalStatus),t}}),i),L(i,()=>st(e().ts)),b(()=>r.innerHTML=it(e().doing)),t})()}),nE(),(()=>{var e=aE(),t=e.firstChild,r=t.firstChild,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling,s=a.nextSibling,c=s.firstChild.nextSibling,l=s.nextSibling,u=l.firstChild.nextSibling,d=l.nextSibling,f=d.firstChild.nextSibling;return L(e,A(M,{get when(){return R().ctx},keyed:!0,get fallback(){return bE()},children:e=>{let t=S(()=>{let t=e,n=Dt().find(e=>e.id===R().model),r=t.window||n?.contextLength||0,i=r?Math.min(999,t.usedTokens/r*100):0;return{usedTokens:t.usedTokens,compactAt:t.compactAt,compacting:t.compacting,window:t.window,effectiveWindow:r,pct:i,cls:r?i>=85?`crit`:i>=70?`warn`:`ok`:``,derivedBudget:r?Math.round(r*.75):0,usingDerived:t.compactAtIsManual!==!0}}),r=()=>t(),i=e=>{let t=Math.round(e*10)/10;return Number.isInteger(t)?String(t):t.toFixed(1)};return(()=>{var e=wE(),t=e.firstChild,a=t.firstChild.nextSibling,o=a.firstChild.nextSibling;o.nextSibling;var s=t.nextSibling,c=s.firstChild.nextSibling,l=c.firstChild,u=c.nextSibling,d=s.nextSibling,f=d.firstChild.firstChild;return L(a,()=>Sx(r().usedTokens),o),L(t,A(M,{get when(){return r().effectiveWindow},get children(){var e=xE(),t=e.firstChild;return L(e,()=>i(r().pct),t),L(e,()=>Sx(r().effectiveWindow),null),b(()=>I(e,`pill ${r().cls}`)),e}}),null),L(e,A(M,{get when(){return r().effectiveWindow},get children(){var e=SE(),t=e.firstChild;return b(e=>{var n=`barfill ${r().cls}`,i=`${Math.min(100,r().pct)}%`;return n!==e.e&&I(t,e.e=n),i!==e.t&&Ae(t,`width`,e.t=i),e},{e:void 0,t:void 0}),e}}),s),L(c,()=>Sx(r().usingDerived?r().derivedBudget:r().compactAt),l),L(u,()=>r().usingDerived?`75% of window`:`manual`),L(e,A(M,{get when(){return Xt()||r().compacting},get children(){var e=CE(),t=e.firstChild.nextSibling.nextSibling;return L(t,()=>Xt()?.phase??String(r().compacting)),e}}),d),f.addEventListener(`change`,e=>{n()&&Y(`/api/agents/${n()}/auto-compact`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({value:e.currentTarget.checked})}).then(qr)}),b(()=>f.checked=R().autoCompact!==!1),e})()}}),t),L(i,()=>Sx(R().stats.inputTokens)),L(o,()=>Sx(R().stats.outputTokens)),L(c,()=>R().stats.turns),L(u,()=>R().stats.toolCalls),L(f,()=>R().stats.compactions??0),L(t,A(M,{get when(){return(R().stats.costUsd??0)>0},get children(){var e=rE(),t=e.firstChild.nextSibling;return t.firstChild,L(t,()=>QE(R().stats.costUsd??0),null),b(()=>F(e,`title`,`≈ ${(R().stats.costUsd??0).toFixed(4)} this session, from the model's per-token pricing and per-turn usage. Cached input is estimated at ~10% of the prompt rate; treat as an approximation, not an invoice.`)),e}}),null),L(t,A(M,{get when(){return(R().stats.cachedInputTokens??0)>0},get children(){var e=iE(),t=e.firstChild.nextSibling,n=t.firstChild;return L(t,()=>Math.round(R().stats.cachedInputTokens/Math.max(1,R().stats.inputTokens)*100),n),b(()=>F(e,`title`,`${Sx(R().stats.cachedInputTokens)} input tokens were served from the provider's prompt cache — billed far cheaper than fresh input`)),e}}),null),b(()=>F(d,`title`,`how many times old turns were summarized into notes to make room. ${R().stats.compactions?`Each one keeps the recent stretch verbatim.`:`Not yet — the context has fit so far.`}`)),e})(),(()=>{var e=sE();return e.firstChild.nextSibling,L(e,A(M,{get when(){return V()},get children(){var e=oE(),t=e.firstChild.nextSibling;return L(t,V),e}}),null),e})(),A(j,{get each(){return ee()},children:e=>(()=>{var t=TE(),r=t.firstChild,i=r.nextSibling,a=i.firstChild;return t.$$click=()=>{let t=V()===e.branch?null:e.branch,r=t!==V();mi(t),n()&&(r&&(Ti++,gi(),v(0),wi(!1)),U(n()))},L(r,()=>e.branch,null),L(r,()=>e.branch===R().branch?` (current)`:``,null),L(i,()=>e.events,a),b(n=>{var r=`branch-row`+(e.branch===R().branch||e.branch===V()?` cur`:``),i=e.branch===V()?`click to show all branches again`:`show only ${e.branch}`;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),n},{e:void 0,t:void 0}),t})()}),(()=>{var e=lE();return e.firstChild,L(e,A(M,{get when(){return Yr().length>0},get children(){var e=cE(),t=e.firstChild.nextSibling;return t.nextSibling,L(e,()=>Yr().length,t),e}}),null),e})(),A(M,{get when(){return Yr().length>0},get fallback(){return EE()},get children(){return A(j,{get each(){return Yr()},children:e=>(()=>{var t=OE(),r=t.firstChild,i=r.firstChild,a=i.nextSibling;a.firstChild;var o=r.nextSibling,s=o.firstChild,c=o.nextSibling;return t.$$click=()=>Hi(e.agent),L(i,()=>e.id),L(a,()=>e.agent,null),L(r,A(M,{get when(){return e.forked},get children(){return DE()}}),null),L(o,()=>e.schedule,s),L(o,(()=>{var t=N(()=>!!e.next);return()=>t()?st(e.next):`—`})(),null),L(o,(()=>{var t=N(()=>!!e.last);return()=>t()?` · last ${st(e.last)}`:` · never ran`})(),null),L(c,()=>Cx(e.prompt,90)),b(r=>{var i=`sched-row`+(e.agent===n()?` cur`:``),a=`${Cx(e.prompt,200)}\nclick to open #${e.agent}`;return i!==r.e&&I(t,r.e=i),a!==r.t&&F(t,`title`,r.t=a),r},{e:void 0,t:void 0}),t})()})}})]}),null),b(e=>{var n=`layout`+(Me()?``:` right-hidden`)+(Le()?` left-open`:``),i=`sidebar`+(Le()?` open`:``),a=`iconbtn notifbtn`+(pr()>0?` has-unread`:``),s=pr()>0?`${pr()} unread notifications`:`notifications`,c=`conn`+(Ui()?` ok`:``),u=Ui()?`live (websocket)`:`reconnecting…`,d={"--termh":`${Ea()}px`},m=`rightbar`+(Me()?` open`:``);return n!==e.e&&I(t,e.e=n),i!==e.t&&I(r,e.t=i),a!==e.a&&I(o,e.a=a),s!==e.o&&F(o,`title`,e.o=s),c!==e.i&&I(l,e.i=c),u!==e.n&&F(l,`title`,e.n=u),e.s=ke(f,d,e.s),m!==e.h&&I(p,e.h=m),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),t})(),A(M,{get when(){return dr()},get children(){return[(()=>{var e=uT();return e.$$click=()=>fr(!1),e})(),(()=>{var t=pT(),r=t.firstChild.firstChild.nextSibling,i=r.firstChild;return L(r,A(M,{get when(){return sr().length>0},get children(){var e=dT();return e.$$click=()=>cr([]),e}}),i),i.$$click=()=>fr(!1),L(t,A(M,{get when(){return sr().length>0},get fallback(){return kE()},get children(){var t=fT();return L(t,A(j,{get each(){return sr()},children:t=>(()=>{var r=jE(),i=r.firstChild.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling;return r.$$click=()=>{cr(e=>e.map(e=>e.id===t.id?{...e,read:!0}:e)),n()!==t.agentId&&e().some(e=>e.id===t.agentId)&&Hi(t.agentId),fr(!1),t.eventId&&setTimeout(()=>br(t.eventId),n()===t.agentId?60:350)},L(i,(()=>{var e=N(()=>t.kind===`finish`);return()=>e()?`✅`:N(()=>t.kind===`question`)()?`❓️`:t.kind===`error`?`⚠️`:`📈`})()),L(a,()=>t.title),L(o,()=>st(new Date(t.at).toISOString())),s.$$click=e=>{e.stopPropagation(),cr(e=>e.map(e=>e.id===t.id?{...e,read:!0}:e))},L(s,()=>t.read?`✓`:`○`),L(r,A(M,{get when(){return t.body},get children(){var e=AE();return L(e,()=>ZE(t.body,160)),e}}),null),b(e=>{var n=`notifitem `+t.kind+(t.read?` read`:``),i=`from ${t.agentId}`,a=t.read?`already read`:`mark as read`;return n!==e.e&&I(r,e.e=n),i!==e.t&&F(r,`title`,e.t=i),a!==e.a&&F(s,`title`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),r})()})),t}}),null),t})()]}}),A(M,{get when(){return se()},get children(){return A($E,{get providers(){return Object.keys(ae().providers??{})},onClose:()=>ce(!1),onCreated:e=>{ce(!1),qr(),Hi(e)}})}}),A(M,{get when(){return fe()},get children(){return A(ow,{get cfg(){return ae()},onClose:()=>pe(!1),announcedOAuth:me,get skills(){return Za()},get hasSelection(){return!!n()},get agentId(){return n()},get features(){return $a()},onSaved:()=>{Pr(),Zr()},theme:{themes:ot,activeId:Ve,paintedId:ue,auto:Ue,setAuto:e=>{We(e),localStorage.setItem(`teapot.theme.auto`,e?`1`:`0`)},dark:ft,setDark:pt,light:et,setLight:tt,setThemes:dt,setActive:He,preview:e=>rt(e),commitAppearance:e=>{localStorage.setItem(`teapot.theme.auto`,e.auto?`1`:`0`),localStorage.setItem(`teapot.theme.dark`,e.dark),localStorage.setItem(`teapot.theme.light`,e.light),localStorage.setItem(`teapot.theme`,e.fixed)}}})}}),A(M,{get when(){return z()},fallback:null,children:e=>{let t=()=>h().findIndex(t=>t.id===e().eventId),r=()=>Math.max(0,h().length-t()-1);return A(id,{title:`edit prompt — forks the conversation`,onClose:()=>er(null),get children(){var t=NE(),i=t.firstChild,a=i.nextSibling,o=a.firstChild;return t.addEventListener(`submit`,async t=>{t.preventDefault();let r=document.getElementById(`edit-text`);try{await Y(`/api/agents/${n()}/edit-prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({eventId:e().eventId,text:r.value})}),er(null),qr();let t=n();t&&await Hi(t)}catch(e){alert(`edit failed: ${e.message}`)}}),L(t,A(M,{get when(){return r()>0},get children(){var e=ME(),t=e.firstChild;return L(e,r,t),e}}),a),o.$$click=()=>er(null),b(()=>i.value=e().text),t}})}})]}function ZE(e,t){return e.length>t?e.slice(0,t)+` …`:e}function QE(e){return e>=100?Math.round(e).toLocaleString():e>=10?e.toFixed(1):e>=1?e.toFixed(2):e>=.01?e.toFixed(3):e.toFixed(4)}function $E(e){let[t,n]=y(`~`),[r,i]=y([]),[a,o]=y(``),[s,c]=y(e.providers[0]??``),[l,u]=y(``),[d,f]=y(``);async function p(e){let r=await Y(`/api/fs?path=${encodeURIComponent(e??t())}`);n(r.path),h(r.parent??``),i(r.entries??[])}w(()=>p(t()));let[m,h]=y(``),g=async n=>{n.preventDefault(),f(``);try{let n=await Y(`/api/agents`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({workspace:t(),id:a(),provider:s()||void 0,model:l()||void 0,start:!1})});e.onCreated(n.agent.id)}catch(e){f(String(e.message))}};return A(id,{title:`new agent`,get onClose(){return e.onClose},get children(){var i=FE(),f=i.firstChild,h=f.firstChild.nextSibling.firstChild,_=h.nextSibling,v=_.nextSibling,ee=f.nextSibling,y=ee.nextSibling,x=y.firstChild,S=x.firstChild.nextSibling,C=x.nextSibling,w=C.firstChild.nextSibling,T=C.nextSibling.firstChild.nextSibling,E=y.nextSibling;return i.addEventListener(`submit`,g),h.$$input=e=>n(e.currentTarget.value),_.$$click=()=>p(t()),v.$$click=()=>m()?p(m()):p(`..`),L(ee,A(j,{get each(){return r()},children:e=>(()=>{var n=IE();return n.firstChild,n.$$click=()=>p(`${t()}/${e}`.replace(/\/+/g,`/`)),L(n,e,null),n})()})),S.$$input=e=>o(e.currentTarget.value),w.addEventListener(`change`,e=>c(e.currentTarget.value)),L(w,A(j,{get each(){return e.providers},children:e=>(()=>{var t=uE();return L(t,e),t})()})),T.$$input=e=>u(e.currentTarget.value),L(i,A(M,{get when(){return d()},get children(){var e=PE();return L(e,d),e}}),E),b(()=>h.value=t()),b(()=>S.value=a()),b(()=>w.value=s()),b(()=>T.value=l()),i}})}De([`click`,`input`,`keydown`,`pointerdown`,`dblclick`]),Ee(()=>A(XE,{}),document.getElementById(`root`));
190
- //# sourceMappingURL=index-B4ffCbU8.js.map
185
+ `),setTimeout(function(){if(l=void 0,!ka.has(e.key))return;let t=new WebSocket(s());c=t,d(t),t.addEventListener(`open`,()=>h())},1500)))}};d(c),i.onData(e=>{c.readyState===WebSocket.OPEN&&c.send(JSON.stringify({kind:`input`,data:e}))});let f={cols:0,rows:0},p,m=[],h=()=>{try{a.fit()}catch{}c.readyState===WebSocket.OPEN?(i.cols!==f.cols||i.rows!==f.rows)&&(f={cols:i.cols,rows:i.rows},c.send(JSON.stringify({kind:`resize`,cols:i.cols,rows:i.rows}))):g()};function g(){p||=setInterval(()=>{ka.has(e.key)?c.readyState===WebSocket.OPEN&&(clearInterval(p),p=void 0,h()):(clearInterval(p),p=void 0)},400)}c.addEventListener(`open`,()=>h());let _=r.parentElement??r,v=new ResizeObserver(()=>{m[0]&&clearTimeout(m[0]),m[0]=setTimeout(h,250)});v.observe(_),_!==r&&v.observe(r),setTimeout(h,60),n={el:r,term:i,fit:a,ws:c,ro:v},ka.set(e.key,n)}return n}function Ra(e){let t=Aa[e];if(!t)return;let n=_a()[e===0?ya():xa()];if(!n){[...ka.values()].some(e=>e.el.parentElement===t)&&t.replaceChildren();return}let r=La(n,t);for(let[e,r]of ka)e!==n.key&&r.el.parentElement===t&&r.el.remove();requestAnimationFrame(()=>{r.el.parentElement!==t&&t.appendChild(r.el);try{r.fit()}catch{}if(Ta()===(e===0?0:1))try{r.term.focus()}catch{}})}x(()=>{_a(),Ca(),ya(),xa(),Da(),requestAnimationFrame(()=>{Ra(0),Ca()&&Ra(1)})});let za=null;x(()=>{if(!ra())return;let e=n();if(!e||e===za)return;za=e;let t=_a().map((e,t)=>({t:e,i:t})).filter(t=>t.t.agentId===e);t.length&&Ma(t[t.length-1].i)}),x(()=>{let e=_a().length,t=qu(ya(),e);if(t!==ya()&&ba(t),Ca()){let t=qu(xa(),e);t!==xa()&&Sa(t)}});let Ba=e=>{e.preventDefault();let t=e.clientY,n=Da(),r=e=>{let r=Math.min(Math.max(n-(e.clientY-t),140),Math.round(window.innerHeight*.85));Oa(r)},i=()=>{window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),localStorage.setItem(`teapot.termH`,String(Da())),requestAnimationFrame(()=>{Ra(0),Ca()&&Ra(1)})};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i)},Va=()=>{let e=!Ca();wa(e),e&&(xa()<0||xa()===ya()||xa()>=_a().length)&&Sa(Yu(ya(),_a().length)),requestAnimationFrame(()=>{Ra(0),Ca()&&Ra(1)})};T(Ia);let Ha=e=>t=>{Aa[e]=t,t&&requestAnimationFrame(()=>{Ra(e),Ca()&&Ra(1),setTimeout(()=>Ra(e),200)})};w(()=>{Fr(),Jr().then(async()=>{await m();let t=ea(),n=Kt({agents:e(),urlId:t,ownerOf:e=>o().get(e),isSession:e=>o().has(e),lastId:localStorage.getItem(`teapot.session`),hideGhosts:ur()});n&&Ui(n.id,!1,t||null)}),Yr(),Qr(),Ka(),$i(),Y(`/api/terminals`).then(e=>{let t=e.terminals??[];t.length&&(va(t.map(e=>({key:e.id,agentId:e.agentId,title:e.title}))),ra()&&(ba(0),Sa(-1)))}).catch(()=>{}),T(()=>{})});let Ua=[{cmd:`/start`,desc:`start working toward the goal`},{cmd:`/stop`,desc:`interrupt the running agent`},{cmd:`/fork`,desc:`branch the conversation here`},{cmd:`/goal`,desc:`/goal <text> — set goal & notify the agent`},{cmd:`/compact`,desc:`force a context compaction now`},{cmd:`/skill`,desc:`/skill <name> — force-load a skill and follow it`}],[Wa,Ga]=y([]),Ka=()=>Y(`/api/personas`).then(e=>Ga(e.personas)).catch(()=>{}),[qa,Ja]=y(!1),Ya=()=>{let e=re().match(/^@([A-Za-z0-9._-]*)$/);return e?e[1].toLowerCase():null},Xa=()=>{let t=Ya();return t===null?[]:[...Wa().map(e=>({key:e.key,label:`${e.label} — spawns a sub-agent`,kind:`persona`})),...e().filter(e=>e.id!==n()).map(e=>({key:e.id,label:`${e.status} — send directly`,kind:`agent`}))].filter(e=>e.key.toLowerCase().startsWith(t))},Za=new Set([`start`,`stop`,`fork`,`compact`]),[Qa,$a]=y([]),[eo,to]=y(null),[no,W]=y(-1),ro=()=>{let e=re();if(!e.startsWith(`/`)||e.includes(`
186
+ `))return[];let t=e.match(/^\/([a-z]*)(?:\s+(.*))?$/i);if(!t)return[];let n=t[1].toLowerCase(),r=(t[2]??``).trim();if(!r&&n!==`skill`){let e=Ua.filter(e=>e.cmd.slice(1).startsWith(n));return e.find(e=>e.cmd.slice(1)===n)&&Za.has(n)?[]:e.map(e=>({insert:e.cmd+` `,title:e.desc}))}if(n===`skill`){let e=Qa().filter(e=>e.name.toLowerCase().startsWith(r.toLowerCase()));return e.length===1&&e[0].name.toLowerCase()===r.toLowerCase()?[]:e.map(e=>({insert:`/skill ${e.name} `,title:e.description||`(bundled skill)`}))}return[]},io,ao,oo,so=!1;function co(e){if(!ao){ao=document.createElement(`div`),ao.setAttribute(`aria-hidden`,`true`);let e=ao.style;e.position=`absolute`,e.visibility=`hidden`,e.pointerEvents=`none`,e.top=`0`,e.left=`-9999px`,e.whiteSpace=`pre-wrap`,e.overflowWrap=`anywhere`,e.wordBreak=`break-word`,ao.dataset.mirror=``}let t=getComputedStyle(e);for(let e of[`font-family`,`font-size`,`font-weight`,`line-height`,`letter-spacing`,`padding-top`,`padding-bottom`,`padding-left`,`padding-right`,`border-top-width`,`border-bottom-width`,`box-sizing`])ao.style.setProperty(e,t.getPropertyValue(e));if(ao.style.width=`${e.clientWidth}px`,ao.setAttribute(`data-mirror-text`,e.value.endsWith(`
187
+ `)?`${e.value} `:e.value),oo||(oo=document.createElement(`div`),oo.setAttribute(`aria-hidden`,`true`),oo.style.cssText=`position:absolute;left:-9999px;top:0;pointer-events:none`,document.body.appendChild(oo)),ao.parentElement!==oo&&oo.appendChild(ao),!so){let e=document.createElement(`style`);e.textContent=`[data-mirror]::after{content:attr(data-mirror-text);white-space:pre-wrap;display:block}`,document.head.appendChild(e),so=!0}return ao.scrollHeight}let lo=()=>{if(!io)return;let e=Ft();if(!io.value&&!e){io.style.height=``;return}let t=co(io),n=e?-1:jn(t,360);io.style.height=n===-1?``:`${n}px`},uo,fo=null,po,mo=240,ho=4,go;x(()=>{let e=re();io&&kn(WE)&&(An(io.value,e)&&(io.value=e),lo())}),w(()=>{let e=0,t=()=>{e||=requestAnimationFrame(()=>{e=0,lo()})};window.addEventListener(`resize`,t),T(()=>{window.removeEventListener(`resize`,t),e&&cancelAnimationFrame(e)})});let[_o,vo]=y([]),yo=e=>{let t=Array.from(e).filter(e=>e.type.startsWith(`image/`));for(let e of t){if(e.size>8e6){UE(`"${e.name}" is over 8 MB — skipped`);continue}let t=new FileReader;t.onload=()=>{vo(n=>[...n,{url:String(t.result),name:e.name}].slice(0,4))},t.readAsDataURL(e)}},bo=async(t,r,i)=>{let a=r??n();if(!a)return;let o=_o(),s=e().find(e=>e.id===a)?.session||a;try{let e=await Y(`/api/agents/${a}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:t,start:!0,...i?{source:i}:{},...o.length?{images:o}:{}})});sr(s,[...or(s),{id:`@p${Date.now()}${Math.random().toString(36).slice(2,6)}`,text:t,at:Date.now(),promptId:e.promptId,...o.length?{images:o.map(e=>e.url)}:{}}]),vo([]),Qu(Ft())&&Lt(!1),lo(),zt()&&requestAnimationFrame(()=>{zt()&&Ii()})}catch(e){O(t),console.error(`send failed:`,e)}},xo=async t=>{t.preventDefault();let r=n(),i=re().trim();if(r&&i){if(i.startsWith(`@`)){let t=i.indexOf(` `),r=(t===-1?i.slice(1):i.slice(1,t)).toLowerCase(),a=t===-1?``:i.slice(t+1).trim(),o=Wa().some(e=>e.key.toLowerCase()===r),s=e().some(e=>e.id.toLowerCase()===r);try{if(o){if(!a){UE(`usage: @${r} <task>`);return}UE(`🧩 spawned ${(await Y(`/api/agents/${n()}/spawn`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({persona:r,task:a,context:qa()?`fork`:`none`})})).id}${qa()?` (forked context)`:``}`),Jr(),O(``)}else if(s){if(!a){UE(`usage: @${r} <message>`);return}await Y(`/api/agents/${encodeURIComponent(r)}/prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:a,start:!0})}),UE(`→ delivered to @${r}`),O(``)}else{UE(`unknown @${r} — personas: ${Wa().map(e=>e.key).join(`, `)||`(none)`}`);return}}catch(e){UE(`@${r} failed: ${e.message}`)}}else if(i.startsWith(`/`)){let e=i.indexOf(` `),t=(e===-1?i.slice(1):i.slice(1,e)).toLowerCase(),n=e===-1?``:i.slice(e+1).trim();if(t===`goal`&&!n){O(`/goal `);return}if(t===`skill`&&!n){O(`/skill `);return}O(``);try{await So(t,n)}catch(e){throw O(re()?`${i}\n${re()}`:i),e}}else O(``),await bo(i)}},So=async(e,t)=>{let r=n();if(!r)return;let i=(e,t)=>Y(`/api/agents/${r}${e}`,{method:`POST`,headers:{"content-type":`application/json`},...t===void 0?{}:{body:JSON.stringify(t)}}).then(Jr);try{if(e===`start`)await i(`/start`);else if(e===`stop`)await i(`/stop`);else if(e===`fork`)await i(`/fork`,{}),await Ui(r);else if(e===`compact`)UE((await i(`/compact`))?.ran?`context compacted`:`nothing to compact yet`);else if(e===`goal`){if(!t){UE(`usage: /goal <text>`);return}await i(`/goal`,{text:t,notify:!0}),UE(`goal saved & notification queued`)}else if(e===`skill`){if(!t){UE(`usage: /skill <name>`);return}await bo(`[harness] Force-load and follow the skill "${t}" now: call load_skill("${t}") and execute its playbook for the current task.`,void 0,`harness`),UE(`skill "${t}" dispatched`)}else UE(`unknown command "${e}" — /start /stop /fork /goal /skill /compact`)}catch(t){UE(`/${e} failed: ${t.message}`)}},Co,wo=0;x(()=>{e(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!Co)return;let e=Math.min(wo,Co.scrollHeight);Math.abs(Co.scrollTop-e)>1&&(Co.scrollTop=e)})})});let To=e=>()=>n()&&Y(`/api/agents/${n()}${e}`,{method:`POST`}).then(Jr),Eo=async()=>{let i=n();if(!i)return;let a=new Set([i,...an(e(),i).map(e=>e.id)]),o=a.size-1;if(!confirm(`archive agent ${i}?\n\n`+(o>0?`Its ${o} sub-agent${o===1?``:`s`} will be archived too.\n\n`:``)+`They stop running and leave the list, but the config and full session history are KEPT — restore any of them from ⚙️ settings → archive.`))return;await Y(`/api/agents/${i}/archive`,{method:`POST`}).catch(()=>{}),t(e().filter(e=>!a.has(e.id))),m(!0);let s=Xu(e(),a);s?Ui(s.id):(r(null),_i())},Do=async()=>{n()&&(UE(`stopped: ${((await Y(`/api/agents/${n()}/stop-children`,{method:`POST`})).stopped??[]).join(`, `)||`(none)`}`),Jr())},Oo=()=>Y(`/api/agents/${R().id}/fork`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`}).then(async()=>{await m(!0),await Ui(R().id)}),[ko,Ao]=y(``),[jo,Mo]=y(mn(`goal`)),[No,Po]=y(mn(`goalPreview`)),Fo=()=>{let e={"max-height":`none`,"overflow-y":`auto`,resize:`vertical`};return No()>0&&(e.height=`${No()}px`),e},Io=e=>{T(gn(e,e=>{Po(t=>Math.abs(t-e)<1?t:(hn(`goalPreview`,e),e))}))},Lo=()=>jo()>0?{height:`${jo()}px`}:void 0,Ro=e=>{T(gn(e,e=>{Mo(t=>Math.abs(t-e)<1?t:(hn(`goal`,e),e))}))},[zo,Bo]=y(``),[Vo,Ho]=y(!1),[Uo,Wo]=y(!0),Go=``;x(()=>{let e=n();e&&(R()?.goal,e!==Go&&(Go=e,Ho(!1),Ao(``),Bo(``)))});let Ko=async e=>{if(e.preventDefault(),n()&&ko().trim())try{await Y(`/api/agents/${n()}/goal`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({text:ko(),notify:Uo(),...zo().trim()?{verify:zo()}:{}})}),Ao(``),Bo(``),Ho(!1),Jr()}catch(e){UE(`goal save failed: ${e.message}`)}};return[A(M,{get when(){return Ir()},get children(){var e=jw();return e.firstChild.firstChild.nextSibling.addEventListener(`submit`,e=>{e.preventDefault();let t=document.getElementById(`pw-input`);localStorage.setItem(`teapot.token`,t.value),location.reload()}),e}}),A(M,{get when(){return de()},children:e=>(()=>{var t=hT(),n=t.firstChild;return b(t=>{var r=$t(e(),Jt[Jt.length-1]),i=Qt(e());return r!==t.e&&F(n,`src`,t.e=r),i!==t.t&&F(n,`srcset`,t.t=i),t},{e:void 0,t:void 0}),t})()}),(()=>{var t=uT(),r=t.firstChild,i=r.firstChild,a=i.nextSibling.firstChild,o=a.firstChild;o.firstChild;var s=a.nextSibling,c=s.firstChild.firstChild.nextSibling;c.firstChild;var l=c.nextSibling,d=s.nextSibling,f=r.nextSibling,p=f.nextSibling,m=p.firstChild;m.firstChild,L(t,A(M,{get when(){return N(()=>!!ge())()&&Le()},get children(){var e=Mw();return e.$$click=Be,e}}),r),L(r,A(M,{get when(){return ge()},get children(){var e=Nw(),t=e.firstChild.nextSibling;return t.$$click=Be,e}}),i),L(i,A(j,{get each(){return mi()},children:t=>[A(M,{get when(){return N(()=>t.wsHeader!==void 0)()&&t.wsHeader!==``},get children(){var e=_T(),n=e.firstChild;return e.$$click=()=>di(`ws:${t.wsHeader}`,fi(t.wsHeader),t.wsCollapsedGroup===!0,t.collapsedVia),L(n,()=>t.wsCollapsedGroup?`▸`:`▾`),L(e,()=>fi(t.wsHeader),null),L(e,A(M,{get when(){return(pi().get(t.wsHeader)??0)>1||t.wsCollapsedGroup},get children(){var e=gT();return L(e,()=>pi().get(t.wsHeader)??0),e}}),null),b(()=>F(e,`title`,t.wsCollapsedGroup?`${t.wsHeader} — collapsed (${B(t.wsHeader)} hidden). Click to show.`:(pi().get(t.wsHeader)??0)>1?`${t.wsHeader} — ${B(t.wsHeader)} in this directory`:t.wsHeader||``)),e}}),A(M,{get when(){return N(()=>!t.headerOnly)()&&!t.wsCollapsedGroup},get children(){var r=ST(),i=r.firstChild,a=i.nextSibling;return r.$$click=()=>Ui(t.a.id),L(r,A(M,{get when(){return nn({isSub:!!t.a.parent,collapsed:t.chatCollapsedGroup===!0,hasChildren:e().some(e=>e.parent===t.a.id)})},get fallback(){return CT()},get children(){return(()=>{let e=!t.a.parent,n=e&&li().has(`chat:${t.a.id}`)||ii(t.a.id);return(()=>{var r=wT();return r.$$click=r=>{if(r.stopPropagation(),e){if(n){if(!ei().has(t.a.id)){let e=new Set(ei());e.add(t.a.id),ti(e),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...e]))}if(ni().has(t.a.id)){let e=new Set(ni());e.delete(t.a.id),ri(e),localStorage.setItem(`teapot.collapsed`,JSON.stringify([...e]))}}else if(ei().has(t.a.id)){let e=new Set(ei());e.delete(t.a.id),ti(e),localStorage.setItem(`teapot.expandedSubs`,JSON.stringify([...e]))}di(`chat:${t.a.id}`,t.a.id,n)}else ai(t.a.id)},L(r,n?`▸`:`▾`),b(()=>F(r,`title`,e?n?`show ${t.a.id}`:`hide ${t.a.id} and its sub-agents`:n?`expand sub-agents`:`collapse sub-agents`)),r})()})()}}),i),L(a,()=>Mn({id:t.a.id,sessionTitle:t.a.sessionTitle??u().get(t.a.session??``)})),L(r,(()=>{var e=N(()=>!!t.a.workspaceMissing);return()=>e()?TT():null})(),null),L(r,A(M,{get when(){return _r(t.a.id)>0},get children(){var e=vT();return e.firstChild,L(e,()=>_r(t.a.id),null),b(()=>F(e,`title`,`${_r(t.a.id)} unread notification${_r(t.a.id)>1?`s`:``} (including sub-agents)`)),e}}),null),L(r,A(M,{get when(){return ii(t.a.id)||t.chatCollapsedGroup===!0&&li().has(`chat:${t.a.id}`)},get children(){return(()=>{let n=an(e(),t.a.id),r=n.filter(e=>e.live??(e.status===`running`||e.status===`waiting`||e.status===`needs_operator`)).length;return n.length>0?(()=>{var e=ET();return e.firstChild,I(e,`subcount`+(r>0?` live`:``)),L(e,()=>n.length,null),L(e,r>0?` · ▶${r}`:``,null),b(()=>F(e,`title`,`${n.length} sub-agent${n.length>1?`s`:``} (${r} active)`)),e})():null})()}}),null),L(r,A(M,{get when(){return t.a.parent},get children(){return yT()}}),null),L(r,A(M,{get when(){return $r(t.a.id).length>0},get children(){var e=bT();return b(()=>F(e,`title`,$r(t.a.id).map(e=>`${e.id}: ${e.schedule}`).join(`
188
+ `))),e}}),null),L(r,A(M,{get when(){return t.a.goal.status===`done`},get children(){return xT()}}),null),b(e=>{var o=`agent-item`+(t.a.id===n()?` sel`:``)+(t.depth>0?` sub-row`:``)+(t.chatCollapsedGroup?` collapsed`:``),s=t.depth>0?`padding-left:${10+t.depth*14}px`:``,c=t.a.parent?(()=>{let e=rn(t.a.id,Wa().map(e=>e.key));return e?`sub-agent of @${t.a.parent} — "${e}"`:`sub-agent of @${t.a.parent}`})():void 0,l=`dot ${t.a.status}`,d=t.a.status===`needs_operator`?`waiting for your answer`:t.a.status===`waiting`?`waiting on its own work — resumes by itself`:t.a.status,f=t.a.workspaceMissing?` ghost`:``,p=t.a.workspaceMissing?`workspace not found on disk (${t.a.workspace}) — it will be created when this session runs`:Nn({id:t.a.id,sessionTitle:t.a.sessionTitle??u().get(t.a.session??``)});return o!==e.e&&I(r,e.e=o),e.t=ke(r,s,e.t),c!==e.a&&F(r,`title`,e.a=c),l!==e.o&&I(i,e.o=l),d!==e.i&&F(i,`title`,e.i=d),f!==e.n&&I(a,e.n=f),p!==e.s&&F(a,`title`,e.s=p),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),r}})]})),o.$$click=e=>{e.stopPropagation(),pr(!fr()),fr()||lr(e=>e.map(e=>({...e,read:!0})))},L(o,A(M,{get when(){return mr()>0},get children(){var e=Pw();return L(e,mr),e}}),null),L(a,A(rd,{icon:`👻`,get active(){return ur()},get title(){return ur()?`show ghost sessions again (👻 workspace missing on disk)`:`hide ghost sessions (👻 — their workspace directory no longer exists)`},onClick:t=>{t.stopPropagation();let r=!ur();if(dr(r),localStorage.setItem(`teapot.hideGhosts`,r?`1`:`0`),r&&n()&&R()?.workspaceMissing){let t=e().find(e=>!e.workspaceMissing);t&&Ui(t.id)}}}),null),L(a,A(rd,{icon:`+`,title:`new agent`,onClick:()=>{Fr(),ce(!0)}}),null),L(a,A(rd,{icon:`⚙️`,title:`settings`,onClick:()=>{Fr(),pe(!0)}}),null),L(c,`0.37.103`,null),L(d,A(M,{get when(){return te()},get children(){return[`master rss `,N(()=>te().rssMb),`MB · heap `,N(()=>te().heapUsedMb),`MB`,A(M,{get when(){return te().heapTotalMb!==void 0},get children(){return[` · total `,N(()=>te().heapTotalMb),`MB`]}}),A(M,{get when(){return te().externalMb!==void 0},get children(){return[` · ext `,N(()=>te().externalMb),`MB`]}}),Fw(),`load1 `,N(()=>te().loadavg1),` · up `,N(()=>Math.floor(te().uptimeSec/60)),`m`]}})),L(f,A(M,{get when(){return R()?.id},keyed:!0,get fallback(){return DT()},get children(){return[(()=>{var t=Hw(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=o.nextSibling,c=s.nextSibling.nextSibling,l=c.nextSibling.nextSibling,u=l.nextSibling.nextSibling;u.nextSibling;var d=a.nextSibling,f=d.firstChild,p=f.nextSibling;return L(t,A(M,{get when(){return ge()},get children(){var e=Iw();return e.$$click=()=>Re(!Le()),b(()=>F(e,`aria-expanded`,Le())),e}}),r),r.$$click=()=>ma(),L(t,A(M,{get when(){return ua()},get fallback(){return(()=>{var e=OT();return e.$$click=()=>ma(),L(e,()=>Mn(R())),b(()=>F(e,`title`,`${Nn(R(),R().session)} — click to rename`)),e})()},get children(){var e=Lw();return e.addEventListener(`blur`,()=>void ha()),e.$$keydown=e=>{e.key===`Enter`?(e.preventDefault(),ha()):e.key===`Escape`&&(e.preventDefault(),da(!1))},e.$$input=e=>pa(e.currentTarget.value),je(e=>{requestAnimationFrame(()=>{e.focus(),e.select()})},e),F(e,`spellcheck`,!1),b(()=>e.value=fa()),e}}),i),L(i,()=>R().status),L(t,A(M,{get when(){return Qn()>0},get children(){var e=Rw(),t=e.firstChild.nextSibling,n=t.nextSibling.nextSibling;return n.nextSibling,L(e,Qn,t),L(e,()=>Qn()===1?`message`:`messages`,n),L(e,()=>R().status===`stopped`?` (stopped)`:``,null),b(()=>F(e,`title`,(()=>{let e=R().pendingPromptQueue??[],t=e.length||R().pendingPromptIds?.length||R().pendingPrompts||0,n=e.length?e.filter(e=>(e.source??`user`)===`user`).length:t,r=t-n;return`${`${t} message${t>1?`s`:``} queued${r?` — ${n} from you, ${r} from the harness`:` from you`}`}. ${R().status===`stopped`?`This agent is STOPPED, so nothing will run until you press start (or it is resumed).`:`They are handed to the model at its next turn boundary — the timeline shows them as queued… until then.`}`+(n?` Yours can be withdrawn with ✕ cancel while still queued.`:``)})())),e}}),a),L(t,A(M,{get when(){return aa().length>0},get children(){var e=zw();return e.firstChild,e.$$click=()=>{ca(!sa()),sa()&&la()},L(e,()=>aa().filter(e=>e.running).length||aa().length,null),L(e,()=>aa().some(e=>e.running)?` running`:` done`,null),b(t=>{var n=sa(),r=`background shells — ${aa().filter(e=>e.running).length} running, ${aa().length} total (click to inspect)`;return n!==t.e&&F(e,`aria-expanded`,t.e=n),r!==t.t&&F(e,`title`,t.t=r),t},{e:void 0,t:void 0}),e}}),a),L(t,A(M,{get when(){return $r(R().id).length>0},get children(){var e=Bw();return e.firstChild,L(e,()=>$r(R().id).length,null),b(()=>F(e,`title`,`scheduled tasks:\n${$r(R().id).map(e=>`${e.schedule} · ${e.id}${e.forked?` (forked)`:``}`).join(`
189
+ `)}`)),e}}),a),L(a,()=>R().model,o),L(a,()=>R().session,s),L(a,()=>R().branch,c),L(a,()=>R().stats.turns,l),L(a,()=>R().stats.toolCalls,u),f.$$click=()=>($n()?To(`/stop`):To(`/start`))(),L(f,()=>$n()?`■ stop`:`▶ start`),L(d,A(M,{get when(){return e().some(e=>e.parent===n())},get children(){return A(rd,{icon:`⏹`,title:`stop every sub-agent this agent spawned (descendants included)`,onClick:Do})}}),p),L(d,A(rd,{icon:`🗄`,title:`archive this agent — reversible: it leaves the list but keeps its config and history (restore in ⚙️ settings → archive)`,onClick:Eo}),null),L(d,A(rd,{icon:`⑂`,title:`fork: branch off the conversation here — try things without disturbing the main line`,onClick:Oo}),null),L(d,A(rd,{icon:`⌨`,title:`terminal (t)`,onClick:ga}),null),L(d,A(rd,{icon:`▤`,title:`toggle details panel (d)`,get active(){return Me()},onClick:Fe}),null),L(t,A(M,{get when(){return sa()},get children(){var e=Vw(),t=e.firstChild.firstChild.nextSibling;return t.$$click=()=>ca(!1),L(e,A(M,{get when(){return aa().length>0},get fallback(){return kT()},get children(){return A(j,{get each(){return aa()},children:e=>(()=>{var t=jT(),n=t.firstChild.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling;return L(r,()=>wx(e.cmd,80)),L(i,(()=>{var t=N(()=>!!e.detached);return()=>t()?`detached · pid ${e.pid??`?`}`:N(()=>!!e.running)()?at(Date.now()-e.startedAt):`exit ${e.code??`?`}`})(),null),L(i,()=>e.truncated?` · truncated`:``,null),a.$$click=async()=>{await Y(`/api/agents/${encodeURIComponent(R().id)}/bg-jobs/${encodeURIComponent(e.id)}`,{method:`DELETE`}).catch(()=>{}),await la()},L(a,(()=>{var t=N(()=>!!e.detached);return()=>t()?`forget`:e.running?`kill`:`clear`})()),L(t,A(M,{get when(){return e.tail.trim()},get fallback(){return A(M,{get when(){return e.detached},get children(){var t=MT(),n=t.firstChild.nextSibling;return n.nextSibling,L(t,()=>e.pid??`?`,n),t}})},get children(){var t=AT();return L(t,()=>e.tail),t}}),null),b(t=>{var i=`bgjob-dot `+(e.running?`running`:`done`),o=e.running?`running`:`finished`,s=e.cmd,c=e.detached?`this job survived a harness restart (pid ${e.pid??`?`}) — its output can no longer be read here; stop it yourself if needed`:e.running?`kill this job (whole process group)`:`forget this finished job`;return i!==t.e&&I(n,t.e=i),o!==t.t&&F(n,`title`,t.t=o),s!==t.a&&F(r,`title`,t.a=s),c!==t.o&&F(a,`title`,t.o=c),t},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()})}}),null),e}}),null),b(e=>{var t=`badge ${R().status}`,n=R().statusReason&&!/^(round complete|prompt|api start|goal set|created via web|start)$/.test(R().statusReason)?`${R().status} — ${R().statusReason}`:void 0,r=`${R().model} · ${R().session}/${R().branch} · turns ${R().stats.turns} · tools ${R().stats.toolCalls}`,o=`runbtn`+($n()?` danger`:``),s=$n()?`interrupt: aborts the current LLM call; the running tool finishes first`:`run toward the goal (starts the loop)`;return t!==e.e&&I(i,e.e=t),n!==e.t&&F(i,`title`,e.t=n),r!==e.a&&F(a,`title`,e.a=r),o!==e.o&&I(f,e.o=o),s!==e.i&&F(f,`title`,e.i=s),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),t})(),(()=>{var e=Xw();return e.addEventListener(`scroll`,e=>{let t=e.currentTarget,r={top:t.scrollTop,height:t.scrollHeight,viewport:t.clientHeight},i=qe(r,fo,po,go);i===`layout`&&!zt()&&ho>0&&Math.abs(r.height-(po??r.height))>1&&(ho--,Ee(t,ye)),fo=null,po=r.height,go=r.viewport,uo=r,Xt(r);let a=zt(),o=performance.now();o-be>100&&(be=o,ye=Oe(t));let s=Ye(a,i,r,uo?.top);s!==a&&Bt(s),i===`reader`&&(ho=4),s&&i!==`reader`?(Ht()&&Ut(0),gr(),Je(s,r)&&Ge(r)>0&&Ii()):s&&Ke(r)&&(Ht()&&Ut(0),gr()),r.top<=4&&n()&&!bi()&&!wi()&&h().length>0&&Ai()}),je(e=>De(e),e),L(e,A(M,{get when(){return Zt()},children:e=>(()=>{var t=NT();return t.firstChild,L(t,(()=>{var t=N(()=>e().phase===`harvesting`);return()=>t()?`saving durable lessons…`:`summarizing ${e().summarized?Cx(e().summarized)+` `:``}older messages…`})(),null),t})()}),null),L(e,A(M,{get when(){return N(()=>!!wi())()&&kr().length>0},get children(){return Uw()}}),null),L(e,A(M,{get when(){return bi()},get children(){return Ww()}}),null),L(e,A(M,{get when(){return kr().length>0},get fallback(){return N(()=>!!Si())()?PT():FT()},get children(){return[A(j,{get each(){return kr()},children:e=>A(ZS,{e,prev:()=>Mr(e,-1),next:()=>Mr(e,1),get showBranch(){return ee().length>1},res:()=>Sr().resFor.get(e.id),get orphan(){return Sr().orphanCalls.has(e.id)},onOption:e=>void bo(e),answeredIds:Dr,onAnswered:Tr,get agentActive(){return N(()=>!!er())()&&_t(e)},onResize:()=>{zt()&&Ii()},get agentId(){return n()??void 0},get onCancel(){return e.data?.source===`user`&&e.data?.pending&&e.data?.promptId&&e.data?.sent!==!0?()=>{let t=String(e.data.promptId);Y(`/api/agents/${n()}/prompt/cancel`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({promptId:t})}).then(e=>{let n=String(e.text??``);O(re()?`${n}\n\n${re()}`:n),sr(ar(),rr().filter(e=>e.promptId!==t)),UE(`message withdrawn — draft restored`)}).catch(()=>UE(`withdraw failed — it may have already been sent`))}:void 0},get onEdit(){return e.type===`prompt`&&e.data?.source===`user`&&!(e.data?.pending&&e.data?.sent!==!0)&&!e.data?.cancelled?async()=>{$n()&&(await Y(`/api/agents/${n()}/stop`,{method:`POST`}).catch(()=>{}),await Jr()),tr({eventId:e.id,text:String(e.data?.text??``)})}:void 0}})}),A(M,{get when(){return Si()},get children(){return Gw()}}),A(M,{get when(){return N(()=>!!er())()&&Pn()},get children(){var e=Yw(),t=e.firstChild.nextSibling;return t.firstChild,L(t,A(M,{get when(){return qn().trim()!==``},get children(){var e=Kw(),t=e.firstChild;t.firstChild;var n=t.nextSibling;return L(t,A(jd,{get startedAt(){return Gn()}}),null),je(e=>{let t=!0;e.addEventListener(`scroll`,()=>{t=e.scrollHeight-e.scrollTop-e.clientHeight<24}),x(()=>{qn(),t&&(e.scrollTop=e.scrollHeight)})},n),L(n,qn),e}}),null),L(t,A(M,{get when(){return Rn()},get fallback(){return IT()},get children(){return A(M,{get when(){return pn()},get fallback(){return(()=>{var e=Jw();return b(()=>e.innerHTML=ze(Rn()+`▍`)),e})()},get children(){return[qw(),(()=>{var e=Jw();return b(()=>e.innerHTML=ze(_n()+`▍`)),e})()]}})}}),null),e}})]}}),null),e})(),A(M,{get when(){return ra()},get children(){var t=tT(),n=t.firstChild,r=n.nextSibling,i=r.firstChild,a=i.nextSibling,o=a.firstChild,s=r.nextSibling,c=s.firstChild;n.$$dblclick=()=>{Oa(Math.max(220,Math.round(window.innerHeight*.35))),localStorage.setItem(`teapot.termH`,String(Da()))},n.$$pointerdown=Ba,L(i,A(j,{get each(){return _a()},children:(e,t)=>(()=>{var n=LT(),r=n.firstChild.nextSibling;return n.$$click=()=>Ma(t()),L(n,()=>e.title,r),r.$$click=e=>{e.stopPropagation(),Fa(t())},b(r=>{var i=`termtab`+(Ta()===0&&ya()===t()?` active`:``)+(Ca()&&Ta()===1&&xa()===t()?` active`:``),a=`${e.title} — click to show in focused pane`;return i!==r.e&&I(n,r.e=i),a!==r.t&&F(n,`title`,r.t=a),r},{e:void 0,t:void 0}),n})()}),null),L(i,A(rd,{icon:`+`,title:`new shell in this workspace`,onClick:Na}),null),L(o,(()=>{var t=N(()=>!!ja());return()=>t()?e().find(e=>e.id===ja().agentId)?.workspace.split(`/`).filter(Boolean).pop():R()?.workspace})()),L(a,A(rd,{icon:`◫`,get title(){return Ca()?`single pane`:`split panes (50/50)`},onClick:Va}),null),L(a,A(rd,{icon:`▾`,title:`hide the terminal (shells keep running; reopen with t) — close individual shells with their ✕ tab buttons`,onClick:ga}),null);var l=Ha(0);return typeof l==`function`&&je(l,c),c.$$pointerdown=()=>Ea(0),L(c,A(M,{get when(){return ya()<0||ya()>=_a().length},get children(){return Zw()}})),L(s,A(M,{get when(){return Ca()},get children(){return[Qw(),(()=>{var e=eT(),t=Ha(1);return typeof t==`function`&&je(t,e),e.$$pointerdown=()=>Ea(1),L(e,A(M,{get when(){return xa()<0||xa()>=_a().length},get children(){return $w()}})),b(()=>e.classList.toggle(`focused`,Ta()===1)),e})()]}}),null),b(e=>{var n={height:`${Da()}px`},r=!!Ca(),i=Ta()===0;return e.e=ke(t,n,e.e),r!==e.t&&s.classList.toggle(`split`,e.t=r),i!==e.a&&c.classList.toggle(`focused`,e.a=i),e},{e:void 0,t:void 0,a:void 0}),t}}),(()=>{var e=cT(),t=e.firstChild,n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling;return L(e,A(M,{get when(){return N(()=>Wt()>32)()&&!zt()},get children(){var e=nT();return e.firstChild,e.$$click=()=>{Li(!0),gr()},L(e,(()=>{var e=N(()=>Ht()>0);return()=>e()?`${Ht()} new message${Ht()>1?`s`:``}`:`jump to present`})(),null),e}}),t),L(e,A(M,{get when(){return ro().length>0},get children(){var e=rT();return L(e,A(j,{get each(){return ro()},children:(e,t)=>(()=>{var n=RT(),r=n.firstChild,i=r.nextSibling;return n.$$click=()=>{O(e.insert),W(-1)},L(r,()=>e.insert.trim()),L(i,()=>e.title),b(r=>{var i=`cmdrow`+(t()===no()?` active`:``),a=e.title;return i!==r.e&&I(n,r.e=i),a!==r.t&&F(n,`title`,r.t=a),r},{e:void 0,t:void 0}),n})()})),e}}),t),L(e,A(M,{get when(){return Xa().length>0},get children(){var e=rT();return L(e,A(j,{get each(){return Xa()},children:e=>(()=>{var t=zT(),n=t.firstChild;n.firstChild;var r=n.nextSibling;return t.$$click=()=>{O(`@${e.key} `),W(-1)},L(n,()=>e.key,null),L(r,()=>e.label),b(()=>F(t,`title`,e.label)),t})()})),e}}),t),t.addEventListener(`submit`,xo),L(t,A(M,{get when(){return _o().length>0},get children(){var e=iT(),t=e.firstChild,n=t.firstChild,r=n.nextSibling;return r.nextSibling,L(e,A(j,{get each(){return _o()},children:(e,t)=>(()=>{var n=BT(),r=n.firstChild,i=r.nextSibling;return i.$$click=()=>vo(e=>e.filter((e,n)=>n!==t())),b(t=>{var i=e.name,a=e.url,o=e.name;return i!==t.e&&F(n,`title`,t.e=i),a!==t.t&&F(r,`src`,t.t=a),o!==t.a&&F(r,`alt`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),n})()}),t),L(t,()=>_o().length,n),L(t,()=>_o().length>1?`s`:``,r),e}}),n),n.$$keydown=e=>{let t=ro();t.length>0&&e.key===`ArrowDown`?(e.preventDefault(),W(e=>Math.min(e+1,t.length-1))):t.length>0&&e.key===`ArrowUp`?(e.preventDefault(),W(e=>Math.max(e-1,0))):t.length>0&&(e.key===`Tab`||e.key===`Enter`)&&!e.shiftKey&&no()>=0&&!WE?(e.preventDefault(),O(t[no()].insert),W(-1)):e.key===`Escape`&&t.length>0?W(-1):Zu({key:e.key,shiftKey:e.shiftKey,composing:WE,maximized:Ft()})&&(e.preventDefault(),xo(e))},n.$$input=e=>{O(e.currentTarget.value),W(0),lo()},n.addEventListener(`paste`,e=>{let t=Array.from(e.clipboardData?.files??[]).filter(e=>e.type.startsWith(`image/`));t.length&&(e.preventDefault(),yo(t))}),n.addEventListener(`compositionend`,()=>{requestAnimationFrame(()=>{WE=!1}),O(io?.value??``)}),n.addEventListener(`compositionstart`,()=>{WE=!0}),je(e=>{io=e,e.value=re()},n),L(t,A(M,{get when(){return N(()=>!!re().startsWith(`@`))()&&re().includes(` `)},get children(){var e=aT(),t=e.firstChild;return t.addEventListener(`change`,e=>Ja(e.currentTarget.checked)),b(()=>t.checked=qa()),e}}),r),r.$$click=()=>{let e=!Ft();Lt(e),requestAnimationFrame(()=>lo())},L(r,()=>Ft()?`⤡`:`⤢`),L(t,A(rd,{icon:`📎`,title:`attach images (or paste them straight into the box)`,onClick:()=>document.getElementById(`composer-file`)?.click()}),i),L(t,A(M,{get when(){return _o().length},get children(){var e=oT();return e.firstChild,L(e,()=>_o().length,null),e}}),i),a.addEventListener(`change`,e=>{e.currentTarget.files?.length&&yo(e.currentTarget.files),e.currentTarget.value=``}),L(e,A(M,{get when(){return BE()},get children(){var e=sT();return L(e,BE),e}}),null),b(t=>{var i=`composer`+(Ft()?` maximized`:``),a=`message #${R().id} — / for commands · paste or 📎 to attach images`,o=Ft()?`restore composer (hide timeline)`:`maximize composer — hide the timeline and fill the main column`;return i!==t.e&&I(e,t.e=i),a!==t.t&&F(n,`placeholder`,t.t=a),o!==t.a&&F(r,`title`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),e})()]}})),L(t,A(M,{get when(){return N(()=>!!ge())()&&Me()},get children(){var e=lT();return e.$$click=()=>Pe(!1),e}}),p),p.addEventListener(`scroll`,e=>{wo=e.currentTarget.scrollTop});var g=Co;return typeof g==`function`?je(g,p):Co=p,L(m,A(rd,{icon:`✕`,title:`close details panel (esc)`,onClick:Ie}),null),L(p,A(M,{get when(){return R()?.id},keyed:!0,fallback:null,children:t=>[A(M,{get when(){return R().id},keyed:!0,fallback:null,children:e=>A(Aw,{agentId:e,get workspace(){return R().workspace}})}),(()=>{var e=HT();return e.firstChild,L(e,A(M,{get when(){return Dt().length},get children(){var e=VT(),t=e.firstChild.nextSibling;return t.nextSibling,L(e,()=>Dt().length,t),e}}),null),e})(),(()=>{var t=GT(),r=t.firstChild,i=r.nextSibling,a=i.firstChild,o=a.nextSibling,s=i.nextSibling,c=s.firstChild,l=s.nextSibling;return l.firstChild,r.addEventListener(`change`,t=>{let r=t.currentTarget.value;Pt=!0,St(r),wt(En(ae().providers,r,e().find(e=>e.id===n()))),At(r)}),L(r,A(j,{get each(){return kt()},children:e=>(()=>{var t=dE();return t.value=e,L(t,e,null),L(t,()=>e===ae().defaultProvider?` ★`:``,null),t})()})),a.$$input=e=>wt(e.currentTarget.value),L(o,A(j,{get each(){return Dt()},children:e=>(()=>{var t=dE();return b(()=>t.value=e.id),t})()})),L(t,A(M,{get when(){return R().effortSupported},get children(){var e=UT(),t=e.firstChild.nextSibling;return t.firstChild,t.addEventListener(`change`,e=>Et(e.currentTarget.value)),L(t,A(j,{get each(){return N(()=>!!R().effortOptions?.length)()?R().effortOptions:RE},children:e=>(()=>{var t=dE();return t.value=e,L(t,e),t})()}),null),b(()=>t.value=Tt()),e}}),s),c.$$click=async e=>{if(!n())return;let t=e.currentTarget;t.disabled=!0;try{await Y(`/api/agents/${n()}/model`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({provider:xt(),model:Ct().trim()||void 0,contextWindowTokens:Dt().find(e=>e.id===(Ct().trim()||void 0))?.contextLength,...R().effortSupported?{reasoningEffort:Tt()}:{}})}),t.textContent=`✓ applied`,Jr()}catch(e){alert(`apply failed: ${e.message}`)}finally{setTimeout(()=>{t.textContent=`apply`,t.disabled=!1},1200)}},L(l,()=>R().model,null),L(t,A(M,{get when(){return Mt()},get children(){var e=WT();return L(e,Mt),e}}),null),b(()=>F(a,`placeholder`,Dn(ae().providers,xt(),R(),wn(R(),ae().providers,ae().defaultProvider)))),b(()=>r.value=xt()),b(()=>a.value=Ct()),t})(),(()=>{var e=KT(),t=e.firstChild.firstChild;return t.addEventListener(`change`,e=>{n()&&Y(`/api/agents/${n()}/auto-continue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({value:e.currentTarget.checked})}).then(Jr)}),b(()=>t.checked=R().autoContinue??!0),e})(),(()=>{var e=JT();return e.firstChild,L(e,A(M,{get when(){return!!R().goal.text.trim()},get fallback(){return fE()},get children(){var e=qT();return L(e,()=>R().goal.status),b(()=>I(e,`badge ${R().goal.status===`active`?`running`:R().goal.status}`)),e}}),null),e})(),(()=>{var e=YT();return e.firstChild,L(e,A(j,{each:[`active`,`done`,`paused`],children:e=>(()=>{var t=pE();return t.$$click=()=>{n()&&Y(`/api/agents/${n()}/goal`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({status:e})}).then(Jr)},F(t,`title`,e===`active`?`agent keeps working toward the goal (with auto-continue)`:e===`done`?`mark achieved — auto-continue stops`:`parked on purpose — resume by setting active again`),L(t,e===`active`?`▶ working`:e===`done`?`✓ done`:`⏸ paused`),b(n=>{var r=`goalstate`+(R().goal.text.trim()&&R().goal.status===e?` on ${e}`:``),i=!!R().goal.text.trim()&&R().goal.status===e;return r!==n.e&&I(t,n.e=r),i!==n.t&&(t.disabled=n.t=i),n},{e:void 0,t:void 0}),t})()}),null),e})(),A(M,{get when(){return R().goal.text},get fallback(){return mE()},get children(){return[(()=>{var e=XT(),t=e.firstChild;return je(Io,e),b(n=>{var r=Fo(),i=ze(String(R().goal.text));return n.e=ke(e,r,n.e),i!==n.t&&(t.innerHTML=n.t=i),n},{e:void 0,t:void 0}),e})(),A(M,{get when(){return R().goal.verify},get children(){return A(Gt,{title:`🔍️ verification contract`,tone:`tool`,get body(){return String(R().goal.verify)}})}}),A(M,{get when(){return R().goal.audit},children:e=>A(Gt,{get title(){return e().verdict===`approved`?`✅ audit: approved`:`⚠ audit: changes required`},get meta(){return st(e().at)},get tone(){return e().verdict===`approved`?`ok`:`warn`},get body(){return N(()=>!!Rt(e().feedback))()?`_the auditor returned a verdict with no detail_`:e().feedback}})})]}}),(()=>{var e=ZT(),t=e.firstChild,n=t.nextSibling,r=n.nextSibling.firstChild.firstChild;return e.addEventListener(`submit`,Ko),t.$$input=e=>{Ao(e.currentTarget.value),Ho(!0)},je(Ro,t),n.$$input=e=>{Bo(e.currentTarget.value),Ho(!0)},r.addEventListener(`change`,e=>Wo(e.currentTarget.checked)),b(e=>ke(t,{...Lo()??{}},e)),b(()=>t.value=ko()),b(()=>n.value=zo()),b(()=>r.checked=Uo()),e})(),(()=>{var e=$T();return e.firstChild,L(e,A(M,{get when(){return Kr().total>0},get children(){var e=QT(),t=e.firstChild,n=t.nextSibling;return n.nextSibling,L(e,()=>Kr().done,t),L(e,()=>Kr().total,n),b(t=>ke(e,Kr().done===Kr().total?`color:var(--ok)`:`color:var(--warn)`,t)),e}}),null),e})(),A(M,{get when(){return Kr().total>0},get children(){var e=eE(),t=e.firstChild;return b(e=>{var n=`barfill `+(Kr().done===Kr().total?``:`warn`),r=`${Math.round(Kr().done/Kr().total*100)}%`;return n!==e.e&&I(t,e.e=n),r!==e.t&&Ae(t,`width`,e.t=r),e},{e:void 0,t:void 0}),e}}),A(Zd,{get draft(){return Rr()},get preview(){return Br()},onDraft:e=>{zr(e),Ur(!0)}}),(()=>{var e=tE(),t=e.firstChild,n=t.nextSibling;return L(e,A(rd,{get icon(){return Br()?`✎`:`👁`},get title(){return Br()?`edit markdown`:`rendered checklist`},onClick:()=>Vr(!Br())}),t),n.$$click=Gr,e})(),nE(),A(M,{get when(){return R().latestProgress},get fallback(){return hE()},children:e=>(()=>{var t=bE(),n=t.firstChild,r=n.firstChild.nextSibling,i=n.nextSibling;return L(t,A(M,{get when(){return e().recent},get children(){var t=gE(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().recent)),t}}),i),L(t,A(M,{get when(){return e().problems},get children(){var t=_E(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().problems)),t}}),i),L(t,A(M,{get when(){return e().next},get children(){var t=vE(),n=t.firstChild.nextSibling;return b(()=>n.innerHTML=it(e().next)),t}}),i),L(t,A(M,{get when(){return e().goalStatus},get children(){var t=yE(),n=t.firstChild.nextSibling;return L(n,()=>e().goalStatus),t}}),i),L(i,()=>st(e().ts)),b(()=>r.innerHTML=it(e().doing)),t})()}),rE(),(()=>{var e=oE(),t=e.firstChild,r=t.firstChild,i=r.firstChild.nextSibling,a=r.nextSibling,o=a.firstChild.nextSibling,s=a.nextSibling,c=s.firstChild.nextSibling,l=s.nextSibling,u=l.firstChild.nextSibling,d=l.nextSibling,f=d.firstChild.nextSibling;return L(e,A(M,{get when(){return R().ctx},keyed:!0,get fallback(){return xE()},children:e=>{let t=S(()=>{let t=e,n=Dt().find(e=>e.id===R().model),r=t.window||n?.contextLength||0,i=r?Math.min(999,t.usedTokens/r*100):0;return{usedTokens:t.usedTokens,compactAt:t.compactAt,compacting:t.compacting,window:t.window,effectiveWindow:r,pct:i,cls:r?i>=85?`crit`:i>=70?`warn`:`ok`:``,derivedBudget:r?Math.round(r*.75):0,usingDerived:t.compactAtIsManual!==!0}}),r=()=>t(),i=e=>{let t=Math.round(e*10)/10;return Number.isInteger(t)?String(t):t.toFixed(1)};return(()=>{var e=TE(),t=e.firstChild,a=t.firstChild.nextSibling,o=a.firstChild.nextSibling;o.nextSibling;var s=t.nextSibling,c=s.firstChild.nextSibling,l=c.firstChild,u=c.nextSibling,d=s.nextSibling,f=d.firstChild.firstChild;return L(a,()=>Cx(r().usedTokens),o),L(t,A(M,{get when(){return r().effectiveWindow},get children(){var e=SE(),t=e.firstChild;return L(e,()=>i(r().pct),t),L(e,()=>Cx(r().effectiveWindow),null),b(()=>I(e,`pill ${r().cls}`)),e}}),null),L(e,A(M,{get when(){return r().effectiveWindow},get children(){var e=CE(),t=e.firstChild;return b(e=>{var n=`barfill ${r().cls}`,i=`${Math.min(100,r().pct)}%`;return n!==e.e&&I(t,e.e=n),i!==e.t&&Ae(t,`width`,e.t=i),e},{e:void 0,t:void 0}),e}}),s),L(c,()=>Cx(r().usingDerived?r().derivedBudget:r().compactAt),l),L(u,()=>r().usingDerived?`75% of window`:`manual`),L(e,A(M,{get when(){return Zt()||r().compacting},get children(){var e=wE(),t=e.firstChild.nextSibling.nextSibling;return L(t,()=>Zt()?.phase??String(r().compacting)),e}}),d),f.addEventListener(`change`,e=>{n()&&Y(`/api/agents/${n()}/auto-compact`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({value:e.currentTarget.checked})}).then(Jr)}),b(()=>f.checked=R().autoCompact!==!1),e})()}}),t),L(i,()=>Cx(R().stats.inputTokens)),L(o,()=>Cx(R().stats.outputTokens)),L(c,()=>R().stats.turns),L(u,()=>R().stats.toolCalls),L(f,()=>R().stats.compactions??0),L(t,A(M,{get when(){return(R().stats.costUsd??0)>0},get children(){var e=iE(),t=e.firstChild.nextSibling;return t.firstChild,L(t,()=>$E(R().stats.costUsd??0),null),b(()=>F(e,`title`,`≈ ${(R().stats.costUsd??0).toFixed(4)} this session, from the model's per-token pricing and per-turn usage. Cached input is estimated at ~10% of the prompt rate; treat as an approximation, not an invoice.`)),e}}),null),L(t,A(M,{get when(){return(R().stats.cachedInputTokens??0)>0},get children(){var e=aE(),t=e.firstChild.nextSibling,n=t.firstChild;return L(t,()=>Math.round(R().stats.cachedInputTokens/Math.max(1,R().stats.inputTokens)*100),n),b(()=>F(e,`title`,`${Cx(R().stats.cachedInputTokens)} input tokens were served from the provider's prompt cache — billed far cheaper than fresh input`)),e}}),null),b(()=>F(d,`title`,`how many times old turns were summarized into notes to make room. ${R().stats.compactions?`Each one keeps the recent stretch verbatim.`:`Not yet — the context has fit so far.`}`)),e})(),(()=>{var e=cE();return e.firstChild.nextSibling,L(e,A(M,{get when(){return V()},get children(){var e=sE(),t=e.firstChild.nextSibling;return L(t,V),e}}),null),e})(),A(j,{get each(){return ee()},children:e=>(()=>{var t=EE(),r=t.firstChild,i=r.nextSibling,a=i.firstChild;return t.$$click=()=>{let t=V()===e.branch?null:e.branch,r=t!==V();hi(t),n()&&(r&&(Ei++,_i(),v(0),Ti(!1)),U(n()))},L(r,()=>e.branch,null),L(r,()=>e.branch===R().branch?` (current)`:``,null),L(i,()=>e.events,a),b(n=>{var r=`branch-row`+(e.branch===R().branch||e.branch===V()?` cur`:``),i=e.branch===V()?`click to show all branches again`:`show only ${e.branch}`;return r!==n.e&&I(t,n.e=r),i!==n.t&&F(t,`title`,n.t=i),n},{e:void 0,t:void 0}),t})()}),(()=>{var e=uE();return e.firstChild,L(e,A(M,{get when(){return Xr().length>0},get children(){var e=lE(),t=e.firstChild.nextSibling;return t.nextSibling,L(e,()=>Xr().length,t),e}}),null),e})(),A(M,{get when(){return Xr().length>0},get fallback(){return DE()},get children(){return A(j,{get each(){return Xr()},children:e=>(()=>{var t=kE(),r=t.firstChild,i=r.firstChild,a=i.nextSibling;a.firstChild;var o=r.nextSibling,s=o.firstChild,c=o.nextSibling;return t.$$click=()=>Ui(e.agent),L(i,()=>e.id),L(a,()=>e.agent,null),L(r,A(M,{get when(){return e.forked},get children(){return OE()}}),null),L(o,()=>e.schedule,s),L(o,(()=>{var t=N(()=>!!e.next);return()=>t()?st(e.next):`—`})(),null),L(o,(()=>{var t=N(()=>!!e.last);return()=>t()?` · last ${st(e.last)}`:` · never ran`})(),null),L(c,()=>wx(e.prompt,90)),b(r=>{var i=`sched-row`+(e.agent===n()?` cur`:``),a=`${wx(e.prompt,200)}\nclick to open #${e.agent}`;return i!==r.e&&I(t,r.e=i),a!==r.t&&F(t,`title`,r.t=a),r},{e:void 0,t:void 0}),t})()})}})]}),null),b(e=>{var n=`layout`+(Me()?``:` right-hidden`)+(Le()?` left-open`:``),i=`sidebar`+(Le()?` open`:``),a=`iconbtn notifbtn`+(mr()>0?` has-unread`:``),s=mr()>0?`${mr()} unread notifications`:`notifications`,c=`conn`+(Wi()?` ok`:``),u=Wi()?`live (websocket)`:`reconnecting…`,d={"--termh":`${Da()}px`},m=`rightbar`+(Me()?` open`:``);return n!==e.e&&I(t,e.e=n),i!==e.t&&I(r,e.t=i),a!==e.a&&I(o,e.a=a),s!==e.o&&F(o,`title`,e.o=s),c!==e.i&&I(l,e.i=c),u!==e.n&&F(l,`title`,e.n=u),e.s=ke(f,d,e.s),m!==e.h&&I(p,e.h=m),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),t})(),A(M,{get when(){return fr()},get children(){return[(()=>{var e=dT();return e.$$click=()=>pr(!1),e})(),(()=>{var t=mT(),r=t.firstChild.firstChild.nextSibling,i=r.firstChild;return L(r,A(M,{get when(){return cr().length>0},get children(){var e=fT();return e.$$click=()=>lr([]),e}}),i),i.$$click=()=>pr(!1),L(t,A(M,{get when(){return cr().length>0},get fallback(){return AE()},get children(){var t=pT();return L(t,A(j,{get each(){return cr()},children:t=>(()=>{var r=ME(),i=r.firstChild.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling;return r.$$click=()=>{lr(e=>e.map(e=>e.id===t.id?{...e,read:!0}:e)),n()!==t.agentId&&e().some(e=>e.id===t.agentId)&&Ui(t.agentId),pr(!1),t.eventId&&setTimeout(()=>xr(t.eventId),n()===t.agentId?60:350)},L(i,(()=>{var e=N(()=>t.kind===`finish`);return()=>e()?`✅`:N(()=>t.kind===`question`)()?`❓️`:t.kind===`error`?`⚠️`:`📈`})()),L(a,()=>t.title),L(o,()=>st(new Date(t.at).toISOString())),s.$$click=e=>{e.stopPropagation(),lr(e=>e.map(e=>e.id===t.id?{...e,read:!0}:e))},L(s,()=>t.read?`✓`:`○`),L(r,A(M,{get when(){return t.body},get children(){var e=jE();return L(e,()=>QE(t.body,160)),e}}),null),b(e=>{var n=`notifitem `+t.kind+(t.read?` read`:``),i=`from ${t.agentId}`,a=t.read?`already read`:`mark as read`;return n!==e.e&&I(r,e.e=n),i!==e.t&&F(r,`title`,e.t=i),a!==e.a&&F(s,`title`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),r})()})),t}}),null),t})()]}}),A(M,{get when(){return se()},get children(){return A(eD,{get providers(){return Object.keys(ae().providers??{})},onClose:()=>ce(!1),onCreated:e=>{ce(!1),Jr(),Ui(e)}})}}),A(M,{get when(){return fe()},get children(){return A(sw,{get cfg(){return ae()},onClose:()=>pe(!1),announcedOAuth:me,get skills(){return Qa()},get hasSelection(){return!!n()},get agentId(){return n()},get features(){return eo()},onSaved:()=>{Fr(),Qr()},theme:{themes:ot,activeId:Ve,paintedId:ue,auto:Ue,setAuto:e=>{We(e),localStorage.setItem(`teapot.theme.auto`,e?`1`:`0`)},dark:ft,setDark:pt,light:et,setLight:tt,setThemes:dt,setActive:He,preview:e=>rt(e),commitAppearance:e=>{localStorage.setItem(`teapot.theme.auto`,e.auto?`1`:`0`),localStorage.setItem(`teapot.theme.dark`,e.dark),localStorage.setItem(`teapot.theme.light`,e.light),localStorage.setItem(`teapot.theme`,e.fixed)}}})}}),A(M,{get when(){return z()},fallback:null,children:e=>{let t=()=>h().findIndex(t=>t.id===e().eventId),r=()=>Math.max(0,h().length-t()-1);return A(ad,{title:`edit prompt — forks the conversation`,onClose:()=>tr(null),get children(){var t=PE(),i=t.firstChild,a=i.nextSibling,o=a.firstChild;return t.addEventListener(`submit`,async t=>{t.preventDefault();let r=document.getElementById(`edit-text`);try{await Y(`/api/agents/${n()}/edit-prompt`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({eventId:e().eventId,text:r.value})}),tr(null),Jr();let t=n();t&&await Ui(t)}catch(e){alert(`edit failed: ${e.message}`)}}),L(t,A(M,{get when(){return r()>0},get children(){var e=NE(),t=e.firstChild;return L(e,r,t),e}}),a),o.$$click=()=>tr(null),b(()=>i.value=e().text),t}})}})]}function QE(e,t){return e.length>t?e.slice(0,t)+` …`:e}function $E(e){return e>=100?Math.round(e).toLocaleString():e>=10?e.toFixed(1):e>=1?e.toFixed(2):e>=.01?e.toFixed(3):e.toFixed(4)}function eD(e){let[t,n]=y(`~`),[r,i]=y([]),[a,o]=y(``),[s,c]=y(e.providers[0]??``),[l,u]=y(``),[d,f]=y(``);async function p(e){let r=await Y(`/api/fs?path=${encodeURIComponent(e??t())}`);n(r.path),h(r.parent??``),i(r.entries??[])}w(()=>p(t()));let[m,h]=y(``),g=async n=>{n.preventDefault(),f(``);try{let n=await Y(`/api/agents`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({workspace:t(),id:a(),provider:s()||void 0,model:l()||void 0,start:!1})});e.onCreated(n.agent.id)}catch(e){f(String(e.message))}};return A(ad,{title:`new agent`,get onClose(){return e.onClose},get children(){var i=IE(),f=i.firstChild,h=f.firstChild.nextSibling.firstChild,_=h.nextSibling,v=_.nextSibling,ee=f.nextSibling,y=ee.nextSibling,x=y.firstChild,S=x.firstChild.nextSibling,C=x.nextSibling,w=C.firstChild.nextSibling,T=C.nextSibling.firstChild.nextSibling,E=y.nextSibling;return i.addEventListener(`submit`,g),h.$$input=e=>n(e.currentTarget.value),_.$$click=()=>p(t()),v.$$click=()=>m()?p(m()):p(`..`),L(ee,A(j,{get each(){return r()},children:e=>(()=>{var n=LE();return n.firstChild,n.$$click=()=>p(`${t()}/${e}`.replace(/\/+/g,`/`)),L(n,e,null),n})()})),S.$$input=e=>o(e.currentTarget.value),w.addEventListener(`change`,e=>c(e.currentTarget.value)),L(w,A(j,{get each(){return e.providers},children:e=>(()=>{var t=dE();return L(t,e),t})()})),T.$$input=e=>u(e.currentTarget.value),L(i,A(M,{get when(){return d()},get children(){var e=FE();return L(e,d),e}}),E),b(()=>h.value=t()),b(()=>S.value=a()),b(()=>w.value=s()),b(()=>T.value=l()),i}})}De([`click`,`input`,`keydown`,`pointerdown`,`dblclick`]),Ee(()=>A(ZE,{}),document.getElementById(`root`));
190
+ //# sourceMappingURL=index-R_MY5LnG.js.map