@supanadit/morse-web 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -10
- package/dist/server.mjs +962 -129
- package/dist/server.mjs.map +4 -4
- package/dist/ui/3rdpartylicenses.txt +4 -4
- package/dist/ui/{chunk-C_meY2xd.js → chunk-CwVAC7xx.js} +1 -1
- package/dist/ui/{chunk-BJlUk5wu.js → chunk-Dk_j780x.js} +1 -1
- package/dist/ui/{chunk-DxDqTq2a.js → chunk-veepV9dF.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/main-L3KG4R7V.js +120 -0
- package/dist/ui/webview.manifest.json +3 -3
- package/package.json +12 -1
- package/dist/ui/main-33GJA27U.js +0 -120
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
var j$1=Object.create;var e=Object.defineProperty;var k=Object.defineProperties;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyDescriptors;var n=Object.getOwnPropertyNames;var g$1=Object.getOwnPropertySymbols;var o=Object.getPrototypeOf;var i=Object.prototype.hasOwnProperty;var p=Object.prototype.propertyIsEnumerable;var h$1=(b,a,c)=>a in b?e(b,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):b[a]=c;var r=(b,a)=>{for(var c in a||={})i.call(a,c)&&h$1(b,c,a[c]);if(g$1)for(var c of g$1(a))p.call(a,c)&&h$1(b,c,a[c]);return b};var s=(b,a)=>k(b,m(a));var t=(b,a)=>()=>{try{return a||b((a={exports:{}}).exports,a),a.exports}catch(c){throw a=0,c}};var u$1=(b,a)=>{for(var c in a)e(b,c,{get:a[c],enumerable:!0})};var q$1=(b,a,c,f)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let d of n(a))!i.call(b,d)&&d!==c&&e(b,d,{get:()=>a[d],enumerable:!(f=l(a,d))||f.enumerable});return b};var v=(b,a,c)=>(c=b!=null?j$1(o(b)):{},q$1(a||!b||!b.__esModule?e(c,`default`,{value:b,enumerable:!0}):c,b));var iE=t((Oae,nE)=>{function Uw(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error(`map is read-only`)}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error(`set is read-only`)}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{let t=n[e],i=typeof t;(i===`object`||i===`function`)&&!Object.isFrozen(t)&&Uw(t)}),n}var vp=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Gw(n){return n.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function or(n,...e){let t=Object.create(null);for(let i in n)t[i]=n[i];return e.forEach(function(i){for(let o in i)t[o]=i[o]}),t}var jR=`</span>`,Vw=n=>!!n.scope,BR=(n,{prefix:e})=>{if(n.startsWith(`language:`))return n.replace(`language:`,`language-`);if(n.includes(`.`)){let t=n.split(`.`);return[`${e}${t.shift()}`,...t.map((i,o)=>`${i}${`_`.repeat(o+1)}`)].join(` `)}return`${e}${n}`},H0=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=Gw(e)}openNode(e){if(!Vw(e))return;let t=BR(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){Vw(e)&&(this.buffer+=jR)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},jw=(n={})=>{let e={children:[]};return Object.assign(e,n),e},z0=class n{constructor(){this.rootNode=jw(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=jw({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!=`string`&&e.children&&(e.children.every(t=>typeof t==`string`)?e.children=[e.children.join(``)]:e.children.forEach(t=>{n._collapse(t)}))}},U0=class extends z0{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new H0(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ql(n){return n?typeof n==`string`?n:n.source:null}function qw(n){return fs(`(?=`,n,`)`)}function $R(n){return fs(`(?:`,n,`)*`)}function HR(n){return fs(`(?:`,n,`)?`)}function fs(...n){return n.map(t=>Ql(t)).join(``)}function zR(n){let e=n[n.length-1];return typeof e==`object`&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function xp(...n){return`(`+(zR(n).capture?``:`?:`)+n.map(i=>Ql(i)).join(`|`)+`)`}function Ww(n){return new RegExp(n.toString()+`|`).exec(``).length-1}function UR(n,e){let t=n&&n.exec(e);return t&&t.index===0}var GR=new RegExp(xp(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function q0(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;let o=t,r=Ql(i),s=``;for(;r.length>0;){let a=GR.exec(r);if(!a){s+=r;break}s+=r.substring(0,a.index),r=r.substring(a.index+a[0].length),a[0][0]===`\\`&&a[1]?s+=`\\`+String(Number(a[1])+o):(s+=a[0],(a[0]===`(`||/^\(\?[<']/.test(a[0]))&&t++)}return s}).map(i=>`(${i})`).join(e)}var qR=/\b\B/,Yw=`[a-zA-Z]\\w*`,W0=`[a-zA-Z_]\\w*`,Kw=`\\b\\d+(\\.\\d+)?`,Zw=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,Qw=`\\b(0b[01]+)`,WR=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,YR=(n={})=>{let e=/^#![ ]*\//;return n.binary&&(n.begin=fs(e,/.*\b/,n.binary,/\b.*/)),or({scope:`meta`,begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},Xl={begin:`\\\\[\\s\\S]`,relevance:0},KR={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[Xl]},ZR={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[Xl]},QR={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Cp=function(n,e,t={}){let i=or({scope:`comment`,begin:n,end:e,contains:[]},t);i.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let o=xp(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:fs(/[ ]+/,`(`,o,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),i},XR=Cp(`//`,`$`),JR=Cp(`/\\*`,`\\*/`),e2=Cp(`#`,`$`),t2={scope:`number`,begin:Kw,relevance:0},n2={scope:`number`,begin:Zw,relevance:0},i2={scope:`number`,begin:Qw,relevance:0},o2={scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Xl,{begin:/\[/,end:/\]/,relevance:0,contains:[Xl]}]},r2={scope:`title`,begin:Yw,relevance:0},s2={scope:`title`,begin:W0,relevance:0},a2={begin:`\\.\\s*`+W0,relevance:0},l2=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},_p=Object.freeze({__proto__:null,APOS_STRING_MODE:KR,BACKSLASH_ESCAPE:Xl,BINARY_NUMBER_MODE:i2,BINARY_NUMBER_RE:Qw,COMMENT:Cp,C_BLOCK_COMMENT_MODE:JR,C_LINE_COMMENT_MODE:XR,C_NUMBER_MODE:n2,C_NUMBER_RE:Zw,END_SAME_AS_BEGIN:l2,HASH_COMMENT_MODE:e2,IDENT_RE:Yw,MATCH_NOTHING_RE:qR,METHOD_GUARD:a2,NUMBER_MODE:t2,NUMBER_RE:Kw,PHRASAL_WORDS_MODE:QR,QUOTE_STRING_MODE:ZR,REGEXP_MODE:o2,RE_STARTERS_RE:WR,SHEBANG:YR,TITLE_MODE:r2,UNDERSCORE_IDENT_RE:W0,UNDERSCORE_TITLE_MODE:s2});function c2(n,e){n.input[n.index-1]===`.`&&e.ignoreMatch()}function d2(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function u2(n,e){e&&n.beginKeywords&&(n.begin=`\\b(`+n.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,n.__beforeBegin=c2,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function p2(n,e){Array.isArray(n.illegal)&&(n.illegal=xp(...n.illegal))}function f2(n,e){if(n.match){if(n.begin||n.end)throw new Error(`begin & end are not supported with match`);n.begin=n.match,delete n.match}}function m2(n,e){n.relevance===void 0&&(n.relevance=1)}var h2=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error(`beforeMatch cannot be used with starts`);let t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=fs(t.beforeMatch,qw(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},g2=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],y2=`keyword`;function Xw(n,e,t=y2){let i=Object.create(null);return typeof n==`string`?o(t,n.split(` `)):Array.isArray(n)?o(t,n):Object.keys(n).forEach(function(r){Object.assign(i,Xw(n[r],e,r))}),i;function o(r,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let l=a.split(`|`);i[l[0]]=[r,_2(l[0],l[1])]})}}function _2(n,e){return e?Number(e):v2(n)?0:1}function v2(n){return g2.includes(n.toLowerCase())}var Bw={},ps=n=>{console.error(n)},$w=(n,...e)=>{console.log(`WARN: ${n}`,...e)},Ca=(n,e)=>{Bw[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),Bw[`${n}/${e}`]=!0)},bp=new Error;function Jw(n,e,{key:t}){let i=0,o=n[t],r={},s={};for(let a=1;a<=e.length;a++)s[a+i]=o[a],r[a+i]=!0,i+=Ww(e[a-1]);n[t]=s,n[t]._emit=r,n[t]._multi=!0}function b2(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw ps(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),bp;if(typeof n.beginScope!=`object`||n.beginScope===null)throw ps(`beginScope must be object`),bp;Jw(n,n.begin,{key:`beginScope`}),n.begin=q0(n.begin,{joinWith:``})}}function x2(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw ps(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),bp;if(typeof n.endScope!=`object`||n.endScope===null)throw ps(`endScope must be object`),bp;Jw(n,n.end,{key:`endScope`}),n.end=q0(n.end,{joinWith:``})}}function C2(n){n.scope&&typeof n.scope==`object`&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function w2(n){C2(n),typeof n.beginScope==`string`&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope==`string`&&(n.endScope={_wrap:n.endScope}),b2(n),x2(n)}function E2(n){function e(s,a){return new RegExp(Ql(s),`m`+(n.case_insensitive?`i`:``)+(n.unicodeRegex?`u`:``)+(a?`g`:``))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=Ww(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(l=>l[1]);this.matcherRe=e(q0(a,{joinWith:`|`}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let l=this.matcherRe.exec(a);if(!l)return null;let c=l.findIndex((m,v)=>v>0&&m!==void 0),p=this.matchIndexes[c];return l.splice(0,c),Object.assign(l,p)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let l=new t;return this.rules.slice(a).forEach(([c,p])=>l.addRule(c,p)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type===`begin`&&this.count++}exec(a){let l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let c=l.exec(a);if(this.resumingScanAtSamePosition()&&!(c&&c.index===this.lastIndex)){let p=this.getMatcher(0);p.lastIndex=this.lastIndex+1,c=p.exec(a)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}function o(s){let a=new i;return s.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:`begin`})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:`end`}),s.illegal&&a.addRule(s.illegal,{type:`illegal`}),a}function r(s,a){let l=s;if(s.isCompiled)return l;[d2,f2,w2,h2].forEach(p=>p(s,a)),n.compilerExtensions.forEach(p=>p(s,a)),s.__beforeBegin=null,[u2,p2,m2].forEach(p=>p(s,a)),s.isCompiled=!0;let c=null;return typeof s.keywords==`object`&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),c=s.keywords.$pattern,delete s.keywords.$pattern),c=c||/\w+/,s.keywords&&(s.keywords=Xw(s.keywords,n.case_insensitive)),l.keywordPatternRe=e(c,!0),a&&(s.begin||(s.begin=/\B|\b/),l.beginRe=e(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=e(l.end)),l.terminatorEnd=Ql(l.end)||``,s.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(s.end?`|`:``)+a.terminatorEnd)),s.illegal&&(l.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(p){return S2(p===`self`?s:p)})),s.contains.forEach(function(p){r(p,l)}),s.starts&&r(s.starts,a),l.matcher=o(l),l}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes(`self`))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=or(n.classNameAliases||{}),r(n)}function eE(n){return n?n.endsWithParent||eE(n.starts):!1}function S2(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return or(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:eE(n)?or(n,{starts:n.starts?or(n.starts):null}):Object.isFrozen(n)?or(n):n}var D2=`11.12.0`,G0=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},$0=Gw,Hw=or,zw=Symbol(`nomatch`),T2=7,tE=function(n){let e=Object.create(null),t=Object.create(null),i=[],o=!0,r=`Could not find the language '{}', did you forget to load/include a language module?`,s={disableAutodetect:!0,name:`Plain text`,contains:[]},a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:U0};function l(B){return a.noHighlightRe.test(B)}function c(B){let ae=B.className+` `;ae+=B.parentNode?B.parentNode.className:``;let Q=a.languageDetectRe.exec(ae);if(Q){let H=qe(Q[1]);return H||($w(r.replace(`{}`,Q[1])),$w(`Falling back to no-highlight mode for this block.`,B)),H?Q[1]:`no-highlight`}return ae.split(/\s+/).find(H=>l(H)||qe(H))}function p(B,ae,Q){let H=``,de=``;typeof ae==`object`?(H=B,Q=ae.ignoreIllegals,de=ae.language):(Ca(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),Ca(`10.7.0`,`Please use highlight(code, options) instead.
|
|
2
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),de=B,H=ae),Q===void 0&&(Q=!0);let Be={code:H,language:de};at(`before:highlight`,Be);let lt=Be.result?Be.result:m(Be.language,Be.code,Q);return lt.code=Be.code,at(`after:highlight`,lt),lt}function m(B,ae,Q,H){let de=Object.create(null);function Be(z,G){return z.keywords[G]}function lt(){if(!oe.keywords){it.addText(ge);return}let z=0;oe.keywordPatternRe.lastIndex=0;let G=oe.keywordPatternRe.exec(ge),ce=``;for(;G;){ce+=ge.substring(z,G.index);let _e=ft.case_insensitive?G[0].toLowerCase():G[0],bt=Be(oe,_e);if(bt){let[Ot,ui]=bt;if(it.addText(ce),ce=``,de[_e]=(de[_e]||0)+1,de[_e]<=T2&&(It+=ui),Ot.startsWith(`_`))ce+=G[0];else{let Nn=ft.classNameAliases[Ot]||Ot;Mt(G[0],Nn)}}else ce+=G[0];z=oe.keywordPatternRe.lastIndex,G=oe.keywordPatternRe.exec(ge)}ce+=ge.substring(z),it.addText(ce)}function en(){if(ge===``)return;let z=null;if(typeof oe.subLanguage==`string`){if(!e[oe.subLanguage]){it.addText(ge);return}z=m(oe.subLanguage,ge,!0,Et[oe.subLanguage]),Et[oe.subLanguage]=z._top}else z=b(ge,oe.subLanguage.length?oe.subLanguage:null);oe.relevance>0&&(It+=z.relevance),it.__addSublanguage(z._emitter,z.language)}function Ee(){oe.subLanguage!=null?en():lt(),ge=``}function Mt(z,G){z!==``&&(it.startScope(G),it.addText(z),it.endScope())}function Ze(z,G){let ce=1,_e=G.length-1;for(;ce<=_e;){if(!z._emit[ce]){ce++;continue}let bt=ft.classNameAliases[z[ce]]||z[ce],Ot=G[ce];bt?Mt(Ot,bt):(ge=Ot,lt(),ge=``),ce++}}function xn(z,G){return z.scope&&typeof z.scope==`string`&&it.openNode(ft.classNameAliases[z.scope]||z.scope),z.beginScope&&(z.beginScope._wrap?(Mt(ge,ft.classNameAliases[z.beginScope._wrap]||z.beginScope._wrap),ge=``):z.beginScope._multi&&(Ze(z.beginScope,G),ge=``)),oe=Object.create(z,{parent:{value:oe}}),oe}function tn(z,G,ce){let _e=UR(z.endRe,ce);if(_e){if(z[`on:end`]){let bt=new vp(z);z[`on:end`](G,bt),bt.isMatchIgnored&&(_e=!1)}if(_e){for(;z.endsParent&&z.parent;)z=z.parent;return z}}if(z.endsWithParent)return tn(z.parent,G,ce)}function tt(z){return oe.matcher.regexIndex===0?(ge+=z[0],1):(Qe=!0,0)}function an(z){let G=z[0],ce=z.rule,_e=new vp(ce),bt=[ce.__beforeBegin,ce[`on:begin`]];for(let Ot of bt)if(Ot&&(Ot(z,_e),_e.isMatchIgnored))return tt(G);return ce.skip?ge+=G:(ce.excludeBegin&&(ge+=G),Ee(),!ce.returnBegin&&!ce.excludeBegin&&(ge=G)),xn(ce,z),ce.returnBegin?0:G.length}function Wt(z){let G=z[0],ce=ae.substring(z.index),_e=tn(oe,z,ce);if(!_e)return zw;let bt=oe;oe.endScope&&oe.endScope._wrap?(Ee(),Mt(G,oe.endScope._wrap)):oe.endScope&&oe.endScope._multi?(Ee(),Ze(oe.endScope,z)):bt.skip?ge+=G:(bt.returnEnd||bt.excludeEnd||(ge+=G),Ee(),bt.excludeEnd&&(ge=G));do oe.scope&&it.closeNode(),!oe.skip&&!oe.subLanguage&&(It+=oe.relevance),oe=oe.parent;while(oe!==_e.parent);return _e.starts&&xn(_e.starts,z),bt.returnEnd?0:G.length}function Ve(){let z=[];for(let G=oe;G!==ft;G=G.parent)G.scope&&z.unshift(G.scope);z.forEach(G=>it.openNode(G))}let Xe={};function Pe(z,G){let ce=G&&G[0];if(ge+=z,ce==null)return Ee(),0;if(Xe.type===`begin`&&G.type===`end`&&Xe.index===G.index&&ce===``){if(ge+=ae.slice(G.index,G.index+1),!o){let _e=new Error(`0 width match regex (${B})`);throw _e.languageName=B,_e.badRule=Xe.rule,_e}return 1}if(Xe=G,G.type===`begin`)return an(G);if(G.type===`illegal`&&!Q){let _e=new Error(`Illegal lexeme "`+ce+`" for mode "`+(oe.scope||`<unnamed>`)+`"`);throw _e.mode=oe,_e}else if(G.type===`end`){let _e=Wt(G);if(_e!==zw)return _e}if(G.type===`illegal`&&ce===``)return G.index===ae.length||(ge+=`
|
|
3
|
+
`),1;if(gt>1e5&>>G.index*3)throw new Error(`potential infinite loop, way more iterations than matches`);return ge+=ce,ce.length}let ft=qe(B);if(!ft)throw ps(r.replace(`{}`,B)),new Error(`Unknown language: "`+B+`"`);let ye=E2(ft),_t=``,oe=H||ye,Et={},it=new a.__emitter(a);Ve();let ge=``,It=0,Se=0,gt=0,Qe=!1;try{if(ft.__emitTokens)ft.__emitTokens(ae,it);else{for(oe.matcher.considerAll();;){gt++,Qe?Qe=!1:oe.matcher.considerAll(),oe.matcher.lastIndex=Se;let z=oe.matcher.exec(ae);if(!z)break;let ce=Pe(ae.substring(Se,z.index),z);Se=z.index+ce}Pe(ae.substring(Se))}return it.finalize(),_t=it.toHTML(),{language:B,value:_t,relevance:It,illegal:!1,_emitter:it,_top:oe}}catch(z){if(z.message&&z.message.includes(`Illegal`))return{language:B,value:$0(ae),illegal:!0,relevance:0,_illegalBy:{message:z.message,index:Se,context:ae.slice(Se-100,Se+100),mode:z.mode,resultSoFar:_t},_emitter:it};if(o)return{language:B,value:$0(ae),illegal:!1,relevance:0,errorRaised:z,_emitter:it,_top:oe};throw z}}function v(B){let ae={value:$0(B),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return ae._emitter.addText(B),ae}function b(B,ae){ae=ae||a.languages||Object.keys(e);let Q=v(B),H=ae.filter(qe).filter(vt).map(Ee=>m(Ee,B,!1));H.unshift(Q);let[Be,lt]=H.sort((Ee,Mt)=>{if(Ee.relevance!==Mt.relevance)return Mt.relevance-Ee.relevance;if(Ee.language&&Mt.language){if(qe(Ee.language).supersetOf===Mt.language)return 1;if(qe(Mt.language).supersetOf===Ee.language)return-1}return 0}),en=Be;return en.secondBest=lt,en}function k(B,ae,Q){let H=ae&&t[ae]||Q;B.classList.add(`hljs`),B.classList.add(`language-${H}`)}function O(B){let ae=null,Q=c(B);if(l(Q))return;if(at(`before:highlightElement`,{el:B,language:Q}),B.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",B);return}if(B.children.length>0&&(a.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(B)),a.throwUnescapedHTML))throw new G0(`One of your code blocks includes unescaped HTML.`,B.innerHTML);ae=B;let H=ae.textContent,de=Q?p(H,{language:Q,ignoreIllegals:!0}):b(H);B.innerHTML=de.value,B.dataset.highlighted=`yes`,k(B,Q,de.language),B.result={language:de.language,re:de.relevance,relevance:de.relevance},de.secondBest&&(B.secondBest={language:de.secondBest.language,relevance:de.secondBest.relevance}),at(`after:highlightElement`,{el:B,result:de,text:H})}function M(B){a=Hw(a,B)}let V=()=>{me(),Ca(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function W(){me(),Ca(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let pe=!1;function me(){function B(){me()}if(document.readyState===`loading`){pe||window.addEventListener(`DOMContentLoaded`,B,!1),pe=!0;return}document.querySelectorAll(a.cssSelector).forEach(O)}function we(B,ae){let Q=null;try{Q=ae(n)}catch(H){if(ps(`Language definition for '{}' could not be registered.`.replace(`{}`,B)),o)ps(H);else throw H;Q=s}Q.name||(Q.name=B),e[B]=Q,Q.rawDefinition=ae.bind(null,n),Q.aliases&&Ke(Q.aliases,{languageName:B})}function ve(B){delete e[B];for(let ae of Object.keys(t))t[ae]===B&&delete t[ae]}function st(){return Object.keys(e)}function qe(B){return B=(B||``).toLowerCase(),e[B]||e[t[B]]}function Ke(B,{languageName:ae}){typeof B==`string`&&(B=[B]),B.forEach(Q=>{t[Q.toLowerCase()]=ae})}function vt(B){let ae=qe(B);return ae&&!ae.disableAutodetect}function Pt(B){B[`before:highlightBlock`]&&!B[`before:highlightElement`]&&(B[`before:highlightElement`]=ae=>{B[`before:highlightBlock`](Object.assign({block:ae.el},ae))}),B[`after:highlightBlock`]&&!B[`after:highlightElement`]&&(B[`after:highlightElement`]=ae=>{B[`after:highlightBlock`](Object.assign({block:ae.el},ae))})}function qt(B){Pt(B),i.push(B)}function $t(B){let ae=i.indexOf(B);ae!==-1&&i.splice(ae,1)}function at(B,ae){let Q=B;i.forEach(function(H){H[Q]&&H[Q](ae)})}function Te(B){return Ca(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),Ca(`10.7.0`,`Please use highlightElement now.`),O(B)}Object.assign(n,{highlight:p,highlightAuto:b,highlightAll:me,highlightElement:O,highlightBlock:Te,configure:M,initHighlighting:V,initHighlightingOnLoad:W,registerLanguage:we,unregisterLanguage:ve,listLanguages:st,getLanguage:qe,registerAliases:Ke,autoDetection:vt,inherit:Hw,addPlugin:qt,removePlugin:$t}),n.debugMode=function(){o=!1},n.safeMode=function(){o=!0},n.versionString=D2,n.regex={concat:fs,lookahead:qw,either:xp,optional:HR,anyNumberOfTimes:$R};for(let B in _p)typeof _p[B]==`object`&&Uw(_p[B]);return Object.assign(n,_p),n},wa=tE({});wa.newInstance=()=>tE({});nE.exports=wa;wa.HighlightJS=wa;wa.default=wa});var Bn=null;var vc=!1;var mr=1;var lT=null;var Tn=Symbol(`SIGNAL`);function xe(n){let e=Bn;return Bn=n,e}function wc(){return Bn}var gr={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:`unknown`,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function yr(n){if(vc)throw new Error(``);if(Bn===null)return;Bn.consumerOnSignalRead(n);let e=Bn.producersTail;if(e!==void 0&&e.producer===n)return;let t,i=Bn.recomputing;if(i&&(t=e!==void 0?e.nextProducer:Bn.producers,t!==void 0&&t.producer===n)){Bn.producersTail=t,t.lastReadVersion=n.version,t.knownValidAtEpoch=mr;return}let o=n.consumersTail;if(o!==void 0&&o.consumer===Bn&&(!i||o.knownValidAtEpoch===mr))return;let r=Ds(Bn),s={producer:n,consumer:Bn,nextProducer:t,prevConsumer:void 0,knownValidAtEpoch:mr,lastReadVersion:n.version,nextConsumer:void 0};Bn.producersTail=s,e!==void 0?e.nextProducer=s:Bn.producers=s,r&&Gy(n,s)}function Hy(){mr++}function Ba(n){if(!(Ds(n)&&!n.dirty)&&!(!n.dirty&&n.lastCleanEpoch===mr)){if(!n.producerMustRecompute(n)&&!$a(n)){Cc(n);return}n.producerRecomputeValue(n),Cc(n)}}function Nf(n){if(n.consumers===void 0)return;let e=vc;vc=!0;try{for(let t=n.consumers;t!==void 0;t=t.nextConsumer){let i=t.consumer;i.dirty||cT(i)}}finally{vc=e}}function Pf(){return Bn?.consumerAllowSignalWrites!==!1}function cT(n){n.dirty=!0,Nf(n),n.consumerMarkedDirty?.(n)}function Cc(n){n.dirty=!1,n.lastCleanEpoch=mr}function _r(n){return n&&zy(n),xe(n)}function zy(n){if(n.producersTail?.knownValidAtEpoch===mr){let e=n.producers;for(;e!==void 0;)e.knownValidAtEpoch=null,e=e.nextProducer}n.producersTail=void 0,n.recomputing=!0}function Ss(n,e){xe(e),n&&Uy(n)}function Uy(n){n.recomputing=!1;let e=n.producersTail,t=e!==void 0?e.nextProducer:n.producers;if(t!==void 0){if(Ds(n))do t=Of(t);while(t!==void 0);e!==void 0?e.nextProducer=void 0:n.producers=void 0}}function $a(n){for(let e=n.producers;e!==void 0;e=e.nextProducer){let t=e.producer,i=e.lastReadVersion;if(i!==t.version||(Ba(t),i!==t.version))return!0}return!1}function vr(n){if(Ds(n)){let e=n.producers;for(;e!==void 0;)e=Of(e)}n.producers=void 0,n.producersTail=void 0,n.consumers=void 0,n.consumersTail=void 0}function Gy(n,e){let t=n.consumersTail,i=Ds(n);if(t!==void 0?(e.nextConsumer=t.nextConsumer,t.nextConsumer=e):(e.nextConsumer=void 0,n.consumers=e),e.prevConsumer=t,n.consumersTail=e,!i)for(let o=n.producers;o!==void 0;o=o.nextProducer)Gy(o.producer,o)}function Of(n){let e=n.producer,t=n.nextProducer,i=n.nextConsumer,o=n.prevConsumer;if(n.nextConsumer=void 0,n.prevConsumer=void 0,i!==void 0?i.prevConsumer=o:e.consumersTail=o,o!==void 0)o.nextConsumer=i;else if(e.consumers=i,!Ds(e)){let r=e.producers;for(;r!==void 0;)r=Of(r)}return t}function Ds(n){return n.consumerIsAlwaysLive||n.consumers!==void 0}function Ec(n){lT?.(n)}function Sc(n,e){return Object.is(n,e)}function Ha(n,e){let t=Object.create(dT);t.computation=n,e!==void 0&&(t.equal=e);let i=()=>{if(Ba(t),yr(t),t.value===hr)throw t.error;return t.value};return i[Tn]=t,Ec(t),i}var bc=Symbol(`UNSET`);var xc=Symbol(`COMPUTING`);var hr=Symbol(`ERRORED`);var dT=s(r({},gr),{value:bc,dirty:!0,error:null,equal:Sc,kind:`computed`,producerMustRecompute(n){return n.value===bc||n.value===xc},producerRecomputeValue(n){if(n.value===xc)throw new Error(``);let e=n.value;n.value=xc;let t=_r(n),i,o=!1;try{i=n.computation(),xe(null),o=e!==bc&&e!==hr&&i!==hr&&n.equal(e,i)}catch(r){i=hr,n.error=r}finally{Ss(n,t)}if(o){n.value=e;return}n.value=i,n.version++}});function uT(){throw new Error}var qy=uT;function Wy(n){qy(n)}function Af(n){qy=n}var pT=null;function Rf(n,e){let t=Object.create(za);t.value=n,e!==void 0&&(t.equal=e);let i=()=>Yy(t);return i[Tn]=t,Ec(t),[i,s=>br(t,s),s=>Lf(t,s)]}function Yy(n){return yr(n),n.value}function br(n,e){Pf()||Wy(n),n.equal(n.value,e)||(n.value=e,fT(n))}function Lf(n,e){Pf()||Wy(n),br(n,e(n.value))}var za=s(r({},gr),{equal:Sc,value:void 0,kind:`signal`});function fT(n){n.version++,Hy(),Nf(n),pT?.(n)}var Ff=s(r({},gr),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:`effect`});function Vf(n){if(n.dirty=!1,n.version>0&&!$a(n))return;n.version++;let e=_r(n);try{n.cleanup(),n.fn()}finally{Ss(n,e)}}var jf;function Dc(){return jf}function Wi(n){let e=jf;return jf=n,e}var Ky=Symbol(`NotFound`);function Ts(n){return n===Ky||n?.name===`ɵNotFound`}function Zy(n){let e=xe(null);try{return n()}finally{xe(e)}}function dt(n){return typeof n==`function`}function Tc(n){let t=n(i=>{Error.call(i),i.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Mc=Tc(n=>function(t){n(this),this.message=t?`${t.length} errors occurred during unsubscription:
|
|
4
|
+
${t.map((i,o)=>`${o+1}) ${i.toString()}`).join(`
|
|
5
|
+
`)}`:``,this.name=`UnsubscriptionError`,this.errors=t});function xr(n,e){if(n){let t=n.indexOf(e);0<=t&&n.splice(t,1)}}var At=class n{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let r of t)r.remove(this);else t.remove(this);let{initialTeardown:i}=this;if(dt(i))try{i()}catch(r){e=r instanceof Mc?r.errors:[r]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let r of o)try{Qy(r)}catch(s){e=e??[],s instanceof Mc?e=[...e,...s.errors]:e.push(s)}}if(e)throw new Mc(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Qy(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}}_hasParent(e){let{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){let{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&xr(t,e)}remove(e){let{_finalizers:t}=this;t&&xr(t,e),e instanceof n&&e._removeParent(this)}};At.EMPTY=(()=>{let n=new At;return n.closed=!0,n})();var Bf=At.EMPTY;function kc(n){return n instanceof At||n&&`closed`in n&&dt(n.remove)&&dt(n.add)&&dt(n.unsubscribe)}function Qy(n){dt(n)?n():n.unsubscribe()}var Ii={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Ms={setTimeout(n,e,...t){let{delegate:i}=Ms;return i?.setTimeout?i.setTimeout(n,e,...t):setTimeout(n,e,...t)},clearTimeout(n){let{delegate:e}=Ms;return(e?.clearTimeout||clearTimeout)(n)},delegate:void 0};function Ic(n){Ms.setTimeout(()=>{let{onUnhandledError:e}=Ii;if(e)e(n);else throw n})}function Ua(){}var Xy=$f(`C`,void 0,void 0);function Jy(n){return $f(`E`,void 0,n)}function e_(n){return $f(`N`,n,void 0)}function $f(n,e,t){return{kind:n,value:e,error:t}}var Cr=null;function ks(n){if(Ii.useDeprecatedSynchronousErrorHandling){let e=!Cr;if(e&&(Cr={errorThrown:!1,error:null}),n(),e){let{errorThrown:t,error:i}=Cr;if(Cr=null,t)throw i}}else n()}function t_(n){Ii.useDeprecatedSynchronousErrorHandling&&Cr&&(Cr.errorThrown=!0,Cr.error=n)}var wr=class extends At{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,kc(e)&&e.add(this)):this.destination=gT}static create(e,t,i){return new Is(e,t,i)}next(e){this.isStopped?zf(e_(e),this):this._next(e)}error(e){this.isStopped?zf(Jy(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?zf(Xy,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}};var mT=Function.prototype.bind;function Hf(n,e){return mT.call(n,e)}var Uf=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:t}=this;if(t.next)try{t.next(e)}catch(i){Nc(i)}}error(e){let{partialObserver:t}=this;if(t.error)try{t.error(e)}catch(i){Nc(i)}else Nc(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(t){Nc(t)}}};var Is=class extends wr{constructor(e,t,i){super();let o;if(dt(e)||!e)o={next:e??void 0,error:t??void 0,complete:i??void 0};else{let r;this&&Ii.useDeprecatedNextContext?(r=Object.create(e),r.unsubscribe=()=>this.unsubscribe(),o={next:e.next&&Hf(e.next,r),error:e.error&&Hf(e.error,r),complete:e.complete&&Hf(e.complete,r)}):o=e}this.destination=new Uf(o)}};function Nc(n){Ii.useDeprecatedSynchronousErrorHandling?t_(n):Ic(n)}function hT(n){throw n}function zf(n,e){let{onStoppedNotification:t}=Ii;t&&Ms.setTimeout(()=>t(n,e))}var gT={closed:!0,next:Ua,error:hT,complete:Ua};var Ns=typeof Symbol==`function`&&Symbol.observable||`@@observable`;function Po(n){return n}function n_(n){return n.length===0?Po:n.length===1?n[0]:function(t){return n.reduce((i,o)=>o(i),t)}}var ut=class n{constructor(e){e&&(this._subscribe=e)}lift(e){let t=new n;return t.source=this,t.operator=e,t}subscribe(e,t,i){let o=_T(e)?e:new Is(e,t,i);return ks(()=>{let{operator:r,source:s}=this;o.add(r?r.call(o,s):s?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(t){e.error(t)}}forEach(e,t){return t=i_(t),new t((i,o)=>{let r=new Is({next:s=>{try{e(s)}catch(a){o(a),r.unsubscribe()}},error:o,complete:i});this.subscribe(r)})}_subscribe(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)}[Ns](){return this}pipe(...e){return n_(e)(this)}toPromise(e){return e=i_(e),new e((t,i)=>{let o;this.subscribe(r=>o=r,r=>i(r),()=>t(o))})}};ut.create=n=>new ut(n);function i_(n){var e;return(e=n??Ii.Promise)!==null&&e!==void 0?e:Promise}function yT(n){return n&&dt(n.next)&&dt(n.error)&&dt(n.complete)}function _T(n){return n&&n instanceof wr||yT(n)&&kc(n)}function vT(n){return dt(n?.lift)}function Rt(n){return e=>{if(vT(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError(`Unable to lift unknown Observable type`)}}function jt(n,e,t,i,o){return new Gf(n,e,t,i,o)}var Gf=class extends wr{constructor(e,t,i,o,r,s){super(e),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){e.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){e.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((e=this.onFinalize)===null||e===void 0||e.call(this))}}};var Ps={schedule(n){let e=requestAnimationFrame,t=cancelAnimationFrame,{delegate:i}=Ps;i&&(e=i.requestAnimationFrame,t=i.cancelAnimationFrame);let o=e(r=>{t=void 0,n(r)});return new At(()=>t?.(o))},requestAnimationFrame(...n){let{delegate:e}=Ps;return(e?.requestAnimationFrame||requestAnimationFrame)(...n)},cancelAnimationFrame(...n){let{delegate:e}=Ps;return(e?.cancelAnimationFrame||cancelAnimationFrame)(...n)},delegate:void 0};var o_=Tc(n=>function(){n(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`});var We=class extends ut{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let t=new Pc(this,this);return t.operator=e,t}_throwIfClosed(){if(this.closed)throw new o_}next(e){ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let t of this.currentObservers)t.next(e)}})}error(e){ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:t}=this;for(;t.length;)t.shift().error(e)}})}complete(){ks(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return((e=this.observers)===null||e===void 0?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){let{hasError:t,isStopped:i,observers:o}=this;return t||i?Bf:(this.currentObservers=null,o.push(e),new At(()=>{this.currentObservers=null,xr(o,e)}))}_checkFinalizedStatuses(e){let{hasError:t,thrownError:i,isStopped:o}=this;t?e.error(i):o&&e.complete()}asObservable(){let e=new ut;return e.source=this,e}};We.create=(n,e)=>new Pc(n,e);var Pc=class extends We{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.next)===null||i===void 0||i.call(t,e)}error(e){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.error)===null||i===void 0||i.call(t,e)}complete(){var e,t;(t=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||t===void 0||t.call(e)}_subscribe(e){var t,i;return(i=(t=this.source)===null||t===void 0?void 0:t.subscribe(e))!==null&&i!==void 0?i:Bf}};var Er=class extends We{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){let t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){let{hasError:e,thrownError:t,_value:i}=this;if(e)throw t;return this._throwIfClosed(),i}next(e){super.next(this._value=e)}};var qf={now(){return(qf.delegate||Date).now()},delegate:void 0};var Oc=class extends At{constructor(e,t){super()}schedule(e,t=0){return this}};var Ga={setInterval(n,e,...t){let{delegate:i}=Ga;return i?.setInterval?i.setInterval(n,e,...t):setInterval(n,e,...t)},clearInterval(n){let{delegate:e}=Ga;return(e?.clearInterval||clearInterval)(n)},delegate:void 0};var Os=class extends Oc{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){var i;if(this.closed)return this;this.state=e;let o=this.id,r=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(r,o,t)),this.pending=!0,this.delay=t,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return Ga.setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(i!=null&&this.delay===i&&this.pending===!1)return t;t!=null&&Ga.clearInterval(t)}execute(e,t){if(this.closed)return new Error(`executing a cancelled action`);this.pending=!1;let i=this._execute(e,t);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let i=!1,o;try{this.work(e)}catch(r){i=!0,o=r||new Error(`Scheduled action threw falsy error`)}if(i)return this.unsubscribe(),o}unsubscribe(){if(!this.closed){let{id:e,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,xr(i,this),e!=null&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}};var As=class n{constructor(e,t=n.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,i){return new this.schedulerActionCtor(this,e).schedule(i,t)}};As.now=qf.now;var Rs=class extends As{constructor(e,t=As.now){super(e,t),this.actions=[],this._active=!1}flush(e){let{actions:t}=this;if(this._active){t.push(e);return}let i;this._active=!0;do if(i=e.execute(e.state,e.delay))break;while(e=t.shift());if(this._active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}};var Sr=new Rs(Os);var r_=Sr;var Ac=class extends Os{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}requestAsyncId(e,t,i=0){return i!==null&&i>0?super.requestAsyncId(e,t,i):(e.actions.push(this),e._scheduled||(e._scheduled=Ps.requestAnimationFrame(()=>e.flush(void 0))))}recycleAsyncId(e,t,i=0){var o;if(i!=null?i>0:this.delay>0)return super.recycleAsyncId(e,t,i);let{actions:r}=e;t!=null&&t===e._scheduled&&((o=r[r.length-1])===null||o===void 0?void 0:o.id)!==t&&(Ps.cancelAnimationFrame(t),e._scheduled=void 0)}};var Rc=class extends Rs{flush(e){this._active=!0;let t;e?t=e.id:(t=this._scheduled,this._scheduled=void 0);let{actions:i}=this,o;e=e||i.shift();do if(o=e.execute(e.state,e.delay))break;while((e=i[0])&&e.id===t&&i.shift());if(this._active=!1,o){for(;(e=i[0])&&e.id===t&&i.shift();)e.unsubscribe();throw o}}};var Lc=new Rc(Ac);var Fc=new ut(n=>n.complete());function Vc(n){return n&&dt(n.schedule)}function s_(n){return n[n.length-1]}function Oo(n){return Vc(s_(n))?n.pop():void 0}function a_(n,e){return typeof s_(n)==`number`?n.pop():e}function c_(n,e,t,i){function o(r){return r instanceof t?r:new t(function(s){s(r)})}return new(t||(t=Promise))(function(r,s){function a(p){try{c(i.next(p))}catch(m){s(m)}}function l(p){try{c(i.throw(p))}catch(m){s(m)}}function c(p){p.done?r(p.value):o(p.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function l_(n){var e=typeof Symbol==`function`&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length==`number`)return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Dr(n){return this instanceof Dr?(this.v=n,this):new Dr(n)}function d_(n,e,t){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var i=t.apply(n,e||[]),o,r=[];return o=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),a(`next`),a(`throw`),a(`return`,s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(k){return Promise.resolve(k).then(b,m)}}function a(b,k){i[b]&&(o[b]=function(O){return new Promise(function(M,V){r.push([b,O,M,V])>1||l(b,O)})},k&&(o[b]=k(o[b])))}function l(b,k){try{c(i[b](k))}catch(O){v(r[0][3],O)}}function c(b){b.value instanceof Dr?Promise.resolve(b.value.v).then(p,m):v(r[0][2],b)}function p(b){l(`next`,b)}function m(b){l(`throw`,b)}function v(b,k){b(k),r.shift(),r.length&&l(r[0][0],r[0][1])}}function u_(n){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof l_==`function`?l_(n):n[Symbol.iterator](),t={},i(`next`),i(`throw`),i(`return`),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=n[r]&&function(s){return new Promise(function(a,l){s=n[r](s),o(a,l,s.done,s.value)})}}function o(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}}var jc=(n=>n&&typeof n.length==`number`&&typeof n!=`function`);function Bc(n){return dt(n?.then)}function $c(n){return dt(n[Ns])}function Hc(n){return Symbol.asyncIterator&&dt(n?.[Symbol.asyncIterator])}function zc(n){return new TypeError(`You provided ${n!==null&&typeof n==`object`?`an invalid object`:`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function bT(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var Uc=bT();function Gc(n){return dt(n?.[Uc])}function qc(n){return d_(this,arguments,function*(){let t=n.getReader();try{for(;;){let{value:i,done:o}=yield Dr(t.read());if(o)return yield Dr(void 0);yield yield Dr(i)}}finally{t.releaseLock()}})}function Wc(n){return dt(n?.getReader)}function wn(n){if(n instanceof ut)return n;if(n!=null){if($c(n))return xT(n);if(jc(n))return CT(n);if(Bc(n))return wT(n);if(Hc(n))return p_(n);if(Gc(n))return ET(n);if(Wc(n))return ST(n)}throw zc(n)}function xT(n){return new ut(e=>{let t=n[Ns]();if(dt(t.subscribe))return t.subscribe(e);throw new TypeError(`Provided object does not correctly implement Symbol.observable`)})}function CT(n){return new ut(e=>{for(let t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}function wT(n){return new ut(e=>{n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Ic)})}function ET(n){return new ut(e=>{for(let t of n)if(e.next(t),e.closed)return;e.complete()})}function p_(n){return new ut(e=>{DT(n,e).catch(t=>e.error(t))})}function ST(n){return p_(qc(n))}function DT(n,e){var t,i,o,r;return c_(this,void 0,void 0,function*(){try{for(t=u_(n);i=yield t.next(),!i.done;){let s=i.value;if(e.next(s),e.closed)return}}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=t.return)&&(yield r.call(t))}finally{if(o)throw o.error}}e.complete()})}function fi(n,e,t,i=0,o=!1){let r=e.schedule(function(){t(),o?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(r),!o)return r}function Yc(n,e=0){return Rt((t,i)=>{t.subscribe(jt(i,o=>fi(i,n,()=>i.next(o),e),()=>fi(i,n,()=>i.complete(),e),o=>fi(i,n,()=>i.error(o),e)))})}function Kc(n,e=0){return Rt((t,i)=>{i.add(n.schedule(()=>t.subscribe(i),e))})}function f_(n,e){return wn(n).pipe(Kc(e),Yc(e))}function m_(n,e){return wn(n).pipe(Kc(e),Yc(e))}function h_(n,e){return new ut(t=>{let i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}function g_(n,e){return new ut(t=>{let i;return fi(t,e,()=>{i=n[Uc](),fi(t,e,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){t.error(s);return}r?t.complete():t.next(o)},0,!0)}),()=>dt(i?.return)&&i.return()})}function Zc(n,e){if(!n)throw new Error(`Iterable cannot be null`);return new ut(t=>{fi(t,e,()=>{let i=n[Symbol.asyncIterator]();fi(t,e,()=>{i.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function y_(n,e){return Zc(qc(n),e)}function __(n,e){if(n!=null){if($c(n))return f_(n,e);if(jc(n))return h_(n,e);if(Bc(n))return m_(n,e);if(Hc(n))return Zc(n,e);if(Gc(n))return g_(n,e);if(Wc(n))return y_(n,e)}throw zc(n)}function lo(n,e){return e?__(n,e):wn(n)}function Wf(...n){return lo(n,Oo(n))}function v_(n){return n instanceof Date&&!isNaN(n)}function mi(n,e){return Rt((t,i)=>{let o=0;t.subscribe(jt(i,r=>{i.next(n.call(e,r,o++))}))})}function b_(n,e,t,i,o,r,s,a){let l=[],c=0,p=0,m=!1,v=()=>{m&&!l.length&&!c&&e.complete()},b=O=>c<i?k(O):l.push(O),k=O=>{r&&e.next(O),c++;let M=!1;wn(t(O,p++)).subscribe(jt(e,V=>{o?.(V),r?b(V):e.next(V)},()=>{M=!0},void 0,()=>{if(M)try{for(c--;l.length&&c<i;){let V=l.shift();s?fi(e,s,()=>k(V)):k(V)}v()}catch(V){e.error(V)}}))};return n.subscribe(jt(e,b,()=>{m=!0,v()})),()=>{a?.()}}function Yf(n,e,t=1/0){return dt(e)?Yf((i,o)=>mi((r,s)=>e(i,r,o,s))(wn(n(i,o))),t):(typeof e==`number`&&(t=e),Rt((i,o)=>b_(i,o,n,t)))}function Qc(n=1/0){return Yf(Po,n)}function x_(){return Qc(1)}function Kf(...n){return x_()(lo(n,Oo(n)))}function Xc(n=0,e,t=r_){let i=-1;return e!=null&&(Vc(e)?t=e:i=e),new ut(o=>{let r=v_(n)?+n-t.now():n;r<0&&(r=0);let s=0;return t.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}function Zf(n=0,e=Sr){return n<0&&(n=0),Xc(n,n,e)}function Tr(...n){let e=Oo(n),t=a_(n,1/0),i=n;return i.length?i.length===1?wn(i[0]):Qc(t)(lo(i,e)):Fc}function Ls(n,e){return Rt((t,i)=>{let o=0;t.subscribe(jt(i,r=>n.call(e,r,o++)&&i.next(r)))})}function C_(n){return Rt((e,t)=>{let i=!1,o=null,r=null,s=!1,a=()=>{if(r?.unsubscribe(),r=null,i){i=!1;let c=o;o=null,t.next(c)}s&&t.complete()},l=()=>{r=null,s&&t.complete()};e.subscribe(jt(t,c=>{i=!0,o=c,r||wn(n(c)).subscribe(r=jt(t,a,l))},()=>{s=!0,(!i||!r||r.closed)&&t.complete()}))})}function Jc(n,e=Sr){return C_(()=>Xc(n,e))}function Qf(n,e=Sr){return Rt((t,i)=>{let o=null,r=null,s=null,a=()=>{if(o){o.unsubscribe(),o=null;let c=r;r=null,i.next(c)}};function l(){let c=s+n,p=e.now();if(p<c){o=this.schedule(void 0,c-p),i.add(o);return}a()}t.subscribe(jt(i,c=>{r=c,s=e.now(),o||(o=e.schedule(l,n),i.add(o))},()=>{a(),i.complete()},void 0,()=>{r=o=null}))})}function Xf(n){return n<=0?()=>Fc:Rt((e,t)=>{let i=0;e.subscribe(jt(t,o=>{++i<=n&&(t.next(o),n<=i&&t.complete())}))})}function ed(n,e=Po){return n=n??TT,Rt((t,i)=>{let o,r=!0;t.subscribe(jt(i,s=>{let a=e(s);(r||!n(o,a))&&(r=!1,o=a,i.next(s))}))})}function TT(n,e){return n===e}function qa(...n){let e=Oo(n);return Rt((t,i)=>{(e?Kf(n,t,e):Kf(n,t)).subscribe(i)})}function Mr(n,e){return Rt((t,i)=>{let o=null,r=0,s=!1,a=()=>s&&!o&&i.complete();t.subscribe(jt(i,l=>{o?.unsubscribe();let c=0,p=r++;wn(n(l,p)).subscribe(o=jt(i,m=>i.next(e?e(l,m,p,c++):m),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function co(n){return Rt((e,t)=>{wn(n).subscribe(jt(t,()=>t.complete(),Ua)),!t.closed&&e.subscribe(t)})}function Jf(n,e,t){let i=dt(n)||e||t?{next:n,error:e,complete:t}:n;return i?Rt((o,r)=>{var s;(s=i.subscribe)===null||s===void 0||s.call(i);let a=!0;o.subscribe(jt(r,l=>{var c;(c=i.next)===null||c===void 0||c.call(i,l),r.next(l)},()=>{var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),r.complete()},l=>{var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),r.error(l)},()=>{var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):Po}var ad=`https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss`;var Oe=class extends Error{code;constructor(e,t){super(Ar(e,t)),this.code=e}};function MT(n){return`NG0${Math.abs(n)}`}function Ar(n,e){return`${MT(n)}${e?`: `+e:``}`}function xt(n){for(let e in n)if(n[e]===xt)return e;throw Error(``)}function Xa(n){if(typeof n==`string`)return n;if(Array.isArray(n))return`[${n.map(Xa).join(`, `)}]`;if(n==null)return``+n;let e=n.overriddenName||n.name;if(e)return`${e}`;let t=n.toString();if(t==null)return``+t;let i=t.indexOf(`
|
|
6
|
+
`);return i>=0?t.slice(0,i):t}function ld(n,e){return n?e?`${n} ${e}`:n:e||``}var kT=xt({__forward_ref__:xt});function Ja(n){return n.__forward_ref__=Ja,n}function Pn(n){return M_(n)?n():n}function M_(n){return typeof n==`function`&&Object.hasOwn(n,kT)&&n.__forward_ref__===Ja}function ue(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function cd(n){return IT(n,dd)}function IT(n,e){return Object.hasOwn(n,e)&&n[e]||null}function NT(n){return(n?.[dd]??null)||null}function tm(n){return n&&Object.hasOwn(n,nd)?n[nd]:null}var dd=xt({ɵprov:xt});var nd=xt({ɵinj:xt});var Me=class{_desc;ngMetadataName=`InjectionToken`;ɵprov;constructor(e,t){this._desc=e,this.ɵprov=void 0,typeof t==`number`?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.ɵprov=ue({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function gm(n){return n&&!!n.ɵproviders}var ym=xt({ɵcmp:xt});var _m=xt({ɵdir:xt});var vm=xt({ɵpipe:xt});var bm=xt({ɵmod:xt});var nm=xt({ɵfac:xt});var Rr=xt({__NG_ELEMENT_ID__:xt});var w_=xt({__NG_ENV_ID__:xt});function k_(n){return pd(n,`@NgModule`),n[bm]||null}function Lo(n){return pd(n,`@Component`),n[ym]||null}function ud(n){return pd(n,`@Directive`),n[_m]||null}function I_(n){return pd(n,`@Pipe`),n[vm]||null}function pd(n,e){if(n==null)throw new Oe(-919,!1)}function Lr(n){return typeof n==`string`?n:n==null?``:String(n)}var N_=xt({ngErrorCode:xt});var PT=xt({ngErrorMessage:xt});var OT=xt({ngTokenPath:xt});function xm(n,e){return P_(``,-200,e)}function fd(n,e){throw new Oe(-201,!1)}function P_(n,e,t){let i=new Oe(e,n);return i[N_]=e,i[PT]=n,t&&(i[OT]=t),i}function AT(n){return n[N_]}var im;function O_(){return im}function ti(n){let e=im;return im=n,e}function Cm(n,e,t){let i=cd(n);if(i&&i.providedIn==`root`)return i.value===void 0?i.value=i.factory():i.value;if(t&8)return null;if(e!==void 0)return e;fd(n,``)}var Fo=globalThis;var kr={};var LT=`__NG_DI_FLAG__`;var om=class{injector;constructor(e){this.injector=e}retrieve(e,t){let i=Ir(t)||0;try{return this.injector.get(e,i&8?null:kr,i)}catch(o){if(Ts(o))return o;throw o}}};function FT(n,e=0){let t=Dc();if(t===void 0)throw new Oe(-203,!1);if(t===null)return Cm(n,void 0,e);{let i=VT(e),o=t.retrieve(n,i);if(Ts(o)){if(i.optional)return null;throw o}return o}}function yt(n,e=0){return(O_()||FT)(Pn(n),e)}function w(n,e){return yt(n,Ir(e))}function Ir(n){return typeof n>`u`||typeof n==`number`?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function VT(n){return{optional:!!(n&8),host:!!(n&1),self:!!(n&2),skipSelf:!!(n&4)}}function rm(n){let e=[];for(let t=0;t<n.length;t++){let i=Pn(n[t]);if(Array.isArray(i)){if(i.length===0)throw new Oe(900,!1);let o,r=0;for(let s=0;s<i.length;s++){let a=i[s],l=jT(a);typeof l==`number`?l===-1?o=a.token:r|=l:o=a}e.push(yt(o,r))}else e.push(yt(i))}return e}function jT(n){return n[LT]}function Vs(n,e){return Object.hasOwn(n,nm)?n[nm]:null}function A_(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i<n.length;i++){let o=n[i],r=e[i];if(t&&(o=t(o),r=t(r)),r!==o)return!1}return!0}function R_(n){return n.flat(Number.POSITIVE_INFINITY)}function md(n,e){n.forEach(t=>Array.isArray(t)?md(t,e):e(t))}function wm(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function el(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function L_(n,e,t,i){let o=n.length;if(o==e)n.push(t,i);else if(o===1)n.push(i,n[0]),n[0]=t;else{for(o--,n.push(n[o-1],n[o]);o>e;){let r=o-2;n[o]=n[r],o--}n[e]=t,n[e+1]=i}}function hd(n,e,t){let i=Bs(n,e);return i>=0?n[i|1]=t:(i=~i,L_(n,i,e,t)),i}function gd(n,e){let t=Bs(n,e);if(t>=0)return n[t|1]}function Bs(n,e){return BT(n,e,1)}function BT(n,e,t){let i=0,o=n.length>>t;for(;o!==i;){let r=i+(o-i>>1),s=n[r<<t];if(e===s)return r<<t;s>e?o=r:i=r+1}return~(o<<t)}var Fr={};var Ni=[];var Vr=new Me(``);var yd=new Me(``,-1);var Em=new Me(``);var js=class{get(e,t=kr){if(t===kr){let o=P_(``,-201);throw o.name=`ɵNotFound`,o}return t}};function $s(n){return{ɵproviders:n}}function F_(n){return $s([{provide:Vr,multi:!0,useValue:n}])}function V_(...n){return{ɵproviders:Sm(!0,n),ɵfromNgModule:!0}}function Sm(n,...e){let t=[],i=new Set,o,r=s=>{t.push(s)};return md(e,s=>{let a=s;id(a,r,[],i)&&(o||=[],o.push(a))}),o!==void 0&&j_(o,r),t}function j_(n,e){for(let t=0;t<n.length;t++){let{ngModule:i,providers:o}=n[t];Dm(o,r=>{e(r,i)})}}function id(n,e,t,i){if(n=Pn(n),!n)return!1;let o=null,r=tm(n),s=!r&&Lo(n);if(!r&&!s){let l=n.ngModule;if(r=tm(l),r)o=l;else return!1}else{if(s&&!s.standalone)return!1;o=n}let a=i.has(o);if(s){if(a)return!1;if(i.add(o),s.dependencies){let l=typeof s.dependencies==`function`?s.dependencies():s.dependencies;for(let c of l)id(c,e,t,i)}}else if(r){if(r.imports!=null&&!a){i.add(o);let c;md(r.imports,p=>{id(p,e,t,i)&&(c||=[],c.push(p))}),c!==void 0&&j_(c,e)}if(!a){let c=Vs(o)||(()=>new o);e({provide:o,useFactory:c,deps:Ni},o),e({provide:Em,useValue:o,multi:!0},o),e({provide:Vr,useValue:()=>yt(o),multi:!0},o)}let l=r.providers;if(l!=null&&!a){let c=n;Dm(l,p=>{e(p,c)})}}else return!1;return o!==n&&n.providers!==void 0}function Dm(n,e){for(let t of n)gm(t)&&(t=t.ɵproviders),Array.isArray(t)?Dm(t,e):e(t)}var $T=xt({provide:String,useValue:xt});function B_(n){return n!==null&&typeof n==`object`&&$T in n}function HT(n){return!!(n&&n.useExisting)}function zT(n){return!!(n&&n.useFactory)}function Nr(n){return typeof n==`function`}function $_(n){return!!n.useClass}var tl=new Me(``);var td={};var E_={};var em;function Hs(){return em===void 0&&(em=new js),em}var ni=class{};var Pr=class extends ni{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,t,i,o){super(),this.parent=t,this.source=i,this.scopes=o,am(e,s=>this.processProvider(s)),this.records.set(yd,Fs(void 0,this)),o.has(`environment`)&&this.records.set(ni,Fs(void 0,this));let r=this.records.get(tl);r!=null&&typeof r.value==`string`&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(Em,Ni,{self:!0}))}retrieve(e,t){let i=Ir(t)||0;try{return this.get(e,kr,i)}catch(o){if(Ts(o))return o;throw o}}destroy(){Wa(this),this._destroyed=!0;let e=xe(null);try{for(let i of this._ngOnDestroyHooks)i.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),xe(e)}}onDestroy(e){return Wa(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){Wa(this);let t=Wi(this),i=ti(void 0);try{return e()}finally{Wi(t),ti(i)}}get(e,t=kr,i){if(Wa(this),Object.hasOwn(e,w_))return e[w_](this);let o=Ir(i),s=Wi(this),a=ti(void 0);try{if(!(o&4)){let c=this.records.get(e);if(c===void 0){let p=YT(e)&&cd(e);p&&this.injectableDefInScope(p)?c=Fs(sm(e),td):c=null,this.records.set(e,c)}if(c!=null)return this.hydrate(e,c,o)}let l=o&2?Hs():this.parent;return t=o&8&&t===kr?null:t,l.get(e,t)}catch(l){let c=AT(l);throw c===-200||c===-201?new Oe(c,null):l}finally{ti(a),Wi(s)}}resolveInjectorInitializers(){let e=xe(null),t=Wi(this),i=ti(void 0);try{let r=this.get(Vr,Ni,{self:!0});for(let s of r)s()}finally{Wi(t),ti(i),xe(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=Pn(e);let t=Nr(e)?e:Pn(e&&e.provide),i=GT(e);if(!Nr(e)&&e.multi===!0){let o=this.records.get(t);o||(o=Fs(void 0,td,!0),o.factory=()=>rm(o.multi),this.records.set(t,o)),t=e,o.multi.push(e)}this.records.set(t,i)}hydrate(e,t,i){let o=xe(null);try{if(t.value===E_)throw xm(``);return t.value===td&&(t.value=E_,t.value=t.factory(void 0,i)),typeof t.value==`object`&&t.value&&WT(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{xe(o)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Pn(e.providedIn);return typeof t==`string`?t===`any`||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function sm(n){let e=cd(n),t=e!==null?e.factory:Vs(n);if(t!==null)return t;if(n instanceof Me)throw new Oe(-204,!1);if(n instanceof Function)return UT(n);throw new Oe(-204,!1)}function UT(n){if(n.length>0)throw new Oe(-204,!1);let t=NT(n);return t!==null?()=>t.factory(n):()=>new n}function GT(n){if(B_(n))return Fs(void 0,n.useValue);return Fs(Tm(n),td)}function Tm(n,e,t){let i;if(Nr(n)){let o=Pn(n);return Vs(o)||sm(o)}else if(B_(n))i=()=>Pn(n.useValue);else if(zT(n))i=()=>n.useFactory(...rm(n.deps||[]));else if(HT(n))i=(o,r)=>yt(Pn(n.useExisting),r!==void 0&&r&8?8:void 0);else{let o=Pn(n&&(n.useClass||n.provide));if(qT(n))i=()=>new o(...rm(n.deps));else return Vs(o)||sm(o)}return i}function Wa(n){if(n.destroyed)throw new Oe(-205,!1)}function Fs(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function qT(n){return!!n.deps}function WT(n){return n!==null&&typeof n==`object`&&typeof n.ngOnDestroy==`function`}function YT(n){return typeof n==`function`||typeof n==`object`&&n.ngMetadataName===`InjectionToken`}function am(n,e){for(let t of n)Array.isArray(t)?am(t,e):t&&gm(t)?am(t.ɵproviders,e):e(t)}function _d(n,e){let t;n instanceof Pr?(Wa(n),t=n):t=new om(n);let o=Wi(t),r=ti(void 0);try{return e()}finally{Wi(o),ti(r)}}function H_(){return O_()!==void 0||Dc()!=null}var Pi=0;var Ce=1;var ke=2;var on=3;var gi=4;var Gn=5;var zs=6;var Us=7;var Xt=8;var mo=9;var Oi=10;var Bt=11;var Gs=12;var Mm=13;var Vo=14;var qn=15;var jo=16;var jr=17;var Yi=18;var nl=19;var km=20;var uo=21;var vd=22;var po=23;var ii=24;var Br=25;var z_=26;var qs=27;var ln=28;var U_=1;var Im=6;var $r=7;var il=8;var Hr=9;var Jt=10;function ho(n){return Array.isArray(n)&&typeof n[U_]==`object`}function yi(n){return Array.isArray(n)&&n[U_]===!0}function Nm(n){return(n.flags&4)!==0}function go(n){return n.componentOffset>-1}function Ws(n){return(n.flags&1)===1}function Bo(n){return!!n.template}function Ys(n){return(n[ke]&512)!==0}function zr(n){return(n[ke]&256)===256}var Ut=(function(n){return n[n.NONE=0]=`NONE`,n[n.HTML=1]=`HTML`,n[n.STYLE=2]=`STYLE`,n[n.SCRIPT=3]=`SCRIPT`,n[n.URL=4]=`URL`,n[n.RESOURCE_URL=5]=`RESOURCE_URL`,n[n.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,n})(Ut||{});var Ya;var Or=`svg`;var bd=`math`;var lm=``;var S_=`*`;var cm=()=>Object.create(null);function KT(){return Ya||(Ya=cm(),Ao(Ut.HTML,void 0,[[`iframe`,[`srcdoc`]],[`*`,[`innerHTML`,`outerHTML`]]]),Ao(Ut.STYLE,void 0,[[`*`,[`style`]]]),Ao(Ut.URL,void 0,[[`*`,[`formAction`]],[`area`,[`href`]],[`a`,[`href`,`xlink:href`]],[`form`,[`action`]],[`img`,[`src`]],[`video`,[`src`]]]),Ao(Ut.URL,bd,[[`*`,[`href`,`xlink:href`]]]),Ao(Ut.RESOURCE_URL,void 0,[[`base`,[`href`]],[`embed`,[`src`]],[`frame`,[`src`]],[`iframe`,[`src`]],[`link`,[`href`]],[`object`,[`codebase`,`data`]]]),Ao(Ut.URL,Or,[[`a`,[`href`,`xlink:href`]]]),Ao(Ut.ATTRIBUTE_NO_BINDING,Or,[[`animate`,[`attributeName`,`values`,`to`,`from`]],[`set`,[`to`,`attributeName`]],[`animateMotion`,[`attributeName`]],[`animateTransform`,[`attributeName`]]]),Ao(Ut.ATTRIBUTE_NO_BINDING,void 0,[[`unknown`,[`attributeName`,`values`,`to`,`from`,`sandbox`,`allow`,`allowFullscreen`,`referrerPolicy`,`csp`,`fetchPriority`,`credentialless`]],[`iframe`,[`sandbox`,`allow`,`allowFullscreen`,`referrerPolicy`,`csp`,`fetchPriority`,`credentialless`]]]),Ya)}function Ao(n,e,t){let i=e??lm;for(let[o,r]of t){let s=o.toLowerCase();for(let a of r){let l=a.toLowerCase(),c=Ya[l]??=cm(),p=c[i]??=cm();p[s]=n}}}function G_(n,e,t){let o=KT()[e.toLowerCase()];if(!o)return Ut.NONE;let r=n.toLowerCase(),s;if(t){let a=o[t];a&&(s=a[r]??a[S_])}if(s===void 0){let a=o[lm];a&&(s=a[r]??a[S_])}if(s===void 0&&(!t||t===lm)){let a=o[Or];a&&(s=a[r])}return s??Ut.NONE}function Mn(n){for(;Array.isArray(n);)n=n[Pi];return n}function Pm(n,e){return Mn(e[n])}function _i(n,e){return Mn(e[n.index])}function xd(n,e){return n.data[e]}function q_(n,e){return n[e]}function vi(n,e){let t=e[n];return ho(t)?t:t[Pi]}function Cd(n){return(n[ke]&128)===128}function W_(n){return yi(n[on])}function bi(n,e){return e==null?null:n[e]}function Om(n){n[jr]=0}function Am(n){n[ke]&1024||(n[ke]|=1024,Cd(n)&&Ur(n))}function Y_(n,e){for(;n>0;)e=e[Vo],n--;return e}function ol(n){return!!(n[ke]&9216||n[ii]?.dirty)}function wd(n){n[Oi].changeDetectionScheduler?.notify(8),n[ke]&64&&(n[ke]|=1024),ol(n)&&Ur(n)}function Ur(n){n[Oi].changeDetectionScheduler?.notify(0);let e=fo(n);for(;e!==null&&!(e[ke]&8192||(e[ke]|=8192,!Cd(e)));)e=fo(e)}function Ed(n,e){if(zr(n))throw new Oe(911,!1);n[uo]===null&&(n[uo]=[]),n[uo].push(e)}function K_(n,e){if(n[uo]===null)return;let t=n[uo].indexOf(e);t!==-1&&n[uo].splice(t,1)}function fo(n){let e=n[on];return yi(e)?e[on]:e}function Rm(n){return n[Us]??=[]}function Lm(n){return n.cleanup??=[]}function Z_(n,e,t,i){let o=Rm(e);o.push(t),n.firstCreatePass&&Lm(n).push(i,o.length-1)}var $e={lFrame:uv(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var dm=!1;function Q_(){return $e.lFrame.elementDepthCount}function X_(){$e.lFrame.elementDepthCount++}function Fm(){$e.lFrame.elementDepthCount--}function Sd(){return $e.bindingsEnabled}function J_(){return $e.skipHydrationRootTNode!==null}function Vm(n){return $e.skipHydrationRootTNode===n}function jm(){$e.skipHydrationRootTNode=null}function ze(){return $e.lFrame.lView}function mn(){return $e.lFrame.tView}function D(n){return $e.lFrame.contextLView=n,n[Xt]}function T(n){return $e.lFrame.contextLView=null,n}function On(){let n=Bm();for(;n!==null&&n.type===64;)n=n.parent;return n}function Bm(){return $e.lFrame.currentTNode}function ev(){let n=$e.lFrame,e=n.currentTNode;return n.isParent?e:e.parent}function Ks(n,e){let t=$e.lFrame;t.currentTNode=n,t.isParent=e}function $m(){return $e.lFrame.isParent}function tv(){$e.lFrame.isParent=!1}function nv(){return $e.lFrame.contextLView}function Hm(){return dm}function Ka(n){let e=dm;return dm=n,e}function zm(){let n=$e.lFrame,e=n.bindingRootIndex;return e===-1&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function iv(){return $e.lFrame.bindingIndex}function ov(n){return $e.lFrame.bindingIndex=n}function Gr(){return $e.lFrame.bindingIndex++}function Dd(n){let e=$e.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function rv(){return $e.lFrame.inI18n}function sv(n,e){let t=$e.lFrame;t.bindingIndex=t.bindingRootIndex=n,Td(e)}function av(){return $e.lFrame.currentDirectiveIndex}function Td(n){$e.lFrame.currentDirectiveIndex=n}function lv(n){let e=$e.lFrame.currentDirectiveIndex;return e===-1?null:n[e]}function cv(){return $e.lFrame.currentQueryIndex}function Md(n){$e.lFrame.currentQueryIndex=n}function ZT(n){let e=n[Ce];return e.type===2?e.declTNode:e.type===1?n[Gn]:null}function Um(n,e,t){if(t&4){let o=e,r=n;for(;o=o.parent,o===null&&!(t&1);)if(o=ZT(r),o===null||(r=r[Vo],o.type&10))break;if(o===null)return!1;e=o,n=r}let i=$e.lFrame=dv();return i.currentTNode=e,i.lView=n,!0}function kd(n){let e=dv(),t=n[Ce];$e.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function dv(){let n=$e.lFrame,e=n===null?null:n.child;return e===null?uv(n):e}function uv(n){let e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return n!==null&&(n.child=e),e}function pv(){let n=$e.lFrame;return $e.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}var Gm=pv;function Id(){let n=pv();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function fv(n){return($e.lFrame.contextLView=Y_(n,$e.lFrame.contextLView))[Xt]}function Ai(){return $e.lFrame.selectedIndex}function $o(n){$e.lFrame.selectedIndex=n}function rl(){let n=$e.lFrame;return xd(n.tView,n.selectedIndex)}function De(){$e.lFrame.currentNamespace=Or}function kt(){QT()}function QT(){$e.lFrame.currentNamespace=null}function qm(){return $e.lFrame.currentNamespace}var mv=!0;function Nd(){return mv}function sl(n){mv=n}function um(n,e=null,t=null,i){let o=Wm(n,e,t,i);return o.resolveInjectorInitializers(),o}function Wm(n,e=null,t=null,i,o=new Set){return new Pr([t||Ni,V_(n)],e||Hs(),null,o)}var rn=class n{static THROW_IF_NOT_FOUND=kr;static NULL=new js;static create(e,t){if(Array.isArray(e))return um({name:``},t,e,``);{let i=e.name??``;return um({name:i},e.parent,e.providers,i)}}static ɵprov=ue({token:n,providedIn:`any`,factory:()=>yt(yd)});static __NG_ELEMENT_ID__=-1};var Gt=new Me(``);var He=class{static __NG_ELEMENT_ID__=XT;static __NG_ENV_ID__=e=>e};var od=class extends He{_lView;constructor(e){super(),this._lView=e}get destroyed(){return zr(this._lView)}onDestroy(e){let t=this._lView;return Ed(t,e),()=>K_(t,e)}};function XT(){return new od(ze())}var hv=!1;var gv=new Me(``);var Zs=(()=>{class n{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Er(!1);debugTaskTracker=w(gv,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new ut(t=>{t.next(!1),t.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let t=this.taskId++;return this.pendingTasks.add(t),this.debugTaskTracker?.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),this.debugTaskTracker?.remove(t),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static ɵprov=ue({token:n,providedIn:`root`,factory:()=>new n})}return n})();var pm=class extends We{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,H_()&&(this.destroyRef=w(He,{optional:!0})??void 0,this.pendingTasks=w(Zs,{optional:!0})??void 0)}emit(e){let t=xe(null);try{super.next(e)}finally{xe(t)}}subscribe(e,t,i){let o=e,r=t||(()=>null),s=i;if(e&&typeof e==`object`){let l=e;o=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:o,error:r,complete:s});return e instanceof At&&e.add(a),a}wrapInTimeout(e){return t=>{let i=this.pendingTasks?.add();setTimeout(()=>{try{e(t)}finally{i!==void 0&&this.pendingTasks?.remove(i)}})}}};var Zt=pm;function rd(...n){}function Ym(n){let e,t;function i(){n=rd;try{t!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(t),e!==void 0&&clearTimeout(e)}catch{}}return e=setTimeout(()=>{n(),i()}),typeof requestAnimationFrame==`function`&&(t=requestAnimationFrame(()=>{n(),i()})),()=>i()}function yv(n){return queueMicrotask(()=>n()),()=>{n=rd}}var Km=`isAngularZone`;var Za=Km+`_ID`;var JT=0;var Qt=class n{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Zt(!1);onMicrotaskEmpty=new Zt(!1);onStable=new Zt(!1);onError=new Zt(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:r=hv}=e;if(typeof Zone>`u`)throw new Oe(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&i,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=r,nM(s)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(Km)===!0}static assertInAngularZone(){if(!n.isInAngularZone())throw new Oe(909,!1)}static assertNotInAngularZone(){if(n.isInAngularZone())throw new Oe(909,!1)}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,o){let r=this._inner,s=r.scheduleEventTask(`NgZoneEvent: `+o,e,eM,rd,rd);try{return r.runTask(s,t,i)}finally{r.cancelTask(s)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}};var eM={};function Zm(n){if(n._nesting==0&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function tM(n){if(n.isCheckStableRunning||n.callbackScheduled)return;n.callbackScheduled=!0;function e(){Ym(()=>{n.callbackScheduled=!1,fm(n),n.isCheckStableRunning=!0,Zm(n),n.isCheckStableRunning=!1})}n.scheduleInRootZone?Zone.root.run(()=>{e()}):n._outer.run(()=>{e()}),fm(n)}function nM(n){let e=()=>{tM(n)},t=JT++;n._inner=n._inner.fork({name:`angular`,properties:{[Km]:!0,[Za]:t,[Za+t]:!0},onInvokeTask:(i,o,r,s,a,l)=>{if(iM(l))return i.invokeTask(r,s,a,l);try{return D_(n),i.invokeTask(r,s,a,l)}finally{(n.shouldCoalesceEventChangeDetection&&s.type===`eventTask`||n.shouldCoalesceRunChangeDetection)&&e(),T_(n)}},onInvoke:(i,o,r,s,a,l,c)=>{try{return D_(n),i.invoke(r,s,a,l,c)}finally{n.shouldCoalesceRunChangeDetection&&!n.callbackScheduled&&!oM(l)&&e(),T_(n)}},onHasTask:(i,o,r,s)=>{i.hasTask(r,s),o===r&&(s.change==`microTask`?(n._hasPendingMicrotasks=s.microTask,fm(n),Zm(n)):s.change==`macroTask`&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,o,r,s)=>(i.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}function fm(n){n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&n.callbackScheduled===!0?n.hasPendingMicrotasks=!0:n.hasPendingMicrotasks=!1}function D_(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function T_(n){n._nesting--,Zm(n)}var Qa=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Zt;onMicrotaskEmpty=new Zt;onStable=new Zt;onError=new Zt;run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,o){return e.apply(t,i)}};function iM(n){return _v(n,`__ignore_ng_zone__`)}function oM(n){return _v(n,`__scheduler_tick__`)}function _v(n,e){return!Array.isArray(n)||n.length!==1?!1:n[0]?.data?.[e]===!0}var hi=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}};function vv(n){return bv(n)?n:new mm(n)}function bv(n){return n instanceof Error||typeof n==`object`&&n!==null&&typeof n.name==`string`&&typeof n.message==`string`}var mm=class extends Error{constructor(e){super(String(e),{cause:e}),this.name=`ErrorBoundaryWrappedError`}};var Ho=new Me(``,{factory:()=>{let n=w(Qt),e=w(ni),t;return i=>{n.runOutsideAngular(()=>{e.destroyed&&!t?setTimeout(()=>{throw i}):(t??=e.get(hi),t.handleError(i))})}}});var xv={provide:Vr,useValue:()=>{w(hi,{optional:!0})},multi:!0};var rM=new Me(``,{factory:()=>{let n=w(Gt).defaultView;if(!n)return;let e=w(Ho),t=r=>{e(r.reason),r.preventDefault()},i=r=>{r.error?e(r.error):e(new Error(r.message,{cause:r})),r.preventDefault()},o=()=>{n.addEventListener(`unhandledrejection`,t),n.addEventListener(`error`,i)};typeof Zone<`u`?Zone.root.run(o):o(),w(He).onDestroy(()=>{n.removeEventListener(`error`,i),n.removeEventListener(`unhandledrejection`,t)})}});function Qm(){return $s([F_(()=>{w(rM)})])}function N(n,e){let[t,i,o]=Rf(n,e?.equal),r=t;r[Tn];return r.set=i,r.update=o,r.asReadonly=Xm.bind(r),r}function Xm(){let n=this[Tn];if(n.readonlyFn===void 0){let e=()=>this();e[Tn]=n,n.readonlyFn=e}return n.readonlyFn}var qr=new Me(``,{factory:()=>sM});var sM=`ng`;var Pd=new Me(``);var Wr=new Me(``,{providedIn:`platform`,factory:()=>`unknown`});var Od=new Me(``,{factory:()=>w(Gt).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null});var al=(()=>{class n{view;node;constructor(t,i){this.view=t,this.node=i}static __NG_ELEMENT_ID__=aM}return n})();function aM(){return new al(ze(),On())}var Ro=class{};var ll=new Me(``,{factory:()=>!0});var Jm=new Me(``);var Ad=(()=>{class n{static ɵprov=ue({token:n,providedIn:`root`,factory:()=>new hm})}return n})();var hm=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let t=e.zone,i=this.queues.get(t);i.has(e)&&(i.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let t=e.zone;this.queues.has(t)||this.queues.set(t,new Set);let i=this.queues.get(t);i.has(e)||i.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[t,i]of this.queues)t===null?e||=this.flushQueue(i):e||=t.run(()=>this.flushQueue(i));e||(this.dirtyEffectCount=0)}}flushQueue(e){let t=!1;for(let i of e)i.dirty&&(this.dirtyEffectCount--,t=!0,i.run());return t}};var sd=class{[Tn];constructor(e){this[Tn]=e}destroy(){this[Tn].destroy()}};function ne(n,e){let t=e?.injector??w(rn),i=e?.manualCleanup!==!0?t.get(He):null,o,r=t.get(al,null,{optional:!0}),s=t.get(Ro);return r!==null?(o=wv(r.view,s,n),i instanceof od&&i._lView===r.view&&(i=null)):o=dM(n,t.get(Ad),s),o.injector=t,i!==null&&(o.onDestroyFns=[i.onDestroy(()=>o.destroy())]),new sd(o)}var Cv=s(r({},Ff),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let n=Ka(!1);try{Vf(this)}finally{Ka(n)}},cleanup(){if(!this.cleanupFns?.length)return;let n=xe(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],xe(n)}}});var lM=s(r({},Cv),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(vr(this),this.onDestroyFns!==null)for(let n of this.onDestroyFns)n();this.cleanup(),this.scheduler.remove(this)}});var cM=s(r({},Cv),{consumerMarkedDirty(){this.view[ke]|=8192,Ur(this.view),this.notifier.notify(13)},destroy(){if(vr(this),this.onDestroyFns!==null)for(let n of this.onDestroyFns)n();this.cleanup(),this.view[po]?.delete(this)}});function wv(n,e,t){let i=Object.create(cM);return i.view=n,i.zone=typeof Zone<`u`?Zone.current:null,i.notifier=e,i.userFn=t,i.fn=Ev(i,t),n[po]??=new Set,n[po].add(i),i.consumerMarkedDirty(i),i}function dM(n,e,t){let i=Object.create(lM);return i.userFn=n,i.fn=Ev(i,n),i.scheduler=e,i.notifier=t,i.zone=typeof Zone<`u`?Zone.current:null,i.scheduler.add(i),i.notifier.notify(12),i}function Ev(n,e){return()=>{e(t=>(n.cleanupFns??=[]).push(t))}}var Kh=Symbol(`InputSignalNode#UNSET`);var ab=s(r({},za),{transformFn:void 0,applyValueToInputSignal(n,e){br(n,e)}});function Zh(n){return{toString:n}.toString()}var mt=(function(n){return n[n.TemplateCreateStart=0]=`TemplateCreateStart`,n[n.TemplateCreateEnd=1]=`TemplateCreateEnd`,n[n.TemplateUpdateStart=2]=`TemplateUpdateStart`,n[n.TemplateUpdateEnd=3]=`TemplateUpdateEnd`,n[n.LifecycleHookStart=4]=`LifecycleHookStart`,n[n.LifecycleHookEnd=5]=`LifecycleHookEnd`,n[n.OutputStart=6]=`OutputStart`,n[n.OutputEnd=7]=`OutputEnd`,n[n.BootstrapApplicationStart=8]=`BootstrapApplicationStart`,n[n.BootstrapApplicationEnd=9]=`BootstrapApplicationEnd`,n[n.BootstrapComponentStart=10]=`BootstrapComponentStart`,n[n.BootstrapComponentEnd=11]=`BootstrapComponentEnd`,n[n.ChangeDetectionStart=12]=`ChangeDetectionStart`,n[n.ChangeDetectionEnd=13]=`ChangeDetectionEnd`,n[n.ChangeDetectionSyncStart=14]=`ChangeDetectionSyncStart`,n[n.ChangeDetectionSyncEnd=15]=`ChangeDetectionSyncEnd`,n[n.AfterRenderHooksStart=16]=`AfterRenderHooksStart`,n[n.AfterRenderHooksEnd=17]=`AfterRenderHooksEnd`,n[n.ComponentStart=18]=`ComponentStart`,n[n.ComponentEnd=19]=`ComponentEnd`,n[n.DeferBlockStateStart=20]=`DeferBlockStateStart`,n[n.DeferBlockStateEnd=21]=`DeferBlockStateEnd`,n[n.DynamicComponentStart=22]=`DynamicComponentStart`,n[n.DynamicComponentEnd=23]=`DynamicComponentEnd`,n[n.HostBindingsUpdateStart=24]=`HostBindingsUpdateStart`,n[n.HostBindingsUpdateEnd=25]=`HostBindingsUpdateEnd`,n})(mt||{});var Ud=class{previousValue;currentValue;firstChange;constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}};function lb(n,e,t,i){e!==null?e.applyValueToInputSignal(e,i):n[t]=i}var cb=null;var Xr=(()=>{cb=Sv;let n=()=>Sv;return n.ngInherit=!0,n})();function CM(){return cb}function Sv(n){return n.type.prototype.ngOnChanges&&(n.setInput=EM),wM}function wM(){let n=db(this),e=n?.current;if(e){let t=n.previous;if(t===Fr)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function EM(n,e,t,i,o){let r=this.declaredInputs[i],s=db(n)||SM(n,{previous:Fr,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new Ud(c&&c.currentValue,t,l===Fr),lb(n,e,o,t)}var ch=`__ngSimpleChanges__`;function db(n){return Object.hasOwn(n,ch)&&n[ch]||null}function SM(n,e){return n[ch]=e}var Dv=[];var Ct=function(n,e=null,t){for(let i=0;i<Dv.length;i++){let o=Dv[i];o(n,e,t)}};function DM(n,e,t){let{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=e.type.prototype;if(i){let s=CM()(e);(t.preOrderHooks??=[]).push(n,s),(t.preOrderCheckHooks??=[]).push(n,s)}o&&(t.preOrderHooks??=[]).push(0-n,o),r&&((t.preOrderHooks??=[]).push(n,r),(t.preOrderCheckHooks??=[]).push(n,r))}function ub(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t<i;t++){let{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:p}=n.data[t].type.prototype;s&&(n.contentHooks??=[]).push(-t,s),a&&((n.contentHooks??=[]).push(t,a),(n.contentCheckHooks??=[]).push(t,a)),l&&(n.viewHooks??=[]).push(-t,l),c&&((n.viewHooks??=[]).push(t,c),(n.viewCheckHooks??=[]).push(t,c)),p!=null&&(n.destroyHooks??=[]).push(t,p)}}function jd(n,e,t){pb(n,e,3,t)}function Bd(n,e,t,i){(n[ke]&3)===t&&pb(n,e,t,i)}function eh(n,e){let t=n[ke];(t&3)===e&&(t&=16383,t+=1,n[ke]=t)}function pb(n,e,t,i){let o=i!==void 0?n[jr]&65535:0,r=i??-1,s=e.length-1,a=0;for(let l=o;l<s;l++)if(typeof e[l+1]==`number`){if(a=e[l],i!=null&&a>=i)break}else e[l]<0&&(n[jr]+=65536),(a<r||r==-1)&&(TM(n,t,e,l),n[jr]=(n[jr]&4294901760)+l+2),l++}function Tv(n,e){Ct(mt.LifecycleHookStart,n,e);let t=xe(null);try{e.call(n)}finally{xe(t),Ct(mt.LifecycleHookEnd,n,e)}}function TM(n,e,t,i){let o=t[i]<0,r=t[i+1],a=n[o?-t[i]:t[i]];o?n[ke]>>14<n[jr]>>16&&(n[ke]&3)===e&&(n[ke]+=16384,Tv(a,r)):Tv(a,r)}var Js=-1;var Kr=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,t,i,o){this.factory=e,this.name=o,this.canSeeViewProviders=t,this.injectImpl=i}};function MM(n){return(n.flags&8)!==0}function kM(n){return(n.flags&16)!==0}function IM(n,e,t){let i=0;for(;i<t.length;){let o=t[i];if(typeof o==`number`){if(o!==0)break;i++;let r=t[i++],s=t[i++],a=t[i++];n.setAttribute(e,s,a,r)}else{let r=o,s=t[++i];PM(r)?n.setProperty(e,r,s):n.setAttribute(e,r,s),i++}}return i}function NM(n){return n===3||n===4||n===6}function PM(n){return n.charCodeAt(0)===64}function ou(n,e){if(!(e===null||e.length===0))if(n===null||n.length===0)n=e.slice();else{let t=-1;for(let i=0;i<e.length;i++){let o=e[i];typeof o==`number`?t=o:t===0||(t===-1||t===2?Mv(n,t,o,null,e[++i]):Mv(n,t,o,null,null))}}return n}function Mv(n,e,t,i,o){let r=0,s=n.length;if(e===-1)s=-1;else for(;r<n.length;){let a=n[r++];if(typeof a==`number`){if(a===e){s=-1;break}else if(a>e){s=r-1;break}}}for(;r<n.length;){let a=n[r];if(typeof a==`number`)break;if(a===t){o!==null&&(n[r+1]=o);return}r++,o!==null&&r++}s!==-1&&(n.splice(s,0,e),r=s+1),n.splice(r++,0,t),o!==null&&n.splice(r++,0,o)}function fb(n){return n!==Js}function Gd(n){return n&32767}function OM(n){return n>>16}function qd(n,e){let t=OM(n),i=e;for(;t>0;)i=i[Vo],t--;return i}var dh=!0;function kv(n){let e=dh;return dh=n,e}var mb=255;var hb=5;var RM=0;var Ki={};function LM(n,e,t){let i;typeof t==`string`?i=t.charCodeAt(0)||0:Object.hasOwn(t,Rr)&&(i=t[Rr]),i??=t[Rr]=RM++;let o=i&mb,r=1<<o;e.data[n+(o>>hb)]|=r}function Wd(n,e){let t=gb(n,e);if(t!==-1)return t;let i=e[Ce];i.firstCreatePass&&(n.injectorIndex=e.length,th(i.data,n),th(e,null),th(i.blueprint,null));let o=Qh(n,e),r=n.injectorIndex;if(fb(o)){let s=Gd(o),a=qd(o,e),l=a[Ce].data;for(let c=0;c<8;c++)e[r+c]=a[s+c]|l[s+c]}return e[r+8]=o,r}function th(n,e){n.push(0,0,0,0,0,0,0,0,e)}function gb(n,e){return n.injectorIndex===-1||n.parent&&n.parent.injectorIndex===n.injectorIndex||e[n.injectorIndex+8]===null?-1:n.injectorIndex}function Qh(n,e){if(n.parent&&n.parent.injectorIndex!==-1)return n.parent.injectorIndex;let t=0,i=null,o=e;for(;o!==null;){if(i=xb(o),i===null)return Js;if(t++,o=o[Vo],i.injectorIndex!==-1)return i.injectorIndex|t<<16}return Js}function uh(n,e,t){LM(n,e,t)}function yb(n,e,t){if(t&8||n!==void 0)return n;fd(e,`NodeInjector`)}function _b(n,e,t,i){if(t&8&&i===void 0&&(i=null),(t&3)===0){let o=n[mo],r=ti(void 0);try{return o?o.get(e,i,t&8):Cm(e,i,t&8)}finally{ti(r)}}return yb(i,e,t)}function vb(n,e,t,i=0,o){if(n!==null){if(e[ke]&2048&&!(i&2)){let s=BM(n,e,t,i,Ki);if(s!==Ki)return s}let r=bb(n,e,t,i,Ki);if(r!==Ki)return r}return _b(e,t,i,o)}function bb(n,e,t,i,o){let r=VM(t);if(typeof r==`function`){if(!Um(e,n,i))return i&1?yb(o,t,i):_b(e,t,i,o);try{let s;if(s=r(i),s==null&&!(i&8))fd(t);else return s}finally{Gm()}}else if(typeof r==`number`){let s=null,a=gb(n,e),l=Js,c=i&1?e[qn][Gn]:null;for((a===-1||i&4)&&(l=a===-1?Qh(n,e):e[a+8],l===Js||!Nv(i,!1)?a=-1:(s=e[Ce],a=Gd(l),e=qd(l,e)));a!==-1;){let p=e[Ce];if(Iv(r,a,p.data)){let m=FM(a,e,t,s,i,c);if(m!==Ki)return m}l=e[a+8],l!==Js&&Nv(i,e[Ce].data[a+8]===c)&&Iv(r,a,e)?(s=p,a=Gd(l),e=qd(l,e)):a=-1}}return o}function FM(n,e,t,i,o,r){let s=e[Ce],a=s.data[n+8],p=$d(a,s,t,i==null?go(a)&&dh:i!=s&&(a.type&3)!==0,o&1&&r===a);return p!==null?ul(e,s,p,a,o):Ki}function $d(n,e,t,i,o){let r=n.providerIndexes,s=e.data,a=r&1048575,l=n.directiveStart,c=n.directiveEnd,p=r>>20,m=i?a:a+p,v=o?a+p:c;for(let b=m;b<v;b++){let k=s[b];if(b<l&&t===k||b>=l&&k.type===t)return b}if(o){let b=s[l];if(b&&Bo(b)&&b.type===t)return l}return null}function ul(n,e,t,i,o){let r=n[t],s=e.data;if(r instanceof Kr){let a=r;if(a.resolving)throw xm(``);let l=kv(a.canSeeViewProviders);a.resolving=!0;s[t].type||s[t];let m=a.injectImpl?ti(a.injectImpl):null;Um(n,i,0);try{r=n[t]=a.factory(void 0,o,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&DM(t,s[t],e)}finally{m!==null&&ti(m),kv(l),a.resolving=!1,Gm()}}return r}function VM(n){if(typeof n==`string`)return n.charCodeAt(0)||0;let e=Object.hasOwn(n,Rr)?n[Rr]:void 0;return typeof e==`number`?e>=0?e&mb:jM:e}function Iv(n,e,t){let i=1<<n;return!!(t[e+(n>>hb)]&i)}function Nv(n,e){return!(n&2)&&!(n&1&&e)}var yo=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,i){return vb(this._tNode,this._lView,e,Ir(i),t)}};function jM(){return new yo(On(),ze())}function BM(n,e,t,i,o){let r=n,s=e;for(;r!==null&&s!==null&&s[ke]&2048&&!Ys(s);){let a=bb(r,s,t,i|2,Ki);if(a!==Ki)return a;i&=-5;let l=r.parent;if(!l){let c=s[km];if(c){let p=c.get(t,Ki,i);if(p!==Ki)return p}l=xb(s),s=s[Vo]}r=l}return o}function xb(n){let e=n[Ce],t=e.type;return t===2?e.declTNode:t===1?n[Gn]:null}function cn(n){return{token:n.token,providedIn:n.autoProvided===!1?null:`root`,factory:n.factory,value:void 0}}function $M(){return ia(On(),ze())}function ia(n,e){return new St(_i(n,e))}var St=(()=>{class n{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=$M}return n})();function HM(n){return n instanceof St?n.nativeElement:n}function zM(){return this._results[Symbol.iterator]()}var Yd=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new We}constructor(e=!1){this._emitDistinctChangesOnly=e}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){this.dirty=!1;let i=R_(e);(this._changesDetected=!A_(this._results,i,t))&&(this._results=i,this.length=i.length,this.last=i[this.length-1],this.first=i[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(e){this._onDirty=e}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=zM};function Cb(n){return(n.flags&128)===128}var Xh=(function(n){return n[n.OnPush=0]=`OnPush`,n[n.Eager=1]=`Eager`,n[n.Default=1]=`Default`,n})(Xh||{});var wb=new Map;var UM=0;function GM(){return UM++}function qM(n){wb.set(n[nl],n)}function ph(n){wb.delete(n[nl])}var Pv=`__ngContext__`;function ea(n,e){ho(e)?(n[Pv]=e[nl],qM(e)):n[Pv]=e}function Eb(n){return Db(n[Gs])}function Sb(n){return Db(n[gi])}function Db(n){for(;n!==null&&!yi(n);)n=n[gi];return n}var fh;function Jh(n){fh=n}function eg(){if(fh!==void 0)return fh;if(typeof document<`u`)return document;throw new Oe(210,!1)}var Tb=`r`;var Mb=`di`;var kb=!1;var Ib=new Me(``,{factory:()=>kb});var Ov=new WeakMap;function WM(n,e){if(n==null||typeof n!=`object`)return;let t=Ov.get(n);t||(t=new WeakSet,Ov.set(n,t)),t.add(e)}function tg(n){return(n.flags&32)===32}var ZM=()=>null;function Nb(n,e,t=!1){return ZM(n,e,t)}function Pb(n,e){let t=n.contentQueries;if(t!==null){let i=xe(null);try{for(let o=0;o<t.length;o+=2){let r=t[o],s=t[o+1];if(s!==-1){let a=n.data[s];Md(r),a.contentQueries(2,e[s],s)}}}finally{xe(i)}}}function mh(n,e,t){Md(0);let i=xe(null);try{e(n,t)}finally{xe(i)}}function ng(n,e,t){if(Nm(e)){let i=xe(null);try{let o=e.directiveStart,r=e.directiveEnd;for(let s=o;s<r;s++){let a=n.data[s];if(a.contentQueries){let l=t[s];a.contentQueries(1,l,s)}}}finally{xe(i)}}}var Fi=(function(n){return n[n.Emulated=0]=`Emulated`,n[n.None=2]=`None`,n[n.ShadowDom=3]=`ShadowDom`,n[n.ExperimentalIsolatedShadowDom=4]=`ExperimentalIsolatedShadowDom`,n})(Fi||{});var QM={"http://www.w3.org/2000/svg":Or,"http://www.w3.org/1998/Math/MathML":bd};var Rd;function XM(){if(Rd===void 0&&(Rd=null,Fo.trustedTypes))try{Rd=Fo.trustedTypes.createPolicy(`angular`,{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return Rd}function ru(n){return XM()?.createHTML(n)||n}var Ld;function JM(){if(Ld===void 0&&(Ld=null,Fo.trustedTypes))try{Ld=Fo.trustedTypes.createPolicy(`angular#unsafe-bypass`,{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return Ld}function Av(n){return JM()?.createHTML(n)||n}var _o=class{changingThisBreaksApplicationSecurity;constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ad})`}};var hh=class extends _o{getTypeName(){return`HTML`}};var gh=class extends _o{getTypeName(){return`Style`}};var yh=class extends _o{getTypeName(){return`Script`}};var _h=class extends _o{getTypeName(){return`URL`}};var vh=class extends _o{getTypeName(){return`ResourceURL`}};function xi(n){return n instanceof _o?n.changingThisBreaksApplicationSecurity:n}function vo(n,e){let t=Ob(n);if(t!=null&&t!==e){if(t===`ResourceURL`&&e===`URL`)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see ${ad})`)}return t===e}function Ob(n){return n instanceof _o&&n.getTypeName()||null}function ig(n){return new hh(n)}function og(n){return new gh(n)}function rg(n){return new yh(n)}function sg(n){return new _h(n)}function ag(n){return new vh(n)}function ek(n){let e=new xh(n);return tk()?new bh(e):e}var bh=class{inertDocumentHelper;constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=`<body><remove></remove>`+e;try{let t=new window.DOMParser().parseFromString(ru(e),`text/html`).body;return t===null?this.inertDocumentHelper.getInertBodyElement(e):(t.firstChild?.remove(),t)}catch{return null}}};var xh=class{defaultDoc;inertDocument;constructor(e){this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument(`sanitization-inert`)}getInertBodyElement(e){let t=this.inertDocument.createElement(`template`);return t.innerHTML=ru(e),t}};function tk(){try{return!!new window.DOMParser().parseFromString(ru(``),`text/html`)}catch{return!1}}var nk=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function _l(n){return n=String(n),n.match(nk)?n:`unsafe:`+n}function bo(n){let e=Object.create(null);for(let t of n.split(`,`))e[t]=!0;return e}function vl(...n){let e=Object.create(null);for(let t of n)for(let i in t)Object.hasOwn(t,i)&&(e[i]=!0);return e}var Ab=bo(`area,br,col,hr,img,wbr`);var Rb=bo(`colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr`);var Lb=bo(`rp,rt`);var ik=vl(Lb,Rb);var Rv=vl(Ab,vl(Rb,bo(`address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul`)),vl(Lb,bo(`a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video`)),ik);var Fb=bo(`background,cite,href,itemtype,longdesc,poster,src,xlink:href`);var lk=vl(Fb,bo(`abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width`),bo(`aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext`));var ck=bo(`script,style,template`);var Ch=class{sanitizedSomething=!1;buf=[];sanitizeChildren(e){let t=e.firstChild,i=!0,o=[];for(;t;){if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild){o.push(t),t=pk(t);continue}for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=uk(t);if(r){t=r;break}t=o.pop()}}return this.buf.join(``)}startElement(e){let t=Lv(e).toLowerCase();if(!Object.hasOwn(Rv,t))return this.sanitizedSomething=!0,!Object.hasOwn(ck,t);this.buf.push(`<`),this.buf.push(t);let i=e.attributes;for(let o=0;o<i.length;o++){let r=i.item(o),s=r.name,a=s.toLowerCase();if(!Object.hasOwn(lk,a)){this.sanitizedSomething=!0;continue}let l=r.value;Fb[a]&&(l=_l(l)),this.buf.push(` `,s,`="`,Fv(l),`"`)}return this.buf.push(`>`),!0}endElement(e){let t=Lv(e).toLowerCase();Object.hasOwn(Rv,t)&&!Object.hasOwn(Ab,t)&&(this.buf.push(`</`),this.buf.push(t),this.buf.push(`>`))}chars(e){this.buf.push(Fv(e))}};function dk(n,e){return(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function uk(n){let e=n.nextSibling;if(e&&n!==e.previousSibling)throw Vb(e);return e}function pk(n){let e=n.firstChild;if(e&&dk(n,e))throw Vb(e);return e}function Lv(n){let e=n.nodeName;return typeof e==`string`?e:`FORM`}function Vb(n){return new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`)}var fk=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var mk=/([^\#-~ |!])/g;function Fv(n){return n.replace(/&/g,`&`).replace(fk,function(e){let t=e.charCodeAt(0),i=e.charCodeAt(1);return`&#`+((t-55296)*1024+(i-56320)+65536)+`;`}).replace(mk,function(e){return`&#`+e.charCodeAt(0)+`;`}).replace(/</g,`<`).replace(/>/g,`>`)}var Fd;function su(n,e){let t=null;try{Fd=Fd||ek(n);let i=e?String(e):``;t=Fd.getInertBodyElement(i);let o=5,r=i;do{if(o===0)throw new Error(`Failed to sanitize html because the input is unstable`);o--,i=r,r=t.innerHTML,t=Fd.getInertBodyElement(i)}while(i!==r);return ru(new Ch().sanitizeChildren(Vv(t)||t))}finally{if(t){let i=Vv(t)||t;for(;i.firstChild;)i.firstChild.remove()}}}function Vv(n){return`content`in n&&hk(n)?n.content:null}function hk(n){return n.nodeType===Node.ELEMENT_NODE&&n.nodeName===`TEMPLATE`}var gk=/^>|^->|<!--|-->|--!>|<!-$/g;var yk=/(<|>)/g;var _k=`$1`;function vk(n){return n.replace(gk,e=>e.replace(yk,_k))}function bk(n,e){return n.createText(e)}function xk(n,e,t){n.setValue(e,t)}function Ck(n,e){return n.createComment(vk(e))}function jb(n,e,t){return n.createElement(e,t)}function Yr(n,e,t,i,o){n.insertBefore(e,t,i,o)}function Bb(n,e,t){n.appendChild(e,t)}function jv(n,e,t,i,o){i!==null?Yr(n,e,t,i,o):Bb(n,e,t)}function $b(n,e,t,i){n.removeChild(null,e,t,i)}function wk(n,e,t){n.setAttribute(e,`style`,t)}function Ek(n,e,t){t===``?n.removeAttribute(e,`class`):n.setAttribute(e,`class`,t)}function Hb(n,e,t){let{mergedAttrs:i,classes:o,styles:r}=t;i!==null&&IM(n,e,i),o!==null&&Ek(n,e,o),r!==null&&wk(n,e,r)}function Sk(n,e=!0){if(n[0]!=`:`)return[null,n];let t=n.indexOf(`:`,1);if(t===-1){if(e)throw new Error(`Unsupported format "${n}" expecting ":namespace:name"`);return[null,n]}return[n.slice(1,t),n.slice(t+1)]}function qo(n,e,t){if(e!==void 0&&t!==void 0&&Dk(e,t)!==Ut.HTML)return n;let i=zb();return i?Av(i.sanitize(Ut.HTML,n)||``):vo(n,`HTML`)?Av(xi(n)):su(eg(),Lr(n))}function ji(n){let e=zb();return e?e.sanitize(Ut.URL,n)||``:vo(n,`URL`)?xi(n):_l(Lr(n))}function zb(){let n=ze();return n&&n[Oi].sanitizer}function Dk(n,e){let[t,i]=Tk(n);return G_(i,e,t)}function Tk(n){n=n.toLowerCase();let e=Sk(n,!1);if(e[0])return e;let i=Ai()===-1?null:rl(),o=i?.namespace;if(n===`#host`&&i?.type===2){let r=_i(i,ze());if(r.tagName&&(n=r.tagName.toLowerCase()),o==null){let s=r.namespaceURI;o=s&&QM[s]}}return[o,n]}function lg(n){return n.ownerDocument.defaultView}function Dt(n){return n.ownerDocument}function Mk(n){return n instanceof Function?n():n}function kk(n,e,t){let i=n.length;for(;;){let o=n.indexOf(e,t);if(o===-1)return o;if(o===0||n.charCodeAt(o-1)<=32){let r=e.length;if(o+r===i||n.charCodeAt(o+r)<=32)return o}t=o+1}}var Ub=`ng-template`;function Ik(n,e,t,i){let o=0;if(i){for(;o<e.length&&typeof e[o]==`string`;o+=2)if(e[o]===`class`&&kk(e[o+1].toLowerCase(),t,0)!==-1)return!0}else if(cg(n))return!1;if(o=e.indexOf(1,o),o>-1){let r;for(;++o<e.length&&typeof(r=e[o])==`string`;)if(r.toLowerCase()===t)return!0}return!1}function cg(n){return n.type===4&&n.value!==Ub}function Nk(n,e,t){return e===(n.type===4&&!t?Ub:n.value)}function Pk(n,e,t){let i=4,o=n.attrs,r=o!==null?Rk(o):0,s=!1;for(let a=0;a<e.length;a++){let l=e[a];if(typeof l==`number`){if(!s&&!Ri(i)&&!Ri(l))return!1;if(s&&Ri(l))continue;s=!1,i=l|i&1;continue}if(!s)if(i&4){if(i=2|i&1,l!==``&&!Nk(n,l,t)||l===``&&e.length===1){if(Ri(i))return!1;s=!0}}else if(i&8){if(o===null||!Ik(n,o,l,t)){if(Ri(i))return!1;s=!0}}else{let c=e[++a],p=Ok(l,o,cg(n),t);if(p===-1){if(Ri(i))return!1;s=!0;continue}if(c!==``){let m;if(p>r?m=``:m=o[p+1].toLowerCase(),i&2&&c!==m){if(Ri(i))return!1;s=!0}}}}return Ri(i)||s}function Ri(n){return(n&1)===0}function Ok(n,e,t,i){if(e===null)return-1;let o=0;if(i||!t){let r=!1;for(;o<e.length;){let s=e[o];if(s===n)return o;if(s===3||s===6)r=!0;else if(s===1||s===2){let a=e[++o];for(;typeof a==`string`;)a=e[++o];continue}else{if(s===4)break;if(s===0){o+=4;continue}}o+=r?1:2}return-1}else return Lk(e,n)}function Ak(n,e,t=!1){for(let i=0;i<e.length;i++)if(Pk(n,e[i],t))return!0;return!1}function Rk(n){for(let e=0;e<n.length;e++){let t=n[e];if(NM(t))return e}return n.length}function Lk(n,e){let t=n.indexOf(4);if(t>-1)for(t++;t<n.length;){let i=n[t];if(typeof i==`number`)return-1;if(i===e)return t;t++}return-1}function Bv(n,e){return n?`:not(`+e.trim()+`)`:e}function Fk(n){let e=n[0],t=1,i=2,o=``,r=!1;for(;t<n.length;){let s=n[t];if(typeof s==`string`)if(i&2){let a=n[++t];o+=`[`+s+(a.length>0?`="`+a+`"`:``)+`]`}else i&8?o+=`.`+s:i&4&&(o+=` `+s);else o!==``&&!Ri(s)&&(e+=Bv(r,o),o=``),i=s,r=r||!Ri(i);t++}return o!==``&&(e+=Bv(r,o)),e}function Vk(n){return n.map(Fk).join(`,`)}function jk(n){let e=[],t=[],i=1,o=2;for(;i<n.length;){let r=n[i];if(typeof r==`string`)o===2?r!==``&&e.push(r,n[++i]):o===8&&t.push(r);else{if(!Ri(o))break;o=r}i++}return t.length&&e.push(1,...t),e}var Hn={};var Zi=(function(n){return n[n.Important=1]=`Important`,n[n.DashCase=2]=`DashCase`,n})(Zi||{});var Bk;function dg(n,e){return Bk(n,e)}var ug=new Set;typeof document<`u`&&document?.documentElement?.getAnimations;var wh=new WeakMap;function Gb(n){return n?n[Vo]??n:null}var Qs=new WeakSet;function $k(n,e,t){let i=wh.get(n);if(!i||i.length===0)return;let o=e.parentNode,r=e.previousSibling,s=Gb(t);for(let a=i.length-1;a>=0;a--){let{el:l,declarationView:c}=i[a],p=l.parentNode;l===e?(i.splice(a,1),Qs.add(l),l.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}}))):r&&l===r?(i.splice(a,1),l.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),l.parentNode?.removeChild(l)):p&&o&&p!==o&&(s===null||c===null||s===c)&&(i.splice(a,1),l.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),l.parentNode?.removeChild(l))}}function Hk(n,e,t){let i=Gb(t),o=wh.get(n);o?o.some(r=>r.el===e)||o.push({el:e,declarationView:i}):wh.set(n,[{el:e,declarationView:i}])}var au=(function(n){return n[n.CHANGE_DETECTION=0]=`CHANGE_DETECTION`,n[n.AFTER_NEXT_RENDER=1]=`AFTER_NEXT_RENDER`,n})(au||{});var xo=new Me(``);var $v=new Set;function Jr(n){$v.has(n)||($v.add(n),performance?.mark?.(`mark_feature_usage`,{detail:{feature:n}}))}var pg=(()=>{class n{impl=null;execute(){this.impl?.execute()}static ɵprov=ue({token:n,providedIn:`root`,factory:()=>new n})}return n})();var qb=[0,1,2,3];var Wb=(()=>{class n{ngZone=w(Qt);scheduler=w(Ro);errorHandler=w(hi,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){w(xo,{optional:!0})}execute(){let t=this.sequences.size>0;t&&Ct(mt.AfterRenderHooksStart),this.executing=!0;for(let i of qb)for(let o of this.sequences)if(!(o.erroredOrDestroyed||!o.hooks[i]))try{o.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let r=o.hooks[i];return r(o.pipelinedValue)},o.snapshot))}catch(r){o.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(let i of this.sequences)i.afterRun(),i.once&&(this.sequences.delete(i),i.destroy());for(let i of this.deferredRegistrations)this.sequences.add(i);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&Ct(mt.AfterRenderHooksEnd)}register(t){let{view:i}=t;i!==void 0?((i[Br]??=[]).push(t),Ur(i),i[ke]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,i){return i?i.run(au.AFTER_NEXT_RENDER,t):t()}static ɵprov=ue({token:n,providedIn:`root`,factory:()=>new n})}return n})();var Kd=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(e,t,i,o,r,s=null){this.impl=e,this.hooks=t,this.view=i,this.once=o,this.snapshot=s,this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let e=this.view?.[Br];e&&(this.view[Br]=e.filter(t=>t!==this))}};function An(n,e){let t=e?.injector??w(rn);return Jr(`NgAfterNextRender`),Uk(n,t,e,!0)}function zk(n){return n instanceof Function?[void 0,void 0,n,void 0]:[n.earlyRead,n.write,n.mixedReadWrite,n.read]}function Uk(n,e,t,i){let o=e.get(pg);o.impl??=e.get(Wb);let r=e.get(xo,null,{optional:!0}),s=t?.manualCleanup!==!0?e.get(He):null,a=e.get(al,null,{optional:!0}),l=new Kd(o.impl,zk(n),a?.view,i,s,r?.snapshot(null));return o.impl.register(l),l}var Eh=null;var Yb=null;function Hv(n,e,t,i){Eh?.maybeQueueEnterAnimation(n,e,t,i)}function zv(n,e,t,i){Eh===null?i(!1):Eh.runLeaveAnimationsWithCallback(n,e,t,i)}function Gk(n){Yb?.initViewDetachAnimations(n)}function qk(n){Yb?.clearViewDetachAnimations(n)}function Xs(n,e,t,i,o,r,s,a){if(o!=null){let l,c=!1;yi(o)?l=o:ho(o)&&(c=!0,o=o[Pi]);let p=Mn(o);n===0&&i!==null?(Hv(a,i,r,t),s==null?Bb(e,i,p):Yr(e,i,p,s||null,!0)):n===1&&i!==null?(Yr(e,i,p,s||null,!0),$k(r,p,a),Qs.has(p)||Hv(a,i,r,t)):n===2?(a?.[z_]?.leave?.has(r.index)&&Hk(r,p,a),Qs.delete(p),zv(a,r,t,m=>{if(Qs.has(p)){Qs.delete(p);return}$b(e,p,c,m)})):n===3&&(Qs.delete(p),zv(a,r,t,()=>{e.destroyNode(p)})),l!=null&&rI(e,n,t,l,r,i,s)}}function Wk(n,e){Kb(n,e),e[Pi]=null,e[Gn]=null}function Yk(n,e,t,i,o,r){i[Pi]=o,i[Gn]=e,cu(n,i,t,1,o,r)}function Kb(n,e){e[Oi].changeDetectionScheduler?.notify(9),cu(n,e,e[Bt],2,null,null)}function Kk(n){let e=n[Gs];if(!e)return nh(n[Ce],n);for(;e;){let t=null;if(ho(e))t=e[Gs];else{let i=e[Jt];i&&(t=i)}if(!t){for(;e&&!e[gi]&&e!==n;)ho(e)&&nh(e[Ce],e),e=e[on];e===null&&(e=n),ho(e)&&nh(e[Ce],e),t=e&&e[gi]}e=t}}function fg(n,e){let t=n[Hr],i=t.indexOf(e);t.splice(i,1)}function lu(n,e){if(zr(e))return;let t=e[Bt];t.destroyNode&&cu(n,e,t,3,null,null),Kk(e)}function nh(n,e){if(zr(e))return;let t=xe(null);try{e[ke]&=-129,e[ke]|=256,e[ii]&&vr(e[ii]),Qk(n,e),Zk(n,e),e[Ce].type===1&&e[Bt].destroy();let i=e[jo];if(i!==null&&yi(e[on])){i!==e[on]&&fg(i,e);let o=e[Yi];o!==null&&o.detachView(n)}ph(e)}finally{xe(t)}}function Zk(n,e){let t=n.cleanup,i=e[Us];if(t!==null)for(let s=0;s<t.length-1;s+=2)if(typeof t[s]==`string`){let a=t[s+3];a>=0?i[a]():i[-a].unsubscribe(),s+=2}else{let a=i[t[s+1]];t[s].call(a)}i!==null&&(e[Us]=null);let o=e[uo];if(o!==null){e[uo]=null;for(let s=0;s<o.length;s++){let a=o[s];a()}}let r=e[po];if(r!==null){e[po]=null;for(let s of r)s.destroy()}}function Qk(n,e){let t;if(n!=null&&(t=n.destroyHooks)!=null)for(let i=0;i<t.length;i+=2){let o=e[t[i]];if(!(o instanceof Kr)){let r=t[i+1];if(Array.isArray(r))for(let s=0;s<r.length;s+=2){let a=o[r[s]],l=r[s+1];Ct(mt.LifecycleHookStart,a,l);try{l.call(a)}finally{Ct(mt.LifecycleHookEnd,a,l)}}else{Ct(mt.LifecycleHookStart,o,r);try{r.call(o)}finally{Ct(mt.LifecycleHookEnd,o,r)}}}}}function Xk(n,e,t){if(e===null)throw new Oe(510,!1);return Jk(n,e.parent,t)}function Jk(n,e,t){let i=e;for(;i!==null&&i.type&168;)e=i,i=e.parent;if(i===null)return t[Pi];if(go(i)){let{encapsulation:o}=n.data[i.directiveStart+i.componentOffset];if(o===Fi.None||o===Fi.Emulated)return null}return _i(i,t)}function eI(n,e,t){return nI(n,e,t)}function tI(n,e,t){return n.type&40?_i(n,t):null}var nI=tI;function mg(n,e,t,i){let o=Xk(n,i,e),r=e[Bt],a=eI(i.parent||e[Gn],i,e);if(o!=null)if(Array.isArray(t))for(let l=0;l<t.length;l++)jv(r,o,t[l],a,!1);else jv(r,o,t,a,!1)}function cl(n,e){if(e!==null){let t=e.type;if(t&3)return _i(e,n);if(t&4)return Sh(-1,n[e.index]);if(t&8){let i=e.child;if(i!==null)return cl(n,i);{let o=n[e.index];return yi(o)?Sh(-1,o):Mn(o)}}else{if(t&128)return cl(n,e.next);if(t&32)return dg(e,n)()||Mn(n[e.index]);{let i=Zb(n,e);if(i!==null){if(Array.isArray(i))return i[0];return cl(fo(n[qn]),i)}else return cl(n,e.next)}}}return null}function Zb(n,e){if(e!==null){let i=n[qn][Gn],o=e.projection;return i.projection[o]}return null}function Sh(n,e){let t=Jt+n+1;if(t<e.length){let i=e[t],o=i[Ce].firstChild;if(o!==null)return cl(i,o)}return e[$r]}function hg(n,e,t,i,o,r,s){for(;t!=null;){let a=i[mo];if(t.type===128){t=t.next;continue}let l=i[t.index],c=t.type;if(s&&e===0&&(l&&ea(Mn(l),i),t.flags|=2),!tg(t))if(c&8)hg(n,e,t.child,i,o,r,!1),Xs(e,n,a,o,l,t,r,i);else if(c&32){let p=dg(t,i),m;for(;m=p();)Xs(e,n,a,o,m,t,r,i);Xs(e,n,a,o,l,t,r,i)}else c&16?oI(n,e,i,t,o,r):Xs(e,n,a,o,l,t,r,i);t=s?t.projectionNext:t.next}}function cu(n,e,t,i,o,r){n.type===3?iI(t,i,e,o,r):hg(t,i,n.firstChild,e,o,r,!1)}function iI(n,e,t,i,o){let s=t[Ce].firstChild,a=s.next,l=Mn(t[s.index]),c=Mn(t[a.index]),p=a.index+1,m=t[p];if(e===1||e===0)i!==null&&(m&&m.hasChildNodes()?Yr(n,i,m,o,!0):(Yr(n,i,l,o,!0),Yr(n,i,c,o,!0)));else if(e===2){if(m||(m=document.createDocumentFragment(),t[p]=m),l&&l.parentNode===m)return;let v=l;for(;v!==null;){let b=v.nextSibling;if(m.appendChild(v),v===c)break;v=b}}}function oI(n,e,t,i,o,r){let s=t[qn],l=s[Gn].projection[i.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++){let p=l[c];Xs(e,n,t[mo],o,p,i,r,t)}else{let c=l,p=s[on];Cb(i)&&(c.flags|=128),hg(n,e,c,p,o,r,!0)}}function rI(n,e,t,i,o,r,s){let a=i[$r];if(a!==Mn(i)&&Xs(e,n,t,r,a,o,s),(i[ke]&4)===0)for(let c=Jt;c<i.length;c++){let p=i[c];cu(p[Ce],p,n,e,r,a)}}function sI(n,e,t,i,o){if(e)o?n.addClass(t,i):n.removeClass(t,i);else{let r=i.indexOf(`-`)===-1?void 0:Zi.DashCase;o==null?n.removeStyle(t,i,r):(typeof o==`string`&&o.endsWith(`!important`)&&(o=o.slice(0,-10),r|=Zi.Important),n.setStyle(t,i,o,r))}}function gg(n,e,t,i,o,r,s,a,l,c,p){let m=ln+i,v=m+o,b=aI(m,v),k=typeof c==`function`?c():c;return b[Ce]={type:n,blueprint:b,template:t,queries:null,viewQuery:a,declTNode:e,data:b.slice().fill(null,m),bindingStartIndex:m,expandoStartIndex:v,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:typeof r==`function`?r():r,pipeRegistry:typeof s==`function`?s():s,firstChild:null,schemas:l,consts:k,incompleteFirstPass:!1,ssrId:p}}function aI(n,e){let t=[];for(let i=0;i<e;i++)t.push(i<n?null:Hn);return t}function lI(n){let e=n.tView;return e===null||e.incompleteFirstPass?n.tView=gg(1,null,n.template,n.decls,n.vars,n.directiveDefs,n.pipeDefs,n.viewQuery,n.schemas,n.consts,n.id):e}function yg(n,e,t,i,o,r,s,a,l,c,p){let m=e.blueprint.slice();return m[Pi]=o,m[ke]=i|1228,(c!==null||n&&n[ke]&2048)&&(m[ke]|=2048),Om(m),m[on]=m[Vo]=n,m[Xt]=t,m[Oi]=s||n&&n[Oi],m[Bt]=a||n&&n[Bt],m[mo]=l||n&&n[mo]||null,m[Gn]=r,m[nl]=GM(),m[zs]=p,m[km]=c,m[qn]=e.type==2?n[qn]:m,m}function cI(n,e,t){let i=_i(e,n),o=lI(t),r=n[Oi].rendererFactory,s=_g(n,yg(n,o,null,Qb(t),i,e,null,r.createRenderer(i,t),null,null,null));return n[e.index]=s}function Qb(n){let e=16;return n.signals?e=4096:n.onPush&&(e=64),e}function Xb(n,e,t,i){if(t===0)return-1;let o=e.length;for(let r=0;r<t;r++)e.push(i),n.blueprint.push(i),n.data.push(null);return o}function _g(n,e){return n[Gs]?n[Mm][gi]=e:n[Gs]=e,n[Mm]=e,e}function d(n=1){Jb(mn(),ze(),Ai()+n,!1)}function Jb(n,e,t,i){if(!i)if((e[ke]&3)===3){let r=n.preOrderCheckHooks;r!==null&&jd(e,r,t)}else{let r=n.preOrderHooks;r!==null&&Bd(e,r,0,t)}$o(t)}var du=(function(n){return n[n.None=0]=`None`,n[n.SignalBased=1]=`SignalBased`,n[n.HasDecoratorInputTransform=2]=`HasDecoratorInputTransform`,n})(du||{});function Dh(n,e,t,i){let o=xe(null);try{let[r,s,a]=n.inputs[t],l=null;(s&du.SignalBased)!==0&&(l=e[r][Tn]),l!==null&&l.transformFn!==void 0?i=l.transformFn(i):a!==null&&(i=a.call(e,i)),n.setInput!==null?n.setInput(e,l,i,t,r):lb(e,l,r,i)}finally{xe(o)}}function ex(n,e,t,i,o){let r=Ai(),s=i&2;try{$o(-1),s&&e.length>ln&&Jb(n,e,ln,!1);Ct(s?mt.TemplateUpdateStart:mt.TemplateCreateStart,o,t),t(i,o)}finally{$o(r);Ct(s?mt.TemplateUpdateEnd:mt.TemplateCreateEnd,o,t)}}function uu(n,e,t){gI(n,e,t),(t.flags&64)===64&&yI(n,e,t)}function bl(n,e,t=_i){let i=e.localNames;if(i!==null){let o=e.index+1;for(let r=0;r<i.length;r+=2){let s=i[r+1],a=s===-1?t(e,n):n[s];n[o++]=a}}}function dI(n,e,t,i){let r=i.get(Ib,kb)||t===Fi.ShadowDom||t===Fi.ExperimentalIsolatedShadowDom;return n.selectRootElement(e,r)}function fI(n){return n===`class`?`className`:n===`for`?`htmlFor`:n===`formaction`?`formAction`:n===`innerHtml`?`innerHTML`:n===`readonly`?`readOnly`:n===`tabindex`?`tabIndex`:n}function mI(n,e,t,i,o,r){let s=e[Ce];if(Cg(n,s,e,t,i)){go(n)&&hI(e,n.index);return}n.type&3&&(t=fI(t)),tx(n,e,t,i,o,r)}function tx(n,e,t,i,o,r){if(n.type&3){let s=_i(n,e);i=r!=null?r(i,n.value||``,t):i,o.setProperty(s,t,i)}else n.type&12}function hI(n,e){let t=vi(e,n);t[ke]&16||(t[ke]|=64)}function gI(n,e,t){let i=t.directiveStart,o=t.directiveEnd;go(t)&&cI(e,t,n.data[i+t.componentOffset]),n.firstCreatePass||Wd(t,e);let r=t.initialInputs;for(let s=i;s<o;s++){let a=n.data[s],l=ul(e,n,s,t);if(ea(l,e),r!==null&&xI(e,s-i,l,a,t,r),Bo(a)){let c=vi(t.index,e);c[Xt]=ul(e,n,s,t)}}}function yI(n,e,t){let i=t.directiveStart,o=t.directiveEnd,r=t.index,s=av();try{$o(r);for(let a=i;a<o;a++){let l=n.data[a],c=e[a];Td(a),(l.hostBindings!==null||l.hostVars!==0||l.hostAttrs!==null)&&_I(l,c)}}finally{$o(-1),Td(s)}}function _I(n,e){n.hostBindings!==null&&n.hostBindings(1,e)}function vg(n,e){let t=n.directiveRegistry,i=null;if(t)for(let o=0;o<t.length;o++){let r=t[o];Ak(e,r.selectors,!1)&&(i??=[],Bo(r)?i.unshift(r):i.push(r))}return i}function vI(n,e,t,i,o,r){let s=_i(n,e);bI(e[Bt],s,r,n.value,t,i,o)}function bI(n,e,t,i,o,r,s){if(r==null)s?.(r,i||``,o),n.removeAttribute(e,o,t);else{let a=s==null?Lr(r):s(r,i||``,o);n.setAttribute(e,o,a,t)}}function xI(n,e,t,i,o,r){let s=r[e];if(s!==null)for(let a=0;a<s.length;a+=2){let l=s[a],c=s[a+1];Dh(i,t,l,c)}}function bg(n,e,t,i,o){let r=ln+t,s=e[Ce],a=o(s,e,n,i,t);e[r]=a,Ks(n,!0);let l=n.type===2;return l?(Hb(e[Bt],a,n),(Q_()===0||Ws(n))&&ea(a,e),X_()):ea(a,e),Nd()&&(!l||!tg(n))&&mg(s,e,a,n),n}function xg(n){let e=n;return $m()?tv():(e=e.parent,Ks(e,!1)),e}function CI(n,e){let t=n[mo];if(!t)return;let i;try{i=t.get(Ho,null)}catch{i=null}i?.(e)}function Cg(n,e,t,i,o){let r=n.inputs?.[i],s=n.hostDirectiveInputs?.[i],a=!1;if(s)for(let l=0;l<s.length;l+=2){let c=s[l],p=s[l+1],m=e.data[c];Dh(m,t[c],p,o),a=!0}if(r)for(let l of r){let c=t[l],p=e.data[l];Dh(p,c,i,o),a=!0}return a}function wI(n,e){let t=vi(e,n),i=t[Ce];EI(i,t);let o=t[Pi];o!==null&&t[zs]===null&&(t[zs]=Nb(o,t[mo])),Ct(mt.ComponentStart);try{wg(i,t,t[Xt])}finally{Ct(mt.ComponentEnd,t[Xt])}}function EI(n,e){for(let t=e.length;t<n.blueprint.length;t++)e.push(n.blueprint[t])}function wg(n,e,t){kd(e);try{let i=n.viewQuery;i!==null&&mh(1,i,t);let o=n.template;o!==null&&ex(n,e,o,1,t),n.firstCreatePass&&(n.firstCreatePass=!1),e[Yi]?.finishViewCreation(n),n.staticContentQueries&&Pb(n,e),n.staticViewQueries&&mh(2,n.viewQuery,t);let r=n.components;r!==null&&SI(e,r)}catch(i){throw n.firstCreatePass&&(n.incompleteFirstPass=!0,n.firstCreatePass=!1),i}finally{e[ke]&=-5,Id()}}function SI(n,e){for(let t=0;t<e.length;t++)wI(n,e[t])}function pu(n,e,t,i){let o=xe(null);try{let r=e.tView,l=yg(n,r,t,n[ke]&4096?4096:16,null,e,null,null,i?.injector??null,i?.embeddedViewInjector??null,i?.dehydratedView??null);l[jo]=n[e.index];let p=n[Yi];return p!==null&&(l[Yi]=p.createEmbeddedView(r)),wg(r,l,t),l}finally{xe(o)}}function pl(n,e){return!e||e.firstChild===null||Cb(n)}function fl(n,e,t,i,o=!1){if(n.type===3){let r=n.firstChild,s=r.next,a=Mn(e[r.index]),l=Mn(e[s.index]),c=a;for(;c!==null&&(i.push(c),c!==l);)c=c.nextSibling;return i}for(;t!==null;){if(t.type===128){t=o?t.projectionNext:t.next;continue}let r=e[t.index];if(r!==null)if(yi(r)){let a=r[$r];a!==r[Pi]&&i.push(Mn(r)),r[ke]&4||nx(r,i),i.push(a)}else i.push(Mn(r));let s=t.type;if(s&8)fl(n,e,t.child,i);else if(s&32){let a=dg(t,e),l;for(;l=a();)i.push(l)}else if(s&16){let a=Zb(e,t);if(Array.isArray(a))i.push(...a);else{let l=fo(e[qn]);fl(l[Ce],l,a,i,!0)}}t=o?t.projectionNext:t.next}return i}function nx(n,e){for(let t=Jt;t<n.length;t++){let i=n[t],o=i[Ce].firstChild;o!==null&&fl(i[Ce],i,o,e)}}function ix(n){if(n[Br]!==null){for(let e of n[Br])e.impl.addSequence(e);n[Br].length=0}}var ox=[];function DI(n){return n[ii]??TI(n)}function TI(n){let e=ox.pop()??Object.create(kI);return e.lView=n,e}function MI(n){n.lView[ii]!==n&&(n.lView=null,ox.push(n))}var kI=s(r({},gr),{consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:n=>{Ur(n.lView)},consumerOnSignalRead(){this.lView[ii]=this}});function II(n){let e=n[ii]??Object.create(NI);return e.lView=n,e}var NI=s(r({},gr),{consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:n=>{let e=fo(n.lView);for(;e&&!rx(e[Ce]);)e=fo(e);e&&Am(e)},consumerOnSignalRead(){this.lView[ii]=this}});function rx(n){return n.type!==2}function sx(n){if(n[po]===null)return;let e=!0;for(;e;){let t=!1;for(let i of n[po])if(i.dirty&&(t=!0,i.zone===null||Zone.current===i.zone?i.run():i.zone.run(()=>i.run()),n[po]===null))return;e=t&&!!(n[ke]&8192)}}var PI=100;function ax(n,e=0){let i=n[Oi].rendererFactory;i.begin?.();try{OI(n,e)}finally{i.end?.()}}function OI(n,e){let t=Hm();try{Ka(!0),Th(n,e);let i=0;for(;ol(n);){if(i===PI)throw new Oe(103,!1);i++,Th(n,1)}}finally{Ka(t)}}function AI(n,e,t,i){if(zr(e))return;let o=e[ke];kd(e);let a=!0,l=null,c=null;rx(n)?(c=DI(e),l=_r(c)):wc()===null?(a=!1,c=II(e),l=_r(c)):e[ii]&&(vr(e[ii]),e[ii]=null);try{Om(e),ov(n.bindingStartIndex),t!==null&&ex(n,e,t,2,i);let p=(o&3)===3;if(p){let b=n.preOrderCheckHooks;b!==null&&jd(e,b,null)}else{let b=n.preOrderHooks;b!==null&&Bd(e,b,0,null),eh(e,0)}if(RI(e),sx(e),lx(e,0),n.contentQueries!==null&&Pb(n,e),true)if(p){let b=n.contentCheckHooks;b!==null&&jd(e,b)}else{let b=n.contentHooks;b!==null&&Bd(e,b,1),eh(e,1)}FI(n,e);let m=n.components;m!==null&&dx(e,m,0);let v=n.viewQuery;if(v!==null&&mh(2,v,i),true)if(p){let b=n.viewCheckHooks;b!==null&&jd(e,b)}else{let b=n.viewHooks;b!==null&&Bd(e,b,2),eh(e,2)}if(n.firstUpdatePass===!0&&(n.firstUpdatePass=!1),e[vd]){for(let b of e[vd])b();e[vd]=null}ix(e),e[ke]&=-73}catch(p){let m=!1,v=p,b=e;for(;b!==null;){if(yi(b)){b=b[on];continue}let k=b[qs];if(k)try{let O=e[qn][Xt],V={declarationInstance:O,declarationType:O?.constructor,caughtBy:k};k(vv(v),V),m=!0;break}catch(O){v=O}b=b[on]}if(!m)throw Ur(e),v}finally{c!==null&&(Ss(c,l),a&&MI(c)),Id()}}function lx(n,e){for(let t=Eb(n);t!==null;t=Sb(t))for(let i=Jt;i<t.length;i++){let o=t[i];cx(o,e)}}function RI(n){for(let e=Eb(n);e!==null;e=Sb(e)){if(!(e[ke]&2))continue;let t=e[Hr];for(let i=0;i<t.length;i++){let o=t[i];Am(o)}}}function LI(n,e,t){Ct(mt.ComponentStart);let i=vi(e,n);try{cx(i,t)}finally{Ct(mt.ComponentEnd,i[Xt])}}function cx(n,e){Cd(n)&&Th(n,e)}function Th(n,e){let i=n[Ce],o=n[ke],r=n[ii],s=!!(e===0&&o&16);if(s||=!!(o&64&&e===0),s||=!!(o&1024),s||=!!(r?.dirty&&$a(r)),s||=!1,r&&(r.dirty=!1),n[ke]&=-9217,s)AI(i,n,i.template,n[Xt]);else if(o&8192){let a=xe(null);try{sx(n),lx(n,1);let l=i.components;l!==null&&dx(n,l,1),ix(n)}finally{xe(a)}}}function dx(n,e,t){for(let i=0;i<e.length;i++)LI(n,e[i],t)}function FI(n,e){let t=n.hostBindingOpCodes;if(t!==null)try{for(let i=0;i<t.length;i++){let o=t[i];if(o<0)$o(~o);else{let r=o,s=t[++i],a=t[++i];sv(s,r);let l=e[r];Ct(mt.HostBindingsUpdateStart,l);try{a(2,l)}finally{Ct(mt.HostBindingsUpdateEnd,l)}}}}finally{$o(-1)}}function Eg(n,e){let t=Hm()?64:1088;for(n[Oi].changeDetectionScheduler?.notify(e);n;){n[ke]|=t;let i=fo(n);if(Ys(n)&&!i)return n;n=i}return null}function ux(n,e,t,i){return[n,!0,0,e,null,i,null,t,null,null]}function px(n,e){let t=Jt+e;if(t<n.length)return n[t]}function fu(n,e,t,i=!0){let o=e[Ce];if(VI(o,e,n,t),i){let s=Sh(t,n),a=e[Bt],l=a.parentNode(n[$r]);l!==null&&Yk(o,n[Gn],a,e,l,s)}let r=e[zs];r!==null&&r.firstChild!==null&&(r.firstChild=null)}function fx(n,e){let t=ml(n,e);return t!==void 0&&lu(t[Ce],t),t}function ml(n,e){if(n.length<=Jt)return;let t=Jt+e,i=n[t];if(i){let o=i[jo];o!==null&&o!==n&&fg(o,i),e>0&&(n[t-1][gi]=i[gi]);let r=el(n,Jt+e);Wk(i[Ce],i);let s=r[Yi];s!==null&&s.detachView(r[Ce]),i[on]=null,i[gi]=null,i[ke]&=-129}return i}function VI(n,e,t,i){let o=Jt+i,r=t.length;i>0&&(t[o-1][gi]=e),i<r-Jt?(e[gi]=t[o],wm(t,Jt+i,e)):(t.push(e),e[gi]=null),e[on]=t;let s=e[jo];s!==null&&t!==s&&mx(s,e);let a=e[Yi];a!==null&&a.insertView(n),wd(e),e[ke]|=128}function mx(n,e){let t=n[Hr],i=e[on];if(ho(i))n[ke]|=2;else{let o=i[on][qn];e[qn]!==o&&(n[ke]|=2)}t===null?n[Hr]=[e]:t.push(e)}var zo=class{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){let e=this._lView,t=e[Ce];return fl(t,e,t.firstChild,[])}constructor(e,t){this._lView=e,this._cdRefInjectingView=t}get context(){return this._lView[Xt]}set context(e){this._lView[Xt]=e}get destroyed(){return zr(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){let e=this._lView[on];if(yi(e)){let t=e[il],i=t?t.indexOf(this):-1;i>-1&&(ml(e,i),el(t,i))}this._attachedToViewContainer=!1}lu(this._lView[Ce],this._lView)}onDestroy(e){Ed(this._lView,e)}markForCheck(){Eg(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[ke]&=-129}reattach(){wd(this._lView),this._lView[ke]|=128}detectChanges(){this._lView[ke]|=1024,ax(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Oe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Ys(this._lView),t=this._lView[jo];t!==null&&!e&&fg(t,this._lView),Kb(this._lView[Ce],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Oe(902,!1);this._appRef=e;let t=Ys(this._lView),i=this._lView[jo];i!==null&&!t&&mx(i,this._lView),wd(this._lView)}};var Uo=(()=>{class n{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=jI;constructor(t,i,o){this._declarationLView=t,this._declarationTContainer=i,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,o){return new zo(pu(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:i,dehydratedView:o}))}}return n})();function jI(){return mu(On(),ze())}function mu(n,e){return n.type&4?new Uo(e,n,ia(n,e)):null}function xl(n,e,t,i,o){let r=n.data[e];if(r===null)r=BI(n,e,t,i,o),rv()&&(r.flags|=32);else if(r.type&64){r.type=t,r.value=i,r.attrs=o;let s=ev();r.injectorIndex=s===null?-1:s.injectorIndex}return Ks(r,!0),r}function BI(n,e,t,i,o){let r=Bm(),s=$m(),a=s?r:r&&r.parent,l=n.data[e]=HI(n,a,t,e,i,o);return $I(n,l,r,s),l}function $I(n,e,t,i){n.firstChild===null&&(n.firstChild=e),t!==null&&(i?t.child==null&&e.parent!==null&&(t.child=e):t.next===null&&(t.next=e,e.prev=t))}function HI(n,e,t,i,o,r){let s=e?e.injectorIndex:-1,a=0;return J_()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,namespace:qm(),attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function zI(n){let e=n[Im]??[],i=n[on][Bt],o=[];for(let r of e)r.data[Mb]!==void 0?o.push(r):UI(r,i);n[Im]=o}function UI(n,e){let t=0,i=n.firstChild;if(i){let o=n.data[Tb];for(;t<o;){let r=i.nextSibling;$b(e,i,!1),i=r,t++}}}var GI=()=>null;var qI=()=>null;function Mh(n,e){return GI(n,e)}function hx(n,e,t){return qI(n,e,t)}var gx=class{};var $n=class{};var Zr=class{destroyNode=null;static __NG_ELEMENT_ID__=()=>WI()};function WI(){let n=ze(),t=vi(On().index,n);return(ho(t)?t:n)[Bt]}var yx=(()=>{class n{static ɵprov=ue({token:n,providedIn:`root`,factory:()=>null})}return n})();function _x(n){return n.debugInfo?.className||n.type.name||null}var Hd={};var Zd=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,i){let o=this.injector.get(e,Hd,i);return o!==Hd||t===Hd?o:this.parentInjector.get(e,t,i)}};function vx(n,e,t){return n[e]=t}function YI(n,e){return n[e]}function Vi(n,e,t){if(t===Hn)return!1;let i=n[e];return Object.is(i,t)?!1:(n[e]=t,!0)}function KI(n,e,t,i){let o=Vi(n,e,t);return Vi(n,e+1,i)||o}function zd(n,e,t){return function i(o){let r=i.__ngNativeEl__;r!==void 0&&WM(o,r);Eg(go(n)?vi(n.index,e):e,5);let a=e[Xt],l=Gv(e,a,t,o),c=i.__ngNextListenerFn__;for(;c;)l=Gv(e,a,c,o)&&l,c=c.__ngNextListenerFn__;return l}}function Gv(n,e,t,i){let o=xe(null);try{return Ct(mt.OutputStart,e,t),t(i)!==!1}catch(r){return CI(n,r),!1}finally{Ct(mt.OutputEnd,e,t),xe(o)}}function bx(n,e,t,i,o,r,s,a){let l=Ws(n),c=!1,p=null;if(!i&&l&&(p=QI(e,t,r,n.index)),p!==null){let m=p.__ngLastListenerFn__||p;m.__ngNextListenerFn__=s,p.__ngLastListenerFn__=s,c=!0}else{let m=_i(n,t),v=i?i(m):m;i||(a.__ngNativeEl__=m);let b=o.listen(v,r,a);if(!ZI(r))xx(i?O=>i(Mn(O[n.index])):n.index,e,t,r,a,b,!1)}return c}function ZI(n){return n.startsWith(`animation`)||n.startsWith(`transition`)}function QI(n,e,t,i){let o=n.cleanup;if(o!=null)for(let r=0;r<o.length-1;r+=2){let s=o[r];if(s===t&&o[r+1]===i){let a=e[Us],l=o[r+2];return a&&a.length>l?a[l]:null}typeof s==`string`&&(r+=2)}return null}function xx(n,e,t,i,o,r,s){let a=e.firstCreatePass?Lm(e):null,l=Rm(t),c=l.length;l.push(o,r),a&&a.push(i,n,c,(c+1)*(s?-1:1))}function qv(n,e,t,i,o,r){let s=e[t],a=e[Ce],m=s[a.data[t].outputs[i]].subscribe(r);xx(n.index,a,e,o,r,m,!0)}var kh=Symbol(`BINDING`);var es=new Me(``);function Qd(n,e,t){let i=t?n.styles:null,o=t?n.classes:null,r=0;if(e!==null)for(let s=0;s<e.length;s++){let a=e[s];if(typeof a==`number`)r=a;else if(r==1)o=ld(o,a);else if(r==2){let l=a,c=e[++s];i=ld(i,l+`: `+c+`;`)}}t?n.styles=i:n.stylesWithoutHost=i,t?n.classes=o:n.classesWithoutHost=o}function ts(n,e=0){let t=ze();if(t===null)return yt(n,e);return vb(On(),t,Pn(n),e)}function Cx(n,e,t,i,o){let r=i===null?null:{"":-1},s=o(n,t);if(s!==null){let a=s,l=null,c=null;for(let p of s)if(p.resolveHostDirectives!==null){[a,l,c]=p.resolveHostDirectives(s);break}eN(n,e,t,a,r,l,c)}r!==null&&i!==null&&XI(t,i,r)}function XI(n,e,t){let i=n.localNames=[];for(let o=0;o<e.length;o+=2){let r=t[e[o+1]];if(r==null)throw new Oe(-301,!1);i.push(e[o],r)}}function JI(n,e,t){e.componentOffset=t,(n.components??=[]).push(e.index)}function eN(n,e,t,i,o,r,s){let a=i.length,l=null;for(let v=0;v<a;v++){let b=i[v];l===null&&Bo(b)&&(l=b,JI(n,t,v)),uh(Wd(t,e),n,b.type)}sN(t,n.data.length,a),l?.viewProvidersResolver&&l.viewProvidersResolver(l);for(let v=0;v<a;v++){let b=i[v];b.providersResolver&&b.providersResolver(b)}let c=!1,p=!1,m=Xb(n,e,a,null);a>0&&(t.directiveToIndex=new Map);for(let v=0;v<a;v++){let b=i[v];if(t.mergedAttrs=ou(t.mergedAttrs,b.hostAttrs),nN(n,t,e,m,b),rN(m,b,o),s!==null&&s.has(b)){let[O,M]=s.get(b);t.directiveToIndex.set(b.type,[m,O+t.directiveStart,M+t.directiveStart])}else(r===null||!r.has(b))&&t.directiveToIndex.set(b.type,m);b.contentQueries!==null&&(t.flags|=4),(b.hostBindings!==null||b.hostAttrs!==null||b.hostVars!==0)&&(t.flags|=64);let k=b.type.prototype;!c&&(k.ngOnChanges||k.ngOnInit||k.ngDoCheck)&&((n.preOrderHooks??=[]).push(t.index),c=!0),!p&&(k.ngOnChanges||k.ngDoCheck)&&((n.preOrderCheckHooks??=[]).push(t.index),p=!0),m++}tN(n,t,r)}function tN(n,e,t){for(let i=e.directiveStart;i<e.directiveEnd;i++){let o=n.data[i];if(t===null||!t.has(o))Wv(0,e,o,i),Wv(1,e,o,i),Kv(e,i,!1);else{let r=t.get(o);Yv(0,e,r,i),Yv(1,e,r,i),Kv(e,i,!0)}}}function Wv(n,e,t,i){let o=n===0?t.inputs:t.outputs;for(let r in o)if(Object.hasOwn(o,r)){let s;n===0?s=e.inputs??={}:s=e.outputs??={},s[r]??=[],s[r].push(i),wx(e,r)}}function Yv(n,e,t,i){let o=n===0?t.inputs:t.outputs;for(let r in o)if(Object.hasOwn(o,r)){let s=o[r],a;n===0?a=e.hostDirectiveInputs??={}:a=e.hostDirectiveOutputs??={},a[s]??=[],a[s].push(i,r),wx(e,s)}}function wx(n,e){e===`class`?n.flags|=8:e===`style`&&(n.flags|=16)}function Kv(n,e,t){let{attrs:i,inputs:o,hostDirectiveInputs:r}=n;if(i===null||!t&&o===null||t&&r===null||cg(n)){n.initialInputs??=[],n.initialInputs.push(null);return}let s=null,a=0;for(;a<i.length;){let l=i[a];if(l===0){a+=4;continue}else if(l===5){a+=2;continue}else if(typeof l==`number`)break;if(!t&&Object.hasOwn(o,l)){let c=o[l];for(let p of c)if(p===e){s??=[],s.push(l,i[a+1]);break}}else if(t&&Object.hasOwn(r,l)){let c=r[l];for(let p=0;p<c.length;p+=2)if(c[p]===e){s??=[],s.push(c[p+1],i[a+1]);break}}a+=2}n.initialInputs??=[],n.initialInputs.push(s)}function nN(n,e,t,i,o){n.data[i]=o;let s=new Kr(o.factory||(o.factory=Vs(o.type,!0)),Bo(o),ts,null);n.blueprint[i]=s,t[i]=s,iN(n,e,i,Xb(n,t,o.hostVars,Hn),o)}function iN(n,e,t,i,o){let r=o.hostBindings;if(r){let s=n.hostBindingOpCodes;s===null&&(s=n.hostBindingOpCodes=[]);let a=~e.index;oN(s)!=a&&s.push(a),s.push(t,i,r)}}function oN(n){let e=n.length;for(;e>0;){let t=n[--e];if(typeof t==`number`&&t<0)return t}return 0}function rN(n,e,t){if(t){if(e.exportAs)for(let i=0;i<e.exportAs.length;i++)t[e.exportAs[i]]=n;Bo(e)&&(t[``]=n)}}function sN(n,e,t){n.flags|=1,n.directiveStart=e,n.directiveEnd=e+t,n.providerIndexes=e}function Sg(n,e,t,i,o,r,s,a){let l=e[Ce],c=l.consts,m=xl(l,n,t,i,bi(c,s));return r&&Cx(l,e,m,bi(c,a),o),m.mergedAttrs=ou(m.mergedAttrs,m.attrs),m.attrs!==null&&Qd(m,m.attrs,!1),m.mergedAttrs!==null&&Qd(m,m.mergedAttrs,!0),l.queries!==null&&l.queries.elementStart(l,m),m}function Dg(n,e){ub(n,e),Nm(e)&&n.queries.elementEnd(e)}function aN(n,e,t,i,o,r){let s=e.consts,l=xl(e,n,t,i,bi(s,o));if(l.mergedAttrs=ou(l.mergedAttrs,l.attrs),r!=null){let c=bi(s,r);l.localNames=[];for(let p=0;p<c.length;p+=2)l.localNames.push(c[p],-1)}return l.attrs!==null&&Qd(l,l.attrs,!1),l.mergedAttrs!==null&&Qd(l,l.mergedAttrs,!0),e.queries!==null&&e.queries.elementStart(e,l),l}var Ex=typeof ShadowRoot<`u`;var lN=typeof Document<`u`;function cN(n){return Object.keys(n).map(e=>{let[t,i,o]=n[e],r={propName:t,templateName:e,isSignal:(i&du.SignalBased)!==0};return o&&(r.transform=o),r})}function dN(n){return Object.keys(n).map(e=>({propName:n[e],templateName:e}))}function uN(n,e,t){let i=e instanceof ni?e:e?.injector;return i&&n.getStandaloneInjector!==null&&(i=n.getStandaloneInjector(i)||i),i?new Zd(t,i):t}function pN(n){let e=n.get($n,null);if(e===null)throw new Oe(407,!1);return{rendererFactory:e,sanitizer:n.get(yx,null),changeDetectionScheduler:n.get(Ro,null),ngReflect:!1,tracingService:n.get(xo,null,{optional:!0})}}function fN(n,e,t){let i=Sx(n);return jb(e,i,i===`svg`?Or:i===`math`?bd:t)}function mN(n){if((n&&`localName`in n&&typeof n.localName==`string`?n.localName:n?.tagName)?.toLowerCase()===`script`)throw new Oe(905,!1)}function Sx(n){return(n.selectors[0][0]||`div`).toLowerCase()}var ta=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=cN(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=dN(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=Vk(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,i,o,r,s,a,l){Ct(mt.DynamicComponentStart);let c=xe(null);try{let p=this.componentDef,m=uN(p,o||this.ngModule,e),v=pN(m),b=v.tracingService;return b&&b.componentCreate?b.componentCreate(_x(p),()=>this.createComponentRef(v,m,t,i,r,s,a,l)):this.createComponentRef(v,m,t,i,r,s,a,l)}finally{xe(c)}}createComponentRef(e,t,i,o,r,s,a,l){let c=this.componentDef,p=hN(o,c,s,r,l),m=e.rendererFactory.createRenderer(null,c),v=o?dI(m,o,c.encapsulation,t):fN(c,m,a??null);mN(v);let b=t.get(es,null),k=gN(v,()=>t.get(Gt,null)??eg());b&&b.addHost(k);let O=s?.some(Zv)||r?.some(W=>typeof W!=`function`&&W.bindings.some(Zv)),M=yg(null,p,null,512|Qb(c),null,null,e,m,t,null,Nb(v,t,!0));b&&Ex&&k instanceof ShadowRoot&&Ed(M,()=>{b.removeHost(k)}),M[ln]=v,kd(M);let V=null;try{let W=Sg(ln,M,2,`#host`,()=>p.directiveRegistry,!0,0);Hb(m,v,W),ea(v,M),uu(p,M,W),ng(p,W,M),Dg(p,W),i!==void 0&&_N(W,this.ngContentSelectors,i),V=vi(W.index,M),M[Xt]=V[Xt],wg(p,M,null)}catch(W){throw V!==null&&ph(V),ph(M),W}finally{Ct(mt.DynamicComponentEnd),Id()}return new Xd(this.componentType,M,!!O)}};function hN(n,e,t,i,o){let r=n?[`ng-version`,`22.2.1`]:jk(e.selectors[0]),s=null,a=null,l=0;if(t)for(let m of t)l+=m[kh].requiredVars,m.create&&(m.targetIdx=0,(s??=[]).push(m)),m.update&&(m.targetIdx=0,(a??=[]).push(m));if(i)for(let m=0;m<i.length;m++){let v=i[m];if(typeof v!=`function`)for(let b of v.bindings){l+=b[kh].requiredVars;let k=m+1;b.create&&(b.targetIdx=k,(s??=[]).push(b)),b.update&&(b.targetIdx=k,(a??=[]).push(b))}}let c=[e];if(i)for(let m of i){let b=ud(typeof m==`function`?m:m.type);c.push(b)}return gg(0,null,yN(s,a),1,l,c,null,null,null,[r],null)}function gN(n,e){let t=n.getRootNode?.();return lN&&t instanceof Document?t.head:t&&Ex&&t instanceof ShadowRoot?t:e().head}function yN(n,e){return!n&&!e?null:t=>{if(t&1&&n)for(let i of n)i.create();if(t&2&&e)for(let i of e)i.update()}}function Zv(n){let e=n[kh].kind;return e===`input`||e===`twoWay`}var Xd=class extends gx{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,i){super(),this._rootLView=t,this._hasInputBindings=i,this._tNode=xd(t[Ce],ln),this.location=ia(this._tNode,t),this.instance=vi(this._tNode.index,t)[Xt],this.hostView=this.changeDetectorRef=new zo(t,void 0),this.componentType=e}setInput(e,t){this._hasInputBindings;let i=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),t))return;let o=this._rootLView;Cg(i,o[Ce],o,e,t);this.previousInputValues.set(e,t);Eg(vi(i.index,o),1)}get injector(){return new yo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function _N(n,e,t){let i=n.projection=[];for(let o=0;o<e.length;o++){let r=t[o];i.push(r!=null&&r.length?Array.from(r):null)}}var Qi=(()=>{class n{static __NG_ELEMENT_ID__=vN}return n})();function vN(){return Dx(On(),ze())}var Ih=class n extends Qi{_lContainer;_hostTNode;_hostLView;constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return ia(this._hostTNode,this._hostLView)}get injector(){return new yo(this._hostTNode,this._hostLView)}get parentInjector(){let e=Qh(this._hostTNode,this._hostLView);if(fb(e)){let t=qd(e,this._hostLView),i=Gd(e),o=t[Ce].data[i+8];return new yo(o,t)}else return new yo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=Qv(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-Jt}createEmbeddedView(e,t,i){let o,r,s;typeof i==`number`?o=i:i!=null&&(o=i.index,r=i.injector,s=i.onError);let a=Mh(this._lContainer,e.ssrId),l=e.createEmbeddedViewImpl(t||{},r,a);return s&&(l._lView[qs]=s),this.insertImpl(l,o,pl(this._hostTNode,a)),l}createComponent(e,t,i,o,r,s,a){let l,c,p=t||{};l=p.index,i=p.injector,o=p.projectableNodes,r=p.environmentInjector||p.ngModuleRef,s=p.directives,a=p.bindings,c=p.onError;let m=new ta(Lo(e)),v=i||this.parentInjector;if(!r&&m.ngModule==null){let W=this.parentInjector.get(ni,null);W&&(r=W)}let b=Lo(m.componentType??{}),k=Mh(this._lContainer,b?.id??null),O=k?.firstChild??null,M=m.create(v,o,O,r,s,a,this._getHostElementNamespace());return c&&(M.hostView._lView[qs]=c),this.insertImpl(M.hostView,l,pl(this._hostTNode,k)),M}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[Gn];return e!==null&&e.type&2&&typeof e.value==`string`&&e.value.toLowerCase()===`foreignobject`?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(e,t,i){let o=e._lView;if(W_(o)){let a=this.indexOf(e);if(a!==-1)this.detach(a);else{let l=o[on],c=new n(l,l[Gn],l[on]);c.detach(c.indexOf(e))}}let r=this._adjustIndex(t),s=this._lContainer;return fu(s,o,r,i),e.attachToViewContainerRef(),wm(ih(s),r,e),e}move(e,t){return this.insert(e,t)}indexOf(e){let t=Qv(this._lContainer);return t!==null?t.indexOf(e):-1}remove(e){let t=this._adjustIndex(e,-1),i=ml(this._lContainer,t);i&&(el(ih(this._lContainer),t),lu(i[Ce],i))}detach(e){let t=this._adjustIndex(e,-1),i=ml(this._lContainer,t);return i&&el(ih(this._lContainer),t)!=null?new zo(i):null}_adjustIndex(e,t=0){return e??this.length+t}};function Qv(n){return n[il]}function ih(n){return n[il]||(n[il]=[])}function Dx(n,e){let t,i=e[n.index];return yi(i)?t=i:(t=ux(i,e,null,n),e[n.index]=t,_g(e,t)),xN(t,e,n,i),new Ih(t,n,e)}function bN(n,e){let t=n[Bt],i=t.createComment(``),o=_i(e,n);return Yr(t,t.parentNode(o),i,t.nextSibling(o),!1),i}var xN=EN;var CN=()=>!1;function wN(n,e,t){return CN(n,e,t)}function EN(n,e,t,i){if(n[$r])return;let o;t.type&8?o=Mn(i):o=bN(e,t),n[$r]=o}var Nh=class n{queryList;matches=null;constructor(e){this.queryList=e}clone(){return new n(this.queryList)}setDirty(){this.queryList.setDirty()}};var Ph=class n{queries;constructor(e=[]){this.queries=e}createEmbeddedView(e){let t=e.queries;if(t!==null){let i=e.contentQueries!==null?e.contentQueries[0]:t.length,o=[];for(let r=0;r<i;r++){let s=t.getByIndex(r),a=this.queries[s.indexInDeclarationView];o.push(a.clone())}return new n(o)}return null}insertView(e){this.dirtyQueriesWithMatches(e)}detachView(e){this.dirtyQueriesWithMatches(e)}finishViewCreation(e){this.dirtyQueriesWithMatches(e)}dirtyQueriesWithMatches(e){for(let t=0;t<this.queries.length;t++)kx(e,t).matches!==null&&this.queries[t].setDirty()}};var Oh=class{flags;read;predicate;constructor(e,t,i=null){this.flags=t,this.read=i,typeof e==`string`?this.predicate=NN(e):this.predicate=e}};var Ah=class n{queries;constructor(e=[]){this.queries=e}elementStart(e,t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementStart(e,t)}elementEnd(e){for(let t=0;t<this.queries.length;t++)this.queries[t].elementEnd(e)}embeddedTView(e){let t=null;for(let i=0;i<this.length;i++){let o=t!==null?t.length:0,r=this.getByIndex(i).embeddedTView(e,o);r&&(r.indexInDeclarationView=i,t!==null?t.push(r):t=[r])}return t!==null?new n(t):null}template(e,t){for(let i=0;i<this.queries.length;i++)this.queries[i].template(e,t)}getByIndex(e){return this.queries[e]}get length(){return this.queries.length}track(e){this.queries.push(e)}};var Rh=class n{metadata;matches=null;indexInDeclarationView=-1;crossesNgTemplate=!1;_declarationNodeIndex;_appliesToNextNode=!0;constructor(e,t=-1){this.metadata=e,this._declarationNodeIndex=t}elementStart(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}elementEnd(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}template(e,t){this.elementStart(e,t)}embeddedTView(e,t){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,t),new n(this.metadata)):null}isApplyingToNode(e){if(this._appliesToNextNode&&(this.metadata.flags&1)!==1){let t=this._declarationNodeIndex,i=e.parent;for(;i!==null&&i.type&8&&i.index!==t;)i=i.parent;return t===(i!==null?i.index:-1)}return this._appliesToNextNode}matchTNode(e,t){let i=this.metadata.predicate;if(Array.isArray(i))for(let o=0;o<i.length;o++){let r=i[o];this.matchTNodeWithReadOption(e,t,SN(t,r)),this.matchTNodeWithReadOption(e,t,$d(t,e,r,!1,!1))}else i===Uo?t.type&4&&this.matchTNodeWithReadOption(e,t,-1):this.matchTNodeWithReadOption(e,t,$d(t,e,i,!1,!1))}matchTNodeWithReadOption(e,t,i){if(i!==null){let o=this.metadata.read;if(o!==null)if(o===St||o===Qi||o===rn||o===Uo&&t.type&4)this.addMatch(t.index,-2);else{let r=$d(t,e,o,!1,!1);r!==null&&this.addMatch(t.index,r)}else this.addMatch(t.index,i)}}addMatch(e,t){this.matches===null?this.matches=[e,t]:this.matches.push(e,t)}};function SN(n,e){let t=n.localNames;if(t!==null){for(let i=0;i<t.length;i+=2)if(t[i]===e)return t[i+1]}return null}function DN(n,e){return n.type&11?ia(n,e):n.type&4?mu(n,e):null}function TN(n,e,t,i){return t===-1?DN(e,n):t===-2?MN(n,e,i):ul(n,n[Ce],t,e)}function MN(n,e,t){if(t===St)return ia(e,n);if(t===Uo)return mu(e,n);if(t===Qi)return Dx(e,n);if(t===rn)return new yo(e,n)}function Tx(n,e,t,i){let o=e[Yi].queries[i];if(o.matches===null){let r=n.data,s=t.matches,a=[];for(let l=0;s!==null&&l<s.length;l+=2){let c=s[l];if(c<0)a.push(null);else{let p=r[c];a.push(TN(e,p,s[l+1],t.metadata.read))}}o.matches=a}return o.matches}function Lh(n,e,t,i){let o=n.queries.getByIndex(t),r=o.matches;if(r!==null){let s=Tx(n,e,o,t);for(let a=0;a<r.length;a+=2){let l=r[a];if(l>0)i.push(s[a/2]);else{let c=r[a+1],p=e[-l];for(let m=Jt;m<p.length;m++){let v=p[m];v[jo]===v[on]&&Lh(v[Ce],v,c,i)}if(p[Hr]!==null){let m=p[Hr];for(let v=0;v<m.length;v++){let b=m[v];Lh(b[Ce],b,c,i)}}}}}return i}function Mx(n,e){return n[Yi].queries[e].queryList}function kN(n,e,t){let i=new Yd((t&4)===4);return Z_(n,e,i,i.destroy),(e[Yi]??=new Ph).queries.push(new Nh(i))-1}function IN(n,e,t){let i=mn();return i.firstCreatePass&&(PN(i,new Oh(n,e,t),-1),(e&2)===2&&(i.staticViewQueries=!0)),kN(i,ze(),e)}function NN(n){return n.split(`,`).map(e=>e.trim())}function PN(n,e,t){n.queries===null&&(n.queries=new Ah),n.queries.track(new Rh(e,t))}function kx(n,e){return n.queries.getByIndex(e)}function ON(n,e){let t=n[Ce],i=kx(t,e);return i.crossesNgTemplate?Lh(t,n,e,[]):Tx(t,n,i,e)}function Tg(n,e,t){let i,o=Ha(()=>{i._dirtyCounter();let r=RN(i,n);if(e&&r===void 0)throw new Oe(-951,!1);return r});return i=o[Tn],i._dirtyCounter=N(0),i._flatValue=void 0,o}function Ix(n){return Tg(!0,!1,n)}function Nx(n){return Tg(!0,!0,n)}function Px(n){return Tg(!1,!1,n)}function AN(n,e){let t=n[Tn];t._lView=ze(),t._queryIndex=e,t._queryList=Mx(t._lView,e),t._queryList.onDirty(()=>t._dirtyCounter.update(i=>i+1))}function RN(n,e){let t=n._lView,i=n._queryIndex;if(t===void 0||i===void 0||t[ke]&4)return e?void 0:Ni;let o=Mx(t,i),r=ON(t,i);return o.reset(r,HM),e?o.first:o._changesDetected||n._flatValue===void 0?n._flatValue=o.toArray():n._flatValue}function hu(n){return!!n&&typeof n.then==`function`}function Mg(n){return!!n&&typeof n.subscribe==`function`}var Go=class{};function kg(n,e){return new Jd(n,e??null,[])}var Jd=class extends Go{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];constructor(e,t,i,o=!0){super(),this.ngModuleType=e,this._parent=t;let r=k_(e);this._bootstrapComponents=Mk(r.bootstrap),this._r3Injector=Wm(e,t,[{provide:Go,useValue:this},...i],Xa(e),new Set([`environment`])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}};var hl=class extends Go{injector;instance=null;constructor(e){super();let t=new Pr([...e.providers,{provide:Go,useValue:this}],e.parent||Hs(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function Ox(n,e,t=null){return new hl({providers:n,parent:e,debugName:t,runEnvironmentInitializers:!0}).injector}var LN=(()=>{class n{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){let i=Sm(!1,t.type),o=i.length>0?Ox([i],this._injector,``):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(let t of this.cachedInjectors.values())t!==null&&t.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=ue({token:n,providedIn:`environment`,factory:()=>new n(yt(ni))})}return n})();function re(n){return Zh(()=>{let e=Ax(n),t=s(r({},e),{decls:n.decls,vars:n.vars,template:n.template,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,onPush:n.changeDetection!==Xh.Eager,directiveDefs:null,pipeDefs:null,dependencies:e.standalone&&n.dependencies||null,getStandaloneInjector:e.standalone?o=>o.get(LN).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:n.signals??!1,data:n.data||{},encapsulation:n.encapsulation||Fi.Emulated,styles:n.styles||Ni,_:null,schemas:n.schemas||null,tView:null,id:``});e.standalone&&Jr(`NgStandalone`),Rx(t);let i=n.dependencies;return t.directiveDefs=Xv(i,FN),t.pipeDefs=Xv(i,I_),t.id=BN(t),t})}function FN(n){return Lo(n)||ud(n)}function VN(n,e){if(n==null)return Fr;let t={};for(let i in n)if(Object.hasOwn(n,i)){let o=n[i],r,s,a,l;Array.isArray(o)?(a=o[0],r=o[1],s=o[2]??r,l=o[3]||null):(r=o,s=o,a=du.None,l=null),t[r]=[i,a,l],e[r]=s}return t}function jN(n){if(n==null)return Fr;let e={};for(let t in n)Object.hasOwn(n,t)&&(e[n[t]]=t);return e}function oi(n){return Zh(()=>{let e=Ax(n);return Rx(e),e})}function Ax(n){let e={};return{type:n.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:e,inputConfig:n.inputs||Fr,exportAs:n.exportAs||null,standalone:n.standalone??!0,signals:n.signals===!0,selectors:n.selectors||Ni,viewQuery:n.viewQuery||null,features:n.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:VN(n.inputs,e),outputs:jN(n.outputs),debugInfo:null}}function Rx(n){n.features?.forEach(e=>e(n))}function Xv(n,e){return n?()=>{let t=typeof n==`function`?n():n,i=[];for(let o of t){let r=e(o);r!==null&&i.push(r)}return i}:null}function BN(n){let e=0,t=typeof n.consts==`function`?``:n.consts,i=[n.selectors,n.ngContentSelectors,n.hostVars,n.hostAttrs,t,n.vars,n.decls,n.encapsulation,n.standalone,n.signals,n.exportAs,JSON.stringify(n.inputs),JSON.stringify(n.outputs),Object.getOwnPropertyNames(n.type.prototype),!!n.contentQueries,!!n.viewQuery];for(let r of i.join(`|`))e=Math.imul(31,e)+r.charCodeAt(0)<<0;return e+=2147483648,`c`+e}var Lx=new Me(``);var Ig=(()=>{class n{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i});appInits=w(Lx,{optional:!0})??[];injector=w(rn);constructor(){}runInitializers(){if(this.initialized)return;let t=[];for(let o of this.appInits){let r=_d(this.injector,o);if(hu(r))t.push(r);else if(Mg(r)){let s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});t.push(s)}}let i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(o=>{this.reject(o)}),t.length===0&&i(),this.initialized=!0}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();function Fx(n,e,t,i,o,r,s,a){if(t.firstCreatePass){n.mergedAttrs=ou(n.mergedAttrs,n.attrs);let p=n.tView=gg(2,n,o,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,t.consts,null);t.queries!==null&&(t.queries.template(t,n),p.queries=t.queries.embeddedTView(n))}a&&(n.flags|=a),Ks(n,!1);let l=HN(t,e,n,i);Nd()&&mg(t,e,l,n),ea(l,e);let c=ux(l,e,l,n);e[i+ln]=c,_g(e,c),wN(c,n,e)}function $N(n,e,t,i,o,r,s,a,l,c,p){let m=t+ln,v;return e.firstCreatePass?(v=xl(e,m,4,s||null,a||null),Sd()&&Cx(e,n,v,bi(e.consts,c),vg),ub(e,v)):v=e.data[m],Fx(v,n,e,t,i,o,r,l),Ws(v)&&uu(e,n,v),c!=null&&bl(n,v,p),v}function eu(n,e,t,i,o,r,s,a,l,c,p){let m=t+ln,v;if(e.firstCreatePass){if(v=xl(e,m,4,s||null,a||null),c!=null){let b=bi(e.consts,c);v.localNames=[];for(let k=0;k<b.length;k+=2)v.localNames.push(b[k],-1)}}else v=e.data[m];return Fx(v,n,e,t,i,o,r,l),c!=null&&bl(n,v,p),v}function gu(n,e,t,i,o,r,s,a){let l=ze(),c=mn();return $N(l,c,n,e,t,i,o,bi(c.consts,r),void 0,s,a),gu}var HN=zN;function zN(n,e,t,i){return sl(!0),e[Bt].createComment(``)}var Ng=new Me(``);var Pg=new Me(``);function Vx(){Af(n=>{throw new Oe(-600,``)})}var UN=10;var Wo=(()=>{class n{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=w(Ho);afterRenderManager=w(pg);zonelessEnabled=w(ll);rootEffectScheduler=w(Ad);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new We;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=w(Zs);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(mi(t=>!t))}constructor(){w(xo,{optional:!0})}whenStable(){let t;return new Promise(i=>{t=this.isStable.subscribe({next:o=>{o&&i()}})}).finally(()=>{t.unsubscribe()})}_injector=w(ni);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,i){return this.bootstrapImpl(t,i)}bootstrapImpl(t,i,o=rn.NULL){return this._injector.get(Qt).run(()=>{if(Ct(mt.BootstrapComponentStart),!this._injector.get(Ig).done)throw new Oe(405,``);let a=Lo(t),l=this._injector.get(Go),c=new ta(a,l);this.componentTypes.push(t);let{hostElement:p,directives:m,bindings:v}=GN(i),b=p||c.selector,k=c.create(o,[],b,l.injector,m,v),O=k.location.nativeElement,M=k.injector.get(Ng,null);return M?.registerApplication(O),k.onDestroy(()=>{this.detachView(k.hostView),dl(this.components,k),M?.unregisterApplication(O)}),this._loadComponent(k),Ct(mt.BootstrapComponentEnd,k),k})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Ct(mt.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(au.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw Ct(mt.ChangeDetectionEnd),new Oe(101,!1);let t=xe(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,xe(t),this.afterTick.next(),Ct(mt.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get($n,null,{optional:!0}));let t=0;for(;this.dirtyFlags!==0&&t++<UN;){Ct(mt.ChangeDetectionSyncStart);try{this.synchronizeOnce()}finally{Ct(mt.ChangeDetectionSyncEnd)}}}synchronizeOnce(){this.dirtyFlags&16&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let t=!1;if(this.dirtyFlags&7){let i=!!(this.dirtyFlags&1);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:o}of this.allViews){if(!i&&!ol(o))continue;ax(o,i&&!this.zonelessEnabled?0:1),t=!0}if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),this.dirtyFlags&23)return}t||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),this.dirtyFlags&8&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){if(this.allViews.some(({_lView:t})=>ol(t))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(t){let i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){let i=t;dl(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(t),this._injector.get(Pg,[]).forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>dl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new Oe(406,!1);let t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();function GN(n){return n===void 0||typeof n==`string`||n instanceof Element?{hostElement:n}:n}function dl(n,e){let t=n.indexOf(e);t>-1&&n.splice(t,1)}function Y(n,e,t,i){let o=ze();if(Vi(o,Gr(),e)){mn();vI(rl(),o,n,e,t,i)}return Y}var Fh=class{destroy(e){}updateValue(e,t){}swap(e,t){let i=Math.min(e,t),o=Math.max(e,t),r=this.detach(o);if(o-i>1){let s=this.detach(i);this.attach(i,r),this.attach(o,s)}else this.attach(i,r)}move(e,t){this.attach(t,this.detach(e))}};function oh(n,e,t,i,o){return n===t&&Object.is(e,i)?1:Object.is(o(n,e),o(t,i))?-1:0}function qN(n,e,t,i){let o,r,s=0,a=n.length-1;if(Array.isArray(e)){xe(i);let c=e.length-1;for(xe(null);s<=a&&s<=c;){let p=n.at(s),m=e[s],v=oh(s,p,s,m,t);if(v!==0){v<0&&n.updateValue(s,m),s++;continue}let b=n.at(a),k=e[c],O=oh(a,b,c,k,t);if(O!==0){O<0&&n.updateValue(a,k),a--,c--;continue}let M=t(s,p),V=t(a,b),W=t(s,m);if(Object.is(W,V)){let pe=t(c,k);Object.is(pe,M)?(n.swap(s,a),n.updateValue(a,k),c--,a--):n.move(a,s),n.updateValue(s,m),s++;continue}if(o??=new tu,r??=eb(n,s,a,t),Vh(n,o,s,W))n.updateValue(s,m),s++,a++;else if(r.has(W))o.set(M,n.detach(s)),a--;else{let pe=n.create(s,e[s]);n.attach(s,pe),s++,a++}}for(;s<=c;)Jv(n,o,t,s,e[s]),s++}else if(e!=null){xe(i);let c=e[Symbol.iterator]();xe(null);let p=c.next();for(;!p.done&&s<=a;){let m=n.at(s),v=p.value,b=oh(s,m,s,v,t);if(b!==0)b<0&&n.updateValue(s,v),s++,p=c.next();else{o??=new tu,r??=eb(n,s,a,t);let k=t(s,v);if(Vh(n,o,s,k))n.updateValue(s,v),s++,a++,p=c.next();else if(!r.has(k))n.attach(s,n.create(s,v)),s++,a++,p=c.next();else{let O=t(s,m);o.set(O,n.detach(s)),a--}}}for(;!p.done;)Jv(n,o,t,n.length,p.value),p=c.next()}for(;s<=a;)n.destroy(n.detach(a--));o?.forEach(c=>{n.destroy(c)})}function Vh(n,e,t,i){return e!==void 0&&e.has(i)?(n.attach(t,e.get(i)),e.delete(i),!0):!1}function Jv(n,e,t,i,o){if(Vh(n,e,i,t(i,o)))n.updateValue(i,o);else{let r=n.create(i,o);n.attach(i,r)}}function eb(n,e,t,i){let o=new Set;for(let r=e;r<=t;r++)o.add(i(r,n.at(r)));return o}var tu=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let i=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(i);)i=o.get(i);o.set(i,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,i]of this.kvMap)if(e(i,t),this._vMap!==void 0){let o=this._vMap;for(;o.has(i);)i=o.get(i),e(i,t)}}};function E(n,e,t,i,o,r,s,a){Jr(`NgControlFlow`);let l=ze(),c=mn();return eu(l,c,n,e,t,i,o,bi(c.consts,r),256,s,a),Og}function Og(n,e,t,i,o,r,s,a){return Jr(`NgControlFlow`),WN(n,e,t,i,o,r,s,a),Og}function WN(n,e,t,i,o,r,s,a){let l=ze(),c=mn();eu(l,c,n,e,t,i,o,bi(c.consts,r),512,s,a)}function S(n,e){Jr(`NgControlFlow`);let t=ze(),i=Gr(),o=t[i]!==Hn?t[i]:-1,r=o!==-1?nu(t,ln+o):void 0,s=0;if(Vi(t,i,n)){let a=xe(null);try{if(r!==void 0&&fx(r,s),n!==-1){let l=ln+n,c=nu(t,l),p=Hh(t[Ce],l),m=hx(c,p,t);fu(c,pu(t,p,e,{dehydratedView:m}),s,pl(p,m))}}finally{xe(a)}}else if(r!==void 0){let a=px(r,s);a!==void 0&&(a[Xt]=e)}}var jh=class{lContainer;$implicit;$index;constructor(e,t,i){this.lContainer=e,this.$implicit=t,this.$index=i}get $count(){return this.lContainer.length-Jt}};function Ci(n){return n}function kn(n,e){return e}var Bh=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,i){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=i}};function X(n,e,t,i,o,r,s,a,l,c,p,m,v){Jr(`NgControlFlow`);let b=ze(),k=mn(),O=l!==void 0,M=ze(),W=new Bh(O,a?s.bind(M[qn][Xt]):s);M[ln+n]=W,eu(b,k,n+1,e,t,i,o,bi(k.consts,r),256),O&&eu(b,k,n+2,l,c,p,m,bi(k.consts,v),512)}var $h=class extends Fh{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,t,i){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=i}get length(){return this.lContainer.length-Jt}at(e){return this.getLView(e)[Xt].$implicit}attach(e,t){let i=t[zs];this.needsIndexUpdate||=e!==this.length,fu(this.lContainer,t,e,pl(this.templateTNode,i)),YN(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,KN(this.lContainer,e),ZN(this.lContainer,e)}create(e,t){let i=Mh(this.lContainer,this.templateTNode.tView.ssrId);return pu(this.hostLView,this.templateTNode,new jh(this.lContainer,t,e),{dehydratedView:i})}destroy(e){lu(e[Ce],e)}updateValue(e,t){this.getLView(e)[Xt].$implicit=t}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e<this.length;e++)this.getLView(e)[Xt].$index=e}getLView(e){return QN(this.lContainer,e)}};function J(n){let e=xe(null),t=Ai();try{let i=ze(),o=i[Ce],r=i[t],s=t+1,a=nu(i,s);if(r.liveCollection===void 0)r.liveCollection=new $h(a,i,Hh(o,s));else r.liveCollection.reset();let l=r.liveCollection;if(qN(l,n,r.trackByFn,e),l.updateIndexes(),r.hasEmptyBlock){let c=Gr(),p=l.length===0;if(Vi(i,c,p)){let m=t+2,v=nu(i,m);if(p){let b=Hh(o,m),k=hx(v,b,i);fu(v,pu(i,b,void 0,{dehydratedView:k}),0,pl(b,k))}else o.firstUpdatePass&&zI(v),fx(v,0)}}}finally{xe(e)}}function nu(n,e){return n[e]}function YN(n,e){if(n.length<=Jt)return;let i=n[Jt+e];i&&qk(i)}function KN(n,e){if(n.length<=Jt)return;let i=n[Jt+e];i&&Gk(i)}function ZN(n,e){return ml(n,e)}function QN(n,e){return px(n,e)}function Hh(n,e){return xd(n,e)}function j(n,e,t){let i=ze();if(Vi(i,Gr(),e)){mn();mI(rl(),i,n,e,i[Bt],t)}return j}function zh(n,e,t,i,o){Cg(e,n,t,o?`class`:`style`,i)}function h(n,e,t,i){let o=ze(),r=o[Ce],s=n+ln,a=r.firstCreatePass?Sg(s,o,2,e,vg,Sd(),t,i):r.data[s];if(go(a)){let l=o[Oi].tracingService;if(l&&l.componentCreate){let c=r.data[a.directiveStart+a.componentOffset];return l.componentCreate(_x(c),()=>(tb(n,e,o,a,i),h))}}return tb(n,e,o,a,i),h}function tb(n,e,t,i,o){if(bg(i,t,n,e,jx),Ws(i)){let r=t[Ce];uu(r,t,i),ng(r,i,t)}o!=null&&bl(t,i)}function y(){let n=mn(),t=xg(On());return n.firstCreatePass&&Dg(n,t),Vm(t)&&jm(),Fm(),t.classesWithoutHost!=null&&MM(t)&&zh(n,t,ze(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&kM(t)&&zh(n,t,ze(),t.stylesWithoutHost,!1),y}function ee(n,e,t,i){return h(n,e,t,i),y(),ee}function g(n,e,t,i){let o=ze(),r=o[Ce],s=n+ln,a=r.firstCreatePass?aN(s,r,2,e,t,i):r.data[s];return bg(a,o,n,e,jx),i!=null&&bl(o,a),g}function _(){return Vm(xg(On()))&&jm(),Fm(),_}function fe(n,e,t,i){return g(n,e,t,i),_(),fe}var jx=(n,e,t,i,o)=>(sl(!0),jb(e[Bt],i,qm()));function Ag(n,e,t){let i=ze(),o=i[Ce],r=n+ln,s=o.firstCreatePass?Sg(r,i,8,`ng-container`,vg,Sd(),e,t):o.data[r];if(bg(s,i,n,`ng-container`,XN),Ws(s)){let a=i[Ce];uu(a,i,s),ng(a,s,i)}return t!=null&&bl(i,s),Ag}function Rg(){let n=mn(),t=xg(On());return n.firstCreatePass&&Dg(n,t),Rg}function ns(n,e,t){return Ag(n,e,t),Rg(),ns}var XN=(n,e,t,i,o)=>(sl(!0),Ck(e[Bt],``));function L(){return ze()}function te(n,e,t){let i=ze();if(Vi(i,Gr(),e)){mn();tx(rl(),i,n,e,i[Bt],t)}return te}var Cl=`en-US`;function Bx(n){typeof n==`string`&&n.toLowerCase().replace(/_/g,`-`)}function A(n,e,t){let i=ze(),o=mn(),r=On();return eP(o,i,i[Bt],r,n,e,t),A}function F(n,e,t){let i=ze(),o=mn(),r=On();return(r.type&3||t)&&bx(r,o,i,t,i[Bt],n,e,zd(r,i,e)),F}function eP(n,e,t,i,o,r,s){let a=!0,l=null;if((i.type&3||s)&&(l??=zd(i,e,r),bx(i,n,e,s,t,o,r,l)&&(a=!1)),a){let c=i.outputs?.[o],p=i.hostDirectiveOutputs?.[o];if(p&&p.length)for(let m=0;m<p.length;m+=2){let v=p[m],b=p[m+1];l??=zd(i,e,r),qv(i,e,v,b,o,l)}if(c&&c.length)for(let m of c)l??=zd(i,e,r),qv(i,e,m,o,o,l)}}function f(n=1){return fv(n)}function nt(n,e,t,i){return AN(n,IN(e,t,i)),nt}function ot(n=1){Md(cv()+n)}function yu(n){return q_(nv(),ln+n)}function Vd(n,e){return n<<17|e<<2}function Qr(n){return n>>17&32767}function tP(n){return(n&2)==2}function nP(n,e){return n&131071|e<<17}function Uh(n){return n|2}function na(n){return(n&131068)>>2}function rh(n,e){return n&-131069|e<<2}function iP(n){return(n&1)===1}function Gh(n){return n|1}function oP(n,e,t,i,o,r){let s=r?e.classBindings:e.styleBindings,a=Qr(s),l=na(s);n[i]=t;let c=!1,p;if(Array.isArray(t)){let m=t;p=m[1],(p===null||Bs(m,p)>0)&&(c=!0)}else p=t;if(o)if(l!==0){let v=Qr(n[a+1]);n[i+1]=Vd(v,a),v!==0&&(n[v+1]=rh(n[v+1],i)),n[a+1]=nP(n[a+1],i)}else n[i+1]=Vd(a,0),a!==0&&(n[a+1]=rh(n[a+1],i)),a=i;else n[i+1]=Vd(l,0),a===0?a=i:n[l+1]=rh(n[l+1],i),l=i;c&&(n[i+1]=Uh(n[i+1])),nb(n,p,i,!0),nb(n,p,i,!1),rP(e,p,n,i,r),s=Vd(a,l),r?e.classBindings=s:e.styleBindings=s}function rP(n,e,t,i,o){let r=o?n.residualClasses:n.residualStyles;r!=null&&typeof e==`string`&&Bs(r,e)>=0&&(t[i+1]=Gh(t[i+1]))}function nb(n,e,t,i){let o=n[t+1],r=e===null,s=i?Qr(o):na(o),a=!1;for(;s!==0&&(a===!1||r);){let l=n[s],c=n[s+1];sP(l,e)&&(a=!0,n[s+1]=i?Gh(c):Uh(c)),s=i?Qr(c):na(c)}a&&(n[t+1]=i?Uh(o):Gh(o))}function sP(n,e){return n===null||e==null||(Array.isArray(n)?n[1]:n)===e?!0:Array.isArray(n)&&typeof e==`string`?Bs(n,e)>=0:!1}var Li={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function aP(n){return n.substring(Li.key,Li.keyEnd)}function lP(n){return cP(n),$x(n,Hx(n,0,Li.textEnd))}function $x(n,e){let t=Li.textEnd;return t===e?-1:(e=Li.keyEnd=dP(n,Li.key=e,t),Hx(n,e,t))}function cP(n){Li.key=0,Li.keyEnd=0,Li.value=0,Li.valueEnd=0,Li.textEnd=n.length}function Hx(n,e,t){for(;e<t&&n.charCodeAt(e)<=32;)e++;return e}function dP(n,e,t){for(;e<t&&n.charCodeAt(e)>32;)e++;return e}function Tt(n,e,t){return zx(n,e,t,!1),Tt}function q(n,e){return zx(n,e,null,!0),q}function sn(n){pP(_P,uP,n,!0)}function uP(n,e){for(let t=lP(e);t>=0;t=$x(e,t))hd(n,aP(e),!0)}function zx(n,e,t,i){let o=ze(),r=mn(),s=Dd(2);if(r.firstUpdatePass&&Gx(r,n,s,i),e!==Hn&&Vi(o,s,e)){let a=r.data[Ai()];qx(r,a,o,o[Bt],n,o[s+1]=bP(e,t),i,s)}}function pP(n,e,t,i){let o=mn(),r=Dd(2);o.firstUpdatePass&&Gx(o,null,r,i);let s=ze();if(t!==Hn&&Vi(s,r,t)){let a=o.data[Ai()];if(Wx(a,i)&&!Ux(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;l!==null&&(t=ld(l,t||``)),zh(o,a,s,t,i)}else vP(o,a,s,s[Bt],s[r+1],s[r+1]=yP(n,e,t),i,r)}}function Ux(n,e){return e>=n.expandoStartIndex}function Gx(n,e,t,i){let o=n.data;if(o[t+1]===null){let r=o[Ai()],s=Ux(n,t);Wx(r,i)&&e===null&&!s&&(e=!1),e=fP(o,r,e,i),oP(o,r,e,t,s,i)}}function fP(n,e,t,i){let o=lv(n),r=i?e.residualClasses:e.residualStyles;if(o===null)(i?e.classBindings:e.styleBindings)===0&&(t=sh(null,n,e,t,i),t=gl(t,e.attrs,i),r=null);else{let s=e.directiveStylingLast;if(s===-1||n[s]!==o)if(t=sh(o,n,e,t,i),r===null){let l=mP(n,e,i);l!==void 0&&Array.isArray(l)&&(l=sh(null,n,e,l[1],i),l=gl(l,e.attrs,i),hP(n,e,i,l))}else r=gP(n,e,i)}return r!==void 0&&(i?e.residualClasses=r:e.residualStyles=r),t}function mP(n,e,t){let i=t?e.classBindings:e.styleBindings;if(na(i)!==0)return n[Qr(i)]}function hP(n,e,t,i){let o=t?e.classBindings:e.styleBindings;n[Qr(o)]=i}function gP(n,e,t){let i,o=e.directiveEnd;for(let r=1+e.directiveStylingLast;r<o;r++){let s=n[r].hostAttrs;i=gl(i,s,t)}return gl(i,e.attrs,t)}function sh(n,e,t,i,o){let r=null,s=t.directiveEnd,a=t.directiveStylingLast;for(a===-1?a=t.directiveStart:a++;a<s&&(r=e[a],i=gl(i,r.hostAttrs,o),r!==n);)a++;return n!==null&&(t.directiveStylingLast=a),i}function gl(n,e,t){let i=t?1:2,o=-1;if(e!==null)for(let r=0;r<e.length;r++){let s=e[r];typeof s==`number`?o=s:o===i&&(Array.isArray(n)||(n=n===void 0?[]:[``,n]),hd(n,s,t?!0:e[++r]))}return n===void 0?null:n}function yP(n,e,t){if(t==null||t===``)return Ni;let i=[],o=xi(t);if(Array.isArray(o))for(let r=0;r<o.length;r++)n(i,o[r],!0);else if(o instanceof Set)for(let r of o)n(i,r,!0);else if(typeof o==`object`)for(let r in o)Object.hasOwn(o,r)&&n(i,r,o[r]);else typeof o==`string`&&e(i,o);return i}function _P(n,e,t){let i=String(e);i!==``&&!i.includes(` `)&&hd(n,i,t)}function vP(n,e,t,i,o,r,s,a){o===Hn&&(o=Ni);let l=0,c=0,p=0<o.length?o[0]:null,m=0<r.length?r[0]:null;for(;p!==null||m!==null;){let v=l<o.length?o[l+1]:void 0,b=c<r.length?r[c+1]:void 0,k=null,O;p===m?(l+=2,c+=2,v!==b&&(k=m,O=b)):m===null||p!==null&&p<m?(l+=2,k=p):(c+=2,k=m,O=b),k!==null&&qx(n,e,t,i,k,O,s,a),p=l<o.length?o[l]:null,m=c<r.length?r[c]:null}}function qx(n,e,t,i,o,r,s,a){if(!(e.type&3))return;let l=n.data,c=l[a+1];if(!iu(iP(c)?ib(l,e,t,o,na(c),s):void 0)){iu(r)||tP(c)&&(r=ib(l,null,t,o,a,s));sI(i,s,Pm(Ai(),t),o,r)}}function ib(n,e,t,i,o,r){let s=e===null,a;for(;o>0;){let l=n[o],c=Array.isArray(l),p=c?l[1]:l,m=p===null,v=t[o+1];v===Hn&&(v=m?Ni:void 0);let b=m?gd(v,i):p===i?v:void 0;if(c&&!iu(b)&&(b=gd(l,i)),iu(b)&&(a=b,s))return a;let k=n[o+1];o=s?Qr(k):na(k)}if(e!==null){let l=r?e.residualClasses:e.residualStyles;l!=null&&(a=gd(l,i))}return a}function iu(n){return n!==void 0}function bP(n,e){return n==null||n===``||(typeof e==`string`?n=xi(n)+e:typeof n==`object`&&(n=Xa(xi(n)))),n}function Wx(n,e){return(n.flags&(e?8:16))!==0}function u(n,e=``){let t=ze(),i=mn(),o=n+ln,r=i.firstCreatePass?xl(i,o,1,e,null):i.data[o],s=xP(i,t,r,e);t[o]=s,Nd()&&mg(i,t,s,r),Ks(r,!1)}var xP=(n,e,t,i)=>(sl(!0),bk(e[Bt],i));function CP(n,e,t,i=``){return Vi(n,Gr(),t)?e+Lr(t)+i:Hn}function wP(n,e,t,i,o,r=``){let a=KI(n,iv(),t,o);return Dd(2),a?e+Lr(t)+i+Lr(o)+r:Hn}function I(n){return ie(``,n),I}function ie(n,e,t){let i=ze(),o=CP(i,n,e,t);return o!==Hn&&Yx(i,Ai(),o),ie}function Xi(n,e,t,i,o){let r=ze(),s=wP(r,n,e,t,i,o);return s!==Hn&&Yx(r,Ai(),s),Xi}function Yx(n,e,t){let i=Pm(e,n);xk(n[Bt],i,t)}function ob(n,e,t){let i=mn();i.firstCreatePass&&Kx(e,i.data,i.blueprint,Bo(n),t)}function Kx(n,e,t,i,o){if(n=Pn(n),Array.isArray(n))for(let r=0;r<n.length;r++)Kx(n[r],e,t,i,o);else{let r=mn(),s=ze(),a=On(),l=Nr(n)?n:Pn(n.provide),c=Tm(n),p=a.providerIndexes&1048575,m=a.directiveStart,v=a.providerIndexes>>20;if(Nr(n)||!n.multi){let b=new Kr(c,o,ts,null),k=lh(l,e,o?p:p+v,m);k===-1?(uh(Wd(a,s),r,l),ah(r,n,e.length),e.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(b),s.push(b)):(t[k]=b,s[k]=b)}else{let b=lh(l,e,p+v,m),k=lh(l,e,p,p+v),O=b>=0&&t[b],M=k>=0&&t[k];if(o&&!M||!o&&!O){uh(Wd(a,s),r,l);let V=DP(o?SP:EP,t.length,o,i,c,n);!o&&M&&(t[k].providerFactory=V),ah(r,n,e.length,0),e.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(V),s.push(V)}else{let V=Zx(t[o?k:b],c,!o&&i);ah(r,n,b>-1?b:k,V)}!o&&i&&M&&t[k].componentProviders++}}}function ah(n,e,t,i){let o=Nr(e),r=$_(e);if(o||r){let l=(r?Pn(e.useClass):e).prototype.ngOnDestroy;if(l){let c=n.destroyHooks||(n.destroyHooks=[]);if(!o&&e.multi){let p=c.indexOf(t);p===-1?c.push(t,[i,l]):c[p+1].push(i,l)}else c.push(t,l)}}}function Zx(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function lh(n,e,t,i){for(let o=t;o<i;o++)if(e[o]===n)return o;return-1}function EP(n,e,t,i,o){return qh(this.multi,[])}function SP(n,e,t,i,o){let r=this.multi,s;if(this.providerFactory){let a=this.providerFactory.componentProviders,l=ul(i,i[Ce],this.providerFactory.index,o);s=l.slice(0,a),qh(r,s);for(let c=a;c<l.length;c++)s.push(l[c])}else s=[],qh(r,s);return s}function qh(n,e){for(let t=0;t<n.length;t++){let i=n[t];e.push(i())}return e}function DP(n,e,t,i,o,r){let s=new Kr(n,t,ts,null);return s.multi=[],s.index=e,s.componentProviders=0,Zx(s,o,i&&!t),s}function oa(n,e){return t=>{t.providersResolver=(i,o)=>ob(i,o?o(n):n,!1),e&&(t.viewProvidersResolver=(i,o)=>ob(i,o?o(e):e,!0))}}function _u(n,e){let t=zm()+n,i=ze();return i[t]===Hn?vx(i,t,e()):YI(i,t)}function vu(n,e,t){return MP(ze(),zm(),n,e,t)}function TP(n,e){let t=n[e];return t===Hn?void 0:t}function MP(n,e,t,i,o,r){let s=e+t;return Vi(n,s,o)?vx(n,s+1,r?i.call(r,o):i(o)):TP(n,s+1)}function Lg(n,e){return mu(n,e)}var Qx=(()=>{class n{applicationErrorHandler=w(Ho);appRef=w(Wo);taskService=w(Zs);ngZone=w(Qt);zonelessEnabled=w(ll);tracing=w(xo,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new At;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Za):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(w(Jm,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let t=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(t);return}this.switchToMicrotaskScheduler(),this.taskService.remove(t)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let t=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})})}notify(t){if(!this.zonelessEnabled&&t===5)return;switch(t){case 0:case 2:this.appRef.dirtyFlags|=2;break;case 3:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:this.appRef.dirtyFlags|=2;break;case 12:this.appRef.dirtyFlags|=16;break;case 13:this.appRef.dirtyFlags|=2;break;case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let i=this.useMicrotaskScheduler?yv:Ym;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>i(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Za+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(i){this.applicationErrorHandler(i)}finally{this.taskService.remove(t),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();function Xx(){return[{provide:Ro,useExisting:Qx},{provide:Qt,useClass:Qa},{provide:ll,useValue:!0}]}function kP(){return typeof $localize<`u`&&$localize.locale||Cl}var bu=new Me(``,{factory:()=>w(bu,{optional:!0,skipSelf:!0})||kP()});var xu=class{destroyed=!1;listeners=null;errorHandler=w(hi,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=w(He);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new Oe(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let t=this.listeners?this.listeners.indexOf(e):-1;t>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[t]=null):this.listeners.splice(t,1))}}}emit(e){if(this.destroyed){console.warn(Ar(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=xe(null);try{for(let i of this.listeners)try{i!==null&&i(e)}catch(o){this.errorHandler?.handleError(o)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&IP(this.listeners)),xe(t),this.isEmitting=!1}}};function IP(n){let e=n.length-1;for(;e>-1;)n[e]===null&&n.splice(e,1),e--}function C(n,e){return Ha(n,e?.equal)}function zn(n){return Zy(n)}(class n extends Error{_brand;constructor(e){super(e)}static IDLE=new n(`IDLE`);static LOADING=new n(`LOADING`)});function nC(n,e){let t=Object.create(ab);t.value=n,t.transformFn=e?.transform;function i(){if(yr(t),t.value===Kh)throw new Oe(-950,null);return t.value}return i[Tn]=t,i}function je(n){return new xu}function eC(n,e){return nC(n,e)}function eO(n){return nC(Kh,n)}var se=(eC.required=eO,eC);function tC(n,e){return Ix(e)}function tO(n,e){return Nx(e)}var Ue=(tC.required=tO,tC);function iC(n,e){return Px(e)}var El=(()=>{class n{static __NG_ELEMENT_ID__=iO}return n})();function iO(n){return oO(On(),ze(),(n&16)===16)}function oO(n,e,t){if(go(n)&&!t){let i=vi(n.index,e);return new zo(i,i)}else if(n.type&175){let i=e[qn];return new zo(i,e)}return null}var Fg=new Me(``);var rO=new Me(``);function wl(n){return!n.moduleRef}function sO(n){let e=wl(n)?n.r3Injector:n.moduleRef.injector,t=e.get(Qt);return t.run(()=>{wl(n)?n.r3Injector.resolveInjectorInitializers():n.moduleRef.resolveInjectorInitializers();let i=e.get(Ho),o;if(t.runOutsideAngular(()=>{o=t.onError.subscribe({next:i})}),wl(n)){let r=()=>e.destroy(),s=n.platformInjector.get(Fg);s.add(r),e.onDestroy(()=>{o.unsubscribe(),s.delete(r)})}else{let r=()=>n.moduleRef.destroy(),s=n.platformInjector.get(Fg);s.add(r),n.moduleRef.onDestroy(()=>{dl(n.allPlatformModules,n.moduleRef),o.unsubscribe(),s.delete(r)})}return lO(i,t,()=>{let r=e.get(Zs),s=r.add(),a=e.get(Ig);return a.runInitializers(),a.donePromise.then(()=>{if(Bx(e.get(bu,Cl)||Cl),!e.get(rO,!0))return wl(n)?e.get(Wo):(n.allPlatformModules.push(n.moduleRef),n.moduleRef);if(wl(n)){let p=e.get(Wo);return n.rootComponent!==void 0&&p.bootstrap(n.rootComponent),p}else return aO?.(n.moduleRef,n.allPlatformModules),n.moduleRef}).finally(()=>{r.remove(s)})})})}var aO;function lO(n,e,t){try{let i=t();return hu(i)?i.catch(o=>{throw e.runOutsideAngular(()=>n(o)),o}):i}catch(i){throw e.runOutsideAngular(()=>n(i)),i}}var Cu=null;function cO(n=[],e){return rn.create({name:e,providers:[{provide:tl,useValue:`platform`},{provide:Fg,useValue:new Set([()=>Cu=null])},...n]})}function dO(n=[]){if(Cu)return Cu;let e=cO(n);return Cu=e,Vx(),uO(e),e}function uO(n){let e=n.get(Pd,null);_d(n,()=>{e?.forEach(t=>t())})}function oC(n){let{rootComponent:e,appProviders:t,platformProviders:i,platformRef:o}=n;Ct(mt.BootstrapApplicationStart);try{let r=o?.injector??dO(i);return sO({r3Injector:new hl({providers:[Xx(),xv,...t||[]],parent:r,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:r,rootComponent:e})}catch(r){return Promise.reject(r)}finally{Ct(mt.BootstrapApplicationEnd)}}function Yo(n){return typeof n==`boolean`?n:n!=null&&n!==`false`}function rC(n,e=NaN){return!isNaN(parseFloat(n))&&!isNaN(Number(n))?Number(n):e}function sC(n,e){let t=Lo(n),i=e.elementInjector||Hs(),r=new ta(t).create(i,e.projectableNodes,e.hostElement,e.environmentInjector,e.directives,e.bindings);return e.onError&&(r.hostView._lView[qs]=e.onError),r}var aC=null;function ra(){return aC}function Vg(n){aC??=n}var Sl=class{};var jg=(()=>{class n{_viewContainerRef;ngComponentOutlet=null;ngComponentOutletInputs;ngComponentOutletInjector;ngComponentOutletEnvironmentInjector;ngComponentOutletContent;ngComponentOutletNgModule;_componentRef;_moduleRef;_inputsUsed=new Map;get componentInstance(){return this._componentRef?.instance??null}constructor(t){this._viewContainerRef=t}_needToReCreateNgModuleInstance(t){return t.ngComponentOutletNgModule!==void 0}_needToReCreateComponentInstance(t){return t.ngComponentOutlet!==void 0||t.ngComponentOutletContent!==void 0||t.ngComponentOutletInjector!==void 0||t.ngComponentOutletEnvironmentInjector!==void 0||this._needToReCreateNgModuleInstance(t)}ngOnChanges(t){if(this._needToReCreateComponentInstance(t)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){let i=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(t)&&(this._moduleRef?.destroy(),this.ngComponentOutletNgModule?this._moduleRef=kg(this.ngComponentOutletNgModule,fO(i)):this._moduleRef=void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:i,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent,environmentInjector:this.ngComponentOutletEnvironmentInjector})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(let t of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(t,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(t){for(let[i,o]of this._inputsUsed)o?(t.setInput(i,this.ngComponentOutletInputs[i]),this._inputsUsed.set(i,!1)):(t.setInput(i,void 0),this._inputsUsed.delete(i))}static ɵfac=function(i){return new(i||n)(ts(Qi))};static ɵdir=oi({type:n,selectors:[[``,`ngComponentOutlet`,``]],inputs:{ngComponentOutlet:`ngComponentOutlet`,ngComponentOutletInputs:`ngComponentOutletInputs`,ngComponentOutletInjector:`ngComponentOutletInjector`,ngComponentOutletEnvironmentInjector:`ngComponentOutletEnvironmentInjector`,ngComponentOutletContent:`ngComponentOutletContent`,ngComponentOutletNgModule:`ngComponentOutletNgModule`},exportAs:[`ngComponentOutlet`],features:[Xr]})}return n})();function fO(n){return n.get(Go).injector}var Bg=(()=>{class n{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=w(rn);constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){let i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let o=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector===`outlet`?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,i,o)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,i,o):!1,get:(t,i,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,o)}})}static ɵfac=function(i){return new(i||n)(ts(Qi))};static ɵdir=oi({type:n,selectors:[[``,`ngTemplateOutlet`,``]],inputs:{ngTemplateOutletContext:`ngTemplateOutletContext`,ngTemplateOutlet:`ngTemplateOutlet`,ngTemplateOutletInjector:`ngTemplateOutletInjector`},features:[Xr]})}return n})();function $g(n,e){e=encodeURIComponent(e);for(let t of n.split(`;`)){let i=t.indexOf(`=`),[o,r]=i==-1?[t,``]:[t.slice(0,i),t.slice(i+1)];if(o.trim()!==e)continue;let s=r;try{s=decodeURIComponent(r)}catch{}return s.length>1&&s[0]===`"`&&s[s.length-1]===`"`&&(s=s.slice(1,-1)),s}return null}var Hg=`browser`;function lC(n){return n===Hg}var Dl=class{_doc;constructor(e){this._doc=e}manager};var Eu=(()=>{class n extends Dl{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,o,r){return t.addEventListener(i,o,r),()=>this.removeEventListener(t,i,o,r)}removeEventListener(t,i,o,r){return t.removeEventListener(i,o,r)}static ɵfac=function(i){return new(i||n)(yt(Gt))};static ɵprov=ue({token:n,factory:n.ɵfac})}return n})();var Tu=new Me(``);var qg=(()=>{class n{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,i){this._zone=i,t.forEach(s=>{s.manager=this});let o=t.filter(s=>!(s instanceof Eu));this._plugins=o.slice().reverse();let r=t.find(s=>s instanceof Eu);r&&this._plugins.push(r)}addEventListener(t,i,o,r){return this._findPluginFor(i).addEventListener(t,i,o,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(r=>r.supports(t)),!i)throw new Oe(-5101,!1);return this._eventNameToPlugin.set(t,i),i}static ɵfac=function(i){return new(i||n)(yt(Tu),yt(Qt))};static ɵprov=ue({token:n,factory:n.ɵfac})}return n})();var zg=`ng-app-id`;function cC(n){for(let e of n)e.remove()}function dC(n,e){let t=e.createElement(`style`);return t.textContent=n,t}function gO(n,e,t,i){let o=n.head?.querySelectorAll(`style[${zg}="${e}"],link[${zg}="${e}"]`);if(!o||o.length===0)return!1;for(let r of o)r.removeAttribute(zg),r instanceof HTMLLinkElement?i.set(r.href.slice(r.href.lastIndexOf(`/`)+1),{usage:0,elements:[r]}):r.textContent&&t.set(r.textContent,{usage:0,elements:[r]});return!0}function Gg(n,e){let t=e.createElement(`link`);return t.setAttribute(`rel`,`stylesheet`),t.setAttribute(`href`,n),t}var Wg=(()=>{class n{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(t,i,o,r={}){this.doc=t,this.appId=i,this.nonce=o,gO(t,i,this.inline,this.external)&&this.hosts.add(t.head)}addStyles(t,i){for(let o of t)this.addUsage(o,this.inline,dC);i?.forEach(o=>this.addUsage(o,this.external,Gg))}removeStyles(t,i){for(let o of t)this.removeUsage(o,this.inline);i?.forEach(o=>this.removeUsage(o,this.external))}addUsage(t,i,o){let r=i.get(t);r?r.usage++:i.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,o(t,this.doc)))})}removeUsage(t,i){let o=i.get(t);o&&(o.usage--,o.usage<=0&&(cC(o.elements),i.delete(t)))}ngOnDestroy(){for(let[,{elements:t}]of[...this.inline,...this.external])cC(t);this.hosts.clear()}addHost(t){if(!this.hosts.has(t)){this.hosts.add(t);for(let[i,{elements:o}]of this.inline)o.push(this.addElement(t,dC(i,this.doc)));for(let[i,{elements:o}]of this.external)o.push(this.addElement(t,Gg(i,this.doc)))}}removeHost(t){this.hosts.delete(t);for(let i of[...this.inline.values(),...this.external.values()]){let o=[];for(let r of i.elements)r.parentNode===t?r.remove():o.push(r);i.elements=o}}addElement(t,i){return this.nonce&&i.setAttribute(`nonce`,this.nonce),t.appendChild(i)}static ɵfac=function(i){return new(i||n)(yt(Gt),yt(qr),yt(Od,8),yt(Wr))};static ɵprov=ue({token:n,factory:n.ɵfac})}return n})();var Ug={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`,math:`http://www.w3.org/1998/Math/MathML`};var Yg=/%COMP%/g;var pC=`%COMP%`;var yO=`_nghost-${pC}`;var _O=`_ngcontent-${pC}`;var vO=!0;var bO=new Me(``,{factory:()=>vO});var xO=new Me(``);function CO(n){return _O.replace(Yg,n)}function wO(n){return yO.replace(Yg,n)}function fC(n,e){return e.map(t=>t.replace(Yg,n))}var Kg=(()=>{class n{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(t,i,o,r,s,a,l=null,c=null,p=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestroy=r,this.doc=s,this.ngZone=a,this.nonce=l,this.tracingService=c,this.cssVarNamespace=p??``,this.defaultRenderer=new Tl(t,s,a,this.tracingService,this.cssVarNamespace)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;let o=this.getOrCreateRenderer(t,i);return o instanceof Du?o.applyToHost(t):o instanceof Ml&&o.applyStyles(),o}getOrCreateRenderer(t,i){let o=this.rendererByCompId,r=o.get(i.id);if(!r){let s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,m=this.tracingService;switch(i.encapsulation){case Fi.Emulated:r=new Du(l,c,i,this.appId,p,s,a,m,this.cssVarNamespace);break;case Fi.ShadowDom:return new Su(l,t,i,s,a,this.nonce,m,this.cssVarNamespace,c);case Fi.ExperimentalIsolatedShadowDom:return new Su(l,t,i,s,a,this.nonce,m,this.cssVarNamespace);default:r=new Ml(l,c,i,p,s,a,m,this.cssVarNamespace)}o.set(i.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static ɵfac=function(i){return new(i||n)(yt(qg),yt(es),yt(qr),yt(bO),yt(Gt),yt(Qt),yt(Od),yt(xo,8),yt(xO,8))};static ɵprov=ue({token:n,factory:n.ɵfac})}return n})();var Tl=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,t,i,o,r=``){this.eventManager=e,this.doc=t,this.ngZone=i,this.tracingService=o,this.cssVarNamespace=r}destroy(){}destroyNode=null;createElement(e,t){return t?this.doc.createElementNS(Ug[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(uC(e)?e.content:e).appendChild(t)}insertBefore(e,t,i){if(e){let o=uC(e)?e.content:e;if(i!=null&&i.parentNode!==o)throw new Oe(-5106,!1);o.insertBefore(t,i)}}removeChild(e,t){t.remove()}selectRootElement(e,t){let i=typeof e==`string`?this.doc.querySelector(e):e;if(!i)throw new Oe(-5104,!1);return t||(i.textContent=``),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,o){if(o){t=o+`:`+t;let r=Ug[o];r?e.setAttributeNS(r,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){let o=Ug[i];o?e.removeAttributeNS(o,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,o){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||o&(Zi.DashCase|Zi.Important)?e.style.setProperty(t,i,o&Zi.Important?`important`:``):e.style[t]=i}removeStyle(e,t,i){let o=t.startsWith(`--`);o&&(t=t.replace(`%NS%`,this.cssVarNamespace)),o||i&Zi.DashCase?e.style.removeProperty(t):e.style[t]=``}setProperty(e,t,i){e!=null&&(e[t]=i)}setValue(e,t){e.nodeValue=t}listen(e,t,i,o){if(typeof e==`string`&&(e=ra().getGlobalEventTarget(this.doc,e),!e))throw new Oe(-5102,!1);let r=this.decoratePreventDefault(i);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(e,t,r)),this.eventManager.addEventListener(e,t,r,o)}decoratePreventDefault(e){return t=>{if(t===`__ngUnwrap__`)return e;e(t)===!1&&t.preventDefault()}}};function uC(n){return n.tagName===`TEMPLATE`&&n.content!==void 0}var Su=class extends Tl{hostEl;sharedStylesHost;shadowRoot;constructor(e,t,i,o,r,s,a,l,c){super(e,o,r,a,l),this.hostEl=t,this.sharedStylesHost=c,this.shadowRoot=t.attachShadow({mode:`open`}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let p=i.styles;p=fC(i.id,p).map(v=>v.replace(/%NS%/g,l));for(let v of p){let b=document.createElement(`style`);s&&b.setAttribute(`nonce`,s),b.textContent=v,this.shadowRoot.appendChild(b)}let m=i.getExternalStyles?.();if(m)for(let v of m){let b=Gg(v,o);s&&b.setAttribute(`nonce`,s),this.shadowRoot.appendChild(b)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,i){return super.insertBefore(this.nodeOrShadowRoot(e),t,i)}removeChild(e,t){return super.removeChild(null,t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}};var Ml=class extends Tl{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,t,i,o,r,s,a,l,c){super(e,r,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o;let p=i.styles,m=c?fC(c,p):p;this.styles=m.map(v=>v.replace(/%NS%/g,l)),this.styleUrls=i.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&ug.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}};var Du=class extends Ml{contentAttr;hostAttr;constructor(e,t,i,o,r,s,a,l,c){let p=o+`-`+i.id;super(e,t,i,r,s,a,l,c,p),this.contentAttr=CO(p),this.hostAttr=wO(p)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,``)}createElement(e,t){let i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,``),i}};var Mu=class n extends Sl{supportsDOMEvents=!0;static makeCurrent(){Vg(new n)}onAndCancel(e,t,i,o){return e.addEventListener(t,i,o),()=>{e.removeEventListener(t,i,o)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.remove()}createElement(e,t){return t=t||this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument(`fakeTitle`)}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t===`window`?window:t===`document`?e:t===`body`?e.body:null}getBaseHref(e){let t=EO();return t==null?null:SO(t)}resetBaseElement(){kl=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return $g(document.cookie,e)}};var kl=null;function EO(){return kl=kl||document.head.querySelector(`base`),kl?kl.getAttribute(`href`):null}function SO(n){return new URL(n,document.baseURI).pathname}var mC=[`alt`,`control`,`meta`,`shift`];var DO={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`};var TO={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};var hC=(()=>{class n extends Dl{constructor(t){super(t)}supports(t){return n.parseEventName(t)!=null}addEventListener(t,i,o,r){let s=n.parseEventName(i),a=n.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ra().onAndCancel(t,s.domEventName,a,r))}static parseEventName(t){let i=t.toLowerCase().split(`.`),o=i.shift();if(i.length===0||!(o===`keydown`||o===`keyup`))return null;let r=n._normalizeKey(i.pop()),s=``,a=i.indexOf(`code`);if(a>-1&&(i.splice(a,1),s=`code.`),mC.forEach(c=>{let p=i.indexOf(c);p>-1&&(i.splice(p,1),s+=c+`.`)}),s+=r,i.length!=0||r.length===0)return null;let l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let o=DO[t.key]||t.key,r=``;return i.indexOf(`code.`)>-1&&(o=t.code,r=`code.`),o==null||!o?!1:(o=o.toLowerCase(),o===` `?o=`space`:o===`.`&&(o=`dot`),mC.forEach(s=>{if(s!==o){let a=TO[s];a(t)&&(r+=s+`.`)}}),r+=o,r===i)}static eventCallback(t,i,o){return r=>{n.matchEventFullKeyCode(r,t)&&o.runGuarded(()=>i(r))}}static _normalizeKey(t){return t===`esc`?`escape`:t}static ɵfac=function(i){return new(i||n)(yt(Gt))};static ɵprov=ue({token:n,factory:n.ɵfac})}return n})();async function Zg(n,e,t){return oC(r({rootComponent:n},MO(e,t)))}function MO(n,e){return{platformRef:e?.platformRef,appProviders:[...OO,...n?.providers??[]],platformProviders:PO}}function kO(){Mu.makeCurrent()}function IO(){return new hi}function NO(){return Jh(document),document}var PO=[{provide:Wr,useValue:Hg},{provide:Pd,useValue:kO,multi:!0},{provide:Gt,useFactory:NO}];var OO=[{provide:tl,useValue:`root`},{provide:hi,useFactory:IO},{provide:Tu,useClass:Eu,multi:!0},{provide:Tu,useClass:hC,multi:!0},Kg,{provide:es,useClass:Wg},{provide:Wg,useExisting:es},qg,{provide:$n,useExisting:Kg},[]];var Il=(()=>{class n{static ɵfac=function(i){return new(i||n)};static ɵprov=ue({token:n,factory:function(i){let o=null;return i?o=new(i||n):o=yt(AO),o},providedIn:`root`})}return n})();var AO=(()=>{class n extends Il{_doc=w(Gt);sanitize(t,i){if(i==null)return null;switch(t){case Ut.NONE:return i;case Ut.HTML:return vo(i,`HTML`)?xi(i):su(this._doc,String(i)).toString();case Ut.STYLE:return vo(i,`Style`)?xi(i):i;case Ut.SCRIPT:if(vo(i,`Script`))return xi(i);throw new Oe(5200,!1);case Ut.URL:return vo(i,`URL`)?xi(i):_l(String(i));case Ut.RESOURCE_URL:if(vo(i,`ResourceURL`))return xi(i);throw new Oe(-5201,!1);default:throw new Oe(5202,!1)}}bypassSecurityTrustHtml(t){return ig(t)}bypassSecurityTrustStyle(t){return og(t)}bypassSecurityTrustScript(t){return rg(t)}bypassSecurityTrustUrl(t){return sg(t)}bypassSecurityTrustResourceUrl(t){return ag(t)}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var gC={providers:[Qm()]};var wi=typeof window<`u`;var ku=wi?window:null;var Ko=wi?document:null;var wt={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4};var Le={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3};var hn={NONE:0,AUTO:1,FORCE:2};var Ht={replace:0,none:1,blend:2};var Qg=Symbol();var eo=Symbol();var Iu=Symbol();var Zo=Symbol();var Nu=Symbol();var Fe=1e-11;var Nl=0xe8d4a51000;var Ei=1e3;var Pl=240;var Si=``;var yC=`var(`;var Ol=[];var Pu=(()=>{let n=new Map;return n.set(`x`,`translateX`),n.set(`y`,`translateY`),n.set(`z`,`translateZ`),n})();var sa=[`perspective`,`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`];var _C=sa.reduce((n,e)=>s(r({},n),{[e]:e+`(`}),{});var dn=()=>{};var vC=n=>n;var bC=/\)\s*[-.\d]/;var xC=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i;var CC=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i;var wC=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i;var EC=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i;var SC=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i;var Xg=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi;var Ou=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i;var DC=/([a-z])([A-Z])/g;var TC=/(\*=|\+=|-=)/;var MC=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/;var aa={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:Pl,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:Ei,delay:0,loopDelay:0,ease:`out(2)`,composition:Ht.replace,modifier:vC,onBegin:dn,onBeforeUpdate:dn,onUpdate:dn,onLoop:dn,onPause:dn,onComplete:dn,onRender:dn};var Al={current:null,root:Ko};var Ae={defaults:aa,precision:4,timeScale:1,tickThreshold:200,editor:null};var Jg={version:`4.5.0`,engine:null};wi&&(ku.AnimeJS||(ku.AnimeJS=[]),ku.AnimeJS.push(Jg));var t0=n=>n.replace(DC,`$1-$2`).toLowerCase();var ri=(n,e)=>n.indexOf(e)===0;var Co=Date.now;var si=Array.isArray;var os=n=>n&&n.constructor===Object;var Wn=n=>typeof n==`number`&&!isNaN(n);var Yn=n=>typeof n==`string`;var gn=n=>typeof n==`function`;var he=n=>typeof n>`u`;var to=n=>he(n)||n===null;var Au=n=>wi&&n instanceof SVGElement;var n0=n=>xC.test(n);var i0=n=>ri(n,`rgb`);var o0=n=>ri(n,`hsl`);var kC=n=>n0(n)||(i0(n)||o0(n))&&(n[n.length-1]===`)`||!bC.test(n));var Rl=n=>!Ae.defaults.hasOwnProperty(n);var RO=[`opacity`,`rotate`,`overflow`,`color`];var IC=(n,e)=>{if(RO.includes(e))return!1;if(n.getAttribute(e)||e in n){if(e===`scale`){let t=n.parentNode;return t&&t.tagName===`filter`}return!0}};var Ru=n=>Yn(n)?parseFloat(n):n;var rs=Math.pow;var Qo=Math.sqrt;var NC=Math.sin;var PC=Math.cos;var is=Math.abs;var ss=Math.floor;var OC=Math.asin;var Ll=Math.PI;var e0=Math.round;var Rn=(n,e,t)=>n<e?e:n>t?t:n;var et=(n,e)=>{if(e<0)return n;if(!e)return e0(n);let t=10**e;return e0(n*t)/t};var AC=(n,e)=>si(e)?e.reduce((t,i)=>is(i-n)<is(t-n)?i:t):e?e0(n/e)*e:n;var wo=(n,e,t)=>t===1?e:t===0?n:n+(e-n)*t;var as=n=>n===1/0?Nl:n===-1/0?-Nl:n;var Eo=n=>n<=Fe?Fe:as(et(n,11));var un=n=>si(n)?[...n]:n;var Lu=(n,e)=>{let t=r({},n);for(let i in e){let o=n[i];t[i]=he(o)?e[i]:o}return t};var pt=(n,e,t,i=`_prev`,o=`_next`)=>{let r=n._head,s=o;for(t&&(r=n._tail,s=i);r;){let a=r[s];e(r),r=a}};var ai=(n,e,t=`_prev`,i=`_next`)=>{let o=e[t],r=e[i];o?o[i]=r:n._head=r,r?r[t]=o:n._tail=o,e[t]=null,e[i]=null};var Kn=(n,e,t,i=`_prev`,o=`_next`)=>{let r=n._tail;for(;r&&t&&t(r,e);)r=r[i];let s=r?r[o]:n._head;r?r[o]=e:n._head=e,s?s[i]=e:n._tail=e,e[i]=r,e[o]=s};var RC=(n,e,t)=>{let i=n.style.transform;if(i){let o=n[Zo],r=0,s=i.length,a;for(;r<s;){for(;r<s&&i.charCodeAt(r)===32;)r++;if(r>=s)break;let c=r;for(;r<s&&i.charCodeAt(r)!==40;)r++;if(r>=s)break;let p=i.substring(c,r),m=1,v=r+1,b=-1,k=-1;for(r++;r<s&&m>0;){let M=i.charCodeAt(r);M===40?m++:M===41?m--:M===44&&m===1&&(b===-1?b=r:k===-1&&(k=r)),r++}let O=r-1;p===`translate`||p===`translate3d`?(b===-1?o.translateX=i.substring(v,O).trim():(o.translateX=i.substring(v,b).trim(),k===-1?o.translateY=i.substring(b+1,O).trim():(o.translateY=i.substring(b+1,k).trim(),o.translateZ=i.substring(k+1,O).trim())),a=i.substring(v,O)):p===`scale`||p===`scale3d`?b===-1?o.scale=i.substring(v,O).trim():(o.scaleX=i.substring(v,b).trim(),k===-1?o.scaleY=i.substring(b+1,O).trim():(o.scaleY=i.substring(b+1,k).trim(),o.scaleZ=i.substring(k+1,O).trim())):o[p]=i.substring(v,O)}if(e===`translate3d`&&a)return t&&(t[e]=a),a;let l=o[e];if(!he(l))return t&&(t[e]=l),l}return e===`translate3d`?`0px, 0px, 0px`:e===`rotate3d`?`0, 0, 0, 0deg`:ri(e,`scale`)?`1`:ri(e,`rotate`)||ri(e,`skew`)?`0deg`:`0px`};var Fu=n=>{let e=Si;for(let t=0,i=sa.length;t<i;t++){let o=sa[t],r=n[o];if(r!==void 0){if(o===`translateX`){let s=n.translateY;if(s!==void 0){let a=n.translateZ;a!==void 0?(e+=`translate3d(${r},${s},${a}) `,t+=2):(e+=`translate(${r},${s}) `,t+=1);continue}}if(o===`scaleX`&&n.scale===void 0){let s=n.scaleY;if(s!==void 0){let a=n.scaleZ;a!==void 0?(e+=`scale3d(${r},${s},${a}) `,t+=2):(e+=`scale(${r},${s}) `,t+=1);continue}}e+=`${_C[o]}${r}) `}o===`rotateZ`&&n.rotate3d!==void 0&&(e+=`rotate3d(${n.rotate3d}) `)}return n.matrix!==void 0&&(e+=`matrix(${n.matrix}) `),n.matrix3d!==void 0&&(e+=`matrix3d(${n.matrix3d}) `),e};var r0=[];function Vu(n,e){if(!n)return null;let t=r0.length;e:for(let i=0;i<t;i++){let o=r0[i];if(o.detect&&!o.detect(n))continue;let r=o.targetAdapters;for(let s=0,a=r.length;s<a;s++){let l=r[s];if(l.detect(n)){let c=l.props[e];if(c&&(!c.gate||c.gate(n)))return c;break e}}}for(let i=0;i<t;i++){let o=r0[i];if(o.detect&&!o.detect(n))continue;let r=o.propertyResolvers;for(let s=0,a=r.length;s<a;s++){let l=r[s](n,e);if(l)return l}}return null}var LO=n=>{let e=CC.exec(n)||wC.exec(n),t=he(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],t]};var FO=n=>{let e=n.length,t=e===4||e===5;return[+(`0x`+n[1]+n[t?1:2]),+(`0x`+n[t?2:3]+n[t?2:4]),+(`0x`+n[t?3:5]+n[t?3:6]),e===5||e===9?+(+(`0x`+n[t?4:7]+n[t?4:8])/255).toFixed(3):1]};var s0=(n,e,t)=>(t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n);var VO=n=>{let e=EC.exec(n)||SC.exec(n),t=+e[1]/360,i=+e[2]/100,o=+e[3]/100,r=he(e[4])?1:+e[4],s,a,l;if(i===0)s=a=l=o;else{let c=o<.5?o*(1+i):o+i-o*i,p=2*o-c;s=et(s0(p,c,t+1/3)*255,0),a=et(s0(p,c,t)*255,0),l=et(s0(p,c,t-1/3)*255,0)}return[s,a,l,r]};var LC=n=>i0(n)?LO(n):n0(n)?FO(n):o0(n)?VO(n):[0,0,0,1];var zt=(n,e)=>he(n)?e:n;var FC=(n,e)=>{let t=n.match(MC),i=e[eo]?e:document.documentElement,o=getComputedStyle(i)?.getPropertyValue(t[1]);return(!o||o.trim()===Si)&&t[2]&&(o=t[2].trim()),o||0};var no=(n,e,t,i,o,r)=>{if(gn(n)){if(!o){let a=n(e,t,i,r);return isNaN(+a)?a||0:+a}let s=()=>{let a=n(e,t,i,r);return isNaN(+a)?a||0:+a};return o.func=s,s()}if(Yn(n)&&ri(n,yC)){if(!o)return FC(n,e);let s=()=>FC(n,e);return o.func=s,s()}return n};var Fl=(n,e)=>n[eo]?n[Iu]&&IC(n,e)?wt.ATTRIBUTE:sa.includes(e)||Pu.get(e)?wt.TRANSFORM:ri(e,`--`)?wt.CSS_VAR:e in n.style?wt.CSS:e in n?wt.OBJECT:wt.ATTRIBUTE:wt.OBJECT;var VC=(n,e,t)=>{let i=n.style[e];i&&t&&(t[e]=i);let o=i||getComputedStyle(n[Nu]||n).getPropertyValue(e);return o===`auto`?`0`:o};var io=(n,e,t,i)=>{let o=he(t)?Fl(n,e):t,r=Vu(n,e);if(r){let s=r.get(n);return s&&i&&(i[e]=s),s??0}if(o===wt.OBJECT){let s=n[e];return s&&i&&(i[e]=s),s||0}if(o===wt.ATTRIBUTE){let s=n.getAttribute(e);return s&&i&&(i[e]=s),s}return o===wt.TRANSFORM?RC(n,e,i):o===wt.CSS_VAR?VC(n,e,i).trimStart():VC(n,e,i)};var la=(n,e,t)=>t===`-`?n-e:t===`+`?n+e:n*e;var ju=()=>({t:Le.NUMBER,n:0,u:null,o:null,d:null,s:null});var Ln=(n,e)=>{if(e.t=Le.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!n)return e;let t=+n;if(!isNaN(t))return e.n=t,e;let i=n;i[1]===`=`&&(e.o=i[0],i=i.slice(2));let o=i.includes(` `)?!1:Ou.exec(i);if(o)return e.t=Le.UNIT,e.n=+o[1],e.u=o[2],e;if(e.o)return e.n=+i,e;if(kC(i))return e.t=Le.COLOR,e.d=LC(i),e;{let r=i.match(Xg);return e.t=Le.COMPLEX,e.d=r?r.map(Number):[],e.s=i.split(Xg)||[],e}};var a0=(n,e)=>(e.t=n._valueType,e.n=n._toNumber,e.u=n._unit,e.o=null,e.d=un(n._toNumbers),e.s=un(n._strings),e);var yn=ju();var Bu=(n,e,t)=>{let i=n._modifier,o=n._fromNumbers,r=n._toNumbers,s=n._strings,a=s[0];for(let l=0,c=r.length;l<c;l++){let p=i(et(wo(o[l],r[l],e),t)),m=s[l+1];a+=`${m?p+m:p}`,n._numbers[l]=p}return a};var Vl=(n,e,t,i,o)=>{let r=n.parent,s=n.duration,a=n.completed,l=n.iterationDuration,c=n.iterationCount,p=n._currentIteration,m=n._loopDelay,v=n._reversed,b=n._alternate,k=n._hasChildren,O=n._delay,M=n._currentTime,V=O+l,W=e-O,pe=Rn(M,-O,s),me=Rn(W,-O,s),we=W-M,ve=me>0,st=me>=s,qe=s<=Fe,Ke=o===hn.FORCE,vt=0,Pt=W,qt=0;if(c>1){let ae=l+(st?0:m),Q=~~(me/ae);n._currentIteration=Rn(Q,0,c),st&&n._currentIteration--,vt=n._currentIteration%2,Pt=me-Q*ae||0}let $t=v^(b&&vt),at=n._ease,Te=st?$t?0:s:$t?l-Pt:Pt;at&&(Te=l*at(Te/l)||0);let B=(r?r.backwards:W<M)?!$t:!!$t;if(n._currentTime=W,n._iterationTime=Te,n.backwards=B,ve&&!n.began?(n.began=!0,!t&&(!r||!B&&r.began)&&n.onBegin(n)):W<=0&&(n.began=!1),!t&&!k&&ve&&n._currentIteration!==p&&n.onLoop(n),Ke||o===hn.AUTO&&(e>=(r&&O>0?0:O)&&e<=V||e<=O&&pe>O||e>=V&&pe!==s)||Te>=V&&pe!==s||Te<=O&&pe>0&&!st||e<=pe&&pe===s&&a||st&&!a&&qe){if(ve&&(n.computeDeltaTime(pe),t||n.onBeforeUpdate(n)),!k){let ae=Ke||(B?we*-1:we)>=Ae.tickThreshold,Q=et(n._offset+(r?r._offset:0)+O+Te,12),H=n._head,de,Be,lt,en,Ee=0;for(;H;){let Mt=H._composition,Ze=H._currentTime,xn=H._changeDuration,tn=H._absoluteStartTime+H._changeDuration,tt=H._nextRep,an=H._prevRep,Wt=Mt!==Ht.none,Ve=an?an._absoluteStartTime+an._changeDuration:0,Xe=an&&an.parent!==H.parent,Pe=!tt||tt._isOverridden?tn:tt.parent===H.parent?tn+tt._delay:tt._absoluteStartTime<tt._absoluteUpdateStartTime?tt._absoluteStartTime:tt._absoluteUpdateStartTime;if((ae||(Ze!==xn||Q<=Pe||an&&!Xe&&(!tt||tt.parent!==H.parent))&&(Ze!==0||Q>=H._absoluteStartTime||Xe&&!H._hasFromValue&&!an._isOverridden&&Q>=Ve||tt&&!tt._isOverridden&&tt.parent===H.parent&&tt._currentTime!==0&&Te<tt._startTime))&&(!an||Xe||Te>=H._startTime)&&(!Wt||!H._isOverridden&&(!H._isOverlapped||Q<=tn)&&(!tt||tt._isOverridden||Q<=Pe)&&(!an||an._isOverridden||(Xe?Q>=H._absoluteStartTime||!H._hasFromValue&&Q>=Ve:Q>=Ve+H._delay)))){let ft=H._currentTime=Rn(Te-H._startTime,0,xn),ye=H._ease(ft/H._updateDuration),_t=H._modifier,oe=H._valueType,Et=H._tweenType,it=Et===wt.OBJECT,ge=oe===Le.NUMBER,It=ge&&it||ye===0||ye===1?-1:Ae.precision,Se,gt;if(ge)Se=gt=_t(et(wo(H._fromNumber,H._toNumber,ye),It));else if(oe===Le.UNIT)gt=_t(et(wo(H._fromNumber,H._toNumber,ye),It)),Se=`${gt}${H._unit}`;else if(oe===Le.COLOR){let Qe=H._numbers,z=H._fromNumbers,G=H._toNumbers,ce=1-ye,_e=z[0],bt=z[1],Ot=z[2],ui=G[0],Nn=G[1],zi=G[2];Qe[0]=_t(Math.sqrt(_e*_e*ce+ui*ui*ye)),Qe[1]=_t(Math.sqrt(bt*bt*ce+Nn*Nn*ye)),Qe[2]=_t(Math.sqrt(Ot*Ot*ce+zi*zi*ye)),Qe[3]=_t(wo(z[3],G[3],ye)),(!H._setter||i)&&(Se=`rgba(${et(Qe[0],0)},${et(Qe[1],0)},${et(Qe[2],0)},${Qe[3]})`)}else oe===Le.COMPLEX&&(Se=Bu(H,ye,It));if(Wt&&(H._number=gt),!i&&Mt!==Ht.blend){let Qe=H.property;de=H.target,H._setter?H._setter(de,gt,H):it?de[Qe]=Se:Et===wt.ATTRIBUTE?de.setAttribute(Qe,Se):(Be=de.style,Et===wt.TRANSFORM?(de!==lt&&(lt=de,en=de[Zo]),en[Qe]=Se,Ee=1):Et===wt.CSS?Be[Qe]=Se:Et===wt.CSS_VAR&&Be.setProperty(Qe,Se)),ve&&(qt=1)}else H._value=Se}else Ze&&an&&!Xe&&Te<H._startTime&&(H._currentTime=0);Ee&&H._renderTransforms&&(Be.transform=Fu(en),Ee=0),H=H._next}!t&&qt&&n.onRender(n)}!t&&ve&&n.onUpdate(n)}return r&&qe?!t&&(r.began&&!B&&W>0&&!a||B&&W<=Fe&&a)&&(n.onComplete(n),n.completed=!B):ve&&st?c===1/0?n._startTime+=n.duration:n._currentIteration>=c-1&&(n.paused=!0,!a&&!k&&(n.completed=!0,!t&&(!r||!B&&r.began)&&(n.onComplete(n),n._resolve(n)))):n.completed=!1,qt};var oo=(n,e,t,i,o)=>{let r=n._currentIteration;if(Vl(n,e,t,i,o),n._hasChildren){let s=n,a=s.backwards,l=i?e:s._iterationTime,c=Co(),p=0,m=!0;if(!i&&s._currentIteration!==r){let v=s.iterationDuration;pt(s,b=>{if(!a)!b.completed&&!b.backwards&&b._currentTime<b.iterationDuration&&Vl(b,v,t,1,hn.FORCE),b.began=!1,b.completed=!1;else{let k=b.duration,O=b._offset+b._delay,M=O+k;!t&&k<=Fe&&(!O||M===v)&&b.onComplete(b)}}),t||s.onLoop(s)}pt(s,v=>{let b=et((l-v._offset)*v._speed,12);if(a&&b>v._delay+v.duration)return;let k=v._fps<s._fps?v.requestTick(c):o;p+=Vl(v,b,t,i,k),!v.completed&&m&&(m=!1)},a),!t&&p&&s.onRender(s),(m||a)&&s._currentTime>=s.duration&&(s.paused=!0,s.completed||(s.completed=!0,t||(s.onComplete(s),s._resolve(s))))}};var jC={};var ca=(n,e,t)=>{if(t===wt.TRANSFORM)return Pu.get(n)||n;else if(t===wt.CSS||t===wt.ATTRIBUTE&&Au(e)&&n in e.style){let i=jC[n];if(i)return i;{let o=n&&t0(n);return jC[n]=o,o}}else return n};var da=(n,e=!1)=>{if(n._hasChildren)pt(n,t=>da(t,e),!0);else{let t=n;t.pause(),pt(t,i=>{let o=i.property,r=i.target,s=i._tweenType,a=i._inlineValue,l=to(a)||a===Si;if(i._setter){if(!e&&!l){if(Ln(a,yn),yn.d){let c=yn.d,p=i._numbers;for(let m=0,v=c.length;m<v;m++)p[m]=c[m]}else i._number=yn.n;i._setter(i.target,i._number,i)}}else if(s===wt.OBJECT)!e&&!l&&(r[o]=a);else if(r[eo])if(s===wt.ATTRIBUTE)e||(l?r.removeAttribute(o):r.setAttribute(o,a));else{let c=r.style;if(s===wt.TRANSFORM){let p=r[Zo];l?delete p[o]:p[o]=a,i._renderTransforms&&(Object.keys(p).length?c.transform=Fu(p):c.removeProperty(`transform`))}else l?c.removeProperty(t0(o)):c[o]=a}r[eo]&&t._tail===i&&t.targets.forEach(c=>{c.getAttribute&&c.getAttribute(`style`)===Si&&c.removeAttribute(`style`)})})}return n};var BC=n=>da(n,!0);var ua=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=Ei/Pl,this._fps=Pl,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=+e,i=t<Fe?Fe:t,o=Ei/i;i>aa.frameRate&&(aa.frameRate=i),this._fps=i,this._frameDuration=o}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<Fe?Fe:t}requestTick(e){let t=this._frameDuration,i=e-this._lastTickTime,o=t*.25;return i+(o<4?o:4)<t?hn.NONE:(this._lastTickTime=i>=t?e-i%t:e,hn.AUTO)}computeDeltaTime(e){let t=e-this._lastTime;return this.deltaTime=t,this._lastTime=e,t}};var So={animation:null,update:dn};var $C=n=>{let e=So.animation;return e||(e={duration:Fe,computeDeltaTime:dn,_offset:0,_delay:0,_head:null,_tail:null},So.animation=e,So.update=()=>{n.forEach(t=>{for(let i in t){let o=t[i],r=o._head;if(r){let s=r._valueType,a=s===Le.COMPLEX||s===Le.COLOR?un(r._fromNumbers):null,l=r._fromNumber,c=o._tail;for(;c&&c!==r;){if(a)for(let p=0,m=c._numbers.length;p<m;p++)a[p]+=c._numbers[p];else l+=c._number;c=c._prevAdd}r._toNumber=l,r._toNumbers=a}}}),Vl(e,1,1,0,hn.FORCE)}),e};var HC=wi?requestAnimationFrame:setImmediate;var jO=wi?cancelAnimationFrame:clearImmediate;var l0=class extends ua{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=aa,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=Co();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,i=this._fps,o=this._head;for(;o;){let r=o._next;o.paused?(ai(this,o),this._hasChildren=!!this._tail,o._running=!1,o.completed&&!o._cancelled&&o.cancel()):oo(o,(e-o._startTime)*o._speed*t,0,0,o._fps<i?o.requestTick(e):hn.AUTO),o=r}So.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(Co()),this.reqId=HC(zC)),this}pause(){if(this.reqId)return this.paused=!0,BO()}resume(){if(this.paused)return this.paused=!1,pt(this,e=>e.resetTime()),this.wake()}get speed(){return this._speed*(Ae.timeScale===1?1:Ei)}set speed(e){let t=e*Ae.timeScale;this._speed!==t&&(this._speed=t,pt(this,i=>i.speed=i._speed))}get timeUnit(){return Ae.timeScale===1?`ms`:`s`}set timeUnit(e){let i=e===`s`,o=i?.001:1;if(Ae.timeScale!==o){Ae.timeScale=o,Ae.tickThreshold=200*o;let r=i?.001:Ei;this.defaults.duration*=r,this._speed*=r}}get precision(){return Ae.precision}set precision(e){Ae.precision=e}};var _n=(()=>{let n=new l0(Co());return wi&&(Jg.engine=n,Ko.addEventListener(`visibilitychange`,()=>{n.pauseOnDocumentHidden&&(Ko.hidden?n.pause():n.resume())})),n})();var zC=()=>{_n._head?(_n.reqId=HC(zC),_n.update()):_n.reqId=0};var BO=()=>(jO(_n.reqId),_n.reqId=0,_n);var $u={_rep:new WeakMap,_add:new Map};var Bl=(n,e,t=`_rep`)=>{let i=$u[t],o=i.get(n);return o||(o={},i.set(n,o)),o[e]?o[e]:o[e]={_head:null,_tail:null}};var $O=(n,e)=>n._isOverridden||n._absoluteStartTime>e._absoluteStartTime;var jl=n=>{n._isOverlapped=1,n._isOverridden=1,n._changeDuration=Fe,n._currentTime=Fe};var Hu=(n,e)=>{let t=n._composition;if(t===Ht.replace){let i=n._absoluteStartTime;Kn(e,n,$O,`_prevRep`,`_nextRep`);let o=n._prevRep;if(o){let r=o.parent,s=o._absoluteEndTime;if(n.parent.id!==r.id&&r.iterationCount>1&&s+(r.duration-r.iterationDuration)>i){jl(o);let c=o._prevRep;for(;c&&c.parent.id===r.id;)jl(c),c=c._prevRep}let a=n._absoluteUpdateStartTime;if(s>a){let c=o._startTime,m=et(a-(s-(c+o._updateDuration))-c,12);o._changeDuration=m,o._currentTime=m,o._isOverlapped=1,m<Fe&&jl(o)}let l=n.parent.parent;if(!l||l!==r.parent){let c=!0;if(pt(r,p=>{p._isOverlapped||(c=!1)}),c){let p=r.parent;if(p){let m=!0;pt(p,v=>{v!==r&&pt(v,b=>{b._isOverlapped||(m=!1)})}),m&&p.cancel()}else r.cancel()}}}}else if(t===Ht.blend){let i=Bl(n.target,n.property,`_add`),o=$C($u._add),r$1=i._head;r$1||(r$1=r({},n),r$1._composition=Ht.replace,r$1._updateDuration=Fe,r$1._startTime=0,r$1._numbers=un(n._fromNumbers),r$1._number=0,r$1._next=null,r$1._prev=null,Kn(i,r$1),Kn(o,r$1));let s=n._toNumber;if(n._fromNumber=r$1._fromNumber-s,n._toNumber=0,n._numbers=un(n._fromNumbers),n._number=0,r$1._fromNumber=s,n._toNumbers.length){let a=un(n._toNumbers);a.forEach((l,c)=>{n._fromNumbers[c]=r$1._fromNumbers[c]-l,n._toNumbers[c]=0}),r$1._fromNumbers=a}Kn(i,n,null,`_prevAdd`,`_nextAdd`)}return n};var c0=n=>{let e=n._composition;if(e!==Ht.none){let t=n.target,i=n.property,s=$u._rep.get(t)[i];if(ai(s,n,`_prevRep`,`_nextRep`),e===Ht.blend){let a=$u._add,l=a.get(t);if(!l)return;let c=l[i],p=So.animation;ai(c,n,`_prevAdd`,`_nextAdd`);let m=c._head;if(m&&m===c._tail){ai(c,m,`_prevAdd`,`_nextAdd`),ai(p,m);let v=!0;for(let b in l)if(l[b]._head){v=!1;break}v&&a.delete(t)}}}return n};var UC=(n,e,t)=>{let i=!1;return pt(e,o=>{let r=o.target;if(n.includes(r)){let s=o.property,a=o._tweenType,l=ca(t,r,a);(!l||l&&l===s)&&(o.parent._tail===o&&o._tweenType===wt.TRANSFORM&&o._prev&&o._prev._tweenType===wt.TRANSFORM&&(o._prev._renderTransforms=1),ai(e,o),c0(o),i=!0)}},!0),i};var $l=(n,e,t)=>{let i=e||_n,o;if(i._hasChildren){let r=0;pt(i,s=>{if(!s._hasChildren)if(o=UC(n,s,t),o&&!s._head)s.cancel(),ai(i,s);else{let l=s._offset+s._delay+s.duration;l>r&&(r=l)}s._head?$l(n,s,t):s._hasChildren=!1},!0),he(i.iterationDuration)||(i.iterationDuration=r)}else o=UC(n,i,t);o&&!i._head&&(i._hasChildren=!1,i.cancel&&i.cancel())};var GC=n=>(n.paused=!0,n.began=!1,n.completed=!1,n);var d0=n=>(n._cancelled&&(n._hasChildren?pt(n,d0):pt(n,e=>{e._composition!==Ht.none&&Hu(e,Bl(e.target,e.property))}),n._cancelled=0),n);var qC=0;var HO=(n,e)=>n._priority>e._priority;var Do=class extends ua{constructor(e={},t=null,i=0){super(0),++qC;let{id:o,delay:r,duration:s,reversed:a,alternate:l,loop:c,loopDelay:p,autoplay:m,frameRate:v,playbackRate:b,priority:k,onComplete:O,onLoop:M,onPause:V,onBegin:W,onBeforeUpdate:pe,onUpdate:me}=e;Al.current&&Al.current.register(this);let we=t?0:_n._lastTickTime,ve=t?t.defaults:Ae.defaults,st=gn(r)||he(r)?ve.delay:+r,qe=gn(s)||he(s)?1/0:+s,Ke=zt(c,ve.loop),vt=zt(p,ve.loopDelay),Pt=Ke===!0||Ke===1/0||Ke<0?1/0:Ke+1,qt=0;t?qt=i:(_n.reqId||_n.requestTick(Co()),qt=(_n._lastTickTime-_n._startTime)*Ae.timeScale),this.id=he(o)?qC:o,this.parent=t,this.duration=as((qe+vt)*Pt-vt)||Fe,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=W||ve.onBegin,this.onBeforeUpdate=pe||ve.onBeforeUpdate,this.onUpdate=me||ve.onUpdate,this.onLoop=M||ve.onLoop,this.onPause=V||ve.onPause,this.onComplete=O||ve.onComplete,this.iterationDuration=qe,this.iterationCount=Pt,this._autoplay=t?!1:zt(m,ve.autoplay),this._offset=qt,this._delay=st,this._loopDelay=vt,this._iterationTime=0,this._currentIteration=0,this._resolve=dn,this._running=!1,this._reversed=+zt(a,ve.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=zt(l,ve.alternate),this._prev=null,this._next=null,this._lastTickTime=we,this._startTime=we,this._lastTime=we,this._fps=zt(v,ve.frameRate),this._speed=zt(b,ve.playbackRate),this._priority=+zt(k,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return Rn(et(this._currentTime,Ae.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return Rn(et(this._iterationTime,Ae.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return Rn(et(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return Rn(et(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*Rn(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return d0(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,oo(this,0,1,~~e,hn.FORCE),GC(this),this._hasChildren&&pt(this,GC),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&oo(this,this.duration,1,~~e,hn.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!he(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*_n._speed);return this._startTime=Co()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=Fe&&!this._hasChildren?oo(this,Fe,0,0,hn.FORCE):(this._running||(Kn(_n,this,HO),_n._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,_n.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,i=0){d0(this),this.completed=!1;let o=this.paused;return this.paused=!0,oo(this,e+this._delay,~~t,~~i,hn.AUTO),o?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,i=this.iterationDuration,o=t===1/0?ss(Nl/i):t;return this._reversed=+(this._alternate&&!(o%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(i*o-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?pt(this,e=>e.cancel(),!0):pt(this,c0),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,i=Eo(e);if(t===i)return this;let o=e/t,r=e<=Fe;return this.duration=r?Fe:i,this.iterationDuration=r?Fe:Eo(this.iterationDuration*o),this._offset*=o,this._delay*=o,this._loopDelay*=o,this}revert(){oo(this,0,1,0,hn.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(e=0){return this.seek(this.duration,e).cancel()}then(e=dn){let t=this.then,i=()=>{this.then=null,e(this),this.then=t,this._resolve=dn};return new Promise(o=>(this._resolve=()=>o(i()),this.completed&&this._resolve(),this))}};function WC(n){let e=Yn(n)?Al.root.querySelectorAll(n):n;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function Xo(n){if(to(n))return[];if(!wi)return si(n)&&n.flat(1/0)||[n];if(si(n)){let t=n.flat(1/0),i=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];if(!to(s)){let a=WC(s);if(a)for(let l=0,c=a.length;l<c;l++){let p=a[l];if(!to(p)){let m=!1;for(let v=0,b=i.length;v<b;v++)if(i[v]===p){m=!0;break}m||i.push(p)}}else{let l=!1;for(let c=0,p=i.length;c<p;c++)if(i[c]===s){l=!0;break}l||i.push(s)}}}return i}let e=WC(n);return e?Array.from(e):[n]}function Jo(n){let e=Xo(n),t=e.length;for(let i=0;i<t;i++){let o=e[i];if(!o[Qg]){o[Qg]=!0;let r=Au(o);(o.nodeType||r)&&(o[eo]=!0,o[Iu]=r,o[Zo]={})}}return e}var u0={deg:1,rad:180/Ll,turn:360};var YC={};var Hl=(n,e,t,i=!1)=>{let o=e.u,r=e.n;if(e.t===Le.UNIT&&o===t)return e;let s=r+o+t,a=YC[s];if(!he(a)&&!i)e.n=a;else{let l;if(o in u0)l=r*u0[o]/u0[t];else{let p=n.cloneNode(),m=n.parentNode,v=m&&m!==Ko?m:Ko.body;v.appendChild(p);let b=p.style;b.width=100+o;let k=p.offsetWidth||100;b.width=100+t;let M=k/(p.offsetWidth||100);v.removeChild(p),l=M*r}e.n=l,YC[s]=l}return e.t,Le.UNIT,e.u=t,e};var To=n=>n;var zl=(n=1.68)=>e=>rs(e,+n);var f0={in:n=>e=>n(e),out:n=>e=>1-n(1-e),inOut:n=>e=>e<.5?n(e*2)/2:1-n(e*-2+2)/2,outIn:n=>e=>e<.5?(1-n(1-e*2))/2:(n(e*2-1)+1)/2};var zO=Ll/2;var KC=Ll*2;var ZC={[Si]:zl,Quad:zl(2),Cubic:zl(3),Quart:zl(4),Quint:zl(5),Sine:n=>1-PC(n*zO),Circ:n=>1-Qo(1-n*n),Expo:n=>n?rs(2,10*n-10):0,Bounce:n=>{let e,t=4;for(;n<((e=rs(2,--t))-1)/11;);return 1/rs(4,3-t)-7.5625*rs((e*3-2)/22-n,2)},Back:(n=1.7)=>e=>(+n+1)*e*e*e-+n*e*e,Elastic:(n=1,e=.3)=>{let t=Rn(+n,1,10),i=Rn(+e,Fe,2),o=i/KC*OC(1/t),r=KC/i;return s=>s===0||s===1?s:-t*rs(2,-10*(1-s))*NC((1-s-o)*r)}};var p0=(()=>{let n={linear:To,none:To};for(let e in f0)for(let t in ZC){let i=ZC[t],o=f0[e];n[e+t]=t===Si||t===`Back`||t===`Elastic`?(r,s)=>o(i(r,s)):o(i)}return n})();var zu={linear:To,none:To};var UO=n=>{if(zu[n])return zu[n];if(n.indexOf(`(`)<=-1){let t=f0[n]||n.includes(`Back`)||n.includes(`Elastic`)?p0[n]():p0[n];return t?zu[n]=t:To}else{let e=n.slice(0,-1).split(`(`),t=p0[e[0]];return t?zu[n]=t(...e[1].split(`,`)):To}};var QC=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`];var ls=n=>{if(Yn(n)){for(let t=0,i=QC.length;t<i;t++)if(ri(n,QC[t]))return console.warn(`String syntax for \`ease: "${n}"\` has been removed from the core and replaced by importing and passing the easing function directly: \`ease: ${n}\``),To}return gn(n)?n:Yn(n)?UO(n):To};var Ne=ju();var Ye=ju();var pa={};var Uu={func:null};var Gu={func:null};var qu=[null];var fa=[null,null];var Wu={to:null};var GO=0;var XC=0;var er;var ro;var qO=(n,e)=>{let t={};if(si(n)){let i=[].concat(...n.map(o=>Object.keys(o))).filter(Rl);for(let o=0,r=i.length;o<r;o++){let s=i[o];t[s]=n.map(l=>{let c={};for(let p in l){let m=l[p];Rl(p)?p===s&&(c.to=m):c[p]=m}return c})}}else{let i=zt(e.duration,Ae.defaults.duration);Object.keys(n).map(r=>({o:parseFloat(r)/100,p:n[r]})).sort((r,s)=>r.o-s.o).forEach(r=>{let s=r.o,a=r.p;for(let l in a)if(Rl(l)){let c=t[l];c||(c=t[l]=[]);let p=s*i,m=c.length,v=c[m-1],b={to:a[l]},k=0;for(let O=0;O<m;O++)k+=c[O].duration;m===1&&(b.from=v.to),a.ease&&(b.ease=a.ease),b.duration=p-(m?k:0),c.push(b)}return r});for(let r in t){let s=t[r],a;for(let l=0,c=s.length;l<c;l++){let p=s[l],m=p.ease;p.ease=a||void 0,a=m}s[0].duration||s.shift()}}return t};var tr=class extends Do{constructor(e,t,i,o,r=!1,s=0,a){super(t,i,o),this._head,this._tail,++XC;let l=Jo(e),c=l.length,p=t.keyframes,m=p?Lu(qO(p,t),t):t,{id:v,delay:b,duration:k,ease:O,playbackEase:M,modifier:V,composition:W,onRender:pe}=m,me=i?i.defaults:Ae.defaults,we=zt(O,me.ease),ve=zt(M,me.playbackEase),st=ve?ls(ve):null,qe=!he(we.ease),Ke=qe?we.ease:zt(O,st?`linear`:me.ease),vt=qe?we.settlingDuration:zt(k,me.duration),Pt=zt(b,me.delay),qt=V||me.modifier,$t=he(W)&&c>=Ei?Ht.none:he(W)?me.composition:W,at=this._offset+(i?i._offset:0);qe&&(we.parent=this);let Te=NaN,B=NaN,ae=0,Q=0;for(let H=0;H<c;H++){let de=l[H],Be=s||H,lt=a||l,en=NaN,Ee=NaN;for(let Mt in m)if(Rl(Mt)){let Ze=Fl(de,Mt),xn=Vu(de,Mt),tn=ca(Mt,de,Ze),tt=m[Mt],an=si(tt);if(r&&!an&&(fa[0]=tt,fa[1]=tt,tt=fa),an){let ye=tt.length,_t=!os(tt[0]);ye===2&&_t?(Wu.to=tt,qu[0]=Wu,er=qu):ye>2&&_t?(er=[],tt.forEach((oe,Et)=>{Et?Et===1?(fa[1]=oe,er.push(fa)):er.push(oe):fa[0]=oe})):er=tt}else qu[0]=tt,er=qu;let Wt=null,Ve=null,Xe=NaN,Pe=0,ft=0;for(let ye=er.length;ft<ye;ft++){let _t=er[ft];os(_t)?ro=_t:(Wu.to=_t,ro=Wu),Uu.func=null,Gu.func=null;let oe=no(zt(ro.composition,$t),de,Be,lt,null,null),Et=Wn(oe)?oe:Ht[oe];!Wt&&Et!==Ht.none&&(Wt=Bl(de,tn));let it=Wt?Wt._tail:null,ge=i&&it&&it.parent.parent===i?it:Ve,It=no(ro.to,de,Be,lt,Uu,ge),Se;os(It)&&!he(It.to)?(ro=It,Se=It.to):Se=It;let gt=no(ro.from,de,Be,lt,Gu,ge),Qe=ro.ease||Ke,z=no(Qe,de,Be,lt,null,ge),G=gn(z)||Yn(z)?z:Qe,ce=!he(G)&&!he(G.ease),_e=ce?G.ease:G,bt=ce?G.settlingDuration:no(zt(ro.duration,ye>1?no(vt,de,Be,lt,null,ge)/ye:vt),de,Be,lt,null,ge),Ot=no(zt(ro.delay,ft?0:Pt),de,Be,lt,null,ge),ui=ro.modifier||qt,Nn=!he(gt),zi=!he(Se),Ui=si(Se),cc=Ui||Nn&&zi,dc=Ve?Pe:0,vs=Ve?Pe+Ot:Ot,ur=et(at+vs,12),Aa=et(at+dc,12);!Q&&(Nn||Ui)&&(Q=1);let fn=Ve;if(Et!==Ht.none){let Re=Wt._head;for(;Re&&Re._absoluteStartTime<=ur;)if(Re._isOverridden||(fn=Re),Re=Re._nextRep,Re&&Re._absoluteStartTime>=ur)for(;Re;)jl(Re),Re=Re._nextRep}if(cc){Ln(Ui?no(Se[0],de,Be,lt,Gu,ge):gt,Ne),Ln(Ui?no(Se[1],de,Be,lt,Uu,ge):Se,Ye);let Re=io(de,tn,Ze,pa);Ne.t===Le.NUMBER&&(fn?fn._valueType===Le.UNIT&&(Ne.t=Le.UNIT,Ne.u=fn._unit):(Ln(Re,yn),yn.t===Le.UNIT&&(Ne.t=Le.UNIT,Ne.u=yn.u)))}else zi?Ln(Se,Ye):Ve?a0(Ve,Ye):Ln(i&&fn&&fn.parent.parent===i?fn._value:io(de,tn,Ze,pa),Ye),Nn?Ln(gt,Ne):Ve?a0(Ve,Ne):Ln(i&&fn&&fn.parent.parent===i?fn._value:io(de,tn,Ze,pa),Ne);if(Ne.o&&(Ne.n=la(fn?fn._toNumber:Ln(io(de,tn,Ze,pa),yn).n,Ne.n,Ne.o)),Ye.o&&(Ye.n=la(Ne.n,Ye.n,Ye.o)),Ne.t!==Ye.t){if(Ne.t===Le.COMPLEX||Ye.t===Le.COMPLEX){let Re=Ne.t===Le.COMPLEX?Ne:Ye,Yt=Ne.t===Le.COMPLEX?Ye:Ne;Yt.t=Le.COMPLEX,Yt.s=un(Re.s),Yt.d=Re.d.map(()=>Yt.n)}else if(Ne.t===Le.UNIT||Ye.t===Le.UNIT){let Re=Ne.t===Le.UNIT?Ne:Ye,Yt=Ne.t===Le.UNIT?Ye:Ne;Yt.t=Le.UNIT,Yt.u=Re.u}else if(Ne.t===Le.COLOR||Ye.t===Le.COLOR){let Re=Ne.t===Le.COLOR?Ne:Ye,Yt=Ne.t===Le.COLOR?Ye:Ne;Yt.t=Le.COLOR,Yt.d=Re.d.map(()=>0)}}if(Ne.u!==Ye.u){let Re=Ye.u?Ne:Ye;Re=Hl(de,Re,Ye.u?Ye.u:Ne.u,!1)}if(Ye.d&&Ne.d&&Ye.d.length!==Ne.d.length){let Re=Ne.d.length>Ye.d.length?Ne:Ye,Yt=Re===Ne?Ye:Ne;Yt.d=Re.d.map((pc,bs)=>he(Yt.d[bs])?0:Yt.d[bs]),Yt.s=un(Re.s)}let Gi=et(+bt||Fe,12),Ra=pa[tn];to(Ra)||(pa[tn]=null);let uc=xn?xn.set:null;Pe=et(vs+Gi,12);let pr=Ne.d,La=Ye.d,Fa=Ye.s,Cn={parent:this,id:GO++,property:tn,target:de,_value:null,_toFunc:Uu.func,_fromFunc:Gu.func,_ease:ls(_e),_fromNumbers:pr?un(pr):Ol,_toNumbers:La?un(La):Ol,_strings:Fa?un(Fa):Ol,_fromNumber:Ne.n,_toNumber:Ye.n,_numbers:pr?un(pr):Ol,_number:Ne.n,_unit:Ye.u,_modifier:ui,_currentTime:0,_startTime:vs,_delay:+Ot,_updateDuration:Gi,_changeDuration:Gi,_absoluteStartTime:ur,_absoluteUpdateStartTime:Aa,_absoluteEndTime:et(at+Pe,12),_hasFromValue:Nn||Ui?1:0,_tweenType:Ze,_setter:uc,_valueType:Ye.t,_composition:Et,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:Ra,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};Et!==Ht.none&&Hu(Cn,Wt);let Io=Cn._valueType;if(Io===Le.COMPLEX)Cn._value=Bu(Cn,1,-1);else if(Io===Le.UNIT)Cn._value=`${ui(Cn._toNumber)}${Cn._unit}`;else if(Io===Le.COLOR){let Re=Ye.d;Cn._value=`rgba(${et(Re[0],0)},${et(Re[1],0)},${et(Re[2],0)},${Re[3]})`}else Cn._value=ui(Cn._toNumber);isNaN(Xe)&&(Xe=Cn._startTime),Ve=Cn,ae++,Kn(this,Cn)}(isNaN(B)||Xe<B)&&(B=Xe),(isNaN(Te)||Pe>Te)&&(Te=Pe),Ze===wt.TRANSFORM&&(en=ae-ft,Ee=ae)}if(!isNaN(en)){let Mt=0;pt(this,Ze=>{Mt>=en&&Mt<Ee&&(Ze._renderTransforms=1,Ze._composition===Ht.blend&&pt(So.animation,xn=>{xn.id===Ze.id&&(xn._renderTransforms=1)})),Mt++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),B?(pt(this,H=>{H._startTime-H._delay||(H._delay-=B),H._startTime-=B}),Te-=B):B=0,Te||(Te=Fe,this.iterationCount=0),this.targets=l,this.id=he(v)?XC:v,this.duration=Te===Fe?Fe:as((Te+this._loopDelay)*this.iterationCount-this._loopDelay)||Fe,this.onRender=pe||me.onRender,this._ease=st,this._delay=B,this.iterationDuration=Te,!this._autoplay&&Q&&this.onRender(this)}stretch(e){let t=this.duration;if(t===Eo(e))return this;let i=e/t;return pt(this,o=>{o._updateDuration=Eo(o._updateDuration*i),o._changeDuration=Eo(o._changeDuration*i),o._currentTime*=i,o._delay*=i,o._startTime*=i,o._absoluteStartTime*=i,o._absoluteUpdateStartTime*=i,o._absoluteEndTime*=i}),super.stretch(e)}refresh(){return pt(this,e=>{let t=e._toFunc,i=e._fromFunc;(t||i)&&(i?(Ln(i(),Ne),Ne.u!==e._unit&&e.target[eo]&&Hl(e.target,Ne,e._unit,!0),e._fromNumbers=un(Ne.d),e._fromNumber=Ne.n):t&&(Ln(io(e.target,e.property,e._tweenType),yn),e._fromNumbers=un(yn.d),e._fromNumber=yn.n),t&&(Ln(t(),Ye),e._toNumbers=un(Ye.d),e._strings=un(Ye.s),e._toNumber=Ye.o?la(e._fromNumber,Ye.n,Ye.o):Ye.n))}),this.duration===Fe&&this.restart(),this}revert(){return super.revert(),da(this)}then(e){return super.then(e)}};var vn=(n,e)=>Ae.editor?Ae.editor.addAnimation(n,e):new tr(n,e,null,0,!1).init();var WO=(n,e)=>{if(ri(e,`<`)){let t=e[1]===`<`,i=n._tail,o=i?i._offset+i._delay:0;return t?o:o+i.duration}};var cs=(n,e)=>{let t=n.iterationDuration;if(t===Fe&&(t=0),he(e))return t;if(Wn(+e))return+e;let i=e,o=n?n.labels:null,r=!to(o),s=WO(n,i),a=!he(s),l=TC.exec(i);if(l){let c=l[0],p=i.split(c),m=r&&p[0]?o[p[0]]:t;return la(a?s:r?m:t,+p[1],c[0])}else return a?s:r?he(o[i])?t:o[i]:t};function YO(n){return as((n.iterationDuration+n._loopDelay)*n.iterationCount-n._loopDelay)||Fe}function m0(n,e,t,i,o,r){let a=Wn(n.duration)&&n.duration<=Fe?t-Fe:t;e.composition&&oo(e,a,1,1,hn.AUTO);let l=i?new tr(i,n,e,a,!1,o,r):new Do(n,e,a);return e.composition&&l.init(!0),Kn(e,l),pt(e,c=>{let m=c._offset+c._delay+c.duration;m>e.iterationDuration&&(e.iterationDuration=m)}),e.duration=YO(e),e}var JC=0;var Yu=class extends Do{constructor(e={}){super(e,null,0),++JC,this.id=he(e.id)?JC:e.id,this.duration=0,this.labels={};let t=e.defaults,i=Ae.defaults;this.defaults=t?Lu(t,i):i,this.composition=zt(e.composition,!0),this.onRender=e.onRender||i.onRender;let o=zt(e.playbackEase,i.playbackEase);this._ease=o?ls(o):null,this.iterationDuration=0}add(e,t,i){let o=os(t),r$2=os(e);if(o||r$2){if(this._hasChildren=!0,o){let s=t,a=Ae.editor&&Ae.editor.addTimelineChild,l=i&&i.type===`Stagger`&&Ae.editor,c=gn(i)?i:null;if(c||l){let p=Xo(e),m=this.duration,v=this.iterationDuration,b=s.id,k=0,O=p.length,M=a?a(e,s,this.id,i,O):null,V=c||Ae.editor.resolveStagger(i.defaultValue);p.forEach(W=>{let pe=r({},M||s);this.duration=m,this.iterationDuration=v,he(b)||(pe.id=b+`-`+k);let me=cs(this,V(W,k,p,null,this));m0(pe,this,me,W,k,p),k++})}else{let p=a?a(e,s,this.id,i):s,m=i&&i.type?i.defaultValue:i;m0(p,this,cs(this,m),e)}}else m0(e,this,cs(this,t));return this.composition&&this.init(!0),this}}sync(e,t){if(he(e)||e&&he(e.pause))return this;e.pause();let i=+(e.effect?e.effect.getTiming().duration:e.duration);!he(e)&&!he(e.persist)&&(e.persist=!0);let o=Ae.editor,r=o&&o.addTimelineChild;o&&o.addTimelineSync&&(t=o.addTimelineSync(e,t,this.id),o.addTimelineChild=null);let s=this.add(e,{currentTime:[0,i],duration:i,delay:0,ease:`linear`,playbackEase:`linear`},t);return o&&(o.addTimelineChild=r),s}set(e,t,i){return he(t)?this:(t.duration=Fe,t.composition=Ht.replace,this.add(e,t,i))}call(e,t){return he(e)||e&&!gn(e)?this:(Ae.editor&&Ae.editor.addTimelineCall&&(t=Ae.editor.addTimelineCall(e,t,this.id)),this.add({duration:0,delay:0,onComplete:()=>e(this)},t))}label(e,t){return he(e)||e&&!Yn(e)?this:(Ae.editor&&Ae.editor.addTimelineLabel&&(t=Ae.editor.addTimelineLabel(e,t,this.id)),this.labels[e]=cs(this,t),this)}remove(e,t){return $l(Xo(e),this,t),this}stretch(e){let t=this.duration;if(t===Eo(e))return this;let i=e/t,o=this.labels;pt(this,r=>r.stretch(r.duration*i));for(let r in o)o[r]*=i;return super.stretch(e)}refresh(){return pt(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),pt(this,e=>e.revert,!0),da(this)}then(e){return super.then(e)}};var Ku=n=>Ae.editor?Ae.editor.addTimeline(n):new Yu(n).init();var h0={};u$1(h0,{clamp:()=>Rn,damp:()=>nA,degToRad:()=>eA,lerp:()=>wo,mapRange:()=>JO,padEnd:()=>QO,padStart:()=>ZO,radToDeg:()=>tA,round:()=>et,roundPad:()=>KO,snap:()=>AC,wrap:()=>XO});var KO=(n,e)=>(+n).toFixed(e);var ZO=(n,e,t)=>`${n}`.padStart(e,t);var QO=(n,e,t)=>`${n}`.padEnd(e,t);var XO=(n,e,t)=>((n-e)%(t-e)+(t-e))%(t-e)+e;var JO=(n,e,t,i,o)=>i+(n-e)/(t-e)*(o-i);var eA=n=>n*Math.PI/180;var tA=n=>n*180/Math.PI;var nA=(n,e,t,i)=>i?i===1?e:wo(n,e,1-Math.exp(-i*t*.1)):n;var e1={_head:null,_tail:null};var t1=(n,e,t)=>{let i=e1._head,o;for(;i;){let r=i._next,s=i.$el===n,a=!e||i.property===e,l=!t||i.parent===t;if(s&&a&&l){o=i.animation;try{o.commitStyles()}catch{}o.cancel(),ai(e1,i);let c=i.parent;c&&(c._completed++,c.animations.length===c._completed&&(c.completed=!0,c.paused=!0,c.muteCallbacks||(c.onComplete(c),c._resolve(c))))}i=r}return o};function n1(n,e,t){let i=Jo(n);if(!i.length)return;let[o]=i,a=io(o,ca(e,o,Fl(o,e)));if(he(t))return a;if(Ln(a,yn),yn.t===Le.NUMBER||yn.t===Le.UNIT){if(t===!1)return yn.n;{let l=Hl(o,yn,t,!1);return`${et(l.n,Ae.precision)}${l.u}`}}}var i1=(n,e)=>{if(!he(e))return Ae.editor&&Ae.editor.addSet?Ae.editor.addSet(n,e):(e.duration=Fe,e.composition=zt(e.composition,Ht.none),new tr(n,e,null,0,!0).resume())};var o1=(n,e,t)=>{let i=Xo(n);for(let o=0,r=i.length;o<r;o++)t1(i[o],t,e&&e.controlAnimation&&e);return $l(i,e,t),i};var r1=(n=dn)=>new Do({duration:1*Ae.timeScale,onComplete:n},null,0).resume();var s1=n=>{let e;return((...t)=>{let i,o,r,s,a;e&&(i=e.currentIteration,o=e.iterationProgress,r=e.reversed,s=e._alternate,a=e._startTime,e.revert());let l=n(...t);return l&&!gn(l)&&l.revert&&(e=l),he(o)||(e.currentIteration=i,e.iterationProgress=(s&&i%2?!r:r)?1-o:o,e._startTime=a),l||dn})};var Lt={};u$1(Lt,{$:()=>Jo,addChild:()=>Kn,clamp:()=>g1,cleanInlineStyles:()=>BC,createSeededRandom:()=>Qu,damp:()=>v1,degToRad:()=>f1,forEachChildren:()=>pt,get:()=>n1,keepTime:()=>s1,lerp:()=>_1,mapRange:()=>p1,padEnd:()=>d1,padStart:()=>c1,radToDeg:()=>m1,random:()=>ma,randomPick:()=>b1,remove:()=>o1,removeChild:()=>ai,round:()=>y1,roundPad:()=>l1,set:()=>i1,shuffle:()=>Xu,snap:()=>h1,stagger:()=>so,sync:()=>r1,wrap:()=>u1});var Di=h0;var Zu={};var iA=(n,e=0)=>(...t)=>e?i=>n(...t,i):i=>n(i,...t);var a1=n=>(...e)=>{let t=n(...e);return new Proxy(dn,{apply:(i,o,[r])=>t(r),get:(i,o)=>{if(Zu[o])return a1((...r)=>{let s=Zu[o](...r);return a=>s(t(a))})}})};var Ti=(n,e,t=0)=>{let i=(...o)=>(o.length<e.length?a1(iA(e,t)):e)(...o);return Zu[n]||(Zu[n]=i),i};var l1=Ti(`roundPad`,Di.roundPad);var c1=Ti(`padStart`,Di.padStart);var d1=Ti(`padEnd`,Di.padEnd);var u1=Ti(`wrap`,Di.wrap);var p1=Ti(`mapRange`,Di.mapRange);var f1=Ti(`degToRad`,Di.degToRad);var m1=Ti(`radToDeg`,Di.radToDeg);var h1=Ti(`snap`,Di.snap);var g1=Ti(`clamp`,Di.clamp);var y1=Ti(`round`,Di.round);var _1=Ti(`lerp`,Di.lerp,1);var v1=Ti(`damp`,Di.damp,1);var ma=(n=0,e=1,t=0)=>{let i=10**t;return Math.floor((Math.random()*(e-n+1/i)+n)*i)/i};var oA=0;var Qu=(n,e=0,t=1,i=0)=>{let o=n===void 0?oA++:n;return(r=e,s=t,a=i)=>{o+=1831565813,o=Math.imul(o^o>>>15,o|1),o^=o+Math.imul(o^o>>>7,o|61);let l=10**a;return Math.floor((((o^o>>>14)>>>0)/4294967296*(s-r+1/l)+r)*l)/l}};var b1=n=>n[ma(0,n.length-1)];var Xu=(n,e=ma)=>{let t=n.length,i,o;for(;t;)o=e(0,--t),i=n[t],n[t]=n[o],n[o]=i;return n};var so=(n,e={})=>{let t=[],i=0,o,r=null,s=e.from,a=e.reversed,l=e.ease,c=!he(l),m=c&&!he(l.ease)?l.ease:c?ls(l):null,v=e.grid,b=v===!0,k=e.axis,O=e.total,M=he(s)||s===0||s===`first`,V=s===`center`,W=s===`last`,pe=s===`random`,me=si(s),we=si(n),ve=e.use,st=we?Ru(n[0]):Ru(n),qe=we?Ru(n[1]):0,Ke=Ou.exec((we?n[1]:n)+Si),vt=e.start||0+(we?st:0),Pt=e.seed,$t=!he(Pt)&&Pt!==!1?Qu(Pt===!0?0:Pt):ma,at=e.jitter,Te=!he(at),B=si(at),ae=B?at[0]:at||0,Q=B?at[1]:at||0,H=M?0:Wn(s)?s:0;return(de,Be,lt,en,Ee)=>{let[Mt]=Jo(de),Ze=he(O)?lt.length:O,xn=he(ve)?!1:gn(ve)?ve(Mt,Be,Ze):io(Mt,ve),tn=Wn(xn)||Yn(xn)&&Wn(+xn)?+xn:Be,tt=tn>=0&&tn<Ze?tn:Be;if(V&&(H=(Ze-1)/2),W&&(H=Ze-1),!t.length){if(b){let Ve=!0,Xe=!1,Pe=1/0,ft=1/0,ye=1/0,_t=-1/0,oe=-1/0,Et=-1/0,it=[],ge=[],It=[];for(let Se=0;Se<Ze;Se++){let gt=lt[Se],Qe=0,z=0,G=0,ce=!1;if(gt&&gn(gt.getBoundingClientRect)){let _e=gt.getBoundingClientRect();Qe=_e.left+_e.width/2,z=_e.top+_e.height/2,ce=!0}else{let _e=gt;_e&&Wn(_e.x)&&Wn(_e.y)&&(Qe=_e.x,z=_e.y,Wn(_e.z)&&(G=_e.z,Xe=!0),ce=!0)}if(!ce){Ve=!1;break}it.push(Qe),ge.push(z),It.push(G),Qe<Pe&&(Pe=Qe),z<ft&&(ft=z),G<ye&&(ye=G),Qe>_t&&(_t=Qe),z>oe&&(oe=z),G>Et&&(Et=G)}if(Ve){let Se=it[0],gt=ge[0],Qe=It[0];me?(Se=Pe+s[0]*(_t-Pe),gt=ft+s[1]*(oe-ft),Qe=Xe?ye+(s.length>=3?s[2]:.5)*(Et-ye):0):V?(Se=(Pe+_t)/2,gt=(ft+oe)/2,Qe=(ye+Et)/2):W?(Se=it[Ze-1],gt=ge[Ze-1],Qe=It[Ze-1]):Wn(s)&&(Se=it[s],gt=ge[s],Qe=It[s]);for(let G=0;G<Ze;G++){let ce=Se-it[G],_e=gt-ge[G],bt=Qe-It[G],Ot=Qo(ce*ce+_e*_e+(Xe?bt*bt:0));k===`x`&&(Ot=-ce),k===`y`&&(Ot=-_e),k===`z`&&(Ot=-bt),t.push(Ot)}let z=1/0;for(let G=0;G<Ze;G++){let ce=is(t[G]);ce>0&&ce<z&&(z=ce)}if(z>0&&z<1/0)for(let G=0;G<Ze;G++)t[G]=t[G]/z}else for(let Se=0;Se<Ze;Se++)t.push(is(H-Se))}else for(let Ve=0;Ve<Ze;Ve++)if(!v)t.push(is(H-Ve));else{let Xe=v.length,Pe=v[0]*v[1],ft,ye,_t;me?(ft=s[0]*(v[0]-1),ye=s[1]*(v[1]-1),_t=Xe===3?(s.length>=3?s[2]:.5)*(v[2]-1):0):V?(ft=(v[0]-1)/2,ye=(v[1]-1)/2,_t=Xe===3?(v[2]-1)/2:0):(ft=H%v[0],ye=ss(H/v[0])%v[1],_t=Xe===3?ss(H/Pe):0);let oe=Ve%v[0],Et=ss(Ve/v[0])%v[1],it=Xe===3?ss(Ve/Pe):0,ge=ft-oe,It=ye-Et,Se=_t-it,gt=Qo(ge*ge+It*It+(Xe===3?Se*Se:0));k===`x`&&(gt=-ge),k===`y`&&(gt=-It),k===`z`&&(gt=-Se),t.push(gt)}i=t[0];for(let Ve=1;Ve<Ze;Ve++)t[Ve]>i&&(i=t[Ve]);if(m||a)for(let Ve=0;Ve<Ze;Ve++){let Xe=t[Ve];m&&(Xe=m(Xe/i)*i),a&&(Xe=k?-Xe:is(i-Xe)),t[Ve]=Xe}if(Te){r=new Array(Ze);for(let Ve=0;Ve<Ze;Ve++)r[Ve]=$t(-1,1,4)}pe&&(t=Xu(t,$t))}let an=we?(qe-st)/i:st;he(o)&&(o=Ee?cs(Ee,he(e.start)?Ee.iterationDuration:vt):vt);let Wt=o+(an*et(t[tt],2)||0);if(Te){let Ve=i?t[tt]/i:0,Xe=ae+(Q-ae)*Ve;Wt=Wt+r[tt]*Xe}return e.modifier&&(Wt=e.modifier(Wt)),Ke&&(Wt=`${Wt}${Ke[2]}`),Wt}};var rA=n=>{let e=1;if(n&&n.getCTM){let t=n.getCTM();if(t)e=(Qo(t.a*t.a+t.b*t.b)+Qo(t.c*t.c+t.d*t.d))/2}return e};var sA=(n,e,t)=>{let i=Ei,o=getComputedStyle(n),r=o.strokeLinecap,s=o.vectorEffect===`non-scaling-stroke`?n:null,a=r,l=new Proxy(n,{get(c,p){let m=c[p];return p===Nu?c:p===`setAttribute`?(...v)=>{if(v[0]===`draw`){let k=v[1].split(` `),O=+k[0],M=+k[1],V=rA(s),W=O*-i*V,pe=M*i*V+W,me=i*V+(O===0&&M===1||O===1&&M===0?0:10*V)-pe;if(r!==`butt`){let we=O===M?`butt`:r;a!==we&&(c.style.strokeLinecap=`${we}`,a=we)}c.setAttribute(`stroke-dashoffset`,`${W}`),c.setAttribute(`stroke-dasharray`,`${pe} ${me}`)}return Reflect.apply(m,c,v)}:gn(m)?(...v)=>Reflect.apply(m,c,v):m}});return n.getAttribute(`pathLength`)!==`${i}`&&(n.setAttribute(`pathLength`,`${i}`),l.setAttribute(`draw`,`${e} ${t}`)),l};var g0=(n,e=0,t=0)=>Xo(n).map(o=>sA(o,e,t));var En=class n{enabled=typeof window>`u`||typeof window.matchMedia!=`function`||!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;get isEnabled(){return this.enabled}settle(e,t,i){setTimeout(()=>Lt.set(e,t),i)}enter(e,t={}){if(!e)return;let{y:i=8,scale:o,duration:r$3=260,delay:s$1=0,ease:a=`out(3)`}=t,l={opacity:1,translateY:`0px`,scale:1};if(!this.enabled){Lt.set(e,l);return}this.settle(e,l,s$1+r$3+120),vn(e,s(r({opacity:[0,1],translateY:[`${i}px`,`0px`]},o===void 0?{}:{scale:[o,1]}),{duration:r$3,delay:s$1,ease:a}))}enterList(e,t={}){let i=Array.from(e);if(i.length===0)return;let{y:o=8,duration:r=240,delay:s=0,each:a=30,ease:l=`out(3)`}=t;if(!this.enabled){for(let c of i)Lt.set(c,{opacity:1,translateY:`0px`});return}i.forEach((c,p)=>{this.settle(c,{opacity:1,translateY:`0px`},s+p*a+r+120)}),vn(i,{opacity:[0,1],translateY:[`${o}px`,`0px`],duration:r,delay:so(a,{start:s}),ease:l})}reveal(e,t,i={}){let{animate:o=!0,after:r}=i;if(!e){r?.();return}let s={opacity:0,height:`0px`},a={opacity:1,height:`auto`},l=Math.max(e.scrollHeight,e.getBoundingClientRect().height);if(!this.enabled||!o||l===0){Lt.set(e,t?a:s),r?.();return}this.settle(e,t?a:s,(t?240:180)+160),vn(e,{opacity:t?[0,1]:[1,0],height:t?[`0px`,`${l}px`]:[`${l}px`,`0px`],duration:t?240:180,ease:t?`out(3)`:`in(2)`,onComplete:()=>{Lt.set(e,t?a:s),r?.()}})}pulse(e){!this.enabled||!e||(this.settle(e,{opacity:1,scale:1},520),vn(e,{opacity:[.4,1],scale:[.99,1],duration:320,ease:`out(2)`}))}pop(e,t={}){if(!e)return;let{scale:i=1.18,duration:o=220,ease:r=`out(2)`}=t;this.enabled&&(this.settle(e,{scale:1},o+120),vn(e,{scale:[i,1],duration:o,ease:r}))}static CONFETTI_COLORS=[`#f43f5e`,`#fb923c`,`#facc15`,`#4ade80`,`#38bdf8`,`#a78bfa`,`#f472b6`];confetti(e,t){if(!e||!this.enabled)return;let{x:i,y:o,count:r=30,duration:s=900}=t,a=e.ownerDocument,l=e.getBoundingClientRect(),c=l.left+i,p=l.top+o,m=[],v=[];for(let O=0;O<r;O+=1){let M=Lt.random(-Math.PI*.85,-Math.PI*.15),V=Lt.random(55,140);v.push({dx:Math.cos(M)*V,dy:Math.sin(M)*V,fall:Lt.random(90,180),rotate:Lt.random(-420,420)});let W=a.createElement(`span`);W.setAttribute(`aria-hidden`,`true`);let pe=n.CONFETTI_COLORS[O%n.CONFETTI_COLORS.length];W.style.cssText=`position:fixed;left:${c}px;top:${p}px;width:${Lt.random(5,8)}px;height:${Lt.random(8,13)}px;margin:-5px 0 0 -3px;border-radius:1.5px;background:${pe};pointer-events:none;z-index:60;opacity:0;`,a.body.appendChild(W),m.push(W)}let b=!1;setTimeout(()=>{if(!b){b=!0;for(let O of m)O.remove()}},s+420),m.forEach((O,M)=>{let{dx:V,dy:W,fall:pe,rotate:me}=v[M];vn(O,{translateX:[0,V],translateY:[0,W,W+pe],rotate:[0,me],opacity:[0,1,1,0],duration:s,ease:`out(2)`,onComplete:()=>O.remove()})})}loop(e,t,i={}){if(!e||!this.enabled)return()=>{};let{duration:o=900,delay:r$4=0,ease:s$2=`inOut(2)`,alternate:a=!0}=i,l=vn(e,s(r({},t),{duration:o,delay:r$4,ease:s$2,loop:!0,alternate:a})),c={};for(let[p,m]of Object.entries(t))c[p]=m[0];return()=>{l.pause(),Lt.set(e,c)}}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var ha=class n{target=null;aim(e){this.target=e}read(){return this.target}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function aA(n,e){if(n&1&&(g(0,`span`,22),u(1),_()),n&2){let t=e.$implicit;d(),I(t)}}var x1=1800;var lA=520;var cA=x1;var Ju=class n{status=se(`Connecting to the host…`);ready=se(!1);dismissed=je();letters=[`M`,`o`,`r`,`s`,`e`];leaving=N(!1);host=w(St);animation=w(En);handoff=w(ha);intro;loops=[];introSettle;holdTimer;outroSettle;startedAt=0;left=!1;viewReady=!1;dismissedOnce=!1;constructor(){ne(()=>{this.ready()&&this.leave()})}ngAfterViewInit(){this.viewReady=!0,this.startedAt=Date.now(),this.play(),this.ready()&&this.leave()}ngOnDestroy(){this.clearTimers(),this.stopLoops(),this.intro?.pause()}play(){if(!this.query(`.boot`))return;if(!this.animation.isEnabled){this.dismiss();return}let t=this.query(`.ring-a`),i=this.query(`.ring-b`),o=this.query(`.halo`),r=this.query(`.aura`),s=this.query(`.grid`),a=this.query(`.spark`),l=this.query(`.dot-a`),c=this.query(`.dot-b`),p=this.query(`.dash`),m=this.queryAll(`.letter`),v=this.query(`.tagline`),b=this.query(`.foot`),k=this.query(`.pulse`);try{let O=[t,i].filter(M=>M!==null).map(M=>g0(M)[0]);for(let M of O)M.setAttribute(`draw`,`0 0`);this.intro=Ku(),this.intro.add(this.one(o),{opacity:[0,.72],scale:[.45,1],duration:900,ease:`out(4)`},0).add(this.one(r),{opacity:[0,.85],scale:[.7,1],duration:1100,ease:`out(4)`},0).add(this.one(s),{opacity:[0,.5],duration:900,ease:`out(3)`},90).add(O,{draw:[`0 0`,`0 1`],duration:720,ease:`inOut(3)`,delay:so(110)},120).add(this.one(a),{opacity:[0,1],duration:420,ease:`out(2)`},260).add(this.one(i),{r:[45,8],opacity:[1,.2],duration:460,ease:`in(2)`},720).add(this.one(l),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:`outElastic(1, .55)`},820).add(this.one(c),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:`outElastic(1, .55)`},890).add(this.one(p),{opacity:[0,1],scaleX:[0,1],duration:700,ease:`outElastic(1, .55)`},960).add(this.one(o),{opacity:[.72,1,.6],scale:[1,1.14,1],duration:620,ease:`inOut(2)`},1060).add(m,{opacity:[0,1],translateY:[16,0],scale:[.85,1],duration:500,ease:`out(3)`,delay:so(40)},1100).add(this.one(v),{opacity:[0,1],translateY:[8,0],duration:420,ease:`out(3)`},1480).add(this.one(b),{opacity:[0,1],translateY:[10,0],duration:420,ease:`out(3)`},1580).add(this.one(k),{opacity:[0,1],scale:[.6,1],duration:420,ease:`out(2)`},1580),this.introSettle=setTimeout(()=>this.snap(),x1+300)}catch{this.dismiss();return}this.startAmbient()}snap(){for(let e of this.queryAll(`.ring`))e.setAttribute(`draw`,`0 1`);this.query(`.ring-a`)?.setAttribute(`r`,`58`),this.query(`.ring-b`)?.setAttribute(`r`,`8`),Lt.set(this.queryAll(`.boot`),{opacity:1}),Lt.set(this.queryAll(`.aura`),{opacity:.85}),Lt.set(this.queryAll(`.grid`),{opacity:.5}),Lt.set(this.queryAll(`.halo`),{opacity:.62,scale:1}),Lt.set(this.queryAll(`.spark`),{opacity:1}),Lt.set(this.queryAll(`.dot, .dash`),{opacity:1,scale:1,translateY:`0px`}),Lt.set(this.queryAll(`.letter`),{opacity:1,scale:1,translateY:`0px`}),Lt.set(this.queryAll(`.tagline, .foot`),{opacity:1,translateY:`0px`}),Lt.set(this.queryAll(`.pulse`),{opacity:1,scale:1}),Lt.set(this.queryAll(`.ring-b`),{opacity:.2})}startAmbient(){if(this.animation.isEnabled)try{this.startAmbientLoops()}catch{}}startAmbientLoops(){let e=c=>{this.loops.push(c)},t=[[this.query(`.wave-a`),1050],[this.query(`.wave-b`),1900]];for(let[c,p]of t)c&&e(vn(c,{scale:[.4,2.05],opacity:[0,.7,0],duration:2600,delay:p,loop:!0,ease:`out(3)`}));let i=this.one(this.query(`.spin-a`)),o=this.one(this.query(`.spin-b`)),r=this.one(this.query(`.orbit`)),s=this.one(this.query(`.spark`)),a=this.one(this.query(`.halo`)),l=this.queryAll(`.ellipsis i`);e(vn(i,{rotate:[0,360],duration:16e3,loop:!0,ease:`linear`})),e(vn(o,{rotate:[0,-360],duration:22e3,loop:!0,ease:`linear`})),e(vn(r,{rotate:[0,360],duration:5400,delay:340,loop:!0,ease:`linear`})),e(vn(s,{scale:[1,1.9,1],opacity:[1,.6,1],duration:1100,delay:340,loop:!0,ease:`inOut(2)`})),e(vn(a,{opacity:[.6,.78],scale:[1,1.045],duration:2400,delay:1400,loop:!0,alternate:!0,ease:`inOut(2)`})),l.length>0&&e(vn(l,{opacity:[.15,1],translateY:[0,-2],duration:620,delay:so(150,{start:1600}),loop:!0,alternate:!0,ease:`inOut(2)`}))}leave(){if(this.left||!this.viewReady)return;this.left=!0,this.leaving.set(!0);let e=Math.max(0,cA-(Date.now()-this.startedAt));this.holdTimer=setTimeout(()=>this.beginExit(),e)}beginExit(){this.clearTimers(),this.stopLoops(),this.intro?.pause(),this.snap();let e=this.query(`.veil`),t=this.query(`.aura`),i=this.query(`.grid`),o=this.query(`.mark`),r$5=this.query(`.halo`),s$3=this.queryAll(`.letter`),a=this.query(`.words`),l=this.query(`.foot`),c=this.handoff.read(),p=o?.getBoundingClientRect(),m=c&&p&&p.width>0?{translateX:c.x-(p.left+p.width/2),translateY:c.y-(p.top+p.height/2),scale:c.width/p.width}:null;try{let v=Ku({defaults:{ease:`inOut(2)`},onComplete:()=>this.dismiss()}).add(this.one(r$5),{opacity:0,scale:1.3,duration:320},0).add(this.one(t,i),{opacity:0,duration:320},0).add(this.one(this.query(`.rings`),this.query(`.wave-a`),this.query(`.wave-b`)),{opacity:0,duration:300},0).add(s$3,{translateY:-10,opacity:0,duration:260,delay:so(20)},0).add(this.one(a,l),{opacity:0,duration:220},40);m&&o?v.add(o,s(r({},m),{duration:560,ease:`inOut(3)`}),0).add(o,{opacity:0,duration:160,ease:`out(2)`},500).add(this.one(e),{opacity:0,duration:380},520):v.add(this.one(o),{scale:1.16,opacity:0,duration:360,ease:`in(2)`},0).add(this.one(e),{opacity:0,duration:420},140)}catch{this.dismiss();return}this.outroSettle=setTimeout(()=>this.dismiss(),lA+460)}dismiss(){this.dismissedOnce||(this.dismissedOnce=!0,this.clearTimers(),this.dismissed.emit())}query(e){return this.host.nativeElement.querySelector(e)}queryAll(e){return Array.from(this.host.nativeElement.querySelectorAll(e))}one(...e){return e.filter(t=>t!==null)}stopLoops(){for(let e of this.loops)e.pause();this.loops=[]}clearTimers(){this.introSettle!==void 0&&(clearTimeout(this.introSettle),this.introSettle=void 0),this.holdTimer!==void 0&&(clearTimeout(this.holdTimer),this.holdTimer=void 0),this.outroSettle!==void 0&&(clearTimeout(this.outroSettle),this.outroSettle=void 0)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-boot-splash`]],inputs:{status:[1,`status`],ready:[1,`ready`]},outputs:{dismissed:`dismissed`},decls:34,vars:3,consts:[[1,`boot`],[`aria-hidden`,`true`,1,`veil`],[`aria-hidden`,`true`,1,`aura`],[`aria-hidden`,`true`,1,`grid`],[1,`center`],[1,`stage`],[`aria-hidden`,`true`,1,`halo`],[`aria-hidden`,`true`,1,`wave`,`wave-a`],[`aria-hidden`,`true`,1,`wave`,`wave-b`],[`viewBox`,`0 0 140 140`,`aria-hidden`,`true`,1,`rings`],[1,`spin`,`spin-a`],[`cx`,`70`,`cy`,`70`,`r`,`58`,1,`ring`,`ring-a`],[1,`spin`,`spin-b`],[`cx`,`70`,`cy`,`70`,`r`,`45`,1,`ring`,`ring-b`],[1,`orbit`],[`cx`,`70`,`cy`,`12`,`r`,`3`,1,`spark`],[`aria-hidden`,`true`,1,`mark`],[1,`dot`,`dot-a`],[1,`dot`,`dot-b`],[1,`dash`],[1,`words`],[`aria-label`,`Morse`,1,`wordmark`],[`aria-hidden`,`true`,1,`letter`],[1,`tagline`],[1,`foot`],[`aria-hidden`,`true`,1,`pulse`],[`role`,`status`,`aria-live`,`polite`,1,`status`],[`aria-hidden`,`true`,1,`ellipsis`]],template:function(t,i){t&1&&(g(0,`div`,0),fe(1,`span`,1)(2,`span`,2)(3,`span`,3),g(4,`div`,4)(5,`div`,5),fe(6,`span`,6)(7,`span`,7)(8,`span`,8),De(),g(9,`svg`,9)(10,`g`,10),fe(11,`circle`,11),_(),g(12,`g`,12),fe(13,`circle`,13),_(),g(14,`g`,14),fe(15,`circle`,15),_()(),kt(),g(16,`span`,16),fe(17,`span`,17)(18,`span`,18)(19,`span`,19),_()(),g(20,`div`,20)(21,`div`,21),X(22,aA,2,1,`span`,22,Ci),_(),g(24,`div`,23),u(25,`the pi coding agent`),_()()(),g(26,`div`,24),fe(27,`span`,25),g(28,`span`,26),u(29),_(),g(30,`span`,27),fe(31,`i`)(32,`i`)(33,`i`),_()()()),t&2&&(q(`leaving`,i.leaving()),d(22),J(i.letters),d(7),I(i.status()))},styles:[`[_nghost-%COMP%]{display:contents}.boot[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow:hidden;color:var(--%NS%morse-fg);opacity:1}.boot.leaving[_ngcontent-%COMP%]{pointer-events:none}.veil[_ngcontent-%COMP%]{position:absolute;inset:0;background:var(--%NS%morse-bg)}.aura[_ngcontent-%COMP%]{position:absolute;width:min(560px,90vh);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--%NS%morse-accent) 42%,transparent) 0%,transparent 62%);filter:blur(8px);opacity:0;pointer-events:none}.grid[_ngcontent-%COMP%]{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--%NS%morse-fg) 14%,transparent) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 66%);mask-image:radial-gradient(circle at center,#000 0%,transparent 66%);opacity:0;pointer-events:none}.center[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}.stage[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:140px;height:140px}.rings[_ngcontent-%COMP%]{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ring[_ngcontent-%COMP%]{fill:none;stroke:var(--%NS%morse-fg-muted);stroke-width:1.4;stroke-linecap:round}.ring-b[_ngcontent-%COMP%]{stroke:color-mix(in srgb,var(--%NS%morse-accent) 70%,var(--%NS%morse-fg-muted));stroke-width:1.1}.spin[_ngcontent-%COMP%], .orbit[_ngcontent-%COMP%]{transform-box:fill-box;transform-origin:center;will-change:transform}.spark[_ngcontent-%COMP%]{fill:var(--%NS%morse-fg);opacity:0;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--%NS%morse-accent) 80%,transparent))}.halo[_ngcontent-%COMP%]{position:absolute;width:124px;height:124px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--%NS%morse-fg) 30%,transparent) 0%,transparent 68%);opacity:0;pointer-events:none}.wave[_ngcontent-%COMP%]{position:absolute;width:124px;height:124px;border-radius:50%;border:1px solid color-mix(in srgb,var(--%NS%morse-fg) 65%,transparent);opacity:0;pointer-events:none}.wave-b[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent)}.mark[_ngcontent-%COMP%]{position:relative;display:inline-flex;align-items:center;gap:9px}.dot[_ngcontent-%COMP%]{width:13px;height:13px;border-radius:50%;background:var(--%NS%morse-fg);opacity:0;box-shadow:0 0 14px color-mix(in srgb,var(--%NS%morse-fg) 55%,transparent)}.dash[_ngcontent-%COMP%]{width:38px;height:13px;border-radius:999px;background:var(--%NS%morse-fg);opacity:0;transform-origin:left center;box-shadow:0 0 14px color-mix(in srgb,var(--%NS%morse-fg) 55%,transparent)}.words[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:7px}.wordmark[_ngcontent-%COMP%]{display:flex;font-size:30px;font-weight:650;line-height:1;letter-spacing:.01em}.letter[_ngcontent-%COMP%]{display:inline-block;opacity:0;will-change:transform,opacity}.tagline[_ngcontent-%COMP%]{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--%NS%morse-fg-muted);opacity:0}.foot[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--%NS%morse-fg-muted);opacity:0}.pulse[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:var(--%NS%morse-accent);box-shadow:0 0 8px color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent);opacity:0}.ellipsis[_ngcontent-%COMP%]{display:inline-flex;gap:3px}.ellipsis[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.15}`]})};function dA(n,e){n&1&&(g(0,`p`,19),u(1),_()),n&2&&(d(),I(e))}function uA(n,e){if(n&1){let t=L();g(0,`div`,23)(1,`p`,24),u(2,`Start a Morse host`),_(),g(3,`div`,25)(4,`span`,26),u(5,`installed CLI`),_(),g(6,`code`),u(7,`morse start`),_()(),g(8,`div`,25)(9,`span`,26),u(10,`from the repo`),_(),g(11,`code`),u(12,`npm run dev:server`),_()(),g(13,`p`,27),u(14,` Not installed? `),g(15,`code`),u(16,`npm install -g @supanadit/morse-web`),_(),u(17,`. `),_(),g(18,`p`,27),u(19,` Stopped it with `),g(20,`code`),u(21,`morse stop`),_(),u(22,`? `),g(23,`code`),u(24,`morse start`),_(),u(25,` brings it back — `),g(26,`code`),u(27,`morse logs`),_(),u(28,` says what happened. `),_(),g(29,`p`,27),u(30,`or point this window at a host that is already running`),_(),g(31,`form`,28),F(`submit`,function(o){D(t);return T(f().submit(o))}),g(32,`input`,29),F(`input`,function(o){D(t);return T(f().onInput(o))}),_(),g(33,`button`,30),u(34,`Connect`),_()()()}if(n&2){let t=f();d(32),te(`value`,t.server()),d(),te(`disabled`,t.server().trim().length===0)}}var ep=class n{eyebrow=se(`Offline`);title=se(`Morse is waiting for a host`);body=se(`This window is only the frontend. The pi coding agent runs behind a Morse host — start one and this screen will clear itself.`);detail=se(``);isBrowser=typeof globalThis<`u`&&typeof globalThis.acquireVsCodeApi>`u`;server=N(``);retry=je();explore=je();connect=je();onInput(e){this.server.set(e.target.value)}submit(e){e.preventDefault();let t=this.server().trim();t.length>0&&this.connect.emit(t)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-connection-screen`]],inputs:{eyebrow:[1,`eyebrow`],title:[1,`title`],body:[1,`body`],detail:[1,`detail`]},outputs:{retry:`retry`,explore:`explore`,connect:`connect`},decls:30,vars:5,consts:[[`role`,`alertdialog`,`aria-labelledby`,`morse-conn-title`,1,`screen`],[`aria-hidden`,`true`,1,`veil`],[`aria-hidden`,`true`,1,`aura`],[`aria-hidden`,`true`,1,`grid`],[1,`panel`],[`aria-hidden`,`true`,1,`stage`],[1,`halo`],[1,`wave`,`wave-a`],[1,`wave`,`wave-b`],[`viewBox`,`0 0 140 140`,1,`scanner`],[`cx`,`70`,`cy`,`70`,`r`,`58`,1,`track`],[`cx`,`70`,`cy`,`70`,`r`,`58`,1,`sweep`],[1,`mark`],[1,`glyph`,`dot`],[1,`glyph`,`dash`],[1,`eyebrow`],[`aria-hidden`,`true`,1,`pip`],[`id`,`morse-conn-title`,1,`title`],[1,`body`],[1,`detail`],[1,`actions`],[`type`,`button`,1,`primary`,3,`click`],[`type`,`button`,1,`ghost`,3,`click`],[1,`help`],[1,`help-title`],[1,`help-cmd`],[1,`help-label`],[1,`help-or`],[1,`server`,3,`submit`],[`type`,`text`,`name`,`server`,`placeholder`,`ws://host:port`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`],[`type`,`submit`,3,`disabled`]],template:function(t,i){if(t&1&&(g(0,`div`,0),fe(1,`span`,1)(2,`span`,2)(3,`span`,3),g(4,`div`,4)(5,`div`,5),fe(6,`span`,6)(7,`span`,7)(8,`span`,8),De(),g(9,`svg`,9),fe(10,`circle`,10)(11,`circle`,11),_(),kt(),g(12,`span`,12),fe(13,`span`,13)(14,`span`,13)(15,`span`,14),_()(),g(16,`p`,15),fe(17,`span`,16),u(18),_(),g(19,`h1`,17),u(20),_(),g(21,`p`,18),u(22),_(),E(23,dA,2,1,`p`,19),g(24,`div`,20)(25,`button`,21),F(`click`,function(){return i.retry.emit()}),u(26,`Retry now`),_(),g(27,`button`,22),F(`click`,function(){return i.explore.emit()}),u(28,`Explore the app`),_()(),E(29,uA,35,2,`div`,23),_()()),t&2){let o;d(18),I(i.eyebrow()),d(2),I(i.title()),d(2),I(i.body()),d(),S((o=i.detail())?23:-1,o),d(6),S(i.isBrowser?29:-1)}},styles:[`[_nghost-%COMP%]{display:contents}.screen[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--%NS%morse-fg);animation:_ngcontent-%COMP%_conn-fade .26s ease-out}.veil[_ngcontent-%COMP%]{position:absolute;inset:0;background:var(--%NS%morse-bg)}.aura[_ngcontent-%COMP%]{position:absolute;width:min(620px,92vh);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--%NS%morse-accent) 30%,transparent) 0%,transparent 62%);filter:blur(10px);opacity:.85}.grid[_ngcontent-%COMP%]{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--%NS%morse-fg) 12%,transparent) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 64%);mask-image:radial-gradient(circle at center,#000 0%,transparent 64%);opacity:.55}.panel[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:520px;padding:28px 20px;text-align:center}.panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_conn-rise .46s cubic-bezier(.22,1,.36,1) backwards}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2){animation-delay:40ms}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(3){animation-delay:90ms}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(4){animation-delay:.14s}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(5){animation-delay:.19s}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(6){animation-delay:.24s}.panel[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(7){animation-delay:.29s}.stage[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:140px;height:140px}.scanner[_ngcontent-%COMP%]{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.track[_ngcontent-%COMP%]{fill:none;stroke:var(--%NS%morse-fg-muted);stroke-width:1;opacity:.35}.sweep[_ngcontent-%COMP%]{fill:none;stroke:var(--%NS%morse-accent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:10 14;transform-box:fill-box;transform-origin:center;animation:_ngcontent-%COMP%_conn-sweep 9s linear infinite}.halo[_ngcontent-%COMP%]{position:absolute;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent) 0%,transparent 68%);animation:_ngcontent-%COMP%_conn-breathe 3.6s ease-in-out infinite}.wave[_ngcontent-%COMP%]{position:absolute;width:96px;height:96px;border-radius:50%;border:1px solid color-mix(in srgb,var(--%NS%morse-fg) 40%,transparent);animation:_ngcontent-%COMP%_conn-ping 2.8s ease-out infinite}.wave-b[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--%NS%morse-accent) 55%,transparent);animation-delay:1.4s}.mark[_ngcontent-%COMP%]{position:relative;display:inline-flex;align-items:center;gap:8px}.glyph[_ngcontent-%COMP%]{background:var(--%NS%morse-fg);box-shadow:0 0 12px color-mix(in srgb,var(--%NS%morse-fg) 40%,transparent);animation:_ngcontent-%COMP%_conn-search 1.6s ease-in-out infinite}.dot[_ngcontent-%COMP%]{width:12px;height:12px;border-radius:50%}.dash[_ngcontent-%COMP%]{width:34px;height:12px;border-radius:999px;animation-delay:.36s}.glyph[_ngcontent-%COMP%]:nth-child(2){animation-delay:.18s}.eyebrow[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.pip[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:50%;background:var(--%NS%morse-warn);animation:_ngcontent-%COMP%_conn-pip 1.4s ease-in-out infinite}.title[_ngcontent-%COMP%]{margin:0;font-size:19px;font-weight:650;line-height:1.25}.body[_ngcontent-%COMP%]{margin:0;max-width:420px;color:var(--%NS%morse-fg-muted);line-height:1.65}.detail[_ngcontent-%COMP%]{margin:2px 0 0;max-width:460px;font-family:var(--%NS%morse-font-mono);font-size:11px;color:var(--%NS%morse-fg-muted);opacity:.8;word-break:break-word}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.actions[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%] .ghost[_ngcontent-%COMP%]{padding:6px 16px;border-radius:999px}.actions[_ngcontent-%COMP%] .ghost[_ngcontent-%COMP%]{background:var(--%NS%morse-button-secondary);color:var(--%NS%morse-button-secondary-fg)}.actions[_ngcontent-%COMP%] .ghost[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);border-color:var(--%NS%morse-border)}.help[_ngcontent-%COMP%]{margin-top:14px;padding:12px 14px;width:100%;max-width:380px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-hover);display:flex;flex-direction:column;align-items:center;gap:6px}.help-title[_ngcontent-%COMP%]{margin:0;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.help-cmd[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%}.help-label[_ngcontent-%COMP%]{flex:none;width:86px;text-align:right;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.help-cmd[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--%NS%morse-font-mono);font-size:12px;padding:3px 10px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-code-bg);border:1px solid var(--%NS%morse-border)}.help-or[_ngcontent-%COMP%]{margin:2px 0 0;font-size:11px;line-height:1.5;color:var(--%NS%morse-fg-muted)}.help-or[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:10.5px;padding:0 3px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-code-bg)}.server[_ngcontent-%COMP%]{display:flex;width:100%;gap:6px}.server[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:0}@keyframes _ngcontent-%COMP%_conn-fade{0%{opacity:0}}@keyframes _ngcontent-%COMP%_conn-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes _ngcontent-%COMP%_conn-sweep{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_conn-breathe{0%,to{opacity:.6;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@keyframes _ngcontent-%COMP%_conn-ping{0%{opacity:.5;transform:scale(.5)}80%,to{opacity:0;transform:scale(2.05)}}@keyframes _ngcontent-%COMP%_conn-search{0%,to{opacity:.4;transform:translateY(0)}45%{opacity:1;transform:translateY(-4px)}}@keyframes _ngcontent-%COMP%_conn-pip{0%,to{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.screen[_ngcontent-%COMP%], .panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%], .sweep[_ngcontent-%COMP%], .halo[_ngcontent-%COMP%], .wave[_ngcontent-%COMP%], .glyph[_ngcontent-%COMP%], .pip[_ngcontent-%COMP%]{animation:none}}`]})};var tp=new WeakMap;var C1=(()=>{class n{_appRef;_injector=w(rn);_environmentInjector=w(ni);load(t){let i=this._appRef=this._appRef||this._injector.get(Wo),o=tp.get(i);o||(o={loaders:new Set,refs:[]},tp.set(i,o),i.onDestroy(()=>{tp.get(i)?.refs.forEach(r=>r.destroy()),tp.delete(i)})),o.loaders.has(t)||(o.loaders.add(t),o.refs.push(sC(t,{environmentInjector:this._environmentInjector})))}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var y0;function pA(){if(y0==null){let n=typeof document<`u`?document.head:null;y0=!!(n&&(n.createShadowRoot||n.attachShadow))}return y0}function np(n){if(pA()){let e=n.getRootNode?n.getRootNode():null;if(typeof ShadowRoot<`u`&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Ul(n){if(n.composedPath)try{return n.composedPath()[0]}catch{}return n.target}function w1(n){return n.buttons===0||n.detail===0}function E1(n){let e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!!e&&e.identifier===-1&&(e.radiusX==null||e.radiusX===1)&&(e.radiusY==null||e.radiusY===1)}function ip(n,e=0){return fA(n)?Number(n):arguments.length===2?e:0}function fA(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}function Bi(n){return n instanceof St?n.nativeElement:n}var _0;try{_0=typeof Intl<`u`&&Intl.v8BreakIterator}catch{_0=!1}var v0=(()=>{class n{_platformId=w(Wr);isBrowser=this._platformId?lC(this._platformId):typeof document==`object`&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||_0)&&typeof CSS<`u`&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!(`MSStream`in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var mA=new Me(`cdk-dir-doc`,{providedIn:`root`,factory:()=>w(Gt)});var hA=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function gA(n){let e=n?.toLowerCase()||``;return e===`auto`&&typeof navigator<`u`&&navigator?.language?hA.test(navigator.language)?`rtl`:`ltr`:e===`rtl`?`rtl`:`ltr`}var b0=(()=>{class n{get value(){return this.valueSignal()}valueSignal=N(`ltr`);change=new Zt;constructor(){let t=w(mA,{optional:!0});if(t){let i=t.body?t.body.dir:null,o=t.documentElement?t.documentElement.dir:null;this.valueSignal.set(gA(i||o||`ltr`))}}ngOnDestroy(){this.change.complete()}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var yA=20;var S1=(()=>{class n{_ngZone=w(Qt);_platform=w(v0);_renderer=w($n).createRenderer(null,null);_cleanupGlobalListener;_scrolled=new We;_scrolledCount=0;scrollContainers=new Map;register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){let i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=yA){return this._platform.isBrowser?new ut(i=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen(`document`,`scroll`,()=>this._scrolled.next())));let o=t>0?this._scrolled.pipe(Jc(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):Wf()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){let o=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ls(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(t){let i=[];return this.scrollContainers.forEach((o,r)=>{this._targetContainsElement(r,t)&&i.push(r)}),i}_targetContainsElement(t,i){let o=Bi(i),r=t.getElementRef().nativeElement;do if(o==r)return!0;while(o=o.parentElement);return!1}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var _A=20;var x0=(()=>{class n{_platform=w(v0);_listeners;_viewportSize=null;_change=new We;_document=w(Gt);constructor(){let t=w(Qt),i=w($n).createRenderer(null,null);t.runOutsideAngular(()=>{if(this._platform.isBrowser){let o=r=>this._change.next(r);this._listeners=[i.listen(`window`,`resize`,o),i.listen(`window`,`orientationchange`,o)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(t=>t()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){let t=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+o,right:t.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let t=this._document,i=this._getWindow(),o=t.documentElement,r=o.getBoundingClientRect();return{top:-r.top||t.body?.scrollTop||i.scrollY||o.scrollTop||0,left:-r.left||t.body?.scrollLeft||i.scrollX||o.scrollLeft||0}}change(t=_A){return t>0?this._change.pipe(Jc(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();var D1=new Map;var op=class n{_appId=w(qr);static _infix=`a${Math.floor(Math.random()*1e5).toString()}`;getId(e,t=!1){this._appId!==`ng`&&(e+=this._appId);let i=D1.get(e);return i===void 0?i=0:i++,D1.set(e,i),`${e}${t?n._infix+`-`:``}${i}`}static ɵfac=function(t){return new(t||n)};static ɵprov=cn({token:n,factory:n.ɵfac})};function T1(n){return Array.isArray(n)?n:[n]}function E0(n){let e=n.cloneNode(!0),t=e.querySelectorAll(`[id]`),i=n.nodeName.toLowerCase();e.removeAttribute(`id`);for(let o=0;o<t.length;o++)t[o].removeAttribute(`id`);return i===`canvas`?I1(n,e):(i===`input`||i===`select`||i===`textarea`)&&k1(n,e),M1(`canvas`,n,e,I1),M1(`input, textarea, select`,n,e,k1),e}function M1(n,e,t,i){let o=e.querySelectorAll(n);if(o.length){let r=t.querySelectorAll(n);for(let s=0;s<o.length;s++)i(o[s],r[s])}}var vA=0;function k1(n,e){e.type!==`file`&&(e.value=n.value),e.type===`radio`&&e.name&&(e.name=`mat-clone-${e.name}-${vA++}`)}function I1(n,e){let t=e.getContext(`2d`);if(t)try{t.drawImage(n,0,0)}catch{}}function N0(n){let e=n.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height,x:e.x,y:e.y}}function S0(n,e,t){let{top:i,bottom:o,left:r,right:s}=n;return t>=i&&t<=o&&e>=r&&e<=s}function bA(n,e){let t=e.left<n.left,i=e.left+e.width>n.right,o=e.top<n.top,r=e.top+e.height>n.bottom;return t||i||o||r}function Wl(n,e,t){n.top+=e,n.bottom=n.top+n.height,n.left+=t,n.right=n.left+n.width}function N1(n,e,t,i){let{top:o,right:r,bottom:s,left:a,width:l,height:c}=n,p=l*e,m=c*e;return i>o-m&&i<s+m&&t>a-p&&t<r+p}var rp=class{_document;positions=new Map;constructor(e){this._document=e}clear(){this.positions.clear()}cache(e){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),e.forEach(t=>{this.positions.set(t,{scrollPosition:{top:t.scrollTop,left:t.scrollLeft},clientRect:N0(t)})})}handleScroll(e){let t=Ul(e),i=this.positions.get(t);if(!i)return null;let o=i.scrollPosition,r,s;if(t===this._document){let c=this.getViewportScrollPosition();r=c.top,s=c.left}else r=t.scrollTop,s=t.scrollLeft;let a=o.top-r,l=o.left-s;return this.positions.forEach((c,p)=>{c.clientRect&&t!==p&&t.contains(p)&&Wl(c.clientRect,a,l)}),o.top=r,o.left=s,{top:a,left:l}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function z1(n,e){let t=n.rootNodes;if(t.length===1&&t[0].nodeType===e.ELEMENT_NODE)return t[0];let i=e.createElement(`div`);return t.forEach(o=>i.appendChild(o)),i}function P0(n,e,t){for(let i in e)if(Object.hasOwn(e,i)){let o=e[i];o?n.setProperty(i,o,t?.has(i)?`important`:``):n.removeProperty(i)}return n}function ga(n,e){let t=e?``:`none`;P0(n.style,{"touch-action":e?``:`none`,"-webkit-user-drag":e?``:`none`,"-webkit-tap-highlight-color":e?``:`transparent`,"user-select":t,"-ms-user-select":t,"-webkit-user-select":t,"-moz-user-select":t})}function P1(n,e,t){P0(n.style,{position:e?``:`fixed`,top:e?``:`0`,opacity:e?``:`0`,left:e?``:`-999em`},t)}function sp(n,e){return e&&e!=`none`?n+` `+e:n}function O1(n,e){n.style.width=`${e.width}px`,n.style.height=`${e.height}px`,n.style.transform=Yl(e.left,e.top)}function Yl(n,e){return`translate3d(${Math.round(n)}px, ${Math.round(e)}px, 0)`}var Gl={capture:!0};var C0={passive:!1,capture:!0};var xA=(()=>{class n{static ɵfac=function(i){return new(i||n)};static ɵcmp=re({type:n,selectors:[[`ng-component`]],hostAttrs:[`cdk-drag-resets-container`,``],decls:0,vars:0,template:function(i,o){},styles:[`@layer cdk-resets {
|
|
7
|
+
.cdk-drag-preview {
|
|
8
|
+
background: none;
|
|
9
|
+
border: none;
|
|
10
|
+
padding: 0;
|
|
11
|
+
color: inherit;
|
|
12
|
+
overflow: visible;
|
|
13
|
+
inset: auto;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
.cdk-drag-placeholder *,
|
|
17
|
+
.cdk-drag-preview * {
|
|
18
|
+
pointer-events: none !important;
|
|
19
|
+
}
|
|
20
|
+
`],encapsulation:2})}return n})();var lp=(()=>{class n{_ngZone=w(Qt);_document=w(Gt);_styleLoader=w(C1);_renderer=w($n).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new We;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=N([]);_globalListeners;_draggingPredicate=t=>t.isDragging();_domNodesToDirectives=null;pointerMove=new We;pointerUp=new We;registerDropContainer(t){this._dropInstances.has(t)||this._dropInstances.add(t)}registerDragItem(t){this._dragInstances.add(t),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,`touchmove`,this._persistentTouchmoveListener,C0)})}removeDropContainer(t){this._dropInstances.delete(t)}removeDragItem(t){this._dragInstances.delete(t),this.stopDragging(t),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(t,i){if(!(this._activeDragInstances().indexOf(t)>-1)&&(this._styleLoader.load(xA),this._activeDragInstances.update(o=>[...o,t]),this._activeDragInstances().length===1)){let o=i.type.startsWith(`touch`),r=a=>this.pointerUp.next(a),s=[[`scroll`,a=>this._scroll.next(a),Gl],[`selectstart`,this._preventDefaultWhileDragging,C0]];o?s.push([`touchend`,r,Gl],[`touchcancel`,r,Gl]):s.push([`mouseup`,r,Gl]),o||s.push([`mousemove`,a=>this.pointerMove.next(a),C0]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=s.map(([a,l,c])=>this._renderer.listen(this._document,a,l,c))})}}stopDragging(t){this._activeDragInstances.update(i=>{let o=i.indexOf(t);return o>-1?(i.splice(o,1),[...i]):i}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(t){return this._activeDragInstances().indexOf(t)>-1}scrolled(t){let i=[this._scroll];return t&&t!==this._document&&i.push(new ut(o=>this._ngZone.runOutsideAngular(()=>{let r=this._renderer.listen(t,`scroll`,s=>{this._activeDragInstances().length&&o.next(s)},Gl);return()=>{r()}}))),Tr(...i)}registerDirectiveNode(t,i){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(t,i)}removeDirectiveNode(t){this._domNodesToDirectives?.delete(t)}getDragDirectiveForNode(t){return this._domNodesToDirectives?.get(t)||null}ngOnDestroy(){this._dragInstances.forEach(t=>this.removeDragItem(t)),this._dropInstances.forEach(t=>this.removeDropContainer(t)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=t=>{this._activeDragInstances().length>0&&t.preventDefault()};_persistentTouchmoveListener=t=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&t.preventDefault(),this.pointerMove.next(t))};_clearGlobalListeners(){this._globalListeners?.forEach(t=>t()),this._globalListeners=void 0}static ɵfac=function(i){return new(i||n)};static ɵprov=cn({token:n,factory:n.ɵfac})}return n})();function A1(n){let e=n.toLowerCase().indexOf(`ms`)>-1?1:1e3;return parseFloat(n)*e}function CA(n){let e=getComputedStyle(n),t=w0(e,`transition-property`),i=t.find(a=>a===`transform`||a===`all`);if(!i)return 0;let o=t.indexOf(i),r=w0(e,`transition-duration`),s=w0(e,`transition-delay`);return A1(r[o])+A1(s[o])}function w0(n,e){return n.getPropertyValue(e).split(`,`).map(i=>i.trim())}var wA=new Set([`position`]);var D0=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(e,t,i,o,r,s,a,l,c,p){this._document=e,this._rootElement=t,this._direction=i,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=s,this._pickupPositionOnPage=a,this._initialTransform=l,this._zIndex=c,this._renderer=p}attach(e){this._preview=this._createPreview(),e.appendChild(this._preview),R1(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(e){this._preview.style.transform=e}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(e){this._preview.classList.add(e)}getTransitionDuration(){return CA(this._preview)}addEventListener(e,t){return this._renderer.listen(this._preview,e,t)}_createPreview(){let e=this._previewTemplate,t=this._previewClass,i=e?e.template:null,o;if(i&&e){let r=e.matchSize?this._initialDomRect:null,s=e.viewContainer.createEmbeddedView(i,e.context);s.detectChanges(),o=z1(s,this._document),this._previewEmbeddedView=s,e.matchSize?O1(o,r):o.style.transform=Yl(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=E0(this._rootElement),O1(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return P0(o.style,{"pointer-events":`none`,margin:R1(o)?`0 auto 0 0`:`0`,position:`fixed`,top:`0`,left:`0`,"z-index":this._zIndex+``},wA),ga(o,!1),o.classList.add(`cdk-drag-preview`),o.setAttribute(`popover`,`manual`),o.setAttribute(`dir`,this._direction),t&&(Array.isArray(t)?t.forEach(r=>o.classList.add(r)):o.classList.add(t)),o}};function R1(n){return`showPopover`in n}var EA={passive:!0};var L1={passive:!1};var SA={passive:!1,capture:!0};var DA=800;var F1=`cdk-drag-placeholder`;var V1=new Set([`position`]);function TA(n,e,t={dragStartThreshold:5,pointerDirectionChangeThreshold:5}){let i=n.get(Zr,null,{optional:!0})||n.get($n).createRenderer(null,null);return new T0(e,t,n.get(Gt),n.get(Qt),n.get(x0),n.get(lp),i)}var T0=class{_config;_document;_ngZone;_viewportRuler;_dragDropRegistry;_renderer;_rootElementCleanups;_cleanupShadowRootSelectStart;_preview=null;_previewContainer;_placeholderRef=null;_placeholder;_pickupPositionInElement;_pickupPositionOnPage;_marker;_anchor=null;_passiveTransform={x:0,y:0};_activeTransform={x:0,y:0};_initialTransform;_hasStartedDragging=N(!1);_hasMoved=!1;_initialContainer;_initialIndex;_parentPositions;_moveEvents=new We;_pointerDirectionDelta;_pointerPositionAtLastDirectionChange;_lastKnownPointerPosition;_rootElement;_ownerSVGElement=null;_rootElementTapHighlight;_pointerMoveSubscription=At.EMPTY;_pointerUpSubscription=At.EMPTY;_scrollSubscription=At.EMPTY;_resizeSubscription=At.EMPTY;_lastTouchEventTime;_dragStartTime;_boundaryElement=null;_nativeInteractionsEnabled=!0;_initialDomRect;_previewRect;_boundaryRect;_previewTemplate;_placeholderTemplate;_handles=[];_disabledHandles=new Set;_dropContainer;_direction=`ltr`;_parentDragRef=null;_cachedShadowRoot;lockAxis=null;dragStartDelay=0;previewClass;scale=1;get disabled(){return this._disabled||!!(this._dropContainer&&this._dropContainer.disabled)}set disabled(e){e!==this._disabled&&(this._disabled=e,this._toggleNativeDragInteractions(),this._handles.forEach(t=>ga(t,e)))}_disabled=!1;beforeStarted=new We;started=new We;released=new We;ended=new We;entered=new We;exited=new We;dropped=new We;moved=this._moveEvents;data;constrainPosition;constructor(e,t,i,o,r,s,a){this._config=t,this._document=i,this._ngZone=o,this._viewportRuler=r,this._dragDropRegistry=s,this._renderer=a,this.withRootElement(e).withParent(t.parentDragRef||null),this._parentPositions=new rp(i),s.registerDragItem(this)}getPlaceholderElement(){return this._placeholder}getRootElement(){return this._rootElement}getVisibleElement(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()}withHandles(e){this._handles=e.map(i=>Bi(i)),this._handles.forEach(i=>ga(i,this.disabled)),this._toggleNativeDragInteractions();let t=new Set;return this._disabledHandles.forEach(i=>{this._handles.indexOf(i)>-1&&t.add(i)}),this._disabledHandles=t,this}withPreviewTemplate(e){return this._previewTemplate=e,this}withPlaceholderTemplate(e){return this._placeholderTemplate=e,this}withRootElement(e){let t=Bi(e);if(t!==this._rootElement){this._removeRootElementListeners();let i=this._renderer;this._rootElementCleanups=this._ngZone.runOutsideAngular(()=>[i.listen(t,`mousedown`,this._pointerDown,L1),i.listen(t,`touchstart`,this._pointerDown,EA),i.listen(t,`dragstart`,this._nativeDragStart,L1)]),this._initialTransform=void 0,this._rootElement=t}return typeof SVGElement<`u`&&this._rootElement instanceof SVGElement&&(this._ownerSVGElement=this._rootElement.ownerSVGElement),this}withBoundaryElement(e){return this._boundaryElement=e?Bi(e):null,this._resizeSubscription.unsubscribe(),e&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(()=>this._containInsideBoundaryOnResize())),this}withParent(e){return this._parentDragRef=e,this}dispose(){this._removeRootElementListeners(),this.isDragging()&&this._rootElement?.remove(),this._marker?.remove(),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeListeners(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._ownerSVGElement=this._placeholderTemplate=this._previewTemplate=this._marker=this._parentDragRef=null}isDragging(){return this._hasStartedDragging()&&this._dragDropRegistry.isDragging(this)}reset(){this._rootElement.style.transform=this._initialTransform||``,this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}}resetToBoundary(){if(this._boundaryElement&&this._rootElement&&bA(this._boundaryElement.getBoundingClientRect(),this._rootElement.getBoundingClientRect())){let e=this._boundaryElement.getBoundingClientRect(),t=this._rootElement.getBoundingClientRect(),i=0,o=0;t.left<e.left?i=e.left-t.left:t.right>e.right&&(i=e.right-t.right),t.top<e.top?o=e.top-t.top:t.bottom>e.bottom&&(o=e.bottom-t.bottom);let r=this._activeTransform.x,s=this._activeTransform.y,a=r+i,l=s+o;this._rootElement.style.transform=Yl(a,l),this._activeTransform={x:a,y:l},this._passiveTransform={x:a,y:l}}}disableHandle(e){!this._disabledHandles.has(e)&&this._handles.indexOf(e)>-1&&(this._disabledHandles.add(e),ga(e,!0))}enableHandle(e){this._disabledHandles.has(e)&&(this._disabledHandles.delete(e),ga(e,this.disabled))}withDirection(e){return this._direction=e,this}_withDropContainer(e){this._dropContainer=e}getFreeDragPosition(){let e=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:e.x,y:e.y}}setFreeDragPosition(e){return this._activeTransform={x:0,y:0},this._passiveTransform.x=e.x,this._passiveTransform.y=e.y,this._dropContainer||this._applyRootElementTransform(e.x,e.y),this}withPreviewContainer(e){return this._previewContainer=e,this}_sortFromLastPointerPosition(){let e=this._lastKnownPointerPosition;e&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(e),e)}_removeListeners(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe(),this._cleanupShadowRootSelectStart?.(),this._cleanupShadowRootSelectStart=void 0}_destroyPreview(){this._preview?.destroy(),this._preview=null}_destroyPlaceholder(){this._anchor?.remove(),this._placeholder?.remove(),this._placeholderRef?.destroy(),this._placeholder=this._anchor=this._placeholderRef=null}_pointerDown=e=>{if(this.beforeStarted.next(),this._handles.length){let t=this._getTargetHandle(e);t&&!this._disabledHandles.has(t)&&!this.disabled&&this._initializeDragSequence(t,e)}else this.disabled||this._initializeDragSequence(this._rootElement,e)};_pointerMove=e=>{let t=this._getPointerPositionOnPage(e);if(!this._hasStartedDragging()){if(Math.abs(t.x-this._pickupPositionOnPage.x)+Math.abs(t.y-this._pickupPositionOnPage.y)>=this._config.dragStartThreshold){let a=Date.now()>=this._dragStartTime+this._getDragStartDelay(e),l=this._dropContainer;if(!a){this._endDragSequence(e);return}(!l||!l.isDragging()&&!l.isReceiving())&&(e.cancelable&&e.preventDefault(),this._hasStartedDragging.set(!0),this._ngZone.run(()=>this._startDragSequence(e)))}return}e.cancelable&&e.preventDefault();let i=this._getConstrainedPointerPosition(t);if(this._hasMoved=!0,this._lastKnownPointerPosition=t,this._updatePointerDirectionDelta(i),this._dropContainer)this._updateActiveDropContainer(i,t);else{let o=this.constrainPosition?this._initialDomRect:this._pickupPositionOnPage,r=this._activeTransform;r.x=i.x-o.x+this._passiveTransform.x,r.y=i.y-o.y+this._passiveTransform.y,this._applyRootElementTransform(r.x,r.y)}this._moveEvents.observers.length&&this._ngZone.run(()=>{this._moveEvents.next({source:this,pointerPosition:i,event:e,distance:this._getDragDistance(i),delta:this._pointerDirectionDelta})})};_pointerUp=e=>{this._endDragSequence(e)};_endDragSequence(e){if(this._dragDropRegistry.isDragging(this)&&(this._removeListeners(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),!!this._hasStartedDragging()))if(this.released.next({source:this,event:e}),this._dropContainer)this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(()=>{this._cleanupDragArtifacts(e),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)});else{this._passiveTransform.x=this._activeTransform.x;let t=this._getPointerPositionOnPage(e);this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(()=>{this.ended.next({source:this,distance:this._getDragDistance(t),dropPoint:t,event:e})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this)}}_startDragSequence(e){ql(e)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();let t=this._getShadowRoot(),i=this._dropContainer;if(t&&this._ngZone.runOutsideAngular(()=>{this._cleanupShadowRootSelectStart=this._renderer.listen(t,`selectstart`,MA,SA)}),i){let o=this._rootElement,r=o.parentNode,s=this._placeholder=this._createPlaceholderElement(),a=this._marker=this._marker||this._document.createComment(``);r.insertBefore(a,o),this._initialTransform=o.style.transform||``,this._preview=new D0(this._document,this._rootElement,this._direction,this._initialDomRect,this._previewTemplate||null,this.previewClass||null,this._pickupPositionOnPage,this._initialTransform,this._config.zIndex||1e3,this._renderer),this._preview.attach(this._getPreviewInsertionPoint(r,t)),P1(o,!1,V1),this._document.body.appendChild(r.replaceChild(s,o)),this.started.next({source:this,event:e}),i.start(),this._initialContainer=i,this._initialIndex=i.getItemIndex(this)}else this.started.next({source:this,event:e}),this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(i?i.getScrollableParents():[])}_initializeDragSequence(e,t){this._parentDragRef&&t.stopPropagation();let i=this.isDragging(),o=ql(t),r=!o&&t.button!==0,s=this._rootElement,a=Ul(t),l=!o&&this._lastTouchEventTime&&this._lastTouchEventTime+DA>Date.now(),c=o?E1(t):w1(t);if(a&&a.draggable&&t.type===`mousedown`&&t.preventDefault(),i||r||l||c)return;if(this._handles.length){let v=s.style;this._rootElementTapHighlight=v.webkitTapHighlightColor||``,v.webkitTapHighlightColor=`transparent`}this._hasMoved=!1,this._hasStartedDragging.set(this._hasMoved),this._removeListeners(),this._initialDomRect=this._rootElement.getBoundingClientRect(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(v=>this._updateOnScroll(v)),this._boundaryElement&&(this._boundaryRect=N0(this._boundaryElement));let p=this._previewTemplate;this._pickupPositionInElement=p&&p.template&&!p.matchSize?{x:0,y:0}:this._getPointerPositionInElement(this._initialDomRect,e,t);let m=this._pickupPositionOnPage=this._lastKnownPointerPosition=this._getPointerPositionOnPage(t);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:m.x,y:m.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,t)}_cleanupDragArtifacts(e){P1(this._rootElement,!0,V1),this._marker.parentNode.replaceChild(this._rootElement,this._marker),this._destroyPreview(),this._destroyPlaceholder(),this._initialDomRect=this._boundaryRect=this._previewRect=this._initialTransform=void 0,this._ngZone.run(()=>{let t=this._dropContainer,i=t.getItemIndex(this),o=this._getPointerPositionOnPage(e),r=this._getDragDistance(o),s=t._isOverContainer(o.x,o.y);this.ended.next({source:this,distance:r,dropPoint:o,event:e}),this.dropped.next({item:this,currentIndex:i,previousIndex:this._initialIndex,container:t,previousContainer:this._initialContainer,isPointerOverContainer:s,distance:r,dropPoint:o,event:e}),t.drop(this,i,this._initialIndex,this._initialContainer,s,r,o,e),this._dropContainer=this._initialContainer})}_updateActiveDropContainer({x:e,y:t},{x:i,y:o}){let r=this._initialContainer._getSiblingContainerFromPosition(this,e,t);!r&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(e,t)&&(r=this._initialContainer),r&&r!==this._dropContainer&&this._ngZone.run(()=>{let s=this._dropContainer.getItemIndex(this),a=this._dropContainer.getItemAtIndex(s+1)?.getVisibleElement()||null;this.exited.next({item:this,container:this._dropContainer}),this._dropContainer.exit(this),this._conditionallyInsertAnchor(r,this._dropContainer,a),this._dropContainer=r,this._dropContainer.enter(this,e,t,r===this._initialContainer&&r.sortingDisabled?this._initialIndex:void 0),this.entered.next({item:this,container:r,currentIndex:r.getItemIndex(this)})}),this.isDragging()&&(this._dropContainer._startScrollingIfNecessary(i,o),this._dropContainer._sortItem(this,e,t,this._pointerDirectionDelta),this.constrainPosition?this._applyPreviewTransform(e,t):this._applyPreviewTransform(e-this._pickupPositionInElement.x,t-this._pickupPositionInElement.y))}_animatePreviewToPlaceholder(){if(!this._hasMoved)return Promise.resolve();let e=this._placeholder.getBoundingClientRect();this._preview.addClass(`cdk-drag-animating`),this._applyPreviewTransform(e.left,e.top);let t=this._preview.getTransitionDuration();return t===0?Promise.resolve():this._ngZone.runOutsideAngular(()=>new Promise(i=>{let o=a=>{(!a||this._preview&&Ul(a)===this._preview.element&&a.propertyName===`transform`)&&(s(),i(),clearTimeout(r))},r=setTimeout(o,t*1.5),s=this._preview.addEventListener(`transitionend`,o)}))}_createPlaceholderElement(){let e=this._placeholderTemplate,t=e?e.template:null,i;return t?(this._placeholderRef=e.viewContainer.createEmbeddedView(t,e.context),this._placeholderRef.detectChanges(),i=z1(this._placeholderRef,this._document)):i=E0(this._rootElement),i.style.pointerEvents=`none`,i.classList.add(F1),i}_getPointerPositionInElement(e,t,i){let o=t===this._rootElement?null:t,r=o?o.getBoundingClientRect():e,s=ql(i)?i.targetTouches[0]:i,a=this._getViewportScrollPosition(),l=s.pageX-r.left-a.left,c=s.pageY-r.top-a.top;return{x:r.left-e.left+l,y:r.top-e.top+c}}_getPointerPositionOnPage(e){let t=this._getViewportScrollPosition(),i=ql(e)?e.touches[0]||e.changedTouches[0]||{pageX:0,pageY:0}:e,o=i.pageX-t.left,r=i.pageY-t.top;if(this._ownerSVGElement){let s=this._ownerSVGElement.getScreenCTM();if(s){let a=this._ownerSVGElement.createSVGPoint();return a.x=o,a.y=r,a.matrixTransform(s.inverse())}}return{x:o,y:r}}_getConstrainedPointerPosition(e){let t=this._dropContainer?this._dropContainer.lockAxis:null,{x:i,y:o}=this.constrainPosition?this.constrainPosition(e,this,this._initialDomRect,this._pickupPositionInElement):e;if(this.lockAxis===`x`||t===`x`?o=this._pickupPositionOnPage.y-(this.constrainPosition?this._pickupPositionInElement.y:0):(this.lockAxis===`y`||t===`y`)&&(i=this._pickupPositionOnPage.x-(this.constrainPosition?this._pickupPositionInElement.x:0)),this._boundaryRect){let{x:r,y:s}=this.constrainPosition?{x:0,y:0}:this._pickupPositionInElement,a=this._boundaryRect,{width:l,height:c}=this._getPreviewRect(),p=a.top+s,m=a.bottom-(c-s),v=a.left+r,b=a.right-(l-r);i=j1(i,v,b),o=j1(o,p,m)}return{x:i,y:o}}_updatePointerDirectionDelta(e){let{x:t,y:i}=e,o=this._pointerDirectionDelta,r=this._pointerPositionAtLastDirectionChange,s=Math.abs(t-r.x),a=Math.abs(i-r.y);return s>this._config.pointerDirectionChangeThreshold&&(o.x=t>r.x?1:-1,r.x=t),a>this._config.pointerDirectionChangeThreshold&&(o.y=i>r.y?1:-1,r.y=i),o}_toggleNativeDragInteractions(){if(!this._rootElement||!this._handles)return;let e=this._handles.length>0||!this.isDragging();e!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=e,ga(this._rootElement,e))}_removeRootElementListeners(){this._rootElementCleanups?.forEach(e=>e()),this._rootElementCleanups=void 0}_applyRootElementTransform(e,t){let i=1/this.scale,o=Yl(e*i,t*i),r=this._rootElement.style;this._initialTransform??=r.transform&&r.transform!=`none`?r.transform:``,r.transform=sp(o,this._initialTransform)}_applyPreviewTransform(e,t){let i=this._previewTemplate?.template?void 0:this._initialTransform,o=Yl(e,t);this._preview.setTransform(sp(o,i))}_getDragDistance(e){let t=this._pickupPositionOnPage;return t?{x:e.x-t.x,y:e.y-t.y}:{x:0,y:0}}_cleanupCachedDimensions(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()}_containInsideBoundaryOnResize(){let{x:e,y:t}=this._passiveTransform;if(e===0&&t===0||this.isDragging()||!this._boundaryElement)return;let i=this._rootElement.getBoundingClientRect(),o=this._boundaryElement.getBoundingClientRect();if(o.width===0&&o.height===0||i.width===0&&i.height===0)return;let r=o.left-i.left,s=i.right-o.right,a=o.top-i.top,l=i.bottom-o.bottom;o.width>i.width?(r>0&&(e+=r),s>0&&(e-=s)):e=0,o.height>i.height?(a>0&&(t+=a),l>0&&(t-=l)):t=0,(e!==this._passiveTransform.x||t!==this._passiveTransform.y)&&this.setFreeDragPosition({y:t,x:e})}_getDragStartDelay(e){let t=this.dragStartDelay;return typeof t==`number`?t:ql(e)?t.touch:t?t.mouse:0}_updateOnScroll(e){let t=this._parentPositions.handleScroll(e);if(t){let i=Ul(e);this._boundaryRect&&i!==this._boundaryElement&&i.contains(this._boundaryElement)&&Wl(this._boundaryRect,t.top,t.left),this._pickupPositionOnPage.x+=t.left,this._pickupPositionOnPage.y+=t.top,this._dropContainer||(this._activeTransform.x-=t.left,this._activeTransform.y-=t.top,this._applyRootElementTransform(this._activeTransform.x,this._activeTransform.y))}}_getViewportScrollPosition(){return this._parentPositions.positions.get(this._document)?.scrollPosition||this._parentPositions.getViewportScrollPosition()}_getShadowRoot(){return this._cachedShadowRoot===void 0&&(this._cachedShadowRoot=np(this._rootElement)),this._cachedShadowRoot}_getPreviewInsertionPoint(e,t){let i=this._previewContainer||`global`;if(i===`parent`)return e;if(i===`global`){let o=this._document;return t||o.fullscreenElement||o.webkitFullscreenElement||o.mozFullScreenElement||o.msFullscreenElement||o.body}return Bi(i)}_getPreviewRect(){return(!this._previewRect||!this._previewRect.width&&!this._previewRect.height)&&(this._previewRect=this._preview?this._preview.getBoundingClientRect():this._initialDomRect),this._previewRect}_nativeDragStart=e=>{if(this._handles.length){let t=this._getTargetHandle(e);t&&!this._disabledHandles.has(t)&&!this.disabled&&e.preventDefault()}else this.disabled||e.preventDefault()};_getTargetHandle(e){return this._handles.find(t=>e.target&&(e.target===t||t.contains(e.target)))}_conditionallyInsertAnchor(e,t,i){if(e===this._initialContainer)this._anchor?.remove(),this._anchor=null;else if(t===this._initialContainer&&t.hasAnchor){let o=this._anchor??=E0(this._placeholder);o.classList.remove(F1),o.classList.add(`cdk-drag-anchor`),o.style.transform=``,i?i.before(o):Bi(t.element).appendChild(o)}}};function j1(n,e,t){return Math.max(e,Math.min(t,n))}function ql(n){return n.type[0]===`t`}function MA(n){n.preventDefault()}function U1(n,e,t){let i=B1(e,n.length-1),o=B1(t,n.length-1);if(i===o)return;let r=n[i],s=o<i?-1:1;for(let a=i;a!==o;a+=s)n[a]=n[a+s];n[o]=r}function B1(n,e){return Math.max(0,Math.min(e,n))}var ap=class{_dragDropRegistry;_element;_sortPredicate;_itemPositions=[];_activeDraggables;orientation=`vertical`;direction=`ltr`;constructor(e){this._dragDropRegistry=e}_previousSwap={drag:null,delta:0,overlaps:!1};start(e){this.withItems(e)}sort(e,t,i,o){let r=this._itemPositions,s=this._getItemIndexFromPointerPosition(e,t,i,o);if(s===-1&&r.length>0)return null;let a=this.orientation===`horizontal`,l=r.findIndex(M=>M.drag===e),c=r[s],p=r[l].clientRect,m=c.clientRect,v=l>s?1:-1,b=this._getItemOffsetPx(p,m,v),k=this._getSiblingOffsetPx(l,r,v),O=r.slice();return U1(r,l,s),r.forEach((M,V)=>{if(O[V]===M)return;let W=M.drag===e,pe=W?b:k,me=W?e.getPlaceholderElement():M.drag.getRootElement();M.offset+=pe;let we=Math.round(M.offset*(1/M.drag.scale));a?(me.style.transform=sp(`translate3d(${we}px, 0, 0)`,M.initialTransform),Wl(M.clientRect,0,pe)):(me.style.transform=sp(`translate3d(0, ${we}px, 0)`,M.initialTransform),Wl(M.clientRect,pe,0))}),this._previousSwap.overlaps=S0(m,t,i),this._previousSwap.drag=c.drag,this._previousSwap.delta=a?o.x:o.y,{previousIndex:l,currentIndex:s}}enter(e,t,i,o){let r=this._activeDraggables,s=r.indexOf(e),a=e.getPlaceholderElement();s>-1&&r.splice(s,1);let l=o==null||o<0?this._getItemIndexFromPointerPosition(e,t,i):o,c=r[l];if(c===e&&(c=r[l+1]),!c&&(l==null||l===-1||l<r.length-1)&&this._shouldEnterAsFirstChild(t,i)&&(c=r[0]),c&&!this._dragDropRegistry.isDragging(c)){let p=c.getRootElement();p.parentElement.insertBefore(a,p),r.splice(l,0,e)}else this._element.appendChild(a),r.push(e);a.style.transform=``,this._cacheItemPositions()}withItems(e){this._activeDraggables=e.slice(),this._cacheItemPositions()}withSortPredicate(e){this._sortPredicate=e}reset(){this._activeDraggables?.forEach(e=>{let t=e.getRootElement();if(t){let i=this._itemPositions.find(o=>o.drag===e)?.initialTransform;t.style.transform=i||``}}),this._itemPositions=[],this._activeDraggables=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._previousSwap.overlaps=!1}getActiveItemsSnapshot(){return this._activeDraggables}getItemIndex(e){return this._getVisualItemPositions().findIndex(t=>t.drag===e)}getItemAtIndex(e){return this._getVisualItemPositions()[e]?.drag||null}updateOnScroll(e,t){this._itemPositions.forEach(({clientRect:i})=>{Wl(i,e,t)}),this._itemPositions.forEach(({drag:i})=>{this._dragDropRegistry.isDragging(i)&&i._sortFromLastPointerPosition()})}withElementContainer(e){this._element=e}_cacheItemPositions(){let e=this.orientation===`horizontal`;this._itemPositions=this._activeDraggables.map(t=>{let i=t.getVisibleElement();return{drag:t,offset:0,initialTransform:i.style.transform||``,clientRect:N0(i)}}).sort((t,i)=>e?t.clientRect.left-i.clientRect.left:t.clientRect.top-i.clientRect.top)}_getVisualItemPositions(){return this.orientation===`horizontal`&&this.direction===`rtl`?this._itemPositions.slice().reverse():this._itemPositions}_getItemOffsetPx(e,t,i){let o=this.orientation===`horizontal`,r=o?t.left-e.left:t.top-e.top;return i===-1&&(r+=o?t.width-e.width:t.height-e.height),r}_getSiblingOffsetPx(e,t,i){let o=this.orientation===`horizontal`,r=t[e].clientRect,s=t[e+i*-1],a=r[o?`width`:`height`]*i;if(s){let l=o?`left`:`top`,c=o?`right`:`bottom`;i===-1?a-=s.clientRect[l]-r[c]:a+=r[l]-s.clientRect[c]}return a}_shouldEnterAsFirstChild(e,t){if(!this._activeDraggables.length)return!1;let i=this._itemPositions,o=this.orientation===`horizontal`;if(i[0].drag!==this._activeDraggables[0]){let s=i[i.length-1].clientRect;return o?e>=s.right:t>=s.bottom}else{let s=i[0].clientRect;return o?e<=s.left:t<=s.top}}_getItemIndexFromPointerPosition(e,t,i,o){let r=this.orientation===`horizontal`,s=this._itemPositions.findIndex(({drag:a,clientRect:l})=>{if(a===e)return!1;if(o){let c=r?o.x:o.y;if(a===this._previousSwap.drag&&this._previousSwap.overlaps&&c===this._previousSwap.delta)return!1}return r?t>=Math.floor(l.left)&&t<Math.floor(l.right):i>=Math.floor(l.top)&&i<Math.floor(l.bottom)});return s===-1||!this._sortPredicate(s,e)?-1:s}};var M0=class{_document;_dragDropRegistry;_element;_sortPredicate;_rootNode;_activeItems;_previousSwap={drag:null,deltaX:0,deltaY:0,overlaps:!1};_relatedNodes=[];constructor(e,t){this._document=e,this._dragDropRegistry=t}start(e){let t=this._element.childNodes;this._relatedNodes=[];for(let i=0;i<t.length;i++){let o=t[i];this._relatedNodes.push([o,o.nextSibling])}this.withItems(e)}sort(e,t,i,o){let r=this._getItemIndexFromPointerPosition(e,t,i),s=this._previousSwap;if(r===-1||this._activeItems[r]===e)return null;let a=this._activeItems[r];if(s.drag===a&&s.overlaps&&s.deltaX===o.x&&s.deltaY===o.y)return null;let l=this.getItemIndex(e),c=e.getPlaceholderElement(),p=a.getRootElement();r>l?p.after(c):p.before(c),U1(this._activeItems,l,r);let m=this._getRootNode().elementFromPoint(t,i);return s.deltaX=o.x,s.deltaY=o.y,s.drag=a,s.overlaps=p===m||p.contains(m),{previousIndex:l,currentIndex:r}}enter(e,t,i,o){let r=this._activeItems.indexOf(e);r>-1&&this._activeItems.splice(r,1);let s=o==null||o<0?this._getItemIndexFromPointerPosition(e,t,i):o;s===-1&&(s=this._getClosestItemIndexToPointer(e,t,i));let a=this._activeItems[s];a&&!this._dragDropRegistry.isDragging(a)?(this._activeItems.splice(s,0,e),a.getRootElement().before(e.getPlaceholderElement())):(this._activeItems.push(e),this._element.appendChild(e.getPlaceholderElement()))}withItems(e){this._activeItems=e.slice()}withSortPredicate(e){this._sortPredicate=e}reset(){let e=this._element,t=this._previousSwap;for(let i=this._relatedNodes.length-1;i>-1;i--){let[o,r]=this._relatedNodes[i];o.parentNode===e&&o.nextSibling!==r&&(r===null?e.appendChild(o):r.parentNode===e&&e.insertBefore(o,r))}this._relatedNodes=[],this._activeItems=[],t.drag=null,t.deltaX=t.deltaY=0,t.overlaps=!1}getActiveItemsSnapshot(){return this._activeItems}getItemIndex(e){return this._activeItems.indexOf(e)}getItemAtIndex(e){return this._activeItems[e]||null}updateOnScroll(){this._activeItems.forEach(e=>{this._dragDropRegistry.isDragging(e)&&e._sortFromLastPointerPosition()})}withElementContainer(e){e!==this._element&&(this._element=e,this._rootNode=void 0)}_getItemIndexFromPointerPosition(e,t,i){let o=this._getRootNode().elementFromPoint(Math.floor(t),Math.floor(i)),r=o?this._activeItems.findIndex(s=>{let a=s.getRootElement();return o===a||a.contains(o)}):-1;return r===-1||!this._sortPredicate(r,e)?-1:r}_getRootNode(){return this._rootNode||(this._rootNode=np(this._element)||this._document),this._rootNode}_getClosestItemIndexToPointer(e,t,i){if(this._activeItems.length===0)return-1;if(this._activeItems.length===1)return 0;let o=1/0,r=-1;for(let s=0;s<this._activeItems.length;s++){let a=this._activeItems[s];if(a!==e){let{x:l,y:c}=a.getRootElement().getBoundingClientRect(),p=Math.hypot(t-l,i-c);p<o&&(o=p,r=s)}}return r}};var $1=.05;var G1=.05;var Mi=(function(n){return n[n.NONE=0]=`NONE`,n[n.UP=1]=`UP`,n[n.DOWN=2]=`DOWN`,n})(Mi||{});var Un=(function(n){return n[n.NONE=0]=`NONE`,n[n.LEFT=1]=`LEFT`,n[n.RIGHT=2]=`RIGHT`,n})(Un||{});function kA(n,e){return new k0(e,n.get(lp),n.get(Gt),n.get(Qt),n.get(x0))}var k0=class{_dragDropRegistry;_ngZone;_viewportRuler;element;disabled=!1;sortingDisabled=!1;lockAxis=null;autoScrollDisabled=!1;autoScrollStep=2;hasAnchor=!1;enterPredicate=()=>!0;sortPredicate=()=>!0;beforeStarted=new We;entered=new We;exited=new We;dropped=new We;sorted=new We;receivingStarted=new We;receivingStopped=new We;data;_container;_isDragging=!1;_parentPositions;_sortStrategy;_domRect;_draggables=[];_siblings=[];_activeSiblings=new Set;_viewportScrollSubscription=At.EMPTY;_verticalScrollDirection=Mi.NONE;_horizontalScrollDirection=Un.NONE;_scrollNode;_stopScrollTimers=new We;_cachedShadowRoot=null;_document;_scrollableElements=[];_initialScrollSnap;_direction=`ltr`;constructor(e,t,i,o,r){this._dragDropRegistry=t,this._ngZone=o,this._viewportRuler=r;let s=this.element=Bi(e);this._document=i,this.withOrientation(`vertical`).withElementContainer(s),t.registerDropContainer(this),this._parentPositions=new rp(i)}dispose(){this._stopScrolling(),this._stopScrollTimers.complete(),this._viewportScrollSubscription.unsubscribe(),this.beforeStarted.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this.sorted.complete(),this.receivingStarted.complete(),this.receivingStopped.complete(),this._activeSiblings.clear(),this._scrollNode=null,this._parentPositions.clear(),this._dragDropRegistry.removeDropContainer(this)}isDragging(){return this._isDragging}start(){this._draggingStarted(),this._notifyReceivingSiblings()}enter(e,t,i,o){this._draggingStarted(),o==null&&this.sortingDisabled&&(o=this._draggables.indexOf(e)),this._sortStrategy.enter(e,t,i,o),this._cacheParentPositions(),this._notifyReceivingSiblings(),this.entered.next({item:e,container:this,currentIndex:this.getItemIndex(e)})}exit(e){this._reset(),this.exited.next({item:e,container:this})}drop(e,t,i,o,r,s,a,l){this._reset(),this.dropped.next({item:e,currentIndex:t,previousIndex:i,container:this,previousContainer:o,isPointerOverContainer:r,distance:s,dropPoint:a,event:l})}withItems(e){let t=this._draggables;return this._draggables=e,e.forEach(i=>i._withDropContainer(this)),this.isDragging()&&(t.filter(o=>o.isDragging()).every(o=>e.indexOf(o)===-1)?this._reset():this._sortStrategy.withItems(this._draggables)),this}withDirection(e){return this._direction=e,this._sortStrategy instanceof ap&&(this._sortStrategy.direction=e),this}connectedTo(e){return this._siblings=e.slice(),this}withOrientation(e){if(e===`mixed`)this._sortStrategy=new M0(this._document,this._dragDropRegistry);else{let t=new ap(this._dragDropRegistry);t.direction=this._direction,t.orientation=e,this._sortStrategy=t}return this._sortStrategy.withElementContainer(this._container),this._sortStrategy.withSortPredicate((t,i)=>this.sortPredicate(t,i,this)),this}withScrollableParents(e){let t=this._container;return this._scrollableElements=e.indexOf(t)===-1?[t,...e]:e.slice(),this}withElementContainer(e){if(e===this._container)return this;Bi(this.element);let i=this._scrollableElements.indexOf(this._container),o=this._scrollableElements.indexOf(e);return i>-1&&this._scrollableElements.splice(i,1),o>-1&&this._scrollableElements.splice(o,1),this._sortStrategy&&this._sortStrategy.withElementContainer(e),this._cachedShadowRoot=null,this._scrollableElements.unshift(e),this._container=e,this}getScrollableParents(){return this._scrollableElements}getItemIndex(e){return this._isDragging?this._sortStrategy.getItemIndex(e):this._draggables.indexOf(e)}getItemAtIndex(e){return this._isDragging?this._sortStrategy.getItemAtIndex(e):this._draggables[e]||null}isReceiving(){return this._activeSiblings.size>0}_sortItem(e,t,i,o){if(this.sortingDisabled||!this._domRect||!N1(this._domRect,$1,t,i))return;let r=this._sortStrategy.sort(e,t,i,o);r&&this.sorted.next({previousIndex:r.previousIndex,currentIndex:r.currentIndex,container:this,item:e})}_startScrollingIfNecessary(e,t){if(this.autoScrollDisabled)return;let i,o=Mi.NONE,r=Un.NONE;if(this._parentPositions.positions.forEach((s,a)=>{a===this._document||!s.clientRect||i||N1(s.clientRect,$1,e,t)&&([o,r]=IA(a,s.clientRect,this._direction,e,t),(o||r)&&(i=a))}),!o&&!r){let{width:s,height:a}=this._viewportRuler.getViewportSize(),l={width:s,height:a,top:0,right:s,bottom:a,left:0};o=q1(l,t),r=W1(l,e),i=window}i&&(o!==this._verticalScrollDirection||r!==this._horizontalScrollDirection||i!==this._scrollNode)&&(this._verticalScrollDirection=o,this._horizontalScrollDirection=r,this._scrollNode=i,(o||r)&&i?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}_stopScrolling(){this._stopScrollTimers.next()}_draggingStarted(){let e=this._container.style;this.beforeStarted.next(),this._isDragging=!0,this._initialScrollSnap=e.msScrollSnapType||e.scrollSnapType||``,e.scrollSnapType=e.msScrollSnapType=`none`,this._sortStrategy.start(this._draggables),this._cacheParentPositions(),this._viewportScrollSubscription.unsubscribe(),this._listenToScrollEvents()}_cacheParentPositions(){this._parentPositions.cache(this._scrollableElements),this._domRect=this._parentPositions.positions.get(this._container).clientRect}_reset(){this._isDragging=!1;let e=this._container.style;e.scrollSnapType=e.msScrollSnapType=this._initialScrollSnap,this._siblings.forEach(t=>t._stopReceiving(this)),this._sortStrategy.reset(),this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()}_startScrollInterval=()=>{this._stopScrolling(),Zf(0,Lc).pipe(co(this._stopScrollTimers)).subscribe(()=>{let e=this._scrollNode,t=this.autoScrollStep;this._verticalScrollDirection===Mi.UP?e.scrollBy(0,-t):this._verticalScrollDirection===Mi.DOWN&&e.scrollBy(0,t),this._horizontalScrollDirection===Un.LEFT?e.scrollBy(-t,0):this._horizontalScrollDirection===Un.RIGHT&&e.scrollBy(t,0)})};_isOverContainer(e,t){return this._domRect!=null&&S0(this._domRect,e,t)}_getSiblingContainerFromPosition(e,t,i){return this._siblings.find(o=>o._canReceive(e,t,i))}_canReceive(e,t,i){if(!this._domRect||!S0(this._domRect,t,i)||!this.enterPredicate(e,this))return!1;let o=this._getShadowRoot().elementFromPoint(t,i);return o?o===this._container||this._container.contains(o):!1}_startReceiving(e,t){let i=this._activeSiblings;!i.has(e)&&t.every(o=>this.enterPredicate(o,this)||this._draggables.indexOf(o)>-1)&&(i.add(e),this._cacheParentPositions(),this._listenToScrollEvents(),this.receivingStarted.next({initiator:e,receiver:this,items:t}))}_stopReceiving(e){this._activeSiblings.delete(e),this._viewportScrollSubscription.unsubscribe(),this.receivingStopped.next({initiator:e,receiver:this})}_listenToScrollEvents(){this._viewportScrollSubscription=this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(e=>{if(this.isDragging()){let t=this._parentPositions.handleScroll(e);t&&this._sortStrategy.updateOnScroll(t.top,t.left)}else this.isReceiving()&&this._cacheParentPositions()})}_getShadowRoot(){if(!this._cachedShadowRoot){let e=np(this._container);this._cachedShadowRoot=e||this._document}return this._cachedShadowRoot}_notifyReceivingSiblings(){let e=this._sortStrategy.getActiveItemsSnapshot().filter(t=>t.isDragging());this._siblings.forEach(t=>t._startReceiving(this,e))}};function q1(n,e){let{top:t,bottom:i,height:o}=n,r=o*G1;return e>=t-r&&e<=t+r?Mi.UP:e>=i-r&&e<=i+r?Mi.DOWN:Mi.NONE}function W1(n,e){let{left:t,right:i,width:o}=n,r=o*G1;return e>=t-r&&e<=t+r?Un.LEFT:e>=i-r&&e<=i+r?Un.RIGHT:Un.NONE}function IA(n,e,t,i,o){let r=q1(e,o),s=W1(e,i),a=Mi.NONE,l=Un.NONE;if(r){let c=n.scrollTop;r===Mi.UP?c>0&&(a=Mi.UP):n.scrollHeight-c>n.clientHeight&&(a=Mi.DOWN)}if(s){let c=n.scrollLeft;t===`rtl`?s===Un.RIGHT?c<0&&(l=Un.RIGHT):n.scrollWidth+c>n.clientWidth&&(l=Un.LEFT):s===Un.LEFT?c>0&&(l=Un.LEFT):n.scrollWidth-c>n.clientWidth&&(l=Un.RIGHT)}return[a,l]}var I0=new Me(`CDK_DRAG_PARENT`);var Y1=new Me(`CdkDragHandle`);var K1=(()=>{class n{element=w(St);_parentDrag=w(I0,{optional:!0,skipSelf:!0});_dragDropRegistry=w(lp);_stateChanges=new We;get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._stateChanges.next(this)}_disabled=!1;constructor(){this._parentDrag?._addHandle(this)}ngAfterViewInit(){if(!this._parentDrag){let t=this.element.nativeElement.parentElement;for(;t;){let i=this._dragDropRegistry.getDragDirectiveForNode(t);if(i){this._parentDrag=i,i._addHandle(this);break}t=t.parentElement}}}ngOnDestroy(){this._parentDrag?._removeHandle(this),this._stateChanges.complete()}static ɵfac=function(i){return new(i||n)};static ɵdir=oi({type:n,selectors:[[``,`cdkDragHandle`,``]],hostAttrs:[1,`cdk-drag-handle`],inputs:{disabled:[2,`cdkDragHandleDisabled`,`disabled`,Yo]},features:[oa([{provide:Y1,useExisting:n}])]})}return n})();var Z1=new Me(`CDK_DRAG_CONFIG`);var Q1=new Me(`CdkDropList`);var cp=(()=>{class n{element=w(St);dropContainer=w(Q1,{optional:!0,skipSelf:!0});_ngZone=w(Qt);_viewContainerRef=w(Qi);_dir=w(b0,{optional:!0});_changeDetectorRef=w(El);_selfHandle=w(Y1,{optional:!0,self:!0});_parentDrag=w(I0,{optional:!0,skipSelf:!0});_dragDropRegistry=w(lp);_destroyed=new We;_handles=new Er([]);_previewTemplate=null;_placeholderTemplate=null;_dragRef;data;lockAxis=null;rootElementSelector;boundaryElement;dragStartDelay;freeDragPosition;get disabled(){return this._disabled||!!(this.dropContainer&&this.dropContainer.disabled)}set disabled(t){this._disabled=t,this._dragRef.disabled=this._disabled}_disabled=!1;constrainPosition;previewClass;previewContainer;scale=1;started=new Zt;released=new Zt;ended=new Zt;entered=new Zt;exited=new Zt;dropped=new Zt;moved=new ut(t=>{let i=this._dragRef.moved.pipe(mi(o=>({source:this,pointerPosition:o.pointerPosition,event:o.event,delta:o.delta,distance:o.distance}))).subscribe(t);return()=>{i.unsubscribe()}});_injector=w(rn);constructor(){let t=this.dropContainer,i=w(Z1,{optional:!0});this._dragRef=TA(this._injector,this.element,{dragStartThreshold:i&&i.dragStartThreshold!=null?i.dragStartThreshold:5,pointerDirectionChangeThreshold:i&&i.pointerDirectionChangeThreshold!=null?i.pointerDirectionChangeThreshold:5,zIndex:i?.zIndex}),this._dragRef.data=this,this._dragDropRegistry.registerDirectiveNode(this.element.nativeElement,this),i&&this._assignDefaults(i),t&&(t.addItem(this),t._dropListRef.beforeStarted.pipe(co(this._destroyed)).subscribe(()=>{this._dragRef.scale=this.scale})),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}getPlaceholderElement(){return this._dragRef.getPlaceholderElement()}getRootElement(){return this._dragRef.getRootElement()}reset(){this._dragRef.reset()}resetToBoundary(){this._dragRef.resetToBoundary()}getFreeDragPosition(){return this._dragRef.getFreeDragPosition()}setFreeDragPosition(t){this._dragRef.setFreeDragPosition(t)}ngAfterViewInit(){An(()=>{this._updateRootElement(),this._setupHandlesListener(),this._dragRef.scale=this.scale,this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},{injector:this._injector})}ngOnChanges(t){let i=t.rootElementSelector,o=t.freeDragPosition;i&&!i.firstChange&&this._updateRootElement(),this._dragRef.scale=this.scale,o&&!o.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)}ngOnDestroy(){this.dropContainer&&this.dropContainer.removeItem(this),this._dragDropRegistry.removeDirectiveNode(this.element.nativeElement),this._ngZone.runOutsideAngular(()=>{this._handles.complete(),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()})}_addHandle(t){let i=this._handles.getValue();i.push(t),this._handles.next(i)}_removeHandle(t){let i=this._handles.getValue(),o=i.indexOf(t);o>-1&&(i.splice(o,1),this._handles.next(i))}_setPreviewTemplate(t){this._previewTemplate=t}_resetPreviewTemplate(t){t===this._previewTemplate&&(this._previewTemplate=null)}_setPlaceholderTemplate(t){this._placeholderTemplate=t}_resetPlaceholderTemplate(t){t===this._placeholderTemplate&&(this._placeholderTemplate=null)}_updateRootElement(){let t=this.element.nativeElement,i=t;this.rootElementSelector&&(i=t.closest!==void 0?t.closest(this.rootElementSelector):t.parentElement?.closest(this.rootElementSelector)),this._dragRef.withRootElement(i||t)}_getBoundaryElement(){let t=this.boundaryElement;return t?typeof t==`string`?this.element.nativeElement.closest(t):Bi(t):null}_syncInputs(t){t.beforeStarted.subscribe(()=>{if(!t.isDragging()){let i=this._dir,o=this.dragStartDelay,r=this._placeholderTemplate?{template:this._placeholderTemplate.templateRef,context:this._placeholderTemplate.data,viewContainer:this._viewContainerRef}:null,s=this._previewTemplate?{template:this._previewTemplate.templateRef,context:this._previewTemplate.data,matchSize:this._previewTemplate.matchSize,viewContainer:this._viewContainerRef}:null;t.disabled=this.disabled,t.lockAxis=this.lockAxis,t.scale=this.scale,t.dragStartDelay=typeof o==`object`&&o?o:ip(o),t.constrainPosition=this.constrainPosition,t.previewClass=this.previewClass,t.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(r).withPreviewTemplate(s).withPreviewContainer(this.previewContainer||`global`),i&&t.withDirection(i.value)}}),t.beforeStarted.pipe(Xf(1)).subscribe(()=>{if(this._parentDrag){t.withParent(this._parentDrag._dragRef);return}let i=this.element.nativeElement.parentElement;for(;i;){let o=this._dragDropRegistry.getDragDirectiveForNode(i);if(o){t.withParent(o._dragRef);break}i=i.parentElement}})}_handleEvents(t){t.started.subscribe(i=>{this.started.emit({source:this,event:i.event}),this._changeDetectorRef.markForCheck()}),t.released.subscribe(i=>{this.released.emit({source:this,event:i.event})}),t.ended.subscribe(i=>{this.ended.emit({source:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),t.entered.subscribe(i=>{this.entered.emit({container:i.container.data,item:this,currentIndex:i.currentIndex})}),t.exited.subscribe(i=>{this.exited.emit({container:i.container.data,item:this})}),t.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,isPointerOverContainer:i.isPointerOverContainer,item:this,distance:i.distance,dropPoint:i.dropPoint,event:i.event})})}_assignDefaults(t){let{lockAxis:i,dragStartDelay:o,constrainPosition:r,previewClass:s,boundaryElement:a,draggingDisabled:l,rootElementSelector:c,previewContainer:p}=t;this.disabled=l??!1,this.dragStartDelay=o||0,this.lockAxis=i||null,r&&(this.constrainPosition=r),s&&(this.previewClass=s),a&&(this.boundaryElement=a),c&&(this.rootElementSelector=c),p&&(this.previewContainer=p)}_setupHandlesListener(){this._handles.pipe(Jf(t=>{let i=t.map(o=>o.element);this._selfHandle&&this.rootElementSelector&&i.push(this.element),this._dragRef.withHandles(i)}),Mr(t=>Tr(...t.map(i=>i._stateChanges.pipe(qa(i))))),co(this._destroyed)).subscribe(t=>{let i=this._dragRef,o=t.element.nativeElement;t.disabled?i.disableHandle(o):i.enableHandle(o)})}static ɵfac=function(i){return new(i||n)};static ɵdir=oi({type:n,selectors:[[``,`cdkDrag`,``]],hostAttrs:[1,`cdk-drag`],hostVars:4,hostBindings:function(i,o){i&2&&q(`cdk-drag-disabled`,o.disabled)(`cdk-drag-dragging`,o._dragRef.isDragging())},inputs:{data:[0,`cdkDragData`,`data`],lockAxis:[0,`cdkDragLockAxis`,`lockAxis`],rootElementSelector:[0,`cdkDragRootElement`,`rootElementSelector`],boundaryElement:[0,`cdkDragBoundary`,`boundaryElement`],dragStartDelay:[0,`cdkDragStartDelay`,`dragStartDelay`],freeDragPosition:[0,`cdkDragFreeDragPosition`,`freeDragPosition`],disabled:[2,`cdkDragDisabled`,`disabled`,Yo],constrainPosition:[0,`cdkDragConstrainPosition`,`constrainPosition`],previewClass:[0,`cdkDragPreviewClass`,`previewClass`],previewContainer:[0,`cdkDragPreviewContainer`,`previewContainer`],scale:[2,`cdkDragScale`,`scale`,rC]},outputs:{started:`cdkDragStarted`,released:`cdkDragReleased`,ended:`cdkDragEnded`,entered:`cdkDragEntered`,exited:`cdkDragExited`,dropped:`cdkDragDropped`,moved:`cdkDragMoved`},exportAs:[`cdkDrag`],features:[oa([{provide:I0,useExisting:n}]),Xr]})}return n})();var H1=new Me(`CdkDropListGroup`);var dp=(()=>{class n{element=w(St);_changeDetectorRef=w(El);_scrollDispatcher=w(S1);_dir=w(b0,{optional:!0});_group=w(H1,{optional:!0,skipSelf:!0});_latestSortedRefs;_destroyed=new We;_scrollableParentsResolved=!1;static _dropLists=[];_dropListRef;connectedTo=[];data;orientation=`vertical`;id=w(op).getId(`cdk-drop-list-`);lockAxis=null;get disabled(){return this._disabled||!!this._group&&this._group.disabled}set disabled(t){this._dropListRef.disabled=this._disabled=t}_disabled=!1;sortingDisabled=!1;enterPredicate=()=>!0;sortPredicate=()=>!0;autoScrollDisabled=!1;autoScrollStep;elementContainerSelector=null;hasAnchor=!1;dropped=new Zt;entered=new Zt;exited=new Zt;sorted=new Zt;_unsortedItems=new Set;constructor(){let t=w(Z1,{optional:!0}),i=w(rn);this._dropListRef=kA(i,this.element),this._dropListRef.data=this,t&&this._assignDefaults(t),this._dropListRef.enterPredicate=(o,r)=>this.enterPredicate(o.data,r.data),this._dropListRef.sortPredicate=(o,r,s)=>this.sortPredicate(o,r.data,s.data),this._setupInputSyncSubscription(this._dropListRef),this._handleEvents(this._dropListRef),n._dropLists.push(this),this._group&&this._group._items.add(this)}addItem(t){this._unsortedItems.add(t),t._dragRef._withDropContainer(this._dropListRef),this._dropListRef.isDragging()&&this._syncItemsWithRef(this.getSortedItems().map(i=>i._dragRef))}removeItem(t){if(this._unsortedItems.delete(t),this._latestSortedRefs){let i=this._latestSortedRefs.indexOf(t._dragRef);i>-1&&(this._latestSortedRefs.splice(i,1),this._syncItemsWithRef(this._latestSortedRefs))}}getSortedItems(){return Array.from(this._unsortedItems).sort((t,i)=>t._dragRef.getVisibleElement().compareDocumentPosition(i._dragRef.getVisibleElement())&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)}ngOnDestroy(){let t=n._dropLists.indexOf(this);t>-1&&n._dropLists.splice(t,1),this._group&&this._group._items.delete(this),this._latestSortedRefs=void 0,this._unsortedItems.clear(),this._dropListRef.dispose(),this._destroyed.next(),this._destroyed.complete()}_setupInputSyncSubscription(t){this._dir&&this._dir.change.pipe(qa(this._dir.value),co(this._destroyed)).subscribe(i=>t.withDirection(i)),t.beforeStarted.subscribe(()=>{let i=T1(this.connectedTo).map(o=>{if(typeof o==`string`)return n._dropLists.find(s=>s.id===o);return o});if(this._group&&this._group._items.forEach(o=>{i.indexOf(o)===-1&&i.push(o)}),!this._scrollableParentsResolved){let o=this._scrollDispatcher.getAncestorScrollContainers(this.element).map(r=>r.getElementRef().nativeElement);this._dropListRef.withScrollableParents(o),this._scrollableParentsResolved=!0}if(this.elementContainerSelector){let o=this.element.nativeElement.querySelector(this.elementContainerSelector);t.withElementContainer(o)}t.disabled=this.disabled,t.lockAxis=this.lockAxis,t.sortingDisabled=this.sortingDisabled,t.autoScrollDisabled=this.autoScrollDisabled,t.autoScrollStep=ip(this.autoScrollStep,2),t.hasAnchor=this.hasAnchor,t.connectedTo(i.filter(o=>o&&o!==this).map(o=>o._dropListRef)).withOrientation(this.orientation)})}_handleEvents(t){t.beforeStarted.subscribe(()=>{this._syncItemsWithRef(this.getSortedItems().map(i=>i._dragRef)),this._changeDetectorRef.markForCheck()}),t.entered.subscribe(i=>{this.entered.emit({container:this,item:i.item.data,currentIndex:i.currentIndex})}),t.exited.subscribe(i=>{this.exited.emit({container:this,item:i.item.data}),this._changeDetectorRef.markForCheck()}),t.sorted.subscribe(i=>{this.sorted.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,container:this,item:i.item.data})}),t.dropped.subscribe(i=>{this.dropped.emit({previousIndex:i.previousIndex,currentIndex:i.currentIndex,previousContainer:i.previousContainer.data,container:i.container.data,item:i.item.data,isPointerOverContainer:i.isPointerOverContainer,distance:i.distance,dropPoint:i.dropPoint,event:i.event}),this._changeDetectorRef.markForCheck()}),Tr(t.receivingStarted,t.receivingStopped).subscribe(()=>this._changeDetectorRef.markForCheck())}_assignDefaults(t){let{lockAxis:i,draggingDisabled:o,sortingDisabled:r,listAutoScrollDisabled:s,listOrientation:a}=t;this.disabled=o??!1,this.sortingDisabled=r??!1,this.autoScrollDisabled=s??!1,this.orientation=a||`vertical`,this.lockAxis=i||null}_syncItemsWithRef(t){this._latestSortedRefs=t,this._dropListRef.withItems(t)}static ɵfac=function(i){return new(i||n)};static ɵdir=oi({type:n,selectors:[[``,`cdkDropList`,``],[`cdk-drop-list`]],hostAttrs:[1,`cdk-drop-list`],hostVars:7,hostBindings:function(i,o){i&2&&(Y(`id`,o.id),q(`cdk-drop-list-disabled`,o.disabled)(`cdk-drop-list-dragging`,o._dropListRef.isDragging())(`cdk-drop-list-receiving`,o._dropListRef.isReceiving()))},inputs:{connectedTo:[0,`cdkDropListConnectedTo`,`connectedTo`],data:[0,`cdkDropListData`,`data`],orientation:[0,`cdkDropListOrientation`,`orientation`],id:`id`,lockAxis:[0,`cdkDropListLockAxis`,`lockAxis`],disabled:[2,`cdkDropListDisabled`,`disabled`,Yo],sortingDisabled:[2,`cdkDropListSortingDisabled`,`sortingDisabled`,Yo],enterPredicate:[0,`cdkDropListEnterPredicate`,`enterPredicate`],sortPredicate:[0,`cdkDropListSortPredicate`,`sortPredicate`],autoScrollDisabled:[2,`cdkDropListAutoScrollDisabled`,`autoScrollDisabled`,Yo],autoScrollStep:[0,`cdkDropListAutoScrollStep`,`autoScrollStep`],elementContainerSelector:[0,`cdkDropListElementContainer`,`elementContainerSelector`],hasAnchor:[2,`cdkDropListHasAnchor`,`hasAnchor`,Yo]},outputs:{dropped:`cdkDropListDropped`,entered:`cdkDropListEntered`,exited:`cdkDropListExited`,sorted:`cdkDropListSorted`},exportAs:[`cdkDropList`],features:[oa([{provide:H1,useValue:void 0},{provide:Q1,useExisting:n}])]})}return n})();var NA=[`host/ready`,`session/state`,`project/list`,`session/activity`,`transcript/append`,`transcript/update`,`transcript/delta`,`transcript/replace`,`transcript/prepend`,`session/list`,`interaction/request`,`interaction/dismiss`,`notice`,`context/selection`,`context/selectionLive`,`composer/seed`,`host/command/result`,`error`,`terminal/output`,`terminal/exit`];function O0(n){return JSON.stringify(n)}function PA(n){return OA(n,NA)}function up(n){let e=Kl(n);return PA(e)?e:void 0}function Kl(n){if(typeof n==`string`)try{return JSON.parse(n)}catch{return}return n instanceof Uint8Array?Kl(new TextDecoder().decode(n)):n instanceof ArrayBuffer?Kl(new TextDecoder().decode(new Uint8Array(n))):n}function OA(n,e){if(typeof n!=`object`||n===null)return!1;let t=n.type;return typeof t==`string`&&e.includes(t)}function pp(n={cwd:``,name:`workspace`}){return{protocolVersion:22,connection:`connecting`,capabilities:null,state:{workspace:n,thinkingLevel:`off`,availableModels:[],availableThinkingLevels:[],availableCommands:[],streaming:!1,busy:!1,agentReady:!1,agentStarting:!1},items:[],sessions:[],activity:[],projects:[],pendingInteraction:null}}function X1(n,e,t){return s(r({},n),{connection:e,connectionDetail:t})}function J1(n,e){switch(e.type){case`host/ready`:return s(r({},n),{connection:`ready`,protocolVersion:e.payload.protocolVersion,capabilities:e.payload.capabilities,state:e.payload.state,frontend:e.payload.frontend??n.frontend});case`session/state`:return s(r({},n),{state:e.payload});case`transcript/append`:return s(r({},n),{items:[...n.items,e.payload]});case`transcript/update`:return s(r({},n),{items:AA(n.items,e.payload)});case`transcript/delta`:return s(r({},n),{items:RA(n.items,e.payload)});case`transcript/replace`:return s(r({},n),{items:[...e.payload.items]});case`transcript/prepend`:return s(r({},n),{items:[...e.payload.items,...n.items]});case`session/list`:return s(r({},n),{sessions:[...e.payload.sessions]});case`session/activity`:return s(r({},n),{activity:[...e.payload.sessions]});case`project/list`:return s(r({},n),{projects:[...e.payload.projects]});case`interaction/request`:return s(r({},n),{pendingInteraction:e.payload});case`interaction/dismiss`:return n.pendingInteraction?.requestId===e.payload.requestId?s(r({},n),{pendingInteraction:null}):n;case`notice`:return s(r({},n),{lastNotice:r({},e.payload)});case`error`:return s(r({},n),{lastError:r({},e.payload)});default:return n}}function AA(n,e){let t=n.findIndex(o=>o.id===e.id);if(t===-1)return[...n,e];let i=[...n];return i[t]=e,i}function RA(n,e){let t=n.findIndex(r=>r.id===e.id);if(t===-1)return n;let i=n[t];if(i.kind!==`assistant`)return n;let o=[...n];return o[t]=s(r({},i),{text:i.text+(e.text??``),thinking:i.thinking+(e.thinking??``),streaming:!0}),o}var LA=5e3;function ew(n){let e=pp(n.workspace??{cwd:``,name:`workspace`}),t=new Set,i=M=>{e=M;for(let V of[...t])V(e)},o=M=>{n.transport.send(M)},r$6=new Map,s=0,a=new Set,l=new Set,c=new Set,p=new Set,m=new Set,v=(M,V,W=LA)=>{s+=1;let pe=`host-${s}`;return new Promise(me=>{let we=setTimeout(()=>{r$6.delete(pe),me(void 0)},W);r$6.set(pe,{resolve:me,timer:we}),o({type:`host/command`,payload:{command:M,args:V,requestId:pe}})})},b=n.transport.onMessage(M=>{if(M.type===`host/command/result`){let V=r$6.get(M.payload.requestId);V&&(clearTimeout(V.timer),r$6.delete(M.payload.requestId),V.resolve(M.payload.ok?M.payload.data:void 0));return}if(M.type===`context/selection`){for(let V of[...a])V(M.payload);return}if(M.type===`context/selectionLive`){for(let V of[...l])V(M.payload);return}if(M.type===`composer/seed`){for(let V of[...c])V(M.payload);return}if(M.type===`terminal/output`){for(let V of[...p])V(M.payload);return}if(M.type===`terminal/exit`){for(let V of[...m])V(M.payload);return}i(J1(e,M))}),k=n.transport.onStatus((M,V)=>{i(X1(e,FA(M),M===`open`?`Waiting for the Morse host to answer…`:V))}),O={ready:M=>o({type:`client/ready`,payload:{protocolVersion:22,frontend:M??n.frontend}}),prompt:(M,V,W,pe)=>o({type:`chat/prompt`,payload:{text:M,mode:V,images:W,pins:pe}}),editMessage:(M,V)=>o({type:`chat/edit`,payload:{itemId:M,text:V}}),forkMessage:M=>o({type:`chat/fork`,payload:{itemId:M}}),hostCommand:(M,V,W)=>v(M,V,W),abort:()=>o({type:`chat/abort`,payload:{}}),newSession:M=>o({type:`session/new`,payload:{cwd:M}}),loadSession:(M,V)=>o({type:`session/load`,payload:{sessionId:M,cwd:V}}),activateSession:(M,V)=>o({type:`session/activate`,payload:{sessionId:M,cwd:V}}),closeSession:M=>o({type:`session/close`,payload:{sessionId:M}}),deleteSession:M=>o({type:`session/delete`,payload:{sessionId:M}}),compactSession:M=>o({type:`session/compact`,payload:{instructions:M}}),loadOlderHistory:()=>o({type:`history/load`,payload:{}}),requestSessions:()=>o({type:`session/list`,payload:{}}),requestProjects:()=>o({type:`project/list`,payload:{}}),refreshCommands:()=>o({type:`commands/refresh`,payload:{}}),refreshModels:()=>o({type:`models/refresh`,payload:{}}),openProject:M=>o({type:`project/open`,payload:{path:M}}),setModel:(M,V)=>o({type:`model/set`,payload:{provider:M,id:V}}),setThinkingLevel:M=>o({type:`thinking/set`,payload:{level:M}}),respond:M=>o({type:`interaction/respond`,payload:M}),openTerminal:(M,V)=>o({type:`terminal/open`,payload:r({terminalId:M},V)}),sendTerminal:(M,V)=>o({type:`terminal/input`,payload:{terminalId:M,data:V}}),resizeTerminal:(M,V,W)=>o({type:`terminal/resize`,payload:{terminalId:M,cols:V,rows:W}}),closeTerminal:M=>o({type:`terminal/close`,payload:{terminalId:M}})};return n.transport.connect(),O.ready(),{getView:()=>e,subscribe:M=>(t.add(M),()=>{t.delete(M)}),onContextSelection:M=>(a.add(M),()=>{a.delete(M)}),onContextSelectionLive:M=>(l.add(M),()=>{l.delete(M)}),onComposerSeed:M=>(c.add(M),()=>{c.delete(M)}),onTerminalOutput:M=>(p.add(M),()=>{p.delete(M)}),onTerminalExit:M=>(m.add(M),()=>{m.delete(M)}),actions:O,dispose:()=>{b(),k(),t.clear(),n.transport.dispose()}}}function FA(n){switch(n){case`open`:return`connecting`;case`connecting`:return`connecting`;case`error`:return`error`;case`closed`:return`closed`}}var VA=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;var tw=/<([^<>]+)>|\[([^\[\]]+)\]/g;var nw=/\$(\d+)|\$\{(\d+):/g;var jA=/\$(?:@|ARGUMENTS)|\$\{(?:@|ARGUMENTS)(?::|-)/;function BA(n){let e=[],t=``,i=null;for(let o of n)i!==null?o===i?i=null:t+=o:o===`"`||o===`'`?i=o:/\s/.test(o)?t.length>0&&(e.push(t),t=``):t+=o;return t.length>0&&e.push(t),e}function $A(n,e){let t=e.join(` `);return n.replace(/\$\{(\d+|ARGUMENTS|@):-([^}]*)\}|\$\{@:(\d+)(?::(\d+))?\}|\$(ARGUMENTS|@|\d+)/g,(i,o,r,s,a,l)=>{if(o!==void 0)return(o===`@`||o===`ARGUMENTS`?t:e[Number.parseInt(o,10)-1])||r;if(s!==void 0){let c=Number.parseInt(s,10)-1;return c<0&&(c=0),a!==void 0?e.slice(c,c+Number.parseInt(a,10)).join(` `):e.slice(c).join(` `)}return l===`ARGUMENTS`||l===`@`?t:e[Number.parseInt(l,10)-1]??``})}function HA(n){if(n===void 0)return[];let e=[];tw.lastIndex=0;let t,i=0;for(;(t=tw.exec(n))!==null;){i+=1;let o=(t[1]??t[2]??``).trim();e.push({id:`arg${i}`,label:o.length>0?o:`Argument ${i}`,required:t[1]!==void 0,index:i})}return e}function zA(n){let e=0;nw.lastIndex=0;let t;for(;(t=nw.exec(n))!==null;){let o=Number.parseInt(t[1]??t[2]??`0`,10);Number.isFinite(o)&&o>e&&(e=o)}let i=[];for(let o=1;o<=e;o+=1)i.push({id:`arg${o}`,label:`Argument ${o}`,required:!1,index:o});return i}function UA(n){let e=/^(['"])([\s\S]*)\1$/.exec(n);return e===null?n:e[2]}function A0(n){let e=VA.exec(n);if(e===null)return{body:n};let t=/^argument-hint:[ \t]*(.*)$/m.exec(e[1]);return{body:n.slice(e[0].length),argumentHint:t===null?void 0:UA(t[1].trim())}}function iw(n){let e=A0(n),t=HA(e.argumentHint),i=t.length>0?t:zA(e.body);if(i.length>0)return{body:e.body,arguments:i};if(jA.test(e.body))return{body:e.body,arguments:[{id:`arguments`,label:`Arguments`,required:!1}]}}function ow(n,e,t=``){let i=n.arguments.find(a=>a.index===void 0),o=i!==void 0?BA(e[i.id]??``):n.arguments.map(a=>(e[a.id]??``).trim()),r=$A(n.body,o),s=t.trim();return s.length===0?r:`${r.replace(/\s+$/,``)}
|
|
21
|
+
|
|
22
|
+
${s}`}var nr=class{messageListeners=new Set;statusListeners=new Set;onMessage(e){return this.messageListeners.add(e),()=>{this.messageListeners.delete(e)}}onStatus(e){return this.statusListeners.add(e),()=>{this.statusListeners.delete(e)}}emitMessage(e){for(let t of[...this.messageListeners])t(e)}emitStatus(e,t){for(let i of[...this.statusListeners])i(e,t)}};var rw;var sw=!1;function aw(){return typeof globalThis.acquireVsCodeApi==`function`}function GA(){let n=globalThis.acquireVsCodeApi;if(typeof n==`function`)return sw||(sw=!0,rw=n()),rw}var fp=class extends nr{kind=`vscode`;api=GA();listener=e=>{let t=up(e.data);t&&this.emitMessage(t)};connect(){if(!this.api){this.emitStatus(`error`,`Not running inside a VS Code webview.`);return}typeof window<`u`&&window.addEventListener(`message`,this.listener),this.emitStatus(`open`)}send(e){this.api?.postMessage(e)}dispose(){typeof window<`u`&&window.removeEventListener(`message`,this.listener),this.emitStatus(`closed`)}};var qA=8e3;var Zl=class extends nr{options;kind=`websocket`;socket;attempts=0;timer;disposed=!1;queue=[];constructor(e){super(),this.options=e}connect(){this.disposed=!1,this.open()}send(e){if(this.socket&&this.socket.readyState===1){this.socket.send(O0(e));return}this.queue.push(e)}dispose(){this.disposed=!0,this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0),this.socket?.close(),this.socket=void 0,this.emitStatus(`closed`)}open(){let e=this.options.WebSocketImpl??globalThis.WebSocket;if(!e){this.emitStatus(`error`,`WebSocket is not available in this runtime.`);return}this.emitStatus(`connecting`,this.options.url);let t=new e(this.options.url);this.socket=t,t.onopen=()=>{this.attempts=0,this.emitStatus(`open`);let i=this.queue.splice(0,this.queue.length);for(let o of i)t.send(O0(o))},t.onmessage=i=>{let o=up(Kl(i.data));o&&this.emitMessage(o)},t.onerror=()=>{this.emitStatus(`error`,`Cannot reach the Morse server at ${this.options.url}.`)},t.onclose=()=>{if(this.socket=void 0,this.disposed){this.emitStatus(`closed`);return}this.emitStatus(`closed`,`Connection lost — retrying…`),this.scheduleReconnect()}}scheduleReconnect(){if(this.options.reconnect===!1||this.timer!==void 0)return;let e=this.options.maxBackoffMs??qA,t=Math.min(e,500*2**this.attempts);this.attempts+=1,this.timer=setTimeout(()=>{this.timer=void 0,this.disposed||this.open()},t),this.timer.unref?.()}};var va={cwd:`/mock/workspace`,name:`mock-workspace`};var WA={hostKind:`server`,scope:uw()?`workspace`:`global`,editorContext:!1,nativeDialogs:!1,insertIntoEditor:!1,revealFile:!1,filePicker:!0,gitPanel:!0,fileUpload:!0,directoryPicker:!0,terminal:!0,mcp:!0,updateCheck:YA()};function YA(){return typeof location>`u`?!1:new URL(location.href,`http://localhost/`).searchParams.get(`update`)===`1`}var KA={"mock/mock-1":[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],"mock/mock-2":[`off`,`low`,`high`],"mock-cloud/mock-1":[`off`,`medium`,`high`],"mock-cloud/mock-3":[`off`]};function ZA(n,e){return KA[`${n}/${e}`]??[`off`,`low`,`high`]}var mp=class extends nr{kind=`memory`;timers=new Set;items=nR()?[]:iR();gitFiles=XA.files.map(e=>r({},e));gitSync={isRepo:!0,branch:`master`,upstream:`origin/master`,ahead:1,behind:0};sessions=pw();hot=new Set(this.sessions.slice(0,2).map(e=>e.id));terminals=new Set;mcpServers=[{name:`context7`,scope:`global`,source:`/mock/.pi/agent/mcp.json`,enabled:!0,exposure:`codemode`,transport:`http: https://mcp.context7.com/mcp`,state:`connected`,tools:[`resolve-library-id`,`query-docs`]},{name:`firecrawl`,scope:`global`,source:`/mock/.pi/agent/mcp.json`,enabled:!0,exposure:`codemode`,transport:`stdio: npx -y firecrawl-mcp`,state:`failed`,tools:[],error:`spawn npx ENOENT`},{name:`openviking`,scope:`project`,source:`/mock/workspace/.pi/mcp.json`,enabled:!1,exposure:`codemode`,transport:`http: http://localhost:1933/mcp`,state:`disabled`,tools:[]}];counter=100;disposed=!1;streaming=!1;state={workspace:va,model:{provider:`mock`,id:`mock-1`,name:`Mock Model`,contextWindow:1e6,maxTokens:32768},thinkingLevel:`low`,availableModels:[{provider:`mock`,id:`mock-1`,name:`Mock Model`,contextWindow:128e3},{provider:`mock`,id:`mock-2`,name:`Mock Model (fast)`,contextWindow:262144},{provider:`mock-cloud`,id:`mock-1`,name:`Mock Model`,contextWindow:2e5},{provider:`mock-cloud`,id:`mock-3`,name:`Mock Model (pro)`,contextWindow:1e6}],availableThinkingLevels:[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],availableCommands:[{name:`skill:codebase-memory`,description:`Query the knowledge graph`,source:`skill`},{name:`fix-tests`,description:`Fix failing tests`,source:`prompt`}],streaming:!1,usage:{inputTokens:56400,outputTokens:35200,totalTokens:91600,cacheReadTokens:28e5,cacheWriteTokens:12e3},lastUsage:{inputTokens:12400,outputTokens:668,totalTokens:13068,cacheReadTokens:5e5,cacheWriteTokens:0,reasoningTokens:1066},costUsd:.42,contextUsage:{tokens:79e3,contextWindow:1e6,percent:7.9},counts:{userMessages:10,assistantMessages:165,toolCalls:42,toolResults:42,totalMessages:200},busy:this.items.some(e=>e.kind===`tool`&&e.status===`running`),agentReady:!0,agentStarting:!1};connect(){this.disposed=!1,this.emitStatus(`open`,`in-memory mock host`),this.finishFixtureRun(),typeof location<`u`&&new URL(location.href).searchParams.get(`autorun`)&&this.schedule(()=>this.simulateRun(`Refactor the sidebar and make it responsive.`),1500)}finishFixtureRun(){let e=this.items.find(t=>t.kind===`tool`&&t.status===`running`);!e||e.kind!==`tool`||this.schedule(()=>{e.status=`ok`,e.durationMs=3100,this.emit({type:`transcript/update`,payload:r({},e)}),this.state=s(r({},this.state),{busy:!1}),this.emit({type:`session/state`,payload:this.state})},6e3)}send(e){switch(e.type){case`client/ready`:this.emit({type:`transcript/replace`,payload:{items:this.items}}),this.emit({type:`project/list`,payload:{projects:dw()}}),this.emit({type:`session/list`,payload:{sessions:this.sessions}}),this.emitActivity(),this.emit({type:`host/ready`,payload:r({protocolVersion:22,capabilities:WA,state:this.state},e.payload.frontend?{frontend:e.payload.frontend}:{})});return;case`chat/prompt`:this.simulateRun(e.payload.text);return;case`chat/abort`:this.abortRun();return;case`session/new`:{this.items=[],this.emit({type:`transcript/replace`,payload:{items:[]}});let t={id:this.nextId(`session`),title:`New session`,cwd:va.cwd,updatedAt:Date.now(),messageCount:0};this.sessions=[t,...this.sessions],this.hot.add(t.id),this.state=s(r({},this.state),{sessionId:t.id,sessionTitle:t.title,streaming:!1}),this.emit({type:`session/list`,payload:{sessions:this.sessions}}),this.emit({type:`session/state`,payload:this.state}),this.emitActivity();return}case`session/list`:this.emit({type:`session/list`,payload:{sessions:this.sessions}});return;case`project/list`:this.emit({type:`project/list`,payload:{projects:dw()}});return;case`project/open`:case`session/activate`:case`session/load`:this.notify(`info`,`Mock host: switched session.`);return;case`session/close`:this.notify(`warn`,`Mock host: closing sessions is a no-op.`);return;case`session/compact`:this.notify(`success`,`Mock host: context compacted.`);return;case`model/set`:{let t=this.state.availableModels.find(s=>s.provider===e.payload.provider&&s.id===e.payload.id),i=t?.provider??e.payload.provider,o=t?.id??e.payload.id,r$7=ZA(i,o);this.state=s(r({},this.state),{model:t?r({},t):{provider:i,id:o,name:o},availableThinkingLevels:r$7,thinkingLevel:r$7.includes(this.state.thinkingLevel)?this.state.thinkingLevel:r$7[0]??`off`}),this.emit({type:`session/state`,payload:this.state});return}case`thinking/set`:{let i=this.state.availableThinkingLevels.includes(e.payload.level)?e.payload.level:this.state.thinkingLevel;this.state=s(r({},this.state),{thinkingLevel:i}),this.emit({type:`session/state`,payload:this.state});return}case`terminal/open`:this.terminals.add(e.payload.terminalId),this.emit({type:`terminal/output`,payload:{terminalId:e.payload.terminalId,data:"Morse mock shell — no server here. Type `help` or any command.\n"}});return;case`terminal/input`:{if(!this.terminals.has(e.payload.terminalId))return;let t=e.payload.data.trim(),i=t===`help`?`Commands are simulated in the mock host.
|
|
23
|
+
`:`(mock) ${t||`·`} \u2014 0.0s, exit 0
|
|
24
|
+
`;this.emit({type:`terminal/output`,payload:{terminalId:e.payload.terminalId,data:i}});return}case`terminal/resize`:return;case`terminal/close`:this.terminals.delete(e.payload.terminalId)&&this.emit({type:`terminal/exit`,payload:{terminalId:e.payload.terminalId,code:0}});return;case`interaction/respond`:this.emit({type:`interaction/dismiss`,payload:{requestId:e.payload.requestId}});return;case`host/command`:if(e.payload.command===`listFiles`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{files:JA}}});return}if(e.payload.command===`uploadFile`&&e.payload.requestId){let t=typeof e.payload.args?.name==`string`?e.payload.args.name:`upload.bin`;this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{path:`.morse/uploads/${t}`,name:t,bytes:0}}});return}if(e.payload.command===`gitLog`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:QA}});return}if(e.payload.command===`gitStatus`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{isRepo:!0,files:this.gitFiles}}});return}if((e.payload.command===`gitStage`||e.payload.command===`gitUnstage`)&&e.payload.requestId){this.applyGitMutation(e.payload.command,e.payload.args?.paths),this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{isRepo:!0,files:this.gitFiles}}});return}if(e.payload.command===`gitDiff`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{path:String(e.payload.args?.path??``),diff:lw}}});return}if(e.payload.command===`gitCommitFiles`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{isRepo:!0,hash:String(e.payload.args?.hash??``),files:this.gitFiles}}});return}if(e.payload.command===`gitCommitDiff`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{path:String(e.payload.args?.path??``),diff:lw}}});return}if(e.payload.command===`gitSync`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:this.gitSync}});return}if((e.payload.command===`gitPull`||e.payload.command===`gitPush`)&&e.payload.requestId){this.gitSync=e.payload.command===`gitPull`?s(r({},this.gitSync),{ahead:this.gitSync.ahead+this.gitSync.behind,behind:0}):s(r({},this.gitSync),{ahead:0}),this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:this.gitSync}});return}if(e.payload.command===`gitCommit`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{ok:!0}}});return}if(e.payload.command===`gitBranches`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{isRepo:!0,current:this.gitSync.branch,local:[`master`,`dev`,`feat/mock`],remote:[`origin/master`,`origin/dev`],tags:[`v0.9.5`,`v0.9.4`]}}});return}if(e.payload.command===`gitCheckout`&&e.payload.requestId){let t=String(e.payload.args?.branch??``);t.length>0&&(this.gitSync=s(r({},this.gitSync),{branch:t})),this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{ok:!0}}});return}if(e.payload.command===`mcpStatus`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{servers:this.mcpServers,errors:[]}}});return}if(e.payload.command===`mcpAdd`&&e.payload.requestId){let t=String(e.payload.args?.name??`server`),i=e.payload.args?.type===`http`;this.mcpServers=[...this.mcpServers.filter(o=>o.name!==t),{name:t,scope:e.payload.args?.scope===`project`?`project`:`global`,source:`/mock/.pi/agent/mcp.json`,enabled:!0,exposure:`codemode`,transport:i?`http: ${String(e.payload.args?.url??``)}`:`stdio: ${String(e.payload.args?.command??``)}`,state:`connected`,tools:[]}],this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{ok:!0,path:`/mock/.pi/agent/mcp.json`}}});return}if(e.payload.command===`mcpRemove`&&e.payload.requestId){let t=String(e.payload.args?.name??``);e.payload.args?.scope===`project`?this.mcpServers=this.mcpServers.map(o=>o.name===t&&o.scope===`project`?s(r({},o),{scope:`global`,override:void 0}):o):this.mcpServers=this.mcpServers.filter(o=>o.name!==t),this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{ok:!0}}});return}if(e.payload.command===`mcpSetEnabled`&&e.payload.requestId){let t=String(e.payload.args?.name??``),i=e.payload.args?.enabled===!0,o=e.payload.args?.scope;this.mcpServers=this.mcpServers.map(r$8=>r$8.name!==t?r$8:o===`project`&&r$8.scope!==`project`?i?s(r({},r$8),{enabled:!0,override:void 0}):s(r({},r$8),{enabled:!1,override:`/mock/workspace/.pi/mcp.json`}):s(r({},r$8),{enabled:i,state:i?`connected`:`disabled`})),this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:{ok:!0}}});return}if(e.payload.command===`listDirectories`&&e.payload.requestId){this.emit({type:`host/command/result`,payload:{requestId:e.payload.requestId,ok:!0,data:tR(e.payload.args?.path)}});return}this.notify(`warn`,`The mock host does not implement "${e.payload.command}".`);return;default:return}}dispose(){this.disposed=!0,this.abortRun(),this.emitStatus(`closed`)}applyGitMutation(e,t){if(!Array.isArray(t))return;let i=new Set(t.filter(o=>typeof o==`string`));this.gitFiles=this.gitFiles.map(o=>{if(!i.has(o.path))return o;let r$9=o.status[0]??` `,s$4=o.status[1]??` `;if(e===`gitStage`){let a=s$4===`?`?`A`:s$4===` `?r$9:s$4;return s(r({},o),{status:`${a} `})}return r$9===`A`?s(r({},o),{status:`??`}):s(r({},o),{status:` ${s$4===` `?r$9:s$4}`})})}simulateRun(e){if(this.streaming){this.notify(`warn`,`A mock run is already streaming.`);return}this.streaming=!0,this.appendItem({kind:`user`,id:this.nextId(`user`),at:Date.now(),text:e}),this.emit({type:`session/state`,payload:s(r({},this.state),{streaming:!0})}),this.emitActivity();let t=0;for(let s of[{thinking:`Let me find where the sidebar is built before I touch anything.`,tool:{name:`bash`,title:`bash: ls packages/ui-angular/src/app`,output:`app.css app.html app.ts chat/ core/ nav/`}},{thinking:`Found it. Now check the navigation component and the styles it relies on.`,tool:{name:`read`,title:`read: packages/ui-angular/src/app/nav/session-nav.ts`,output:`1 import { Component } from "@angular/core";
|
|
25
|
+
2 ... 38 lines`}}]){let a=this.nextId(`assistant`);this.schedule(()=>{this.appendItem({kind:`assistant`,id:a,at:Date.now(),text:``,thinking:``,streaming:!0,model:this.state.model?.name})},t),t+=40;for(let p of cw(s.thinking)){let m=p;this.schedule(()=>{this.emit({type:`transcript/delta`,payload:{id:a,thinking:m}})},t),t+=55}let l=this.nextId(`tool`);this.schedule(()=>{this.updateItem({kind:`assistant`,id:a,at:Date.now(),text:``,thinking:s.thinking,streaming:!1,model:this.state.model?.name}),this.appendItem({kind:`tool`,id:l,at:Date.now(),name:s.tool.name,title:s.tool.title,status:`running`})},t),t+=900;let c=t;this.schedule(()=>{this.updateItem({kind:`tool`,id:l,at:Date.now(),name:s.tool.name,title:s.tool.title,status:`ok`,output:s.tool.output,durationMs:c})},t),t+=200}let o=`Mock host received: "${e}".
|
|
26
|
+
|
|
27
|
+
This response is produced in the browser, with no pi process and no server, so you can iterate on the frontend (or a new frontend framework) freely.`,r$10=this.nextId(`assistant`);this.schedule(()=>{this.appendItem({kind:`assistant`,id:r$10,at:Date.now(),text:``,thinking:``,streaming:!0,model:this.state.model?.name})},t),t+=40;for(let s of cw(o)){let a=s;this.schedule(()=>{this.emit({type:`transcript/delta`,payload:{id:r$10,text:a}})},t),t+=55}this.schedule(()=>{this.streaming=!1,this.updateItem({kind:`assistant`,id:r$10,at:Date.now(),text:o,thinking:``,streaming:!1,model:this.state.model?.name}),this.emit({type:`session/state`,payload:s(r({},this.state),{streaming:!1})}),this.emitActivity()},t+80)}appendItem(e){this.items=[...this.items,e],this.emit({type:`transcript/append`,payload:e})}updateItem(e){this.items=this.items.map(t=>t.id===e.id?e:t),this.emit({type:`transcript/update`,payload:e})}abortRun(){for(let e of this.timers)clearTimeout(e);this.timers.clear(),this.streaming&&(this.streaming=!1,this.emitActivity())}notify(e,t){this.emit({type:`notice`,payload:{level:e,text:t,at:Date.now()}})}schedule(e,t){let i=setTimeout(()=>{this.timers.delete(i),this.disposed||e()},t);this.timers.add(i)}nextId(e){return this.counter+=1,`mock-${e}-${this.counter}`}emitActivity(){let e=this.sessions.filter(t=>this.hot.has(t.id)).slice(0,4).map(t=>({sessionKey:t.id,streaming:this.streaming,busy:!1,agentReady:!0,agentStarting:!1}));this.emit({type:`session/activity`,payload:{sessions:e}})}emit(e){this.emitMessage(e)}};var QA={isRepo:!0,root:`/mock/workspace`,branch:`main`,commits:[_a(`f1a2b3c4`,`Add the git panel to the browser host`,[`e2f3a4b5`],[`HEAD -> main`],2),_a(`e2f3a4b5`,`Merge branch feature/graph`,[`d3e4f5a6`,`c4d5e6f7`],[`origin/main`],5),_a(`d3e4f5a6`,`Wire the graph lanes`,[`b5c6d7e8`],[],8),_a(`c4d5e6f7`,`Fix the lane colours in light mode`,[`b5c6d7e8`],[],11),_a(`b5c6d7e8`,`Bump the protocol version`,[`a6b7c8d9`],[`tag: v0.8.0`],26),_a(`a6b7c8d9`,`Initial commit`,[],[],52)]};function _a(n,e,t,i,o){return{hash:n,shortHash:n.slice(0,7),parents:t,refs:i,author:`Morse Dev`,date:new Date(Date.now()-o*36e5).toISOString(),subject:e}}var XA={isRepo:!0,files:[{path:`README.md`,status:` M`},{path:`package.json`,status:` M`},{path:`packages/protocol/src/wire.ts`,status:`A `},{path:`packages/ui-angular/src/app/core/markdown.ts`,status:`??`}]};var lw=[`diff --git a/README.md b/README.md`,`index 1111111..2222222 100644`,`--- a/README.md`,`+++ b/README.md`,`@@ -1,4 +1,5 @@`,` # Morse`,` `,`-An old line`,`+A new line`,`+A line that was added`,` A line that stayed`,``].join(`
|
|
28
|
+
`);var JA=[`AGENTS.md`,`README.md`,`package.json`,`packages/core/src/chat/service.ts`,`packages/core/src/domain.ts`,`packages/core/src/session/service.ts`,`packages/host-runtime/src/session-controller.ts`,`packages/protocol/src/wire.ts`,`packages/ui-angular/src/app/app.ts`,`packages/ui-angular/src/app/chat/chat-composer/chat-composer.ts`,`packages/ui-angular/src/app/core/markdown.ts`,`packages/ui-runtime/src/client.ts`];var eR={"/mock":[{name:`home`,path:`/mock/home`},{name:`projects`,path:`/mock/projects`},{name:`workspace`,path:`/mock/workspace`}],"/mock/home":[{name:`projects`,path:`/mock/home/projects`}],"/mock/home/projects":[],"/mock/projects":[{name:`morse`,path:`/mock/projects/morse`},{name:`other`,path:`/mock/projects/other`}],"/mock/projects/morse":[{name:`packages`,path:`/mock/projects/morse/packages`}],"/mock/projects/other":[],"/mock/projects/morse/packages":[],"/mock/workspace":[]};function tR(n){let e=typeof n==`string`&&n.trim().length>0?n.trim():va.cwd;return{path:e,parent:e===`/mock`?void 0:e.slice(0,e.lastIndexOf(`/`))||`/`,directories:eR[e]??[],isGitRepo:e===`/mock/projects/morse`,canOpen:!0,roots:[{name:`mock`,path:`/mock`},{name:`workspace`,path:va.cwd}]}}function cw(n){return n.match(/.{1,14}/g)??[]}function uw(){return typeof location>`u`?!1:new URL(location.href).searchParams.get(`scope`)===`workspace`}function nR(){return typeof location>`u`?!1:new URL(location.href).searchParams.get(`empty`)===`1`}function pw(){let n=Date.now(),e=[{id:`/mock/morse/2026-01-01_ui-overhaul.jsonl`,title:`Sidebar overhaul: projects, sessions, composer`,cwd:va.cwd,updatedAt:n-6e4,messageCount:12},{id:`/mock/morse/2026-01-01_scrollbar.jsonl`,title:`Improve native scrollbar: compact and themed`,cwd:va.cwd,updatedAt:n-42e4,messageCount:6}];return uw()?e:[...e,{id:`/mock/morse/2026-01-01_providers.jsonl`,title:`Add provider picker with context sizes`,cwd:`/mock/morse`,updatedAt:n-12e5,messageCount:24},{id:`/mock/morse/2026-01-01_greeting.jsonl`,title:`Greeting`,cwd:`/mock/morse`,updatedAt:n-108e5,messageCount:2},{id:`/mock/eigen-morph/2026-01-01_manifest.jsonl`,title:`Manifest report-worker untuk production`,cwd:`/mock/eigen-morph`,updatedAt:n-936e5,messageCount:31}]}function dw(){let n=new Map;for(let e of pw()){let t=n.get(e.cwd);if(t){t.sessionCount+=1,t.lastUsedAt=Math.max(t.lastUsedAt,e.updatedAt);continue}n.set(e.cwd,{path:e.cwd,name:e.cwd.split(`/`).filter(Boolean).at(-1)??e.cwd,sessionCount:1,lastUsedAt:e.updatedAt})}return[...n.values()].sort((e,t)=>t.lastUsedAt-e.lastUsedAt)}function iR(){let n=Date.now(),e=[`Plan:`,``,`1. **Navigation** — projects → sessions, collapsible, with a session search and a project filter.`,"2. **Header** — session title, scope, status badge, `Compact`, and the sidebar fold.",`3. **Composer** — model + thinking + send in one control row.`,``,`Two shapes, because the hosts differ: the browser host is *global* (many projects), VS Code is scoped to the folders it has open.`,``,"```ts",`export class SessionNav {`,` protected readonly scope = computed(() => this.morse.capabilities()?.scope ?? 'global');`,``,` protected readonly groups = computed(() => {`,` return this.scope() === "global"`,` ? this.projects().map((project) => ({ ... }))`,` : [{ path: this.workspace().cwd, name: this.workspace().name, sessions }];`,` });`,`}`,"```",``,`And a small overview of what each scope renders:`,``,`| Host | Scope | Navigation shape |`,`|---|---|---|`,"| NestJS browser | `global` | projects → sessions |","| VS Code | `workspace` | one group (open folders) |",``,"See `docs/FRONTENDS.md` for the rule that frontends must read capabilities instead of guessing."].join(`
|
|
29
|
+
`);return[{kind:`user`,id:`mock-seed-user-1`,at:n-15e4,text:`Refactor the sidebar to match the reference, make it responsive, and render markdown properly.`},{kind:`tool`,id:`mock-seed-tool-1`,at:n-14e4,name:`bash`,title:`bash: ls packages/ui-angular/src/app`,status:`ok`,output:`app.css app.html app.ts chat/ core/ nav/`,durationMs:12},{kind:`tool`,id:`mock-seed-tool-2`,at:n-138e3,name:`read`,title:`read: packages/ui-angular/src/app/app.css`,status:`ok`,output:`42 lines, 4 media queries`,durationMs:8},{kind:`tool`,id:`mock-seed-tool-3`,at:n-13e4,name:`edit`,title:`edit: packages/ui-angular/src/app/nav/session-nav.ts`,status:`ok`,output:`+26 -7`,durationMs:190},{kind:`tool`,id:`mock-seed-tool-4`,at:n-128e3,name:`edit`,title:`edit: packages/ui-angular/src/app/app.css`,status:`ok`,output:`+18 -4`,durationMs:140},{kind:`tool`,id:`mock-seed-tool-5`,at:n-1800,name:`bash`,title:`bash: npm run build:ui`,status:`running`,output:`Application bundle generation complete. [1.2 seconds]`},{kind:`assistant`,id:`mock-seed-assistant-1`,at:n-1e5,text:e,thinking:`The webview is narrow, so the navigation has to become a drawer below ~760px instead of a second column.`,streaming:!1,model:`Mock Model`},{kind:`notice`,id:`mock-seed-notice-1`,at:n-6e4,level:`info`,text:`Everything is wired through the same wire protocol — try ?scope=workspace to see the VS Code shape.`}]}function fw(n={}){if(aw())return new fp;let e=n.href??(typeof location<`u`?location.href:`http://localhost/`),t=new URL(e,`http://localhost/`);if(n.forceMock===!0||t.searchParams.get(`mock`)===`1`)return new mp;let i=t.searchParams.get(`server`);if(i)return new Zl({url:i,WebSocketImpl:n.WebSocketImpl});let o=t.protocol===`https:`,r=n.websocketPath??`/ws`;return new Zl({url:`${o?`wss`:`ws`}://${t.host}${r}`,WebSocketImpl:n.WebSocketImpl})}var R0={images:[],pins:[],mentions:[]};var Zn=class n{sets=N({});scope=N(``);live=N(null);message=N(null);counter=0;images=C(()=>this.current().images);pins=C(()=>this.current().pins);livePreview=this.live.asReadonly();mentions=C(()=>this.current().mentions);notice=this.message.asReadonly();count=C(()=>this.images().length+this.pins().length+this.mentions().length);use(e){e!==this.scope()&&(this.scope.set(e),this.live.set(null))}isEmpty(e){let t=this.sets()[e]??R0;return t.images.length===0&&t.pins.length===0&&t.mentions.length===0}rekey(e,t){let i=this.sets()[e];i!==void 0&&(this.sets.update(o=>{let r$11=r({},o);return delete r$11[e],r$11[t]=i,r$11}),this.scope()===e&&this.scope.set(t))}forget(e){e in this.sets()&&this.sets.update(t=>{let i=r({},t);return delete i[e],i})}snapshot(){let e={};for(let[t,i]of Object.entries(this.sets()))e[t]={images:i.images.map(o=>r({},o)),pins:i.pins.map(o=>r({},o)),mentions:[...i.mentions]};return e}restore(e){let t=sR(e);if(t!==void 0){this.sets.update(i=>{let o=r({},t);for(let[r,s]of Object.entries(i))o[r]=s;return o});for(let i of Object.values(t))for(let o of[...i.images,...i.pins])this.counter=Math.max(this.counter,rR(o.id));this.live.set(null)}}current(){return this.sets()[this.scope()]??R0}patch(e){let t=this.scope(),i=this.sets()[t]??R0;this.sets.update(o=>s(r({},o),{[t]:r(r({},i),e)}))}async read(e){let t=[],i=[];for(let o of e){if(!o.type.startsWith(`image/`)){i.push(o.name);continue}let r=await L0(o);if(!r){i.push(o.name);continue}this.counter+=1,t.push({id:`attachment-${this.counter}`,name:o.name||`image-${this.counter}.png`,mimeType:o.type,data:r,bytes:o.size})}return{images:t,skipped:i}}add(e){e.length!==0&&this.patch({images:[...this.current().images,...e]})}async accept(e){let{images:t,skipped:i}=await this.read(e);return this.add(t),{attached:t.length,skipped:i}}addMentions(e){let t=e.map(i=>i.trim()).filter(i=>i.length>0);t.length!==0&&this.patch({mentions:[...this.current().mentions,...t]})}seed(e,t){e.length>0&&this.add(e.map((i,o)=>{this.counter+=1;let s=(i.mimeType.split(`/`)[1]?.toLowerCase()??``).replace(/[^a-z0-9]/g,``)||`png`;return{id:`seed-${this.counter}`,name:o===0?`image.${s}`:`image-${o+1}.${s}`,mimeType:i.mimeType,data:i.data,bytes:Math.floor(i.data.length*3/4)}}));for(let i of t)this.pin({path:i.path,startLine:i.startLine,endLine:i.endLine})}setPinRange(e,t){this.patch({pins:this.current().pins.map(i=>i.id===e?s(r({},i),{startLine:t.startLine,endLine:t.endLine}):i)})}pin(e,t){if(e.path.length===0)return``;if(e.startLine===void 0){let v=this.current().pins.find(k=>k.path===e.path&&k.startLine===void 0);if(v!==void 0)return v.id;this.counter+=1;let b=`pin-${this.counter}`;return this.patch({pins:[...this.current().pins,s(r({},e),{id:b})]}),b}let i=this.current().pins,o=e.startLine,r$12=e.endLine??e.startLine,s$5=new Set(t===void 0?[]:[t]),a,l=!0;for(;l;){l=!1;for(let v of i){if(s$5.has(v.id)||v.path!==e.path||v.startLine===void 0)continue;let b=v.startLine,k=v.endLine??b;b<=r$12+1&&k+1>=o&&(o=Math.min(o,b),r$12=Math.max(r$12,k),s$5.add(v.id),a??=v.id,l=!0)}}this.counter+=1;let c={id:t??a??`pin-${this.counter}`,path:e.path,startLine:o,endLine:r$12>o?r$12:void 0},p=[],m=!1;for(let v of i){if(s$5.has(v.id)){m||(p.push(c),m=!0);continue}p.push(v)}return m||p.push(c),this.patch({pins:p}),c.id}removePin(e){this.patch({pins:this.current().pins.filter(t=>t.id!==e)})}setLivePreview(e){if(e===null||e.path.length===0||e.startLine===void 0){this.live.set(null);return}let t=this.live();t&&t.path===e.path&&t.startLine===e.startLine&&t.endLine===e.endLine||this.live.set({id:`live-preview`,path:e.path,startLine:e.startLine,endLine:e.endLine})}lockLivePreview(){let e=this.live();e&&(this.live.set(null),this.pin({path:e.path,startLine:e.startLine,endLine:e.endLine}))}remove(e){this.patch({images:this.current().images.filter(t=>t.id!==e)})}takeImages(){let e=this.current().images.map(({data:t,mimeType:i})=>({data:t,mimeType:i}));return this.patch({images:[]}),e}takePins(){let e=this.current().pins.map(({path:t,startLine:i,endLine:o})=>{let r={path:t};return i!==void 0&&(r.startLine=i),o!==void 0&&(r.endLine=o),r});return this.patch({pins:[]}),e}takeMentions(){let e=this.current().mentions;return this.patch({mentions:[]}),e}clear(){this.patch({images:[],pins:[],mentions:[]}),this.live.set(null)}say(e,t){this.message.set({level:e,text:t,at:Date.now()})}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function L0(n){return new Promise(e=>{if(typeof FileReader>`u`){e(void 0);return}let t=new FileReader;t.onerror=()=>e(void 0),t.onload=()=>{let i=t.result;if(typeof i!=`string`){e(void 0);return}let o=i.indexOf(`,`);e(o===-1?void 0:i.slice(o+1))},t.readAsDataURL(n)})}function rR(n){let e=/(\d+)$/.exec(n);return e===null?0:Number.parseInt(e[1],10)}function sR(n){if(typeof n!=`object`||n===null||Array.isArray(n))return;let e={};for(let[t,i]of Object.entries(n)){let o=aR(i);o!==void 0&&!dR(o)&&(e[t]=o)}return e}function aR(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.images,i=e.pins,o=e.mentions;return{images:Array.isArray(t)?t.flatMap(lR):[],pins:Array.isArray(i)?i.flatMap(cR):[],mentions:Array.isArray(o)?o.filter(l=>typeof l==`string`):[]}}function lR(n){if(typeof n!=`object`||n===null)return[];let e=n,t=e.id,i=e.name,o=e.mimeType,r=e.data;if(typeof t!=`string`||typeof i!=`string`||typeof o!=`string`||typeof r!=`string`)return[];let s=e.bytes;return[{id:t,name:i,mimeType:o,data:r,bytes:typeof s==`number`?s:0}]}function cR(n){if(typeof n!=`object`||n===null)return[];let e=n,t=e.id,i=e.path;if(typeof t!=`string`||typeof i!=`string`)return[];let o=e.startLine,r$13=e.endLine;return[r(r({id:t,path:i},typeof o==`number`?{startLine:o}:{}),typeof r$13==`number`?{endLine:r$13}:{})]}function dR(n){return n.images.length===0&&n.pins.length===0&&n.mentions.length===0}var ir=class n{attachments=w(Zn);texts=N({});key=N(``);text=C(()=>this.texts()[this.key()]??``);use(e){let t=e??``;t!==this.key()&&(this.key.set(t),this.attachments.use(t))}setText(e){this.texts.update(t=>s(r({},t),{[this.key()]:e}))}updateText(e){this.setText(e(this.text()))}isEmpty(e){return(this.texts()[e]??``).length===0&&this.attachments.isEmpty(e)}rekey(e,t){this.texts.update(i=>{let o=i[e];if(o===void 0)return i;let r$14=r({},i);return delete r$14[e],r$14[t]=o,r$14}),this.attachments.rekey(e,t),this.key()===e&&this.key.set(t)}forget(e){this.texts.update(t=>{if(!(e in t))return t;let i=r({},t);return delete i[e],i}),this.attachments.forget(e)}snapshot(){return{texts:r({},this.texts()),attachments:this.attachments.snapshot()}}restore(e){let t=uR(e);t!==void 0&&(this.texts.update(i=>r(r({},t.texts),i)),this.attachments.restore(t.attachments))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function uR(n){if(typeof n!=`object`||n===null)return;let e=n,t={},i=e.texts;if(typeof i==`object`&&i!==null)for(let[o,r]of Object.entries(i))typeof r==`string`&&r.length>0&&(t[o]=r);return{texts:t,attachments:e.attachments}}var mw=new Me(`morse.transport`,{providedIn:`root`,factory:()=>fw()});var hw={name:`@morse/ui-angular`,version:`0.14.0`};var pR=6e3;var Ie=class n{transport=w(mw);destroyRef=w(He);view=N(pp());client;actions;slowConnectionTimer;connection=C(()=>this.view().connection);connectionDetail=C(()=>this.view().connectionDetail);protocolVersion=C(()=>this.view().protocolVersion);frontend=C(()=>this.view().frontend);version=C(()=>this.frontend()?.version??hw.version);slowConnection=N(!1);capabilities=C(()=>this.view().capabilities);state=C(()=>this.view().state);items=C(()=>this.view().items);projects=C(()=>this.view().projects);sessions=C(()=>this.view().sessions);activity=C(()=>this.view().activity);sessionActivity=C(()=>{let e=new Map;for(let t of this.view().activity)e.set(t.sessionKey,t);return e});pendingInteraction=C(()=>this.view().pendingInteraction);lastNotice=C(()=>this.view().lastNotice);lastError=C(()=>this.view().lastError);agentReady=C(()=>this.view().state.agentReady);agentStarting=C(()=>this.view().state.agentStarting);agentError=C(()=>this.view().state.agentError);agentFailure=C(()=>this.view().state.agentFailure);running=C(()=>this.view().state.streaming||this.view().state.busy);workspace=C(()=>this.view().state.workspace);model=C(()=>this.view().state.model);thinkingLevel=C(()=>this.view().state.thinkingLevel);availableModels=C(()=>this.view().state.availableModels);availableThinkingLevels=C(()=>this.view().state.availableThinkingLevels);availableCommands=C(()=>this.view().state.availableCommands);usage=C(()=>this.view().state.usage);hasOlderHistory=C(()=>this.view().state.hasOlderHistory===!0);loadingOlderHistory=C(()=>this.view().state.loadingOlderHistory===!0);constructor(){this.client=ew({transport:this.transport,frontend:hw}),this.actions=this.client.actions;let e=this.client.getView();this.view.set(e),this.trackSlowConnection(e.connection),this.client.subscribe(t=>{this.view.set(t),this.trackSlowConnection(t.connection)}),this.destroyRef.onDestroy(()=>{this.clearSlowConnectionTimer(),this.client.dispose()})}trackSlowConnection(e){if(e!==`connecting`){this.clearSlowConnectionTimer(),this.slowConnection.set(!1);return}this.slowConnectionTimer===void 0&&(this.slowConnectionTimer=setTimeout(()=>{this.slowConnection.set(!0)},pR))}clearSlowConnectionTimer(){this.slowConnectionTimer!==void 0&&(clearTimeout(this.slowConnectionTimer),this.slowConnectionTimer=void 0)}prompt(e,t=`new`,i,o){this.actions.prompt(e,t,i,o)}editMessage(e,t){this.actions.editMessage(e,t)}forkMessage(e){this.actions.forkMessage(e)}onComposerSeed(e){return this.client.onComposerSeed(e)}onContextSelection(e){return this.client.onContextSelection(e)}onContextSelectionLive(e){return this.client.onContextSelectionLive(e)}ready(){this.actions.ready()}abort(){this.actions.abort()}newSession(e){this.actions.newSession(e)}openProject(e){this.actions.openProject(e)}requestProjects(){this.actions.requestProjects()}activateSession(e,t){this.actions.activateSession(e,t)}closeSession(e){this.actions.closeSession(e)}deleteSession(e){this.actions.deleteSession(e)}compactSession(e){this.actions.compactSession(e)}loadOlderHistory(){this.actions.loadOlderHistory()}loadSession(e){this.actions.loadSession(e)}requestSessions(){this.actions.requestSessions()}refreshCommands(){this.actions.refreshCommands()}refreshModels(){this.actions.refreshModels()}setModel(e,t){this.actions.setModel(e,t)}setThinkingLevel(e){this.actions.setThinkingLevel(e)}respond(e){this.actions.respond(e)}hostCommand(e,t){this.actions.hostCommand(e,t)}requestHostCommand(e,t,i){return this.actions.hostCommand(e,t,i)}openTerminal(e,t){this.actions.openTerminal(e,t)}sendTerminal(e,t){this.actions.sendTerminal(e,t)}resizeTerminal(e,t,i){this.actions.resizeTerminal(e,t,i)}closeTerminal(e){this.actions.closeTerminal(e)}onTerminalOutput(e){return this.client.onTerminalOutput(e)}onTerminalExit(e){return this.client.onTerminalExit(e)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var ba=class n{items=N([]);counter=0;queued=this.items.asReadonly();count=C(()=>this.items().length);forOwner(e){return this.items().filter(t=>t.sessionId===e)}head(e){return this.items().find(t=>t.sessionId===e)}enqueue(e,t){this.counter+=1;let i=`queued-${this.counter}`;return this.items.update(o=>[...o,s(r({},e),{id:i,sessionId:t})]),i}remove(e){this.items.update(t=>t.filter(i=>i.id!==e))}canMove(e,t){if(e===t)return!1;let i=this.items(),o=i.find(s=>s.id===e),r=i.find(s=>s.id===t);return o!==void 0&&r!==void 0&&o.sessionId===r.sessionId}move(e,t){if(!this.canMove(e,t))return;let i=this.items(),o=i.findIndex(c=>c.id===e),r=i.findIndex(c=>c.id===t),s=i[o],a=i.filter(c=>c.id!==e),l=a.findIndex(c=>c.id===t);a.splice(o<r?l+1:l,0,s),this.items.set(a)}shift(e){let t=this.head(e);if(t!==void 0)return this.remove(t.id),t}clear(){this.items.set([])}rekey(e,t){this.items.update(i=>i.map(o=>o.sessionId===e?s(r({},o),{sessionId:t}):o))}forgetOwner(e){this.items.update(t=>t.filter(i=>i.sessionId!==e))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var bw=`morse.navigation.collapsed`;var xw=`morse.git.open`;var Cw=`morse.git.expanded`;var F0=`morse.git.width`;var fR=220;var mR=1600;var ww=`morse.git.changesHeight`;var gw=`morse.git.changesCollapsed`;var yw=`morse.git.historyCollapsed`;var _w=`morse.git.stagedCollapsed`;var vw=`morse.git.unstagedCollapsed`;var hR=48;var gR=1200;var Ew=`morse.explorer.height`;var yR=140;var _R=720;function vR(){try{return globalThis.localStorage?.getItem(bw)===`1`}catch{return!1}}function bR(n){try{globalThis.localStorage?.setItem(bw,n?`1`:`0`)}catch{}}function xR(){try{return globalThis.localStorage?.getItem(xw)===`1`}catch{return!1}}function CR(n){try{globalThis.localStorage?.setItem(xw,n?`1`:`0`)}catch{}}function wR(){try{return globalThis.localStorage?.getItem(Cw)===`1`}catch{return!1}}function ER(n){try{globalThis.localStorage?.setItem(Cw,n?`1`:`0`)}catch{}}function Sw(n){return Math.round(Math.min(gR,Math.max(hR,n)))}function Dw(n){return Math.round(Math.min(mR,Math.max(fR,n)))}function SR(){try{let n=globalThis.localStorage?.getItem(F0);if(n==null)return;let e=Number.parseInt(n,10);return Number.isFinite(e)?Dw(e):void 0}catch{return}}function DR(n){try{globalThis.localStorage?.setItem(F0,String(n))}catch{}}function TR(){try{let n=globalThis.localStorage?.getItem(ww);if(n==null)return;let e=Number.parseInt(n,10);return Number.isFinite(e)?Sw(e):void 0}catch{return}}function MR(n){try{globalThis.localStorage?.setItem(ww,String(n))}catch{}}function hp(n){try{return globalThis.localStorage?.getItem(n)===`1`}catch{return!1}}function gp(n,e){try{globalThis.localStorage?.setItem(n,e?`1`:`0`)}catch{}}function Tw(n){return Math.round(Math.min(_R,Math.max(yR,n)))}function kR(){try{let n=globalThis.localStorage?.getItem(Ew);if(n==null)return;let e=Number.parseInt(n,10);return Number.isFinite(e)?Tw(e):void 0}catch{return}}function IR(n){try{globalThis.localStorage?.setItem(Ew,String(n))}catch{}}var Ft=class n{navigationVisible=N(!1);navigationOpen=this.navigationVisible.asReadonly();collapsed=N(vR());navigationCollapsed=this.collapsed.asReadonly();gitPanel=N(xR());gitPanelOpen=this.gitPanel.asReadonly();gitExpanded=N(wR());gitPanelExpanded=this.gitExpanded.asReadonly();gitWidthSignal=N(SR());gitPanelWidth=this.gitWidthSignal.asReadonly();changesHeightSignal=N(TR());gitChangesHeight=this.changesHeightSignal.asReadonly();changesCollapsedSignal=N(hp(gw));gitChangesCollapsed=this.changesCollapsedSignal.asReadonly();historyCollapsedSignal=N(hp(yw));gitHistoryCollapsed=this.historyCollapsedSignal.asReadonly();stagedCollapsedSignal=N(hp(_w));gitStagedCollapsed=this.stagedCollapsedSignal.asReadonly();unstagedCollapsedSignal=N(hp(vw));gitUnstagedCollapsed=this.unstagedCollapsedSignal.asReadonly();explorer=N(kR());explorerHeight=this.explorer.asReadonly();projectPicker=N(!1);projectPickerOpen=this.projectPicker.asReadonly();about=N(!1);aboutOpen=this.about.asReadonly();shortcuts=N(!1);shortcutsOpen=this.shortcuts.asReadonly();palette=N(!1);paletteOpen=this.palette.asReadonly();projectFilter=N(!1);projectFilterOpen=this.projectFilter.asReadonly();projectFocus=N(``);projectFilterPath=this.projectFocus.asReadonly();promptTemplate=N(!1);promptTemplateOpen=this.promptTemplate.asReadonly();compactPrompt=N(void 0);compactConfirmOpen=C(()=>this.compactPrompt()!==void 0);compactInstructions=C(()=>this.compactPrompt()?.instructions);mcp=N(!1);mcpOpen=this.mcp.asReadonly();modalOpen=C(()=>this.about()||this.shortcuts()||this.palette()||this.projectPicker()||this.projectFilter()||this.promptTemplate()||this.mcp()||this.compactPrompt()!==void 0);toggleNavigation(){this.navigationVisible.update(e=>!e)}openNavigation(){this.navigationVisible.set(!0)}closeNavigation(){this.navigationVisible.set(!1)}toggleNavigationCollapsed(){this.setCollapsed(!this.collapsed())}unfoldNavigation(){this.setCollapsed(!1)}setCollapsed(e){this.collapsed.set(e),bR(e)}toggleGitPanel(){this.setGitPanel(!this.gitPanel())}closeGitPanel(){this.setGitPanel(!1)}setGitPanel(e){this.gitPanel.set(e),CR(e)}toggleGitPanelExpanded(){this.setGitExpanded(!this.gitExpanded())}setGitExpanded(e){this.gitExpanded.set(e),ER(e)}toggleGitChanges(){this.changesCollapsedSignal.update(e=>!e),gp(gw,this.changesCollapsedSignal())}toggleGitHistory(){this.historyCollapsedSignal.update(e=>!e),gp(yw,this.historyCollapsedSignal())}toggleGitStaged(){this.stagedCollapsedSignal.update(e=>!e),gp(_w,this.stagedCollapsedSignal())}toggleGitUnstaged(){this.unstagedCollapsedSignal.update(e=>!e),gp(vw,this.unstagedCollapsedSignal())}setGitChangesHeight(e,t=!0){let i=Sw(e);this.changesHeightSignal.set(i),t&&MR(i)}setGitPanelWidth(e,t=!0){let i=Dw(e);this.gitWidthSignal.set(i),t&&DR(i)}resetGitPanelWidth(){this.gitWidthSignal.set(void 0);try{globalThis.localStorage?.removeItem(F0)}catch{}}setExplorerHeight(e){let t=Tw(e);this.explorer.set(t),IR(t)}openAbout(){this.about.set(!0)}closeAbout(){this.about.set(!1)}openShortcuts(){this.shortcuts.set(!0)}closeShortcuts(){this.shortcuts.set(!1)}toggleShortcuts(){this.shortcuts.update(e=>!e)}openPalette(){this.palette.set(!0)}closePalette(){this.palette.set(!1)}togglePalette(){this.palette.update(e=>!e)}setProjectFilter(e){this.projectFocus.set(e)}openProjectFilter(){this.projectFilter.set(!0)}closeProjectFilter(){this.projectFilter.set(!1)}setPromptTemplateOpen(e){this.promptTemplate.set(e)}openProjectPicker(){this.projectPicker.set(!0)}closeProjectPicker(){this.projectPicker.set(!1)}openMcp(){this.mcp.set(!0)}closeMcp(){this.mcp.set(!1)}requestCompact(e){this.compactPrompt.set(e?{instructions:e}:{})}closeCompactPrompt(){this.compactPrompt.set(void 0)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var ds=[{id:`session.new`,group:`Session`,label:`New session`,detail:`The sidebar button, on the keyboard — and on a browser host it still asks which folder first.`,binding:{key:`n`,mod:!0,alt:!0}},{id:`session.search`,group:`Session`,label:`Focus the session search`,detail:"Opens the sidebar when the layout hid it, and puts the caret in the field. In the prompt, `/` opens the command palette instead.",binding:{key:`/`}},{id:`command.palette`,group:`Navigate`,label:`Command palette`,detail:`One field for everything: run a command, switch a tab, open a session, file or project, or pick the model and thinking level. A leading >, #, @ or : narrows it to that source.`,binding:[{key:`k`,mod:!0,alt:!0},{key:`/`,mod:!0,alt:!0}],overlay:!0,whileTyping:!0},{id:`project.filter`,group:`Navigate`,label:`Change project focus`,detail:`Narrows the sidebar to one project. Only a host with several projects has this.`,binding:{key:`p`,mod:!0,alt:!0},overlay:!0},{id:`view.git`,group:`Navigate`,label:`Toggle the git panel`,detail:`Shows or hides the history and graph for the active project. The browser host only — VS Code has its own Source Control view.`,binding:{key:`g`,mod:!0,alt:!0},overlay:!0,whileTyping:!0},{id:`view.mcp`,group:`Navigate`,label:`Manage MCP servers`,detail:"Opens the MCP manager: the servers pi sees for the active directory, with add, enable, disable and remove. A host that cannot run the `pi` CLI shows it as unavailable.",binding:{key:`s`,mod:!0,alt:!0},overlay:!0,whileTyping:!0},{id:`model.pick`,group:`Model`,label:`Change model`,detail:`Opens the model chooser above the prompt.`,binding:{key:`m`,mod:!0,alt:!0},overlay:!0,whileTyping:!0},{id:`thinking.pick`,group:`Model`,label:`Change thinking level`,detail:`Opens the reasoning-level chooser next to the model.`,binding:{key:`t`,mod:!0,alt:!0},overlay:!0,whileTyping:!0},{id:`context.compact`,group:`Context`,label:`Compact the conversation`,detail:`Asks first: pi replaces what it remembers with a summary.`,binding:{key:`c`,mod:!0,alt:!0},overlay:!0,whileTyping:!0},{id:`prompt.send`,group:`Typing`,label:`Send the prompt`,detail:`While the prompt has the caret. During a run, the same key steers the agent instead.`,keys:`Enter`},{id:`prompt.newline`,group:`Typing`,label:`New line`,detail:`The prompt grows with the text rather than sending it.`,keys:`Shift+Enter`},{id:`prompt.mention`,group:`Typing`,label:`Mention a file`,detail:`Opens the picker that inserts an @path mention.`,keys:`@`},{id:`prompt.commands`,group:`Typing`,label:`Command palette`,detail:`The slash commands Morse and pi understand, filtered as you type.`,keys:`/`},{id:`help.shortcuts`,group:`Help`,label:`This list`,detail:`Opens and closes these rows, outside a text field.`,binding:{key:`?`},overlay:!0}];function us(n){return`binding`in n}function Mw(){let n=globalThis.navigator;return/mac|iphone|ipad/i.test(n?.userAgent??``)}function kw(n,e=Mw()){return Iw(n).map(t=>NR(t,e)).join(` / `)}function NR(n,e){let t=[];return n.mod===!0&&t.push(e?`⌘`:`Ctrl`),n.alt===!0&&t.push(e?`⌥`:`Alt`),t.push(n.key.length===1&&/[a-z]/.test(n.key)?n.key.toUpperCase():n.key),e?t.join(``):t.join(`+`)}function Iw(n){return Array.isArray(n)?n:[n]}var Fn=class n{shell=w(Ft);handlers=new Map;revision=N(0);catalog=ds;available=C(()=>{this.revision();let e=new Map;for(let t of ds){if(!us(t))continue;let i=this.handlers.get(t.id);e.set(t.id,i!==void 0&&(i.enabled?.()??!0))}return e});constructor(){let e=globalThis.document;e&&(e.addEventListener(`keydown`,this.onKeydown,!0),w(He).onDestroy(()=>e.removeEventListener(`keydown`,this.onKeydown,!0)))}bind(e,t,i){let o={run:t,enabled:i};return this.handlers.set(e,o),this.bump(),()=>{this.handlers.get(e)===o&&(this.handlers.delete(e),this.bump())}}bump(){this.revision.update(e=>e+1)}run(e){let t=this.handlers.get(e);return t===void 0||t.enabled!==void 0&&!t.enabled()?!1:(t.run(),!0)}onKeydown=e=>{if(e.defaultPrevented||e.isComposing||e.getModifierState?.(`AltGraph`)===!0)return;let t=ds.find(o=>us(o)&&PR(o.binding,e));if(t===void 0||t.whileTyping!==!0&&AR(e.target)||t.overlay===!0&&this.shell.modalOpen()&&!(t.id===`help.shortcuts`&&this.shell.shortcutsOpen()||t.id===`command.palette`&&this.shell.paletteOpen()))return;let i=this.handlers.get(t.id);i===void 0||i.enabled!==void 0&&!i.enabled()||(e.preventDefault(),i.run())};static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function PR(n,e){return Iw(n).some(t=>OR(t,e))}function OR(n,e){return e.key.toLowerCase()!==n.key.toLowerCase()||n.mod===!0!==(Mw()?e.metaKey:e.ctrlKey)?!1:n.alt===!0===e.altKey}function AR(n){let e=n;if(e===null||typeof e.tagName!=`string`)return!1;let t=e.tagName.toLowerCase();return t===`input`||t===`textarea`||t===`select`||e.isContentEditable===!0}var RR=10485760;var xa=class n{morse=w(Ie);available=C(()=>this.morse.capabilities()?.fileUpload===!0);async upload(e){let t=[],i=[];for(let o of e){if(o.size>RR){i.push(o.name);continue}let r=await L0(o);if(!r){i.push(o.name);continue}let s=await this.morse.requestHostCommand(`uploadFile`,{name:o.name,mimeType:o.type,data:r}),a=typeof s?.path==`string`?s.path:void 0;if(!a){i.push(o.name);continue}t.push({path:a,name:o.name,bytes:typeof s?.bytes==`number`?s.bytes:o.size})}return{added:t,failed:i}}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function V0(n){if(n===`??`)return`U`;if(n.includes(`U`)||n===`AA`||n===`DD`)return`C`;if(n.includes(`R`)||n.includes(`C`))return`R`;if(n.includes(`D`))return`D`;if(n.includes(`A`))return`A`;if(n.includes(`M`)||n.includes(`T`))return`M`}function j0(n){return n.includes(`U`)||n===`AA`||n===`DD`}function Nw(n){if(j0(n))return!1;let e=n[0];return e!==void 0&&e!==` `&&e!==`?`}function Pw(n){if(j0(n)||n===`??`)return!0;let e=n[1];return e!==void 0&&e!==` `&&e!==`?`}function Ow(n){return Rw(n[0])}function Aw(n){return n===`??`?`U`:j0(n)?`C`:Rw(n[1])}function Rw(n){switch(n){case`?`:return`U`;case`M`:case`T`:return`M`;case`A`:return`A`;case`D`:return`D`;case`R`:case`C`:return`R`;default:return}}function B0(n){if(typeof n!=`object`||n===null)return;let e=n;return e.isRepo!==!0?typeof e.isRepo==`boolean`?{isRepo:!1,files:[]}:void 0:{isRepo:!0,files:Fw(e.files)}}function Lw(n){if(typeof n!=`object`||n===null)return;let e=n;if(typeof e.isRepo==`boolean`)return Fw(e.files)}function Fw(n){return Array.isArray(n)?n.map(LR).filter(e=>e!==void 0):[]}function yp(n){let e=new Map;for(let t of n?.files??[]){let i=V0(t.status);i!==void 0&&e.set(t.path,i)}return e}function LR(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.path,i=e.status;if(!(typeof t!=`string`||typeof i!=`string`))return{path:t,status:i}}var FR=4e3;var Qn=class n{morse=w(Ie);cache=N([]);loading=N(!1);statuses=N(void 0);failure=N(void 0);loadedFor;inFlight=!1;files=this.cache.asReadonly();busy=this.loading.asReadonly();status=this.statuses.asReadonly();error=this.failure.asReadonly();available=C(()=>this.morse.capabilities()?.filePicker===!0);gitAvailable=C(()=>this.morse.capabilities()?.gitPanel===!0);constructor(){ne(()=>{if(!this.available())return;let e=this.morse.workspace().cwd;this.ensureLoaded(this.loadedFor!==void 0&&this.loadedFor!==e)}),ne(e=>{if(!this.available())return;let t=setInterval(()=>{typeof document<`u`&&document.hidden||this.ensureLoaded(!0,!0)},FR);e(()=>clearInterval(t))})}refresh(){this.ensureLoaded(!0)}async stage(e){return this.mutate(`gitStage`,e)}async unstage(e){return this.mutate(`gitUnstage`,e)}async mutate(e,t){if(t.length===0)return!0;let o=B0(await this.morse.requestHostCommand(e,{paths:[...t]}));return o===void 0?(this.refresh(),!1):(this.statuses.set(o),!0)}ensureLoaded(e=!1,t=!1){let i=this.morse.workspace().cwd;i.length===0||this.inFlight||!e&&this.loadedFor===i||(this.inFlight=!0,t||(this.loading.set(!0),this.failure.set(void 0)),Promise.all([this.morse.requestHostCommand(`listFiles`,e?{fresh:!0}:void 0),this.gitAvailable()?this.morse.requestHostCommand(`gitStatus`):Promise.resolve(void 0)]).then(([o,r])=>{if(this.morse.workspace().cwd!==i)return;let s=VR(o);if(s===void 0){this.failure.set(`Could not list this project.`);return}this.loadedFor=i,this.cache.set(s),this.statuses.set(B0(r))}).finally(()=>{this.inFlight=!1,t||this.loading.set(!1),this.morse.workspace().cwd!==i&&this.ensureLoaded(!0)}))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function VR(n){if(typeof n!=`object`||n===null)return;let e=n.files;if(Array.isArray(e))return e.filter(t=>typeof t==`string`)}var wp=v(iE(),1).default;function rE(n){let e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:[`self`,{begin:/:-/,contains:[t]}]};Object.assign(t,{className:`variable`,variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},i]});let o={className:`subst`,begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},r=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:`comment`}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:`string`})]}},a={className:`string`,begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,o]};o.contains.push(a);let l={match:/\\"/},c={className:`string`,begin:/'/,end:/'/},p={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:`number`},n.NUMBER_MODE,t]},b=n.SHEBANG({binary:`(${[`fish`,`bash`,`zsh`,`sh`,`csh`,`ksh`,`tcsh`,`dash`,`scsh`].join(`|`)})`,relevance:10}),k={className:`function`,begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},O=[`if`,`then`,`else`,`elif`,`fi`,`time`,`for`,`while`,`until`,`in`,`do`,`done`,`case`,`esac`,`coproc`,`function`,`select`],M=[`true`,`false`],V={match:/(\/[a-z._-]+)+/},W=[`break`,`cd`,`continue`,`eval`,`exec`,`exit`,`export`,`getopts`,`hash`,`pwd`,`readonly`,`return`,`shift`,`test`,`times`,`trap`,`umask`,`unset`],pe=[`alias`,`bind`,`builtin`,`caller`,`command`,`declare`,`echo`,`enable`,`help`,`let`,`local`,`logout`,`mapfile`,`printf`,`read`,`readarray`,`source`,`sudo`,`type`,`typeset`,`ulimit`,`unalias`],me=[`autoload`,`bg`,`bindkey`,`bye`,`cap`,`chdir`,`clone`,`comparguments`,`compcall`,`compctl`,`compdescribe`,`compfiles`,`compgroups`,`compquote`,`comptags`,`comptry`,`compvalues`,`dirs`,`disable`,`disown`,`echotc`,`echoti`,`emulate`,`fc`,`fg`,`float`,`functions`,`getcap`,`getln`,`history`,`integer`,`jobs`,`kill`,`limit`,`log`,`noglob`,`popd`,`print`,`pushd`,`pushln`,`rehash`,`sched`,`setcap`,`setopt`,`stat`,`suspend`,`ttyctl`,`unfunction`,`unhash`,`unlimit`,`unsetopt`,`vared`,`wait`,`whence`,`where`,`which`,`zcompile`,`zformat`,`zftp`,`zle`,`zmodload`,`zparseopts`,`zprof`,`zpty`,`zregexparse`,`zsocket`,`zstyle`,`ztcp`],we=[`chcon`,`chgrp`,`chown`,`chmod`,`cp`,`dd`,`df`,`dir`,`dircolors`,`ln`,`ls`,`mkdir`,`mkfifo`,`mknod`,`mktemp`,`mv`,`realpath`,`rm`,`rmdir`,`shred`,`sync`,`touch`,`truncate`,`vdir`,`b2sum`,`base32`,`base64`,`cat`,`cksum`,`comm`,`csplit`,`cut`,`expand`,`fmt`,`fold`,`head`,`join`,`md5sum`,`nl`,`numfmt`,`od`,`paste`,`ptx`,`pr`,`sha1sum`,`sha224sum`,`sha256sum`,`sha384sum`,`sha512sum`,`shuf`,`sort`,`split`,`sum`,`tac`,`tail`,`tr`,`tsort`,`unexpand`,`uniq`,`wc`,`arch`,`basename`,`chroot`,`date`,`dirname`,`du`,`echo`,`env`,`expr`,`factor`,`groups`,`hostid`,`id`,`link`,`logname`,`nice`,`nohup`,`nproc`,`pathchk`,`pinky`,`printenv`,`printf`,`pwd`,`readlink`,`runcon`,`seq`,`sleep`,`stat`,`stdbuf`,`stty`,`tee`,`test`,`timeout`,`tty`,`uname`,`unlink`,`uptime`,`users`,`who`,`whoami`,`yes`];return{name:`Bash`,aliases:[`sh`,`zsh`],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:O,literal:M,built_in:[...W,...pe,`set`,`shopt`,...me,...we]},contains:[b,n.SHEBANG(),k,m,r,s,V,a,l,c,p,t]}}var M2=n=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:n.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:`number`,begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:n.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}});var k2=[`a`,`abbr`,`address`,`article`,`aside`,`audio`,`b`,`blockquote`,`body`,`button`,`canvas`,`caption`,`cite`,`code`,`dd`,`del`,`details`,`dfn`,`div`,`dl`,`dt`,`em`,`fieldset`,`figcaption`,`figure`,`footer`,`form`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`header`,`hgroup`,`html`,`i`,`iframe`,`img`,`input`,`ins`,`kbd`,`label`,`legend`,`li`,`main`,`mark`,`menu`,`nav`,`object`,`ol`,`optgroup`,`option`,`p`,`picture`,`q`,`quote`,`samp`,`section`,`select`,`source`,`span`,`strong`,`summary`,`sup`,`table`,`tbody`,`td`,`textarea`,`tfoot`,`th`,`thead`,`time`,`tr`,`ul`,`var`,`video`];var I2=[`defs`,`g`,`marker`,`mask`,`pattern`,`svg`,`switch`,`symbol`,`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feFlood`,`feGaussianBlur`,`feImage`,`feMerge`,`feMorphology`,`feOffset`,`feSpecularLighting`,`feTile`,`feTurbulence`,`linearGradient`,`radialGradient`,`stop`,`circle`,`ellipse`,`image`,`line`,`path`,`polygon`,`polyline`,`rect`,`text`,`use`,`textPath`,`tspan`,`foreignObject`,`clipPath`];var N2=[...k2,...I2];var P2=[`any-hover`,`any-pointer`,`aspect-ratio`,`color`,`color-gamut`,`color-index`,`device-aspect-ratio`,`device-height`,`device-width`,`display-mode`,`forced-colors`,`grid`,`height`,`hover`,`inverted-colors`,`monochrome`,`orientation`,`overflow-block`,`overflow-inline`,`pointer`,`prefers-color-scheme`,`prefers-contrast`,`prefers-reduced-motion`,`prefers-reduced-transparency`,`resolution`,`scan`,`scripting`,`update`,`width`,`min-width`,`max-width`,`min-height`,`max-height`].sort().reverse();var O2=[`active`,`any-link`,`blank`,`checked`,`current`,`default`,`defined`,`dir`,`disabled`,`drop`,`empty`,`enabled`,`first`,`first-child`,`first-of-type`,`fullscreen`,`future`,`focus`,`focus-visible`,`focus-within`,`has`,`host`,`host-context`,`hover`,`indeterminate`,`in-range`,`invalid`,`is`,`lang`,`last-child`,`last-of-type`,`left`,`link`,`local-link`,`not`,`nth-child`,`nth-col`,`nth-last-child`,`nth-last-col`,`nth-last-of-type`,`nth-of-type`,`only-child`,`only-of-type`,`optional`,`out-of-range`,`past`,`placeholder-shown`,`read-only`,`read-write`,`required`,`right`,`root`,`scope`,`target`,`target-within`,`user-invalid`,`valid`,`visited`,`where`].sort().reverse();var A2=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse();var R2=[`accent-color`,`align-content`,`align-items`,`align-self`,`alignment-baseline`,`all`,`anchor-name`,`animation`,`animation-composition`,`animation-delay`,`animation-direction`,`animation-duration`,`animation-fill-mode`,`animation-iteration-count`,`animation-name`,`animation-play-state`,`animation-range`,`animation-range-end`,`animation-range-start`,`animation-timeline`,`animation-timing-function`,`appearance`,`aspect-ratio`,`backdrop-filter`,`backface-visibility`,`background`,`background-attachment`,`background-blend-mode`,`background-clip`,`background-color`,`background-image`,`background-origin`,`background-position`,`background-position-x`,`background-position-y`,`background-repeat`,`background-size`,`baseline-shift`,`block-size`,`border`,`border-block`,`border-block-color`,`border-block-end`,`border-block-end-color`,`border-block-end-style`,`border-block-end-width`,`border-block-start`,`border-block-start-color`,`border-block-start-style`,`border-block-start-width`,`border-block-style`,`border-block-width`,`border-bottom`,`border-bottom-color`,`border-bottom-left-radius`,`border-bottom-right-radius`,`border-bottom-style`,`border-bottom-width`,`border-collapse`,`border-color`,`border-end-end-radius`,`border-end-start-radius`,`border-image`,`border-image-outset`,`border-image-repeat`,`border-image-slice`,`border-image-source`,`border-image-width`,`border-inline`,`border-inline-color`,`border-inline-end`,`border-inline-end-color`,`border-inline-end-style`,`border-inline-end-width`,`border-inline-start`,`border-inline-start-color`,`border-inline-start-style`,`border-inline-start-width`,`border-inline-style`,`border-inline-width`,`border-left`,`border-left-color`,`border-left-style`,`border-left-width`,`border-radius`,`border-right`,`border-right-color`,`border-right-style`,`border-right-width`,`border-spacing`,`border-start-end-radius`,`border-start-start-radius`,`border-style`,`border-top`,`border-top-color`,`border-top-left-radius`,`border-top-right-radius`,`border-top-style`,`border-top-width`,`border-width`,`bottom`,`box-align`,`box-decoration-break`,`box-direction`,`box-flex`,`box-flex-group`,`box-lines`,`box-ordinal-group`,`box-orient`,`box-pack`,`box-shadow`,`box-sizing`,`break-after`,`break-before`,`break-inside`,`caption-side`,`caret-color`,`clear`,`clip`,`clip-path`,`clip-rule`,`color`,`color-interpolation`,`color-interpolation-filters`,`color-profile`,`color-rendering`,`color-scheme`,`column-count`,`column-fill`,`column-gap`,`column-rule`,`column-rule-color`,`column-rule-style`,`column-rule-width`,`column-span`,`column-width`,`columns`,`contain`,`contain-intrinsic-block-size`,`contain-intrinsic-height`,`contain-intrinsic-inline-size`,`contain-intrinsic-size`,`contain-intrinsic-width`,`container`,`container-name`,`container-type`,`content`,`content-visibility`,`corner-bottom-left-shape`,`corner-bottom-right-shape`,`corner-shape`,`corner-top-left-shape`,`corner-top-right-shape`,`counter-increment`,`counter-reset`,`counter-set`,`cue`,`cue-after`,`cue-before`,`cursor`,`cx`,`cy`,`direction`,`display`,`dominant-baseline`,`empty-cells`,`enable-background`,`field-sizing`,`fill`,`fill-opacity`,`fill-rule`,`filter`,`flex`,`flex-basis`,`flex-direction`,`flex-flow`,`flex-grow`,`flex-shrink`,`flex-wrap`,`float`,`flood-color`,`flood-opacity`,`flow`,`font`,`font-display`,`font-family`,`font-feature-settings`,`font-kerning`,`font-language-override`,`font-optical-sizing`,`font-palette`,`font-size`,`font-size-adjust`,`font-smooth`,`font-smoothing`,`font-stretch`,`font-style`,`font-synthesis`,`font-synthesis-position`,`font-synthesis-small-caps`,`font-synthesis-style`,`font-synthesis-weight`,`font-variant`,`font-variant-alternates`,`font-variant-caps`,`font-variant-east-asian`,`font-variant-emoji`,`font-variant-ligatures`,`font-variant-numeric`,`font-variant-position`,`font-variation-settings`,`font-weight`,`forced-color-adjust`,`gap`,`glyph-orientation-horizontal`,`glyph-orientation-vertical`,`grid`,`grid-area`,`grid-auto-columns`,`grid-auto-flow`,`grid-auto-rows`,`grid-column`,`grid-column-end`,`grid-column-start`,`grid-gap`,`grid-row`,`grid-row-end`,`grid-row-start`,`grid-template`,`grid-template-areas`,`grid-template-columns`,`grid-template-rows`,`hanging-punctuation`,`height`,`hyphenate-character`,`hyphenate-limit-chars`,`hyphens`,`icon`,`image-orientation`,`image-rendering`,`image-resolution`,`ime-mode`,`initial-letter`,`initial-letter-align`,`inline-size`,`inset`,`inset-area`,`inset-block`,`inset-block-end`,`inset-block-start`,`inset-inline`,`inset-inline-end`,`inset-inline-start`,`isolation`,`justify-content`,`justify-items`,`justify-self`,`kerning`,`left`,`letter-spacing`,`lighting-color`,`line-break`,`line-height`,`line-height-step`,`list-style`,`list-style-image`,`list-style-position`,`list-style-type`,`margin`,`margin-block`,`margin-block-end`,`margin-block-start`,`margin-bottom`,`margin-inline`,`margin-inline-end`,`margin-inline-start`,`margin-left`,`margin-right`,`margin-top`,`margin-trim`,`marker`,`marker-end`,`marker-mid`,`marker-start`,`marks`,`mask`,`mask-border`,`mask-border-mode`,`mask-border-outset`,`mask-border-repeat`,`mask-border-slice`,`mask-border-source`,`mask-border-width`,`mask-clip`,`mask-composite`,`mask-image`,`mask-mode`,`mask-origin`,`mask-position`,`mask-repeat`,`mask-size`,`mask-type`,`masonry-auto-flow`,`math-depth`,`math-shift`,`math-style`,`max-block-size`,`max-height`,`max-inline-size`,`max-width`,`min-block-size`,`min-height`,`min-inline-size`,`min-width`,`mix-blend-mode`,`nav-down`,`nav-index`,`nav-left`,`nav-right`,`nav-up`,`none`,`normal`,`object-fit`,`object-position`,`offset`,`offset-anchor`,`offset-distance`,`offset-path`,`offset-position`,`offset-rotate`,`opacity`,`order`,`orphans`,`outline`,`outline-color`,`outline-offset`,`outline-style`,`outline-width`,`overflow`,`overflow-anchor`,`overflow-block`,`overflow-clip-margin`,`overflow-inline`,`overflow-wrap`,`overflow-x`,`overflow-y`,`overlay`,`overscroll-behavior`,`overscroll-behavior-block`,`overscroll-behavior-inline`,`overscroll-behavior-x`,`overscroll-behavior-y`,`padding`,`padding-block`,`padding-block-end`,`padding-block-start`,`padding-bottom`,`padding-inline`,`padding-inline-end`,`padding-inline-start`,`padding-left`,`padding-right`,`padding-top`,`page`,`page-break-after`,`page-break-before`,`page-break-inside`,`paint-order`,`pause`,`pause-after`,`pause-before`,`perspective`,`perspective-origin`,`place-content`,`place-items`,`place-self`,`pointer-events`,`position`,`position-anchor`,`position-visibility`,`print-color-adjust`,`quotes`,`r`,`resize`,`rest`,`rest-after`,`rest-before`,`right`,`rotate`,`row-gap`,`ruby-align`,`ruby-position`,`scale`,`scroll-behavior`,`scroll-margin`,`scroll-margin-block`,`scroll-margin-block-end`,`scroll-margin-block-start`,`scroll-margin-bottom`,`scroll-margin-inline`,`scroll-margin-inline-end`,`scroll-margin-inline-start`,`scroll-margin-left`,`scroll-margin-right`,`scroll-margin-top`,`scroll-padding`,`scroll-padding-block`,`scroll-padding-block-end`,`scroll-padding-block-start`,`scroll-padding-bottom`,`scroll-padding-inline`,`scroll-padding-inline-end`,`scroll-padding-inline-start`,`scroll-padding-left`,`scroll-padding-right`,`scroll-padding-top`,`scroll-snap-align`,`scroll-snap-stop`,`scroll-snap-type`,`scroll-timeline`,`scroll-timeline-axis`,`scroll-timeline-name`,`scrollbar-color`,`scrollbar-gutter`,`scrollbar-width`,`shape-image-threshold`,`shape-margin`,`shape-outside`,`shape-rendering`,`speak`,`speak-as`,`src`,`stop-color`,`stop-opacity`,`stroke`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`stroke-linejoin`,`stroke-miterlimit`,`stroke-opacity`,`stroke-width`,`tab-size`,`table-layout`,`text-align`,`text-align-all`,`text-align-last`,`text-anchor`,`text-combine-upright`,`text-decoration`,`text-decoration-color`,`text-decoration-line`,`text-decoration-skip`,`text-decoration-skip-ink`,`text-decoration-style`,`text-decoration-thickness`,`text-emphasis`,`text-emphasis-color`,`text-emphasis-position`,`text-emphasis-style`,`text-indent`,`text-justify`,`text-orientation`,`text-overflow`,`text-rendering`,`text-shadow`,`text-size-adjust`,`text-transform`,`text-underline-offset`,`text-underline-position`,`text-wrap`,`text-wrap-mode`,`text-wrap-style`,`timeline-scope`,`top`,`touch-action`,`transform`,`transform-box`,`transform-origin`,`transform-style`,`transition`,`transition-behavior`,`transition-delay`,`transition-duration`,`transition-property`,`transition-timing-function`,`translate`,`unicode-bidi`,`unicode-range`,`user-modify`,`user-select`,`vector-effect`,`vertical-align`,`view-timeline`,`view-timeline-axis`,`view-timeline-inset`,`view-timeline-name`,`view-transition-name`,`visibility`,`voice-balance`,`voice-duration`,`voice-family`,`voice-pitch`,`voice-range`,`voice-rate`,`voice-stress`,`voice-volume`,`white-space`,`white-space-collapse`,`widows`,`width`,`will-change`,`word-break`,`word-spacing`,`word-wrap`,`writing-mode`,`x`,`y`,`z-index`,`zoom`].sort().reverse();function sE(n){let e=n.regex,t=M2(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o=`and or not only`,r=/@-?\w[\w]*(-\w+)*/,a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:`CSS`,case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:`from to`},classNameAliases:{keyframePosition:`selector-tag`},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:`selector-class`,begin:`\\.[a-zA-Z-][a-zA-Z0-9_-]*`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,variants:[{begin:`:(`+O2.join(`|`)+`)`},{begin:`:(:)?(`+A2.join(`|`)+`)`}]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+R2.join(`|`)+`)\\b`},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:`url data-uri`},contains:[...a,{className:`string`,begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:`[{;]`,relevance:0,illegal:/:/,contains:[{className:`keyword`,begin:r},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:P2.join(` `)},contains:[{begin:/[a-z-]+(?=:)/,className:`attribute`},...a,t.CSS_NUMBER_MODE]}]},{className:`selector-tag`,begin:`\\b(`+N2.join(`|`)+`)\\b`}]}}function aE(n){let e=n.regex;return{name:`Diff`,aliases:[`patch`],contains:[{className:`meta`,relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:`comment`,variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:`addition`,begin:/^\+/,end:/$/},{className:`deletion`,begin:/^-/,end:/$/},{className:`addition`,begin:/^!/,end:/$/}]}}function lE(n){let r={keyword:[`break`,`case`,`chan`,`const`,`continue`,`default`,`defer`,`else`,`fallthrough`,`for`,`func`,`go`,`goto`,`if`,`import`,`interface`,`map`,`package`,`range`,`return`,`select`,`struct`,`switch`,`type`,`var`],type:[`bool`,`byte`,`complex64`,`complex128`,`error`,`float32`,`float64`,`int8`,`int16`,`int32`,`int64`,`string`,`uint8`,`uint16`,`uint32`,`uint64`,`int`,`uint`,`uintptr`,`rune`],literal:[`true`,`false`,`iota`,`nil`],built_in:[`append`,`cap`,`close`,`complex`,`copy`,`imag`,`len`,`make`,`new`,`panic`,`print`,`println`,`real`,`recover`,`delete`]};return{name:`Go`,aliases:[`golang`],keywords:r,illegal:`</`,contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:`string`,variants:[n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:`number`,variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\b0[bB](_?[01])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:`function`,beginKeywords:`func`,end:`\\s*(\\{|$)`,excludeEnd:!0,contains:[n.TITLE_MODE,{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:r,illegal:/["']/}]}]}}var cE=`[A-Za-z$_][0-9A-Za-z$_]*`;var L2=[`as`,`in`,`of`,`if`,`for`,`while`,`finally`,`var`,`new`,`function`,`do`,`return`,`void`,`else`,`break`,`catch`,`instanceof`,`with`,`throw`,`case`,`default`,`try`,`switch`,`continue`,`typeof`,`delete`,`let`,`yield`,`const`,`class`,`debugger`,`async`,`await`,`static`,`import`,`from`,`export`,`extends`,`using`];var F2=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`];var dE=[`Object`,`Function`,`Boolean`,`Symbol`,`Math`,`Date`,`Number`,`BigInt`,`String`,`RegExp`,`Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Int32Array`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`,`Set`,`Map`,`WeakSet`,`WeakMap`,`ArrayBuffer`,`SharedArrayBuffer`,`Atomics`,`DataView`,`JSON`,`Promise`,`Generator`,`GeneratorFunction`,`AsyncFunction`,`Reflect`,`Proxy`,`Intl`,`WebAssembly`];var uE=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`];var pE=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`];var V2=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`self`,`global`];var j2=[].concat(pE,dE,uE);function fE(n){let e=n.regex,t=(Q,{after:H})=>{let de=`</`+Q[0].slice(1);return Q.input.indexOf(de,H)!==-1},i=cE,o={begin:`<>`,end:`</>`},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Q,H)=>{let de=Q[0].length+Q.index,Be=Q.input[de];if(Be===`<`||Be===`,`){H.ignoreMatch();return}Be===`>`&&(t(Q,{after:de})||H.ignoreMatch());let lt,en=Q.input.substring(de);if(lt=en.match(/^\s*=/)){H.ignoreMatch();return}if((lt=en.match(/^\s+extends\s+/))&<.index===0){H.ignoreMatch();return}}},a={$pattern:cE,keyword:L2,literal:F2,built_in:j2,"variable.language":V2},l=`[0-9](_?[0-9])*`,c=`\\.(${l})`,p=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,m={className:`number`,variants:[{begin:`(\\b(${p})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${p})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},v={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:a,contains:[]},b={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`xml`}},k={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`css`}},O={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`graphql`}},M={className:`string`,begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,v]},W={className:`comment`,variants:[n.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:i+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},pe=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,b,k,O,M,{match:/\$\d+/},m];v.contains=pe.concat({begin:/\{/,end:/\}/,keywords:a,contains:[`self`].concat(pe)});let me=[].concat(W,v.contains),we=me.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:[`self`].concat(me)}]),ve={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:we},st={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,`(`,e.concat(/\./,i),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,i],scope:{1:`keyword`,3:`title.class`}}]},qe={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...dE,...uE]}},Ke={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},vt={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[ve],illegal:/%/},Pt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function qt(Q){return e.concat(`(?!`,Q.join(`|`),`)`)}let $t={match:e.concat(/\b/,qt([...pE,`super`,`import`,`await`].map(Q=>`${Q}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:`title.function`,relevance:0},at={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},Te={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},ve]},B=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+n.UNDERSCORE_IDENT_RE+`)\\s*=>`,ae={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(B)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[ve]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:a,exports:{PARAMS_CONTAINS:we,CLASS_REFERENCE:qe},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),Ke,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,b,k,O,M,W,{match:/\$\d+/},m,qe,{scope:`attr`,match:i+e.lookahead(`:`),relevance:0},ae,{begin:`(`+n.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[W,n.REGEXP_MODE,{className:`function`,begin:B,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:we}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:r},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:`xml`,contains:[{begin:s.begin,end:s.end,skip:!0,contains:[`self`]}]}]},vt,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+n.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[ve,n.inherit(n.TITLE_MODE,{begin:i,className:`title.function`})]},{match:/\.\.\./,relevance:0},at,{match:`\\$`+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[ve]},$t,Pt,st,Te,{match:/\$[(.]/}]}}var $2={scope:`number`,match:`([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity`,relevance:0};function mE(n){let e={className:`attr`,begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:`punctuation`,relevance:0},i=[`true`,`false`,`null`],o={scope:`literal`,beginKeywords:i.join(` `)};return{name:`JSON`,aliases:[`jsonc`,`json5`],keywords:{literal:i},contains:[e,t,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,o,$2,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:`\\S`}}function hE(n){let e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},i={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},o={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},r={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},p={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=n.inherit(c,{contains:[]}),v=n.inherit(p,{contains:[]});c.contains.push(v),p.contains.push(m);let b=[t,l];return[c,p,m,v].forEach(V=>{V.contains=V.contains.concat(b)}),b=b.concat(c,p),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:b},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:b}]}]},t,r,i,c,p,{className:`quote`,begin:`^>\\s+`,contains:b,end:`$`},o,l,s,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function gE(n){let e=n.regex,t=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),o=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r=e.concat(/[A-Z]+/,t),s={scope:`variable`,match:`\\$+`+i},a={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=n.inherit(n.APOS_STRING_MODE,{illegal:null}),p=n.inherit(n.QUOTE_STRING_MODE,{illegal:null,contains:n.QUOTE_STRING_MODE.contains.concat(l)}),m={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:n.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(at,Te)=>{Te.data._beginMatch=at[1]||at[2]},"on:end":(at,Te)=>{Te.data._beginMatch!==at[1]&&Te.ignoreMatch()}},v=n.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),b=`[
|
|
30
|
+
]`,k={scope:`string`,variants:[p,c,m,v]},O={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},M=[`false`,`null`,`true`],V=[`__CLASS__`,`__DIR__`,`__FILE__`,`__FUNCTION__`,`__COMPILER_HALT_OFFSET__`,`__LINE__`,`__METHOD__`,`__NAMESPACE__`,`__TRAIT__`,`die`,`echo`,`exit`,`include`,`include_once`,`print`,`require`,`require_once`,`array`,`abstract`,`and`,`as`,`binary`,`bool`,`boolean`,`break`,`callable`,`case`,`catch`,`class`,`clone`,`const`,`continue`,`declare`,`default`,`do`,`double`,`else`,`elseif`,`empty`,`enddeclare`,`endfor`,`endforeach`,`endif`,`endswitch`,`endwhile`,`enum`,`eval`,`extends`,`final`,`finally`,`float`,`for`,`foreach`,`from`,`global`,`goto`,`if`,`implements`,`instanceof`,`insteadof`,`int`,`integer`,`interface`,`isset`,`iterable`,`list`,`match|0`,`mixed`,`new`,`never`,`object`,`or`,`private`,`protected`,`public`,`readonly`,`real`,`return`,`string`,`switch`,`throw`,`trait`,`try`,`unset`,`use`,`var`,`void`,`while`,`xor`,`yield`],W=[`Error|0`,`AppendIterator`,`ArgumentCountError`,`ArithmeticError`,`ArrayIterator`,`ArrayObject`,`AssertionError`,`BadFunctionCallException`,`BadMethodCallException`,`CachingIterator`,`CallbackFilterIterator`,`CompileError`,`Countable`,`DirectoryIterator`,`DivisionByZeroError`,`DomainException`,`EmptyIterator`,`ErrorException`,`Exception`,`FilesystemIterator`,`FilterIterator`,`GlobIterator`,`InfiniteIterator`,`InvalidArgumentException`,`IteratorIterator`,`LengthException`,`LimitIterator`,`LogicException`,`MultipleIterator`,`NoRewindIterator`,`OutOfBoundsException`,`OutOfRangeException`,`OuterIterator`,`OverflowException`,`ParentIterator`,`ParseError`,`RangeException`,`RecursiveArrayIterator`,`RecursiveCachingIterator`,`RecursiveCallbackFilterIterator`,`RecursiveDirectoryIterator`,`RecursiveFilterIterator`,`RecursiveIterator`,`RecursiveIteratorIterator`,`RecursiveRegexIterator`,`RecursiveTreeIterator`,`RegexIterator`,`RuntimeException`,`SeekableIterator`,`SplDoublyLinkedList`,`SplFileInfo`,`SplFileObject`,`SplFixedArray`,`SplHeap`,`SplMaxHeap`,`SplMinHeap`,`SplObjectStorage`,`SplObserver`,`SplPriorityQueue`,`SplQueue`,`SplStack`,`SplSubject`,`SplTempFileObject`,`TypeError`,`UnderflowException`,`UnexpectedValueException`,`UnhandledMatchError`,`ArrayAccess`,`BackedEnum`,`Closure`,`Fiber`,`Generator`,`Iterator`,`IteratorAggregate`,`Serializable`,`Stringable`,`Throwable`,`Traversable`,`UnitEnum`,`WeakReference`,`WeakMap`,`Directory`,`__PHP_Incomplete_Class`,`parent`,`php_user_filter`,`self`,`static`,`stdClass`],me={keyword:V,literal:(at=>{let Te=[];return at.forEach(B=>{Te.push(B),B.toLowerCase()===B?Te.push(B.toUpperCase()):Te.push(B.toLowerCase())}),Te})(M),built_in:W},we=at=>at.map(Te=>Te.replace(/\|\d+$/,``)),ve={variants:[{match:[/new/,e.concat(b,`+`),e.concat(`(?!`,we(W).join(`\\b|`),`\\b)`),o],scope:{1:`keyword`,4:`title.class`}}]},st=e.concat(i,`\\b(?!\\()`),qe={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),st],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[o,e.concat(/::/,e.lookahead(/(?!class\b)/)),st],scope:{1:`title.class`,3:`variable.constant`}},{match:[o,e.concat(`::`,e.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[o,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},Ke={scope:`attr`,match:e.concat(i,e.lookahead(`:`),e.lookahead(/(?!::)/))},vt={relevance:0,begin:/\(/,end:/\)/,keywords:me,contains:[Ke,s,qe,n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE,n.HASH_COMMENT_MODE,k,O,ve]},Pt={relevance:0,match:[/\b/,e.concat(`(?!fn\\b|function\\b|`,we(V).join(`\\b|`),`|`,we(W).join(`\\b|`),`\\b)`),i,e.concat(b,`*`),e.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[vt]};vt.contains.push(Pt);let qt=[Ke,qe,n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE,n.HASH_COMMENT_MODE,k,O,ve],$t={begin:e.concat(/#\[\s*\\?/,e.either(o,r)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:M,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:M,keyword:[`new`,`array`]},contains:[`self`,...qt]},...qt,{scope:`meta`,variants:[{match:o},{match:r}]}]};return{case_insensitive:!1,keywords:me,contains:[$t,n.HASH_COMMENT_MODE,n.COMMENT(`//`,`$`),n.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:n.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},a,{scope:`variable.language`,match:/\$this\b/},s,Pt,qe,{match:[/const/,/\s/,i],scope:{1:`keyword`,3:`variable.constant`}},ve,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},n.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:me,contains:[`self`,$t,s,qe,n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE,n.HASH_COMMENT_MODE,k,O]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},n.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[n.inherit(n.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},n.UNDERSCORE_TITLE_MODE]},k,O]}}function yE(n){let e=n.regex,t=new RegExp(`[\\p{XID_Start}_]\\p{XID_Continue}*`,`u`),i=[`and`,`as`,`assert`,`async`,`await`,`break`,`case`,`class`,`continue`,`def`,`del`,`elif`,`else`,`except`,`finally`,`for`,`from`,`global`,`if`,`import`,`in`,`is`,`lambda`,`lazy`,`match`,`nonlocal|10`,`not`,`or`,`pass`,`raise`,`return`,`try`,`while`,`with`,`yield`],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:[`__import__`,`abs`,`aiter`,`all`,`anext`,`any`,`ascii`,`bin`,`bool`,`breakpoint`,`bytearray`,`bytes`,`callable`,`chr`,`classmethod`,`compile`,`complex`,`delattr`,`dict`,`dir`,`divmod`,`enumerate`,`eval`,`exec`,`filter`,`float`,`format`,`frozendict`,`frozenset`,`getattr`,`globals`,`hasattr`,`hash`,`help`,`hex`,`id`,`input`,`int`,`isinstance`,`issubclass`,`iter`,`len`,`list`,`locals`,`map`,`max`,`memoryview`,`min`,`next`,`object`,`oct`,`open`,`ord`,`pow`,`print`,`property`,`range`,`repr`,`reversed`,`round`,`sentinel`,`set`,`setattr`,`slice`,`sorted`,`staticmethod`,`str`,`sum`,`super`,`tuple`,`type`,`vars`,`zip`],literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},l={className:`meta`,begin:/^(>>>|\.\.\.) /},c={className:`subst`,begin:/\{/,end:/\}/,keywords:a,illegal:/#/},p={begin:/\{\{/,relevance:0},m={className:`string`,contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,l,p,c]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,l,p,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,p,c]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,p,c]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},v=`[0-9](_?[0-9])*`,b=`(\\b(${v}))?\\.(${v})|\\b(${v})\\.`,k=`\\b|${i.join(`|`)}`,O={className:`number`,relevance:0,variants:[{begin:`(\\b(${v})|(${b}))[eE][+-]?(${v})[jJ]?(?=${k})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${k})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${k})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${k})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${k})`},{begin:`\\b(${v})[jJ](?=${k})`}]},M={className:`comment`,begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},V={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:[`self`,l,O,m,n.HASH_COMMENT_MODE]}]};return c.contains=[m,O,l],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[l,O,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},m,M,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:`keyword`,3:`title.function`},contains:[V]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[O,V,m]}]}}var Ep=`[A-Za-z$_][0-9A-Za-z$_]*`;var _E=[`as`,`in`,`of`,`if`,`for`,`while`,`finally`,`var`,`new`,`function`,`do`,`return`,`void`,`else`,`break`,`catch`,`instanceof`,`with`,`throw`,`case`,`default`,`try`,`switch`,`continue`,`typeof`,`delete`,`let`,`yield`,`const`,`class`,`debugger`,`async`,`await`,`static`,`import`,`from`,`export`,`extends`,`using`];var vE=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`];var bE=[`Object`,`Function`,`Boolean`,`Symbol`,`Math`,`Date`,`Number`,`BigInt`,`String`,`RegExp`,`Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Int32Array`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`,`Set`,`Map`,`WeakSet`,`WeakMap`,`ArrayBuffer`,`SharedArrayBuffer`,`Atomics`,`DataView`,`JSON`,`Promise`,`Generator`,`GeneratorFunction`,`AsyncFunction`,`Reflect`,`Proxy`,`Intl`,`WebAssembly`];var xE=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`];var CE=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`];var wE=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`self`,`global`];var EE=[].concat(CE,bE,xE);function H2(n){let e=n.regex,t=(Q,{after:H})=>{let de=`</`+Q[0].slice(1);return Q.input.indexOf(de,H)!==-1},i=Ep,o={begin:`<>`,end:`</>`},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Q,H)=>{let de=Q[0].length+Q.index,Be=Q.input[de];if(Be===`<`||Be===`,`){H.ignoreMatch();return}Be===`>`&&(t(Q,{after:de})||H.ignoreMatch());let lt,en=Q.input.substring(de);if(lt=en.match(/^\s*=/)){H.ignoreMatch();return}if((lt=en.match(/^\s+extends\s+/))&<.index===0){H.ignoreMatch();return}}},a={$pattern:Ep,keyword:_E,literal:vE,built_in:EE,"variable.language":wE},l=`[0-9](_?[0-9])*`,c=`\\.(${l})`,p=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,m={className:`number`,variants:[{begin:`(\\b(${p})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${p})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},v={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:a,contains:[]},b={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`xml`}},k={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`css`}},O={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,v],subLanguage:`graphql`}},M={className:`string`,begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,v]},W={className:`comment`,variants:[n.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:i+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},pe=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,b,k,O,M,{match:/\$\d+/},m];v.contains=pe.concat({begin:/\{/,end:/\}/,keywords:a,contains:[`self`].concat(pe)});let me=[].concat(W,v.contains),we=me.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:[`self`].concat(me)}]),ve={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:we},st={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,`(`,e.concat(/\./,i),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,i],scope:{1:`keyword`,3:`title.class`}}]},qe={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...bE,...xE]}},Ke={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},vt={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[ve],illegal:/%/},Pt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function qt(Q){return e.concat(`(?!`,Q.join(`|`),`)`)}let $t={match:e.concat(/\b/,qt([...CE,`super`,`import`,`await`].map(Q=>`${Q}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:`title.function`,relevance:0},at={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},Te={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},ve]},B=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+n.UNDERSCORE_IDENT_RE+`)\\s*=>`,ae={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(B)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[ve]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:a,exports:{PARAMS_CONTAINS:we,CLASS_REFERENCE:qe},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),Ke,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,b,k,O,M,W,{match:/\$\d+/},m,qe,{scope:`attr`,match:i+e.lookahead(`:`),relevance:0},ae,{begin:`(`+n.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[W,n.REGEXP_MODE,{className:`function`,begin:B,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:we}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:r},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:`xml`,contains:[{begin:s.begin,end:s.end,skip:!0,contains:[`self`]}]}]},vt,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+n.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[ve,n.inherit(n.TITLE_MODE,{begin:i,className:`title.function`})]},{match:/\.\.\./,relevance:0},at,{match:`\\$`+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[ve]},$t,Pt,st,Te,{match:/\$[(.]/}]}}function SE(n){let e=n.regex,t=H2(n),i=Ep,o=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],r={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},s={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:o},contains:[t.exports.CLASS_REFERENCE]},a={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:Ep,keyword:_E.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:vE,built_in:EE.concat(o),"variable.language":wE},p={className:`meta`,begin:`@`+i},m=(O,M,V)=>{let W=O.contains.findIndex(pe=>pe.label===M);if(W===-1)throw new Error(`can not find mode to replace`);O.contains.splice(W,1,V)};Object.assign(t.keywords,c),t.exports.PARAMS_CONTAINS.push(p);let v=t.contains.find(O=>O.scope===`attr`),b=Object.assign({},v,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,v,b]),t.contains=t.contains.concat([p,r,s,b]),m(t,`shebang`,n.SHEBANG()),m(t,`use_strict`,a);let k=t.contains.find(O=>O.label===`func.def`);return k.relevance=0,Object.assign(t,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),t}function DE(n){let e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,o={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=n.inherit(r,{begin:/\(/,end:/\)/}),a=n.inherit(n.APOS_STRING_MODE,{className:`string`}),l=n.inherit(n.QUOTE_STRING_MODE,{className:`string`}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:i,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[o]},{begin:/'/,end:/'/,contains:[o]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[r,s,l,a]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},o,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:`css`}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:`javascript`}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:e.concat(/</,e.lookahead(e.concat(t,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:t,relevance:0,starts:c}]},{className:`tag`,begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:`name`,begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function TE(n){let e=`true false yes no null`,t=`[\\w#;/?:@&=+$,.~*'()[\\]]+`,i={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},r={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},s={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,o]},a=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),v={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},b={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},k={begin:/\{/,end:/\}/,contains:[b],illegal:`\\n`,relevance:0},O={begin:`\\[`,end:`\\]`,contains:[b],illegal:`\\n`,relevance:0},M=[i,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+!`+t},{className:`type`,begin:`!<`+t+`>`},{className:`type`,begin:`!`+t},{className:`type`,begin:`!!`+t},{className:`meta`,begin:`&`+n.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+n.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},v,{className:`number`,begin:n.C_NUMBER_RE+`\\b`,relevance:0},k,O,r,s],V=[...M];return V.pop(),V.push(a),b.contains=V,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:M}}for(let[n,e]of Object.entries({bash:rE,css:sE,diff:aE,go:lE,javascript:fE,json:mE,markdown:hE,php:gE,python:yE,typescript:SE,xml:DE,yaml:TE}))wp.registerLanguage(n,e);var z2={sh:`bash`,shell:`bash`,zsh:`bash`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,html:`xml`,svg:`xml`,md:`markdown`,yml:`yaml`};var U2={bash:`bash`,cjs:`javascript`,css:`css`,diff:`diff`,go:`go`,html:`xml`,js:`javascript`,json:`json`,jsx:`javascript`,md:`markdown`,mjs:`javascript`,patch:`diff`,php:`php`,py:`python`,sh:`bash`,svg:`xml`,ts:`typescript`,tsx:`typescript`,xml:`xml`,yaml:`yaml`,yml:`yaml`,zsh:`bash`};function Sp(n){let e=n.split(`/`).pop()??``,t=e.lastIndexOf(`.`);if(!(t<=0))return U2[e.slice(t+1).toLowerCase()]}function Ea(n,e){let t=(e??``).trim().toLowerCase(),i=z2[t]??t;return i.length>0&&wp.getLanguage(i)!==void 0?{html:wp.highlight(n,{language:i,ignoreIllegals:!0}).value,language:i}:{html:G2(n),language:`text`}}function G2(n){return n.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function q2(n){return Array.from({length:n},()=>1/n)}function ME(n){return s(r({},n),{title:n.custom??n.auto??n.fallbackTitle})}var rr=class n{items=N([]);activeByOwner=N({});activePaneByGroup=N({});sizesByGroup=N({});counter=0;terminals=this.items.asReadonly();groups=C(()=>{let e=this.items(),t=[],i=new Map;for(let o of e)i.has(o.group)||(i.set(o.group,[]),t.push(o.group)),i.get(o.group).push(o);return t.map(o=>{let r=i.get(o),s=r[0],a=r.find(c=>c.id===this.activePaneByGroup()[o])??s,l=s.custom??a.auto??s.auto??s.fallbackTitle;return{id:o,owner:s.owner,name:l,title:r.length>1?`${l} (${r.length})`:l,count:r.length,sizes:this.sizesFor(o,r.length),panes:r,activePane:a.id}})});open(e){let t=this.mint(e,void 0);return this.setActive(e,t.group),t.id}split(e){let t=this.groups().find(o=>o.id===e);if(t===void 0)return;let i=this.mint(t.owner,e);return this.setActive(t.owner,e),this.setActivePane(e,i.id),i.id}setAutoTitle(e,t){let i=t.trim().length>0?t.trim():void 0;this.items.update(o=>o.map(r$15=>r$15.id!==e||r$15.auto===i?r$15:ME(s(r({},r$15),{auto:i}))))}rename(e,t){let i=t.trim().length>0?t.trim():void 0;this.items.update(o=>{let r$16=o.findIndex(a=>a.group===e);if(r$16<0)return o;let s$6=[...o];return s$6[r$16]=ME(s(r({},s$6[r$16]),{custom:i})),s$6})}closePane(e){let t=this.items().find(r=>r.id===e);if(t===void 0)return;let i=this.items().filter(r=>r.group===t.group);if(i.length<=1){this.close(t.group);return}let o=i.findIndex(r=>r.id===e);if(this.items.update(r=>r.filter(s=>s.id!==e)),this.activePaneFor(t.group)===e){let r=this.items().filter(s=>s.group===t.group);this.setActivePane(t.group,r[Math.min(o,r.length-1)]?.id)}}close(e){let t=this.items().find(r=>r.group===e)?.owner,o=this.groupIds(t).indexOf(e);if(!(o<0)&&(this.items.update(r=>r.filter(s=>s.group!==e)),this.setActivePane(e,void 0),this.activeFor(t)===e)){let r=this.groupIds(t);this.setActive(t,r[Math.min(o,r.length-1)])}}focus(e){let t=this.items().find(i=>i.id===e);t!==void 0&&(this.setActive(t.owner,t.group),this.setActivePane(t.group,e))}activeFor(e){return this.activeByOwner()[Y0(e)]}activePaneFor(e){return this.activePaneByGroup()[e]}setSizes(e,t){this.sizesByGroup.update(i=>s(r({},i),{[e]:t}))}sizesFor(e,t){let i=this.sizesByGroup()[e];return i!==void 0&&i.length===t?i:q2(t)}forgetOwner(e){this.items.update(t=>t.filter(i=>i.owner!==e)),this.setActive(e,void 0)}rekey(e,t){this.items.update(o=>o.map(r$17=>r$17.owner===e?s(r({},r$17),{owner:t}):r$17));let i=this.activeFor(e);i!==void 0&&(this.setActive(t,i),this.setActive(e,void 0))}snapshot(){return{panes:this.items().map(e=>r({},e)),activeByOwner:r({},this.activeByOwner()),activePaneByGroup:r({},this.activePaneByGroup()),sizesByGroup:r({},this.sizesByGroup())}}restore(e){let t=Y2(e);t!==void 0&&(this.items.set(t.panes),this.activeByOwner.set(t.activeByOwner),this.activePaneByGroup.set(t.activePaneByGroup),this.sizesByGroup.set(t.sizesByGroup),this.counter=t.panes.reduce((i,o)=>Math.max(i,W2(o.id)),this.counter))}mint(e,t){this.counter+=1;let i=`term-${this.counter}`,o=`Terminal ${this.counter}`,r={id:i,owner:e,group:t??i,title:o,fallbackTitle:o};return this.items.update(s=>[...s,r]),this.setActivePane(r.group,i),r}groupIds(e){let t=[];for(let i of this.items())i.owner===e&&!t.includes(i.group)&&t.push(i.group);return t}setActive(e,t){this.activeByOwner.update(i=>s(r({},i),{[Y0(e)]:t}))}setActivePane(e,t){this.activePaneByGroup.update(i=>s(r({},i),{[e]:t}))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function Y0(n){return n??``}function W2(n){let e=/^term-(\d+)$/.exec(n);return e===null?0:Number.parseInt(e[1],10)}function Y2(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.panes;if(!Array.isArray(t))return;let i=t.flatMap(s=>{let a=K2(s);return a===void 0?[]:[a]}),o=new Set(i.map(s=>s.group)),r=new Set(i.map(s=>Y0(s.owner)));return{panes:i,activeByOwner:kE(e.activeByOwner,s=>r.has(s)),activePaneByGroup:kE(e.activePaneByGroup,s=>o.has(s)),sizesByGroup:Z2(e.sizesByGroup,o)}}function K2(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.id,i=e.group,o=e.title,r$18=e.fallbackTitle;if(typeof t!=`string`||typeof i!=`string`||typeof o!=`string`||typeof r$18!=`string`)return;let s=e.owner,a=e.custom,l=e.auto,c=e.cwd;return r(r(r({id:t,group:i,title:o,fallbackTitle:r$18,owner:typeof s==`string`?s:void 0},typeof a==`string`?{custom:a}:{}),typeof l==`string`?{auto:l}:{}),typeof c==`string`?{cwd:c}:{})}function kE(n,e){if(typeof n!=`object`||n===null)return{};let t=n,i={};for(let[o,r]of Object.entries(t))e(o)&&(i[o]=typeof r==`string`?r:void 0);return i}function Z2(n,e){if(typeof n!=`object`||n===null)return{};let t=n,i={};for(let[o,r]of Object.entries(t)){if(!e.has(o)||!Array.isArray(r))continue;let s=r.filter(a=>typeof a==`number`);s.length===r.length&&s.length>0&&(i[o]=s)}return i}var IE=`file:`;var Q2=`mention:`;var Vt=class n{morse=w(Ie);drafts=w(ir);terminals=w(rr);queued=w(ba);items=N([]);active=N(void 0);draftCounter=0;pendingDraft;restorePending=!1;constructor(){ne(()=>this.drafts.use(this.composerKey()))}tabs=this.items.asReadonly();activeId=this.active.asReadonly();mainTabs=C(()=>this.items().filter(e=>e.kind===`session`||e.mention!==!0));activeTab=C(()=>this.items().find(e=>e.id===this.active()));noSessionInFront=C(()=>this.morse.capabilities()?.filePreview===!0&&this.active()===void 0);contextSessionId=C(()=>{let e=this.activeTab();if(e?.kind===`session`)return e.id;if(!(e?.kind!==`file`||e.sessionId===void 0))return this.findSession(e.sessionId)!==void 0?e.sessionId:void 0});composerKey=C(()=>this.contextSessionId()??this.morse.state().sessionId);mentionTabs=C(()=>{let e=this.contextSessionId();return this.items().filter(t=>t.kind===`file`&&t.mention===!0&&(e===void 0?t.sessionId===void 0:t.sessionId===e))});openSessionIds=C(()=>new Set(this.items().filter(e=>e.kind===`session`).map(e=>e.id)));ensureSession(e){if(this.findSession(e.id)===void 0){this.items.update(i=>[...i,r({kind:`session`},e)]),this.active()===void 0&&this.active.set(e.id);return}this.refreshSession(e)}refreshSession(e){let t=this.findSession(e.id);t===void 0||t.title===e.title&&t.cwd===e.cwd||this.items.update(i=>i.map(o=>o.kind===`session`&&o.id===e.id?r(r({},o),e):o))}startDraft(e){this.openDraft(e),this.morse.newSession(e)}openDraft(e){this.draftCounter+=1;let t=`draft-${this.draftCounter}`;this.items.update(i=>[...i,{kind:`session`,id:t,title:`New session`,cwd:e,draft:!0}]),this.active.set(t),this.pendingDraft=t}focusSession(e){this.restorePending=!1,this.pendingDraft=void 0,this.discardEmptyDrafts(),this.showSession(e),this.morse.activateSession(e.id,e.cwd)}showSession(e){if(this.restorePending){this.restorePending=!1,this.ensureSession(e);let t=this.activeTab();if(t?.kind===`session`&&t.draft!==!0&&t.id!==e.id){this.morse.activateSession(t.id,t.cwd);return}t===void 0&&this.active.set(e.id);return}this.promoteDraft(e),this.ensureSession(e),this.active.set(e.id)}snapshot(){let e=new Set(this.items().filter(o=>o.kind===`session`&&o.draft!==!0).map(o=>o.id)),t=this.items().flatMap(o=>o.kind===`session`?[r({kind:`session`,id:o.id,title:o.title,cwd:o.cwd},o.draft===!0?{draft:!0}:{})]:o.mention===!0&&(o.sessionId===void 0||!e.has(o.sessionId))?[]:[r(r(r(r(r(r({kind:`file`,id:o.id,path:o.path,title:o.title},o.mention===!0?{mention:!0}:{}),o.sessionId!==void 0&&e.has(o.sessionId)?{sessionId:o.sessionId}:{}),o.language!==void 0?{language:o.language}:{}),o.commitHash!==void 0?{commitHash:o.commitHash}:{}),o.commitSubject!==void 0?{commitSubject:o.commitSubject}:{}),o.projectCwd!==void 0?{projectCwd:o.projectCwd}:{})]),i=this.active();return r({tabs:t},i!==void 0&&t.some(o=>o.id===i)?{activeId:i}:{})}restore(e){let t=J2(e);if(t===void 0)return;let i=t.tabs.flatMap(a=>a.kind===`session`?[r({kind:`session`,id:a.id,title:a.title,cwd:a.cwd},a.draft===!0?{draft:!0}:{})]:[r(r(r(r(r({kind:`file`,id:a.id,path:a.path,title:a.title,language:a.language??Sp(a.path),loading:!1},a.mention===!0?{mention:!0}:{}),a.sessionId!==void 0?{sessionId:a.sessionId}:{}),a.commitHash!==void 0?{commitHash:a.commitHash}:{}),a.commitSubject!==void 0?{commitSubject:a.commitSubject}:{}),a.projectCwd!==void 0?{projectCwd:a.projectCwd}:{})]);this.items.set(i);let o=t.activeId!==void 0&&i.some(a=>a.id===t.activeId)?t.activeId:void 0;this.active.set(o),this.restorePending=o!==void 0;let r$19=i.find(a=>a.id===o);this.pendingDraft=r$19?.kind===`session`&&r$19.draft===!0?o:void 0,this.draftCounter=i.reduce((a,l)=>l.kind===`session`&&l.draft===!0?Math.max(a,nL(l.id)):a,this.draftCounter);let s=this.activeTab();s?.kind===`file`&&this.needsLoad(s)&&this.load(s.id)}endRestore(){this.restorePending=!1}openFile(e){let t=this.focusedOwner();this.placeFileTab(`${IE}${e}`,e,e,t.id!==void 0,t.id,t.cwd)}openCommitFile(e,t,i){let o=this.focusedOwner(),r=oL(e,t);this.placeFileTab(r,r,t,o.id!==void 0,o.id,o.cwd,{commitHash:e,commitSubject:i})}openMentionFile(e){let t=this.focusedOwner();this.placeFileTab(`${IE}${e}`,e,e,!0,t.id,t.cwd)}focusedOwner(){let e=this.activeTab();if(e?.kind===`session`)return{id:e.id,cwd:e.cwd??this.morse.state().workspace?.cwd};if(e?.kind===`file`&&e.sessionId!==void 0&&this.findSession(e.sessionId)!==void 0)return{id:e.sessionId,cwd:e.projectCwd??this.morse.state().workspace?.cwd};let t=this.morse.state().sessionId;return t!==void 0&&this.findSession(t)!==void 0?{id:t,cwd:this.morse.state().workspace?.cwd}:{cwd:this.morse.state().workspace?.cwd}}placeFileTab(e,t,i,o,r$20,s$7,a={}){let l=o?NE(r$20,t):e,c=this.items().find(m=>m.id===l);if(c!==void 0){c.kind===`file`&&this.revealFileTab(l,c,r$20,s$7);return}let p=o?this.items().find(m=>m.kind===`file`&&m.id===e):void 0;if(p!==void 0){let m=p.projectCwd!==s$7;this.items.update(v=>v.map(b=>b.id===p.id&&b.kind===`file`?r(s(r({},b),{id:l,mention:!0,sessionId:r$20,projectCwd:s$7}),m?PE():{}):b)),this.active.set(l),(m||this.needsLoad(p))&&this.load(l);return}this.items.update(m=>[...m,r({kind:`file`,id:l,path:i,title:iL(i),language:Sp(i),loading:!1,mention:o,sessionId:r$20,projectCwd:s$7},a)]),this.active.set(l),this.load(l)}revealFileTab(e,t,i,o){let r$21=t.projectCwd!==o;(t.sessionId!==i||r$21)&&this.patch(e,r({sessionId:i,projectCwd:o},r$21?PE():{})),this.active.set(e),(r$21||this.needsLoad(t))&&this.load(e)}select(e){let t=this.items().find(i=>i.id===e);if(t!==void 0){if(e===this.active()&&t.kind===`file`&&t.mention===!0&&t.sessionId!==void 0){let i=this.findSession(t.sessionId);if(i!==void 0){this.select(i.id);return}}if(this.active.set(e),t.kind===`session`){t.draft===!0?(this.pendingDraft=t.id,this.morse.state().sessionId!==void 0&&this.morse.newSession(t.cwd)):(this.pendingDraft=void 0,this.discardEmptyDrafts(),this.morse.activateSession(t.id,t.cwd));return}this.needsLoad(t)&&this.load(e)}}canMove(e,t){if(e===t)return!1;let i=this.items(),o=i.find(s=>s.id===e),r=i.find(s=>s.id===t);return o!==void 0&&r!==void 0&&OE(o)===OE(r)}move(e,t){if(!this.canMove(e,t))return;let i=this.items(),o=i.findIndex(c=>c.id===e),r=i.findIndex(c=>c.id===t),s=i[o],a=i.filter(c=>c.id!==e),l=a.findIndex(c=>c.id===t);a.splice(o<r?l+1:l,0,s),this.items.set(a)}close(e){let t=this.items().findIndex(s=>s.id===e);if(t===-1)return;let i=this.items()[t],o=i.kind===`session`&&i.draft!==!0,r=i.kind===`session`?i.cwd:void 0;this.remove(this.doomedWith(e),t),o&&this.fallBackToEmptySession(r)}forget(e){let t=this.items().findIndex(i=>i.id===e);t!==-1&&this.remove(this.doomedWith(e),t)}clearActiveSession(){if(this.restorePending)return;let e=this.items().find(t=>t.id===this.active());e!==void 0&&e.kind===`session`&&e.draft!==!0&&this.active.set(void 0)}menuScope(e){let t=e===void 0?void 0:this.items().find(i=>i.id===e);return t===void 0||t.kind===`session`?this.items():t.mention===!0?this.items().filter(i=>i.kind===`file`&&i.mention===!0&&i.sessionId===t.sessionId):this.items().filter(i=>i.kind===`file`&&i.mention!==!0)}canCloseToTheRight(e){let t=this.menuScope(e),i=t.findIndex(o=>o.id===e);return i!==-1&&i<t.length-1}canCloseOthers(e){return this.menuScope(e).length>1}closeOthers(e){let t=this.items().find(c=>c.id===e);if(t===void 0)return;let i=this.menuScope(e),o=new Set([e]);if(t.kind===`session`)for(let c of this.mentionFilesOf(e))o.add(c.id);let r=i.filter(c=>!o.has(c.id));if(r.length===0)return;let s=new Set(r.map(c=>c.id)),a=r.some(c=>c.kind===`session`&&c.draft!==!0),l=r.find(c=>c.kind===`session`)?.cwd;this.items.update(c=>c.filter(p=>!s.has(p.id))),this.forgetDrafts(s),this.active.set(e),t.kind===`session`&&t.draft!==!0&&this.morse.activateSession(t.id,t.cwd),this.pruneOrphanMentions(),a&&this.fallBackToEmptySession(l)}closeToTheRight(e){let t=this.menuScope(e),i=t.findIndex(c=>c.id===e);if(i===-1)return;let o=t.slice(i+1);if(o.length===0)return;let r=new Set(o.map(c=>c.id)),s=o.some(c=>c.kind===`session`&&c.draft!==!0),a=o.find(c=>c.kind===`session`)?.cwd,l=this.active();this.items.update(c=>c.filter(p=>!r.has(p.id))),this.forgetDrafts(r),this.pruneOrphanMentions(),l!==void 0&&r.has(l)&&this.select(e),s&&this.fallBackToEmptySession(a)}closeAll(e){let t=this.menuScope(e);if(t.length===0)return;let i=new Set(t.map(a=>a.id)),o=t.some(a=>a.kind===`session`&&a.draft!==!0),r=t.find(a=>a.kind===`session`)?.cwd,s=this.active();if(this.items.update(a=>a.filter(l=>!i.has(l.id))),this.forgetDrafts(i),this.pruneOrphanMentions(),s!==void 0&&i.has(s)){let a=this.items(),l=a.at(-1)??a[0];l!==void 0?this.select(l.id):this.active.set(void 0)}o&&this.fallBackToEmptySession(r)}fallBackToEmptySession(e){this.items().some(t=>t.kind===`session`)||this.morse.state().sessionId!==void 0&&this.morse.newSession(e??this.morse.state().workspace.cwd)}doomedWith(e){let t=new Set([e]),i=new Set(this.items().filter(o=>o.kind===`session`&&o.id!==e).map(o=>o.id));for(let o of this.items())o.kind!==`file`||o.mention!==!0||(o.sessionId===void 0||o.sessionId===e||!i.has(o.sessionId))&&t.add(o.id);return t}mentionFilesOf(e){return this.items().filter(t=>t.kind===`file`&&t.mention===!0&&t.sessionId===e)}remove(e,t){let i=this.active();if(this.items.update(s=>s.filter(a=>!e.has(a.id))),this.forgetDrafts(e),i===void 0||!e.has(i))return;let o=this.items(),r=o[Math.min(t,o.length-1)];if(r===void 0){this.active.set(void 0);return}this.select(r.id)}forgetDrafts(e){for(let t of e)t===this.pendingDraft&&(this.pendingDraft=void 0),this.drafts.forget(t),this.terminals.forgetOwner(t),this.queued.forgetOwner(t)}pruneOrphanMentions(){let e=new Set(this.items().filter(o=>o.kind===`session`).map(o=>o.id)),t=this.items(),i=new Set(t.filter(o=>o.kind===`file`&&o.mention===!0&&(o.sessionId===void 0||!e.has(o.sessionId))).map(o=>o.id));i.size!==0&&this.remove(i,t.findIndex(o=>o.id===this.active()))}reload(e){this.patch(e,{diff:void 0,diffError:void 0}),this.load(e)}loadDiff(e){let t=this.items().find(o=>o.id===e);if(t===void 0||t.kind!==`file`||t.diff!==void 0||t.diffLoading===!0)return;this.patch(e,{diffLoading:!0,diffError:void 0}),(t.commitHash!==void 0?this.morse.requestHostCommand(`gitCommitDiff`,{hash:t.commitHash,path:t.path,cwd:t.projectCwd}):this.morse.requestHostCommand(`gitDiff`,{path:t.path,cwd:t.projectCwd})).then(o=>{let r=tL(o);if(r===void 0){this.patch(e,{diffLoading:!1,diffError:t.commitHash===void 0?`Could not read this file’s changes.`:`Could not read this file in that commit.`});return}this.patch(e,{diffLoading:!1,diff:r})})}findSession(e){return this.items().find(t=>t.kind===`session`&&t.id===e)}promoteDraft(e){let t=this.pendingDraft;if(this.pendingDraft=void 0,t===void 0)return;let i=this.items().find(o=>o.kind===`session`&&o.id===t&&o.draft===!0);if(i!==void 0){if(this.findSession(e.id)!==void 0){this.discardEmptyDrafts();return}this.drafts.rekey(i.id,e.id),this.terminals.rekey(i.id,e.id),this.queued.rekey(i.id,e.id),this.items.update(o=>o.map(r$22=>r$22.kind===`session`&&r$22.id===i.id?r({kind:`session`},e):r$22.kind===`file`&&r$22.mention===!0&&r$22.sessionId===i.id?s(r({},r$22),{sessionId:e.id,id:NE(e.id,r$22.path)}):r$22))}}discardEmptyDrafts(){let e=this.items().filter(i=>i.kind===`session`&&i.draft===!0&&this.drafts.isEmpty(i.id));if(e.length===0)return;let t=new Set(e.map(i=>i.id));this.items.update(i=>i.filter(o=>!t.has(o.id))),this.pendingDraft!==void 0&&t.has(this.pendingDraft)&&(this.pendingDraft=void 0);for(let i of t)this.drafts.forget(i),this.terminals.forgetOwner(i),this.queued.forgetOwner(i);this.pruneOrphanMentions()}needsLoad(e){return e.kind!==`file`?!1:e.commitHash!==void 0?e.diff===void 0&&e.diffLoading!==!0&&e.diffError===void 0:!e.loading&&e.content===void 0&&e.error===void 0}async load(e){let t=this.items().find(r=>r.id===e);if(t===void 0||t.kind!==`file`)return;if(t.commitHash!==void 0){this.loadDiff(e);return}this.patch(e,{loading:!0,error:void 0});let o=X2(await this.morse.requestHostCommand(`readFile`,{path:t.path,cwd:t.projectCwd}));if(o===void 0){this.patch(e,{loading:!1,error:`Could not read this file.`});return}this.patch(e,{loading:!1,content:o.content,size:o.size,truncated:o.truncated,binary:o.binary,language:Sp(o.path)})}patch(e,t){this.items.update(i=>i.map(o=>o.id===e&&o.kind===`file`?r(r({},o),t):o))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function X2(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.content,i=e.path;if(typeof t!=`string`||typeof i!=`string`)return;let o=e.size;return{path:i,content:t,size:typeof o==`number`?o:t.length,truncated:e.truncated===!0,binary:e.binary===!0}}function J2(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.tabs;if(!Array.isArray(t))return;let i=t.flatMap(r=>{let s=eL(r);return s===void 0?[]:[s]}),o=e.activeId;return r({tabs:i},typeof o==`string`?{activeId:o}:{})}function eL(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.id;if(typeof t!=`string`||t.length===0)return;if(e.kind===`session`){let p=e.title;if(typeof p!=`string`)return;let m=e.cwd;return r(r({kind:`session`,id:t,title:p},typeof m==`string`?{cwd:m}:{}),e.draft===!0?{draft:!0}:{})}if(e.kind!==`file`)return;let i=e.path,o=e.title;if(typeof i!=`string`||typeof o!=`string`)return;let r$23=e.sessionId,s=e.language,a=e.commitHash,l=e.commitSubject,c=e.projectCwd;return r(r(r(r(r(r({kind:`file`,id:t,path:i,title:o},e.mention===!0?{mention:!0}:{}),typeof r$23==`string`?{sessionId:r$23}:{}),typeof s==`string`?{language:s}:{}),typeof a==`string`?{commitHash:a}:{}),typeof l==`string`?{commitSubject:l}:{}),typeof c==`string`?{projectCwd:c}:{})}function tL(n){if(typeof n!=`object`||n===null)return;let e=n.diff;return typeof e==`string`?e:void 0}function nL(n){let e=/^draft-(\d+)$/.exec(n);return e===null?0:Number.parseInt(e[1],10)}function iL(n){let e=n.lastIndexOf(`/`);return e===-1?n:n.slice(e+1)}function NE(n,e){return`${Q2}${n??``}:${e}`}function oL(n,e){return`commit:${n}:${e}`}function PE(){return{content:void 0,error:void 0,diff:void 0,diffError:void 0}}function OE(n){return n.kind===`file`&&n.mention===!0?`mention`:`main`}function rL(n,e,t=80){let i=Math.floor(n-4-8);return Math.max(t,Math.min(e,i))}var Dp=class n{preferred=se(320,{alias:`morsePopoverFit`});host=w(St);renderer=w($n).createRenderer(null,null);observer;constructor(){An(()=>{this.fit();let e=this.anchor();e&&typeof ResizeObserver<`u`&&(this.observer=new ResizeObserver(()=>this.fit()),this.observer.observe(e))}),w(He).onDestroy(()=>this.observer?.disconnect())}onWindowResize(){this.fit()}anchor(){let e=this.host.nativeElement;return e.offsetParent??e.parentElement}fit(){let t=rL(this.anchor()?.getBoundingClientRect().top??0,this.preferred());this.renderer.setStyle(this.host.nativeElement,`--morse-popover-max-height`,`${t}px`)}static ɵfac=function(t){return new(t||n)};static ɵdir=oi({type:n,selectors:[[``,`morsePopoverFit`,``]],hostBindings:function(t,i){t&1&&A(`resize`,function(){return i.onWindowResize()},lg)},inputs:{preferred:[1,`morsePopoverFit`,`preferred`]}})};var Sn=class n{morseEnter=se(0);morseEnterY=se(8);morseEnterDuration=se(260);morseEnterScale=se(void 0);element=w(St);animation=w(En);ngAfterViewInit(){let e=Math.max(0,this.morseEnter());this.animation.enter(this.element.nativeElement,{y:this.morseEnterY(),duration:this.morseEnterDuration(),scale:this.morseEnterScale(),delay:Math.min(e,8)*24})}static ɵfac=function(t){return new(t||n)};static ɵdir=oi({type:n,selectors:[[``,`morseEnter`,``]],inputs:{morseEnter:[1,`morseEnter`],morseEnterY:[1,`morseEnterY`],morseEnterDuration:[1,`morseEnterDuration`],morseEnterScale:[1,`morseEnterScale`]}})};var sL=[`list`];function aL(n,e){n&1&&(h(0,`div`,2),u(1,`Reading the workspace…`),y())}function lL(n,e){if(n&1&&(h(0,`div`,4),u(1),y()),n&2){let t=f(2);d(),ie(`No match for “`,t.query(),`”.`)}}function cL(n,e){if(n&1){let t=L();h(0,`div`,4),u(1,` The host returned no workspace files. `),h(2,`button`,5),A(`click`,function(){D(t);return T(f(2).reload.emit())}),u(3,`Load again`),y()()}}function dL(n,e){if(n&1&&E(0,lL,2,1,`div`,4)(1,cL,4,0,`div`,4),n&2)S(f().query().length>0?0:1)}function uL(n,e){if(n&1){let t=L();h(0,`button`,12),A(`mouseenter`,function(){D(t);let o=f().$index;return T(f(2).activeChange.emit(o))})(`click`,function(){D(t);let o=f().$implicit;return T(f(2).quote.emit(o))}),u(1,` ⧉ `),y()}}function pL(n,e){if(n&1){let t=L();h(0,`li`)(1,`button`,7),A(`mouseenter`,function(){let o=D(t).$index;return T(f(2).activeChange.emit(o))})(`click`,function(){let o=D(t).$implicit;return T(f(2).pick.emit(o))}),h(2,`span`,8),u(3),y(),h(4,`span`,9)(5,`span`,10),u(6),y(),u(7),y()(),E(8,uL,2,0,`button`,11),y()}if(n&2){let t=e.$implicit,i=e.$index,o=f(2);q(`active`,i===o.active()),d(3),I(o.isDirectory(t)?`▸`:`▤`),d(3),I(o.split(t).dir),d(),ie(``,o.split(t).base,` `),d(),S(o.isDirectory(t)?-1:8)}}function fL(n,e){if(n&1&&(h(0,`ul`,null,0),X(2,pL,9,6,`li`,6,kn),y()),n&2){let t=f();d(2),J(t.files())}}var Tp=class n{files=se.required();busy=se(!1);query=se(``);active=se(0);pick=je();quote=je();close=je();reload=je();activeChange=je();list=Ue(`list`);constructor(){ne(()=>{this.active(),this.files(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,t=e?.children.item(this.active());if(!e||!t)return;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.top<i.top?e.scrollTop-=i.top-o.top:o.bottom>i.bottom&&(e.scrollTop+=o.bottom-i.bottom)}split(e){let t=e.lastIndexOf(`/`);return t===-1?{dir:``,base:e}:{dir:e.slice(0,t+1),base:e.slice(t+1)}}isDirectory(e){return K0(e)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-file-picker`]],viewQuery:function(t,i){t&1&&nt(i.list,sL,5),t&2&&ot()},inputs:{files:[1,`files`],busy:[1,`busy`],query:[1,`query`],active:[1,`active`]},outputs:{pick:`pick`,quote:`quote`,close:`close`,reload:`reload`,activeChange:`activeChange`},decls:19,vars:3,consts:[[`list`,``],[1,`picker`,3,`morseEnter`,`morseEnterY`],[1,`busy`],[1,`hint`],[1,`empty`],[`type`,`button`,1,`reload`,3,`click`],[3,`active`],[`type`,`button`,1,`row`,3,`mouseenter`,`click`],[1,`icon`],[1,`path`],[1,`dir`],[`type`,`button`,`title`,`Mention and quote a line range`,`aria-label`,`Mention and quote a line range`,1,`quote`],[`type`,`button`,`title`,`Mention and quote a line range`,`aria-label`,`Mention and quote a line range`,1,`quote`,3,`mouseenter`,`click`]],template:function(t,i){t&1&&(h(0,`div`,1),E(1,aL,2,0,`div`,2)(2,dL,2,1)(3,fL,4,0,`ul`),h(4,`div`,3)(5,`kbd`),u(6,`↑`),y(),h(7,`kbd`),u(8,`↓`),y(),u(9,` move · `),h(10,`kbd`),u(11,`Enter`),y(),u(12,` mention · `),h(13,`kbd`),u(14,`⇧Enter`),y(),u(15,` quote · `),h(16,`kbd`),u(17,`Esc`),y(),u(18,` close `),y()()),t&2&&(j(`morseEnter`,0)(`morseEnterY`,6),d(),S(i.busy()&&i.files().length===0?1:i.files().length===0?2:3))},dependencies:[Sn],styles:[`[_nghost-%COMP%]{display:block}.picker[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-height:var(--%NS%morse-popover-max-height, 300px);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 28px #0000004d;overflow:hidden}ul[_ngcontent-%COMP%]{margin:0;padding:4px 0;list-style:none;overflow-y:auto}li[_ngcontent-%COMP%]{display:flex;align-items:center}li[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;gap:8px;padding:4px 10px;border:0;border-radius:0;background:transparent;color:var(--%NS%morse-fg);font-size:12px;text-align:left;cursor:pointer}li.active[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{background:var(--%NS%morse-active)}.quote[_ngcontent-%COMP%]{flex:none;width:26px;height:26px;margin-right:4px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:12px;cursor:pointer;opacity:.55}.quote[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg);opacity:1}.icon[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:11px}.path[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono)}.dir[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted)}.empty[_ngcontent-%COMP%], .busy[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--%NS%morse-fg-muted);font-size:12px}.reload[_ngcontent-%COMP%]{padding:1px 8px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:11px;cursor:pointer}.reload[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.hint[_ngcontent-%COMP%]{padding:5px 10px;border-top:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px}kbd[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:10px;padding:0 3px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm)}`]})};function RE(n,e,t=50){let i=e.trim().toLowerCase();return n.map(o=>({file:o,score:i.length===0?0:mL(o,i)})).filter(o=>o.score<Number.POSITIVE_INFINITY).sort((o,r)=>AE(o.file)-AE(r.file)||o.score-r.score||o.file.length-r.file.length||o.file.localeCompare(r.file)).slice(0,t).map(o=>o.file)}function K0(n){return n.endsWith(`/`)}function AE(n){return K0(n)?0:1}function mL(n,e){let t=(K0(n)?n.slice(0,-1):n).toLowerCase(),i=t.lastIndexOf(`/`),o=i===-1?t:t.slice(i+1);return o.startsWith(e)?0:o.includes(e)?1:t.startsWith(e)?2:t.includes(e)?3:Number.POSITIVE_INFINITY}var hL=[`list`];var gL=(n,e)=>e.id;function yL(n,e){if(n&1&&(h(0,`div`,3),u(1),y()),n&2){let t=f(2);d(),ie(`No command matches “`,t.query(),`”.`)}}function _L(n,e){n&1&&(h(0,`div`,3),u(1,`No commands available in this session.`),y())}function vL(n,e){if(n&1&&E(0,yL,2,1,`div`,3)(1,_L,2,0,`div`,3),n&2)S(f().query().length>0?0:1)}function bL(n,e){if(n&1&&(h(0,`span`,5),u(1),y()),n&2){let t=f().$implicit;d(),I(t.icon)}}function xL(n,e){if(n&1&&(h(0,`span`,8),u(1),y()),n&2){let t=f().$implicit;d(),I(t.description)}}function CL(n,e){if(n&1&&(h(0,`span`,9),u(1),y()),n&2){let t=f().$implicit;d(),I(t.badge)}}function wL(n,e){if(n&1){let t=L();h(0,`li`)(1,`button`,4),A(`mouseenter`,function(){let o=D(t).$index;return T(f(2).activeChange.emit(o))})(`pointerdown`,function(o){return o.preventDefault()})(`click`,function(){let o=D(t).$implicit;return T(f(2).pick.emit(o.id))}),E(2,bL,2,1,`span`,5),h(3,`span`,6)(4,`span`,7),u(5),y(),E(6,xL,2,1,`span`,8),y(),E(7,CL,2,1,`span`,9),y()()}if(n&2){let t=e.$implicit,i=e.$index,o=f(2);d(),q(`active`,i===o.active()),d(),S(t.icon?2:-1),d(3),I(t.label),d(),S(t.description?6:-1),d(),S(t.badge?7:-1)}}function EL(n,e){if(n&1&&(h(0,`ul`,null,0),X(2,wL,8,6,`li`,null,gL),y()),n&2){let t=f();d(2),J(t.items())}}var Mp=class n{items=se.required();query=se(``);active=se(0);pick=je();close=je();activeChange=je();list=Ue(`list`);constructor(){ne(()=>{this.active(),this.items(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,t=e?.children.item(this.active());if(!e||!t)return;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.top<i.top?e.scrollTop-=i.top-o.top:o.bottom>i.bottom&&(e.scrollTop+=o.bottom-i.bottom)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-command-picker`]],viewQuery:function(t,i){t&1&&nt(i.list,hL,5),t&2&&ot()},inputs:{items:[1,`items`],query:[1,`query`],active:[1,`active`]},outputs:{pick:`pick`,close:`close`,activeChange:`activeChange`},decls:18,vars:3,consts:[[`list`,``],[1,`picker`,3,`morseEnter`,`morseEnterY`],[1,`hint`],[1,`empty`],[`type`,`button`,3,`mouseenter`,`pointerdown`,`click`],[1,`icon`],[1,`text`],[1,`label`],[1,`description`],[1,`badge`]],template:function(t,i){t&1&&(h(0,`div`,1),E(1,vL,2,1)(2,EL,4,0,`ul`),h(3,`div`,2)(4,`kbd`),u(5,`↑`),y(),h(6,`kbd`),u(7,`↓`),y(),u(8,` move · `),h(9,`kbd`),u(10,`Enter`),y(),u(11,` run · `),h(12,`kbd`),u(13,`Tab`),y(),u(14,` insert · `),h(15,`kbd`),u(16,`Esc`),y(),u(17,` close `),y()()),t&2&&(j(`morseEnter`,0)(`morseEnterY`,6),d(),S(i.items().length===0?1:2))},dependencies:[Sn],styles:[`[_nghost-%COMP%]{display:block}.picker[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-height:var(--%NS%morse-popover-max-height, 320px);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 28px #0000004d;overflow:hidden}ul[_ngcontent-%COMP%]{margin:0;padding:4px 0;list-style:none;overflow-y:auto}li[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:0;border-radius:0;background:transparent;color:var(--%NS%morse-fg);font-size:12px;text-align:left;cursor:pointer}li[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background:var(--%NS%morse-active)}.icon[_ngcontent-%COMP%]{flex:none;width:14px;color:var(--%NS%morse-fg-muted);text-align:center}.text[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono)}.description[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.badge[_ngcontent-%COMP%]{flex:none;padding:1px 6px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-badge-fg);font-size:10px}.empty[_ngcontent-%COMP%]{padding:8px 10px;color:var(--%NS%morse-fg-muted);font-size:12px}.hint[_ngcontent-%COMP%]{padding:5px 10px;border-top:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px}kbd[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:10px;padding:0 3px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm)}`]})};function LE(n,e,t=50){let i=e.trim().toLowerCase();return i.length===0?n.slice(0,t):n.map(o=>({item:o,score:SL(o,i)})).filter(o=>o.score<Number.POSITIVE_INFINITY).sort((o,r)=>o.score-r.score||o.item.label.length-r.item.label.length).slice(0,t).map(o=>o.item)}function SL(n,e){let t=n.label.toLowerCase();return t.startsWith(e)?0:t.includes(e)?1:n.description?.toLowerCase().includes(e)?2:Number.POSITIVE_INFINITY}var DL=[`card`];var TL=(n,e)=>e.id;function ML(n,e){n&1&&(g(0,`p`,5),u(1),_()),n&2&&(d(),I(e))}function kL(n,e){n&1&&(g(0,`span`,16),u(1,`required`),_())}function IL(n,e){if(n&1){let t=L();g(0,`textarea`,19),F(`input`,function(o){D(t);let r=f().$implicit;return T(f().setValue(r.id,o))})(`keydown`,function(o){D(t);return T(f(2).onSubmitKey(o))}),_()}if(n&2){let t=f().$implicit;te(`value`,f().value(t.id)),Y(`aria-label`,t.label)}}function NL(n,e){if(n&1){let t=L();g(0,`input`,20),F(`input`,function(o){D(t);let r=f().$implicit;return T(f().setValue(r.id,o))})(`keydown.enter`,function(o){D(t);return T(f(2).submit(o))}),_()}if(n&2){let t=f().$implicit;te(`value`,f().value(t.id)),Y(`aria-label`,t.label)}}function PL(n,e){if(n&1&&(g(0,`label`,7)(1,`span`,8),u(2),E(3,kL,2,0,`span`,16),_(),E(4,IL,1,2,`textarea`,17)(5,NL,1,2,`input`,18),_()),n&2){let t=e.$implicit;d(2),ie(` `,t.label,` `),d(),S(t.required?3:-1),d(),S(t.index===void 0?4:5)}}var kp=class n{request=se.required();submitted=je();cancelled=je();card=Ue(`card`);values=N({});extra=N(``);preview=C(()=>ow(this.request().form,this.values(),this.extra()));ready=C(()=>this.request().form.arguments.every(e=>!e.required||(this.values()[e.id]??``).trim().length>0));constructor(){ne(()=>{this.request(),this.values.set({}),this.extra.set(``),setTimeout(()=>{this.card()?.nativeElement.querySelector(`input, textarea`)?.focus()},0)})}value(e){return this.values()[e]??``}setValue(e,t){let i=t.target.value;this.values.update(o=>s(r({},o),{[e]:i}))}setExtra(e){this.extra.set(e.target.value)}submit(e){e?.preventDefault(),this.ready()&&this.submitted.emit(this.preview())}onSubmitKey(e){e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&this.submit(e)}onEscape(){this.cancelled.emit()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-prompt-template-dialog`]],viewQuery:function(t,i){t&1&&nt(i.card,DL,5),t&2&&ot()},hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},inputs:{request:[1,`request`]},outputs:{submitted:`submitted`,cancelled:`cancelled`},decls:26,vars:5,consts:[[`card`,``],[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-labelledby`,`template-title`,1,`modal-card`,3,`click`],[1,`head`],[`id`,`template-title`],[1,`description`],[1,`fields`],[1,`field`],[1,`field-label`],[1,`optional`],[`rows`,`3`,`aria-label`,`Additional instructions`,`placeholder`,`Anything the template does not cover`,3,`input`,`keydown`,`value`],[1,`preview`],[`aria-label`,`Prompt preview`],[1,`actions`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,3,`click`,`disabled`],[1,`required`],[`rows`,`2`,`placeholder`,`Shell-quoted arguments, e.g. "api tests" lint`,3,`value`],[`type`,`text`,3,`value`],[`rows`,`2`,`placeholder`,`Shell-quoted arguments, e.g. "api tests" lint`,3,`input`,`keydown`,`value`],[`type`,`text`,3,`input`,`keydown.enter`,`value`]],template:function(t,i){if(t&1&&(g(0,`div`,1),F(`click`,function(){return i.cancelled.emit()}),g(1,`div`,2,0),F(`click`,function(r){return r.stopPropagation()}),g(3,`header`,3)(4,`h2`,4),u(5),_(),E(6,ML,2,1,`p`,5),_(),g(7,`div`,6),X(8,PL,6,3,`label`,7,TL),g(10,`label`,7)(11,`span`,8),u(12,` Additional instructions `),g(13,`span`,9),u(14,`optional · appended below the template`),_()(),g(15,`textarea`,10),F(`input`,function(r){return i.setExtra(r)})(`keydown`,function(r){return i.onSubmitKey(r)}),_()(),g(16,`div`,11)(17,`span`,8),u(18,`Preview`),_(),g(19,`pre`,12),u(20),_()(),g(21,`div`,13)(22,`button`,14),F(`click`,function(){return i.cancelled.emit()}),u(23,`Cancel`),_(),g(24,`button`,15),F(`click`,function(){return i.submit()}),u(25,`Send`),_()()()()()),t&2){let o;d(5),ie(`/`,i.request().name),d(),S((o=i.request().description)?6:-1,o),d(2),J(i.request().form.arguments),d(7),te(`value`,i.extra()),d(5),I(i.preview()),d(4),te(`disabled`,!i.ready())}},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;width:min(560px,100%);max-height:min(84vh,760px);overflow:auto;padding:16px 18px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;animation:_ngcontent-%COMP%_template-in .14s ease-out}.head[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:3px}h2[_ngcontent-%COMP%]{margin:0;font-family:var(--%NS%morse-font-mono);font-size:14px;font-weight:600}.description[_ngcontent-%COMP%]{margin:0;font-size:12px;color:var(--%NS%morse-fg-muted)}form[_ngcontent-%COMP%], .fields[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.field-label[_ngcontent-%COMP%]{font-size:11.5px;font-weight:600;color:var(--%NS%morse-fg-muted)}.required[_ngcontent-%COMP%], .optional[_ngcontent-%COMP%]{margin-left:4px;font-weight:400;font-size:10.5px}.required[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}.optional[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted)}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{width:100%;padding:6px 8px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg, transparent);color:var(--%NS%morse-fg);font-family:inherit;font-size:12.5px;resize:vertical}input[_ngcontent-%COMP%]:focus, textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--%NS%morse-accent)}.preview[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}pre[_ngcontent-%COMP%]{margin:0;max-height:180px;overflow:auto;padding:8px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-code-bg, rgb(0 0 0 / 18%));color:var(--%NS%morse-fg);font-family:var(--%NS%morse-font-mono);font-size:11.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:6px}@keyframes _ngcontent-%COMP%_template-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.modal-card[_ngcontent-%COMP%]{animation:none}}`]})};function Xn(n){return n<1e3?n.toString():n<1e4?`${(n/1e3).toFixed(1)}k`:n<1e6?`${Math.round(n/1e3)}k`:n<1e7?`${(n/1e6).toFixed(1)}M`:`${Math.round(n/1e6)}M`}function FE(n,e){let t=n?.[e];return typeof t==`number`?Xn(t):`—`}function Z0(n){if(!n)return;let e=n.cacheReadTokens??0,t=n.cacheWriteTokens??0,i=n.inputTokens+e+t;if(!(i<=0||e===0&&t===0))return e/i*100}function Q0(n){if(!(n===void 0||n<=0))return`$${n.toFixed(3)}`}function X0(n){let e=[],t=n.usage;if(t){t.inputTokens>0&&e.push(`\u2191${Xn(t.inputTokens)}`),t.outputTokens>0&&e.push(`\u2193${Xn(t.outputTokens)}`),t.cacheReadTokens&&e.push(`R${Xn(t.cacheReadTokens)}`),t.cacheWriteTokens&&e.push(`W${Xn(t.cacheWriteTokens)}`);let r=Z0(t);r!==void 0&&e.push(`CH${r.toFixed(1)}%`)}let i=Q0(n.costUsd);i&&e.push(i);let o=n.contextUsage;if(o){let r=o.percent!==null?`${o.percent.toFixed(1)}%`:`?`;e.push(`${r}/${Xn(o.contextWindow)}`)}return e.join(` `)}var OL=[`search`];var AL=[`list`];var RL=(n,e)=>e.provider;var LL=(n,e)=>e.index;function FL(n,e){if(n&1&&(h(0,`div`,10),u(1),y()),n&2){let t=f();d(),ie(`No model matches “`,t.filter(),`”.`)}}function VL(n,e){n&1&&(h(0,`span`,15),u(1),y()),n&2&&(d(),I(e))}function jL(n,e){n&1&&(h(0,`span`,16),u(1,`✓`),y())}function BL(n,e){if(n&1){let t=L();h(0,`button`,13),A(`mouseenter`,function(){let o=D(t).$implicit;return T(f(4).active.set(o.index))})(`click`,function(){let o=D(t).$implicit;return T(f(4).pick.emit(o.model))}),h(1,`span`,14),u(2),y(),E(3,VL,2,1,`span`,15),E(4,jL,2,0,`span`,16),y()}if(n&2){let t,i=e.$implicit,o=f(4);q(`active`,i.index===o.active())(`selected`,o.keyOf(i.model)===o.current()),j(`title`,o.keyOf(i.model)),Y(`aria-current`,o.keyOf(i.model)===o.current()?`true`:null),d(2),I(i.model.name),d(),S((t=o.context(i.model))?3:-1,t),d(),S(o.keyOf(i.model)===o.current()?4:-1)}}function $L(n,e){if(n&1&&(h(0,`div`,11),u(1),y(),X(2,BL,5,9,`button`,12,LL)),n&2){let t=f().$implicit;d(),I(t.provider),d(),J(t.rows)}}function HL(n,e){if(n&1&&E(0,$L,4,1),n&2){let t=e.$implicit;S(t.rows.length>0?0:-1)}}function zL(n,e){if(n&1&&X(0,HL,1,1,null,null,RL),n&2)J(f().groups())}function UL(n,e){let t=e.trim().toLowerCase(),i=new Map;for(let o of n){if(t.length>0&&!`${o.provider} ${o.id} ${o.name}`.toLowerCase().includes(t))continue;let r=i.get(o.provider);r?r.push(o):i.set(o.provider,[o])}return[...i].map(([o,r])=>({provider:o,models:r}))}var Ip=class n{models=se.required();current=se(``);pick=je();close=je();host=w(St);search=Ue(`search`);list=Ue(`list`);filter=N(``);active=N(0);groups=C(()=>{let e=0;return UL(this.models(),this.filter()).map(t=>({provider:t.provider,rows:t.models.map(i=>({model:i,index:e++}))}))});visible=C(()=>this.groups().flatMap(e=>e.rows.map(t=>t.model)));constructor(){An(()=>this.search()?.nativeElement.focus()),ne(()=>{if(this.groups(),this.filter().trim().length>0)return;let e=this.visible().findIndex(t=>this.keyOf(t)===this.current());e>=0&&this.active.set(e)}),ne(()=>{this.active(),this.groups(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,t=e?.querySelectorAll(`.row`)[this.active()];if(!e||!t)return;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect(),r=e.querySelector(`.group`)?.offsetHeight??0,s=i.top+r;o.top<s?e.scrollTop-=s-o.top:o.bottom>i.bottom&&(e.scrollTop+=o.bottom-i.bottom)}keyOf(e){return`${e.provider}/${e.id}`}context(e){return e.contextWindow?Xn(e.contextWindow):``}onFilter(e){this.filter.set(e.target.value),this.active.set(0)}onKeydown(e){let t=this.visible();switch(e.key){case`Escape`:e.preventDefault(),this.close.emit();return;case`ArrowDown`:e.preventDefault(),this.active.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.active.update(i=>Math.max(0,i-1));return;case`Enter`:{let i=t[this.active()];i&&(e.preventDefault(),this.pick.emit(i));return}default:return}}onDocumentPointerdown(e){let t=e.target;t&&!this.host.nativeElement.contains(t)&&this.close.emit()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-model-picker`]],viewQuery:function(t,i){t&1&&nt(i.search,OL,5)(i.list,AL,5),t&2&&ot(2)},hostBindings:function(t,i){t&1&&A(`pointerdown`,function(r){return i.onDocumentPointerdown(r)},Dt)},inputs:{models:[1,`models`],current:[1,`current`]},outputs:{pick:`pick`,close:`close`},decls:12,vars:4,consts:[[`search`,``],[`list`,``],[1,`panel`,3,`morseEnter`,`morseEnterY`],[1,`search`],[`aria-hidden`,`true`,1,`search-icon`],[`viewBox`,`0 0 16 16`],[`cx`,`7`,`cy`,`7`,`r`,`4.2`],[`d`,`M10.2 10.2 14 14`],[`type`,`text`,`placeholder`,`Search models`,`aria-label`,`Search models`,3,`input`,`keydown`,`value`],[1,`list`],[1,`empty`],[1,`group`],[`type`,`button`,1,`row`,3,`active`,`selected`,`title`],[`type`,`button`,1,`row`,3,`mouseenter`,`click`,`title`],[1,`name`],[1,`meta`],[1,`check`]],template:function(t,i){t&1&&(h(0,`div`,2)(1,`div`,3)(2,`span`,4),De(),h(3,`svg`,5),ee(4,`circle`,6)(5,`path`,7),y()(),kt(),h(6,`input`,8,0),A(`input`,function(r){return i.onFilter(r)})(`keydown`,function(r){return i.onKeydown(r)}),y()(),h(8,`div`,9,1),E(10,FL,2,1,`div`,10)(11,zL,2,0),y()()),t&2&&(j(`morseEnter`,0)(`morseEnterY`,6),d(6),j(`value`,i.filter()),d(4),S(i.visible().length===0?10:11))},dependencies:[Sn],styles:[`[_nghost-%COMP%]{display:block}.panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-height:var(--%NS%morse-popover-max-height, 340px);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 12px 32px #00000059;overflow:hidden}.search[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;padding:8px 10px;border-bottom:1px solid var(--%NS%morse-border)}.search-icon[_ngcontent-%COMP%]{position:absolute;left:19px;display:inline-flex;color:var(--%NS%morse-fg-muted);pointer-events:none}.search-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:0;padding-left:28px;font-size:12.5px}.search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus-visible{outline:none}.list[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding-bottom:4px}.group[_ngcontent-%COMP%]{position:sticky;top:0;padding:8px 10px 4px;background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg-muted);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:0;border-radius:0;background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.row.active[_ngcontent-%COMP%], .row[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.row.selected[_ngcontent-%COMP%]{background:var(--%NS%morse-active)}.name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:11px}.check[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:12px}.empty[_ngcontent-%COMP%]{padding:12px 10px;color:var(--%NS%morse-fg-muted);font-size:12px}`]})};var GL=[`brain`];var qL=[`halo`];function WL(n,e){if(n&1&&(De(),fe(0,`path`)),n&2){let t=e.$implicit;Y(`d`,t)}}function YL(n,e){n&1&&fe(0,`span`,3,1)}function KL(n,e){n&1&&fe(0,`span`,4,1)}var ZL=[`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`,`M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z`,`M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4`,`M17.599 6.5a3 3 0 0 0 .399-1.375`,`M6.003 5.125A3 3 0 0 0 6.401 6.5`,`M3.477 10.896a4 4 0 0 1 .585-.396`,`M19.938 10.5a4 4 0 0 1 .585.396`,`M6 18a4 4 0 0 1-1.967-.516`,`M19.967 17.484A4 4 0 0 1 18 18`];var QL={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6};function XL(n){return QL[n]??2}function JL(n){switch(n){case`off`:return{params:{opacity:[.35,.6]},duration:5200,ease:`inOut(1)`};case`minimal`:return{params:{opacity:[.6,1]},duration:2200};case`low`:return{params:{rotate:[`-7deg`,`7deg`]},duration:1500};case`medium`:return{params:{scale:[1,1.14]},duration:950,halo:{duration:1300}};case`high`:return{params:{scale:[1,1.18]},duration:560,halo:{duration:800}};case`xhigh`:return{params:{scale:[1,1.16],rotate:[`-8deg`,`8deg`]},duration:440,halo:{duration:620}};case`max`:return{params:{scale:[1,1.22],rotate:[`-12deg`,`12deg`]},duration:320,ease:`linear`,halo:{duration:480}}}}var Np=class n{level=se.required();bumped=se(!1);host=w(St);animation=w(En);brain=Ue(`brain`);halos=iC(`halo`);stoppers=[];paths=ZL;intensity=C(()=>XL(this.level()));constructor(){ne(()=>{let e=this.level(),t=this.brain()?.nativeElement,i=this.halos().map(r=>r.nativeElement);if(this.stopLoops(),!t||!this.animation.isEnabled)return;let o=JL(e);this.stoppers.push(this.animation.loop(t,o.params,{duration:o.duration,delay:o.delay??0,ease:o.ease??`inOut(2)`})),o.halo&&i.forEach((r,s)=>{this.stoppers.push(this.animation.loop(r,{scale:[.72,1.9],opacity:[.55,0]},{duration:o.halo.duration,delay:(o.halo.delay??0)+s*o.halo.duration*.5,ease:`out(2)`,alternate:!1}))})}),ne(()=>{this.bumped()&&this.animation.pop(this.host.nativeElement,{scale:1.3,duration:420})}),w(He).onDestroy(()=>this.stopLoops())}stopLoops(){for(let e of this.stoppers)e();this.stoppers=[]}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-brain`]],viewQuery:function(t,i){t&1&&nt(i.brain,GL,5)(i.halos,qL,5),t&2&&ot(2)},hostVars:3,hostBindings:function(t,i){t&2&&(Y(`data-level`,i.level()),q(`bumped`,i.bumped()))},inputs:{level:[1,`level`],bumped:[1,`bumped`]},decls:6,vars:2,consts:[[`brain`,``],[`halo`,``],[`viewBox`,`0 0 24 24`,`fill`,`none`,`stroke`,`currentColor`,`stroke-width`,`1.7`,`stroke-linecap`,`round`,`stroke-linejoin`,`round`,`aria-hidden`,`true`,1,`brain`],[`aria-hidden`,`true`,1,`wave`,`wave-a`],[`aria-hidden`,`true`,1,`wave`,`wave-b`]],template:function(t,i){t&1&&(De(),g(0,`svg`,2,0),X(2,WL,1,1,`:svg:path`,null,kn),_(),E(4,YL,2,0,`span`,3),E(5,KL,2,0,`span`,4)),t&2&&(d(2),J(i.paths),d(2),S(i.intensity()>=3?4:-1),d(),S(i.intensity()>=4?5:-1))},styles:[`[_nghost-%COMP%]{position:relative;display:inline-flex;width:16px;height:16px;color:var(--%NS%morse-accent)}.brain[_ngcontent-%COMP%]{width:100%;height:100%;transform-box:fill-box;transform-origin:center}.wave[_ngcontent-%COMP%]{position:absolute;inset:-1px;border-radius:50%;border:1px solid currentColor;opacity:0;pointer-events:none}[data-level="off"][_nghost-%COMP%]{color:var(--%NS%morse-fg-muted)}[data-level="minimal"][_nghost-%COMP%]{color:var(--%NS%morse-info)}[data-level="low"][_nghost-%COMP%]{color:var(--%NS%morse-success)}[data-level="medium"][_nghost-%COMP%]{color:var(--%NS%morse-warn)}[data-level="high"][_nghost-%COMP%]{color:var(--%NS%morse-error)}[data-level="xhigh"][_nghost-%COMP%]{color:var(--%NS%morse-error);color:color-mix(in srgb,var(--%NS%morse-error) 55%,var(--%NS%morse-typename))}[data-level="max"][_nghost-%COMP%]{color:var(--%NS%morse-typename)}`]})};var eF=[`panel`];function tF(n,e){n&1&&(h(0,`span`,10),u(1,`✓`),y())}function nF(n,e){if(n&1){let t=L();h(0,`button`,8),A(`mouseenter`,function(){let o=D(t).$index;return T(f(2).active.set(o))})(`click`,function(){let o=D(t).$implicit;return T(f(2).choose(o))}),ee(1,`morse-brain`,2),h(2,`span`,9),u(3),y(),E(4,tF,2,0,`span`,10),y()}if(n&2){let t=e.$implicit,i=e.$index,o=f(2);q(`active`,i===o.active())(`selected`,t===o.current()),Y(`aria-selected`,t===o.current()),d(),j(`level`,t),d(2),I(t),d(),S(t===o.current()?4:-1)}}function iF(n,e){if(n&1){let t=L();h(0,`div`,6,0),A(`keydown`,function(o){D(t);return T(f().onKeydown(o))}),X(2,nF,5,8,`button`,7,kn),y()}if(n&2){let t=f();j(`morseEnter`,0)(`morseEnterY`,6),d(2),J(t.levels())}}var Pp=class n{levels=se.required();current=se.required();pick=je();host=w(St);shortcuts=w(Fn);destroyRef=w(He);panel=Ue(`panel`);open=N(!1);active=N(0);bumped=N(!1);constructor(){let e=this.shortcuts.bind(`thinking.pick`,()=>this.toggle(),()=>this.levels().length>0);this.destroyRef.onDestroy(e),ne(()=>{this.open()&&setTimeout(()=>this.panel()?.nativeElement.focus(),0)})}toggle(){if(this.open()){this.close();return}this.bump();let e=this.levels().indexOf(this.current());this.active.set(e>=0?e:0),this.open.set(!0)}choose(e){this.pick.emit(e),this.close()}onKeydown(e){let t=this.levels();switch(e.key){case`Escape`:e.preventDefault(),this.close();return;case`ArrowDown`:e.preventDefault(),this.active.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.active.update(i=>Math.max(0,i-1));return;case`Enter`:{let i=t[this.active()];i&&(e.preventDefault(),this.choose(i));return}default:return}}onDocumentPointerdown(e){let t=e.target;this.open()&&t&&!this.host.nativeElement.contains(t)&&this.close()}close(){this.open.set(!1),this.bumped.set(!1)}bump(){this.bumped.set(!1),setTimeout(()=>this.bumped.set(!0),0),setTimeout(()=>this.bumped.set(!1),520)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-thinking-picker`]],viewQuery:function(t,i){t&1&&nt(i.panel,eF,5),t&2&&ot()},hostBindings:function(t,i){t&1&&A(`pointerdown`,function(r){return i.onDocumentPointerdown(r)},Dt)},inputs:{levels:[1,`levels`],current:[1,`current`]},outputs:{pick:`pick`},decls:7,vars:5,consts:[[`panel`,``],[`type`,`button`,`aria-haspopup`,`listbox`,1,`trigger`,3,`click`,`title`],[3,`level`],[1,`level`],[`aria-hidden`,`true`,1,`caret`],[`role`,`listbox`,`aria-label`,`Thinking level`,`tabindex`,`-1`,1,`panel`,3,`morseEnter`,`morseEnterY`],[`role`,`listbox`,`aria-label`,`Thinking level`,`tabindex`,`-1`,1,`panel`,3,`keydown`,`morseEnter`,`morseEnterY`],[`type`,`button`,`role`,`option`,1,`row`,3,`active`,`selected`],[`type`,`button`,`role`,`option`,1,`row`,3,`mouseenter`,`click`],[1,`name`],[`aria-hidden`,`true`,1,`check`]],template:function(t,i){t&1&&(h(0,`button`,1),A(`click`,function(){return i.toggle()}),ee(1,`morse-brain`,2),h(2,`span`,3),u(3),y(),h(4,`span`,4),u(5,`▾`),y()(),E(6,iF,4,2,`div`,5)),t&2&&(j(`title`,`Thinking level: `+i.current()),Y(`aria-expanded`,i.open()),d(),j(`level`,i.current()),d(2),I(i.current()),d(3),S(i.open()?6:-1))},dependencies:[Sn,Np],styles:[`[_nghost-%COMP%]{position:relative;display:inline-block}.trigger[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--%NS%morse-input-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg);color:var(--%NS%morse-input-fg);font-size:12px;cursor:pointer}.trigger[_ngcontent-%COMP%]:hover{border-color:var(--%NS%morse-fg-muted)}.trigger[aria-expanded=true][_ngcontent-%COMP%]{border-color:var(--%NS%morse-focus)}.trigger[_ngcontent-%COMP%] .level[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.trigger[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:10px}.panel[_ngcontent-%COMP%]{position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;min-width:180px;padding:4px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 28px #0000004d}.panel[_ngcontent-%COMP%]:focus-visible{outline:none}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12px;text-align:left;cursor:pointer}.row.active[_ngcontent-%COMP%]{background:var(--%NS%morse-hover)}.row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.row.selected[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{color:var(--%NS%morse-accent)}.row[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:12px}`]})};function oF(n,e){n&1&&(g(0,`span`),u(1),_()),n&2&&(d(),ie(` · `,e))}function rF(n,e){if(n&1&&(g(0,`section`)(1,`h4`),u(2,`Last assistant message`),_(),g(3,`div`,13)(4,`div`,14)(5,`span`,15),u(6,`Input`),_(),g(7,`span`,16),u(8),_()(),g(9,`div`,14)(10,`span`,15),u(11,`Output`),_(),g(12,`span`,16),u(13),_()(),g(14,`div`,14)(15,`span`,15),u(16,`Reasoning`),_(),g(17,`span`,16),u(18),_()(),g(19,`div`,14)(20,`span`,15),u(21,`Cache read`),_(),g(22,`span`,16),u(23),_()(),g(24,`div`,14)(25,`span`,15),u(26,`Cache write`),_(),g(27,`span`,16),u(28),_()(),g(29,`div`,14)(30,`span`,15),u(31,`Cache hit`),_(),g(32,`span`,16),u(33),_()()()()),n&2){let t=f(2);d(8),I(t.lastValue(`inputTokens`)),d(5),I(t.lastValue(`outputTokens`)),d(5),I(t.lastValue(`reasoningTokens`)),d(5),I(t.lastValue(`cacheReadTokens`)),d(5),I(t.lastValue(`cacheWriteTokens`)),d(5),I(t.cacheHitLabel())}}function sF(n,e){if(n&1){let t=L();g(0,`button`,5),F(`click`,function(){D(t);return T(f().close())}),_(),g(1,`div`,6)(2,`header`)(3,`h3`),u(4,`Context`),_(),g(5,`button`,7),F(`click`,function(){D(t);return T(f().close())}),u(6,`×`),_()(),g(7,`div`,8),u(8),E(9,oF,2,1,`span`),_(),g(10,`div`,9)(11,`span`),u(12,`Context`),_(),g(13,`span`),u(14),_()(),g(15,`div`,10),fe(16,`span`,11),_(),g(17,`div`,12)(18,`span`),u(19),_()(),g(20,`div`,13)(21,`div`,14)(22,`span`,15),u(23,`Messages`),_(),g(24,`span`,16),u(25),_()(),g(26,`div`,14)(27,`span`,15),u(28,`User`),_(),g(29,`span`,16),u(30),_()(),g(31,`div`,14)(32,`span`,15),u(33,`Assistant`),_(),g(34,`span`,16),u(35),_()(),g(36,`div`,14)(37,`span`,15),u(38,`Tool calls`),_(),g(39,`span`,16),u(40),_()(),g(41,`div`,14)(42,`span`,15),u(43,`Cost`),_(),g(44,`span`,16),u(45),_()(),g(46,`div`,14)(47,`span`,15),u(48,`Output limit`),_(),g(49,`span`,16),u(50),_()()(),E(51,rF,34,6,`section`),g(52,`section`)(53,`h4`),u(54,`Session totals`),_(),g(55,`div`,17),u(56),_()()()}if(n&2){let t,i=f();d(8),ie(` `,i.modelLabel()),d(),S((t=i.sessionTitle())?9:-1,t),d(5),Xi(``,i.usedLabel(),` / `,i.limitLabel()),d(2),Tt(`width`,i.fillPercent(),`%`),q(`warn`,i.level()===`warn`)(`danger`,i.level()===`danger`),d(3),ie(``,i.percentLabel(),` used`),d(6),I(i.counts()?.totalMessages??`—`),d(5),I(i.counts()?.userMessages??`—`),d(5),I(i.counts()?.assistantMessages??`—`),d(5),I(i.counts()?.toolCalls??`—`),d(5),I(i.costLabel()),d(5),I(i.outputLimitLabel()),d(),S(i.lastUsage()?51:-1),d(5),I(i.sessionLine()||`No usage yet.`)}}var VE=2*Math.PI*15.5;var Op=class n{usage=se();lastUsage=se();costUsd=se();contextUsage=se();counts=se();model=se();sessionTitle=se();open=N(!1);circumference=VE;percent=C(()=>this.contextUsage()?.percent??void 0);percentLabel=C(()=>{let e=this.contextUsage()?.percent;return e==null?`–`:`${e.toFixed(1)}%`});level=C(()=>{let e=this.percent()??0;return e>90?`danger`:e>70?`warn`:`ok`});fillPercent=C(()=>Math.min(100,Math.max(0,this.percent()??0)));dashOffset=C(()=>VE*(1-this.fillPercent()/100));usedLabel=C(()=>{let e=this.contextUsage()?.tokens;return e==null?`—`:Xn(e)});limitLabel=C(()=>{let e=this.contextUsage()?.contextWindow;return e===void 0?`—`:Xn(e)});costLabel=C(()=>Q0(this.costUsd())??`—`);outputLimitLabel=C(()=>{let e=this.model()?.maxTokens;return e===void 0?`—`:Xn(e)});modelLabel=C(()=>this.model()?.name??this.model()?.id??`no model`);tooltip=C(()=>{let e=[`Context ${this.percentLabel()} \xB7 ${this.usedLabel()} / ${this.limitLabel()}`],t=X0({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()});return t.length>0&&e.push(t),e.join(`
|
|
31
|
+
`)});sessionLine=C(()=>X0({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()}));cacheHitLabel=C(()=>{let e=Z0(this.lastUsage());return e===void 0?`—`:`${e.toFixed(1)}%`});lastValue(e){return FE(this.lastUsage(),e)}toggle(){this.open.update(e=>!e)}close(){this.open.set(!1)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-usage-indicator`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.close()},Dt)},inputs:{usage:[1,`usage`],lastUsage:[1,`lastUsage`],costUsd:[1,`costUsd`],contextUsage:[1,`contextUsage`],counts:[1,`counts`],model:[1,`model`],sessionTitle:[1,`sessionTitle`]},decls:7,vars:10,consts:[[`type`,`button`,`aria-label`,`Context usage`,1,`mini`,3,`click`,`title`],[`viewBox`,`0 0 36 36`,`aria-hidden`,`true`,1,`ring`],[`cx`,`18`,`cy`,`18`,`r`,`15.5`,1,`track`],[`cx`,`18`,`cy`,`18`,`r`,`15.5`,1,`value`],[1,`pct`],[`type`,`button`,`aria-label`,`Close usage`,1,`scrim`,3,`click`],[`role`,`dialog`,`aria-label`,`Context usage`,1,`panel`],[`type`,`button`,`aria-label`,`Close`,1,`close`,3,`click`],[1,`subtitle`],[1,`bar-head`],[1,`bar`],[1,`fill`],[1,`bar-foot`],[1,`grid`],[1,`cell`],[1,`k`],[1,`v`],[1,`totals`]],template:function(t,i){t&1&&(g(0,`button`,0),F(`click`,function(){return i.toggle()}),De(),g(1,`svg`,1),fe(2,`circle`,2)(3,`circle`,3),_(),kt(),g(4,`span`,4),u(5),_()(),E(6,sF,57,19)),t&2&&(te(`title`,i.tooltip()),Y(`aria-expanded`,i.open()),d(),q(`warn`,i.level()===`warn`)(`danger`,i.level()===`danger`),d(2),Y(`stroke-dasharray`,i.circumference)(`stroke-dashoffset`,i.dashOffset()),d(2),I(i.percentLabel()),d(),S(i.open()?6:-1))},styles:[`[_nghost-%COMP%]{position:relative;display:inline-flex;vertical-align:middle}.mini[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:2px 7px 2px 3px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1;cursor:pointer}.mini[_ngcontent-%COMP%]:hover, .mini[aria-expanded=true][_ngcontent-%COMP%]{border-color:var(--%NS%morse-border);background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.ring[_ngcontent-%COMP%]{width:20px;height:20px;transform:rotate(-90deg)}.track[_ngcontent-%COMP%]{fill:none;stroke:var(--%NS%morse-border);stroke-width:3.4}.value[_ngcontent-%COMP%]{fill:none;stroke:var(--%NS%morse-success);stroke-width:3.4;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.ring.warn[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{stroke:var(--%NS%morse-warn)}.ring.danger[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{stroke:var(--%NS%morse-error)}.pct[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:10.5px;font-variant-numeric:tabular-nums}.scrim[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:30;padding:0;border:0;background:transparent;cursor:default}.scrim[_ngcontent-%COMP%]:hover, .scrim[_ngcontent-%COMP%]:active{background:transparent}.panel[_ngcontent-%COMP%]{position:absolute;z-index:31;right:0;bottom:calc(100% + 8px);width:320px;max-height:70vh;overflow-y:auto;padding:12px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 16px 40px #00000059;color:var(--%NS%morse-fg);text-align:left}.panel[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:13px;font-weight:600}.close[_ngcontent-%COMP%]{padding:0 6px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:15px;line-height:1.4;cursor:pointer}.close[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg);background:var(--%NS%morse-active)}.subtitle[_ngcontent-%COMP%]{margin-bottom:10px;color:var(--%NS%morse-fg-muted);font-size:11px}.bar-head[_ngcontent-%COMP%], .bar-foot[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;color:var(--%NS%morse-fg-muted);font-size:11px}.bar[_ngcontent-%COMP%]{height:7px;margin:5px 0;border-radius:999px;background:var(--%NS%morse-border);overflow:hidden}.bar[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%]{display:block;height:100%;border-radius:999px;background:var(--%NS%morse-success);transition:width .3s ease}.bar[_ngcontent-%COMP%] .fill.warn[_ngcontent-%COMP%]{background:var(--%NS%morse-warn)}.bar[_ngcontent-%COMP%] .fill.danger[_ngcontent-%COMP%]{background:var(--%NS%morse-error)}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.cell[_ngcontent-%COMP%]{padding:6px 8px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg, transparent)}.cell[_ngcontent-%COMP%] .k[_ngcontent-%COMP%]{display:block;color:var(--%NS%morse-fg-muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.cell[_ngcontent-%COMP%] .v[_ngcontent-%COMP%]{display:block;margin-top:2px;font-family:var(--%NS%morse-font-mono);font-size:12px;font-variant-numeric:tabular-nums}section[_ngcontent-%COMP%]{margin-top:12px}section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 4px;color:var(--%NS%morse-fg-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.totals[_ngcontent-%COMP%]{padding:7px 9px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:11.5px;font-variant-numeric:tabular-nums}`]})};var lF=[`promptInput`];var cF=[`fileInput`];var ey=(n,e)=>e.id;function dF(n,e){if(n&1){let t=L();h(0,`div`,31)(1,`span`,32),u(2,`⠿`),y(),h(3,`span`,33),u(4),y(),h(5,`div`,34)(6,`button`,35),A(`click`,function(){let o=D(t).$implicit;return T(f(2).editQueued(o))}),u(7,` ✎ `),h(8,`span`),u(9,`edit`),y()(),h(10,`button`,36),A(`click`,function(){let o=D(t).$implicit;return T(f(2).sendQueued(o))}),u(11,` ➤ `),h(12,`span`),u(13,`send`),y()(),h(14,`button`,37),A(`click`,function(){let o=D(t).$implicit;return T(f(2).removeQueued(o))}),u(15,` × `),y()()()}if(n&2){let t=e.$implicit,i=e.$index;j(`cdkDragData`,t)(`morseEnter`,i)(`morseEnterY`,4),d(3),j(`title`,t.text),d(),I(t.text)}}function uF(n,e){if(n&1){let t=L();h(0,`div`,3)(1,`div`,26)(2,`span`,27),u(3,`⏲`),y(),h(4,`span`,28),u(5,`Queued messages`),y(),h(6,`span`,29),u(7),y()(),h(8,`div`,30),A(`cdkDropListDropped`,function(o){D(t);return T(f().onQueueDrop(o))}),X(9,dF,16,5,`div`,31,ey),y()()}if(n&2){let t=f();d(7),I(t.queuedMessages().length),d(),j(`cdkDropListData`,t.queuedMessages()),d(),J(t.queuedMessages())}}function pF(n,e){if(n&1){let t=L();h(0,`button`,38),A(`click`,function(){D(t);return T(f().attachSelection())}),u(1,` ⧉ `),y()}}function fF(n,e){n&1&&u(0,` add files · @ to mention · / for commands `)}function mF(n,e){n&1&&u(0,` upload or drop files · / for commands `)}function hF(n,e){n&1&&u(0,` drop files here · / for commands `)}function gF(n,e){if(n&1){let t=L();h(0,`morse-file-picker`,39),A(`activeChange`,function(o){D(t);return T(f().mentionActive.set(o))})(`pick`,function(o){D(t);return T(f().onPickFile(o))})(`quote`,function(o){D(t);return T(f().onQuoteFile(o))})(`reload`,function(){D(t);return T(f().reloadFiles())})(`close`,function(){D(t);return T(f().onPickerClose())}),y()}if(n&2){let t=f();j(`morsePopoverFit`,300)(`files`,t.pickerMatches())(`busy`,t.loadingFiles())(`query`,t.pickerFilter())(`active`,t.mentionActive())}}function yF(n,e){if(n&1){let t=L();h(0,`morse-command-picker`,40),A(`activeChange`,function(o){D(t);return T(f().paletteActive.set(o))})(`pick`,function(o){D(t);return T(f().activatePalette(o,`run`))})(`close`,function(){D(t);return T(f().onPaletteClose())}),y()}if(n&2){let t=f();j(`morsePopoverFit`,320)(`items`,t.paletteItems())(`query`,t.paletteFilter())(`active`,t.paletteActive())}}function _F(n,e){if(n&1){let t=L();h(0,`li`,41)(1,`button`,43),A(`click`,function(){D(t);return T(f(2).lockLive())}),h(2,`span`,44),u(3,`⧉`),y(),h(4,`span`,45),u(5),y(),h(6,`span`,46),u(7),y()(),h(8,`button`,47),A(`click`,function(){D(t);return T(f(2).dismissLive())}),u(9,` × `),y()()}if(n&2){let t=e,i=f(2);j(`morseEnter`,0)(`morseEnterY`,6)(`morseEnterScale`,.55)(`morseEnterDuration`,320),d(),j(`title`,i.lockLiveLabel()),Y(`aria-label`,`Lock the `+t.path+` selection as a pin`),d(3),j(`title`,t.path),d(),I(t.path),d(2),I(i.pinRange(t)),d(),Y(`aria-label`,`Dismiss the `+t.path+` selection preview`)}}function vF(n,e){if(n&1){let t=L();h(0,`li`,42),ee(1,`img`,48),h(2,`span`,45),u(3),y(),h(4,`button`,49),A(`click`,function(){let o=D(t).$implicit;return T(f(2).removeImage(o.id))}),u(5,` × `),y()()}if(n&2){let t=e.$implicit,i=e.$index,o=f(2);j(`morseEnter`,o.chipOffset()+i)(`morseEnterY`,6)(`morseEnterScale`,.55)(`morseEnterDuration`,320),d(),j(`src`,o.preview(t),ji)(`alt`,t.name),d(),j(`title`,t.name),d(),I(t.name),d(),Y(`aria-label`,`Remove `+t.name)}}function bF(n,e){if(n&1&&(h(0,`span`,46),u(1),y()),n&2){let t=f().$implicit,i=f(2);d(),I(i.pinRange(t))}}function xF(n,e){if(n&1){let t=L();h(0,`li`,42)(1,`button`,43),A(`click`,function(){let o=D(t).$implicit;return T(f(2).openPinPreview(o))}),h(2,`span`,44),u(3,`⧉`),y(),h(4,`span`,50),u(5),y(),E(6,bF,2,1,`span`,46),y(),h(7,`button`,49),A(`click`,function(){let o=D(t).$implicit;return T(f(2).removePin(o.id))}),u(8,` × `),y()()}if(n&2){let t=e.$implicit,i=e.$index,o=f(2);j(`morseEnter`,o.chipOffset()+o.images().length+i)(`morseEnterY`,6)(`morseEnterScale`,.55)(`morseEnterDuration`,320),d(),j(`title`,`Open `+t.path+` in the preview`),d(4),I(t.path),d(),S(t.startLine!==void 0?6:-1),d(),Y(`aria-label`,`Unpin `+t.path)}}function CF(n,e){if(n&1&&(h(0,`ul`,12),E(1,_F,10,10,`li`,41),X(2,vF,6,9,`li`,42,ey),X(4,xF,9,8,`li`,42,ey),y()),n&2){let t,i=f();d(),S((t=i.livePreview())?1:-1,t),d(),J(i.images()),d(2),J(i.pins())}}function wF(n,e){if(n&1&&(h(0,`span`,52),u(1),y()),n&2){let t=f(2);d(),Xi(` ↓`,t.streamedTokens(),` · `,t.tokensPerSecond()??0,` t/s `)}}function EF(n,e){if(n&1&&(h(0,`span`,54),ee(1,`span`,56),h(2,`span`),u(3),y(),h(4,`span`,57),ee(5,`i`)(6,`i`)(7,`i`),y()()),n&2){let t=f(2);d(3),ie(`Working `,t.elapsed())}}function SF(n,e){if(n&1&&ee(0,`morse-usage-indicator`,55),n&2){let t=f(2);j(`usage`,t.usageState().usage)(`lastUsage`,t.usageState().lastUsage)(`costUsd`,t.usageState().costUsd)(`contextUsage`,t.usageState().contextUsage)(`counts`,t.usageState().counts)(`model`,t.usageState().model)(`sessionTitle`,t.usageState().sessionTitle)}}function DF(n,e){if(n&1&&(h(0,`div`,14)(1,`div`,51),E(2,wF,2,2,`span`,52),y(),h(3,`div`,53),E(4,EF,8,1,`span`,54),E(5,SF,1,7,`morse-usage-indicator`,55),y()()),n&2){let t=f();d(2),S(t.running()?2:-1),d(2),S(t.running()?4:-1),d(),S(t.showUsage()?5:-1)}}function TF(n,e){if(n&1&&(h(0,`span`,18),u(1),y()),n&2){let t=e;j(`title`,t),d(),I(t)}}function MF(n,e){if(n&1){let t=L();h(0,`morse-model-picker`,58),A(`pick`,function(o){D(t);return T(f().onModelPick(o))})(`close`,function(){D(t);return T(f().closeModelPicker())}),y()}if(n&2){let t=f();j(`morsePopoverFit`,340)(`models`,t.models())(`current`,t.modelKey())}}function kF(n,e){if(n&1){let t=L();h(0,`button`,59),A(`click`,function(){D(t);return T(f().sendWith(`steer`))}),u(1,`Steer`),y(),h(2,`button`,59),A(`click`,function(){D(t);return T(f().sendWith(`followUp`))}),u(3,`Follow up`),y(),h(4,`button`,60),A(`click`,function(){D(t);return T(f().abort())}),u(5,`■`),y()}}function IF(n,e){if(n&1){let t=L();h(0,`button`,61),A(`click`,function(){D(t);return T(f().sendWith(`new`))}),u(1,` ↑ `),y()}if(n&2)j(`disabled`,!f().canSend())}function NF(n,e){if(n&1){let t=L();h(0,`morse-prompt-template-dialog`,62),A(`submitted`,function(o){D(t);return T(f().onTemplateSubmit(o))})(`cancelled`,function(){D(t);return T(f().closeTemplate())}),y()}n&2&&j(`request`,e)}var Ap=class n{morse=w(Ie);shell=w(Ft);shortcuts=w(Fn);destroyRef=w(He);attachments=w(Zn);drafts=w(ir);queue=w(ba);workspace=w(Qn);tabs=w(Vt);uploads=w(xa);promptInput=Ue(`promptInput`);fileInput=Ue(`fileInput`);draining=!1;text=this.drafts.text;connected=C(()=>this.morse.connection()===`ready`);agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;streaming=C(()=>this.morse.state().streaming);canSend=C(()=>this.connected()&&!this.agentStarting()&&this.agentError()===void 0);canAttachSelection=C(()=>this.morse.capabilities()?.editorContext===!0);thinkingLevel=C(()=>this.morse.state().thinkingLevel);models=this.morse.availableModels;levels=this.morse.availableThinkingLevels;modelKey=C(()=>{let e=this.morse.state().model;return e?`${e.provider}/${e.id}`:``});usageState=this.morse.state;showUsage=C(()=>{let e=this.morse.state();return e.usage!==void 0||e.contextUsage!==void 0});showStatusRow=C(()=>this.running()||this.showUsage());streamedTokens=C(()=>Math.round(Math.max(0,J0(this.morse.items())-this.baseline())/4));tokensPerSecond=N(void 0);baseline=N(0);throughput=[];images=this.attachments.images;pins=this.attachments.pins;queuedMessages=C(()=>this.queue.forOwner(this.tabs.composerKey()));openPinPreview(e){this.morse.capabilities()?.filePreview&&this.tabs.openMentionFile(e.path)}livePreview=this.attachments.livePreview;chipOffset=C(()=>this.livePreview()?1:0);lockLiveLabel=C(()=>this.livePreview()?`Lock this selection — it stops following the editor; a new selection makes a new chip.`:``);pickerOpen=N(!1);workspaceFiles=this.workspace.files;loadingFiles=this.workspace.busy;mentionMode=N(!1);pickerFilter=N(``);pickerMatches=C(()=>RE(this.workspaceFiles(),this.pickerFilter()));mentionActive=N(0);canPickFiles=this.workspace.available;canUpload=this.uploads.available;paletteOpen=N(!1);paletteFilter=N(``);paletteActive=N(0);templateRequest=N(void 0);availableCommands=this.morse.availableCommands;paletteItems=C(()=>{return LE([...jE.map(t=>({id:`builtin:${t.name}`,label:`/${t.name}`,description:t.description,badge:`built-in`,icon:`›`})),...this.availableCommands().map(t=>({id:`command:${t.name}`,label:`/${t.name}`,description:t.description,badge:t.source,icon:`⁄`}))],this.paletteFilter())});modelPickerOpen=N(!1);currentModel=this.morse.model;currentProvider=C(()=>this.morse.model()?.provider??``);modelLabel=C(()=>{let e=this.morse.model();return e?`${e.provider} \xB7 ${e.name}`:`no model`});canAddFiles=C(()=>this.canPickFiles()||this.canUpload()||this.canAttachSelection());addFilesLabel=C(()=>this.canPickFiles()?`Add files to the prompt`:this.canUpload()?`Upload files to the prompt`:`Attach the active editor selection`);running=C(()=>this.morse.state().streaming||this.morse.state().busy);elapsed=C(()=>{this.tick();let e=this.startedAt(),t=e===null?0:Date.now()-e;return t<1e3?``:AF(t)});startedAt=N(null);tick=N(0);constructor(){let e=this.shortcuts.bind(`model.pick`,()=>this.toggleModelPicker(),()=>this.models().length>0);this.destroyRef.onDestroy(e),ne(()=>{if(this.attachments.mentions().length===0)return;let o=this.attachments.takeMentions().map(s=>s.startsWith(`@`)?s:`@${s}`).join(`
|
|
32
|
+
`);this.drafts.updateText(s=>s.trim().length===0?o:`${s.trimEnd()}
|
|
33
|
+
${o}`),this.promptInput()?.nativeElement?.focus()}),this.morse.onContextSelection(t=>{this.attachments.pin(t),this.attachments.say(`info`,`Selection pinned to this message.`)}),this.morse.onContextSelectionLive(t=>this.attachments.setLivePreview(t)),this.morse.onComposerSeed(t=>{this.drafts.setText(t.text),this.syncInputValue(),this.attachments.seed(t.images??[],t.pins??[])}),ne(t=>{if(!this.running()){this.startedAt.set(null),this.tokensPerSecond.set(void 0),this.throughput.length=0;return}this.startedAt.update(o=>o??Date.now()),this.baseline.set(zn(()=>J0(this.morse.items())));let i=setInterval(()=>{this.tick.update(o=>o+1),this.sampleThroughput()},500);t(()=>clearInterval(i))}),ne(()=>{let t=this.running(),i=this.tabs.composerKey(),o=this.queue.head(i);zn(()=>{if(t){this.draining=!1;return}if(o===void 0||this.draining)return;this.draining=!0;let r=this.queue.shift(i);r!==void 0&&this.morse.prompt(r.text,`new`,r.images,r.pins)})})}onInput(e){let t=e.target;this.drafts.setText(t.value),this.refreshMentionQuery(t.value,t.selectionStart),this.refreshPaletteQuery(t.value,t.selectionStart)}onKeydown(e){if(this.paletteOpen()){let t=this.paletteItems();switch(e.key){case`Escape`:e.preventDefault(),this.onPaletteClose();return;case`ArrowDown`:e.preventDefault(),this.paletteActive.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.paletteActive.update(i=>Math.max(0,i-1));return;case`Tab`:{let i=t[this.paletteActive()];e.preventDefault(),i&&this.activatePalette(i.id,`insert`);return}case`Enter`:{if(e.isComposing)return;let i=t[this.paletteActive()];if(i){e.preventDefault(),this.activatePalette(i.id,e.shiftKey?`insert`:`run`);return}break}default:return}}if(this.pickerOpen()){let t=this.pickerMatches();switch(e.key){case`Escape`:e.preventDefault(),this.onPickerClose();return;case`ArrowDown`:e.preventDefault(),this.mentionActive.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.mentionActive.update(i=>Math.max(0,i-1));return;case`Tab`:case`Enter`:{let i=t[this.mentionActive()];if(i){e.preventDefault(),this.onPickFile(i,e.shiftKey);return}e.key===`Tab`&&e.preventDefault();return}default:return}}e.key===`Enter`&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),this.sendWith(this.streaming()?`steer`:`new`))}sendWith(e){let t=this.drafts.text().trim(),i=OF(t);if(i!==void 0){this.drafts.setText(``),this.shell.requestCompact(i);return}let o=PF(t);if(o){this.drafts.setText(``),this.runBuiltin(o);return}let r=this.attachments.takeImages(),s=this.attachments.takePins();if(t.length===0&&r.length===0&&s.length===0){this.promptInput()?.nativeElement.focus();return}e===`followUp`&&this.running()?this.queue.enqueue({text:t,images:r,pins:s},this.tabs.composerKey()):this.morse.prompt(t,e===`followUp`?`new`:e,r,s),this.attachments.setLivePreview(null),this.drafts.setText(``)}editQueued(e){this.queue.remove(e.id),this.drafts.setText(e.text),this.syncInputValue(),this.attachments.seed(e.images,e.pins),this.promptInput()?.nativeElement.focus()}sendQueued(e){this.queue.remove(e.id),this.morse.prompt(e.text,this.running()?`steer`:`new`,e.images,e.pins)}removeQueued(e){this.queue.remove(e.id)}onQueueDrop(e){let t=e.item.data,i=e.container.data[e.currentIndex];t!==void 0&&i!==void 0&&this.queue.move(t.id,i.id)}lockLive(){this.attachments.lockLivePreview(),this.attachments.say(`info`,`Selection locked to this message.`)}dismissLive(){this.attachments.setLivePreview(null)}onPaste(e){let t=Array.from(e.clipboardData?.files??[]).filter(i=>i.type.startsWith(`image/`));t.length!==0&&(e.preventDefault(),this.attachments.accept(t).then(i=>{i.attached>0&&this.attachments.say(`info`,`${i.attached} pasted image${i.attached===1?``:`s`} attached`)}))}removeImage(e){this.attachments.remove(e)}removePin(e){this.attachments.removePin(e)}preview(e){return`data:${e.mimeType};base64,${e.data}`}abort(){this.morse.abort()}attachSelection(){if(this.livePreview()){this.lockLive();return}this.requestSelectionSnapshot().then(e=>{if(!e||e.selection===void 0){this.attachments.say(`warn`,`Select some text in the editor first.`);return}let t=e.selection;this.attachments.pin({path:e.path??``,startLine:t.startLine,endLine:t.endLine}),this.attachments.say(`info`,`Selection pinned to this message.`)})}onAddFiles(){if(this.canPickFiles()){this.openMentionPicker();return}if(this.canUpload()){this.fileInput()?.nativeElement.click();return}this.attachSelection()}openMentionPicker(){if(this.pickerOpen()){this.onPickerClose();return}let e=this.drafts.text(),t=e.length>0&&!/\s$/.test(e)?` `:``;this.drafts.setText(`${e}${t}@`);let i=this.promptInput()?.nativeElement;if(i){let o=this.drafts.text();i.value=o,i.focus(),i.setSelectionRange(o.length,o.length)}this.mentionMode.set(!0),this.pickerFilter.set(``),this.mentionActive.set(0),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}onFilesChosen(e){let t=e.target,i=Array.from(t?.files??[]);t&&(t.value=``),i.length!==0&&this.importFiles(i.filter(o=>o.type.startsWith(`image/`)),i.filter(o=>!o.type.startsWith(`image/`)))}async importFiles(e,t){let i=await this.attachments.accept(e),o=t.length>0?await this.uploads.upload(t):{added:[],failed:[]};this.attachments.addMentions(o.added.map(a=>a.path));let r=[];i.attached>0&&r.push(`${i.attached} image${i.attached===1?``:`s`} attached`),o.added.length>0&&r.push(`${o.added.length} file${o.added.length===1?``:`s`} uploaded`);let s=[...i.skipped,...o.failed];if(s.length>0&&r.push(`could not attach ${s.join(`, `)}`),r.length>0){let a=i.attached===0&&o.added.length===0;this.attachments.say(a?`warn`:`info`,r.join(` · `))}}refreshMentionQuery(e,t){if(!this.canPickFiles())return;let i=e.slice(0,t??e.length),o=/(?:^|\s)@([\w./-]*)$/.exec(i);if(!o){this.mentionMode()&&(this.pickerOpen.set(!1),this.mentionMode.set(!1));return}o[1]!==this.pickerFilter()&&this.mentionActive.set(0),this.mentionMode.set(!0),this.pickerFilter.set(o[1]??``),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}refreshPaletteQuery(e,t){let i=e.slice(0,t??e.length),o=/(?:^|\n)\s*\/([\w:-]*)$/.exec(i);if(!o){this.paletteOpen()&&this.paletteOpen.set(!1);return}o[1]!==this.paletteFilter()&&this.paletteActive.set(0),this.paletteFilter.set(o[1]??``),this.paletteOpen()||this.morse.refreshCommands(),this.paletteOpen.set(!0)}activatePalette(e,t){if(e.startsWith(`builtin:`)){let i=e.slice(8);if(i===`model`){this.stripSlashToken(),this.closePalette(),this.openModelPicker();return}this.stripSlashToken(),this.closePalette(),this.runBuiltin(i);return}if(e.startsWith(`command:`)){let i=e.slice(8);if(t===`run`){let o=this.availableCommands().find(r=>r.name===i);if(o?.template!==void 0){let r=iw(o.template);if(r!==void 0){this.stripSlashToken(),this.drafts.setText(``),this.closePalette(),this.openTemplate({name:i,description:o.description,form:r});return}this.stripSlashToken(),this.drafts.setText(``),this.closePalette(),this.sendTemplate(A0(o.template).body);return}this.stripSlashToken(),this.drafts.setText(``),this.closePalette(),this.morse.prompt(`/${i}`,this.streaming()?`steer`:`new`);return}this.replaceSlashToken(`/${i} `),this.closePalette()}}openTemplate(e){this.templateRequest.set(e),this.shell.setPromptTemplateOpen(!0)}closeTemplate(){this.templateRequest.set(void 0),this.shell.setPromptTemplateOpen(!1),this.promptInput()?.nativeElement.focus()}sendTemplate(e){this.morse.prompt(e,this.streaming()?`steer`:`new`,this.attachments.takeImages(),this.attachments.takePins()),this.attachments.setLivePreview(null)}onTemplateSubmit(e){this.templateRequest.set(void 0),this.shell.setPromptTemplateOpen(!1),this.sendTemplate(e)}onPaletteClose(){this.closePalette()}closePalette(){this.paletteOpen.set(!1),this.paletteFilter.set(``),this.paletteActive.set(0),this.promptInput()?.nativeElement.focus()}openModelPicker(){this.morse.refreshModels(),this.modelPickerOpen.set(!0)}toggleModelPicker(){if(this.modelPickerOpen()){this.modelPickerOpen.set(!1);return}this.openModelPicker()}onModelPick(e){this.morse.setModel(e.provider,e.id),this.closeModelPicker()}closeModelPicker(){this.modelPickerOpen.set(!1),this.promptInput()?.nativeElement.focus()}runBuiltin(e){switch(e){case`new`:this.tabs.startDraft(this.morse.workspace().cwd);break;case`compact`:this.shell.requestCompact();break;case`settings`:this.morse.hostCommand(`openSettings`);break;case`model`:this.openModelPicker();break;case`about`:this.shell.openAbout();break;case`keys`:this.shell.openShortcuts()}}stripSlashToken(){this.drafts.updateText(e=>e.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,`$1`)),this.syncInputValue()}replaceSlashToken(e){this.drafts.updateText(t=>t.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,`$1${e}`)),this.syncInputValue()}syncInputValue(){let e=this.promptInput()?.nativeElement;if(!e)return;let t=this.drafts.text();e.value=t,e.focus(),e.setSelectionRange(t.length,t.length)}reloadFiles(){this.workspace.ensureLoaded(!0)}async requestSelectionSnapshot(){return this.morse.requestHostCommand(`getEditorContext`)}pinRange(e){return e.startLine===void 0?``:e.endLine!==void 0&&e.endLine!==e.startLine?`L${e.startLine}-${e.endLine}`:`L${e.startLine}`}onPickerClose(){this.pickerOpen.set(!1),this.mentionMode.set(!1),this.promptInput()?.nativeElement.focus()}onPickFile(e,t=!1){let i=e.endsWith(`/`);this.mentionMode()?this.drafts.updateText(o=>o.replace(/@[\w./-]*$/,`@${e}${i?``:` `}`)):i||(this.attachments.addMentions([e]),this.attachments.say(`info`,`Pinned ${e} to this message.`)),t&&!i&&this.morse.capabilities()?.filePreview&&this.tabs.openMentionFile(e),i?(this.mentionMode.set(!0),this.pickerFilter.set(e),this.mentionActive.set(0),this.pickerOpen.set(!0),this.workspace.ensureLoaded()):(this.mentionMode.set(!1),this.pickerOpen.set(!1)),this.syncInputValue()}onQuoteFile(e){this.onPickFile(e,!0)}onThinkingPick(e){this.morse.setThinkingLevel(e)}sampleThroughput(){let e=J0(this.morse.items()),t=Date.now();for(this.throughput.push({at:t,chars:e});this.throughput.length>2&&t-this.throughput[0].at>2e3;)this.throughput.shift();let i=this.throughput[0];if(!i)return;let o=t-i.at;if(o<500)return;let r=(e-i.chars)/4;this.tokensPerSecond.set(Math.max(0,Math.round(r/o*1e4)/10))}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-chat-composer`]],viewQuery:function(t,i){t&1&&nt(i.promptInput,lF,5)(i.fileInput,cF,5),t&2&&ot(2)},decls:33,vars:24,consts:[[`fileInput`,``],[`promptInput`,``],[1,`host`],[`role`,`region`,`aria-label`,`Queued follow-up messages`,1,`queue`],[1,`box`],[1,`toolbar`],[`type`,`button`,1,`icon`,3,`click`,`disabled`,`title`],[`type`,`file`,`multiple`,``,`hidden`,``,3,`change`],[`type`,`button`,`title`,`Pin the editor selection to this message`,`aria-label`,`Pin the editor selection to this message`,1,`icon`,`pin-selection`],[1,`hint`,`muted`],[1,`picker-host`,3,`morsePopoverFit`,`files`,`busy`,`query`,`active`],[1,`palette-host`,3,`morsePopoverFit`,`items`,`query`,`active`],[1,`attachments`],[`rows`,`2`,`aria-label`,`Prompt`,3,`input`,`keydown`,`paste`,`value`,`disabled`,`placeholder`],[1,`status-row`],[1,`controls`],[1,`controls-metrics`],[`type`,`button`,1,`model-button`,3,`pointerdown`,`click`,`disabled`,`title`],[1,`provider`,3,`title`],[1,`label`],[`aria-hidden`,`true`,1,`caret`],[1,`model-picker-host`,3,`morsePopoverFit`,`models`,`current`],[1,`thinking-host`,3,`pick`,`levels`,`current`],[1,`controls-actions`],[`type`,`button`,`title`,`Send (Enter)`,`aria-label`,`Send`,1,`icon`,`send`,3,`disabled`],[3,`request`],[1,`queue-head`],[`aria-hidden`,`true`,1,`queue-glyph`],[1,`queue-title`],[1,`queue-count`],[`cdkDropList`,``,1,`queue-list`,3,`cdkDropListDropped`,`cdkDropListData`],[`cdkDrag`,``,`cdkDragLockAxis`,`y`,1,`queue-row`,3,`cdkDragData`,`morseEnter`,`morseEnterY`],[`cdkDragHandle`,``,`title`,`Drag to reorder`,`aria-hidden`,`true`,1,`queue-grip`],[1,`queue-text`,3,`title`],[1,`queue-actions`],[`type`,`button`,`title`,`Edit in the composer`,1,`queue-action`,3,`click`],[`type`,`button`,`title`,`Send now`,1,`queue-action`,3,`click`],[`type`,`button`,`title`,`Remove from the queue`,`aria-label`,`Remove from the queue`,1,`queue-remove`,3,`click`],[`type`,`button`,`title`,`Pin the editor selection to this message`,`aria-label`,`Pin the editor selection to this message`,1,`icon`,`pin-selection`,3,`click`],[1,`picker-host`,3,`activeChange`,`pick`,`quote`,`reload`,`close`,`morsePopoverFit`,`files`,`busy`,`query`,`active`],[1,`palette-host`,3,`activeChange`,`pick`,`close`,`morsePopoverFit`,`items`,`query`,`active`],[1,`chip`,`live`,3,`morseEnter`,`morseEnterY`,`morseEnterScale`,`morseEnterDuration`],[1,`chip`,3,`morseEnter`,`morseEnterY`,`morseEnterScale`,`morseEnterDuration`],[`type`,`button`,1,`chip-body`,3,`click`,`title`],[`aria-hidden`,`true`,1,`pin-icon`],[1,`chip-name`,3,`title`],[1,`chip-lines`],[`type`,`button`,`title`,`Dismiss this preview (locked chips stay)`,1,`chip-remove`,3,`click`],[3,`src`,`alt`],[`type`,`button`,1,`chip-remove`,3,`click`],[1,`chip-name`],[1,`status-live`],[`title`,`Live output rate: text and thinking, estimated from the character stream`,1,`hint`,`throughput`],[1,`status-end`],[`role`,`status`,1,`working`],[1,`usage-host`,3,`usage`,`lastUsage`,`costUsd`,`contextUsage`,`counts`,`model`,`sessionTitle`],[1,`spinner`],[1,`dots`],[1,`model-picker-host`,3,`pick`,`close`,`morsePopoverFit`,`models`,`current`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,`title`,`Stop`,`aria-label`,`Stop`,1,`icon`,`stop`,3,`click`],[`type`,`button`,`title`,`Send (Enter)`,`aria-label`,`Send`,1,`icon`,`send`,3,`click`,`disabled`],[3,`submitted`,`cancelled`,`request`]],template:function(t,i){if(t&1&&(h(0,`footer`,2),E(1,uF,11,2,`div`,3),h(2,`div`,4)(3,`div`,5)(4,`button`,6),A(`click`,function(){return i.onAddFiles()}),u(5,` + `),y(),h(6,`input`,7,0),A(`change`,function(r){return i.onFilesChosen(r)}),y(),E(8,pF,2,0,`button`,8),h(9,`span`,9),E(10,fF,1,0)(11,mF,1,0)(12,hF,1,0),y()(),E(13,gF,1,5,`morse-file-picker`,10),E(14,yF,1,4,`morse-command-picker`,11),E(15,CF,6,1,`ul`,12),h(16,`textarea`,13,1),A(`input`,function(r){return i.onInput(r)})(`keydown`,function(r){return i.onKeydown(r)})(`paste`,function(r){return i.onPaste(r)}),y(),E(18,DF,6,3,`div`,14),h(19,`div`,15)(20,`div`,16)(21,`button`,17),A(`pointerdown`,function(r){return r.stopPropagation()})(`click`,function(){return i.toggleModelPicker()}),E(22,TF,2,2,`span`,18),h(23,`span`,19),u(24),y(),h(25,`span`,20),u(26,`▾`),y()(),E(27,MF,1,3,`morse-model-picker`,21),h(28,`morse-thinking-picker`,22),A(`pick`,function(r){return i.onThinkingPick(r)}),y()(),h(29,`div`,23),E(30,kF,6,0)(31,IF,2,1,`button`,24),y()()(),E(32,NF,1,1,`morse-prompt-template-dialog`,25),y()),t&2){let o,r;d(),S(i.queuedMessages().length>0?1:-1),d(3),j(`disabled`,!i.canAddFiles())(`title`,i.addFilesLabel()),Y(`aria-label`,i.addFilesLabel())(`aria-expanded`,i.pickerOpen()),d(4),S(i.canAttachSelection()?8:-1),d(2),S(i.canPickFiles()?10:i.canUpload()?11:12),d(3),S(i.pickerOpen()?13:-1),d(),S(i.paletteOpen()?14:-1),d(),S(i.images().length>0||i.pins().length>0||i.livePreview()!==null?15:-1),d(),j(`value`,i.text())(`disabled`,!i.canSend())(`placeholder`,i.connected()?i.agentStarting()?`Starting the Pi agent…`:i.agentError()?`The pi agent is unavailable.`:i.agentReady()?`Ask Morse… (Enter to send, Shift+Enter for a new line)`:`Type to start a session… (Enter to send, Shift+Enter for a new line)`:`Waiting for a Morse host…`),d(2),S(i.showStatusRow()?18:-1),d(3),j(`disabled`,i.models().length===0)(`title`,i.modelLabel()),Y(`aria-expanded`,i.modelPickerOpen()),d(),S((o=i.currentProvider())?22:-1,o),d(2),I(i.currentModel()?.name||`no model`),d(3),S(i.modelPickerOpen()?27:-1),d(),j(`levels`,i.levels())(`current`,i.thinkingLevel()),d(2),S(i.streaming()?30:31),d(2),S((r=i.templateRequest())?32:-1,r)}},dependencies:[Sn,Tp,Op,Mp,Ip,Pp,kp,Dp,dp,cp,K1],styles:[`[_nghost-%COMP%]{display:block;position:relative;padding:10px}.box[_ngcontent-%COMP%]{position:relative;container-type:inline-size;max-width:780px;margin:0 auto;border:1px solid var(--%NS%morse-input-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-input-bg);padding:8px;transition:border-color .12s ease}.queue[_ngcontent-%COMP%]{max-width:780px;margin:0 auto 8px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-hover));overflow:hidden}.queue-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.queue-count[_ngcontent-%COMP%]{min-width:16px;padding:0 5px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-fg-muted);text-align:center;font-size:10px}.queue-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 10px}.queue-row[_ngcontent-%COMP%] + .queue-row[_ngcontent-%COMP%]{border-top:1px solid var(--%NS%morse-hover)}.queue-grip[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);opacity:.5;cursor:grab;touch-action:none}.queue-grip[_ngcontent-%COMP%]:active{cursor:grabbing}.queue-list.cdk-drop-list-dragging[_ngcontent-%COMP%] .queue-row[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .16s cubic-bezier(.2,0,0,1)}.queue-row.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .16s cubic-bezier(.2,0,0,1)}.queue-row.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:.3}.cdk-drag-preview[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:5px 8px 5px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);font:inherit;font-size:12px;box-shadow:0 8px 24px #00000059}.queue-text[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.queue-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;flex:none}.queue-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font:inherit;font-size:11px;cursor:pointer}.queue-action[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.queue-remove[_ngcontent-%COMP%]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:14px;line-height:1;cursor:pointer}.queue-remove[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:0 2px 4px}.toolbar[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{font-size:11.5px;color:var(--%NS%morse-fg-muted)}.icon[_ngcontent-%COMP%]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:13px;line-height:1;cursor:pointer}.icon[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.icon[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:default}.icon.send[_ngcontent-%COMP%]{background:var(--%NS%morse-accent);border-color:var(--%NS%morse-accent);color:#fff;font-size:15px}.icon.stop[_ngcontent-%COMP%]{color:var(--%NS%morse-error);border-color:var(--%NS%morse-error)}.working[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-size:11.5px;color:var(--%NS%morse-fg-muted);white-space:nowrap}.working[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--%NS%morse-border);border-top-color:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_spin .8s linear infinite}.working[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%]{display:inline-flex;gap:2px}.working[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:3px;height:3px;border-radius:50%;background:currentColor;animation:_ngcontent-%COMP%_dot 1.2s ease-in-out infinite}.working[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(2){animation-delay:.15s}.working[_ngcontent-%COMP%] .dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(3){animation-delay:.3s}.picker-host[_ngcontent-%COMP%], .palette-host[_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:20}.attachments[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:6px;margin:0 2px 6px;padding:0;list-style:none}.chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:3px 4px 3px 3px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-hover);font-size:11.5px}.chip[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:22px;height:22px;object-fit:cover;border-radius:var(--%NS%morse-radius-sm)}.chip-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.pin-icon[_ngcontent-%COMP%]{font-size:12px;color:var(--%NS%morse-accent);line-height:1}.chip-lines[_ngcontent-%COMP%]{padding:1px 5px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);color:var(--%NS%morse-fg-muted);font-size:10.5px;font-family:var(--%NS%morse-font-mono);white-space:nowrap}.chip-remove[_ngcontent-%COMP%]{padding:0 5px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);line-height:1.4;cursor:pointer}.chip-remove[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg);background:var(--%NS%morse-active)}.chip.live[_ngcontent-%COMP%]{background:transparent;border:1px dashed color-mix(in srgb,var(--%NS%morse-accent) 55%,transparent)}button.chip-body[_ngcontent-%COMP%]{display:inline-flex;align-items:center;align-self:stretch;gap:6px;flex:1 1 auto;min-width:0;overflow:hidden;border:0;padding:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer}button.chip-body[_ngcontent-%COMP%]:hover, button.chip-body[_ngcontent-%COMP%]:active{background:color-mix(in srgb,var(--%NS%morse-accent) 12%,transparent)}button.chip-body[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--%NS%morse-focus);outline-offset:-1px}.chip.live[_ngcontent-%COMP%] .chip-lines[_ngcontent-%COMP%]{padding:0;background:transparent;color:color-mix(in srgb,var(--%NS%morse-accent) 70%,var(--%NS%morse-fg))}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_dot{0%,60%,to{opacity:.25}30%{opacity:1}}.box[_ngcontent-%COMP%]:focus-within{border-color:var(--%NS%morse-focus)}textarea[_ngcontent-%COMP%]{width:100%;border:0;background:transparent;resize:none;min-height:44px;max-height:220px;padding:4px 6px;line-height:1.5}textarea[_ngcontent-%COMP%]:focus-visible{outline:none}.controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin-top:6px}.controls-metrics[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;flex-wrap:nowrap}.controls-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto;white-space:nowrap}.status-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:6px}.status-live[_ngcontent-%COMP%], .status-end[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;min-width:0}.status-live[_ngcontent-%COMP%]{flex:0 1 auto}.status-end[_ngcontent-%COMP%]{flex:0 0 auto}.model-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;max-width:240px;padding:4px 8px;border:1px solid var(--%NS%morse-input-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg);color:var(--%NS%morse-input-fg);font-size:12px;cursor:pointer}.model-button[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--%NS%morse-fg-muted)}.model-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:default}.model-button[_ngcontent-%COMP%] .provider[_ngcontent-%COMP%]{flex:none;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 5px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);color:var(--%NS%morse-fg-muted);font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.model-button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-button[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:10px}.model-picker-host[_ngcontent-%COMP%]{position:absolute;left:0;bottom:calc(100% + 4px);z-index:20;width:min(360px,100%)}.hint[_ngcontent-%COMP%]{font-size:11px;white-space:nowrap}.throughput[_ngcontent-%COMP%]{color:var(--%NS%morse-accent);font-family:var(--%NS%morse-font-mono);font-variant-numeric:tabular-nums}@container (max-width: 380px){.usage-host[_ngcontent-%COMP%]{display:none}}@container (max-width: 460px){.controls[_ngcontent-%COMP%]{flex-wrap:wrap}.controls-actions[_ngcontent-%COMP%]{flex:1 1 100%;justify-content:flex-end}}@container (max-width: 360px){.thinking-host[_ngcontent-%COMP%]{display:none}}`]})};var jE=[{name:`model`,description:`Select a model`},{name:`new`,description:`Start a new session`},{name:`compact`,description:`Compact the current context (asks first)`},{name:`settings`,description:`Open Morse settings`},{name:`about`,description:`Credits and licences`},{name:`keys`,description:`Keyboard shortcuts`}];function PF(n){let e=/^\/([\w-]+)$/.exec(n);if(e)return jE.some(t=>t.name===e[1])?e[1]:void 0}function OF(n){return/^\/compact\s+([\s\S]+)$/.exec(n)?.[1]?.trim()||void 0}function AF(n){let e=n/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}function J0(n){let e=0;for(let t of n)t.kind===`assistant`&&(e+=(t.text??``).length+(t.thinking??``).length);return e}function RF(n,e){n&1&&u(0,` Pick a session from the tabs above or the sidebar, or start a new one. `)}function LF(n,e){n&1&&u(0,` Start a new session to talk to the pi agent. `)}var Rp=class n{hasTabs=se(!1);create=je();static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-empty-session`]],inputs:{hasTabs:[1,`hasTabs`]},outputs:{create:`create`},decls:12,vars:1,consts:[[`role`,`status`,1,`empty-session`],[`aria-hidden`,`true`,1,`mark`],[`viewBox`,`0 0 16 16`],[`x`,`2.5`,`y`,`3.5`,`width`,`11`,`height`,`9`,`rx`,`1.5`],[`d`,`M5.5 6.5h5M5.5 9.5h3`],[`type`,`button`,3,`click`]],template:function(t,i){t&1&&(g(0,`div`,0)(1,`span`,1),De(),g(2,`svg`,2),fe(3,`rect`,3)(4,`path`,4),_()(),kt(),g(5,`h2`),u(6,`No session open`),_(),g(7,`p`),E(8,RF,1,0)(9,LF,1,0),_(),g(10,`button`,5),F(`click`,function(){return i.create.emit()}),u(11,`New session`),_()()),t&2&&(d(8),S(i.hasTabs()?8:9))},styles:[`[_nghost-%COMP%]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px}.empty-session[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:380px;text-align:center}.mark[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:4px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);color:var(--%NS%morse-fg-muted)}.mark[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}h2[_ngcontent-%COMP%]{margin:0;font-size:14px;font-weight:600}p[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-fg-muted);font-size:12.5px;line-height:1.55}button[_ngcontent-%COMP%]{margin-top:10px;padding:6px 14px;border:1px solid var(--%NS%morse-accent);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-accent);color:var(--%NS%morse-accent-fg, #fff);font:inherit;font-size:12.5px;cursor:pointer}button[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-accent-hover);border-color:var(--%NS%morse-accent-hover)}`]})};var FF=6e4;var VF=3e4;var jF=15e3;var Sa=class n{morse=w(Ie);byCwd=N({});loadingByCwd=N({});fetchedAt=new Map;inFlight=new Map;enabled=C(()=>this.morse.capabilities()?.mcp===!0);constructor(){ne(e=>{if(!this.enabled())return;let t=this.morse.workspace().cwd;if(!t)return;let i=setTimeout(()=>{this.refresh(t)},1200);e(()=>clearTimeout(i))})}status(e){return e?this.byCwd()[e]:void 0}isLoading(e){return this.loadingByCwd()[e]===!0}overall(e){if(!e)return`unknown`;let t=this.byCwd()[e];if(!t)return this.isLoading(e)?`loading`:`unknown`;if(t.errors.length>0)return`error`;let i=t.servers.filter(o=>o.enabled);return i.length===0?`off`:i.some(o=>o.state===`failed`||o.state===`closed`)?`error`:i.some(o=>o.state===`connecting`||o.state===`disconnected`||o.state===`needs-auth`)?`warn`:`ok`}label(e){switch(this.overall(e)){case`loading`:return`MCP: checking…`;case`ok`:return`MCP: ${this.connectableCount(e)} connected`;case`warn`:return`MCP: needs attention`;case`error`:return`MCP: a server failed`;case`off`:return`MCP: none enabled`;default:return this.enabled()?`MCP servers`:`MCP unavailable`}}connectableCount(e){return(this.byCwd()[e]?.servers??[]).filter(t=>t.enabled&&t.state===`connected`).length}async refresh(e,t=!1){if(!e)return;let i=this.inFlight.get(e);if(i)return i;let o=this.fetchedAt.get(e)??0;if(!t&&this.byCwd()[e]&&Date.now()-o<FF)return this.byCwd()[e];let r=this.fetch(e);return this.inFlight.set(e,r),r.finally(()=>{this.inFlight.delete(e)})}async fetch(e){this.setLoading(e,!0);try{let i=BF(await this.morse.requestHostCommand(`mcpStatus`,{cwd:e},VF));return i&&(this.byCwd.update(o=>s(r({},o),{[e]:i})),this.fetchedAt.set(e,Date.now())),i}finally{this.setLoading(e,!1)}}async add(e,t){return await this.mutate(`mcpAdd`,r({},e),t)}async remove(e,t,i){return this.mutate(`mcpRemove`,{name:e,scope:i},t)}async setEnabled(e,t,i,o){return this.mutate(`mcpSetEnabled`,{name:e,enabled:t,scope:o},i)}async mutate(e,t,i){let r=HF(await this.morse.requestHostCommand(e,t,jF));return r.ok&&await this.refresh(i,!0),r}setLoading(e,t){this.loadingByCwd.update(i=>s(r({},i),{[e]:t}))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function BF(n){if(typeof n!=`object`||n===null)return;let e=n;if(Array.isArray(e.servers))return r({servers:e.servers.filter($F),errors:Array.isArray(e.errors)?e.errors.filter(zF):[]},typeof e.note==`string`?{note:e.note}:{})}function $F(n){if(typeof n!=`object`||n===null)return!1;let e=n;return typeof e.name==`string`&&typeof e.state==`string`}function HF(n){if(typeof n==`object`&&n!==null&&n.ok===!0){let t=n;return r(r(r({ok:!0},typeof t.path==`string`?{path:t.path}:{}),t.scope===`global`||t.scope===`project`?{scope:t.scope}:{}),t.override===!0?{override:!0}:{})}return{ok:!1,message:typeof n?.message==`string`?n.message:`The host did not apply the change.`}}function zF(n){return typeof n==`string`}var BE=`morse.chat.toolDisplay`;var $E=`morse.chat.diffView`;function UF(n){return n===`timeline`||n===`compact`}function GF(){try{let n=globalThis.localStorage?.getItem(BE);return UF(n)?n:`compact`}catch{return`compact`}}function qF(n){try{globalThis.localStorage?.setItem(BE,n)}catch{}}function WF(n){return n===`file`||n===`unified`||n===`split`}function YF(){try{let n=globalThis.localStorage?.getItem($E);return WF(n)?n:`unified`}catch{return`unified`}}function KF(n){try{globalThis.localStorage?.setItem($E,n)}catch{}}var sr=class n{toolDisplaySignal=N(GF());toolDisplay=this.toolDisplaySignal.asReadonly();diffViewSignal=N(YF());diffView=this.diffViewSignal.asReadonly();setToolDisplay(e){this.toolDisplaySignal.set(e),qF(e)}setDiffView(e){this.diffViewSignal.set(e),KF(e)}toggleToolDisplay(){this.setToolDisplay(this.toolDisplaySignal()===`compact`?`timeline`:`compact`)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function ZF(n,e){if(n&1&&(g(0,`div`,8),u(1),_()),n&2)te(`title`,f().workspace().cwd),d(),I(e)}function QF(n,e){if(n&1&&(g(0,`span`,12),u(1),_()),n&2){let t=f();d(),I(t.statusLabel())}}function XF(n,e){if(n&1){let t=L();g(0,`button`,15),F(`click`,function(){D(t);return T(f().toggleGit())}),De(),g(1,`svg`,3),fe(2,`circle`,19)(3,`circle`,20)(4,`circle`,21)(5,`path`,22)(6,`path`,23),_()()}if(n&2){let t=f();te(`title`,t.gitOpen()?`Hide the git panel`:`Show the git panel`),Y(`aria-label`,t.gitOpen()?`Hide the git panel`:`Show the git panel`)(`aria-pressed`,t.gitOpen())}}function JF(n,e){if(n&1){let t=L();g(0,`button`,24),F(`click`,function(){D(t);return T(f().openMcp())}),De(),g(1,`svg`,3),fe(2,`rect`,25)(3,`rect`,26)(4,`circle`,27)(5,`circle`,28),_(),kt(),fe(6,`span`,29),_()}if(n&2){let t=f();sn(`icon mcp `+t.mcpOverall()),te(`title`,t.mcpTitle())}}function e3(n,e){n&1&&(De(),g(0,`svg`,3),fe(1,`path`,30),_())}function t3(n,e){n&1&&(De(),g(0,`svg`,3),fe(1,`path`,31),_())}var Lp=class n{morse=w(Ie);mcp=w(Sa);shell=w(Ft);display=w(sr);shortcuts=w(Fn);tabs=w(Vt);destroyRef=w(He);state=this.morse.state;connection=this.morse.connection;connectionDetail=this.morse.connectionDetail;workspace=this.morse.workspace;navigationOpen=this.shell.navigationOpen;collapsed=this.shell.navigationCollapsed;compactTools=C(()=>this.display.toolDisplay()===`compact`);gitEnabled=C(()=>this.morse.capabilities()?.gitPanel===!0);gitOpen=this.shell.gitPanelOpen;mcpEnabled=this.mcp.enabled;mcpOverall=C(()=>this.mcp.overall(this.workspace().cwd));mcpTitle=C(()=>{let e=this.mcp.label(this.workspace().cwd);return this.mcpEnabled()?`${e} \u2014 click to manage`:e});constructor(){let e=this.shortcuts.bind(`view.git`,()=>this.shell.toggleGitPanel(),()=>this.gitEnabled()),t=this.shortcuts.bind(`view.mcp`,()=>this.shell.mcpOpen()?this.shell.closeMcp():this.shell.openMcp(),()=>this.mcpEnabled());this.destroyRef.onDestroy(e),this.destroyRef.onDestroy(t)}status=C(()=>{let e=this.connection();return e!==`ready`?e:this.state().agentStarting?`starting`:!this.state().agentReady&&this.state().agentError===void 0||this.state().agentReady?`ready`:`error`});statusLabel=C(()=>{switch(this.status()){case`ready`:return`Ready`;case`starting`:return`Starting…`;case`connecting`:return`Connecting…`;case`closed`:return`Disconnected`;case`error`:return`Error`;default:return this.status()}});statusTitle=C(()=>{let e=this.connectionDetail();return e?`${this.statusLabel()} \xB7 ${e}`:this.statusLabel()});noSessionInFront=this.tabs.noSessionInFront;title=C(()=>this.noSessionInFront()?`Morse`:this.state().sessionTitle||this.workspace().name||`Morse`);meta=C(()=>{let e=[],t=this.workspace().name;!this.noSessionInFront()&&t&&t!==this.title()&&e.push(t);let i=this.state().model;return i&&e.push(i.name),e.join(` · `)});toggleNavigation(){this.shell.toggleNavigation()}toggleSidebar(){this.shell.toggleNavigationCollapsed()}compact(){this.shell.requestCompact()}toggleToolDisplay(){this.display.toggleToolDisplay()}toggleGit(){this.shell.toggleGitPanel()}openMcp(){this.shell.openMcp()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-chat-header`]],decls:24,vars:22,consts:[[1,`head`],[`type`,`button`,`title`,`Sessions and projects`,`aria-label`,`Toggle navigation`,1,`icon`,`menu`,3,`click`],[`type`,`button`,1,`icon`,`collapse`,3,`click`,`title`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,1,`glyph`],[`x`,`2`,`y`,`3.5`,`width`,`12`,`height`,`9`,`rx`,`1.5`],[`d`,`M6.5 3.5v9`],[1,`titles`],[1,`title`,3,`title`],[1,`meta`,3,`title`],[1,`actions`],[1,`status`,3,`title`],[`aria-hidden`,`true`,1,`dot`],[1,`status-text`],[`type`,`button`,1,`icon`,3,`title`],[`type`,`button`,`aria-label`,`MCP servers`,3,`class`,`title`],[`type`,`button`,1,`icon`,3,`click`,`title`],[`type`,`button`,`title`,`Compact the conversation (asks first)`,`aria-label`,`Compact the conversation`,1,`icon`,3,`click`,`disabled`],[`d`,`M4 3 8 6.6l4-3.6`],[`d`,`M4 13 8 9.4l4 3.6`],[`cx`,`4.5`,`cy`,`3.5`,`r`,`1.6`],[`cx`,`4.5`,`cy`,`12.5`,`r`,`1.6`],[`cx`,`11.5`,`cy`,`6.5`,`r`,`1.6`],[`d`,`M4.5 5.1v5.8`],[`d`,`M4.5 5.1c0 2.4 7 1 7 3`],[`type`,`button`,`aria-label`,`MCP servers`,3,`click`,`title`],[`x`,`2.5`,`y`,`3`,`width`,`11`,`height`,`4.4`,`rx`,`1.2`],[`x`,`2.5`,`y`,`8.6`,`width`,`11`,`height`,`4.4`,`rx`,`1.2`],[`cx`,`5`,`cy`,`5.2`,`r`,`0.6`],[`cx`,`5`,`cy`,`10.8`,`r`,`0.6`],[`aria-hidden`,`true`,1,`mcp-dot`],[`d`,`M3 6h10M3 10h6`],[`d`,`M3 4.5h10M3 8h10M3 11.5h10`]],template:function(t,i){if(t&1&&(g(0,`header`,0)(1,`button`,1),F(`click`,function(){return i.toggleNavigation()}),u(2,` ☰ `),_(),g(3,`button`,2),F(`click`,function(){return i.toggleSidebar()}),De(),g(4,`svg`,3),fe(5,`rect`,4)(6,`path`,5),_()(),kt(),g(7,`div`,6)(8,`div`,7),u(9),_(),E(10,ZF,2,2,`div`,8),_(),g(11,`div`,9)(12,`span`,10),fe(13,`span`,11),E(14,QF,2,1,`span`,12),_(),E(15,XF,7,3,`button`,13),E(16,JF,7,3,`button`,14),g(17,`button`,15),F(`click`,function(){return i.toggleToolDisplay()}),E(18,e3,2,0,`:svg:svg`,3)(19,t3,2,0,`:svg:svg`,3),_(),g(20,`button`,16),F(`click`,function(){return i.compact()}),De(),g(21,`svg`,3),fe(22,`path`,17)(23,`path`,18),_()()()()),t&2){let o;d(),Y(`aria-expanded`,i.navigationOpen()),d(2),te(`title`,i.collapsed()?`Show the sidebar`:`Hide the sidebar`),Y(`aria-label`,i.collapsed()?`Show the sidebar`:`Hide the sidebar`)(`aria-expanded`,!i.collapsed()),d(5),te(`title`,i.state().sessionId??i.workspace().cwd),d(),I(i.title()),d(),S((o=i.meta())?10:-1,o),d(2),q(`online`,i.status()===`ready`)(`busy`,i.status()===`starting`)(`failed`,i.status()===`error`||i.status()===`closed`),te(`title`,i.statusTitle()),d(2),S(i.status()!==`ready`?14:-1),d(),S(i.gitEnabled()?15:-1),d(),S(i.mcpEnabled()?16:-1),d(),te(`title`,i.compactTools()?`Tool calls: compact — click for the legacy timeline`:`Tool calls: legacy timeline — click for the compact tree`),Y(`aria-label`,`Tool call display: `+(i.compactTools()?`compact`:`timeline`))(`aria-pressed`,i.compactTools()),d(),S(i.compactTools()?18:19),d(2),te(`disabled`,!i.state().agentReady)}},styles:[`[_nghost-%COMP%]{display:block;flex:none;background:var(--%NS%morse-bg)}.head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;min-height:var(--%NS%morse-head-height);padding:0 8px;border-bottom:1px solid var(--%NS%morse-border)}.icon[_ngcontent-%COMP%]{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:13px;line-height:1;cursor:pointer}.icon[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.icon[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:default}.icon[_ngcontent-%COMP%] .glyph[_ngcontent-%COMP%]{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.menu[_ngcontent-%COMP%], .collapse[_ngcontent-%COMP%]{display:none}@media(max-width:759px){.menu[_ngcontent-%COMP%]{display:inline-flex}}@media(min-width:760px){.collapse[_ngcontent-%COMP%]{display:inline-flex}}.mcp[_ngcontent-%COMP%]{position:relative}.mcp[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{position:absolute;right:3px;bottom:3px;width:6px;height:6px;border-radius:50%;background:var(--%NS%morse-fg-muted);box-shadow:0 0 0 1.5px var(--%NS%morse-bg)}.mcp.ok[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{background:var(--%NS%morse-success)}.mcp.warn[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{background:var(--%NS%morse-warn)}.mcp.error[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{background:var(--%NS%morse-error)}.mcp.loading[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{background:var(--%NS%morse-warn);animation:_ngcontent-%COMP%_status-pulse 1.1s ease-in-out infinite}.mcp.off[_ngcontent-%COMP%] .mcp-dot[_ngcontent-%COMP%]{background:var(--%NS%morse-border)}.titles[_ngcontent-%COMP%]{flex:1;min-width:0;line-height:1.3}.title[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600}.meta[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--%NS%morse-fg-muted)}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;flex:none}.status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font-size:11px;color:var(--%NS%morse-fg-muted);white-space:nowrap}.dot[_ngcontent-%COMP%]{flex:none;width:7px;height:7px;border-radius:50%;background:var(--%NS%morse-fg-muted)}.status.online[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--%NS%morse-success)}.status.busy[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--%NS%morse-warn);animation:_ngcontent-%COMP%_status-pulse 1.1s ease-in-out infinite}.status.failed[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.status.failed[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background:var(--%NS%morse-error)}@keyframes _ngcontent-%COMP%_status-pulse{50%{opacity:.35}}`]})};var n3=(n,e)=>e.name;function i3(n,e){n&1&&(g(0,`div`,14),u(1),_()),n&2&&(d(),I(e))}function o3(n,e){n&1&&(g(0,`div`,15),u(1),_()),n&2&&(d(),I(e))}function r3(n,e){if(n&1&&(g(0,`div`),u(1),_()),n&2){let t=e.$implicit;d(),I(t)}}function s3(n,e){if(n&1&&(g(0,`div`,14),X(1,r3,2,1,`div`,null,kn),_()),n&2){let t=f();d(),J(t)}}function a3(n,e){n&1&&E(0,s3,3,0,`div`,14),n&2&&S(e.length>0?0:-1)}function l3(n,e){n&1&&(g(0,`p`,16),u(1,`Checking the servers… this can take a few seconds.`),_())}function c3(n,e){n&1&&(g(0,`p`,16),u(1,` No MCP servers are configured for this directory. Add one below; it is written to the chosen `),g(2,`code`),u(3,`mcp.json`),_(),u(4,` and pi picks it up on the next session. `),_())}function d3(n,e){if(n&1&&(g(0,`span`,26),u(1),_()),n&2){let t=f().$implicit;d(),I(t.enabled?`enabled here`:`disabled here`)}}function u3(n,e){if(n&1&&(g(0,`span`,25),u(1),_()),n&2){let t=f().$implicit;d(),I(t.exposure)}}function p3(n,e){if(n&1&&u(0),n&2){let t=f().$implicit;ie(` · `,t.transport,` `)}}function f3(n,e){n&1&&(g(0,`div`,28),u(1),_()),n&2&&(d(),I(e))}function m3(n,e){if(n&1){let t=L();g(0,`button`,30),F(`click`,function(){D(t);let o=f().$implicit;return T(f().remove(o))}),u(1,` Remove? `),_(),g(2,`button`,31),F(`click`,function(){D(t);return T(f(2).pendingRemove.set(null))}),u(3,` Cancel `),_()}if(n&2)te(`disabled`,f(2).busy())}function h3(n,e){if(n&1){let t=L();g(0,`button`,30),F(`click`,function(){D(t);let o=f(2).$implicit;return T(f().remove(o))}),u(1,` Remove `),_()}if(n&2)te(`disabled`,f(3).busy())}function g3(n,e){if(n&1){let t=L();g(0,`button`,32),F(`click`,function(){D(t);let o=f().$implicit;return T(f().toggleEnabled(o))}),u(1),_(),E(2,h3,2,1,`button`,33)}if(n&2){let t=f().$implicit,i=f();te(`disabled`,i.busy()||!i.canEdit(t))(`title`,i.editHint(t)),d(),ie(` `,i.toggleLabel(t),` `),d(),S(i.canRemove(t)?2:-1)}}function y3(n,e){if(n&1&&(g(0,`div`,17),fe(1,`span`,21),g(2,`div`,22)(3,`div`,23)(4,`span`,24),u(5),_(),g(6,`span`,25),u(7),_(),E(8,d3,2,1,`span`,26),E(9,u3,2,1,`span`,25),_(),g(10,`div`,27),u(11),E(12,p3,1,1),_(),E(13,f3,2,1,`div`,28),_(),g(14,`div`,29),E(15,m3,4,1)(16,g3,3,4),_()()),n&2){let t,i=e.$implicit,o=f();d(),sn(`dot `+i.state),d(4),I(i.name),d(2),I(i.scope),d(),S(i.override?8:-1),d(),S(i.exposure!==`codemode`?9:-1),d(),te(`title`,i.override??i.source),d(),ie(` `,i.enabled?o.stateLabel(i):`disabled`,` `),d(),S(i.transport?12:-1),d(),S((t=i.error)?13:-1,t),d(2),S(o.pendingRemove()===i.name?15:16)}}function _3(n,e){if(n&1){let t=L();g(0,`div`,34)(1,`label`,50),u(2,`Command`),_(),g(3,`input`,51),F(`input`,function(o){D(t);return T(f(2).command.set(o.target.value))}),_()(),g(4,`div`,34)(5,`label`,52),u(6,`Arguments`),_(),g(7,`input`,53),F(`input`,function(o){D(t);return T(f(2).argsText.set(o.target.value))}),_()()}if(n&2){let t=f(2);d(3),te(`value`,t.command()),d(4),te(`value`,t.argsText())}}function v3(n,e){if(n&1){let t=L();g(0,`div`,34)(1,`label`,54),u(2,`URL`),_(),g(3,`input`,55),F(`input`,function(o){D(t);return T(f(2).url.set(o.target.value))}),_()()}if(n&2){let t=f(2);d(3),te(`value`,t.url())}}function b3(n,e){n&1&&(g(0,`div`,28),u(1),_()),n&2&&(d(),I(e))}function x3(n,e){if(n&1){let t=L();g(0,`div`,18)(1,`h3`),u(2,`Add a server`),_(),g(3,`div`,34)(4,`label`,35),u(5,`Name`),_(),g(6,`input`,36),F(`input`,function(o){D(t);return T(f().name.set(o.target.value))}),_()(),g(7,`div`,34)(8,`label`,37),u(9,`Transport`),_(),g(10,`select`,38),F(`change`,function(o){D(t);return T(f().type.set(o.target.value))}),g(11,`option`,39),u(12,`stdio (command)`),_(),g(13,`option`,40),u(14,`HTTP (url)`),_()()(),E(15,_3,8,2)(16,v3,4,1,`div`,34),g(17,`div`,34)(18,`label`,41),u(19,`Exposure`),_(),g(20,`select`,42),F(`change`,function(o){D(t);return T(f().exposure.set(o.target.value))}),g(21,`option`,43),u(22,`codemode`),_(),g(23,`option`,44),u(24,`deferred`),_(),g(25,`option`,45),u(26,`direct`),_(),g(27,`option`,46),u(28,`hidden`),_()()(),g(29,`p`,47),u(30),_(),E(31,b3,2,1,`div`,28),g(32,`div`,48)(33,`button`,31),F(`click`,function(){D(t);return T(f().closeAdd())}),u(34,`Cancel`),_(),g(35,`button`,49),F(`click`,function(){D(t);return T(f().submitAdd())}),u(36),_()()()}if(n&2){let t,i=f();d(6),te(`value`,i.name()),d(4),te(`value`,i.type()),d(5),S(i.type()===`stdio`?15:16),d(5),te(`value`,i.exposure()),d(10),ie(` Saves to `,i.editScope()===`project`?`this project (.pi/mcp.json)`:`your user mcp.json`,`. `),d(),S((t=i.formError())?31:-1,t),d(4),te(`disabled`,i.busy()),d(),ie(` `,i.busy()?`Adding…`:`Add server`,` `)}}function C3(n,e){n&1&&u(0,` Updating… `)}function w3(n,e){if(n&1&&u(0),n&2){let t=f();Xi(` `,t.enabledServers().length,` of `,t.servers().length,` enabled `)}}function E3(n,e){if(n&1){let t=L();g(0,`button`,13),F(`click`,function(){D(t);return T(f().openAdd())}),u(1,`Add server`),_()}}var Fp=class n{morse=w(Ie);mcp=w(Sa);shell=w(Ft);cwd=C(()=>this.morse.workspace().cwd);status=C(()=>this.mcp.status(this.cwd()));loading=C(()=>this.mcp.isLoading(this.cwd()));servers=C(()=>this.status()?.servers??[]);errors=C(()=>this.status()?.errors??[]);note=C(()=>this.status()?.note);enabledServers=C(()=>this.servers().filter(e=>e.enabled));pendingRemove=N(null);adding=N(!1);busy=N(!1);formError=N(null);actionError=N(null);name=N(``);type=N(`stdio`);command=N(``);argsText=N(``);url=N(``);editScope=N(`project`);exposure=N(`codemode`);constructor(){ne(()=>{let e=this.cwd();e&&this.mcp.refresh(e)})}onEscape(){if(this.adding()){this.closeAdd();return}this.shell.closeMcp()}close(){this.shell.closeMcp()}refresh(){this.mcp.refresh(this.cwd(),!0)}stateLabel(e){switch(e.state){case`connected`:return e.tools.length===1?`1 tool`:`${e.tools.length} tools`;case`connecting`:return`connecting…`;case`needs-auth`:return`needs sign-in`;case`disconnected`:return`disconnected`;case`failed`:return`failed`;case`closed`:return`closed`;case`disabled`:return`disabled`;default:return e.state}}async toggleEnabled(e){if(this.busy()||!this.canEdit(e))return;let t=this.editScope(),i=t===`project`&&e.scope!==`project`?!1:!e.enabled;this.busy.set(!0);let o=await this.mcp.setEnabled(e.name,i,this.cwd(),t);this.busy.set(!1),this.report(o.ok,o.message)}async remove(e){if(!this.canRemove(e))return;if(this.pendingRemove()!==e.name){this.pendingRemove.set(e.name);return}if(this.busy())return;this.pendingRemove.set(null),this.busy.set(!0);let t=await this.mcp.remove(e.name,this.cwd(),this.editScope());this.busy.set(!1),this.report(t.ok,t.message)}canRemove(e){return this.editScope()===`project`?e.scope===`project`:e.scope!==`project`}canEdit(e){return e.scope===`extension`?!1:this.editScope()===`project`?!0:e.scope===`global`}toggleLabel(e){return this.editScope()===`project`&&e.scope!==`project`?e.override?`Enable here`:`Disable here`:e.enabled?`Disable`:`Enable`}editHint(e){return e.scope===`extension`?`Registered by an extension; it is not in an mcp.json.`:this.canEdit(e)?``:`Defined in this project — switch the scope to “This project” to change it.`}openAdd(){this.adding()||(this.resetForm(),this.adding.set(!0))}closeAdd(){this.adding.set(!1),this.resetForm()}async submitAdd(){if(this.busy())return;let e=this.name().trim();if(e.length===0){this.formError.set(`Give the server a name.`);return}let t=this.type()===`http`,i=t?this.url().trim():this.command().trim();if(i.length===0){this.formError.set(t?`Enter the server URL.`:`Enter the command to run.`);return}this.formError.set(null),this.busy.set(!0);let o=await this.mcp.add(s(r({name:e,scope:this.editScope(),type:this.type()},t?{url:i}:{command:i,args:S3(this.argsText())}),{exposure:this.exposure()}),this.cwd());this.busy.set(!1),o.ok?this.closeAdd():this.formError.set(o.message??`The host did not add the server.`)}resetForm(){this.name.set(``),this.type.set(`stdio`),this.command.set(``),this.argsText.set(``),this.url.set(``),this.exposure.set(`codemode`),this.formError.set(null)}report(e,t){this.actionError.set(e?null:t??`The host did not apply the change.`)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-mcp-panel`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:35,vars:16,consts:[[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-labelledby`,`mcp-title`,1,`modal-card`,3,`click`],[`id`,`mcp-title`],[1,`cwd`,3,`title`],[`type`,`button`,`title`,`Refresh`,`aria-label`,`Refresh MCP servers`,1,`icon`,3,`click`,`disabled`],[`viewBox`,`0 0 16 16`,`width`,`14`,`height`,`14`,`fill`,`none`,`stroke`,`currentColor`,`stroke-width`,`1.3`,`stroke-linecap`,`round`,`stroke-linejoin`,`round`,`aria-hidden`,`true`],[`d`,`M13 8a5 5 0 1 1-1.5-3.5`],[`d`,`M13 2.5V5h-2.5`],[`type`,`button`,`title`,`Close`,`aria-label`,`Close`,1,`icon`,3,`click`],[1,`body`],[1,`scope-bar`],[1,`scope-label`],[`role`,`group`,`aria-label`,`MCP edit scope`,1,`segmented`],[`type`,`button`,3,`click`],[1,`errors`],[1,`note`],[1,`hint`],[1,`row`],[1,`add`],[1,`spinner`],[`type`,`button`],[`aria-hidden`,`true`],[1,`info`],[1,`name`],[1,`server`],[1,`chip`],[1,`chip`,`override`],[1,`meta`,3,`title`],[1,`error`],[1,`actions`],[`type`,`button`,1,`danger`,3,`click`,`disabled`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,3,`click`,`disabled`,`title`],[`type`,`button`,1,`danger`,3,`disabled`],[1,`field`],[`for`,`mcp-name`],[`id`,`mcp-name`,`type`,`text`,`placeholder`,`filesystem`,3,`input`,`value`],[`for`,`mcp-type`],[`id`,`mcp-type`,3,`change`,`value`],[`value`,`stdio`],[`value`,`http`],[`for`,`mcp-exposure`],[`id`,`mcp-exposure`,3,`change`,`value`],[`value`,`codemode`],[`value`,`deferred`],[`value`,`direct`],[`value`,`hidden`],[1,`add-note`],[1,`add-actions`],[`type`,`button`,3,`click`,`disabled`],[`for`,`mcp-command`],[`id`,`mcp-command`,`type`,`text`,`placeholder`,`npx`,3,`input`,`value`],[`for`,`mcp-args`],[`id`,`mcp-args`,`type`,`text`,`placeholder`,`-y @modelcontextprotocol/server-filesystem .`,3,`input`,`value`],[`for`,`mcp-url`],[`id`,`mcp-url`,`type`,`text`,`placeholder`,`https://example.com/mcp`,3,`input`,`value`]],template:function(t,i){if(t&1&&(g(0,`div`,0),F(`click`,function(){return i.close()}),g(1,`div`,1),F(`click`,function(r){return r.stopPropagation()}),g(2,`header`)(3,`h2`,2),u(4,`MCP servers`),_(),g(5,`span`,3),u(6),_(),g(7,`button`,4),F(`click`,function(){return i.refresh()}),De(),g(8,`svg`,5),fe(9,`path`,6)(10,`path`,7),_()(),kt(),g(11,`button`,8),F(`click`,function(){return i.close()}),u(12,`✕`),_()(),g(13,`div`,9)(14,`div`,10)(15,`span`,11),u(16,`Changes apply to`),_(),g(17,`div`,12)(18,`button`,13),F(`click`,function(){return i.editScope.set(`project`)}),u(19,` This project `),_(),g(20,`button`,13),F(`click`,function(){return i.editScope.set(`global`)}),u(21,` Global `),_()()(),E(22,i3,2,1,`div`,14),E(23,o3,2,1,`div`,15),E(24,a3,1,1),E(25,l3,2,0,`p`,16)(26,c3,5,0,`p`,16),X(27,y3,17,11,`div`,17,n3),E(29,x3,37,8,`div`,18),_(),g(30,`footer`)(31,`span`,19),E(32,C3,1,0)(33,w3,1,2),_(),E(34,E3,2,0,`button`,20),_()()()),t&2){let o,r,s;d(5),te(`title`,i.cwd()),d(),I(i.cwd()),d(),te(`disabled`,i.loading()),d(11),q(`active`,i.editScope()===`project`),Y(`aria-pressed`,i.editScope()===`project`),d(2),q(`active`,i.editScope()===`global`),Y(`aria-pressed`,i.editScope()===`global`),d(2),S((o=i.actionError())?22:-1,o),d(),S((r=i.note())?23:-1,r),d(),S((s=i.errors())?24:-1,s),d(),S(i.loading()&&i.servers().length===0?25:i.servers().length===0&&i.errors().length===0?26:-1),d(2),J(i.servers()),d(2),S(i.adding()?29:-1),d(3),S(i.loading()?32:33),d(2),S(i.adding()?-1:34)}},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(78vh,720px);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--%NS%morse-border)}h2[_ngcontent-%COMP%]{margin:0;font-size:13.5px;font-weight:600}.cwd[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.icon[_ngcontent-%COMP%]{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);cursor:pointer}.icon[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.body[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 10px}.hint[_ngcontent-%COMP%]{padding:10px 8px;color:var(--%NS%morse-fg-muted);font-size:12px;line-height:1.55}.scope-bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:6px 6px 8px}.scope-label[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px}.segmented[_ngcontent-%COMP%]{display:inline-flex;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);overflow:hidden}.segmented[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:3px 10px;border:0;border-radius:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;cursor:pointer}.segmented[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background:var(--%NS%morse-accent);color:var(--%NS%morse-accent-fg)}.note[_ngcontent-%COMP%]{margin:8px 6px;padding:8px 10px;border:1px solid var(--%NS%morse-warn);border-radius:var(--%NS%morse-radius-sm);color:var(--%NS%morse-warn);font-size:11.5px;line-height:1.5}.add-note[_ngcontent-%COMP%]{margin:4px 0 0;color:var(--%NS%morse-fg-muted);font-size:11px}.errors[_ngcontent-%COMP%]{margin:8px 6px;padding:8px 10px;border:1px solid var(--%NS%morse-error);border-radius:var(--%NS%morse-radius-sm);color:var(--%NS%morse-error);font-size:11.5px;line-height:1.5}.row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:var(--%NS%morse-radius-sm)}.row[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.dot[_ngcontent-%COMP%]{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--%NS%morse-fg-muted)}.dot.connected[_ngcontent-%COMP%]{background:var(--%NS%morse-success)}.dot.connecting[_ngcontent-%COMP%], .dot.disconnected[_ngcontent-%COMP%], .dot.needs-auth[_ngcontent-%COMP%]{background:var(--%NS%morse-warn)}.dot.failed[_ngcontent-%COMP%], .dot.closed[_ngcontent-%COMP%]{background:var(--%NS%morse-error)}.dot.disabled[_ngcontent-%COMP%]{background:var(--%NS%morse-border)}.info[_ngcontent-%COMP%]{flex:1;min-width:0}.name[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.name[_ngcontent-%COMP%] .server[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip[_ngcontent-%COMP%]{flex:none;padding:1px 5px;border-radius:999px;background:var(--%NS%morse-hover);color:var(--%NS%morse-fg-muted);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.chip.override[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}.meta[_ngcontent-%COMP%]{margin-top:2px;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.error[_ngcontent-%COMP%]{margin-top:3px;color:var(--%NS%morse-error);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;flex:none}.actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:3px 8px;font-size:11px}.danger[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.add[_ngcontent-%COMP%]{margin:4px 6px 0;padding:10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm)}.add[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;font-size:12px;font-weight:600}.field[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:none;width:74px;color:var(--%NS%morse-fg-muted);font-size:11px}.field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .field[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{flex:1;min-width:0;padding:4px 7px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-bg);color:var(--%NS%morse-fg);font-size:12px;font-family:inherit}.add-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}footer[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--%NS%morse-border)}.spinner[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px}@media(max-width:520px){.field[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch;gap:3px}.field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{width:auto}}`]})};function S3(n){return n.split(/\s+/).map(e=>e.trim()).filter(e=>e.length>0)}function UE(n){let e=[],t=[],i=()=>{t.length!==0&&(e.push({kind:`process`,key:`process-${t[0]?.key??e.length}`,steps:t}),t=[])};for(let o of n){if(o.kind===`tool`){t.push({kind:`tool`,key:o.id,item:o});continue}if(o.kind===`assistant`){let r=o.thinking.trim();r.length>0&&t.push({kind:`thinking`,key:`${o.id}:thinking`,item:o}),o.text.trim().length>0||o.streaming&&r.length===0?(i(),e.push({kind:`assistant`,key:o.id,item:o})):r.length===0&&i();continue}i(),o.kind===`user`?e.push({kind:`user`,key:o.id,item:o}):o.kind===`notice`?e.push({kind:`notice`,key:o.id,item:o}):o.kind===`compaction`&&e.push({kind:`compaction`,key:o.id,item:o})}return i(),e}function GE(n){for(let e=n.length-1;e>=0;e-=1){let t=n[e];if(t?.kind===`process`)return t.key}return null}var D3=/(^|\s)@([^\s:]+(?::\d+(?:-\d+)?)?)(?=$|\s)/g;function T3(n){if(n.length===0)return;let e=n.indexOf(`:`);if(e===-1)return{path:n};let t=n.slice(0,e),i=n.slice(e+1),o=/^(\d+)(?:-(\d+))?$/.exec(i);if(t.length===0||!o)return;let r=Number(o[1]);return{path:t,startLine:r,endLine:o[2]===void 0?r:Number(o[2])}}function qE(n){let e;return n.split(`
|
|
34
|
+
`).map(t=>{let i=/^\s*(`{3,}|~{3,})/.exec(t);if(i){let o=i[1]?.charAt(0)??``;return e===void 0?e=o:o===e&&(e=void 0),t}return e===void 0?M3(t):t}).join(`
|
|
35
|
+
`)}function M3(n){let e=``,t=0;for(;t<n.length;){let i=n.indexOf("`",t);if(i===-1){e+=HE(n.slice(t));break}e+=HE(n.slice(t,i));let o=n.indexOf("`",i+1);if(o===-1){e+=n.slice(i);break}e+=n.slice(i,o+1),t=o+1}return e}function HE(n){return n.replace(D3,(e,t,i)=>{let o=T3(i);if(!o)return e;let r=k3(o.path),s=o.startLine===void 0?`@${r}`:`@${r}:${o.startLine}-${o.endLine}`,a=zE(o.path);return`${t}<span class="mention" data-mention-path="${a}" title="${a}"${o.startLine===void 0?``:` data-mention-start="${o.startLine}" data-mention-end="${o.endLine}"`}><span class="mention-label">${zE(s)}</span></span>`})}function k3(n){let e=n.replace(/[\\/]+$/,``),t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?e:e.slice(t+1)}function zE(n){return n.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function I3(n,e){this.v=n,this.k=e}function WE(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function N3(n){if(Array.isArray(n))return n}function P3(n,e){var t=n==null?null:typeof Symbol<`u`&&n[Symbol.iterator]||n[`@@iterator`];if(t!=null){var i,o,r,s,a=[],l=!0,c=!1;try{if(r=(t=t.call(n)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(i=r.call(t)).done)&&(a.push(i.value),a.length!==e);l=!0);}catch(p){c=!0,o=p}finally{try{if(!l&&t.return!=null&&(s=t.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}function O3(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
36
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A3(n,e){return N3(n)||P3(n,e)||R3(n,e)||O3()}function R3(n,e){if(n){if(typeof n==`string`)return WE(n,e);var t={}.toString.call(n).slice(8,-1);return t===`Object`&&n.constructor&&(t=n.constructor.name),t===`Map`||t===`Set`?Array.from(n):t===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?WE(n,e):void 0}}function Vp(n){var e,t;function i(r,s){try{var a=n[r](s),l=a.value,c=l instanceof I3;Promise.resolve(c?l.v:l).then(function(p){if(c){var m=r===`return`&&l.k?r:`next`;if(!l.k||p.done)return i(m,p);p=n[m](p).value}o(!!a.done,p)},function(p){i(`throw`,p)})}catch(p){o(2,p)}}function o(r,s){r===2?e.reject(s):e.resolve({value:s,done:r}),(e=e.next)?i(e.key,e.arg):t=null}this._invoke=function(r,s){return new Promise(function(a,l){var c={key:r,arg:s,resolve:a,reject:l,next:null};t?t=t.next=c:(e=t=c,i(r,s))})},typeof n.return!=`function`&&(this.return=void 0)}Vp.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},Vp.prototype.next=function(n){return this._invoke(`next`,n)},Vp.prototype.throw=function(n){return this._invoke(`throw`,n)},Vp.prototype.return=function(n){return this._invoke(`return`,n)};var lS=Object.entries;var YE=Object.setPrototypeOf;var L3=Object.isFrozen;var F3=Object.getPrototypeOf;var V3=Object.getOwnPropertyDescriptor;var bn=Object.freeze;var Dn=Object.seal;var Da=Object.create;var cS=typeof Reflect<`u`&&Reflect;var ay=cS.apply;var ly=cS.construct;bn||(bn=function(e){return e});Dn||(Dn=function(e){return e});ay||(ay=function(e,t){for(var i=arguments.length,o=new Array(i>2?i-2:0),r=2;r<i;r++)o[r-2]=arguments[r];return e.apply(t,o)});ly||(ly=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return new e(...i)});var ms=pn(Array.prototype.forEach);Array.prototype.indexOf;var j3=pn(Array.prototype.lastIndexOf);var KE=pn(Array.prototype.pop);var Jl=pn(Array.prototype.push);Array.prototype.slice;var B3=pn(Array.prototype.splice);var Ta=Array.isArray;var nc=pn(String.prototype.toLowerCase);var ty=pn(String.prototype.toString);var ZE=pn(String.prototype.match);var ec=pn(String.prototype.replace);var QE=pn(String.prototype.indexOf);var $3=pn(String.prototype.trim);var H3=pn(Number.prototype.toString);var z3=pn(Boolean.prototype.toString);var XE=typeof BigInt>`u`?null:pn(BigInt.prototype.toString);var JE=typeof Symbol>`u`?null:pn(Symbol.prototype.toString);var Jn=pn(Object.prototype.hasOwnProperty);var tc=pn(Object.prototype.toString);var Vn=pn(RegExp.prototype.test);var ar=U3(TypeError);function pn(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return ay(n,e,i)}}function U3(n){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return ly(n,t)}}function ht(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:nc;if(YE&&YE(n,null),!Ta(e))return n;let i=e.length;for(;i--;){let o=e[i];if(typeof o==`string`){let r=t(o);r!==o&&(L3(e)||(e[i]=r),o=r)}n[o]=!0}return n}function G3(n){for(let e=0;e<n.length;e++)Jn(n,e)||(n[e]=null);return n}function ci(n){let e=Da(null);for(let i of lS(n)){var t=A3(i,2);let o=t[0],r=t[1];Jn(n,o)&&(Ta(r)?e[o]=G3(r):r&&typeof r==`object`&&r.constructor===Object?e[o]=ci(r):e[o]=r)}return e}function q3(n){switch(typeof n){case`string`:return n;case`number`:return H3(n);case`boolean`:return z3(n);case`bigint`:return XE?XE(n):`0`;case`symbol`:return JE?JE(n):`Symbol()`;case`undefined`:return tc(n);case`function`:case`object`:{if(n===null)return tc(n);let e=n,t=ki(e,`toString`);if(typeof t==`function`){let i=t(e);return typeof i==`string`?i:tc(i)}return tc(n)}default:return tc(n)}}function ki(n,e){for(;n!==null;){let i=V3(n,e);if(i){if(i.get)return pn(i.get);if(typeof i.value==`function`)return pn(i.value)}n=F3(n)}function t(){return null}return t}function W3(n){try{return Vn(n,``),!0}catch{return!1}}var eS=bn([`a`,`abbr`,`acronym`,`address`,`area`,`article`,`aside`,`audio`,`b`,`bdi`,`bdo`,`big`,`blink`,`blockquote`,`body`,`br`,`button`,`canvas`,`caption`,`center`,`cite`,`code`,`col`,`colgroup`,`content`,`data`,`datalist`,`dd`,`decorator`,`del`,`details`,`dfn`,`dialog`,`dir`,`div`,`dl`,`dt`,`element`,`em`,`fieldset`,`figcaption`,`figure`,`font`,`footer`,`form`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`head`,`header`,`hgroup`,`hr`,`html`,`i`,`img`,`input`,`ins`,`kbd`,`label`,`legend`,`li`,`main`,`map`,`mark`,`marquee`,`menu`,`menuitem`,`meter`,`nav`,`nobr`,`ol`,`optgroup`,`option`,`output`,`p`,`picture`,`pre`,`progress`,`q`,`rp`,`rt`,`ruby`,`s`,`samp`,`search`,`section`,`select`,`shadow`,`slot`,`small`,`source`,`spacer`,`span`,`strike`,`strong`,`style`,`sub`,`summary`,`sup`,`table`,`tbody`,`td`,`template`,`textarea`,`tfoot`,`th`,`thead`,`time`,`tr`,`track`,`tt`,`u`,`ul`,`var`,`video`,`wbr`]);var ny=bn([`svg`,`a`,`altglyph`,`altglyphdef`,`altglyphitem`,`animatecolor`,`animatemotion`,`animatetransform`,`circle`,`clippath`,`defs`,`desc`,`ellipse`,`enterkeyhint`,`exportparts`,`filter`,`font`,`g`,`glyph`,`glyphref`,`hkern`,`image`,`inputmode`,`line`,`lineargradient`,`marker`,`mask`,`metadata`,`mpath`,`part`,`path`,`pattern`,`polygon`,`polyline`,`radialgradient`,`rect`,`stop`,`style`,`switch`,`symbol`,`text`,`textpath`,`title`,`tref`,`tspan`,`view`,`vkern`]);var iy=bn([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]);var Y3=bn([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]);var oy=bn([`math`,`menclose`,`merror`,`mfenced`,`mfrac`,`mglyph`,`mi`,`mlabeledtr`,`mmultiscripts`,`mn`,`mo`,`mover`,`mpadded`,`mphantom`,`mroot`,`mrow`,`ms`,`mspace`,`msqrt`,`mstyle`,`msub`,`msup`,`msubsup`,`mtable`,`mtd`,`mtext`,`mtr`,`munder`,`munderover`,`mprescripts`]);var K3=bn([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]);var tS=bn([`#text`]);var nS=bn([`accept`,`action`,`align`,`alt`,`autocapitalize`,`autocomplete`,`autopictureinpicture`,`autoplay`,`background`,`bgcolor`,`border`,`capture`,`cellpadding`,`cellspacing`,`checked`,`cite`,`class`,`clear`,`color`,`cols`,`colspan`,`command`,`commandfor`,`controls`,`controlslist`,`coords`,`crossorigin`,`datetime`,`decoding`,`default`,`dir`,`disabled`,`disablepictureinpicture`,`disableremoteplayback`,`download`,`draggable`,`enctype`,`enterkeyhint`,`exportparts`,`face`,`for`,`headers`,`height`,`hidden`,`high`,`href`,`hreflang`,`id`,`inert`,`inputmode`,`integrity`,`ismap`,`kind`,`label`,`lang`,`list`,`loading`,`loop`,`low`,`max`,`maxlength`,`media`,`method`,`min`,`minlength`,`multiple`,`muted`,`name`,`nonce`,`noshade`,`novalidate`,`nowrap`,`open`,`optimum`,`part`,`pattern`,`placeholder`,`playsinline`,`popover`,`popovertarget`,`popovertargetaction`,`poster`,`preload`,`pubdate`,`radiogroup`,`readonly`,`rel`,`required`,`rev`,`reversed`,`role`,`rows`,`rowspan`,`spellcheck`,`scope`,`selected`,`shape`,`size`,`sizes`,`slot`,`span`,`srclang`,`start`,`src`,`srcset`,`step`,`style`,`summary`,`tabindex`,`title`,`translate`,`type`,`usemap`,`valign`,`value`,`width`,`wrap`,`xmlns`]);var ry=bn([`accent-height`,`accumulate`,`additive`,`alignment-baseline`,`amplitude`,`ascent`,`attributename`,`attributetype`,`azimuth`,`basefrequency`,`baseline-shift`,`begin`,`bias`,`by`,`class`,`clip`,`clippathunits`,`clip-path`,`clip-rule`,`color`,`color-interpolation`,`color-interpolation-filters`,`color-profile`,`color-rendering`,`cx`,`cy`,`d`,`dx`,`dy`,`diffuseconstant`,`direction`,`display`,`divisor`,`dominant-baseline`,`dur`,`edgemode`,`elevation`,`end`,`exponent`,`fill`,`fill-opacity`,`fill-rule`,`filter`,`filterunits`,`flood-color`,`flood-opacity`,`font-family`,`font-size`,`font-size-adjust`,`font-stretch`,`font-style`,`font-variant`,`font-weight`,`fx`,`fy`,`g1`,`g2`,`glyph-name`,`glyphref`,`gradientunits`,`gradienttransform`,`height`,`href`,`id`,`image-rendering`,`in`,`in2`,`intercept`,`k`,`k1`,`k2`,`k3`,`k4`,`kerning`,`keypoints`,`keysplines`,`keytimes`,`lang`,`lengthadjust`,`letter-spacing`,`kernelmatrix`,`kernelunitlength`,`lighting-color`,`local`,`marker-end`,`marker-mid`,`marker-start`,`markerheight`,`markerunits`,`markerwidth`,`maskcontentunits`,`maskunits`,`max`,`mask`,`mask-type`,`media`,`method`,`mode`,`min`,`name`,`numoctaves`,`offset`,`operator`,`opacity`,`order`,`orient`,`orientation`,`origin`,`overflow`,`paint-order`,`path`,`pathlength`,`patterncontentunits`,`patterntransform`,`patternunits`,`pointer-events`,`points`,`preservealpha`,`preserveaspectratio`,`primitiveunits`,`r`,`rx`,`ry`,`radius`,`refx`,`refy`,`repeatcount`,`repeatdur`,`restart`,`result`,`rotate`,`scale`,`seed`,`shape-rendering`,`slope`,`specularconstant`,`specularexponent`,`spreadmethod`,`startoffset`,`stddeviation`,`stitchtiles`,`stop-color`,`stop-opacity`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`stroke-linejoin`,`stroke-miterlimit`,`stroke-opacity`,`stroke`,`stroke-width`,`style`,`surfacescale`,`systemlanguage`,`tabindex`,`tablevalues`,`targetx`,`targety`,`transform`,`transform-origin`,`text-anchor`,`text-decoration`,`text-orientation`,`text-rendering`,`textlength`,`type`,`u1`,`u2`,`unicode`,`values`,`vector-effect`,`viewbox`,`visibility`,`version`,`vert-adv-y`,`vert-origin-x`,`vert-origin-y`,`width`,`word-spacing`,`wrap`,`writing-mode`,`xchannelselector`,`ychannelselector`,`x`,`x1`,`x2`,`xmlns`,`y`,`y1`,`y2`,`z`,`zoomandpan`]);var iS=bn([`accent`,`accentunder`,`align`,`bevelled`,`close`,`columnalign`,`columnlines`,`columnspacing`,`columnspan`,`denomalign`,`depth`,`dir`,`display`,`displaystyle`,`encoding`,`fence`,`frame`,`height`,`href`,`id`,`largeop`,`length`,`linethickness`,`lquote`,`lspace`,`mathbackground`,`mathcolor`,`mathsize`,`mathvariant`,`maxsize`,`minsize`,`movablelimits`,`notation`,`numalign`,`open`,`rowalign`,`rowlines`,`rowspacing`,`rowspan`,`rspace`,`rquote`,`scriptlevel`,`scriptminsize`,`scriptsizemultiplier`,`selection`,`separator`,`separators`,`stretchy`,`subscriptshift`,`supscriptshift`,`symmetric`,`voffset`,`width`,`xmlns`]);var jp=bn([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]);var Z3=Dn(/{{[\w\W]*|^[\w\W]*}}/g);var Q3=Dn(/<%[\w\W]*|^[\w\W]*%>/g);var X3=Dn(/\${[\w\W]*/g);var J3=Dn(/^data-[\-\w.\u00B7-\uFFFF]+$/);var eV=Dn(/^aria-[\-\w]+$/);var oS=Dn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);var tV=Dn(/^(?:\w+script|data):/i);var nV=Dn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);var iV=Dn(/^html$/i);var oV=Dn(/^[a-z][.\w]*(-[.\w]+)+$/i);var rS=Dn(/<[/\w!]/g);var sS=Dn(/<[/\w]/g);var rV=Dn(/<\/no(script|embed|frames)/i);var sV=Dn(/\/>/i);var li={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12};var dS=[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`];var aV=bn(ht({},dS));var lV=(function(){let n={};return ms(dS,e=>{n[e]=Dn(new RegExp(`</`+e+`(?=[\\t\\n\\f\\r />])`,`i`))}),bn(n)})();var cV=function(){return typeof window>`u`?null:window};var dV=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let i=null,o=`data-tt-policy-suffix`;t&&t.hasAttribute(o)&&(i=t.getAttribute(o));let r=`dompurify`+(i?`#`+i:``);try{return e.createPolicy(r,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn(`TrustedTypes policy `+r+` could not be created.`),null}};var aS=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};var lr=function(e,t,i,o){return Jn(e,t)&&Ta(e[t])?ht(o.base?ci(o.base):{},e[t],o.transform):i};var sy=function(e,t,i){let o=Jn(e,t)?e[t]:void 0;return o&&typeof o==`object`?ci(o):i()};function uS(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cV(),e=K=>uS(K);if(e.version=`3.4.16`,e.removed=[],!n||!n.document||n.document.nodeType!==li.document||!n.Element)return e.isSupported=!1,e;let t=n.document,i=t,o=i.currentScript;n.DocumentFragment;let r=n.HTMLTemplateElement,s=n.Node,a=n.Element,l=n.NodeFilter;n.NamedNodeMap===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let c=n.DOMParser,p=n.trustedTypes,m=a.prototype,v=ki(m,`cloneNode`),b=ki(m,`remove`),k=ki(m,`removeAttributeNode`),O=ki(m,`nextSibling`),M=ki(m,`childNodes`),V=ki(m,`parentNode`),W=ki(m,`shadowRoot`),pe=ki(m,`attributes`),me=s&&s.prototype?ki(s.prototype,`nodeType`):null,we=s&&s.prototype?ki(s.prototype,`nodeName`):null,ve=s&&s.prototype?ki(s.prototype,`ownerDocument`):null,st=function(x){return me?me(x):x.nodeType},qe=function(x){return we?we(x):x.nodeName};if(typeof r==`function`){let K=t.createElement(`template`);K.content&&K.content.ownerDocument&&(t=K.content.ownerDocument)}let Ke,vt=``,Pt,qt=!1,$t=0,at=function(){if($t>0)throw ar(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},Te=function(x){at(),$t++;try{return Ke.createHTML(x)}finally{$t--}},B=function(x){at(),$t++;try{return Ke.createScriptURL(x)}finally{$t--}},ae=function(){return qt||(Pt=dV(p,o),qt=!0),Pt},Q=t,H=Q.implementation,de=Q.createNodeIterator,Be=Q.createDocumentFragment,lt=Q.getElementsByTagName,en=i.importNode,Ee=aS();e.isSupported=typeof lS==`function`&&typeof V==`function`&&H&&H.createHTMLDocument!==void 0;let Mt=Z3,Ze=Q3,xn=X3,tn=J3,tt=eV,an=tV,Wt=nV,Ve=oV,Xe=oS,Pe=null,ft=ht({},[...eS,...ny,...iy,...oy,...tS]),ye=null,_t=ht({},[...nS,...ry,...iS,...jp]),oe=Object.seal(Da(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Et=null,it=null,ge=Object.seal(Da(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),It=!0,Se=!0,gt=!1,Qe=!0,z=!1,G=!0,ce=!1,_e=!1,bt=null,Ot=null,ui=!1,Nn=!1,zi=!1,Ui=!1,cc=!0,dc=!1,vs=`user-content-`,ur=!0,Aa=!1,fn={},Gi=null,Ra=ht({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`selectedcontent`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),uc=null,pr=ht({},[`audio`,`video`,`img`,`source`,`image`,`track`]),La=null,Fa=ht({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Cn=`http://www.w3.org/1998/Math/MathML`,Io=`http://www.w3.org/2000/svg`,Re=`http://www.w3.org/1999/xhtml`,Yt=Re,pc=!1,bs=null,UD=ht({},[Cn,Io,Re],ty),Dy=bn([`mi`,`mo`,`mn`,`ms`,`mtext`]),Sf=ht({},Dy),Ty=bn([`annotation-xml`]),Df=ht({},Ty),GD=ht({},[`title`,`style`,`font`,`a`,`script`]),Va=null,qD=[`application/xhtml+xml`,`text/html`],WD=`text/html`,nn=null,xs=null,YD=t.createElement(`form`),My=function(x){return x instanceof RegExp||x instanceof Function},Tf=function(){let x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(xs&&xs===x)return;(!x||typeof x!=`object`)&&(x={}),x=ci(x),Va=qD.indexOf(x.PARSER_MEDIA_TYPE)===-1?WD:x.PARSER_MEDIA_TYPE,nn=Va===`application/xhtml+xml`?ty:nc,Pe=lr(x,`ALLOWED_TAGS`,ft,{transform:nn}),ye=lr(x,`ALLOWED_ATTR`,_t,{transform:nn}),bs=lr(x,`ALLOWED_NAMESPACES`,UD,{transform:ty}),La=lr(x,`ADD_URI_SAFE_ATTR`,Fa,{transform:nn,base:Fa}),uc=lr(x,`ADD_DATA_URI_TAGS`,pr,{transform:nn,base:pr}),Gi=lr(x,`FORBID_CONTENTS`,Ra,{transform:nn}),Et=lr(x,`FORBID_TAGS`,ci({}),{transform:nn}),it=lr(x,`FORBID_ATTR`,ci({}),{transform:nn}),fn=Jn(x,`USE_PROFILES`)?x.USE_PROFILES&&typeof x.USE_PROFILES==`object`?ci(x.USE_PROFILES):x.USE_PROFILES:!1,It=x.ALLOW_ARIA_ATTR!==!1,Se=x.ALLOW_DATA_ATTR!==!1,gt=x.ALLOW_UNKNOWN_PROTOCOLS||!1,Qe=x.ALLOW_SELF_CLOSE_IN_ATTR!==!1,z=x.SAFE_FOR_TEMPLATES||!1,G=x.SAFE_FOR_XML!==!1,ce=x.WHOLE_DOCUMENT||!1,Nn=x.RETURN_DOM||!1,zi=x.RETURN_DOM_FRAGMENT||!1,Ui=x.RETURN_TRUSTED_TYPE||!1,ui=x.FORCE_BODY||!1,cc=x.SANITIZE_DOM!==!1,dc=x.SANITIZE_NAMED_PROPS||!1,ur=x.KEEP_CONTENT!==!1,Aa=x.IN_PLACE||!1,Xe=W3(x.ALLOWED_URI_REGEXP)?x.ALLOWED_URI_REGEXP:oS,Yt=typeof x.NAMESPACE==`string`?x.NAMESPACE:Re,Sf=sy(x,`MATHML_TEXT_INTEGRATION_POINTS`,()=>ht({},Dy)),Df=sy(x,`HTML_INTEGRATION_POINTS`,()=>ht({},Ty));let R=sy(x,`CUSTOM_ELEMENT_HANDLING`,()=>Da(null));if(oe=Da(null),Jn(R,`tagNameCheck`)&&My(R.tagNameCheck)&&(oe.tagNameCheck=R.tagNameCheck),Jn(R,`attributeNameCheck`)&&My(R.attributeNameCheck)&&(oe.attributeNameCheck=R.attributeNameCheck),Jn(R,`allowCustomizedBuiltInElements`)&&typeof R.allowCustomizedBuiltInElements==`boolean`&&(oe.allowCustomizedBuiltInElements=R.allowCustomizedBuiltInElements),Dn(oe),z&&(Se=!1),zi&&(Nn=!0),fn&&(Pe=ht({},tS),ye=Da(null),fn.html===!0&&(ht(Pe,eS),ht(ye,nS)),fn.svg===!0&&(ht(Pe,ny),ht(ye,ry),ht(ye,jp)),fn.svgFilters===!0&&(ht(Pe,iy),ht(ye,ry),ht(ye,jp)),fn.mathMl===!0&&(ht(Pe,oy),ht(ye,iS),ht(ye,jp))),ge.tagCheck=null,ge.attributeCheck=null,Jn(x,`ADD_TAGS`)&&(typeof x.ADD_TAGS==`function`?ge.tagCheck=x.ADD_TAGS:Ta(x.ADD_TAGS)&&(Pe===ft&&(Pe=ci(Pe)),ht(Pe,x.ADD_TAGS,nn))),Jn(x,`ADD_ATTR`)&&(typeof x.ADD_ATTR==`function`?ge.attributeCheck=x.ADD_ATTR:Ta(x.ADD_ATTR)&&(ye===_t&&(ye=ci(ye)),ht(ye,x.ADD_ATTR,nn))),Jn(x,`ADD_FORBID_CONTENTS`)&&Ta(x.ADD_FORBID_CONTENTS)&&(Gi===Ra&&(Gi=ci(Gi)),ht(Gi,x.ADD_FORBID_CONTENTS,nn)),ur&&(Pe[`#text`]=!0),ce&&ht(Pe,[`html`,`head`,`body`]),Pe.table&&(ht(Pe,[`tbody`]),delete Et.tbody),x.TRUSTED_TYPES_POLICY){if(typeof x.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw ar(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof x.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw ar(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let U=Ke;Ke=x.TRUSTED_TYPES_POLICY;try{vt=Te(``)}catch(Z){throw Ke=U,Z}}else x.TRUSTED_TYPES_POLICY===null?(Ke=void 0,vt=``):(Ke===void 0&&(Ke=ae()),Ke&&typeof vt==`string`&&(vt=Te(``)));bn&&bn(x),xs=x},ky=ht({},[...ny,...iy,...Y3]),Iy=ht({},[...oy,...K3]),KD=function(x,R,U){return R.namespaceURI===Re?x===`svg`:R.namespaceURI===Cn?x===`svg`&&(U===`annotation-xml`||Sf[U]):!!ky[x]},ZD=function(x,R,U){return R.namespaceURI===Re?x===`math`:R.namespaceURI===Io?x===`math`&&Df[U]:!!Iy[x]},QD=function(x,R,U){return R.namespaceURI===Io&&!Df[U]||R.namespaceURI===Cn&&!Sf[U]?!1:!Iy[x]&&(GD[x]||!ky[x])},XD=function(x){let R=V(x);(!R||!R.tagName)&&(R={namespaceURI:Yt,tagName:`template`});let U=nc(x.tagName),Z=nc(R.tagName);return bs[x.namespaceURI]?x.namespaceURI===Io?KD(U,R,Z):x.namespaceURI===Cn?ZD(U,R,Z):x.namespaceURI===Re?QD(U,R,Z):!!(Va===`application/xhtml+xml`&&bs[x.namespaceURI]):!1},No=function(x){Jl(e.removed,{element:x});try{V(x).removeChild(x)}catch{if(b(x),!V(x))throw ar(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},Ny=function(x,R,U){try{k(x,R)}catch{try{x.removeAttribute(U)}catch{}}},fc=function(x){mc(x);let R=M(x);if(R){let Z=[];ms(R,be=>{Jl(Z,be)}),ms(Z,be=>{try{b(be)}catch{}})}let U=pe(x);if(U)for(let Z=U.length-1;Z>=0;--Z){let be=U[Z],Je=be&&be.name;typeof Je==`string`&&Ny(x,be,Je)}},fr=function(x,R,U){if(!U)try{U=R.getAttributeNode(x)}catch{U=null}Jl(e.removed,{attribute:U||null,from:R});try{U?k(R,U):R.removeAttribute(x)}catch{try{R.removeAttribute(x)}catch{}}if(x===`is`)if(Nn||zi)try{No(R)}catch{}else try{R.setAttribute(x,``)}catch{}},JD=function(x){let R=pe(x);if(R)for(let U=R.length-1;U>=0;--U){let Z=R[U],be=Z&&Z.name;typeof be!=`string`||ye[nn(be)]||Ny(x,Z,be)}},mc=function(x){let R=[x];for(;R.length>0;){let U=R.pop();st(U)===li.element&&JD(U);let Z=M(U);if(Z)for(let be=Z.length-1;be>=0;--be)R.push(Z[be])}},Py=function(x,R){return G?x===`patchsrc`?!0:x===`for`&&R!==`label`&&R!==`output`:!1},eT=function(x){if(!G)return;let R=[x];for(;R.length>0;){let U=R.pop(),Z=st(U);if(Z===li.processingInstruction||Z===li.comment&&Vn(sS,U.data)){try{b(U)}catch{}continue}if(Z===li.element){let Je=U,ct=nn(qe(U));try{Je.hasAttribute&&Je.hasAttribute(`patchsrc`)&&Je.removeAttribute(`patchsrc`),Je.hasAttribute&&Je.hasAttribute(`for`)&&Py(`for`,ct)&&Je.removeAttribute(`for`)}catch{}}let be=M(U);if(be)for(let Je=be.length-1;Je>=0;--Je)R.push(be[Je])}},Oy=function(x){let R=null,U=null;if(ui)x=`<remove></remove>`+x;else{let Je=ZE(x,/^[\r\n\t ]+/);U=Je&&Je[0]}Va===`application/xhtml+xml`&&Yt===Re&&(x=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+x+`</body></html>`);let Z=Ke?Te(x):x;if(Yt===Re)try{R=new c().parseFromString(Z,Va)}catch{}if(!R||!R.documentElement){R=H.createDocument(Yt,`template`,null);try{R.documentElement.innerHTML=pc?vt:Z}catch{}}let be=R.body||R.documentElement;return x&&U&&be.insertBefore(t.createTextNode(U),be.childNodes[0]||null),Yt===Re?lt.call(R,ce?`html`:`body`)[0]:ce?R.documentElement:be},Ay=function(x){let R=ve?ve(x):x.ownerDocument;return de.call(R||x,x,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},hc=function(x){return x=ec(x,Mt,` `),x=ec(x,Ze,` `),x=ec(x,xn,` `),x},Mf=function(x){var R;x.normalize();let U=ve?ve(x):x.ownerDocument,Z=de.call(U||x,x,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),be=Z.nextNode();for(;be;)be.data=hc(be.data),be=Z.nextNode();let Je=(R=x.querySelectorAll)===null||R===void 0?void 0:R.call(x,`template`);Je&&ms(Je,ct=>{Cs(ct.content)&&Mf(ct.content)})},gc=function(x){let R=we?we(x):null;return typeof R!=`string`||nn(R)!==`form`?!1:typeof x.nodeName!=`string`||typeof x.textContent!=`string`||typeof x.removeChild!=`function`||x.attributes!==pe(x)||typeof x.removeAttribute!=`function`||typeof x.removeAttributeNode!=`function`||typeof x.getAttributeNode!=`function`||typeof x.setAttribute!=`function`||typeof x.namespaceURI!=`string`||typeof x.insertBefore!=`function`||typeof x.hasChildNodes!=`function`||x.nodeType!==me(x)||x.childNodes!==M(x)},Cs=function(x){if(!me||typeof x!=`object`||x===null)return!1;try{return me(x)===li.documentFragment}catch{return!1}},ja=function(x){if(!me||typeof x!=`object`||x===null)return!1;try{return typeof me(x)==`number`}catch{return!1}};function qi(K,x,R){K.length!==0&&ms(K,U=>{U.call(e,x,R,xs)})}let tT=function(x,R){return!!(G&&x.hasChildNodes()&&!ja(x.firstElementChild)&&Vn(rS,x.textContent)&&Vn(rS,x.innerHTML)||G&&x.namespaceURI===Re&&aV[R]&&(ja(x.firstElementChild)||typeof x.textContent==`string`&&Vn(lV[R],x.textContent))||x.nodeType===li.processingInstruction||G&&x.nodeType===li.comment&&Vn(sS,x.data))},yc=function(x,R){if(x instanceof RegExp)return Vn(x,R);if(x instanceof Function){for(var U=arguments.length,Z=new Array(U>2?U-2:0),be=2;be<U;be++)Z[be-2]=arguments[be];return!!x(R,...Z)}return!1},nT=function(x,R,U){if(!Et[R]&&Vy(R)&&yc(oe.tagNameCheck,R))return!1;if(ur&&!Gi[R]){let Z=V(x),be=M(x);if(be&&Z){let Je=be.length;for(let ct=Je-1;ct>=0;--ct){let Kt=x===U?v(be[ct],!0):be[ct];Z.insertBefore(Kt,O(x))}}}return No(x),!0},Ry=function(x,R,U,Z){return x.length===0?R:R===U||R===Z?ci(R):R},ws=function(x,R){return x===R||V(x)!==null?!1:(Aa&&mc(x),!0)},Ly=function(x,R){if(qi(Ee.beforeSanitizeElements,x,null),ws(x,R))return!0;if(gc(x))return No(x),!0;let U=nn(qe(x));if(Pe=Ry(Ee.uponSanitizeElement,Pe,ft,bt),qi(Ee.uponSanitizeElement,x,{tagName:U,allowedTags:Pe}),ws(x,R))return!0;if(tT(x,U))return No(x),!0;if(Et[U]||!(ge.tagCheck instanceof Function&&ge.tagCheck(U))&&!Pe[U]){let Z=nT(x,U,R);return Z===!1&&(qi(Ee.afterSanitizeElements,x,null),ws(x,R))?!0:Z}if(st(x)===li.element&&!XD(x)||(U===`noscript`||U===`noembed`||U===`noframes`)&&Vn(rV,x.innerHTML))return No(x),!0;if(z&&x.nodeType===li.text){let Z=hc(x.textContent);x.textContent!==Z&&(Jl(e.removed,{element:x.cloneNode()}),x.textContent=Z)}return qi(Ee.afterSanitizeElements,x,null),ws(x,R)},Fy=function(x,R,U){if(it[R]||Py(R,x)||cc&&(R===`id`||R===`name`)&&(U in t||U in YD))return!1;let Z=ye[R]||ge.attributeCheck instanceof Function&&ge.attributeCheck(R,x);return Se&&Vn(tn,R)||It&&Vn(tt,R)?!0:Z?La[R]||Vn(Xe,ec(U,Wt,``))||(R===`src`||R===`xlink:href`||R===`href`)&&x!==`script`&&QE(U,`data:`)===0&&uc[x]||gt&&!Vn(an,ec(U,Wt,``))?!0:!U:Vy(x)&&yc(oe.tagNameCheck,x)&&yc(oe.attributeNameCheck,R,x)||R===`is`&&oe.allowCustomizedBuiltInElements&&yc(oe.tagNameCheck,U)},iT=ht({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Vy=function(x){return!iT[nc(x)]&&Vn(Ve,x)},oT=function(x,R,U,Z){if(Ke&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!U)switch(p.getAttributeType(x,R)){case`TrustedHTML`:return Te(Z);case`TrustedScriptURL`:return B(Z)}return Z},rT=function(x,R,U,Z){try{return U?x.setAttributeNS(U,R,Z):x.setAttribute(R,Z),gc(x)?(No(x),!1):!0}catch{return fr(R,x),!1}},jy=function(x,R){if(qi(Ee.beforeSanitizeAttributes,x,null),ws(x,R))return;let U=x.attributes;if(!U||gc(x))return;ye=Ry(Ee.uponSanitizeAttribute,ye,_t,Ot);let Z={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:ye,forceKeepAttr:void 0},be=U.length,Je=nn(x.nodeName);for(;be--;){let ct=U[be],Kt=ct.name,pi=ct.namespaceURI,ei=ct.value,Es=nn(Kt),If=ei,jn=Kt===`value`?If:$3(If),By=!1;if(Z.attrName=Es,Z.attrValue=jn,Z.keepAttr=!0,Z.forceKeepAttr=void 0,qi(Ee.uponSanitizeAttribute,x,Z),jn=Z.attrValue,dc&&(Es===`id`||Es===`name`)&&QE(jn,vs)!==0&&(fr(Kt,x,ct),jn=vs+jn,By=!0),G&&Vn(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,jn)){fr(Kt,x,ct);continue}if(Es===`attributename`&&ZE(jn,`href`)){fr(Kt,x,ct);continue}if(!Z.forceKeepAttr){if(!Z.keepAttr){fr(Kt,x,ct);continue}if(!Qe&&Vn(sV,jn)){fr(Kt,x,ct);continue}if(z&&(jn=hc(jn)),!Fy(Je,Es,jn)){fr(Kt,x,ct);continue}jn=oT(Je,Es,pi,jn),jn!==If&&rT(x,Kt,pi,jn)&&By&&KE(e.removed)}}qi(Ee.afterSanitizeAttributes,x,null),ws(x,R)},_c=function(x){let R=null,U=Ay(x);for(qi(Ee.beforeSanitizeShadowDOM,x,null);R=U.nextNode();)if(qi(Ee.uponSanitizeShadowNode,R,null),Ly(R,x),jy(R,x),Cs(R.content)&&_c(R.content),st(R)===li.element){let Z=W(R);Cs(Z)&&(kf(Z),_c(Z))}qi(Ee.afterSanitizeShadowDOM,x,null)},kf=function(x){let R=[{node:x,shadow:null}];for(;R.length>0;){let U=R.pop();if(U.shadow){_c(U.shadow);continue}let Z=U.node,be=st(Z)===li.element,Je=M(Z);if(Je)for(let ct=Je.length-1;ct>=0;--ct)R.push({node:Je[ct],shadow:null});if(be){let ct=we?we(Z):null;if(typeof ct==`string`&&nn(ct)===`template`){let Kt=Z.content;Cs(Kt)&&R.push({node:Kt,shadow:null})}}if(be){let ct=W(Z);Cs(ct)&&R.push({node:null,shadow:ct},{node:ct,shadow:null})}}};return e.sanitize=function(K){let x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},R=null,U=null,Z=null,be=null;if(pc=!K,pc&&(K=`<!-->`),typeof K!=`string`&&!ja(K)&&(K=q3(K),typeof K!=`string`))throw ar(`dirty is not a string, aborting`);if(!e.isSupported)return K;_e?(Pe=bt,ye=Ot):Tf(x),(Ee.uponSanitizeElement.length>0||Ee.uponSanitizeAttribute.length>0)&&(Pe=ci(Pe)),Ee.uponSanitizeAttribute.length>0&&(ye=ci(ye)),e.removed=[];let Je=Aa&&typeof K!=`string`&&ja(K);if(Je){eT(K);let pi=qe(K);if(typeof pi==`string`){let ei=nn(pi);if(!Pe[ei]||Et[ei])throw fc(K),ar(`root node is forbidden and cannot be sanitized in-place`)}if(gc(K))throw fc(K),ar(`root node is clobbered and cannot be sanitized in-place`);try{kf(K)}catch(ei){throw fc(K),ei}}else if(ja(K))R=Oy(`<!---->`),U=R.ownerDocument.importNode(K,!0),U.nodeType===li.element&&U.nodeName===`BODY`||U.nodeName===`HTML`?R=U:R.appendChild(U),kf(R);else{if(!Nn&&!z&&!ce&&K.indexOf(`<`)===-1)return Ke&&Ui?Te(K):K;if(R=Oy(K),!R)return Nn?null:Ui?vt:``}R&&ui&&No(R.firstChild);let ct=Je?K:R;try{let pi=Ay(ct);for(;Z=pi.nextNode();)Ly(Z,ct),jy(Z,ct),Cs(Z.content)&&_c(Z.content)}catch(pi){throw Je&&(fc(K),ms(e.removed,ei=>{ei.element&&mc(ei.element)})),pi}if(Je){let pi=!1;if(ms(e.removed,ei=>{ei.element&&(ei.element===K&&(pi=!0),mc(ei.element))}),pi)throw ar(`a node selected for removal could not be safely returned; refusing to sanitize in place`);return z&&Mf(K),K}if(Nn){if(z&&Mf(R),zi)for(be=Be.call(R.ownerDocument);R.firstChild;)be.appendChild(R.firstChild);else be=R;return(ye.shadowroot||ye.shadowrootmode)&&(be=en.call(i,be,!0)),be}let Kt=ce?R.outerHTML:R.innerHTML;return ce&&Pe[`!doctype`]&&R.ownerDocument&&R.ownerDocument.doctype&&R.ownerDocument.doctype.name&&Vn(iV,R.ownerDocument.doctype.name)&&(Kt=`<!DOCTYPE `+R.ownerDocument.doctype.name+`>
|
|
37
|
+
`+Kt),z&&(Kt=hc(Kt)),Ke&&Ui?Te(Kt):Kt},e.setConfig=function(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Tf(K),_e=!0,bt=Pe,Ot=ye},e.clearConfig=function(){xs=null,_e=!1,bt=null,Ot=null,Ke=Pt,vt=``},e.isValidAttribute=function(K,x,R){xs||Tf({});let U=nn(K),Z=nn(x);return Fy(U,Z,R)},e.addHook=function(K,x){typeof x==`function`&&Jn(Ee,K)&&Jl(Ee[K],x)},e.removeHook=function(K,x){if(Jn(Ee,K)){if(x!==void 0){let R=j3(Ee[K],x);return R===-1?void 0:B3(Ee[K],R,1)[0]}return KE(Ee[K])}},e.removeHooks=function(K){Jn(Ee,K)&&(Ee[K]=[])},e.removeAllHooks=function(){Ee=aS()},e}var pS=uS();function py(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ys=py();function wS(n){ys=n}var hs={exec:()=>null};function Ma(n){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),o=e[i];return o||(o=n(i),e[i]=o),o}}function Ge(n,e=``){let t=typeof n==`string`?n:n.source,i={replace:(o,r)=>{let s=typeof r==`string`?r:r.source;return s=s.replace(In.caret,`$1`),t=t.replace(o,s),i},getRegex:()=>new RegExp(t,e)};return i}var uV=((n=``)=>{try{return!!new RegExp(`(?<=1)(?<!1)`+n)}catch{return!1}})();var In={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Ma(n=>new RegExp(`^ {0,${n}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ma(n=>new RegExp(`^ {0,${n}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:Ma(n=>new RegExp(`^ {0,${n}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ma(n=>new RegExp(`^ {0,${n}}#`)),htmlBeginRegex:Ma(n=>new RegExp(`^ {0,${n}}(?:</?(?:${sc})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,`i`)),blockquoteBeginRegex:Ma(n=>new RegExp(`^ {0,${n}}>`))};var pV=/^(?:[ \t]*(?:\n|$))+/;var fV=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;var mV=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;var rc=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;var hV=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;var fy=/ {0,3}(?:[*+-]|\d{1,9}[.)])/;var ES=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;var SS=Ge(ES).replace(/bull/g,fy).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex();var gV=Ge(ES).replace(/bull/g,fy).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();var my=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/;var yV=/^[^\n]+/;var hy=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;var _V=Ge(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,hy).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();var vV=Ge(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,fy).getRegex();var sc=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`;var gy=/<!--(?:-?>|[\s\S]*?(?:-->|$))/;var bV=Ge(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,gy).replace(`tag`,sc).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();var DS=n=>Ge(my).replace(`hr`,rc).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,n).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,sc).getRegex();var xV=DS(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/);var CV=DS(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/);var yy={blockquote:Ge(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,CV).getRegex(),code:fV,def:_V,fences:mV,heading:hV,hr:rc,html:bV,lheading:SS,list:vV,newline:pV,paragraph:xV,table:hs,text:yV};var fS=Ge(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,rc).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,sc).getRegex();var EV=s(r({},yy),{lheading:gV,table:fS,paragraph:Ge(my).replace(`hr`,rc).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,fS).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,sc).getRegex()});var SV=s(r({},yy),{html:Ge(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,gy).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:hs,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ge(my).replace(`hr`,rc).replace(`heading`,` *#{1,6} *[^
|
|
38
|
+
]`).replace(`lheading`,SS).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()});var DV=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;var TV=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;var TS=/^( {2,}|\\)\n(?!\s*$)[ \t]*/;var MV=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;var Mo=/[\p{P}\p{S}]/u;var ka=/[\s\p{P}\p{S}]/u;var ac=/[^\s\p{P}\p{S}]/u;var kV=Ge(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,ka).getRegex();var IV=/[\p{Pi}\p{Ps}"']/u;var MS=/(?!~)[\p{P}\p{S}]/u;var NV=/(?!~)[\s\p{P}\p{S}]/u;var PV=/(?:[^\s\p{P}\p{S}]|~)/u;var OV=Ge(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,uV?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex();var kS=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/;var AV=Ge(kS,`u`).replace(/punct/g,Mo).getRegex();var RV=Ge(kS,`u`).replace(/punct/g,MS).getRegex();var FV=Ge(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,IV).replace(/punct/g,Mo).getRegex();var IS=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`;var VV=Ge(IS,`gu`).replace(/notPunctSpace/g,ac).replace(/punctSpace/g,ka).replace(/punct/g,Mo).getRegex();var jV=Ge(IS,`gu`).replace(/notPunctSpace/g,PV).replace(/punctSpace/g,NV).replace(/punct/g,MS).getRegex();var $V=Ge(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,ac).replace(/punctSpace/g,ka).replace(/punct/g,Mo).getRegex();var HV=Ge(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,ac).replace(/punctSpace/g,ka).replace(/punct/g,Mo).getRegex();var UV=Ge(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,ac).replace(/punctSpace/g,ka).replace(/punct/g,Mo).getRegex();var GV=Ge(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,Mo).getRegex();var WV=Ge(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,ac).replace(/punctSpace/g,ka).replace(/punct/g,Mo).getRegex();var YV=Ge(/\\(punct)/,`gu`).replace(/punct/g,Mo).getRegex();var KV=Ge(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();var ZV=Ge(gy).replace(`(?:-->|$)`,`-->`).getRegex();var QV=Ge(`^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,ZV).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();var NS=/\[(?:\\[\s\S]|[^\[\]\\])*\]/;var $p=Ge(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace(`brackets`,NS).getRegex();var XV=Ge(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,$p).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();var JV=Ge(/^!?\[(label)\]\[(ref)\]/).replace(`label`,$p).replace(`ref`,hy).getRegex();var ej=Ge(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,hy).getRegex();var mS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/;var tj=Ge(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace(`brackets`,NS).getRegex();var nj=Ge(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Ge(/^!?\[(label)\]\[(ref)\]/).replace(`label`,tj).replace(`ref`,mS).getRegex()).replace(`nolink`,Ge(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,mS).getRegex()).getRegex();var hS=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;var oj=Ge(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex();var _y={_backpedal:hs,anyPunctuation:YV,autolink:KV,blockSkip:OV,br:TS,code:TV,del:hs,delLDelim:hs,delRDelim:hs,emStrongLDelim:AV,emStrongRDelimAst:VV,emStrongRDelimUnd:HV,escape:DV,link:XV,nolink:ej,punctuation:kV,reflink:JV,reflinkSearch:nj,tag:QV,text:MV,url:hs};var rj=s(r({},_y),{emStrongLDelim:FV,emStrongRDelimAst:$V,emStrongRDelimUnd:UV,link:Ge(/^!?\[(label)\]\((.*?)\)/).replace(`label`,$p).getRegex(),reflink:Ge(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,$p).getRegex()});var cy=s(r({},_y),{emStrongRDelimAst:jV,emStrongLDelim:RV,delLDelim:GV,delRDelim:WV,url:Ge(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`emailProtocol`,oj).replace(`protocol`,hS).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ge(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace(`protocol`,hS).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()});var sj=s(r({},cy),{br:Ge(TS).replace(`{2,}`,`*`).getRegex(),text:Ge(cy.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()});var Bp={normal:yy,gfm:EV,pedantic:SV};var ic={normal:_y,gfm:cy,breaks:sj,pedantic:rj};var aj={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};var gS=n=>aj[n];function di(n,e){if(e){if(In.escapeTest.test(n))return n.replace(In.escapeReplace,gS)}else if(In.escapeTestNoEncode.test(n))return n.replace(In.escapeReplaceNoEncode,gS);return n}function lj(n){return n.replace(In.numericCharacterReference,(e,t,i)=>{let o=t===void 0?Number.parseInt(i,16):Number.parseInt(t,10);return o===0||o>1114111||o>=55296&&o<=57343?`�`:String.fromCodePoint(o)})}function yS(n){try{n=encodeURI(n).replace(In.percentDecode,`%`)}catch{return null}return n}function _S(n,e){let i=n.replace(In.findPipe,(r,s,a)=>{let l=!1,c=s;for(;--c>=0&&a[c]===`\\`;)l=!l;return l?`|`:` |`}).split(In.splitPipe),o=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push(``);for(;o<i.length;o++)i[o]=i[o].trim().replace(In.slashPipe,`|`);return i}function cr(n,e,t){let i=n.length;if(i===0)return``;let o=0;for(;o<i;){let r=n.charAt(i-o-1);if(r===e&&!t)o++;else if(r!==e&&t)o++;else break}return n.slice(0,i-o)}function vS(n){let e=n.split(`
|
|
39
|
+
`),t=e.length-1;for(;t>=0&&In.blankLine.test(e[t]);)t--;return e.length-t<=2?n:e.slice(0,t+1).join(`
|
|
40
|
+
`)}function Hp(n){return n.trim().toLowerCase().toUpperCase().toLowerCase()}function cj(n,e){if(n.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<n.length;i++)if(n[i]===`\\`)i++;else if(n[i]===e[0])t++;else if(n[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function bS(n,e=0){let t=e,i=``;for(let o of n)if(o===` `){let r=4-t%4;i+=` `.repeat(r),t+=r}else i+=o,t++;return i}function xS(n,e,t,i,o){let r=e.href,s=e.title||null,a=n[1].replace(o.other.outputLinkReplace,`$1`),l=n[0].charAt(0)===`!`;i.state.inLink=!0;let c=i.state.linkEmitted,p=i.state.inRawBlock;i.state.linkEmitted=!1;let m=i.inlineTokens(a),v=i.state.linkEmitted;if(i.state.linkEmitted=c,i.state.inLink=!1,!l){if(v){i.state.inRawBlock=p;return}i.state.linkEmitted=!0}return{type:l?`image`:`link`,raw:t,href:r,title:s,text:a,tokens:m}}function dj(n,e,t){let i=n.match(t.other.indentCodeCompensation);if(i===null)return e;let o=i[1];return e.split(`
|
|
41
|
+
`).map(r=>{let s=r.match(t.other.beginningSpace);if(s===null)return r;let[a]=s;return r.slice(Math.min(a.length,o.length))}).join(`
|
|
42
|
+
`)}function CS(n,e,t,i){if(!e.includes(`<`))return!1;for(let o=0;o<e.length;o++){if(e[o]===`\\`){o++;continue}if(e[o]==="`"){let a=i.inline.code.exec(e.slice(o));if(a){o+=a[0].length-1;continue}}if(e[o]!==`<`)continue;let r=n.slice(t+o),s=i.inline.tag.exec(r)||i.inline.autolink.exec(r);if(s){if(s[0].length>e.length-o)return!0;o+=s[0].length-1}}return!1}var zp=class{options;rules;lexer;constructor(n){this.options=n||ys}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:`space`,raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let t=this.options.pedantic?e[0]:vS(e[0]);return{type:`code`,raw:t,codeBlockStyle:`indented`,text:t.replace(this.rules.other.codeRemoveIndent,``)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let t=e[0],i=dj(t,e[3]||``,this.rules);return{type:`code`,raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):e[2],text:i}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=cr(t,`#`);(this.options.pedantic||!i||this.rules.other.endingSpaceTabChar.test(i))&&(t=i.trim())}return{type:`heading`,raw:cr(e[0],`
|
|
43
|
+
`),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:`hr`,raw:cr(e[0],`
|
|
44
|
+
`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let t=cr(e[0],`
|
|
45
|
+
`).split(`
|
|
46
|
+
`),i=``,o=``,r=[];for(;t.length>0;){let s=!1,a=[],l=0;for(;l<t.length;l++)if(this.rules.other.blockquoteStart.test(t[l]))a.push(t[l]),s=!0;else if(!s)a.push(t[l]);else break;t=t.slice(l);let c=a.join(`
|
|
47
|
+
`),p=c.replace(this.rules.other.blockquoteSetextReplace,`
|
|
48
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,``);i=i?`${i}
|
|
49
|
+
${c}`:c,o=o?`${o}
|
|
50
|
+
${p}`:p;let m=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,r,!0),this.lexer.state.top=m,t.length===0)break;let v=r.at(-1);if(v?.type===`code`)break;if(v?.type===`blockquote`){let b=v,k=t.join(`
|
|
51
|
+
`),O=b.raw+`
|
|
52
|
+
`+k.replace(this.rules.other.blockquoteSetextReplace2,``),M=this.blockquote(O);r[r.length-1]=M;let V=O.substring(M.raw.length).replace(/^\n/,``),W=V?V.split(`
|
|
53
|
+
`).length:0,pe=W?t.slice(0,-W):t;pe.length>0&&(i=`${i}
|
|
54
|
+
${pe.join(`
|
|
55
|
+
`)}`),o=o.substring(0,o.length-b.text.length)+M.text;break}else if(v?.type===`list`){let b=v,k=b.raw+`
|
|
56
|
+
`+t.join(`
|
|
57
|
+
`),O=this.list(k);r[r.length-1]=O,i=i.substring(0,i.length-v.raw.length)+O.raw,o=o.substring(0,o.length-b.raw.length)+O.raw,t=k.substring(r.at(-1).raw.length).split(`
|
|
58
|
+
`);continue}}return{type:`blockquote`,raw:i,tokens:r,text:o}}}list(n){let e=this.rules.block.list.exec(n);if(e){let t=e[1].trim(),i=t.length>1,o={type:`list`,raw:``,ordered:i,start:i?+t.slice(0,-1):``,loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:`[*+-]`);let r=this.rules.other.listItemRegex(t),s=!1;for(;n;){let l=!1,c=``,p=``;if(!(e=r.exec(n))||this.rules.block.hr.test(n))break;c=e[0],n=n.substring(c.length);let m=e[2].split(`
|
|
59
|
+
`,1)[0],v=e[1].length,b=this.options.pedantic?bS(m,v):m.replace(this.rules.other.leadingSpaceTab,V=>bS(V,v)),k=n.split(`
|
|
60
|
+
`,1)[0],O=!b.trim(),M=0;if(this.options.pedantic?(M=2,p=b.trimStart()):O?M=v+1:(M=b.search(this.rules.other.nonSpaceChar),M=M>4?1:M,p=b.slice(M),M+=v),O&&this.rules.other.blankLine.test(k)&&(c+=k+`
|
|
61
|
+
`,n=n.substring(k.length+1),l=!0),!l){let V=this.rules.other.nextBulletRegex(M),W=this.rules.other.hrRegex(M),pe=this.rules.other.fencesBeginRegex(M),me=this.rules.other.headingBeginRegex(M),we=this.rules.other.htmlBeginRegex(M),ve=this.rules.other.blockquoteBeginRegex(M);for(;n;){let st=n.split(`
|
|
62
|
+
`,1)[0],qe;if(k=st,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting,` `),qe=k):qe=k.replace(this.rules.other.leadingSpaceTab,Ke=>Ke.replace(this.rules.other.tabCharGlobal,` `)),pe.test(k)||me.test(k)||we.test(k)||ve.test(k)||V.test(k)||W.test(k))break;if(qe.search(this.rules.other.nonSpaceChar)>=M||!k.trim())p+=`
|
|
63
|
+
`+qe.slice(M);else{if(O||b.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||pe.test(b)||me.test(b)||W.test(b))break;p+=`
|
|
64
|
+
`+k}O=!k.trim(),c+=st+`
|
|
65
|
+
`,n=n.substring(st.length+1),b=qe.slice(M)}}o.loose||(s?o.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(s=!0)),o.items.push({type:`list_item`,raw:c,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),o.raw+=c}let a=o.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let l of o.items)if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),!o.loose){let c=l.tokens.filter(m=>m.type===`space`);o.loose=c.length>0&&c.some(m=>this.rules.other.anyLine.test(m.raw))}for(let l of o.items){let c=l.tokens[0];if(l.task&&(c?.type===`text`||c?.type===`paragraph`)){l.text=l.text.replace(this.rules.other.listReplaceTask,``),c.raw=c.raw.replace(this.rules.other.listReplaceTask,``),c.text=c.text.replace(this.rules.other.listReplaceTask,``);for(let m=this.lexer.inlineQueue.length-1;m>=0;m--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[m].src)){this.lexer.inlineQueue[m].src=this.lexer.inlineQueue[m].src.replace(this.rules.other.listReplaceTask,``);break}let p=this.rules.other.listTaskCheckbox.exec(l.raw);if(p){let m={type:`checkbox`,raw:p[0]+` `,checked:p[0]!==`[ ]`};l.checked=m.checked,o.loose?l.tokens[0]&&[`paragraph`,`text`].includes(l.tokens[0].type)&&`tokens`in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=m.raw+l.tokens[0].raw,l.tokens[0].text=m.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(m)):l.tokens.unshift({type:`paragraph`,raw:m.raw,text:m.raw,tokens:[m]}):l.tokens.unshift(m)}}else l.task&&(l.task=!1)}if(o.loose)for(let l of o.items){l.loose=!0;for(let c of l.tokens)c.type===`text`&&(c.type=`paragraph`)}return o}}html(n){let e=this.rules.block.html.exec(n);if(e){let t=vS(e[0]);return{type:`html`,block:!0,raw:t,pre:e[1]===`pre`||e[1]===`script`||e[1]===`style`,text:t}}}def(n){let e=this.rules.block.def.exec(n);if(e){let t=Hp(e[1]).replace(this.rules.other.multipleSpaceGlobal,` `),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,o=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):e[3];return{type:`def`,tag:t,raw:cr(e[0],`
|
|
66
|
+
`),href:i,title:o}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=_S(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,``).split(`|`),o=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
67
|
+
`):[],r={type:`table`,raw:cr(e[0],`
|
|
68
|
+
`),header:[],align:[],rows:[]};if(t.length===i.length){for(let s of i)this.rules.other.tableAlignRight.test(s)?r.align.push(`right`):this.rules.other.tableAlignCenter.test(s)?r.align.push(`center`):this.rules.other.tableAlignLeft.test(s)?r.align.push(`left`):r.align.push(null);for(let s=0;s<t.length;s++)r.header.push({text:t[s],tokens:this.lexer.inline(t[s]),header:!0,align:r.align[s]});for(let s of o)r.rows.push(_S(s,r.header.length).map((a,l)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:r.align[l]})));return r}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e){let t=e[1].trim();return{type:`heading`,raw:cr(e[0],`
|
|
69
|
+
`),depth:e[2].charAt(0)===`=`?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
70
|
+
`?e[1].slice(0,-1):e[1];return{type:`paragraph`,raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:`text`,raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:`escape`,raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let t=e[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&CS(n,e[1],t,this.rules))return;let i=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(i)){if(!this.rules.other.endAngleBracket.test(i))return;let s=cr(i.slice(0,-1),`\\`);if((i.length-s.length)%2===0)return}else{let s=cj(e[2],`()`);if(s===-2)return;if(s>-1){let a=(e[0].indexOf(`!`)===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,a).trim(),e[3]=``}}let o=e[2],r=``;if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(o);s&&(o=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):``;return o=o.trim(),this.rules.other.startAngleBracket.test(o)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(i)?o=o.slice(1):o=o.slice(1,-1)),xS(e,{href:o&&o.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},e[0],this.lexer,this.rules)}}reflink(n,e){let t;if((t=this.rules.inline.reflink.exec(n))||(t=this.rules.inline.nolink.exec(n))){let i=t[0].charAt(0)===`!`?2:1;if(!this.options.pedantic&&CS(n,t[1],i,this.rules))return;let r=e[Hp((t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal,` `))];if(!r){let s=t[0].charAt(0);return{type:`text`,raw:s,text:s}}return xS(t,r,t[0],this.lexer,this.rules)}}emStrong(n,e,t=``){let i=this.rules.inline.emStrongLDelim.exec(n);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let o=[...i[0]].length-1,r,s,a=o,l=0,c=i[0][0],p=t===c,m=c===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(m.lastIndex=0,e=e.slice(-1*n.length+o);(i=m.exec(e))!==null;){if(r=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!r)continue;if(s=[...r].length,i[3]||i[4]){a+=s;continue}else if(i[5]||i[6]){if(o%3&&!((o+s)%3)){l+=s;continue}if(p)break}if(a-=s,a>0)continue;s=Math.min(s,s+a+l);let v=[...i[0]][0].length,b=n.slice(0,o+i.index+v+s);if(Math.min(o,s)%2){let O=b.slice(1,-1);return{type:`em`,raw:b,text:O,tokens:this.lexer.inlineTokens(O)}}let k=b.slice(2,-2);return{type:`strong`,raw:b,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal,` `),i=this.rules.other.nonSpaceChar.test(t),o=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&o&&(t=t.substring(1,t.length-1)),{type:`codespan`,raw:e[0],text:t}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:`br`,raw:e[0]}}del(n,e,t=``){let i=this.rules.inline.delLDelim.exec(n);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let o=[...i[0]].length-1,r,s,a=o,l=this.rules.inline.delRDelim;for(l.lastIndex=0,e=e.slice(-1*n.length+o);(i=l.exec(e))!==null;){if(r=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!r||(s=[...r].length,s!==o))continue;if(i[3]||i[4]){a+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a);let c=[...i[0]][0].length,p=n.slice(0,o+i.index+c+s),m=p.slice(o,-o);return{type:`del`,raw:p,text:m,tokens:this.lexer.inlineTokens(m)}}}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let t,i;return e[2]===`@`?(t=e[1],i=`mailto:`+t):(t=e[1],i=t),{type:`link`,raw:e[0],text:t,href:i,autolink:!0,tokens:[{type:`text`,raw:t,text:t}]}}}url(n){let e;if(e=this.rules.inline.url.exec(n)){let t,i;if(e[2]===`@`)t=e[0],i=`mailto:`+t;else{let o;do o=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??``;while(o!==e[0]);t=e[0],e[1]===`www.`?i=`http://`+e[0]:i=e[0]}return{type:`link`,raw:e[0],text:t,href:i,autolink:!0,tokens:[{type:`text`,raw:t,text:t}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let t=this.lexer.state.inRawBlock;return{type:`text`,raw:e[0],text:t?e[0]:lj(e[0]),escaped:t}}}};var $i=class dy{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ys,this.options.tokenizer=this.options.tokenizer||new zp,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:In,block:Bp.normal,inline:ic.normal};this.options.pedantic?(t.block=Bp.pedantic,t.inline=ic.pedantic):this.options.gfm&&(t.block=Bp.gfm,this.options.breaks?t.inline=ic.breaks:t.inline=ic.gfm),this.tokenizer.rules=t}static get rules(){return{block:Bp,inline:ic}}static lex(e,t){return new dy(t).lex(e)}static lexInline(e,t){return new dy(t).inlineTokens(e)}lex(e){e=e.replace(In.carriageReturn,`
|
|
71
|
+
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(In.tabCharGlobal,` `).replace(In.spaceLine,``));let o=1/0;for(;e;){if(e.length<o)o=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let r;if(this.options.extensions?.block?.some(a=>(r=a.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let a=t.at(-1);r.raw.length===1&&a!==void 0?a.raw+=`
|
|
72
|
+
`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let a=t.at(-1);a?.type===`paragraph`||a?.type===`text`?(a.raw+=(a.raw.endsWith(`
|
|
73
|
+
`)?``:`
|
|
74
|
+
`)+r.raw,a.text+=`
|
|
75
|
+
`+r.text,this.inlineQueue.at(-1).src=a.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let a=t.at(-1);a?.type===`paragraph`||a?.type===`text`?(a.raw+=(a.raw.endsWith(`
|
|
76
|
+
`)?``:`
|
|
77
|
+
`)+r.raw,a.text+=`
|
|
78
|
+
`+r.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let s=e;if(this.options.extensions?.startBlock){let a=1/0,l=e.slice(1),c;this.options.extensions.startBlock.forEach(p=>{c=p.call({lexer:this},l),typeof c==`number`&&c>=0&&(a=Math.min(a,c))}),a<1/0&&a>=0&&(s=e.substring(0,a+1))}if(this.state.top&&(r=this.tokenizer.paragraph(s))){let a=t.at(-1);i&&a?.type===`paragraph`?(a.raw+=(a.raw.endsWith(`
|
|
79
|
+
`)?``:`
|
|
80
|
+
`)+r.raw,a.text+=`
|
|
81
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r),i=s.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let a=t.at(-1);a?.type===`text`?(a.raw+=(a.raw.endsWith(`
|
|
82
|
+
`)?``:`
|
|
83
|
+
`)+r.raw,a.text+=`
|
|
84
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let i of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(i[0])&&e.charAt(i.index-1)!==`!`)return!0;for(let i of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let o=i[0],r=o.lastIndexOf(`[`);if(!(o.charAt(0)===`!`||!Object.hasOwn(this.tokens.links,Hp(o.slice(r+1,-1))))&&!(r>1&&this.linkInText(o.slice(1,r-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let i=e;if(this.tokens.links&&e.includes(`[`)){let a=this.tokenizer.rules.inline.reflinkSearch,l=c=>{let p=c.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,Hp(c.slice(p+1,-1))))return c;if(p>1&&c.charAt(0)!==`!`){let m=c.slice(1,p-1);if(this.linkInText(m))return`[`+m.replace(a,l)+`][`+`a`.repeat(c.length-p-2)+`]`}return`[`+`a`.repeat(c.length-2)+`]`};i=i.replace(a,l)}i=i.replace(this.tokenizer.rules.inline.anyPunctuation,a=>`+`.repeat(a.length)),i=i.replace(this.tokenizer.rules.inline.blockSkip,(a,l,c)=>{let p=c?c.length:0;return a.slice(0,p)+`[`+`a`.repeat(a.length-p-2)+`]`}),i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let o=!1,r=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}o||(r=``),o=!1;let a;if(this.options.extensions?.inline?.some(c=>(a=c.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let c=t.at(-1);a.type===`text`&&c?.type===`text`?(c.raw+=a.raw,c.text+=a.text):t.push(a);continue}if(a=this.tokenizer.emStrong(e,i,r)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.del(e,i,r)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),t.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),t.push(a);continue}let l=e;if(this.options.extensions?.startInline){let c=1/0,p=e.slice(1),m;this.options.extensions.startInline.forEach(v=>{m=v.call({lexer:this},p),typeof m==`number`&&m>=0&&(c=Math.min(c,m))}),c<1/0&&c>=0&&(l=e.substring(0,c+1))}if(a=this.tokenizer.inlineText(l)){e=e.substring(a.raw.length),a.raw.slice(-1)!==`_`&&(r=a.raw.slice(-1)),o=!0;let c=t.at(-1);c?.type===`text`?(c.raw+=a.raw,c.text+=a.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw new Error(t)}};var Up=class{options;parser;constructor(n){this.options=n||ys}space(n){return``}code({text:n,lang:e,escaped:t}){let i=(e||``).match(In.notSpaceStart)?.[0],o=n?n.replace(In.endingNewline,``)+`
|
|
85
|
+
`:``;return i?`<pre><code class="language-`+di(i)+`">`+(t?o:di(o,!0))+`</code></pre>
|
|
86
|
+
`:`<pre><code>`+(t?o:di(o,!0))+`</code></pre>
|
|
87
|
+
`}blockquote({tokens:n}){return`<blockquote>
|
|
88
|
+
${this.parser.parse(n)}</blockquote>
|
|
89
|
+
`}html({text:n}){return n}def(n){return``}heading({tokens:n,depth:e}){return`<h${e}>${this.parser.parseInline(n)}</h${e}>
|
|
90
|
+
`}hr(n){return`<hr>
|
|
91
|
+
`}list(n){let e=n.ordered,t=n.start,i=``;for(let s=0;s<n.items.length;s++){let a=n.items[s];i+=this.listitem(a)}let o=e?`ol`:`ul`,r=e&&t!==1?` start="`+t+`"`:``;return`<`+o+r+`>
|
|
92
|
+
`+i+`</`+o+`>
|
|
93
|
+
`}listitem(n){return`<li>${this.parser.parse(n.tokens)}</li>
|
|
94
|
+
`}checkbox({checked:n}){return`<input `+(n?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>
|
|
95
|
+
`}table(n){let e=``,t=``;for(let o=0;o<n.header.length;o++)t+=this.tablecell(n.header[o]);e+=this.tablerow({text:t});let i=``;for(let o=0;o<n.rows.length;o++){let r=n.rows[o];t=``;for(let s=0;s<r.length;s++)t+=this.tablecell(r[s]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
96
|
+
<thead>
|
|
97
|
+
`+e+`</thead>
|
|
98
|
+
`+i+`</table>
|
|
99
|
+
`}tablerow({text:n}){return`<tr>
|
|
100
|
+
${n}</tr>
|
|
101
|
+
`}tablecell(n){let e=this.parser.parseInline(n.tokens),t=n.header?`th`:`td`;return(n.align?`<${t} align="${n.align}">`:`<${t}>`)+e+`</${t}>
|
|
102
|
+
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${di(n,!0)}</code>`}br(n){return`<br>`}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,text:t,tokens:i,autolink:o}){let r=o?di(t,!0):this.parser.parseInline(i),s=yS(n);if(s===null)return r;n=di(s,o);let a=`<a href="`+n+`"`;return e&&(a+=` title="`+di(e)+`"`),a+=`>`+r+`</a>`,a}image({href:n,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let o=yS(n);if(o===null)return di(t);n=o;let r=`<img src="${di(n)}" alt="${di(t)}"`;return e&&(r+=` title="${di(e)}"`),r+=`>`,r}text(n){return`tokens`in n&&n.tokens?this.parser.parseInline(n.tokens):`escaped`in n&&n.escaped?n.text:di(n.text)}};var vy=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return``+n}image({text:n}){return``+n}br(){return``}checkbox({raw:n}){return n}};var Hi=class uy{options;renderer;textRenderer;constructor(e){this.options=e||ys,this.options.renderer=this.options.renderer||new Up,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new vy}static parse(e,t){return new uy(t).parse(e)}static parseInline(e,t){return new uy(t).parseInline(e)}parse(e){this.renderer.parser=this;let t=``;for(let i=0;i<e.length;i++){let o=e[i];if(this.options.extensions?.renderers?.[o.type]){let s=o,a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(s.type)){t+=a||``;continue}}let r=o;switch(r.type){case`space`:t+=this.renderer.space(r);break;case`hr`:t+=this.renderer.hr(r);break;case`heading`:t+=this.renderer.heading(r);break;case`code`:t+=this.renderer.code(r);break;case`table`:t+=this.renderer.table(r);break;case`blockquote`:t+=this.renderer.blockquote(r);break;case`list`:t+=this.renderer.list(r);break;case`checkbox`:t+=this.renderer.checkbox(r);break;case`html`:t+=this.renderer.html(r);break;case`def`:t+=this.renderer.def(r);break;case`paragraph`:t+=this.renderer.paragraph(r);break;case`text`:t+=this.renderer.text(r);break;default:{let s=`Token with "`+r.type+`" type was not found.`;if(this.options.silent)return console.error(s),``;throw new Error(s)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let i=``;for(let o=0;o<e.length;o++){let r=e[o];if(this.options.extensions?.renderers?.[r.type]){let a=this.options.extensions.renderers[r.type].call({parser:this},r);if(a!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(r.type)){i+=a||``;continue}}let s=r;switch(s.type){case`escape`:i+=t.text(s);break;case`html`:i+=t.html(s);break;case`link`:i+=t.link(s);break;case`image`:i+=t.image(s);break;case`checkbox`:i+=t.checkbox(s);break;case`strong`:i+=t.strong(s);break;case`em`:i+=t.em(s);break;case`codespan`:i+=t.codespan(s);break;case`br`:i+=t.br(s);break;case`del`:i+=t.del(s);break;case`text`:i+=t.text(s);break;default:{let a=`Token with "`+s.type+`" type was not found.`;if(this.options.silent)return console.error(a),``;throw new Error(a)}}}return i}};var oc=class{options;block;constructor(n){this.options=n||ys}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(n=this.block){return n?$i.lex:$i.lexInline}provideParser(n=this.block){return n?Hi.parse:Hi.parseInline}};var Gp=class{defaults=py();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Hi;Renderer=Up;TextRenderer=vy;Lexer=$i;Tokenizer=zp;Hooks=oc;constructor(...n){this.use(...n)}walkTokens(n,e){let t=[];for(let i of n)switch(t=t.concat(e.call(this,i)),i.type){case`table`:{let o=i;for(let r of o.header)t=t.concat(this.walkTokens(r.tokens,e));for(let r of o.rows)for(let s of r)t=t.concat(this.walkTokens(s.tokens,e));break}case`list`:{let o=i;t=t.concat(this.walkTokens(o.items,e));break}default:{let o=i;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let s=o[r].flat(1/0);t=t.concat(this.walkTokens(s,e))}):o.tokens&&(t=t.concat(this.walkTokens(o.tokens,e)))}}return t}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{let i=r({},t);if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(o=>{if(!o.name)throw new Error(`extension name required`);if(`renderer`in o){let r=e.renderers[o.name];r?e.renderers[o.name]=function(...s){let a=o.renderer.apply(this,s);return a===!1&&(a=r.apply(this,s)),a}:e.renderers[o.name]=o.renderer}if(`tokenizer`in o){if(!o.level||o.level!==`block`&&o.level!==`inline`)throw new Error(`extension level must be 'block' or 'inline'`);let r=e[o.level];r?r.unshift(o.tokenizer):e[o.level]=[o.tokenizer],o.start&&(o.level===`block`?e.startBlock?e.startBlock.push(o.start):e.startBlock=[o.start]:o.level===`inline`&&(e.startInline?e.startInline.push(o.start):e.startInline=[o.start]))}`childTokens`in o&&o.childTokens&&(e.childTokens[o.name]=o.childTokens)}),i.extensions=e),t.renderer){let o=this.defaults.renderer||new Up(this.defaults);for(let r in t.renderer){if(!(r in o))throw new Error(`renderer '${r}' does not exist`);if([`options`,`parser`].includes(r))continue;let s=r,a=t.renderer[s],l=o[s];o[s]=(...c)=>{let p=a.apply(o,c);return p===!1&&(p=l.apply(o,c)),p||``}}i.renderer=o}if(t.tokenizer){let o=this.defaults.tokenizer||new zp(this.defaults);for(let r in t.tokenizer){if(!(r in o))throw new Error(`tokenizer '${r}' does not exist`);if([`options`,`rules`,`lexer`].includes(r))continue;let s=r,a=t.tokenizer[s],l=o[s];o[s]=(...c)=>{let p=a.apply(o,c);return p===!1&&(p=l.apply(o,c)),p}}i.tokenizer=o}if(t.hooks){let o=this.defaults.hooks||new oc;for(let r in t.hooks){if(!(r in o))throw new Error(`hook '${r}' does not exist`);if([`options`,`block`].includes(r))continue;let s=r,a=t.hooks[s],l=o[s];oc.passThroughHooks.has(r)?o[s]=c=>{if(this.defaults.async&&oc.passThroughHooksRespectAsync.has(r))return(async()=>{let m=await a.call(o,c);return l.call(o,m)})();let p=a.call(o,c);return l.call(o,p)}:o[s]=(...c)=>{if(this.defaults.async)return(async()=>{let m=await a.apply(o,c);return m===!1&&(m=await l.apply(o,c)),m})();let p=a.apply(o,c);return p===!1&&(p=l.apply(o,c)),p}}i.hooks=o}if(t.walkTokens){let o=this.defaults.walkTokens,r=t.walkTokens;i.walkTokens=function(s){let a=[];return a.push(r.call(this,s)),o&&(a=a.concat(o.call(this,s))),a}}this.defaults=r(r({},this.defaults),i)}),this}setOptions(n){return this.defaults=r(r({},this.defaults),n),this}lexer(n,e){return $i.lex(n,e??this.defaults)}parser(n,e){return Hi.parse(n,e??this.defaults)}parseMarkdown(n){return(e,t)=>{let i=r({},t),o=r(r({},this.defaults),i),r$24=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&i.async===!1)return r$24(new Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof e>`u`||e===null)return r$24(new Error(`marked(): input parameter is undefined or null`));if(typeof e!=`string`)return r$24(new Error(`marked(): input parameter is of type `+Object.prototype.toString.call(e)+`, string expected`));if(o.hooks&&(o.hooks.options=o,o.hooks.block=n),o.async)return(async()=>{let s=o.hooks?await o.hooks.preprocess(e):e,a=await(o.hooks?await o.hooks.provideLexer(n):n?$i.lex:$i.lexInline)(s,o),l=o.hooks?await o.hooks.processAllTokens(a):a;o.walkTokens&&await Promise.all(this.walkTokens(l,o.walkTokens));let c=await(o.hooks?await o.hooks.provideParser(n):n?Hi.parse:Hi.parseInline)(l,o);return o.hooks?await o.hooks.postprocess(c):c})().catch(r$24);try{o.hooks&&(e=o.hooks.preprocess(e));let s=(o.hooks?o.hooks.provideLexer(n):n?$i.lex:$i.lexInline)(e,o);o.hooks&&(s=o.hooks.processAllTokens(s)),o.walkTokens&&this.walkTokens(s,o.walkTokens);let a=(o.hooks?o.hooks.provideParser(n):n?Hi.parse:Hi.parseInline)(s,o);return o.hooks&&(a=o.hooks.postprocess(a)),a}catch(s){return r$24(s)}}}onError(n,e){return t=>{if(t.message+=`
|
|
103
|
+
Please report this to https://github.com/markedjs/marked.`,n){let i=`<p>An error occurred:</p><pre>`+di(t.message+``,!0)+`</pre>`;return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}};var gs=new Gp;function Nt(n,e){return gs.parse(n,e)}Nt.options=Nt.setOptions=function(n){return gs.setOptions(n),Nt.defaults=gs.defaults,wS(Nt.defaults),Nt};Nt.getDefaults=py;Nt.defaults=ys;function uj(...n){return gs.use(...n),Nt.defaults=gs.defaults,wS(Nt.defaults),Nt}Nt.use=uj;Nt.walkTokens=function(n,e){return gs.walkTokens(n,e)};Nt.parseInline=gs.parseInline;Nt.Parser=Hi;Nt.parser=Hi.parse;Nt.Renderer=Up;Nt.TextRenderer=vy;Nt.Lexer=$i;Nt.lexer=$i.lex;Nt.Tokenizer=zp;Nt.Hooks=oc;Nt.parse=Nt;Nt.options;Nt.setOptions;Nt.walkTokens;Nt.parseInline;Hi.parse;$i.lex;var AS=`(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:com|org|net|edu|gov|io|ai|dev|app|co|me|info|biz|xyz|online|site|tech|store|blog|cloud|sh|gg|tv|fm|cc|to|so|id|my|sg|us|uk|de|fr|nl|ru|br|in|au|ca|jp|cn|kr|it|es|se|no|fi|dk|pl|ch|at|be|cz|gr|pt|ro|tr|ua|news|page|link|tools|wiki|zone|world|today|life|media|agency|digital|design|software|systems|network|email|group|team|works|space|fun|games|shop|market|press|host|web|art)(?::\\d+)?(?:\\/[^\\s<>"]*)?`;var fj=new RegExp(`^(${AS})`,`i`);var PS=new RegExp(`(^|[^\\w@/.-])(${AS})`,`gi`);function RS(){return{name:`bareAutolink`,level:`inline`,start(n){PS.lastIndex=0;let e=PS.exec(n);return e?e.index+e[1].length:void 0},tokenizer(n){let e=fj.exec(n);if(!e)return;let t=mj(e[1]);if(t.length!==0)return{type:`bareAutolink`,raw:t,href:`https://${t}`,text:t}},renderer(n){let e=String(n.text??``);return`<a href="${OS(String(n.href??``))}" target="_blank" rel="noreferrer noopener">${OS(e)}</a>`}}}function mj(n){let e=n;for(;;){let t=e.slice(-1);if(!`.,;:!?)]`.includes(t)||t===`)`&&qp(e,`)`)<=qp(e,`(`)||t===`]`&&qp(e,`]`)<=qp(e,`[`))return e;e=e.slice(0,-1)}}function qp(n,e){let t=0;for(let i of n)i===e&&(t+=1);return t}function OS(n){return n.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function LS(){return{code({text:n,lang:e}){let{html:t,language:i}=Ea(n,e??void 0);return`<div class="code"><div class="code-head"><span class="code-lang">${i}</span><button type="button" class="copy" data-copy>Copy</button></div><pre><code class="hljs">${t}</code></pre></div>`},link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t);return`<a href="${n.replace(/"/g,`"`)}"${e?` title="${e.replace(/"/g,`"`)}"`:``} target="_blank" rel="noreferrer noopener">${i}</a>`}}}var FS=new Gp({gfm:!0,breaks:!1});FS.use({renderer:LS(),extensions:[RS()]});var VS=new Gp({gfm:!0,breaks:!0});VS.use({renderer:LS(),extensions:[RS()]});var hj=new Map;var gj=new Map;var yj=200;function _j(n){return pS.sanitize(n,{USE_PROFILES:{html:!0},FORBID_TAGS:[`style`,`form`,`input`,`iframe`],ADD_ATTR:[`target`,`rel`,`data-copy`,`data-mention-path`,`data-mention-start`,`data-mention-end`]})}function jS(n,e,t){let i=n.get(t);if(i!==void 0)return i;let o=_j(e.parse(t,{async:!1}));if(n.size>=yj){let r=n.keys().next().value;r!==void 0&&n.delete(r)}return n.set(t,o),o}function BS(n){return jS(hj,FS,n)}function $S(n){return jS(gj,VS,n)}var vj=90;var Wp=class n{text=se.required();variant=se(`assistant`);mention=je();sanitizer=w(Il);painted=N(null);pending;timer;html=C(()=>{let e=this.painted()??this.text();return this.sanitizer.bypassSecurityTrustHtml(this.variant()===`user`?$S(e):BS(e))});constructor(){ne(()=>{let e=this.text(),t=zn(()=>this.painted());if(t===null){this.painted.set(e);return}t===e||this.pending===e||(this.pending=e,this.schedule())}),w(He).onDestroy(()=>this.cancel())}schedule(){this.timer??=setTimeout(()=>{this.timer=void 0;let e=this.pending;this.pending=void 0,e!==void 0&&this.painted.set(e)},vj)}cancel(){clearTimeout(this.timer),this.timer=void 0}onClick(e){let t=e.target,i=t?.closest(`[data-mention-path]`)?.getAttribute(`data-mention-path`);if(i){this.mention.emit(i);return}let o=t?.closest(`button[data-copy]`);if(!(o instanceof HTMLButtonElement))return;let s=o.closest(`.code`)?.querySelector(`code`)?.textContent??``;navigator.clipboard?.writeText(s);let a=o.textContent;o.textContent=`Copied`,setTimeout(()=>{o.textContent=a??`Copy`},1200)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-markdown`]],inputs:{text:[1,`text`],variant:[1,`variant`]},outputs:{mention:`mention`},decls:1,vars:1,consts:[[1,`md`,3,`click`,`innerHTML`]],template:function(t,i){t&1&&(g(0,`div`,0),F(`click`,function(r){return i.onClick(r)}),_()),t&2&&te(`innerHTML`,i.html(),qo)},styles:[`[_nghost-%COMP%]{display:block}`]})};function ko(n){let e=n.toLowerCase();return e.includes(`edit`)||e.includes(`write`)||e.includes(`patch`)?`edit`:e.includes(`read`)?`read`:e.includes(`search`)||e.includes(`grep`)||e.includes(`find`)?`search`:e.includes(`bash`)||e.includes(`shell`)||e.includes(`exec`)?`shell`:`other`}function HS(n){switch(ko(n.name)){case`edit`:return`Edit`;case`read`:return`Read`;case`search`:return`Search`;case`shell`:return`Run`;default:return n.name}}function zS(n){switch(ko(n.name)){case`edit`:return`Editing`;case`read`:return`Reading`;case`search`:return`Searching`;case`shell`:return`Running`;default:return n.name}}function US(n){switch(ko(n.name)){case`edit`:return`✎`;case`search`:return`⌕`;case`shell`:return`❯`;default:return`☰`}}function Ia(n){return n.title.startsWith(`${n.name}: `)?n.title.slice(n.name.length+2):n.title}function Yp(n){let e=n.replace(/[\\/]+$/,``),t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?e:e.slice(t+1)}function GS(n){if(ko(n.name)!==`edit`)return null;let e=Ia(n);return e.length>0&&e!==n.name?e:null}var bj=[`list`];var qS=(n,e)=>e.key;function xj(n,e){n&1&&ee(0,`span`,4)}function Cj(n,e){if(n&1&&u(0),n&2)ie(` `,f().state()===`error`?`✗`:`✓`,` `)}function wj(n,e){n&1&&(h(0,`span`,5),ee(1,`i`)(2,`i`)(3,`i`),y())}function Ej(n,e){n&1&&ee(0,`span`,4)}function Sj(n,e){n&1&&(h(0,`span`,12),u(1,`✗`),y())}function Dj(n,e){n&1&&(h(0,`span`,13),u(1,`✓`),y())}function Tj(n,e){if(n&1&&(h(0,`span`,22),u(1),y()),n&2){let t=f();d(),ie(`+`,t.added)}}function Mj(n,e){if(n&1&&(h(0,`span`,23),u(1),y()),n&2){let t=f();d(),ie(`−`,t.removed)}}function kj(n,e){if(n&1&&(h(0,`span`,17),E(1,Tj,2,1,`span`,22),E(2,Mj,2,1,`span`,23),y()),n&2){let t=e;d(),S(t.added>0?1:-1),d(),S(t.removed>0?2:-1)}}function Ij(n,e){n&1&&(h(0,`span`,5),ee(1,`i`)(2,`i`)(3,`i`),y())}function Nj(n,e){n&1&&(h(0,`span`,19),u(1),y()),n&2&&(d(),I(e))}function Pj(n,e){if(n&1&&(h(0,`ul`,20)(1,`li`,24),De(),h(2,`svg`,25),ee(3,`path`,26)(4,`path`,27),y(),kt(),h(5,`span`,28),u(6),y()()()),n&2){let t=e,i=f(4);d(5),j(`title`,t),d(),I(i.basename(t))}}function Oj(n,e){if(n&1&&(h(0,`span`,29),u(1,`input`),y(),h(2,`pre`),u(3),y()),n&2){let t=f(3).$implicit;d(3),I(t.item.input)}}function Aj(n,e){if(n&1&&(h(0,`span`,29),u(1,`output`),y(),h(2,`pre`),u(3),y()),n&2){let t=f(3).$implicit;d(3),I(t.item.output)}}function Rj(n,e){n&1&&(h(0,`span`,29),u(1,`no details reported`),y())}function Lj(n,e){if(n&1&&(h(0,`div`,21),E(1,Oj,4,1),E(2,Aj,4,1),E(3,Rj,2,0,`span`,29),y()),n&2){let t=f(2).$implicit;Y(`data-body`,t.key),d(),S(t.item.input?1:-1),d(),S(t.item.output?2:-1),d(),S(!t.item.input&&!t.item.output?3:-1)}}function Fj(n,e){if(n&1){let t=L();h(0,`button`,10),A(`click`,function(){D(t);let o=f().$implicit;return T(f(2).toggleStep(o.key))}),h(1,`span`,11),E(2,Ej,1,0,`span`,4)(3,Sj,2,0,`span`,12)(4,Dj,2,0,`span`,13),y(),h(5,`span`,14),u(6),y(),h(7,`span`,15),u(8),y(),h(9,`span`,16),u(10),y(),E(11,kj,3,2,`span`,17),ee(12,`span`,18),E(13,Ij,4,0,`span`,5),E(14,Nj,2,1,`span`,19),h(15,`span`,6),u(16,`›`),y()(),E(17,Pj,7,2,`ul`,20),E(18,Lj,4,4,`div`,21)}if(n&2){let t,i,o,r=f().$implicit,s=f(2);Y(`aria-expanded`,s.isStepOpen(r.key)),d(),sn(r.item.status),d(),S(r.item.status===`running`?2:r.item.status===`error`?3:4),d(3),sn(s.glyphClass(r.item)),d(),I(s.glyph(r.item)),d(2),I(s.verb(r.item)),d(),j(`title`,r.item.title),d(),I(s.compactTarget(r.item)),d(),S((t=s.diff(r.item))?11:-1,t),d(2),S(r.item.status===`running`?13:-1),d(),S((i=s.elapsed(r.item))?14:-1,i),d(),q(`open`,s.isStepOpen(r.key)),d(2),S((o=s.fileOf(r.item))?17:-1,o),d(),S(s.isStepOpen(r.key)?18:-1)}}function Vj(n,e){if(n&1&&(h(0,`div`,21)(1,`pre`),u(2),y()()),n&2){let t=f(2).$implicit;Y(`data-body`,t.key),d(2),I(t.item.thinking)}}function jj(n,e){if(n&1){let t=L();h(0,`button`,10),A(`click`,function(){D(t);let o=f().$implicit;return T(f(2).toggleStep(o.key))}),h(1,`span`,30),u(2,`✻`),y(),h(3,`span`,15),u(4,`Thinking`),y(),h(5,`span`,31),u(6),y(),ee(7,`span`,18),h(8,`span`,6),u(9,`›`),y()(),E(10,Vj,3,2,`div`,21)}if(n&2){let t=f().$implicit,i=f(2);Y(`aria-expanded`,i.isStepOpen(t.key)),d(),q(`live`,i.isThoughtLive(t.key)),d(5),I(i.preview(t.item.thinking)),d(2),q(`open`,i.isStepOpen(t.key)),d(2),S(i.isStepOpen(t.key)?10:-1)}}function Bj(n,e){if(n&1&&(h(0,`li`,9),E(1,Fj,19,17)(2,jj,11,7),y()),n&2){let t=e.$implicit;d(),S(t.kind===`tool`?1:2)}}function $j(n,e){if(n&1&&(h(0,`ul`,7),X(1,Bj,3,1,`li`,9,qS),y()),n&2){let t=f();d(),J(t.compactSteps())}}function Hj(n,e){n&1&&ee(0,`span`,4)}function zj(n,e){n&1&&(h(0,`span`,12),u(1,`✗`),y())}function Uj(n,e){n&1&&(h(0,`span`,13),u(1,`✓`),y())}function Gj(n,e){if(n&1&&(h(0,`span`,22),u(1),y()),n&2){let t=f();d(),ie(`+`,t.added)}}function qj(n,e){if(n&1&&(h(0,`span`,23),u(1),y()),n&2){let t=f();d(),ie(`−`,t.removed)}}function Wj(n,e){if(n&1&&(h(0,`span`,17),E(1,Gj,2,1,`span`,22),E(2,qj,2,1,`span`,23),y()),n&2){let t=e;d(),S(t.added>0?1:-1),d(),S(t.removed>0?2:-1)}}function Yj(n,e){n&1&&(h(0,`span`,5),ee(1,`i`)(2,`i`)(3,`i`),y())}function Kj(n,e){n&1&&(h(0,`span`,19),u(1),y()),n&2&&(d(),I(e))}function Zj(n,e){if(n&1&&(h(0,`span`,29),u(1,`input`),y(),h(2,`pre`),u(3),y()),n&2){let t=f(3).$implicit;d(3),I(t.item.input)}}function Qj(n,e){if(n&1&&(h(0,`span`,29),u(1,`output`),y(),h(2,`pre`),u(3),y()),n&2){let t=f(3).$implicit;d(3),I(t.item.output)}}function Xj(n,e){n&1&&(h(0,`span`,29),u(1,`no details reported`),y())}function Jj(n,e){if(n&1&&(h(0,`div`,21),E(1,Zj,4,1),E(2,Qj,4,1),E(3,Xj,2,0,`span`,29),y()),n&2){let t=f(2).$implicit;Y(`data-body`,t.key),d(),S(t.item.input?1:-1),d(),S(t.item.output?2:-1),d(),S(!t.item.input&&!t.item.output?3:-1)}}function eB(n,e){if(n&1){let t=L();h(0,`div`,35)(1,`button`,36),A(`click`,function(){D(t);let o=f().$implicit;return T(f(2).toggleStep(o.key))}),h(2,`span`,11),E(3,Hj,1,0,`span`,4)(4,zj,2,0,`span`,12)(5,Uj,2,0,`span`,13),y(),h(6,`span`,14),u(7),y(),h(8,`span`,37),u(9),y(),h(10,`span`,38)(11,`span`,39),u(12),y(),h(13,`span`,40),u(14),y()(),E(15,Wj,3,2,`span`,17),ee(16,`span`,18),E(17,Yj,4,0,`span`,5),E(18,Kj,2,1,`span`,19),h(19,`span`,6),u(20,`›`),y()(),E(21,Jj,4,4,`div`,21),y()}if(n&2){let t,i,o=f().$implicit,r=f(2);q(`running`,o.item.status===`running`)(`failed`,o.item.status===`error`),d(),Y(`aria-expanded`,r.isStepOpen(o.key)),d(),sn(o.item.status),d(),S(o.item.status===`running`?3:o.item.status===`error`?4:5),d(3),sn(r.glyphClass(o.item)),d(),I(r.glyph(o.item)),d(2),I(o.item.name),d(),j(`title`,o.item.title),d(2),I(r.target(o.item).dir),d(2),I(r.target(o.item).base),d(),S((t=r.diff(o.item))?15:-1,t),d(2),S(o.item.status===`running`?17:-1),d(),S((i=r.elapsed(o.item))?18:-1,i),d(),q(`open`,r.isStepOpen(o.key)),d(2),S(r.isStepOpen(o.key)?21:-1)}}function tB(n,e){if(n&1&&(h(0,`div`,21)(1,`pre`),u(2),y()()),n&2){let t=f(2).$implicit;Y(`data-body`,t.key),d(2),I(t.item.thinking)}}function nB(n,e){if(n&1){let t=L();h(0,`div`,34)(1,`button`,36),A(`click`,function(){D(t);let o=f().$implicit;return T(f(2).toggleStep(o.key))}),h(2,`span`,11)(3,`span`,41),u(4,`✻`),y()(),h(5,`span`,42),u(6,`thinking`),y(),h(7,`span`,43),u(8),y(),h(9,`span`,6),u(10,`›`),y()(),E(11,tB,3,2,`div`,21),y()}if(n&2){let t=f().$implicit,i=f(2);d(),Y(`aria-expanded`,i.isStepOpen(t.key)),d(2),q(`live`,i.isThoughtLive(t.key)),d(5),I(i.preview(t.item.thinking)),d(),q(`open`,i.isStepOpen(t.key)),d(2),S(i.isStepOpen(t.key)?11:-1)}}function iB(n,e){if(n&1&&(h(0,`li`,32),E(1,eB,22,21,`div`,33)(2,nB,12,7,`div`,34),y()),n&2){let t,i=e.$implicit,o=e.$index;j(`morseEnter`,o)(`morseEnterY`,6),d(),S((t=i.kind)===`tool`?1:t===`thinking`?2:-1)}}function oB(n,e){if(n&1&&(h(0,`ul`,8,0),X(2,iB,3,3,`li`,32,qS),y()),n&2){let t=f();d(2),J(t.steps())}}var Zp=class n{steps=se.required();working=se(!1);animation=w(En);display=w(sr);host=w(St);list=Ue(`list`);openSteps=N({});override=N(null);tick=N(0);tools=C(()=>this.steps().filter(e=>e.kind===`tool`));thoughts=C(()=>this.steps().filter(e=>e.kind===`thinking`).length);running=C(()=>this.tools().some(e=>e.item.status===`running`));failed=C(()=>this.tools().some(e=>e.item.status===`error`));compact=C(()=>this.display.toolDisplay()===`compact`);compactSteps=C(()=>{let e=this.steps();if(this.isOpen())return e;let t=e.at(-1);return t===void 0?[]:[t]});autoOpen=C(()=>this.compact()?!1:this.working()||this.running());isOpen=C(()=>this.override()??this.autoOpen());liveThoughtKeys=C(()=>{let e=new Set;for(let t of this.steps())t.kind===`thinking`&&t.item.streaming&&t.item.text.trim().length===0&&e.add(t.key);return e});state=C(()=>this.running()?`running`:this.failed()?`error`:`ok`);summary=C(()=>{let e=this.tools().length,t=this.thoughts(),i=e===1?`action`:`actions`,o=t>0?` \xB7 ${t} ${t===1?`thought`:`thoughts`}`:``,r=this.totalMs();return this.running()?r>0?`Working for ${Kp(r)} \xB7 ${e} ${i}${o}`:`Working\u2026 \xB7 ${e} ${i}${o}`:r>0?`Worked for ${Kp(r)} \xB7 ${e} ${i}${o}`:`${e} ${i}${o}`});constructor(){ne(t=>{if(!this.running())return;let i=setInterval(()=>this.tick.update(o=>o+1),500);t(()=>clearInterval(i))}),ne(()=>{this.autoOpen(),this.override.set(null)}),ne(t=>{let i=this.liveThoughtKeys();if(i.size===0)return;let o=setTimeout(()=>{let r=Array.from(this.host.nativeElement.querySelectorAll(`[data-body]`));for(let s of r){if(!i.has(s.dataset.body??``))continue;let a=s.querySelector(`pre`);a&&(a.scrollTop=a.scrollHeight)}},0);t(()=>clearTimeout(o))});let e=!1;ne(t=>{let i=this.isOpen(),o=e;e=!0;let r=setTimeout(()=>{this.animation.reveal(this.list()?.nativeElement??null,i,{animate:o})},0);t(()=>clearTimeout(r))})}toggle(){this.override.set(!this.isOpen())}toggleStep(e){let t=!this.isStepOpen(e);this.openSteps.update(i=>s(r({},i),{[e]:t})),setTimeout(()=>{let i=this.host.nativeElement.querySelector(`[data-body="${CSS.escape(e)}"]`);i&&this.animation.reveal(i,t,{animate:!0})},0)}isStepOpen(e){return this.openSteps()[e]??this.liveThoughtKeys().has(e)}isThoughtLive(e){return this.liveThoughtKeys().has(e)}preview(e){let t=e.replace(/\s+/g,` `).trim();return t.length>160?`${t.slice(0,160)}\u2026`:t}elapsed(e){if(e.status===`running`){this.tick();let t=Date.now()-e.at;return t>0?Kp(t):``}return e.durationMs===void 0?``:Kp(e.durationMs)}target(e){let t=Ia(e),i=t.lastIndexOf(`/`);return i===-1?{dir:``,base:t}:{dir:t.slice(0,i+1),base:t.slice(i+1)}}diff(e){let t=`${e.title}
|
|
104
|
+
${e.output??``}`,i=/\+(\d+)\s*[-−](\d+)/.exec(t);if(i)return{added:Number(i[1]),removed:Number(i[2])};let o=/(\d+)\s+insertions?\(\+\)/.exec(t)?.[1],r=/(\d+)\s+deletions?\([-−]\)/.exec(t)?.[1];return o===void 0&&r===void 0?null:{added:Number(o??0),removed:Number(r??0)}}glyphClass(e){let t=ko(e.name);return t===`other`?`read`:t}verb(e){return HS(e)}compactTarget(e){if(ko(e.name)!==`shell`)return this.target(e).base;let t=Ia(e).replace(/\s+/g,` `).trim();return t.length>80?`${t.slice(0,80)}\u2026`:t}fileOf(e){return GS(e)}basename(e){return Yp(e)}glyph(e){return US(e)}totalMs(){return this.tools().reduce((e,t)=>t.item.status===`running`?(this.tick(),e+Math.max(0,Date.now()-t.item.at)):e+(t.item.durationMs??0),0)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-tool-group`]],viewQuery:function(t,i){t&1&&nt(i.list,bj,5),t&2&&ot()},inputs:{steps:[1,`steps`],working:[1,`working`]},decls:12,vars:11,consts:[[`list`,``],[1,`group`],[`type`,`button`,1,`summary`,3,`click`],[1,`state`],[1,`spinner`],[1,`dots`],[1,`chev`],[1,`tree`],[1,`rows`],[1,`node`],[`type`,`button`,1,`node-row`,3,`click`],[1,`status`],[1,`fail`],[1,`ok`],[1,`glyph`],[1,`verb`],[1,`target`,3,`title`],[1,`diff`],[1,`grow`],[1,`meta`],[1,`children`],[1,`body`],[1,`add`],[1,`del`],[1,`child`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,1,`file-icon`],[`d`,`M4 2.5h5L12.5 6v7.5H4z`],[`d`,`M9 2.5V6h3.5`],[1,`file-name`,3,`title`],[1,`label-small`],[1,`glyph`,`thinking`],[1,`target`,`thought`],[3,`morseEnter`,`morseEnterY`],[1,`card`,3,`running`,`failed`],[1,`card`,`thought`],[1,`card`],[`type`,`button`,1,`head`,3,`click`],[1,`chip`],[1,`args`,3,`title`],[1,`dir`],[1,`base`],[1,`bulb`],[1,`chip`,`thought-chip`],[1,`preview`]],template:function(t,i){t&1&&(h(0,`div`,1)(1,`button`,2),A(`click`,function(){return i.toggle()}),h(2,`span`,3),E(3,xj,1,0,`span`,4)(4,Cj,1,1),y(),h(5,`span`),u(6),y(),E(7,wj,4,0,`span`,5),h(8,`span`,6),u(9,`›`),y()(),E(10,$j,3,0,`ul`,7)(11,oB,4,0,`ul`,8),y()),t&2&&(q(`compact`,i.compact()),d(),Y(`aria-expanded`,i.isOpen()),d(),sn(i.state()),d(),S(i.state()===`running`?3:4),d(3),I(i.summary()),d(),S(i.running()?7:-1),d(),q(`open`,i.isOpen()),d(2),S(i.compact()?10:11))},dependencies:[Sn],styles:[`[_nghost-%COMP%]{display:block}.summary[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 8px 2px 4px;margin-left:-4px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:12.5px;cursor:pointer}.summary[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.state[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:14px}.state.ok[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.state.error[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.spinner[_ngcontent-%COMP%]{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--%NS%morse-border);border-top-color:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_spin .8s linear infinite}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.chev[_ngcontent-%COMP%]{display:inline-block;transition:transform .17s cubic-bezier(.2,.7,.3,1)}.chev.open[_ngcontent-%COMP%]{transform:rotate(90deg)}.dots[_ngcontent-%COMP%]{display:inline-flex;gap:2px;color:currentColor}.dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:3px;height:3px;border-radius:50%;background:currentColor;animation:_ngcontent-%COMP%_dot 1.2s ease-in-out infinite}.dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(2){animation-delay:.15s}.dots[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:nth-child(3){animation-delay:.3s}@keyframes _ngcontent-%COMP%_dot{0%,60%,to{opacity:.25}30%{opacity:1}}.rows[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;overflow:hidden}.tree[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;margin:6px 0 2px 6px;padding:0 0 0 14px;border-left:1px solid var(--%NS%morse-guide);list-style:none}.node[_ngcontent-%COMP%]{position:relative;min-width:0}.node[_ngcontent-%COMP%]:before{content:"";position:absolute;left:-14px;top:11px;width:8px;height:1px;background:var(--%NS%morse-guide)}.node-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;width:100%;min-width:0;padding:2px 6px 2px 0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:12px;text-align:left;cursor:pointer}.node-row[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.node[_ngcontent-%COMP%] .body[_ngcontent-%COMP%]{margin:2px 0;padding:2px 6px 6px 14px;border-left:1px solid var(--%NS%morse-guide)}.node-row[_ngcontent-%COMP%] .verb[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg)}.node-row[_ngcontent-%COMP%] .target[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono);font-size:11.5px}.node-row[_ngcontent-%COMP%] .target.thought[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font);font-size:12px}.glyph.thinking[_ngcontent-%COMP%]{color:var(--%NS%morse-typename)}.glyph.thinking[_ngcontent-%COMP%], .status[_ngcontent-%COMP%] .bulb[_ngcontent-%COMP%]{display:inline-block;transform-origin:center}.glyph.thinking.live[_ngcontent-%COMP%], .status[_ngcontent-%COMP%] .bulb.live[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_think-breathe 1.1s ease-in-out infinite}@keyframes _ngcontent-%COMP%_think-breathe{0%,to{transform:scale(.8);opacity:.6}50%{transform:scale(1.3);opacity:1}}@media(prefers-reduced-motion:reduce){.glyph.thinking.live[_ngcontent-%COMP%], .status[_ngcontent-%COMP%] .bulb.live[_ngcontent-%COMP%]{animation:none}}.children[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;margin:2px 0;padding:0 0 0 14px;border-left:1px solid var(--%NS%morse-guide);list-style:none}.child[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:1px 0 1px 6px;color:var(--%NS%morse-fg-muted);font-size:11.5px}.child[_ngcontent-%COMP%]:before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:var(--%NS%morse-guide)}.child[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{flex:none;width:11px;height:11px;fill:none;stroke:var(--%NS%morse-number);stroke-width:1.2;stroke-linejoin:round}.child[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono)}.card[_ngcontent-%COMP%]{border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:color-mix(in srgb,var(--%NS%morse-panel) 55%,transparent);overflow:hidden}.card.running[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--%NS%morse-accent) 55%,var(--%NS%morse-border))}.card.failed[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--%NS%morse-error) 55%,var(--%NS%morse-border))}.head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;background:transparent;color:var(--%NS%morse-fg);font-size:12.5px;text-align:left;cursor:pointer}.head[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.status[_ngcontent-%COMP%]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px}.status[_ngcontent-%COMP%] .ok[_ngcontent-%COMP%]{color:var(--%NS%morse-success);font-size:10px}.status[_ngcontent-%COMP%] .fail[_ngcontent-%COMP%]{color:var(--%NS%morse-error);font-size:11px}.status[_ngcontent-%COMP%] .bulb[_ngcontent-%COMP%]{color:var(--%NS%morse-typename);font-size:11px}.glyph[_ngcontent-%COMP%]{flex:none;width:13px;text-align:center;font-size:12px}.glyph.edit[_ngcontent-%COMP%]{color:var(--%NS%morse-keyword)}.glyph.read[_ngcontent-%COMP%]{color:var(--%NS%morse-number)}.glyph.search[_ngcontent-%COMP%]{color:var(--%NS%morse-typename)}.glyph.shell[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.chip[_ngcontent-%COMP%]{flex:none;padding:0 5px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:11px}.args[_ngcontent-%COMP%]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono);font-size:11.5px}.args[_ngcontent-%COMP%] .dir[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted)}.preview[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:12px}.diff[_ngcontent-%COMP%]{flex:none;display:inline-flex;gap:4px;font-family:var(--%NS%morse-font-mono);font-size:11.5px}.diff[_ngcontent-%COMP%] .add[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.diff[_ngcontent-%COMP%] .del[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.meta[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-variant-numeric:tabular-nums}.grow[_ngcontent-%COMP%]{flex:1}.body[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;padding:0 10px 8px 30px;overflow:hidden}.body[_ngcontent-%COMP%] .label-small[_ngcontent-%COMP%]{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.body[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:0;max-height:260px;overflow:auto;padding:8px 10px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel);font-family:var(--%NS%morse-font-mono);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}`]})};function Kp(n){if(n<1e3)return`${Math.max(1,Math.round(n))}ms`;let e=n/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}var rB=[`track`];var sB=[`previewList`];var ZS=(n,e)=>e.id;function aB(n,e){if(n&1&&fe(0,`span`,10),n&2){let t=e.$implicit,i=e.$index,o=f(2);Tt(`top`,i*o.tickPitch,`px`)(`width`,o.tickWidth(i),`px`),q(`active`,t.id===o.activeId()),Y(`aria-selected`,i===o.hovered())(`aria-label`,t.preview||`Prompt`)}}function lB(n,e){if(n&1){let t=L();g(0,`button`,14),F(`mouseenter`,function(){let o=D(t).$index;return T(f(3).hovered.set(o))})(`click`,function(){let o=D(t).$index;return T(f(3).choose(o))}),g(1,`span`,15),u(2),_()()}if(n&2){let t=e.$implicit,i=e.$index,o=f(3);q(`active`,t.id===o.activeId())(`hovered`,i===o.hovered()),d(2),I(t.preview||`No text`)}}function cB(n,e){if(n&1){let t=L();g(0,`div`,11),F(`mouseenter`,function(){D(t);return T(f(2).onEnter())})(`mouseleave`,function(){D(t);return T(f(2).onLeave())}),g(1,`div`,12,1),X(3,lB,3,5,`button`,13,ZS),_()()}if(n&2){let t=f(2);d(3),J(t.prompts())}}function dB(n,e){if(n&1){let t=L();g(0,`nav`,3),F(`mouseenter`,function(){D(t);return T(f().onEnter())}),g(1,`button`,4),F(`click`,function(){D(t);return T(f().stepWindow(-1))}),u(2,` ⌃ `),_(),g(3,`div`,5,0),F(`mousemove`,function(o){D(t);return T(f().onMove(o))})(`mouseleave`,function(){D(t);return T(f().onLeave())})(`click`,function(o){D(t);return T(f().onTrackClick(o))})(`keydown`,function(o){D(t);return T(f().onKeydown(o))}),g(5,`div`,6),X(6,aB,1,8,`span`,7,ZS),_()(),g(8,`button`,8),F(`click`,function(){D(t);return T(f().stepWindow(1))}),u(9,` ⌄ `),_(),E(10,cB,5,0,`div`,9),_()}if(n&2){let t=f();d(),te(`disabled`,!t.hasMoreAbove()),d(2),Tt(`height`,t.visibleCount()*t.tickPitch,`px`)(`mask-image`,t.mask()),d(2),Tt(`transform`,`translateY(-`+t.clampedWindowStart()*t.tickPitch+`px)`),d(),J(t.prompts()),d(2),te(`disabled`,!t.hasMoreBelow()),d(2),S(t.hovered()!==null?10:-1)}}var WS=12;var YS=30;var KS=18;var uB=80;var pB=10;var fB=14;var mB=20;var hB=[1,.6,.35,.15];var gB=160;var Qp=class n{prompts=se.required();activeId=se(null);pick=je();tickPitch=WS;hovered=N(null);windowStart=N(0);track=Ue(`track`);previewList=Ue(`previewList`);pointerY=null;direction=0;carouselTimer=null;hideTimer=null;visibleCount=C(()=>Math.min(this.prompts().length,YS));maxWindowStart=C(()=>Math.max(0,this.prompts().length-this.visibleCount()));clampedWindowStart=C(()=>Math.min(this.windowStart(),this.maxWindowStart()));hasMoreAbove=C(()=>this.clampedWindowStart()>0);hasMoreBelow=C(()=>this.clampedWindowStart()+this.visibleCount()<this.prompts().length);activeIndex=C(()=>{let e=this.activeId();return e===null?-1:this.prompts().findIndex(t=>t.id===e)});mask=C(()=>{let e=this.hasMoreAbove(),t=this.hasMoreBelow();return!e&&!t?void 0:`linear-gradient(to bottom, ${e?`transparent, black 14%`:`black`}, ${t?`black 86%, transparent`:`black`})`});constructor(){ne(()=>{if(this.hovered()!==null)return;let e=this.prompts().length,t=Math.min(e,YS),i=Math.max(0,e-t),o=this.activeIndex()>=0?this.activeIndex():e-1;this.windowStart.set(Math.max(0,Math.min(i,o-Math.floor(t/2))))}),ne(()=>{let e=this.hovered();this.previewList(),e!==null&&setTimeout(()=>this.revealRow(e),0)})}ngOnDestroy(){this.stopCarousel(),this.cancelHide()}tickWidth(e){let t=this.prompts()[e]?.id===this.activeId()?fB:pB,i=this.hovered();if(i===null)return t;let o=hB[Math.abs(e-i)]??0;return Math.round(t+(mB-t)*o)}onEnter(){this.cancelHide()}onMove(e){this.cancelHide(),this.pointerY=e.clientY;let t=this.indexFromPointer(e.clientY);t!==null&&this.hovered.set(t),this.updateCarousel(e.clientY)}onLeave(){this.pointerY=null,this.stopCarousel(),this.scheduleHide()}onTrackClick(e){let t=this.indexFromPointer(e.clientY);t!==null&&this.choose(t)}stepWindow(e){let t=Math.max(1,Math.floor(this.visibleCount()/2)),i=Math.max(0,Math.min(this.maxWindowStart(),this.clampedWindowStart()+e*t));this.windowStart.set(i)}choose(e){let t=this.prompts()[e];t&&(this.pick.emit(t.id),this.stopCarousel(),this.hovered.set(null))}onKeydown(e){let t=this.prompts().length;if(t===0)return;let i=this.hovered()??(this.activeIndex()>=0?this.activeIndex():t-1),o=r=>{let s=Math.max(0,Math.min(t-1,r));this.ensureWindowContains(s),this.hovered.set(s)};switch(e.key){case`ArrowUp`:e.preventDefault(),o(i-1);return;case`ArrowDown`:e.preventDefault(),o(i+1);return;case`Home`:e.preventDefault(),o(0);return;case`End`:e.preventDefault(),o(t-1);return;case`Enter`:case` `:e.preventDefault(),this.choose(i);return;case`Escape`:e.preventDefault(),this.hovered.set(null);return;default:return}}indexFromPointer(e){let t=this.track()?.nativeElement,i=this.visibleCount();if(!t||i===0)return null;let o=t.getBoundingClientRect(),r=Math.floor((e-o.top)/WS),s=Math.max(0,Math.min(i-1,r));return Math.min(this.prompts().length-1,this.clampedWindowStart()+s)}updateCarousel(e){let t=this.track()?.nativeElement;if(!t)return;let i=t.getBoundingClientRect(),o=e-i.top,r=0;if(o<=KS&&this.hasMoreAbove()?r=-1:o>=i.height-KS&&this.hasMoreBelow()&&(r=1),this.direction=r,r===0){this.stopCarousel();return}this.carouselTimer===null&&(this.carouselTimer=setInterval(()=>this.carouselStep(),uB))}carouselStep(){if(this.direction===0){this.stopCarousel();return}let e=this.clampedWindowStart(),t=Math.max(0,Math.min(this.maxWindowStart(),e+this.direction));if(t===e){this.stopCarousel();return}if(this.windowStart.set(t),this.pointerY!==null){let i=this.indexFromPointer(this.pointerY);i!==null&&this.hovered.set(i)}}stopCarousel(){this.direction=0,this.carouselTimer!==null&&(clearInterval(this.carouselTimer),this.carouselTimer=null)}ensureWindowContains(e){let t=this.visibleCount(),i=this.maxWindowStart(),o=Math.min(this.clampedWindowStart(),i);e<o?this.windowStart.set(e):e>=o+t&&this.windowStart.set(Math.min(i,e-t+1))}scheduleHide(){this.cancelHide(),this.hideTimer=setTimeout(()=>{this.hideTimer=null,this.hovered.set(null)},gB)}cancelHide(){this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}revealRow(e){let t=this.previewList()?.nativeElement,i=t?.children.item(e);if(!t||!i)return;let o=t.getBoundingClientRect(),r=i.getBoundingClientRect();r.top<o.top?t.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(t.scrollTop+=r.bottom-o.bottom)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-prompt-rail`]],viewQuery:function(t,i){t&1&&nt(i.track,rB,5)(i.previewList,sB,5),t&2&&ot(2)},inputs:{prompts:[1,`prompts`],activeId:[1,`activeId`]},outputs:{pick:`pick`},decls:1,vars:1,consts:[[`track`,``],[`previewList`,``],[`aria-label`,`Prompt navigator`,1,`rail`],[`aria-label`,`Prompt navigator`,1,`rail`,3,`mouseenter`],[`type`,`button`,`title`,`Earlier prompts`,`aria-label`,`Earlier prompts`,1,`step`,3,`click`,`disabled`],[`role`,`listbox`,`tabindex`,`0`,`aria-label`,`Prompts in this conversation`,1,`track`,3,`mousemove`,`mouseleave`,`click`,`keydown`],[1,`ticks`],[`role`,`option`,1,`tick`,3,`active`,`top`,`width`],[`type`,`button`,`title`,`Later prompts`,`aria-label`,`Later prompts`,1,`step`,3,`click`,`disabled`],[1,`panel`],[`role`,`option`,1,`tick`],[1,`panel`,3,`mouseenter`,`mouseleave`],[1,`panel-list`],[`type`,`button`,1,`row`,3,`active`,`hovered`],[`type`,`button`,1,`row`,3,`mouseenter`,`click`],[1,`row-text`]],template:function(t,i){t&1&&E(0,dB,11,9,`nav`,2),t&2&&S(i.prompts().length>=2?0:-1)},styles:[`[_nghost-%COMP%]{display:contents}.rail[_ngcontent-%COMP%]{position:absolute;right:12px;top:50%;z-index:6;display:flex;flex-direction:column;align-items:flex-end;transform:translateY(-50%)}.step[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:18px;height:16px;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:10px;line-height:1;cursor:pointer}.step[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.step[_ngcontent-%COMP%]:disabled{opacity:.25;cursor:default}.track[_ngcontent-%COMP%]{position:relative;width:24px;cursor:pointer;outline:none;overflow:hidden}.track[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--%NS%morse-focus);outline-offset:1px;border-radius:var(--%NS%morse-radius-sm)}.ticks[_ngcontent-%COMP%]{position:absolute;inset:0;transition:transform .26s ease-out}.tick[_ngcontent-%COMP%]{position:absolute;right:3px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--%NS%morse-fg) 30%,transparent);transition:width .18s ease-out,background .18s ease-out}.track[_ngcontent-%COMP%]:hover .tick[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-fg) 55%,transparent)}.tick.active[_ngcontent-%COMP%], .track[_ngcontent-%COMP%]:hover .tick.active[_ngcontent-%COMP%]{background:var(--%NS%morse-fg)}.panel[_ngcontent-%COMP%]{position:absolute;right:100%;top:50%;margin-right:10px;transform:translateY(-50%);width:min(20rem,calc(100vw - 4.5rem));border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 28px #00000047;overflow:hidden}.panel-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;max-height:368px;padding:4px;overflow-y:auto}.row[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;min-height:44px;padding:6px 8px;border:1px solid transparent;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font:inherit;font-size:11.5px;line-height:1.35;text-align:left;cursor:pointer}.row.hovered[_ngcontent-%COMP%]{border-color:var(--%NS%morse-border);background:var(--%NS%morse-hover)}.row.active[_ngcontent-%COMP%]{background:var(--%NS%morse-active);color:var(--%NS%morse-fg)}.row-text[_ngcontent-%COMP%]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}`]})};var yB=[`scroll`];var _B=[`inner`];var vB=[`heroMark`];var QS=()=>[];var bB=(n,e)=>e.key;var xB=(n,e)=>e.path+(e.startLine??``);function CB(n,e){n&1&&(h(0,`span`,11),u(1,`Loading older messages…`),y())}function wB(n,e){if(n&1){let t=L();h(0,`button`,13),A(`click`,function(){D(t);return T(f(2).loadOlder())}),u(1,` Load older messages `),y()}}function EB(n,e){if(n&1&&(h(0,`div`,5),E(1,CB,2,0,`span`,11)(2,wB,2,0,`button`,12),y()),n&2){let t=f();d(),S(t.loadingOlderHistory()?1:2)}}function SB(n,e){n&1&&(h(0,`div`,6)(1,`span`),u(2,`Start of conversation`),y()())}function DB(n,e){if(n&1&&(h(0,`span`,31),u(1),y()),n&2){let t=f().$implicit,i=f(4);d(),I(i.pinRange(t))}}function TB(n,e){if(n&1&&(h(0,`li`,27)(1,`span`,29),u(2,`⧉`),y(),h(3,`span`,30),u(4),y(),E(5,DB,2,1,`span`,31),y()),n&2){let t=e.$implicit,i=f(4);j(`title`,t.path),d(4),I(i.basename(t.path)),d(),S(t.startLine!==void 0?5:-1)}}function MB(n,e){if(n&1){let t=L();h(0,`li`,28)(1,`button`,32),A(`click`,function(){let o=D(t),r=o.$implicit,s=o.$index;return T(f(4).openImage(r,s))}),ee(2,`img`,33),y()()}if(n&2){let t=e.$implicit,i=e.$index,o=f(4);d(),j(`title`,o.imageName(t,i)),Y(`aria-label`,`View `+o.imageName(t,i)),d(),j(`src`,o.thumb(t),ji)(`alt`,o.imageName(t,i))}}function kB(n,e){if(n&1&&(h(0,`ul`,19),X(1,TB,6,3,`li`,27,xB),X(3,MB,3,4,`li`,28,Ci),y()),n&2){let t=f(2).$implicit;d(),J(t.item.pins??_u(0,QS)),d(2),J(t.item.images??_u(1,QS))}}function IB(n,e){if(n&1){let t=L();h(0,`div`,20)(1,`textarea`,34),A(`input`,function(o){D(t);return T(f(3).onEditInput(o))})(`keydown`,function(o){D(t);let r=f(2).$implicit;return T(f().onEditKeydown(o,r.item))}),y(),h(2,`div`,35)(3,`span`,36),u(4,`Enter sends · Shift+Enter for a new line`),y(),h(5,`button`,37),A(`click`,function(){D(t);return T(f(3).cancelEdit())}),u(6,`Cancel`),y(),h(7,`button`,38),A(`click`,function(){D(t);let o=f(2).$implicit;return T(f().submitEdit(o.item))}),u(8,` Send `),y()()()}if(n&2){let t=f(3);d(),j(`value`,t.editingText()),d(6),j(`disabled`,t.editingText().trim().length===0)}}function NB(n,e){if(n&1){let t=L();h(0,`div`,21)(1,`morse-markdown`,39),A(`mention`,function(o){D(t);return T(f(3).openMention(o))}),y()()}if(n&2){let t=f(2).$implicit,i=f();d(),j(`text`,i.userMarkdown(t.item))}}function PB(n,e){if(n&1){let t=L();h(0,`button`,40),A(`click`,function(){D(t);let o=f(2).$implicit;return T(f().startEdit(o.item))}),u(1,` ✎ `),y()}}function OB(n,e){if(n&1){let t=L();h(0,`button`,41),A(`click`,function(){D(t);let o=f(2).$implicit;return T(f().fork(o.item))}),De(),h(1,`svg`,42),ee(2,`path`,43),y()()}}function AB(n,e){if(n&1){let t=L();h(0,`div`,14),E(1,kB,5,2,`ul`,19),E(2,IB,9,2,`div`,20)(3,NB,2,1,`div`,21),h(4,`div`,22)(5,`span`,23),u(6),y(),E(7,PB,2,0,`button`,24),E(8,OB,3,0,`button`,25),h(9,`button`,26),A(`click`,function(){D(t);let o=f().$implicit;return T(f().copy(o.item))}),u(10),y()()()}if(n&2){let t=f().$implicit,i=f();j(`morseEnter`,0),Y(`data-prompt-id`,t.item.id),d(),S(i.pinsOf(t.item)!==void 0||t.item.images!==void 0?1:-1),d(),S(i.editingId()===t.item.id?2:3),d(4),I(i.stamp(t.item.at)),d(),S(i.canEdit()?7:-1),d(),S(i.canFork()?8:-1),d(),j(`title`,i.copiedId()===t.item.id?`Copied`:`Copy message`),d(),ie(` `,i.copiedId()===t.item.id?`✓`:`⧉`,` `)}}function RB(n,e){if(n&1){let t=L();ee(0,`morse-markdown`,45),h(1,`div`,46)(2,`button`,26),A(`click`,function(){D(t);let o=f(2).$implicit;return T(f().copyAssistant(o.item))}),u(3),y()()}if(n&2){let t=f(2).$implicit,i=f();j(`text`,t.item.text),d(2),q(`revealed`,i.copiedId()===t.item.id),j(`title`,i.copiedId()===t.item.id?`Copied`:`Copy response`),d(),ie(` `,i.copiedId()===t.item.id?`✓ Copied`:`⧉ Copy`,` `)}}function LB(n,e){n&1&&(h(0,`span`,44),u(1,`\xA0`),y())}function FB(n,e){if(n&1&&(h(0,`div`,15),E(1,RB,4,5)(2,LB,2,0,`span`,44),y()),n&2){let t=f().$implicit;j(`morseEnter`,0),d(),S(t.item.text?1:t.item.streaming?2:-1)}}function VB(n,e){if(n&1&&ee(0,`morse-tool-group`,16),n&2){let t=f().$implicit,i=f();j(`morseEnter`,0)(`steps`,t.steps)(`working`,i.working()&&t.key===i.activeProcess())}}function jB(n,e){if(n&1&&(h(0,`div`,47)(1,`pre`),u(2),y()()),n&2){let t=f().$implicit;sn(t.item.level),j(`morseEnter`,0),d(2),I(t.item.text)}}function BB(n,e){if(n&1&&(h(0,`span`,51),u(1),y()),n&2){let t=f(2).$implicit,i=f();d(),ie(`~`,i.formatTokens(t.item.tokensBefore),` tokens folded`)}}function $B(n,e){if(n&1&&(h(0,`div`,52),ee(1,`morse-markdown`,45),y()),n&2){let t=f(2).$implicit;j(`morseEnter`,0),d(),j(`text`,t.item.summary)}}function HB(n,e){if(n&1){let t=L();h(0,`div`,18)(1,`button`,48),A(`click`,function(){D(t);let o=f().$implicit;return T(f().toggleCompaction(o.key))}),ee(2,`span`,49),h(3,`span`,50),u(4,`⚡ Compacted`),y(),E(5,BB,2,1,`span`,51),ee(6,`span`,49),y(),E(7,$B,2,2,`div`,52),y()}if(n&2){let t=f().$implicit,i=f();j(`morseEnter`,0),d(),j(`title`,t.item.summary?i.expandedCompaction()===t.key?`Hide the summary`:`Show the summary`:`Everything before this point was summarized into the running context`),d(4),S(t.item.tokensBefore?5:-1),d(2),S(i.expandedCompaction()===t.key&&t.item.summary?7:-1)}}function zB(n,e){if(n&1&&E(0,AB,11,9,`div`,14)(1,FB,3,2,`div`,15)(2,VB,1,3,`morse-tool-group`,16)(3,jB,3,4,`div`,17)(4,HB,8,4,`div`,18),n&2){let t,i=e.$implicit;S((t=i.kind)===`user`?0:t===`assistant`?1:t===`process`?2:t===`notice`?3:t===`compaction`?4:-1)}}function UB(n,e){if(n&1&&(h(0,`span`,59),u(1),y()),n&2){let t=e.$implicit;d(),I(t)}}function GB(n,e){n&1&&(u(0,`, or select code and pin it with the `),h(1,`span`,63),u(2,`⧉`),y(),u(3,` button under the chat`))}function qB(n,e){if(n&1&&(h(0,`div`,7)(1,`div`,53),ee(2,`span`,54),h(3,`span`,55,2),ee(5,`span`,56)(6,`span`,56)(7,`span`,57),y()(),h(8,`div`,58),X(9,UB,2,1,`span`,59,Ci),y(),h(11,`div`,60),u(12,`the pi coding agent`),y(),h(13,`p`,61),u(14,` It runs the same pi coding agent you use in the terminal, with your models, tools, skills and sessions. `),y(),h(15,`p`,62),u(16,` Try `),h(17,`em`),u(18,`“explain this repository”`),y(),u(19,` or `),h(20,`em`),u(21,`“why is this failing?”`),y(),E(22,GB,4,0),u(23,`. `),y()()),n&2){let t=f();d(9),J(t.heroLetters),d(13),S(t.canPinSelection()?22:-1)}}function WB(n,e){if(n&1){let t=L();h(0,`button`,64),A(`click`,function(){D(t);return T(f().jumpToLatest())}),u(1,`↓ Latest`),y()}}function YB(n,e){if(n&1){let t=L();h(0,`div`,65),A(`click`,function(){D(t);return T(f().closeImage())}),h(1,`button`,66),A(`click`,function(){D(t);return T(f().closeImage())}),u(2,` × `),y(),h(3,`figure`,67),A(`click`,function(o){return o.stopPropagation()}),ee(4,`img`,33),h(5,`figcaption`),u(6),y()()()}if(n&2){let t=e;d(4),j(`src`,t.src,ji)(`alt`,t.label),d(2),I(t.label)}}var KB={png:`png`,jpeg:`jpg`,jpg:`jpg`,webp:`webp`,gif:`gif`,"svg+xml":`svg`,bmp:`bmp`,avif:`avif`};var XS=160;function ZB(n){let e=n.replace(/\s+/g,` `).trim();return e.length>XS?`${e.slice(0,XS)}\u2026`:e}var Xp=class n{morse=w(Ie);animation=w(En);handoff=w(ha);scrollHost=Ue.required(`scroll`);inner=Ue(`inner`);heroMark=Ue(`heroMark`);heroLetters=[`M`,`o`,`r`,`s`,`e`];canPinSelection=C(()=>this.morse.capabilities()?.editorContext===!0);copiedId=N(null);preview=N(null);editingId=N(null);editingText=N(``);pinned=N(!0);working=C(()=>this.morse.state().streaming);rows=C(()=>UE(this.morse.items()));activeProcess=C(()=>GE(this.rows()));railPrompts=C(()=>this.rows().filter(e=>e.kind===`user`).map(e=>({id:e.item.id,preview:ZB(e.item.text)})));activePromptId=N(null);expandedCompaction=N(null);toggleCompaction(e){this.expandedCompaction.update(t=>t===e?null:e)}formatTokens(e){return new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:1}).format(e)}hasOlderHistory=C(()=>this.morse.hasOlderHistory());loadingOlderHistory=C(()=>this.morse.loadingOlderHistory());activePending=!1;bottomDistance=0;anchorScroll=!1;previousFirstId;previousSessionId;previousLength=0;constructor(){ne(e=>{let t=this.inner()?.nativeElement;if(!t||typeof ResizeObserver>`u`)return;let i=new ResizeObserver(()=>{this.pinned()&&this.afterRender(()=>this.scrollToBottom())});i.observe(t),e(()=>i.disconnect())}),ne(()=>{this.rows(),this.pinned()&&this.afterRender(()=>this.scrollToBottom())}),ne(()=>{this.rows().at(-1)?.kind===`user`&&this.animation.pulse(this.inner()?.nativeElement??null)}),ne(()=>{let e=this.rows().length===0;this.afterRender(()=>{let t=this.heroMark()?.nativeElement;if(!e||!t){this.handoff.aim(null);return}let i=t.getBoundingClientRect();this.handoff.aim({x:i.left+i.width/2,y:i.top+i.height/2,width:i.width,height:i.height})})}),ne(()=>{this.railPrompts(),this.afterRender(()=>this.updateActivePrompt())}),ne(()=>{let e=this.morse.state().sessionId,t=this.morse.items(),i=t[0]?.id,o=e===this.previousSessionId&&this.previousFirstId!==void 0&&i!==this.previousFirstId&&t.length>this.previousLength;this.previousSessionId=e,this.previousFirstId=i,this.previousLength=t.length,o&&this.afterRender(()=>this.restoreBottomDistance())})}afterRender(e){setTimeout(e,0)}onScroll(e){let t=e.target,i=t.scrollHeight-t.scrollTop-t.clientHeight;this.pinned.set(i<48),this.bottomDistance=i,this.anchorScroll=i>0,t.scrollTop<80&&this.hasOlderHistory()&&!this.loadingOlderHistory()&&this.morse.loadOlderHistory(),this.updateActivePrompt()}loadOlder(){let e=this.scrollHost().nativeElement;this.bottomDistance=e.scrollHeight-e.scrollTop-e.clientHeight,this.anchorScroll=this.bottomDistance>0,this.morse.loadOlderHistory()}restoreBottomDistance(){if(!this.anchorScroll)return;let e=this.scrollHost().nativeElement,t=Math.max(0,e.scrollHeight-e.clientHeight),i=e.scrollHeight-e.clientHeight-this.bottomDistance;e.scrollTop=Math.max(0,Math.min(t,i))}updateActivePrompt(){this.activePending||(this.activePending=!0,this.afterRender(()=>{this.activePending=!1,this.computeActivePrompt()}))}computeActivePrompt(){let e=this.scrollHost().nativeElement,t=e.querySelectorAll(`[data-prompt-id]`);if(t.length===0){this.activePromptId.set(null);return}let i=e.getBoundingClientRect().top+100,o=t[0]?.dataset.promptId??null;for(let s of Array.from(t))if(s.getBoundingClientRect().top<=i)o=s.dataset.promptId??o;else break;e.scrollHeight-e.scrollTop-e.clientHeight<=Math.max(48,e.clientHeight*.1)&&(o=t[t.length-1]?.dataset.promptId??o),this.activePromptId.set(o)}scrollToPrompt(e){let t=this.scrollHost().nativeElement,i=t.querySelector(`[data-prompt-id="${e}"]`);if(!i)return;let o=i.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop-12;this.pinned.set(!1),this.animation.isEnabled&&typeof t.scrollTo==`function`?t.scrollTo({top:o,behavior:`smooth`}):t.scrollTop=o,this.activePromptId.set(e)}jumpToLatest(){this.pinned.set(!0),this.scrollToBottom(!0)}scrollToBottom(e=!1){let t=this.scrollHost().nativeElement;e&&this.animation.isEnabled&&typeof t.scrollTo==`function`&&(typeof document>`u`||document.visibilityState===`visible`)?t.scrollTo({top:t.scrollHeight,behavior:`smooth`}):t.scrollTop=t.scrollHeight}stamp(e){return e<=0?``:new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}userMarkdown(e){return qE(e.text)}pinsOf(e){return e.pins}pinRange(e){return e.startLine===void 0?``:e.endLine!==void 0&&e.endLine!==e.startLine?`L${e.startLine}-${e.endLine}`:`L${e.startLine}`}basename(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?e:e.slice(t+1)}thumb(e){return`data:${e.mimeType};base64,${e.data}`}imageName(e,t){let i=e.mimeType.split(`/`)[1]?.toLowerCase()??``,o=KB[i]??(i.replace(/[^a-z0-9]/g,``)||`png`);return t===0?`image.${o}`:`image-${t+1}.${o}`}openImage(e,t){this.preview.set({src:this.thumb(e),label:this.imageName(e,t)})}closeImage(){this.preview.set(null)}onEscape(){if(this.preview()!==null){this.closeImage();return}this.editingId()!==null&&this.cancelEdit()}canEdit(){return this.morse.capabilities()?.editMessage===!0&&this.morse.state().streaming!==!0}canFork(){return this.morse.capabilities()?.forkMessage===!0&&this.morse.state().streaming!==!0}fork(e){this.morse.forkMessage(e.id)}startEdit(e){this.editingId.set(e.id),this.editingText.set(e.text),this.afterRender(()=>{let t=this.scrollHost().nativeElement.querySelector(`.edit-input`);t?.focus();let i=t?.value.length??0;t?.setSelectionRange(i,i)})}cancelEdit(){this.editingId.set(null),this.editingText.set(``)}onEditInput(e){this.editingText.set(e.target.value)}onEditKeydown(e,t){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),this.submitEdit(t);return}e.key===`Escape`&&(e.preventDefault(),this.cancelEdit())}submitEdit(e){let t=this.editingText().trim();t.length!==0&&(this.morse.editMessage(e.id,t),this.cancelEdit())}openMention(e){this.morse.capabilities()?.revealFile===!0&&this.morse.requestHostCommand(`revealFile`,{path:e}).catch(()=>{})}copyText(e){let t=e.pins??[];if(t.length===0)return e.text;let i=t.map(o=>`${o.path}${o.startLine!==void 0?`:${o.startLine}-${o.endLine??o.startLine}`:``}`).map(o=>`@${o}`).join(`
|
|
105
|
+
`);return e.text.trim().length>0?`${e.text}
|
|
106
|
+
|
|
107
|
+
${i}`:i}copy(e){this.copyRaw(e.id,this.copyText(e))}copyAssistant(e){this.copyRaw(e.id,e.text)}copyRaw(e,t){navigator.clipboard?.writeText(t),this.copiedId.set(e),setTimeout(()=>{this.copiedId()===e&&this.copiedId.set(null)},1200)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-chat-transcript`]],viewQuery:function(t,i){t&1&&nt(i.scrollHost,yB,5)(i.inner,_B,5)(i.heroMark,vB,5),t&2&&ot(3)},hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:12,vars:8,consts:[[`scroll`,``],[`inner`,``],[`heroMark`,``],[1,`transcript`,3,`scroll`],[1,`inner`],[1,`older`],[1,`start`],[1,`hero`],[3,`pick`,`prompts`,`activeId`],[`type`,`button`,1,`latest`],[1,`image-overlay`],[1,`older-label`],[`type`,`button`,1,`older-button`],[`type`,`button`,1,`older-button`,3,`click`],[1,`user`,3,`morseEnter`],[1,`assistant`,3,`morseEnter`],[3,`morseEnter`,`steps`,`working`],[1,`notice`,3,`class`,`morseEnter`],[1,`compaction`,3,`morseEnter`],[1,`user-attachments`],[1,`user-edit`],[1,`user-text`],[1,`user-head`],[1,`stamp`],[`type`,`button`,`title`,`Edit message`,1,`copy-msg`],[`type`,`button`,`title`,`Fork from here`,1,`copy-msg`],[`type`,`button`,1,`copy-msg`,3,`click`,`title`],[1,`mention-pin`,3,`title`],[1,`image-chip`],[`aria-hidden`,`true`,1,`pin-icon`],[1,`name`],[1,`lines`],[`type`,`button`,1,`image-chip-button`,3,`click`,`title`],[3,`src`,`alt`],[`rows`,`3`,1,`edit-input`,3,`input`,`keydown`,`value`],[1,`edit-actions`],[1,`edit-hint`],[`type`,`button`,1,`edit-cancel`,3,`click`],[`type`,`button`,1,`edit-send`,3,`click`,`disabled`],[`variant`,`user`,3,`mention`,`text`],[`type`,`button`,`title`,`Edit message`,1,`copy-msg`,3,`click`],[`type`,`button`,`title`,`Fork from here`,1,`copy-msg`,3,`click`],[`viewBox`,`0 0 16 16`,`width`,`11`,`height`,`11`,`aria-hidden`,`true`],[`fill`,`currentColor`,`d`,`M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z`],[1,`cursor`],[3,`text`],[1,`assistant-actions`],[1,`notice`,3,`morseEnter`],[`type`,`button`,1,`compaction-sep`,3,`click`,`title`],[`aria-hidden`,`true`,1,`sep-line`],[1,`sep-label`],[1,`sep-tokens`],[1,`compaction-summary`,3,`morseEnter`],[1,`hero-stage`],[`aria-hidden`,`true`,1,`hero-glow`],[`aria-hidden`,`true`,1,`hero-mark`],[1,`hero-dot`],[1,`hero-dash`],[`aria-label`,`Morse`,1,`hero-wordmark`],[`aria-hidden`,`true`,1,`hero-letter`],[1,`hero-tagline`],[1,`hero-hint`],[1,`hero-tips`],[1,`hero-key`],[`type`,`button`,1,`latest`,3,`click`],[1,`image-overlay`,3,`click`],[`type`,`button`,`aria-label`,`Close image`,1,`image-close`,3,`click`],[1,`image-frame`,3,`click`]],template:function(t,i){if(t&1&&(h(0,`div`,3,0),A(`scroll`,function(r){return i.onScroll(r)}),h(2,`div`,4,1),E(4,EB,3,1,`div`,5)(5,SB,3,0,`div`,6),X(6,zB,5,1,null,null,bB,!1,qB,24,1,`div`,7),y()(),h(9,`morse-prompt-rail`,8),A(`pick`,function(r){return i.scrollToPrompt(r)}),y(),E(10,WB,2,0,`button`,9),E(11,YB,7,3,`div`,10)),t&2){let o;d(2),q(`blank`,i.rows().length===0),d(2),S(i.hasOlderHistory()||i.loadingOlderHistory()?4:i.rows().length>0?5:-1),d(2),J(i.rows()),d(3),j(`prompts`,i.railPrompts())(`activeId`,i.activePromptId()),d(),S(!i.pinned()&&i.rows().length>0?10:-1),d(),S((o=i.preview())?11:-1,o)}},dependencies:[Wp,Zp,Sn,Qp],styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.transcript[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 6px;scrollbar-gutter:stable}.latest[_ngcontent-%COMP%]{position:absolute;right:18px;bottom:10px;padding:3px 12px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-badge-bg, var(--%NS%morse-hover));color:var(--%NS%morse-badge-fg, var(--%NS%morse-fg));font-size:11.5px;box-shadow:0 4px 12px #00000040;cursor:pointer}.latest[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-active)}.inner[_ngcontent-%COMP%]{width:100%;max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.inner.blank[_ngcontent-%COMP%]{min-height:100%;justify-content:center}.user[_ngcontent-%COMP%]{align-self:flex-end;max-width:88%;padding:8px 12px;border-radius:var(--%NS%morse-radius-lg);border-bottom-right-radius:4px;background:var(--%NS%morse-bubble);border:1px solid var(--%NS%morse-border)}.user-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;gap:0;min-height:14px;margin-top:4px}.user[_ngcontent-%COMP%] .user-head[_ngcontent-%COMP%] .copy-msg[_ngcontent-%COMP%]{width:0;margin:0;padding:0;overflow:hidden;opacity:0}.user[_ngcontent-%COMP%]:hover .user-head[_ngcontent-%COMP%] .copy-msg[_ngcontent-%COMP%], .user[_ngcontent-%COMP%] .user-head[_ngcontent-%COMP%] .copy-msg[_ngcontent-%COMP%]:focus-visible{width:auto;padding:0 4px;margin-left:6px;overflow:visible;opacity:1}.user[_ngcontent-%COMP%] .stamp[_ngcontent-%COMP%]{font-size:11px;color:var(--%NS%morse-fg-muted)}.assistant-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;min-height:16px;margin-top:-2px}.assistant[_ngcontent-%COMP%] .copy-msg[_ngcontent-%COMP%]{padding:1px 7px;border:1px solid transparent}.assistant[_ngcontent-%COMP%]:hover .copy-msg[_ngcontent-%COMP%], .assistant[_ngcontent-%COMP%] .copy-msg[_ngcontent-%COMP%]:focus-visible, .assistant[_ngcontent-%COMP%] .copy-msg.revealed[_ngcontent-%COMP%]{opacity:1}.copy-msg[_ngcontent-%COMP%]{padding:0 4px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1.2;cursor:pointer;opacity:0;transition:opacity .14s ease}.user[_ngcontent-%COMP%]:hover .copy-msg[_ngcontent-%COMP%], .copy-msg[_ngcontent-%COMP%]:focus-visible{opacity:1}.copy-msg[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg);background:var(--%NS%morse-hover)}.copy-msg[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{display:block}.older[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:2px 0 8px}.older-label[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px}.older-button[_ngcontent-%COMP%]{padding:3px 12px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);font-size:11px;cursor:pointer}.older-button[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.start[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;color:var(--%NS%morse-fg-muted);font-size:11px}.start[_ngcontent-%COMP%]:before, .start[_ngcontent-%COMP%]:after{content:"";flex:1;height:1px;background:var(--%NS%morse-border)}.start[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{white-space:nowrap}.compaction[_ngcontent-%COMP%]{margin:10px 0 14px}.compaction-sep[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:3px 0;border:none;background:none;color:var(--%NS%morse-fg-muted);font-size:11px;cursor:pointer}.compaction-sep[_ngcontent-%COMP%] .sep-line[_ngcontent-%COMP%]{flex:1;height:1px;background:var(--%NS%morse-border)}.compaction-sep[_ngcontent-%COMP%] .sep-label[_ngcontent-%COMP%]{white-space:nowrap;padding:1px 10px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-hover);font-family:var(--%NS%morse-font-mono, monospace);font-size:10.5px}.compaction-sep[_ngcontent-%COMP%] .sep-tokens[_ngcontent-%COMP%]{white-space:nowrap;font-size:10.5px;color:var(--%NS%morse-fg-dim, var(--%NS%morse-fg-muted))}.compaction-sep[_ngcontent-%COMP%]:hover .sep-label[_ngcontent-%COMP%]{color:var(--%NS%morse-fg);background:var(--%NS%morse-active)}.compaction-summary[_ngcontent-%COMP%]{margin-top:8px;padding:10px 12px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));font-size:13px}.user[_ngcontent-%COMP%] .user-text[_ngcontent-%COMP%]{margin:0;word-break:break-word;font-family:var(--%NS%morse-font);line-height:1.55}.user[_ngcontent-%COMP%] .user-text[_ngcontent-%COMP%] .md[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 .5em}.user-edit[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;min-width:min(420px,60vw)}.user[_ngcontent-%COMP%] .edit-input[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;resize:vertical;min-height:60px;padding:7px 9px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);font-family:var(--%NS%morse-font);font-size:inherit;line-height:1.55}.user[_ngcontent-%COMP%] .edit-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--%NS%morse-accent)}.user-edit[_ngcontent-%COMP%] .edit-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;gap:6px}.user-edit[_ngcontent-%COMP%] .edit-hint[_ngcontent-%COMP%]{margin-right:auto;font-size:10.5px;color:var(--%NS%morse-fg-muted)}.user-edit[_ngcontent-%COMP%] .edit-cancel[_ngcontent-%COMP%], .user-edit[_ngcontent-%COMP%] .edit-send[_ngcontent-%COMP%]{padding:3px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:11.5px;cursor:pointer}.user-edit[_ngcontent-%COMP%] .edit-send[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent);background:var(--%NS%morse-accent);color:#fff}.user-edit[_ngcontent-%COMP%] .edit-send[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:default}.user-edit[_ngcontent-%COMP%] .edit-cancel[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.user-attachments[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 6px;padding:0;list-style:none}.user-attachments[_ngcontent-%COMP%] .mention-pin[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);font-size:11.5px;width:220px;max-width:100%}.user-attachments[_ngcontent-%COMP%] .mention-pin[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-attachments[_ngcontent-%COMP%] .mention-pin[_ngcontent-%COMP%] .lines[_ngcontent-%COMP%]{flex:none;padding:0 5px;border-radius:999px;background:var(--%NS%morse-active);color:var(--%NS%morse-fg-muted);font-size:10.5px;font-family:var(--%NS%morse-font-mono);white-space:nowrap}.user-attachments[_ngcontent-%COMP%] .mention-pin[_ngcontent-%COMP%] .pin-icon[_ngcontent-%COMP%]{flex:none;font-size:11px;color:var(--%NS%morse-accent)}.user-attachments[_ngcontent-%COMP%] .image-chip[_ngcontent-%COMP%]{display:inline-flex;min-width:0}.user-attachments[_ngcontent-%COMP%] .image-chip-button[_ngcontent-%COMP%]{display:inline-flex;width:30px;height:30px;padding:0;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);overflow:hidden;cursor:pointer}.user-attachments[_ngcontent-%COMP%] .image-chip-button[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--%NS%morse-accent) 45%,var(--%NS%morse-border));background:var(--%NS%morse-active)}.user-attachments[_ngcontent-%COMP%] .image-chip-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;display:block;object-fit:cover;border-radius:calc(var(--%NS%morse-radius-sm) - 1px)}.image-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:32px;background:#0000009e}.image-frame[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;margin:0;max-width:min(880px,92vw);max-height:92vh}.image-frame[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:calc(92vh - 40px);object-fit:contain;border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel)}.image-frame[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{color:var(--%NS%morse-badge-fg, #fff);font-size:11.5px;text-align:center}.image-close[_ngcontent-%COMP%]{position:absolute;top:14px;right:18px;width:28px;height:28px;border:0;border-radius:50%;background:#00000073;color:#fff;font-size:18px;line-height:1;cursor:pointer}.image-close[_ngcontent-%COMP%]:hover{background:#000000b3}.user[_ngcontent-%COMP%] .user-text[_ngcontent-%COMP%] .mention[_ngcontent-%COMP%]{display:inline-flex;align-items:baseline;max-width:100%;vertical-align:baseline;padding:0;border:1px solid color-mix(in srgb,var(--%NS%morse-accent) 30%,transparent);border-radius:var(--%NS%morse-radius-sm);background:color-mix(in srgb,var(--%NS%morse-accent) 12%,transparent);color:color-mix(in srgb,var(--%NS%morse-accent) 75%,var(--%NS%morse-fg));cursor:pointer}.user[_ngcontent-%COMP%] .user-text[_ngcontent-%COMP%] .mention[_ngcontent-%COMP%] .mention-label[_ngcontent-%COMP%]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px 1px;font-family:var(--%NS%morse-font-mono);font-size:11px}.user[_ngcontent-%COMP%] .user-text[_ngcontent-%COMP%] .mention[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--%NS%morse-accent) 60%,transparent);background:color-mix(in srgb,var(--%NS%morse-accent) 20%,transparent)}.assistant[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px}.assistant[_ngcontent-%COMP%] .who[_ngcontent-%COMP%]{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--%NS%morse-fg-muted)}.assistant[_ngcontent-%COMP%] morse-markdown[_ngcontent-%COMP%] .md{line-height:1.6}.notice[_ngcontent-%COMP%]{padding:8px 10px;border-left:2px solid var(--%NS%morse-info);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);font-size:12px;color:var(--%NS%morse-fg-muted)}.notice.warn[_ngcontent-%COMP%]{border-color:var(--%NS%morse-warn)}.notice[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-word}.notice.error[_ngcontent-%COMP%]{border-color:var(--%NS%morse-error);color:var(--%NS%morse-fg)}.notice.success[_ngcontent-%COMP%]{border-color:var(--%NS%morse-success)}.hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:460px;margin:0 auto;padding:28px 14px;text-align:center}.hero-stage[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:104px;height:104px;margin-bottom:2px}.hero-glow[_ngcontent-%COMP%]{position:absolute;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--%NS%morse-accent) 38%,transparent) 0%,transparent 66%);filter:blur(3px);animation:_ngcontent-%COMP%_hero-breathe 3.6s ease-in-out infinite}.hero-mark[_ngcontent-%COMP%]{position:relative;display:inline-flex;align-items:center;gap:8px}.hero-dot[_ngcontent-%COMP%]{width:12px;height:12px;border-radius:50%;background:var(--%NS%morse-fg);box-shadow:0 0 13px color-mix(in srgb,var(--%NS%morse-fg) 45%,transparent);animation:_ngcontent-%COMP%_hero-hop 3.6s ease-in-out infinite}.hero-dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.14s}.hero-dash[_ngcontent-%COMP%]{width:34px;height:12px;border-radius:999px;background:var(--%NS%morse-fg);box-shadow:0 0 13px color-mix(in srgb,var(--%NS%morse-fg) 45%,transparent);animation:_ngcontent-%COMP%_hero-hop-dash 3.6s ease-in-out infinite;animation-delay:.3s}.hero-wordmark[_ngcontent-%COMP%]{display:flex;font-size:26px;font-weight:650;line-height:1;background-image:linear-gradient(100deg,transparent 38%,color-mix(in srgb,var(--%NS%morse-fg) 45%,#fff) 50%,transparent 62%),linear-gradient(var(--%NS%morse-fg),var(--%NS%morse-fg));background-size:260% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:_ngcontent-%COMP%_hero-shimmer 3.6s ease-in-out infinite}.hero-letter[_ngcontent-%COMP%]{display:inline-block}.hero-tagline[_ngcontent-%COMP%]{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.hero-hint[_ngcontent-%COMP%], .hero-tips[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-fg-muted);line-height:1.65}.hero-hint[_ngcontent-%COMP%]{margin-top:12px}.hero-tips[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{font-style:normal;color:var(--%NS%morse-fg);background:var(--%NS%morse-hover);border:1px solid var(--%NS%morse-border);border-radius:999px;padding:1px 8px;white-space:nowrap}.hero-key[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);color:var(--%NS%morse-fg)}@keyframes _ngcontent-%COMP%_hero-breathe{0%,to{opacity:.75;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes _ngcontent-%COMP%_hero-hop{0%,14%,to{transform:translateY(0)}7%{transform:translateY(-8px)}}@keyframes _ngcontent-%COMP%_hero-hop-dash{0%,16%,to{transform:translateY(0) scale(1)}8%{transform:translateY(-6px) scale(1.08,.88)}}@keyframes _ngcontent-%COMP%_hero-shimmer{0%,38%{background-position:140% 0,0 0}62%,to{background-position:-45% 0,0 0}}@media(prefers-reduced-motion:reduce){.hero-glow[_ngcontent-%COMP%], .hero-dot[_ngcontent-%COMP%], .hero-dash[_ngcontent-%COMP%], .hero-wordmark[_ngcontent-%COMP%]{animation:none}.hero-wordmark[_ngcontent-%COMP%]{background-image:none;color:var(--%NS%morse-fg)}}.cursor[_ngcontent-%COMP%]{display:inline-block;width:7px;height:14px;vertical-align:text-bottom;background:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_blink 1s step-start infinite}@keyframes _ngcontent-%COMP%_blink{50%{opacity:0}}`]})};var QB=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;function JS(n){let e=[],t,i=0,o=0,r=0,s=0,a=!1,l=n.split(`
|
|
108
|
+
`);l.at(-1)===``&&l.pop();for(let c of l){if(c.startsWith(`Binary files `)||c.startsWith(`GIT binary patch`)){a=!0;continue}let p=QB.exec(c);if(p){t={header:c,rows:[]},e.push(t),i=Number(p[1]),o=Number(p[3]);continue}if(t===void 0||c.startsWith(`\\`))continue;let m=c.charAt(0),v=c.slice(1);m===`+`?(t.rows.push({kind:`add`,text:v,newLine:o,newAnchor:o}),o+=1,r+=1):m===`-`?(t.rows.push({kind:`del`,text:v,oldLine:i,newAnchor:o}),i+=1,s+=1):m===` `&&(t.rows.push({kind:`context`,text:v,oldLine:i,newLine:o,newAnchor:o}),i+=1,o+=1)}for(let c of e)XB(c.rows);return{hunks:e,additions:r,deletions:s,binary:a}}function XB(n){let e=0;for(;e<n.length;){if(n[e].kind===`context`){e+=1;continue}let t=[];for(;e<n.length&&n[e].kind!==`context`;)t.push(n[e]),e+=1;let i=t.map(r=>r.newAnchor).filter(r=>r!==void 0);if(i.length===0)continue;let o={start:Math.min(...i),end:Math.max(...i)};for(let r of t)r.change=o}}function eD(n){let e=[];for(let t of n.hunks)e.push({kind:`hunk`,text:t.header}),e.push(...t.rows);return e}function tD(n){let e=[];for(let t of n.hunks){e.push({hunk:t.header});let i=0;for(;i<t.rows.length;){let o=t.rows[i];if(o.kind===`context`){e.push({left:o,right:o}),i+=1;continue}let r=[],s=[];for(;i<t.rows.length&&t.rows[i].kind===`del`;)r.push(t.rows[i]),i+=1;for(;i<t.rows.length&&t.rows[i].kind===`add`;)s.push(t.rows[i]),i+=1;let a=Math.max(r.length,s.length);for(let l=0;l<a;l+=1)e.push({left:r[l],right:s[l]})}}return e}function nD(n){let e=n.split(`
|
|
109
|
+
`);e.at(-1)===``&&e.pop();let t=e.map(o=>`+${o}`).join(`
|
|
110
|
+
`);return`${`@@ -0,0 +1,${e.length} @@`}
|
|
111
|
+
${t}${t.length===0?``:`
|
|
112
|
+
`}`}var JB=[`source`];var e$=[`gutter`];var t$=(n,e)=>e.id;function n$(n,e){if(n&1&&(g(0,`span`,4),u(1),_()),n&2)te(`title`,f().tab().commitSubject??``),d(),I(e.slice(0,7))}function i$(n,e){if(n&1){let t=L();g(0,`button`,16),F(`click`,function(){D(t);return T(f(2).setMode(`file`))}),u(1,` File `),_()}if(n&2)q(`on`,f(2).mode()===`file`)}function o$(n,e){if(n&1&&(g(0,`span`,8),u(1),_()),n&2){let t=f(2);d(),I(t.diffStats())}}function r$(n,e){if(n&1){let t=L();g(0,`div`,12),E(1,i$,2,2,`button`,13),g(2,`button`,14),F(`click`,function(){D(t);return T(f().setMode(`unified`))}),u(3,` Unified `),_(),g(4,`button`,15),F(`click`,function(){D(t);return T(f().setMode(`split`))}),u(5,` Split `),_()(),E(6,o$,2,1,`span`,8)}if(n&2){let t=f();d(),S(t.tab().commitHash===void 0?1:-1),d(),q(`on`,t.mode()===`unified`),d(2),q(`on`,t.mode()===`split`),d(2),S(t.mode()!==`file`?6:-1)}}function s$(n,e){n&1&&(g(0,`span`,6),u(1),_()),n&2&&(te(`title`,`Pinned to the next prompt`),d(),I(e))}function a$(n,e){if(n&1&&(g(0,`span`,6),u(1),_()),n&2){let t=f();te(`title`,`Pinned to the next prompt`),d(),I(t.pinnedCount()===1?`1 range`:t.pinnedCount()+` ranges`)}}function l$(n,e){n&1&&(g(0,`p`,10),u(1,`Reading the changes…`),_())}function c$(n,e){n&1&&(g(0,`p`,11),u(1),_()),n&2&&(d(),I(e))}function d$(n,e){if(n&1&&(g(0,`p`,10),u(1),_()),n&2){let t=f(2);d(),ie(`Binary file · `,t.size(),` · no textual diff.`)}}function u$(n,e){if(n&1&&(g(0,`p`,10),u(1),_()),n&2){let t=f(2);d(),ie(` `,t.tab().commitHash?`This commit did not change this file.`:`No changes against HEAD.`,` `)}}function p$(n,e){n&1&&(g(0,`div`,19)(1,`span`,21),u(2),_()()),n&2&&(d(2),I(e))}function f$(n,e){if(n&1){let t=L();g(0,`div`,20)(1,`div`,22),F(`click`,function(){D(t);let o=f().$implicit;return T(f(3).toggleChange(o.left))}),g(2,`span`,23),u(3),_(),g(4,`span`,24),u(5),_(),fe(6,`span`,25),_(),g(7,`div`,22),F(`click`,function(){D(t);let o=f().$implicit;return T(f(3).toggleChange(o.right))}),g(8,`span`,23),u(9),_(),g(10,`span`,24),u(11),_(),fe(12,`span`,25),_()()}if(n&2){let t=f().$implicit,i=f(3);d(),q(`del`,t.left?.kind===`del`)(`clickable`,t.left?.change!==void 0)(`pinned`,i.isChangePinned(t.left?.newAnchor)),Y(`title`,t.left?.change!==void 0?`Click to pin this change to your next message`:null),d(2),I(t.left?.oldLine??``),d(2),I(i.diffSign(t.left)),d(),te(`innerHTML`,t.left?.html,qo),d(),q(`add`,t.right?.kind===`add`)(`clickable`,t.right?.change!==void 0)(`pinned`,i.isChangePinned(t.right?.newAnchor)),Y(`title`,t.right?.change!==void 0?`Click to pin this change to your next message`:null),d(2),I(t.right?.newLine??``),d(2),I(i.diffSign(t.right)),d(),te(`innerHTML`,t.right?.html,qo)}}function m$(n,e){if(n&1&&E(0,p$,3,1,`div`,19)(1,f$,13,20,`div`,20),n&2){let t,i=e.$implicit;S((t=i.hunk)?0:1,t)}}function h$(n,e){if(n&1&&(g(0,`div`,17),X(1,m$,2,1,null,null,Ci),_()),n&2){let t=f(2);d(),J(t.splitView())}}function g$(n,e){if(n&1&&(g(0,`div`,19)(1,`span`,21),u(2),_()()),n&2){let t=f().$implicit;d(2),I(t.text)}}function y$(n,e){if(n&1){let t=L();g(0,`div`,27),F(`click`,function(){D(t);let o=f().$implicit;return T(f(3).toggleChange(o))}),g(1,`span`,23),u(2),_(),g(3,`span`,23),u(4),_(),g(5,`span`,24),u(6),_(),fe(7,`span`,25),_()}if(n&2){let t=f().$implicit,i=f(3);q(`add`,t.kind===`add`)(`del`,t.kind===`del`)(`clickable`,t.change!==void 0)(`pinned`,i.isChangePinned(t.newAnchor)),Y(`title`,t.change!==void 0?`Click to pin this change to your next message`:null),d(2),I(t.oldLine??``),d(2),I(t.newLine??``),d(2),I(i.diffSign(t)),d(),te(`innerHTML`,t.html,qo)}}function _$(n,e){if(n&1&&E(0,g$,3,1,`div`,19)(1,y$,8,13,`div`,26),n&2){let t=e.$implicit;S(t.kind===`hunk`?0:1)}}function v$(n,e){if(n&1&&(g(0,`div`,18),X(1,_$,2,1,null,null,Ci),_()),n&2){let t=f(2);d(),J(t.unifiedView())}}function b$(n,e){if(n&1&&E(0,l$,2,0,`p`,10)(1,c$,2,1,`p`,11)(2,d$,2,1,`p`,10)(3,u$,2,1,`p`,10)(4,h$,3,0,`div`,17)(5,v$,3,0,`div`,18),n&2){let t,i=f();S(i.tab().diffLoading&&i.diffText().length===0?0:(t=i.tab().diffError)?1:i.parsed().binary?2:i.parsed().hunks.length===0?3:i.mode()===`split`?4:5,t)}}function x$(n,e){if(n&1&&(g(0,`p`,10),u(1),_()),n&2){let t=f();d(),ie(`Reading `,t.tab().title,`…`)}}function C$(n,e){n&1&&(g(0,`p`,11),u(1),_()),n&2&&(d(),I(e))}function w$(n,e){if(n&1&&(g(0,`p`,10),u(1),_()),n&2){let t=f();d(),ie(`Binary file · `,t.size(),` · no text preview.`)}}function E$(n,e){if(n&1){let t=L();g(0,`span`,35),F(`pointerdown`,function(o){let r=D(t).$implicit;return T(f(2).startSelection(o,r))}),u(1),_()}if(n&2){let t=e.$implicit;q(`selected`,f(2).isSelected(t)),Y(`data-line`,t),d(),I(t)}}function S$(n,e){if(n&1){let t=L();g(0,`span`,36)(1,`span`,37),F(`pointerdown`,function(o){let r=D(t).$implicit;return T(f(2).startResizeEdge(o,r,`start`))}),_(),g(2,`span`,38),F(`pointerdown`,function(o){let r=D(t).$implicit;return T(f(2).startResizeEdge(o,r,`end`))}),_()()}if(n&2){let t=e.$implicit,i=f(2);Tt(`top`,i.topOf(t),`px`)(`height`,i.heightOf(t),`px`),q(`merged`,t.id===i.mergedId())}}function D$(n,e){if(n&1&&(g(0,`p`,10),u(1),_()),n&2){let t=f(2);d(),ie(`Showing the first 512 KB of `,t.size(),`.`)}}function T$(n,e){if(n&1&&(g(0,`div`,28)(1,`div`,29,0),X(3,E$,2,4,`span`,30,kn),_(),g(5,`div`,31)(6,`pre`,32,1),fe(8,`code`,33),_(),X(9,S$,3,6,`span`,34,t$),_()(),E(11,D$,2,1,`p`,10)),n&2){let t=f();d(3),J(t.lines()),d(5),te(`innerHTML`,t.highlighted(),qo),d(),J(t.highlights()),d(2),S(t.tab().truncated?11:-1)}}function iD(n){return n===void 0?``:n.start===n.end?`L${n.start}`:`L${n.start}\u2013${n.end}`}var M$=19.2;var Jp=class n{tab=se.required();tabs=w(Vt);attachments=w(Zn);animation=w(En);sanitizer=w(Il);display=w(sr);workspace=w(Qn);sourceElement=Ue(`source`);gutterElement=Ue(`gutter`);source=C(()=>{let e=this.tab().content??``;return e.endsWith(`
|
|
113
|
+
`)?e.slice(0,-1):e});lines=C(()=>{let e=this.source(),t=e.length===0?1:e.split(`
|
|
114
|
+
`).length;return Array.from({length:t},(i,o)=>o+1)});highlighted=C(()=>{let e=this.tab();return e.content===void 0||e.binary?this.sanitizer.bypassSecurityTrustHtml(``):this.sanitizer.bypassSecurityTrustHtml(Ea(this.source(),e.language).html)});language=C(()=>this.tab().language??`text`);size=C(()=>k$(this.tab().size??0));changed=C(()=>yp(this.workspace.status()).get(this.tab().path));diffable=C(()=>this.changed()!==void 0||this.tab().commitHash!==void 0);mode=C(()=>this.diffable()?this.tab().commitHash!==void 0?this.display.diffView()===`split`?`split`:`unified`:this.display.diffView():`file`);diffText=C(()=>{let e=this.tab();return e.diff!==void 0&&e.diff.trim().length>0?e.diff:this.changed()===`U`&&e.content!==void 0&&!e.binary?nD(e.content):e.diff??``});parsed=C(()=>JS(this.diffText()));unified=C(()=>eD(this.parsed()));split=C(()=>tD(this.parsed()));unifiedView=C(()=>{let e=this.language();return this.unified().map(t=>s(r({},t),{html:t.kind===`hunk`?``:this.sanitizer.bypassSecurityTrustHtml(Ea(t.text,e).html)}))});splitView=C(()=>{let e=this.language(),t=i=>i===void 0?void 0:s(r({},i),{html:this.sanitizer.bypassSecurityTrustHtml(Ea(i.text,e).html)});return this.split().map(i=>({hunk:i.hunk,left:t(i.left),right:t(i.right)}))});diffStats=C(()=>{let e=this.parsed();return`+${e.additions} \u2212${e.deletions}`});lineHeight=N(M$);selected=N(void 0);editingId=N(void 0);mergedId=N(void 0);anchor=1;rangeLabel=C(()=>iD(this.selected()));highlights=C(()=>{let e=this.tab().path,t=this.editingId(),i=this.attachments.pins().filter(r=>r.path===e&&r.startLine!==void 0&&r.id!==t).map(r=>({id:r.id,start:r.startLine,end:r.endLine??r.startLine})),o=this.selected();return o===void 0?i:[...i,{id:`live`,start:o.start,end:o.end}]});pinnedCount=C(()=>this.highlights().filter(e=>e.id!==`live`).length);topOf(e){return(e.start-1)*this.lineHeight()}heightOf(e){return(e.end-e.start+1)*this.lineHeight()}constructor(){An(()=>this.measureLineHeight()),ne(()=>{this.tab(),zn(()=>this.selected.set(void 0))}),ne(()=>{if(this.mode()===`file`)return;let e=this.tab().id;zn(()=>this.tabs.loadDiff(e))})}setMode(e){this.display.setDiffView(e)}diffSign(e){if(e===void 0)return``;switch(e.kind){case`add`:return`+`;case`del`:return`−`;case`context`:return` `;default:return``}}isChangePinned(e){if(e===void 0)return!1;let t=this.tab().path;return this.attachments.pins().some(i=>i.path===t&&i.startLine!==void 0&&e>=i.startLine&&e<=(i.endLine??i.startLine))}toggleChange(e){let t=e!==void 0&&e.kind!==`hunk`?e.change:void 0;if(t===void 0)return;let i=this.tab().path,o=this.attachments.pins().find(r=>r.path===i&&r.startLine!==void 0&&r.startLine<=t.start&&(r.endLine??r.startLine)>=t.end);if(o!==void 0){this.attachments.removePin(o.id);return}this.attachments.pin({path:i,startLine:t.start,endLine:t.end>t.start?t.end:void 0}),this.attachments.say(`info`,`Pinned ${this.tab().title} ${iD(t)} to this message.`)}isSelected(e){return this.highlights().some(t=>e>=t.start&&e<=t.end)}startSelection(e,t){if(e.button!==0)return;e.preventDefault(),this.anchor=t,this.editingId.set(this.highlights().find(s=>s.id!==`live`&&t>=s.start&&t<=s.end)?.id),this.selected.set({start:t,end:t});let i=e.currentTarget;try{i.setPointerCapture(e.pointerId)}catch{}let o=s=>{let a=this.lineAt(s.clientY);a!==void 0&&this.selected.set({start:Math.min(this.anchor,a),end:Math.max(this.anchor,a)})},r=()=>{i.removeEventListener(`pointermove`,o),i.removeEventListener(`pointerup`,r),i.removeEventListener(`pointercancel`,r),this.pinSelection()};i.addEventListener(`pointermove`,o),i.addEventListener(`pointerup`,r),i.addEventListener(`pointercancel`,r)}clearSelection(){this.selected.set(void 0),this.editingId.set(void 0)}reload(){this.tabs.reload(this.tab().id)}startResizeEdge(e,t,i){if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let o=e.currentTarget;try{o.setPointerCapture(e.pointerId)}catch{}let r=a=>{let l=this.lineAt(a.clientY);if(l===void 0)return;let c=this.attachments.pins().find(k=>k.id===t.id),p=c?.startLine??t.start,m=c?.endLine??p,v=i===`start`?Math.min(l,m):p,b=i===`end`?Math.max(l,p):m;this.attachments.setPinRange(t.id,{startLine:v,endLine:b>v?b:void 0})},s=()=>{o.removeEventListener(`pointermove`,r),o.removeEventListener(`pointerup`,s),o.removeEventListener(`pointercancel`,s);let a=this.attachments.pins().find(l=>l.id===t.id);if(a?.startLine!==void 0){let l=this.attachments.pins().length,c=this.attachments.pin({path:this.tab().path,startLine:a.startLine,endLine:a.endLine},t.id);this.attachments.pins().length<l&&this.celebrate(c,{start:a.startLine,end:a.endLine??a.startLine})}};o.addEventListener(`pointermove`,r),o.addEventListener(`pointerup`,s),o.addEventListener(`pointercancel`,s)}measureLineHeight(){let e=this.sourceElement()?.nativeElement;if(e===void 0)return;let t=Number.parseFloat(getComputedStyle(e).lineHeight);Number.isFinite(t)&&t>0&&this.lineHeight.set(t)}lineAt(e){let t=this.gutterElement()?.nativeElement;if(t===void 0)return;let i=t.getBoundingClientRect().top,o=Math.floor((e-i)/this.lineHeight())+1;return Math.min(this.lines().length,Math.max(1,o))}pinSelection(){let e=this.selected();if(e===void 0)return;let t=e.end>e.start?e.end:void 0,i=this.attachments.pins().length,o=this.attachments.pin({path:this.tab().path,startLine:e.start,endLine:t},this.editingId());this.attachments.pins().length<i&&this.celebrate(o,{start:e.start,end:e.end}),this.attachments.say(`info`,`Pinned ${this.tab().title} ${this.rangeLabel()} to this message.`),this.selected.set(void 0),this.editingId.set(void 0)}celebrate(e,t){if(e.length===0)return;this.mergedId.set(e),setTimeout(()=>{this.mergedId()===e&&this.mergedId.set(void 0)},720);let i=this.attachments.pins().find(c=>c.id===e),o=this.sourceElement()?.nativeElement.closest(`.source-wrap`);if(i?.startLine===void 0||!(o instanceof HTMLElement))return;let r=i.startLine,s=i.endLine??r,a=this.lineHeight(),l=s>t.end?t.end*a:r<t.start?(t.start-1)*a:((t.start+t.end)/2-.5)*a;this.animation.confetti(o,{x:o.clientWidth/2,y:l})}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-file-preview`]],viewQuery:function(t,i){t&1&&nt(i.sourceElement,JB,5)(i.gutterElement,e$,5),t&2&&ot(2)},inputs:{tab:[1,`tab`]},decls:19,vars:8,consts:[[`gutter`,``],[`source`,``],[1,`head`],[1,`path`,3,`title`],[1,`commit-ref`,3,`title`],[1,`meta`],[1,`range`,3,`title`],[1,`badge`],[1,`stat`],[`type`,`button`,`title`,`Reload from disk`,`aria-label`,`Reload from disk`,1,`icon`,3,`click`],[1,`hint`],[1,`hint`,`error`],[`role`,`group`,`aria-label`,`Preview mode`,1,`modes`],[`type`,`button`,`title`,`The file's content`,3,`on`],[`type`,`button`,`title`,`Unified diff`,3,`click`],[`type`,`button`,`title`,`Side-by-side diff`,3,`click`],[`type`,`button`,`title`,`The file's content`,3,`click`],[1,`diff`,`split`],[1,`diff`],[1,`drow`,`hunk`],[1,`srow`],[1,`dtext`],[1,`side`,3,`click`],[1,`dnum`],[1,`dsign`],[1,`dtext`,3,`innerHTML`],[1,`drow`,3,`add`,`del`,`clickable`,`pinned`],[1,`drow`,3,`click`],[1,`code`],[`title`,`Drag line numbers to pin a range to your next message`,1,`gutter`],[1,`num`,3,`selected`],[1,`source-wrap`],[1,`source`],[1,`hljs`,3,`innerHTML`],[1,`selection`,3,`merged`,`top`,`height`],[1,`num`,3,`pointerdown`],[1,`selection`],[`title`,`Drag to resize`,`aria-hidden`,`true`,1,`edge`,`top`,3,`pointerdown`],[`title`,`Drag to resize`,`aria-hidden`,`true`,1,`edge`,`bottom`,3,`pointerdown`]],template:function(t,i){if(t&1&&(g(0,`header`,2)(1,`span`,3),u(2),_(),E(3,n$,2,2,`span`,4),g(4,`div`,5),E(5,r$,7,6),E(6,s$,2,2,`span`,6)(7,a$,2,2,`span`,6),g(8,`span`,7),u(9),_(),g(10,`span`,8),u(11),_(),g(12,`button`,9),F(`click`,function(){return i.reload()}),u(13,` ⟳ `),_()()(),E(14,b$,6,1)(15,x$,2,1,`p`,10)(16,C$,2,1,`p`,11)(17,w$,2,1,`p`,10)(18,T$,12,2)),t&2){let o,r,s;d(),te(`title`,i.tab().path),d(),I(i.tab().path),d(),S((o=i.tab().commitHash)?3:-1,o),d(2),S(i.diffable()?5:-1),d(),S((r=i.rangeLabel())?6:i.pinnedCount()>0?7:-1,r),d(3),I(i.language()),d(2),I(i.size()),d(3),S(i.mode()!==`file`?14:i.tab().loading?15:(s=i.tab().error)?16:i.tab().binary?17:18,s)}},styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:none;min-height:var(--%NS%morse-head-height);padding:0 10px 0 14px;border-bottom:1px solid var(--%NS%morse-border)}.path[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono);font-size:12px;color:var(--%NS%morse-fg)}.commit-ref[_ngcontent-%COMP%]{flex:none;padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--%NS%morse-fg-muted) 12%,transparent);color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:10px;line-height:16px}.meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:none}.badge[_ngcontent-%COMP%]{padding:1px 6px;border-radius:999px;background:var(--%NS%morse-badge-bg, var(--%NS%morse-hover));color:var(--%NS%morse-fg-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.stat[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px}.range[_ngcontent-%COMP%]{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--%NS%morse-accent) 22%,transparent);color:var(--%NS%morse-fg);font-size:11px;font-variant-numeric:tabular-nums}.icon[_ngcontent-%COMP%]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:none;color:var(--%NS%morse-fg-muted);cursor:pointer}.icon[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.modes[_ngcontent-%COMP%]{display:inline-flex;flex:none;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);overflow:hidden}.modes[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:2px 8px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font:inherit;font-size:11px;cursor:pointer}.modes[_ngcontent-%COMP%] button[_ngcontent-%COMP%] + button[_ngcontent-%COMP%]{border-left:1px solid var(--%NS%morse-border)}.modes[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.modes[_ngcontent-%COMP%] button.on[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-accent) 24%,transparent);color:var(--%NS%morse-fg)}.diff[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:auto;padding:6px 0;background:var(--%NS%morse-code-bg, var(--%NS%morse-bg));font-family:var(--%NS%morse-font-mono);font-size:12px;line-height:1.6}.drow[_ngcontent-%COMP%], .srow[_ngcontent-%COMP%]{display:flex;align-items:stretch;min-height:1.6em}.dtext[_ngcontent-%COMP%]{flex:1;min-width:0;padding:0 16px 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.dnum[_ngcontent-%COMP%]{flex:none;min-width:44px;padding:0 8px 0 10px;color:var(--%NS%morse-fg-muted);text-align:right;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;opacity:.7}.dsign[_ngcontent-%COMP%]{flex:none;width:14px;text-align:center;color:var(--%NS%morse-fg-muted);-webkit-user-select:none;user-select:none}.drow.add[_ngcontent-%COMP%], .side.add[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-success) 14%,transparent)}.drow.del[_ngcontent-%COMP%], .side.del[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-error) 14%,transparent)}.drow.add[_ngcontent-%COMP%] .dsign[_ngcontent-%COMP%], .side.add[_ngcontent-%COMP%] .dsign[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.drow.del[_ngcontent-%COMP%] .dsign[_ngcontent-%COMP%], .side.del[_ngcontent-%COMP%] .dsign[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.drow.clickable[_ngcontent-%COMP%], .side.clickable[_ngcontent-%COMP%]{cursor:pointer}.drow.clickable[_ngcontent-%COMP%]:hover, .side.clickable[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--%NS%morse-accent) 12%,transparent)}.drow.pinned[_ngcontent-%COMP%], .side.pinned[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-accent) 22%,transparent);box-shadow:inset 2px 0 color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent)}.drow.hunk[_ngcontent-%COMP%]{margin:6px 0 2px;padding:2px 12px;background:var(--%NS%morse-code-head, var(--%NS%morse-hover));color:var(--%NS%morse-fg-muted)}.srow[_ngcontent-%COMP%] .side[_ngcontent-%COMP%]{flex:1 1 50%;min-width:0;display:flex;align-items:stretch;border-left:1px solid var(--%NS%morse-border)}.srow[_ngcontent-%COMP%] .side[_ngcontent-%COMP%]:first-child{border-left:0}.code[_ngcontent-%COMP%]{display:flex;flex:1;min-height:0;overflow:auto;padding:8px 0;background:var(--%NS%morse-code-bg, var(--%NS%morse-bg))}pre[_ngcontent-%COMP%], .gutter[_ngcontent-%COMP%]{margin:0;font-family:var(--%NS%morse-font-mono);font-size:12px;line-height:1.6}.gutter[_ngcontent-%COMP%]{flex:none;position:sticky;left:0;z-index:2;padding:0 10px 0 14px;color:var(--%NS%morse-fg-muted);text-align:right;-webkit-user-select:none;user-select:none;background:var(--%NS%morse-code-bg, var(--%NS%morse-bg));opacity:.7}.gutter[_ngcontent-%COMP%] .num[_ngcontent-%COMP%]{display:block;height:1.6em;cursor:pointer;font-variant-numeric:tabular-nums}.gutter[_ngcontent-%COMP%] .num.selected[_ngcontent-%COMP%]{color:var(--%NS%morse-fg);background:color-mix(in srgb,var(--%NS%morse-accent) 34%,transparent);opacity:1}.source-wrap[_ngcontent-%COMP%]{position:relative;flex:1;min-width:0}.source[_ngcontent-%COMP%]{position:relative;z-index:1;padding:0 16px 0 4px;white-space:pre}.selection[_ngcontent-%COMP%]{position:absolute;left:0;right:0;z-index:2;pointer-events:none;background:color-mix(in srgb,var(--%NS%morse-accent) 16%,transparent);border-left:2px solid color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent)}.selection.merged[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_selection-merged .62s ease-out}@keyframes _ngcontent-%COMP%_selection-merged{0%{background:color-mix(in srgb,var(--%NS%morse-accent) 60%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--%NS%morse-accent) 80%,transparent)}to{background:color-mix(in srgb,var(--%NS%morse-accent) 16%,transparent);box-shadow:inset 0 0 0 0 transparent}}@property --%NS%morse-rainbow{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.selection.merged[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;border-radius:3px;padding:2px;background:conic-gradient(from var(--%NS%morse-rainbow),#f43f5e,#fb923c,#facc15,#4ade80,#38bdf8,#a78bfa,#f43f5e);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;animation:_ngcontent-%COMP%_morse-rainbow-spin .7s linear}@keyframes _ngcontent-%COMP%_morse-rainbow-spin{0%{--%NS%morse-rainbow: 0deg}to{--%NS%morse-rainbow: 360deg}}.edge[_ngcontent-%COMP%]{position:absolute;left:0;right:0;height:6px;pointer-events:auto;cursor:ns-resize}.edge.top[_ngcontent-%COMP%]{top:-3px}.edge.bottom[_ngcontent-%COMP%]{bottom:-3px}.edge[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent)}.hint[_ngcontent-%COMP%]{margin:0;padding:12px 16px;color:var(--%NS%morse-fg-muted);font-size:12px}.hint.error[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}`]})};function k$(n){return n<1024?`${n} B`:n<1048576?`${(n/1024).toFixed(n<10240?1:0)} KB`:`${(n/1048576).toFixed(1)} MB`}var I$=(n,e)=>e.value;function N$(n,e){n&1&&(g(0,`p`,1),u(1),_()),n&2&&(d(),I(e))}function P$(n,e){if(n&1){let t=L();g(0,`button`,4),F(`click`,function(){let o=D(t).$implicit;return T(f(3).choose(o.value))}),u(1),_()}if(n&2){let t=e.$implicit;d(),ie(` `,t.label,` `)}}function O$(n,e){if(n&1&&(E(0,N$,2,1,`p`,1),g(1,`div`,2),X(2,P$,2,1,`button`,3,I$),_()),n&2){let t,i=f(),o=f();S((t=o.messageOf(i))?0:-1,t),d(2),J(o.optionsOf(i))}}function A$(n,e){if(n&1){let t=L();g(0,`p`),u(1),_(),g(2,`div`,2)(3,`button`,5),F(`click`,function(){D(t);return T(f(2).decide(!0))}),u(4,`Yes`),_(),g(5,`button`,4),F(`click`,function(){D(t);return T(f(2).decide(!1))}),u(6,`No`),_()()}if(n&2){let t=f(),i=f();d(),I(i.messageOf(t))}}function R$(n,e){if(n&1){let t=L();g(0,`input`,6),F(`input`,function(o){D(t);return T(f(2).onInput(o))}),_(),g(1,`div`,2)(2,`button`,5),F(`click`,function(){D(t);return T(f(2).submit())}),u(3,`Submit`),_(),g(4,`button`,4),F(`click`,function(){D(t);return T(f(2).cancel())}),u(5,`Cancel`),_()()}if(n&2){let t=f(),i=f();te(`value`,i.value()||i.prefillOf(t))(`placeholder`,i.placeholderOf(t))}}function L$(n,e){if(n&1){let t=L();g(0,`textarea`,7),F(`input`,function(o){D(t);return T(f(2).onInput(o))}),_(),g(1,`div`,2)(2,`button`,5),F(`click`,function(){D(t);return T(f(2).submit())}),u(3,`Submit`),_(),g(4,`button`,4),F(`click`,function(){D(t);return T(f(2).cancel())}),u(5,`Cancel`),_()()}if(n&2){let t=f(),i=f();te(`value`,i.value()||i.prefillOf(t))}}function F$(n,e){if(n&1&&(g(0,`section`,0)(1,`header`),u(2),_(),E(3,O$,4,1)(4,A$,7,1)(5,R$,6,2)(6,L$,6,1),_()),n&2){let t,i=e;d(2),I(i.title),d(),S((t=i.kind)===`select`?3:t===`confirm`?4:t===`input`?5:t===`editor`?6:-1)}}var ef=class n{morse=w(Ie);request=this.morse.pendingInteraction;value=N(``);visible=C(()=>this.request()!==null&&this.morse.capabilities()?.nativeDialogs!==!0);onInput(e){this.value.set(e.target.value)}choose(e){this.respond({value:e})}decide(e){this.respond({confirmed:e})}submit(){this.respond({value:this.value()}),this.value.set(``)}cancel(){this.respond({cancelled:!0}),this.value.set(``)}messageOf(e){return e.kind===`select`||e.kind===`confirm`?e.message??``:``}optionsOf(e){return e.kind===`select`?e.options:[]}placeholderOf(e){return e.kind===`input`?e.placeholder??``:``}prefillOf(e){return e.kind===`editor`||e.kind===`input`?e.value??``:``}respond(e){let t=this.request();t&&this.morse.respond(r({requestId:t.requestId},e))}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-interaction-panel`]],decls:1,vars:1,consts:[[`role`,`dialog`,`aria-live`,`polite`,1,`dialog`],[1,`muted`],[1,`options`],[`type`,`button`,1,`secondary`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,3,`click`],[`type`,`text`,3,`input`,`value`,`placeholder`],[`rows`,`5`,3,`input`,`value`]],template:function(t,i){if(t&1&&E(0,F$,7,2,`section`,0),t&2){let o;S((o=i.visible()&&i.request())?0:-1,o)}},styles:[`.dialog[_ngcontent-%COMP%]{margin:8px;padding:8px 10px;border:1px solid var(--%NS%morse-focus);border-radius:4px;background:var(--%NS%morse-blockquote);display:flex;flex-direction:column;gap:8px}header[_ngcontent-%COMP%]{font-weight:600}p[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap}.options[_ngcontent-%COMP%]{display:flex;gap:6px;flex-wrap:wrap}`]})};var by=`morse.panel.height`;var oD=`morse.panel.expanded`;var rD=`morse.panel.full`;var cD=`morse.panel.view`;var V$=120;var j$=900;var xy=260;function sD(n){try{return globalThis.localStorage?.getItem(n)===`1`}catch{return!1}}function aD(n,e){try{globalThis.localStorage?.setItem(n,e?`1`:`0`)}catch{}}function B$(){try{return globalThis.localStorage?.getItem(cD)??void 0}catch{return}}function lD(n){try{globalThis.localStorage?.setItem(cD,n)}catch{}}function dD(n){return Math.round(Math.min(j$,Math.max(V$,n)))}function $$(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.view,i=e.height;return r(s(r({},typeof t==`string`&&t.length>0?{view:t}:{}),{expanded:e.expanded===!0,full:e.full===!0}),typeof i==`number`&&Number.isFinite(i)?{height:i}:{})}function H$(){try{let n=globalThis.localStorage?.getItem(by);if(n==null)return;let e=Number.parseInt(n,10);return Number.isFinite(e)?dD(e):void 0}catch{return}}function z$(n){try{globalThis.localStorage?.setItem(by,String(n))}catch{}}var ao=class n{active=N(B$());open=N(sD(oD));heightSignal=N(H$());fullSignal=N(sD(rD));registered=N({});activeView=this.active.asReadonly();expanded=this.open.asReadonly();height=this.heightSignal.asReadonly();full=C(()=>this.fullSignal()&&this.open());actions=C(()=>{let e=this.active();return e===void 0?[]:this.registered()[e]??[]});registerActions(e,t){this.registered.update(i=>s(r({},i),{[e]:t}))}clearActions(e){this.registered.update(t=>{if(!(e in t))return t;let i=r({},t);return delete i[e],i})}toggle(e){if(this.active()===e&&this.open()){this.setExpanded(!1);return}this.active.set(e),lD(e),this.setExpanded(!0)}collapse(){this.setExpanded(!1)}toggleFull(){this.open()&&this.setFull(!this.fullSignal())}setHeight(e,t=!0){let i=dD(e);this.heightSignal.set(i),t&&z$(i)}resetHeight(){this.heightSignal.set(void 0);try{globalThis.localStorage?.removeItem(by)}catch{}}snapshot(){return r(s(r({},this.active()!==void 0?{view:this.active()}:{}),{expanded:this.open(),full:this.fullSignal()}),this.heightSignal()!==void 0?{height:this.heightSignal()}:{})}restore(e){let t=$$(e);t!==void 0&&(t.view!==void 0&&(this.active.set(t.view),lD(t.view)),this.setExpanded(t.expanded),this.setFull(t.expanded&&t.full),t.height!==void 0&&this.setHeight(t.height))}setExpanded(e){this.open.set(e),aD(oD,e),e||this.setFull(!1)}setFull(e){this.fullSignal.set(e),aD(rD,e)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var U$=[`screen`];function G$(n,e){if(n&1){let t=L();g(0,`button`,3),F(`click`,function(){D(t);return T(f().restart())}),u(1,`Restart`),_()}}var tf=class n{morse=w(Ie);destroyRef=w(He);screen=Ue(`screen`);id=se.required();cwd=se(void 0);titleChange=je();term;fit;observer;destroyed=!1;ended=N(void 0);constructor(){let e=this.morse.onTerminalOutput(i=>{i.terminalId===this.id()&&this.term?.write(i.data)}),t=this.morse.onTerminalExit(i=>{i.terminalId===this.id()&&this.showExit(i.code,i.error)});this.destroyRef.onDestroy(()=>{this.destroyed=!0,e(),t(),this.observer?.disconnect(),this.term?.dispose(),this.morse.closeTerminal(this.id())}),An(()=>{this.start()})}async start(){let e=this.screen()?.nativeElement;if(e===void 0)return;let[t,i]=await Promise.all([Cy(import(`./chunk-veepV9dF.js`)),Cy(import(`./chunk-Dk_j780x.js`))]);if(this.destroyed)return;let o=new t.Terminal({cursorBlink:!0,fontFamily:this.monoFont(),fontSize:12,lineHeight:1.2,scrollback:5e3,theme:this.theme()}),r=new i.FitAddon;o.loadAddon(r),o.open(e),this.term=o,this.fit=r,this.enableWebgl(o),o.onData(s=>this.morse.sendTerminal(this.id(),s)),o.onResize(({cols:s,rows:a})=>this.morse.resizeTerminal(this.id(),s,a)),o.onTitleChange(s=>this.titleChange.emit(s)),this.fitNow(),this.morse.openTerminal(this.id(),{cwd:this.cwd(),cols:o.cols,rows:o.rows}),o.focus(),typeof ResizeObserver<`u`&&(this.observer=new ResizeObserver(()=>this.fitNow()),this.observer.observe(e))}async enableWebgl(e){try{let{WebglAddon:t}=await Cy(import(`./chunk-CwVAC7xx.js`));if(this.destroyed||this.term!==e)return;let i=new t;e.loadAddon(i),i.onContextLoss(()=>i.dispose())}catch{}}restart(){this.ended.set(void 0),this.term?.write(`\r
|
|
115
|
+
`),this.morse.openTerminal(this.id(),{cwd:this.cwd(),cols:this.term?.cols,rows:this.term?.rows}),this.term?.focus()}showExit(e,t){let i=t!==void 0?`\r
|
|
116
|
+
\x1B[31m${t}\x1B[0m\r
|
|
117
|
+
`:`\r
|
|
118
|
+
\x1B[90m[process exited${e===void 0?``:` with code ${e}`}]\x1B[0m\r
|
|
119
|
+
`;this.term?.write(i),this.ended.set({code:e,error:t})}fitNow(){let e=this.screen()?.nativeElement;if(!(e===void 0||e.clientWidth===0||e.clientHeight===0))try{this.fit?.fit()}catch{}}monoFont(){let e=getComputedStyle(document.documentElement).getPropertyValue(`--morse-font-mono`).trim();return e.length>0?e:`monospace`}theme(){let e=t=>getComputedStyle(document.documentElement).getPropertyValue(t).trim();return{background:e(`--morse-bg`),foreground:e(`--morse-fg`),cursor:e(`--morse-accent`),selectionBackground:e(`--morse-hover`)}}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-terminal`]],viewQuery:function(t,i){t&1&&nt(i.screen,U$,5),t&2&&ot()},inputs:{id:[1,`id`],cwd:[1,`cwd`]},outputs:{titleChange:`titleChange`},decls:3,vars:1,consts:[[`screen`,``],[`aria-label`,`Terminal`,1,`screen`,`morse-terminal-screen`],[`type`,`button`,1,`restart`],[`type`,`button`,1,`restart`,3,`click`]],template:function(t,i){t&1&&(fe(0,`div`,1,0),E(2,G$,2,0,`button`,2)),t&2&&(d(2),S(i.ended()!==void 0?2:-1))},styles:[`[_nghost-%COMP%]{position:relative;display:flex;flex:1;min-width:0;min-height:0}.screen[_ngcontent-%COMP%]{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.restart[_ngcontent-%COMP%]{position:absolute;right:10px;bottom:10px;padding:3px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);font-size:11px;cursor:pointer}.restart[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}`]})};async function Cy(n){let e=await n;return e.default??e}var q$=[`renameInput`];var of=(n,e)=>e.id;function W$(n,e){if(n&1){let t=L();h(0,`input`,17,0),A(`click`,function(o){return o.stopPropagation()})(`dblclick`,function(o){return o.stopPropagation()})(`keydown`,function(o){D(t);let r=f().$implicit;return T(f(2).onRenameKey(r.id,o))})(`blur`,function(o){D(t);let r=f().$implicit;return T(f(2).commitRename(r.id,o.target.value))}),y()}if(n&2){let t=f().$implicit;j(`value`,t.name)}}function Y$(n,e){if(n&1&&(h(0,`span`,19),u(1),y()),n&2){let t=f(2).$implicit;d(),ie(`(`,t.count,`)`)}}function K$(n,e){if(n&1&&(h(0,`span`,18),u(1),y(),E(2,Y$,2,1,`span`,19)),n&2){let t=f().$implicit;d(),I(t.name),d(),S(t.count>1?2:-1)}}function Z$(n,e){if(n&1){let t=L();h(0,`div`,13),A(`click`,function(){let o=D(t).$implicit;return T(f(2).select(o))})(`keydown.enter`,function(){let o=D(t).$implicit;return T(f(2).select(o))})(`dblclick`,function(o){let r=D(t).$implicit;return T(f(2).beginRename(r.id,o))})(`auxclick`,function(o){let r=D(t).$implicit;return T(f(2).onAuxClick(r.id,o))}),h(1,`span`,14),u(2,`❯`),y(),E(3,W$,2,1,`input`,15)(4,K$,3,2),h(5,`button`,16),A(`click`,function(o){let r=D(t).$implicit;return T(f(2).close(r,o))}),u(6,` × `),y()()}if(n&2){let t=e.$implicit,i=f(2);q(`active`,t.id===i.activeGroup()?.id),j(`title`,t.title+` — double-click to rename`),Y(`aria-selected`,t.id===i.activeGroup()?.id),d(3),S(i.editingId()===t.id?3:4),d(2),j(`title`,`Close `+t.title)}}function Q$(n,e){if(n&1){let t=L();h(0,`div`,2)(1,`div`,7),X(2,Z$,7,6,`div`,8,of),y(),h(4,`button`,9),A(`click`,function(){D(t);return T(f().split())}),De(),h(5,`svg`,10),ee(6,`rect`,11)(7,`path`,12),y()()()}if(n&2){let t=f();d(2),J(t.mine())}}function X$(n,e){n&1&&(h(0,`p`,4),u(1,`No terminals in this session.`),y())}function J$(n,e){if(n&1){let t=L();h(0,`div`,24),A(`pointerdown`,function(o){D(t);let r=f().$index,s=f().$implicit;return T(f().startResize(s,r-1,o))}),y()}}function eH(n,e){if(n&1){let t=L();E(0,J$,1,0,`div`,21),h(1,`div`,22),A(`pointerdown`,function(){let o=D(t).$implicit;return T(f(2).focusPane(o))}),h(2,`morse-terminal`,23),A(`titleChange`,function(o){let r=D(t).$implicit;return T(f(2).onTitleChange(r.id,o))}),y()()}if(n&2){let t=e.$implicit,i=e.$index,o=f().$implicit;S(i>0?0:-1),d(),Tt(`flex-grow`,o.sizes[i]),d(),j(`id`,t.id)(`cwd`,t.cwd)}}function tH(n,e){if(n&1&&(h(0,`div`,20),X(1,eH,3,5,null,null,of),y()),n&2){let t=e.$implicit,i=f();q(`hidden`,t.id!==i.activeGroup()?.id),d(),J(t.panes)}}function nH(n,e){if(n&1){let t=L();h(0,`div`,26),A(`click`,function(){let o=D(t).$implicit;return T(f(2).focusPane(o))})(`keydown.enter`,function(){let o=D(t).$implicit;return T(f(2).focusPane(o))}),h(1,`span`,14),u(2,`❯`),y(),h(3,`span`,18),u(4),y(),h(5,`button`,27),A(`click`,function(o){let r=D(t).$implicit;return T(f(2).closePane(r,o))}),u(6,` × `),y()()}if(n&2){let t=e.$implicit,i=f(2);q(`active`,t.id===i.activeGroup()?.activePane),j(`title`,t.title),Y(`aria-selected`,t.id===i.activeGroup()?.activePane),d(4),I(t.title),d(),j(`title`,`Close `+t.title)}}function iH(n,e){if(n&1&&(h(0,`div`,6),X(1,nH,7,6,`div`,25,of),y()),n&2){let t=f();d(),J(t.splitPanes())}}var nf=class n{store=w(rr);tabs=w(Vt);panel=w(ao);destroyRef=w(He);owner=this.tabs.composerKey;mine=C(()=>this.store.groups().filter(e=>e.owner===this.owner()));activeGroup=C(()=>this.mine().find(e=>e.id===this.store.activeFor(this.owner())));splitPanes=C(()=>{let e=this.activeGroup();return e!==void 0&&e.panes.length>1?e.panes:[]});all=this.store.terminals;allGroups=this.store.groups;editingId=N(void 0);renameInput=Ue(`renameInput`);constructor(){this.panel.registerActions(`terminal`,[{label:`+`,title:`New terminal`,run:()=>this.add()}]),this.destroyRef.onDestroy(()=>this.panel.clearActions(`terminal`)),ne(()=>{let e=this.renameInput();e!==void 0&&(e.nativeElement.focus(),e.nativeElement.select())})}add(){this.store.open(this.owner())}split(){let e=this.activeGroup();e!==void 0&&this.store.split(e.id)}startResize(e,t,i){i.preventDefault();let o=i.currentTarget,r=o.parentElement,s=r?.getBoundingClientRect().width??0;if(r===null||s<=0)return;try{o.setPointerCapture(i.pointerId)}catch{}let a=i.clientX,l=[...e.sizes],c=.08,p=0,m=l,v=()=>{p=0,this.store.setSizes(e.id,m)},b=O=>{let M=l[t]+l[t+1],V=(O.clientX-a)/s,W=Math.min(M-c,Math.max(c,l[t]+V));m=l.map((pe,me)=>me===t?W:me===t+1?M-W:pe),p===0&&(p=requestAnimationFrame(v))},k=()=>{p!==0&&(cancelAnimationFrame(p),v()),this.store.setSizes(e.id,m),o.removeEventListener(`pointermove`,b),o.removeEventListener(`pointerup`,k),o.removeEventListener(`pointercancel`,k)};o.addEventListener(`pointermove`,b),o.addEventListener(`pointerup`,k),o.addEventListener(`pointercancel`,k)}select(e){this.store.focus(e.activePane)}close(e,t){t.stopPropagation(),this.store.close(e.id)}closePane(e,t){t.stopPropagation(),this.store.closePane(e.id)}focusPane(e){this.store.focus(e.id)}onAuxClick(e,t){t.button===1&&(t.preventDefault(),this.store.close(e))}onTitleChange(e,t){let i=this.all().find(o=>o.id===e);i!==void 0&&this.editingId()===i.group||this.store.setAutoTitle(e,t)}beginRename(e,t){t.stopPropagation(),this.editingId.set(e)}onRenameKey(e,t){let i=t.target;t.key===`Enter`?(t.preventDefault(),this.commitRename(e,i.value)):t.key===`Escape`&&(t.preventDefault(),this.editingId.set(void 0))}commitRename(e,t){this.editingId()===e&&(this.editingId.set(void 0),this.store.rename(e,t))}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-terminal-view`]],viewQuery:function(t,i){t&1&&nt(i.renameInput,q$,5),t&2&&ot()},decls:7,vars:3,consts:[[`renameInput`,``],[1,`terminal-view`],[1,`tabbar`],[1,`screens`],[1,`empty`],[1,`group`,3,`hidden`],[`role`,`tablist`,`aria-label`,`Terminal panes`,1,`pane-strip`],[`role`,`tablist`,`aria-label`,`Terminals`,1,`tabs`],[`role`,`tab`,`tabindex`,`0`,1,`ttab`,3,`active`,`title`],[`type`,`button`,`title`,`Split the terminal — a second shell beside it`,`aria-label`,`Split terminal`,1,`split-button`,3,`click`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`],[`x`,`2`,`y`,`3`,`width`,`12`,`height`,`10`,`rx`,`1.5`],[`d`,`M8 3.5v9`],[`role`,`tab`,`tabindex`,`0`,1,`ttab`,3,`click`,`keydown.enter`,`dblclick`,`auxclick`,`title`],[`aria-hidden`,`true`,1,`glyph`],[`type`,`text`,`aria-label`,`Rename terminal`,1,`rename`,3,`value`],[`type`,`button`,`aria-label`,`Close terminal`,1,`close`,3,`click`,`title`],[`type`,`text`,`aria-label`,`Rename terminal`,1,`rename`,3,`click`,`dblclick`,`keydown`,`blur`,`value`],[1,`label`],[`aria-hidden`,`true`,1,`count`],[1,`group`],[`role`,`separator`,`aria-orientation`,`vertical`,`aria-label`,`Resize the terminal panes`,`title`,`Drag to resize`,1,`splitter`],[1,`pane`,3,`pointerdown`],[3,`titleChange`,`id`,`cwd`],[`role`,`separator`,`aria-orientation`,`vertical`,`aria-label`,`Resize the terminal panes`,`title`,`Drag to resize`,1,`splitter`,3,`pointerdown`],[`role`,`tab`,`tabindex`,`0`,1,`pane-tab`,3,`active`,`title`],[`role`,`tab`,`tabindex`,`0`,1,`pane-tab`,3,`click`,`keydown.enter`,`title`],[`type`,`button`,`aria-label`,`Close pane`,1,`close`,3,`click`,`title`]],template:function(t,i){t&1&&(h(0,`div`,1),E(1,Q$,8,0,`div`,2),h(2,`div`,3),E(3,X$,2,0,`p`,4),X(4,tH,3,2,`div`,5,of),y(),E(6,iH,3,0,`div`,6),y()),t&2&&(d(),S(i.mine().length>0?1:-1),d(2),S(i.mine().length===0?3:-1),d(),J(i.allGroups()),d(2),S(i.splitPanes().length>0?6:-1))},dependencies:[tf],styles:[`[_nghost-%COMP%]{display:flex;flex:1;min-width:0;min-height:0}.terminal-view[_ngcontent-%COMP%]{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}.tabbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:none;min-height:30px;padding:4px 6px 4px 8px;border-bottom:1px solid var(--%NS%morse-border);background:var(--%NS%morse-panel, var(--%NS%morse-bg))}.tabs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.ttab[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;flex:none;height:22px;max-width:190px;padding:0 4px 0 8px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-bubble, var(--%NS%morse-hover));color:var(--%NS%morse-fg-muted);font:inherit;font-size:11.5px;cursor:pointer}.ttab[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);border-color:var(--%NS%morse-accent);color:var(--%NS%morse-fg)}.ttab.active[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent);background:color-mix(in srgb,var(--%NS%morse-accent) 22%,transparent);color:var(--%NS%morse-fg)}.ttab[_ngcontent-%COMP%] .glyph[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:9px;line-height:1}.ttab[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttab[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:10.5px}.ttab[_ngcontent-%COMP%] .rename[_ngcontent-%COMP%]{width:90px;min-width:0;height:18px;padding:0 4px;border:1px solid var(--%NS%morse-accent);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-bg);color:var(--%NS%morse-fg);font:inherit;font-size:inherit}.ttab[_ngcontent-%COMP%] .rename[_ngcontent-%COMP%]:focus{outline:none}.ttab[_ngcontent-%COMP%] .close[_ngcontent-%COMP%], .pane-tab[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{flex:none;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:none;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1;cursor:pointer;opacity:0}.ttab[_ngcontent-%COMP%]:hover .close[_ngcontent-%COMP%], .ttab.active[_ngcontent-%COMP%] .close[_ngcontent-%COMP%], .pane-tab[_ngcontent-%COMP%]:hover .close[_ngcontent-%COMP%], .pane-tab.active[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{opacity:1}.ttab[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover:not(:disabled), .pane-tab[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.split-button[_ngcontent-%COMP%]{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);cursor:pointer}.split-button[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.split-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.pane-strip[_ngcontent-%COMP%]{flex:none;display:flex;align-items:center;gap:6px;min-height:28px;padding:3px 8px;border-top:1px solid var(--%NS%morse-border);background:var(--%NS%morse-panel, var(--%NS%morse-bg));overflow-x:auto;scrollbar-width:none}.pane-strip[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.pane-tab[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;flex:none;height:22px;max-width:190px;padding:0 4px 0 8px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-bubble, var(--%NS%morse-hover));color:var(--%NS%morse-fg-muted);font-size:11.5px;cursor:pointer}.pane-tab[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);border-color:var(--%NS%morse-accent);color:var(--%NS%morse-fg)}.pane-tab.active[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent);background:color-mix(in srgb,var(--%NS%morse-accent) 22%,transparent);color:var(--%NS%morse-fg)}.pane-tab[_ngcontent-%COMP%] .glyph[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:9px;line-height:1}.pane-tab[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screens[_ngcontent-%COMP%]{position:relative;display:flex;flex:1;min-width:0;min-height:0}.group[_ngcontent-%COMP%]{flex:1;min-width:0;min-height:0;display:flex}.group.hidden[_ngcontent-%COMP%]{display:none}.pane[_ngcontent-%COMP%]{flex:1 1 0;min-width:0;min-height:0;display:flex}.splitter[_ngcontent-%COMP%]{position:relative;flex:none;width:6px;cursor:col-resize;touch-action:none}.splitter[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--%NS%morse-border)}.splitter[_ngcontent-%COMP%]:hover:before, .splitter[_ngcontent-%COMP%]:active:before{width:2px;left:calc(50% - .5px);background:var(--%NS%morse-accent)}.empty[_ngcontent-%COMP%]{margin:auto;padding:12px;color:var(--%NS%morse-fg-muted);font-size:12px}`]})};var oH=(n,e)=>e.id;var rH=(n,e)=>e.label;function sH(n,e){if(n&1){let t=L();h(0,`div`,11),A(`pointerdown`,function(o){D(t);return T(f().onResizeStart(o))})(`dblclick`,function(){D(t);return T(f().onResizeReset())}),y()}}function aH(n,e){if(n&1){let t=L();h(0,`button`,15),A(`click`,function(){let o=D(t).$implicit;return T(o.run())}),u(1),y()}if(n&2){let t=e.$implicit;j(`title`,t.title),Y(`aria-label`,t.title),d(),ie(` `,t.label,` `)}}function lH(n,e){if(n&1&&X(0,aH,2,3,`button`,14,rH),n&2)J(f(2).actions())}function cH(n,e){if(n&1){let t=L();h(0,`div`,12)(1,`button`,13),A(`click`,function(){let o=D(t).$implicit;return T(f().select(o.id))}),u(2),y(),E(3,lH,2,0),y()}if(n&2){let t=e.$implicit,i=f();q(`active`,i.activeView()===t.id&&i.expanded())(`with-actions`,i.activeView()===t.id&&i.expanded()&&i.actions().length>0),d(),Y(`aria-selected`,i.activeView()===t.id&&i.expanded()),d(),ie(` `,t.label,` `),d(),S(i.activeView()===t.id&&i.expanded()?3:-1)}}function dH(n,e){n&1&&(De(),h(0,`svg`,7),ee(1,`path`,16)(2,`path`,17)(3,`path`,18)(4,`path`,19),y())}function uH(n,e){n&1&&(De(),h(0,`svg`,7),ee(1,`path`,20)(2,`path`,21)(3,`path`,22)(4,`path`,23),y())}function pH(n,e){n&1&&(De(),h(0,`svg`,8),ee(1,`path`,24),y())}function fH(n,e){n&1&&(De(),h(0,`svg`,8),ee(1,`path`,25),y())}function mH(n,e){n&1&&ns(0,26),n&2&&j(`ngComponentOutlet`,e)}function hH(n,e){if(n&1&&E(0,mH,1,1,`ng-container`,26),n&2){let t;S((t=f().componentFor(e))?0:-1,t)}}function gH(n,e){n&1&&(h(0,`p`,10),u(1,`Choose a tool above.`),y())}var rf=[{id:`terminal`,label:`Terminal`,component:nf}];var sf=class n{panel=w(ao);views=rf;defaultHeight=xy;activeView=this.panel.activeView;expanded=this.panel.expanded;height=this.panel.height;full=this.panel.full;actions=this.panel.actions;resizeStartY=0;resizeStartHeight=0;select(e){this.panel.toggle(e)}toggleExpanded(){if(this.expanded()){this.panel.collapse();return}this.panel.toggle(this.activeView()??rf[0].id)}toggleFull(){this.expanded()||this.panel.toggle(this.activeView()??rf[0].id),this.panel.toggleFull()}componentFor(e){return rf.find(t=>t.id===e)?.component}onResizeStart(e){let t=e.currentTarget,i=t.parentElement;try{t.setPointerCapture(e.pointerId)}catch{}this.resizeStartY=e.clientY,this.resizeStartHeight=this.height()??xy;let o=0,r=this.resizeStartHeight,s=()=>{o=0,this.panel.setHeight(r,!1)},a=c=>{r=this.resizeStartHeight+(this.resizeStartY-c.clientY),o===0&&(o=requestAnimationFrame(s))},l=()=>{o!==0&&(cancelAnimationFrame(o),s()),i?.classList.remove(`resizing`),this.panel.setHeight(r),t.removeEventListener(`pointermove`,a),t.removeEventListener(`pointerup`,l),t.removeEventListener(`pointercancel`,l)};i?.classList.add(`resizing`),t.addEventListener(`pointermove`,a),t.addEventListener(`pointerup`,l),t.addEventListener(`pointercancel`,l)}onResizeReset(){this.panel.resetHeight()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-bottom-panel`]],hostVars:2,hostBindings:function(t,i){t&2&&q(`full`,i.full())},decls:16,vars:16,consts:[[1,`panel`],[`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize the bottom panel`,`title`,`Drag to resize`,1,`resize`],[1,`bar`],[`role`,`tablist`,`aria-label`,`Bottom panel`,1,`chips`],[1,`chip`,3,`active`,`with-actions`],[1,`grow`],[`type`,`button`,1,`toggle`,3,`click`,`title`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,1,`glyph`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`],[1,`body`],[1,`empty`],[`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize the bottom panel`,`title`,`Drag to resize`,1,`resize`,3,`pointerdown`,`dblclick`],[1,`chip`],[`type`,`button`,`role`,`tab`,1,`chip-label`,3,`click`],[`type`,`button`,1,`chip-action`,3,`title`],[`type`,`button`,1,`chip-action`,3,`click`,`title`],[`d`,`M3.5 6.5h3v-3`],[`d`,`M12.5 9.5h-3v3`],[`d`,`M6.5 6.5 3 3`],[`d`,`M9.5 9.5 13 13`],[`d`,`M6.5 3.5h-3v3`],[`d`,`M9.5 12.5h3v-3`],[`d`,`M3.5 3.5 8 8`],[`d`,`M12.5 12.5 8 8`],[`d`,`M4 6.5 8 10.5 12 6.5`],[`d`,`M4 9.5 8 5.5 12 9.5`],[3,`ngComponentOutlet`]],template:function(t,i){if(t&1&&(h(0,`section`,0),E(1,sH,1,0,`div`,1),h(2,`div`,2)(3,`div`,3),X(4,cH,4,7,`div`,4,oH),y(),ee(6,`span`,5),h(7,`button`,6),A(`click`,function(){return i.toggleFull()}),E(8,dH,5,0,`:svg:svg`,7)(9,uH,5,0,`:svg:svg`,7),y(),h(10,`button`,6),A(`click`,function(){return i.toggleExpanded()}),E(11,pH,2,0,`:svg:svg`,8)(12,fH,2,0,`:svg:svg`,8),y()(),h(13,`div`,9),E(14,hH,1,1)(15,gH,2,0,`p`,10),y()()),t&2){let o;Tt(`height`,i.expanded()&&!i.full()?i.height()??i.defaultHeight:null,`px`),q(`expanded`,i.expanded()),d(),S(i.expanded()&&!i.full()?1:-1),d(3),J(i.views),d(3),j(`title`,i.full()?`Fit the panel back below the chat`:`Expand the panel to full screen`),Y(`aria-label`,i.full()?`Exit full screen`:`Full screen`)(`aria-pressed`,i.full()),d(),S(i.full()?8:9),d(2),j(`title`,i.expanded()?`Collapse panel`:`Expand panel`),Y(`aria-expanded`,i.expanded())(`aria-label`,i.expanded()?`Collapse panel`:`Expand panel`),d(),S(i.expanded()?11:12),d(2),q(`hidden`,!i.expanded()),d(),S((o=i.activeView())?14:15,o)}},dependencies:[jg],styles:[`[_nghost-%COMP%]{display:block;flex:none;min-width:0}.full[_nghost-%COMP%]{flex:1;min-height:0}.full[_nghost-%COMP%] .panel[_ngcontent-%COMP%]{height:100%;border-top:0}.panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-top:1px solid var(--%NS%morse-border);background:var(--%NS%morse-nav-bg)}.resize[_ngcontent-%COMP%]{flex:none;height:5px;cursor:ns-resize;touch-action:none}.resize[_ngcontent-%COMP%]:hover, .resize[_ngcontent-%COMP%]:active{background:color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent)}.panel.resizing[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%], .panel.resizing[_ngcontent-%COMP%] .body[_ngcontent-%COMP%]{pointer-events:none}.bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;flex:none;height:30px;padding:0 6px 0 0}.chips[_ngcontent-%COMP%]{display:flex;align-items:stretch;gap:0;height:100%}.chip[_ngcontent-%COMP%]{display:inline-flex;align-items:stretch;height:100%;margin:0;border:0;border-radius:0;background:none;color:var(--%NS%morse-fg-muted);transition:color .12s ease,background .12s ease}.chip[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.chip.active[_ngcontent-%COMP%]{color:var(--%NS%morse-fg);box-shadow:inset 0 -2px 0 var(--%NS%morse-accent)}.chip-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:0 12px;border:0;background:none;color:inherit;font:inherit;font-size:12px;cursor:pointer}.chip.with-actions[_ngcontent-%COMP%] .chip-label[_ngcontent-%COMP%]{padding-right:2px}.chip-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:22px;align-self:stretch;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:15px;line-height:1;cursor:pointer}.chip-label[_ngcontent-%COMP%]:focus-visible, .chip-action[_ngcontent-%COMP%]:focus-visible{outline:none;color:var(--%NS%morse-fg);box-shadow:inset 0 -2px 0 var(--%NS%morse-accent)}.chip-label[_ngcontent-%COMP%]:not(:disabled), .chip-action[_ngcontent-%COMP%]:not(:disabled), .chip-label[_ngcontent-%COMP%]:hover:not(:disabled), .chip-action[_ngcontent-%COMP%]:hover:not(:disabled){background:none;color:inherit}.grow[_ngcontent-%COMP%]{flex:1;min-width:8px}.toggle[_ngcontent-%COMP%]{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:12px;line-height:1;cursor:pointer}.toggle[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.toggle[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.body[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;overflow:hidden;border-top:1px solid var(--%NS%morse-border)}.body.hidden[_ngcontent-%COMP%]{display:none}.empty[_ngcontent-%COMP%]{margin:auto;padding:12px;color:var(--%NS%morse-fg-muted);font-size:12px}`]})};function uD(n){let e={name:``,path:``,kind:`dir`,children:[]},t=new Map([[``,e]]),i=o=>{let r=t.get(o);if(r!==void 0)return r;let s=o.lastIndexOf(`/`),a=i(s===-1?``:o.slice(0,s)),l={name:o.slice(s+1),path:o,kind:`dir`,children:[]};return a.children.push(l),t.set(o,l),l};for(let o of n){let r=o.endsWith(`/`),s=r?o.slice(0,-1):o;if(s.length===0)continue;if(r){i(s);continue}let a=s.lastIndexOf(`/`),l=i(a===-1?``:s.slice(0,a));l.children.some(c=>c.kind===`file`&&c.path===s)||l.children.push({name:s.slice(a+1),path:s,kind:`file`,children:[]})}return pD(e.children),e.children}function pD(n){n.sort((e,t)=>e.kind!==t.kind?e.kind===`dir`?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:`base`}));for(let e of n)pD(e.children)}function af(n){let e=n.lastIndexOf(`.`),t=e<=0?``:n.slice(e+1).toLowerCase();return[`ts`,`tsx`,`js`,`jsx`,`mjs`,`cjs`,`py`,`go`,`php`,`rb`,`rs`,`java`].includes(t)?`◆`:[`md`,`txt`,`rst`].includes(t)?`¶`:[`json`,`yaml`,`yml`,`toml`,`ini`].includes(t)?`⚙`:[`css`,`scss`,`less`,`html`,`xml`,`svg`].includes(t)?`◈`:[`sh`,`bash`,`zsh`].includes(t)?`❯`:`·`}var yH=n=>({items:n,label:`Open tabs`});var _H=n=>({items:n,label:`Mentioned files`});var vH=(n,e)=>e.id;function bH(n,e){n&1&&ee(0,`span`,6)}function xH(n,e){if(n&1&&(h(0,`span`,7),u(1),y()),n&2){let t=f().$implicit,i=f(2);d(),I(i.glyph(t))}}function CH(n,e){if(n&1){let t=L();h(0,`div`,5),A(`click`,function(){let o=D(t).$implicit;return T(f(2).select(o.id))})(`keydown.enter`,function(){let o=D(t).$implicit;return T(f(2).select(o.id))})(`keydown.space`,function(){let o=D(t).$implicit;return T(f(2).select(o.id))})(`contextmenu`,function(o){let r=D(t).$implicit;return T(f(2).openMenu(o,r.id))})(`auxclick`,function(o){let r=D(t).$implicit;return T(f(2).onAuxClick(r.id,o))}),E(1,bH,1,0,`span`,6)(2,xH,2,1,`span`,7),h(3,`span`,8),u(4),y(),h(5,`button`,9),A(`click`,function(o){let r=D(t).$implicit;return T(f(2).close(r.id,o))}),u(6,` × `),y()()}if(n&2){let t=e.$implicit,i=f(2);q(`mention`,t.kind===`file`&&t.mention===!0)(`active`,t.id===i.activeId())(`parent`,t.kind===`session`&&t.id===i.activeChipOwner())(`running`,t.kind===`session`&&i.isRunning(t.id)),j(`cdkDragData`,t)(`title`,i.title(t)),Y(`aria-selected`,t.id===i.activeId()),d(),S(t.kind===`session`&&i.isRunning(t.id)?1:2),d(3),I(t.title),d(),j(`title`,`Close `+t.title)}}function wH(n,e){n&1&&(h(0,`span`,4),u(1,`No open tabs`),y())}function EH(n,e){if(n&1){let t=L();h(0,`div`,2),A(`cdkDropListDropped`,function(o){D(t);return T(f().onDrop(o))}),X(1,CH,7,14,`div`,3,vH,!1,wH,2,0,`span`,4),y()}if(n&2){let t=e.items,i=e.label;j(`cdkDropListData`,t),Y(`aria-label`,i),d(),J(t)}}function SH(n,e){if(n&1&&ns(0,1),n&2){let t=f();j(`ngTemplateOutlet`,yu(1))(`ngTemplateOutletContext`,vu(2,_H,t.mentionTabs()))}}function DH(n,e){if(n&1){let t=L();h(0,`div`,10),A(`click`,function(){D(t);return T(f().closeMenu())})(`contextmenu`,function(o){D(t);let r=f();return o.preventDefault(),T(r.closeMenu())}),y(),h(1,`div`,11)(2,`button`,12),A(`click`,function(){D(t);return T(f().menuClose())}),u(3,`Close`),y(),h(4,`button`,13),A(`click`,function(){D(t);return T(f().menuCloseOthers())}),u(5,` Close Others `),y(),h(6,`button`,13),A(`click`,function(){D(t);return T(f().menuCloseToTheRight())}),u(7,` Close to the Right `),y(),h(8,`button`,12),A(`click`,function(){D(t);return T(f().menuCloseAll())}),u(9,`Close All`),y()()}if(n&2){let t=e,i=f();d(),Tt(`left`,t.x,`px`)(`top`,t.y,`px`),d(3),j(`disabled`,!i.canCloseOthers(t.id)),d(2),j(`disabled`,!i.canCloseToTheRight(t.id))}}var lf=class n{tabs=w(Vt);morse=w(Ie);items=this.tabs.tabs;activeId=this.tabs.activeId;mainTabs=this.tabs.mainTabs;mentionTabs=this.tabs.mentionTabs;menuState=N(void 0);menu=this.menuState.asReadonly();activeChipOwner=C(()=>{let e=this.tabs.activeTab();return e?.kind===`file`&&e.mention===!0?this.tabs.contextSessionId():void 0});glyph(e){return e.kind===`session`?`✦`:af(e.title)}isRunning(e){let t=this.morse.sessionActivity().get(e);if(t!==void 0)return t.streaming;let i=this.morse.state();return i.sessionId===e&&i.streaming}title(e){return e.kind===`file`?e.path:e.title}select(e){this.tabs.select(e)}close(e,t){t.stopPropagation(),this.tabs.close(e)}onAuxClick(e,t){t.button===1&&(t.preventDefault(),this.tabs.close(e))}onDrop(e){let t=e.item.data,i=e.container.data[e.currentIndex];t!==void 0&&i!==void 0&&this.tabs.move(t.id,i.id)}openMenu(e,t){e.preventDefault(),e.stopPropagation(),this.menuState.set({x:Math.max(0,Math.min(e.clientX,window.innerWidth-190)),y:Math.max(0,Math.min(e.clientY,window.innerHeight-150)),id:t})}closeMenu(){this.menuState.set(void 0)}onEscape(){this.closeMenu()}canCloseOthers(e){return this.tabs.canCloseOthers(e)}canCloseToTheRight(e){return this.tabs.canCloseToTheRight(e)}withMenu(e){let t=this.menuState();this.closeMenu(),t!==void 0&&e(t.id)}menuClose(){this.withMenu(e=>this.tabs.close(e))}menuCloseOthers(){this.withMenu(e=>this.tabs.closeOthers(e))}menuCloseToTheRight(){this.withMenu(e=>this.tabs.closeToTheRight(e))}menuCloseAll(){this.withMenu(e=>this.tabs.closeAll(e))}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-tab-strip`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:5,vars:6,consts:[[`row`,``],[3,`ngTemplateOutlet`,`ngTemplateOutletContext`],[`role`,`tablist`,`cdkDropList`,``,`cdkDropListOrientation`,`horizontal`,1,`strip`,3,`cdkDropListDropped`,`cdkDropListData`],[`role`,`tab`,`tabindex`,`0`,`cdkDrag`,``,`cdkDragLockAxis`,`x`,1,`tab`,3,`cdkDragData`,`mention`,`active`,`parent`,`running`,`title`],[1,`empty`],[`role`,`tab`,`tabindex`,`0`,`cdkDrag`,``,`cdkDragLockAxis`,`x`,1,`tab`,3,`click`,`keydown.enter`,`keydown.space`,`contextmenu`,`auxclick`,`cdkDragData`,`title`],[`aria-hidden`,`true`,1,`live`],[`aria-hidden`,`true`,1,`glyph`],[1,`label`],[`type`,`button`,`aria-label`,`Close tab`,1,`close`,3,`click`,`title`],[1,`context-menu-layer`,3,`click`,`contextmenu`],[`role`,`menu`,1,`context-menu`],[`type`,`button`,1,`context-menu-item`,3,`click`],[`type`,`button`,1,`context-menu-item`,3,`click`,`disabled`]],template:function(t,i){if(t&1&&(gu(0,EH,4,3,`ng-template`,null,0,Lg),ns(2,1),E(3,SH,1,4,`ng-container`,1),E(4,DH,10,6)),t&2){let o,r=yu(1);d(2),j(`ngTemplateOutlet`,r)(`ngTemplateOutletContext`,vu(4,yH,i.mainTabs())),d(),S(i.mentionTabs().length>0?3:-1),d(),S((o=i.menu())?4:-1,o)}},dependencies:[Bg,dp,cp],styles:[`[_nghost-%COMP%]{display:block;flex:none;min-height:30px;border-bottom:1px solid var(--%NS%morse-border);background:var(--%NS%morse-nav-bg)}.strip[_ngcontent-%COMP%]{display:flex;align-items:stretch;gap:0;height:30px;padding:0;overflow-x:auto;scrollbar-width:none}.strip[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.strip[_ngcontent-%COMP%] + .strip[_ngcontent-%COMP%]{height:auto;min-height:30px;align-items:center;gap:6px;padding:4px 8px;border-top:1px solid var(--%NS%morse-border);background:var(--%NS%morse-panel, var(--%NS%morse-bg))}.tab.mention[_ngcontent-%COMP%]{height:22px;max-width:190px;padding:0 4px 0 8px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:var(--%NS%morse-bubble, var(--%NS%morse-hover));font-size:11.5px}.tab.mention[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);border-color:var(--%NS%morse-accent);color:var(--%NS%morse-fg)}.tab.mention.active[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent);background:color-mix(in srgb,var(--%NS%morse-accent) 22%,transparent);color:var(--%NS%morse-fg);box-shadow:none}.tab.mention[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{width:15px;height:15px;font-size:11px;border-radius:999px}.tab[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:none;max-width:170px;padding:0 8px 0 10px;margin:0;border:0;border-right:1px solid var(--%NS%morse-border);border-radius:0;background:none;color:var(--%NS%morse-fg-muted);font:inherit;font-size:12px;cursor:grab;position:relative}.tab[_ngcontent-%COMP%]:active{cursor:grabbing}.strip.cdk-drop-list-dragging[_ngcontent-%COMP%] .tab[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .18s cubic-bezier(.2,0,0,1)}.tab.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .18s cubic-bezier(.2,0,0,1)}.tab.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:.3}.cdk-drag-preview[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;box-sizing:border-box;max-width:170px;height:30px;padding:0 8px 0 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);font:inherit;font-size:12px;box-shadow:0 8px 24px #00000059}.cdk-drag-preview[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{opacity:1}.tab[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.tab.active[_ngcontent-%COMP%]{background:var(--%NS%morse-panel, var(--%NS%morse-badge-bg));color:var(--%NS%morse-fg);box-shadow:inset 0 -2px 0 var(--%NS%morse-accent)}.tab.parent[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--%NS%morse-accent) 10%,transparent);color:var(--%NS%morse-fg);box-shadow:inset 0 -2px color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent)}.tab.parent[_ngcontent-%COMP%] .glyph[_ngcontent-%COMP%]{color:var(--%NS%morse-accent)}.tab[_ngcontent-%COMP%] .live[_ngcontent-%COMP%]{flex:none;width:9px;height:9px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--%NS%morse-accent) 30%,transparent);border-top-color:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_tab-spin .8s linear infinite}@keyframes _ngcontent-%COMP%_tab-spin{to{transform:rotate(360deg)}}.glyph[_ngcontent-%COMP%]{flex:none;font-size:11px;color:var(--%NS%morse-fg-muted)}.tab.active[_ngcontent-%COMP%] .glyph[_ngcontent-%COMP%]{color:var(--%NS%morse-accent)}.label[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close[_ngcontent-%COMP%]{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:none;color:var(--%NS%morse-fg-muted);font-size:13px;line-height:1;cursor:pointer;opacity:0}.tab[_ngcontent-%COMP%]:hover .close[_ngcontent-%COMP%], .tab.active[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{opacity:1}.close[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.empty[_ngcontent-%COMP%]{align-self:center;padding:0 10px;font-size:11.5px;color:var(--%NS%morse-fg-muted)}.context-menu-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:40}.context-menu[_ngcontent-%COMP%]{position:fixed;z-index:41;width:190px;max-width:min(280px,90vw);padding:4px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 8px 24px #00000059}.context-menu-item[_ngcontent-%COMP%]{display:block;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:12px;text-align:left;cursor:pointer}.context-menu-item[_ngcontent-%COMP%]:hover:not(:disabled), .context-menu-item[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--%NS%morse-hover)}.context-menu-item[_ngcontent-%COMP%]:disabled{color:var(--%NS%morse-fg-muted);cursor:default}.context-menu-item[_ngcontent-%COMP%]:disabled:hover{background:transparent}`]})};var yD=250;var cf=class n{morse=w(Ie);workspace=w(Qn);items=N([]);meta=N(void 0);busy=N(!1);failure=N(void 0);generation=0;loading=this.busy.asReadonly();error=this.failure.asReadonly();isRepo=C(()=>this.meta()?.isRepo===!0);loaded=C(()=>this.meta()!==void 0);branch=C(()=>this.meta()?.branch);root=C(()=>this.meta()?.root);hasMore=C(()=>this.meta()?.hasMore===!0);commits=this.items.asReadonly();syncState=N(void 0);syncing=N(!1);sync=this.syncState.asReadonly();syncingNow=this.syncing.asReadonly();ahead=C(()=>this.syncState()?.ahead??0);behind=C(()=>this.syncState()?.behind??0);upstream=C(()=>this.syncState()?.upstream);branchList=N(void 0);commitPending=N(!1);branchPending=N(!1);feedback=N(void 0);branches=this.branchList.asReadonly();committing=this.commitPending.asReadonly();switching=this.branchPending.asReadonly();notice=this.feedback.asReadonly();refuse(e){this.feedback.set({ok:!1,text:e})}refresh(){if(!this.morse.workspace().cwd)return;let t=this.generation+=1;this.busy.set(!0),this.failure.set(void 0),this.refreshSync(),this.page(0).then(i=>{if(t===this.generation){if(i===void 0){this.items.set([]),this.meta.set(void 0),this.failure.set(`The host could not read git history for this project.`);return}this.items.set(i.commits),this.meta.set(fD(i))}}).finally(()=>{t===this.generation&&this.busy.set(!1)})}loadMore(){if(this.busy()||!this.hasMore()||!this.isRepo())return;let e=this.generation,t=this.items().length;this.busy.set(!0),this.page(t).then(i=>{e!==this.generation||i===void 0||(this.items.update(o=>[...o,...i.commits]),this.meta.set(fD(i)))}).finally(()=>{e===this.generation&&this.busy.set(!1)})}refreshSync(){this.morse.workspace().cwd&&this.morse.requestHostCommand(`gitSync`).then(t=>{let i=mD(t);i!==void 0&&this.syncState.set(i)})}loadBranches(){this.morse.workspace().cwd&&this.morse.requestHostCommand(`gitBranches`).then(t=>{let i=kH(t);i!==void 0&&this.branchList.set(i)})}async commit(e){if(this.commitPending())return!1;this.commitPending.set(!0),this.feedback.set(void 0);try{let i=gD(await this.morse.requestHostCommand(`gitCommit`,{message:e},6e4));return i?.ok===!0?(this.workspace.refresh(),this.refresh(),!0):(this.feedback.set({ok:!1,text:i?.message??`The commit did not go through.`}),!1)}finally{this.commitPending.set(!1)}}async checkout(e,t){if(this.branchPending())return!1;this.branchPending.set(!0),this.feedback.set(void 0);try{let o=gD(await this.morse.requestHostCommand(`gitCheckout`,{branch:e,create:t},6e4));return o?.ok===!0?(this.workspace.refresh(),this.refresh(),this.loadBranches(),!0):(this.feedback.set({ok:!1,text:o?.message??`The branch switch did not go through.`}),!1)}finally{this.branchPending.set(!1)}}async pull(){await this.syncFrom(`gitPull`)}async push(){await this.syncFrom(`gitPush`)}async syncFrom(e){if(!this.syncing()){this.syncing.set(!0);try{let i=mD(await this.morse.requestHostCommand(e,void 0,18e4));i!==void 0&&this.syncState.set(i),this.refresh()}finally{this.syncing.set(!1)}}}async page(e){return TH(await this.morse.requestHostCommand(`gitLog`,{max:yD,skip:e}))}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function fD(n){return{isRepo:n.isRepo,root:n.root,branch:n.branch,hasMore:n.commits.length===yD}}function TH(n){if(typeof n!=`object`||n===null)return;let e=n;if(e.isRepo!==!0)return typeof e.isRepo==`boolean`?{isRepo:!1,commits:[]}:void 0;let t=Array.isArray(e.commits)?e.commits.map(MH).filter(i=>i!==void 0):[];return{isRepo:!0,root:typeof e.root==`string`?e.root:void 0,branch:typeof e.branch==`string`?e.branch:void 0,commits:t}}function MH(n){if(typeof n!=`object`||n===null)return;let e=n,t=e.hash,i=e.shortHash;if(!(typeof t!=`string`||typeof i!=`string`))return{hash:t,shortHash:i,parents:lc(e.parents),refs:lc(e.refs),author:typeof e.author==`string`?e.author:``,date:typeof e.date==`string`?e.date:``,subject:typeof e.subject==`string`?e.subject:``}}function lc(n){return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function mD(n){if(typeof n!=`object`||n===null)return;let e=n;if(typeof e.isRepo==`boolean`)return{isRepo:e.isRepo,branch:typeof e.branch==`string`?e.branch:void 0,upstream:typeof e.upstream==`string`?e.upstream:void 0,ahead:hD(e.ahead),behind:hD(e.behind)}}function hD(n){return typeof n==`number`&&Number.isFinite(n)?Math.max(0,Math.floor(n)):0}function kH(n){if(typeof n!=`object`||n===null)return;let e=n;if(typeof e.isRepo==`boolean`)return{isRepo:e.isRepo,current:typeof e.current==`string`?e.current:void 0,local:lc(e.local),remote:lc(e.remote),tags:lc(e.tags)}}function gD(n){if(typeof n!=`object`||n===null)return;let e=n;if(typeof e.ok==`boolean`)return{ok:e.ok,message:typeof e.message==`string`?e.message:void 0}}function vD(n){let e=[],t=[],i=0;for(let o of n){let r=e.slice(),s=[];for(let c=0;c<e.length;c+=1)e[c]===o.hash&&s.push(c);let a=s.length>0?s[0]:_D(e);e[a]=void 0;for(let c=1;c<s.length;c+=1)e[s[c]]=void 0;let l=[];for(let c=0;c<r.length;c+=1)r[c]!==void 0&&e[c]===r[c]&&l.push({fromLane:c,fromY:0,toLane:c,toY:1,color:c});r[a]===o.hash&&l.push({fromLane:a,fromY:0,toLane:a,toY:.5,color:a});for(let c of s)c!==a&&l.push({fromLane:c,fromY:0,toLane:a,toY:.5,color:c});for(let c=0;c<o.parents.length;c+=1){let p=o.parents[c],m=IH(e,p,a);m===-1&&(m=c===0?a:_D(e)),e[m]=p,l.push({fromLane:a,fromY:.5,toLane:m,toY:1,color:m})}i=Math.max(i,e.length),t.push({lane:a,color:a,edges:l})}return{rows:t,laneCount:i}}function _D(n){let e=n.indexOf(void 0);return e===-1?n.length:e}function IH(n,e,t){for(let i=0;i<n.length;i+=1)if(i!==t&&n[i]===e)return i;return-1}function NH(n,e){if(n&1){let t=L();g(0,`div`,2)(1,`input`,3),F(`input`,function(o){D(t);return T(f().onValue(o))})(`keydown.enter`,function(){D(t);return T(f().confirm())})(`keydown.escape`,function(){D(t);return T(f().close.emit())}),_(),g(2,`button`,4),F(`click`,function(){D(t);return T(f().confirm())}),u(3),_()()}if(n&2){let t=f();d(),te(`placeholder`,t.formLabel())(`value`,t.value()),Y(`aria-label`,t.formLabel()),d(),te(`disabled`,t.busy()||t.value().trim().length===0),d(),ie(` `,t.confirmLabel(),` `)}}function PH(n,e){if(n&1){let t=L();g(0,`button`,11),F(`click`,function(){let o=D(t).$implicit;return T(f(3).choose(o))}),fe(1,`span`,12),g(2,`span`,13),u(3),_()()}if(n&2){let t=e.$implicit,i=f(3);te(`disabled`,i.busy())(`title`,t),d(),q(`on`,t===i.branches().current),d(2),I(t)}}function OH(n,e){if(n&1&&(g(0,`div`,9),u(1,`Local`),_(),X(2,PH,4,5,`button`,10,kn)),n&2){let t=f(2);d(2),J(t.locals())}}function AH(n,e){if(n&1){let t=L();g(0,`button`,11),F(`click`,function(){let o=D(t).$implicit,r=f(3);return T(r.choose(r.short(o)))}),fe(1,`span`,12),g(2,`span`,13),u(3),_(),g(4,`span`,14),u(5),_()()}if(n&2){let t=e.$implicit,i=f(3);te(`disabled`,i.busy())(`title`,t),d(3),I(i.short(t)),d(2),I(t)}}function RH(n,e){if(n&1&&(g(0,`div`,9),u(1,`Remote`),_(),X(2,AH,6,4,`button`,10,kn)),n&2){let t=f(2);d(2),J(t.remotes())}}function LH(n,e){if(n&1){let t=L();g(0,`button`,11),F(`click`,function(){let o=D(t).$implicit;return T(f(3).choose(o))}),g(1,`span`,15),u(2,`⌂`),_(),g(3,`span`,13),u(4),_()()}if(n&2){let t=e.$implicit;te(`disabled`,f(3).busy())(`title`,t),d(4),I(t)}}function FH(n,e){if(n&1&&(g(0,`div`,9),u(1,`Tags`),_(),X(2,LH,5,3,`button`,10,kn)),n&2){let t=f(2);d(2),J(t.tags())}}function VH(n,e){if(n&1&&(g(0,`div`,8),u(1),_()),n&2){let t=f(2);d(),ie(`No branch or tag matches “`,t.filter(),`”.`)}}function jH(n,e){if(n&1){let t=L();g(0,`input`,5),F(`input`,function(o){D(t);return T(f().onFilter(o))})(`keydown.escape`,function(){D(t);return T(f().close.emit())}),_(),g(1,`button`,6),F(`click`,function(){D(t);return T(f().startCreate())}),u(2,` + Create new branch… `),_(),g(3,`button`,7),F(`click`,function(){D(t);return T(f().startDetach())}),u(4,` ⌥ Checkout detached… `),_(),E(5,OH,4,0),E(6,RH,4,0),E(7,FH,4,0),E(8,VH,2,1,`div`,8)}if(n&2){let t=f();te(`value`,t.filter()),d(),te(`disabled`,t.busy()),d(2),te(`disabled`,t.busy()),d(2),S(t.locals().length>0?5:-1),d(),S(t.remotes().length>0?6:-1),d(),S(t.tags().length>0?7:-1),d(),S(!t.hasHits()&&t.filter().trim().length>0?8:-1)}}var df=class n{branches=se.required();busy=se(!1);pick=je();create=je();detach=je();close=je();mode=N(`list`);filter=N(``);value=N(``);locals=C(()=>this.rank(this.branches().local));remotes=C(()=>this.rank(this.branches().remote));tags=C(()=>this.rank(this.branches().tags));hasHits=C(()=>this.locals().length>0||this.remotes().length>0||this.tags().length>0);formLabel=C(()=>this.mode()===`create`?`New branch name`:`Commit or tag to check out`);confirmLabel=C(()=>this.mode()===`create`?`Create`:`Checkout`);rank(e){let t=this.filter().trim().toLowerCase();return(t.length===0?[...e]:e.filter(o=>o.toLowerCase().includes(t))).sort((o,r)=>o.localeCompare(r))}short(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(t+1)}onFilter(e){this.filter.set(e.target.value)}onValue(e){this.value.set(e.target.value)}choose(e){this.busy()||this.pick.emit(e)}startCreate(){this.value.set(this.filter().trim()),this.mode.set(`create`)}startDetach(){this.value.set(``),this.mode.set(`detach`)}confirm(){let e=this.value().trim();e.length===0||this.busy()||(this.mode()===`create`?this.create.emit(e):this.detach.emit(e))}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-branch-picker`]],inputs:{branches:[1,`branches`],busy:[1,`busy`]},outputs:{pick:`pick`,create:`create`,detach:`detach`,close:`close`},decls:4,vars:1,consts:[[1,`layer`,3,`click`],[`role`,`dialog`,`aria-label`,`Switch branch or tag`,1,`menu`],[1,`create`],[`type`,`text`,1,`name-input`,3,`input`,`keydown.enter`,`keydown.escape`,`placeholder`,`value`],[`type`,`button`,1,`primary`,3,`click`,`disabled`],[`type`,`search`,`placeholder`,`Select a branch or tag to checkout`,`aria-label`,`Select a branch or tag to checkout`,1,`filter`,3,`input`,`keydown.escape`,`value`],[`type`,`button`,1,`row`,`create-row`,3,`click`,`disabled`],[`type`,`button`,1,`row`,`detach-row`,3,`click`,`disabled`],[1,`empty`],[1,`group`],[`type`,`button`,1,`row`,3,`disabled`,`title`],[`type`,`button`,1,`row`,3,`click`,`disabled`,`title`],[1,`dot`],[1,`name`],[1,`remote`],[`aria-hidden`,`true`,1,`tag-glyph`]],template:function(t,i){t&1&&(g(0,`div`,0),F(`click`,function(){return i.close.emit()}),_(),g(1,`div`,1),E(2,NH,4,5,`div`,2)(3,jH,9,7),_()),t&2&&(d(2),S(i.mode()!==`list`?2:3))},styles:[`[_nghost-%COMP%]{position:absolute;top:calc(100% + 4px);left:0;z-index:30;width:min(320px,90vw);display:block}.layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:-1}.menu[_ngcontent-%COMP%]{max-height:340px;overflow-y:auto;padding:4px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 28px #00000059}.filter[_ngcontent-%COMP%], .name-input[_ngcontent-%COMP%]{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--%NS%morse-input-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg);color:var(--%NS%morse-input-fg);font:inherit;font-size:12px}.create[_ngcontent-%COMP%]{display:flex;gap:6px}.primary[_ngcontent-%COMP%]{flex:none;padding:5px 10px;border:1px solid var(--%NS%morse-accent);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-accent);color:#fff;font:inherit;font-size:12px;cursor:pointer}.primary[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:default}.group[_ngcontent-%COMP%]{padding:6px 8px 2px;color:var(--%NS%morse-fg-muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12px;text-align:left;cursor:pointer}.row[_ngcontent-%COMP%]:hover:not(:disabled), .row[_ngcontent-%COMP%]:focus-visible{background:var(--%NS%morse-hover)}.row.create-row[_ngcontent-%COMP%]{margin-top:4px;color:var(--%NS%morse-accent)}.row.detach-row[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted)}.tag-glyph[_ngcontent-%COMP%]{flex:none;width:13px;text-align:center;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1}.dot[_ngcontent-%COMP%]{flex:none;width:7px;height:7px;border-radius:50%;border:1.4px solid var(--%NS%morse-fg-muted)}.dot.on[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent);background:var(--%NS%morse-accent)}.row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono)}.row[_ngcontent-%COMP%] .remote[_ngcontent-%COMP%]{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:10px}.empty[_ngcontent-%COMP%]{padding:10px 8px;color:var(--%NS%morse-fg-muted);font-size:11.5px}`]})};var Ey=(n,e)=>e.path;var BH=(n,e)=>e.commit.hash;function $H(n,e){if(n&1){let t=L();h(0,`morse-branch-picker`,26),A(`pick`,function(o){D(t);return T(f(2).pickBranch(o))})(`create`,function(o){D(t);return T(f(2).createBranch(o))})(`detach`,function(o){D(t);return T(f(2).detachRef(o))})(`close`,function(){D(t);return T(f(2).closeBranchPicker())}),y()}if(n&2){let t=f(2);j(`branches`,e)(`busy`,t.switching())}}function HH(n,e){if(n&1){let t=L();h(0,`div`,10)(1,`button`,23),A(`click`,function(){D(t);return T(f().toggleBranchPicker())}),u(2),h(3,`span`,24),u(4,`▾`),y()(),E(5,$H,1,2,`morse-branch-picker`,25),y()}if(n&2){let t,i=e,o=f();d(),j(`title`,i+` — switch branch`)(`disabled`,o.switching()),d(),ie(` `,i,` `),d(3),S((t=o.branchOpen()&&o.branches())?5:-1,t)}}function zH(n,e){if(n&1&&(h(0,`span`,11),u(1),y()),n&2){let t=f();d(),ie(``,t.commits().length,` commits`)}}function UH(n,e){n&1&&(De(),h(0,`svg`,14),ee(1,`path`,27)(2,`path`,28)(3,`path`,29)(4,`path`,30),y())}function GH(n,e){n&1&&(De(),h(0,`svg`,14),ee(1,`path`,31)(2,`path`,32)(3,`path`,33)(4,`path`,34),y())}function qH(n,e){if(n&1&&(h(0,`p`,54),u(1),y()),n&2){let t=f();d(),I(t.text)}}function WH(n,e){n&1&&E(0,qH,2,1,`p`,54),n&2&&S(e.ok?-1:0)}function YH(n,e){if(n&1&&(h(0,`span`,52),u(1),y()),n&2){let t=f(2);d(),I(t.changedCount())}}function KH(n,e){n&1&&(h(0,`div`,55)(1,`span`,56),De(),h(2,`svg`,57),ee(3,`circle`,58),y(),h(4,`svg`,59),ee(5,`path`,60),y()(),u(6,` No uncommitted changes `),y())}function ZH(n,e){if(n&1&&(h(0,`span`,65),u(1),y()),n&2){let t=f(4);d(),I(t.staged().length)}}function QH(n,e){if(n&1){let t=L();h(0,`button`,67),A(`click`,function(){D(t);return T(f(4).unstageAll())}),u(1,` − `),y()}if(n&2)j(`disabled`,f(4).staging())}function XH(n,e){n&1&&(h(0,`p`,68),u(1,`No staged files. Stage a change to commit it.`),y())}function JH(n,e){if(n&1){let t=L();h(0,`li`,70)(1,`button`,71),A(`click`,function(){let o=D(t).$implicit;return T(f(6).openChange(o.path))}),h(2,`span`),u(3),y(),h(4,`span`,72),u(5),y(),h(6,`span`,73),u(7),y()(),h(8,`button`,74),A(`click`,function(){let o=D(t).$implicit;return T(f(6).unstage(o.path))}),u(9,` − `),y()()}if(n&2){let t=e.$implicit,i=f(6);d(),j(`title`,t.path),d(),sn(`badge `+t.kind),d(),I(t.kind),d(2),I(i.dirOf(t.path)),d(2),I(i.baseOf(t.path)),d(),j(`disabled`,i.staging()),Y(`aria-label`,`Unstage `+t.path)}}function e4(n,e){if(n&1&&(h(0,`ul`,69),X(1,JH,10,8,`li`,70,Ey),y()),n&2){let t=f(5);d(),J(t.staged())}}function t4(n,e){if(n&1&&E(0,XH,2,0,`p`,68)(1,e4,3,0,`ul`,69),n&2)S(f(4).staged().length===0?0:1)}function n4(n,e){if(n&1){let t=L();h(0,`li`,70)(1,`button`,71),A(`click`,function(){let o=D(t).$implicit;return T(f(6).openChange(o.path))}),h(2,`span`),u(3),y(),h(4,`span`,72),u(5),y(),h(6,`span`,73),u(7),y()(),h(8,`button`,76),A(`click`,function(){let o=D(t).$implicit;return T(f(6).stage(o.path))}),u(9,` + `),y()()}if(n&2){let t=e.$implicit,i=f(6);d(),j(`title`,t.path),d(),sn(`badge `+t.kind),d(),I(t.kind),d(2),I(i.dirOf(t.path)),d(2),I(i.baseOf(t.path)),d(),j(`disabled`,i.staging()),Y(`aria-label`,`Stage `+t.path)}}function i4(n,e){if(n&1&&(h(0,`ul`,69),X(1,n4,10,8,`li`,70,Ey),y()),n&2){let t=f(5);d(),J(t.unstaged())}}function o4(n,e){if(n&1){let t=L();h(0,`div`,61)(1,`div`,62)(2,`button`,63),A(`click`,function(){D(t);return T(f(4).toggleUnstaged())}),h(3,`span`,21),u(4,`›`),y(),h(5,`span`,64),u(6,`Unstaged`),y(),h(7,`span`,65),u(8),y()(),ee(9,`span`,12),h(10,`button`,75),A(`click`,function(){D(t);return T(f(4).stageAll())}),u(11,` + `),y()(),E(12,i4,3,0,`ul`,69),y()}if(n&2){let t=f(4);d(2),Y(`aria-expanded`,!t.unstagedCollapsed()),d(),q(`open`,!t.unstagedCollapsed()),d(5),I(t.unstaged().length),d(2),j(`disabled`,t.staging()),d(2),S(t.unstagedCollapsed()?-1:12)}}function r4(n,e){if(n&1){let t=L();h(0,`div`,61)(1,`div`,62)(2,`button`,63),A(`click`,function(){D(t);return T(f(3).toggleStaged())}),h(3,`span`,21),u(4,`›`),y(),h(5,`span`,64),u(6,`Staged`),y(),E(7,ZH,2,1,`span`,65),y(),ee(8,`span`,12),E(9,QH,2,1,`button`,66),y(),E(10,t4,2,1),y(),E(11,o4,13,6,`div`,61)}if(n&2){let t=f(3);d(2),Y(`aria-expanded`,!t.stagedCollapsed()),d(),q(`open`,!t.stagedCollapsed()),d(4),S(t.staged().length>0?7:-1),d(2),S(t.staged().length>0?9:-1),d(),S(t.stagedCollapsed()?-1:10),d(),S(t.unstaged().length>0?11:-1)}}function s4(n,e){if(n&1&&E(0,KH,7,0,`div`,55)(1,r4,12,7),n&2){let t=f(2);S(t.staged().length===0&&t.unstaged().length===0?0:1)}}function a4(n,e){if(n&1){let t=L();h(0,`div`,35)(1,`span`,36)(2,`span`,37)(3,`span`,38),u(4,`↓`),y(),h(5,`span`),u(6),y()(),h(7,`span`,37)(8,`span`,38),u(9,`↑`),y(),h(10,`span`),u(11),y()()(),h(12,`span`,39),u(13),y(),ee(14,`span`,12),h(15,`button`,40),A(`click`,function(){D(t);return T(f().pull())}),De(),h(16,`svg`,4),ee(17,`path`,41)(18,`path`,42)(19,`path`,43),y()(),kt(),h(20,`button`,44),A(`click`,function(){D(t);return T(f().push())}),De(),h(21,`svg`,4),ee(22,`path`,45)(23,`path`,46)(24,`path`,47),y()()(),kt(),h(25,`div`,48)(26,`input`,49),A(`input`,function(o){D(t);return T(f().onCommitMessage(o))})(`keydown.enter`,function(){D(t);return T(f().submitCommit())}),y(),h(27,`button`,50),A(`click`,function(){D(t);return T(f().submitCommit())}),u(28,` Commit `),y()(),E(29,WH,1,1),h(30,`section`,51)(31,`div`,19)(32,`button`,20),A(`click`,function(){D(t);return T(f().toggleChanges())}),h(33,`span`,21),u(34,`›`),y(),h(35,`span`,22),u(36,`Changes`),y(),E(37,YH,2,1,`span`,52),y()(),E(38,s4,2,1),y(),h(39,`div`,53),A(`pointerdown`,function(o){D(t);return T(f().startResize(o))}),y()}if(n&2){let t,i=f();d(),j(`title`,i.syncLabel()),d(),q(`on`,i.behind()>0),d(4),I(i.behind()),d(),q(`on`,i.ahead()>0),d(4),I(i.ahead()),d(),j(`title`,i.syncLabel()),d(),I(i.upstream()??`no upstream`),d(2),j(`disabled`,i.syncing()),d(5),j(`disabled`,i.syncing()),d(6),j(`placeholder`,`Message (Enter to commit on `+(i.branch()??`HEAD`)+`)`)(`value`,i.commitMessage())(`disabled`,i.committing()),d(),j(`disabled`,!i.canCommit()),d(2),S((t=i.notice())?29:-1,t),d(),Tt(`height`,i.changesHeightPx(),`px`),d(2),Y(`aria-expanded`,!i.changesCollapsed()),d(),q(`open`,!i.changesCollapsed()),d(4),S(i.changedCount()>0?37:-1),d(),S(i.changesCollapsed()?-1:38),d(),q(`gone`,i.changesCollapsed()||i.historyCollapsed())}}function l4(n,e){n&1&&(h(0,`p`,77),u(1,`Reading git history…`),y())}function c4(n,e){n&1&&(h(0,`p`,78),u(1),y()),n&2&&(d(),I(e))}function d4(n,e){n&1&&(h(0,`p`,77),u(1,`This project is not a git repository.`),y())}function u4(n,e){n&1&&(h(0,`div`,55)(1,`span`,80),De(),h(2,`svg`,81),ee(3,`path`,82)(4,`circle`,83),y()(),u(5,` No commits yet `),y())}function p4(n,e){if(n&1&&(De(),ee(0,`path`)(1,`path`,100)),n&2){let t=e.$implicit,i=f(4);Tt(`stroke`,i.color(t.color)),Y(`d`,i.path(t)),d(),Y(`d`,i.path(t))}}function f4(n,e){if(n&1&&(h(0,`span`,102),u(1),y()),n&2){let t=e.$implicit,i=f(5);q(`kind-head`,i.refKind(t)===`head`)(`kind-local`,i.refKind(t)===`local`)(`kind-tag`,i.refKind(t)===`tag`),j(`title`,i.refLabel(t)),d(),I(i.refLabel(t))}}function m4(n,e){if(n&1&&(h(0,`span`,102),u(1),y()),n&2){let t=f(2).$implicit;j(`title`,t.restTitle),d(),ie(`+`,t.moreRefs)}}function h4(n,e){if(n&1&&(h(0,`span`,93),X(1,f4,2,8,`span`,101,kn),E(3,m4,2,2,`span`,102),y()),n&2){let t=f().$implicit;d(),J(t.refs),d(2),S(t.moreRefs>0?3:-1)}}function g4(n,e){if(n&1&&(h(0,`span`,96),u(1,`·`),y(),h(2,`span`,103),u(3),y()),n&2){let t=f().$implicit;d(3),I(t.commit.author)}}function y4(n,e){if(n&1&&ee(0,`span`,109),n&2){let t=e.$implicit,i=f(5);Tt(`left`,i.x(t.toLane),`px`)(`background`,i.color(t.color))}}function _4(n,e){n&1&&(h(0,`p`,106),u(1,`Reading the commit…`),y())}function v4(n,e){n&1&&(h(0,`p`,107),u(1),y()),n&2&&(d(),I(e))}function b4(n,e){n&1&&(h(0,`p`,106),u(1,`No changed files under this session.`),y())}function x4(n,e){if(n&1){let t=L();h(0,`li`)(1,`button`,110),A(`click`,function(){let o=D(t).$implicit,r=f(3).$implicit;return T(f(3).openCommitChange(r.commit.hash,o.path,r.commit.subject))}),h(2,`span`),u(3),y(),h(4,`span`,72),u(5),y(),h(6,`span`,73),u(7),y()()()}if(n&2){let t=e.$implicit,i=f(6);d(),j(`title`,t.path),d(),sn(`badge `+t.kind),d(),I(t.kind),d(2),I(i.dirOf(t.path)),d(2),I(i.baseOf(t.path))}}function C4(n,e){if(n&1&&(h(0,`ul`,108),X(1,x4,8,6,`li`,null,Ey),y()),n&2){let t=f(2).$implicit,i=f(3);d(),J(i.commitState(t.commit.hash).files)}}function w4(n,e){if(n&1&&(h(0,`div`,99)(1,`div`,104),X(2,y4,1,4,`span`,105,Ci),y(),E(4,_4,2,0,`p`,106)(5,v4,2,1,`p`,107)(6,b4,2,0,`p`,106)(7,C4,3,0,`ul`,108),y()),n&2){let t,i=f().$implicit,o=f(3);d(2),J(o.continuing(i.row)),d(2),S(o.commitState(i.commit.hash).loading?4:(t=o.commitState(i.commit.hash).error)?5:o.commitState(i.commit.hash).files.length===0?6:7,t)}}function E4(n,e){if(n&1){let t=L();h(0,`li`,87)(1,`div`,88),A(`click`,function(){let o=D(t).$implicit;return T(f(3).toggleCommit(o.commit.hash))})(`keydown.enter`,function(){let o=D(t).$implicit;return T(f(3).toggleCommit(o.commit.hash))})(`keydown.space`,function(o){let r=D(t).$implicit;return f(3).toggleCommit(r.commit.hash),T(o.preventDefault())}),De(),h(2,`svg`,89),X(3,p4,2,4,null,null,Ci),ee(5,`circle`,90),y(),kt(),h(6,`span`,91),u(7,`›`),y(),h(8,`span`,92),u(9),y(),E(10,h4,4,1,`span`,93),ee(11,`span`,12),h(12,`span`,94)(13,`span`,95),u(14),y(),h(15,`span`,96),u(16,`·`),y(),h(17,`span`,97),u(18),y(),E(19,g4,4,1),y(),h(20,`button`,98),A(`click`,function(o){let r=D(t).$implicit,s=f(3);return o.stopPropagation(),T(s.copy(r.commit))}),u(21),y()(),E(22,w4,8,1,`div`,99),y()}if(n&2){let t=e.$implicit,i=f(3);q(`expanded`,i.expanded())(`open`,i.isCommitOpen(t.commit.hash)),d(),j(`title`,i.commitTitle(t.commit)),Y(`aria-expanded`,i.isCommitOpen(t.commit.hash)),d(),Y(`width`,i.graphWidth())(`height`,i.rowHeight)(`viewBox`,`0 0 `+i.graphWidth()+` `+i.rowHeight),d(),J(t.row.edges),d(2),Tt(`fill`,i.rowColor(t.row)),Y(`cx`,i.x(t.row.lane))(`cy`,i.rowHeight/2),d(),q(`open`,i.isCommitOpen(t.commit.hash)),d(3),I(t.commit.subject),d(),S(t.refs.length>0?10:-1),d(3),j(`title`,t.commit.hash),d(),I(t.commit.shortHash),d(4),I(i.when(t.commit.date)),d(),S(i.expanded()?19:-1),d(),j(`title`,i.copied()===t.commit.hash?`Copied`:`Copy commit hash`),Y(`aria-label`,`Copy commit hash `+t.commit.shortHash),d(),ie(` `,i.copied()===t.commit.hash?`✓`:`⧉`,` `),d(),S(i.isCommitOpen(t.commit.hash)?22:-1)}}function S4(n,e){if(n&1&&u(0),n&2)ie(` `,f(3).loading()?`Loading older commits…`:`Scroll for older commits`,` `)}function D4(n,e){n&1&&u(0,` Beginning of history `)}function T4(n,e){if(n&1){let t=L();h(0,`ul`,84),A(`scroll`,function(o){D(t);return T(f(2).onScroll(o))}),X(1,E4,23,25,`li`,85,BH),h(3,`li`,86),E(4,S4,1,1)(5,D4,1,0),y()()}if(n&2){let t=f(2);d(),J(t.entries().rows),d(3),S(t.hasMore()?4:5)}}function M4(n,e){if(n&1&&E(0,l4,2,0,`p`,77)(1,c4,2,1,`p`,78)(2,d4,2,0,`p`,77)(3,u4,6,0,`div`,55)(4,T4,6,1,`ul`,79),n&2){let t,i=f();S(i.loading()&&!i.loaded()?0:(t=i.error())?1:i.isRepo()?i.commits().length===0?3:4:2,t)}}var bD=[`var(--morse-accent)`,`var(--morse-success)`,`var(--morse-number)`,`var(--morse-typename)`,`var(--morse-keyword)`,`var(--morse-info)`,`var(--morse-warn)`];var wy=16;var xD=32;var k4=180;var uf=class n{expanded=se(!1);morse=w(Ie);shell=w(Ft);git=w(cf);workspace=w(Qn);tabs=w(Vt);commits=this.git.commits;branch=this.git.branch;root=this.git.root;isRepo=this.git.isRepo;loading=this.git.loading;loaded=this.git.loaded;hasMore=this.git.hasMore;error=this.git.error;changesCollapsed=this.shell.gitChangesCollapsed;historyCollapsed=this.shell.gitHistoryCollapsed;stagedCollapsed=this.shell.gitStagedCollapsed;unstagedCollapsed=this.shell.gitUnstagedCollapsed;changesHeight=this.shell.gitChangesHeight;staging=N(!1);staged=C(()=>this.changesFor(`staged`));unstaged=C(()=>this.changesFor(`unstaged`));changedCount=C(()=>{let e=this.workspace.status();return e?.isRepo?e.files.length:0});canCommit=C(()=>this.commitMessage().trim().length>0&&this.staged().length>0&&!this.committing());changesFor(e){let t=this.workspace.status();if(t===void 0||!t.isRepo)return[];let i=[];for(let o of t.files){if(!(e===`staged`?Nw(o.status):Pw(o.status)))continue;let s=e===`staged`?Ow(o.status):Aw(o.status);s!==void 0&&i.push({path:o.path,kind:s})}return i.sort((o,r)=>o.path.localeCompare(r.path))}rowHeight=xD;copied=N(void 0);ahead=this.git.ahead;behind=this.git.behind;upstream=this.git.upstream;syncing=this.git.syncingNow;syncLabel=C(()=>{let e=this.upstream();return e===void 0?`No upstream branch to pull from or push to`:`${e}: ${this.behind()} to pull, ${this.ahead()} to push`});branches=this.git.branches;switching=this.git.switching;committing=this.git.committing;notice=this.git.notice;branchOpen=N(!1);commitMessage=N(``);openCommit=N(void 0);commitFiles=N({});entries=C(()=>{let e=this.commits(),t=vD(e),i=this.expanded()?3:1;return{laneCount:t.laneCount,rows:t.rows.map((o,r)=>{let s=e[r],a=s.refs.slice(0,i),l=s.refs.slice(i);return{row:o,commit:s,refs:a,moreRefs:l.length,restTitle:l.map(c=>this.refLabel(c)).join(`, `)}})}});graphWidth=C(()=>Math.max(1,this.entries().laneCount)*wy);constructor(){ne(()=>{!this.shell.gitPanelOpen()||!this.morse.workspace().cwd||this.git.refresh()})}refresh(){this.git.refresh()}pull(){this.git.pull()}push(){this.git.push()}toggleBranchPicker(){if(this.branchOpen()){this.branchOpen.set(!1);return}this.git.loadBranches(),this.branchOpen.set(!0)}closeBranchPicker(){this.branchOpen.set(!1)}pickBranch(e){this.branchOpen.set(!1),this.git.checkout(e,!1)}createBranch(e){this.branchOpen.set(!1),this.git.checkout(e,!0)}detachRef(e){this.branchOpen.set(!1),this.git.checkout(e,!1)}onCommitMessage(e){this.commitMessage.set(e.target.value)}submitCommit(){let e=this.commitMessage().trim();if(!(e.length===0||this.committing())){if(this.staged().length===0){this.git.refuse(`Nothing is staged to commit. Stage a change first.`);return}this.git.commit(e).then(t=>{t&&this.commitMessage.set(``)})}}isCommitOpen(e){return this.openCommit()===e}commitState(e){return this.commitFiles()[e]??{loading:!1,files:[]}}toggleCommit(e){if(this.openCommit()===e){this.openCommit.set(void 0);return}this.openCommit.set(e);let t=this.commitFiles()[e];t!==void 0&&t.error===void 0||(this.commitFiles.update(i=>s(r({},i),{[e]:{loading:!0,files:[]}})),this.morse.requestHostCommand(`gitCommitFiles`,{hash:e}).then(i=>{let o=Lw(i);if(o===void 0){this.commitFiles.update(s$8=>s(r({},s$8),{[e]:{loading:!1,files:[],error:`Could not read this commit.`}}));return}let r$25=[];for(let s of o){let a=V0(s.status);a!==void 0&&r$25.push({path:s.path,kind:a})}r$25.sort((s,a)=>s.path.localeCompare(a.path)),this.commitFiles.update(s$9=>s(r({},s$9),{[e]:{loading:!1,files:r$25}}))}))}openCommitChange(e,t,i){this.tabs.openCommitFile(e,t,i)}onScroll(e){let t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight<600&&this.git.loadMore()}close(){this.shell.closeGitPanel()}openChange(e){this.tabs.openFile(e)}stage(e){this.runStage([e])}unstage(e){this.runUnstage([e])}stageAll(){this.runStage(this.unstaged().map(e=>e.path))}unstageAll(){this.runUnstage(this.staged().map(e=>e.path))}async runStage(e){if(!(e.length===0||this.staging())){this.staging.set(!0);try{await this.workspace.stage(e)}finally{this.staging.set(!1)}}}async runUnstage(e){if(!(e.length===0||this.staging())){this.staging.set(!0);try{await this.workspace.unstage(e)}finally{this.staging.set(!1)}}}dirOf(e){let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)}baseOf(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}toggleExpanded(){this.shell.toggleGitPanelExpanded()}toggleChanges(){this.shell.toggleGitChanges()}toggleHistory(){this.shell.toggleGitHistory()}toggleStaged(){this.shell.toggleGitStaged()}toggleUnstaged(){this.shell.toggleGitUnstaged()}changesHeightPx(){return this.changesCollapsed()||this.historyCollapsed()?null:this.changesHeight()??null}startResize(e){e.preventDefault();let t=e.currentTarget,i=t.parentElement;if(!i)return;let o=i.getBoundingClientRect().top,r=i.getBoundingClientRect().bottom;t.setPointerCapture(e.pointerId);let s=0,a=0,l=()=>{s=0,this.shell.setGitChangesHeight(a,!1)},c=m=>{a=Math.min(r-o-80,m.clientY-o),s===0&&(s=requestAnimationFrame(l))},p=()=>{s!==0&&(cancelAnimationFrame(s),l()),this.shell.setGitChangesHeight(a),t.removeEventListener(`pointermove`,c),t.removeEventListener(`pointerup`,p),t.removeEventListener(`pointercancel`,p)};t.addEventListener(`pointermove`,c),t.addEventListener(`pointerup`,p),t.addEventListener(`pointercancel`,p)}startWidthResize(e){e.preventDefault(),this.shell.gitPanelExpanded()&&this.shell.toggleGitPanelExpanded();let t=e.currentTarget,i=t.parentElement,o=e.clientX,r=i?.getBoundingClientRect().width??340,s=t.closest(`.shell`),a=s?.querySelector(`.nav`),l=s?.getBoundingClientRect().width??window.innerWidth,c=this.shell.navigationCollapsed()?0:a?.getBoundingClientRect().width??240,p=Math.max(320,l-c-k4);t.setPointerCapture(e.pointerId),s?.style.setProperty(`transition`,`none`),i?.classList.add(`resizing`);let m=0,v=this.shell.gitPanelWidth()??Math.round(r),b=()=>{m=0,this.shell.setGitPanelWidth(v,!1)},k=M=>{v=Math.min(p,r+(o-M.clientX)),m===0&&(m=requestAnimationFrame(b))},O=()=>{m!==0&&(cancelAnimationFrame(m),b()),s?.style.removeProperty(`transition`),i?.classList.remove(`resizing`),this.shell.setGitPanelWidth(v),t.removeEventListener(`pointermove`,k),t.removeEventListener(`pointerup`,O),t.removeEventListener(`pointercancel`,O)};t.addEventListener(`pointermove`,k),t.addEventListener(`pointerup`,O),t.addEventListener(`pointercancel`,O)}resetWidth(){this.shell.resetGitPanelWidth()}refLabel(e){if(e.startsWith(`tag: `))return e.slice(5);let t=e.indexOf(` -> `);return t===-1?e:e.slice(t+4)}refKind(e){return e.startsWith(`tag: `)?`tag`:e.includes(`HEAD`)?`head`:`local`}when(e){let t=Date.parse(e);if(!Number.isFinite(t))return``;let i=Math.max(0,Math.round((Date.now()-t)/1e3));if(i<60)return`${i}s`;let o=Math.round(i/60);if(o<60)return`${o}m`;let r=Math.round(o/60);return r<24?`${r}h`:`${Math.round(r/24)}d`}commitTitle(e){let t=[e.subject];return e.refs.length>0&&t.push(``,...e.refs.map(i=>this.refDetail(i))),t.push(``,`${e.author} \xB7 ${this.exactTime(e.date)}`,e.hash),t.join(`
|
|
120
|
+
`)}refDetail(e){if(e.startsWith(`tag: `))return`tag ${e.slice(5)}`;let t=e.indexOf(` -> `);return t===-1?e:`HEAD \u2192 ${e.slice(t+4)}`}exactTime(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString()}async copy(e){try{await navigator.clipboard.writeText(e.hash),this.copied.set(e.hash),setTimeout(()=>{this.copied()===e.hash&&this.copied.set(void 0)},1200)}catch{}}x(e){return e*wy+wy/2}y(e){return e*xD}color(e){return bD[e%bD.length]}path(e){let t=this.x(e.fromLane),i=this.y(e.fromY),o=this.x(e.toLane),r=this.y(e.toY);if(t===o)return`M ${t} ${i} L ${o} ${r}`;let s=(i+r)/2;return`M ${t} ${i} C ${t} ${s}, ${o} ${s}, ${o} ${r}`}continuing(e){return e.edges.filter(t=>t.toY===1)}rowColor(e){return this.color(e.color)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-git-panel`]],inputs:{expanded:[1,`expanded`]},decls:31,vars:19,consts:[[`aria-label`,`Git history`,1,`panel`],[`role`,`separator`,`aria-orientation`,`vertical`,`aria-label`,`Resize the git panel`,`title`,`Drag to resize`,1,`edge-resize`,3,`pointerdown`,`dblclick`],[1,`head`],[1,`brand`,3,`title`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`],[`cx`,`4.5`,`cy`,`3.5`,`r`,`1.8`],[`cx`,`4.5`,`cy`,`12.5`,`r`,`1.8`],[`cx`,`11.5`,`cy`,`6.5`,`r`,`1.8`],[`d`,`M4.5 5.3v5.4`],[`d`,`M4.5 5.3c0 2.4 7 1 7 3`],[1,`branch-host`],[1,`count`],[1,`grow`],[`type`,`button`,1,`icon`,3,`click`,`title`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,1,`glyph`],[`type`,`button`,`title`,`Refresh history`,`aria-label`,`Refresh history`,1,`icon`,3,`click`,`disabled`],[`type`,`button`,`title`,`Hide the git panel`,`aria-label`,`Hide the git panel`,1,`icon`,3,`click`],[1,`body`],[1,`history`],[1,`section-head`],[`type`,`button`,1,`section-toggle`,3,`click`],[1,`chevron`],[1,`section-title`],[`type`,`button`,1,`branch`,3,`click`,`title`,`disabled`],[`aria-hidden`,`true`,1,`branch-caret`],[3,`branches`,`busy`],[3,`pick`,`create`,`detach`,`close`,`branches`,`busy`],[`d`,`M3.5 6.5h3v-3`],[`d`,`M12.5 9.5h-3v3`],[`d`,`M6.5 6.5 3 3`],[`d`,`M9.5 9.5 13 13`],[`d`,`M6.5 3.5h-3v3`],[`d`,`M9.5 12.5h3v-3`],[`d`,`M3.5 3.5 8 8`],[`d`,`M12.5 12.5 8 8`],[1,`sync`],[1,`sync-counts`,3,`title`],[1,`sync-arrow`],[`aria-hidden`,`true`],[1,`sync-upstream`,3,`title`],[`type`,`button`,`title`,`Pull from the upstream`,`aria-label`,`Pull`,1,`icon`,3,`click`,`disabled`],[`d`,`M8 2v9`],[`d`,`M4.5 7.5 8 11l3.5-3.5`],[`d`,`M3 13.5h10`],[`type`,`button`,`title`,`Push to the upstream (tags follow)`,`aria-label`,`Push`,1,`icon`,3,`click`,`disabled`],[`d`,`M8 14V5`],[`d`,`M4.5 8.5 8 5l3.5 3.5`],[`d`,`M3 2.5h10`],[1,`commit-box`],[`type`,`text`,`aria-label`,`Commit message`,1,`commit-input`,3,`input`,`keydown.enter`,`placeholder`,`value`,`disabled`],[`type`,`button`,1,`commit-button`,3,`click`,`disabled`],[`aria-label`,`Uncommitted changes`,1,`changes`],[1,`section-count`],[`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize the git sections`,`title`,`Drag to resize`,1,`divider`,3,`pointerdown`],[`role`,`alert`,1,`commit-error`],[1,`empty`],[`aria-hidden`,`true`,1,`mark`],[`viewBox`,`0 0 24 24`,1,`ring`],[`cx`,`12`,`cy`,`12`,`r`,`10`],[`viewBox`,`0 0 24 24`,1,`check`],[`d`,`M7.5 12.5 11 16l6-7`],[1,`change-group`],[1,`change-group-head`],[`type`,`button`,1,`group-toggle`,3,`click`],[1,`change-group-title`],[1,`change-group-count`],[`type`,`button`,`title`,`Unstage all`,`aria-label`,`Unstage all changes`,1,`group-action`,3,`disabled`],[`type`,`button`,`title`,`Unstage all`,`aria-label`,`Unstage all changes`,1,`group-action`,3,`click`,`disabled`],[1,`change-empty`],[1,`change-list`],[1,`change-row`],[`type`,`button`,1,`change`,3,`click`,`title`],[1,`change-dir`],[1,`change-name`],[`type`,`button`,`title`,`Unstage`,1,`change-action`,3,`click`,`disabled`],[`type`,`button`,`title`,`Stage all`,`aria-label`,`Stage all changes`,1,`group-action`,3,`click`,`disabled`],[`type`,`button`,`title`,`Stage`,1,`change-action`,3,`click`,`disabled`],[1,`hint`],[1,`hint`,`error`],[1,`list`],[`aria-hidden`,`true`,1,`mark`,`node`],[`viewBox`,`0 0 24 24`],[`d`,`M12 3v18`,1,`line`],[`cx`,`12`,`cy`,`12`,`r`,`3.4`,1,`dot`],[1,`list`,3,`scroll`],[1,`commit`,3,`expanded`,`open`],[1,`more`],[1,`commit`],[`role`,`button`,`tabindex`,`0`,1,`commit-row`,3,`click`,`keydown.enter`,`keydown.space`,`title`],[`aria-hidden`,`true`,1,`graph`],[`r`,`3.4`],[1,`commit-chevron`],[1,`subject`],[1,`refs`],[1,`meta`],[1,`hash`,3,`title`],[`aria-hidden`,`true`,1,`sep`],[1,`when`],[`type`,`button`,1,`copy`,3,`click`,`title`],[1,`commit-files`],[1,`flow`],[1,`ref`,3,`title`,`kind-head`,`kind-local`,`kind-tag`],[1,`ref`,3,`title`],[1,`author`],[`aria-hidden`,`true`,1,`commit-rail`],[1,`rail`,3,`left`,`background`],[1,`commit-file-hint`],[1,`commit-file-hint`,`error`],[1,`commit-file-list`],[1,`rail`],[`type`,`button`,1,`commit-file`,3,`click`,`title`]],template:function(t,i){if(t&1&&(h(0,`aside`,0)(1,`div`,1),A(`pointerdown`,function(r){return i.startWidthResize(r)})(`dblclick`,function(){return i.resetWidth()}),y(),h(2,`header`,2)(3,`span`,3),De(),h(4,`svg`,4),ee(5,`circle`,5)(6,`circle`,6)(7,`circle`,7)(8,`path`,8)(9,`path`,9),y(),u(10,` Git `),y(),E(11,HH,6,4,`div`,10),E(12,zH,2,1,`span`,11),kt(),ee(13,`span`,12),h(14,`button`,13),A(`click`,function(){return i.toggleExpanded()}),E(15,UH,5,0,`:svg:svg`,14)(16,GH,5,0,`:svg:svg`,14),y(),h(17,`button`,15),A(`click`,function(){return i.refresh()}),u(18,` ⟳ `),y(),h(19,`button`,16),A(`click`,function(){return i.close()}),u(20,` ✕ `),y()(),h(21,`div`,17),E(22,a4,40,25),h(23,`section`,18)(24,`div`,19)(25,`button`,20),A(`click`,function(){return i.toggleHistory()}),h(26,`span`,21),u(27,`›`),y(),h(28,`span`,22),u(29,`History`),y()()(),E(30,M4,5,1),y()()()),t&2){let o;q(`full`,i.expanded()),d(3),j(`title`,i.root()??``),d(8),S((o=i.branch())?11:-1,o),d(),S(i.expanded()&&i.commits().length>0?12:-1),d(2),j(`title`,i.expanded()?`Fit the git panel back into the sidebar`:`Expand the git graph`),Y(`aria-label`,i.expanded()?`Collapse the git panel`:`Expand the git panel`)(`aria-pressed`,i.expanded()),d(),S(i.expanded()?15:16),d(2),j(`disabled`,i.loading()),d(4),q(`changes-collapsed`,i.changesCollapsed())(`history-collapsed`,i.historyCollapsed()),d(),S(i.isRepo()?22:-1),d(3),Y(`aria-expanded`,!i.historyCollapsed()),d(),q(`open`,!i.historyCollapsed()),d(4),S(i.historyCollapsed()?-1:30)}},dependencies:[df],styles:[`[_nghost-%COMP%]{position:relative;display:block;min-width:0;min-height:0;height:100%;overflow:hidden;border-left:1px solid var(--%NS%morse-border);background:var(--%NS%morse-nav-bg)}.edge-resize[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;width:6px;z-index:3;cursor:ew-resize}.edge-resize[_ngcontent-%COMP%]:hover, .edge-resize[_ngcontent-%COMP%]:active{background:color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent)}.panel.resizing[_ngcontent-%COMP%] .body[_ngcontent-%COMP%]{pointer-events:none}.panel.resizing[_ngcontent-%COMP%] .graph[_ngcontent-%COMP%] path.flow[_ngcontent-%COMP%]{animation:none}.head[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;gap:6px;min-height:var(--%NS%morse-head-height);padding:0 6px 0 10px;border-bottom:1px solid var(--%NS%morse-border);background:var(--%NS%morse-nav-bg)}.brand[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.brand[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.branch[_ngcontent-%COMP%], .ref[_ngcontent-%COMP%]{flex:none;padding:0 6px;border-radius:4px;font-family:var(--%NS%morse-font-mono);font-size:10px;line-height:16px;background:color-mix(in srgb,var(--%NS%morse-fg-muted) 12%,transparent);color:var(--%NS%morse-fg-muted)}.branch[_ngcontent-%COMP%], .ref[_ngcontent-%COMP%]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit.expanded[_ngcontent-%COMP%] .ref[_ngcontent-%COMP%]{max-width:240px}.branch[_ngcontent-%COMP%], .ref.kind-head[_ngcontent-%COMP%]{color:var(--%NS%morse-accent)}.ref.kind-local[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.ref.kind-tag[_ngcontent-%COMP%]{color:var(--%NS%morse-typename)}.branch-host[_ngcontent-%COMP%]{position:relative;display:inline-flex;flex:none;min-width:0}button.branch[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:color-mix(in srgb,var(--%NS%morse-fg-muted) 12%,transparent);cursor:pointer}button.branch[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}button.branch[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:default}.branch-caret[_ngcontent-%COMP%]{flex:none;font-size:9px;line-height:1;opacity:.7}.grow[_ngcontent-%COMP%]{flex:1}.icon[_ngcontent-%COMP%]{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:13px;line-height:1;cursor:pointer}.icon[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.count[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px}.body[_ngcontent-%COMP%]{position:absolute;top:var(--%NS%morse-head-height);right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.sync[_ngcontent-%COMP%]{flex:none;display:flex;align-items:center;gap:6px;min-height:28px;padding:0 4px 0 10px;border-bottom:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px}.sync-counts[_ngcontent-%COMP%]{flex:none;display:inline-flex;gap:6px;font-family:var(--%NS%morse-font-mono)}.sync-arrow[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:3px;opacity:.5}.sync-arrow.on[_ngcontent-%COMP%]{opacity:1;color:var(--%NS%morse-accent)}.sync-upstream[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--%NS%morse-font-mono);font-size:10px}.commit-box[_ngcontent-%COMP%]{flex:none;display:flex;gap:6px;padding:6px 8px 6px 10px;border-bottom:1px solid var(--%NS%morse-border)}.commit-input[_ngcontent-%COMP%]{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--%NS%morse-input-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-input-bg);color:var(--%NS%morse-input-fg);font:inherit;font-size:12px}.commit-button[_ngcontent-%COMP%]{flex:none;padding:5px 10px;border:1px solid var(--%NS%morse-accent);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-accent);color:#fff;font:inherit;font-size:12px;cursor:pointer}.commit-button[_ngcontent-%COMP%]:hover:not(:disabled){filter:brightness(1.08)}.commit-button[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:default}.commit-error[_ngcontent-%COMP%]{flex:none;margin:0;padding:4px 10px 6px;color:var(--%NS%morse-error);font-size:11px;line-height:1.4}.changes[_ngcontent-%COMP%]{flex:none;height:45%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.body.changes-collapsed[_ngcontent-%COMP%] .changes[_ngcontent-%COMP%], .body.history-collapsed[_ngcontent-%COMP%] .changes[_ngcontent-%COMP%]{height:auto}.body.history-collapsed[_ngcontent-%COMP%] .changes[_ngcontent-%COMP%]{flex:1}.divider[_ngcontent-%COMP%]{flex:none;position:relative;height:5px;border-top:1px solid var(--%NS%morse-border);background:transparent;cursor:ns-resize}.divider[_ngcontent-%COMP%]:hover{border-top-color:var(--%NS%morse-accent);background:color-mix(in srgb,var(--%NS%morse-accent) 30%,transparent)}.divider[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:-3px 0}.divider.gone[_ngcontent-%COMP%]{display:none}.history[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column}.body.history-collapsed[_ngcontent-%COMP%] .history[_ngcontent-%COMP%]{flex:none}.section-head[_ngcontent-%COMP%]{display:flex;flex:none;align-items:center}.section-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;flex:1;min-width:0;padding:5px 10px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.section-toggle[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.chevron[_ngcontent-%COMP%]{flex:none;display:inline-block;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1;transition:transform .12s ease}.chevron.open[_ngcontent-%COMP%]{transform:rotate(90deg)}.section-title[_ngcontent-%COMP%]{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.section-count[_ngcontent-%COMP%]{font-size:10.5px;color:var(--%NS%morse-fg-muted)}.change-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.change-group[_ngcontent-%COMP%] + .change-group[_ngcontent-%COMP%]{border-top:1px solid var(--%NS%morse-border)}.change-group-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;padding:4px 6px 3px 10px;color:var(--%NS%morse-fg-muted);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.change-group-head[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.group-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.group-toggle[_ngcontent-%COMP%]:hover:not(:disabled){background:none;color:var(--%NS%morse-fg)}.change-group-count[_ngcontent-%COMP%]{font-size:10.5px;color:var(--%NS%morse-fg-muted)}.change-empty[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin:0;padding:2px 10px 8px;color:var(--%NS%morse-fg-muted);font-size:11.5px}.change-empty[_ngcontent-%COMP%]:before{content:"";flex:none;width:14px}.group-action[_ngcontent-%COMP%], .change-action[_ngcontent-%COMP%]{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font:inherit;line-height:1;cursor:pointer}.group-action[_ngcontent-%COMP%]{width:20px;height:20px;font-size:14px;text-transform:none}.group-action[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-border);color:var(--%NS%morse-fg)}.change-list[_ngcontent-%COMP%]{margin:0;padding:0 0 6px;list-style:none}.change-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px}.change[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:2px 2px 2px 10px;border:0;background:none;color:var(--%NS%morse-fg);font:inherit;text-align:left;cursor:pointer}.change[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.change-action[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:6px;font-size:13px;opacity:0}.change-row[_ngcontent-%COMP%]:hover .change-action[_ngcontent-%COMP%], .change-action[_ngcontent-%COMP%]:focus-visible{opacity:1}.change-action[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-border);color:var(--%NS%morse-fg)}.change-action[_ngcontent-%COMP%]:disabled, .group-action[_ngcontent-%COMP%]:disabled{opacity:.35;cursor:default}.change-dir[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.change-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.empty[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;color:var(--%NS%morse-fg-muted);font-size:11.5px;text-align:center}.mark[_ngcontent-%COMP%]{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;animation:_ngcontent-%COMP%_mark-breathe 2.8s ease-in-out infinite}.mark[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round}.mark[_ngcontent-%COMP%] .ring[_ngcontent-%COMP%]{stroke:color-mix(in srgb,var(--%NS%morse-fg-muted) 40%,transparent);stroke-width:1.4}.mark[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{stroke:var(--%NS%morse-success);stroke-width:2;stroke-dasharray:20;stroke-dashoffset:20;animation:_ngcontent-%COMP%_check-draw .9s ease-out .12s forwards}.mark.node[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{stroke:color-mix(in srgb,var(--%NS%morse-fg-muted) 35%,transparent);stroke-width:1.4}.mark.node[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{stroke:var(--%NS%morse-accent);stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:_ngcontent-%COMP%_node-pulse 2.8s ease-in-out infinite}.mark[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid color-mix(in srgb,var(--%NS%morse-success) 45%,transparent);animation:_ngcontent-%COMP%_mark-ping 2.8s ease-out infinite}.mark.node[_ngcontent-%COMP%]:after{border-color:color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent)}@keyframes _ngcontent-%COMP%_mark-breathe{0%,to{transform:scale(.95)}50%{transform:scale(1.05)}}@keyframes _ngcontent-%COMP%_check-draw{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_node-pulse{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes _ngcontent-%COMP%_mark-ping{0%{transform:scale(.85);opacity:.7}70%,to{transform:scale(1.35);opacity:0}}@media(prefers-reduced-motion:reduce){.mark[_ngcontent-%COMP%], .mark[_ngcontent-%COMP%]:after{animation:none}.mark[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{animation:none;stroke-dashoffset:0}.mark.node[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{animation:none}}.badge[_ngcontent-%COMP%]{flex:none;padding:0 4px;border-radius:4px;font-family:var(--%NS%morse-font-mono);font-size:9.5px;line-height:15px;color:var(--%NS%morse-fg-muted)}.badge.M[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}.badge.A[_ngcontent-%COMP%], .badge.U[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.badge.D[_ngcontent-%COMP%], .badge.C[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.badge.R[_ngcontent-%COMP%]{color:var(--%NS%morse-info)}.list[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0;padding:2px 0 10px;list-style:none}.hint[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:12px;color:var(--%NS%morse-fg-muted);font-size:12px;line-height:1.5}.hint.error[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.more[_ngcontent-%COMP%]{padding:10px 12px;color:var(--%NS%morse-fg-muted);font-size:11px;text-align:center}.commit[_ngcontent-%COMP%]{display:block}.commit-row[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;height:32px;padding-right:8px;cursor:pointer}.commit-row[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.commit-row[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--%NS%morse-focus);outline-offset:-1px}.commit-chevron[_ngcontent-%COMP%]{flex:none;display:inline-block;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1;transition:transform .12s ease}.commit-chevron.open[_ngcontent-%COMP%]{transform:rotate(90deg)}.commit-files[_ngcontent-%COMP%]{position:relative;padding-bottom:6px}.commit-rail[_ngcontent-%COMP%]{position:absolute;inset:0;pointer-events:none}.rail[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;width:1.7px;transform:translate(-50%);border-radius:1px;opacity:.9}.commit-file-list[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.commit-file[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;width:100%;padding:2px 10px 2px 44px;border:0;background:none;color:var(--%NS%morse-fg);font:inherit;text-align:left;cursor:pointer}.commit-file[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.commit-file-hint[_ngcontent-%COMP%]{margin:0;padding:2px 12px 6px 44px;color:var(--%NS%morse-fg-muted);font-size:11px}.commit-file-hint.error[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.graph[_ngcontent-%COMP%]{flex:none;display:block;overflow:visible}.graph[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.graph[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:var(--%NS%morse-nav-bg);stroke-width:1.6}.graph[_ngcontent-%COMP%] path.flow[_ngcontent-%COMP%]{stroke:var(--%NS%morse-fg);stroke-dasharray:5 15;stroke-linecap:round;opacity:.35;animation:_ngcontent-%COMP%_graph-flow 1.4s linear infinite}@keyframes _ngcontent-%COMP%_graph-flow{to{stroke-dashoffset:-20}}@media(prefers-reduced-motion:reduce){.graph[_ngcontent-%COMP%] path.flow[_ngcontent-%COMP%]{animation:none;opacity:0}}.subject[_ngcontent-%COMP%]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--%NS%morse-fg)}.refs[_ngcontent-%COMP%]{flex:0 1 auto;display:flex;align-items:center;gap:4px;min-width:0}.grow[_ngcontent-%COMP%]{flex:1;min-width:8px}.meta[_ngcontent-%COMP%]{flex:none;display:flex;align-items:center;gap:6px;color:var(--%NS%morse-fg-muted);font-size:11px;white-space:nowrap}.hash[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono)}.author[_ngcontent-%COMP%]{display:none;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit.expanded[_ngcontent-%COMP%] .author[_ngcontent-%COMP%]{display:inline}.sep[_ngcontent-%COMP%]{opacity:.5}.copy[_ngcontent-%COMP%]{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;cursor:pointer;opacity:0}.commit-row[_ngcontent-%COMP%]:hover .copy[_ngcontent-%COMP%]{opacity:1}.copy[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-border);color:var(--%NS%morse-fg)}`]})};var Na=520;var CD=70;var pf=class n{animation=w(En);async play(e,t){let i=this.resolveTarget();if(!this.animation.isEnabled||!t||!i||e.length===0||typeof document>`u`)return;let o=Na+(e.length-1)*CD;e.forEach((r,s)=>{this.launch(r,t,i,s*CD)}),await I4(o)}resolveTarget(){let e=document.querySelector(`morse-chat-composer .box`);if(!e)return;let t=e.getBoundingClientRect();return{x:t.left+26,y:t.top+18}}launch(e,t,i,o){let r=this.createGhost(e,t);document.body.appendChild(r);let s=Math.min(t.y,i.y)-Math.max(60,Math.abs(t.y-i.y)*.35);vn(r,{translateX:[t.x,i.x],translateY:[{to:t.y,duration:Na*.18},{to:s,duration:Na*.42},{to:i.y,duration:Na*.4}],rotate:[0,-8,6,0],scale:[1,1.04,.86,.42],opacity:[1,1,.9,0],duration:Na,delay:o,ease:`inOut(2)`,onComplete:()=>r.remove()}),setTimeout(()=>r.remove(),o+Na+400)}createGhost(e,t){let i=document.createElement(`div`);if(i.className=`drop-ghost`,e.thumbnail){let r=document.createElement(`img`);r.src=e.thumbnail,r.alt=``,i.appendChild(r)}else{let r=document.createElement(`span`);r.className=`drop-ghost-glyph`,r.textContent=`▤`,i.appendChild(r)}let o=document.createElement(`span`);return o.className=`drop-ghost-name`,o.textContent=e.name,i.appendChild(o),i}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function I4(n){return new Promise(e=>setTimeout(e,n))}var ff=class n{attachments=w(Zn);flight=w(pf);uploads=w(xa);depth=N(0);internalDrag=!1;constructor(){if(typeof document>`u`)return;let e=()=>{this.internalDrag=!0},t=()=>{this.internalDrag=!1};document.addEventListener(`dragstart`,e,!0),document.addEventListener(`dragend`,t,!0),document.addEventListener(`drop`,t,!0)}active=C(()=>this.depth()>0);carriesFiles(e){if(this.internalDrag)return!1;let t=e.dataTransfer?.types;return t!==void 0&&t.length>0}onDragEnter(e){this.carriesFiles(e)&&(e.preventDefault(),this.depth.update(t=>t+1))}onDragOver(e){this.carriesFiles(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))}onDragLeave(){this.depth.update(e=>Math.max(0,e-1))}async onDrop(e,t){if(this.depth.set(0),!this.carriesFiles(e))return;e.preventDefault();let i=e.dataTransfer;if(!i)return;let o=Array.from(i.files??[]),{images:r}=await this.attachments.read(o.filter(O=>O.type.startsWith(`image/`))),s=O4(i),a=o.filter(O=>!O.type.startsWith(`image/`)),l=this.uploads.available()&&a.length>0?this.uploads.upload(a):Promise.resolve({added:[],failed:a.map(O=>O.name)}),c=[...s.paths.map(O=>wD(O,t)),...s.names,...a.map(O=>O.name)],p=e.clientX>0||e.clientY>0?{x:e.clientX,y:e.clientY}:N4();await this.flight.play([...r.map(O=>({name:O.name,thumbnail:`data:${O.mimeType};base64,${O.data}`})),...c.map(O=>({name:O}))],p);let m=await l,v=[...s.paths.map(O=>wD(O,t)),...s.names,...m.added.map(O=>O.path),...m.failed];this.attachments.add(r),this.attachments.addMentions(v);let b=[];if(r.length>0&&b.push(`${r.length} image${r.length===1?``:`s`} attached`),v.length>0&&b.push(`${v.length} file${v.length===1?``:`s`} added to the prompt`),b.length>0){this.attachments.say(`info`,b.join(` · `));return}let k=Array.from(i.types??[]).join(`, `)||`none`;this.attachments.say(`warn`,`That drop carried no file (types: ${k}).`)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function N4(){let n=document.querySelector(`main.chat`);if(!n)return{x:0,y:0};let e=n.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height*.35}}var P4=[`application/vnd.code.uri-list`,`ResourceURLs`,`text/uri-list`];function O4(n){let e=[];for(let o of[...P4,`text/plain`])for(let r of A4(n.getData(o)))e.push(r);let t=[],i=[];for(let o of e){if(o.startsWith(`file://`)){let s=V4(o);s&&t.push(s);continue}if(/^[a-z]+:\/\//i.test(o))continue;if(F4(o)){t.push(o);continue}let r=L4(o);r&&i.push(r)}return{paths:Array.from(new Set(t)),names:Array.from(new Set(i))}}function A4(n){let e=n.trim();if(e.length===0)return[];if(e.startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(i=>{if(typeof i==`string`)return i;let o=i,r=o.fsPath??o.uri??o.path;return typeof r==`string`?r:``}).filter(i=>i.length>0)}catch{}return R4(e)}function R4(n){return n.split(/\r?\n/).flatMap(e=>e.split(/(?<=\S)\s+(?=[/\\]|[A-Za-z]:[\\/])/)).map(e=>e.trim()).filter(e=>e.length>0&&!e.startsWith(`#`))}function L4(n){let e=n.replace(/\s*\([^)]*\)\s*$/,``).trim();if(!(e.length===0||e.length>200)&&!(/\s/.test(e)||e.includes(`:`)))return/[^/\\]+\.[A-Za-z0-9]{1,8}$/.test(e)?e:void 0}function F4(n){return!!(n.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(n))}function V4(n){try{let e=new URL(n);return decodeURIComponent(e.pathname)}catch{return}}function wD(n,e){if(!e)return n;let t=e.endsWith(`/`)?e:`${e}/`;return n.startsWith(t)?n.slice(t.length):n}var ED=`morse.notifications.enabled`;var MD=`morse.notifications.mode`;var SD=`morse.notifications.banner`;function DD(n,e){try{let t=globalThis.localStorage?.getItem(n);return t==null?e:t===`1`}catch{return e}}function TD(n,e){try{globalThis.localStorage?.setItem(n,e?`1`:`0`)}catch{}}function j4(n){return n===`away`||n===`always`}function B4(){try{let n=globalThis.localStorage?.getItem(MD);return j4(n)?n:`away`}catch{return`away`}}var dr=class n{enabledSignal=N(DD(ED,!1));enabled=this.enabledSignal.asReadonly();modeSignal=N(B4());mode=this.modeSignal.asReadonly();bannerSignal=N(DD(SD,!1));bannerDismissed=this.bannerSignal.asReadonly();setEnabled(e){this.enabledSignal.set(e),TD(ED,e),this.dismissBanner()}enable(){this.setEnabled(!0)}disable(){this.setEnabled(!1)}toggle(){this.setEnabled(!this.enabledSignal())}setMode(e){this.modeSignal.set(e);try{globalThis.localStorage?.setItem(MD,e)}catch{}}toggleMode(){this.setMode(this.modeSignal()===`away`?`always`:`away`)}dismissBanner(){this.bannerSignal.set(!0),TD(SD,!0)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function kD(){let n=globalThis.Notification;return n===void 0?`unsupported`:n.permission}function $4(){let n=globalThis.navigator?.permissions;try{return n?.query?.({name:`notifications`})}catch{return}}var Pa=class n{morse=w(Ie);attachments=w(Zn);prefs=w(dr);destroyRef=w(He);streaming=new Map;permissionSignal=N(kD());permission=this.permissionSignal.asReadonly();constructor(){ne(()=>{let e=this.morse.sessionActivity();zn(()=>this.watch(e))}),this.trackPermission(),this.destroyRef.onDestroy(()=>this.streaming.clear())}trackPermission(){let e=()=>this.permissionSignal.set(kD()),t=globalThis.document,i=globalThis;t?.addEventListener(`visibilitychange`,e),i.addEventListener?.(`focus`,e),$4()?.then(o=>{o.onchange=e}).catch(()=>{}),this.destroyRef.onDestroy(()=>{t?.removeEventListener(`visibilitychange`,e),i.removeEventListener?.(`focus`,e)})}watch(e){let t=[];for(let[i,o]of e)this.streaming.get(i)===!0&&!o.streaming&&t.push(i);for(let[i,o]of this.streaming)o&&!e.has(i)&&t.push(i);this.streaming=new Map([...e].map(([i,o])=>[i,o.streaming])),t.length!==0&&this.announce(t)}looking(){let e=globalThis.document;return e===void 0?!0:!e.hidden&&e.hasFocus()}announce(e){if(!this.prefs.enabled()||this.prefs.mode()===`away`&&this.looking())return;let t=this.body(e);if(this.morse.capabilities()?.notify===!0){this.morse.hostCommand(`notify`,{title:`Morse`,body:t});return}this.webNotify(t)}async optIn(){if(this.morse.capabilities()?.notify===!0){this.prefs.enable();return}let e=globalThis.Notification;if(e===void 0){this.prefs.enable();return}let t=e.permission;if(t==="default")try{t=await e.requestPermission()}catch{t=`denied`}if(this.permissionSignal.set(t),t===`granted`){this.prefs.enable();return}this.attachments.say(`warn`,`Notifications are blocked for this site.`)}body(e){if(e.length>1)return`${e.length} sessions finished`;let t=this.morse.sessions().find(i=>i.id===e[0])?.title;return t!==void 0&&t.length>0?`\u201C${t}\u201D finished`:`A session finished`}async webNotify(e){let t=globalThis.Notification;if(t===void 0){this.fallback(e);return}let i=t.permission;if(i==="default"){try{i=await t.requestPermission()}catch{i=`denied`}this.permissionSignal.set(i)}if(i!==`granted`){this.fallback(e);return}let o=new t(`Morse`,{body:e});o.onclick=()=>{globalThis.focus?.(),o.close()}}fallback(e){this.attachments.say(`info`,`Morse: ${e}`)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var ND=1;var PD=1;var H4=350;var z4=700;var U4=2500;var mf=class n{morse=w(Ie);tabs=w(Vt);terminals=w(rr);panel=w(ao);drafts=w(ir);destroyRef=w(He);ready=N(!1);loading=N(!1);started=!1;lastWritten=new Map;timers=new Map;graceTimer;constructor(){if(ne(()=>{let e=this.morse.connection()===`ready`,t=this.morse.capabilities()?.workbench===!0;e&&t&&!this.started&&(this.started=!0,this.load())}),ne(()=>{let e=this.buildLayout();!this.ready()||this.loading()||this.schedule(`layout`,e)}),ne(()=>{let e=this.buildDrafts();!this.ready()||this.loading()||this.schedule(`drafts`,e)}),typeof document<`u`){let e=()=>this.flush(),t=()=>{document.visibilityState===`hidden`&&e()};document.addEventListener(`visibilitychange`,t),window.addEventListener(`pagehide`,e),this.destroyRef.onDestroy(()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`pagehide`,e)})}this.destroyRef.onDestroy(()=>this.clearTimers())}async load(){this.loading.set(!0);try{let[e,t]=await Promise.all([this.morse.requestHostCommand(`readWorkbench`),this.morse.requestHostCommand(`readDrafts`)]),i=G4(e);i!==void 0&&this.apply(i);let o=q4(t);o!==void 0&&this.drafts.restore(o),this.remember(`layout`,this.buildLayout()),this.remember(`drafts`,this.buildDrafts())}finally{this.loading.set(!1),this.ready.set(!0)}}apply(e){this.panel.restore(e.panel),this.terminals.restore(ID(e.terminals,e.tabs)),this.tabs.restore(e.tabs);let t=this.morse.state();t.sessionId!==void 0&&!this.tabs.tabs().some(o=>o.kind===`session`&&o.id===t.sessionId)&&this.tabs.ensureSession({id:t.sessionId,title:t.sessionTitle??`New session`,cwd:t.workspace?.cwd});let i=this.tabs.activeTab();i?.kind===`session`&&i.draft!==!0&&i.id!==this.morse.state().sessionId&&this.morse.activateSession(i.id,i.cwd),this.graceTimer=setTimeout(()=>this.tabs.endRestore(),U4)}buildLayout(){let e=this.tabs.snapshot();return{version:ND,data:{tabs:e,terminals:ID(this.terminals.snapshot(),e),panel:this.panel.snapshot()}}}buildDrafts(){return{version:PD,data:this.drafts.snapshot()}}schedule(e,t){let i=this.timers.get(e);i!==void 0&&clearTimeout(i);let o=e===`drafts`?z4:H4;this.timers.set(e,setTimeout(()=>{this.timers.delete(e),this.writeNow(e,t)},o))}writeNow(e,t){let i=JSON.stringify(t.data);if(i===this.lastWritten.get(e))return;this.lastWritten.set(e,i);let o=e===`drafts`?`saveDrafts`:`saveWorkbench`;this.morse.requestHostCommand(o,{version:t.version,data:t.data})}remember(e,t){this.lastWritten.set(e,JSON.stringify(t.data))}flush(){!this.ready()||this.loading()||(this.clearTimers(),this.writeNow(`layout`,this.buildLayout()),this.writeNow(`drafts`,this.buildDrafts()))}clearTimers(){for(let e of this.timers.values())clearTimeout(e);this.timers.clear(),this.graceTimer!==void 0&&(clearTimeout(this.graceTimer),this.graceTimer=void 0)}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};function ID(n,e){let t=new Map;for(let i of e.tabs)i.kind===`session`&&t.set(i.id,i.cwd);return s(r({},n),{panes:n.panes.map(i=>{if(i.owner===void 0)return i;let o=t.get(i.owner)??i.cwd;return o===void 0?i:s(r({},i),{cwd:o})})})}function G4(n){let e=OD(n,ND);if(e===void 0)return;let t=e;if(!(typeof t.tabs!=`object`||t.tabs===null||typeof t.terminals!=`object`||t.terminals===null||typeof t.panel!=`object`||t.panel===null))return e}function q4(n){let e=OD(n,PD);return e===void 0?void 0:e}function OD(n,e){if(typeof n!=`object`||n===null)return;let t=n;if(t.version!==e)return;let i=t.data;return typeof i==`object`&&i!==null?i:void 0}var W4=`https://registry.npmjs.org/@supanadit/morse-web/latest`;function Y4(n){return`https://github.com/supanadit/morse/releases/tag/v${n}`}var K4=new Me(`morse.update.loader`,{providedIn:`root`,factory:()=>{let n=globalThis.fetch;if(n===void 0)return;let e=n.bind(globalThis);return async t=>(await e(t,{headers:{accept:`application/json`}})).json()}});function Z4(n){let e=n;return typeof e?.version==`string`?e.version:void 0}function Q4(n,e){let t=RD(n),i=RD(e);if(t===void 0||i===void 0)return!1;for(let o=0;o<t.numbers.length;o+=1)if(t.numbers[o]!==i.numbers[o])return t.numbers[o]>i.numbers[o];return t.prerelease===i.prerelease?!1:t.prerelease===void 0?!0:i.prerelease===void 0?!1:t.prerelease>i.prerelease}function X4(n,e){return n===`vscode`?`Update the Morse extension \u2014 VS Code does that on its own for a Marketplace install \u2014 or install the ${e} VSIX and reload the window.`:`Run npm install -g @supanadit/morse-web@${e}, then start the host again.`}function AD(){if(typeof location>`u`)return;let n=new URL(location.href,`http://localhost/`).searchParams.get(`newer`);return n!==null&&n.length>0?n:void 0}function RD(n){let e=/^(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?(?:\+[\w.-]+)?$/.exec(n.trim());if(e!==null)return{numbers:[Number(e[1]),Number(e[2]),Number(e[3])],prerelease:e[4]}}var Oa=class n{morse=w(Ie);loader=w(K4);notice=N(void 0);started=!1;available=this.notice.asReadonly();constructor(){ne(()=>{let e=this.morse.capabilities();this.started||AD()===void 0&&e?.updateCheck!==!0||(this.started=!0,this.check(this.morse.version(),e?.hostKind??`server`))})}async check(e,t,i=this.loader){try{let o=AD()??(i===void 0?void 0:Z4(await i(W4)));if(o===void 0||!Q4(o,e))return;this.notice.set({current:e,latest:o,hint:X4(t,o),url:Y4(o)})}catch{}}static ɵfac=function(t){return new(t||n)};static ɵprov=ue({token:n,factory:n.ɵfac,providedIn:`root`})};var J4=(n,e)=>e.node.path;function e5(n,e){if(n&1){let t=L();g(0,`div`,8),F(`pointerdown`,function(o){D(t);return T(f().startResize(o))}),_()}}function t5(n,e){n&1&&(g(0,`p`,9),u(1,`Loading files…`),_())}function n5(n,e){n&1&&(g(0,`p`,10),u(1),_()),n&2&&(d(),I(e))}function i5(n,e){n&1&&(g(0,`p`,9),u(1,`No files found.`),_())}function o5(n,e){if(n&1&&(g(0,`span`,17),u(1),_()),n&2){let t=e,i=f(5);sn(`badge `+t),te(`title`,i.badgeTitle(t)),d(),I(t)}}function r5(n,e){if(n&1&&E(0,o5,2,4,`span`,16),n&2){let t,i=f().$implicit;S((t=f(3).changeOf(i.node.path))?0:-1,t)}}function s5(n,e){n&1&&fe(0,`span`,15)}function a5(n,e){if(n&1){let t=L();g(0,`button`,12),F(`click`,function(){let o=D(t).$implicit;return T(f(3).onRow(o.node))}),g(1,`span`,13),u(2),_(),g(3,`span`,14),u(4),_(),E(5,r5,1,1)(6,s5,1,0,`span`,15),_()}if(n&2){let t=e.$implicit,i=f(3);Tt(`padding-left`,6+t.depth*12,`px`),q(`dir`,t.node.kind===`dir`),te(`title`,t.node.path),d(2),I(i.glyph(t.node)),d(2),I(t.node.name),d(),S(t.node.kind===`file`?5:i.dirChanged(t.node.path)?6:-1)}}function l5(n,e){if(n&1&&X(0,a5,7,8,`button`,11,J4),n&2)J(f(2).rows())}function c5(n,e){if(n&1&&(g(0,`div`,7),E(1,t5,2,0,`p`,9)(2,n5,2,1,`p`,10)(3,i5,2,0,`p`,9)(4,l5,2,0),_()),n&2){let t,i=f();d(),S(i.isLoading()&&i.rows().length===0?1:(t=i.errorMessage())?2:i.rows().length===0?3:4,t)}}var d5=140;var hf=class n{morse=w(Ie);tabs=w(Vt);shell=w(Ft);workspace=w(Qn);host=w(St);height=this.shell.explorerHeight;expanded=N(new Set);folded=N(!1);expandedFor=``;tree=C(()=>uD(this.workspace.files()));rows=C(()=>u5(this.tree(),this.expanded()));fileCount=C(()=>LD(this.tree()));collapsed=this.folded.asReadonly();isLoading=this.workspace.busy;errorMessage=this.workspace.error;changes=C(()=>yp(this.workspace.status()));changedDirs=C(()=>{let e=new Set;for(let t of this.changes().keys()){let i=t.split(`/`);for(let o=1;o<i.length;o+=1)e.add(i.slice(0,o).join(`/`))}return e});constructor(){ne(()=>{let e=this.morse.state().workspace.cwd;zn(()=>{e.length>0&&e!==this.expandedFor&&(this.expanded.set(new Set),this.expandedFor=e)})})}glyph(e){return e.kind===`dir`?this.expanded().has(e.path)?`▾`:`▸`:af(e.name)}isExpanded(e){return this.expanded().has(e)}changeOf(e){return this.changes().get(e)}badgeTitle(e){switch(e){case`M`:return`Modified`;case`A`:return`Added`;case`D`:return`Deleted`;case`R`:return`Renamed`;case`U`:return`Untracked`;case`C`:return`Conflict`}}dirChanged(e){return this.changedDirs().has(e)}toggleFold(){this.folded.update(e=>!e)}refresh(){this.workspace.refresh()}onRow(e){if(e.kind===`dir`){this.expanded.update(t=>{let i=new Set(t);return i.has(e.path)?i.delete(e.path):i.add(e.path),i});return}this.tabs.openFile(e.path)}startResize(e){e.preventDefault();let t=this.host.nativeElement,i=t.getBoundingClientRect().bottom,o=t.parentElement?.getBoundingClientRect().top??0,r=Math.max(d5,i-o-120),s=e.currentTarget;s.setPointerCapture(e.pointerId);let a=c=>{this.shell.setExplorerHeight(Math.min(r,i-c.clientY))},l=()=>{s.removeEventListener(`pointermove`,a),s.removeEventListener(`pointerup`,l),s.removeEventListener(`pointercancel`,l)};s.addEventListener(`pointermove`,a),s.addEventListener(`pointerup`,l),s.addEventListener(`pointercancel`,l)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-file-explorer`]],hostVars:4,hostBindings:function(t,i){t&2&&(Tt(`height`,i.collapsed()?null:i.height(),`px`),q(`sized`,i.height()!==void 0&&!i.collapsed()))},decls:12,vars:6,consts:[[1,`pane-head`],[`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize the file explorer`,`title`,`Drag to resize`,1,`resize`],[`type`,`button`,1,`pane-toggle`,3,`click`],[1,`chevron`],[1,`pane-title`],[1,`pane-count`],[`type`,`button`,`title`,`Refresh files`,`aria-label`,`Refresh files`,1,`icon`,3,`click`],[1,`rows`],[`role`,`separator`,`aria-orientation`,`horizontal`,`aria-label`,`Resize the file explorer`,`title`,`Drag to resize`,1,`resize`,3,`pointerdown`],[1,`hint`],[1,`hint`,`error`],[`type`,`button`,1,`row`,3,`dir`,`paddingLeft`,`title`],[`type`,`button`,1,`row`,3,`click`,`title`],[`aria-hidden`,`true`,1,`glyph`],[1,`name`],[`title`,`Contains changes`,`aria-hidden`,`true`,1,`dot`],[3,`class`,`title`],[3,`title`]],template:function(t,i){t&1&&(g(0,`div`,0),E(1,e5,1,0,`div`,1),g(2,`button`,2),F(`click`,function(){return i.toggleFold()}),g(3,`span`,3),u(4,`›`),_(),g(5,`span`,4),u(6,`Explorer`),_(),g(7,`span`,5),u(8),_()(),g(9,`button`,6),F(`click`,function(){return i.refresh()}),u(10,` ⟳ `),_()(),E(11,c5,5,1,`div`,7)),t&2&&(d(),S(i.collapsed()?-1:1),d(),Y(`aria-expanded`,!i.collapsed()),d(),q(`open`,!i.collapsed()),d(5),I(i.fileCount()),d(3),S(i.collapsed()?-1:11))},styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;flex:none;position:relative;min-height:0;max-height:42vh;border-top:1px solid var(--%NS%morse-border)}.sized[_nghost-%COMP%]{max-height:none}.resize[_ngcontent-%COMP%]{position:absolute;top:-3px;left:0;right:0;height:7px;z-index:2;cursor:ns-resize}.resize[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--%NS%morse-accent) 60%,transparent)}.pane-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;flex:none;padding:8px 10px 6px}.pane-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;flex:1;min-width:0;padding:0;border:0;background:none;color:inherit;cursor:pointer}.pane-toggle[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);border-radius:var(--%NS%morse-radius-sm)}.pane-title[_ngcontent-%COMP%]{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--%NS%morse-fg-muted)}.pane-count[_ngcontent-%COMP%]{font-size:10.5px;color:var(--%NS%morse-fg-muted)}.chevron[_ngcontent-%COMP%]{flex:none;display:inline-block;color:var(--%NS%morse-fg-muted);transition:transform .12s ease}.chevron.open[_ngcontent-%COMP%]{transform:rotate(90deg)}.icon[_ngcontent-%COMP%]{flex:none;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:none;color:var(--%NS%morse-fg-muted);cursor:pointer}.icon[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.rows[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:auto;padding:0 6px 8px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;width:100%;padding:2px 6px;border:0;border-radius:6px;background:none;color:var(--%NS%morse-fg);font:inherit;text-align:left;cursor:pointer}.row[_ngcontent-%COMP%]:hover:not(:disabled), .row[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--%NS%morse-hover)}.glyph[_ngcontent-%COMP%]{flex:none;width:13px;text-align:center;color:var(--%NS%morse-fg-muted);font-size:11px}.name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.row.dir[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600}.badge[_ngcontent-%COMP%]{flex:none;padding:0 4px;border-radius:4px;font-family:var(--%NS%morse-font-mono);font-size:9.5px;line-height:15px;color:var(--%NS%morse-fg-muted)}.badge.M[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}.badge.A[_ngcontent-%COMP%], .badge.U[_ngcontent-%COMP%]{color:var(--%NS%morse-success)}.badge.D[_ngcontent-%COMP%], .badge.C[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.badge.R[_ngcontent-%COMP%]{color:var(--%NS%morse-info)}.dot[_ngcontent-%COMP%]{flex:none;width:6px;height:6px;border-radius:50%;background:var(--%NS%morse-warn)}.hint[_ngcontent-%COMP%]{padding:4px 12px 10px;font-size:11.5px;color:var(--%NS%morse-fg-muted)}.hint.error[_ngcontent-%COMP%]{color:var(--%NS%morse-warn)}`]})};function u5(n,e){let t=[],i=(o,r)=>{for(let s of o)t.push({node:s,depth:r}),s.kind===`dir`&&e.has(s.path)&&i(s.children,r+1)};return i(n,0),t}function LD(n){let e=0;for(let t of n)e+=t.kind===`file`?1:LD(t.children);return e}var p5=[`search`];var f5=[`list`];var m5=(n,e)=>e.path||`all`;function h5(n,e){if(n&1&&(g(0,`span`,17),u(1),_()),n&2){let t=f().$implicit;d(),I(t.path)}}function g5(n,e){n&1&&(g(0,`span`,19),u(1,`✓`),_())}function y5(n,e){if(n&1){let t=L();g(0,`button`,15),F(`mouseenter`,function(){let o=D(t).$index;return T(f().active.set(o))})(`click`,function(){let o=D(t).$implicit;return T(f().pick(o))}),g(1,`span`,16),u(2),_(),E(3,h5,2,1,`span`,17),g(4,`span`,18),u(5),_(),E(6,g5,2,0,`span`,19),_()}if(n&2){let t=e.$implicit,i=f();q(`all`,t.all)(`active`,t.path===i.rows()[i.active()].path)(`selected`,t.path===i.selected()),te(`title`,t.path||`Every project pi knows about`),Y(`aria-selected`,t.path===i.selected()),d(2),I(t.name),d(),S(t.all?-1:3),d(2),I(t.sessionCount),d(),S(t.path===i.selected()?6:-1)}}var _5=`All projects`;function v5(n,e,t){let i={path:``,name:_5,sessionCount:t,all:!0},o=e.trim().toLowerCase();return[i,...n.filter(s=>o.length===0||`${s.name} ${s.path}`.toLowerCase().includes(o)).map(s$10=>s(r({},s$10),{all:!1}))]}var gf=class n{projects=se.required();selected=se(``);totalSessions=se(0);select=je();close=je();search=Ue(`search`);list=Ue(`list`);query=N(``);active=N(0);rows=C(()=>v5(this.projects(),this.query(),this.totalSessions()));constructor(){An(()=>this.search()?.nativeElement.focus()),ne(()=>{if(this.query().trim().length>0)return;let e=this.rows().findIndex(t=>t.path===this.selected());e>=0&&this.active.set(e)}),ne(()=>{this.active(),this.rows(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,t=e?.querySelectorAll(`.row`)[this.active()];if(!e||!t)return;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.top<i.top?e.scrollTop-=i.top-o.top:o.bottom>i.bottom&&(e.scrollTop+=o.bottom-i.bottom)}onQuery(e){this.query.set(e.target.value),this.active.set(0)}pick(e){this.select.emit(e.path)}onKeydown(e){let t=this.rows();switch(e.key){case`Escape`:e.preventDefault(),this.close.emit();return;case`ArrowDown`:e.preventDefault(),this.active.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.active.update(i=>Math.max(0,i-1));return;case`Enter`:{let i=t[this.active()];i&&(e.preventDefault(),this.pick(i));return}default:return}}onEscape(){this.close.emit()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-project-filter`]],viewQuery:function(t,i){t&1&&nt(i.search,p5,5)(i.list,f5,5),t&2&&ot(2)},hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},inputs:{projects:[1,`projects`],selected:[1,`selected`],totalSessions:[1,`totalSessions`]},outputs:{select:`select`,close:`close`},decls:18,vars:1,consts:[[`search`,``],[`list`,``],[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-labelledby`,`project-filter-title`,1,`modal-card`,3,`click`],[1,`modal-head`],[`id`,`project-filter-title`],[`type`,`button`,`aria-label`,`Close`,1,`close`,3,`click`],[1,`search`],[`aria-hidden`,`true`,1,`search-icon`],[`viewBox`,`0 0 16 16`],[`cx`,`7`,`cy`,`7`,`r`,`4.2`],[`d`,`M10.2 10.2 14 14`],[`type`,`text`,`placeholder`,`Search projects`,`aria-label`,`Search projects`,3,`input`,`keydown`,`value`],[`role`,`listbox`,1,`list`],[`type`,`button`,`role`,`option`,1,`row`,3,`all`,`active`,`selected`,`title`],[`type`,`button`,`role`,`option`,1,`row`,3,`mouseenter`,`click`,`title`],[1,`name`],[1,`path`],[1,`count`],[`aria-hidden`,`true`,1,`check`]],template:function(t,i){t&1&&(g(0,`div`,2),F(`click`,function(){return i.close.emit()}),g(1,`div`,3),F(`click`,function(r){return r.stopPropagation()}),g(2,`div`,4)(3,`strong`,5),u(4,`Filter by project`),_(),g(5,`button`,6),F(`click`,function(){return i.close.emit()}),u(6,`×`),_()(),g(7,`div`,7)(8,`span`,8),De(),g(9,`svg`,9),fe(10,`circle`,10)(11,`path`,11),_()(),kt(),g(12,`input`,12,0),F(`input`,function(r){return i.onQuery(r)})(`keydown`,function(r){return i.onKeydown(r)}),_()(),g(14,`div`,13,1),X(16,y5,7,12,`button`,14,m5),_()()()),t&2&&(d(12),te(`value`,i.query()),d(4),J(i.rows()))},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(520px,100%);max-height:min(640px,90vh);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}.modal-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--%NS%morse-border)}.modal-head[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{flex:1;min-width:0;font-size:13px}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:2px 8px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:16px;line-height:1;cursor:pointer}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg)}.search[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--%NS%morse-border)}.search-icon[_ngcontent-%COMP%]{position:absolute;left:23px;display:inline-flex;color:var(--%NS%morse-fg-muted);pointer-events:none}.search-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:0;padding-left:30px;font-size:12.5px}.list[_ngcontent-%COMP%]{flex:1;min-height:120px;overflow-y:auto;padding:4px 6px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.row.active[_ngcontent-%COMP%], .row[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.row.selected[_ngcontent-%COMP%]{background:var(--%NS%morse-active)}.row.all[_ngcontent-%COMP%]{margin-bottom:4px;border-bottom:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm) var(--%NS%morse-radius-sm) 0 0}.name[_ngcontent-%COMP%]{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.count[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:11px}.check[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-accent);font-size:12px}.empty[_ngcontent-%COMP%]{padding:12px 8px;color:var(--%NS%morse-fg-muted);font-size:12px}`]})};var b5=[`search`];var VD=(n,e)=>e.path;var jD=(n,e)=>e.id;function x5(n,e){if(n&1){let t=L();h(0,`button`,15),A(`click`,function(){D(t);return T(f().openFilter())}),h(1,`span`,16),u(2,`▤`),y(),h(3,`span`,17),u(4),y()()}if(n&2){let t=f();q(`filtered`,t.selectedProject()!==void 0),j(`title`,t.selectedProject()?.path??`Every project pi knows about`),Y(`aria-expanded`,t.filterOpen()),d(4),I(t.selectedProject()?.name??`All projects`)}}function C5(n,e){if(n&1){let t=L();h(0,`morse-project-filter`,18),A(`select`,function(o){D(t);return T(f().onProjectSelect(o))})(`close`,function(){D(t);return T(f().closeFilter())}),y()}if(n&2){let t=f();j(`projects`,t.projectOptions())(`selected`,t.projectFilter())(`totalSessions`,t.totalSessions())}}function w5(n,e){if(n&1){let t=L();h(0,`li`)(1,`button`,22),A(`click`,function(){let o=D(t).$implicit;return T(f(2).activate(o))})(`contextmenu`,function(o){let r=D(t).$implicit;return T(f(2).openMenu(o,r))}),ee(2,`span`,23),h(3,`span`,24)(4,`span`,25),u(5),y(),h(6,`span`,26),u(7),y()()()()}if(n&2){let t=e.$implicit,i=f(2);d(),q(`active`,t.id===i.activeSessionId()),j(`title`,t.id),d(4),I(t.title),d(2),I(i.activityLabel(t))}}function E5(n,e){if(n&1&&(h(0,`section`,9)(1,`div`,19)(2,`span`,20),u(3,`In progress`),y(),h(4,`span`,21),u(5),y()(),h(6,`ul`),X(7,w5,8,5,`li`,null,jD),y()()),n&2){let t=f();d(5),I(t.inProgress().length),d(2),J(t.inProgress())}}function S5(n,e){if(n&1&&(h(0,`span`,33),u(1,`›`),y()),n&2){let t=f(2).$implicit;q(`open`,!f().isCollapsed(t.path))}}function D5(n,e){if(n&1){let t=L();h(0,`div`,27)(1,`button`,28),A(`click`,function(){D(t);let o=f().$implicit;return T(f().toggleGroup(o.path))}),h(2,`span`,29),u(3),y(),h(4,`span`,30),u(5),y(),E(6,S5,2,2,`span`,31),y(),h(7,`button`,32),A(`click`,function(o){D(t);let r=f().$implicit;return T(f().newSession(o,r.path))}),u(8,` + `),y()()}if(n&2){let t=f().$implicit,i=f();d(),j(`title`,t.path),Y(`aria-expanded`,!i.isCollapsed(t.path)),d(2),I(t.name),d(2),I(t.sessions.length),d(),S(i.projectFilter()!==t.path?6:-1),d(),Y(`aria-label`,`New session in `+t.name)}}function T5(n,e){if(n&1&&(h(0,`div`,19)(1,`span`,20),u(2,`Sessions`),y(),h(3,`span`,21),u(4),y()()),n&2){let t=f().$implicit;d(4),I(t.sessions.length)}}function M5(n,e){if(n&1){let t=L();h(0,`li`)(1,`button`,34),A(`click`,function(){let o=D(t).$implicit;return T(f(3).activate(o))})(`contextmenu`,function(o){let r=D(t).$implicit;return T(f(3).openMenu(o,r))}),h(2,`span`,24)(3,`span`,25),u(4),y()(),h(5,`span`,35),u(6),y()()()}if(n&2){let t=e.$implicit,i=f(3);d(),q(`active`,t.id===i.activeSessionId()),j(`title`,t.id),d(3),I(t.title),d(2),I(i.age(t.updatedAt))}}function k5(n,e){if(n&1&&u(0),n&2)ie(` No session matches “`,f(5).query(),`”. `)}function I5(n,e){n&1&&u(0,` No sessions yet. `)}function N5(n,e){if(n&1&&(h(0,`li`,36),E(1,k5,1,1)(2,I5,1,0),y()),n&2){let t=f(4);d(),S(t.query().length>0?1:2)}}function P5(n,e){if(n&1&&E(0,N5,3,1,`li`,36),n&2){let t=f(2).$implicit;S(t.hiddenRunning===0?0:-1)}}function O5(n,e){if(n&1&&(h(0,`ul`),X(1,M5,7,5,`li`,null,jD,!1,P5,1,1),y()),n&2){let t=f().$implicit;d(),J(t.sessions)}}function A5(n,e){if(n&1&&(h(0,`section`,9),E(1,D5,9,6,`div`,27)(2,T5,5,1,`div`,19),E(3,O5,4,1,`ul`),y()),n&2){let t=e.$implicit,i=f();d(),S(i.scope()===`global`?1:t.sessions.length>0?2:-1),d(2),S(i.scope()===`workspace`||!i.isCollapsed(t.path)?3:-1)}}function R5(n,e){n&1&&u(0,` Looking for a project? `)}function L5(n,e){if(n&1&&(u(0),E(1,R5,1,0)),n&2){let t=f(2);ie(` No session matches “`,t.query(),`”. `),d(),S(t.projectMatches().length>0?1:-1)}}function F5(n,e){n&1&&u(0,` Nothing found. `)}function V5(n,e){if(n&1){let t=L();h(0,`button`,38),A(`click`,function(){let o=D(t).$implicit;return T(f(2).filterToProject(o))}),u(1),y()}if(n&2){let t=e.$implicit;d(),Xi(` Show all `,t.sessionCount,` sessions in `,t.name,` `)}}function j5(n,e){if(n&1&&(h(0,`p`,36),E(1,L5,2,2)(2,F5,1,0),y(),X(3,V5,2,2,`button`,37,VD)),n&2){let t=f();d(),S(t.query().length>0?1:2),d(2),J(t.projectMatches())}}function B5(n,e){n&1&&ee(0,`morse-file-explorer`)}function $5(n,e){if(n&1&&(h(0,`a`,11)(1,`span`,39),u(2,`↑`),y(),h(3,`span`),u(4,`Update available`),y(),h(5,`span`,13),u(6),y()()),n&2){let t=e;j(`href`,t.url,ji)(`title`,t.hint+` You are on v`+t.current+`.`),d(6),ie(`v`,t.latest)}}function H5(n,e){n&1&&(h(0,`span`,13),u(1),y()),n&2&&(d(),ie(`v`,e))}function z5(n,e){if(n&1){let t=L();h(0,`p`,42),u(1,`Delete this session?`),y(),h(2,`p`,43),u(3),y(),h(4,`button`,44),A(`click`,function(){D(t);return T(f(2).closeMenu())}),u(5,`Cancel`),y(),h(6,`button`,45),A(`click`,function(){D(t);let o=f();return T(f().deleteNow(o.session))}),u(7,` Delete `),y()}if(n&2){let t=f();d(3),I(t.session.title)}}function U5(n,e){if(n&1){let t=L();h(0,`button`,44),A(`click`,function(){D(t);let o=f();return T(f().closeNow(o.session))}),u(1,` Close session `),y(),h(2,`button`,45),A(`click`,function(){D(t);let o=f();return T(f().askDelete(o))}),u(3,` Delete session… `),y()}}function G5(n,e){if(n&1){let t=L();h(0,`div`,40),A(`click`,function(){D(t);return T(f().closeMenu())})(`contextmenu`,function(o){D(t);let r=f();return o.preventDefault(),T(r.closeMenu())}),y(),h(1,`div`,41),E(2,z5,8,1)(3,U5,4,0),y()}if(n&2){let t=e;d(),Tt(`left`,t.x,`px`)(`top`,t.y,`px`),d(),S(t.confirming?2:3)}}var yf=class n{morse=w(Ie);shell=w(Ft);shortcuts=w(Fn);update=w(Oa);tabs=w(Vt);destroyRef=w(He);searchInput=Ue(`search`);query=N(``);collapsed=N({});menu=N(void 0);projectFilter=this.shell.projectFilterPath;filterOpen=this.shell.projectFilterOpen;nativeDialogs=C(()=>this.morse.capabilities()?.nativeDialogs===!0);activeSessionId=C(()=>this.morse.state().sessionId);version=this.morse.version;updateNotice=this.update.available;sessionActivity=this.morse.sessionActivity;scope=C(()=>this.morse.capabilities()?.scope??`global`);filePreview=C(()=>this.morse.capabilities()?.filePreview===!0);directoryPicker=C(()=>this.morse.capabilities()?.directoryPicker===!0);isRunning(e){let t=this.sessionActivity().get(e.id);return t!==void 0?t.streaming:e.id===this.activeSessionId()&&this.morse.state().streaming}activityLabel(e){return e.id===this.activeSessionId()?this.activeStep()??`Working…`:`Working…`}activeStep=C(()=>{let t=this.morse.items().at(-1);return t===void 0?void 0:q5(t)});inProgress=C(()=>{let e=this.projectFilter();return this.morse.sessions().filter(t=>(e.length===0||t.cwd===e)&&this.isRunning(t)).sort((t,i)=>i.updatedAt-t.updatedAt)});groups=C(()=>{let e=this.morse.sessions();if(this.scope()===`workspace`){let t=this.morse.workspace(),i=this.morse.projects()[0];return[{path:i?.path??t.cwd,name:t.name||i?.name||`workspace`,sessions:e,hiddenRunning:0}]}return this.morse.projects().map(t=>({path:t.path,name:t.name,sessions:e.filter(i=>i.cwd===t.path),hiddenRunning:0}))});visibleGroups=C(()=>{let e=this.query().trim().toLowerCase(),t=this.projectFilter(),i=new Set(this.inProgress().map(r=>r.id));return(t.length===0?this.groups():this.groups().filter(r=>r.path===t)).map(r$26=>{let s$11=e.length===0?r$26.sessions:r$26.sessions.filter(l=>l.title.toLowerCase().includes(e)),a=s$11.filter(l=>!i.has(l.id));return s(r({},r$26),{sessions:a,hiddenRunning:s$11.length-a.length})}).filter(r=>t.length>0||e.length===0||r.sessions.length>0)});filterable=C(()=>this.scope()===`global`);projectOptions=C(()=>this.groups().map(e=>({path:e.path,name:e.name,sessionCount:e.sessions.length})));selectedProject=C(()=>this.projectOptions().find(e=>e.path===this.projectFilter()));totalSessions=C(()=>this.morse.sessions().length);projectMatches=C(()=>{let e=this.query().trim().toLowerCase();return e.length===0||this.projectFilter().length>0?[]:this.projectOptions().filter(t=>`${t.name} ${t.path}`.toLowerCase().includes(e))});constructor(){let e=[this.shortcuts.bind(`session.new`,()=>this.startSession()),this.shortcuts.bind(`session.search`,()=>this.focusSearch()),this.shortcuts.bind(`project.filter`,()=>this.openFilterFromKeyboard(),()=>this.filterable())];this.destroyRef.onDestroy(()=>{for(let t of e)t()})}isCollapsed(e){return this.projectFilter()===e?!1:this.collapsed()[e]===!0}toggleGroup(e){this.projectFilter()!==e&&this.collapsed.update(t=>s(r({},t),{[e]:t[e]!==!0}))}activate(e){this.tabs.focusSession({id:e.id,title:e.title,cwd:e.cwd}),this.shell.closeNavigation()}openMenu(e,t){e.preventDefault(),e.stopPropagation(),this.menu.set({x:Math.max(0,Math.min(e.clientX,window.innerWidth-200)),y:Math.max(0,Math.min(e.clientY,window.innerHeight-104)),session:t,confirming:!1})}closeMenu(){this.menu.set(void 0)}closeNow(e){this.closeMenu(),this.tabs.forget(e.id),this.morse.closeSession(e.id)}askDelete(e){if(this.nativeDialogs()){this.confirmOnHost(e);return}this.menu.set(s(r({},e),{confirming:!0}))}async confirmOnHost(e){let t=await this.morse.requestHostCommand(`confirmDeleteSession`,{sessionId:e.session.id,title:e.session.title});if(t===void 0){this.menu.set(s(r({},e),{confirming:!0}));return}this.closeMenu(),t.confirmed===!0&&this.morse.deleteSession(e.session.id)}deleteNow(e){this.closeMenu(),this.tabs.forget(e.id),this.morse.deleteSession(e.id)}onEscape(){if(this.filterOpen()){this.closeFilter();return}this.menu()!==void 0&&this.closeMenu()}openFilter(){this.shell.openProjectFilter()}closeFilter(){this.shell.closeProjectFilter()}onProjectSelect(e){this.shell.setProjectFilter(e),this.closeFilter()}filterToProject(e){this.shell.setProjectFilter(e.path),this.query.set(``),this.closeFilter()}openAbout(){this.shell.openAbout()}openShortcuts(){this.shell.openShortcuts()}newSession(e,t){e.stopPropagation(),this.startSession(t)}startSession(e){if(e===void 0&&this.directoryPicker()){this.shell.openProjectPicker(),this.shell.closeNavigation();return}this.tabs.startDraft(e??this.morse.workspace().cwd),this.shell.closeNavigation()}revealNavigation(){this.shell.unfoldNavigation();let e=this.searchInput()?.nativeElement.getBoundingClientRect();(e===void 0||e.width===0||e.right<=0)&&this.shell.openNavigation()}focusSearch(){this.revealNavigation(),setTimeout(()=>{let e=this.searchInput()?.nativeElement;e?.focus(),e?.select()},0)}openFilterFromKeyboard(){this.revealNavigation(),this.shell.openProjectFilter()}refresh(){this.morse.requestProjects(),this.morse.requestSessions()}onQuery(e){this.query.set(e.target.value)}age(e){if(e<=0)return``;let t=Math.max(0,Math.round((Date.now()-e)/1e3));if(t<60)return`${t}s`;let i=Math.round(t/60);if(i<60)return`${i}m`;let o=Math.round(i/60);return o<24?`${o}h`:`${Math.round(o/24)}d`}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-session-nav`]],viewQuery:function(t,i){t&1&&nt(i.searchInput,b5,5),t&2&&ot()},hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:26,vars:9,consts:[[`search`,``],[1,`head`],[`type`,`button`,1,`primary`,3,`click`],[`type`,`button`,`title`,`Refresh`,1,`secondary`,`icon`,3,`click`],[1,`filters`],[`type`,`button`,`aria-haspopup`,`dialog`,1,`secondary`,`scope`,3,`filtered`,`title`],[`type`,`search`,`placeholder`,`Search sessions…`,`aria-label`,`Search sessions`,3,`input`,`value`],[3,`projects`,`selected`,`totalSessions`],[1,`list`],[1,`pane`],[1,`foot`],[`target`,`_blank`,`rel`,`noreferrer noopener`,1,`notice`,3,`href`,`title`],[`type`,`button`,`title`,`Every key Morse understands`,3,`click`],[1,`stamp`],[`type`,`button`,`title`,`About Morse and the technologies it uses`,3,`click`],[`type`,`button`,`aria-haspopup`,`dialog`,1,`secondary`,`scope`,3,`click`,`title`],[`aria-hidden`,`true`,1,`scope-glyph`],[1,`scope-name`],[3,`select`,`close`,`projects`,`selected`,`totalSessions`],[1,`pane-head`],[1,`pane-title`],[1,`pane-count`],[`type`,`button`,1,`session`,`live`,3,`click`,`contextmenu`,`title`],[`aria-hidden`,`true`,1,`mark`,`running`],[1,`body`],[1,`title`],[1,`subtitle`],[1,`group-head`],[`type`,`button`,1,`group-title`,3,`click`,`title`],[1,`name`],[1,`count`],[1,`chevron`,3,`open`],[`type`,`button`,`title`,`New session in this project`,1,`group-new`,3,`click`],[1,`chevron`],[`type`,`button`,1,`session`,3,`click`,`contextmenu`,`title`],[1,`meta`],[1,`empty`],[`type`,`button`,1,`empty-action`],[`type`,`button`,1,`empty-action`,3,`click`],[`aria-hidden`,`true`,1,`notice-glyph`],[1,`context-menu-layer`,3,`click`,`contextmenu`],[`role`,`menu`,1,`context-menu`],[1,`context-menu-question`],[1,`context-menu-title`],[`type`,`button`,1,`context-menu-item`,3,`click`],[`type`,`button`,1,`context-menu-item`,`danger`,3,`click`]],template:function(t,i){if(t&1&&(h(0,`div`,1)(1,`button`,2),A(`click`,function(r){return i.newSession(r)}),u(2,` New session `),y(),h(3,`button`,3),A(`click`,function(){return i.refresh()}),u(4,`⟳`),y()(),h(5,`div`,4),E(6,x5,5,5,`button`,5),h(7,`input`,6,0),A(`input`,function(r){return i.onQuery(r)}),y()(),E(9,C5,1,3,`morse-project-filter`,7),h(10,`div`,8),E(11,E5,9,1,`section`,9),X(12,A5,4,2,`section`,9,VD,!1,j5,5,1),y(),E(15,B5,1,0,`morse-file-explorer`),h(16,`div`,10),E(17,$5,7,3,`a`,11),h(18,`button`,12),A(`click`,function(){return i.openShortcuts()}),u(19,` Keyboard shortcuts `),h(20,`span`,13),u(21,`?`),y()(),h(22,`button`,14),A(`click`,function(){return i.openAbout()}),u(23,` About Morse `),E(24,H5,2,1,`span`,13),y()(),E(25,G5,4,5)),t&2){let o,r,s;d(6),S(i.filterable()?6:-1),d(),j(`value`,i.query()),d(2),S(i.filterOpen()?9:-1),d(2),S(i.inProgress().length>0?11:-1),d(),J(i.visibleGroups()),d(3),S(i.filePreview()?15:-1),d(2),S((o=i.updateNotice())?17:-1,o),d(7),S((r=i.version())?24:-1,r),d(),S((s=i.menu())?25:-1,s)}},dependencies:[gf,hf],styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--%NS%morse-nav-bg);border-right:1px solid var(--%NS%morse-border)}.head[_ngcontent-%COMP%]{flex:none;display:flex;align-items:center;gap:6px;min-height:var(--%NS%morse-head-height);padding:0 10px;border-bottom:1px solid var(--%NS%morse-border)}.head[_ngcontent-%COMP%] button.primary[_ngcontent-%COMP%]{flex:1;padding:6px 10px}.filters[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;padding:10px 10px 6px}.filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:6px 9px}.scope[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;justify-content:flex-start;width:100%}.scope.filtered[_ngcontent-%COMP%]{border-color:var(--%NS%morse-accent)}.scope-glyph[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:11px}.scope-name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.empty-action[_ngcontent-%COMP%]{display:block;width:calc(100% - 16px);margin:0 8px 6px;padding:4px 8px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-link);font-size:11.5px;text-align:left;cursor:pointer}.empty-action[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}input[_ngcontent-%COMP%]{width:100%}.list[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 12px}.pane[_ngcontent-%COMP%] + .pane[_ngcontent-%COMP%]{margin-top:12px}.pane-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:4px 7px 5px}.pane-title[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.pane-count[_ngcontent-%COMP%]{flex:none;color:var(--%NS%morse-fg-muted);font-size:10.5px;font-variant-numeric:tabular-nums}.group-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px}.group-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:5px 6px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.group-title[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.group-title[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.group-title[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{flex:none}.group-new[_ngcontent-%COMP%]{flex:none;padding:1px 6px 2px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:15px;line-height:1.2;cursor:pointer}.group-new[_ngcontent-%COMP%]:hover:not(:disabled), .group-new[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.group-title[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;font-weight:400;text-transform:none}.chevron[_ngcontent-%COMP%]{transition:transform .12s ease}.chevron.open[_ngcontent-%COMP%]{transform:rotate(90deg)}ul[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.session[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--%NS%morse-radius-md);background:transparent;color:var(--%NS%morse-fg);text-align:left;cursor:pointer;transition:background .12s ease}.session[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.session.active[_ngcontent-%COMP%]{background:var(--%NS%morse-active);box-shadow:inset 2px 0 0 var(--%NS%morse-accent)}.session[_ngcontent-%COMP%] .body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.session[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500}.session.active[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}.session[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.session[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{flex:none;font-size:10.5px;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-variant-numeric:tabular-nums}.session[_ngcontent-%COMP%] .mark[_ngcontent-%COMP%]{flex:none;width:10px;height:10px;border-radius:50%;background:var(--%NS%morse-fg-muted)}.session[_ngcontent-%COMP%] .mark.running[_ngcontent-%COMP%]{background:transparent;border:1.6px solid color-mix(in srgb,var(--%NS%morse-accent) 30%,transparent);border-top-color:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_nav-spin .8s linear infinite}@keyframes _ngcontent-%COMP%_nav-spin{to{transform:rotate(360deg)}}.context-menu-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:40}.context-menu[_ngcontent-%COMP%]{position:fixed;z-index:41;width:220px;max-width:min(280px,90vw);padding:4px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 8px 24px #00000059}.context-menu-question[_ngcontent-%COMP%]{margin:3px 7px 0;font-size:11.5px;color:var(--%NS%morse-fg)}.context-menu-title[_ngcontent-%COMP%]{margin:2px 7px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--%NS%morse-fg-muted)}.context-menu-item[_ngcontent-%COMP%]{display:block;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font-size:12px;text-align:left;cursor:pointer}.context-menu-item[_ngcontent-%COMP%]:hover:not(:disabled), .context-menu-item[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--%NS%morse-hover)}.context-menu-item.danger[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.empty[_ngcontent-%COMP%]{padding:8px;font-size:12px;color:var(--%NS%morse-fg-muted)}.foot[_ngcontent-%COMP%]{flex:none;padding:4px 6px 6px;border-top:1px solid var(--%NS%morse-border)}.foot[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .foot[_ngcontent-%COMP%] .notice[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;text-align:left;cursor:pointer}.foot[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.foot[_ngcontent-%COMP%] .notice[_ngcontent-%COMP%]{color:var(--%NS%morse-accent);text-decoration:none}.foot[_ngcontent-%COMP%] .notice[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-accent)}.foot[_ngcontent-%COMP%] .notice[_ngcontent-%COMP%] .notice-glyph[_ngcontent-%COMP%]{flex:none;font-size:11px}.foot[_ngcontent-%COMP%] .stamp[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-family:var(--%NS%morse-font-mono);font-size:10px}`]})};function q5(n){if(n.kind===`tool`){let e=ko(n.name),t=zS(n),i=Ia(n);return e===`shell`?`${t} ${FD(i.replace(/\s+/g,` `).trim(),40)}`:e===`search`?`${t} ${FD(i,40)}`:`${t} ${Yp(i)}`}if(n.kind===`assistant`){if(n.thinking.trim().length>0&&n.text.trim().length===0)return`Thinking…`;if(n.text.trim().length>0||n.streaming)return`Writing…`}}function FD(n,e){return n.length>e?`${n.slice(0,e)}\u2026`:n}function BD(n){n||(n=w(He));let e=new ut(t=>{if(n.destroyed){t.next();return}return n.onDestroy(t.next.bind(t))});return t=>t.pipe(co(e))}var $D=(n,e)=>e.path;function W5(n,e){if(n&1){let t=L();g(0,`button`,20),F(`click`,function(){let o=D(t).$implicit;return T(f(2).go(o.path))}),u(1),_()}if(n&2){let t=e.$implicit;te(`title`,t.path),d(),ie(` `,t.name,` `)}}function Y5(n,e){if(n&1&&(g(0,`div`,9),X(1,W5,2,2,`button`,19,$D),_()),n&2){let t=f();d(),J(t.roots())}}function K5(n,e){n&1&&(g(0,`p`,11),u(1,`Reading folder…`),_())}function Z5(n,e){n&1&&(g(0,`p`,12),u(1),_()),n&2&&(d(),I(e))}function Q5(n,e){if(n&1){let t=L();g(0,`button`,22),F(`click`,function(){let o=D(t);return T(f(2).go(o))}),g(1,`span`,23),u(2,`↰`),_(),g(3,`span`,24),u(4,`..`),_()()}n&2&&te(`title`,e)}function X5(n,e){if(n&1){let t=L();g(0,`button`,22),F(`click`,function(){let o=D(t).$implicit;return T(f(2).go(o.path))}),g(1,`span`,23),u(2,`▸`),_(),g(3,`span`,24),u(4),_()()}if(n&2){let t=e.$implicit;te(`title`,t.path),d(4),I(t.name)}}function J5(n,e){n&1&&(g(0,`p`,11),u(1,`No subfolders here.`),_())}function ez(n,e){if(n&1&&E(0,J5,2,0,`p`,11),n&2){let t=f(2);S(t.parent()===void 0&&t.directories().length===0?0:-1)}}function tz(n,e){if(n&1&&(E(0,Q5,5,1,`button`,21),X(1,X5,5,2,`button`,21,$D,!1,ez,1,1)),n&2){let t,i=f();S((t=i.parent())?0:-1,t),d(),J(i.directories())}}function nz(n,e){n&1&&(g(0,`em`),u(1,` · not in MORSE_PROJECTS`),_())}function iz(n,e){n&1&&(g(0,`em`,15),u(1,` · git`),_())}var _f=class n{morse=w(Ie);shell=w(Ft);tabs=w(Vt);loading=N(!1);error=N(void 0);path=N(``);draftPath=N(``);parent=N(void 0);directories=N([]);roots=N([]);isGitRepo=N(!1);canOpen=N(!1);browse$=new We;typedPath$=new We;revision=0;constructor(){Tr(this.browse$,this.typedPath$.pipe(mi(e=>({value:e.trim(),revision:this.revision})),Qf(250),ed((e,t)=>e.value===t.value&&e.revision===t.revision),Ls(({value:e,revision:t})=>t===this.revision&&e!==this.path()),mi(({value:e})=>({path:e.length>0?e:void 0,live:!0})))).pipe(Mr(e=>lo(this.morse.requestHostCommand(`listDirectories`,e.path?{path:e.path}:void 0)).pipe(mi(t=>({request:e,listing:t})))),BD()).subscribe(({request:e,listing:t})=>this.apply(t,e.live)),this.load()}go(e){let t=e?.trim();this.load(t&&t.length>0?t:void 0)}onPathInput(e){let t=e.target.value;this.draftPath.set(t),t.trim()!==this.path()&&this.canOpen.set(!1),this.typedPath$.next(t)}close(){this.shell.closeProjectPicker()}confirm(){let e=this.path();e.length===0||!this.canOpen()||(this.tabs.startDraft(e),this.shell.closeNavigation(),this.close())}onEscape(){this.close()}load(e){this.loading.set(!0),this.error.set(void 0),this.revision+=1,this.browse$.next({path:e?.trim()||void 0,live:!1})}apply(e,t){if(this.loading.set(!1),!e||typeof e.path!=`string`){this.error.set(`That folder could not be read.`),t&&(this.directories.set([]),this.parent.set(void 0),this.isGitRepo.set(!1),this.canOpen.set(!1));return}this.error.set(void 0),this.path.set(e.path),t||this.draftPath.set(e.path),this.parent.set(e.parent),this.directories.set(e.directories??[]),this.roots.set(e.roots??[]),this.isGitRepo.set(e.isGitRepo===!0),this.canOpen.set(e.canOpen===!0)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-project-picker`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:30,vars:10,consts:[[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-label`,`Choose the folder for a new session`,1,`modal-card`,3,`click`],[1,`modal-head`],[`type`,`button`,`title`,`Close`,`aria-label`,`Close`,1,`close`,3,`click`],[1,`modal-sub`],[1,`path-row`],[`type`,`button`,`title`,`Parent folder`,`aria-label`,`Parent folder`,3,`click`,`disabled`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`aria-label`,`Folder path`,3,`input`,`keydown.enter`,`value`],[`type`,`button`,3,`click`,`disabled`],[1,`roots`],[1,`listing`],[1,`state`],[1,`state`,`error`],[1,`modal-foot`],[1,`selected`,3,`title`],[1,`ok`],[1,`actions`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,1,`primary`,3,`click`,`disabled`],[`type`,`button`,1,`chip`,3,`title`],[`type`,`button`,1,`chip`,3,`click`,`title`],[`type`,`button`,1,`row`,3,`title`],[`type`,`button`,1,`row`,3,`click`,`title`],[`aria-hidden`,`true`,1,`folder`],[1,`name`]],template:function(t,i){if(t&1&&(g(0,`div`,0),F(`click`,function(){return i.close()}),g(1,`div`,1),F(`click`,function(r){return r.stopPropagation()}),g(2,`header`,2)(3,`strong`),u(4,`New session`),_(),g(5,`button`,3),F(`click`,function(){return i.close()}),u(6,` × `),_()(),g(7,`p`,4),u(8,` Choose the project folder the agent should run in. It starts only after your first prompt. `),_(),g(9,`div`,5)(10,`button`,6),F(`click`,function(){return i.go(i.parent())}),u(11,` ↑ `),_(),g(12,`input`,7),F(`input`,function(r){return i.onPathInput(r)})(`keydown.enter`,function(){return i.go(i.draftPath())}),_(),g(13,`button`,8),F(`click`,function(){return i.go(i.draftPath())}),u(14,` Go `),_()(),E(15,Y5,3,0,`div`,9),g(16,`div`,10),E(17,K5,2,0,`p`,11)(18,Z5,2,1,`p`,12)(19,tz,4,2),_(),g(20,`footer`,13)(21,`span`,14),u(22),E(23,nz,2,0,`em`),E(24,iz,2,0,`em`,15),_(),g(25,`div`,16)(26,`button`,17),F(`click`,function(){return i.close()}),u(27,`Cancel`),_(),g(28,`button`,18),F(`click`,function(){return i.confirm()}),u(29,` New session here `),_()()()()()),t&2){let o;d(10),te(`disabled`,i.parent()===void 0),d(2),te(`value`,i.draftPath()),d(),te(`disabled`,i.draftPath().trim().length===0),d(2),S(i.roots().length>0?15:-1),d(2),S(i.loading()?17:(o=i.error())?18:19,o),d(4),te(`title`,i.path()),d(),ie(` `,i.path(),` `),d(),S(i.canOpen()?-1:23),d(),S(i.isGitRepo()?24:-1),d(4),te(`disabled`,!i.canOpen()||i.loading())}},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(640px,90vh);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}.modal-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--%NS%morse-border)}.modal-head[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{flex:1;font-size:13px}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:2px 8px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:16px;line-height:1;cursor:pointer}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg)}.modal-sub[_ngcontent-%COMP%]{margin:0;padding:8px 14px 0;color:var(--%NS%morse-fg-muted);font-size:11.5px}.path-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:10px 14px}.path-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:0;font-family:var(--%NS%morse-font-mono);font-size:12px}.path-row[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:none;padding:4px 10px}.roots[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}.chip[_ngcontent-%COMP%]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 9px;border:1px solid var(--%NS%morse-border);border-radius:999px;background:transparent;color:var(--%NS%morse-fg-muted);font-size:11px;cursor:pointer}.chip[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.listing[_ngcontent-%COMP%]{flex:1;min-height:160px;overflow-y:auto;border-top:1px solid var(--%NS%morse-border);padding:4px 6px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);text-align:left;cursor:pointer}.row[_ngcontent-%COMP%]:hover, .row[_ngcontent-%COMP%]:focus-visible{background:var(--%NS%morse-hover)}.row[_ngcontent-%COMP%] .folder[_ngcontent-%COMP%]{flex:none;width:14px;color:var(--%NS%morse-fg-muted);text-align:center}.row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row[_ngcontent-%COMP%] .mark[_ngcontent-%COMP%]{flex:none;padding:0 6px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-badge-fg);font-size:10px}.state[_ngcontent-%COMP%]{margin:8px;color:var(--%NS%morse-fg-muted);font-size:12px}.state.error[_ngcontent-%COMP%]{color:var(--%NS%morse-error)}.modal-foot[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--%NS%morse-border)}.selected[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:11px}.selected[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{color:var(--%NS%morse-warn, var(--%NS%morse-error));font-style:normal}.actions[_ngcontent-%COMP%]{display:flex;flex:none;gap:6px}`]})};var HD=[{title:`The agent`,blurb:"Morse never imports pi — it spawns `pi --mode rpc` and speaks its protocol.",entries:[{name:`pi coding agent`,by:`Mario Zechner`,license:`MIT`,url:`https://github.com/earendil-works/pi`,role:`Reads, runs, edits and thinks: every reply in this window is pi talking.`}]},{title:`Interface`,entries:[{name:`Angular`,packages:[`@angular/common`,`@angular/compiler`,`@angular/core`,`@angular/forms`,`@angular/platform-browser`,`@angular/router`],license:`MIT`,url:`https://angular.dev`,role:`Components, signals and the shell both hosts render.`,by:`Google`},{name:`Angular CDK`,packages:[`@angular/cdk`],license:`MIT`,url:`https://material.angular.dev/cdk/categories`,role:`The drag-and-drop that reorders the tab strip.`,by:`Google`},{name:`xterm.js`,packages:[`@xterm/xterm`,`@xterm/addon-fit`,`@xterm/addon-webgl`],license:`MIT`,url:`https://xtermjs.org`,by:`The xterm.js authors`,role:`The terminal emulator that renders the bottom panel’s shell.`},{name:`RxJS`,packages:[`rxjs`],license:`Apache-2.0`,url:`https://rxjs.dev`,role:`The streams Angular is built on.`},{name:`marked`,packages:[`marked`],license:`MIT`,url:`https://marked.js.org`,role:`Turns the agent’s markdown into HTML.`},{name:`DOMPurify`,packages:[`dompurify`],license:`(MPL-2.0 OR Apache-2.0)`,url:`https://github.com/cure53/DOMPurify`,role:`Sanitises that HTML before it reaches the DOM.`,by:`Cure53`},{name:`highlight.js`,packages:[`highlight.js`],license:`BSD-3-Clause`,url:`https://highlightjs.org`,role:`Syntax colours in code blocks.`},{name:`anime.js`,packages:[`animejs`],license:`MIT`,url:`https://animejs.com`,role:`The cold-start intro and the drop-zone pulse.`,by:`Julian Garnier`},{name:`tslib`,packages:[`tslib`],license:`0BSD`,url:`https://github.com/microsoft/tslib`,role:`TypeScript’s own runtime helpers.`,by:`Microsoft`}]},{title:`Hosts`,entries:[{name:`NestJS`,packages:[`@nestjs/common`,`@nestjs/core`,`@nestjs/platform-express`,`@nestjs/platform-ws`,`@nestjs/websockets`],license:`MIT`,url:`https://nestjs.com`,role:`The browser host: static frontend plus one WebSocket gateway.`,by:`Kamil Myśliwiec`},{name:`ws`,packages:[`ws`],license:`MIT`,url:`https://github.com/websockets/ws`,role:`The WebSocket server NestJS sits on.`},{name:`node-pty`,packages:[`node-pty`],license:`MIT`,url:`https://github.com/microsoft/node-pty`,role:`The pseudo-terminal the browser host runs the panel’s shell in.`,by:`Microsoft`},{name:`reflect-metadata`,packages:[`reflect-metadata`],license:`Apache-2.0`,url:`https://github.com/rbuckton/reflect-metadata`,role:`Decorator metadata for NestJS’s dependency injection.`,by:`Ron Buckton`},{name:`Node.js`,by:`OpenJS Foundation`,license:`MIT`,url:`https://nodejs.org`,role:`Runtime for the host and for pi itself.`},{name:`Visual Studio Code`,by:`Microsoft`,license:`MIT`,url:`https://code.visualstudio.com/api`,role:`The editor Morse docks into, and the API it builds against.`}]},{title:`Typeface`,blurb:`The browser host bundles JetBrains Mono; VS Code keeps the editor’s own font and downloads nothing.`,entries:[{name:`JetBrains Mono`,by:`JetBrains`,license:`OFL-1.1`,url:`https://www.jetbrains.com/lp/mono/`,role:`The interface typeface, subset to latin and latin-ext. Licence text ships beside it.`},{name:`Nerd Fonts`,by:`Ryan L. McIntyre`,license:`MIT`,url:`https://www.nerdfonts.com`,role:`Where the UI’s icon glyphs come from — Morse bundles none, they follow the editor font.`}]},{title:`Build & test`,blurb:`Not shipped with the app — but nothing here would exist without them.`,entries:[{name:`TypeScript`,packages:[`typescript`],license:`Apache-2.0`,url:`https://www.typescriptlang.org`,role:`Every line of Morse, typed.`,by:`Microsoft`},{name:`Angular CLI & build`,packages:[`@angular/cli`,`@angular/build`,`@angular/compiler-cli`],license:`MIT`,url:`https://angular.dev/tools/cli`,role:`Builds, bundles and serves the frontend.`},{name:`esbuild`,packages:[`esbuild`],license:`MIT`,url:`https://esbuild.github.io`,role:`Bundles the libraries, the server, the CLI and the extension.`,by:`Evan Wallace`},{name:`Vitest`,packages:[`vitest`],license:`MIT`,url:`https://vitest.dev`,role:`The unit suites.`},{name:`jsdom`,packages:[`jsdom`],license:`MIT`,url:`https://github.com/jsdom/jsdom`,role:`A DOM for those suites.`},{name:`ESLint`,packages:[`eslint`],license:`MIT`,url:`https://eslint.org`,role:`Lints the extension.`},{name:`typescript-eslint`,packages:[`typescript-eslint`],license:`MIT`,url:`https://typescript-eslint.io`,role:`The type-aware lint rules.`},{name:`Prettier`,packages:[`prettier`],license:`MIT`,url:`https://prettier.io`,role:`Formatting, so no diff is about whitespace.`},{name:`DefinitelyTyped`,packages:[`@types/node`,`@types/ws`,`@types/mocha`,`@types/vscode`],license:`MIT`,url:`https://github.com/DefinitelyTyped/DefinitelyTyped`,role:`Type definitions for Node, ws, mocha and the VS Code API.`},{name:`VS Code test tools`,packages:[`@vscode/test-cli`,`@vscode/test-electron`],license:`MIT`,url:`https://code.visualstudio.com/api/working-with-extensions/testing-extension`,role:`Runs the integration suite in a real VS Code.`,by:`Microsoft`},{name:`VSCE`,packages:[`@vscode/vsce`],license:`MIT`,url:`https://github.com/microsoft/vscode-vsce`,role:`Packages the extension into a .vsix.`,by:`Microsoft`},{name:`npm-run-all`,packages:[`npm-run-all`],license:`MIT`,url:`https://github.com/mysticatea/npm-run-all`,role:`Runs the dev and watch scripts side by side.`,by:`Toru Nagashima`}]}];var oz=(n,e)=>e.title;var rz=(n,e)=>e.name;function sz(n,e){if(n&1&&(g(0,`div`)(1,`dt`),u(2,`update`),_(),g(3,`dd`)(4,`a`,14),u(5),_()()()),n&2){let t=e;d(4),te(`href`,t.url,ji)(`title`,t.hint),d(),ie(` v`,t.latest,` available `)}}function az(n,e){n&1&&(g(0,`p`,15),u(1),_()),n&2&&(d(),I(e))}function lz(n,e){n&1&&(g(0,`span`,17),u(1),_()),n&2&&(d(),ie(`by `,e))}function cz(n,e){if(n&1&&(g(0,`li`)(1,`a`,16),u(2),E(3,lz,2,1,`span`,17),_(),g(4,`span`,18),u(5),_(),g(6,`p`,19),u(7),_()()),n&2){let t,i=e.$implicit;d(),te(`href`,i.url,ji),d(),ie(` `,i.name,` `),d(),S((t=i.by)?3:-1,t),d(2),I(i.license),d(2),I(i.role)}}function dz(n,e){if(n&1&&(g(0,`section`,9)(1,`h3`),u(2),_(),E(3,az,2,1,`p`,15),g(4,`ul`),X(5,cz,8,5,`li`,null,rz),_()()),n&2){let t,i=e.$implicit;d(2),I(i.title),d(),S((t=i.blurb)?3:-1,t),d(2),J(i.entries)}}var vf=class n{morse=w(Ie);shell=w(Ft);update=w(Oa);groups=HD;protocolVersion=this.morse.protocolVersion;updateNotice=this.update.available;frontend=C(()=>{let e=this.morse.frontend();return e?`${e.name} ${e.version}`:`not reported by this host`});host=C(()=>{let e=this.morse.capabilities();return e?`${e.hostKind} \xB7 ${e.scope}`:`not connected`});close(){this.shell.closeAbout()}onEscape(){this.close()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-about-dialog`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:42,vars:4,consts:[[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-labelledby`,`about-title`,1,`modal-card`,3,`click`],[1,`modal-head`],[`id`,`about-title`],[1,`stamp`],[`type`,`button`,`aria-label`,`Close`,1,`close`,3,`click`],[1,`intro`],[1,`identity`],[1,`scroll`],[1,`group`],[1,`modal-foot`],[1,`spacer`],[`href`,`https://github.com/supanadit/morse`,`target`,`_blank`,`rel`,`noreferrer noopener`],[`type`,`button`,1,`secondary`,3,`click`],[`target`,`_blank`,`rel`,`noreferrer noopener`,3,`href`,`title`],[1,`blurb`],[`target`,`_blank`,`rel`,`noreferrer noopener`,1,`name`,3,`href`],[1,`by`],[1,`license`],[1,`role`]],template:function(t,i){if(t&1&&(g(0,`div`,0),F(`click`,function(){return i.close()}),g(1,`div`,1),F(`click`,function(r){return r.stopPropagation()}),g(2,`div`,2)(3,`strong`,3),u(4,`About Morse`),_(),g(5,`span`,4),u(6,`a comfortable Pi interface · MIT`),_(),g(7,`button`,5),F(`click`,function(){return i.close()}),u(8,`×`),_()(),g(9,`p`,6),u(10,` One chat frontend for the pi coding agent: a VS Code panel, or a browser served by the Morse host. Morse never imports pi — it drives `),g(11,`code`),u(12,`pi --mode rpc`),_(),u(13,` — and never talks to a model provider itself. Below is what it stands on, and the licence each piece asks for. `),_(),g(14,`dl`,7)(15,`div`)(16,`dt`),u(17,`frontend`),_(),g(18,`dd`),u(19),_()(),g(20,`div`)(21,`dt`),u(22,`protocol`),_(),g(23,`dd`),u(24),_()(),g(25,`div`)(26,`dt`),u(27,`host`),_(),g(28,`dd`),u(29),_()(),E(30,sz,6,3,`div`),_(),g(31,`div`,8),X(32,dz,7,2,`section`,9,oz),_(),g(34,`div`,10)(35,`span`),u(36,`Licence texts ship with this build. Morse is MIT · © 2026 Supan Adit Pratama.`),_(),fe(37,`span`,11),g(38,`a`,12),u(39,` Source `),_(),g(40,`button`,13),F(`click`,function(){return i.close()}),u(41,`Close`),_()()()()),t&2){let o;d(19),I(i.frontend()),d(5),I(i.protocolVersion()),d(5),I(i.host()),d(),S((o=i.updateNotice())?30:-1,o),d(2),J(i.groups)}},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(680px,90vh);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}.modal-head[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-bottom:1px solid var(--%NS%morse-border)}.modal-head[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:13px}.modal-head[_ngcontent-%COMP%] .stamp[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:2px 8px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:16px;line-height:1;cursor:pointer}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg)}.intro[_ngcontent-%COMP%]{margin:0;padding:10px 14px 0;color:var(--%NS%morse-fg-muted);font-size:11.5px;line-height:1.55}.intro[_ngcontent-%COMP%] code[_ngcontent-%COMP%], .role[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:11px;padding:0 3px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover)}dl.identity[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 14px 0;padding:8px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-hover);font-size:11px}dl.identity[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;gap:6px;min-width:0}dt[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);text-transform:uppercase;letter-spacing:.04em}dd[_ngcontent-%COMP%]{margin:0;font-family:var(--%NS%morse-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.identity[_ngcontent-%COMP%] dd[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--%NS%morse-link)}dl.identity[_ngcontent-%COMP%] dd[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.scroll[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:6px 14px 12px}.group[_ngcontent-%COMP%]{margin-top:12px}.group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 2px;color:var(--%NS%morse-fg-muted);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.blurb[_ngcontent-%COMP%]{margin:0 0 6px;color:var(--%NS%morse-fg-muted);font-size:11px}ul[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}li[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;padding:6px 8px;border-radius:var(--%NS%morse-radius-sm)}li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]{border-top:1px solid var(--%NS%morse-hover)}li[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.name[_ngcontent-%COMP%]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg);font-size:12px;font-weight:600;text-decoration:none}.name[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-link);text-decoration:underline}.by[_ngcontent-%COMP%]{margin-left:6px;color:var(--%NS%morse-fg-muted);font-size:11px;font-weight:400}.license[_ngcontent-%COMP%]{justify-self:end;padding:1px 7px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-badge-fg);font-family:var(--%NS%morse-font-mono);font-size:10px}.role[_ngcontent-%COMP%]{grid-column:1 / -1;margin:2px 0 0;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1.5}.modal-foot[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px}.modal-foot[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1;min-width:0}`]})};var uz=(n,e)=>e.name;var pz=(n,e)=>e.id;function fz(n,e){n&1&&(g(0,`span`,15),u(1,`not in this host`),_())}function mz(n,e){if(n&1&&(g(0,`li`)(1,`div`,13)(2,`span`,14),u(3),E(4,fz,2,0,`span`,15),_(),g(5,`span`,16),u(6),_()(),g(7,`kbd`),u(8),_()()),n&2){let t=e.$implicit;q(`unavailable`,t.available===!1),d(3),ie(` `,t.label,` `),d(),S(t.available===!1?4:-1),d(2),I(t.detail),d(2),I(t.keys)}}function hz(n,e){if(n&1&&(g(0,`section`,8)(1,`h3`),u(2),_(),g(3,`ul`),X(4,mz,9,6,`li`,12,pz),_()()),n&2){let t=e.$implicit;d(2),I(t.name),d(2),J(t.rows)}}var bf=class n{shell=w(Ft);shortcuts=w(Fn);groups=C(()=>{let e=this.shortcuts.available(),t=new Map;for(let i of ds){let o=t.get(i.group)??[];o.push({id:i.id,label:i.label,detail:i.detail,keys:us(i)?kw(i.binding):i.keys,available:us(i)?e.get(i.id)===!0:void 0}),t.set(i.group,o)}return[...t].map(([i,o])=>({name:i,rows:o}))});close(){this.shell.closeShortcuts()}onEscape(){this.close()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-shortcuts-dialog`]],hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},decls:20,vars:0,consts:[[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-labelledby`,`shortcuts-title`,1,`modal-card`,3,`click`],[1,`modal-head`],[`id`,`shortcuts-title`],[1,`stamp`],[`type`,`button`,`aria-label`,`Close`,1,`close`,3,`click`],[1,`intro`],[1,`scroll`],[1,`group`],[1,`modal-foot`],[1,`spacer`],[`type`,`button`,1,`secondary`,3,`click`],[3,`unavailable`],[1,`what`],[1,`label`],[1,`why`],[1,`detail`]],template:function(t,i){t&1&&(g(0,`div`,0),F(`click`,function(){return i.close()}),g(1,`div`,1),F(`click`,function(r){return r.stopPropagation()}),g(2,`div`,2)(3,`strong`,3),u(4,`Keyboard shortcuts`),_(),g(5,`span`,4),u(6,`the same keys in the browser and in the VS Code panel`),_(),g(7,`button`,5),F(`click`,function(){return i.close()}),u(8,`×`),_()(),g(9,`p`,6),u(10,` Every key Morse understands, whether or not it is a shortcut you can see in the interface. They apply while the Morse panel has focus — and a row marked “not in this host” is a key this host has nothing to do. `),_(),g(11,`div`,7),X(12,hz,6,1,`section`,8,uz),_(),g(14,`div`,9)(15,`span`),u(16,`Esc closes this list, and the panel in front of it.`),_(),fe(17,`span`,10),g(18,`button`,11),F(`click`,function(){return i.close()}),u(19,`Close`),_()()()()),t&2&&(d(12),J(i.groups()))},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:66;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(620px,90vh);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}.modal-head[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-bottom:1px solid var(--%NS%morse-border)}.modal-head[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:13px}.modal-head[_ngcontent-%COMP%] .stamp[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:2px 8px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:16px;line-height:1;cursor:pointer}.modal-head[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg)}.intro[_ngcontent-%COMP%]{margin:0;padding:10px 14px 0;color:var(--%NS%morse-fg-muted);font-size:11.5px;line-height:1.55}.scroll[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:4px 14px 12px}.group[_ngcontent-%COMP%]{margin-top:12px}.group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 4px;color:var(--%NS%morse-fg-muted);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}ul[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}li[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:6px 8px;border-radius:var(--%NS%morse-radius-sm)}li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]{border-top:1px solid var(--%NS%morse-hover)}li[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}li.unavailable[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], li.unavailable[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%]{opacity:.55}.what[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1px;min-width:0}.label[_ngcontent-%COMP%]{font-size:12px;font-weight:600}.why[_ngcontent-%COMP%]{margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-badge-fg);font-size:10px;font-weight:400}.detail[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1.5}kbd[_ngcontent-%COMP%]{justify-self:end;padding:2px 7px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-bg);color:var(--%NS%morse-fg);font-family:var(--%NS%morse-font-mono);font-size:11px;white-space:nowrap}.modal-foot[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px}.modal-foot[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1;min-width:0}`]})};var gz=[`command`,`tab`,`session`,`project`,`file`,`model`,`thinking`];var yz={command:`Commands`,tab:`Open tabs`,session:`Sessions`,project:`Projects`,file:`Files`,model:`Models`,thinking:`Thinking`};var _z=[{prefix:`>`,kind:`command`},{prefix:`#`,kind:`session`},{prefix:`@`,kind:`file`},{prefix:`:`,kind:`project`}];function Sy(n){let e=_z.find(t=>n.startsWith(t.prefix));return e===void 0?{filter:n.trim()}:{kind:e.kind,filter:n.slice(e.prefix.length).trim()}}function vz(n,e){if(e.length===0)return 0;let t=n.label.toLowerCase();if(t.startsWith(e))return 0;if(t.includes(` ${e}`))return 1;if(t.includes(e))return 2;let i=bz(e,t);return i!==void 0?3+i:`${n.description??``} ${n.badge??``} ${n.keywords??``}`.toLowerCase().includes(e)?1e3:Number.POSITIVE_INFINITY}function bz(n,e){let t=-1,i=-1;for(let o of n){let r=e.indexOf(o,t+1);if(r===-1)return;i===-1&&(i=r),t=r}return t-i}function zD(n,e,t=50,i=8){let{kind:o,filter:r}=Sy(e),s=r.toLowerCase(),a=s.length===0&&o===void 0?i:t,l=[];for(let c of gz){if(o!==void 0&&o!==c)continue;let p=n.filter(m=>m.kind===c).map(m=>({entry:m,score:vz(m,s)})).filter(m=>m.score<Number.POSITIVE_INFINITY).sort((m,v)=>m.score-v.score||m.entry.label.length-v.entry.label.length||m.entry.label.localeCompare(v.entry.label)).slice(0,a).map(m=>m.entry);p.length>0&&l.push({kind:c,title:yz[c],entries:p})}return l}var xz=[`search`];var Cz=[`list`];var wz=(n,e)=>e.kind;var Ez=(n,e)=>e.id;function Sz(n,e){if(n&1&&(g(0,`span`,19),u(1),_()),n&2){let t=f().$implicit;d(),I(t.description)}}function Dz(n,e){if(n&1&&(g(0,`span`,20),u(1),_()),n&2){let t=f().$implicit;d(),I(t.badge)}}function Tz(n,e){if(n&1){let t=L();g(0,`button`,15),F(`mouseenter`,function(){let o=D(t).$implicit;return T(f(2).hover(o))})(`click`,function(){let o=D(t).$implicit;return T(f(2).pick(o))}),g(1,`span`,16),u(2),_(),g(3,`span`,17)(4,`span`,18),u(5),_(),E(6,Sz,2,1,`span`,19),_(),E(7,Dz,2,1,`span`,20),_()}if(n&2){let t=e.$implicit,i=f(2);q(`active`,t.id===i.activeId()),Y(`aria-selected`,t.id===i.activeId()),d(2),I(t.icon),d(3),I(t.label),d(),S(t.description?6:-1),d(),S(t.badge?7:-1)}}function Mz(n,e){if(n&1&&(g(0,`section`,8)(1,`div`,13),u(2),_(),X(3,Tz,8,7,`button`,14,Ez),_()),n&2){let t=e.$implicit;Y(`aria-label`,t.title),d(2),I(t.title),d(),J(t.entries)}}function kz(n,e){n&1&&u(0,` Nothing here matches that. Remove the leading character for every source. `)}function Iz(n,e){n&1&&u(0,` No match. `)}function Nz(n,e){if(n&1&&(g(0,`div`,9),E(1,kz,1,0)(2,Iz,1,0),_()),n&2){let t=f();d(),S(t.locked()?1:2)}}var xf=class n{morse=w(Ie);shell=w(Ft);shortcuts=w(Fn);tabs=w(Vt);workspace=w(Qn);prefs=w(dr);notifier=w(Pa);search=Ue(`search`);list=Ue(`list`);query=N(``);active=N(0);canPreviewFiles=C(()=>this.morse.capabilities()?.filePreview===!0);canRevealFiles=C(()=>this.morse.capabilities()?.revealFile===!0);commandEntries=C(()=>{let e=this.shortcuts.available();return ds.filter(t=>us(t)&&t.id!==`command.palette`&&e.get(t.id)===!0).map(t=>({id:`command:${t.id}`,kind:`command`,label:t.label,description:t.detail,badge:t.group.toLowerCase(),icon:`›`,keywords:t.id}))});notificationCommands=C(()=>{let e=this.prefs.enabled(),t=[e?{id:`command:notify.off`,kind:`command`,label:`Turn off completion notifications`,description:`No notice when a session finishes`,badge:`notify`,icon:`›`}:{id:`command:notify.on`,kind:`command`,label:`Turn on completion notifications`,description:`Hear when a session finishes`,badge:`notify`,icon:`›`}];return e&&t.push(this.prefs.mode()===`away`?{id:`command:notify.always`,kind:`command`,label:`Notify even while the window is focused`,badge:`notify`,icon:`›`}:{id:`command:notify.away`,kind:`command`,label:`Notify only when the window is not focused`,badge:`notify`,icon:`›`}),t});tabEntries=C(()=>this.canPreviewFiles()?this.tabs.tabs().map(e=>({id:`tab:${e.id}`,kind:`tab`,label:e.title,description:e.kind===`file`?e.path:e.cwd,badge:e.kind===`file`?`file`:e.draft===!0?`draft`:`session`,icon:e.kind===`file`?`≡`:`▸`})):[]);sessionEntries=C(()=>this.morse.sessions().map(e=>s(r({id:`session:${e.id}`,kind:`session`,label:e.title||`New session`,description:e.cwd},this.isRunning(e.id)?{badge:`running`}:{}),{icon:`▸`,keywords:e.cwd})));projectEntries=C(()=>{if(this.morse.capabilities()?.scope!==`global`)return[];let e=this.shell.projectFilterPath();return[s(r({id:`project:`,kind:`project`,label:`All projects`,description:`Show every project in the sidebar`},e.length===0?{badge:`focused`}:{}),{icon:`⌂`}),...this.morse.projects().map(t=>({id:`project:${t.path}`,kind:`project`,label:t.name,description:t.path,badge:t.path===e?`focused`:`${t.sessionCount}`,icon:`⌂`,keywords:t.path}))]});fileEntries=C(()=>this.workspace.available()?this.workspace.files().filter(e=>!e.endsWith(`/`)).map(e=>{let t=e.lastIndexOf(`/`);return s(r({id:`file:${e}`,kind:`file`,label:t===-1?e:e.slice(t+1)},t===-1?{}:{description:e.slice(0,t+1)}),{icon:`≡`,keywords:e})}):[]);modelEntries=C(()=>{let e=this.morse.model(),t=e===void 0?``:`${e.provider}/${e.id}`;return this.morse.availableModels().map(i=>{let o=`${i.provider}/${i.id}`;return s(r({id:`model:${o}`,kind:`model`,label:i.name},i.contextWindow?{description:`context ${Xn(i.contextWindow)}`}:{}),{badge:i.provider,icon:o===t?`✓`:`◆`,keywords:`model ${i.provider} ${i.id}`})})});thinkingEntries=C(()=>{let e=this.morse.thinkingLevel();return this.morse.availableThinkingLevels().map(t=>({id:`thinking:${t}`,kind:`thinking`,label:t,description:t===e?`Current reasoning level`:`Set the reasoning level`,icon:t===e?`✓`:`○`,keywords:`thinking reasoning level`}))});entries=C(()=>[...this.commandEntries(),...this.notificationCommands(),...this.tabEntries(),...this.sessionEntries(),...this.projectEntries(),...this.fileEntries(),...this.modelEntries(),...this.thinkingEntries()]);groups=C(()=>zD(this.entries(),this.query()));rows=C(()=>this.groups().flatMap(e=>e.entries));activeId=C(()=>this.rows()[this.active()]?.id);locked=C(()=>Sy(this.query()).kind);constructor(){An(()=>this.search()?.nativeElement.focus()),this.workspace.ensureLoaded(),ne(()=>{this.active(),this.groups(),setTimeout(()=>this.revealActive(),0)})}onInput(e){this.query.set(e.target.value),this.active.set(0)}hover(e){let t=this.rows().findIndex(i=>i.id===e.id);t>=0&&this.active.set(t)}dismiss(){this.shell.closePalette()}pick(e){switch(this.shell.closePalette(),e.kind){case`command`:{let t=_s(e,`command`);if(t===`notify.on`){this.notifier.optIn();return}if(t===`notify.off`){this.prefs.disable();return}if(t===`notify.always`){this.prefs.setMode(`always`);return}if(t===`notify.away`){this.prefs.setMode(`away`);return}this.shortcuts.run(t);return}case`tab`:this.tabs.select(_s(e,`tab`));return;case`session`:{let t=_s(e,`session`),i=this.morse.sessions().find(o=>o.id===t);i!==void 0&&this.tabs.focusSession({id:i.id,title:i.title,cwd:i.cwd});return}case`project`:this.shell.setProjectFilter(_s(e,`project`));return;case`file`:{let t=_s(e,`file`);this.canPreviewFiles()?this.tabs.openFile(t):this.canRevealFiles()&&this.morse.hostCommand(`revealFile`,{path:t});return}case`model`:{let t=_s(e,`model`),i=this.morse.availableModels().find(o=>`${o.provider}/${o.id}`===t);i!==void 0&&this.morse.setModel(i.provider,i.id);return}case`thinking`:this.morse.setThinkingLevel(_s(e,`thinking`));return}}onKeydown(e){if(e.defaultPrevented)return;let t=this.rows();switch(e.key){case`Escape`:e.preventDefault(),this.dismiss();return;case`ArrowDown`:e.preventDefault(),this.active.update(i=>Math.min(i+1,Math.max(0,t.length-1)));return;case`ArrowUp`:e.preventDefault(),this.active.update(i=>Math.max(0,i-1));return;case`Home`:e.preventDefault(),this.active.set(0);return;case`End`:e.preventDefault(),this.active.set(Math.max(0,t.length-1));return;case`PageDown`:e.preventDefault(),this.active.update(i=>Math.min(i+10,Math.max(0,t.length-1)));return;case`PageUp`:e.preventDefault(),this.active.update(i=>Math.max(i-10,0));return;case`Tab`:e.preventDefault(),this.jumpSection(e.shiftKey?-1:1);return;case`Enter`:{if(e.isComposing)return;let i=t[this.active()];i!==void 0&&(e.preventDefault(),this.pick(i));return}default:return}}jumpSection(e){let t=this.groups();if(t.length===0)return;let i=[],o=0;for(let l of t)i.push(o),o+=l.entries.length;let r=i.findIndex((l,c)=>{let p=c+1<i.length?i[c+1]:o;return this.active()>=l&&this.active()<p}),a=((r===-1?0:r)+e+i.length)%i.length;this.active.set(i[a])}revealActive(){let e=this.list()?.nativeElement,t=e?.querySelectorAll(`.row`)[this.active()];if(!e||!t)return;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.top<i.top?e.scrollTop-=i.top-o.top:o.bottom>i.bottom&&(e.scrollTop+=o.bottom-i.bottom)}isRunning(e){let t=this.morse.sessionActivity().get(e);return t!==void 0?t.streaming:e===this.morse.state().sessionId&&this.morse.state().streaming}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-command-palette`]],viewQuery:function(t,i){t&1&&nt(i.search,xz,5)(i.list,Cz,5),t&2&&ot(2)},hostBindings:function(t,i){t&1&&A(`keydown`,function(r){return i.onKeydown(r)},Dt)},decls:41,vars:2,consts:[[`search`,``],[`list`,``],[1,`modal-layer`,3,`click`],[`role`,`dialog`,`aria-modal`,`true`,`aria-label`,`Command palette`,1,`modal-card`,3,`click`],[1,`search`],[`type`,`text`,`aria-label`,`Command palette`,`placeholder`,`Run a command, open a session, file or project, or pick a model…`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`],[1,`esc`],[`role`,`listbox`,1,`list`],[`role`,`group`,1,`group`],[1,`empty`],[1,`hint`],[1,`spacer`],[`title`,`Narrow the list to one source`,1,`prefixes`],[1,`group-title`],[`type`,`button`,`role`,`option`,1,`row`,3,`active`],[`type`,`button`,`role`,`option`,1,`row`,3,`mouseenter`,`click`],[`aria-hidden`,`true`,1,`icon`],[1,`text`],[1,`label`],[1,`description`],[1,`badge`]],template:function(t,i){t&1&&(g(0,`div`,2),F(`click`,function(){return i.dismiss()}),g(1,`div`,3),F(`click`,function(r){return r.stopPropagation()}),g(2,`div`,4)(3,`input`,5,0),F(`input`,function(r){return i.onInput(r)}),_(),g(5,`kbd`,6),u(6,`Esc`),_()(),g(7,`div`,7,1),X(9,Mz,5,2,`section`,8,wz,!1,Nz,3,1,`div`,9),_(),g(12,`div`,10)(13,`kbd`),u(14,`↑`),_(),g(15,`kbd`),u(16,`↓`),_(),g(17,`span`),u(18,`move`),_(),g(19,`kbd`),u(20,`Tab`),_(),g(21,`span`),u(22,`next source`),_(),g(23,`kbd`),u(24,`Enter`),_(),g(25,`span`),u(26,`run`),_(),fe(27,`span`,11),g(28,`span`,12)(29,`kbd`),u(30,`>`),_(),u(31,` commands · `),g(32,`kbd`),u(33,`#`),_(),u(34,` sessions · `),g(35,`kbd`),u(36,`@`),_(),u(37,` files · `),g(38,`kbd`),u(39,`:`),_(),u(40,` projects `),_()()()()),t&2&&(d(3),te(`value`,i.query()),d(6),J(i.groups()))},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:67;display:flex;align-items:flex-start;justify-content:center;padding:12vh 24px 24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:min(640px,100%);max-height:min(560px,80vh);border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;overflow:hidden}.search[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--%NS%morse-border)}.search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:0;padding-left:0;font-size:13px}.esc[_ngcontent-%COMP%]{flex:none}.list[_ngcontent-%COMP%]{flex:1;min-height:120px;overflow-y:auto;padding:4px 6px 8px}.group-title[_ngcontent-%COMP%]{padding:8px 8px 3px;color:var(--%NS%morse-fg-muted);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.row.active[_ngcontent-%COMP%]:hover:not(:disabled), .row.active[_ngcontent-%COMP%]:not(:disabled){background:var(--%NS%morse-hover)}.row[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--%NS%morse-hover)}.icon[_ngcontent-%COMP%]{flex:none;width:14px;color:var(--%NS%morse-fg-muted);text-align:center}.text[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--%NS%morse-fg-muted);font-size:11px;font-family:var(--%NS%morse-font-mono)}.badge[_ngcontent-%COMP%]{flex:none;padding:1px 6px;border-radius:999px;background:var(--%NS%morse-badge-bg);color:var(--%NS%morse-badge-fg);font-size:10px}.empty[_ngcontent-%COMP%]{padding:16px 10px;color:var(--%NS%morse-fg-muted);font-size:12px;text-align:center}.hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-top:1px solid var(--%NS%morse-border);color:var(--%NS%morse-fg-muted);font-size:11px;overflow:hidden;white-space:nowrap}.hint[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1;min-width:8px}.hint[_ngcontent-%COMP%] .prefixes[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis}kbd[_ngcontent-%COMP%]{padding:0 3px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);font-family:var(--%NS%morse-font-mono);font-size:10px}`]})};function _s(n,e){return n.id.slice(e.length+1)}var Pz=[`cancel`];function Oz(n,e){n&1&&(g(0,`p`,4),u(1),_()),n&2&&(d(),I(e))}function Az(n,e){n&1&&(g(0,`p`,5),u(1),_()),n&2&&(d(),I(e))}var Cf=class n{title=se.required();body=se(``);note=se(``);confirmLabel=se(`Confirm`);cancelLabel=se(`Cancel`);confirmed=je();cancelled=je();cancelButton=Ue(`cancel`);constructor(){ne(()=>{let e=this.cancelButton()?.nativeElement;e&&setTimeout(()=>e.focus(),0)})}onEscape(){this.cancelled.emit()}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-confirm-dialog`]],viewQuery:function(t,i){t&1&&nt(i.cancelButton,Pz,5),t&2&&ot()},hostBindings:function(t,i){t&1&&A(`keydown.escape`,function(){return i.onEscape()},Dt)},inputs:{title:[1,`title`],body:[1,`body`],note:[1,`note`],confirmLabel:[1,`confirmLabel`],cancelLabel:[1,`cancelLabel`]},outputs:{confirmed:`confirmed`,cancelled:`cancelled`},decls:12,vars:6,consts:[[`cancel`,``],[1,`modal-layer`,3,`click`],[`role`,`alertdialog`,`aria-modal`,`true`,`aria-labelledby`,`confirm-title`,1,`modal-card`,3,`click`],[`id`,`confirm-title`],[`id`,`confirm-body`,1,`body`],[1,`note`],[1,`actions`],[`type`,`button`,1,`secondary`,3,`click`],[`type`,`button`,3,`click`]],template:function(t,i){if(t&1&&(g(0,`div`,1),F(`click`,function(){return i.cancelled.emit()}),g(1,`div`,2),F(`click`,function(r){return r.stopPropagation()}),g(2,`h2`,3),u(3),_(),E(4,Oz,2,1,`p`,4),E(5,Az,2,1,`p`,5),g(6,`div`,6)(7,`button`,7,0),F(`click`,function(){return i.cancelled.emit()}),u(9),_(),g(10,`button`,8),F(`click`,function(){return i.confirmed.emit()}),u(11),_()()()()),t&2){let o,r;d(),Y(`aria-describedby`,i.body().length>0?`confirm-body`:null),d(2),I(i.title()),d(),S((o=i.body())?4:-1,o),d(),S((r=i.note())?5:-1,r),d(4),ie(` `,i.cancelLabel(),` `),d(2),I(i.confirmLabel())}},styles:[`[_nghost-%COMP%]{display:contents}.modal-layer[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.modal-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;width:min(420px,100%);padding:16px 18px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 18px 48px #0006;animation:_ngcontent-%COMP%_confirm-in .14s ease-out}h2[_ngcontent-%COMP%]{margin:0;font-size:14px;font-weight:600}.body[_ngcontent-%COMP%]{margin:0;font-size:12.5px;line-height:1.6}.note[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-warn);font-size:11.5px;line-height:1.55}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}@keyframes _ngcontent-%COMP%_confirm-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.modal-card[_ngcontent-%COMP%]{animation:none}}`]})};function Rz(n,e){n&1&&u(0,` Install it once and this panel is ready. `)}function Lz(n,e){if(n&1){let t=L();g(0,`div`,5)(1,`code`),u(2),_(),g(3,`button`,10),F(`click`,function(){D(t);return T(f().copyInstall())}),u(4),_()()}if(n&2){let t=f();d(2),I(e),d(2),ie(` `,t.copied()?`Copied`:`Copy`,` `)}}function Fz(n,e){n&1&&(g(0,`p`,6),u(1),_()),n&2&&(d(),I(e))}function Vz(n,e){if(n&1){let t=L();g(0,`button`,10),F(`click`,function(){D(t);return T(f().openSettings())}),u(1,`Open settings`),_(),g(2,`button`,10),F(`click`,function(){D(t);return T(f().showLog())}),u(3,`Show log`),_()}}function jz(n,e){n&1&&(g(0,`p`,9),u(1,` Changed “morse.pi.path”? Reload the window — Morse picks the pi path when it starts. To use a pi that is already installed, point the setting at it instead of installing a second copy. `),_())}function Bz(n,e){n&1&&(g(0,`p`,9),u(1,` The host reads `),g(2,`code`),u(3,`MORSE_PI_PATH`),_(),u(4,` at startup, so restart it after changing that (or install pi) — `),g(5,`code`),u(6,`morse restart`),_(),u(7,` for the daemon. `),_())}function $z(n,e){n&1&&(g(0,`details`)(1,`summary`),u(2,`What the host reported`),_(),g(3,`pre`),u(4),_()()),n&2&&(d(4),I(e))}var wf=class n{morse=w(Ie);message=this.morse.agentError;failure=this.morse.agentFailure;missing=C(()=>this.failure()?.code===`agent-unavailable`);install=C(()=>this.failure()?.install??``);hint=C(()=>this.failure()?.hint??``);hasEditor=C(()=>this.morse.capabilities()?.hostKind===`vscode`);copied=N(!1);copyInstall(){let e=this.install();e.length!==0&&(navigator.clipboard?.writeText(e),this.copied.set(!0),setTimeout(()=>this.copied.set(!1),1600))}retry(){this.morse.newSession()}openSettings(){this.morse.hostCommand(`openSettings`)}showLog(){this.morse.hostCommand(`showOutput`)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`morse-agent-screen`]],decls:18,vars:8,consts:[[`role`,`alert`,`aria-labelledby`,`agent-title`,1,`card`],[1,`eyebrow`],[`aria-hidden`,`true`,1,`pip`],[`id`,`agent-title`],[1,`body`],[1,`command`],[1,`hint`],[1,`actions`],[`type`,`button`,3,`click`],[1,`foot`],[`type`,`button`,1,`secondary`,3,`click`]],template:function(t,i){if(t&1&&(g(0,`section`,0)(1,`p`,1),fe(2,`span`,2),u(3),_(),g(4,`h1`,3),u(5),_(),g(6,`p`,4),u(7,` Morse is only the interface — every answer comes from the pi CLI on this machine, with your own models, tools and sessions. `),E(8,Rz,1,0),_(),E(9,Lz,5,2,`div`,5),E(10,Fz,2,1,`p`,6),g(11,`div`,7)(12,`button`,8),F(`click`,function(){return i.retry()}),u(13,`Retry`),_(),E(14,Vz,4,0),_(),E(15,jz,2,0,`p`,9)(16,Bz,8,0,`p`,9),E(17,$z,5,1,`details`),_()),t&2){let o,r,s;d(3),ie(` `,i.missing()?`Setup`:`Agent unavailable`,` `),d(2),ie(` `,i.missing()?`The pi coding agent is not installed`:`The pi coding agent could not start`,` `),d(3),S(i.missing()?8:-1),d(),S((o=i.install())?9:-1,o),d(),S((r=i.hint())?10:-1,r),d(4),S(i.hasEditor()?14:-1),d(),S(i.hasEditor()?15:16),d(2),S((s=i.message())?17:-1,s)}},styles:[`[_nghost-%COMP%]{display:flex;flex:1;min-height:0;overflow-y:auto;padding:18px}.card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px;width:100%;max-width:520px;margin:auto;padding:20px 22px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));box-shadow:0 10px 30px #0000002e;color:var(--%NS%morse-fg);animation:_ngcontent-%COMP%_agent-in .2s ease-out}.eyebrow[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin:0;color:var(--%NS%morse-fg-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.pip[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:50%;background:var(--%NS%morse-warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--%NS%morse-warn) 22%,transparent)}h1[_ngcontent-%COMP%]{margin:0;font-size:17px;line-height:1.35;font-weight:600}.body[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-fg-muted);font-size:12.5px;line-height:1.6}.command[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-code-bg)}.command[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-size:12px;color:var(--%NS%morse-fg)}.command[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:none;padding:3px 9px;font-size:11px}.hint[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-fg-muted);font-size:11.5px;line-height:1.55}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.foot[_ngcontent-%COMP%]{margin:0;color:var(--%NS%morse-fg-muted);font-size:11px;line-height:1.5}details[_ngcontent-%COMP%]{border-top:1px solid var(--%NS%morse-border);padding-top:8px}summary[_ngcontent-%COMP%]{color:var(--%NS%morse-fg-muted);font-size:11px;cursor:pointer}details[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:6px 0 0;padding:8px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover);color:var(--%NS%morse-fg-muted);font-family:var(--%NS%morse-font-mono);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}@keyframes _ngcontent-%COMP%_agent-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.card[_ngcontent-%COMP%]{animation:none}}`]})};function Hz(n,e){if(n&1){let t=L();h(0,`morse-boot-splash`,12),A(`dismissed`,function(){D(t);return T(f().onBootDismissed())}),y()}if(n&2){let t=f();j(`ready`,t.bootReady())(`status`,t.bootStatus())}}function zz(n,e){if(n&1){let t=L();h(0,`morse-connection-screen`,13),A(`retry`,function(){D(t);return T(f().retryConnection())})(`explore`,function(){D(t);return T(f().onConnectionExplore())})(`connect`,function(o){D(t);return T(f().onConnectionConnect(o))}),y()}if(n&2){let t=e;j(`eyebrow`,t.eyebrow)(`title`,t.title)(`body`,t.body)(`detail`,t.detail)}}function Uz(n,e){n&1&&ee(0,`morse-project-picker`)}function Gz(n,e){n&1&&ee(0,`morse-about-dialog`)}function qz(n,e){n&1&&ee(0,`morse-shortcuts-dialog`)}function Wz(n,e){n&1&&ee(0,`morse-mcp-panel`)}function Yz(n,e){n&1&&ee(0,`morse-command-palette`)}function Kz(n,e){if(n&1){let t=L();h(0,`morse-confirm-dialog`,14),A(`confirmed`,function(){D(t);return T(f().confirmCompact())})(`cancelled`,function(){D(t);return T(f().cancelCompact())}),y()}if(n&2)j(`body`,f().compactBody())}function Zz(n,e){if(n&1){let t=L();h(0,`button`,15),A(`click`,function(){D(t);return T(f().closeNavigation())}),y()}}function Qz(n,e){n&1&&(h(0,`div`,7),ee(1,`span`,16),h(2,`div`,17)(3,`span`,18),u(4,`⤓`),y(),h(5,`strong`),u(6,`Drop to attach`),y(),h(7,`span`),u(8,`Images ride with the prompt · other files become `),h(9,`code`),u(10,`@mentions`),y()()()()),n&2&&(d(2),j(`morseEnter`,0)(`morseEnterY`,-6))}function Xz(n,e){n&1&&ee(0,`morse-tab-strip`)}function Jz(n,e){n&1&&u(0,` Notifications are blocked for this site — allow them in your browser's site settings. `)}function e6(n,e){if(n&1){let t=L();u(0,` Notifications are off — you won't hear when a session finishes. `),h(1,`button`,27),A(`click`,function(){D(t);return T(f(2).enableNotifications())}),u(2,`Turn on`),y()}}function t6(n,e){if(n&1){let t=L();h(0,`button`,28),A(`click`,function(){D(t);return T(f(2).turnOffNotifications())}),u(1,`Turn off`),y()}}function n6(n,e){if(n&1){let t=L();h(0,`button`,29),A(`click`,function(){D(t);return T(f(2).dismissNotificationPrompt())}),u(1,` × `),y()}}function i6(n,e){if(n&1&&(h(0,`div`,8)(1,`span`,19),De(),h(2,`svg`,20),ee(3,`path`,21)(4,`path`,22)(5,`path`,23),y()(),kt(),h(6,`span`,24),E(7,Jz,1,0)(8,e6,3,0),y(),E(9,t6,2,0,`button`,25)(10,n6,2,0,`button`,26),y()),n&2){let t=e;d(7),S(t===`blocked`?7:8),d(2),S(t===`blocked`?9:10)}}function o6(n,e){n&1&&ee(0,`morse-file-preview`,9),n&2&&j(`tab`,e)}function r6(n,e){if(n&1){let t=L();h(0,`section`,30)(1,`strong`),u(2,`Offline — the host wouldn't take this frontend`),y(),h(3,`p`),u(4),ee(5,`br`),u(6),y(),h(7,`div`,33)(8,`button`,34),A(`click`,function(){D(t);return T(f(2).reload())}),u(9,`Reload`),y(),h(10,`button`,35),A(`click`,function(){D(t);return T(f(2).retryConnection())}),u(11,`Retry`),y(),h(12,`button`,35),A(`click`,function(){D(t);return T(f(2).showLog())}),u(13,`Show log`),y()()()}if(n&2){let t=e;d(4),I(t.message),d(2),I(t.detail)}}function s6(n,e){if(n&1){let t=L();h(0,`section`,30)(1,`strong`),u(2,`Offline — reconnecting`),y(),h(3,`p`),u(4,` Morse keeps retrying in the background; the rest of the interface stays available while it does. `),y(),h(5,`div`,33)(6,`button`,34),A(`click`,function(){D(t);return T(f(2).retryConnection())}),u(7,`Retry now`),y(),h(8,`button`,35),A(`click`,function(){D(t);return T(f(2).showConnectionHelp())}),u(9,` Connection help `),y()()()}}function a6(n,e){if(n&1){let t=L();h(0,`section`,31)(1,`strong`),u(2,`Pi agent unavailable`),y(),h(3,`p`),u(4),y(),h(5,`div`,33)(6,`button`,34),A(`click`,function(){D(t);return T(f(2).retryAgent())}),u(7,`Retry`),y(),h(8,`button`,35),A(`click`,function(){D(t);return T(f(2).openSettings())}),u(9,`Open settings`),y(),h(10,`button`,35),A(`click`,function(){D(t);return T(f(2).showLog())}),u(11,`Show log`),y()()()}if(n&2){let t=f(2);d(4),I(t.agentError()||`Morse could not start the pi coding agent.`)}}function l6(n,e){n&1&&ee(0,`morse-agent-screen`)}function c6(n,e){if(n&1){let t=L();h(0,`morse-empty-session`,36),A(`create`,function(){D(t);return T(f(2).newSession())}),y()}if(n&2)j(`hasTabs`,f(2).hasSessionTabs())}function d6(n,e){n&1&&ee(0,`morse-chat-transcript`)(1,`morse-interaction-panel`)(2,`morse-chat-composer`)}function u6(n,e){if(n&1&&(E(0,r6,14,2,`section`,30)(1,s6,10,0,`section`,30)(2,a6,12,1,`section`,31),E(3,l6,1,0,`morse-agent-screen`)(4,c6,1,1,`morse-empty-session`,32)(5,d6,3,0)),n&2){let t,i=f();S((t=i.lastError())?0:i.offline()?1:i.agentBanner()?2:-1,t),d(3),S(i.agentScreen()?3:i.noSessionSelected()?4:5)}}function p6(n,e){n&1&&ee(0,`morse-bottom-panel`)}function f6(n,e){if(n&1){let t=L();h(0,`div`,37)(1,`span`,38),u(2),y(),h(3,`button`,39),A(`click`,function(){D(t);return T(f().dismissToast())}),u(4,` × `),y()()}if(n&2){let t=e;sn(t.level),d(2),I(t.text)}}function m6(n,e){if(n&1&&ee(0,`morse-git-panel`,11),n&2)j(`expanded`,f().gitExpanded())}function h6(){return typeof location>`u`?!1:new URL(location.href,`http://localhost/`).searchParams.get(`boot`)===`1`}Zg(class n{morse=w(Ie);shell=w(Ft);panel=w(ao);tabs=w(Vt);notifier=w(Pa);notifications=w(dr);shortcuts=w(Fn);dropZone=w(ff);animation=w(En);attachments=w(Zn);destroyRef=w(He);dismissedNoticeAt=N(null);noticeTimer;bootPreview=h6();bootPending=this.animation.isEnabled&&(this.bootPreview||this.morse.connection()===`connecting`);bootForceTimer;bootVisible=N(this.bootPending);bootForced=N(!1);connectionDismissed=N(!1);offline=N(!1);navigationOpen=this.shell.navigationOpen;tabsEnabled=C(()=>this.morse.capabilities()?.filePreview===!0);bottomPanelEnabled=C(()=>this.morse.capabilities()?.terminal===!0);bottomPanelFull=C(()=>this.bottomPanelEnabled()&&this.panel.full());gitEnabled=C(()=>this.morse.capabilities()?.gitPanel===!0);gitOpen=C(()=>this.gitEnabled()&&this.shell.gitPanelOpen());gitExpanded=C(()=>this.gitOpen()&&this.shell.gitPanelExpanded());gitWidth=C(()=>{let e=this.shell.gitPanelWidth();return e===void 0?null:`${e}px`});activeFile=C(()=>{let e=this.tabs.activeTab();return e?.kind===`file`?e:void 0});noSessionSelected=this.tabs.noSessionInFront;notificationPrompt=C(()=>{if(this.morse.capabilities()?.notify===!0)return!this.notifications.enabled()&&!this.notifications.bannerDismissed()?`nudge`:null;let e=this.notifier.permission();return e===`unsupported`?null:this.notifications.enabled()?e===`granted`?null:`blocked`:this.notifications.bannerDismissed()?null:`nudge`});hasSessionTabs=C(()=>this.tabs.tabs().some(e=>e.kind===`session`));focusedSession;projectPickerOpen=this.shell.projectPickerOpen;aboutOpen=this.shell.aboutOpen;shortcutsOpen=this.shell.shortcutsOpen;mcpOpen=this.shell.mcpOpen;paletteOpen=this.shell.paletteOpen;navigationCollapsed=this.shell.navigationCollapsed;compactConfirmOpen=this.shell.compactConfirmOpen;compactBody=C(()=>{let e=`pi replaces the conversation it is holding with a summary, so the next turn starts from less context. The transcript in this window is untouched.`,t=this.shell.compactInstructions();return t?`${e} Your instructions: \u201C${t}\u201D.`:e});connection=this.morse.connection;agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;agentBlocked=C(()=>this.connection()===`ready`&&!this.agentReady()&&!this.agentStarting()&&this.agentError()!==void 0);agentScreen=C(()=>this.agentBlocked()&&this.morse.items().length===0);agentBanner=C(()=>this.agentBlocked()&&!this.agentScreen());lastError=this.morse.lastError;dragging=this.dropZone.active;toast=C(()=>{let e=this.morse.lastNotice(),t=this.attachments.notice(),i=t&&(!e||t.at>=e.at)?t:e;return!i||i.at===this.dismissedNoticeAt()?null:i});autoDismiss=ne(()=>{let e=this.toast();if(this.clearNoticeTimer(),!e)return;let t=e.level===`warn`||e.level===`error`?6e3:3200;this.noticeTimer=setTimeout(()=>this.dismissedNoticeAt.set(e.at),t)});constructor(){w(mf);let e=[this.shortcuts.bind(`context.compact`,()=>this.shell.requestCompact(),()=>this.morse.state().agentReady),this.shortcuts.bind(`help.shortcuts`,()=>this.shell.toggleShortcuts()),this.shortcuts.bind(`command.palette`,()=>this.shell.togglePalette())];this.destroyRef.onDestroy(()=>{for(let t of e)t()}),this.bootPending&&(this.bootForceTimer=setTimeout(()=>this.bootForced.set(!0),7e3)),ne(()=>{let t=this.morse.connection();if(t===`ready`){this.offline.set(!1),this.connectionDismissed.set(!1);return}(t===`error`||t===`closed`||this.morse.slowConnection())&&this.offline.set(!0)}),this.destroyRef.onDestroy(()=>{this.clearNoticeTimer(),this.clearBootTimer()}),ne(()=>{let t=this.morse.state(),i=t.sessionId;if(i===void 0){this.focusedSession=void 0,this.tabs.clearActiveSession();return}let o={id:i,title:this.sessionTitle(i,t.sessionTitle),cwd:t.workspace.cwd};if(i===this.focusedSession){this.tabs.refreshSession(o);return}this.focusedSession=i,this.tabs.showSession(o)})}onBootDismissed(){this.bootVisible.set(!1),this.clearBootTimer()}sessionTitle(e,t){return t!==void 0&&t.length>0?t:this.morse.sessions().find(o=>o.id===e)?.title??`New session`}onConnectionExplore(){this.connectionDismissed.set(!0)}showConnectionHelp(){this.connectionDismissed.set(!1)}onConnectionConnect(e){if(typeof location>`u`)return;let t=new URL(location.href);t.searchParams.set(`server`,e),location.href=t.toString()}clearBootTimer(){this.bootForceTimer!==void 0&&(clearTimeout(this.bootForceTimer),this.bootForceTimer=void 0)}clearNoticeTimer(){this.noticeTimer!==void 0&&(clearTimeout(this.noticeTimer),this.noticeTimer=void 0)}bootReady=C(()=>{if(this.bootForced())return!0;let e=this.morse.connection();return e===`error`||e===`closed`||this.morse.slowConnection()?!0:e===`ready`});bootStatus=C(()=>this.morse.connection()!==`ready`?`Connecting to the host…`:this.morse.agentStarting()?`Starting the pi agent…`:this.morse.agentError()!==void 0?`The agent could not start`:`Ready`);connectionScreen=C(()=>{if(this.bootVisible()||this.connectionDismissed()||!this.offline())return null;let e=this.lastError();return e?{eyebrow:`Handshake refused`,title:`The host turned this frontend away`,body:`The socket is up, but the handshake was rejected. That usually means the frontend and the host disagree on the wire protocol — rebuild both together.`,detail:e.detail?`${e.message} \u2014 ${e.detail}`:e.message}:this.morse.slowConnection()&&this.morse.connection()===`connecting`?{eyebrow:`No answer yet`,title:`The host is not answering`,body:`A socket opened but the handshake never came back. The host may still be starting, or this address is not a Morse host.`,detail:this.morse.connectionDetail()??``}:{eyebrow:`Offline · reconnecting`,title:`Morse is waiting for a host`,body:`This window is only the frontend, and it keeps working while the host is away. Nothing is lost — your sessions live with the host and in pi’s session files — so start the host again and this screen will clear itself.`,detail:this.morse.connectionDetail()??``}});confirmCompact(){let e=this.shell.compactInstructions();this.shell.closeCompactPrompt(),this.morse.compactSession(e)}cancelCompact(){this.shell.closeCompactPrompt()}closeNavigation(){this.shell.closeNavigation()}newSession(){this.shortcuts.run(`session.new`)}enableNotifications(){this.notifier.optIn()}dismissNotificationPrompt(){this.notifications.dismissBanner()}turnOffNotifications(){this.notifications.disable()}retryConnection(){this.morse.ready()}reload(){typeof location<`u`&&location.reload()}retryAgent(){this.morse.newSession()}openSettings(){this.morse.hostCommand(`openSettings`)}showLog(){this.morse.hostCommand(`showOutput`)}dismissToast(){this.dismissedNoticeAt.set(this.toast()?.at??this.morse.lastNotice()?.at??null)}liveDropzone=ne(()=>{let e=this.dragging();this.stopDropzoneLoops(),e&&setTimeout(()=>{if(!this.dragging())return;let t=globalThis.document?.querySelector(`.dropzone`)??void 0;if(!t)return;let i=t.querySelector(`.dropzone-card`),o=t.querySelector(`.dropzone-icon`),r=t.querySelector(`.dropzone-ring`);this.dropzoneStops=[this.animation.loop(r,{scale:[1,1.035],opacity:[.9,.25]},{duration:1100}),this.animation.loop(i,{scale:[1,1.03]},{duration:700}),this.animation.loop(o,{translateY:[1.5,-3]},{duration:520})]},0)});dropzoneStops=[];stopDropzoneLoops(){for(let e of this.dropzoneStops)e();this.dropzoneStops=[]}onDragEnter(e){this.dropZone.onDragEnter(e)}onDragOver(e){this.dropZone.onDragOver(e)}onDragLeave(){this.dropZone.onDragLeave()}onDrop(e){this.dropZone.onDrop(e,this.morse.state().workspace.cwd)}static ɵfac=function(t){return new(t||n)};static ɵcmp=re({type:n,selectors:[[`app-root`]],decls:21,vars:30,consts:[[1,`shell`],[3,`ready`,`status`],[3,`eyebrow`,`title`,`body`,`detail`],[1,`nav`],[`title`,`Compact the conversation?`,`note`,`It costs a model call, and the summary is what pi remembers from then on — this cannot be undone.`,`confirmLabel`,`Compact context`,3,`body`],[`type`,`button`,`aria-label`,`Close navigation`,1,`scrim`],[1,`chat`,3,`dragenter`,`dragover`,`dragleave`,`drop`],[`aria-hidden`,`true`,1,`dropzone`],[`role`,`status`,1,`notify-prompt`],[3,`tab`],[`role`,`status`,1,`toast`,3,`class`],[1,`git-panel`,3,`expanded`],[3,`dismissed`,`ready`,`status`],[3,`retry`,`explore`,`connect`,`eyebrow`,`title`,`body`,`detail`],[`title`,`Compact the conversation?`,`note`,`It costs a model call, and the summary is what pi remembers from then on — this cannot be undone.`,`confirmLabel`,`Compact context`,3,`confirmed`,`cancelled`,`body`],[`type`,`button`,`aria-label`,`Close navigation`,1,`scrim`,3,`click`],[1,`dropzone-ring`],[1,`dropzone-card`,3,`morseEnter`,`morseEnterY`],[1,`dropzone-icon`],[`aria-hidden`,`true`,1,`notify-glyph`],[`viewBox`,`0 0 16 16`],[`d`,`M8 2.2a3.4 3.4 0 0 0-3.4 3.4c0 3.2-1.4 4-1.4 4h9.6s-1.4-.8-1.4-4A3.4 3.4 0 0 0 8 2.2Z`],[`d`,`M6.6 12.2a1.5 1.5 0 0 0 2.8 0`],[`d`,`m3.2 13.2 9.6-10.4`],[1,`notify-text`],[`type`,`button`,1,`notify-off`],[`type`,`button`,`aria-label`,`Dismiss`,`title`,`Dismiss`,1,`notify-dismiss`],[`type`,`button`,1,`notify-on`,3,`click`],[`type`,`button`,1,`notify-off`,3,`click`],[`type`,`button`,`aria-label`,`Dismiss`,`title`,`Dismiss`,1,`notify-dismiss`,3,`click`],[`role`,`status`,1,`alert`,`offline`],[`role`,`alert`,1,`alert`],[3,`hasTabs`],[1,`actions`],[`type`,`button`,3,`click`],[`type`,`button`,1,`secondary`,3,`click`],[3,`create`,`hasTabs`],[`role`,`status`,1,`toast`],[1,`toast-text`],[`type`,`button`,`aria-label`,`Dismiss`,1,`toast-close`,3,`click`]],template:function(t,i){if(t&1&&(h(0,`div`,0),E(1,Hz,1,2,`morse-boot-splash`,1),E(2,zz,1,4,`morse-connection-screen`,2),ee(3,`morse-session-nav`,3),E(4,Uz,1,0,`morse-project-picker`),E(5,Gz,1,0,`morse-about-dialog`),E(6,qz,1,0,`morse-shortcuts-dialog`),E(7,Wz,1,0,`morse-mcp-panel`),E(8,Yz,1,0,`morse-command-palette`),E(9,Kz,1,1,`morse-confirm-dialog`,4),E(10,Zz,1,0,`button`,5),h(11,`main`,6),A(`dragenter`,function(r){return i.onDragEnter(r)})(`dragover`,function(r){return i.onDragOver(r)})(`dragleave`,function(){return i.onDragLeave()})(`drop`,function(r){return i.onDrop(r)}),E(12,Qz,11,2,`div`,7),ee(13,`morse-chat-header`),E(14,Xz,1,0,`morse-tab-strip`),E(15,i6,11,2,`div`,8),E(16,o6,1,1,`morse-file-preview`,9)(17,u6,6,2),E(18,p6,1,0,`morse-bottom-panel`),E(19,f6,5,3,`div`,10),y(),E(20,m6,1,1,`morse-git-panel`,11),y()),t&2){let o,r,s,a;Tt(`--%NS%morse-git-width`,i.gitWidth()),q(`collapsed`,i.navigationCollapsed())(`with-git`,i.gitOpen())(`git-expanded`,i.gitExpanded()),d(),S(i.bootVisible()?1:-1),d(),S((o=i.connectionScreen())?2:-1,o),d(),q(`open`,i.navigationOpen()),d(),S(i.projectPickerOpen()?4:-1),d(),S(i.aboutOpen()?5:-1),d(),S(i.shortcutsOpen()?6:-1),d(),S(i.mcpOpen()?7:-1),d(),S(i.paletteOpen()?8:-1),d(),S(i.compactConfirmOpen()?9:-1),d(),S(i.navigationOpen()?10:-1),d(),q(`dropping`,i.dragging())(`bottom-full`,i.bottomPanelFull()),d(),S(i.dragging()?12:-1),d(2),S(i.tabsEnabled()?14:-1),d(),S((r=i.notificationPrompt())?15:-1,r),d(),S((s=i.activeFile())?16:17,s),d(2),S(i.bottomPanelEnabled()?18:-1),d(),S((a=i.toast())?19:-1,a),d(),S(i.gitOpen()?20:-1)}},dependencies:[yf,_f,vf,bf,xf,wf,Cf,Lp,Fp,Xp,ef,Ap,Rp,lf,sf,Jp,uf,Sn,Ju,ep],styles:[`[_nghost-%COMP%]{display:block;height:100%}.shell[_ngcontent-%COMP%]{position:relative;display:grid;grid-template-columns:var(--%NS%morse-nav-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;overflow:hidden;background:var(--%NS%morse-bg)}.nav[_ngcontent-%COMP%]{min-width:0}.shell.with-git[_ngcontent-%COMP%]{grid-template-columns:var(--%NS%morse-nav-width) minmax(0,1fr) var(--%NS%morse-git-width)}.git-panel[_ngcontent-%COMP%]{min-width:0}.shell.git-expanded[_ngcontent-%COMP%]{grid-template-columns:var(--%NS%morse-nav-width) minmax(0,1fr)}.shell.git-expanded[_ngcontent-%COMP%] .chat[_ngcontent-%COMP%]{display:none}.chat.bottom-full[_ngcontent-%COMP%] > morse-chat-header[_ngcontent-%COMP%], .chat.bottom-full[_ngcontent-%COMP%] > morse-tab-strip[_ngcontent-%COMP%], .chat.bottom-full[_ngcontent-%COMP%] > morse-file-preview[_ngcontent-%COMP%], .chat.bottom-full[_ngcontent-%COMP%] > morse-chat-transcript[_ngcontent-%COMP%], .chat.bottom-full[_ngcontent-%COMP%] > morse-interaction-panel[_ngcontent-%COMP%], .chat.bottom-full[_ngcontent-%COMP%] > morse-chat-composer[_ngcontent-%COMP%]{display:none}@media(min-width:760px){.nav[_ngcontent-%COMP%]{width:var(--%NS%morse-nav-width)}.shell[_ngcontent-%COMP%]{transition:grid-template-columns .16s ease}.shell.collapsed[_ngcontent-%COMP%]{grid-template-columns:0 minmax(0,1fr)}.shell.collapsed.with-git[_ngcontent-%COMP%]{grid-template-columns:0 minmax(0,1fr) var(--%NS%morse-git-width)}.shell.collapsed.git-expanded[_ngcontent-%COMP%]{grid-template-columns:0 minmax(0,1fr)}.shell.collapsed[_ngcontent-%COMP%] .nav[_ngcontent-%COMP%]{visibility:hidden}}@media(prefers-reduced-motion:reduce){.shell[_ngcontent-%COMP%]{transition:none}}.chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.dropzone[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none;background:color-mix(in srgb,var(--%NS%morse-accent) 12%,transparent);border:2px dashed color-mix(in srgb,var(--%NS%morse-accent) 70%,transparent);border-radius:var(--%NS%morse-radius-md);animation:_ngcontent-%COMP%_dropzone-in .14s ease-out}.dropzone-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:320px;padding:14px 18px;border:1px solid var(--%NS%morse-accent);border-radius:var(--%NS%morse-radius-lg);background:var(--%NS%morse-panel, var(--%NS%morse-bg));color:var(--%NS%morse-fg);box-shadow:0 8px 24px #0000004d;text-align:center;font-size:12px}.dropzone-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:13px}.dropzone-card[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:var(--%NS%morse-font-mono);font-size:11px;padding:0 4px;border-radius:var(--%NS%morse-radius-sm);background:var(--%NS%morse-hover)}.dropzone-icon[_ngcontent-%COMP%]{font-size:18px;color:var(--%NS%morse-accent)}.dropzone-ring[_ngcontent-%COMP%]{position:absolute;inset:6px;border:2px dashed color-mix(in srgb,var(--%NS%morse-accent) 45%,transparent);border-radius:var(--%NS%morse-radius-md);pointer-events:none}@keyframes _ngcontent-%COMP%_dropzone-in{0%{opacity:0}}.scrim[_ngcontent-%COMP%]{display:none}.notify-prompt[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:none;padding:7px 12px;border-bottom:1px solid var(--%NS%morse-border);background:color-mix(in srgb,var(--%NS%morse-accent) 8%,transparent);color:var(--%NS%morse-fg);font-size:12.5px}.notify-glyph[_ngcontent-%COMP%]{flex:none;display:inline-flex;color:var(--%NS%morse-fg-muted)}.notify-glyph[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.notify-text[_ngcontent-%COMP%]{flex:1;min-width:0}.notify-on[_ngcontent-%COMP%]{padding:0;border:0;background:transparent;color:var(--%NS%morse-accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.notify-dismiss[_ngcontent-%COMP%]{flex:none;padding:2px 6px;border:0;background:transparent;color:var(--%NS%morse-fg-muted);font-size:15px;line-height:1;cursor:pointer}.notify-dismiss[_ngcontent-%COMP%]:hover{color:var(--%NS%morse-fg)}.notify-off[_ngcontent-%COMP%]{flex:none;padding:3px 10px;border:1px solid var(--%NS%morse-border);border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);font:inherit;font-size:12px;cursor:pointer}.notify-off[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.alert[_ngcontent-%COMP%]{margin:10px;padding:10px 12px;border:1px solid var(--%NS%morse-error);border-radius:var(--%NS%morse-radius-md);background:var(--%NS%morse-hover);display:flex;flex-direction:column;gap:8px}.alert[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;color:var(--%NS%morse-fg-muted)}.alert.offline[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--%NS%morse-warn) 55%,var(--%NS%morse-border))}.actions[_ngcontent-%COMP%]{display:flex;gap:6px;flex-wrap:wrap}.toast[_ngcontent-%COMP%]{position:absolute;z-index:30;top:10px;right:10px;max-width:min(420px,calc(100% - 20px));display:flex;align-items:flex-start;gap:6px;padding:8px 8px 8px 10px;border-radius:var(--%NS%morse-radius-md);border-left:3px solid var(--%NS%morse-info);background:var(--%NS%morse-panel, var(--%NS%morse-badge-bg));color:var(--%NS%morse-fg);box-shadow:0 8px 24px #0000004d;animation:_ngcontent-%COMP%_toast-in .16s ease-out}.toast-text[_ngcontent-%COMP%]{flex:1;min-width:0;white-space:pre-wrap;font-size:12px;line-height:1.45}.toast-close[_ngcontent-%COMP%]{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg-muted);font-size:14px;line-height:1;cursor:pointer}.toast-close[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover);color:var(--%NS%morse-fg)}.toast.warn[_ngcontent-%COMP%]{border-color:var(--%NS%morse-warn)}.toast.error[_ngcontent-%COMP%]{border-color:var(--%NS%morse-error)}.toast.success[_ngcontent-%COMP%]{border-color:var(--%NS%morse-success)}@keyframes _ngcontent-%COMP%_toast-in{0%{opacity:0;transform:translateY(-6px)}}@media(max-width:759px){.shell[_ngcontent-%COMP%], .shell.with-git[_ngcontent-%COMP%], .shell.git-expanded[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}.shell.git-expanded[_ngcontent-%COMP%] .git-panel[_ngcontent-%COMP%]{position:static;width:auto;box-shadow:none}.shell[_ngcontent-%COMP%] > .git-panel[_ngcontent-%COMP%]{position:absolute;z-index:20;top:0;bottom:0;right:0;width:min(86%,340px);box-shadow:0 0 24px #00000059}.nav[_ngcontent-%COMP%]{position:absolute;z-index:20;top:0;bottom:0;left:0;width:min(86%,320px);transform:translate(-102%);transition:transform .16s ease;box-shadow:0 0 24px #00000059}.nav.open[_ngcontent-%COMP%]{transform:none}.scrim[_ngcontent-%COMP%]{display:block;position:absolute;z-index:10;inset:0;border:0;padding:0;background:#00000059}.scrim[_ngcontent-%COMP%]:hover, .scrim[_ngcontent-%COMP%]:active{background:#00000059}}`]})},gC).catch(n=>console.error(n));export{t as n,r as t};
|