@supanadit/morse-web 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,28 @@
1
- var NE=Object.create;var rc=Object.defineProperty,DE=Object.defineProperties,OE=Object.getOwnPropertyDescriptor,PE=Object.getOwnPropertyDescriptors,AE=Object.getOwnPropertyNames,wh=Object.getOwnPropertySymbols,RE=Object.getPrototypeOf,Th=Object.prototype.hasOwnProperty,LE=Object.prototype.propertyIsEnumerable;var Sh=(t,e,n)=>e in t?rc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,H=(t,e)=>{for(var n in e||={})Th.call(e,n)&&Sh(t,n,e[n]);if(wh)for(var n of wh(e))LE.call(e,n)&&Sh(t,n,e[n]);return t},X=(t,e)=>DE(t,PE(e));var FE=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},Mh=(t,e)=>{for(var n in e)rc(t,n,{get:e[n],enumerable:!0})},jE=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of AE(e))!Th.call(t,r)&&r!==n&&rc(t,r,{get:()=>e[r],enumerable:!(o=OE(e,r))||o.enumerable});return t};var VE=(t,e,n)=>(n=t!=null?NE(RE(t)):{},jE(e||!t||!t.__esModule?rc(n,"default",{value:t,enumerable:!0}):n,t));var ix=FE((QG,rx)=>{function Gb(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],o=typeof n;(o==="object"||o==="function")&&!Object.isFrozen(n)&&Gb(n)}),t}var Od=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Wb(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Tr(t,...e){let n=Object.create(null);for(let o in t)n[o]=t[o];return e.forEach(function(o){for(let r in o)n[r]=o[r]}),n}var VN="</span>",$b=t=>!!t.scope,$N=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((o,r)=>`${o}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},Gm=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=Wb(e)}openNode(e){if(!$b(e))return;let n=$N(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){$b(e)&&(this.buffer+=VN)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},Hb=(t={})=>{let e={children:[]};return Object.assign(e,t),e},Wm=class t{constructor(){this.rootNode=Hb(),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 n=Hb({scope:e});this.add(n),this.stack.push(n)}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,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(o=>this._walk(e,o)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},Ym=class extends Wm{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let o=e.root;n&&(o.scope=`language:${n}`),this.add(o)}toHTML(){return new Gm(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ha(t){return t?typeof t=="string"?t:t.source:null}function Yb(t){return vi("(?=",t,")")}function HN(t){return vi("(?:",t,")*")}function BN(t){return vi("(?:",t,")?")}function vi(...t){return t.map(n=>Ha(n)).join("")}function UN(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function Ad(...t){return"("+(UN(t).capture?"":"?:")+t.map(o=>Ha(o)).join("|")+")"}function Zb(t){return new RegExp(t.toString()+"|").exec("").length-1}function zN(t,e){let n=t&&t.exec(e);return n&&n.index===0}var qN=new RegExp(Ad(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Km(t,{joinWith:e}){let n=0;return t.map(o=>{n+=1;let r=n,i=Ha(o),s="";for(;i.length>0;){let a=qN.exec(i);if(!a){s+=i;break}s+=i.substring(0,a.index),i=i.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+r):(s+=a[0],(a[0]==="("||/^\(\?[<']/.test(a[0]))&&n++)}return s}).map(o=>`(${o})`).join(e)}var GN=/\b\B/,Kb="[a-zA-Z]\\w*",Qm="[a-zA-Z_]\\w*",Qb="\\b\\d+(\\.\\d+)?",Xb="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Jb="\\b(0b[01]+)",WN="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",YN=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=vi(e,/.*\b/,t.binary,/\b.*/)),Tr({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,o)=>{n.index!==0&&o.ignoreMatch()}},t)},Ba={begin:"\\\\[\\s\\S]",relevance:0},ZN={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ba]},KN={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ba]},QN={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/},Rd=function(t,e,n={}){let o=Tr({scope:"comment",begin:t,end:e,contains:[]},n);o.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 r=Ad("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 o.contains.push({begin:vi(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),o},XN=Rd("//","$"),JN=Rd("/\\*","\\*/"),eD=Rd("#","$"),tD={scope:"number",begin:Qb,relevance:0},nD={scope:"number",begin:Xb,relevance:0},oD={scope:"number",begin:Jb,relevance:0},rD={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ba,{begin:/\[/,end:/\]/,relevance:0,contains:[Ba]}]},iD={scope:"title",begin:Kb,relevance:0},sD={scope:"title",begin:Qm,relevance:0},aD={begin:"\\.\\s*"+Qm,relevance:0},cD=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},Dd=Object.freeze({__proto__:null,APOS_STRING_MODE:ZN,BACKSLASH_ESCAPE:Ba,BINARY_NUMBER_MODE:oD,BINARY_NUMBER_RE:Jb,COMMENT:Rd,C_BLOCK_COMMENT_MODE:JN,C_LINE_COMMENT_MODE:XN,C_NUMBER_MODE:nD,C_NUMBER_RE:Xb,END_SAME_AS_BEGIN:cD,HASH_COMMENT_MODE:eD,IDENT_RE:Kb,MATCH_NOTHING_RE:GN,METHOD_GUARD:aD,NUMBER_MODE:tD,NUMBER_RE:Qb,PHRASAL_WORDS_MODE:QN,QUOTE_STRING_MODE:KN,REGEXP_MODE:rD,RE_STARTERS_RE:WN,SHEBANG:YN,TITLE_MODE:iD,UNDERSCORE_IDENT_RE:Qm,UNDERSCORE_TITLE_MODE:sD});function lD(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function dD(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function uD(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=lD,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function pD(t,e){Array.isArray(t.illegal)&&(t.illegal=Ad(...t.illegal))}function fD(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function mD(t,e){t.relevance===void 0&&(t.relevance=1)}var hD=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(o=>{delete t[o]}),t.keywords=n.keywords,t.begin=vi(n.beforeMatch,Yb(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},gD=["of","and","for","in","not","or","if","then","parent","list","value"],yD="keyword";function ex(t,e,n=yD){let o=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(i){Object.assign(o,ex(t[i],e,i))}),o;function r(i,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");o[c[0]]=[i,vD(c[0],c[1])]})}}function vD(t,e){return e?Number(e):_D(t)?0:1}function _D(t){return gD.includes(t.toLowerCase())}var Bb={},yi=t=>{console.error(t)},Ub=(t,...e)=>{console.log(`WARN: ${t}`,...e)},ys=(t,e)=>{Bb[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Bb[`${t}/${e}`]=!0)},Pd=new Error;function tx(t,e,{key:n}){let o=0,r=t[n],i={},s={};for(let a=1;a<=e.length;a++)s[a+o]=r[a],i[a+o]=!0,o+=Zb(e[a-1]);t[n]=s,t[n]._emit=i,t[n]._multi=!0}function bD(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw yi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Pd;if(typeof t.beginScope!="object"||t.beginScope===null)throw yi("beginScope must be object"),Pd;tx(t,t.begin,{key:"beginScope"}),t.begin=Km(t.begin,{joinWith:""})}}function xD(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw yi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Pd;if(typeof t.endScope!="object"||t.endScope===null)throw yi("endScope must be object"),Pd;tx(t,t.end,{key:"endScope"}),t.end=Km(t.end,{joinWith:""})}}function ED(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function CD(t){ED(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),bD(t),xD(t)}function wD(t){function e(s,a){return new RegExp(Ha(s),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=Zb(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(Km(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let l=c.findIndex((u,h)=>h>0&&u!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class o{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 c=new n;return this.rules.slice(a).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(a);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(a)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(s){let a=new o;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function i(s,a){let c=s;if(s.isCompiled)return c;[dD,fD,CD,hD].forEach(d=>d(s,a)),t.compilerExtensions.forEach(d=>d(s,a)),s.__beforeBegin=null,[uD,pD,mD].forEach(d=>d(s,a)),s.isCompiled=!0;let l=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=ex(s.keywords,t.case_insensitive)),c.keywordPatternRe=e(l,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ha(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return SD(d==="self"?s:d)})),s.contains.forEach(function(d){i(d,c)}),s.starts&&i(s.starts,a),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Tr(t.classNameAliases||{}),i(t)}function nx(t){return t?t.endsWithParent||nx(t.starts):!1}function SD(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Tr(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:nx(t)?Tr(t,{starts:t.starts?Tr(t.starts):null}):Object.isFrozen(t)?Tr(t):t}var TD="11.12.0",Zm=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},qm=Wb,zb=Tr,qb=Symbol("nomatch"),MD=7,ox=function(t){let e=Object.create(null),n=Object.create(null),o=[],r=!0,i="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:Ym};function c(D){return a.noHighlightRe.test(D)}function l(D){let Y=D.className+" ";Y+=D.parentNode?D.parentNode.className:"";let U=a.languageDetectRe.exec(Y);if(U){let P=Pe(U[1]);return P||(Ub(i.replace("{}",U[1])),Ub("Falling back to no-highlight mode for this block.",D)),P?U[1]:"no-highlight"}return Y.split(/\s+/).find(P=>c(P)||Pe(P))}function d(D,Y,U){let P="",J="";typeof Y=="object"?(P=D,U=Y.ignoreIllegals,J=Y.language):(ys("10.7.0","highlight(lang, code, ...args) has been deprecated."),ys("10.7.0",`Please use highlight(code, options) instead.
2
- https://github.com/highlightjs/highlight.js/issues/2277`),J=D,P=Y),U===void 0&&(U=!0);let ke={code:P,language:J};Xe("before:highlight",ke);let Je=ke.result?ke.result:u(ke.language,ke.code,U);return Je.code=ke.code,Xe("after:highlight",Je),Je}function u(D,Y,U,P){let J=Object.create(null);function ke(R,V){return R.keywords[V]}function Je(){if(!G.keywords){Ke.addText(ne);return}let R=0;G.keywordPatternRe.lastIndex=0;let V=G.keywordPatternRe.exec(ne),Q="";for(;V;){Q+=ne.substring(R,V.index);let re=nt.case_insensitive?V[0].toLowerCase():V[0],lt=ke(G,re);if(lt){let[xt,Un]=lt;if(Ke.addText(Q),Q="",J[re]=(J[re]||0)+1,J[re]<=MD&&(vt+=Un),xt.startsWith("_"))Q+=V[0];else{let pn=nt.classNameAliases[xt]||xt;gt(V[0],pn)}}else Q+=V[0];R=G.keywordPatternRe.lastIndex,V=G.keywordPatternRe.exec(ne)}Q+=ne.substring(R),Ke.addText(Q)}function Ft(){if(ne==="")return;let R=null;if(typeof G.subLanguage=="string"){if(!e[G.subLanguage]){Ke.addText(ne);return}R=u(G.subLanguage,ne,!0,mt[G.subLanguage]),mt[G.subLanguage]=R._top}else R=g(ne,G.subLanguage.length?G.subLanguage:null);G.relevance>0&&(vt+=R.relevance),Ke.__addSublanguage(R._emitter,R.language)}function de(){G.subLanguage!=null?Ft():Je(),ne=""}function gt(R,V){R!==""&&(Ke.startScope(V),Ke.addText(R),Ke.endScope())}function $e(R,V){let Q=1,re=V.length-1;for(;Q<=re;){if(!R._emit[Q]){Q++;continue}let lt=nt.classNameAliases[R[Q]]||R[Q],xt=V[Q];lt?gt(xt,lt):(ne=xt,Je(),ne=""),Q++}}function tn(R,V){return R.scope&&typeof R.scope=="string"&&Ke.openNode(nt.classNameAliases[R.scope]||R.scope),R.beginScope&&(R.beginScope._wrap?(gt(ne,nt.classNameAliases[R.beginScope._wrap]||R.beginScope._wrap),ne=""):R.beginScope._multi&&($e(R.beginScope,V),ne="")),G=Object.create(R,{parent:{value:G}}),G}function jt(R,V,Q){let re=zN(R.endRe,Q);if(re){if(R["on:end"]){let lt=new Od(R);R["on:end"](V,lt),lt.isMatchIgnored&&(re=!1)}if(re){for(;R.endsParent&&R.parent;)R=R.parent;return R}}if(R.endsWithParent)return jt(R.parent,V,Q)}function We(R){return G.matcher.regexIndex===0?(ne+=R[0],1):(He=!0,0)}function Bt(R){let V=R[0],Q=R.rule,re=new Od(Q),lt=[Q.__beforeBegin,Q["on:begin"]];for(let xt of lt)if(xt&&(xt(R,re),re.isMatchIgnored))return We(V);return Q.skip?ne+=V:(Q.excludeBegin&&(ne+=V),de(),!Q.returnBegin&&!Q.excludeBegin&&(ne=V)),tn(Q,R),Q.returnBegin?0:V.length}function Ot(R){let V=R[0],Q=Y.substring(R.index),re=jt(G,R,Q);if(!re)return qb;let lt=G;G.endScope&&G.endScope._wrap?(de(),gt(V,G.endScope._wrap)):G.endScope&&G.endScope._multi?(de(),$e(G.endScope,R)):lt.skip?ne+=V:(lt.returnEnd||lt.excludeEnd||(ne+=V),de(),lt.excludeEnd&&(ne=V));do G.scope&&Ke.closeNode(),!G.skip&&!G.subLanguage&&(vt+=G.relevance),G=G.parent;while(G!==re.parent);return re.starts&&tn(re.starts,R),lt.returnEnd?0:V.length}function Ie(){let R=[];for(let V=G;V!==nt;V=V.parent)V.scope&&R.unshift(V.scope);R.forEach(V=>Ke.openNode(V))}let ze={};function _e(R,V){let Q=V&&V[0];if(ne+=R,Q==null)return de(),0;if(ze.type==="begin"&&V.type==="end"&&ze.index===V.index&&Q===""){if(ne+=Y.slice(V.index,V.index+1),!r){let re=new Error(`0 width match regex (${D})`);throw re.languageName=D,re.badRule=ze.rule,re}return 1}if(ze=V,V.type==="begin")return Bt(V);if(V.type==="illegal"&&!U){let re=new Error('Illegal lexeme "'+Q+'" for mode "'+(G.scope||"<unnamed>")+'"');throw re.mode=G,re}else if(V.type==="end"){let re=Ot(V);if(re!==qb)return re}if(V.type==="illegal"&&Q==="")return V.index===Y.length||(ne+=`
3
- `),1;if(it>1e5&&it>V.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ne+=Q,Q.length}let nt=Pe(D);if(!nt)throw yi(i.replace("{}",D)),new Error('Unknown language: "'+D+'"');let oe=wD(nt),st="",G=P||oe,mt={},Ke=new a.__emitter(a);Ie();let ne="",vt=0,ue=0,it=0,He=!1;try{if(nt.__emitTokens)nt.__emitTokens(Y,Ke);else{for(G.matcher.considerAll();;){it++,He?He=!1:G.matcher.considerAll(),G.matcher.lastIndex=ue;let R=G.matcher.exec(Y);if(!R)break;let V=Y.substring(ue,R.index),Q=_e(V,R);ue=R.index+Q}_e(Y.substring(ue))}return Ke.finalize(),st=Ke.toHTML(),{language:D,value:st,relevance:vt,illegal:!1,_emitter:Ke,_top:G}}catch(R){if(R.message&&R.message.includes("Illegal"))return{language:D,value:qm(Y),illegal:!0,relevance:0,_illegalBy:{message:R.message,index:ue,context:Y.slice(ue-100,ue+100),mode:R.mode,resultSoFar:st},_emitter:Ke};if(r)return{language:D,value:qm(Y),illegal:!1,relevance:0,errorRaised:R,_emitter:Ke,_top:G};throw R}}function h(D){let Y={value:qm(D),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return Y._emitter.addText(D),Y}function g(D,Y){Y=Y||a.languages||Object.keys(e);let U=h(D),P=Y.filter(Pe).filter(ct).map(de=>u(de,D,!1));P.unshift(U);let J=P.sort((de,gt)=>{if(de.relevance!==gt.relevance)return gt.relevance-de.relevance;if(de.language&&gt.language){if(Pe(de.language).supersetOf===gt.language)return 1;if(Pe(gt.language).supersetOf===de.language)return-1}return 0}),[ke,Je]=J,Ft=ke;return Ft.secondBest=Je,Ft}function _(D,Y,U){let P=Y&&n[Y]||U;D.classList.add("hljs"),D.classList.add(`language-${P}`)}function C(D){let Y=null,U=l(D);if(c(U))return;if(Xe("before:highlightElement",{el:D,language:U}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.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(D)),a.throwUnescapedHTML))throw new Zm("One of your code blocks includes unescaped HTML.",D.innerHTML);Y=D;let P=Y.textContent,J=U?d(P,{language:U,ignoreIllegals:!0}):g(P);D.innerHTML=J.value,D.dataset.highlighted="yes",_(D,U,J.language),D.result={language:J.language,re:J.relevance,relevance:J.relevance},J.secondBest&&(D.secondBest={language:J.secondBest.language,relevance:J.secondBest.relevance}),Xe("after:highlightElement",{el:D,result:J,text:P})}function O(D){a=zb(a,D)}let W=()=>{ce(),ys("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function q(){ce(),ys("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let he=!1;function ce(){function D(){ce()}if(document.readyState==="loading"){he||window.addEventListener("DOMContentLoaded",D,!1),he=!0;return}document.querySelectorAll(a.cssSelector).forEach(C)}function ve(D,Y){let U=null;try{U=Y(t)}catch(P){if(yi("Language definition for '{}' could not be registered.".replace("{}",D)),r)yi(P);else throw P;U=s}U.name||(U.name=D),e[D]=U,U.rawDefinition=Y.bind(null,t),U.aliases&&je(U.aliases,{languageName:D})}function ie(D){delete e[D];for(let Y of Object.keys(n))n[Y]===D&&delete n[Y]}function Qe(){return Object.keys(e)}function Pe(D){return D=(D||"").toLowerCase(),e[D]||e[n[D]]}function je(D,{languageName:Y}){typeof D=="string"&&(D=[D]),D.forEach(U=>{n[U.toLowerCase()]=Y})}function ct(D){let Y=Pe(D);return Y&&!Y.disableAutodetect}function bt(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=Y=>{D["before:highlightBlock"](Object.assign({block:Y.el},Y))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=Y=>{D["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function Dt(D){bt(D),o.push(D)}function St(D){let Y=o.indexOf(D);Y!==-1&&o.splice(Y,1)}function Xe(D,Y){let U=D;o.forEach(function(P){P[U]&&P[U](Y)})}function pe(D){return ys("10.7.0","highlightBlock will be removed entirely in v12.0"),ys("10.7.0","Please use highlightElement now."),C(D)}Object.assign(t,{highlight:d,highlightAuto:g,highlightAll:ce,highlightElement:C,highlightBlock:pe,configure:O,initHighlighting:W,initHighlightingOnLoad:q,registerLanguage:ve,unregisterLanguage:ie,listLanguages:Qe,getLanguage:Pe,registerAliases:je,autoDetection:ct,inherit:zb,addPlugin:Dt,removePlugin:St}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=TD,t.regex={concat:vi,lookahead:Yb,either:Ad,optional:BN,anyNumberOfTimes:HN};for(let D in Dd)typeof Dd[D]=="object"&&Gb(Dd[D]);return Object.assign(t,Dd),t},vs=ox({});vs.newInstance=()=>ox({});rx.exports=vs;vs.HighlightJS=vs;vs.default=vs});var vn=null,ic=!1,Dr=1,$E=null,cn=Symbol("SIGNAL");function ae(t){let e=vn;return vn=t,e}function lc(){return vn}var Pr={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 Ar(t){if(ic)throw new Error("");if(vn===null)return;vn.consumerOnSignalRead(t);let e=vn.producersTail;if(e!==void 0&&e.producer===t)return;let n,o=vn.recomputing;if(o&&(n=e!==void 0?e.nextProducer:vn.producers,n!==void 0&&n.producer===t)){vn.producersTail=n,n.lastReadVersion=t.version,n.knownValidAtEpoch=Dr;return}let r=t.consumersTail;if(r!==void 0&&r.consumer===vn&&(!o||r.knownValidAtEpoch===Dr))return;let i=ki(vn),s={producer:t,consumer:vn,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:Dr,lastReadVersion:t.version,nextConsumer:void 0};vn.producersTail=s,e!==void 0?e.nextProducer=s:vn.producers=s,i&&Dh(t,s)}function Ih(){Dr++}function ks(t){if(!(ki(t)&&!t.dirty)&&!(!t.dirty&&t.lastCleanEpoch===Dr)){if(!t.producerMustRecompute(t)&&!Ns(t)){cc(t);return}t.producerRecomputeValue(t),cc(t)}}function pu(t){if(t.consumers===void 0)return;let e=ic;ic=!0;try{for(let n=t.consumers;n!==void 0;n=n.nextConsumer){let o=n.consumer;o.dirty||HE(o)}}finally{ic=e}}function fu(){return vn?.consumerAllowSignalWrites!==!1}function HE(t){t.dirty=!0,pu(t),t.consumerMarkedDirty?.(t)}function cc(t){t.dirty=!1,t.lastCleanEpoch=Dr}function Rr(t){return t&&kh(t),ae(t)}function kh(t){if(t.producersTail?.knownValidAtEpoch===Dr){let e=t.producers;for(;e!==void 0;)e.knownValidAtEpoch=null,e=e.nextProducer}t.producersTail=void 0,t.recomputing=!0}function Ii(t,e){ae(e),t&&Nh(t)}function Nh(t){t.recomputing=!1;let e=t.producersTail,n=e!==void 0?e.nextProducer:t.producers;if(n!==void 0){if(ki(t))do n=mu(n);while(n!==void 0);e!==void 0?e.nextProducer=void 0:t.producers=void 0}}function Ns(t){for(let e=t.producers;e!==void 0;e=e.nextProducer){let n=e.producer,o=e.lastReadVersion;if(o!==n.version||(ks(n),o!==n.version))return!0}return!1}function Lr(t){if(ki(t)){let e=t.producers;for(;e!==void 0;)e=mu(e)}t.producers=void 0,t.producersTail=void 0,t.consumers=void 0,t.consumersTail=void 0}function Dh(t,e){let n=t.consumersTail,o=ki(t);if(n!==void 0?(e.nextConsumer=n.nextConsumer,n.nextConsumer=e):(e.nextConsumer=void 0,t.consumers=e),e.prevConsumer=n,t.consumersTail=e,!o)for(let r=t.producers;r!==void 0;r=r.nextProducer)Dh(r.producer,r)}function mu(t){let e=t.producer,n=t.nextProducer,o=t.nextConsumer,r=t.prevConsumer;if(t.nextConsumer=void 0,t.prevConsumer=void 0,o!==void 0?o.prevConsumer=r:e.consumersTail=r,r!==void 0)r.nextConsumer=o;else if(e.consumers=o,!ki(e)){let i=e.producers;for(;i!==void 0;)i=mu(i)}return n}function ki(t){return t.consumerIsAlwaysLive||t.consumers!==void 0}function dc(t){$E?.(t)}function uc(t,e){return Object.is(t,e)}function Ds(t,e){let n=Object.create(BE);n.computation=t,e!==void 0&&(n.equal=e);let o=()=>{if(ks(n),Ar(n),n.value===Or)throw n.error;return n.value};return o[cn]=n,dc(n),o}var sc=Symbol("UNSET"),ac=Symbol("COMPUTING"),Or=Symbol("ERRORED"),BE=X(H({},Pr),{value:sc,dirty:!0,error:null,equal:uc,kind:"computed",producerMustRecompute(t){return t.value===sc||t.value===ac},producerRecomputeValue(t){if(t.value===ac)throw new Error("");let e=t.value;t.value=ac;let n=Rr(t),o,r=!1;try{o=t.computation(),ae(null),r=e!==sc&&e!==Or&&o!==Or&&t.equal(e,o)}catch(i){o=Or,t.error=i}finally{Ii(t,n)}if(r){t.value=e;return}t.value=o,t.version++}});function UE(){throw new Error}var Oh=UE;function Ph(t){Oh(t)}function hu(t){Oh=t}var zE=null;function gu(t,e){let n=Object.create(Os);n.value=t,e!==void 0&&(n.equal=e);let o=()=>Ah(n);return o[cn]=n,dc(n),[o,s=>Fr(n,s),s=>yu(n,s)]}function Ah(t){return Ar(t),t.value}function Fr(t,e){fu()||Ph(t),t.equal(t.value,e)||(t.value=e,qE(t))}function yu(t,e){fu()||Ph(t),Fr(t,e(t.value))}var Os=X(H({},Pr),{equal:uc,value:void 0,kind:"signal"});function qE(t){t.version++,Ih(),pu(t),zE?.(t)}var vu=X(H({},Pr),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:"effect"});function _u(t){if(t.dirty=!1,t.version>0&&!Ns(t))return;t.version++;let e=Rr(t);try{t.cleanup(),t.fn()}finally{Ii(t,e)}}var bu;function pc(){return bu}function wo(t){let e=bu;return bu=t,e}var Rh=Symbol("NotFound");function Ni(t){return t===Rh||t?.name==="\u0275NotFound"}function Lh(t){let e=ae(null);try{return t()}finally{ae(e)}}function En(t){return typeof t=="function"}function fc(t){let n=t(o=>{Error.call(o),o.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var mc=fc(t=>function(n){t(this),this.message=n?`${n.length} errors occurred during unsubscription:
1
+ var LE=Object.create;var rc=Object.defineProperty,FE=Object.defineProperties,jE=Object.getOwnPropertyDescriptor,VE=Object.getOwnPropertyDescriptors,$E=Object.getOwnPropertyNames,Th=Object.getOwnPropertySymbols,HE=Object.getPrototypeOf,Ih=Object.prototype.hasOwnProperty,BE=Object.prototype.propertyIsEnumerable;var Mh=(t,e,n)=>e in t?rc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,H=(t,e)=>{for(var n in e||={})Ih.call(e,n)&&Mh(t,n,e[n]);if(Th)for(var n of Th(e))BE.call(e,n)&&Mh(t,n,e[n]);return t},Q=(t,e)=>FE(t,VE(e));var UE=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},kh=(t,e)=>{for(var n in e)rc(t,n,{get:e[n],enumerable:!0})},zE=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $E(e))!Ih.call(t,r)&&r!==n&&rc(t,r,{get:()=>e[r],enumerable:!(o=jE(e,r))||o.enumerable});return t};var qE=(t,e,n)=>(n=t!=null?LE(HE(t)):{},zE(e||!t||!t.__esModule?rc(n,"default",{value:t,enumerable:!0}):n,t));var ux=UE((NW,dx)=>{function Xb(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],o=typeof n;(o==="object"||o==="function")&&!Object.isFrozen(n)&&Xb(n)}),t}var Pd=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Jb(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Tr(t,...e){let n=Object.create(null);for(let o in t)n[o]=t[o];return e.forEach(function(o){for(let r in o)n[r]=o[r]}),n}var sD="</span>",Gb=t=>!!t.scope,aD=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((o,r)=>`${o}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},Ym=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=Jb(e)}openNode(e){if(!Gb(e))return;let n=aD(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){Gb(e)&&(this.buffer+=sD)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},Wb=(t={})=>{let e={children:[]};return Object.assign(e,t),e},Zm=class t{constructor(){this.rootNode=Wb(),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 n=Wb({scope:e});this.add(n),this.stack.push(n)}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,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(o=>this._walk(e,o)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},Km=class extends Zm{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let o=e.root;n&&(o.scope=`language:${n}`),this.add(o)}toHTML(){return new Ym(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ha(t){return t?typeof t=="string"?t:t.source:null}function ex(t){return vi("(?=",t,")")}function cD(t){return vi("(?:",t,")*")}function lD(t){return vi("(?:",t,")?")}function vi(...t){return t.map(n=>Ha(n)).join("")}function dD(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function Rd(...t){return"("+(dD(t).capture?"":"?:")+t.map(o=>Ha(o)).join("|")+")"}function tx(t){return new RegExp(t.toString()+"|").exec("").length-1}function uD(t,e){let n=t&&t.exec(e);return n&&n.index===0}var pD=new RegExp(Rd(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Xm(t,{joinWith:e}){let n=0;return t.map(o=>{n+=1;let r=n,i=Ha(o),s="";for(;i.length>0;){let a=pD.exec(i);if(!a){s+=i;break}s+=i.substring(0,a.index),i=i.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+r):(s+=a[0],(a[0]==="("||/^\(\?[<']/.test(a[0]))&&n++)}return s}).map(o=>`(${o})`).join(e)}var fD=/\b\B/,nx="[a-zA-Z]\\w*",Jm="[a-zA-Z_]\\w*",ox="\\b\\d+(\\.\\d+)?",rx="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ix="\\b(0b[01]+)",mD="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",hD=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=vi(e,/.*\b/,t.binary,/\b.*/)),Tr({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,o)=>{n.index!==0&&o.ignoreMatch()}},t)},Ba={begin:"\\\\[\\s\\S]",relevance:0},gD={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ba]},yD={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ba]},vD={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/},Ld=function(t,e,n={}){let o=Tr({scope:"comment",begin:t,end:e,contains:[]},n);o.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 r=Rd("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 o.contains.push({begin:vi(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),o},_D=Ld("//","$"),bD=Ld("/\\*","\\*/"),xD=Ld("#","$"),ED={scope:"number",begin:ox,relevance:0},CD={scope:"number",begin:rx,relevance:0},wD={scope:"number",begin:ix,relevance:0},SD={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ba,{begin:/\[/,end:/\]/,relevance:0,contains:[Ba]}]},TD={scope:"title",begin:nx,relevance:0},MD={scope:"title",begin:Jm,relevance:0},ID={begin:"\\.\\s*"+Jm,relevance:0},kD=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},Od=Object.freeze({__proto__:null,APOS_STRING_MODE:gD,BACKSLASH_ESCAPE:Ba,BINARY_NUMBER_MODE:wD,BINARY_NUMBER_RE:ix,COMMENT:Ld,C_BLOCK_COMMENT_MODE:bD,C_LINE_COMMENT_MODE:_D,C_NUMBER_MODE:CD,C_NUMBER_RE:rx,END_SAME_AS_BEGIN:kD,HASH_COMMENT_MODE:xD,IDENT_RE:nx,MATCH_NOTHING_RE:fD,METHOD_GUARD:ID,NUMBER_MODE:ED,NUMBER_RE:ox,PHRASAL_WORDS_MODE:vD,QUOTE_STRING_MODE:yD,REGEXP_MODE:SD,RE_STARTERS_RE:mD,SHEBANG:hD,TITLE_MODE:TD,UNDERSCORE_IDENT_RE:Jm,UNDERSCORE_TITLE_MODE:MD});function ND(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function DD(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function OD(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=ND,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function PD(t,e){Array.isArray(t.illegal)&&(t.illegal=Rd(...t.illegal))}function AD(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function RD(t,e){t.relevance===void 0&&(t.relevance=1)}var LD=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(o=>{delete t[o]}),t.keywords=n.keywords,t.begin=vi(n.beforeMatch,ex(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},FD=["of","and","for","in","not","or","if","then","parent","list","value"],jD="keyword";function sx(t,e,n=jD){let o=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(i){Object.assign(o,sx(t[i],e,i))}),o;function r(i,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");o[c[0]]=[i,VD(c[0],c[1])]})}}function VD(t,e){return e?Number(e):$D(t)?0:1}function $D(t){return FD.includes(t.toLowerCase())}var Yb={},yi=t=>{console.error(t)},Zb=(t,...e)=>{console.log(`WARN: ${t}`,...e)},ys=(t,e)=>{Yb[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Yb[`${t}/${e}`]=!0)},Ad=new Error;function ax(t,e,{key:n}){let o=0,r=t[n],i={},s={};for(let a=1;a<=e.length;a++)s[a+o]=r[a],i[a+o]=!0,o+=tx(e[a-1]);t[n]=s,t[n]._emit=i,t[n]._multi=!0}function HD(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw yi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ad;if(typeof t.beginScope!="object"||t.beginScope===null)throw yi("beginScope must be object"),Ad;ax(t,t.begin,{key:"beginScope"}),t.begin=Xm(t.begin,{joinWith:""})}}function BD(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw yi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ad;if(typeof t.endScope!="object"||t.endScope===null)throw yi("endScope must be object"),Ad;ax(t,t.end,{key:"endScope"}),t.end=Xm(t.end,{joinWith:""})}}function UD(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function zD(t){UD(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),HD(t),BD(t)}function qD(t){function e(s,a){return new RegExp(Ha(s),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=tx(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(Xm(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let l=c.findIndex((f,g)=>g>0&&f!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class o{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 c=new n;return this.rules.slice(a).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(a);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(a)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(s){let a=new o;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function i(s,a){let c=s;if(s.isCompiled)return c;[DD,AD,zD,LD].forEach(d=>d(s,a)),t.compilerExtensions.forEach(d=>d(s,a)),s.__beforeBegin=null,[OD,PD,RD].forEach(d=>d(s,a)),s.isCompiled=!0;let l=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=sx(s.keywords,t.case_insensitive)),c.keywordPatternRe=e(l,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ha(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return GD(d==="self"?s:d)})),s.contains.forEach(function(d){i(d,c)}),s.starts&&i(s.starts,a),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Tr(t.classNameAliases||{}),i(t)}function cx(t){return t?t.endsWithParent||cx(t.starts):!1}function GD(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Tr(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:cx(t)?Tr(t,{starts:t.starts?Tr(t.starts):null}):Object.isFrozen(t)?Tr(t):t}var WD="11.12.0",Qm=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},Wm=Jb,Kb=Tr,Qb=Symbol("nomatch"),YD=7,lx=function(t){let e=Object.create(null),n=Object.create(null),o=[],r=!0,i="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:Km};function c(D){return a.noHighlightRe.test(D)}function l(D){let Z=D.className+" ";Z+=D.parentNode?D.parentNode.className:"";let U=a.languageDetectRe.exec(Z);if(U){let A=Pe(U[1]);return A||(Zb(i.replace("{}",U[1])),Zb("Falling back to no-highlight mode for this block.",D)),A?U[1]:"no-highlight"}return Z.split(/\s+/).find(A=>c(A)||Pe(A))}function d(D,Z,U){let A="",J="";typeof Z=="object"?(A=D,U=Z.ignoreIllegals,J=Z.language):(ys("10.7.0","highlight(lang, code, ...args) has been deprecated."),ys("10.7.0",`Please use highlight(code, options) instead.
2
+ https://github.com/highlightjs/highlight.js/issues/2277`),J=D,A=Z),U===void 0&&(U=!0);let Ne={code:A,language:J};Xe("before:highlight",Ne);let Je=Ne.result?Ne.result:f(Ne.language,Ne.code,U);return Je.code=Ne.code,Xe("after:highlight",Je),Je}function f(D,Z,U,A){let J=Object.create(null);function Ne(F,V){return F.keywords[V]}function Je(){if(!W.keywords){Ke.addText(ne);return}let F=0;W.keywordPatternRe.lastIndex=0;let V=W.keywordPatternRe.exec(ne),X="";for(;V;){X+=ne.substring(F,V.index);let re=nt.case_insensitive?V[0].toLowerCase():V[0],ut=Ne(W,re);if(ut){let[Ct,Un]=ut;if(Ke.addText(X),X="",J[re]=(J[re]||0)+1,J[re]<=YD&&(_t+=Un),Ct.startsWith("_"))X+=V[0];else{let pn=nt.classNameAliases[Ct]||Ct;gt(V[0],pn)}}else X+=V[0];F=W.keywordPatternRe.lastIndex,V=W.keywordPatternRe.exec(ne)}X+=ne.substring(F),Ke.addText(X)}function jt(){if(ne==="")return;let F=null;if(typeof W.subLanguage=="string"){if(!e[W.subLanguage]){Ke.addText(ne);return}F=f(W.subLanguage,ne,!0,mt[W.subLanguage]),mt[W.subLanguage]=F._top}else F=y(ne,W.subLanguage.length?W.subLanguage:null);W.relevance>0&&(_t+=F.relevance),Ke.__addSublanguage(F._emitter,F.language)}function ue(){W.subLanguage!=null?jt():Je(),ne=""}function gt(F,V){F!==""&&(Ke.startScope(V),Ke.addText(F),Ke.endScope())}function He(F,V){let X=1,re=V.length-1;for(;X<=re;){if(!F._emit[X]){X++;continue}let ut=nt.classNameAliases[F[X]]||F[X],Ct=V[X];ut?gt(Ct,ut):(ne=Ct,Je(),ne=""),X++}}function tn(F,V){return F.scope&&typeof F.scope=="string"&&Ke.openNode(nt.classNameAliases[F.scope]||F.scope),F.beginScope&&(F.beginScope._wrap?(gt(ne,nt.classNameAliases[F.beginScope._wrap]||F.beginScope._wrap),ne=""):F.beginScope._multi&&(He(F.beginScope,V),ne="")),W=Object.create(F,{parent:{value:W}}),W}function Vt(F,V,X){let re=uD(F.endRe,X);if(re){if(F["on:end"]){let ut=new Pd(F);F["on:end"](V,ut),ut.isMatchIgnored&&(re=!1)}if(re){for(;F.endsParent&&F.parent;)F=F.parent;return F}}if(F.endsWithParent)return Vt(F.parent,V,X)}function Ye(F){return W.matcher.regexIndex===0?(ne+=F[0],1):(Be=!0,0)}function Bt(F){let V=F[0],X=F.rule,re=new Pd(X),ut=[X.__beforeBegin,X["on:begin"]];for(let Ct of ut)if(Ct&&(Ct(F,re),re.isMatchIgnored))return Ye(V);return X.skip?ne+=V:(X.excludeBegin&&(ne+=V),ue(),!X.returnBegin&&!X.excludeBegin&&(ne=V)),tn(X,F),X.returnBegin?0:V.length}function Pt(F){let V=F[0],X=Z.substring(F.index),re=Vt(W,F,X);if(!re)return Qb;let ut=W;W.endScope&&W.endScope._wrap?(ue(),gt(V,W.endScope._wrap)):W.endScope&&W.endScope._multi?(ue(),He(W.endScope,F)):ut.skip?ne+=V:(ut.returnEnd||ut.excludeEnd||(ne+=V),ue(),ut.excludeEnd&&(ne=V));do W.scope&&Ke.closeNode(),!W.skip&&!W.subLanguage&&(_t+=W.relevance),W=W.parent;while(W!==re.parent);return re.starts&&tn(re.starts,F),ut.returnEnd?0:V.length}function ke(){let F=[];for(let V=W;V!==nt;V=V.parent)V.scope&&F.unshift(V.scope);F.forEach(V=>Ke.openNode(V))}let qe={};function be(F,V){let X=V&&V[0];if(ne+=F,X==null)return ue(),0;if(qe.type==="begin"&&V.type==="end"&&qe.index===V.index&&X===""){if(ne+=Z.slice(V.index,V.index+1),!r){let re=new Error(`0 width match regex (${D})`);throw re.languageName=D,re.badRule=qe.rule,re}return 1}if(qe=V,V.type==="begin")return Bt(V);if(V.type==="illegal"&&!U){let re=new Error('Illegal lexeme "'+X+'" for mode "'+(W.scope||"<unnamed>")+'"');throw re.mode=W,re}else if(V.type==="end"){let re=Pt(V);if(re!==Qb)return re}if(V.type==="illegal"&&X==="")return V.index===Z.length||(ne+=`
3
+ `),1;if(st>1e5&&st>V.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ne+=X,X.length}let nt=Pe(D);if(!nt)throw yi(i.replace("{}",D)),new Error('Unknown language: "'+D+'"');let oe=qD(nt),ct="",W=A||oe,mt={},Ke=new a.__emitter(a);ke();let ne="",_t=0,pe=0,st=0,Be=!1;try{if(nt.__emitTokens)nt.__emitTokens(Z,Ke);else{for(W.matcher.considerAll();;){st++,Be?Be=!1:W.matcher.considerAll(),W.matcher.lastIndex=pe;let F=W.matcher.exec(Z);if(!F)break;let V=Z.substring(pe,F.index),X=be(V,F);pe=F.index+X}be(Z.substring(pe))}return Ke.finalize(),ct=Ke.toHTML(),{language:D,value:ct,relevance:_t,illegal:!1,_emitter:Ke,_top:W}}catch(F){if(F.message&&F.message.includes("Illegal"))return{language:D,value:Wm(Z),illegal:!0,relevance:0,_illegalBy:{message:F.message,index:pe,context:Z.slice(pe-100,pe+100),mode:F.mode,resultSoFar:ct},_emitter:Ke};if(r)return{language:D,value:Wm(Z),illegal:!1,relevance:0,errorRaised:F,_emitter:Ke,_top:W};throw F}}function g(D){let Z={value:Wm(D),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return Z._emitter.addText(D),Z}function y(D,Z){Z=Z||a.languages||Object.keys(e);let U=g(D),A=Z.filter(Pe).filter(dt).map(ue=>f(ue,D,!1));A.unshift(U);let J=A.sort((ue,gt)=>{if(ue.relevance!==gt.relevance)return gt.relevance-ue.relevance;if(ue.language&&gt.language){if(Pe(ue.language).supersetOf===gt.language)return 1;if(Pe(gt.language).supersetOf===ue.language)return-1}return 0}),[Ne,Je]=J,jt=Ne;return jt.secondBest=Je,jt}function b(D,Z,U){let A=Z&&n[Z]||U;D.classList.add("hljs"),D.classList.add(`language-${A}`)}function C(D){let Z=null,U=l(D);if(c(U))return;if(Xe("before:highlightElement",{el:D,language:U}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.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(D)),a.throwUnescapedHTML))throw new Qm("One of your code blocks includes unescaped HTML.",D.innerHTML);Z=D;let A=Z.textContent,J=U?d(A,{language:U,ignoreIllegals:!0}):y(A);D.innerHTML=J.value,D.dataset.highlighted="yes",b(D,U,J.language),D.result={language:J.language,re:J.relevance,relevance:J.relevance},J.secondBest&&(D.secondBest={language:J.secondBest.language,relevance:J.secondBest.relevance}),Xe("after:highlightElement",{el:D,result:J,text:A})}function O(D){a=Kb(a,D)}let Y=()=>{ce(),ys("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function G(){ce(),ys("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ye=!1;function ce(){function D(){ce()}if(document.readyState==="loading"){ye||window.addEventListener("DOMContentLoaded",D,!1),ye=!0;return}document.querySelectorAll(a.cssSelector).forEach(C)}function _e(D,Z){let U=null;try{U=Z(t)}catch(A){if(yi("Language definition for '{}' could not be registered.".replace("{}",D)),r)yi(A);else throw A;U=s}U.name||(U.name=D),e[D]=U,U.rawDefinition=Z.bind(null,t),U.aliases&&$e(U.aliases,{languageName:D})}function ie(D){delete e[D];for(let Z of Object.keys(n))n[Z]===D&&delete n[Z]}function Qe(){return Object.keys(e)}function Pe(D){return D=(D||"").toLowerCase(),e[D]||e[n[D]]}function $e(D,{languageName:Z}){typeof D=="string"&&(D=[D]),D.forEach(U=>{n[U.toLowerCase()]=Z})}function dt(D){let Z=Pe(D);return Z&&!Z.disableAutodetect}function Et(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=Z=>{D["before:highlightBlock"](Object.assign({block:Z.el},Z))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=Z=>{D["after:highlightBlock"](Object.assign({block:Z.el},Z))})}function Ot(D){Et(D),o.push(D)}function St(D){let Z=o.indexOf(D);Z!==-1&&o.splice(Z,1)}function Xe(D,Z){let U=D;o.forEach(function(A){A[U]&&A[U](Z)})}function he(D){return ys("10.7.0","highlightBlock will be removed entirely in v12.0"),ys("10.7.0","Please use highlightElement now."),C(D)}Object.assign(t,{highlight:d,highlightAuto:y,highlightAll:ce,highlightElement:C,highlightBlock:he,configure:O,initHighlighting:Y,initHighlightingOnLoad:G,registerLanguage:_e,unregisterLanguage:ie,listLanguages:Qe,getLanguage:Pe,registerAliases:$e,autoDetection:dt,inherit:Kb,addPlugin:Ot,removePlugin:St}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=WD,t.regex={concat:vi,lookahead:ex,either:Rd,optional:lD,anyNumberOfTimes:cD};for(let D in Od)typeof Od[D]=="object"&&Xb(Od[D]);return Object.assign(t,Od),t},vs=lx({});vs.newInstance=()=>lx({});dx.exports=vs;vs.HighlightJS=vs;vs.default=vs});var vn=null,ic=!1,Dr=1,GE=null,cn=Symbol("SIGNAL");function ae(t){let e=vn;return vn=t,e}function lc(){return vn}var Pr={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 Ar(t){if(ic)throw new Error("");if(vn===null)return;vn.consumerOnSignalRead(t);let e=vn.producersTail;if(e!==void 0&&e.producer===t)return;let n,o=vn.recomputing;if(o&&(n=e!==void 0?e.nextProducer:vn.producers,n!==void 0&&n.producer===t)){vn.producersTail=n,n.lastReadVersion=t.version,n.knownValidAtEpoch=Dr;return}let r=t.consumersTail;if(r!==void 0&&r.consumer===vn&&(!o||r.knownValidAtEpoch===Dr))return;let i=ki(vn),s={producer:t,consumer:vn,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:Dr,lastReadVersion:t.version,nextConsumer:void 0};vn.producersTail=s,e!==void 0?e.nextProducer=s:vn.producers=s,i&&Ph(t,s)}function Nh(){Dr++}function ks(t){if(!(ki(t)&&!t.dirty)&&!(!t.dirty&&t.lastCleanEpoch===Dr)){if(!t.producerMustRecompute(t)&&!Ns(t)){cc(t);return}t.producerRecomputeValue(t),cc(t)}}function fu(t){if(t.consumers===void 0)return;let e=ic;ic=!0;try{for(let n=t.consumers;n!==void 0;n=n.nextConsumer){let o=n.consumer;o.dirty||WE(o)}}finally{ic=e}}function mu(){return vn?.consumerAllowSignalWrites!==!1}function WE(t){t.dirty=!0,fu(t),t.consumerMarkedDirty?.(t)}function cc(t){t.dirty=!1,t.lastCleanEpoch=Dr}function Rr(t){return t&&Dh(t),ae(t)}function Dh(t){if(t.producersTail?.knownValidAtEpoch===Dr){let e=t.producers;for(;e!==void 0;)e.knownValidAtEpoch=null,e=e.nextProducer}t.producersTail=void 0,t.recomputing=!0}function Ii(t,e){ae(e),t&&Oh(t)}function Oh(t){t.recomputing=!1;let e=t.producersTail,n=e!==void 0?e.nextProducer:t.producers;if(n!==void 0){if(ki(t))do n=hu(n);while(n!==void 0);e!==void 0?e.nextProducer=void 0:t.producers=void 0}}function Ns(t){for(let e=t.producers;e!==void 0;e=e.nextProducer){let n=e.producer,o=e.lastReadVersion;if(o!==n.version||(ks(n),o!==n.version))return!0}return!1}function Lr(t){if(ki(t)){let e=t.producers;for(;e!==void 0;)e=hu(e)}t.producers=void 0,t.producersTail=void 0,t.consumers=void 0,t.consumersTail=void 0}function Ph(t,e){let n=t.consumersTail,o=ki(t);if(n!==void 0?(e.nextConsumer=n.nextConsumer,n.nextConsumer=e):(e.nextConsumer=void 0,t.consumers=e),e.prevConsumer=n,t.consumersTail=e,!o)for(let r=t.producers;r!==void 0;r=r.nextProducer)Ph(r.producer,r)}function hu(t){let e=t.producer,n=t.nextProducer,o=t.nextConsumer,r=t.prevConsumer;if(t.nextConsumer=void 0,t.prevConsumer=void 0,o!==void 0?o.prevConsumer=r:e.consumersTail=r,r!==void 0)r.nextConsumer=o;else if(e.consumers=o,!ki(e)){let i=e.producers;for(;i!==void 0;)i=hu(i)}return n}function ki(t){return t.consumerIsAlwaysLive||t.consumers!==void 0}function dc(t){GE?.(t)}function uc(t,e){return Object.is(t,e)}function Ds(t,e){let n=Object.create(YE);n.computation=t,e!==void 0&&(n.equal=e);let o=()=>{if(ks(n),Ar(n),n.value===Or)throw n.error;return n.value};return o[cn]=n,dc(n),o}var sc=Symbol("UNSET"),ac=Symbol("COMPUTING"),Or=Symbol("ERRORED"),YE=Q(H({},Pr),{value:sc,dirty:!0,error:null,equal:uc,kind:"computed",producerMustRecompute(t){return t.value===sc||t.value===ac},producerRecomputeValue(t){if(t.value===ac)throw new Error("");let e=t.value;t.value=ac;let n=Rr(t),o,r=!1;try{o=t.computation(),ae(null),r=e!==sc&&e!==Or&&o!==Or&&t.equal(e,o)}catch(i){o=Or,t.error=i}finally{Ii(t,n)}if(r){t.value=e;return}t.value=o,t.version++}});function ZE(){throw new Error}var Ah=ZE;function Rh(t){Ah(t)}function gu(t){Ah=t}var KE=null;function yu(t,e){let n=Object.create(Os);n.value=t,e!==void 0&&(n.equal=e);let o=()=>Lh(n);return o[cn]=n,dc(n),[o,s=>Fr(n,s),s=>vu(n,s)]}function Lh(t){return Ar(t),t.value}function Fr(t,e){mu()||Rh(t),t.equal(t.value,e)||(t.value=e,QE(t))}function vu(t,e){mu()||Rh(t),Fr(t,e(t.value))}var Os=Q(H({},Pr),{equal:uc,value:void 0,kind:"signal"});function QE(t){t.version++,Nh(),fu(t),KE?.(t)}var _u=Q(H({},Pr),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:"effect"});function bu(t){if(t.dirty=!1,t.version>0&&!Ns(t))return;t.version++;let e=Rr(t);try{t.cleanup(),t.fn()}finally{Ii(t,e)}}var xu;function pc(){return xu}function wo(t){let e=xu;return xu=t,e}var Fh=Symbol("NotFound");function Ni(t){return t===Fh||t?.name==="\u0275NotFound"}function jh(t){let e=ae(null);try{return t()}finally{ae(e)}}function En(t){return typeof t=="function"}function fc(t){let n=t(o=>{Error.call(o),o.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var mc=fc(t=>function(n){t(this),this.message=n?`${n.length} errors occurred during unsubscription:
4
4
  ${n.map((o,r)=>`${r+1}) ${o.toString()}`).join(`
5
- `)}`:"",this.name="UnsubscriptionError",this.errors=n});function Ps(t,e){if(t){let n=t.indexOf(e);0<=n&&t.splice(n,1)}}var _n=class t{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:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let i of n)i.remove(this);else n.remove(this);let{initialTeardown:o}=this;if(En(o))try{o()}catch(i){e=i instanceof mc?i.errors:[i]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let i of r)try{Fh(i)}catch(s){e=e??[],s instanceof mc?e=[...e,...s.errors]:e.push(s)}}if(e)throw new mc(e)}}add(e){var n;if(e&&e!==this)if(this.closed)Fh(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}}_hasParent(e){let{_parentage:n}=this;return n===e||Array.isArray(n)&&n.includes(e)}_addParent(e){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e}_removeParent(e){let{_parentage:n}=this;n===e?this._parentage=null:Array.isArray(n)&&Ps(n,e)}remove(e){let{_finalizers:n}=this;n&&Ps(n,e),e instanceof t&&e._removeParent(this)}};_n.EMPTY=(()=>{let t=new _n;return t.closed=!0,t})();var xu=_n.EMPTY;function hc(t){return t instanceof _n||t&&"closed"in t&&En(t.remove)&&En(t.add)&&En(t.unsubscribe)}function Fh(t){En(t)?t():t.unsubscribe()}var ao={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Di={setTimeout(t,e,...n){let{delegate:o}=Di;return o?.setTimeout?o.setTimeout(t,e,...n):setTimeout(t,e,...n)},clearTimeout(t){let{delegate:e}=Di;return(e?.clearTimeout||clearTimeout)(t)},delegate:void 0};function jh(t){Di.setTimeout(()=>{let{onUnhandledError:e}=ao;if(e)e(t);else throw t})}function Eu(){}var Vh=Cu("C",void 0,void 0);function $h(t){return Cu("E",void 0,t)}function Hh(t){return Cu("N",t,void 0)}function Cu(t,e,n){return{kind:t,value:e,error:n}}var jr=null;function Oi(t){if(ao.useDeprecatedSynchronousErrorHandling){let e=!jr;if(e&&(jr={errorThrown:!1,error:null}),t(),e){let{errorThrown:n,error:o}=jr;if(jr=null,n)throw o}}else t()}function Bh(t){ao.useDeprecatedSynchronousErrorHandling&&jr&&(jr.errorThrown=!0,jr.error=t)}var Vr=class extends _n{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,hc(e)&&e.add(this)):this.destination=YE}static create(e,n,o){return new Pi(e,n,o)}next(e){this.isStopped?Su(Hh(e),this):this._next(e)}error(e){this.isStopped?Su($h(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?Su(Vh,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()}}},GE=Function.prototype.bind;function wu(t,e){return GE.call(t,e)}var Tu=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:n}=this;if(n.next)try{n.next(e)}catch(o){gc(o)}}error(e){let{partialObserver:n}=this;if(n.error)try{n.error(e)}catch(o){gc(o)}else gc(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(n){gc(n)}}},Pi=class extends Vr{constructor(e,n,o){super();let r;if(En(e)||!e)r={next:e??void 0,error:n??void 0,complete:o??void 0};else{let i;this&&ao.useDeprecatedNextContext?(i=Object.create(e),i.unsubscribe=()=>this.unsubscribe(),r={next:e.next&&wu(e.next,i),error:e.error&&wu(e.error,i),complete:e.complete&&wu(e.complete,i)}):r=e}this.destination=new Tu(r)}};function gc(t){ao.useDeprecatedSynchronousErrorHandling?Bh(t):jh(t)}function WE(t){throw t}function Su(t,e){let{onStoppedNotification:n}=ao;n&&Di.setTimeout(()=>n(t,e))}var YE={closed:!0,next:Eu,error:WE,complete:Eu};var Uh=typeof Symbol=="function"&&Symbol.observable||"@@observable";function zh(t){return t}function qh(t){return t.length===0?zh:t.length===1?t[0]:function(n){return t.reduce((o,r)=>r(o),n)}}var So=class t{constructor(e){e&&(this._subscribe=e)}lift(e){let n=new t;return n.source=this,n.operator=e,n}subscribe(e,n,o){let r=KE(e)?e:new Pi(e,n,o);return Oi(()=>{let{operator:i,source:s}=this;r.add(i?i.call(r,s):s?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(n){e.error(n)}}forEach(e,n){return n=Gh(n),new n((o,r)=>{let i=new Pi({next:s=>{try{e(s)}catch(a){r(a),i.unsubscribe()}},error:r,complete:o});this.subscribe(i)})}_subscribe(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)}[Uh](){return this}pipe(...e){return qh(e)(this)}toPromise(e){return e=Gh(e),new e((n,o)=>{let r;this.subscribe(i=>r=i,i=>o(i),()=>n(r))})}};So.create=t=>new So(t);function Gh(t){var e;return(e=t??ao.Promise)!==null&&e!==void 0?e:Promise}function ZE(t){return t&&En(t.next)&&En(t.error)&&En(t.complete)}function KE(t){return t&&t instanceof Vr||ZE(t)&&hc(t)}function QE(t){return En(t?.lift)}function Wh(t){return e=>{if(QE(e))return e.lift(function(n){try{return t(n,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function Yh(t,e,n,o,r){return new Mu(t,e,n,o,r)}var Mu=class extends Vr{constructor(e,n,o,r,i,s){super(e),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(c){e.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){e.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=o?function(){try{o()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:n}=this;super.unsubscribe(),!n&&((e=this.onFinalize)===null||e===void 0||e.call(this))}}};var Zh=fc(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var qn=class extends So{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let n=new yc(this,this);return n.operator=e,n}_throwIfClosed(){if(this.closed)throw new Zh}next(e){Oi(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let n of this.currentObservers)n.next(e)}})}error(e){Oi(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:n}=this;for(;n.length;)n.shift().error(e)}})}complete(){Oi(()=>{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:n,isStopped:o,observers:r}=this;return n||o?xu:(this.currentObservers=null,r.push(e),new _n(()=>{this.currentObservers=null,Ps(r,e)}))}_checkFinalizedStatuses(e){let{hasError:n,thrownError:o,isStopped:r}=this;n?e.error(o):r&&e.complete()}asObservable(){let e=new So;return e.source=this,e}};qn.create=(t,e)=>new yc(t,e);var yc=class extends qn{constructor(e,n){super(),this.destination=e,this.source=n}next(e){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,e)}error(e){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,e)}complete(){var e,n;(n=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||n===void 0||n.call(e)}_subscribe(e){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(e))!==null&&o!==void 0?o:xu}};var As=class extends qn{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){let n=super._subscribe(e);return!n.closed&&e.next(this._value),n}getValue(){let{hasError:e,thrownError:n,_value:o}=this;if(e)throw n;return this._throwIfClosed(),o}next(e){super.next(this._value=e)}};function Iu(t,e){return Wh((n,o)=>{let r=0;n.subscribe(Yh(o,i=>{o.next(t.call(e,i,r++))}))})}var Sc="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",Ce=class extends Error{code;constructor(e,n){super(Fi(e,n)),this.code=e}};function XE(t){return`NG0${Math.abs(t)}`}function Fi(t,e){return`${XE(t)}${e?": "+e:""}`}function yt(t){for(let e in t)if(t[e]===yt)return e;throw Error("")}function Tc(t){if(typeof t=="string")return t;if(Array.isArray(t))return`[${t.map(Tc).join(", ")}]`;if(t==null)return""+t;let e=t.overriddenName||t.name;if(e)return`${e}`;let n=t.toString();if(n==null)return""+n;let o=n.indexOf(`
6
- `);return o>=0?n.slice(0,o):n}function Mc(t,e){return t?e?`${t} ${e}`:t:e||""}var JE=yt({__forward_ref__:yt});function Ic(t){return t.__forward_ref__=Ic,t}function Pn(t){return tg(t)?t():t}function tg(t){return typeof t=="function"&&Object.hasOwn(t,JE)&&t.__forward_ref__===Ic}function Re(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function kc(t){return eC(t,Nc)}function eC(t,e){return Object.hasOwn(t,e)&&t[e]||null}function tC(t){let e=t?.[Nc]??null;return e||null}function Nu(t){return t&&Object.hasOwn(t,_c)?t[_c]:null}var Nc=yt({\u0275prov:yt}),_c=yt({\u0275inj:yt}),Be=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(e,n){this._desc=e,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=Re({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function qu(t){return t&&!!t.\u0275providers}var Gu=yt({\u0275cmp:yt}),Wu=yt({\u0275dir:yt}),Yu=yt({\u0275pipe:yt});var Du=yt({\u0275fac:yt}),zr=yt({__NG_ELEMENT_ID__:yt}),Kh=yt({__NG_ENV_ID__:yt});function qr(t){return Zu(t,"@Component"),t[Gu]||null}function Dc(t){return Zu(t,"@Directive"),t[Wu]||null}function ng(t){return Zu(t,"@Pipe"),t[Yu]||null}function Zu(t,e){if(t==null)throw new Ce(-919,!1)}function Gr(t){return typeof t=="string"?t:t==null?"":String(t)}var og=yt({ngErrorCode:yt}),nC=yt({ngErrorMessage:yt}),oC=yt({ngTokenPath:yt});function Ku(t,e){return rg("",-200,e)}function Oc(t,e){throw new Ce(-201,!1)}function rg(t,e,n){let o=new Ce(e,t);return o[og]=e,o[nC]=t,n&&(o[oC]=n),o}function rC(t){return t[og]}var Ou;function ig(){return Ou}function On(t){let e=Ou;return Ou=t,e}function Qu(t,e,n){let o=kc(t);if(o&&o.providedIn=="root")return o.value===void 0?o.value=o.factory():o.value;if(n&8)return null;if(e!==void 0)return e;Oc(t,"")}var lr=globalThis;var iC={},$r=iC,sC="__NG_DI_FLAG__",Pu=class{injector;constructor(e){this.injector=e}retrieve(e,n){let o=Hr(n)||0;try{return this.injector.get(e,o&8?null:$r,o)}catch(r){if(Ni(r))return r;throw r}}};function aC(t,e=0){let n=pc();if(n===void 0)throw new Ce(-203,!1);if(n===null)return Qu(t,void 0,e);{let o=cC(e),r=n.retrieve(t,o);if(Ni(r)){if(o.optional)return null;throw r}return r}}function at(t,e=0){return(ig()||aC)(Pn(t),e)}function I(t,e){return at(t,Hr(e))}function Hr(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function cC(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function Au(t){let e=[];for(let n=0;n<t.length;n++){let o=Pn(t[n]);if(Array.isArray(o)){if(o.length===0)throw new Ce(900,!1);let r,i=0;for(let s=0;s<o.length;s++){let a=o[s],c=lC(a);typeof c=="number"?c===-1?r=a.token:i|=c:r=a}e.push(at(r,i))}else e.push(at(o))}return e}function lC(t){return t[sC]}function Ri(t,e){let n=Object.hasOwn(t,Du);return n?t[Du]:null}function sg(t,e,n){if(t.length!==e.length)return!1;for(let o=0;o<t.length;o++){let r=t[o],i=e[o];if(n&&(r=n(r),i=n(i)),i!==r)return!1}return!0}function ag(t){return t.flat(Number.POSITIVE_INFINITY)}function Pc(t,e){t.forEach(n=>Array.isArray(n)?Pc(n,e):e(n))}function Xu(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function $s(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function cg(t,e,n,o){let r=t.length;if(r==e)t.push(n,o);else if(r===1)t.push(o,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;){let i=r-2;t[r]=t[i],r--}t[e]=n,t[e+1]=o}}function Ac(t,e,n){let o=ji(t,e);return o>=0?t[o|1]=n:(o=~o,cg(t,o,e,n)),o}function Rc(t,e){let n=ji(t,e);if(n>=0)return t[n|1]}function ji(t,e){return dC(t,e,1)}function dC(t,e,n){let o=0,r=t.length>>n;for(;r!==o;){let i=o+(r-o>>1),s=t[i<<n];if(e===s)return i<<n;s>e?r=i:o=i+1}return~(r<<n)}var Lc={},co=[],Wr=new Be(""),Fc=new Be("",-1),Ju=new Be(""),Li=class{get(e,n=$r){if(n===$r){let r=rg("",-201);throw r.name="\u0275NotFound",r}return n}};function Vi(t){return{\u0275providers:t}}function lg(t){return Vi([{provide:Wr,multi:!0,useValue:t}])}function dg(...t){return{\u0275providers:ep(!0,t),\u0275fromNgModule:!0}}function ep(t,...e){let n=[],o=new Set,r,i=s=>{n.push(s)};return Pc(e,s=>{let a=s;bc(a,i,[],o)&&(r||=[],r.push(a))}),r!==void 0&&ug(r,i),n}function ug(t,e){for(let n=0;n<t.length;n++){let{ngModule:o,providers:r}=t[n];tp(r,i=>{e(i,o)})}}function bc(t,e,n,o){if(t=Pn(t),!t)return!1;let r=null,i=Nu(t),s=!i&&qr(t);if(!i&&!s){let c=t.ngModule;if(i=Nu(c),i)r=c;else return!1}else{if(s&&!s.standalone)return!1;r=t}let a=o.has(r);if(s){if(a)return!1;if(o.add(r),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)bc(l,e,n,o)}}else if(i){if(i.imports!=null&&!a){o.add(r);let l;Pc(i.imports,d=>{bc(d,e,n,o)&&(l||=[],l.push(d))}),l!==void 0&&ug(l,e)}if(!a){let l=Ri(r)||(()=>new r);e({provide:r,useFactory:l,deps:co},r),e({provide:Ju,useValue:r,multi:!0},r),e({provide:Wr,useValue:()=>at(r),multi:!0},r)}let c=i.providers;if(c!=null&&!a){let l=t;tp(c,d=>{e(d,l)})}}else return!1;return r!==t&&t.providers!==void 0}function tp(t,e){for(let n of t)qu(n)&&(n=n.\u0275providers),Array.isArray(n)?tp(n,e):e(n)}var uC=yt({provide:String,useValue:yt});function pg(t){return t!==null&&typeof t=="object"&&uC in t}function pC(t){return!!(t&&t.useExisting)}function fC(t){return!!(t&&t.useFactory)}function xc(t){return typeof t=="function"}var Hs=new Be(""),vc={},Qh={},ku;function Bs(){return ku===void 0&&(ku=new Li),ku}var lo=class{},Br=class extends lo{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,n,o,r){super(),this.parent=n,this.source=o,this.scopes=r,Lu(e,s=>this.processProvider(s)),this.records.set(Fc,Ai(void 0,this)),r.has("environment")&&this.records.set(lo,Ai(void 0,this));let i=this.records.get(Hs);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Ju,co,{self:!0}))}retrieve(e,n){let o=Hr(n)||0;try{return this.get(e,$r,o)}catch(r){if(Ni(r))return r;throw r}}destroy(){Rs(this),this._destroyed=!0;let e=ae(null);try{for(let o of this._ngOnDestroyHooks)o.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let o of n)o()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),ae(e)}}onDestroy(e){return Rs(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){Rs(this);let n=wo(this),o=On(void 0),r;try{return e()}finally{wo(n),On(o)}}get(e,n=$r,o){if(Rs(this),Object.hasOwn(e,Kh))return e[Kh](this);let r=Hr(o),i,s=wo(this),a=On(void 0);try{if(!(r&4)){let l=this.records.get(e);if(l===void 0){let d=vC(e)&&kc(e);d&&this.injectableDefInScope(d)?l=Ai(Ru(e),vc):l=null,this.records.set(e,l)}if(l!=null)return this.hydrate(e,l,r)}let c=r&2?Bs():this.parent;return n=r&8&&n===$r?null:n,c.get(e,n)}catch(c){let l=rC(c);throw l===-200||l===-201?new Ce(l,null):c}finally{On(a),wo(s)}}resolveInjectorInitializers(){let e=ae(null),n=wo(this),o=On(void 0),r;try{let i=this.get(Wr,co,{self:!0});for(let s of i)s()}finally{wo(n),On(o),ae(e)}}toString(){return"R3Injector[...]"}processProvider(e){e=Pn(e);let n=xc(e)?e:Pn(e&&e.provide),o=hC(e);if(!xc(e)&&e.multi===!0){let r=this.records.get(n);r||(r=Ai(void 0,vc,!0),r.factory=()=>Au(r.multi),this.records.set(n,r)),n=e,r.multi.push(e)}this.records.set(n,o)}hydrate(e,n,o){let r=ae(null);try{if(n.value===Qh)throw Ku("");return n.value===vc&&(n.value=Qh,n.value=n.factory(void 0,o)),typeof n.value=="object"&&n.value&&yC(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{ae(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let n=Pn(e.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(e){let n=this._onDestroyHooks.indexOf(e);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Ru(t){let e=kc(t),n=e!==null?e.factory:Ri(t);if(n!==null)return n;if(t instanceof Be)throw new Ce(-204,!1);if(t instanceof Function)return mC(t);throw new Ce(-204,!1)}function mC(t){if(t.length>0)throw new Ce(-204,!1);let n=tC(t);return n!==null?()=>n.factory(t):()=>new t}function hC(t){if(pg(t))return Ai(void 0,t.useValue);{let e=fg(t);return Ai(e,vc)}}function fg(t,e,n){let o;if(xc(t)){let r=Pn(t);return Ri(r)||Ru(r)}else if(pg(t))o=()=>Pn(t.useValue);else if(fC(t))o=()=>t.useFactory(...Au(t.deps||[]));else if(pC(t))o=(r,i)=>at(Pn(t.useExisting),i!==void 0&&i&8?8:void 0);else{let r=Pn(t&&(t.useClass||t.provide));if(gC(t))o=()=>new r(...Au(t.deps));else return Ri(r)||Ru(r)}return o}function Rs(t){if(t.destroyed)throw new Ce(-205,!1)}function Ai(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function gC(t){return!!t.deps}function yC(t){return t!==null&&typeof t=="object"&&typeof t.ngOnDestroy=="function"}function vC(t){return typeof t=="function"||typeof t=="object"&&t.ngMetadataName==="InjectionToken"}function Lu(t,e){for(let n of t)Array.isArray(n)?Lu(n,e):n&&qu(n)?Lu(n.\u0275providers,e):e(n)}function jc(t,e){let n;t instanceof Br?(Rs(t),n=t):n=new Pu(t);let o,r=wo(n),i=On(void 0);try{return e()}finally{wo(r),On(i)}}function mg(){return ig()!==void 0||pc()!=null}var uo=0,le=1,fe=2,$t=3,Yn=4,wn=5,$i=6,Hi=7,Rt=8,Uo=9,po=10,kt=11,Bi=12,np=13,dr=14,An=15,ur=16,Yr=17,To=18,Us=19,op=20,$o=21,Vc=22,Ho=23,Rn=24,Zr=25,hg=26,zs=27,ln=28,gg=1,rp=6,Kr=7,qs=8,Qr=9,Lt=10;function pr(t){return Array.isArray(t)&&typeof t[gg]=="object"}function Zn(t){return Array.isArray(t)&&t[gg]===!0}function ip(t){return(t.flags&4)!==0}function fr(t){return t.componentOffset>-1}function $c(t){return(t.flags&1)===1}function Xr(t){return!!t.template}function Ui(t){return(t[fe]&512)!==0}function Jr(t){return(t[fe]&256)===256}var It=(function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t[t.ATTRIBUTE_NO_BINDING=6]="ATTRIBUTE_NO_BINDING",t})(It||{}),Ls,Ur="svg",Hc="math",Fu="",Xh="*",ju=()=>Object.create(null);function _C(){return Ls||(Ls=ju(),ar(It.HTML,void 0,[["iframe",["srcdoc"]],["*",["innerHTML","outerHTML"]]]),ar(It.STYLE,void 0,[["*",["style"]]]),ar(It.URL,void 0,[["*",["formAction"]],["area",["href"]],["a",["href","xlink:href"]],["form",["action"]],["img",["src"]],["video",["src"]]]),ar(It.URL,Hc,[["*",["href","xlink:href"]]]),ar(It.RESOURCE_URL,void 0,[["base",["href"]],["embed",["src"]],["frame",["src"]],["iframe",["src"]],["link",["href"]],["object",["codebase","data"]]]),ar(It.URL,Ur,[["a",["href","xlink:href"]]]),ar(It.ATTRIBUTE_NO_BINDING,Ur,[["animate",["attributeName","values","to","from"]],["set",["to","attributeName"]],["animateMotion",["attributeName"]],["animateTransform",["attributeName"]]]),ar(It.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"]]]),Ls)}function ar(t,e,n){let o=e??Fu;for(let[r,i]of n){let s=r.toLowerCase();for(let a of i){let c=a.toLowerCase(),l=Ls[c]??=ju(),d=l[o]??=ju();d[s]=t}}}function yg(t,e,n){let r=_C()[e.toLowerCase()];if(!r)return It.NONE;let i=t.toLowerCase(),s;if(n){let a=r[n];a&&(s=a[i]??a[Xh])}if(s===void 0){let a=r[Fu];a&&(s=a[i]??a[Xh])}if(s===void 0&&(!n||n===Fu)){let a=r[Ur];a&&(s=a[i])}return s??It.NONE}function dn(t){for(;Array.isArray(t);)t=t[uo];return t}function sp(t,e){return dn(e[t])}function Kn(t,e){return dn(e[t.index])}function Bc(t,e){return t.data[e]}function Mo(t,e){let n=e[t];return pr(n)?n:n[uo]}function Uc(t){return(t[fe]&128)===128}function vg(t){return Zn(t[$t])}function Io(t,e){return e==null?null:t[e]}function ap(t){t[Yr]=0}function cp(t){t[fe]&1024||(t[fe]|=1024,Uc(t)&&ei(t))}function _g(t,e){for(;t>0;)e=e[dr],t--;return e}function Gs(t){return!!(t[fe]&9216||t[Rn]?.dirty)}function zc(t){t[po].changeDetectionScheduler?.notify(8),t[fe]&64&&(t[fe]|=1024),Gs(t)&&ei(t)}function ei(t){t[po].changeDetectionScheduler?.notify(0);let e=Bo(t);for(;e!==null&&!(e[fe]&8192||(e[fe]|=8192,!Uc(e)));)e=Bo(e)}function qc(t,e){if(Jr(t))throw new Ce(911,!1);t[$o]===null&&(t[$o]=[]),t[$o].push(e)}function bg(t,e){if(t[$o]===null)return;let n=t[$o].indexOf(e);n!==-1&&t[$o].splice(n,1)}function Bo(t){let e=t[$t];return Zn(e)?e[$t]:e}function lp(t){return t[Hi]??=[]}function dp(t){return t.cleanup??=[]}function xg(t,e,n,o){let r=lp(e);r.push(n),t.firstCreatePass&&dp(t).push(o,r.length-1)}var Ae={lFrame:Fg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var Vu=!1;function Eg(){return Ae.lFrame.elementDepthCount}function Cg(){Ae.lFrame.elementDepthCount++}function up(){Ae.lFrame.elementDepthCount--}function wg(){return Ae.bindingsEnabled}function Sg(){return Ae.skipHydrationRootTNode!==null}function pp(t){return Ae.skipHydrationRootTNode===t}function fp(){Ae.skipHydrationRootTNode=null}function Ye(){return Ae.lFrame.lView}function bn(){return Ae.lFrame.tView}function k(t){return Ae.lFrame.contextLView=t,t[Rt]}function N(t){return Ae.lFrame.contextLView=null,t}function Qn(){let t=mp();for(;t!==null&&t.type===64;)t=t.parent;return t}function mp(){return Ae.lFrame.currentTNode}function Tg(){let t=Ae.lFrame,e=t.currentTNode;return t.isParent?e:e.parent}function zi(t,e){let n=Ae.lFrame;n.currentTNode=t,n.isParent=e}function hp(){return Ae.lFrame.isParent}function Mg(){Ae.lFrame.isParent=!1}function gp(){return Vu}function Fs(t){let e=Vu;return Vu=t,e}function Ig(){let t=Ae.lFrame,e=t.bindingRootIndex;return e===-1&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function kg(){return Ae.lFrame.bindingIndex}function Ng(t){return Ae.lFrame.bindingIndex=t}function ti(){return Ae.lFrame.bindingIndex++}function Gc(t){let e=Ae.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function Dg(){return Ae.lFrame.inI18n}function Og(t,e){let n=Ae.lFrame;n.bindingIndex=n.bindingRootIndex=t,Wc(e)}function Pg(){return Ae.lFrame.currentDirectiveIndex}function Wc(t){Ae.lFrame.currentDirectiveIndex=t}function Ag(t){let e=Ae.lFrame.currentDirectiveIndex;return e===-1?null:t[e]}function Rg(){return Ae.lFrame.currentQueryIndex}function Yc(t){Ae.lFrame.currentQueryIndex=t}function bC(t){let e=t[le];return e.type===2?e.declTNode:e.type===1?t[wn]:null}function yp(t,e,n){if(n&4){let r=e,i=t;for(;r=r.parent,r===null&&!(n&1);)if(r=bC(i),r===null||(i=i[dr],r.type&10))break;if(r===null)return!1;e=r,t=i}let o=Ae.lFrame=Lg();return o.currentTNode=e,o.lView=t,!0}function Zc(t){let e=Lg(),n=t[le];Ae.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function Lg(){let t=Ae.lFrame,e=t===null?null:t.child;return e===null?Fg(t):e}function Fg(t){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:t,child:null,inI18n:!1};return t!==null&&(t.child=e),e}function jg(){let t=Ae.lFrame;return Ae.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var vp=jg;function Kc(){let t=jg();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Vg(t){return(Ae.lFrame.contextLView=_g(t,Ae.lFrame.contextLView))[Rt]}function fo(){return Ae.lFrame.selectedIndex}function mr(t){Ae.lFrame.selectedIndex=t}function Ws(){let t=Ae.lFrame;return Bc(t.tView,t.selectedIndex)}function Ut(){Ae.lFrame.currentNamespace=Ur}function Sn(){xC()}function xC(){Ae.lFrame.currentNamespace=null}function _p(){return Ae.lFrame.currentNamespace}var $g=!0;function Qc(){return $g}function Xc(t){$g=t}function $u(t,e=null,n=null,o){let r=Hg(t,e,n,o);return r.resolveInjectorInitializers(),r}function Hg(t,e=null,n=null,o,r=new Set){let i=[n||co,dg(t)],s;return new Br(i,e||Bs(),s||null,r)}var Gn=class t{static THROW_IF_NOT_FOUND=$r;static NULL=new Li;static create(e,n){if(Array.isArray(e))return $u({name:""},n,e,"");{let o=e.name??"";return $u({name:o},e.parent,e.providers,o)}}static \u0275prov=Re({token:t,providedIn:"any",factory:()=>at(Fc)});static __NG_ELEMENT_ID__=-1},xn=new Be(""),ht=class{static __NG_ELEMENT_ID__=EC;static __NG_ENV_ID__=e=>e},Ec=class extends ht{_lView;constructor(e){super(),this._lView=e}get destroyed(){return Jr(this._lView)}onDestroy(e){let n=this._lView;return qc(n,e),()=>bg(n,e)}};function EC(){return new Ec(Ye())}var Bg=!1,Ug=new Be(""),qi=(()=>{class t{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new As(!1);debugTaskTracker=I(Ug,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new So(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),this.debugTaskTracker?.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.debugTaskTracker?.remove(n),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 \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),Hu=class extends qn{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,mg()&&(this.destroyRef=I(ht,{optional:!0})??void 0,this.pendingTasks=I(qi,{optional:!0})??void 0)}emit(e){let n=ae(null);try{super.next(e)}finally{ae(n)}}subscribe(e,n,o){let r=e,i=n||(()=>null),s=o;if(e&&typeof e=="object"){let c=e;r=c.next?.bind(c),i=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:i,complete:s});return e instanceof _n&&e.add(a),a}wrapInTimeout(e){return n=>{let o=this.pendingTasks?.add();setTimeout(()=>{try{e(n)}finally{o!==void 0&&this.pendingTasks?.remove(o)}})}}},Vo=Hu;function Cc(...t){}function bp(t){let e,n;function o(){t=Cc;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),e!==void 0&&clearTimeout(e)}catch{}}return e=setTimeout(()=>{t(),o()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{t(),o()})),()=>o()}function zg(t){return queueMicrotask(()=>t()),()=>{t=Cc}}var xp="isAngularZone",js=xp+"_ID",CC=0,Cn=class t{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Vo(!1);onMicrotaskEmpty=new Vo(!1);onStable=new Vo(!1);onError=new Vo(!1);constructor(e){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:o=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=Bg}=e;if(typeof Zone>"u")throw new Ce(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)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&o,s.shouldCoalesceRunChangeDetection=r,s.callbackScheduled=!1,s.scheduleInRootZone=i,TC(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(xp)===!0}static assertInAngularZone(){if(!t.isInAngularZone())throw new Ce(909,!1)}static assertNotInAngularZone(){if(t.isInAngularZone())throw new Ce(909,!1)}run(e,n,o){return this._inner.run(e,n,o)}runTask(e,n,o,r){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+r,e,wC,Cc,Cc);try{return i.runTask(s,n,o)}finally{i.cancelTask(s)}}runGuarded(e,n,o){return this._inner.runGuarded(e,n,o)}runOutsideAngular(e){return this._outer.run(e)}},wC={};function Ep(t){if(t._nesting==0&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function SC(t){if(t.isCheckStableRunning||t.callbackScheduled)return;t.callbackScheduled=!0;function e(){bp(()=>{t.callbackScheduled=!1,Bu(t),t.isCheckStableRunning=!0,Ep(t),t.isCheckStableRunning=!1})}t.scheduleInRootZone?Zone.root.run(()=>{e()}):t._outer.run(()=>{e()}),Bu(t)}function TC(t){let e=()=>{SC(t)},n=CC++;t._inner=t._inner.fork({name:"angular",properties:{[xp]:!0,[js]:n,[js+n]:!0},onInvokeTask:(o,r,i,s,a,c)=>{if(MC(c))return o.invokeTask(i,s,a,c);try{return Jh(t),o.invokeTask(i,s,a,c)}finally{(t.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||t.shouldCoalesceRunChangeDetection)&&e(),eg(t)}},onInvoke:(o,r,i,s,a,c,l)=>{try{return Jh(t),o.invoke(i,s,a,c,l)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!IC(c)&&e(),eg(t)}},onHasTask:(o,r,i,s)=>{o.hasTask(i,s),r===i&&(s.change=="microTask"?(t._hasPendingMicrotasks=s.microTask,Bu(t),Ep(t)):s.change=="macroTask"&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(o,r,i,s)=>(o.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}function Bu(t){t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&t.callbackScheduled===!0?t.hasPendingMicrotasks=!0:t.hasPendingMicrotasks=!1}function Jh(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function eg(t){t._nesting--,Ep(t)}var Vs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Vo;onMicrotaskEmpty=new Vo;onStable=new Vo;onError=new Vo;run(e,n,o){return e.apply(n,o)}runGuarded(e,n,o){return e.apply(n,o)}runOutsideAngular(e){return e()}runTask(e,n,o,r){return e.apply(n,o)}};function MC(t){return qg(t,"__ignore_ng_zone__")}function IC(t){return qg(t,"__scheduler_tick__")}function qg(t,e){return!Array.isArray(t)||t.length!==1?!1:t[0]?.data?.[e]===!0}var Wn=class{_console=console;handleError(e){this._console.error("ERROR",e)}};function Gg(t){return Wg(t)?t:new Uu(t)}function Wg(t){return t instanceof Error||typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.message=="string"}var Uu=class extends Error{constructor(e){super(String(e),{cause:e}),this.name="ErrorBoundaryWrappedError"}},ni=new Be("",{factory:()=>{let t=I(Cn),e=I(lo),n;return o=>{t.runOutsideAngular(()=>{e.destroyed&&!n?setTimeout(()=>{throw o}):(n??=e.get(Wn),n.handleError(o))})}}}),Yg={provide:Wr,useValue:()=>{let t=I(Wn,{optional:!0})},multi:!0},kC=new Be("",{factory:()=>{let t=I(xn).defaultView;if(!t)return;let e=I(ni),n=i=>{e(i.reason),i.preventDefault()},o=i=>{i.error?e(i.error):e(new Error(i.message,{cause:i})),i.preventDefault()},r=()=>{t.addEventListener("unhandledrejection",n),t.addEventListener("error",o)};typeof Zone<"u"?Zone.root.run(r):r(),I(ht).onDestroy(()=>{t.removeEventListener("error",o),t.removeEventListener("unhandledrejection",n)})}});function Cp(){return Vi([lg(()=>{I(kC)})])}function F(t,e){let[n,o,r]=gu(t,e?.equal),i=n,s=i[cn];return i.set=o,i.update=r,i.asReadonly=wp.bind(i),i}function wp(){let t=this[cn];if(t.readonlyFn===void 0){let e=()=>this();e[cn]=t,t.readonlyFn=e}return t.readonlyFn}var Ys=new Be("",{factory:()=>NC}),NC="ng";var Jc=new Be(""),Zs=new Be("",{providedIn:"platform",factory:()=>"unknown"});var el=new Be("",{factory:()=>I(xn).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var Ks=(()=>{class t{view;node;constructor(n,o){this.view=n,this.node=o}static __NG_ELEMENT_ID__=DC}return t})();function DC(){return new Ks(Ye(),Qn())}var cr=class{},Qs=new Be("",{factory:()=>!0});var Sp=new Be(""),tl=(()=>{class t{static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new zu})}return t})(),zu=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let n=e.zone,o=this.queues.get(n);o.has(e)&&(o.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let n=e.zone;this.queues.has(n)||this.queues.set(n,new Set);let o=this.queues.get(n);o.has(e)||o.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[n,o]of this.queues)n===null?e||=this.flushQueue(o):e||=n.run(()=>this.flushQueue(o));e||(this.dirtyEffectCount=0)}}flushQueue(e){let n=!1;for(let o of e)o.dirty&&(this.dirtyEffectCount--,n=!0,o.run());return n}},wc=class{[cn];constructor(e){this[cn]=e}destroy(){this[cn].destroy()}};function me(t,e){let n=e?.injector??I(Gn),o=e?.manualCleanup!==!0?n.get(ht):null,r,i=n.get(Ks,null,{optional:!0}),s=n.get(cr);return i!==null?(r=Kg(i.view,s,t),o instanceof Ec&&o._lView===i.view&&(o=null)):r=AC(t,n.get(tl),s),r.injector=n,o!==null&&(r.onDestroyFns=[o.onDestroy(()=>r.destroy())]),new wc(r)}var Zg=X(H({},vu),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let t=Fs(!1);try{_u(this)}finally{Fs(t)}},cleanup(){if(!this.cleanupFns?.length)return;let t=ae(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],ae(t)}}}),OC=X(H({},Zg),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(Lr(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.scheduler.remove(this)}}),PC=X(H({},Zg),{consumerMarkedDirty(){this.view[fe]|=8192,ei(this.view),this.notifier.notify(13)},destroy(){if(Lr(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.view[Ho]?.delete(this)}});function Kg(t,e,n){let o=Object.create(PC);return o.view=t,o.zone=typeof Zone<"u"?Zone.current:null,o.notifier=e,o.userFn=n,o.fn=Qg(o,n),t[Ho]??=new Set,t[Ho].add(o),o.consumerMarkedDirty(o),o}function AC(t,e,n){let o=Object.create(OC);return o.userFn=t,o.fn=Qg(o,t),o.scheduler=e,o.notifier=n,o.zone=typeof Zone<"u"?Zone.current:null,o.scheduler.add(o),o.notifier.notify(12),o}function Qg(t,e){return()=>{e(n=>(t.cleanupFns??=[]).push(n))}}var hf=Symbol("InputSignalNode#UNSET"),Ay=X(H({},Os),{transformFn:void 0,applyValueToInputSignal(t,e){Fr(t,e)}});function gf(t){return{toString:t}.toString()}var ot=(function(t){return t[t.TemplateCreateStart=0]="TemplateCreateStart",t[t.TemplateCreateEnd=1]="TemplateCreateEnd",t[t.TemplateUpdateStart=2]="TemplateUpdateStart",t[t.TemplateUpdateEnd=3]="TemplateUpdateEnd",t[t.LifecycleHookStart=4]="LifecycleHookStart",t[t.LifecycleHookEnd=5]="LifecycleHookEnd",t[t.OutputStart=6]="OutputStart",t[t.OutputEnd=7]="OutputEnd",t[t.BootstrapApplicationStart=8]="BootstrapApplicationStart",t[t.BootstrapApplicationEnd=9]="BootstrapApplicationEnd",t[t.BootstrapComponentStart=10]="BootstrapComponentStart",t[t.BootstrapComponentEnd=11]="BootstrapComponentEnd",t[t.ChangeDetectionStart=12]="ChangeDetectionStart",t[t.ChangeDetectionEnd=13]="ChangeDetectionEnd",t[t.ChangeDetectionSyncStart=14]="ChangeDetectionSyncStart",t[t.ChangeDetectionSyncEnd=15]="ChangeDetectionSyncEnd",t[t.AfterRenderHooksStart=16]="AfterRenderHooksStart",t[t.AfterRenderHooksEnd=17]="AfterRenderHooksEnd",t[t.ComponentStart=18]="ComponentStart",t[t.ComponentEnd=19]="ComponentEnd",t[t.DeferBlockStateStart=20]="DeferBlockStateStart",t[t.DeferBlockStateEnd=21]="DeferBlockStateEnd",t[t.DynamicComponentStart=22]="DynamicComponentStart",t[t.DynamicComponentEnd=23]="DynamicComponentEnd",t[t.HostBindingsUpdateStart=24]="HostBindingsUpdateStart",t[t.HostBindingsUpdateEnd=25]="HostBindingsUpdateEnd",t})(ot||{});function YC(t,e,n,o){e!==null?e.applyValueToInputSignal(e,o):t[n]=o}var ZC=null;function KC(){return ZC}var Xg=[];var dt=function(t,e=null,n){for(let o=0;o<Xg.length;o++){let r=Xg[o];r(t,e,n)}};function QC(t,e,n){let{ngOnChanges:o,ngOnInit:r,ngDoCheck:i}=e.type.prototype;if(o){let s=KC()(e);(n.preOrderHooks??=[]).push(t,s),(n.preOrderCheckHooks??=[]).push(t,s)}r&&(n.preOrderHooks??=[]).push(0-t,r),i&&((n.preOrderHooks??=[]).push(t,i),(n.preOrderCheckHooks??=[]).push(t,i))}function XC(t,e){for(let n=e.directiveStart,o=e.directiveEnd;n<o;n++){let i=t.data[n].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:c,ngAfterViewChecked:l,ngOnDestroy:d}=i;s&&(t.contentHooks??=[]).push(-n,s),a&&((t.contentHooks??=[]).push(n,a),(t.contentCheckHooks??=[]).push(n,a)),c&&(t.viewHooks??=[]).push(-n,c),l&&((t.viewHooks??=[]).push(n,l),(t.viewCheckHooks??=[]).push(n,l)),d!=null&&(t.destroyHooks??=[]).push(n,d)}}function sl(t,e,n){Ry(t,e,3,n)}function al(t,e,n,o){(t[fe]&3)===n&&Ry(t,e,n,o)}function Tp(t,e){let n=t[fe];(n&3)===e&&(n&=16383,n+=1,t[fe]=n)}function Ry(t,e,n,o){let r=o!==void 0?t[Yr]&65535:0,i=o??-1,s=e.length-1,a=0;for(let c=r;c<s;c++)if(typeof e[c+1]=="number"){if(a=e[c],o!=null&&a>=o)break}else e[c]<0&&(t[Yr]+=65536),(a<i||i==-1)&&(JC(t,n,e,c),t[Yr]=(t[Yr]&4294901760)+c+2),c++}function Jg(t,e){dt(ot.LifecycleHookStart,t,e);let n=ae(null);try{e.call(t)}finally{ae(n),dt(ot.LifecycleHookEnd,t,e)}}function JC(t,e,n,o){let r=n[o]<0,i=n[o+1],s=r?-n[o]:n[o],a=t[s];r?t[fe]>>14<t[Yr]>>16&&(t[fe]&3)===e&&(t[fe]+=16384,Jg(a,i)):Jg(a,i)}var Yi=-1,ea=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,n,o,r){this.factory=e,this.name=r,this.canSeeViewProviders=n,this.injectImpl=o}};function ew(t){return(t.flags&8)!==0}function tw(t){return(t.flags&16)!==0}function nw(t,e,n){let o=0;for(;o<n.length;){let r=n[o];if(typeof r=="number"){if(r!==0)break;o++;let i=n[o++],s=n[o++],a=n[o++];t.setAttribute(e,s,a,i)}else{let i=r,s=n[++o];rw(i)?t.setProperty(e,i,s):t.setAttribute(e,i,s),o++}}return o}function ow(t){return t===3||t===4||t===6}function rw(t){return t.charCodeAt(0)===64}function wl(t,e){if(!(e===null||e.length===0))if(t===null||t.length===0)t=e.slice();else{let n=-1;for(let o=0;o<e.length;o++){let r=e[o];typeof r=="number"?n=r:n===0||(n===-1||n===2?ey(t,n,r,null,e[++o]):ey(t,n,r,null,null))}}return t}function ey(t,e,n,o,r){let i=0,s=t.length;if(e===-1)s=-1;else for(;i<t.length;){let a=t[i++];if(typeof a=="number"){if(a===e){s=-1;break}else if(a>e){s=i-1;break}}}for(;i<t.length;){let a=t[i];if(typeof a=="number")break;if(a===n){r!==null&&(t[i+1]=r);return}i++,r!==null&&i++}s!==-1&&(t.splice(s,0,e),i=s+1),t.splice(i++,0,n),r!==null&&t.splice(i++,0,r)}function Ly(t){return t!==Yi}function ul(t){return t&32767}function iw(t){return t>>16}function pl(t,e){let n=iw(t),o=e;for(;n>0;)o=o[dr],n--;return o}var Pp=!0;function ty(t){let e=Pp;return Pp=t,e}var sw=256,Fy=sw-1,jy=5,aw=0,ko={};function cw(t,e,n){let o;typeof n=="string"?o=n.charCodeAt(0)||0:Object.hasOwn(n,zr)&&(o=n[zr]),o==null&&(o=n[zr]=aw++);let r=o&Fy,i=1<<r;e.data[t+(r>>jy)]|=i}function Vy(t,e){let n=$y(t,e);if(n!==-1)return n;let o=e[le];o.firstCreatePass&&(t.injectorIndex=e.length,Mp(o.data,t),Mp(e,null),Mp(o.blueprint,null));let r=yf(t,e),i=t.injectorIndex;if(Ly(r)){let s=ul(r),a=pl(r,e),c=a[le].data;for(let l=0;l<8;l++)e[i+l]=a[s+l]|c[s+l]}return e[i+8]=r,i}function Mp(t,e){t.push(0,0,0,0,0,0,0,0,e)}function $y(t,e){return t.injectorIndex===-1||t.parent&&t.parent.injectorIndex===t.injectorIndex||e[t.injectorIndex+8]===null?-1:t.injectorIndex}function yf(t,e){if(t.parent&&t.parent.injectorIndex!==-1)return t.parent.injectorIndex;let n=0,o=null,r=e;for(;r!==null;){if(o=qy(r),o===null)return Yi;if(n++,r=r[dr],o.injectorIndex!==-1)return o.injectorIndex|n<<16}return Yi}function lw(t,e,n){cw(t,e,n)}function Hy(t,e,n){if(n&8||t!==void 0)return t;Oc(e,"NodeInjector")}function By(t,e,n,o){if(n&8&&o===void 0&&(o=null),(n&3)===0){let r=t[Uo],i=On(void 0);try{return r?r.get(e,o,n&8):Qu(e,o,n&8)}finally{On(i)}}return Hy(o,e,n)}function Uy(t,e,n,o=0,r){if(t!==null){if(e[fe]&2048&&!(o&2)){let s=fw(t,e,n,o,ko);if(s!==ko)return s}let i=zy(t,e,n,o,ko);if(i!==ko)return i}return By(e,n,o,r)}function zy(t,e,n,o,r){let i=uw(n);if(typeof i=="function"){if(!yp(e,t,o))return o&1?Hy(r,n,o):By(e,n,o,r);try{let s;if(s=i(o),s==null&&!(o&8))Oc(n);else return s}finally{vp()}}else if(typeof i=="number"){let s=null,a=$y(t,e),c=Yi,l=o&1?e[An][wn]:null;for((a===-1||o&4)&&(c=a===-1?yf(t,e):e[a+8],c===Yi||!oy(o,!1)?a=-1:(s=e[le],a=ul(c),e=pl(c,e)));a!==-1;){let d=e[le];if(ny(i,a,d.data)){let u=dw(a,e,n,s,o,l);if(u!==ko)return u}c=e[a+8],c!==Yi&&oy(o,e[le].data[a+8]===l)&&ny(i,a,e)?(s=d,a=ul(c),e=pl(c,e)):a=-1}}return r}function dw(t,e,n,o,r,i){let s=e[le],a=s.data[t+8],c=o==null?fr(a)&&Pp:o!=s&&(a.type&3)!==0,l=r&1&&i===a,d=cl(a,s,n,c,l);return d!==null?fl(e,s,d,a,r):ko}function cl(t,e,n,o,r){let i=t.providerIndexes,s=e.data,a=i&1048575,c=t.directiveStart,l=t.directiveEnd,d=i>>20,u=o?a:a+d,h=r?a+d:l;for(let g=u;g<h;g++){let _=s[g];if(g<c&&n===_||g>=c&&_.type===n)return g}if(r){let g=s[c];if(g&&Xr(g)&&g.type===n)return c}return null}function fl(t,e,n,o,r){let i=t[n],s=e.data;if(i instanceof ea){let a=i;if(a.resolving)throw Ku("");let c=ty(a.canSeeViewProviders);a.resolving=!0;let l=s[n].type||s[n],d,u=a.injectImpl?On(a.injectImpl):null,h=yp(t,o,0);try{i=t[n]=a.factory(void 0,r,s,t,o),e.firstCreatePass&&n>=o.directiveStart&&QC(n,s[n],e)}finally{u!==null&&On(u),ty(c),a.resolving=!1,vp()}}return i}function uw(t){if(typeof t=="string")return t.charCodeAt(0)||0;let e=Object.hasOwn(t,zr)?t[zr]:void 0;return typeof e=="number"?e>=0?e&Fy:pw:e}function ny(t,e,n){let o=1<<t;return!!(n[e+(t>>jy)]&o)}function oy(t,e){return!(t&2)&&!(t&1&&e)}var zo=class{_tNode;_lView;constructor(e,n){this._tNode=e,this._lView=n}get(e,n,o){return Uy(this._tNode,this._lView,e,Hr(o),n)}};function pw(){return new zo(Qn(),Ye())}function fw(t,e,n,o,r){let i=t,s=e;for(;i!==null&&s!==null&&s[fe]&2048&&!Ui(s);){let a=zy(i,s,n,o|2,ko);if(a!==ko)return a;o&=-5;let c=i.parent;if(!c){let l=s[op];if(l){let d=l.get(n,ko,o);if(d!==ko)return d}c=qy(s),s=s[dr]}i=c}return r}function qy(t){let e=t[le],n=e.type;return n===2?e.declTNode:n===1?t[wn]:null}function Xi(t){return{token:t.token,providedIn:t.autoProvided===!1?null:"root",factory:t.factory,value:void 0}}function mw(){return Ji(Qn(),Ye())}function Ji(t,e){return new Zt(Kn(t,e))}var Zt=(()=>{class t{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=mw}return t})();function hw(t){return t instanceof Zt?t.nativeElement:t}function gw(){return this._results[Symbol.iterator]()}var ml=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 qn}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,n){return this._results.reduce(e,n)}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,n){this.dirty=!1;let o=ag(e);(this._changesDetected=!sg(this._results,o,n))&&(this._results=o,this.length=o.length,this.last=o[this.length-1],this.first=o[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]=gw};function Gy(t){return(t.flags&128)===128}var vf=(function(t){return t[t.OnPush=0]="OnPush",t[t.Eager=1]="Eager",t[t.Default=1]="Default",t})(vf||{}),Wy=new Map,yw=0;function vw(){return yw++}function _w(t){Wy.set(t[Us],t)}function Ap(t){Wy.delete(t[Us])}var ry="__ngContext__";function Zi(t,e){pr(e)?(t[ry]=e[Us],_w(e)):t[ry]=e}function Yy(t){return Ky(t[Bi])}function Zy(t){return Ky(t[Yn])}function Ky(t){for(;t!==null&&!Zn(t);)t=t[Yn];return t}var Rp;function _f(t){Rp=t}function bf(){if(Rp!==void 0)return Rp;if(typeof document<"u")return document;throw new Ce(210,!1)}var Qy="r";var Xy="di";var Jy=!1,ev=new Be("",{factory:()=>Jy});var iy=new WeakMap;function bw(t,e){if(t==null||typeof t!="object")return;let n=iy.get(t);n||(n=new WeakSet,iy.set(t,n)),n.add(e)}var xw=(t,e,n,o)=>{};function Ew(t,e,n,o){xw(t,e,n,o)}function xf(t){return(t.flags&32)===32}var Cw=()=>null;function tv(t,e,n=!1){return Cw(t,e,n)}function nv(t,e){let n=t.contentQueries;if(n!==null){let o=ae(null);try{for(let r=0;r<n.length;r+=2){let i=n[r],s=n[r+1];if(s!==-1){let a=t.data[s];Yc(i),a.contentQueries(2,e[s],s)}}}finally{ae(o)}}}function Lp(t,e,n){Yc(0);let o=ae(null);try{e(t,n)}finally{ae(o)}}function ov(t,e,n){if(ip(e)){let o=ae(null);try{let r=e.directiveStart,i=e.directiveEnd;for(let s=r;s<i;s++){let a=t.data[s];if(a.contentQueries){let c=n[s];a.contentQueries(1,c,s)}}}finally{ae(o)}}}var go=(function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t[t.ExperimentalIsolatedShadowDom=4]="ExperimentalIsolatedShadowDom",t})(go||{});var ww={"http://www.w3.org/2000/svg":Ur,"http://www.w3.org/1998/Math/MathML":Hc},nl;function Sw(){if(nl===void 0&&(nl=null,lr.trustedTypes))try{nl=lr.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return nl}function Sl(t){return Sw()?.createHTML(t)||t}var ol;function Tw(){if(ol===void 0&&(ol=null,lr.trustedTypes))try{ol=lr.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return ol}function sy(t){return Tw()?.createHTML(t)||t}var qo=class{changingThisBreaksApplicationSecurity;constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Sc})`}},Fp=class extends qo{getTypeName(){return"HTML"}},jp=class extends qo{getTypeName(){return"Style"}},Vp=class extends qo{getTypeName(){return"Script"}},$p=class extends qo{getTypeName(){return"URL"}},Hp=class extends qo{getTypeName(){return"ResourceURL"}};function Xn(t){return t instanceof qo?t.changingThisBreaksApplicationSecurity:t}function Yo(t,e){let n=rv(t);if(n!=null&&n!==e){if(n==="ResourceURL"&&e==="URL")return!0;throw new Error(`Required a safe ${e}, got a ${n} (see ${Sc})`)}return n===e}function rv(t){return t instanceof qo&&t.getTypeName()||null}function Ef(t){return new Fp(t)}function Cf(t){return new jp(t)}function wf(t){return new Vp(t)}function Sf(t){return new $p(t)}function Tf(t){return new Hp(t)}function Mw(t){let e=new Up(t);return Iw()?new Bp(e):e}var Bp=class{inertDocumentHelper;constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e="<body><remove></remove>"+e;try{let n=new window.DOMParser().parseFromString(Sl(e),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(e):(n.firstChild?.remove(),n)}catch{return null}}},Up=class{defaultDoc;inertDocument;constructor(e){this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(e){let n=this.inertDocument.createElement("template");return n.innerHTML=Sl(e),n}};function Iw(){try{return!!new window.DOMParser().parseFromString(Sl(""),"text/html")}catch{return!1}}var kw=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ca(t){return t=String(t),t.match(kw)?t:"unsafe:"+t}function Zo(t){let e=Object.create(null);for(let n of t.split(","))e[n]=!0;return e}function la(...t){let e=Object.create(null);for(let n of t)for(let o in n)Object.hasOwn(n,o)&&(e[o]=!0);return e}var iv=Zo("area,br,col,hr,img,wbr"),sv=Zo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),av=Zo("rp,rt"),Nw=la(av,sv),Dw=la(sv,Zo("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")),Ow=la(av,Zo("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")),ay=la(iv,Dw,Ow,Nw),cv=Zo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Pw=Zo("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"),Aw=Zo("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"),Rw=la(cv,Pw,Aw),Lw=Zo("script,style,template"),zp=class{sanitizedSomething=!1;buf=[];sanitizeChildren(e){let n=e.firstChild,o=!0,r=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?o=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,o&&n.firstChild){r.push(n),n=Vw(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=jw(n);if(i){n=i;break}n=r.pop()}}return this.buf.join("")}startElement(e){let n=cy(e).toLowerCase();if(!Object.hasOwn(ay,n))return this.sanitizedSomething=!0,!Object.hasOwn(Lw,n);this.buf.push("<"),this.buf.push(n);let o=e.attributes;for(let r=0;r<o.length;r++){let i=o.item(r),s=i.name,a=s.toLowerCase();if(!Object.hasOwn(Rw,a)){this.sanitizedSomething=!0;continue}let c=i.value;cv[a]&&(c=ca(c)),this.buf.push(" ",s,'="',ly(c),'"')}return this.buf.push(">"),!0}endElement(e){let n=cy(e).toLowerCase();Object.hasOwn(ay,n)&&!Object.hasOwn(iv,n)&&(this.buf.push("</"),this.buf.push(n),this.buf.push(">"))}chars(e){this.buf.push(ly(e))}};function Fw(t,e){return(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function jw(t){let e=t.nextSibling;if(e&&t!==e.previousSibling)throw lv(e);return e}function Vw(t){let e=t.firstChild;if(e&&Fw(t,e))throw lv(e);return e}function cy(t){let e=t.nodeName;return typeof e=="string"?e:"FORM"}function lv(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}var $w=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Hw=/([^\#-~ |!])/g;function ly(t){return t.replace(/&/g,"&amp;").replace($w,function(e){let n=e.charCodeAt(0),o=e.charCodeAt(1);return"&#"+((n-55296)*1024+(o-56320)+65536)+";"}).replace(Hw,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}var rl;function Tl(t,e){let n=null;try{rl=rl||Mw(t);let o=e?String(e):"";n=rl.getInertBodyElement(o);let r=5,i=o;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,o=i,i=n.innerHTML,n=rl.getInertBodyElement(o)}while(o!==i);let a=new zp().sanitizeChildren(dy(n)||n);return Sl(a)}finally{if(n){let o=dy(n)||n;for(;o.firstChild;)o.firstChild.remove()}}}function dy(t){return"content"in t&&Bw(t)?t.content:null}function Bw(t){return t.nodeType===Node.ELEMENT_NODE&&t.nodeName==="TEMPLATE"}function Uw(t,e){return t.createText(e)}function zw(t,e,n){t.setValue(e,n)}function dv(t,e,n){return t.createElement(e,n)}function oi(t,e,n,o,r){t.insertBefore(e,n,o,r)}function uv(t,e,n){t.appendChild(e,n)}function uy(t,e,n,o,r){o!==null?oi(t,e,n,o,r):uv(t,e,n)}function pv(t,e,n,o){t.removeChild(null,e,n,o)}function qw(t,e,n){t.setAttribute(e,"style",n)}function Gw(t,e,n){n===""?t.removeAttribute(e,"class"):t.setAttribute(e,"class",n)}function fv(t,e,n){let{mergedAttrs:o,classes:r,styles:i}=n;o!==null&&nw(t,e,o),r!==null&&Gw(t,e,r),i!==null&&qw(t,e,i)}function Ww(t,e=!0){if(t[0]!=":")return[null,t];let n=t.indexOf(":",1);if(n===-1){if(e)throw new Error(`Unsupported format "${t}" expecting ":namespace:name"`);return[null,t]}return[t.slice(1,n),t.slice(n+1)]}function Mf(t,e,n){if(e!==void 0&&n!==void 0&&Yw(e,n)!==It.HTML)return t;let o=mv();return o?sy(o.sanitize(It.HTML,t)||""):Yo(t,"HTML")?sy(Xn(t)):Tl(bf(),Gr(t))}function yo(t){let e=mv();return e?e.sanitize(It.URL,t)||"":Yo(t,"URL")?Xn(t):ca(Gr(t))}function mv(){let t=Ye();return t&&t[po].sanitizer}function Yw(t,e){let[n,o]=Zw(t);return yg(o,e,n)}function Zw(t){t=t.toLowerCase();let e=Ww(t,!1);if(e[0])return e;let o=fo()===-1?null:Ws(),r=o?.namespace;if(t==="#host"&&o?.type===2){let i=Kn(o,Ye());if(i.tagName&&(t=i.tagName.toLowerCase()),r==null){let s=i.namespaceURI;r=s&&ww[s]}}return[r,t]}function If(t){return t.ownerDocument.defaultView}function Ht(t){return t.ownerDocument}function Kw(t,e,n){let o=t.length;for(;;){let r=t.indexOf(e,n);if(r===-1)return r;if(r===0||t.charCodeAt(r-1)<=32){let i=e.length;if(r+i===o||t.charCodeAt(r+i)<=32)return r}n=r+1}}var hv="ng-template";function Qw(t,e,n,o){let r=0;if(o){for(;r<e.length&&typeof e[r]=="string";r+=2)if(e[r]==="class"&&Kw(e[r+1].toLowerCase(),n,0)!==-1)return!0}else if(kf(t))return!1;if(r=e.indexOf(1,r),r>-1){let i;for(;++r<e.length&&typeof(i=e[r])=="string";)if(i.toLowerCase()===n)return!0}return!1}function kf(t){return t.type===4&&t.value!==hv}function Xw(t,e,n){let o=t.type===4&&!n?hv:t.value;return e===o}function Jw(t,e,n){let o=4,r=t.attrs,i=r!==null?nS(r):0,s=!1;for(let a=0;a<e.length;a++){let c=e[a];if(typeof c=="number"){if(!s&&!mo(o)&&!mo(c))return!1;if(s&&mo(c))continue;s=!1,o=c|o&1;continue}if(!s)if(o&4){if(o=2|o&1,c!==""&&!Xw(t,c,n)||c===""&&e.length===1){if(mo(o))return!1;s=!0}}else if(o&8){if(r===null||!Qw(t,r,c,n)){if(mo(o))return!1;s=!0}}else{let l=e[++a],d=eS(c,r,kf(t),n);if(d===-1){if(mo(o))return!1;s=!0;continue}if(l!==""){let u;if(d>i?u="":u=r[d+1].toLowerCase(),o&2&&l!==u){if(mo(o))return!1;s=!0}}}}return mo(o)||s}function mo(t){return(t&1)===0}function eS(t,e,n,o){if(e===null)return-1;let r=0;if(o||!n){let i=!1;for(;r<e.length;){let s=e[r];if(s===t)return r;if(s===3||s===6)i=!0;else if(s===1||s===2){let a=e[++r];for(;typeof a=="string";)a=e[++r];continue}else{if(s===4)break;if(s===0){r+=4;continue}}r+=i?1:2}return-1}else return oS(e,t)}function tS(t,e,n=!1){for(let o=0;o<e.length;o++)if(Jw(t,e[o],n))return!0;return!1}function nS(t){for(let e=0;e<t.length;e++){let n=t[e];if(ow(n))return e}return t.length}function oS(t,e){let n=t.indexOf(4);if(n>-1)for(n++;n<t.length;){let o=t[n];if(typeof o=="number")return-1;if(o===e)return n;n++}return-1}function py(t,e){return t?":not("+e.trim()+")":e}function rS(t){let e=t[0],n=1,o=2,r="",i=!1;for(;n<t.length;){let s=t[n];if(typeof s=="string")if(o&2){let a=t[++n];r+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else o&8?r+="."+s:o&4&&(r+=" "+s);else r!==""&&!mo(s)&&(e+=py(i,r),r=""),o=s,i=i||!mo(o);n++}return r!==""&&(e+=py(i,r)),e}function iS(t){return t.map(rS).join(",")}function sS(t){let e=[],n=[],o=1,r=2;for(;o<t.length;){let i=t[o];if(typeof i=="string")r===2?i!==""&&e.push(i,t[++o]):r===8&&n.push(i);else{if(!mo(r))break;r=i}o++}return n.length&&e.push(1,...n),e}var Tn={},Go=(function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t})(Go||{}),aS;function Nf(t,e){return aS(t,e)}var Df=new Set;var cj=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";var qp=new WeakMap;function gv(t){return t?t[dr]??t:null}var Gi=new WeakSet;function cS(t,e,n){let o=qp.get(t);if(!o||o.length===0)return;let r=e.parentNode,i=e.previousSibling,s=gv(n);for(let a=o.length-1;a>=0;a--){let{el:c,declarationView:l}=o[a],d=c.parentNode;c===e?(o.splice(a,1),Gi.add(c),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}}))):i&&c===i?(o.splice(a,1),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),c.parentNode?.removeChild(c)):d&&r&&d!==r&&(s===null||l===null||s===l)&&(o.splice(a,1),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),c.parentNode?.removeChild(c))}}function lS(t,e,n){let o=gv(n),r=qp.get(t);r?r.some(i=>i.el===e)||r.push({el:e,declarationView:o}):qp.set(t,[{el:e,declarationView:o}])}var Ml=(function(t){return t[t.CHANGE_DETECTION=0]="CHANGE_DETECTION",t[t.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",t})(Ml||{}),Ko=new Be(""),fy=new Set;function ii(t){fy.has(t)||(fy.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}var Of=(()=>{class t{impl=null;execute(){this.impl?.execute()}static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),yv=[0,1,2,3],vv=(()=>{class t{ngZone=I(Cn);scheduler=I(cr);errorHandler=I(Wn,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){I(Ko,{optional:!0})}execute(){let n=this.sequences.size>0;n&&dt(ot.AfterRenderHooksStart),this.executing=!0;for(let o of yv)for(let r of this.sequences)if(!(r.erroredOrDestroyed||!r.hooks[o]))try{r.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let i=r.hooks[o];return i(r.pipelinedValue)},r.snapshot))}catch(i){r.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(let o of this.sequences)o.afterRun(),o.once&&(this.sequences.delete(o),o.destroy());for(let o of this.deferredRegistrations)this.sequences.add(o);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),n&&dt(ot.AfterRenderHooksEnd)}register(n){let{view:o}=n;o!==void 0?((o[Zr]??=[]).push(n),ei(o),o[fe]|=8192):this.executing?this.deferredRegistrations.add(n):this.addSequence(n)}addSequence(n){this.sequences.add(n),this.scheduler.notify(7)}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}maybeTrace(n,o){return o?o.run(Ml.AFTER_NEXT_RENDER,n):n()}static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),hl=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(e,n,o,r,i,s=null){this.impl=e,this.hooks=n,this.view=o,this.once=r,this.snapshot=s,this.unregisterOnDestroy=i?.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?.[Zr];e&&(this.view[Zr]=e.filter(n=>n!==this))}};function si(t,e){let n=e?.injector??I(Gn);return ii("NgAfterNextRender"),uS(t,n,e,!0)}function dS(t){return t instanceof Function?[void 0,void 0,t,void 0]:[t.earlyRead,t.write,t.mixedReadWrite,t.read]}function uS(t,e,n,o){let r=e.get(Of);r.impl??=e.get(vv);let i=e.get(Ko,null,{optional:!0}),s=n?.manualCleanup!==!0?e.get(ht):null,a=e.get(Ks,null,{optional:!0}),c=new hl(r.impl,dS(t),a?.view,o,s,i?.snapshot(null));return r.impl.register(c),c}var Gp=null,_v=null;function my(t,e,n,o){Gp?.maybeQueueEnterAnimation(t,e,n,o)}function hy(t,e,n,o){Gp===null?o(!1):Gp.runLeaveAnimationsWithCallback(t,e,n,o)}function pS(t){_v?.initViewDetachAnimations(t)}function fS(t){_v?.clearViewDetachAnimations(t)}function Wi(t,e,n,o,r,i,s,a){if(r!=null){let c,l=!1;Zn(r)?c=r:pr(r)&&(l=!0,r=r[uo]);let d=dn(r);t===0&&o!==null?(my(a,o,i,n),s==null?uv(e,o,d):oi(e,o,d,s||null,!0)):t===1&&o!==null?(oi(e,o,d,s||null,!0),cS(i,d,a),Gi.has(d)||my(a,o,i,n)):t===2?(a?.[hg]?.leave?.has(i.index)&&lS(i,d,a),Gi.delete(d),hy(a,i,n,u=>{if(Gi.has(d)){Gi.delete(d);return}pv(e,d,l,u)})):t===3&&(Gi.delete(d),hy(a,i,n,()=>{e.destroyNode(d)})),c!=null&&TS(e,t,n,c,i,o,s)}}function mS(t,e){bv(t,e),e[uo]=null,e[wn]=null}function hS(t,e,n,o,r,i){o[uo]=r,o[wn]=e,kl(t,o,n,1,r,i)}function bv(t,e){e[po].changeDetectionScheduler?.notify(9),kl(t,e,e[kt],2,null,null)}function gS(t){let e=t[Bi];if(!e)return Ip(t[le],t);for(;e;){let n=null;if(pr(e))n=e[Bi];else{let o=e[Lt];o&&(n=o)}if(!n){for(;e&&!e[Yn]&&e!==t;)pr(e)&&Ip(e[le],e),e=e[$t];e===null&&(e=t),pr(e)&&Ip(e[le],e),n=e&&e[Yn]}e=n}}function Pf(t,e){let n=t[Qr],o=n.indexOf(e);n.splice(o,1)}function Il(t,e){if(Jr(e))return;let n=e[kt];n.destroyNode&&kl(t,e,n,3,null,null),gS(e)}function Ip(t,e){if(Jr(e))return;let n=ae(null);try{e[fe]&=-129,e[fe]|=256,e[Rn]&&Lr(e[Rn]),vS(t,e),yS(t,e),e[le].type===1&&e[kt].destroy();let o=e[ur];if(o!==null&&Zn(e[$t])){o!==e[$t]&&Pf(o,e);let r=e[To];r!==null&&r.detachView(t)}Ap(e)}finally{ae(n)}}function yS(t,e){let n=t.cleanup,o=e[Hi];if(n!==null)for(let s=0;s<n.length-1;s+=2)if(typeof n[s]=="string"){let a=n[s+3];a>=0?o[a]():o[-a].unsubscribe(),s+=2}else{let a=o[n[s+1]];n[s].call(a)}o!==null&&(e[Hi]=null);let r=e[$o];if(r!==null){e[$o]=null;for(let s=0;s<r.length;s++){let a=r[s];a()}}let i=e[Ho];if(i!==null){e[Ho]=null;for(let s of i)s.destroy()}}function vS(t,e){let n;if(t!=null&&(n=t.destroyHooks)!=null)for(let o=0;o<n.length;o+=2){let r=e[n[o]];if(!(r instanceof ea)){let i=n[o+1];if(Array.isArray(i))for(let s=0;s<i.length;s+=2){let a=r[i[s]],c=i[s+1];dt(ot.LifecycleHookStart,a,c);try{c.call(a)}finally{dt(ot.LifecycleHookEnd,a,c)}}else{dt(ot.LifecycleHookStart,r,i);try{i.call(r)}finally{dt(ot.LifecycleHookEnd,r,i)}}}}}function _S(t,e,n){if(e===null)throw new Ce(510,!1);return bS(t,e.parent,n)}function bS(t,e,n){let o=e;for(;o!==null&&o.type&168;)e=o,o=e.parent;if(o===null)return n[uo];if(fr(o)){let{encapsulation:r}=t.data[o.directiveStart+o.componentOffset];if(r===go.None||r===go.Emulated)return null}return Kn(o,n)}function xS(t,e,n){return CS(t,e,n)}function ES(t,e,n){return t.type&40?Kn(t,n):null}var CS=ES,gy;function Af(t,e,n,o){let r=_S(t,o,e),i=e[kt],s=o.parent||e[wn],a=xS(s,o,e);if(r!=null)if(Array.isArray(n))for(let c=0;c<n.length;c++)uy(i,r,n[c],a,!1);else uy(i,r,n,a,!1);gy!==void 0&&gy(i,o,e,n,r)}function Xs(t,e){if(e!==null){let n=e.type;if(n&3)return Kn(e,t);if(n&4)return Wp(-1,t[e.index]);if(n&8){let o=e.child;if(o!==null)return Xs(t,o);{let r=t[e.index];return Zn(r)?Wp(-1,r):dn(r)}}else{if(n&128)return Xs(t,e.next);if(n&32)return Nf(e,t)()||dn(t[e.index]);{let o=xv(t,e);if(o!==null){if(Array.isArray(o))return o[0];let r=Bo(t[An]);return Xs(r,o)}else return Xs(t,e.next)}}}return null}function xv(t,e){if(e!==null){let o=t[An][wn],r=e.projection;return o.projection[r]}return null}function Wp(t,e){let n=Lt+t+1;if(n<e.length){let o=e[n],r=o[le].firstChild;if(r!==null)return Xs(o,r)}return e[Kr]}function Rf(t,e,n,o,r,i,s){for(;n!=null;){let a=o[Uo];if(n.type===128){n=n.next;continue}let c=o[n.index],l=n.type;if(s&&e===0&&(c&&Zi(dn(c),o),n.flags|=2),!xf(n))if(l&8)Rf(t,e,n.child,o,r,i,!1),Wi(e,t,a,r,c,n,i,o);else if(l&32){let d=Nf(n,o),u;for(;u=d();)Wi(e,t,a,r,u,n,i,o);Wi(e,t,a,r,c,n,i,o)}else l&16?SS(t,e,o,n,r,i):Wi(e,t,a,r,c,n,i,o);n=s?n.projectionNext:n.next}}function kl(t,e,n,o,r,i){t.type===3?wS(n,o,e,r,i):Rf(n,o,t.firstChild,e,r,i,!1)}function wS(t,e,n,o,r){let s=n[le].firstChild,a=s.next,c=dn(n[s.index]),l=dn(n[a.index]),d=a.index+1,u=n[d];if(e===1||e===0)o!==null&&(u&&u.hasChildNodes()?oi(t,o,u,r,!0):(oi(t,o,c,r,!0),oi(t,o,l,r,!0)));else if(e===2){if(u||(u=document.createDocumentFragment(),n[d]=u),c&&c.parentNode===u)return;let h=c;for(;h!==null;){let g=h.nextSibling;if(u.appendChild(h),h===l)break;h=g}}}function SS(t,e,n,o,r,i){let s=n[An],c=s[wn].projection[o.projection];if(Array.isArray(c))for(let l=0;l<c.length;l++){let d=c[l];Wi(e,t,n[Uo],r,d,o,i,n)}else{let l=c,d=s[$t];Gy(o)&&(l.flags|=128),Rf(t,e,l,d,r,i,!0)}}function TS(t,e,n,o,r,i,s){let a=o[Kr],c=dn(o);if(a!==c&&Wi(e,t,n,i,a,r,s),(o[fe]&4)===0)for(let l=Lt;l<o.length;l++){let d=o[l];kl(d[le],d,t,e,i,a)}}function MS(t,e,n,o,r){if(e)r?t.addClass(n,o):t.removeClass(n,o);else{let i=o.indexOf("-")===-1?void 0:Go.DashCase;r==null?t.removeStyle(n,o,i):(typeof r=="string"&&r.endsWith("!important")&&(r=r.slice(0,-10),i|=Go.Important),t.setStyle(n,o,r,i))}}function Lf(t,e,n,o,r,i,s,a,c,l,d){let u=ln+o,h=u+r,g=IS(u,h),_=typeof l=="function"?l():l;return g[le]={type:t,blueprint:g,template:n,queries:null,viewQuery:a,declTNode:e,data:g.slice().fill(null,u),bindingStartIndex:u,expandoStartIndex:h,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 i=="function"?i():i,pipeRegistry:typeof s=="function"?s():s,firstChild:null,schemas:c,consts:_,incompleteFirstPass:!1,ssrId:d}}function IS(t,e){let n=[];for(let o=0;o<e;o++)n.push(o<t?null:Tn);return n}function kS(t){let e=t.tView;return e===null||e.incompleteFirstPass?t.tView=Lf(1,null,t.template,t.decls,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas,t.consts,t.id):e}function Ff(t,e,n,o,r,i,s,a,c,l,d){let u=e.blueprint.slice();return u[uo]=r,u[fe]=o|4|128|8|64|1024,(l!==null||t&&t[fe]&2048)&&(u[fe]|=2048),ap(u),u[$t]=u[dr]=t,u[Rt]=n,u[po]=s||t&&t[po],u[kt]=a||t&&t[kt],u[Uo]=c||t&&t[Uo]||null,u[wn]=i,u[Us]=vw(),u[$i]=d,u[op]=l,u[An]=e.type==2?t[An]:u,u}function NS(t,e,n){let o=Kn(e,t),r=kS(n),i=t[po].rendererFactory,s=jf(t,Ff(t,r,null,Ev(n),o,e,null,i.createRenderer(o,n),null,null,null));return t[e.index]=s}function Ev(t){let e=16;return t.signals?e=4096:t.onPush&&(e=64),e}function Cv(t,e,n,o){if(n===0)return-1;let r=e.length;for(let i=0;i<n;i++)e.push(o),t.blueprint.push(o),t.data.push(null);return r}function jf(t,e){return t[Bi]?t[np][Yn]=e:t[Bi]=e,t[np]=e,e}function f(t=1){wv(bn(),Ye(),fo()+t,!1)}function wv(t,e,n,o){if(!o)if((e[fe]&3)===3){let i=t.preOrderCheckHooks;i!==null&&sl(e,i,n)}else{let i=t.preOrderHooks;i!==null&&al(e,i,0,n)}mr(n)}var Nl=(function(t){return t[t.None=0]="None",t[t.SignalBased=1]="SignalBased",t[t.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",t})(Nl||{});function Yp(t,e,n,o){let r=ae(null);try{let[i,s,a]=t.inputs[n],c=null;(s&Nl.SignalBased)!==0&&(c=e[i][cn]),c!==null&&c.transformFn!==void 0?o=c.transformFn(o):a!==null&&(o=a.call(e,o)),t.setInput!==null?t.setInput(e,c,o,n,i):YC(e,c,i,o)}finally{ae(r)}}function Sv(t,e,n,o,r){let i=fo(),s=o&2;try{mr(-1),s&&e.length>ln&&wv(t,e,ln,!1);let a=s?ot.TemplateUpdateStart:ot.TemplateCreateStart;dt(a,r,n),n(o,r)}finally{mr(i);let a=s?ot.TemplateUpdateEnd:ot.TemplateCreateEnd;dt(a,r,n)}}function Tv(t,e,n){FS(t,e,n),(n.flags&64)===64&&jS(t,e,n)}function Vf(t,e,n=Kn){let o=e.localNames;if(o!==null){let r=e.index+1;for(let i=0;i<o.length;i+=2){let s=o[i+1],a=s===-1?n(e,t):t[s];t[r++]=a}}}function DS(t,e,n,o){let i=o.get(ev,Jy)||n===go.ShadowDom||n===go.ExperimentalIsolatedShadowDom,s=t.selectRootElement(e,i);return OS(s),s}function OS(t){PS(t)}var PS=()=>null;function AS(t){return t==="class"?"className":t==="for"?"htmlFor":t==="formaction"?"formAction":t==="innerHtml"?"innerHTML":t==="readonly"?"readOnly":t==="tabindex"?"tabIndex":t}function RS(t,e,n,o,r,i){let s=e[le];if($f(t,s,e,n,o)){fr(t)&&LS(e,t.index);return}t.type&3&&(n=AS(n)),Mv(t,e,n,o,r,i)}function Mv(t,e,n,o,r,i){if(t.type&3){let s=Kn(t,e);o=i!=null?i(o,t.value||"",n):o,r.setProperty(s,n,o)}else t.type&12}function LS(t,e){let n=Mo(e,t);n[fe]&16||(n[fe]|=64)}function FS(t,e,n){let o=n.directiveStart,r=n.directiveEnd;fr(n)&&NS(e,n,t.data[o+n.componentOffset]),t.firstCreatePass||Vy(n,e);let i=n.initialInputs;for(let s=o;s<r;s++){let a=t.data[s],c=fl(e,t,s,n);if(Zi(c,e),i!==null&&US(e,s-o,c,a,n,i),Xr(a)){let l=Mo(n.index,e);l[Rt]=fl(e,t,s,n)}}}function jS(t,e,n){let o=n.directiveStart,r=n.directiveEnd,i=n.index,s=Pg();try{mr(i);for(let a=o;a<r;a++){let c=t.data[a],l=e[a];Wc(a),(c.hostBindings!==null||c.hostVars!==0||c.hostAttrs!==null)&&VS(c,l)}}finally{mr(-1),Wc(s)}}function VS(t,e){t.hostBindings!==null&&t.hostBindings(1,e)}function $S(t,e){let n=t.directiveRegistry,o=null;if(n)for(let r=0;r<n.length;r++){let i=n[r];tS(e,i.selectors,!1)&&(o??=[],Xr(i)?o.unshift(i):o.push(i))}return o}function HS(t,e,n,o,r,i){let s=Kn(t,e);BS(e[kt],s,i,t.value,n,o,r)}function BS(t,e,n,o,r,i,s){if(i==null)s?.(i,o||"",r),t.removeAttribute(e,r,n);else{let a=s==null?Gr(i):s(i,o||"",r);t.setAttribute(e,r,a,n)}}function US(t,e,n,o,r,i){let s=i[e];if(s!==null)for(let a=0;a<s.length;a+=2){let c=s[a],l=s[a+1];Yp(o,n,c,l)}}function Iv(t,e,n,o,r){let i=ln+n,s=e[le],a=r(s,e,t,o,n);e[i]=a,zi(t,!0);let c=t.type===2;return c?(fv(e[kt],a,t),(Eg()===0||$c(t))&&Zi(a,e),Cg()):Zi(a,e),Qc()&&(!c||!xf(t))&&Af(s,e,a,t),t}function kv(t){let e=t;return hp()?Mg():(e=e.parent,zi(e,!1)),e}function zS(t,e){let n=t[Uo];if(!n)return;let o;try{o=n.get(ni,null)}catch{o=null}o?.(e)}function $f(t,e,n,o,r){let i=t.inputs?.[o],s=t.hostDirectiveInputs?.[o],a=!1;if(s)for(let c=0;c<s.length;c+=2){let l=s[c],d=s[c+1],u=e.data[l];Yp(u,n[l],d,r),a=!0}if(i)for(let c of i){let l=n[c],d=e.data[c];Yp(d,l,o,r),a=!0}return a}function qS(t,e){let n=Mo(e,t),o=n[le];GS(o,n);let r=n[uo];r!==null&&n[$i]===null&&(n[$i]=tv(r,n[Uo])),dt(ot.ComponentStart);try{Hf(o,n,n[Rt])}finally{dt(ot.ComponentEnd,n[Rt])}}function GS(t,e){for(let n=e.length;n<t.blueprint.length;n++)e.push(t.blueprint[n])}function Hf(t,e,n){Zc(e);try{let o=t.viewQuery;o!==null&&Lp(1,o,n);let r=t.template;r!==null&&Sv(t,e,r,1,n),t.firstCreatePass&&(t.firstCreatePass=!1),e[To]?.finishViewCreation(t),t.staticContentQueries&&nv(t,e),t.staticViewQueries&&Lp(2,t.viewQuery,n);let i=t.components;i!==null&&WS(e,i)}catch(o){throw t.firstCreatePass&&(t.incompleteFirstPass=!0,t.firstCreatePass=!1),o}finally{e[fe]&=-5,Kc()}}function WS(t,e){for(let n=0;n<e.length;n++)qS(t,e[n])}function Dl(t,e,n,o){let r=ae(null);try{let i=e.tView,a=t[fe]&4096?4096:16,c=Ff(t,i,n,a,null,e,null,null,o?.injector??null,o?.embeddedViewInjector??null,o?.dehydratedView??null),l=t[e.index];c[ur]=l;let d=t[To];return d!==null&&(c[To]=d.createEmbeddedView(i)),Hf(i,c,n),c}finally{ae(r)}}function ta(t,e){return!e||e.firstChild===null||Gy(t)}function na(t,e,n,o,r=!1){if(t.type===3){let i=t.firstChild,s=i.next,a=dn(e[i.index]),c=dn(e[s.index]),l=a;for(;l!==null&&(o.push(l),l!==c);)l=l.nextSibling;return o}for(;n!==null;){if(n.type===128){n=r?n.projectionNext:n.next;continue}let i=e[n.index];if(i!==null)if(Zn(i)){let a=i[Kr];a!==i[uo]&&o.push(dn(i)),i[fe]&4||Nv(i,o),o.push(a)}else o.push(dn(i));let s=n.type;if(s&8)na(t,e,n.child,o);else if(s&32){let a=Nf(n,e),c;for(;c=a();)o.push(c)}else if(s&16){let a=xv(e,n);if(Array.isArray(a))o.push(...a);else{let c=Bo(e[An]);na(c[le],c,a,o,!0)}}n=r?n.projectionNext:n.next}return o}function Nv(t,e){for(let n=Lt;n<t.length;n++){let o=t[n],r=o[le].firstChild;r!==null&&na(o[le],o,r,e)}}function Dv(t){if(t[Zr]!==null){for(let e of t[Zr])e.impl.addSequence(e);t[Zr].length=0}}var Ov=[];function YS(t){return t[Rn]??ZS(t)}function ZS(t){let e=Ov.pop()??Object.create(QS);return e.lView=t,e}function KS(t){t.lView[Rn]!==t&&(t.lView=null,Ov.push(t))}var QS=X(H({},Pr),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{ei(t.lView)},consumerOnSignalRead(){this.lView[Rn]=this}});function XS(t){let e=t[Rn]??Object.create(JS);return e.lView=t,e}var JS=X(H({},Pr),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{let e=Bo(t.lView);for(;e&&!Pv(e[le]);)e=Bo(e);e&&cp(e)},consumerOnSignalRead(){this.lView[Rn]=this}});function Pv(t){return t.type!==2}function Av(t){if(t[Ho]===null)return;let e=!0;for(;e;){let n=!1;for(let o of t[Ho])if(o.dirty&&(n=!0,o.zone===null||Zone.current===o.zone?o.run():o.zone.run(()=>o.run()),t[Ho]===null))return;e=n&&!!(t[fe]&8192)}}var eT=100;function Rv(t,e=0){let o=t[po].rendererFactory,r=!1;r||o.begin?.();try{tT(t,e)}finally{r||o.end?.()}}function tT(t,e){let n=gp();try{Fs(!0),Zp(t,e);let o=0;for(;Gs(t);){if(o===eT)throw new Ce(103,!1);o++,Zp(t,1)}}finally{Fs(n)}}function nT(t,e,n,o){if(Jr(e))return;let r=e[fe],i=!1,s=!1;Zc(e);let a=!0,c=null,l=null;i||(Pv(t)?(l=YS(e),c=Rr(l)):lc()===null?(a=!1,l=XS(e),c=Rr(l)):e[Rn]&&(Lr(e[Rn]),e[Rn]=null));try{ap(e),Ng(t.bindingStartIndex),n!==null&&Sv(t,e,n,2,o);let d=(r&3)===3;if(!i)if(d){let g=t.preOrderCheckHooks;g!==null&&sl(e,g,null)}else{let g=t.preOrderHooks;g!==null&&al(e,g,0,null),Tp(e,0)}if(s||oT(e),Av(e),Lv(e,0),t.contentQueries!==null&&nv(t,e),!i)if(d){let g=t.contentCheckHooks;g!==null&&sl(e,g)}else{let g=t.contentHooks;g!==null&&al(e,g,1),Tp(e,1)}iT(t,e);let u=t.components;u!==null&&jv(e,u,0);let h=t.viewQuery;if(h!==null&&Lp(2,h,o),!i)if(d){let g=t.viewCheckHooks;g!==null&&sl(e,g)}else{let g=t.viewHooks;g!==null&&al(e,g,2),Tp(e,2)}if(t.firstUpdatePass===!0&&(t.firstUpdatePass=!1),e[Vc]){for(let g of e[Vc])g();e[Vc]=null}i||(Dv(e),e[fe]&=-73)}catch(d){let u=!1,h=d,g=e;for(;g!==null;){if(Zn(g)){g=g[$t];continue}let _=g[zs];if(_)try{let C=e[An][Rt],O=C?.constructor,W={declarationInstance:C,declarationType:O,caughtBy:_};_(Gg(h),W),u=!0;break}catch(C){h=C}g=g[$t]}if(!u)throw i||ei(e),h}finally{l!==null&&(Ii(l,c),a&&KS(l)),Kc()}}function Lv(t,e){for(let n=Yy(t);n!==null;n=Zy(n))for(let o=Lt;o<n.length;o++){let r=n[o];Fv(r,e)}}function oT(t){for(let e=Yy(t);e!==null;e=Zy(e)){if(!(e[fe]&2))continue;let n=e[Qr];for(let o=0;o<n.length;o++){let r=n[o];cp(r)}}}function rT(t,e,n){dt(ot.ComponentStart);let o=Mo(e,t);try{Fv(o,n)}finally{dt(ot.ComponentEnd,o[Rt])}}function Fv(t,e){Uc(t)&&Zp(t,e)}function Zp(t,e){let o=t[le],r=t[fe],i=t[Rn],s=!!(e===0&&r&16);if(s||=!!(r&64&&e===0),s||=!!(r&1024),s||=!!(i?.dirty&&Ns(i)),s||=!1,i&&(i.dirty=!1),t[fe]&=-9217,s)nT(o,t,o.template,t[Rt]);else if(r&8192){let a=ae(null);try{Av(t),Lv(t,1);let c=o.components;c!==null&&jv(t,c,1),Dv(t)}finally{ae(a)}}}function jv(t,e,n){for(let o=0;o<e.length;o++)rT(t,e[o],n)}function iT(t,e){let n=t.hostBindingOpCodes;if(n!==null)try{for(let o=0;o<n.length;o++){let r=n[o];if(r<0)mr(~r);else{let i=r,s=n[++o],a=n[++o];Og(s,i);let c=e[i];dt(ot.HostBindingsUpdateStart,c);try{a(2,c)}finally{dt(ot.HostBindingsUpdateEnd,c)}}}}finally{mr(-1)}}function Bf(t,e){let n=gp()?64:1088;for(t[po].changeDetectionScheduler?.notify(e);t;){t[fe]|=n;let o=Bo(t);if(Ui(t)&&!o)return t;t=o}return null}function Vv(t,e,n,o){return[t,!0,0,e,null,o,null,n,null,null]}function $v(t,e){let n=Lt+e;if(n<t.length)return t[n]}function Ol(t,e,n,o=!0){let r=e[le];if(sT(r,e,t,n),o){let s=Wp(n,t),a=e[kt],c=a.parentNode(t[Kr]);c!==null&&hS(r,t[wn],a,e,c,s)}let i=e[$i];i!==null&&i.firstChild!==null&&(i.firstChild=null)}function Hv(t,e){let n=oa(t,e);return n!==void 0&&Il(n[le],n),n}function oa(t,e){if(t.length<=Lt)return;let n=Lt+e,o=t[n];if(o){let r=o[ur];r!==null&&r!==t&&Pf(r,o),e>0&&(t[n-1][Yn]=o[Yn]);let i=$s(t,Lt+e);mS(o[le],o);let s=i[To];s!==null&&s.detachView(i[le]),o[$t]=null,o[Yn]=null,o[fe]&=-129}return o}function sT(t,e,n,o){let r=Lt+o,i=n.length;o>0&&(n[r-1][Yn]=e),o<i-Lt?(e[Yn]=n[r],Xu(n,Lt+o,e)):(n.push(e),e[Yn]=null),e[$t]=n;let s=e[ur];s!==null&&n!==s&&Bv(s,e);let a=e[To];a!==null&&a.insertView(t),zc(e),e[fe]|=128}function Bv(t,e){let n=t[Qr],o=e[$t];if(pr(o))t[fe]|=2;else{let r=o[$t][An];e[An]!==r&&(t[fe]|=2)}n===null?t[Qr]=[e]:n.push(e)}var Ki=class{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){let e=this._lView,n=e[le];return na(n,e,n.firstChild,[])}constructor(e,n){this._lView=e,this._cdRefInjectingView=n}get context(){return this._lView[Rt]}set context(e){this._lView[Rt]=e}get destroyed(){return Jr(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){let e=this._lView[$t];if(Zn(e)){let n=e[qs],o=n?n.indexOf(this):-1;o>-1&&(oa(e,o),$s(n,o))}this._attachedToViewContainer=!1}Il(this._lView[le],this._lView)}onDestroy(e){qc(this._lView,e)}markForCheck(){Bf(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[fe]&=-129}reattach(){zc(this._lView),this._lView[fe]|=128}detectChanges(){this._lView[fe]|=1024,Rv(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Ce(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Ui(this._lView),n=this._lView[ur];n!==null&&!e&&Pf(n,this._lView),bv(this._lView[le],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Ce(902,!1);this._appRef=e;let n=Ui(this._lView),o=this._lView[ur];o!==null&&!n&&Bv(o,this._lView),zc(this._lView)}};var ra=(()=>{class t{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=aT;constructor(n,o,r){this._declarationLView=n,this._declarationTContainer=o,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,o){return this.createEmbeddedViewImpl(n,o)}createEmbeddedViewImpl(n,o,r){let i=Dl(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:o,dehydratedView:r});return new Ki(i)}}return t})();function aT(){return Uf(Qn(),Ye())}function Uf(t,e){return t.type&4?new ra(e,t,Ji(t,e)):null}function Pl(t,e,n,o,r){let i=t.data[e];if(i===null)i=cT(t,e,n,o,r),Dg()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=o,i.attrs=r;let s=Tg();i.injectorIndex=s===null?-1:s.injectorIndex}return zi(i,!0),i}function cT(t,e,n,o,r){let i=mp(),s=hp(),a=s?i:i&&i.parent,c=t.data[e]=dT(t,a,n,e,o,r);return lT(t,c,i,s),c}function lT(t,e,n,o){t.firstChild===null&&(t.firstChild=e),n!==null&&(o?n.child==null&&e.parent!==null&&(n.child=e):n.next===null&&(n.next=e,e.prev=n))}function dT(t,e,n,o,r,i){let s=e?e.injectorIndex:-1,a=0;return Sg()&&(a|=128),{type:n,index:o,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,namespace:_p(),attrs:i,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 uT(t){let e=t[rp]??[],o=t[$t][kt],r=[];for(let i of e)i.data[Xy]!==void 0?r.push(i):pT(i,o);t[rp]=r}function pT(t,e){let n=0,o=t.firstChild;if(o){let r=t.data[Qy];for(;n<r;){let i=o.nextSibling;pv(e,o,!1),o=i,n++}}}var fT=()=>null,mT=()=>null;function Kp(t,e){return fT(t,e)}function Uv(t,e,n){return mT(t,e,n)}var zv=class{},Wo=class{};var qv=(()=>{class t{static \u0275prov=Re({token:t,providedIn:"root",factory:()=>null})}return t})();function Gv(t){return t.debugInfo?.className||t.type.name||null}var ll={},gl=class{injector;parentInjector;constructor(e,n){this.injector=e,this.parentInjector=n}get(e,n,o){let r=this.injector.get(e,ll,o);return r!==ll||n===ll?r:this.parentInjector.get(e,n,o)}};function hT(t,e,n){return t[e]=n}function gT(t,e){return t[e]}function No(t,e,n){if(n===Tn)return!1;let o=t[e];return Object.is(o,n)?!1:(t[e]=n,!0)}function yT(t,e,n,o){let r=No(t,e,n);return No(t,e+1,o)||r}function dl(t,e,n){return function o(r){let i=o.__ngNativeEl__;i!==void 0&&bw(r,i);let s=fr(t)?Mo(t.index,e):e;Bf(s,5);let a=e[Rt],c=yy(e,a,n,r),l=o.__ngNextListenerFn__;for(;l;)c=yy(e,a,l,r)&&c,l=l.__ngNextListenerFn__;return c}}function yy(t,e,n,o){let r=ae(null);try{return dt(ot.OutputStart,e,n),n(o)!==!1}catch(i){return zS(t,i),!1}finally{dt(ot.OutputEnd,e,n),ae(r)}}function Wv(t,e,n,o,r,i,s,a){let c=$c(t),l=!1,d=null;if(!o&&c&&(d=_T(e,n,i,t.index)),d!==null){let u=d.__ngLastListenerFn__||d;u.__ngNextListenerFn__=s,d.__ngLastListenerFn__=s,l=!0}else{let u=Kn(t,n),h=o?o(u):u;Ew(n,h,i,a),o||(a.__ngNativeEl__=u);let g=r.listen(h,i,a);if(!vT(i)){let _=o?C=>o(dn(C[t.index])):t.index;Yv(_,e,n,i,a,g,!1)}}return l}function vT(t){return t.startsWith("animation")||t.startsWith("transition")}function _T(t,e,n,o){let r=t.cleanup;if(r!=null)for(let i=0;i<r.length-1;i+=2){let s=r[i];if(s===n&&r[i+1]===o){let a=e[Hi],c=r[i+2];return a&&a.length>c?a[c]:null}typeof s=="string"&&(i+=2)}return null}function Yv(t,e,n,o,r,i,s){let a=e.firstCreatePass?dp(e):null,c=lp(n),l=c.length;c.push(r,i),a&&a.push(o,t,l,(l+1)*(s?-1:1))}function vy(t,e,n,o,r,i){let s=e[n],a=e[le],l=a.data[n].outputs[o],u=s[l].subscribe(i);Yv(t.index,a,e,r,i,u,!0)}var Qp=Symbol("BINDING");var ai=new Be("");function yl(t,e,n){let o=n?t.styles:null,r=n?t.classes:null,i=0;if(e!==null)for(let s=0;s<e.length;s++){let a=e[s];if(typeof a=="number")i=a;else if(i==1)r=Mc(r,a);else if(i==2){let c=a,l=e[++s];o=Mc(o,c+": "+l+";")}}n?t.styles=o:t.stylesWithoutHost=o,n?t.classes=r:t.classesWithoutHost=r}function Zv(t,e=0){let n=Ye();if(n===null)return at(t,e);let o=Qn();return Uy(o,n,Pn(t),e)}function bT(t,e,n,o,r){let i=o===null?null:{"":-1},s=r(t,n);if(s!==null){let a=s,c=null,l=null;for(let d of s)if(d.resolveHostDirectives!==null){[a,c,l]=d.resolveHostDirectives(s);break}CT(t,e,n,a,i,c,l)}i!==null&&o!==null&&xT(n,o,i)}function xT(t,e,n){let o=t.localNames=[];for(let r=0;r<e.length;r+=2){let i=n[e[r+1]];if(i==null)throw new Ce(-301,!1);o.push(e[r],i)}}function ET(t,e,n){e.componentOffset=n,(t.components??=[]).push(e.index)}function CT(t,e,n,o,r,i,s){let a=o.length,c=null;for(let h=0;h<a;h++){let g=o[h];c===null&&Xr(g)&&(c=g,ET(t,n,h)),lw(Vy(n,e),t,g.type)}kT(n,t.data.length,a),c?.viewProvidersResolver&&c.viewProvidersResolver(c);for(let h=0;h<a;h++){let g=o[h];g.providersResolver&&g.providersResolver(g)}let l=!1,d=!1,u=Cv(t,e,a,null);a>0&&(n.directiveToIndex=new Map);for(let h=0;h<a;h++){let g=o[h];if(n.mergedAttrs=wl(n.mergedAttrs,g.hostAttrs),ST(t,n,e,u,g),IT(u,g,r),s!==null&&s.has(g)){let[C,O]=s.get(g);n.directiveToIndex.set(g.type,[u,C+n.directiveStart,O+n.directiveStart])}else(i===null||!i.has(g))&&n.directiveToIndex.set(g.type,u);g.contentQueries!==null&&(n.flags|=4),(g.hostBindings!==null||g.hostAttrs!==null||g.hostVars!==0)&&(n.flags|=64);let _=g.type.prototype;!l&&(_.ngOnChanges||_.ngOnInit||_.ngDoCheck)&&((t.preOrderHooks??=[]).push(n.index),l=!0),!d&&(_.ngOnChanges||_.ngDoCheck)&&((t.preOrderCheckHooks??=[]).push(n.index),d=!0),u++}wT(t,n,i)}function wT(t,e,n){for(let o=e.directiveStart;o<e.directiveEnd;o++){let r=t.data[o];if(n===null||!n.has(r))_y(0,e,r,o),_y(1,e,r,o),xy(e,o,!1);else{let i=n.get(r);by(0,e,i,o),by(1,e,i,o),xy(e,o,!0)}}}function _y(t,e,n,o){let r=t===0?n.inputs:n.outputs;for(let i in r)if(Object.hasOwn(r,i)){let s;t===0?s=e.inputs??={}:s=e.outputs??={},s[i]??=[],s[i].push(o),Kv(e,i)}}function by(t,e,n,o){let r=t===0?n.inputs:n.outputs;for(let i in r)if(Object.hasOwn(r,i)){let s=r[i],a;t===0?a=e.hostDirectiveInputs??={}:a=e.hostDirectiveOutputs??={},a[s]??=[],a[s].push(o,i),Kv(e,s)}}function Kv(t,e){e==="class"?t.flags|=8:e==="style"&&(t.flags|=16)}function xy(t,e,n){let{attrs:o,inputs:r,hostDirectiveInputs:i}=t;if(o===null||!n&&r===null||n&&i===null||kf(t)){t.initialInputs??=[],t.initialInputs.push(null);return}let s=null,a=0;for(;a<o.length;){let c=o[a];if(c===0){a+=4;continue}else if(c===5){a+=2;continue}else if(typeof c=="number")break;if(!n&&Object.hasOwn(r,c)){let l=r[c];for(let d of l)if(d===e){s??=[],s.push(c,o[a+1]);break}}else if(n&&Object.hasOwn(i,c)){let l=i[c];for(let d=0;d<l.length;d+=2)if(l[d]===e){s??=[],s.push(l[d+1],o[a+1]);break}}a+=2}t.initialInputs??=[],t.initialInputs.push(s)}function ST(t,e,n,o,r){t.data[o]=r;let i=r.factory||(r.factory=Ri(r.type,!0)),s=new ea(i,Xr(r),Zv,null);t.blueprint[o]=s,n[o]=s,TT(t,e,o,Cv(t,n,r.hostVars,Tn),r)}function TT(t,e,n,o,r){let i=r.hostBindings;if(i){let s=t.hostBindingOpCodes;s===null&&(s=t.hostBindingOpCodes=[]);let a=~e.index;MT(s)!=a&&s.push(a),s.push(n,o,i)}}function MT(t){let e=t.length;for(;e>0;){let n=t[--e];if(typeof n=="number"&&n<0)return n}return 0}function IT(t,e,n){if(n){if(e.exportAs)for(let o=0;o<e.exportAs.length;o++)n[e.exportAs[o]]=t;Xr(e)&&(n[""]=t)}}function kT(t,e,n){t.flags|=1,t.directiveStart=e,t.directiveEnd=e+n,t.providerIndexes=e}function Qv(t,e,n,o,r,i,s,a){let c=e[le],l=c.consts,d=Io(l,s),u=Pl(c,t,n,o,d);return i&&bT(c,e,u,Io(l,a),r),u.mergedAttrs=wl(u.mergedAttrs,u.attrs),u.attrs!==null&&yl(u,u.attrs,!1),u.mergedAttrs!==null&&yl(u,u.mergedAttrs,!0),c.queries!==null&&c.queries.elementStart(c,u),u}function Xv(t,e){XC(t,e),ip(e)&&t.queries.elementEnd(e)}function NT(t,e,n,o,r,i){let s=e.consts,a=Io(s,r),c=Pl(e,t,n,o,a);if(c.mergedAttrs=wl(c.mergedAttrs,c.attrs),i!=null){let l=Io(s,i);c.localNames=[];for(let d=0;d<l.length;d+=2)c.localNames.push(l[d],-1)}return c.attrs!==null&&yl(c,c.attrs,!1),c.mergedAttrs!==null&&yl(c,c.mergedAttrs,!0),e.queries!==null&&e.queries.elementStart(e,c),c}var Jv=typeof ShadowRoot<"u",DT=typeof Document<"u";function OT(t){return Object.keys(t).map(e=>{let[n,o,r]=t[e],i={propName:n,templateName:e,isSignal:(o&Nl.SignalBased)!==0};return r&&(i.transform=r),i})}function PT(t){return Object.keys(t).map(e=>({propName:t[e],templateName:e}))}function AT(t,e,n){let o=e instanceof lo?e:e?.injector;return o&&t.getStandaloneInjector!==null&&(o=t.getStandaloneInjector(o)||o),o?new gl(n,o):n}function RT(t){let e=t.get(Wo,null);if(e===null)throw new Ce(407,!1);let n=t.get(qv,null),o=t.get(cr,null),r=t.get(Ko,null,{optional:!0});return{rendererFactory:e,sanitizer:n,changeDetectionScheduler:o,ngReflect:!1,tracingService:r}}function LT(t,e,n){let o=e_(t);return dv(e,o,o==="svg"?Ur:o==="math"?Hc:n)}function FT(t){if((t&&"localName"in t&&typeof t.localName=="string"?t.localName:t?.tagName)?.toLowerCase()==="script")throw new Ce(905,!1)}function e_(t){return(t.selectors[0][0]||"div").toLowerCase()}var ia=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=OT(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=PT(this.componentDef.outputs),this.cachedOutputs}constructor(e,n){this.componentDef=e,this.ngModule=n,this.componentType=e.type,this.selector=iS(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!n}create(e,n,o,r,i,s,a,c){dt(ot.DynamicComponentStart);let l=ae(null);try{let d=this.componentDef,u=AT(d,r||this.ngModule,e),h=RT(u),g=h.tracingService;return g&&g.componentCreate?g.componentCreate(Gv(d),()=>this.createComponentRef(h,u,n,o,i,s,a,c)):this.createComponentRef(h,u,n,o,i,s,a,c)}finally{ae(l)}}createComponentRef(e,n,o,r,i,s,a,c){let l=this.componentDef,d=jT(r,l,s,i,c),u=e.rendererFactory.createRenderer(null,l),h=r?DS(u,r,l.encapsulation,n):LT(l,u,a??null);FT(h);let g=n.get(ai,null),_=VT(h,()=>n.get(xn,null)??bf());g&&g.addHost(_);let C=s?.some(Ey)||i?.some(q=>typeof q!="function"&&q.bindings.some(Ey)),O=Ff(null,d,null,512|Ev(l),null,null,e,u,n,null,tv(h,n,!0));g&&Jv&&_ instanceof ShadowRoot&&qc(O,()=>{g.removeHost(_)}),O[ln]=h,Zc(O);let W=null;try{let q=Qv(ln,O,2,"#host",()=>d.directiveRegistry,!0,0);fv(u,h,q),Zi(h,O),Tv(d,O,q),ov(d,q,O),Xv(d,q),o!==void 0&&HT(q,this.ngContentSelectors,o),W=Mo(q.index,O),O[Rt]=W[Rt],Hf(d,O,null)}catch(q){throw W!==null&&Ap(W),Ap(O),q}finally{dt(ot.DynamicComponentEnd),Kc()}return new vl(this.componentType,O,!!C)}};function jT(t,e,n,o,r){let i=t?["ng-version","22.2.1"]:sS(e.selectors[0]),s=null,a=null,c=0;if(n)for(let u of n)c+=u[Qp].requiredVars,u.create&&(u.targetIdx=0,(s??=[]).push(u)),u.update&&(u.targetIdx=0,(a??=[]).push(u));if(o)for(let u=0;u<o.length;u++){let h=o[u];if(typeof h!="function")for(let g of h.bindings){c+=g[Qp].requiredVars;let _=u+1;g.create&&(g.targetIdx=_,(s??=[]).push(g)),g.update&&(g.targetIdx=_,(a??=[]).push(g))}}let l=[e];if(o)for(let u of o){let h=typeof u=="function"?u:u.type,g=Dc(h);l.push(g)}return Lf(0,null,$T(s,a),1,c,l,null,null,null,[i],null)}function VT(t,e){let n=t.getRootNode?.();return DT&&n instanceof Document?n.head:n&&Jv&&n instanceof ShadowRoot?n:e().head}function $T(t,e){return!t&&!e?null:n=>{if(n&1&&t)for(let o of t)o.create();if(n&2&&e)for(let o of e)o.update()}}function Ey(t){let e=t[Qp].kind;return e==="input"||e==="twoWay"}var vl=class extends zv{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,n,o){super(),this._rootLView=n,this._hasInputBindings=o,this._tNode=Bc(n[le],ln),this.location=Ji(this._tNode,n),this.instance=Mo(this._tNode.index,n)[Rt],this.hostView=this.changeDetectorRef=new Ki(n,void 0),this.componentType=e}setInput(e,n){this._hasInputBindings;let o=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),n))return;let r=this._rootLView,i=$f(o,r[le],r,e,n);this.previousInputValues.set(e,n);let s=Mo(o.index,r);Bf(s,1)}get injector(){return new zo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function HT(t,e,n){let o=t.projection=[];for(let r=0;r<e.length;r++){let i=n[r];o.push(i!=null&&i.length?Array.from(i):null)}}var Al=(()=>{class t{static __NG_ELEMENT_ID__=BT}return t})();function BT(){let t=Qn();return t_(t,Ye())}var Xp=class t extends Al{_lContainer;_hostTNode;_hostLView;constructor(e,n,o){super(),this._lContainer=e,this._hostTNode=n,this._hostLView=o}get element(){return Ji(this._hostTNode,this._hostLView)}get injector(){return new zo(this._hostTNode,this._hostLView)}get parentInjector(){let e=yf(this._hostTNode,this._hostLView);if(Ly(e)){let n=pl(e,this._hostLView),o=ul(e),r=n[le].data[o+8];return new zo(r,n)}else return new zo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let n=Cy(this._lContainer);return n!==null&&n[e]||null}get length(){return this._lContainer.length-Lt}createEmbeddedView(e,n,o){let r,i,s;typeof o=="number"?r=o:o!=null&&(r=o.index,i=o.injector,s=o.onError);let a=Kp(this._lContainer,e.ssrId),c=e.createEmbeddedViewImpl(n||{},i,a);return s&&(c._lView[zs]=s),this.insertImpl(c,r,ta(this._hostTNode,a)),c}createComponent(e,n,o,r,i,s,a){let c,l,d=n||{};c=d.index,o=d.injector,r=d.projectableNodes,i=d.environmentInjector||d.ngModuleRef,s=d.directives,a=d.bindings,l=d.onError;let u=new ia(qr(e)),h=o||this.parentInjector;if(!i&&u.ngModule==null){let q=this.parentInjector.get(lo,null);q&&(i=q)}let g=qr(u.componentType??{}),_=Kp(this._lContainer,g?.id??null),C=_?.firstChild??null,O=u.create(h,r,C,i,s,a,this._getHostElementNamespace());return l&&(O.hostView._lView[zs]=l),this.insertImpl(O.hostView,c,ta(this._hostTNode,_)),O}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[wn];return e!==null&&e.type&2&&typeof e.value=="string"&&e.value.toLowerCase()==="foreignobject"?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,n){return this.insertImpl(e,n,!0)}insertImpl(e,n,o){let r=e._lView;if(vg(r)){let a=this.indexOf(e);if(a!==-1)this.detach(a);else{let c=r[$t],l=new t(c,c[wn],c[$t]);l.detach(l.indexOf(e))}}let i=this._adjustIndex(n),s=this._lContainer;return Ol(s,r,i,o),e.attachToViewContainerRef(),Xu(kp(s),i,e),e}move(e,n){return this.insert(e,n)}indexOf(e){let n=Cy(this._lContainer);return n!==null?n.indexOf(e):-1}remove(e){let n=this._adjustIndex(e,-1),o=oa(this._lContainer,n);o&&($s(kp(this._lContainer),n),Il(o[le],o))}detach(e){let n=this._adjustIndex(e,-1),o=oa(this._lContainer,n);return o&&$s(kp(this._lContainer),n)!=null?new Ki(o):null}_adjustIndex(e,n=0){return e??this.length+n}};function Cy(t){return t[qs]}function kp(t){return t[qs]||(t[qs]=[])}function t_(t,e){let n,o=e[t.index];return Zn(o)?n=o:(n=Vv(o,e,null,t),e[t.index]=n,jf(e,n)),zT(n,e,t,o),new Xp(n,t,e)}function UT(t,e){let n=t[kt],o=n.createComment(""),r=Kn(e,t),i=n.parentNode(r);return oi(n,i,o,n.nextSibling(r),!1),o}var zT=WT,qT=()=>!1;function GT(t,e,n){return qT(t,e,n)}function WT(t,e,n,o){if(t[Kr])return;let r;n.type&8?r=dn(o):r=UT(e,n),t[Kr]=r}var Jp=class t{queryList;matches=null;constructor(e){this.queryList=e}clone(){return new t(this.queryList)}setDirty(){this.queryList.setDirty()}},ef=class t{queries;constructor(e=[]){this.queries=e}createEmbeddedView(e){let n=e.queries;if(n!==null){let o=e.contentQueries!==null?e.contentQueries[0]:n.length,r=[];for(let i=0;i<o;i++){let s=n.getByIndex(i),a=this.queries[s.indexInDeclarationView];r.push(a.clone())}return new t(r)}return null}insertView(e){this.dirtyQueriesWithMatches(e)}detachView(e){this.dirtyQueriesWithMatches(e)}finishViewCreation(e){this.dirtyQueriesWithMatches(e)}dirtyQueriesWithMatches(e){for(let n=0;n<this.queries.length;n++)r_(e,n).matches!==null&&this.queries[n].setDirty()}},tf=class{flags;read;predicate;constructor(e,n,o=null){this.flags=n,this.read=o,typeof e=="string"?this.predicate=e1(e):this.predicate=e}},nf=class t{queries;constructor(e=[]){this.queries=e}elementStart(e,n){for(let o=0;o<this.queries.length;o++)this.queries[o].elementStart(e,n)}elementEnd(e){for(let n=0;n<this.queries.length;n++)this.queries[n].elementEnd(e)}embeddedTView(e){let n=null;for(let o=0;o<this.length;o++){let r=n!==null?n.length:0,i=this.getByIndex(o).embeddedTView(e,r);i&&(i.indexInDeclarationView=o,n!==null?n.push(i):n=[i])}return n!==null?new t(n):null}template(e,n){for(let o=0;o<this.queries.length;o++)this.queries[o].template(e,n)}getByIndex(e){return this.queries[e]}get length(){return this.queries.length}track(e){this.queries.push(e)}},of=class t{metadata;matches=null;indexInDeclarationView=-1;crossesNgTemplate=!1;_declarationNodeIndex;_appliesToNextNode=!0;constructor(e,n=-1){this.metadata=e,this._declarationNodeIndex=n}elementStart(e,n){this.isApplyingToNode(n)&&this.matchTNode(e,n)}elementEnd(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}template(e,n){this.elementStart(e,n)}embeddedTView(e,n){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,n),new t(this.metadata)):null}isApplyingToNode(e){if(this._appliesToNextNode&&(this.metadata.flags&1)!==1){let n=this._declarationNodeIndex,o=e.parent;for(;o!==null&&o.type&8&&o.index!==n;)o=o.parent;return n===(o!==null?o.index:-1)}return this._appliesToNextNode}matchTNode(e,n){let o=this.metadata.predicate;if(Array.isArray(o))for(let r=0;r<o.length;r++){let i=o[r];this.matchTNodeWithReadOption(e,n,YT(n,i)),this.matchTNodeWithReadOption(e,n,cl(n,e,i,!1,!1))}else o===ra?n.type&4&&this.matchTNodeWithReadOption(e,n,-1):this.matchTNodeWithReadOption(e,n,cl(n,e,o,!1,!1))}matchTNodeWithReadOption(e,n,o){if(o!==null){let r=this.metadata.read;if(r!==null)if(r===Zt||r===Al||r===Gn||r===ra&&n.type&4)this.addMatch(n.index,-2);else{let i=cl(n,e,r,!1,!1);i!==null&&this.addMatch(n.index,i)}else this.addMatch(n.index,o)}}addMatch(e,n){this.matches===null?this.matches=[e,n]:this.matches.push(e,n)}};function YT(t,e){let n=t.localNames;if(n!==null){for(let o=0;o<n.length;o+=2)if(n[o]===e)return n[o+1]}return null}function ZT(t,e){return t.type&11?Ji(t,e):t.type&4?Uf(t,e):null}function KT(t,e,n,o){return n===-1?ZT(e,t):n===-2?QT(t,e,o):fl(t,t[le],n,e)}function QT(t,e,n){if(n===Zt)return Ji(e,t);if(n===ra)return Uf(e,t);if(n===Al)return t_(e,t);if(n===Gn)return new zo(e,t)}function n_(t,e,n,o){let r=e[To].queries[o];if(r.matches===null){let i=t.data,s=n.matches,a=[];for(let c=0;s!==null&&c<s.length;c+=2){let l=s[c];if(l<0)a.push(null);else{let d=i[l];a.push(KT(e,d,s[c+1],n.metadata.read))}}r.matches=a}return r.matches}function rf(t,e,n,o){let r=t.queries.getByIndex(n),i=r.matches;if(i!==null){let s=n_(t,e,r,n);for(let a=0;a<i.length;a+=2){let c=i[a];if(c>0)o.push(s[a/2]);else{let l=i[a+1],d=e[-c];for(let u=Lt;u<d.length;u++){let h=d[u];h[ur]===h[$t]&&rf(h[le],h,l,o)}if(d[Qr]!==null){let u=d[Qr];for(let h=0;h<u.length;h++){let g=u[h];rf(g[le],g,l,o)}}}}}return o}function o_(t,e){return t[To].queries[e].queryList}function XT(t,e,n){let o=new ml((n&4)===4);return xg(t,e,o,o.destroy),(e[To]??=new ef).queries.push(new Jp(o))-1}function JT(t,e,n){let o=bn();return o.firstCreatePass&&(t1(o,new tf(t,e,n),-1),(e&2)===2&&(o.staticViewQueries=!0)),XT(o,Ye(),e)}function e1(t){return t.split(",").map(e=>e.trim())}function t1(t,e,n){t.queries===null&&(t.queries=new nf),t.queries.track(new of(e,n))}function r_(t,e){return t.queries.getByIndex(e)}function n1(t,e){let n=t[le],o=r_(n,e);return o.crossesNgTemplate?rf(n,t,e,[]):n_(n,t,o,e)}function zf(t,e,n){let o,r=Ds(()=>{o._dirtyCounter();let i=r1(o,t);if(e&&i===void 0)throw new Ce(-951,!1);return i});return o=r[cn],o._dirtyCounter=F(0),o._flatValue=void 0,r}function i_(t){return zf(!0,!1,t)}function s_(t){return zf(!0,!0,t)}function a_(t){return zf(!1,!1,t)}function o1(t,e){let n=t[cn];n._lView=Ye(),n._queryIndex=e,n._queryList=o_(n._lView,e),n._queryList.onDirty(()=>n._dirtyCounter.update(o=>o+1))}function r1(t,e){let n=t._lView,o=t._queryIndex;if(n===void 0||o===void 0||n[fe]&4)return e?void 0:co;let r=o_(n,o),i=n1(n,o);return r.reset(i,hw),e?r.first:r._changesDetected||t._flatValue===void 0?t._flatValue=r.toArray():t._flatValue}function qf(t){return!!t&&typeof t.then=="function"}function c_(t){return!!t&&typeof t.subscribe=="function"}var _l=class{};var sa=class extends _l{injector;instance=null;constructor(e){super();let n=new Br([...e.providers,{provide:_l,useValue:this}],e.parent||Bs(),e.debugName,new Set(["environment"]));this.injector=n,e.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function l_(t,e,n=null){return new sa({providers:t,parent:e,debugName:n,runEnvironmentInitializers:!0}).injector}var i1=(()=>{class t{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let o=ep(!1,n.type),r=o.length>0?l_([o],this._injector,""):null;this.cachedInjectors.set(n,r)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=Re({token:t,providedIn:"environment",factory:()=>new t(at(lo))})}return t})();function ge(t){return gf(()=>{let e=d_(t),n=X(H({},e),{decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection!==vf.Eager,directiveDefs:null,pipeDefs:null,dependencies:e.standalone&&t.dependencies||null,getStandaloneInjector:e.standalone?r=>r.get(i1).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||go.Emulated,styles:t.styles||co,_:null,schemas:t.schemas||null,tView:null,id:""});e.standalone&&ii("NgStandalone"),u_(n);let o=t.dependencies;return n.directiveDefs=wy(o,s1),n.pipeDefs=wy(o,ng),n.id=l1(n),n})}function s1(t){return qr(t)||Dc(t)}function a1(t,e){if(t==null)return Lc;let n={};for(let o in t)if(Object.hasOwn(t,o)){let r=t[o],i,s,a,c;Array.isArray(r)?(a=r[0],i=r[1],s=r[2]??i,c=r[3]||null):(i=r,s=r,a=Nl.None,c=null),n[i]=[o,a,c],e[i]=s}return n}function c1(t){if(t==null)return Lc;let e={};for(let n in t)Object.hasOwn(t,n)&&(e[t[n]]=n);return e}function da(t){return gf(()=>{let e=d_(t);return u_(e),e})}function d_(t){let e={};return{type:t.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputConfig:t.inputs||Lc,exportAs:t.exportAs||null,standalone:t.standalone??!0,signals:t.signals===!0,selectors:t.selectors||co,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:a1(t.inputs,e),outputs:c1(t.outputs),debugInfo:null}}function u_(t){t.features?.forEach(e=>e(t))}function wy(t,e){return t?()=>{let n=typeof t=="function"?t():t,o=[];for(let r of n){let i=e(r);i!==null&&o.push(i)}return o}:null}function l1(t){let e=0,n=typeof t.consts=="function"?"":t.consts,o=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,n,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery];for(let i of o.join("|"))e=Math.imul(31,e)+i.charCodeAt(0)<<0;return e+=2147483648,"c"+e}var p_=new Be("");var Gf=(()=>{class t{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,o)=>{this.resolve=n,this.reject=o});appInits=I(p_,{optional:!0})??[];injector=I(Gn);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let r of this.appInits){let i=jc(this.injector,r);if(qf(i))n.push(i);else if(c_(i)){let s=new Promise((a,c)=>{i.subscribe({complete:a,error:c})});n.push(s)}}let o=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{o()}).catch(r=>{this.reject(r)}),n.length===0&&o(),this.initialized=!0}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function d1(t,e,n,o,r,i,s,a){if(n.firstCreatePass){t.mergedAttrs=wl(t.mergedAttrs,t.attrs);let d=t.tView=Lf(2,t,r,i,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,t),d.queries=n.queries.embeddedTView(t))}a&&(t.flags|=a),zi(t,!1);let c=u1(n,e,t,o);Qc()&&Af(n,e,c,t),Zi(c,e);let l=Vv(c,e,c,t);e[o+ln]=l,jf(e,l),GT(l,t,e)}function bl(t,e,n,o,r,i,s,a,c,l,d){let u=n+ln,h;if(e.firstCreatePass){if(h=Pl(e,u,4,s||null,a||null),l!=null){let g=Io(e.consts,l);h.localNames=[];for(let _=0;_<g.length;_+=2)h.localNames.push(g[_],-1)}}else h=e.data[u];return d1(h,t,e,n,o,r,i,c),l!=null&&Vf(t,h,d),h}var u1=p1;function p1(t,e,n,o){return Xc(!0),e[kt].createComment("")}var Wf=new Be("");var Yf=new Be("");function f_(){hu(t=>{let e="";throw new Ce(-600,e)})}var f1=10;var ua=(()=>{class t{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=I(ni);afterRenderManager=I(Of);zonelessEnabled=I(Qs);rootEffectScheduler=I(tl);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new qn;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=I(qi);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Iu(n=>!n))}constructor(){I(Ko,{optional:!0})}whenStable(){let n;return new Promise(o=>{n=this.isStable.subscribe({next:r=>{r&&o()}})}).finally(()=>{n.unsubscribe()})}_injector=I(lo);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,o){return this.bootstrapImpl(n,o)}bootstrapImpl(n,o,r=Gn.NULL){return this._injector.get(Cn).run(()=>{if(dt(ot.BootstrapComponentStart),!this._injector.get(Gf).done){let W="";throw new Ce(405,W)}let a=qr(n),c=this._injector.get(_l),l=new ia(a,c);this.componentTypes.push(n);let{hostElement:d,directives:u,bindings:h}=m1(o),g=d||l.selector,_=l.create(r,[],g,c.injector,u,h),C=_.location.nativeElement,O=_.injector.get(Wf,null);return O?.registerApplication(C),_.onDestroy(()=>{this.detachView(_.hostView),Js(this.components,_),O?.unregisterApplication(C)}),this._loadComponent(_),dt(ot.BootstrapComponentEnd,_),_})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){dt(ot.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(Ml.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw dt(ot.ChangeDetectionEnd),new Ce(101,!1);let n=ae(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,ae(n),this.afterTick.next(),dt(ot.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Wo,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++<f1;){dt(ot.ChangeDetectionSyncStart);try{this.synchronizeOnce()}finally{dt(ot.ChangeDetectionSyncEnd)}}}synchronizeOnce(){this.dirtyFlags&16&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let n=!1;if(this.dirtyFlags&7){let o=!!(this.dirtyFlags&1);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:r}of this.allViews){if(!o&&!Gs(r))continue;let i=o&&!this.zonelessEnabled?0:1;Rv(r,i),n=!0}if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),this.dirtyFlags&23)return}n||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),this.dirtyFlags&8&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){if(this.allViews.some(({_lView:n})=>Gs(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let o=n;this._views.push(o),o.attachToAppRef(this)}detachView(n){let o=n;Js(this._views,o),o.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(r){this.internalErrorHandler(r)}this.components.push(n),this._injector.get(Yf,[]).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Js(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Ce(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function m1(t){return t===void 0||typeof t=="string"||t instanceof Element?{hostElement:t}:t}function Js(t,e){let n=t.indexOf(e);n>-1&&t.splice(n,1)}function Ne(t,e,n,o){let r=Ye(),i=ti();if(No(r,i,e)){let s=bn(),a=Ws();HS(a,r,t,e,n,o)}return Ne}var sf=class{destroy(e){}updateValue(e,n){}swap(e,n){let o=Math.min(e,n),r=Math.max(e,n),i=this.detach(r);if(r-o>1){let s=this.detach(o);this.attach(o,i),this.attach(r,s)}else this.attach(o,i)}move(e,n){this.attach(n,this.detach(e))}};function Np(t,e,n,o,r){return t===n&&Object.is(e,o)?1:Object.is(r(t,e),r(n,o))?-1:0}function h1(t,e,n,o){let r,i,s=0,a=t.length-1,c=void 0;if(Array.isArray(e)){ae(o);let l=e.length-1;for(ae(null);s<=a&&s<=l;){let d=t.at(s),u=e[s],h=Np(s,d,s,u,n);if(h!==0){h<0&&t.updateValue(s,u),s++;continue}let g=t.at(a),_=e[l],C=Np(a,g,l,_,n);if(C!==0){C<0&&t.updateValue(a,_),a--,l--;continue}let O=n(s,d),W=n(a,g),q=n(s,u);if(Object.is(q,W)){let he=n(l,_);Object.is(he,O)?(t.swap(s,a),t.updateValue(a,_),l--,a--):t.move(a,s),t.updateValue(s,u),s++;continue}if(r??=new xl,i??=Ty(t,s,a,n),af(t,r,s,q))t.updateValue(s,u),s++,a++;else if(i.has(q))r.set(O,t.detach(s)),a--;else{let he=t.create(s,e[s]);t.attach(s,he),s++,a++}}for(;s<=l;)Sy(t,r,n,s,e[s]),s++}else if(e!=null){ae(o);let l=e[Symbol.iterator]();ae(null);let d=l.next();for(;!d.done&&s<=a;){let u=t.at(s),h=d.value,g=Np(s,u,s,h,n);if(g!==0)g<0&&t.updateValue(s,h),s++,d=l.next();else{r??=new xl,i??=Ty(t,s,a,n);let _=n(s,h);if(af(t,r,s,_))t.updateValue(s,h),s++,a++,d=l.next();else if(!i.has(_))t.attach(s,t.create(s,h)),s++,a++,d=l.next();else{let C=n(s,u);r.set(C,t.detach(s)),a--}}}for(;!d.done;)Sy(t,r,n,t.length,d.value),d=l.next()}for(;s<=a;)t.destroy(t.detach(a--));r?.forEach(l=>{t.destroy(l)})}function af(t,e,n,o){return e!==void 0&&e.has(o)?(t.attach(n,e.get(o)),e.delete(o),!0):!1}function Sy(t,e,n,o,r){if(af(t,e,o,n(o,r)))t.updateValue(o,r);else{let i=t.create(o,r);t.attach(o,i)}}function Ty(t,e,n,o){let r=new Set;for(let i=e;i<=n;i++)r.add(o(i,t.at(i)));return r}var xl=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let n=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(e,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,n){if(this.kvMap.has(e)){let o=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(o);)o=r.get(o);r.set(o,n)}else this.kvMap.set(e,n)}forEach(e){for(let[n,o]of this.kvMap)if(e(o,n),this._vMap!==void 0){let r=this._vMap;for(;r.has(o);)o=r.get(o),e(o,n)}}};function T(t,e,n,o,r,i,s,a){ii("NgControlFlow");let c=Ye(),l=bn(),d=Io(l.consts,i);return bl(c,l,t,e,n,o,r,d,256,s,a),Zf}function Zf(t,e,n,o,r,i,s,a){return ii("NgControlFlow"),g1(t,e,n,o,r,i,s,a),Zf}function g1(t,e,n,o,r,i,s,a){let c=Ye(),l=bn(),d=Io(l.consts,i);bl(c,l,t,e,n,o,r,d,512,s,a)}function M(t,e){ii("NgControlFlow");let n=Ye(),o=ti(),r=n[o]!==Tn?n[o]:-1,i=r!==-1?El(n,ln+r):void 0,s=0;if(No(n,o,t)){let a=ae(null);try{if(i!==void 0&&Hv(i,s),t!==-1){let c=ln+t,l=El(n,c),d=uf(n[le],c),u=Uv(l,d,n),h=Dl(n,d,e,{dehydratedView:u});Ol(l,h,s,ta(d,u))}}finally{ae(a)}}else if(i!==void 0){let a=$v(i,s);a!==void 0&&(a[Rt]=e)}}var cf=class{lContainer;$implicit;$index;constructor(e,n,o){this.lContainer=e,this.$implicit=n,this.$index=o}get $count(){return this.lContainer.length-Lt}};function es(t){return t}function ci(t,e){return e}var lf=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,n,o){this.hasEmptyBlock=e,this.trackByFn=n,this.liveCollection=o}};function we(t,e,n,o,r,i,s,a,c,l,d,u,h){ii("NgControlFlow");let g=Ye(),_=bn(),C=c!==void 0,O=Ye(),W=a?s.bind(O[An][Rt]):s,q=new lf(C,W);O[ln+t]=q,bl(g,_,t+1,e,n,o,r,Io(_.consts,i),256),C&&bl(g,_,t+2,c,l,d,u,Io(_.consts,h),512)}var df=class extends sf{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,n,o){super(),this.lContainer=e,this.hostLView=n,this.templateTNode=o}get length(){return this.lContainer.length-Lt}at(e){return this.getLView(e)[Rt].$implicit}attach(e,n){let o=n[$i];this.needsIndexUpdate||=e!==this.length,Ol(this.lContainer,n,e,ta(this.templateTNode,o)),y1(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,v1(this.lContainer,e),_1(this.lContainer,e)}create(e,n){let o=Kp(this.lContainer,this.templateTNode.tView.ssrId);return Dl(this.hostLView,this.templateTNode,new cf(this.lContainer,n,e),{dehydratedView:o})}destroy(e){Il(e[le],e)}updateValue(e,n){this.getLView(e)[Rt].$implicit=n}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e<this.length;e++)this.getLView(e)[Rt].$index=e}getLView(e){return b1(this.lContainer,e)}};function Se(t){let e=ae(null),n=fo();try{let o=Ye(),r=o[le],i=o[n],s=n+1,a=El(o,s);if(i.liveCollection===void 0){let l=uf(r,s);i.liveCollection=new df(a,o,l)}else i.liveCollection.reset();let c=i.liveCollection;if(h1(c,t,i.trackByFn,e),c.updateIndexes(),i.hasEmptyBlock){let l=ti(),d=c.length===0;if(No(o,l,d)){let u=n+2,h=El(o,u);if(d){let g=uf(r,u),_=Uv(h,g,o),C=Dl(o,g,void 0,{dehydratedView:_});Ol(h,C,0,ta(g,_))}else r.firstUpdatePass&&uT(h),Hv(h,0)}}}finally{ae(e)}}function El(t,e){return t[e]}function y1(t,e){if(t.length<=Lt)return;let n=Lt+e,o=t[n];o&&fS(o)}function v1(t,e){if(t.length<=Lt)return;let n=Lt+e,o=t[n];o&&pS(o)}function _1(t,e){return oa(t,e)}function b1(t,e){return $v(t,e)}function uf(t,e){return Bc(t,e)}function K(t,e,n){let o=Ye(),r=ti();if(No(o,r,e)){let i=bn(),s=Ws();RS(s,o,t,e,o[kt],n)}return K}function pf(t,e,n,o,r){$f(e,t,n,r?"class":"style",o)}function v(t,e,n,o){let r=Ye(),i=r[le],s=t+ln,a=i.firstCreatePass?Qv(s,r,2,e,$S,wg(),n,o):i.data[s];if(fr(a)){let c=r[po].tracingService;if(c&&c.componentCreate){let l=i.data[a.directiveStart+a.componentOffset];return c.componentCreate(Gv(l),()=>(My(t,e,r,a,o),v))}}return My(t,e,r,a,o),v}function My(t,e,n,o,r){if(Iv(o,n,t,e,m_),$c(o)){let i=n[le];Tv(i,n,o),ov(i,o,n)}r!=null&&Vf(n,o)}function x(){let t=bn(),e=Qn(),n=kv(e);return t.firstCreatePass&&Xv(t,n),pp(n)&&fp(),up(),n.classesWithoutHost!=null&&ew(n)&&pf(t,n,Ye(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&tw(n)&&pf(t,n,Ye(),n.stylesWithoutHost,!1),x}function Le(t,e,n,o){return v(t,e,n,o),x(),Le}function b(t,e,n,o){let r=Ye(),i=r[le],s=t+ln,a=i.firstCreatePass?NT(s,i,2,e,n,o):i.data[s];return Iv(a,r,t,e,m_),o!=null&&Vf(r,a),b}function E(){let t=Qn(),e=kv(t);return pp(e)&&fp(),up(),E}function Ue(t,e,n,o){return b(t,e,n,o),E(),Ue}var m_=(t,e,n,o,r)=>(Xc(!0),dv(e[kt],o,_p()));function z(){return Ye()}function Ze(t,e,n){let o=Ye(),r=ti();if(No(o,r,e)){let i=bn(),s=Ws();Mv(s,o,t,e,o[kt],n)}return Ze}var pa="en-US";var x1=pa;function h_(t){typeof t=="string"&&(x1=t.toLowerCase().replace(/_/g,"-"))}function L(t,e,n){let o=Ye(),r=bn(),i=Qn();return E1(r,o,o[kt],i,t,e,n),L}function Z(t,e,n){let o=Ye(),r=bn(),i=Qn();return(i.type&3||n)&&Wv(i,r,o,n,o[kt],t,e,dl(i,o,e)),Z}function E1(t,e,n,o,r,i,s){let a=!0,c=null;if((o.type&3||s)&&(c??=dl(o,e,i),Wv(o,t,e,s,n,r,i,c)&&(a=!1)),a){let l=o.outputs?.[r],d=o.hostDirectiveOutputs?.[r];if(d&&d.length)for(let u=0;u<d.length;u+=2){let h=d[u],g=d[u+1];c??=dl(o,e,i),vy(o,e,h,g,r,c)}if(l&&l.length)for(let u of l)c??=dl(o,e,i),vy(o,e,u,r,r,c)}}function y(t=1){return Vg(t)}function Et(t,e,n,o){return o1(t,JT(e,n,o)),Et}function wt(t=1){Yc(Rg()+t)}function il(t,e){return t<<17|e<<2}function ri(t){return t>>17&32767}function C1(t){return(t&2)==2}function w1(t,e){return t&131071|e<<17}function ff(t){return t|2}function Qi(t){return(t&131068)>>2}function Dp(t,e){return t&-131069|e<<2}function S1(t){return(t&1)===1}function mf(t){return t|1}function T1(t,e,n,o,r,i){let s=i?e.classBindings:e.styleBindings,a=ri(s),c=Qi(s);t[o]=n;let l=!1,d;if(Array.isArray(n)){let u=n;d=u[1],(d===null||ji(u,d)>0)&&(l=!0)}else d=n;if(r)if(c!==0){let h=ri(t[a+1]);t[o+1]=il(h,a),h!==0&&(t[h+1]=Dp(t[h+1],o)),t[a+1]=w1(t[a+1],o)}else t[o+1]=il(a,0),a!==0&&(t[a+1]=Dp(t[a+1],o)),a=o;else t[o+1]=il(c,0),a===0?a=o:t[c+1]=Dp(t[c+1],o),c=o;l&&(t[o+1]=ff(t[o+1])),Iy(t,d,o,!0),Iy(t,d,o,!1),M1(e,d,t,o,i),s=il(a,c),i?e.classBindings=s:e.styleBindings=s}function M1(t,e,n,o,r){let i=r?t.residualClasses:t.residualStyles;i!=null&&typeof e=="string"&&ji(i,e)>=0&&(n[o+1]=mf(n[o+1]))}function Iy(t,e,n,o){let r=t[n+1],i=e===null,s=o?ri(r):Qi(r),a=!1;for(;s!==0&&(a===!1||i);){let c=t[s],l=t[s+1];I1(c,e)&&(a=!0,t[s+1]=o?mf(l):ff(l)),s=o?ri(l):Qi(l)}a&&(t[n+1]=o?ff(r):mf(r))}function I1(t,e){return t===null||e==null||(Array.isArray(t)?t[1]:t)===e?!0:Array.isArray(t)&&typeof e=="string"?ji(t,e)>=0:!1}var ho={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k1(t){return t.substring(ho.key,ho.keyEnd)}function N1(t){return D1(t),g_(t,y_(t,0,ho.textEnd))}function g_(t,e){let n=ho.textEnd;return n===e?-1:(e=ho.keyEnd=O1(t,ho.key=e,n),y_(t,e,n))}function D1(t){ho.key=0,ho.keyEnd=0,ho.value=0,ho.valueEnd=0,ho.textEnd=t.length}function y_(t,e,n){for(;e<n&&t.charCodeAt(e)<=32;)e++;return e}function O1(t,e,n){for(;e<n&&t.charCodeAt(e)>32;)e++;return e}function Do(t,e,n){return v_(t,e,n,!1),Do}function De(t,e){return v_(t,e,null,!0),De}function Qo(t){A1($1,P1,t,!0)}function P1(t,e){for(let n=N1(e);n>=0;n=g_(e,n))Ac(t,k1(e),!0)}function v_(t,e,n,o){let r=Ye(),i=bn(),s=Gc(2);if(i.firstUpdatePass&&b_(i,t,s,o),e!==Tn&&No(r,s,e)){let a=i.data[fo()];x_(i,a,r,r[kt],t,r[s+1]=B1(e,n),o,s)}}function A1(t,e,n,o){let r=bn(),i=Gc(2);r.firstUpdatePass&&b_(r,null,i,o);let s=Ye();if(n!==Tn&&No(s,i,n)){let a=r.data[fo()];if(E_(a,o)&&!__(r,i)){let c=o?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(n=Mc(c,n||"")),pf(r,a,s,n,o)}else H1(r,a,s,s[kt],s[i+1],s[i+1]=V1(t,e,n),o,i)}}function __(t,e){return e>=t.expandoStartIndex}function b_(t,e,n,o){let r=t.data;if(r[n+1]===null){let i=r[fo()],s=__(t,n);E_(i,o)&&e===null&&!s&&(e=!1),e=R1(r,i,e,o),T1(r,i,e,n,s,o)}}function R1(t,e,n,o){let r=Ag(t),i=o?e.residualClasses:e.residualStyles;if(r===null)(o?e.classBindings:e.styleBindings)===0&&(n=Op(null,t,e,n,o),n=aa(n,e.attrs,o),i=null);else{let s=e.directiveStylingLast;if(s===-1||t[s]!==r)if(n=Op(r,t,e,n,o),i===null){let c=L1(t,e,o);c!==void 0&&Array.isArray(c)&&(c=Op(null,t,e,c[1],o),c=aa(c,e.attrs,o),F1(t,e,o,c))}else i=j1(t,e,o)}return i!==void 0&&(o?e.residualClasses=i:e.residualStyles=i),n}function L1(t,e,n){let o=n?e.classBindings:e.styleBindings;if(Qi(o)!==0)return t[ri(o)]}function F1(t,e,n,o){let r=n?e.classBindings:e.styleBindings;t[ri(r)]=o}function j1(t,e,n){let o,r=e.directiveEnd;for(let i=1+e.directiveStylingLast;i<r;i++){let s=t[i].hostAttrs;o=aa(o,s,n)}return aa(o,e.attrs,n)}function Op(t,e,n,o,r){let i=null,s=n.directiveEnd,a=n.directiveStylingLast;for(a===-1?a=n.directiveStart:a++;a<s&&(i=e[a],o=aa(o,i.hostAttrs,r),i!==t);)a++;return t!==null&&(n.directiveStylingLast=a),o}function aa(t,e,n){let o=n?1:2,r=-1;if(e!==null)for(let i=0;i<e.length;i++){let s=e[i];typeof s=="number"?r=s:r===o&&(Array.isArray(t)||(t=t===void 0?[]:["",t]),Ac(t,s,n?!0:e[++i]))}return t===void 0?null:t}function V1(t,e,n){if(n==null||n==="")return co;let o=[],r=Xn(n);if(Array.isArray(r))for(let i=0;i<r.length;i++)t(o,r[i],!0);else if(r instanceof Set)for(let i of r)t(o,i,!0);else if(typeof r=="object")for(let i in r)Object.hasOwn(r,i)&&t(o,i,r[i]);else typeof r=="string"&&e(o,r);return o}function $1(t,e,n){let o=String(e);o!==""&&!o.includes(" ")&&Ac(t,o,n)}function H1(t,e,n,o,r,i,s,a){r===Tn&&(r=co);let c=0,l=0,d=0<r.length?r[0]:null,u=0<i.length?i[0]:null;for(;d!==null||u!==null;){let h=c<r.length?r[c+1]:void 0,g=l<i.length?i[l+1]:void 0,_=null,C;d===u?(c+=2,l+=2,h!==g&&(_=u,C=g)):u===null||d!==null&&d<u?(c+=2,_=d):(l+=2,_=u,C=g),_!==null&&x_(t,e,n,o,_,C,s,a),d=c<r.length?r[c]:null,u=l<i.length?i[l]:null}}function x_(t,e,n,o,r,i,s,a){if(!(e.type&3))return;let c=t.data,l=c[a+1],d=S1(l)?ky(c,e,n,r,Qi(l),s):void 0;if(!Cl(d)){Cl(i)||C1(l)&&(i=ky(c,null,n,r,a,s));let u=sp(fo(),n);MS(o,s,u,r,i)}}function ky(t,e,n,o,r,i){let s=e===null,a;for(;r>0;){let c=t[r],l=Array.isArray(c),d=l?c[1]:c,u=d===null,h=n[r+1];h===Tn&&(h=u?co:void 0);let g=u?Rc(h,o):d===o?h:void 0;if(l&&!Cl(g)&&(g=Rc(c,o)),Cl(g)&&(a=g,s))return a;let _=t[r+1];r=s?ri(_):Qi(_)}if(e!==null){let c=i?e.residualClasses:e.residualStyles;c!=null&&(a=Rc(c,o))}return a}function Cl(t){return t!==void 0}function B1(t,e){return t==null||t===""||(typeof e=="string"?t=Xn(t)+e:typeof t=="object"&&(t=Tc(Xn(t)))),t}function E_(t,e){return(t.flags&(e?8:16))!==0}function p(t,e=""){let n=Ye(),o=bn(),r=t+ln,i=o.firstCreatePass?Pl(o,r,1,e,null):o.data[r],s=U1(o,n,i,e);n[r]=s,Qc()&&Af(o,n,s,i),zi(i,!1)}var U1=(t,e,n,o)=>(Xc(!0),Uw(e[kt],o));function z1(t,e,n,o=""){return No(t,ti(),n)?e+Gr(n)+o:Tn}function q1(t,e,n,o,r,i=""){let s=kg(),a=yT(t,s,n,r);return Gc(2),a?e+Gr(n)+o+Gr(r)+i:Tn}function A(t){return be("",t),A}function be(t,e,n){let o=Ye(),r=z1(o,t,e,n);return r!==Tn&&C_(o,fo(),r),be}function Ln(t,e,n,o,r){let i=Ye(),s=q1(i,t,e,n,o,r);return s!==Tn&&C_(i,fo(),s),Ln}function C_(t,e,n){let o=sp(e,t);zw(t[kt],o,n)}function Rl(t,e){let n=Ig()+t,o=Ye();return o[n]===Tn?hT(o,n,e()):gT(o,n)}var w_=(()=>{class t{applicationErrorHandler=I(ni);appRef=I(ua);taskService=I(qi);ngZone=I(Cn);zonelessEnabled=I(Qs);tracing=I(Ko,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new _n;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(js):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(I(Sp,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let n=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(n);return}this.switchToMicrotaskScheduler(),this.taskService.remove(n)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let n=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})})}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){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 o=this.useMicrotaskScheduler?zg:bp;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>o(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>o(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(js+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 n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(o){this.applicationErrorHandler(o)}finally{this.taskService.remove(n),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function S_(){return[{provide:cr,useExisting:w_},{provide:Cn,useClass:Vs},{provide:Qs,useValue:!0}]}function G1(){return typeof $localize<"u"&&$localize.locale||pa}var Kf=new Be("",{factory:()=>I(Kf,{optional:!0,skipSelf:!0})||G1()});var Ll=class{destroyed=!1;listeners=null;errorHandler=I(Wn,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=I(ht);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new Ce(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let n=this.listeners?this.listeners.indexOf(e):-1;n>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[n]=null):this.listeners.splice(n,1))}}}emit(e){if(this.destroyed){console.warn(Fi(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let n=ae(null);try{for(let o of this.listeners)try{o!==null&&o(e)}catch(r){this.errorHandler?.handleError(r)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&W1(this.listeners)),ae(n),this.isEmitting=!1}}};function W1(t){let e=t.length-1;for(;e>-1;)t[e]===null&&t.splice(e,1),e--}function S(t,e){return Ds(t,e?.equal)}function fa(t){return Lh(t)}var T_=class t extends Error{_brand;constructor(e){super(e)}static IDLE=new t("IDLE");static LOADING=new t("LOADING")};function k_(t,e){let n=Object.create(Ay);n.value=t,n.transformFn=e?.transform;function o(){if(Ar(n),n.value===hf){let r=null;throw new Ce(-950,r)}return n.value}return o[cn]=n,o}function ut(t){return new Ll}function M_(t,e){return k_(t,e)}function rM(t){return k_(hf,t)}var ee=(M_.required=rM,M_);function I_(t,e){return i_(e)}function iM(t,e){return s_(e)}var pt=(I_.required=iM,I_);function N_(t,e){return a_(e)}var sM=1e4;var oz=sM-1e3;var Qf=new Be(""),aM=new Be("");function ma(t){return!t.moduleRef}function cM(t){let e=ma(t)?t.r3Injector:t.moduleRef.injector,n=e.get(Cn);return n.run(()=>{ma(t)?t.r3Injector.resolveInjectorInitializers():t.moduleRef.resolveInjectorInitializers();let o=e.get(ni),r;if(n.runOutsideAngular(()=>{r=n.onError.subscribe({next:o})}),ma(t)){let i=()=>e.destroy(),s=t.platformInjector.get(Qf);s.add(i),e.onDestroy(()=>{r.unsubscribe(),s.delete(i)})}else{let i=()=>t.moduleRef.destroy(),s=t.platformInjector.get(Qf);s.add(i),t.moduleRef.onDestroy(()=>{Js(t.allPlatformModules,t.moduleRef),r.unsubscribe(),s.delete(i)})}return dM(o,n,()=>{let i=e.get(qi),s=i.add(),a=e.get(Gf);return a.runInitializers(),a.donePromise.then(()=>{let c=e.get(Kf,pa);if(h_(c||pa),!e.get(aM,!0))return ma(t)?e.get(ua):(t.allPlatformModules.push(t.moduleRef),t.moduleRef);if(ma(t)){let d=e.get(ua);return t.rootComponent!==void 0&&d.bootstrap(t.rootComponent),d}else return lM?.(t.moduleRef,t.allPlatformModules),t.moduleRef}).finally(()=>{i.remove(s)})})})}var lM;function dM(t,e,n){try{let o=n();return qf(o)?o.catch(r=>{throw e.runOutsideAngular(()=>t(r)),r}):o}catch(o){throw e.runOutsideAngular(()=>t(o)),o}}var Fl=null;function uM(t=[],e){return Gn.create({name:e,providers:[{provide:Hs,useValue:"platform"},{provide:Qf,useValue:new Set([()=>Fl=null])},...t]})}function pM(t=[]){if(Fl)return Fl;let e=uM(t);return Fl=e,f_(),fM(e),e}function fM(t){let e=t.get(Jc,null);jc(t,()=>{e?.forEach(n=>n())})}function D_(t){let{rootComponent:e,appProviders:n,platformProviders:o,platformRef:r}=t;dt(ot.BootstrapApplicationStart);try{let i=r?.injector??pM(o),s=[S_(),Yg,...n||[]],a=new sa({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return cM({r3Injector:a.injector,platformInjector:i,rootComponent:e})}catch(i){return Promise.reject(i)}finally{dt(ot.BootstrapApplicationEnd)}}var O_=null;function ts(){return O_}function Jf(t){O_??=t}var ha=class{};function em(t,e){e=encodeURIComponent(e);for(let n of t.split(";")){let o=n.indexOf("="),[r,i]=o==-1?[n,""]:[n.slice(0,o),n.slice(o+1)];if(r.trim()!==e)continue;let s=i;try{s=decodeURIComponent(i)}catch{}return s.length>1&&s[0]==='"'&&s[s.length-1]==='"'&&(s=s.slice(1,-1)),s}return null}var P_="browser";var ga=class{_doc;constructor(e){this._doc=e}manager},jl=(()=>{class t extends ga{constructor(n){super(n)}supports(n){return!0}addEventListener(n,o,r,i){return n.addEventListener(o,r,i),()=>this.removeEventListener(n,o,r,i)}removeEventListener(n,o,r,i){return n.removeEventListener(o,r,i)}static \u0275fac=function(o){return new(o||t)(at(xn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),Hl=new Be(""),rm=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(n,o){this._zone=o,n.forEach(s=>{s.manager=this});let r=n.filter(s=>!(s instanceof jl));this._plugins=r.slice().reverse();let i=n.find(s=>s instanceof jl);i&&this._plugins.push(i)}addEventListener(n,o,r,i){return this._findPluginFor(o).addEventListener(n,o,r,i)}getZone(){return this._zone}_findPluginFor(n){let o=this._eventNameToPlugin.get(n);if(o)return o;if(o=this._plugins.find(i=>i.supports(n)),!o)throw new Ce(-5101,!1);return this._eventNameToPlugin.set(n,o),o}static \u0275fac=function(o){return new(o||t)(at(Hl),at(Cn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),tm="ng-app-id";function A_(t){for(let e of t)e.remove()}function R_(t,e){let n=e.createElement("style");return n.textContent=t,n}function mM(t,e,n,o){let r=t.head?.querySelectorAll(`style[${tm}="${e}"],link[${tm}="${e}"]`);if(!r||r.length===0)return!1;for(let i of r)i.removeAttribute(tm),i instanceof HTMLLinkElement?o.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&n.set(i.textContent,{usage:0,elements:[i]});return!0}function om(t,e){let n=e.createElement("link");return n.setAttribute("rel","stylesheet"),n.setAttribute("href",t),n}var im=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(n,o,r,i={}){this.doc=n,this.appId=o,this.nonce=r,mM(n,o,this.inline,this.external)&&this.hosts.add(n.head)}addStyles(n,o){for(let r of n)this.addUsage(r,this.inline,R_);o?.forEach(r=>this.addUsage(r,this.external,om))}removeStyles(n,o){for(let r of n)this.removeUsage(r,this.inline);o?.forEach(r=>this.removeUsage(r,this.external))}addUsage(n,o,r){let i=o.get(n);i?i.usage++:o.set(n,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,r(n,this.doc)))})}removeUsage(n,o){let r=o.get(n);r&&(r.usage--,r.usage<=0&&(A_(r.elements),o.delete(n)))}ngOnDestroy(){for(let[,{elements:n}]of[...this.inline,...this.external])A_(n);this.hosts.clear()}addHost(n){if(!this.hosts.has(n)){this.hosts.add(n);for(let[o,{elements:r}]of this.inline)r.push(this.addElement(n,R_(o,this.doc)));for(let[o,{elements:r}]of this.external)r.push(this.addElement(n,om(o,this.doc)))}}removeHost(n){this.hosts.delete(n);for(let o of[...this.inline.values(),...this.external.values()]){let r=[];for(let i of o.elements)i.parentNode===n?i.remove():r.push(i);o.elements=r}}addElement(n,o){return this.nonce&&o.setAttribute("nonce",this.nonce),n.appendChild(o)}static \u0275fac=function(o){return new(o||t)(at(xn),at(Ys),at(el,8),at(Zs))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),nm={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"},sm=/%COMP%/g;var F_="%COMP%",hM=`_nghost-${F_}`,gM=`_ngcontent-${F_}`,yM=!0,vM=new Be("",{factory:()=>yM}),_M=new Be("");function bM(t){return gM.replace(sm,t)}function xM(t){return hM.replace(sm,t)}function j_(t,e){return e.map(n=>n.replace(sm,t))}var am=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(n,o,r,i,s,a,c=null,l=null,d=null){this.eventManager=n,this.sharedStylesHost=o,this.appId=r,this.removeStylesOnCompDestroy=i,this.doc=s,this.ngZone=a,this.nonce=c,this.tracingService=l,this.cssVarNamespace=d??"",this.defaultRenderer=new ya(n,s,a,this.tracingService,this.cssVarNamespace)}createRenderer(n,o){if(!n||!o)return this.defaultRenderer;let r=this.getOrCreateRenderer(n,o);return r instanceof $l?r.applyToHost(n):r instanceof va&&r.applyStyles(),r}getOrCreateRenderer(n,o){let r=this.rendererByCompId,i=r.get(o.id);if(!i){let s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,u=this.tracingService;switch(o.encapsulation){case go.Emulated:i=new $l(c,l,o,this.appId,d,s,a,u,this.cssVarNamespace);break;case go.ShadowDom:return new Vl(c,n,o,s,a,this.nonce,u,this.cssVarNamespace,l);case go.ExperimentalIsolatedShadowDom:return new Vl(c,n,o,s,a,this.nonce,u,this.cssVarNamespace);default:i=new va(c,l,o,d,s,a,u,this.cssVarNamespace);break}r.set(o.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(n){this.rendererByCompId.delete(n)}static \u0275fac=function(o){return new(o||t)(at(rm),at(ai),at(Ys),at(vM),at(xn),at(Cn),at(el),at(Ko,8),at(_M,8))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),ya=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,n,o,r,i=""){this.eventManager=e,this.doc=n,this.ngZone=o,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,n){return n?this.doc.createElementNS(nm[n]||n,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,n){(L_(e)?e.content:e).appendChild(n)}insertBefore(e,n,o){if(e){let r=L_(e)?e.content:e;if(o!=null&&o.parentNode!==r)throw new Ce(-5106,!1);r.insertBefore(n,o)}}removeChild(e,n){n.remove()}selectRootElement(e,n){let o=typeof e=="string"?this.doc.querySelector(e):e;if(!o)throw new Ce(-5104,!1);return n||(o.textContent=""),o}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,n,o,r){if(r){n=r+":"+n;let i=nm[r];i?e.setAttributeNS(i,n,o):e.setAttribute(n,o)}else e.setAttribute(n,o)}removeAttribute(e,n,o){if(o){let r=nm[o];r?e.removeAttributeNS(r,n):e.removeAttribute(`${o}:${n}`)}else e.removeAttribute(n)}addClass(e,n){e.classList.add(n)}removeClass(e,n){e.classList.remove(n)}setStyle(e,n,o,r){let i=n.startsWith("--");i&&(n=n.replace("%NS%",this.cssVarNamespace)),i||r&(Go.DashCase|Go.Important)?e.style.setProperty(n,o,r&Go.Important?"important":""):e.style[n]=o}removeStyle(e,n,o){let r=n.startsWith("--");r&&(n=n.replace("%NS%",this.cssVarNamespace)),r||o&Go.DashCase?e.style.removeProperty(n):e.style[n]=""}setProperty(e,n,o){e!=null&&(e[n]=o)}setValue(e,n){e.nodeValue=n}listen(e,n,o,r){if(typeof e=="string"&&(e=ts().getGlobalEventTarget(this.doc,e),!e))throw new Ce(-5102,!1);let i=this.decoratePreventDefault(o);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,n,i)),this.eventManager.addEventListener(e,n,i,r)}decoratePreventDefault(e){return n=>{if(n==="__ngUnwrap__")return e;e(n)===!1&&n.preventDefault()}}};function L_(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var Vl=class extends ya{hostEl;sharedStylesHost;shadowRoot;constructor(e,n,o,r,i,s,a,c,l){super(e,r,i,a,c),this.hostEl=n,this.sharedStylesHost=l,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let d=o.styles;d=j_(o.id,d).map(h=>h.replace(/%NS%/g,c));for(let h of d){let g=document.createElement("style");s&&g.setAttribute("nonce",s),g.textContent=h,this.shadowRoot.appendChild(g)}let u=o.getExternalStyles?.();if(u)for(let h of u){let g=om(h,r);s&&g.setAttribute("nonce",s),this.shadowRoot.appendChild(g)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,n){return super.appendChild(this.nodeOrShadowRoot(e),n)}insertBefore(e,n,o){return super.insertBefore(this.nodeOrShadowRoot(e),n,o)}removeChild(e,n){return super.removeChild(null,n)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},va=class extends ya{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,n,o,r,i,s,a,c,l){super(e,i,s,a,c),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=r;let d=o.styles,u=l?j_(l,d):d;this.styles=u.map(h=>h.replace(/%NS%/g,c)),this.styleUrls=o.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Df.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},$l=class extends va{contentAttr;hostAttr;constructor(e,n,o,r,i,s,a,c,l){let d=r+"-"+o.id;super(e,n,o,i,s,a,c,l,d),this.contentAttr=bM(d),this.hostAttr=xM(d)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,"")}createElement(e,n){let o=super.createElement(e,n);return super.setAttribute(o,this.contentAttr,""),o}};var Bl=class t extends ha{supportsDOMEvents=!0;static makeCurrent(){Jf(new t)}onAndCancel(e,n,o,r){return e.addEventListener(n,o,r),()=>{e.removeEventListener(n,o,r)}}dispatchEvent(e,n){e.dispatchEvent(n)}remove(e){e.remove()}createElement(e,n){return n=n||this.getDefaultDocument(),n.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,n){return n==="window"?window:n==="document"?e:n==="body"?e.body:null}getBaseHref(e){let n=EM();return n==null?null:CM(n)}resetBaseElement(){_a=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return em(document.cookie,e)}},_a=null;function EM(){return _a=_a||document.head.querySelector("base"),_a?_a.getAttribute("href"):null}function CM(t){return new URL(t,document.baseURI).pathname}var V_=["alt","control","meta","shift"],wM={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},SM={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},$_=(()=>{class t extends ga{constructor(n){super(n)}supports(n){return t.parseEventName(n)!=null}addEventListener(n,o,r,i){let s=t.parseEventName(o),a=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ts().onAndCancel(n,s.domEventName,a,i))}static parseEventName(n){let o=n.toLowerCase().split("."),r=o.shift();if(o.length===0||!(r==="keydown"||r==="keyup"))return null;let i=t._normalizeKey(o.pop()),s="",a=o.indexOf("code");if(a>-1&&(o.splice(a,1),s="code."),V_.forEach(l=>{let d=o.indexOf(l);d>-1&&(o.splice(d,1),s+=l+".")}),s+=i,o.length!=0||i.length===0)return null;let c={};return c.domEventName=r,c.fullKey=s,c}static matchEventFullKeyCode(n,o){let r=wM[n.key]||n.key,i="";return o.indexOf("code.")>-1&&(r=n.code,i="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),V_.forEach(s=>{if(s!==r){let a=SM[s];a(n)&&(i+=s+".")}}),i+=r,i===o)}static eventCallback(n,o,r){return i=>{t.matchEventFullKeyCode(i,n)&&r.runGuarded(()=>o(i))}}static _normalizeKey(n){return n==="esc"?"escape":n}static \u0275fac=function(o){return new(o||t)(at(xn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})();async function cm(t,e,n){let o=H({rootComponent:t},TM(e,n));return D_(o)}function TM(t,e){return{platformRef:e?.platformRef,appProviders:[...DM,...t?.providers??[]],platformProviders:NM}}function MM(){Bl.makeCurrent()}function IM(){return new Wn}function kM(){return _f(document),document}var NM=[{provide:Zs,useValue:P_},{provide:Jc,useValue:MM,multi:!0},{provide:xn,useFactory:kM}];var DM=[{provide:Hs,useValue:"root"},{provide:Wn,useFactory:IM},{provide:Hl,useClass:jl,multi:!0},{provide:Hl,useClass:$_,multi:!0},am,{provide:ai,useClass:im},{provide:im,useExisting:ai},rm,{provide:Wo,useExisting:am},[]];var lm=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275prov=Re({token:t,factory:function(o){let r=null;return o?r=new(o||t):r=at(OM),r},providedIn:"root"})}return t})(),OM=(()=>{class t extends lm{_doc=I(xn);sanitize(n,o){if(o==null)return null;switch(n){case It.NONE:return o;case It.HTML:return Yo(o,"HTML")?Xn(o):Tl(this._doc,String(o)).toString();case It.STYLE:return Yo(o,"Style")?Xn(o):o;case It.SCRIPT:if(Yo(o,"Script"))return Xn(o);throw new Ce(5200,!1);case It.URL:return Yo(o,"URL")?Xn(o):ca(String(o));case It.RESOURCE_URL:if(Yo(o,"ResourceURL"))return Xn(o);throw new Ce(-5201,!1);default:throw new Ce(5202,!1)}}bypassSecurityTrustHtml(n){return Ef(n)}bypassSecurityTrustStyle(n){return Cf(n)}bypassSecurityTrustScript(n){return wf(n)}bypassSecurityTrustUrl(n){return Sf(n)}bypassSecurityTrustResourceUrl(n){return Tf(n)}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();var H_={providers:[Cp()]};var Jn=typeof window<"u",Ul=Jn?window:null,hr=Jn?document:null,ft={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},Te={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},Kt={NONE:0,AUTO:1,FORCE:2},Tt={replace:0,none:1,blend:2},dm=Symbol(),Oo=Symbol(),zl=Symbol(),gr=Symbol(),ql=Symbol(),Me=1e-11,ba=1e12,eo=1e3,xa=240,to="",B_="var(",Ea=[],Gl=(()=>{let t=new Map;return t.set("x","translateX"),t.set("y","translateY"),t.set("z","translateZ"),t})(),ns=["perspective","translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY"],U_=ns.reduce((t,e)=>X(H({},t),{[e]:e+"("}),{}),zt=()=>{},z_=t=>t,q_=/\)\s*[-.\d]/,G_=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,W_=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,Y_=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,Z_=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,K_=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,um=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,Wl=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,Q_=/([a-z])([A-Z])/g,X_=/(\*=|\+=|-=)/,J_=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/;var os={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:xa,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:eo,delay:0,loopDelay:0,ease:"out(2)",composition:Tt.replace,modifier:z_,onBegin:zt,onBeforeUpdate:zt,onUpdate:zt,onLoop:zt,onPause:zt,onComplete:zt,onRender:zt},Ca={current:null,root:hr},xe={defaults:os,precision:4,timeScale:1,tickThreshold:200,editor:null},pm={version:"4.5.0",engine:null};Jn&&(Ul.AnimeJS||(Ul.AnimeJS=[]),Ul.AnimeJS.push(pm));var mm=t=>t.replace(Q_,"$1-$2").toLowerCase(),Fn=(t,e)=>t.indexOf(e)===0,Xo=Date.now,jn=Array.isArray,di=t=>t&&t.constructor===Object,Mn=t=>typeof t=="number"&&!isNaN(t),In=t=>typeof t=="string",Qt=t=>typeof t=="function",te=t=>typeof t>"u",Po=t=>te(t)||t===null,Yl=t=>Jn&&t instanceof SVGElement,hm=t=>G_.test(t),gm=t=>Fn(t,"rgb"),ym=t=>Fn(t,"hsl"),e0=t=>hm(t)||(gm(t)||ym(t))&&(t[t.length-1]===")"||!q_.test(t)),wa=t=>!xe.defaults.hasOwnProperty(t),PM=["opacity","rotate","overflow","color"],t0=(t,e)=>{if(PM.includes(e))return!1;if(t.getAttribute(e)||e in t){if(e==="scale"){let n=t.parentNode;return n&&n.tagName==="filter"}return!0}},Zl=t=>In(t)?parseFloat(t):t,ui=Math.pow,yr=Math.sqrt,n0=Math.sin,o0=Math.cos,li=Math.abs;var pi=Math.floor,r0=Math.asin;var Sa=Math.PI,fm=Math.round,fn=(t,e,n)=>t<e?e:t>n?n:t,Ge=(t,e)=>{if(e<0)return t;if(!e)return fm(t);let n=10**e;return fm(t*n)/n},i0=(t,e)=>jn(e)?e.reduce((n,o)=>li(o-t)<li(n-t)?o:n):e?fm(t/e)*e:t,Jo=(t,e,n)=>n===1?e:n===0?t:t+(e-t)*n,fi=t=>t===1/0?ba:t===-1/0?-ba:t,er=t=>t<=Me?Me:fi(Ge(t,11)),qt=t=>jn(t)?[...t]:t,Kl=(t,e)=>{let n=H({},t);for(let o in e){let r=t[o];n[o]=te(r)?e[o]:r}return n},tt=(t,e,n,o="_prev",r="_next")=>{let i=t._head,s=r;for(n&&(i=t._tail,s=o);i;){let a=i[s];e(i),i=a}},Vn=(t,e,n="_prev",o="_next")=>{let r=e[n],i=e[o];r?r[o]=i:t._head=i,i?i[n]=r:t._tail=r,e[n]=null,e[o]=null},kn=(t,e,n,o="_prev",r="_next")=>{let i=t._tail;for(;i&&n&&n(i,e);)i=i[o];let s=i?i[r]:t._head;i?i[r]=e:t._head=e,s?s[o]=e:t._tail=e,e[o]=i,e[r]=s};var s0=(t,e,n)=>{let o=t.style.transform;if(o){let r=t[gr],i=0,s=o.length,a;for(;i<s;){for(;i<s&&o.charCodeAt(i)===32;)i++;if(i>=s)break;let l=i;for(;i<s&&o.charCodeAt(i)!==40;)i++;if(i>=s)break;let d=o.substring(l,i),u=1,h=i+1,g=-1,_=-1;for(i++;i<s&&u>0;){let O=o.charCodeAt(i);O===40?u++:O===41?u--:O===44&&u===1&&(g===-1?g=i:_===-1&&(_=i)),i++}let C=i-1;d==="translate"||d==="translate3d"?(g===-1?r.translateX=o.substring(h,C).trim():(r.translateX=o.substring(h,g).trim(),_===-1?r.translateY=o.substring(g+1,C).trim():(r.translateY=o.substring(g+1,_).trim(),r.translateZ=o.substring(_+1,C).trim())),a=o.substring(h,C)):d==="scale"||d==="scale3d"?g===-1?r.scale=o.substring(h,C).trim():(r.scaleX=o.substring(h,g).trim(),_===-1?r.scaleY=o.substring(g+1,C).trim():(r.scaleY=o.substring(g+1,_).trim(),r.scaleZ=o.substring(_+1,C).trim())):r[d]=o.substring(h,C)}if(e==="translate3d"&&a)return n&&(n[e]=a),a;let c=r[e];if(!te(c))return n&&(n[e]=c),c}return e==="translate3d"?"0px, 0px, 0px":e==="rotate3d"?"0, 0, 0, 0deg":Fn(e,"scale")?"1":Fn(e,"rotate")||Fn(e,"skew")?"0deg":"0px"},Ql=t=>{let e=to;for(let n=0,o=ns.length;n<o;n++){let r=ns[n],i=t[r];if(i!==void 0){if(r==="translateX"){let s=t.translateY;if(s!==void 0){let a=t.translateZ;a!==void 0?(e+=`translate3d(${i},${s},${a}) `,n+=2):(e+=`translate(${i},${s}) `,n+=1);continue}}if(r==="scaleX"&&t.scale===void 0){let s=t.scaleY;if(s!==void 0){let a=t.scaleZ;a!==void 0?(e+=`scale3d(${i},${s},${a}) `,n+=2):(e+=`scale(${i},${s}) `,n+=1);continue}}e+=`${U_[r]}${i}) `}r==="rotateZ"&&t.rotate3d!==void 0&&(e+=`rotate3d(${t.rotate3d}) `)}return t.matrix!==void 0&&(e+=`matrix(${t.matrix}) `),t.matrix3d!==void 0&&(e+=`matrix3d(${t.matrix3d}) `),e};var vm=[];function Xl(t,e){if(!t)return null;let n=vm.length;e:for(let o=0;o<n;o++){let r=vm[o];if(r.detect&&!r.detect(t))continue;let i=r.targetAdapters;for(let s=0,a=i.length;s<a;s++){let c=i[s];if(c.detect(t)){let l=c.props[e];if(l&&(!l.gate||l.gate(t)))return l;break e}}}for(let o=0;o<n;o++){let r=vm[o];if(r.detect&&!r.detect(t))continue;let i=r.propertyResolvers;for(let s=0,a=i.length;s<a;s++){let c=i[s](t,e);if(c)return c}}return null}var AM=t=>{let e=W_.exec(t)||Y_.exec(t),n=te(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],n]},RM=t=>{let e=t.length,n=e===4||e===5;return[+("0x"+t[1]+t[n?1:2]),+("0x"+t[n?2:3]+t[n?2:4]),+("0x"+t[n?3:5]+t[n?3:6]),e===5||e===9?+(+("0x"+t[n?4:7]+t[n?4:8])/255).toFixed(3):1]},_m=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t),LM=t=>{let e=Z_.exec(t)||K_.exec(t),n=+e[1]/360,o=+e[2]/100,r=+e[3]/100,i=te(e[4])?1:+e[4],s,a,c;if(o===0)s=a=c=r;else{let l=r<.5?r*(1+o):r+o-r*o,d=2*r-l;s=Ge(_m(d,l,n+1/3)*255,0),a=Ge(_m(d,l,n)*255,0),c=Ge(_m(d,l,n-1/3)*255,0)}return[s,a,c,i]},a0=t=>gm(t)?AM(t):hm(t)?RM(t):ym(t)?LM(t):[0,0,0,1];var Mt=(t,e)=>te(t)?e:t,c0=(t,e)=>{let n=t.match(J_),o=e[Oo]?e:document.documentElement,r=getComputedStyle(o)?.getPropertyValue(n[1]);return(!r||r.trim()===to)&&n[2]&&(r=n[2].trim()),r||0},Ao=(t,e,n,o,r,i)=>{if(Qt(t)){if(!r){let a=t(e,n,o,i);return isNaN(+a)?a||0:+a}let s=()=>{let a=t(e,n,o,i);return isNaN(+a)?a||0:+a};return r.func=s,s()}if(In(t)&&Fn(t,B_)){if(!r)return c0(t,e);let s=()=>c0(t,e);return r.func=s,s()}return t},Ta=(t,e)=>t[Oo]?t[zl]&&t0(t,e)?ft.ATTRIBUTE:ns.includes(e)||Gl.get(e)?ft.TRANSFORM:Fn(e,"--")?ft.CSS_VAR:e in t.style?ft.CSS:e in t?ft.OBJECT:ft.ATTRIBUTE:ft.OBJECT,l0=(t,e,n)=>{let o=t.style[e];o&&n&&(n[e]=o);let r=o||getComputedStyle(t[ql]||t).getPropertyValue(e);return r==="auto"?"0":r},Ro=(t,e,n,o)=>{let r=te(n)?Ta(t,e):n,i=Xl(t,e);if(i){let s=i.get(t);return s&&o&&(o[e]=s),s??0}if(r===ft.OBJECT){let s=t[e];return s&&o&&(o[e]=s),s||0}if(r===ft.ATTRIBUTE){let s=t.getAttribute(e);return s&&o&&(o[e]=s),s}return r===ft.TRANSFORM?s0(t,e,o):r===ft.CSS_VAR?l0(t,e,o).trimStart():l0(t,e,o)},rs=(t,e,n)=>n==="-"?t-e:n==="+"?t+e:t*e,Jl=()=>({t:Te.NUMBER,n:0,u:null,o:null,d:null,s:null}),mn=(t,e)=>{if(e.t=Te.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;let n=+t;if(!isNaN(n))return e.n=n,e;let o=t;o[1]==="="&&(e.o=o[0],o=o.slice(2));let r=o.includes(" ")?!1:Wl.exec(o);if(r)return e.t=Te.UNIT,e.n=+r[1],e.u=r[2],e;if(e.o)return e.n=+o,e;if(e0(o))return e.t=Te.COLOR,e.d=a0(o),e;{let i=o.match(um);return e.t=Te.COMPLEX,e.d=i?i.map(Number):[],e.s=o.split(um)||[],e}},bm=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=qt(t._toNumbers),e.s=qt(t._strings),e),Xt=Jl(),ed=(t,e,n)=>{let o=t._modifier,r=t._fromNumbers,i=t._toNumbers,s=t._strings,a=s[0];for(let c=0,l=i.length;c<l;c++){let d=o(Ge(Jo(r[c],i[c],e),n)),u=s[c+1];a+=`${u?d+u:d}`,t._numbers[c]=d}return a};var Ma=(t,e,n,o,r)=>{let i=t.parent,s=t.duration,a=t.completed,c=t.iterationDuration,l=t.iterationCount,d=t._currentIteration,u=t._loopDelay,h=t._reversed,g=t._alternate,_=t._hasChildren,C=t._delay,O=t._currentTime,W=C+c,q=e-C,he=fn(O,-C,s),ce=fn(q,-C,s),ve=q-O,ie=ce>0,Qe=ce>=s,Pe=s<=Me,je=r===Kt.FORCE,ct=0,bt=q,Dt=0;if(l>1){let Y=c+(Qe?0:u),U=~~(ce/Y);t._currentIteration=fn(U,0,l),Qe&&t._currentIteration--,ct=t._currentIteration%2,bt=ce-U*Y||0}let St=h^(g&&ct),Xe=t._ease,pe=Qe?St?0:s:St?c-bt:bt;Xe&&(pe=c*Xe(pe/c)||0);let D=(i?i.backwards:q<O)?!St:!!St;if(t._currentTime=q,t._iterationTime=pe,t.backwards=D,ie&&!t.began?(t.began=!0,!n&&!(i&&(D||!i.began))&&t.onBegin(t)):q<=0&&(t.began=!1),!n&&!_&&ie&&t._currentIteration!==d&&t.onLoop(t),je||r===Kt.AUTO&&(e>=(i&&C>0?0:C)&&e<=W||e<=C&&he>C||e>=W&&he!==s)||pe>=W&&he!==s||pe<=C&&he>0&&!Qe||e<=he&&he===s&&a||Qe&&!a&&Pe){if(ie&&(t.computeDeltaTime(he),n||t.onBeforeUpdate(t)),!_){let Y=je||(D?ve*-1:ve)>=xe.tickThreshold,U=Ge(t._offset+(i?i._offset:0)+C+pe,12),P=t._head,J,ke,Je,Ft,de=0;for(;P;){let gt=P._composition,$e=P._currentTime,tn=P._changeDuration,jt=P._absoluteStartTime+P._changeDuration,We=P._nextRep,Bt=P._prevRep,Ot=gt!==Tt.none,Ie=Bt?Bt._absoluteStartTime+Bt._changeDuration:0,ze=Bt&&Bt.parent!==P.parent,_e=!We||We._isOverridden?jt:We.parent===P.parent?jt+We._delay:We._absoluteStartTime<We._absoluteUpdateStartTime?We._absoluteStartTime:We._absoluteUpdateStartTime;if((Y||($e!==tn||U<=_e||Bt&&!ze&&(!We||We.parent!==P.parent))&&($e!==0||U>=P._absoluteStartTime||ze&&!P._hasFromValue&&!Bt._isOverridden&&U>=Ie||We&&!We._isOverridden&&We.parent===P.parent&&We._currentTime!==0&&pe<We._startTime))&&(!Bt||ze||pe>=P._startTime)&&(!Ot||!P._isOverridden&&(!P._isOverlapped||U<=jt)&&(!We||We._isOverridden||U<=_e)&&(!Bt||Bt._isOverridden||(ze?U>=P._absoluteStartTime||!P._hasFromValue&&U>=Ie:U>=Ie+P._delay)))){let nt=P._currentTime=fn(pe-P._startTime,0,tn),oe=P._ease(nt/P._updateDuration),st=P._modifier,G=P._valueType,mt=P._tweenType,Ke=mt===ft.OBJECT,ne=G===Te.NUMBER,vt=ne&&Ke||oe===0||oe===1?-1:xe.precision,ue,it;if(ne)ue=it=st(Ge(Jo(P._fromNumber,P._toNumber,oe),vt));else if(G===Te.UNIT)it=st(Ge(Jo(P._fromNumber,P._toNumber,oe),vt)),ue=`${it}${P._unit}`;else if(G===Te.COLOR){let He=P._numbers,R=P._fromNumbers,V=P._toNumbers,Q=1-oe,re=R[0],lt=R[1],xt=R[2],Un=V[0],pn=V[1],bo=V[2];He[0]=st(Math.sqrt(re*re*Q+Un*Un*oe)),He[1]=st(Math.sqrt(lt*lt*Q+pn*pn*oe)),He[2]=st(Math.sqrt(xt*xt*Q+bo*bo*oe)),He[3]=st(Jo(R[3],V[3],oe)),(!P._setter||o)&&(ue=`rgba(${Ge(He[0],0)},${Ge(He[1],0)},${Ge(He[2],0)},${He[3]})`)}else G===Te.COMPLEX&&(ue=ed(P,oe,vt));if(Ot&&(P._number=it),!o&&gt!==Tt.blend){let He=P.property;J=P.target,P._setter?P._setter(J,it,P):Ke?J[He]=ue:mt===ft.ATTRIBUTE?J.setAttribute(He,ue):(ke=J.style,mt===ft.TRANSFORM?(J!==Je&&(Je=J,Ft=J[gr]),Ft[He]=ue,de=1):mt===ft.CSS?ke[He]=ue:mt===ft.CSS_VAR&&ke.setProperty(He,ue)),ie&&(Dt=1)}else P._value=ue}else $e&&Bt&&!ze&&pe<P._startTime&&(P._currentTime=0);de&&P._renderTransforms&&(ke.transform=Ql(Ft),de=0),P=P._next}!n&&Dt&&t.onRender(t)}!n&&ie&&t.onUpdate(t)}return i&&Pe?!n&&(i.began&&!D&&q>0&&!a||D&&q<=Me&&a)&&(t.onComplete(t),t.completed=!D):ie&&Qe?l===1/0?t._startTime+=t.duration:t._currentIteration>=l-1&&(t.paused=!0,!a&&!_&&(t.completed=!0,!n&&!(i&&(D||!i.began))&&(t.onComplete(t),t._resolve(t)))):t.completed=!1,Dt},Lo=(t,e,n,o,r)=>{let i=t._currentIteration;if(Ma(t,e,n,o,r),t._hasChildren){let s=t,a=s.backwards,c=o?e:s._iterationTime,l=Xo(),d=0,u=!0;if(!o&&s._currentIteration!==i){let h=s.iterationDuration;tt(s,g=>{if(!a)!g.completed&&!g.backwards&&g._currentTime<g.iterationDuration&&Ma(g,h,n,1,Kt.FORCE),g.began=!1,g.completed=!1;else{let _=g.duration,C=g._offset+g._delay,O=C+_;!n&&_<=Me&&(!C||O===h)&&g.onComplete(g)}}),n||s.onLoop(s)}tt(s,h=>{let g=Ge((c-h._offset)*h._speed,12);if(a&&g>h._delay+h.duration)return;let _=h._fps<s._fps?h.requestTick(l):r;d+=Ma(h,g,n,o,_),!h.completed&&u&&(u=!1)},a),!n&&d&&s.onRender(s),(u||a)&&s._currentTime>=s.duration&&(s.paused=!0,s.completed||(s.completed=!0,n||(s.onComplete(s),s._resolve(s))))}};var d0={},is=(t,e,n)=>{if(n===ft.TRANSFORM){let o=Gl.get(t);return o||t}else if(n===ft.CSS||n===ft.ATTRIBUTE&&Yl(e)&&t in e.style){let o=d0[t];if(o)return o;{let r=t&&mm(t);return d0[t]=r,r}}else return t},ss=(t,e=!1)=>{if(t._hasChildren)tt(t,n=>ss(n,e),!0);else{let n=t;n.pause(),tt(n,o=>{let r=o.property,i=o.target,s=o._tweenType,a=o._inlineValue,c=Po(a)||a===to;if(o._setter){if(!e&&!c){if(mn(a,Xt),Xt.d){let l=Xt.d,d=o._numbers;for(let u=0,h=l.length;u<h;u++)d[u]=l[u]}else o._number=Xt.n;o._setter(o.target,o._number,o)}}else if(s===ft.OBJECT)!e&&!c&&(i[r]=a);else if(i[Oo])if(s===ft.ATTRIBUTE)e||(c?i.removeAttribute(r):i.setAttribute(r,a));else{let l=i.style;if(s===ft.TRANSFORM){let d=i[gr];c?delete d[r]:d[r]=a,o._renderTransforms&&(Object.keys(d).length?l.transform=Ql(d):l.removeProperty("transform"))}else c?l.removeProperty(mm(r)):l[r]=a}i[Oo]&&n._tail===o&&n.targets.forEach(l=>{l.getAttribute&&l.getAttribute("style")===to&&l.removeAttribute("style")})})}return t},u0=t=>ss(t,!0);var as=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=eo/xa,this._fps=xa,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let n=+e,o=n<Me?Me:n,r=eo/o;o>os.frameRate&&(os.frameRate=o),this._fps=o,this._frameDuration=r}get speed(){return this._speed}set speed(e){let n=+e;this._speed=n<Me?Me:n}requestTick(e){let n=this._frameDuration,o=e-this._lastTickTime,r=n*.25,i=r<4?r:4;return o+i<n?Kt.NONE:(this._lastTickTime=o>=n?e-o%n:e,Kt.AUTO)}computeDeltaTime(e){let n=e-this._lastTime;return this.deltaTime=n,this._lastTime=e,n}};var tr={animation:null,update:zt},p0=t=>{let e=tr.animation;return e||(e={duration:Me,computeDeltaTime:zt,_offset:0,_delay:0,_head:null,_tail:null},tr.animation=e,tr.update=()=>{t.forEach(n=>{for(let o in n){let r=n[o],i=r._head;if(i){let s=i._valueType,a=s===Te.COMPLEX||s===Te.COLOR?qt(i._fromNumbers):null,c=i._fromNumber,l=r._tail;for(;l&&l!==i;){if(a)for(let d=0,u=l._numbers.length;d<u;d++)a[d]+=l._numbers[d];else c+=l._number;l=l._prevAdd}i._toNumber=c,i._toNumbers=a}}}),Ma(e,1,1,0,Kt.FORCE)}),e};var f0=Jn?requestAnimationFrame:setImmediate,FM=Jn?cancelAnimationFrame:clearImmediate,xm=class extends as{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=os,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=Xo();if(this.requestTick(e)){this.computeDeltaTime(e);let n=this._speed,o=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(Vn(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):Lo(r,(e-r._startTime)*r._speed*n,0,0,r._fps<o?r.requestTick(e):Kt.AUTO),r=i}tr.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(Xo()),this.reqId=f0(m0)),this}pause(){if(this.reqId)return this.paused=!0,jM()}resume(){if(this.paused)return this.paused=!1,tt(this,e=>e.resetTime()),this.wake()}get speed(){return this._speed*(xe.timeScale===1?1:eo)}set speed(e){let n=e*xe.timeScale;this._speed!==n&&(this._speed=n,tt(this,o=>o.speed=o._speed))}get timeUnit(){return xe.timeScale===1?"ms":"s"}set timeUnit(e){let o=e==="s",r=o?.001:1;if(xe.timeScale!==r){xe.timeScale=r,xe.tickThreshold=200*r;let i=o?.001:eo;this.defaults.duration*=i,this._speed*=i}}get precision(){return xe.precision}set precision(e){xe.precision=e}},Jt=(()=>{let t=new xm(Xo());return Jn&&(pm.engine=t,hr.addEventListener("visibilitychange",()=>{t.pauseOnDocumentHidden&&(hr.hidden?t.pause():t.resume())})),t})(),m0=()=>{Jt._head?(Jt.reqId=f0(m0),Jt.update()):Jt.reqId=0},jM=()=>(FM(Jt.reqId),Jt.reqId=0,Jt);var td={_rep:new WeakMap,_add:new Map},ka=(t,e,n="_rep")=>{let o=td[n],r=o.get(t);return r||(r={},o.set(t,r)),r[e]?r[e]:r[e]={_head:null,_tail:null}},VM=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,Ia=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=Me,t._currentTime=Me},nd=(t,e)=>{let n=t._composition;if(n===Tt.replace){let o=t._absoluteStartTime;kn(e,t,VM,"_prevRep","_nextRep");let r=t._prevRep;if(r){let i=r.parent,s=r._absoluteEndTime;if(t.parent.id!==i.id&&i.iterationCount>1&&s+(i.duration-i.iterationDuration)>o){Ia(r);let l=r._prevRep;for(;l&&l.parent.id===i.id;)Ia(l),l=l._prevRep}let a=t._absoluteUpdateStartTime;if(s>a){let l=r._startTime,d=s-(l+r._updateDuration),u=Ge(a-d-l,12);r._changeDuration=u,r._currentTime=u,r._isOverlapped=1,u<Me&&Ia(r)}let c=t.parent.parent;if(!c||c!==i.parent){let l=!0;if(tt(i,d=>{d._isOverlapped||(l=!1)}),l){let d=i.parent;if(d){let u=!0;tt(d,h=>{h!==i&&tt(h,g=>{g._isOverlapped||(u=!1)})}),u&&d.cancel()}else i.cancel()}}}}else if(n===Tt.blend){let o=ka(t.target,t.property,"_add"),r=p0(td._add),i=o._head;i||(i=H({},t),i._composition=Tt.replace,i._updateDuration=Me,i._startTime=0,i._numbers=qt(t._fromNumbers),i._number=0,i._next=null,i._prev=null,kn(o,i),kn(r,i));let s=t._toNumber;if(t._fromNumber=i._fromNumber-s,t._toNumber=0,t._numbers=qt(t._fromNumbers),t._number=0,i._fromNumber=s,t._toNumbers.length){let a=qt(t._toNumbers);a.forEach((c,l)=>{t._fromNumbers[l]=i._fromNumbers[l]-c,t._toNumbers[l]=0}),i._fromNumbers=a}kn(o,t,null,"_prevAdd","_nextAdd")}return t},Em=t=>{let e=t._composition;if(e!==Tt.none){let n=t.target,o=t.property,s=td._rep.get(n)[o];if(Vn(s,t,"_prevRep","_nextRep"),e===Tt.blend){let a=td._add,c=a.get(n);if(!c)return;let l=c[o],d=tr.animation;Vn(l,t,"_prevAdd","_nextAdd");let u=l._head;if(u&&u===l._tail){Vn(l,u,"_prevAdd","_nextAdd"),Vn(d,u);let h=!0;for(let g in c)if(c[g]._head){h=!1;break}h&&a.delete(n)}}}return t},h0=(t,e,n)=>{let o=!1;return tt(e,r=>{let i=r.target;if(t.includes(i)){let s=r.property,a=r._tweenType,c=is(n,i,a);(!c||c&&c===s)&&(r.parent._tail===r&&r._tweenType===ft.TRANSFORM&&r._prev&&r._prev._tweenType===ft.TRANSFORM&&(r._prev._renderTransforms=1),Vn(e,r),Em(r),o=!0)}},!0),o},Na=(t,e,n)=>{let o=e||Jt,r;if(o._hasChildren){let i=0;tt(o,s=>{if(!s._hasChildren)if(r=h0(t,s,n),r&&!s._head)s.cancel(),Vn(o,s);else{let c=s._offset+s._delay+s.duration;c>i&&(i=c)}s._head?Na(t,s,n):s._hasChildren=!1},!0),te(o.iterationDuration)||(o.iterationDuration=i)}else r=h0(t,o,n);r&&!o._head&&(o._hasChildren=!1,o.cancel&&o.cancel())};var g0=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),Cm=t=>(t._cancelled&&(t._hasChildren?tt(t,Cm):tt(t,e=>{e._composition!==Tt.none&&nd(e,ka(e.target,e.property))}),t._cancelled=0),t),y0=0,$M=(t,e)=>t._priority>e._priority,nr=class extends as{constructor(e={},n=null,o=0){super(0),++y0;let{id:r,delay:i,duration:s,reversed:a,alternate:c,loop:l,loopDelay:d,autoplay:u,frameRate:h,playbackRate:g,priority:_,onComplete:C,onLoop:O,onPause:W,onBegin:q,onBeforeUpdate:he,onUpdate:ce}=e;Ca.current&&Ca.current.register(this);let ve=n?0:Jt._lastTickTime,ie=n?n.defaults:xe.defaults,Qe=Qt(i)||te(i)?ie.delay:+i,Pe=Qt(s)||te(s)?1/0:+s,je=Mt(l,ie.loop),ct=Mt(d,ie.loopDelay),bt=je===!0||je===1/0||je<0?1/0:je+1,Dt=0;n?Dt=o:(Jt.reqId||Jt.requestTick(Xo()),Dt=(Jt._lastTickTime-Jt._startTime)*xe.timeScale),this.id=te(r)?y0:r,this.parent=n,this.duration=fi((Pe+ct)*bt-ct)||Me,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=q||ie.onBegin,this.onBeforeUpdate=he||ie.onBeforeUpdate,this.onUpdate=ce||ie.onUpdate,this.onLoop=O||ie.onLoop,this.onPause=W||ie.onPause,this.onComplete=C||ie.onComplete,this.iterationDuration=Pe,this.iterationCount=bt,this._autoplay=n?!1:Mt(u,ie.autoplay),this._offset=Dt,this._delay=Qe,this._loopDelay=ct,this._iterationTime=0,this._currentIteration=0,this._resolve=zt,this._running=!1,this._reversed=+Mt(a,ie.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Mt(c,ie.alternate),this._prev=null,this._next=null,this._lastTickTime=ve,this._startTime=ve,this._lastTime=ve,this._fps=Mt(h,ie.frameRate),this._speed=Mt(g,ie.playbackRate),this._priority=+Mt(_,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return fn(Ge(this._currentTime,xe.precision),-this._delay,this.duration)}set currentTime(e){let n=this.paused;this.pause().seek(+e),n||this.resume()}get iterationCurrentTime(){return fn(Ge(this._iterationTime,xe.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return fn(Ge(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return fn(Ge(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let n=this.iterationDuration;this.currentTime=n*this._currentIteration+n*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*fn(+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 Cm(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Lo(this,0,1,~~e,Kt.FORCE),g0(this),this._hasChildren&&tt(this,g0),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&Lo(this,this.duration,1,~~e,Kt.FORCE),this.reset(e);let n=this._autoplay;return n===!0?this.resume():n&&!te(n.linked)&&n.link(this),this}resetTime(){let e=1/(this._speed*Jt._speed);return this._startTime=Xo()-(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<=Me&&!this._hasChildren?Lo(this,Me,0,0,Kt.FORCE):(this._running||(kn(Jt,this,$M),Jt._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,Jt.wake()),this):this}restart(){return this.reset().resume()}seek(e,n=0,o=0){Cm(this),this.completed=!1;let r=this.paused;return this.paused=!0,Lo(this,e+this._delay,~~n,~~o,Kt.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,n=this.iterationCount,o=this.iterationDuration,r=n===1/0?pi(ba/o):n;return this._reversed=+(this._alternate&&!(r%2)?e:!e),n===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(o*r-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?tt(this,e=>e.cancel(),!0):tt(this,Em),this._cancelled=1,this.pause()}stretch(e){let n=this.duration,o=er(e);if(n===o)return this;let r=e/n,i=e<=Me;return this.duration=i?Me:o,this.iterationDuration=i?Me:er(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){Lo(this,0,1,0,Kt.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=zt){let n=this.then,o=()=>{this.then=null,e(this),this.then=n,this._resolve=zt};return new Promise(r=>(this._resolve=()=>r(o()),this.completed&&this._resolve(),this))}};function v0(t){let e=In(t)?Ca.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function vr(t){if(Po(t))return[];if(!Jn)return jn(t)&&t.flat(1/0)||[t];if(jn(t)){let n=t.flat(1/0),o=[];for(let r=0,i=n.length;r<i;r++){let s=n[r];if(!Po(s)){let a=v0(s);if(a)for(let c=0,l=a.length;c<l;c++){let d=a[c];if(!Po(d)){let u=!1;for(let h=0,g=o.length;h<g;h++)if(o[h]===d){u=!0;break}u||o.push(d)}}else{let c=!1;for(let l=0,d=o.length;l<d;l++)if(o[l]===s){c=!0;break}c||o.push(s)}}}return o}let e=v0(t);return e?Array.from(e):[t]}function _r(t){let e=vr(t),n=e.length;for(let o=0;o<n;o++){let r=e[o];if(!r[dm]){r[dm]=!0;let i=Yl(r);(r.nodeType||i)&&(r[Oo]=!0,r[zl]=i,r[gr]={})}}return e}var wm={deg:1,rad:180/Sa,turn:360},_0={},Da=(t,e,n,o=!1)=>{let r=e.u,i=e.n;if(e.t===Te.UNIT&&r===n)return e;let s=i+r+n,a=_0[s];if(!te(a)&&!o)e.n=a;else{let c;if(r in wm)c=i*wm[r]/wm[n];else{let d=t.cloneNode(),u=t.parentNode,h=u&&u!==hr?u:hr.body;h.appendChild(d);let g=d.style;g.width=100+r;let _=d.offsetWidth||100;g.width=100+n;let C=d.offsetWidth||100,O=_/C;h.removeChild(d),c=O*i}e.n=c,_0[s]=c}return e.t,Te.UNIT,e.u=n,e};var or=t=>t;var Oa=(t=1.68)=>e=>ui(e,+t),Tm={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(e*2)/2:1-t(e*-2+2)/2,outIn:t=>e=>e<.5?(1-t(1-e*2))/2:(t(e*2-1)+1)/2},HM=Sa/2,b0=Sa*2,x0={[to]:Oa,Quad:Oa(2),Cubic:Oa(3),Quart:Oa(4),Quint:Oa(5),Sine:t=>1-o0(t*HM),Circ:t=>1-yr(1-t*t),Expo:t=>t?ui(2,10*t-10):0,Bounce:t=>{let e,n=4;for(;t<((e=ui(2,--n))-1)/11;);return 1/ui(4,3-n)-7.5625*ui((e*3-2)/22-t,2)},Back:(t=1.7)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{let n=fn(+t,1,10),o=fn(+e,Me,2),r=o/b0*r0(1/n),i=b0/o;return s=>s===0||s===1?s:-n*ui(2,-10*(1-s))*n0((1-s-r)*i)}},Sm=(()=>{let t={linear:or,none:or};for(let e in Tm)for(let n in x0){let o=x0[n],r=Tm[e];t[e+n]=n===to||n==="Back"||n==="Elastic"?(i,s)=>r(o(i,s)):r(o)}return t})(),od={linear:or,none:or},BM=t=>{if(od[t])return od[t];if(t.indexOf("(")<=-1){let n=Tm[t]||t.includes("Back")||t.includes("Elastic")?Sm[t]():Sm[t];return n?od[t]=n:or}else{let e=t.slice(0,-1).split("("),n=Sm[e[0]];return n?od[t]=n(...e[1].split(",")):or}},E0=["steps(","irregular(","linear(","cubicBezier("],mi=t=>{if(In(t)){for(let n=0,o=E0.length;n<o;n++)if(Fn(t,E0[n]))return console.warn(`String syntax for \`ease: "${t}"\` has been removed from the core and replaced by importing and passing the easing function directly: \`ease: ${t}\``),or}return Qt(t)?t:In(t)?BM(t):or};var ye=Jl(),Fe=Jl(),cs={},rd={func:null},id={func:null},sd=[null],ls=[null,null],ad={to:null},UM=0,C0=0,br,Fo,zM=(t,e)=>{let n={};if(jn(t)){let o=[].concat(...t.map(r=>Object.keys(r))).filter(wa);for(let r=0,i=o.length;r<i;r++){let s=o[r],a=t.map(c=>{let l={};for(let d in c){let u=c[d];wa(d)?d===s&&(l.to=u):l[d]=u}return l});n[s]=a}}else{let o=Mt(e.duration,xe.defaults.duration);Object.keys(t).map(i=>({o:parseFloat(i)/100,p:t[i]})).sort((i,s)=>i.o-s.o).forEach(i=>{let s=i.o,a=i.p;for(let c in a)if(wa(c)){let l=n[c];l||(l=n[c]=[]);let d=s*o,u=l.length,h=l[u-1],g={to:a[c]},_=0;for(let C=0;C<u;C++)_+=l[C].duration;u===1&&(g.from=h.to),a.ease&&(g.ease=a.ease),g.duration=d-(u?_:0),l.push(g)}return i});for(let i in n){let s=n[i],a;for(let c=0,l=s.length;c<l;c++){let d=s[c],u=d.ease;d.ease=a||void 0,a=u}s[0].duration||s.shift()}}return n},xr=class extends nr{constructor(e,n,o,r,i=!1,s=0,a){super(n,o,r),this._head,this._tail,++C0;let c=_r(e),l=c.length,d=n.keyframes,u=d?Kl(zM(d,n),n):n,{id:h,delay:g,duration:_,ease:C,playbackEase:O,modifier:W,composition:q,onRender:he}=u,ce=o?o.defaults:xe.defaults,ve=Mt(C,ce.ease),ie=Mt(O,ce.playbackEase),Qe=ie?mi(ie):null,Pe=!te(ve.ease),je=Pe?ve.ease:Mt(C,Qe?"linear":ce.ease),ct=Pe?ve.settlingDuration:Mt(_,ce.duration),bt=Mt(g,ce.delay),Dt=W||ce.modifier,St=te(q)&&l>=eo?Tt.none:te(q)?ce.composition:q,Xe=this._offset+(o?o._offset:0);Pe&&(ve.parent=this);let pe=NaN,D=NaN,Y=0,U=0;for(let P=0;P<l;P++){let J=c[P],ke=s||P,Je=a||c,Ft=NaN,de=NaN;for(let gt in u)if(wa(gt)){let $e=Ta(J,gt),tn=Xl(J,gt),jt=is(gt,J,$e),We=u[gt],Bt=jn(We);if(i&&!Bt&&(ls[0]=We,ls[1]=We,We=ls),Bt){let oe=We.length,st=!di(We[0]);oe===2&&st?(ad.to=We,sd[0]=ad,br=sd):oe>2&&st?(br=[],We.forEach((G,mt)=>{mt?mt===1?(ls[1]=G,br.push(ls)):br.push(G):ls[0]=G})):br=We}else sd[0]=We,br=sd;let Ot=null,Ie=null,ze=NaN,_e=0,nt=0;for(let oe=br.length;nt<oe;nt++){let st=br[nt];di(st)?Fo=st:(ad.to=st,Fo=ad),rd.func=null,id.func=null;let G=Ao(Mt(Fo.composition,St),J,ke,Je,null,null),mt=Mn(G)?G:Tt[G];!Ot&&mt!==Tt.none&&(Ot=ka(J,jt));let Ke=Ot?Ot._tail:null,ne=o&&Ke&&Ke.parent.parent===o?Ke:Ie,vt=Ao(Fo.to,J,ke,Je,rd,ne),ue;di(vt)&&!te(vt.to)?(Fo=vt,ue=vt.to):ue=vt;let it=Ao(Fo.from,J,ke,Je,id,ne),He=Fo.ease||je,R=Ao(He,J,ke,Je,null,ne),V=Qt(R)||In(R)?R:He,Q=!te(V)&&!te(V.ease),re=Q?V.ease:V,lt=Q?V.settlingDuration:Ao(Mt(Fo.duration,oe>1?Ao(ct,J,ke,Je,null,ne)/oe:ct),J,ke,Je,null,ne),xt=Ao(Mt(Fo.delay,nt?0:bt),J,ke,Je,null,ne),Un=Fo.modifier||Dt,pn=!te(it),bo=!te(ue),xo=jn(ue),Ya=xo||pn&&bo,Za=Ie?_e:0,Ei=Ie?_e+xt:xt,Ir=Ge(Xe+Ei,12),Cs=Ge(Xe+Za,12);!U&&(pn||xo)&&(U=1);let Yt=Ie;if(mt!==Tt.none){let Ee=Ot._head;for(;Ee&&Ee._absoluteStartTime<=Ir;)if(Ee._isOverridden||(Yt=Ee),Ee=Ee._nextRep,Ee&&Ee._absoluteStartTime>=Ir)for(;Ee;)Ia(Ee),Ee=Ee._nextRep}if(Ya){mn(xo?Ao(ue[0],J,ke,Je,id,ne):it,ye),mn(xo?Ao(ue[1],J,ke,Je,rd,ne):ue,Fe);let Ee=Ro(J,jt,$e,cs);ye.t===Te.NUMBER&&(Yt?Yt._valueType===Te.UNIT&&(ye.t=Te.UNIT,ye.u=Yt._unit):(mn(Ee,Xt),Xt.t===Te.UNIT&&(ye.t=Te.UNIT,ye.u=Xt.u)))}else bo?mn(ue,Fe):Ie?bm(Ie,Fe):mn(o&&Yt&&Yt.parent.parent===o?Yt._value:Ro(J,jt,$e,cs),Fe),pn?mn(it,ye):Ie?bm(Ie,ye):mn(o&&Yt&&Yt.parent.parent===o?Yt._value:Ro(J,jt,$e,cs),ye);if(ye.o&&(ye.n=rs(Yt?Yt._toNumber:mn(Ro(J,jt,$e,cs),Xt).n,ye.n,ye.o)),Fe.o&&(Fe.n=rs(ye.n,Fe.n,Fe.o)),ye.t!==Fe.t){if(ye.t===Te.COMPLEX||Fe.t===Te.COMPLEX){let Ee=ye.t===Te.COMPLEX?ye:Fe,Pt=ye.t===Te.COMPLEX?Fe:ye;Pt.t=Te.COMPLEX,Pt.s=qt(Ee.s),Pt.d=Ee.d.map(()=>Pt.n)}else if(ye.t===Te.UNIT||Fe.t===Te.UNIT){let Ee=ye.t===Te.UNIT?ye:Fe,Pt=ye.t===Te.UNIT?Fe:ye;Pt.t=Te.UNIT,Pt.u=Ee.u}else if(ye.t===Te.COLOR||Fe.t===Te.COLOR){let Ee=ye.t===Te.COLOR?ye:Fe,Pt=ye.t===Te.COLOR?Fe:ye;Pt.t=Te.COLOR,Pt.d=Ee.d.map(()=>0)}}if(ye.u!==Fe.u){let Ee=Fe.u?ye:Fe;Ee=Da(J,Ee,Fe.u?Fe.u:ye.u,!1)}if(Fe.d&&ye.d&&Fe.d.length!==ye.d.length){let Ee=ye.d.length>Fe.d.length?ye:Fe,Pt=Ee===ye?Fe:ye;Pt.d=Ee.d.map((Qa,Ci)=>te(Pt.d[Ci])?0:Pt.d[Ci]),Pt.s=qt(Ee.s)}let Eo=Ge(+lt||Me,12),ws=cs[jt];Po(ws)||(cs[jt]=null);let Ka=tn?tn.set:null;_e=Ge(Ei+Eo,12);let kr=ye.d,Ss=Fe.d,Ts=Fe.s,nn={parent:this,id:UM++,property:jt,target:J,_value:null,_toFunc:rd.func,_fromFunc:id.func,_ease:mi(re),_fromNumbers:kr?qt(kr):Ea,_toNumbers:Ss?qt(Ss):Ea,_strings:Ts?qt(Ts):Ea,_fromNumber:ye.n,_toNumber:Fe.n,_numbers:kr?qt(kr):Ea,_number:ye.n,_unit:Fe.u,_modifier:Un,_currentTime:0,_startTime:Ei,_delay:+xt,_updateDuration:Eo,_changeDuration:Eo,_absoluteStartTime:Ir,_absoluteUpdateStartTime:Cs,_absoluteEndTime:Ge(Xe+_e,12),_hasFromValue:pn||xo?1:0,_tweenType:$e,_setter:Ka,_valueType:Fe.t,_composition:mt,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:ws,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};mt!==Tt.none&&nd(nn,Ot);let ir=nn._valueType;if(ir===Te.COMPLEX)nn._value=ed(nn,1,-1);else if(ir===Te.UNIT)nn._value=`${Un(nn._toNumber)}${nn._unit}`;else if(ir===Te.COLOR){let Ee=Fe.d;nn._value=`rgba(${Ge(Ee[0],0)},${Ge(Ee[1],0)},${Ge(Ee[2],0)},${Ee[3]})`}else nn._value=Un(nn._toNumber);isNaN(ze)&&(ze=nn._startTime),Ie=nn,Y++,kn(this,nn)}(isNaN(D)||ze<D)&&(D=ze),(isNaN(pe)||_e>pe)&&(pe=_e),$e===ft.TRANSFORM&&(Ft=Y-nt,de=Y)}if(!isNaN(Ft)){let gt=0;tt(this,$e=>{gt>=Ft&&gt<de&&($e._renderTransforms=1,$e._composition===Tt.blend&&tt(tr.animation,tn=>{tn.id===$e.id&&(tn._renderTransforms=1)})),gt++})}}l||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),D?(tt(this,P=>{P._startTime-P._delay||(P._delay-=D),P._startTime-=D}),pe-=D):D=0,pe||(pe=Me,this.iterationCount=0),this.targets=c,this.id=te(h)?C0:h,this.duration=pe===Me?Me:fi((pe+this._loopDelay)*this.iterationCount-this._loopDelay)||Me,this.onRender=he||ce.onRender,this._ease=Qe,this._delay=D,this.iterationDuration=pe,!this._autoplay&&U&&this.onRender(this)}stretch(e){let n=this.duration;if(n===er(e))return this;let o=e/n;return tt(this,r=>{r._updateDuration=er(r._updateDuration*o),r._changeDuration=er(r._changeDuration*o),r._currentTime*=o,r._delay*=o,r._startTime*=o,r._absoluteStartTime*=o,r._absoluteUpdateStartTime*=o,r._absoluteEndTime*=o}),super.stretch(e)}refresh(){return tt(this,e=>{let n=e._toFunc,o=e._fromFunc;(n||o)&&(o?(mn(o(),ye),ye.u!==e._unit&&e.target[Oo]&&Da(e.target,ye,e._unit,!0),e._fromNumbers=qt(ye.d),e._fromNumber=ye.n):n&&(mn(Ro(e.target,e.property,e._tweenType),Xt),e._fromNumbers=qt(Xt.d),e._fromNumber=Xt.n),n&&(mn(n(),Fe),e._toNumbers=qt(Fe.d),e._strings=qt(Fe.s),e._toNumber=Fe.o?rs(e._fromNumber,Fe.n,Fe.o):Fe.n))}),this.duration===Me&&this.restart(),this}revert(){return super.revert(),ss(this)}then(e){return super.then(e)}},on=(t,e)=>xe.editor?xe.editor.addAnimation(t,e):new xr(t,e,null,0,!1).init();var qM=(t,e)=>{if(Fn(e,"<")){let n=e[1]==="<",o=t._tail,r=o?o._offset+o._delay:0;return n?r:r+o.duration}},hi=(t,e)=>{let n=t.iterationDuration;if(n===Me&&(n=0),te(e))return n;if(Mn(+e))return+e;let o=e,r=t?t.labels:null,i=!Po(r),s=qM(t,o),a=!te(s),c=X_.exec(o);if(c){let l=c[0],d=o.split(l),u=i&&d[0]?r[d[0]]:n,h=a?s:i?u:n,g=+d[1];return rs(h,g,l[0])}else return a?s:i?te(r[o])?n:r[o]:n};function GM(t){return fi((t.iterationDuration+t._loopDelay)*t.iterationCount-t._loopDelay)||Me}function Mm(t,e,n,o,r,i){let a=Mn(t.duration)&&t.duration<=Me?n-Me:n;e.composition&&Lo(e,a,1,1,Kt.AUTO);let c=o?new xr(o,t,e,a,!1,r,i):new nr(t,e,a);return e.composition&&c.init(!0),kn(e,c),tt(e,l=>{let u=l._offset+l._delay+l.duration;u>e.iterationDuration&&(e.iterationDuration=u)}),e.duration=GM(e),e}var w0=0,cd=class extends nr{constructor(e={}){super(e,null,0),++w0,this.id=te(e.id)?w0:e.id,this.duration=0,this.labels={};let n=e.defaults,o=xe.defaults;this.defaults=n?Kl(n,o):o,this.composition=Mt(e.composition,!0),this.onRender=e.onRender||o.onRender;let r=Mt(e.playbackEase,o.playbackEase);this._ease=r?mi(r):null,this.iterationDuration=0}add(e,n,o){let r=di(n),i=di(e);if(r||i){if(this._hasChildren=!0,r){let s=n,a=xe.editor&&xe.editor.addTimelineChild,c=o&&o.type==="Stagger"&&xe.editor,l=Qt(o)?o:null;if(l||c){let d=vr(e),u=this.duration,h=this.iterationDuration,g=s.id,_=0,C=d.length,O=a?a(e,s,this.id,o,C):null,W=l||xe.editor.resolveStagger(o.defaultValue);d.forEach(q=>{let he=H({},O||s);this.duration=u,this.iterationDuration=h,te(g)||(he.id=g+"-"+_);let ce=hi(this,W(q,_,d,null,this));Mm(he,this,ce,q,_,d),_++})}else{let d=a?a(e,s,this.id,o):s,u=o&&o.type?o.defaultValue:o;Mm(d,this,hi(this,u),e)}}else Mm(e,this,hi(this,n));return this.composition&&this.init(!0),this}}sync(e,n){if(te(e)||e&&te(e.pause))return this;e.pause();let o=+(e.effect?e.effect.getTiming().duration:e.duration);!te(e)&&!te(e.persist)&&(e.persist=!0);let r=xe.editor,i=r&&r.addTimelineChild;r&&r.addTimelineSync&&(n=r.addTimelineSync(e,n,this.id),r.addTimelineChild=null);let s=this.add(e,{currentTime:[0,o],duration:o,delay:0,ease:"linear",playbackEase:"linear"},n);return r&&(r.addTimelineChild=i),s}set(e,n,o){return te(n)?this:(n.duration=Me,n.composition=Tt.replace,this.add(e,n,o))}call(e,n){return te(e)||e&&!Qt(e)?this:(xe.editor&&xe.editor.addTimelineCall&&(n=xe.editor.addTimelineCall(e,n,this.id)),this.add({duration:0,delay:0,onComplete:()=>e(this)},n))}label(e,n){return te(e)||e&&!In(e)?this:(xe.editor&&xe.editor.addTimelineLabel&&(n=xe.editor.addTimelineLabel(e,n,this.id)),this.labels[e]=hi(this,n),this)}remove(e,n){return Na(vr(e),this,n),this}stretch(e){let n=this.duration;if(n===er(e))return this;let o=e/n,r=this.labels;tt(this,i=>i.stretch(i.duration*o));for(let i in r)r[i]*=o;return super.stretch(e)}refresh(){return tt(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),tt(this,e=>e.revert,!0),ss(this)}then(e){return super.then(e)}},ld=t=>xe.editor?xe.editor.addTimeline(t):new cd(t).init();var Im={};Mh(Im,{clamp:()=>fn,damp:()=>eI,degToRad:()=>XM,lerp:()=>Jo,mapRange:()=>QM,padEnd:()=>ZM,padStart:()=>YM,radToDeg:()=>JM,round:()=>Ge,roundPad:()=>WM,snap:()=>i0,wrap:()=>KM});var WM=(t,e)=>(+t).toFixed(e),YM=(t,e,n)=>`${t}`.padStart(e,n),ZM=(t,e,n)=>`${t}`.padEnd(e,n),KM=(t,e,n)=>((t-e)%(n-e)+(n-e))%(n-e)+e,QM=(t,e,n,o,r)=>o+(t-e)/(n-e)*(r-o),XM=t=>t*Math.PI/180,JM=t=>t*180/Math.PI,eI=(t,e,n,o)=>o?o===1?e:Jo(t,e,1-Math.exp(-o*n*.1)):t;var S0={_head:null,_tail:null},T0=(t,e,n)=>{let o=S0._head,r;for(;o;){let i=o._next,s=o.$el===t,a=!e||o.property===e,c=!n||o.parent===n;if(s&&a&&c){r=o.animation;try{r.commitStyles()}catch{}r.cancel(),Vn(S0,o);let l=o.parent;l&&(l._completed++,l.animations.length===l._completed&&(l.completed=!0,l.paused=!0,l.muteCallbacks||(l.onComplete(l),l._resolve(l))))}o=i}return r};function M0(t,e,n){let o=_r(t);if(!o.length)return;let[r]=o,i=Ta(r,e),s=is(e,r,i),a=Ro(r,s);if(te(n))return a;if(mn(a,Xt),Xt.t===Te.NUMBER||Xt.t===Te.UNIT){if(n===!1)return Xt.n;{let c=Da(r,Xt,n,!1);return`${Ge(c.n,xe.precision)}${c.u}`}}}var I0=(t,e)=>{if(!te(e))return xe.editor&&xe.editor.addSet?xe.editor.addSet(t,e):(e.duration=Me,e.composition=Mt(e.composition,Tt.none),new xr(t,e,null,0,!0).resume())},k0=(t,e,n)=>{let o=vr(t);for(let r=0,i=o.length;r<i;r++)T0(o[r],n,e&&e.controlAnimation&&e);return Na(o,e,n),o};var N0=(t=zt)=>new nr({duration:1*xe.timeScale,onComplete:t},null,0).resume(),D0=t=>{let e;return((...n)=>{let o,r,i,s,a;e&&(o=e.currentIteration,r=e.iterationProgress,i=e.reversed,s=e._alternate,a=e._startTime,e.revert());let c=t(...n);return c&&!Qt(c)&&c.revert&&(e=c),te(r)||(e.currentIteration=o,e.iterationProgress=(s&&o%2?!i:i)?1-r:r,e._startTime=a),c||zt})};var Gt={};Mh(Gt,{$:()=>_r,addChild:()=>kn,clamp:()=>H0,cleanInlineStyles:()=>u0,createSeededRandom:()=>ud,damp:()=>z0,degToRad:()=>j0,forEachChildren:()=>tt,get:()=>M0,keepTime:()=>D0,lerp:()=>U0,mapRange:()=>F0,padEnd:()=>R0,padStart:()=>A0,radToDeg:()=>V0,random:()=>ds,randomPick:()=>q0,remove:()=>k0,removeChild:()=>Vn,round:()=>B0,roundPad:()=>P0,set:()=>I0,shuffle:()=>pd,snap:()=>$0,stagger:()=>jo,sync:()=>N0,wrap:()=>L0});var no=Im,dd={},tI=(t,e=0)=>(...n)=>e?o=>t(...n,o):o=>t(o,...n),O0=t=>(...e)=>{let n=t(...e);return new Proxy(zt,{apply:(o,r,[i])=>n(i),get:(o,r)=>{if(dd[r])return O0((...i)=>{let s=dd[r](...i);return a=>s(n(a))})}})},oo=(t,e,n=0)=>{let o=(...r)=>(r.length<e.length?O0(tI(e,n)):e)(...r);return dd[t]||(dd[t]=o),o},P0=oo("roundPad",no.roundPad),A0=oo("padStart",no.padStart),R0=oo("padEnd",no.padEnd),L0=oo("wrap",no.wrap),F0=oo("mapRange",no.mapRange),j0=oo("degToRad",no.degToRad),V0=oo("radToDeg",no.radToDeg),$0=oo("snap",no.snap),H0=oo("clamp",no.clamp),B0=oo("round",no.round),U0=oo("lerp",no.lerp,1),z0=oo("damp",no.damp,1);var ds=(t=0,e=1,n=0)=>{let o=10**n;return Math.floor((Math.random()*(e-t+1/o)+t)*o)/o},nI=0,ud=(t,e=0,n=1,o=0)=>{let r=t===void 0?nI++:t;return(i=e,s=n,a=o)=>{r+=1831565813,r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61);let c=10**a;return Math.floor((((r^r>>>14)>>>0)/4294967296*(s-i+1/c)+i)*c)/c}},q0=t=>t[ds(0,t.length-1)],pd=(t,e=ds)=>{let n=t.length,o,r;for(;n;)r=e(0,--n),o=t[n],t[n]=t[r],t[r]=o;return t};var jo=(t,e={})=>{let n=[],o=0,r,i=null,s=e.from,a=e.reversed,c=e.ease,l=!te(c),u=l&&!te(c.ease)?c.ease:l?mi(c):null,h=e.grid,g=h===!0,_=e.axis,C=e.total,O=te(s)||s===0||s==="first",W=s==="center",q=s==="last",he=s==="random",ce=jn(s),ve=jn(t),ie=e.use,Qe=ve?Zl(t[0]):Zl(t),Pe=ve?Zl(t[1]):0,je=Wl.exec((ve?t[1]:t)+to),ct=e.start||0+(ve?Qe:0),bt=e.seed,St=!te(bt)&&bt!==!1?ud(bt===!0?0:bt):ds,Xe=e.jitter,pe=!te(Xe),D=jn(Xe),Y=D?Xe[0]:Xe||0,U=D?Xe[1]:Xe||0,P=O?0:Mn(s)?s:0;return(J,ke,Je,Ft,de)=>{let[gt]=_r(J),$e=te(C)?Je.length:C,tn=te(ie)?!1:Qt(ie)?ie(gt,ke,$e):Ro(gt,ie),jt=Mn(tn)||In(tn)&&Mn(+tn)?+tn:ke,We=jt>=0&&jt<$e?jt:ke;if(W&&(P=($e-1)/2),q&&(P=$e-1),!n.length){if(g){let Ie=!0,ze=!1,_e=1/0,nt=1/0,oe=1/0,st=-1/0,G=-1/0,mt=-1/0,Ke=[],ne=[],vt=[];for(let ue=0;ue<$e;ue++){let it=Je[ue],He=0,R=0,V=0,Q=!1;if(it&&Qt(it.getBoundingClientRect)){let re=it.getBoundingClientRect();He=re.left+re.width/2,R=re.top+re.height/2,Q=!0}else{let re=it;re&&Mn(re.x)&&Mn(re.y)&&(He=re.x,R=re.y,Mn(re.z)&&(V=re.z,ze=!0),Q=!0)}if(!Q){Ie=!1;break}Ke.push(He),ne.push(R),vt.push(V),He<_e&&(_e=He),R<nt&&(nt=R),V<oe&&(oe=V),He>st&&(st=He),R>G&&(G=R),V>mt&&(mt=V)}if(Ie){let ue=Ke[0],it=ne[0],He=vt[0];ce?(ue=_e+s[0]*(st-_e),it=nt+s[1]*(G-nt),He=ze?oe+(s.length>=3?s[2]:.5)*(mt-oe):0):W?(ue=(_e+st)/2,it=(nt+G)/2,He=(oe+mt)/2):q?(ue=Ke[$e-1],it=ne[$e-1],He=vt[$e-1]):Mn(s)&&(ue=Ke[s],it=ne[s],He=vt[s]);for(let V=0;V<$e;V++){let Q=ue-Ke[V],re=it-ne[V],lt=He-vt[V],xt=yr(Q*Q+re*re+(ze?lt*lt:0));_==="x"&&(xt=-Q),_==="y"&&(xt=-re),_==="z"&&(xt=-lt),n.push(xt)}let R=1/0;for(let V=0;V<$e;V++){let Q=li(n[V]);Q>0&&Q<R&&(R=Q)}if(R>0&&R<1/0)for(let V=0;V<$e;V++)n[V]=n[V]/R}else for(let ue=0;ue<$e;ue++)n.push(li(P-ue))}else for(let Ie=0;Ie<$e;Ie++)if(!h)n.push(li(P-Ie));else{let ze=h.length,_e=h[0]*h[1],nt,oe,st;ce?(nt=s[0]*(h[0]-1),oe=s[1]*(h[1]-1),st=ze===3?(s.length>=3?s[2]:.5)*(h[2]-1):0):W?(nt=(h[0]-1)/2,oe=(h[1]-1)/2,st=ze===3?(h[2]-1)/2:0):(nt=P%h[0],oe=pi(P/h[0])%h[1],st=ze===3?pi(P/_e):0);let G=Ie%h[0],mt=pi(Ie/h[0])%h[1],Ke=ze===3?pi(Ie/_e):0,ne=nt-G,vt=oe-mt,ue=st-Ke,it=yr(ne*ne+vt*vt+(ze===3?ue*ue:0));_==="x"&&(it=-ne),_==="y"&&(it=-vt),_==="z"&&(it=-ue),n.push(it)}o=n[0];for(let Ie=1;Ie<$e;Ie++)n[Ie]>o&&(o=n[Ie]);if(u||a)for(let Ie=0;Ie<$e;Ie++){let ze=n[Ie];u&&(ze=u(ze/o)*o),a&&(ze=_?-ze:li(o-ze)),n[Ie]=ze}if(pe){i=new Array($e);for(let Ie=0;Ie<$e;Ie++)i[Ie]=St(-1,1,4)}he&&(n=pd(n,St))}let Bt=ve?(Pe-Qe)/o:Qe;te(r)&&(r=de?hi(de,te(e.start)?de.iterationDuration:ct):ct);let Ot=r+(Bt*Ge(n[We],2)||0);if(pe){let Ie=o?n[We]/o:0,ze=Y+(U-Y)*Ie;Ot=Ot+i[We]*ze}return e.modifier&&(Ot=e.modifier(Ot)),je&&(Ot=`${Ot}${je[2]}`),Ot}};var oI=t=>{let e=1;if(t&&t.getCTM){let n=t.getCTM();if(n){let o=yr(n.a*n.a+n.b*n.b),r=yr(n.c*n.c+n.d*n.d);e=(o+r)/2}}return e},rI=(t,e,n)=>{let o=eo,r=getComputedStyle(t),i=r.strokeLinecap,s=r.vectorEffect==="non-scaling-stroke"?t:null,a=i,c=new Proxy(t,{get(l,d){let u=l[d];return d===ql?l:d==="setAttribute"?(...h)=>{if(h[0]==="draw"){let _=h[1].split(" "),C=+_[0],O=+_[1],W=oI(s),q=C*-o*W,he=O*o*W+q,ce=o*W+(C===0&&O===1||C===1&&O===0?0:10*W)-he;if(i!=="butt"){let ve=C===O?"butt":i;a!==ve&&(l.style.strokeLinecap=`${ve}`,a=ve)}l.setAttribute("stroke-dashoffset",`${q}`),l.setAttribute("stroke-dasharray",`${he} ${ce}`)}return Reflect.apply(u,l,h)}:Qt(u)?(...h)=>Reflect.apply(u,l,h):u}});return t.getAttribute("pathLength")!==`${o}`&&(t.setAttribute("pathLength",`${o}`),c.setAttribute("draw",`${e} ${n}`)),c},km=(t,e=0,n=0)=>vr(t).map(r=>rI(r,e,n));var hn=class t{enabled=typeof window>"u"||typeof window.matchMedia!="function"||!window.matchMedia("(prefers-reduced-motion: reduce)").matches;get isEnabled(){return this.enabled}settle(e,n,o){setTimeout(()=>Gt.set(e,n),o)}enter(e,n={}){if(!e)return;let{y:o=8,scale:r,duration:i=260,delay:s=0,ease:a="out(3)"}=n,c={opacity:1,translateY:"0px",scale:1};if(!this.enabled){Gt.set(e,c);return}this.settle(e,c,s+i+120),on(e,X(H({opacity:[0,1],translateY:[`${o}px`,"0px"]},r===void 0?{}:{scale:[r,1]}),{duration:i,delay:s,ease:a}))}enterList(e,n={}){let o=Array.from(e);if(o.length===0)return;let{y:r=8,duration:i=240,delay:s=0,each:a=30,ease:c="out(3)"}=n;if(!this.enabled){for(let l of o)Gt.set(l,{opacity:1,translateY:"0px"});return}o.forEach((l,d)=>{this.settle(l,{opacity:1,translateY:"0px"},s+d*a+i+120)}),on(o,{opacity:[0,1],translateY:[`${r}px`,"0px"],duration:i,delay:jo(a,{start:s}),ease:c})}reveal(e,n,o={}){let{animate:r=!0,after:i}=o;if(!e){i?.();return}let s={opacity:0,height:"0px"},a={opacity:1,height:"auto"},c=Math.max(e.scrollHeight,e.getBoundingClientRect().height);if(!this.enabled||!r||c===0){Gt.set(e,n?a:s),i?.();return}this.settle(e,n?a:s,(n?240:180)+160),on(e,{opacity:n?[0,1]:[1,0],height:n?["0px",`${c}px`]:[`${c}px`,"0px"],duration:n?240:180,ease:n?"out(3)":"in(2)",onComplete:()=>{Gt.set(e,n?a:s),i?.()}})}pulse(e){!this.enabled||!e||(this.settle(e,{opacity:1,scale:1},520),on(e,{opacity:[.4,1],scale:[.99,1],duration:320,ease:"out(2)"}))}pop(e,n={}){if(!e)return;let{scale:o=1.18,duration:r=220,ease:i="out(2)"}=n;this.enabled&&(this.settle(e,{scale:1},r+120),on(e,{scale:[o,1],duration:r,ease:i}))}loop(e,n,o={}){if(!e||!this.enabled)return()=>{};let{duration:r=900,delay:i=0,ease:s="inOut(2)",alternate:a=!0}=o,c=on(e,X(H({},n),{duration:r,delay:i,ease:s,loop:!0,alternate:a})),l={};for(let[d,u]of Object.entries(n))l[d]=u[0];return()=>{c.pause(),Gt.set(e,l)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var us=class t{target=null;aim(e){this.target=e}read(){return this.target}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function iI(t,e){if(t&1&&(b(0,"span",22),p(1),E()),t&2){let n=e.$implicit;f(),A(n)}}var G0=1800,sI=520,aI=G0,fd=class t{status=ee("Connecting to the host\u2026");ready=ee(!1);dismissed=ut();letters=["M","o","r","s","e"];leaving=F(!1);host=I(Zt);animation=I(hn);handoff=I(us);intro;loops=[];introSettle;holdTimer;outroSettle;startedAt=0;left=!1;viewReady=!1;dismissedOnce=!1;constructor(){me(()=>{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 n=this.query(".ring-a"),o=this.query(".ring-b"),r=this.query(".halo"),i=this.query(".aura"),s=this.query(".grid"),a=this.query(".spark"),c=this.query(".dot-a"),l=this.query(".dot-b"),d=this.query(".dash"),u=this.queryAll(".letter"),h=this.query(".tagline"),g=this.query(".foot"),_=this.query(".pulse");try{let C=[n,o].filter(O=>O!==null).map(O=>km(O)[0]);for(let O of C)O.setAttribute("draw","0 0");this.intro=ld(),this.intro.add(this.one(r),{opacity:[0,.72],scale:[.45,1],duration:900,ease:"out(4)"},0).add(this.one(i),{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(C,{draw:["0 0","0 1"],duration:720,ease:"inOut(3)",delay:jo(110)},120).add(this.one(a),{opacity:[0,1],duration:420,ease:"out(2)"},260).add(this.one(o),{r:[45,8],opacity:[1,.2],duration:460,ease:"in(2)"},720).add(this.one(c),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:"outElastic(1, .55)"},820).add(this.one(l),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:"outElastic(1, .55)"},890).add(this.one(d),{opacity:[0,1],scaleX:[0,1],duration:700,ease:"outElastic(1, .55)"},960).add(this.one(r),{opacity:[.72,1,.6],scale:[1,1.14,1],duration:620,ease:"inOut(2)"},1060).add(u,{opacity:[0,1],translateY:[16,0],scale:[.85,1],duration:500,ease:"out(3)",delay:jo(40)},1100).add(this.one(h),{opacity:[0,1],translateY:[8,0],duration:420,ease:"out(3)"},1480).add(this.one(g),{opacity:[0,1],translateY:[10,0],duration:420,ease:"out(3)"},1580).add(this.one(_),{opacity:[0,1],scale:[.6,1],duration:420,ease:"out(2)"},1580),this.introSettle=setTimeout(()=>this.snap(),G0+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"),Gt.set(this.queryAll(".boot"),{opacity:1}),Gt.set(this.queryAll(".aura"),{opacity:.85}),Gt.set(this.queryAll(".grid"),{opacity:.5}),Gt.set(this.queryAll(".halo"),{opacity:.62,scale:1}),Gt.set(this.queryAll(".spark"),{opacity:1}),Gt.set(this.queryAll(".dot, .dash"),{opacity:1,scale:1,translateY:"0px"}),Gt.set(this.queryAll(".letter"),{opacity:1,scale:1,translateY:"0px"}),Gt.set(this.queryAll(".tagline, .foot"),{opacity:1,translateY:"0px"}),Gt.set(this.queryAll(".pulse"),{opacity:1,scale:1}),Gt.set(this.queryAll(".ring-b"),{opacity:.2})}startAmbient(){if(this.animation.isEnabled)try{this.startAmbientLoops()}catch{}}startAmbientLoops(){let e=l=>{this.loops.push(l)},n=[[this.query(".wave-a"),1050],[this.query(".wave-b"),1900]];for(let[l,d]of n)l&&e(on(l,{scale:[.4,2.05],opacity:[0,.7,0],duration:2600,delay:d,loop:!0,ease:"out(3)"}));let o=this.one(this.query(".spin-a")),r=this.one(this.query(".spin-b")),i=this.one(this.query(".orbit")),s=this.one(this.query(".spark")),a=this.one(this.query(".halo")),c=this.queryAll(".ellipsis i");e(on(o,{rotate:[0,360],duration:16e3,loop:!0,ease:"linear"})),e(on(r,{rotate:[0,-360],duration:22e3,loop:!0,ease:"linear"})),e(on(i,{rotate:[0,360],duration:5400,delay:340,loop:!0,ease:"linear"})),e(on(s,{scale:[1,1.9,1],opacity:[1,.6,1],duration:1100,delay:340,loop:!0,ease:"inOut(2)"})),e(on(a,{opacity:[.6,.78],scale:[1,1.045],duration:2400,delay:1400,loop:!0,alternate:!0,ease:"inOut(2)"})),c.length>0&&e(on(c,{opacity:[.15,1],translateY:[0,-2],duration:620,delay:jo(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,aI-(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"),n=this.query(".aura"),o=this.query(".grid"),r=this.query(".mark"),i=this.query(".halo"),s=this.queryAll(".letter"),a=this.query(".words"),c=this.query(".foot"),l=this.handoff.read(),d=r?.getBoundingClientRect(),u=l&&d&&d.width>0?{translateX:l.x-(d.left+d.width/2),translateY:l.y-(d.top+d.height/2),scale:l.width/d.width}:null;try{let h=ld({defaults:{ease:"inOut(2)"},onComplete:()=>this.dismiss()}).add(this.one(i),{opacity:0,scale:1.3,duration:320},0).add(this.one(n,o),{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,{translateY:-10,opacity:0,duration:260,delay:jo(20)},0).add(this.one(a,c),{opacity:0,duration:220},40);u&&r?h.add(r,X(H({},u),{duration:560,ease:"inOut(3)"}),0).add(r,{opacity:0,duration:160,ease:"out(2)"},500).add(this.one(e),{opacity:0,duration:380},520):h.add(this.one(r),{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(),sI+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(n=>n!==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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,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(n,o){n&1&&(b(0,"div",0),Ue(1,"span",1)(2,"span",2)(3,"span",3),b(4,"div",4)(5,"div",5),Ue(6,"span",6)(7,"span",7)(8,"span",8),Ut(),b(9,"svg",9)(10,"g",10),Ue(11,"circle",11),E(),b(12,"g",12),Ue(13,"circle",13),E(),b(14,"g",14),Ue(15,"circle",15),E()(),Sn(),b(16,"span",16),Ue(17,"span",17)(18,"span",18)(19,"span",19),E()(),b(20,"div",20)(21,"div",21),we(22,iI,2,1,"span",22,es),E(),b(24,"div",23),p(25,"the pi coding agent"),E()()(),b(26,"div",24),Ue(27,"span",25),b(28,"span",26),p(29),E(),b(30,"span",27),Ue(31,"i")(32,"i")(33,"i"),E()()()),n&2&&(De("leaving",o.leaving()),f(22),Se(o.letters),f(7),A(o.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 cI(t,e){t&1&&(b(0,"p",19),p(1),E()),t&2&&(f(),A(e))}function lI(t,e){if(t&1){let n=z();b(0,"div",23)(1,"p",24),p(2,"Start a Morse host"),E(),b(3,"div",25)(4,"span",26),p(5,"installed CLI"),E(),b(6,"code"),p(7,"morse start"),E()(),b(8,"div",25)(9,"span",26),p(10,"from the repo"),E(),b(11,"code"),p(12,"npm run dev:server"),E()(),b(13,"p",27),p(14," Not installed? "),b(15,"code"),p(16,"npm install -g @supanadit/morse-web"),E(),p(17,". "),E(),b(18,"p",27),p(19," Stopped it with "),b(20,"code"),p(21,"morse stop"),E(),p(22,"? "),b(23,"code"),p(24,"morse start"),E(),p(25," brings it back \u2014 "),b(26,"code"),p(27,"morse logs"),E(),p(28," says what happened. "),E(),b(29,"p",27),p(30,"or point this window at a host that is already running"),E(),b(31,"form",28),Z("submit",function(r){k(n);let i=y();return N(i.submit(r))}),b(32,"input",29),Z("input",function(r){k(n);let i=y();return N(i.onInput(r))}),E(),b(33,"button",30),p(34,"Connect"),E()()()}if(t&2){let n=y();f(32),Ze("value",n.server()),f(),Ze("disabled",n.server().trim().length===0)}}var md=class t{eyebrow=ee("Offline");title=ee("Morse is waiting for a host");body=ee("This window is only the frontend. The pi coding agent runs behind a Morse host \u2014 start one and this screen will clear itself.");detail=ee("");isBrowser=typeof globalThis<"u"&&typeof globalThis.acquireVsCodeApi>"u";server=F("");retry=ut();explore=ut();connect=ut();onInput(e){this.server.set(e.target.value)}submit(e){e.preventDefault();let n=this.server().trim();n.length>0&&this.connect.emit(n)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,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(n,o){if(n&1&&(b(0,"div",0),Ue(1,"span",1)(2,"span",2)(3,"span",3),b(4,"div",4)(5,"div",5),Ue(6,"span",6)(7,"span",7)(8,"span",8),Ut(),b(9,"svg",9),Ue(10,"circle",10)(11,"circle",11),E(),Sn(),b(12,"span",12),Ue(13,"span",13)(14,"span",13)(15,"span",14),E()(),b(16,"p",15),Ue(17,"span",16),p(18),E(),b(19,"h1",17),p(20),E(),b(21,"p",18),p(22),E(),T(23,cI,2,1,"p",19),b(24,"div",20)(25,"button",21),Z("click",function(){return o.retry.emit()}),p(26,"Retry now"),E(),b(27,"button",22),Z("click",function(){return o.explore.emit()}),p(28,"Explore the app"),E()(),T(29,lI,35,2,"div",23),E()()),n&2){let r;f(18),A(o.eyebrow()),f(2),A(o.title()),f(2),A(o.body()),f(),M((r=o.detail())?23:-1,r),f(6),M(o.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 Er=class t{attached=F([]);pinned=F([]);live=F(null);pendingMentions=F([]);message=F(null);counter=0;images=this.attached.asReadonly();pins=this.pinned.asReadonly();livePreview=this.live.asReadonly();mentions=this.pendingMentions.asReadonly();notice=this.message.asReadonly();count=S(()=>this.attached().length+this.pinned().length+this.pendingMentions().length);async read(e){let n=[],o=[];for(let r of e){if(!r.type.startsWith("image/")){o.push(r.name);continue}let i=await Nm(r);if(!i){o.push(r.name);continue}this.counter+=1,n.push({id:`attachment-${this.counter}`,name:r.name||`image-${this.counter}.png`,mimeType:r.type,data:i,bytes:r.size})}return{images:n,skipped:o}}add(e){e.length!==0&&this.attached.update(n=>[...n,...e])}async accept(e){let{images:n,skipped:o}=await this.read(e);return this.add(n),{attached:n.length,skipped:o}}addMentions(e){let n=e.map(o=>o.trim()).filter(o=>o.length>0);n.length!==0&&this.pendingMentions.update(o=>[...o,...n])}seed(e,n){e.length>0&&this.add(e.map((o,r)=>{this.counter+=1;let s=(o.mimeType.split("/")[1]?.toLowerCase()??"").replace(/[^a-z0-9]/g,"")||"png";return{id:`seed-${this.counter}`,name:r===0?`image.${s}`:`image-${r+1}.${s}`,mimeType:o.mimeType,data:o.data,bytes:Math.floor(o.data.length*3/4)}}));for(let o of n)this.pin({path:o.path,startLine:o.startLine,endLine:o.endLine})}pin(e){if(e.path.length===0||this.pinned().find(r=>r.path===e.path&&r.startLine===e.startLine&&r.endLine===e.endLine))return;this.counter+=1;let o=`pin-${this.counter}`;this.pinned.update(r=>[...r,X(H({},e),{id:o})])}removePin(e){this.pinned.update(n=>n.filter(o=>o.id!==e))}setLivePreview(e){if(e===null||e.path.length===0||e.startLine===void 0){this.live.set(null);return}let n=this.live();n&&n.path===e.path&&n.startLine===e.startLine&&n.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.attached.update(n=>n.filter(o=>o.id!==e))}takeImages(){let e=this.attached().map(({data:n,mimeType:o})=>({data:n,mimeType:o}));return this.attached.set([]),e}takePins(){let e=this.pinned().map(({path:n,startLine:o,endLine:r})=>{let i={path:n};return o!==void 0&&(i.startLine=o),r!==void 0&&(i.endLine=r),i});return this.pinned.set([]),e}takeMentions(){let e=this.pendingMentions();return this.pendingMentions.set([]),e}clear(){this.attached.set([]),this.pinned.set([]),this.live.set(null),this.pendingMentions.set([])}say(e,n){this.message.set({level:e,text:n,at:Date.now()})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function Nm(t){return new Promise(e=>{if(typeof FileReader>"u"){e(void 0);return}let n=new FileReader;n.onerror=()=>e(void 0),n.onload=()=>{let o=n.result;if(typeof o!="string"){e(void 0);return}let r=o.indexOf(",");e(r===-1?void 0:o.slice(r+1))},n.readAsDataURL(t)})}var dI=["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"];function Dm(t){return JSON.stringify(t)}function uI(t){return pI(t,dI)}function hd(t){let e=Pa(t);return uI(e)?e:void 0}function Pa(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return}return t instanceof Uint8Array?Pa(new TextDecoder().decode(t)):t instanceof ArrayBuffer?Pa(new TextDecoder().decode(new Uint8Array(t))):t}function pI(t,e){if(typeof t!="object"||t===null)return!1;let n=t.type;return typeof n=="string"&&e.includes(n)}function gd(t={cwd:"",name:"workspace"}){return{protocolVersion:17,connection:"connecting",capabilities:null,state:{workspace:t,thinkingLevel:"off",availableModels:[],availableThinkingLevels:[],availableCommands:[],streaming:!1,busy:!1,agentReady:!1,agentStarting:!1},items:[],sessions:[],activity:[],projects:[],pendingInteraction:null}}function W0(t,e,n){return X(H({},t),{connection:e,connectionDetail:n})}function Y0(t,e){switch(e.type){case"host/ready":return X(H({},t),{connection:"ready",protocolVersion:e.payload.protocolVersion,capabilities:e.payload.capabilities,state:e.payload.state,frontend:e.payload.frontend??t.frontend});case"session/state":return X(H({},t),{state:e.payload});case"transcript/append":return X(H({},t),{items:[...t.items,e.payload]});case"transcript/update":return X(H({},t),{items:fI(t.items,e.payload)});case"transcript/delta":return X(H({},t),{items:mI(t.items,e.payload)});case"transcript/replace":return X(H({},t),{items:[...e.payload.items]});case"transcript/prepend":return X(H({},t),{items:[...e.payload.items,...t.items]});case"session/list":return X(H({},t),{sessions:[...e.payload.sessions]});case"session/activity":return X(H({},t),{activity:[...e.payload.sessions]});case"project/list":return X(H({},t),{projects:[...e.payload.projects]});case"interaction/request":return X(H({},t),{pendingInteraction:e.payload});case"interaction/dismiss":return t.pendingInteraction?.requestId===e.payload.requestId?X(H({},t),{pendingInteraction:null}):t;case"notice":return X(H({},t),{lastNotice:H({},e.payload)});case"error":return X(H({},t),{lastError:H({},e.payload)});default:return t}}function fI(t,e){let n=t.findIndex(r=>r.id===e.id);if(n===-1)return[...t,e];let o=[...t];return o[n]=e,o}function mI(t,e){let n=t.findIndex(i=>i.id===e.id);if(n===-1)return t;let o=t[n];if(o.kind!=="assistant")return t;let r=[...t];return r[n]=X(H({},o),{text:o.text+(e.text??""),thinking:o.thinking+(e.thinking??""),streaming:!0}),r}var hI=5e3;function Z0(t){let e=gd(t.workspace??{cwd:"",name:"workspace"}),n=new Set,o=_=>{e=_;for(let C of[...n])C(e)},r=_=>{t.transport.send(_)},i=new Map,s=0,a=new Set,c=new Set,l=new Set,d=(_,C)=>{s+=1;let O=`host-${s}`;return new Promise(W=>{let q=setTimeout(()=>{i.delete(O),W(void 0)},hI);i.set(O,{resolve:W,timer:q}),r({type:"host/command",payload:{command:_,args:C,requestId:O}})})},u=t.transport.onMessage(_=>{if(_.type==="host/command/result"){let C=i.get(_.payload.requestId);C&&(clearTimeout(C.timer),i.delete(_.payload.requestId),C.resolve(_.payload.ok?_.payload.data:void 0));return}if(_.type==="context/selection"){for(let C of[...a])C(_.payload);return}if(_.type==="context/selectionLive"){for(let C of[...c])C(_.payload);return}if(_.type==="composer/seed"){for(let C of[...l])C(_.payload);return}o(Y0(e,_))}),h=t.transport.onStatus((_,C)=>{o(W0(e,gI(_),_==="open"?"Waiting for the Morse host to answer\u2026":C))}),g={ready:_=>r({type:"client/ready",payload:{protocolVersion:17,frontend:_??t.frontend}}),prompt:(_,C,O,W)=>r({type:"chat/prompt",payload:{text:_,mode:C,images:O,pins:W}}),editMessage:(_,C)=>r({type:"chat/edit",payload:{itemId:_,text:C}}),forkMessage:_=>r({type:"chat/fork",payload:{itemId:_}}),hostCommand:(_,C)=>d(_,C),abort:()=>r({type:"chat/abort",payload:{}}),newSession:_=>r({type:"session/new",payload:{cwd:_}}),loadSession:(_,C)=>r({type:"session/load",payload:{sessionId:_,cwd:C}}),activateSession:(_,C)=>r({type:"session/activate",payload:{sessionId:_,cwd:C}}),closeSession:_=>r({type:"session/close",payload:{sessionId:_}}),deleteSession:_=>r({type:"session/delete",payload:{sessionId:_}}),compactSession:_=>r({type:"session/compact",payload:{instructions:_}}),loadOlderHistory:()=>r({type:"history/load",payload:{}}),requestSessions:()=>r({type:"session/list",payload:{}}),requestProjects:()=>r({type:"project/list",payload:{}}),openProject:_=>r({type:"project/open",payload:{path:_}}),setModel:(_,C)=>r({type:"model/set",payload:{provider:_,id:C}}),setThinkingLevel:_=>r({type:"thinking/set",payload:{level:_}}),respond:_=>r({type:"interaction/respond",payload:_})};return t.transport.connect(),g.ready(),{getView:()=>e,subscribe:_=>(n.add(_),()=>{n.delete(_)}),onContextSelection:_=>(a.add(_),()=>{a.delete(_)}),onContextSelectionLive:_=>(c.add(_),()=>{c.delete(_)}),onComposerSeed:_=>(l.add(_),()=>{l.delete(_)}),actions:g,dispose:()=>{u(),h(),n.clear(),t.transport.dispose()}}}function gI(t){switch(t){case"open":return"connecting";case"connecting":return"connecting";case"error":return"error";case"closed":return"closed"}}var Cr=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 n of[...this.messageListeners])n(e)}emitStatus(e,n){for(let o of[...this.statusListeners])o(e,n)}};var K0,Q0=!1;function X0(){return typeof globalThis.acquireVsCodeApi=="function"}function yI(){let t=globalThis.acquireVsCodeApi;if(typeof t=="function")return Q0||(Q0=!0,K0=t()),K0}var yd=class extends Cr{kind="vscode";api=yI();listener=e=>{let n=hd(e.data);n&&this.emitMessage(n)};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 vI=8e3,Aa=class extends Cr{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(Dm(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 n=new e(this.options.url);this.socket=n,n.onopen=()=>{this.attempts=0,this.emitStatus("open");let o=this.queue.splice(0,this.queue.length);for(let r of o)n.send(Dm(r))},n.onmessage=o=>{let r=hd(Pa(o.data));r&&this.emitMessage(r)},n.onerror=()=>{this.emitStatus("error",`Cannot reach the Morse server at ${this.options.url}.`)},n.onclose=()=>{if(this.socket=void 0,this.disposed){this.emitStatus("closed");return}this.emitStatus("closed","Connection lost \u2014 retrying\u2026"),this.scheduleReconnect()}}scheduleReconnect(){if(this.options.reconnect===!1||this.timer!==void 0)return;let e=this.options.maxBackoffMs??vI,n=Math.min(e,500*2**this.attempts);this.attempts+=1,this.timer=setTimeout(()=>{this.timer=void 0,this.disposed||this.open()},n),this.timer.unref?.()}};var fs={cwd:"/mock/workspace",name:"mock-workspace"},_I={hostKind:"server",scope:tb()?"workspace":"global",editorContext:!1,nativeDialogs:!1,insertIntoEditor:!1,revealFile:!1,filePicker:!0,fileUpload:!0,directoryPicker:!0,updateCheck:bI()};function bI(){return typeof location>"u"?!1:new URL(location.href,"http://localhost/").searchParams.get("update")==="1"}var vd=class extends Cr{kind="memory";timers=new Set;items=wI()?[]:SI();sessions=nb();hot=new Set(this.sessions.slice(0,2).map(e=>e.id));counter=100;disposed=!1;streaming=!1;state={workspace:fs,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","low","high"],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(n=>n.kind==="tool"&&n.status==="running");!e||e.kind!=="tool"||this.schedule(()=>{e.status="ok",e.durationMs=3100,this.emit({type:"transcript/update",payload:H({},e)}),this.state=X(H({},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:eb()}}),this.emit({type:"session/list",payload:{sessions:this.sessions}}),this.emitActivity(),this.emit({type:"host/ready",payload:H({protocolVersion:17,capabilities:_I,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 n={id:this.nextId("session"),title:"New session",cwd:fs.cwd,updatedAt:Date.now(),messageCount:0};this.sessions=[n,...this.sessions],this.hot.add(n.id),this.state=X(H({},this.state),{sessionId:n.id,sessionTitle:n.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:eb()}});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 n=this.state.availableModels.find(o=>o.provider===e.payload.provider&&o.id===e.payload.id);this.state=X(H({},this.state),{model:n?H({},n):{provider:e.payload.provider,id:e.payload.id,name:e.payload.id}}),this.emit({type:"session/state",payload:this.state});return}case"thinking/set":this.state=X(H({},this.state),{thinkingLevel:e.payload.level}),this.emit({type:"session/state",payload:this.state});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:xI}}});return}if(e.payload.command==="uploadFile"&&e.payload.requestId){let n=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/${n}`,name:n,bytes:0}}});return}if(e.payload.command==="listDirectories"&&e.payload.requestId){this.emit({type:"host/command/result",payload:{requestId:e.payload.requestId,ok:!0,data:CI(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")}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:X(H({},this.state),{streaming:!0})}),this.emitActivity();let n=0,o=[{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";
7
- 2 ... 38 lines`}}];for(let s of o){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})},n),n+=40;for(let d of J0(s.thinking)){let u=d;this.schedule(()=>{this.emit({type:"transcript/delta",payload:{id:a,thinking:u}})},n),n+=55}let c=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:c,at:Date.now(),name:s.tool.name,title:s.tool.title,status:"running"})},n),n+=900;let l=n;this.schedule(()=>{this.updateItem({kind:"tool",id:c,at:Date.now(),name:s.tool.name,title:s.tool.title,status:"ok",output:s.tool.output,durationMs:l})},n),n+=200}let r=`Mock host received: "${e}".
5
+ `)}`:"",this.name="UnsubscriptionError",this.errors=n});function Ps(t,e){if(t){let n=t.indexOf(e);0<=n&&t.splice(n,1)}}var _n=class t{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:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let i of n)i.remove(this);else n.remove(this);let{initialTeardown:o}=this;if(En(o))try{o()}catch(i){e=i instanceof mc?i.errors:[i]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let i of r)try{Vh(i)}catch(s){e=e??[],s instanceof mc?e=[...e,...s.errors]:e.push(s)}}if(e)throw new mc(e)}}add(e){var n;if(e&&e!==this)if(this.closed)Vh(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}}_hasParent(e){let{_parentage:n}=this;return n===e||Array.isArray(n)&&n.includes(e)}_addParent(e){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e}_removeParent(e){let{_parentage:n}=this;n===e?this._parentage=null:Array.isArray(n)&&Ps(n,e)}remove(e){let{_finalizers:n}=this;n&&Ps(n,e),e instanceof t&&e._removeParent(this)}};_n.EMPTY=(()=>{let t=new _n;return t.closed=!0,t})();var Eu=_n.EMPTY;function hc(t){return t instanceof _n||t&&"closed"in t&&En(t.remove)&&En(t.add)&&En(t.unsubscribe)}function Vh(t){En(t)?t():t.unsubscribe()}var ao={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Di={setTimeout(t,e,...n){let{delegate:o}=Di;return o?.setTimeout?o.setTimeout(t,e,...n):setTimeout(t,e,...n)},clearTimeout(t){let{delegate:e}=Di;return(e?.clearTimeout||clearTimeout)(t)},delegate:void 0};function $h(t){Di.setTimeout(()=>{let{onUnhandledError:e}=ao;if(e)e(t);else throw t})}function Cu(){}var Hh=wu("C",void 0,void 0);function Bh(t){return wu("E",void 0,t)}function Uh(t){return wu("N",t,void 0)}function wu(t,e,n){return{kind:t,value:e,error:n}}var jr=null;function Oi(t){if(ao.useDeprecatedSynchronousErrorHandling){let e=!jr;if(e&&(jr={errorThrown:!1,error:null}),t(),e){let{errorThrown:n,error:o}=jr;if(jr=null,n)throw o}}else t()}function zh(t){ao.useDeprecatedSynchronousErrorHandling&&jr&&(jr.errorThrown=!0,jr.error=t)}var Vr=class extends _n{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,hc(e)&&e.add(this)):this.destination=eC}static create(e,n,o){return new Pi(e,n,o)}next(e){this.isStopped?Tu(Uh(e),this):this._next(e)}error(e){this.isStopped?Tu(Bh(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?Tu(Hh,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()}}},XE=Function.prototype.bind;function Su(t,e){return XE.call(t,e)}var Mu=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:n}=this;if(n.next)try{n.next(e)}catch(o){gc(o)}}error(e){let{partialObserver:n}=this;if(n.error)try{n.error(e)}catch(o){gc(o)}else gc(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(n){gc(n)}}},Pi=class extends Vr{constructor(e,n,o){super();let r;if(En(e)||!e)r={next:e??void 0,error:n??void 0,complete:o??void 0};else{let i;this&&ao.useDeprecatedNextContext?(i=Object.create(e),i.unsubscribe=()=>this.unsubscribe(),r={next:e.next&&Su(e.next,i),error:e.error&&Su(e.error,i),complete:e.complete&&Su(e.complete,i)}):r=e}this.destination=new Mu(r)}};function gc(t){ao.useDeprecatedSynchronousErrorHandling?zh(t):$h(t)}function JE(t){throw t}function Tu(t,e){let{onStoppedNotification:n}=ao;n&&Di.setTimeout(()=>n(t,e))}var eC={closed:!0,next:Cu,error:JE,complete:Cu};var qh=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Gh(t){return t}function Wh(t){return t.length===0?Gh:t.length===1?t[0]:function(n){return t.reduce((o,r)=>r(o),n)}}var So=class t{constructor(e){e&&(this._subscribe=e)}lift(e){let n=new t;return n.source=this,n.operator=e,n}subscribe(e,n,o){let r=nC(e)?e:new Pi(e,n,o);return Oi(()=>{let{operator:i,source:s}=this;r.add(i?i.call(r,s):s?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(e){try{return this._subscribe(e)}catch(n){e.error(n)}}forEach(e,n){return n=Yh(n),new n((o,r)=>{let i=new Pi({next:s=>{try{e(s)}catch(a){r(a),i.unsubscribe()}},error:r,complete:o});this.subscribe(i)})}_subscribe(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)}[qh](){return this}pipe(...e){return Wh(e)(this)}toPromise(e){return e=Yh(e),new e((n,o)=>{let r;this.subscribe(i=>r=i,i=>o(i),()=>n(r))})}};So.create=t=>new So(t);function Yh(t){var e;return(e=t??ao.Promise)!==null&&e!==void 0?e:Promise}function tC(t){return t&&En(t.next)&&En(t.error)&&En(t.complete)}function nC(t){return t&&t instanceof Vr||tC(t)&&hc(t)}function oC(t){return En(t?.lift)}function Zh(t){return e=>{if(oC(e))return e.lift(function(n){try{return t(n,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function Kh(t,e,n,o,r){return new Iu(t,e,n,o,r)}var Iu=class extends Vr{constructor(e,n,o,r,i,s){super(e),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(c){e.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){e.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=o?function(){try{o()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:n}=this;super.unsubscribe(),!n&&((e=this.onFinalize)===null||e===void 0||e.call(this))}}};var Qh=fc(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var qn=class extends So{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let n=new yc(this,this);return n.operator=e,n}_throwIfClosed(){if(this.closed)throw new Qh}next(e){Oi(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let n of this.currentObservers)n.next(e)}})}error(e){Oi(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:n}=this;for(;n.length;)n.shift().error(e)}})}complete(){Oi(()=>{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:n,isStopped:o,observers:r}=this;return n||o?Eu:(this.currentObservers=null,r.push(e),new _n(()=>{this.currentObservers=null,Ps(r,e)}))}_checkFinalizedStatuses(e){let{hasError:n,thrownError:o,isStopped:r}=this;n?e.error(o):r&&e.complete()}asObservable(){let e=new So;return e.source=this,e}};qn.create=(t,e)=>new yc(t,e);var yc=class extends qn{constructor(e,n){super(),this.destination=e,this.source=n}next(e){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,e)}error(e){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,e)}complete(){var e,n;(n=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||n===void 0||n.call(e)}_subscribe(e){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(e))!==null&&o!==void 0?o:Eu}};var As=class extends qn{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){let n=super._subscribe(e);return!n.closed&&e.next(this._value),n}getValue(){let{hasError:e,thrownError:n,_value:o}=this;if(e)throw n;return this._throwIfClosed(),o}next(e){super.next(this._value=e)}};function ku(t,e){return Zh((n,o)=>{let r=0;n.subscribe(Kh(o,i=>{o.next(t.call(e,i,r++))}))})}var Sc="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",Te=class extends Error{code;constructor(e,n){super(Fi(e,n)),this.code=e}};function rC(t){return`NG0${Math.abs(t)}`}function Fi(t,e){return`${rC(t)}${e?": "+e:""}`}function yt(t){for(let e in t)if(t[e]===yt)return e;throw Error("")}function Tc(t){if(typeof t=="string")return t;if(Array.isArray(t))return`[${t.map(Tc).join(", ")}]`;if(t==null)return""+t;let e=t.overriddenName||t.name;if(e)return`${e}`;let n=t.toString();if(n==null)return""+n;let o=n.indexOf(`
6
+ `);return o>=0?n.slice(0,o):n}function Mc(t,e){return t?e?`${t} ${e}`:t:e||""}var iC=yt({__forward_ref__:yt});function Ic(t){return t.__forward_ref__=Ic,t}function Pn(t){return og(t)?t():t}function og(t){return typeof t=="function"&&Object.hasOwn(t,iC)&&t.__forward_ref__===Ic}function Re(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function kc(t){return sC(t,Nc)}function sC(t,e){return Object.hasOwn(t,e)&&t[e]||null}function aC(t){let e=t?.[Nc]??null;return e||null}function Du(t){return t&&Object.hasOwn(t,_c)?t[_c]:null}var Nc=yt({\u0275prov:yt}),_c=yt({\u0275inj:yt}),Ue=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(e,n){this._desc=e,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=Re({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Gu(t){return t&&!!t.\u0275providers}var Wu=yt({\u0275cmp:yt}),Yu=yt({\u0275dir:yt}),Zu=yt({\u0275pipe:yt});var Ou=yt({\u0275fac:yt}),zr=yt({__NG_ELEMENT_ID__:yt}),Xh=yt({__NG_ENV_ID__:yt});function qr(t){return Ku(t,"@Component"),t[Wu]||null}function Dc(t){return Ku(t,"@Directive"),t[Yu]||null}function rg(t){return Ku(t,"@Pipe"),t[Zu]||null}function Ku(t,e){if(t==null)throw new Te(-919,!1)}function Gr(t){return typeof t=="string"?t:t==null?"":String(t)}var ig=yt({ngErrorCode:yt}),cC=yt({ngErrorMessage:yt}),lC=yt({ngTokenPath:yt});function Qu(t,e){return sg("",-200,e)}function Oc(t,e){throw new Te(-201,!1)}function sg(t,e,n){let o=new Te(e,t);return o[ig]=e,o[cC]=t,n&&(o[lC]=n),o}function dC(t){return t[ig]}var Pu;function ag(){return Pu}function On(t){let e=Pu;return Pu=t,e}function Xu(t,e,n){let o=kc(t);if(o&&o.providedIn=="root")return o.value===void 0?o.value=o.factory():o.value;if(n&8)return null;if(e!==void 0)return e;Oc(t,"")}var lr=globalThis;var uC={},$r=uC,pC="__NG_DI_FLAG__",Au=class{injector;constructor(e){this.injector=e}retrieve(e,n){let o=Hr(n)||0;try{return this.injector.get(e,o&8?null:$r,o)}catch(r){if(Ni(r))return r;throw r}}};function fC(t,e=0){let n=pc();if(n===void 0)throw new Te(-203,!1);if(n===null)return Xu(t,void 0,e);{let o=mC(e),r=n.retrieve(t,o);if(Ni(r)){if(o.optional)return null;throw r}return r}}function lt(t,e=0){return(ag()||fC)(Pn(t),e)}function N(t,e){return lt(t,Hr(e))}function Hr(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function mC(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function Ru(t){let e=[];for(let n=0;n<t.length;n++){let o=Pn(t[n]);if(Array.isArray(o)){if(o.length===0)throw new Te(900,!1);let r,i=0;for(let s=0;s<o.length;s++){let a=o[s],c=hC(a);typeof c=="number"?c===-1?r=a.token:i|=c:r=a}e.push(lt(r,i))}else e.push(lt(o))}return e}function hC(t){return t[pC]}function Ri(t,e){let n=Object.hasOwn(t,Ou);return n?t[Ou]:null}function cg(t,e,n){if(t.length!==e.length)return!1;for(let o=0;o<t.length;o++){let r=t[o],i=e[o];if(n&&(r=n(r),i=n(i)),i!==r)return!1}return!0}function lg(t){return t.flat(Number.POSITIVE_INFINITY)}function Pc(t,e){t.forEach(n=>Array.isArray(n)?Pc(n,e):e(n))}function Ju(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function $s(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function dg(t,e,n,o){let r=t.length;if(r==e)t.push(n,o);else if(r===1)t.push(o,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;){let i=r-2;t[r]=t[i],r--}t[e]=n,t[e+1]=o}}function Ac(t,e,n){let o=ji(t,e);return o>=0?t[o|1]=n:(o=~o,dg(t,o,e,n)),o}function Rc(t,e){let n=ji(t,e);if(n>=0)return t[n|1]}function ji(t,e){return gC(t,e,1)}function gC(t,e,n){let o=0,r=t.length>>n;for(;r!==o;){let i=o+(r-o>>1),s=t[i<<n];if(e===s)return i<<n;s>e?r=i:o=i+1}return~(r<<n)}var Lc={},co=[],Wr=new Ue(""),Fc=new Ue("",-1),ep=new Ue(""),Li=class{get(e,n=$r){if(n===$r){let r=sg("",-201);throw r.name="\u0275NotFound",r}return n}};function Vi(t){return{\u0275providers:t}}function ug(t){return Vi([{provide:Wr,multi:!0,useValue:t}])}function pg(...t){return{\u0275providers:tp(!0,t),\u0275fromNgModule:!0}}function tp(t,...e){let n=[],o=new Set,r,i=s=>{n.push(s)};return Pc(e,s=>{let a=s;bc(a,i,[],o)&&(r||=[],r.push(a))}),r!==void 0&&fg(r,i),n}function fg(t,e){for(let n=0;n<t.length;n++){let{ngModule:o,providers:r}=t[n];np(r,i=>{e(i,o)})}}function bc(t,e,n,o){if(t=Pn(t),!t)return!1;let r=null,i=Du(t),s=!i&&qr(t);if(!i&&!s){let c=t.ngModule;if(i=Du(c),i)r=c;else return!1}else{if(s&&!s.standalone)return!1;r=t}let a=o.has(r);if(s){if(a)return!1;if(o.add(r),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)bc(l,e,n,o)}}else if(i){if(i.imports!=null&&!a){o.add(r);let l;Pc(i.imports,d=>{bc(d,e,n,o)&&(l||=[],l.push(d))}),l!==void 0&&fg(l,e)}if(!a){let l=Ri(r)||(()=>new r);e({provide:r,useFactory:l,deps:co},r),e({provide:ep,useValue:r,multi:!0},r),e({provide:Wr,useValue:()=>lt(r),multi:!0},r)}let c=i.providers;if(c!=null&&!a){let l=t;np(c,d=>{e(d,l)})}}else return!1;return r!==t&&t.providers!==void 0}function np(t,e){for(let n of t)Gu(n)&&(n=n.\u0275providers),Array.isArray(n)?np(n,e):e(n)}var yC=yt({provide:String,useValue:yt});function mg(t){return t!==null&&typeof t=="object"&&yC in t}function vC(t){return!!(t&&t.useExisting)}function _C(t){return!!(t&&t.useFactory)}function xc(t){return typeof t=="function"}var Hs=new Ue(""),vc={},Jh={},Nu;function Bs(){return Nu===void 0&&(Nu=new Li),Nu}var lo=class{},Br=class extends lo{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,n,o,r){super(),this.parent=n,this.source=o,this.scopes=r,Fu(e,s=>this.processProvider(s)),this.records.set(Fc,Ai(void 0,this)),r.has("environment")&&this.records.set(lo,Ai(void 0,this));let i=this.records.get(Hs);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(ep,co,{self:!0}))}retrieve(e,n){let o=Hr(n)||0;try{return this.get(e,$r,o)}catch(r){if(Ni(r))return r;throw r}}destroy(){Rs(this),this._destroyed=!0;let e=ae(null);try{for(let o of this._ngOnDestroyHooks)o.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let o of n)o()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),ae(e)}}onDestroy(e){return Rs(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){Rs(this);let n=wo(this),o=On(void 0),r;try{return e()}finally{wo(n),On(o)}}get(e,n=$r,o){if(Rs(this),Object.hasOwn(e,Xh))return e[Xh](this);let r=Hr(o),i,s=wo(this),a=On(void 0);try{if(!(r&4)){let l=this.records.get(e);if(l===void 0){let d=wC(e)&&kc(e);d&&this.injectableDefInScope(d)?l=Ai(Lu(e),vc):l=null,this.records.set(e,l)}if(l!=null)return this.hydrate(e,l,r)}let c=r&2?Bs():this.parent;return n=r&8&&n===$r?null:n,c.get(e,n)}catch(c){let l=dC(c);throw l===-200||l===-201?new Te(l,null):c}finally{On(a),wo(s)}}resolveInjectorInitializers(){let e=ae(null),n=wo(this),o=On(void 0),r;try{let i=this.get(Wr,co,{self:!0});for(let s of i)s()}finally{wo(n),On(o),ae(e)}}toString(){return"R3Injector[...]"}processProvider(e){e=Pn(e);let n=xc(e)?e:Pn(e&&e.provide),o=xC(e);if(!xc(e)&&e.multi===!0){let r=this.records.get(n);r||(r=Ai(void 0,vc,!0),r.factory=()=>Ru(r.multi),this.records.set(n,r)),n=e,r.multi.push(e)}this.records.set(n,o)}hydrate(e,n,o){let r=ae(null);try{if(n.value===Jh)throw Qu("");return n.value===vc&&(n.value=Jh,n.value=n.factory(void 0,o)),typeof n.value=="object"&&n.value&&CC(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{ae(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let n=Pn(e.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(e){let n=this._onDestroyHooks.indexOf(e);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Lu(t){let e=kc(t),n=e!==null?e.factory:Ri(t);if(n!==null)return n;if(t instanceof Ue)throw new Te(-204,!1);if(t instanceof Function)return bC(t);throw new Te(-204,!1)}function bC(t){if(t.length>0)throw new Te(-204,!1);let n=aC(t);return n!==null?()=>n.factory(t):()=>new t}function xC(t){if(mg(t))return Ai(void 0,t.useValue);{let e=hg(t);return Ai(e,vc)}}function hg(t,e,n){let o;if(xc(t)){let r=Pn(t);return Ri(r)||Lu(r)}else if(mg(t))o=()=>Pn(t.useValue);else if(_C(t))o=()=>t.useFactory(...Ru(t.deps||[]));else if(vC(t))o=(r,i)=>lt(Pn(t.useExisting),i!==void 0&&i&8?8:void 0);else{let r=Pn(t&&(t.useClass||t.provide));if(EC(t))o=()=>new r(...Ru(t.deps));else return Ri(r)||Lu(r)}return o}function Rs(t){if(t.destroyed)throw new Te(-205,!1)}function Ai(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function EC(t){return!!t.deps}function CC(t){return t!==null&&typeof t=="object"&&typeof t.ngOnDestroy=="function"}function wC(t){return typeof t=="function"||typeof t=="object"&&t.ngMetadataName==="InjectionToken"}function Fu(t,e){for(let n of t)Array.isArray(n)?Fu(n,e):n&&Gu(n)?Fu(n.\u0275providers,e):e(n)}function jc(t,e){let n;t instanceof Br?(Rs(t),n=t):n=new Au(t);let o,r=wo(n),i=On(void 0);try{return e()}finally{wo(r),On(i)}}function gg(){return ag()!==void 0||pc()!=null}var uo=0,le=1,ge=2,Ht=3,Yn=4,wn=5,$i=6,Hi=7,Lt=8,Uo=9,po=10,Nt=11,Bi=12,op=13,dr=14,An=15,ur=16,Yr=17,To=18,Us=19,rp=20,$o=21,Vc=22,Ho=23,Rn=24,Zr=25,yg=26,zs=27,ln=28,vg=1,ip=6,Kr=7,qs=8,Qr=9,Ft=10;function pr(t){return Array.isArray(t)&&typeof t[vg]=="object"}function Zn(t){return Array.isArray(t)&&t[vg]===!0}function sp(t){return(t.flags&4)!==0}function fr(t){return t.componentOffset>-1}function $c(t){return(t.flags&1)===1}function Xr(t){return!!t.template}function Ui(t){return(t[ge]&512)!==0}function Jr(t){return(t[ge]&256)===256}var kt=(function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t[t.ATTRIBUTE_NO_BINDING=6]="ATTRIBUTE_NO_BINDING",t})(kt||{}),Ls,Ur="svg",Hc="math",ju="",eg="*",Vu=()=>Object.create(null);function SC(){return Ls||(Ls=Vu(),ar(kt.HTML,void 0,[["iframe",["srcdoc"]],["*",["innerHTML","outerHTML"]]]),ar(kt.STYLE,void 0,[["*",["style"]]]),ar(kt.URL,void 0,[["*",["formAction"]],["area",["href"]],["a",["href","xlink:href"]],["form",["action"]],["img",["src"]],["video",["src"]]]),ar(kt.URL,Hc,[["*",["href","xlink:href"]]]),ar(kt.RESOURCE_URL,void 0,[["base",["href"]],["embed",["src"]],["frame",["src"]],["iframe",["src"]],["link",["href"]],["object",["codebase","data"]]]),ar(kt.URL,Ur,[["a",["href","xlink:href"]]]),ar(kt.ATTRIBUTE_NO_BINDING,Ur,[["animate",["attributeName","values","to","from"]],["set",["to","attributeName"]],["animateMotion",["attributeName"]],["animateTransform",["attributeName"]]]),ar(kt.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"]]]),Ls)}function ar(t,e,n){let o=e??ju;for(let[r,i]of n){let s=r.toLowerCase();for(let a of i){let c=a.toLowerCase(),l=Ls[c]??=Vu(),d=l[o]??=Vu();d[s]=t}}}function _g(t,e,n){let r=SC()[e.toLowerCase()];if(!r)return kt.NONE;let i=t.toLowerCase(),s;if(n){let a=r[n];a&&(s=a[i]??a[eg])}if(s===void 0){let a=r[ju];a&&(s=a[i]??a[eg])}if(s===void 0&&(!n||n===ju)){let a=r[Ur];a&&(s=a[i])}return s??kt.NONE}function dn(t){for(;Array.isArray(t);)t=t[uo];return t}function ap(t,e){return dn(e[t])}function Kn(t,e){return dn(e[t.index])}function Bc(t,e){return t.data[e]}function Mo(t,e){let n=e[t];return pr(n)?n:n[uo]}function Uc(t){return(t[ge]&128)===128}function bg(t){return Zn(t[Ht])}function Io(t,e){return e==null?null:t[e]}function cp(t){t[Yr]=0}function lp(t){t[ge]&1024||(t[ge]|=1024,Uc(t)&&ei(t))}function xg(t,e){for(;t>0;)e=e[dr],t--;return e}function Gs(t){return!!(t[ge]&9216||t[Rn]?.dirty)}function zc(t){t[po].changeDetectionScheduler?.notify(8),t[ge]&64&&(t[ge]|=1024),Gs(t)&&ei(t)}function ei(t){t[po].changeDetectionScheduler?.notify(0);let e=Bo(t);for(;e!==null&&!(e[ge]&8192||(e[ge]|=8192,!Uc(e)));)e=Bo(e)}function qc(t,e){if(Jr(t))throw new Te(911,!1);t[$o]===null&&(t[$o]=[]),t[$o].push(e)}function Eg(t,e){if(t[$o]===null)return;let n=t[$o].indexOf(e);n!==-1&&t[$o].splice(n,1)}function Bo(t){let e=t[Ht];return Zn(e)?e[Ht]:e}function dp(t){return t[Hi]??=[]}function up(t){return t.cleanup??=[]}function Cg(t,e,n,o){let r=dp(e);r.push(n),t.firstCreatePass&&up(t).push(o,r.length-1)}var Ae={lFrame:Vg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var $u=!1;function wg(){return Ae.lFrame.elementDepthCount}function Sg(){Ae.lFrame.elementDepthCount++}function pp(){Ae.lFrame.elementDepthCount--}function Tg(){return Ae.bindingsEnabled}function Mg(){return Ae.skipHydrationRootTNode!==null}function fp(t){return Ae.skipHydrationRootTNode===t}function mp(){Ae.skipHydrationRootTNode=null}function Ze(){return Ae.lFrame.lView}function bn(){return Ae.lFrame.tView}function I(t){return Ae.lFrame.contextLView=t,t[Lt]}function k(t){return Ae.lFrame.contextLView=null,t}function Qn(){let t=hp();for(;t!==null&&t.type===64;)t=t.parent;return t}function hp(){return Ae.lFrame.currentTNode}function Ig(){let t=Ae.lFrame,e=t.currentTNode;return t.isParent?e:e.parent}function zi(t,e){let n=Ae.lFrame;n.currentTNode=t,n.isParent=e}function gp(){return Ae.lFrame.isParent}function kg(){Ae.lFrame.isParent=!1}function yp(){return $u}function Fs(t){let e=$u;return $u=t,e}function Ng(){let t=Ae.lFrame,e=t.bindingRootIndex;return e===-1&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Dg(){return Ae.lFrame.bindingIndex}function Og(t){return Ae.lFrame.bindingIndex=t}function ti(){return Ae.lFrame.bindingIndex++}function Gc(t){let e=Ae.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function Pg(){return Ae.lFrame.inI18n}function Ag(t,e){let n=Ae.lFrame;n.bindingIndex=n.bindingRootIndex=t,Wc(e)}function Rg(){return Ae.lFrame.currentDirectiveIndex}function Wc(t){Ae.lFrame.currentDirectiveIndex=t}function Lg(t){let e=Ae.lFrame.currentDirectiveIndex;return e===-1?null:t[e]}function Fg(){return Ae.lFrame.currentQueryIndex}function Yc(t){Ae.lFrame.currentQueryIndex=t}function TC(t){let e=t[le];return e.type===2?e.declTNode:e.type===1?t[wn]:null}function vp(t,e,n){if(n&4){let r=e,i=t;for(;r=r.parent,r===null&&!(n&1);)if(r=TC(i),r===null||(i=i[dr],r.type&10))break;if(r===null)return!1;e=r,t=i}let o=Ae.lFrame=jg();return o.currentTNode=e,o.lView=t,!0}function Zc(t){let e=jg(),n=t[le];Ae.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function jg(){let t=Ae.lFrame,e=t===null?null:t.child;return e===null?Vg(t):e}function Vg(t){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:t,child:null,inI18n:!1};return t!==null&&(t.child=e),e}function $g(){let t=Ae.lFrame;return Ae.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var _p=$g;function Kc(){let t=$g();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Hg(t){return(Ae.lFrame.contextLView=xg(t,Ae.lFrame.contextLView))[Lt]}function fo(){return Ae.lFrame.selectedIndex}function mr(t){Ae.lFrame.selectedIndex=t}function Ws(){let t=Ae.lFrame;return Bc(t.tView,t.selectedIndex)}function Ut(){Ae.lFrame.currentNamespace=Ur}function Sn(){MC()}function MC(){Ae.lFrame.currentNamespace=null}function bp(){return Ae.lFrame.currentNamespace}var Bg=!0;function Qc(){return Bg}function Xc(t){Bg=t}function Hu(t,e=null,n=null,o){let r=Ug(t,e,n,o);return r.resolveInjectorInitializers(),r}function Ug(t,e=null,n=null,o,r=new Set){let i=[n||co,pg(t)],s;return new Br(i,e||Bs(),s||null,r)}var Gn=class t{static THROW_IF_NOT_FOUND=$r;static NULL=new Li;static create(e,n){if(Array.isArray(e))return Hu({name:""},n,e,"");{let o=e.name??"";return Hu({name:o},e.parent,e.providers,o)}}static \u0275prov=Re({token:t,providedIn:"any",factory:()=>lt(Fc)});static __NG_ELEMENT_ID__=-1},xn=new Ue(""),ht=class{static __NG_ELEMENT_ID__=IC;static __NG_ENV_ID__=e=>e},Ec=class extends ht{_lView;constructor(e){super(),this._lView=e}get destroyed(){return Jr(this._lView)}onDestroy(e){let n=this._lView;return qc(n,e),()=>Eg(n,e)}};function IC(){return new Ec(Ze())}var zg=!1,qg=new Ue(""),qi=(()=>{class t{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new As(!1);debugTaskTracker=N(qg,{optional:!0});get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new So(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),this.debugTaskTracker?.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.debugTaskTracker?.remove(n),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 \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),Bu=class extends qn{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,gg()&&(this.destroyRef=N(ht,{optional:!0})??void 0,this.pendingTasks=N(qi,{optional:!0})??void 0)}emit(e){let n=ae(null);try{super.next(e)}finally{ae(n)}}subscribe(e,n,o){let r=e,i=n||(()=>null),s=o;if(e&&typeof e=="object"){let c=e;r=c.next?.bind(c),i=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:i,complete:s});return e instanceof _n&&e.add(a),a}wrapInTimeout(e){return n=>{let o=this.pendingTasks?.add();setTimeout(()=>{try{e(n)}finally{o!==void 0&&this.pendingTasks?.remove(o)}})}}},Vo=Bu;function Cc(...t){}function xp(t){let e,n;function o(){t=Cc;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),e!==void 0&&clearTimeout(e)}catch{}}return e=setTimeout(()=>{t(),o()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{t(),o()})),()=>o()}function Gg(t){return queueMicrotask(()=>t()),()=>{t=Cc}}var Ep="isAngularZone",js=Ep+"_ID",kC=0,Cn=class t{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Vo(!1);onMicrotaskEmpty=new Vo(!1);onStable=new Vo(!1);onError=new Vo(!1);constructor(e){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:o=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=zg}=e;if(typeof Zone>"u")throw new Te(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)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&o,s.shouldCoalesceRunChangeDetection=r,s.callbackScheduled=!1,s.scheduleInRootZone=i,OC(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(Ep)===!0}static assertInAngularZone(){if(!t.isInAngularZone())throw new Te(909,!1)}static assertNotInAngularZone(){if(t.isInAngularZone())throw new Te(909,!1)}run(e,n,o){return this._inner.run(e,n,o)}runTask(e,n,o,r){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+r,e,NC,Cc,Cc);try{return i.runTask(s,n,o)}finally{i.cancelTask(s)}}runGuarded(e,n,o){return this._inner.runGuarded(e,n,o)}runOutsideAngular(e){return this._outer.run(e)}},NC={};function Cp(t){if(t._nesting==0&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function DC(t){if(t.isCheckStableRunning||t.callbackScheduled)return;t.callbackScheduled=!0;function e(){xp(()=>{t.callbackScheduled=!1,Uu(t),t.isCheckStableRunning=!0,Cp(t),t.isCheckStableRunning=!1})}t.scheduleInRootZone?Zone.root.run(()=>{e()}):t._outer.run(()=>{e()}),Uu(t)}function OC(t){let e=()=>{DC(t)},n=kC++;t._inner=t._inner.fork({name:"angular",properties:{[Ep]:!0,[js]:n,[js+n]:!0},onInvokeTask:(o,r,i,s,a,c)=>{if(PC(c))return o.invokeTask(i,s,a,c);try{return tg(t),o.invokeTask(i,s,a,c)}finally{(t.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||t.shouldCoalesceRunChangeDetection)&&e(),ng(t)}},onInvoke:(o,r,i,s,a,c,l)=>{try{return tg(t),o.invoke(i,s,a,c,l)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!AC(c)&&e(),ng(t)}},onHasTask:(o,r,i,s)=>{o.hasTask(i,s),r===i&&(s.change=="microTask"?(t._hasPendingMicrotasks=s.microTask,Uu(t),Cp(t)):s.change=="macroTask"&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(o,r,i,s)=>(o.handleError(i,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}function Uu(t){t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&t.callbackScheduled===!0?t.hasPendingMicrotasks=!0:t.hasPendingMicrotasks=!1}function tg(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function ng(t){t._nesting--,Cp(t)}var Vs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Vo;onMicrotaskEmpty=new Vo;onStable=new Vo;onError=new Vo;run(e,n,o){return e.apply(n,o)}runGuarded(e,n,o){return e.apply(n,o)}runOutsideAngular(e){return e()}runTask(e,n,o,r){return e.apply(n,o)}};function PC(t){return Wg(t,"__ignore_ng_zone__")}function AC(t){return Wg(t,"__scheduler_tick__")}function Wg(t,e){return!Array.isArray(t)||t.length!==1?!1:t[0]?.data?.[e]===!0}var Wn=class{_console=console;handleError(e){this._console.error("ERROR",e)}};function Yg(t){return Zg(t)?t:new zu(t)}function Zg(t){return t instanceof Error||typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.message=="string"}var zu=class extends Error{constructor(e){super(String(e),{cause:e}),this.name="ErrorBoundaryWrappedError"}},ni=new Ue("",{factory:()=>{let t=N(Cn),e=N(lo),n;return o=>{t.runOutsideAngular(()=>{e.destroyed&&!n?setTimeout(()=>{throw o}):(n??=e.get(Wn),n.handleError(o))})}}}),Kg={provide:Wr,useValue:()=>{let t=N(Wn,{optional:!0})},multi:!0},RC=new Ue("",{factory:()=>{let t=N(xn).defaultView;if(!t)return;let e=N(ni),n=i=>{e(i.reason),i.preventDefault()},o=i=>{i.error?e(i.error):e(new Error(i.message,{cause:i})),i.preventDefault()},r=()=>{t.addEventListener("unhandledrejection",n),t.addEventListener("error",o)};typeof Zone<"u"?Zone.root.run(r):r(),N(ht).onDestroy(()=>{t.removeEventListener("error",o),t.removeEventListener("unhandledrejection",n)})}});function wp(){return Vi([ug(()=>{N(RC)})])}function R(t,e){let[n,o,r]=yu(t,e?.equal),i=n,s=i[cn];return i.set=o,i.update=r,i.asReadonly=Sp.bind(i),i}function Sp(){let t=this[cn];if(t.readonlyFn===void 0){let e=()=>this();e[cn]=t,t.readonlyFn=e}return t.readonlyFn}var Ys=new Ue("",{factory:()=>LC}),LC="ng";var Jc=new Ue(""),Zs=new Ue("",{providedIn:"platform",factory:()=>"unknown"});var el=new Ue("",{factory:()=>N(xn).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var Ks=(()=>{class t{view;node;constructor(n,o){this.view=n,this.node=o}static __NG_ELEMENT_ID__=FC}return t})();function FC(){return new Ks(Ze(),Qn())}var cr=class{},Qs=new Ue("",{factory:()=>!0});var Tp=new Ue(""),tl=(()=>{class t{static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new qu})}return t})(),qu=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let n=e.zone,o=this.queues.get(n);o.has(e)&&(o.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let n=e.zone;this.queues.has(n)||this.queues.set(n,new Set);let o=this.queues.get(n);o.has(e)||o.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[n,o]of this.queues)n===null?e||=this.flushQueue(o):e||=n.run(()=>this.flushQueue(o));e||(this.dirtyEffectCount=0)}}flushQueue(e){let n=!1;for(let o of e)o.dirty&&(this.dirtyEffectCount--,n=!0,o.run());return n}},wc=class{[cn];constructor(e){this[cn]=e}destroy(){this[cn].destroy()}};function de(t,e){let n=e?.injector??N(Gn),o=e?.manualCleanup!==!0?n.get(ht):null,r,i=n.get(Ks,null,{optional:!0}),s=n.get(cr);return i!==null?(r=Xg(i.view,s,t),o instanceof Ec&&o._lView===i.view&&(o=null)):r=$C(t,n.get(tl),s),r.injector=n,o!==null&&(r.onDestroyFns=[o.onDestroy(()=>r.destroy())]),new wc(r)}var Qg=Q(H({},_u),{cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let t=Fs(!1);try{bu(this)}finally{Fs(t)}},cleanup(){if(!this.cleanupFns?.length)return;let t=ae(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],ae(t)}}}),jC=Q(H({},Qg),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(Lr(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.scheduler.remove(this)}}),VC=Q(H({},Qg),{consumerMarkedDirty(){this.view[ge]|=8192,ei(this.view),this.notifier.notify(13)},destroy(){if(Lr(this),this.onDestroyFns!==null)for(let t of this.onDestroyFns)t();this.cleanup(),this.view[Ho]?.delete(this)}});function Xg(t,e,n){let o=Object.create(VC);return o.view=t,o.zone=typeof Zone<"u"?Zone.current:null,o.notifier=e,o.userFn=n,o.fn=Jg(o,n),t[Ho]??=new Set,t[Ho].add(o),o.consumerMarkedDirty(o),o}function $C(t,e,n){let o=Object.create(jC);return o.userFn=t,o.fn=Jg(o,t),o.scheduler=e,o.notifier=n,o.zone=typeof Zone<"u"?Zone.current:null,o.scheduler.add(o),o.notifier.notify(12),o}function Jg(t,e){return()=>{e(n=>(t.cleanupFns??=[]).push(n))}}var gf=Symbol("InputSignalNode#UNSET"),Ly=Q(H({},Os),{transformFn:void 0,applyValueToInputSignal(t,e){Fr(t,e)}});function yf(t){return{toString:t}.toString()}var ot=(function(t){return t[t.TemplateCreateStart=0]="TemplateCreateStart",t[t.TemplateCreateEnd=1]="TemplateCreateEnd",t[t.TemplateUpdateStart=2]="TemplateUpdateStart",t[t.TemplateUpdateEnd=3]="TemplateUpdateEnd",t[t.LifecycleHookStart=4]="LifecycleHookStart",t[t.LifecycleHookEnd=5]="LifecycleHookEnd",t[t.OutputStart=6]="OutputStart",t[t.OutputEnd=7]="OutputEnd",t[t.BootstrapApplicationStart=8]="BootstrapApplicationStart",t[t.BootstrapApplicationEnd=9]="BootstrapApplicationEnd",t[t.BootstrapComponentStart=10]="BootstrapComponentStart",t[t.BootstrapComponentEnd=11]="BootstrapComponentEnd",t[t.ChangeDetectionStart=12]="ChangeDetectionStart",t[t.ChangeDetectionEnd=13]="ChangeDetectionEnd",t[t.ChangeDetectionSyncStart=14]="ChangeDetectionSyncStart",t[t.ChangeDetectionSyncEnd=15]="ChangeDetectionSyncEnd",t[t.AfterRenderHooksStart=16]="AfterRenderHooksStart",t[t.AfterRenderHooksEnd=17]="AfterRenderHooksEnd",t[t.ComponentStart=18]="ComponentStart",t[t.ComponentEnd=19]="ComponentEnd",t[t.DeferBlockStateStart=20]="DeferBlockStateStart",t[t.DeferBlockStateEnd=21]="DeferBlockStateEnd",t[t.DynamicComponentStart=22]="DynamicComponentStart",t[t.DynamicComponentEnd=23]="DynamicComponentEnd",t[t.HostBindingsUpdateStart=24]="HostBindingsUpdateStart",t[t.HostBindingsUpdateEnd=25]="HostBindingsUpdateEnd",t})(ot||{});function ew(t,e,n,o){e!==null?e.applyValueToInputSignal(e,o):t[n]=o}var tw=null;function nw(){return tw}var ey=[];var pt=function(t,e=null,n){for(let o=0;o<ey.length;o++){let r=ey[o];r(t,e,n)}};function ow(t,e,n){let{ngOnChanges:o,ngOnInit:r,ngDoCheck:i}=e.type.prototype;if(o){let s=nw()(e);(n.preOrderHooks??=[]).push(t,s),(n.preOrderCheckHooks??=[]).push(t,s)}r&&(n.preOrderHooks??=[]).push(0-t,r),i&&((n.preOrderHooks??=[]).push(t,i),(n.preOrderCheckHooks??=[]).push(t,i))}function rw(t,e){for(let n=e.directiveStart,o=e.directiveEnd;n<o;n++){let i=t.data[n].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:c,ngAfterViewChecked:l,ngOnDestroy:d}=i;s&&(t.contentHooks??=[]).push(-n,s),a&&((t.contentHooks??=[]).push(n,a),(t.contentCheckHooks??=[]).push(n,a)),c&&(t.viewHooks??=[]).push(-n,c),l&&((t.viewHooks??=[]).push(n,l),(t.viewCheckHooks??=[]).push(n,l)),d!=null&&(t.destroyHooks??=[]).push(n,d)}}function sl(t,e,n){Fy(t,e,3,n)}function al(t,e,n,o){(t[ge]&3)===n&&Fy(t,e,n,o)}function Mp(t,e){let n=t[ge];(n&3)===e&&(n&=16383,n+=1,t[ge]=n)}function Fy(t,e,n,o){let r=o!==void 0?t[Yr]&65535:0,i=o??-1,s=e.length-1,a=0;for(let c=r;c<s;c++)if(typeof e[c+1]=="number"){if(a=e[c],o!=null&&a>=o)break}else e[c]<0&&(t[Yr]+=65536),(a<i||i==-1)&&(iw(t,n,e,c),t[Yr]=(t[Yr]&4294901760)+c+2),c++}function ty(t,e){pt(ot.LifecycleHookStart,t,e);let n=ae(null);try{e.call(t)}finally{ae(n),pt(ot.LifecycleHookEnd,t,e)}}function iw(t,e,n,o){let r=n[o]<0,i=n[o+1],s=r?-n[o]:n[o],a=t[s];r?t[ge]>>14<t[Yr]>>16&&(t[ge]&3)===e&&(t[ge]+=16384,ty(a,i)):ty(a,i)}var Yi=-1,ea=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,n,o,r){this.factory=e,this.name=r,this.canSeeViewProviders=n,this.injectImpl=o}};function sw(t){return(t.flags&8)!==0}function aw(t){return(t.flags&16)!==0}function cw(t,e,n){let o=0;for(;o<n.length;){let r=n[o];if(typeof r=="number"){if(r!==0)break;o++;let i=n[o++],s=n[o++],a=n[o++];t.setAttribute(e,s,a,i)}else{let i=r,s=n[++o];dw(i)?t.setProperty(e,i,s):t.setAttribute(e,i,s),o++}}return o}function lw(t){return t===3||t===4||t===6}function dw(t){return t.charCodeAt(0)===64}function wl(t,e){if(!(e===null||e.length===0))if(t===null||t.length===0)t=e.slice();else{let n=-1;for(let o=0;o<e.length;o++){let r=e[o];typeof r=="number"?n=r:n===0||(n===-1||n===2?ny(t,n,r,null,e[++o]):ny(t,n,r,null,null))}}return t}function ny(t,e,n,o,r){let i=0,s=t.length;if(e===-1)s=-1;else for(;i<t.length;){let a=t[i++];if(typeof a=="number"){if(a===e){s=-1;break}else if(a>e){s=i-1;break}}}for(;i<t.length;){let a=t[i];if(typeof a=="number")break;if(a===n){r!==null&&(t[i+1]=r);return}i++,r!==null&&i++}s!==-1&&(t.splice(s,0,e),i=s+1),t.splice(i++,0,n),r!==null&&t.splice(i++,0,r)}function jy(t){return t!==Yi}function ul(t){return t&32767}function uw(t){return t>>16}function pl(t,e){let n=uw(t),o=e;for(;n>0;)o=o[dr],n--;return o}var Ap=!0;function oy(t){let e=Ap;return Ap=t,e}var pw=256,Vy=pw-1,$y=5,fw=0,ko={};function mw(t,e,n){let o;typeof n=="string"?o=n.charCodeAt(0)||0:Object.hasOwn(n,zr)&&(o=n[zr]),o==null&&(o=n[zr]=fw++);let r=o&Vy,i=1<<r;e.data[t+(r>>$y)]|=i}function Hy(t,e){let n=By(t,e);if(n!==-1)return n;let o=e[le];o.firstCreatePass&&(t.injectorIndex=e.length,Ip(o.data,t),Ip(e,null),Ip(o.blueprint,null));let r=vf(t,e),i=t.injectorIndex;if(jy(r)){let s=ul(r),a=pl(r,e),c=a[le].data;for(let l=0;l<8;l++)e[i+l]=a[s+l]|c[s+l]}return e[i+8]=r,i}function Ip(t,e){t.push(0,0,0,0,0,0,0,0,e)}function By(t,e){return t.injectorIndex===-1||t.parent&&t.parent.injectorIndex===t.injectorIndex||e[t.injectorIndex+8]===null?-1:t.injectorIndex}function vf(t,e){if(t.parent&&t.parent.injectorIndex!==-1)return t.parent.injectorIndex;let n=0,o=null,r=e;for(;r!==null;){if(o=Wy(r),o===null)return Yi;if(n++,r=r[dr],o.injectorIndex!==-1)return o.injectorIndex|n<<16}return Yi}function hw(t,e,n){mw(t,e,n)}function Uy(t,e,n){if(n&8||t!==void 0)return t;Oc(e,"NodeInjector")}function zy(t,e,n,o){if(n&8&&o===void 0&&(o=null),(n&3)===0){let r=t[Uo],i=On(void 0);try{return r?r.get(e,o,n&8):Xu(e,o,n&8)}finally{On(i)}}return Uy(o,e,n)}function qy(t,e,n,o=0,r){if(t!==null){if(e[ge]&2048&&!(o&2)){let s=_w(t,e,n,o,ko);if(s!==ko)return s}let i=Gy(t,e,n,o,ko);if(i!==ko)return i}return zy(e,n,o,r)}function Gy(t,e,n,o,r){let i=yw(n);if(typeof i=="function"){if(!vp(e,t,o))return o&1?Uy(r,n,o):zy(e,n,o,r);try{let s;if(s=i(o),s==null&&!(o&8))Oc(n);else return s}finally{_p()}}else if(typeof i=="number"){let s=null,a=By(t,e),c=Yi,l=o&1?e[An][wn]:null;for((a===-1||o&4)&&(c=a===-1?vf(t,e):e[a+8],c===Yi||!iy(o,!1)?a=-1:(s=e[le],a=ul(c),e=pl(c,e)));a!==-1;){let d=e[le];if(ry(i,a,d.data)){let f=gw(a,e,n,s,o,l);if(f!==ko)return f}c=e[a+8],c!==Yi&&iy(o,e[le].data[a+8]===l)&&ry(i,a,e)?(s=d,a=ul(c),e=pl(c,e)):a=-1}}return r}function gw(t,e,n,o,r,i){let s=e[le],a=s.data[t+8],c=o==null?fr(a)&&Ap:o!=s&&(a.type&3)!==0,l=r&1&&i===a,d=cl(a,s,n,c,l);return d!==null?fl(e,s,d,a,r):ko}function cl(t,e,n,o,r){let i=t.providerIndexes,s=e.data,a=i&1048575,c=t.directiveStart,l=t.directiveEnd,d=i>>20,f=o?a:a+d,g=r?a+d:l;for(let y=f;y<g;y++){let b=s[y];if(y<c&&n===b||y>=c&&b.type===n)return y}if(r){let y=s[c];if(y&&Xr(y)&&y.type===n)return c}return null}function fl(t,e,n,o,r){let i=t[n],s=e.data;if(i instanceof ea){let a=i;if(a.resolving)throw Qu("");let c=oy(a.canSeeViewProviders);a.resolving=!0;let l=s[n].type||s[n],d,f=a.injectImpl?On(a.injectImpl):null,g=vp(t,o,0);try{i=t[n]=a.factory(void 0,r,s,t,o),e.firstCreatePass&&n>=o.directiveStart&&ow(n,s[n],e)}finally{f!==null&&On(f),oy(c),a.resolving=!1,_p()}}return i}function yw(t){if(typeof t=="string")return t.charCodeAt(0)||0;let e=Object.hasOwn(t,zr)?t[zr]:void 0;return typeof e=="number"?e>=0?e&Vy:vw:e}function ry(t,e,n){let o=1<<t;return!!(n[e+(t>>$y)]&o)}function iy(t,e){return!(t&2)&&!(t&1&&e)}var zo=class{_tNode;_lView;constructor(e,n){this._tNode=e,this._lView=n}get(e,n,o){return qy(this._tNode,this._lView,e,Hr(o),n)}};function vw(){return new zo(Qn(),Ze())}function _w(t,e,n,o,r){let i=t,s=e;for(;i!==null&&s!==null&&s[ge]&2048&&!Ui(s);){let a=Gy(i,s,n,o|2,ko);if(a!==ko)return a;o&=-5;let c=i.parent;if(!c){let l=s[rp];if(l){let d=l.get(n,ko,o);if(d!==ko)return d}c=Wy(s),s=s[dr]}i=c}return r}function Wy(t){let e=t[le],n=e.type;return n===2?e.declTNode:n===1?t[wn]:null}function Xi(t){return{token:t.token,providedIn:t.autoProvided===!1?null:"root",factory:t.factory,value:void 0}}function bw(){return Ji(Qn(),Ze())}function Ji(t,e){return new Zt(Kn(t,e))}var Zt=(()=>{class t{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=bw}return t})();function xw(t){return t instanceof Zt?t.nativeElement:t}function Ew(){return this._results[Symbol.iterator]()}var ml=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 qn}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,n){return this._results.reduce(e,n)}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,n){this.dirty=!1;let o=lg(e);(this._changesDetected=!cg(this._results,o,n))&&(this._results=o,this.length=o.length,this.last=o[this.length-1],this.first=o[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]=Ew};function Yy(t){return(t.flags&128)===128}var _f=(function(t){return t[t.OnPush=0]="OnPush",t[t.Eager=1]="Eager",t[t.Default=1]="Default",t})(_f||{}),Zy=new Map,Cw=0;function ww(){return Cw++}function Sw(t){Zy.set(t[Us],t)}function Rp(t){Zy.delete(t[Us])}var sy="__ngContext__";function Zi(t,e){pr(e)?(t[sy]=e[Us],Sw(e)):t[sy]=e}function Ky(t){return Xy(t[Bi])}function Qy(t){return Xy(t[Yn])}function Xy(t){for(;t!==null&&!Zn(t);)t=t[Yn];return t}var Lp;function bf(t){Lp=t}function xf(){if(Lp!==void 0)return Lp;if(typeof document<"u")return document;throw new Te(210,!1)}var Jy="r";var ev="di";var tv=!1,nv=new Ue("",{factory:()=>tv});var ay=new WeakMap;function Tw(t,e){if(t==null||typeof t!="object")return;let n=ay.get(t);n||(n=new WeakSet,ay.set(t,n)),n.add(e)}var Mw=(t,e,n,o)=>{};function Iw(t,e,n,o){Mw(t,e,n,o)}function Ef(t){return(t.flags&32)===32}var kw=()=>null;function ov(t,e,n=!1){return kw(t,e,n)}function rv(t,e){let n=t.contentQueries;if(n!==null){let o=ae(null);try{for(let r=0;r<n.length;r+=2){let i=n[r],s=n[r+1];if(s!==-1){let a=t.data[s];Yc(i),a.contentQueries(2,e[s],s)}}}finally{ae(o)}}}function Fp(t,e,n){Yc(0);let o=ae(null);try{e(t,n)}finally{ae(o)}}function iv(t,e,n){if(sp(e)){let o=ae(null);try{let r=e.directiveStart,i=e.directiveEnd;for(let s=r;s<i;s++){let a=t.data[s];if(a.contentQueries){let c=n[s];a.contentQueries(1,c,s)}}}finally{ae(o)}}}var go=(function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t[t.ExperimentalIsolatedShadowDom=4]="ExperimentalIsolatedShadowDom",t})(go||{});var Nw={"http://www.w3.org/2000/svg":Ur,"http://www.w3.org/1998/Math/MathML":Hc},nl;function Dw(){if(nl===void 0&&(nl=null,lr.trustedTypes))try{nl=lr.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return nl}function Sl(t){return Dw()?.createHTML(t)||t}var ol;function Ow(){if(ol===void 0&&(ol=null,lr.trustedTypes))try{ol=lr.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return ol}function cy(t){return Ow()?.createHTML(t)||t}var qo=class{changingThisBreaksApplicationSecurity;constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Sc})`}},jp=class extends qo{getTypeName(){return"HTML"}},Vp=class extends qo{getTypeName(){return"Style"}},$p=class extends qo{getTypeName(){return"Script"}},Hp=class extends qo{getTypeName(){return"URL"}},Bp=class extends qo{getTypeName(){return"ResourceURL"}};function Xn(t){return t instanceof qo?t.changingThisBreaksApplicationSecurity:t}function Yo(t,e){let n=sv(t);if(n!=null&&n!==e){if(n==="ResourceURL"&&e==="URL")return!0;throw new Error(`Required a safe ${e}, got a ${n} (see ${Sc})`)}return n===e}function sv(t){return t instanceof qo&&t.getTypeName()||null}function Cf(t){return new jp(t)}function wf(t){return new Vp(t)}function Sf(t){return new $p(t)}function Tf(t){return new Hp(t)}function Mf(t){return new Bp(t)}function Pw(t){let e=new zp(t);return Aw()?new Up(e):e}var Up=class{inertDocumentHelper;constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e="<body><remove></remove>"+e;try{let n=new window.DOMParser().parseFromString(Sl(e),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(e):(n.firstChild?.remove(),n)}catch{return null}}},zp=class{defaultDoc;inertDocument;constructor(e){this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(e){let n=this.inertDocument.createElement("template");return n.innerHTML=Sl(e),n}};function Aw(){try{return!!new window.DOMParser().parseFromString(Sl(""),"text/html")}catch{return!1}}var Rw=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ca(t){return t=String(t),t.match(Rw)?t:"unsafe:"+t}function Zo(t){let e=Object.create(null);for(let n of t.split(","))e[n]=!0;return e}function la(...t){let e=Object.create(null);for(let n of t)for(let o in n)Object.hasOwn(n,o)&&(e[o]=!0);return e}var av=Zo("area,br,col,hr,img,wbr"),cv=Zo("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),lv=Zo("rp,rt"),Lw=la(lv,cv),Fw=la(cv,Zo("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")),jw=la(lv,Zo("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")),ly=la(av,Fw,jw,Lw),dv=Zo("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Vw=Zo("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"),$w=Zo("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"),Hw=la(dv,Vw,$w),Bw=Zo("script,style,template"),qp=class{sanitizedSomething=!1;buf=[];sanitizeChildren(e){let n=e.firstChild,o=!0,r=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?o=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,o&&n.firstChild){r.push(n),n=qw(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=zw(n);if(i){n=i;break}n=r.pop()}}return this.buf.join("")}startElement(e){let n=dy(e).toLowerCase();if(!Object.hasOwn(ly,n))return this.sanitizedSomething=!0,!Object.hasOwn(Bw,n);this.buf.push("<"),this.buf.push(n);let o=e.attributes;for(let r=0;r<o.length;r++){let i=o.item(r),s=i.name,a=s.toLowerCase();if(!Object.hasOwn(Hw,a)){this.sanitizedSomething=!0;continue}let c=i.value;dv[a]&&(c=ca(c)),this.buf.push(" ",s,'="',uy(c),'"')}return this.buf.push(">"),!0}endElement(e){let n=dy(e).toLowerCase();Object.hasOwn(ly,n)&&!Object.hasOwn(av,n)&&(this.buf.push("</"),this.buf.push(n),this.buf.push(">"))}chars(e){this.buf.push(uy(e))}};function Uw(t,e){return(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function zw(t){let e=t.nextSibling;if(e&&t!==e.previousSibling)throw uv(e);return e}function qw(t){let e=t.firstChild;if(e&&Uw(t,e))throw uv(e);return e}function dy(t){let e=t.nodeName;return typeof e=="string"?e:"FORM"}function uv(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}var Gw=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ww=/([^\#-~ |!])/g;function uy(t){return t.replace(/&/g,"&amp;").replace(Gw,function(e){let n=e.charCodeAt(0),o=e.charCodeAt(1);return"&#"+((n-55296)*1024+(o-56320)+65536)+";"}).replace(Ww,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}var rl;function Tl(t,e){let n=null;try{rl=rl||Pw(t);let o=e?String(e):"";n=rl.getInertBodyElement(o);let r=5,i=o;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,o=i,i=n.innerHTML,n=rl.getInertBodyElement(o)}while(o!==i);let a=new qp().sanitizeChildren(py(n)||n);return Sl(a)}finally{if(n){let o=py(n)||n;for(;o.firstChild;)o.firstChild.remove()}}}function py(t){return"content"in t&&Yw(t)?t.content:null}function Yw(t){return t.nodeType===Node.ELEMENT_NODE&&t.nodeName==="TEMPLATE"}function Zw(t,e){return t.createText(e)}function Kw(t,e,n){t.setValue(e,n)}function pv(t,e,n){return t.createElement(e,n)}function oi(t,e,n,o,r){t.insertBefore(e,n,o,r)}function fv(t,e,n){t.appendChild(e,n)}function fy(t,e,n,o,r){o!==null?oi(t,e,n,o,r):fv(t,e,n)}function mv(t,e,n,o){t.removeChild(null,e,n,o)}function Qw(t,e,n){t.setAttribute(e,"style",n)}function Xw(t,e,n){n===""?t.removeAttribute(e,"class"):t.setAttribute(e,"class",n)}function hv(t,e,n){let{mergedAttrs:o,classes:r,styles:i}=n;o!==null&&cw(t,e,o),r!==null&&Xw(t,e,r),i!==null&&Qw(t,e,i)}function Jw(t,e=!0){if(t[0]!=":")return[null,t];let n=t.indexOf(":",1);if(n===-1){if(e)throw new Error(`Unsupported format "${t}" expecting ":namespace:name"`);return[null,t]}return[t.slice(1,n),t.slice(n+1)]}function If(t,e,n){if(e!==void 0&&n!==void 0&&eS(e,n)!==kt.HTML)return t;let o=gv();return o?cy(o.sanitize(kt.HTML,t)||""):Yo(t,"HTML")?cy(Xn(t)):Tl(xf(),Gr(t))}function yo(t){let e=gv();return e?e.sanitize(kt.URL,t)||"":Yo(t,"URL")?Xn(t):ca(Gr(t))}function gv(){let t=Ze();return t&&t[po].sanitizer}function eS(t,e){let[n,o]=tS(t);return _g(o,e,n)}function tS(t){t=t.toLowerCase();let e=Jw(t,!1);if(e[0])return e;let o=fo()===-1?null:Ws(),r=o?.namespace;if(t==="#host"&&o?.type===2){let i=Kn(o,Ze());if(i.tagName&&(t=i.tagName.toLowerCase()),r==null){let s=i.namespaceURI;r=s&&Nw[s]}}return[r,t]}function kf(t){return t.ownerDocument.defaultView}function Dt(t){return t.ownerDocument}function nS(t,e,n){let o=t.length;for(;;){let r=t.indexOf(e,n);if(r===-1)return r;if(r===0||t.charCodeAt(r-1)<=32){let i=e.length;if(r+i===o||t.charCodeAt(r+i)<=32)return r}n=r+1}}var yv="ng-template";function oS(t,e,n,o){let r=0;if(o){for(;r<e.length&&typeof e[r]=="string";r+=2)if(e[r]==="class"&&nS(e[r+1].toLowerCase(),n,0)!==-1)return!0}else if(Nf(t))return!1;if(r=e.indexOf(1,r),r>-1){let i;for(;++r<e.length&&typeof(i=e[r])=="string";)if(i.toLowerCase()===n)return!0}return!1}function Nf(t){return t.type===4&&t.value!==yv}function rS(t,e,n){let o=t.type===4&&!n?yv:t.value;return e===o}function iS(t,e,n){let o=4,r=t.attrs,i=r!==null?cS(r):0,s=!1;for(let a=0;a<e.length;a++){let c=e[a];if(typeof c=="number"){if(!s&&!mo(o)&&!mo(c))return!1;if(s&&mo(c))continue;s=!1,o=c|o&1;continue}if(!s)if(o&4){if(o=2|o&1,c!==""&&!rS(t,c,n)||c===""&&e.length===1){if(mo(o))return!1;s=!0}}else if(o&8){if(r===null||!oS(t,r,c,n)){if(mo(o))return!1;s=!0}}else{let l=e[++a],d=sS(c,r,Nf(t),n);if(d===-1){if(mo(o))return!1;s=!0;continue}if(l!==""){let f;if(d>i?f="":f=r[d+1].toLowerCase(),o&2&&l!==f){if(mo(o))return!1;s=!0}}}}return mo(o)||s}function mo(t){return(t&1)===0}function sS(t,e,n,o){if(e===null)return-1;let r=0;if(o||!n){let i=!1;for(;r<e.length;){let s=e[r];if(s===t)return r;if(s===3||s===6)i=!0;else if(s===1||s===2){let a=e[++r];for(;typeof a=="string";)a=e[++r];continue}else{if(s===4)break;if(s===0){r+=4;continue}}r+=i?1:2}return-1}else return lS(e,t)}function aS(t,e,n=!1){for(let o=0;o<e.length;o++)if(iS(t,e[o],n))return!0;return!1}function cS(t){for(let e=0;e<t.length;e++){let n=t[e];if(lw(n))return e}return t.length}function lS(t,e){let n=t.indexOf(4);if(n>-1)for(n++;n<t.length;){let o=t[n];if(typeof o=="number")return-1;if(o===e)return n;n++}return-1}function my(t,e){return t?":not("+e.trim()+")":e}function dS(t){let e=t[0],n=1,o=2,r="",i=!1;for(;n<t.length;){let s=t[n];if(typeof s=="string")if(o&2){let a=t[++n];r+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else o&8?r+="."+s:o&4&&(r+=" "+s);else r!==""&&!mo(s)&&(e+=my(i,r),r=""),o=s,i=i||!mo(o);n++}return r!==""&&(e+=my(i,r)),e}function uS(t){return t.map(dS).join(",")}function pS(t){let e=[],n=[],o=1,r=2;for(;o<t.length;){let i=t[o];if(typeof i=="string")r===2?i!==""&&e.push(i,t[++o]):r===8&&n.push(i);else{if(!mo(r))break;r=i}o++}return n.length&&e.push(1,...n),e}var Tn={},Go=(function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t})(Go||{}),fS;function Df(t,e){return fS(t,e)}var Of=new Set;var kj=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";var Gp=new WeakMap;function vv(t){return t?t[dr]??t:null}var Gi=new WeakSet;function mS(t,e,n){let o=Gp.get(t);if(!o||o.length===0)return;let r=e.parentNode,i=e.previousSibling,s=vv(n);for(let a=o.length-1;a>=0;a--){let{el:c,declarationView:l}=o[a],d=c.parentNode;c===e?(o.splice(a,1),Gi.add(c),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}}))):i&&c===i?(o.splice(a,1),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),c.parentNode?.removeChild(c)):d&&r&&d!==r&&(s===null||l===null||s===l)&&(o.splice(a,1),c.dispatchEvent(new CustomEvent("animationend",{detail:{cancel:!0}})),c.parentNode?.removeChild(c))}}function hS(t,e,n){let o=vv(n),r=Gp.get(t);r?r.some(i=>i.el===e)||r.push({el:e,declarationView:o}):Gp.set(t,[{el:e,declarationView:o}])}var Ml=(function(t){return t[t.CHANGE_DETECTION=0]="CHANGE_DETECTION",t[t.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",t})(Ml||{}),Ko=new Ue(""),hy=new Set;function ii(t){hy.has(t)||(hy.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}var Pf=(()=>{class t{impl=null;execute(){this.impl?.execute()}static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),_v=[0,1,2,3],bv=(()=>{class t{ngZone=N(Cn);scheduler=N(cr);errorHandler=N(Wn,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){N(Ko,{optional:!0})}execute(){let n=this.sequences.size>0;n&&pt(ot.AfterRenderHooksStart),this.executing=!0;for(let o of _v)for(let r of this.sequences)if(!(r.erroredOrDestroyed||!r.hooks[o]))try{r.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let i=r.hooks[o];return i(r.pipelinedValue)},r.snapshot))}catch(i){r.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(let o of this.sequences)o.afterRun(),o.once&&(this.sequences.delete(o),o.destroy());for(let o of this.deferredRegistrations)this.sequences.add(o);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),n&&pt(ot.AfterRenderHooksEnd)}register(n){let{view:o}=n;o!==void 0?((o[Zr]??=[]).push(n),ei(o),o[ge]|=8192):this.executing?this.deferredRegistrations.add(n):this.addSequence(n)}addSequence(n){this.sequences.add(n),this.scheduler.notify(7)}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}maybeTrace(n,o){return o?o.run(Ml.AFTER_NEXT_RENDER,n):n()}static \u0275prov=Re({token:t,providedIn:"root",factory:()=>new t})}return t})(),hl=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(e,n,o,r,i,s=null){this.impl=e,this.hooks=n,this.view=o,this.once=r,this.snapshot=s,this.unregisterOnDestroy=i?.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?.[Zr];e&&(this.view[Zr]=e.filter(n=>n!==this))}};function si(t,e){let n=e?.injector??N(Gn);return ii("NgAfterNextRender"),yS(t,n,e,!0)}function gS(t){return t instanceof Function?[void 0,void 0,t,void 0]:[t.earlyRead,t.write,t.mixedReadWrite,t.read]}function yS(t,e,n,o){let r=e.get(Pf);r.impl??=e.get(bv);let i=e.get(Ko,null,{optional:!0}),s=n?.manualCleanup!==!0?e.get(ht):null,a=e.get(Ks,null,{optional:!0}),c=new hl(r.impl,gS(t),a?.view,o,s,i?.snapshot(null));return r.impl.register(c),c}var Wp=null,xv=null;function gy(t,e,n,o){Wp?.maybeQueueEnterAnimation(t,e,n,o)}function yy(t,e,n,o){Wp===null?o(!1):Wp.runLeaveAnimationsWithCallback(t,e,n,o)}function vS(t){xv?.initViewDetachAnimations(t)}function _S(t){xv?.clearViewDetachAnimations(t)}function Wi(t,e,n,o,r,i,s,a){if(r!=null){let c,l=!1;Zn(r)?c=r:pr(r)&&(l=!0,r=r[uo]);let d=dn(r);t===0&&o!==null?(gy(a,o,i,n),s==null?fv(e,o,d):oi(e,o,d,s||null,!0)):t===1&&o!==null?(oi(e,o,d,s||null,!0),mS(i,d,a),Gi.has(d)||gy(a,o,i,n)):t===2?(a?.[yg]?.leave?.has(i.index)&&hS(i,d,a),Gi.delete(d),yy(a,i,n,f=>{if(Gi.has(d)){Gi.delete(d);return}mv(e,d,l,f)})):t===3&&(Gi.delete(d),yy(a,i,n,()=>{e.destroyNode(d)})),c!=null&&OS(e,t,n,c,i,o,s)}}function bS(t,e){Ev(t,e),e[uo]=null,e[wn]=null}function xS(t,e,n,o,r,i){o[uo]=r,o[wn]=e,kl(t,o,n,1,r,i)}function Ev(t,e){e[po].changeDetectionScheduler?.notify(9),kl(t,e,e[Nt],2,null,null)}function ES(t){let e=t[Bi];if(!e)return kp(t[le],t);for(;e;){let n=null;if(pr(e))n=e[Bi];else{let o=e[Ft];o&&(n=o)}if(!n){for(;e&&!e[Yn]&&e!==t;)pr(e)&&kp(e[le],e),e=e[Ht];e===null&&(e=t),pr(e)&&kp(e[le],e),n=e&&e[Yn]}e=n}}function Af(t,e){let n=t[Qr],o=n.indexOf(e);n.splice(o,1)}function Il(t,e){if(Jr(e))return;let n=e[Nt];n.destroyNode&&kl(t,e,n,3,null,null),ES(e)}function kp(t,e){if(Jr(e))return;let n=ae(null);try{e[ge]&=-129,e[ge]|=256,e[Rn]&&Lr(e[Rn]),wS(t,e),CS(t,e),e[le].type===1&&e[Nt].destroy();let o=e[ur];if(o!==null&&Zn(e[Ht])){o!==e[Ht]&&Af(o,e);let r=e[To];r!==null&&r.detachView(t)}Rp(e)}finally{ae(n)}}function CS(t,e){let n=t.cleanup,o=e[Hi];if(n!==null)for(let s=0;s<n.length-1;s+=2)if(typeof n[s]=="string"){let a=n[s+3];a>=0?o[a]():o[-a].unsubscribe(),s+=2}else{let a=o[n[s+1]];n[s].call(a)}o!==null&&(e[Hi]=null);let r=e[$o];if(r!==null){e[$o]=null;for(let s=0;s<r.length;s++){let a=r[s];a()}}let i=e[Ho];if(i!==null){e[Ho]=null;for(let s of i)s.destroy()}}function wS(t,e){let n;if(t!=null&&(n=t.destroyHooks)!=null)for(let o=0;o<n.length;o+=2){let r=e[n[o]];if(!(r instanceof ea)){let i=n[o+1];if(Array.isArray(i))for(let s=0;s<i.length;s+=2){let a=r[i[s]],c=i[s+1];pt(ot.LifecycleHookStart,a,c);try{c.call(a)}finally{pt(ot.LifecycleHookEnd,a,c)}}else{pt(ot.LifecycleHookStart,r,i);try{i.call(r)}finally{pt(ot.LifecycleHookEnd,r,i)}}}}}function SS(t,e,n){if(e===null)throw new Te(510,!1);return TS(t,e.parent,n)}function TS(t,e,n){let o=e;for(;o!==null&&o.type&168;)e=o,o=e.parent;if(o===null)return n[uo];if(fr(o)){let{encapsulation:r}=t.data[o.directiveStart+o.componentOffset];if(r===go.None||r===go.Emulated)return null}return Kn(o,n)}function MS(t,e,n){return kS(t,e,n)}function IS(t,e,n){return t.type&40?Kn(t,n):null}var kS=IS,vy;function Rf(t,e,n,o){let r=SS(t,o,e),i=e[Nt],s=o.parent||e[wn],a=MS(s,o,e);if(r!=null)if(Array.isArray(n))for(let c=0;c<n.length;c++)fy(i,r,n[c],a,!1);else fy(i,r,n,a,!1);vy!==void 0&&vy(i,o,e,n,r)}function Xs(t,e){if(e!==null){let n=e.type;if(n&3)return Kn(e,t);if(n&4)return Yp(-1,t[e.index]);if(n&8){let o=e.child;if(o!==null)return Xs(t,o);{let r=t[e.index];return Zn(r)?Yp(-1,r):dn(r)}}else{if(n&128)return Xs(t,e.next);if(n&32)return Df(e,t)()||dn(t[e.index]);{let o=Cv(t,e);if(o!==null){if(Array.isArray(o))return o[0];let r=Bo(t[An]);return Xs(r,o)}else return Xs(t,e.next)}}}return null}function Cv(t,e){if(e!==null){let o=t[An][wn],r=e.projection;return o.projection[r]}return null}function Yp(t,e){let n=Ft+t+1;if(n<e.length){let o=e[n],r=o[le].firstChild;if(r!==null)return Xs(o,r)}return e[Kr]}function Lf(t,e,n,o,r,i,s){for(;n!=null;){let a=o[Uo];if(n.type===128){n=n.next;continue}let c=o[n.index],l=n.type;if(s&&e===0&&(c&&Zi(dn(c),o),n.flags|=2),!Ef(n))if(l&8)Lf(t,e,n.child,o,r,i,!1),Wi(e,t,a,r,c,n,i,o);else if(l&32){let d=Df(n,o),f;for(;f=d();)Wi(e,t,a,r,f,n,i,o);Wi(e,t,a,r,c,n,i,o)}else l&16?DS(t,e,o,n,r,i):Wi(e,t,a,r,c,n,i,o);n=s?n.projectionNext:n.next}}function kl(t,e,n,o,r,i){t.type===3?NS(n,o,e,r,i):Lf(n,o,t.firstChild,e,r,i,!1)}function NS(t,e,n,o,r){let s=n[le].firstChild,a=s.next,c=dn(n[s.index]),l=dn(n[a.index]),d=a.index+1,f=n[d];if(e===1||e===0)o!==null&&(f&&f.hasChildNodes()?oi(t,o,f,r,!0):(oi(t,o,c,r,!0),oi(t,o,l,r,!0)));else if(e===2){if(f||(f=document.createDocumentFragment(),n[d]=f),c&&c.parentNode===f)return;let g=c;for(;g!==null;){let y=g.nextSibling;if(f.appendChild(g),g===l)break;g=y}}}function DS(t,e,n,o,r,i){let s=n[An],c=s[wn].projection[o.projection];if(Array.isArray(c))for(let l=0;l<c.length;l++){let d=c[l];Wi(e,t,n[Uo],r,d,o,i,n)}else{let l=c,d=s[Ht];Yy(o)&&(l.flags|=128),Lf(t,e,l,d,r,i,!0)}}function OS(t,e,n,o,r,i,s){let a=o[Kr],c=dn(o);if(a!==c&&Wi(e,t,n,i,a,r,s),(o[ge]&4)===0)for(let l=Ft;l<o.length;l++){let d=o[l];kl(d[le],d,t,e,i,a)}}function PS(t,e,n,o,r){if(e)r?t.addClass(n,o):t.removeClass(n,o);else{let i=o.indexOf("-")===-1?void 0:Go.DashCase;r==null?t.removeStyle(n,o,i):(typeof r=="string"&&r.endsWith("!important")&&(r=r.slice(0,-10),i|=Go.Important),t.setStyle(n,o,r,i))}}function Ff(t,e,n,o,r,i,s,a,c,l,d){let f=ln+o,g=f+r,y=AS(f,g),b=typeof l=="function"?l():l;return y[le]={type:t,blueprint:y,template:n,queries:null,viewQuery:a,declTNode:e,data:y.slice().fill(null,f),bindingStartIndex:f,expandoStartIndex:g,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 i=="function"?i():i,pipeRegistry:typeof s=="function"?s():s,firstChild:null,schemas:c,consts:b,incompleteFirstPass:!1,ssrId:d}}function AS(t,e){let n=[];for(let o=0;o<e;o++)n.push(o<t?null:Tn);return n}function RS(t){let e=t.tView;return e===null||e.incompleteFirstPass?t.tView=Ff(1,null,t.template,t.decls,t.vars,t.directiveDefs,t.pipeDefs,t.viewQuery,t.schemas,t.consts,t.id):e}function jf(t,e,n,o,r,i,s,a,c,l,d){let f=e.blueprint.slice();return f[uo]=r,f[ge]=o|4|128|8|64|1024,(l!==null||t&&t[ge]&2048)&&(f[ge]|=2048),cp(f),f[Ht]=f[dr]=t,f[Lt]=n,f[po]=s||t&&t[po],f[Nt]=a||t&&t[Nt],f[Uo]=c||t&&t[Uo]||null,f[wn]=i,f[Us]=ww(),f[$i]=d,f[rp]=l,f[An]=e.type==2?t[An]:f,f}function LS(t,e,n){let o=Kn(e,t),r=RS(n),i=t[po].rendererFactory,s=Vf(t,jf(t,r,null,wv(n),o,e,null,i.createRenderer(o,n),null,null,null));return t[e.index]=s}function wv(t){let e=16;return t.signals?e=4096:t.onPush&&(e=64),e}function Sv(t,e,n,o){if(n===0)return-1;let r=e.length;for(let i=0;i<n;i++)e.push(o),t.blueprint.push(o),t.data.push(null);return r}function Vf(t,e){return t[Bi]?t[op][Yn]=e:t[Bi]=e,t[op]=e,e}function p(t=1){Tv(bn(),Ze(),fo()+t,!1)}function Tv(t,e,n,o){if(!o)if((e[ge]&3)===3){let i=t.preOrderCheckHooks;i!==null&&sl(e,i,n)}else{let i=t.preOrderHooks;i!==null&&al(e,i,0,n)}mr(n)}var Nl=(function(t){return t[t.None=0]="None",t[t.SignalBased=1]="SignalBased",t[t.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",t})(Nl||{});function Zp(t,e,n,o){let r=ae(null);try{let[i,s,a]=t.inputs[n],c=null;(s&Nl.SignalBased)!==0&&(c=e[i][cn]),c!==null&&c.transformFn!==void 0?o=c.transformFn(o):a!==null&&(o=a.call(e,o)),t.setInput!==null?t.setInput(e,c,o,n,i):ew(e,c,i,o)}finally{ae(r)}}function Mv(t,e,n,o,r){let i=fo(),s=o&2;try{mr(-1),s&&e.length>ln&&Tv(t,e,ln,!1);let a=s?ot.TemplateUpdateStart:ot.TemplateCreateStart;pt(a,r,n),n(o,r)}finally{mr(i);let a=s?ot.TemplateUpdateEnd:ot.TemplateCreateEnd;pt(a,r,n)}}function Iv(t,e,n){US(t,e,n),(n.flags&64)===64&&zS(t,e,n)}function $f(t,e,n=Kn){let o=e.localNames;if(o!==null){let r=e.index+1;for(let i=0;i<o.length;i+=2){let s=o[i+1],a=s===-1?n(e,t):t[s];t[r++]=a}}}function FS(t,e,n,o){let i=o.get(nv,tv)||n===go.ShadowDom||n===go.ExperimentalIsolatedShadowDom,s=t.selectRootElement(e,i);return jS(s),s}function jS(t){VS(t)}var VS=()=>null;function $S(t){return t==="class"?"className":t==="for"?"htmlFor":t==="formaction"?"formAction":t==="innerHtml"?"innerHTML":t==="readonly"?"readOnly":t==="tabindex"?"tabIndex":t}function HS(t,e,n,o,r,i){let s=e[le];if(Hf(t,s,e,n,o)){fr(t)&&BS(e,t.index);return}t.type&3&&(n=$S(n)),kv(t,e,n,o,r,i)}function kv(t,e,n,o,r,i){if(t.type&3){let s=Kn(t,e);o=i!=null?i(o,t.value||"",n):o,r.setProperty(s,n,o)}else t.type&12}function BS(t,e){let n=Mo(e,t);n[ge]&16||(n[ge]|=64)}function US(t,e,n){let o=n.directiveStart,r=n.directiveEnd;fr(n)&&LS(e,n,t.data[o+n.componentOffset]),t.firstCreatePass||Hy(n,e);let i=n.initialInputs;for(let s=o;s<r;s++){let a=t.data[s],c=fl(e,t,s,n);if(Zi(c,e),i!==null&&ZS(e,s-o,c,a,n,i),Xr(a)){let l=Mo(n.index,e);l[Lt]=fl(e,t,s,n)}}}function zS(t,e,n){let o=n.directiveStart,r=n.directiveEnd,i=n.index,s=Rg();try{mr(i);for(let a=o;a<r;a++){let c=t.data[a],l=e[a];Wc(a),(c.hostBindings!==null||c.hostVars!==0||c.hostAttrs!==null)&&qS(c,l)}}finally{mr(-1),Wc(s)}}function qS(t,e){t.hostBindings!==null&&t.hostBindings(1,e)}function GS(t,e){let n=t.directiveRegistry,o=null;if(n)for(let r=0;r<n.length;r++){let i=n[r];aS(e,i.selectors,!1)&&(o??=[],Xr(i)?o.unshift(i):o.push(i))}return o}function WS(t,e,n,o,r,i){let s=Kn(t,e);YS(e[Nt],s,i,t.value,n,o,r)}function YS(t,e,n,o,r,i,s){if(i==null)s?.(i,o||"",r),t.removeAttribute(e,r,n);else{let a=s==null?Gr(i):s(i,o||"",r);t.setAttribute(e,r,a,n)}}function ZS(t,e,n,o,r,i){let s=i[e];if(s!==null)for(let a=0;a<s.length;a+=2){let c=s[a],l=s[a+1];Zp(o,n,c,l)}}function Nv(t,e,n,o,r){let i=ln+n,s=e[le],a=r(s,e,t,o,n);e[i]=a,zi(t,!0);let c=t.type===2;return c?(hv(e[Nt],a,t),(wg()===0||$c(t))&&Zi(a,e),Sg()):Zi(a,e),Qc()&&(!c||!Ef(t))&&Rf(s,e,a,t),t}function Dv(t){let e=t;return gp()?kg():(e=e.parent,zi(e,!1)),e}function KS(t,e){let n=t[Uo];if(!n)return;let o;try{o=n.get(ni,null)}catch{o=null}o?.(e)}function Hf(t,e,n,o,r){let i=t.inputs?.[o],s=t.hostDirectiveInputs?.[o],a=!1;if(s)for(let c=0;c<s.length;c+=2){let l=s[c],d=s[c+1],f=e.data[l];Zp(f,n[l],d,r),a=!0}if(i)for(let c of i){let l=n[c],d=e.data[c];Zp(d,l,o,r),a=!0}return a}function QS(t,e){let n=Mo(e,t),o=n[le];XS(o,n);let r=n[uo];r!==null&&n[$i]===null&&(n[$i]=ov(r,n[Uo])),pt(ot.ComponentStart);try{Bf(o,n,n[Lt])}finally{pt(ot.ComponentEnd,n[Lt])}}function XS(t,e){for(let n=e.length;n<t.blueprint.length;n++)e.push(t.blueprint[n])}function Bf(t,e,n){Zc(e);try{let o=t.viewQuery;o!==null&&Fp(1,o,n);let r=t.template;r!==null&&Mv(t,e,r,1,n),t.firstCreatePass&&(t.firstCreatePass=!1),e[To]?.finishViewCreation(t),t.staticContentQueries&&rv(t,e),t.staticViewQueries&&Fp(2,t.viewQuery,n);let i=t.components;i!==null&&JS(e,i)}catch(o){throw t.firstCreatePass&&(t.incompleteFirstPass=!0,t.firstCreatePass=!1),o}finally{e[ge]&=-5,Kc()}}function JS(t,e){for(let n=0;n<e.length;n++)QS(t,e[n])}function Dl(t,e,n,o){let r=ae(null);try{let i=e.tView,a=t[ge]&4096?4096:16,c=jf(t,i,n,a,null,e,null,null,o?.injector??null,o?.embeddedViewInjector??null,o?.dehydratedView??null),l=t[e.index];c[ur]=l;let d=t[To];return d!==null&&(c[To]=d.createEmbeddedView(i)),Bf(i,c,n),c}finally{ae(r)}}function ta(t,e){return!e||e.firstChild===null||Yy(t)}function na(t,e,n,o,r=!1){if(t.type===3){let i=t.firstChild,s=i.next,a=dn(e[i.index]),c=dn(e[s.index]),l=a;for(;l!==null&&(o.push(l),l!==c);)l=l.nextSibling;return o}for(;n!==null;){if(n.type===128){n=r?n.projectionNext:n.next;continue}let i=e[n.index];if(i!==null)if(Zn(i)){let a=i[Kr];a!==i[uo]&&o.push(dn(i)),i[ge]&4||Ov(i,o),o.push(a)}else o.push(dn(i));let s=n.type;if(s&8)na(t,e,n.child,o);else if(s&32){let a=Df(n,e),c;for(;c=a();)o.push(c)}else if(s&16){let a=Cv(e,n);if(Array.isArray(a))o.push(...a);else{let c=Bo(e[An]);na(c[le],c,a,o,!0)}}n=r?n.projectionNext:n.next}return o}function Ov(t,e){for(let n=Ft;n<t.length;n++){let o=t[n],r=o[le].firstChild;r!==null&&na(o[le],o,r,e)}}function Pv(t){if(t[Zr]!==null){for(let e of t[Zr])e.impl.addSequence(e);t[Zr].length=0}}var Av=[];function eT(t){return t[Rn]??tT(t)}function tT(t){let e=Av.pop()??Object.create(oT);return e.lView=t,e}function nT(t){t.lView[Rn]!==t&&(t.lView=null,Av.push(t))}var oT=Q(H({},Pr),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{ei(t.lView)},consumerOnSignalRead(){this.lView[Rn]=this}});function rT(t){let e=t[Rn]??Object.create(iT);return e.lView=t,e}var iT=Q(H({},Pr),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{let e=Bo(t.lView);for(;e&&!Rv(e[le]);)e=Bo(e);e&&lp(e)},consumerOnSignalRead(){this.lView[Rn]=this}});function Rv(t){return t.type!==2}function Lv(t){if(t[Ho]===null)return;let e=!0;for(;e;){let n=!1;for(let o of t[Ho])if(o.dirty&&(n=!0,o.zone===null||Zone.current===o.zone?o.run():o.zone.run(()=>o.run()),t[Ho]===null))return;e=n&&!!(t[ge]&8192)}}var sT=100;function Fv(t,e=0){let o=t[po].rendererFactory,r=!1;r||o.begin?.();try{aT(t,e)}finally{r||o.end?.()}}function aT(t,e){let n=yp();try{Fs(!0),Kp(t,e);let o=0;for(;Gs(t);){if(o===sT)throw new Te(103,!1);o++,Kp(t,1)}}finally{Fs(n)}}function cT(t,e,n,o){if(Jr(e))return;let r=e[ge],i=!1,s=!1;Zc(e);let a=!0,c=null,l=null;i||(Rv(t)?(l=eT(e),c=Rr(l)):lc()===null?(a=!1,l=rT(e),c=Rr(l)):e[Rn]&&(Lr(e[Rn]),e[Rn]=null));try{cp(e),Og(t.bindingStartIndex),n!==null&&Mv(t,e,n,2,o);let d=(r&3)===3;if(!i)if(d){let y=t.preOrderCheckHooks;y!==null&&sl(e,y,null)}else{let y=t.preOrderHooks;y!==null&&al(e,y,0,null),Mp(e,0)}if(s||lT(e),Lv(e),jv(e,0),t.contentQueries!==null&&rv(t,e),!i)if(d){let y=t.contentCheckHooks;y!==null&&sl(e,y)}else{let y=t.contentHooks;y!==null&&al(e,y,1),Mp(e,1)}uT(t,e);let f=t.components;f!==null&&$v(e,f,0);let g=t.viewQuery;if(g!==null&&Fp(2,g,o),!i)if(d){let y=t.viewCheckHooks;y!==null&&sl(e,y)}else{let y=t.viewHooks;y!==null&&al(e,y,2),Mp(e,2)}if(t.firstUpdatePass===!0&&(t.firstUpdatePass=!1),e[Vc]){for(let y of e[Vc])y();e[Vc]=null}i||(Pv(e),e[ge]&=-73)}catch(d){let f=!1,g=d,y=e;for(;y!==null;){if(Zn(y)){y=y[Ht];continue}let b=y[zs];if(b)try{let C=e[An][Lt],O=C?.constructor,Y={declarationInstance:C,declarationType:O,caughtBy:b};b(Yg(g),Y),f=!0;break}catch(C){g=C}y=y[Ht]}if(!f)throw i||ei(e),g}finally{l!==null&&(Ii(l,c),a&&nT(l)),Kc()}}function jv(t,e){for(let n=Ky(t);n!==null;n=Qy(n))for(let o=Ft;o<n.length;o++){let r=n[o];Vv(r,e)}}function lT(t){for(let e=Ky(t);e!==null;e=Qy(e)){if(!(e[ge]&2))continue;let n=e[Qr];for(let o=0;o<n.length;o++){let r=n[o];lp(r)}}}function dT(t,e,n){pt(ot.ComponentStart);let o=Mo(e,t);try{Vv(o,n)}finally{pt(ot.ComponentEnd,o[Lt])}}function Vv(t,e){Uc(t)&&Kp(t,e)}function Kp(t,e){let o=t[le],r=t[ge],i=t[Rn],s=!!(e===0&&r&16);if(s||=!!(r&64&&e===0),s||=!!(r&1024),s||=!!(i?.dirty&&Ns(i)),s||=!1,i&&(i.dirty=!1),t[ge]&=-9217,s)cT(o,t,o.template,t[Lt]);else if(r&8192){let a=ae(null);try{Lv(t),jv(t,1);let c=o.components;c!==null&&$v(t,c,1),Pv(t)}finally{ae(a)}}}function $v(t,e,n){for(let o=0;o<e.length;o++)dT(t,e[o],n)}function uT(t,e){let n=t.hostBindingOpCodes;if(n!==null)try{for(let o=0;o<n.length;o++){let r=n[o];if(r<0)mr(~r);else{let i=r,s=n[++o],a=n[++o];Ag(s,i);let c=e[i];pt(ot.HostBindingsUpdateStart,c);try{a(2,c)}finally{pt(ot.HostBindingsUpdateEnd,c)}}}}finally{mr(-1)}}function Uf(t,e){let n=yp()?64:1088;for(t[po].changeDetectionScheduler?.notify(e);t;){t[ge]|=n;let o=Bo(t);if(Ui(t)&&!o)return t;t=o}return null}function Hv(t,e,n,o){return[t,!0,0,e,null,o,null,n,null,null]}function Bv(t,e){let n=Ft+e;if(n<t.length)return t[n]}function Ol(t,e,n,o=!0){let r=e[le];if(pT(r,e,t,n),o){let s=Yp(n,t),a=e[Nt],c=a.parentNode(t[Kr]);c!==null&&xS(r,t[wn],a,e,c,s)}let i=e[$i];i!==null&&i.firstChild!==null&&(i.firstChild=null)}function Uv(t,e){let n=oa(t,e);return n!==void 0&&Il(n[le],n),n}function oa(t,e){if(t.length<=Ft)return;let n=Ft+e,o=t[n];if(o){let r=o[ur];r!==null&&r!==t&&Af(r,o),e>0&&(t[n-1][Yn]=o[Yn]);let i=$s(t,Ft+e);bS(o[le],o);let s=i[To];s!==null&&s.detachView(i[le]),o[Ht]=null,o[Yn]=null,o[ge]&=-129}return o}function pT(t,e,n,o){let r=Ft+o,i=n.length;o>0&&(n[r-1][Yn]=e),o<i-Ft?(e[Yn]=n[r],Ju(n,Ft+o,e)):(n.push(e),e[Yn]=null),e[Ht]=n;let s=e[ur];s!==null&&n!==s&&zv(s,e);let a=e[To];a!==null&&a.insertView(t),zc(e),e[ge]|=128}function zv(t,e){let n=t[Qr],o=e[Ht];if(pr(o))t[ge]|=2;else{let r=o[Ht][An];e[An]!==r&&(t[ge]|=2)}n===null?t[Qr]=[e]:n.push(e)}var Ki=class{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){let e=this._lView,n=e[le];return na(n,e,n.firstChild,[])}constructor(e,n){this._lView=e,this._cdRefInjectingView=n}get context(){return this._lView[Lt]}set context(e){this._lView[Lt]=e}get destroyed(){return Jr(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){let e=this._lView[Ht];if(Zn(e)){let n=e[qs],o=n?n.indexOf(this):-1;o>-1&&(oa(e,o),$s(n,o))}this._attachedToViewContainer=!1}Il(this._lView[le],this._lView)}onDestroy(e){qc(this._lView,e)}markForCheck(){Uf(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[ge]&=-129}reattach(){zc(this._lView),this._lView[ge]|=128}detectChanges(){this._lView[ge]|=1024,Fv(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Te(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Ui(this._lView),n=this._lView[ur];n!==null&&!e&&Af(n,this._lView),Ev(this._lView[le],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Te(902,!1);this._appRef=e;let n=Ui(this._lView),o=this._lView[ur];o!==null&&!n&&zv(o,this._lView),zc(this._lView)}};var ra=(()=>{class t{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=fT;constructor(n,o,r){this._declarationLView=n,this._declarationTContainer=o,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,o){return this.createEmbeddedViewImpl(n,o)}createEmbeddedViewImpl(n,o,r){let i=Dl(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:o,dehydratedView:r});return new Ki(i)}}return t})();function fT(){return zf(Qn(),Ze())}function zf(t,e){return t.type&4?new ra(e,t,Ji(t,e)):null}function Pl(t,e,n,o,r){let i=t.data[e];if(i===null)i=mT(t,e,n,o,r),Pg()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=o,i.attrs=r;let s=Ig();i.injectorIndex=s===null?-1:s.injectorIndex}return zi(i,!0),i}function mT(t,e,n,o,r){let i=hp(),s=gp(),a=s?i:i&&i.parent,c=t.data[e]=gT(t,a,n,e,o,r);return hT(t,c,i,s),c}function hT(t,e,n,o){t.firstChild===null&&(t.firstChild=e),n!==null&&(o?n.child==null&&e.parent!==null&&(n.child=e):n.next===null&&(n.next=e,e.prev=n))}function gT(t,e,n,o,r,i){let s=e?e.injectorIndex:-1,a=0;return Mg()&&(a|=128),{type:n,index:o,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,namespace:bp(),attrs:i,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 yT(t){let e=t[ip]??[],o=t[Ht][Nt],r=[];for(let i of e)i.data[ev]!==void 0?r.push(i):vT(i,o);t[ip]=r}function vT(t,e){let n=0,o=t.firstChild;if(o){let r=t.data[Jy];for(;n<r;){let i=o.nextSibling;mv(e,o,!1),o=i,n++}}}var _T=()=>null,bT=()=>null;function Qp(t,e){return _T(t,e)}function qv(t,e,n){return bT(t,e,n)}var Gv=class{},Wo=class{};var Wv=(()=>{class t{static \u0275prov=Re({token:t,providedIn:"root",factory:()=>null})}return t})();function Yv(t){return t.debugInfo?.className||t.type.name||null}var ll={},gl=class{injector;parentInjector;constructor(e,n){this.injector=e,this.parentInjector=n}get(e,n,o){let r=this.injector.get(e,ll,o);return r!==ll||n===ll?r:this.parentInjector.get(e,n,o)}};function xT(t,e,n){return t[e]=n}function ET(t,e){return t[e]}function No(t,e,n){if(n===Tn)return!1;let o=t[e];return Object.is(o,n)?!1:(t[e]=n,!0)}function CT(t,e,n,o){let r=No(t,e,n);return No(t,e+1,o)||r}function dl(t,e,n){return function o(r){let i=o.__ngNativeEl__;i!==void 0&&Tw(r,i);let s=fr(t)?Mo(t.index,e):e;Uf(s,5);let a=e[Lt],c=_y(e,a,n,r),l=o.__ngNextListenerFn__;for(;l;)c=_y(e,a,l,r)&&c,l=l.__ngNextListenerFn__;return c}}function _y(t,e,n,o){let r=ae(null);try{return pt(ot.OutputStart,e,n),n(o)!==!1}catch(i){return KS(t,i),!1}finally{pt(ot.OutputEnd,e,n),ae(r)}}function Zv(t,e,n,o,r,i,s,a){let c=$c(t),l=!1,d=null;if(!o&&c&&(d=ST(e,n,i,t.index)),d!==null){let f=d.__ngLastListenerFn__||d;f.__ngNextListenerFn__=s,d.__ngLastListenerFn__=s,l=!0}else{let f=Kn(t,n),g=o?o(f):f;Iw(n,g,i,a),o||(a.__ngNativeEl__=f);let y=r.listen(g,i,a);if(!wT(i)){let b=o?C=>o(dn(C[t.index])):t.index;Kv(b,e,n,i,a,y,!1)}}return l}function wT(t){return t.startsWith("animation")||t.startsWith("transition")}function ST(t,e,n,o){let r=t.cleanup;if(r!=null)for(let i=0;i<r.length-1;i+=2){let s=r[i];if(s===n&&r[i+1]===o){let a=e[Hi],c=r[i+2];return a&&a.length>c?a[c]:null}typeof s=="string"&&(i+=2)}return null}function Kv(t,e,n,o,r,i,s){let a=e.firstCreatePass?up(e):null,c=dp(n),l=c.length;c.push(r,i),a&&a.push(o,t,l,(l+1)*(s?-1:1))}function by(t,e,n,o,r,i){let s=e[n],a=e[le],l=a.data[n].outputs[o],f=s[l].subscribe(i);Kv(t.index,a,e,r,i,f,!0)}var Xp=Symbol("BINDING");var ai=new Ue("");function yl(t,e,n){let o=n?t.styles:null,r=n?t.classes:null,i=0;if(e!==null)for(let s=0;s<e.length;s++){let a=e[s];if(typeof a=="number")i=a;else if(i==1)r=Mc(r,a);else if(i==2){let c=a,l=e[++s];o=Mc(o,c+": "+l+";")}}n?t.styles=o:t.stylesWithoutHost=o,n?t.classes=r:t.classesWithoutHost=r}function Qv(t,e=0){let n=Ze();if(n===null)return lt(t,e);let o=Qn();return qy(o,n,Pn(t),e)}function TT(t,e,n,o,r){let i=o===null?null:{"":-1},s=r(t,n);if(s!==null){let a=s,c=null,l=null;for(let d of s)if(d.resolveHostDirectives!==null){[a,c,l]=d.resolveHostDirectives(s);break}kT(t,e,n,a,i,c,l)}i!==null&&o!==null&&MT(n,o,i)}function MT(t,e,n){let o=t.localNames=[];for(let r=0;r<e.length;r+=2){let i=n[e[r+1]];if(i==null)throw new Te(-301,!1);o.push(e[r],i)}}function IT(t,e,n){e.componentOffset=n,(t.components??=[]).push(e.index)}function kT(t,e,n,o,r,i,s){let a=o.length,c=null;for(let g=0;g<a;g++){let y=o[g];c===null&&Xr(y)&&(c=y,IT(t,n,g)),hw(Hy(n,e),t,y.type)}RT(n,t.data.length,a),c?.viewProvidersResolver&&c.viewProvidersResolver(c);for(let g=0;g<a;g++){let y=o[g];y.providersResolver&&y.providersResolver(y)}let l=!1,d=!1,f=Sv(t,e,a,null);a>0&&(n.directiveToIndex=new Map);for(let g=0;g<a;g++){let y=o[g];if(n.mergedAttrs=wl(n.mergedAttrs,y.hostAttrs),DT(t,n,e,f,y),AT(f,y,r),s!==null&&s.has(y)){let[C,O]=s.get(y);n.directiveToIndex.set(y.type,[f,C+n.directiveStart,O+n.directiveStart])}else(i===null||!i.has(y))&&n.directiveToIndex.set(y.type,f);y.contentQueries!==null&&(n.flags|=4),(y.hostBindings!==null||y.hostAttrs!==null||y.hostVars!==0)&&(n.flags|=64);let b=y.type.prototype;!l&&(b.ngOnChanges||b.ngOnInit||b.ngDoCheck)&&((t.preOrderHooks??=[]).push(n.index),l=!0),!d&&(b.ngOnChanges||b.ngDoCheck)&&((t.preOrderCheckHooks??=[]).push(n.index),d=!0),f++}NT(t,n,i)}function NT(t,e,n){for(let o=e.directiveStart;o<e.directiveEnd;o++){let r=t.data[o];if(n===null||!n.has(r))xy(0,e,r,o),xy(1,e,r,o),Cy(e,o,!1);else{let i=n.get(r);Ey(0,e,i,o),Ey(1,e,i,o),Cy(e,o,!0)}}}function xy(t,e,n,o){let r=t===0?n.inputs:n.outputs;for(let i in r)if(Object.hasOwn(r,i)){let s;t===0?s=e.inputs??={}:s=e.outputs??={},s[i]??=[],s[i].push(o),Xv(e,i)}}function Ey(t,e,n,o){let r=t===0?n.inputs:n.outputs;for(let i in r)if(Object.hasOwn(r,i)){let s=r[i],a;t===0?a=e.hostDirectiveInputs??={}:a=e.hostDirectiveOutputs??={},a[s]??=[],a[s].push(o,i),Xv(e,s)}}function Xv(t,e){e==="class"?t.flags|=8:e==="style"&&(t.flags|=16)}function Cy(t,e,n){let{attrs:o,inputs:r,hostDirectiveInputs:i}=t;if(o===null||!n&&r===null||n&&i===null||Nf(t)){t.initialInputs??=[],t.initialInputs.push(null);return}let s=null,a=0;for(;a<o.length;){let c=o[a];if(c===0){a+=4;continue}else if(c===5){a+=2;continue}else if(typeof c=="number")break;if(!n&&Object.hasOwn(r,c)){let l=r[c];for(let d of l)if(d===e){s??=[],s.push(c,o[a+1]);break}}else if(n&&Object.hasOwn(i,c)){let l=i[c];for(let d=0;d<l.length;d+=2)if(l[d]===e){s??=[],s.push(l[d+1],o[a+1]);break}}a+=2}t.initialInputs??=[],t.initialInputs.push(s)}function DT(t,e,n,o,r){t.data[o]=r;let i=r.factory||(r.factory=Ri(r.type,!0)),s=new ea(i,Xr(r),Qv,null);t.blueprint[o]=s,n[o]=s,OT(t,e,o,Sv(t,n,r.hostVars,Tn),r)}function OT(t,e,n,o,r){let i=r.hostBindings;if(i){let s=t.hostBindingOpCodes;s===null&&(s=t.hostBindingOpCodes=[]);let a=~e.index;PT(s)!=a&&s.push(a),s.push(n,o,i)}}function PT(t){let e=t.length;for(;e>0;){let n=t[--e];if(typeof n=="number"&&n<0)return n}return 0}function AT(t,e,n){if(n){if(e.exportAs)for(let o=0;o<e.exportAs.length;o++)n[e.exportAs[o]]=t;Xr(e)&&(n[""]=t)}}function RT(t,e,n){t.flags|=1,t.directiveStart=e,t.directiveEnd=e+n,t.providerIndexes=e}function Jv(t,e,n,o,r,i,s,a){let c=e[le],l=c.consts,d=Io(l,s),f=Pl(c,t,n,o,d);return i&&TT(c,e,f,Io(l,a),r),f.mergedAttrs=wl(f.mergedAttrs,f.attrs),f.attrs!==null&&yl(f,f.attrs,!1),f.mergedAttrs!==null&&yl(f,f.mergedAttrs,!0),c.queries!==null&&c.queries.elementStart(c,f),f}function e_(t,e){rw(t,e),sp(e)&&t.queries.elementEnd(e)}function LT(t,e,n,o,r,i){let s=e.consts,a=Io(s,r),c=Pl(e,t,n,o,a);if(c.mergedAttrs=wl(c.mergedAttrs,c.attrs),i!=null){let l=Io(s,i);c.localNames=[];for(let d=0;d<l.length;d+=2)c.localNames.push(l[d],-1)}return c.attrs!==null&&yl(c,c.attrs,!1),c.mergedAttrs!==null&&yl(c,c.mergedAttrs,!0),e.queries!==null&&e.queries.elementStart(e,c),c}var t_=typeof ShadowRoot<"u",FT=typeof Document<"u";function jT(t){return Object.keys(t).map(e=>{let[n,o,r]=t[e],i={propName:n,templateName:e,isSignal:(o&Nl.SignalBased)!==0};return r&&(i.transform=r),i})}function VT(t){return Object.keys(t).map(e=>({propName:t[e],templateName:e}))}function $T(t,e,n){let o=e instanceof lo?e:e?.injector;return o&&t.getStandaloneInjector!==null&&(o=t.getStandaloneInjector(o)||o),o?new gl(n,o):n}function HT(t){let e=t.get(Wo,null);if(e===null)throw new Te(407,!1);let n=t.get(Wv,null),o=t.get(cr,null),r=t.get(Ko,null,{optional:!0});return{rendererFactory:e,sanitizer:n,changeDetectionScheduler:o,ngReflect:!1,tracingService:r}}function BT(t,e,n){let o=n_(t);return pv(e,o,o==="svg"?Ur:o==="math"?Hc:n)}function UT(t){if((t&&"localName"in t&&typeof t.localName=="string"?t.localName:t?.tagName)?.toLowerCase()==="script")throw new Te(905,!1)}function n_(t){return(t.selectors[0][0]||"div").toLowerCase()}var ia=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=jT(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=VT(this.componentDef.outputs),this.cachedOutputs}constructor(e,n){this.componentDef=e,this.ngModule=n,this.componentType=e.type,this.selector=uS(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!n}create(e,n,o,r,i,s,a,c){pt(ot.DynamicComponentStart);let l=ae(null);try{let d=this.componentDef,f=$T(d,r||this.ngModule,e),g=HT(f),y=g.tracingService;return y&&y.componentCreate?y.componentCreate(Yv(d),()=>this.createComponentRef(g,f,n,o,i,s,a,c)):this.createComponentRef(g,f,n,o,i,s,a,c)}finally{ae(l)}}createComponentRef(e,n,o,r,i,s,a,c){let l=this.componentDef,d=zT(r,l,s,i,c),f=e.rendererFactory.createRenderer(null,l),g=r?FS(f,r,l.encapsulation,n):BT(l,f,a??null);UT(g);let y=n.get(ai,null),b=qT(g,()=>n.get(xn,null)??xf());y&&y.addHost(b);let C=s?.some(wy)||i?.some(G=>typeof G!="function"&&G.bindings.some(wy)),O=jf(null,d,null,512|wv(l),null,null,e,f,n,null,ov(g,n,!0));y&&t_&&b instanceof ShadowRoot&&qc(O,()=>{y.removeHost(b)}),O[ln]=g,Zc(O);let Y=null;try{let G=Jv(ln,O,2,"#host",()=>d.directiveRegistry,!0,0);hv(f,g,G),Zi(g,O),Iv(d,O,G),iv(d,G,O),e_(d,G),o!==void 0&&WT(G,this.ngContentSelectors,o),Y=Mo(G.index,O),O[Lt]=Y[Lt],Bf(d,O,null)}catch(G){throw Y!==null&&Rp(Y),Rp(O),G}finally{pt(ot.DynamicComponentEnd),Kc()}return new vl(this.componentType,O,!!C)}};function zT(t,e,n,o,r){let i=t?["ng-version","22.2.1"]:pS(e.selectors[0]),s=null,a=null,c=0;if(n)for(let f of n)c+=f[Xp].requiredVars,f.create&&(f.targetIdx=0,(s??=[]).push(f)),f.update&&(f.targetIdx=0,(a??=[]).push(f));if(o)for(let f=0;f<o.length;f++){let g=o[f];if(typeof g!="function")for(let y of g.bindings){c+=y[Xp].requiredVars;let b=f+1;y.create&&(y.targetIdx=b,(s??=[]).push(y)),y.update&&(y.targetIdx=b,(a??=[]).push(y))}}let l=[e];if(o)for(let f of o){let g=typeof f=="function"?f:f.type,y=Dc(g);l.push(y)}return Ff(0,null,GT(s,a),1,c,l,null,null,null,[i],null)}function qT(t,e){let n=t.getRootNode?.();return FT&&n instanceof Document?n.head:n&&t_&&n instanceof ShadowRoot?n:e().head}function GT(t,e){return!t&&!e?null:n=>{if(n&1&&t)for(let o of t)o.create();if(n&2&&e)for(let o of e)o.update()}}function wy(t){let e=t[Xp].kind;return e==="input"||e==="twoWay"}var vl=class extends Gv{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,n,o){super(),this._rootLView=n,this._hasInputBindings=o,this._tNode=Bc(n[le],ln),this.location=Ji(this._tNode,n),this.instance=Mo(this._tNode.index,n)[Lt],this.hostView=this.changeDetectorRef=new Ki(n,void 0),this.componentType=e}setInput(e,n){this._hasInputBindings;let o=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),n))return;let r=this._rootLView,i=Hf(o,r[le],r,e,n);this.previousInputValues.set(e,n);let s=Mo(o.index,r);Uf(s,1)}get injector(){return new zo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function WT(t,e,n){let o=t.projection=[];for(let r=0;r<e.length;r++){let i=n[r];o.push(i!=null&&i.length?Array.from(i):null)}}var Al=(()=>{class t{static __NG_ELEMENT_ID__=YT}return t})();function YT(){let t=Qn();return o_(t,Ze())}var Jp=class t extends Al{_lContainer;_hostTNode;_hostLView;constructor(e,n,o){super(),this._lContainer=e,this._hostTNode=n,this._hostLView=o}get element(){return Ji(this._hostTNode,this._hostLView)}get injector(){return new zo(this._hostTNode,this._hostLView)}get parentInjector(){let e=vf(this._hostTNode,this._hostLView);if(jy(e)){let n=pl(e,this._hostLView),o=ul(e),r=n[le].data[o+8];return new zo(r,n)}else return new zo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let n=Sy(this._lContainer);return n!==null&&n[e]||null}get length(){return this._lContainer.length-Ft}createEmbeddedView(e,n,o){let r,i,s;typeof o=="number"?r=o:o!=null&&(r=o.index,i=o.injector,s=o.onError);let a=Qp(this._lContainer,e.ssrId),c=e.createEmbeddedViewImpl(n||{},i,a);return s&&(c._lView[zs]=s),this.insertImpl(c,r,ta(this._hostTNode,a)),c}createComponent(e,n,o,r,i,s,a){let c,l,d=n||{};c=d.index,o=d.injector,r=d.projectableNodes,i=d.environmentInjector||d.ngModuleRef,s=d.directives,a=d.bindings,l=d.onError;let f=new ia(qr(e)),g=o||this.parentInjector;if(!i&&f.ngModule==null){let G=this.parentInjector.get(lo,null);G&&(i=G)}let y=qr(f.componentType??{}),b=Qp(this._lContainer,y?.id??null),C=b?.firstChild??null,O=f.create(g,r,C,i,s,a,this._getHostElementNamespace());return l&&(O.hostView._lView[zs]=l),this.insertImpl(O.hostView,c,ta(this._hostTNode,b)),O}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[wn];return e!==null&&e.type&2&&typeof e.value=="string"&&e.value.toLowerCase()==="foreignobject"?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,n){return this.insertImpl(e,n,!0)}insertImpl(e,n,o){let r=e._lView;if(bg(r)){let a=this.indexOf(e);if(a!==-1)this.detach(a);else{let c=r[Ht],l=new t(c,c[wn],c[Ht]);l.detach(l.indexOf(e))}}let i=this._adjustIndex(n),s=this._lContainer;return Ol(s,r,i,o),e.attachToViewContainerRef(),Ju(Np(s),i,e),e}move(e,n){return this.insert(e,n)}indexOf(e){let n=Sy(this._lContainer);return n!==null?n.indexOf(e):-1}remove(e){let n=this._adjustIndex(e,-1),o=oa(this._lContainer,n);o&&($s(Np(this._lContainer),n),Il(o[le],o))}detach(e){let n=this._adjustIndex(e,-1),o=oa(this._lContainer,n);return o&&$s(Np(this._lContainer),n)!=null?new Ki(o):null}_adjustIndex(e,n=0){return e??this.length+n}};function Sy(t){return t[qs]}function Np(t){return t[qs]||(t[qs]=[])}function o_(t,e){let n,o=e[t.index];return Zn(o)?n=o:(n=Hv(o,e,null,t),e[t.index]=n,Vf(e,n)),KT(n,e,t,o),new Jp(n,t,e)}function ZT(t,e){let n=t[Nt],o=n.createComment(""),r=Kn(e,t),i=n.parentNode(r);return oi(n,i,o,n.nextSibling(r),!1),o}var KT=JT,QT=()=>!1;function XT(t,e,n){return QT(t,e,n)}function JT(t,e,n,o){if(t[Kr])return;let r;n.type&8?r=dn(o):r=ZT(e,n),t[Kr]=r}var ef=class t{queryList;matches=null;constructor(e){this.queryList=e}clone(){return new t(this.queryList)}setDirty(){this.queryList.setDirty()}},tf=class t{queries;constructor(e=[]){this.queries=e}createEmbeddedView(e){let n=e.queries;if(n!==null){let o=e.contentQueries!==null?e.contentQueries[0]:n.length,r=[];for(let i=0;i<o;i++){let s=n.getByIndex(i),a=this.queries[s.indexInDeclarationView];r.push(a.clone())}return new t(r)}return null}insertView(e){this.dirtyQueriesWithMatches(e)}detachView(e){this.dirtyQueriesWithMatches(e)}finishViewCreation(e){this.dirtyQueriesWithMatches(e)}dirtyQueriesWithMatches(e){for(let n=0;n<this.queries.length;n++)s_(e,n).matches!==null&&this.queries[n].setDirty()}},nf=class{flags;read;predicate;constructor(e,n,o=null){this.flags=n,this.read=o,typeof e=="string"?this.predicate=s1(e):this.predicate=e}},of=class t{queries;constructor(e=[]){this.queries=e}elementStart(e,n){for(let o=0;o<this.queries.length;o++)this.queries[o].elementStart(e,n)}elementEnd(e){for(let n=0;n<this.queries.length;n++)this.queries[n].elementEnd(e)}embeddedTView(e){let n=null;for(let o=0;o<this.length;o++){let r=n!==null?n.length:0,i=this.getByIndex(o).embeddedTView(e,r);i&&(i.indexInDeclarationView=o,n!==null?n.push(i):n=[i])}return n!==null?new t(n):null}template(e,n){for(let o=0;o<this.queries.length;o++)this.queries[o].template(e,n)}getByIndex(e){return this.queries[e]}get length(){return this.queries.length}track(e){this.queries.push(e)}},rf=class t{metadata;matches=null;indexInDeclarationView=-1;crossesNgTemplate=!1;_declarationNodeIndex;_appliesToNextNode=!0;constructor(e,n=-1){this.metadata=e,this._declarationNodeIndex=n}elementStart(e,n){this.isApplyingToNode(n)&&this.matchTNode(e,n)}elementEnd(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}template(e,n){this.elementStart(e,n)}embeddedTView(e,n){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,n),new t(this.metadata)):null}isApplyingToNode(e){if(this._appliesToNextNode&&(this.metadata.flags&1)!==1){let n=this._declarationNodeIndex,o=e.parent;for(;o!==null&&o.type&8&&o.index!==n;)o=o.parent;return n===(o!==null?o.index:-1)}return this._appliesToNextNode}matchTNode(e,n){let o=this.metadata.predicate;if(Array.isArray(o))for(let r=0;r<o.length;r++){let i=o[r];this.matchTNodeWithReadOption(e,n,e1(n,i)),this.matchTNodeWithReadOption(e,n,cl(n,e,i,!1,!1))}else o===ra?n.type&4&&this.matchTNodeWithReadOption(e,n,-1):this.matchTNodeWithReadOption(e,n,cl(n,e,o,!1,!1))}matchTNodeWithReadOption(e,n,o){if(o!==null){let r=this.metadata.read;if(r!==null)if(r===Zt||r===Al||r===Gn||r===ra&&n.type&4)this.addMatch(n.index,-2);else{let i=cl(n,e,r,!1,!1);i!==null&&this.addMatch(n.index,i)}else this.addMatch(n.index,o)}}addMatch(e,n){this.matches===null?this.matches=[e,n]:this.matches.push(e,n)}};function e1(t,e){let n=t.localNames;if(n!==null){for(let o=0;o<n.length;o+=2)if(n[o]===e)return n[o+1]}return null}function t1(t,e){return t.type&11?Ji(t,e):t.type&4?zf(t,e):null}function n1(t,e,n,o){return n===-1?t1(e,t):n===-2?o1(t,e,o):fl(t,t[le],n,e)}function o1(t,e,n){if(n===Zt)return Ji(e,t);if(n===ra)return zf(e,t);if(n===Al)return o_(e,t);if(n===Gn)return new zo(e,t)}function r_(t,e,n,o){let r=e[To].queries[o];if(r.matches===null){let i=t.data,s=n.matches,a=[];for(let c=0;s!==null&&c<s.length;c+=2){let l=s[c];if(l<0)a.push(null);else{let d=i[l];a.push(n1(e,d,s[c+1],n.metadata.read))}}r.matches=a}return r.matches}function sf(t,e,n,o){let r=t.queries.getByIndex(n),i=r.matches;if(i!==null){let s=r_(t,e,r,n);for(let a=0;a<i.length;a+=2){let c=i[a];if(c>0)o.push(s[a/2]);else{let l=i[a+1],d=e[-c];for(let f=Ft;f<d.length;f++){let g=d[f];g[ur]===g[Ht]&&sf(g[le],g,l,o)}if(d[Qr]!==null){let f=d[Qr];for(let g=0;g<f.length;g++){let y=f[g];sf(y[le],y,l,o)}}}}}return o}function i_(t,e){return t[To].queries[e].queryList}function r1(t,e,n){let o=new ml((n&4)===4);return Cg(t,e,o,o.destroy),(e[To]??=new tf).queries.push(new ef(o))-1}function i1(t,e,n){let o=bn();return o.firstCreatePass&&(a1(o,new nf(t,e,n),-1),(e&2)===2&&(o.staticViewQueries=!0)),r1(o,Ze(),e)}function s1(t){return t.split(",").map(e=>e.trim())}function a1(t,e,n){t.queries===null&&(t.queries=new of),t.queries.track(new rf(e,n))}function s_(t,e){return t.queries.getByIndex(e)}function c1(t,e){let n=t[le],o=s_(n,e);return o.crossesNgTemplate?sf(n,t,e,[]):r_(n,t,o,e)}function qf(t,e,n){let o,r=Ds(()=>{o._dirtyCounter();let i=d1(o,t);if(e&&i===void 0)throw new Te(-951,!1);return i});return o=r[cn],o._dirtyCounter=R(0),o._flatValue=void 0,r}function a_(t){return qf(!0,!1,t)}function c_(t){return qf(!0,!0,t)}function l_(t){return qf(!1,!1,t)}function l1(t,e){let n=t[cn];n._lView=Ze(),n._queryIndex=e,n._queryList=i_(n._lView,e),n._queryList.onDirty(()=>n._dirtyCounter.update(o=>o+1))}function d1(t,e){let n=t._lView,o=t._queryIndex;if(n===void 0||o===void 0||n[ge]&4)return e?void 0:co;let r=i_(n,o),i=c1(n,o);return r.reset(i,xw),e?r.first:r._changesDetected||t._flatValue===void 0?t._flatValue=r.toArray():t._flatValue}function Gf(t){return!!t&&typeof t.then=="function"}function d_(t){return!!t&&typeof t.subscribe=="function"}var _l=class{};var sa=class extends _l{injector;instance=null;constructor(e){super();let n=new Br([...e.providers,{provide:_l,useValue:this}],e.parent||Bs(),e.debugName,new Set(["environment"]));this.injector=n,e.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function u_(t,e,n=null){return new sa({providers:t,parent:e,debugName:n,runEnvironmentInitializers:!0}).injector}var u1=(()=>{class t{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let o=tp(!1,n.type),r=o.length>0?u_([o],this._injector,""):null;this.cachedInjectors.set(n,r)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=Re({token:t,providedIn:"environment",factory:()=>new t(lt(lo))})}return t})();function fe(t){return yf(()=>{let e=p_(t),n=Q(H({},e),{decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection!==_f.Eager,directiveDefs:null,pipeDefs:null,dependencies:e.standalone&&t.dependencies||null,getStandaloneInjector:e.standalone?r=>r.get(u1).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||go.Emulated,styles:t.styles||co,_:null,schemas:t.schemas||null,tView:null,id:""});e.standalone&&ii("NgStandalone"),f_(n);let o=t.dependencies;return n.directiveDefs=Ty(o,p1),n.pipeDefs=Ty(o,rg),n.id=h1(n),n})}function p1(t){return qr(t)||Dc(t)}function f1(t,e){if(t==null)return Lc;let n={};for(let o in t)if(Object.hasOwn(t,o)){let r=t[o],i,s,a,c;Array.isArray(r)?(a=r[0],i=r[1],s=r[2]??i,c=r[3]||null):(i=r,s=r,a=Nl.None,c=null),n[i]=[o,a,c],e[i]=s}return n}function m1(t){if(t==null)return Lc;let e={};for(let n in t)Object.hasOwn(t,n)&&(e[t[n]]=n);return e}function da(t){return yf(()=>{let e=p_(t);return f_(e),e})}function p_(t){let e={};return{type:t.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputConfig:t.inputs||Lc,exportAs:t.exportAs||null,standalone:t.standalone??!0,signals:t.signals===!0,selectors:t.selectors||co,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:f1(t.inputs,e),outputs:m1(t.outputs),debugInfo:null}}function f_(t){t.features?.forEach(e=>e(t))}function Ty(t,e){return t?()=>{let n=typeof t=="function"?t():t,o=[];for(let r of n){let i=e(r);i!==null&&o.push(i)}return o}:null}function h1(t){let e=0,n=typeof t.consts=="function"?"":t.consts,o=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,n,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery];for(let i of o.join("|"))e=Math.imul(31,e)+i.charCodeAt(0)<<0;return e+=2147483648,"c"+e}var m_=new Ue("");var Wf=(()=>{class t{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,o)=>{this.resolve=n,this.reject=o});appInits=N(m_,{optional:!0})??[];injector=N(Gn);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let r of this.appInits){let i=jc(this.injector,r);if(Gf(i))n.push(i);else if(d_(i)){let s=new Promise((a,c)=>{i.subscribe({complete:a,error:c})});n.push(s)}}let o=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{o()}).catch(r=>{this.reject(r)}),n.length===0&&o(),this.initialized=!0}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function g1(t,e,n,o,r,i,s,a){if(n.firstCreatePass){t.mergedAttrs=wl(t.mergedAttrs,t.attrs);let d=t.tView=Ff(2,t,r,i,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,t),d.queries=n.queries.embeddedTView(t))}a&&(t.flags|=a),zi(t,!1);let c=y1(n,e,t,o);Qc()&&Rf(n,e,c,t),Zi(c,e);let l=Hv(c,e,c,t);e[o+ln]=l,Vf(e,l),XT(l,t,e)}function bl(t,e,n,o,r,i,s,a,c,l,d){let f=n+ln,g;if(e.firstCreatePass){if(g=Pl(e,f,4,s||null,a||null),l!=null){let y=Io(e.consts,l);g.localNames=[];for(let b=0;b<y.length;b+=2)g.localNames.push(y[b],-1)}}else g=e.data[f];return g1(g,t,e,n,o,r,i,c),l!=null&&$f(t,g,d),g}var y1=v1;function v1(t,e,n,o){return Xc(!0),e[Nt].createComment("")}var Yf=new Ue("");var Zf=new Ue("");function h_(){gu(t=>{let e="";throw new Te(-600,e)})}var _1=10;var ua=(()=>{class t{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=N(ni);afterRenderManager=N(Pf);zonelessEnabled=N(Qs);rootEffectScheduler=N(tl);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new qn;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=N(qi);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(ku(n=>!n))}constructor(){N(Ko,{optional:!0})}whenStable(){let n;return new Promise(o=>{n=this.isStable.subscribe({next:r=>{r&&o()}})}).finally(()=>{n.unsubscribe()})}_injector=N(lo);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,o){return this.bootstrapImpl(n,o)}bootstrapImpl(n,o,r=Gn.NULL){return this._injector.get(Cn).run(()=>{if(pt(ot.BootstrapComponentStart),!this._injector.get(Wf).done){let Y="";throw new Te(405,Y)}let a=qr(n),c=this._injector.get(_l),l=new ia(a,c);this.componentTypes.push(n);let{hostElement:d,directives:f,bindings:g}=b1(o),y=d||l.selector,b=l.create(r,[],y,c.injector,f,g),C=b.location.nativeElement,O=b.injector.get(Yf,null);return O?.registerApplication(C),b.onDestroy(()=>{this.detachView(b.hostView),Js(this.components,b),O?.unregisterApplication(C)}),this._loadComponent(b),pt(ot.BootstrapComponentEnd,b),b})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){pt(ot.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(Ml.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw pt(ot.ChangeDetectionEnd),new Te(101,!1);let n=ae(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,ae(n),this.afterTick.next(),pt(ot.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Wo,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++<_1;){pt(ot.ChangeDetectionSyncStart);try{this.synchronizeOnce()}finally{pt(ot.ChangeDetectionSyncEnd)}}}synchronizeOnce(){this.dirtyFlags&16&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let n=!1;if(this.dirtyFlags&7){let o=!!(this.dirtyFlags&1);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:r}of this.allViews){if(!o&&!Gs(r))continue;let i=o&&!this.zonelessEnabled?0:1;Fv(r,i),n=!0}if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),this.dirtyFlags&23)return}n||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),this.dirtyFlags&8&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){if(this.allViews.some(({_lView:n})=>Gs(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let o=n;this._views.push(o),o.attachToAppRef(this)}detachView(n){let o=n;Js(this._views,o),o.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(r){this.internalErrorHandler(r)}this.components.push(n),this._injector.get(Zf,[]).forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Js(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Te(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function b1(t){return t===void 0||typeof t=="string"||t instanceof Element?{hostElement:t}:t}function Js(t,e){let n=t.indexOf(e);n>-1&&t.splice(n,1)}function we(t,e,n,o){let r=Ze(),i=ti();if(No(r,i,e)){let s=bn(),a=Ws();WS(a,r,t,e,n,o)}return we}var af=class{destroy(e){}updateValue(e,n){}swap(e,n){let o=Math.min(e,n),r=Math.max(e,n),i=this.detach(r);if(r-o>1){let s=this.detach(o);this.attach(o,i),this.attach(r,s)}else this.attach(o,i)}move(e,n){this.attach(n,this.detach(e))}};function Dp(t,e,n,o,r){return t===n&&Object.is(e,o)?1:Object.is(r(t,e),r(n,o))?-1:0}function x1(t,e,n,o){let r,i,s=0,a=t.length-1,c=void 0;if(Array.isArray(e)){ae(o);let l=e.length-1;for(ae(null);s<=a&&s<=l;){let d=t.at(s),f=e[s],g=Dp(s,d,s,f,n);if(g!==0){g<0&&t.updateValue(s,f),s++;continue}let y=t.at(a),b=e[l],C=Dp(a,y,l,b,n);if(C!==0){C<0&&t.updateValue(a,b),a--,l--;continue}let O=n(s,d),Y=n(a,y),G=n(s,f);if(Object.is(G,Y)){let ye=n(l,b);Object.is(ye,O)?(t.swap(s,a),t.updateValue(a,b),l--,a--):t.move(a,s),t.updateValue(s,f),s++;continue}if(r??=new xl,i??=Iy(t,s,a,n),cf(t,r,s,G))t.updateValue(s,f),s++,a++;else if(i.has(G))r.set(O,t.detach(s)),a--;else{let ye=t.create(s,e[s]);t.attach(s,ye),s++,a++}}for(;s<=l;)My(t,r,n,s,e[s]),s++}else if(e!=null){ae(o);let l=e[Symbol.iterator]();ae(null);let d=l.next();for(;!d.done&&s<=a;){let f=t.at(s),g=d.value,y=Dp(s,f,s,g,n);if(y!==0)y<0&&t.updateValue(s,g),s++,d=l.next();else{r??=new xl,i??=Iy(t,s,a,n);let b=n(s,g);if(cf(t,r,s,b))t.updateValue(s,g),s++,a++,d=l.next();else if(!i.has(b))t.attach(s,t.create(s,g)),s++,a++,d=l.next();else{let C=n(s,f);r.set(C,t.detach(s)),a--}}}for(;!d.done;)My(t,r,n,t.length,d.value),d=l.next()}for(;s<=a;)t.destroy(t.detach(a--));r?.forEach(l=>{t.destroy(l)})}function cf(t,e,n,o){return e!==void 0&&e.has(o)?(t.attach(n,e.get(o)),e.delete(o),!0):!1}function My(t,e,n,o,r){if(cf(t,e,o,n(o,r)))t.updateValue(o,r);else{let i=t.create(o,r);t.attach(o,i)}}function Iy(t,e,n,o){let r=new Set;for(let i=e;i<=n;i++)r.add(o(i,t.at(i)));return r}var xl=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let n=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(e,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,n){if(this.kvMap.has(e)){let o=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(o);)o=r.get(o);r.set(o,n)}else this.kvMap.set(e,n)}forEach(e){for(let[n,o]of this.kvMap)if(e(o,n),this._vMap!==void 0){let r=this._vMap;for(;r.has(o);)o=r.get(o),e(o,n)}}};function T(t,e,n,o,r,i,s,a){ii("NgControlFlow");let c=Ze(),l=bn(),d=Io(l.consts,i);return bl(c,l,t,e,n,o,r,d,256,s,a),Kf}function Kf(t,e,n,o,r,i,s,a){return ii("NgControlFlow"),E1(t,e,n,o,r,i,s,a),Kf}function E1(t,e,n,o,r,i,s,a){let c=Ze(),l=bn(),d=Io(l.consts,i);bl(c,l,t,e,n,o,r,d,512,s,a)}function M(t,e){ii("NgControlFlow");let n=Ze(),o=ti(),r=n[o]!==Tn?n[o]:-1,i=r!==-1?El(n,ln+r):void 0,s=0;if(No(n,o,t)){let a=ae(null);try{if(i!==void 0&&Uv(i,s),t!==-1){let c=ln+t,l=El(n,c),d=pf(n[le],c),f=qv(l,d,n),g=Dl(n,d,e,{dehydratedView:f});Ol(l,g,s,ta(d,f))}}finally{ae(a)}}else if(i!==void 0){let a=Bv(i,s);a!==void 0&&(a[Lt]=e)}}var lf=class{lContainer;$implicit;$index;constructor(e,n,o){this.lContainer=e,this.$implicit=n,this.$index=o}get $count(){return this.lContainer.length-Ft}};function es(t){return t}function ci(t,e){return e}var df=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,n,o){this.hasEmptyBlock=e,this.trackByFn=n,this.liveCollection=o}};function xe(t,e,n,o,r,i,s,a,c,l,d,f,g){ii("NgControlFlow");let y=Ze(),b=bn(),C=c!==void 0,O=Ze(),Y=a?s.bind(O[An][Lt]):s,G=new df(C,Y);O[ln+t]=G,bl(y,b,t+1,e,n,o,r,Io(b.consts,i),256),C&&bl(y,b,t+2,c,l,d,f,Io(b.consts,g),512)}var uf=class extends af{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,n,o){super(),this.lContainer=e,this.hostLView=n,this.templateTNode=o}get length(){return this.lContainer.length-Ft}at(e){return this.getLView(e)[Lt].$implicit}attach(e,n){let o=n[$i];this.needsIndexUpdate||=e!==this.length,Ol(this.lContainer,n,e,ta(this.templateTNode,o)),C1(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,w1(this.lContainer,e),S1(this.lContainer,e)}create(e,n){let o=Qp(this.lContainer,this.templateTNode.tView.ssrId);return Dl(this.hostLView,this.templateTNode,new lf(this.lContainer,n,e),{dehydratedView:o})}destroy(e){Il(e[le],e)}updateValue(e,n){this.getLView(e)[Lt].$implicit=n}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e<this.length;e++)this.getLView(e)[Lt].$index=e}getLView(e){return T1(this.lContainer,e)}};function Ee(t){let e=ae(null),n=fo();try{let o=Ze(),r=o[le],i=o[n],s=n+1,a=El(o,s);if(i.liveCollection===void 0){let l=pf(r,s);i.liveCollection=new uf(a,o,l)}else i.liveCollection.reset();let c=i.liveCollection;if(x1(c,t,i.trackByFn,e),c.updateIndexes(),i.hasEmptyBlock){let l=ti(),d=c.length===0;if(No(o,l,d)){let f=n+2,g=El(o,f);if(d){let y=pf(r,f),b=qv(g,y,o),C=Dl(o,y,void 0,{dehydratedView:b});Ol(g,C,0,ta(y,b))}else r.firstUpdatePass&&yT(g),Uv(g,0)}}}finally{ae(e)}}function El(t,e){return t[e]}function C1(t,e){if(t.length<=Ft)return;let n=Ft+e,o=t[n];o&&_S(o)}function w1(t,e){if(t.length<=Ft)return;let n=Ft+e,o=t[n];o&&vS(o)}function S1(t,e){return oa(t,e)}function T1(t,e){return Bv(t,e)}function pf(t,e){return Bc(t,e)}function K(t,e,n){let o=Ze(),r=ti();if(No(o,r,e)){let i=bn(),s=Ws();HS(s,o,t,e,o[Nt],n)}return K}function ff(t,e,n,o,r){Hf(e,t,n,r?"class":"style",o)}function _(t,e,n,o){let r=Ze(),i=r[le],s=t+ln,a=i.firstCreatePass?Jv(s,r,2,e,GS,Tg(),n,o):i.data[s];if(fr(a)){let c=r[po].tracingService;if(c&&c.componentCreate){let l=i.data[a.directiveStart+a.componentOffset];return c.componentCreate(Yv(l),()=>(ky(t,e,r,a,o),_))}}return ky(t,e,r,a,o),_}function ky(t,e,n,o,r){if(Nv(o,n,t,e,g_),$c(o)){let i=n[le];Iv(i,n,o),iv(i,o,n)}r!=null&&$f(n,o)}function E(){let t=bn(),e=Qn(),n=Dv(e);return t.firstCreatePass&&e_(t,n),fp(n)&&mp(),pp(),n.classesWithoutHost!=null&&sw(n)&&ff(t,n,Ze(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&aw(n)&&ff(t,n,Ze(),n.stylesWithoutHost,!1),E}function Le(t,e,n,o){return _(t,e,n,o),E(),Le}function v(t,e,n,o){let r=Ze(),i=r[le],s=t+ln,a=i.firstCreatePass?LT(s,i,2,e,n,o):i.data[s];return Nv(a,r,t,e,g_),o!=null&&$f(r,a),v}function x(){let t=Qn(),e=Dv(t);return fp(e)&&mp(),pp(),x}function ze(t,e,n,o){return v(t,e,n,o),x(),ze}var g_=(t,e,n,o,r)=>(Xc(!0),pv(e[Nt],o,bp()));function z(){return Ze()}function Fe(t,e,n){let o=Ze(),r=ti();if(No(o,r,e)){let i=bn(),s=Ws();kv(s,o,t,e,o[Nt],n)}return Fe}var pa="en-US";var M1=pa;function y_(t){typeof t=="string"&&(M1=t.toLowerCase().replace(/_/g,"-"))}function L(t,e,n){let o=Ze(),r=bn(),i=Qn();return I1(r,o,o[Nt],i,t,e,n),L}function q(t,e,n){let o=Ze(),r=bn(),i=Qn();return(i.type&3||n)&&Zv(i,r,o,n,o[Nt],t,e,dl(i,o,e)),q}function I1(t,e,n,o,r,i,s){let a=!0,c=null;if((o.type&3||s)&&(c??=dl(o,e,i),Zv(o,t,e,s,n,r,i,c)&&(a=!1)),a){let l=o.outputs?.[r],d=o.hostDirectiveOutputs?.[r];if(d&&d.length)for(let f=0;f<d.length;f+=2){let g=d[f],y=d[f+1];c??=dl(o,e,i),by(o,e,g,y,r,c)}if(l&&l.length)for(let f of l)c??=dl(o,e,i),by(o,e,f,r,r,c)}}function h(t=1){return Hg(t)}function vt(t,e,n,o){return l1(t,i1(e,n,o)),vt}function bt(t=1){Yc(Fg()+t)}function il(t,e){return t<<17|e<<2}function ri(t){return t>>17&32767}function k1(t){return(t&2)==2}function N1(t,e){return t&131071|e<<17}function mf(t){return t|2}function Qi(t){return(t&131068)>>2}function Op(t,e){return t&-131069|e<<2}function D1(t){return(t&1)===1}function hf(t){return t|1}function O1(t,e,n,o,r,i){let s=i?e.classBindings:e.styleBindings,a=ri(s),c=Qi(s);t[o]=n;let l=!1,d;if(Array.isArray(n)){let f=n;d=f[1],(d===null||ji(f,d)>0)&&(l=!0)}else d=n;if(r)if(c!==0){let g=ri(t[a+1]);t[o+1]=il(g,a),g!==0&&(t[g+1]=Op(t[g+1],o)),t[a+1]=N1(t[a+1],o)}else t[o+1]=il(a,0),a!==0&&(t[a+1]=Op(t[a+1],o)),a=o;else t[o+1]=il(c,0),a===0?a=o:t[c+1]=Op(t[c+1],o),c=o;l&&(t[o+1]=mf(t[o+1])),Ny(t,d,o,!0),Ny(t,d,o,!1),P1(e,d,t,o,i),s=il(a,c),i?e.classBindings=s:e.styleBindings=s}function P1(t,e,n,o,r){let i=r?t.residualClasses:t.residualStyles;i!=null&&typeof e=="string"&&ji(i,e)>=0&&(n[o+1]=hf(n[o+1]))}function Ny(t,e,n,o){let r=t[n+1],i=e===null,s=o?ri(r):Qi(r),a=!1;for(;s!==0&&(a===!1||i);){let c=t[s],l=t[s+1];A1(c,e)&&(a=!0,t[s+1]=o?hf(l):mf(l)),s=o?ri(l):Qi(l)}a&&(t[n+1]=o?mf(r):hf(r))}function A1(t,e){return t===null||e==null||(Array.isArray(t)?t[1]:t)===e?!0:Array.isArray(t)&&typeof e=="string"?ji(t,e)>=0:!1}var ho={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function R1(t){return t.substring(ho.key,ho.keyEnd)}function L1(t){return F1(t),v_(t,__(t,0,ho.textEnd))}function v_(t,e){let n=ho.textEnd;return n===e?-1:(e=ho.keyEnd=j1(t,ho.key=e,n),__(t,e,n))}function F1(t){ho.key=0,ho.keyEnd=0,ho.value=0,ho.valueEnd=0,ho.textEnd=t.length}function __(t,e,n){for(;e<n&&t.charCodeAt(e)<=32;)e++;return e}function j1(t,e,n){for(;e<n&&t.charCodeAt(e)>32;)e++;return e}function Do(t,e,n){return b_(t,e,n,!1),Do}function De(t,e){return b_(t,e,null,!0),De}function Qo(t){$1(G1,V1,t,!0)}function V1(t,e){for(let n=L1(e);n>=0;n=v_(e,n))Ac(t,R1(e),!0)}function b_(t,e,n,o){let r=Ze(),i=bn(),s=Gc(2);if(i.firstUpdatePass&&E_(i,t,s,o),e!==Tn&&No(r,s,e)){let a=i.data[fo()];C_(i,a,r,r[Nt],t,r[s+1]=Y1(e,n),o,s)}}function $1(t,e,n,o){let r=bn(),i=Gc(2);r.firstUpdatePass&&E_(r,null,i,o);let s=Ze();if(n!==Tn&&No(s,i,n)){let a=r.data[fo()];if(w_(a,o)&&!x_(r,i)){let c=o?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(n=Mc(c,n||"")),ff(r,a,s,n,o)}else W1(r,a,s,s[Nt],s[i+1],s[i+1]=q1(t,e,n),o,i)}}function x_(t,e){return e>=t.expandoStartIndex}function E_(t,e,n,o){let r=t.data;if(r[n+1]===null){let i=r[fo()],s=x_(t,n);w_(i,o)&&e===null&&!s&&(e=!1),e=H1(r,i,e,o),O1(r,i,e,n,s,o)}}function H1(t,e,n,o){let r=Lg(t),i=o?e.residualClasses:e.residualStyles;if(r===null)(o?e.classBindings:e.styleBindings)===0&&(n=Pp(null,t,e,n,o),n=aa(n,e.attrs,o),i=null);else{let s=e.directiveStylingLast;if(s===-1||t[s]!==r)if(n=Pp(r,t,e,n,o),i===null){let c=B1(t,e,o);c!==void 0&&Array.isArray(c)&&(c=Pp(null,t,e,c[1],o),c=aa(c,e.attrs,o),U1(t,e,o,c))}else i=z1(t,e,o)}return i!==void 0&&(o?e.residualClasses=i:e.residualStyles=i),n}function B1(t,e,n){let o=n?e.classBindings:e.styleBindings;if(Qi(o)!==0)return t[ri(o)]}function U1(t,e,n,o){let r=n?e.classBindings:e.styleBindings;t[ri(r)]=o}function z1(t,e,n){let o,r=e.directiveEnd;for(let i=1+e.directiveStylingLast;i<r;i++){let s=t[i].hostAttrs;o=aa(o,s,n)}return aa(o,e.attrs,n)}function Pp(t,e,n,o,r){let i=null,s=n.directiveEnd,a=n.directiveStylingLast;for(a===-1?a=n.directiveStart:a++;a<s&&(i=e[a],o=aa(o,i.hostAttrs,r),i!==t);)a++;return t!==null&&(n.directiveStylingLast=a),o}function aa(t,e,n){let o=n?1:2,r=-1;if(e!==null)for(let i=0;i<e.length;i++){let s=e[i];typeof s=="number"?r=s:r===o&&(Array.isArray(t)||(t=t===void 0?[]:["",t]),Ac(t,s,n?!0:e[++i]))}return t===void 0?null:t}function q1(t,e,n){if(n==null||n==="")return co;let o=[],r=Xn(n);if(Array.isArray(r))for(let i=0;i<r.length;i++)t(o,r[i],!0);else if(r instanceof Set)for(let i of r)t(o,i,!0);else if(typeof r=="object")for(let i in r)Object.hasOwn(r,i)&&t(o,i,r[i]);else typeof r=="string"&&e(o,r);return o}function G1(t,e,n){let o=String(e);o!==""&&!o.includes(" ")&&Ac(t,o,n)}function W1(t,e,n,o,r,i,s,a){r===Tn&&(r=co);let c=0,l=0,d=0<r.length?r[0]:null,f=0<i.length?i[0]:null;for(;d!==null||f!==null;){let g=c<r.length?r[c+1]:void 0,y=l<i.length?i[l+1]:void 0,b=null,C;d===f?(c+=2,l+=2,g!==y&&(b=f,C=y)):f===null||d!==null&&d<f?(c+=2,b=d):(l+=2,b=f,C=y),b!==null&&C_(t,e,n,o,b,C,s,a),d=c<r.length?r[c]:null,f=l<i.length?i[l]:null}}function C_(t,e,n,o,r,i,s,a){if(!(e.type&3))return;let c=t.data,l=c[a+1],d=D1(l)?Dy(c,e,n,r,Qi(l),s):void 0;if(!Cl(d)){Cl(i)||k1(l)&&(i=Dy(c,null,n,r,a,s));let f=ap(fo(),n);PS(o,s,f,r,i)}}function Dy(t,e,n,o,r,i){let s=e===null,a;for(;r>0;){let c=t[r],l=Array.isArray(c),d=l?c[1]:c,f=d===null,g=n[r+1];g===Tn&&(g=f?co:void 0);let y=f?Rc(g,o):d===o?g:void 0;if(l&&!Cl(y)&&(y=Rc(c,o)),Cl(y)&&(a=y,s))return a;let b=t[r+1];r=s?ri(b):Qi(b)}if(e!==null){let c=i?e.residualClasses:e.residualStyles;c!=null&&(a=Rc(c,o))}return a}function Cl(t){return t!==void 0}function Y1(t,e){return t==null||t===""||(typeof e=="string"?t=Xn(t)+e:typeof t=="object"&&(t=Tc(Xn(t)))),t}function w_(t,e){return(t.flags&(e?8:16))!==0}function u(t,e=""){let n=Ze(),o=bn(),r=t+ln,i=o.firstCreatePass?Pl(o,r,1,e,null):o.data[r],s=Z1(o,n,i,e);n[r]=s,Qc()&&Rf(o,n,s,i),zi(i,!1)}var Z1=(t,e,n,o)=>(Xc(!0),Zw(e[Nt],o));function K1(t,e,n,o=""){return No(t,ti(),n)?e+Gr(n)+o:Tn}function Q1(t,e,n,o,r,i=""){let s=Dg(),a=CT(t,s,n,r);return Gc(2),a?e+Gr(n)+o+Gr(r)+i:Tn}function P(t){return me("",t),P}function me(t,e,n){let o=Ze(),r=K1(o,t,e,n);return r!==Tn&&S_(o,fo(),r),me}function Ln(t,e,n,o,r){let i=Ze(),s=Q1(i,t,e,n,o,r);return s!==Tn&&S_(i,fo(),s),Ln}function S_(t,e,n){let o=ap(e,t);Kw(t[Nt],o,n)}function Rl(t,e){let n=Ng()+t,o=Ze();return o[n]===Tn?xT(o,n,e()):ET(o,n)}var T_=(()=>{class t{applicationErrorHandler=N(ni);appRef=N(ua);taskService=N(qi);ngZone=N(Cn);zonelessEnabled=N(Qs);tracing=N(Ko,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new _n;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(js):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(N(Tp,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let n=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(n);return}this.switchToMicrotaskScheduler(),this.taskService.remove(n)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let n=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})})}notify(n){if(!this.zonelessEnabled&&n===5)return;switch(n){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 o=this.useMicrotaskScheduler?Gg:xp;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>o(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>o(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(js+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 n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(o){this.applicationErrorHandler(o)}finally{this.taskService.remove(n),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();function M_(){return[{provide:cr,useExisting:T_},{provide:Cn,useClass:Vs},{provide:Qs,useValue:!0}]}function X1(){return typeof $localize<"u"&&$localize.locale||pa}var Qf=new Ue("",{factory:()=>N(Qf,{optional:!0,skipSelf:!0})||X1()});var Ll=class{destroyed=!1;listeners=null;errorHandler=N(Wn,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=N(ht);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new Te(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let n=this.listeners?this.listeners.indexOf(e):-1;n>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[n]=null):this.listeners.splice(n,1))}}}emit(e){if(this.destroyed){console.warn(Fi(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let n=ae(null);try{for(let o of this.listeners)try{o!==null&&o(e)}catch(r){this.errorHandler?.handleError(r)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&J1(this.listeners)),ae(n),this.isEmitting=!1}}};function J1(t){let e=t.length-1;for(;e>-1;)t[e]===null&&t.splice(e,1),e--}function S(t,e){return Ds(t,e?.equal)}function fa(t){return jh(t)}var I_=class t extends Error{_brand;constructor(e){super(e)}static IDLE=new t("IDLE");static LOADING=new t("LOADING")};function D_(t,e){let n=Object.create(Ly);n.value=t,n.transformFn=e?.transform;function o(){if(Ar(n),n.value===gf){let r=null;throw new Te(-950,r)}return n.value}return o[cn]=n,o}function rt(t){return new Ll}function k_(t,e){return D_(t,e)}function dM(t){return D_(gf,t)}var ee=(k_.required=dM,k_);function N_(t,e){return a_(e)}function uM(t,e){return c_(e)}var at=(N_.required=uM,N_);function O_(t,e){return l_(e)}var pM=1e4;var w4=pM-1e3;var Xf=new Ue(""),fM=new Ue("");function ma(t){return!t.moduleRef}function mM(t){let e=ma(t)?t.r3Injector:t.moduleRef.injector,n=e.get(Cn);return n.run(()=>{ma(t)?t.r3Injector.resolveInjectorInitializers():t.moduleRef.resolveInjectorInitializers();let o=e.get(ni),r;if(n.runOutsideAngular(()=>{r=n.onError.subscribe({next:o})}),ma(t)){let i=()=>e.destroy(),s=t.platformInjector.get(Xf);s.add(i),e.onDestroy(()=>{r.unsubscribe(),s.delete(i)})}else{let i=()=>t.moduleRef.destroy(),s=t.platformInjector.get(Xf);s.add(i),t.moduleRef.onDestroy(()=>{Js(t.allPlatformModules,t.moduleRef),r.unsubscribe(),s.delete(i)})}return gM(o,n,()=>{let i=e.get(qi),s=i.add(),a=e.get(Wf);return a.runInitializers(),a.donePromise.then(()=>{let c=e.get(Qf,pa);if(y_(c||pa),!e.get(fM,!0))return ma(t)?e.get(ua):(t.allPlatformModules.push(t.moduleRef),t.moduleRef);if(ma(t)){let d=e.get(ua);return t.rootComponent!==void 0&&d.bootstrap(t.rootComponent),d}else return hM?.(t.moduleRef,t.allPlatformModules),t.moduleRef}).finally(()=>{i.remove(s)})})})}var hM;function gM(t,e,n){try{let o=n();return Gf(o)?o.catch(r=>{throw e.runOutsideAngular(()=>t(r)),r}):o}catch(o){throw e.runOutsideAngular(()=>t(o)),o}}var Fl=null;function yM(t=[],e){return Gn.create({name:e,providers:[{provide:Hs,useValue:"platform"},{provide:Xf,useValue:new Set([()=>Fl=null])},...t]})}function vM(t=[]){if(Fl)return Fl;let e=yM(t);return Fl=e,h_(),_M(e),e}function _M(t){let e=t.get(Jc,null);jc(t,()=>{e?.forEach(n=>n())})}function P_(t){let{rootComponent:e,appProviders:n,platformProviders:o,platformRef:r}=t;pt(ot.BootstrapApplicationStart);try{let i=r?.injector??vM(o),s=[M_(),Kg,...n||[]],a=new sa({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return mM({r3Injector:a.injector,platformInjector:i,rootComponent:e})}catch(i){return Promise.reject(i)}finally{pt(ot.BootstrapApplicationEnd)}}var A_=null;function ts(){return A_}function em(t){A_??=t}var ha=class{};function tm(t,e){e=encodeURIComponent(e);for(let n of t.split(";")){let o=n.indexOf("="),[r,i]=o==-1?[n,""]:[n.slice(0,o),n.slice(o+1)];if(r.trim()!==e)continue;let s=i;try{s=decodeURIComponent(i)}catch{}return s.length>1&&s[0]==='"'&&s[s.length-1]==='"'&&(s=s.slice(1,-1)),s}return null}var R_="browser";var ga=class{_doc;constructor(e){this._doc=e}manager},jl=(()=>{class t extends ga{constructor(n){super(n)}supports(n){return!0}addEventListener(n,o,r,i){return n.addEventListener(o,r,i),()=>this.removeEventListener(n,o,r,i)}removeEventListener(n,o,r,i){return n.removeEventListener(o,r,i)}static \u0275fac=function(o){return new(o||t)(lt(xn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),Hl=new Ue(""),im=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(n,o){this._zone=o,n.forEach(s=>{s.manager=this});let r=n.filter(s=>!(s instanceof jl));this._plugins=r.slice().reverse();let i=n.find(s=>s instanceof jl);i&&this._plugins.push(i)}addEventListener(n,o,r,i){return this._findPluginFor(o).addEventListener(n,o,r,i)}getZone(){return this._zone}_findPluginFor(n){let o=this._eventNameToPlugin.get(n);if(o)return o;if(o=this._plugins.find(i=>i.supports(n)),!o)throw new Te(-5101,!1);return this._eventNameToPlugin.set(n,o),o}static \u0275fac=function(o){return new(o||t)(lt(Hl),lt(Cn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),nm="ng-app-id";function L_(t){for(let e of t)e.remove()}function F_(t,e){let n=e.createElement("style");return n.textContent=t,n}function bM(t,e,n,o){let r=t.head?.querySelectorAll(`style[${nm}="${e}"],link[${nm}="${e}"]`);if(!r||r.length===0)return!1;for(let i of r)i.removeAttribute(nm),i instanceof HTMLLinkElement?o.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&n.set(i.textContent,{usage:0,elements:[i]});return!0}function rm(t,e){let n=e.createElement("link");return n.setAttribute("rel","stylesheet"),n.setAttribute("href",t),n}var sm=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(n,o,r,i={}){this.doc=n,this.appId=o,this.nonce=r,bM(n,o,this.inline,this.external)&&this.hosts.add(n.head)}addStyles(n,o){for(let r of n)this.addUsage(r,this.inline,F_);o?.forEach(r=>this.addUsage(r,this.external,rm))}removeStyles(n,o){for(let r of n)this.removeUsage(r,this.inline);o?.forEach(r=>this.removeUsage(r,this.external))}addUsage(n,o,r){let i=o.get(n);i?i.usage++:o.set(n,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,r(n,this.doc)))})}removeUsage(n,o){let r=o.get(n);r&&(r.usage--,r.usage<=0&&(L_(r.elements),o.delete(n)))}ngOnDestroy(){for(let[,{elements:n}]of[...this.inline,...this.external])L_(n);this.hosts.clear()}addHost(n){if(!this.hosts.has(n)){this.hosts.add(n);for(let[o,{elements:r}]of this.inline)r.push(this.addElement(n,F_(o,this.doc)));for(let[o,{elements:r}]of this.external)r.push(this.addElement(n,rm(o,this.doc)))}}removeHost(n){this.hosts.delete(n);for(let o of[...this.inline.values(),...this.external.values()]){let r=[];for(let i of o.elements)i.parentNode===n?i.remove():r.push(i);o.elements=r}}addElement(n,o){return this.nonce&&o.setAttribute("nonce",this.nonce),n.appendChild(o)}static \u0275fac=function(o){return new(o||t)(lt(xn),lt(Ys),lt(el,8),lt(Zs))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),om={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"},am=/%COMP%/g;var V_="%COMP%",xM=`_nghost-${V_}`,EM=`_ngcontent-${V_}`,CM=!0,wM=new Ue("",{factory:()=>CM}),SM=new Ue("");function TM(t){return EM.replace(am,t)}function MM(t){return xM.replace(am,t)}function $_(t,e){return e.map(n=>n.replace(am,t))}var cm=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(n,o,r,i,s,a,c=null,l=null,d=null){this.eventManager=n,this.sharedStylesHost=o,this.appId=r,this.removeStylesOnCompDestroy=i,this.doc=s,this.ngZone=a,this.nonce=c,this.tracingService=l,this.cssVarNamespace=d??"",this.defaultRenderer=new ya(n,s,a,this.tracingService,this.cssVarNamespace)}createRenderer(n,o){if(!n||!o)return this.defaultRenderer;let r=this.getOrCreateRenderer(n,o);return r instanceof $l?r.applyToHost(n):r instanceof va&&r.applyStyles(),r}getOrCreateRenderer(n,o){let r=this.rendererByCompId,i=r.get(o.id);if(!i){let s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,f=this.tracingService;switch(o.encapsulation){case go.Emulated:i=new $l(c,l,o,this.appId,d,s,a,f,this.cssVarNamespace);break;case go.ShadowDom:return new Vl(c,n,o,s,a,this.nonce,f,this.cssVarNamespace,l);case go.ExperimentalIsolatedShadowDom:return new Vl(c,n,o,s,a,this.nonce,f,this.cssVarNamespace);default:i=new va(c,l,o,d,s,a,f,this.cssVarNamespace);break}r.set(o.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(n){this.rendererByCompId.delete(n)}static \u0275fac=function(o){return new(o||t)(lt(im),lt(ai),lt(Ys),lt(wM),lt(xn),lt(Cn),lt(el),lt(Ko,8),lt(SM,8))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})(),ya=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,n,o,r,i=""){this.eventManager=e,this.doc=n,this.ngZone=o,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,n){return n?this.doc.createElementNS(om[n]||n,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,n){(j_(e)?e.content:e).appendChild(n)}insertBefore(e,n,o){if(e){let r=j_(e)?e.content:e;if(o!=null&&o.parentNode!==r)throw new Te(-5106,!1);r.insertBefore(n,o)}}removeChild(e,n){n.remove()}selectRootElement(e,n){let o=typeof e=="string"?this.doc.querySelector(e):e;if(!o)throw new Te(-5104,!1);return n||(o.textContent=""),o}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,n,o,r){if(r){n=r+":"+n;let i=om[r];i?e.setAttributeNS(i,n,o):e.setAttribute(n,o)}else e.setAttribute(n,o)}removeAttribute(e,n,o){if(o){let r=om[o];r?e.removeAttributeNS(r,n):e.removeAttribute(`${o}:${n}`)}else e.removeAttribute(n)}addClass(e,n){e.classList.add(n)}removeClass(e,n){e.classList.remove(n)}setStyle(e,n,o,r){let i=n.startsWith("--");i&&(n=n.replace("%NS%",this.cssVarNamespace)),i||r&(Go.DashCase|Go.Important)?e.style.setProperty(n,o,r&Go.Important?"important":""):e.style[n]=o}removeStyle(e,n,o){let r=n.startsWith("--");r&&(n=n.replace("%NS%",this.cssVarNamespace)),r||o&Go.DashCase?e.style.removeProperty(n):e.style[n]=""}setProperty(e,n,o){e!=null&&(e[n]=o)}setValue(e,n){e.nodeValue=n}listen(e,n,o,r){if(typeof e=="string"&&(e=ts().getGlobalEventTarget(this.doc,e),!e))throw new Te(-5102,!1);let i=this.decoratePreventDefault(o);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,n,i)),this.eventManager.addEventListener(e,n,i,r)}decoratePreventDefault(e){return n=>{if(n==="__ngUnwrap__")return e;e(n)===!1&&n.preventDefault()}}};function j_(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var Vl=class extends ya{hostEl;sharedStylesHost;shadowRoot;constructor(e,n,o,r,i,s,a,c,l){super(e,r,i,a,c),this.hostEl=n,this.sharedStylesHost=l,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let d=o.styles;d=$_(o.id,d).map(g=>g.replace(/%NS%/g,c));for(let g of d){let y=document.createElement("style");s&&y.setAttribute("nonce",s),y.textContent=g,this.shadowRoot.appendChild(y)}let f=o.getExternalStyles?.();if(f)for(let g of f){let y=rm(g,r);s&&y.setAttribute("nonce",s),this.shadowRoot.appendChild(y)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,n){return super.appendChild(this.nodeOrShadowRoot(e),n)}insertBefore(e,n,o){return super.insertBefore(this.nodeOrShadowRoot(e),n,o)}removeChild(e,n){return super.removeChild(null,n)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},va=class extends ya{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,n,o,r,i,s,a,c,l){super(e,i,s,a,c),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=r;let d=o.styles,f=l?$_(l,d):d;this.styles=f.map(g=>g.replace(/%NS%/g,c)),this.styleUrls=o.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Of.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},$l=class extends va{contentAttr;hostAttr;constructor(e,n,o,r,i,s,a,c,l){let d=r+"-"+o.id;super(e,n,o,i,s,a,c,l,d),this.contentAttr=TM(d),this.hostAttr=MM(d)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,"")}createElement(e,n){let o=super.createElement(e,n);return super.setAttribute(o,this.contentAttr,""),o}};var Bl=class t extends ha{supportsDOMEvents=!0;static makeCurrent(){em(new t)}onAndCancel(e,n,o,r){return e.addEventListener(n,o,r),()=>{e.removeEventListener(n,o,r)}}dispatchEvent(e,n){e.dispatchEvent(n)}remove(e){e.remove()}createElement(e,n){return n=n||this.getDefaultDocument(),n.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,n){return n==="window"?window:n==="document"?e:n==="body"?e.body:null}getBaseHref(e){let n=IM();return n==null?null:kM(n)}resetBaseElement(){_a=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return tm(document.cookie,e)}},_a=null;function IM(){return _a=_a||document.head.querySelector("base"),_a?_a.getAttribute("href"):null}function kM(t){return new URL(t,document.baseURI).pathname}var H_=["alt","control","meta","shift"],NM={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},DM={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},B_=(()=>{class t extends ga{constructor(n){super(n)}supports(n){return t.parseEventName(n)!=null}addEventListener(n,o,r,i){let s=t.parseEventName(o),a=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ts().onAndCancel(n,s.domEventName,a,i))}static parseEventName(n){let o=n.toLowerCase().split("."),r=o.shift();if(o.length===0||!(r==="keydown"||r==="keyup"))return null;let i=t._normalizeKey(o.pop()),s="",a=o.indexOf("code");if(a>-1&&(o.splice(a,1),s="code."),H_.forEach(l=>{let d=o.indexOf(l);d>-1&&(o.splice(d,1),s+=l+".")}),s+=i,o.length!=0||i.length===0)return null;let c={};return c.domEventName=r,c.fullKey=s,c}static matchEventFullKeyCode(n,o){let r=NM[n.key]||n.key,i="";return o.indexOf("code.")>-1&&(r=n.code,i="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),H_.forEach(s=>{if(s!==r){let a=DM[s];a(n)&&(i+=s+".")}}),i+=r,i===o)}static eventCallback(n,o,r){return i=>{t.matchEventFullKeyCode(i,n)&&r.runGuarded(()=>o(i))}}static _normalizeKey(n){return n==="esc"?"escape":n}static \u0275fac=function(o){return new(o||t)(lt(xn))};static \u0275prov=Re({token:t,factory:t.\u0275fac})}return t})();async function lm(t,e,n){let o=H({rootComponent:t},OM(e,n));return P_(o)}function OM(t,e){return{platformRef:e?.platformRef,appProviders:[...FM,...t?.providers??[]],platformProviders:LM}}function PM(){Bl.makeCurrent()}function AM(){return new Wn}function RM(){return bf(document),document}var LM=[{provide:Zs,useValue:R_},{provide:Jc,useValue:PM,multi:!0},{provide:xn,useFactory:RM}];var FM=[{provide:Hs,useValue:"root"},{provide:Wn,useFactory:AM},{provide:Hl,useClass:jl,multi:!0},{provide:Hl,useClass:B_,multi:!0},cm,{provide:ai,useClass:sm},{provide:sm,useExisting:ai},im,{provide:Wo,useExisting:cm},[]];var dm=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275prov=Re({token:t,factory:function(o){let r=null;return o?r=new(o||t):r=lt(jM),r},providedIn:"root"})}return t})(),jM=(()=>{class t extends dm{_doc=N(xn);sanitize(n,o){if(o==null)return null;switch(n){case kt.NONE:return o;case kt.HTML:return Yo(o,"HTML")?Xn(o):Tl(this._doc,String(o)).toString();case kt.STYLE:return Yo(o,"Style")?Xn(o):o;case kt.SCRIPT:if(Yo(o,"Script"))return Xn(o);throw new Te(5200,!1);case kt.URL:return Yo(o,"URL")?Xn(o):ca(String(o));case kt.RESOURCE_URL:if(Yo(o,"ResourceURL"))return Xn(o);throw new Te(-5201,!1);default:throw new Te(5202,!1)}}bypassSecurityTrustHtml(n){return Cf(n)}bypassSecurityTrustStyle(n){return wf(n)}bypassSecurityTrustScript(n){return Sf(n)}bypassSecurityTrustUrl(n){return Tf(n)}bypassSecurityTrustResourceUrl(n){return Mf(n)}static \u0275fac=function(o){return new(o||t)};static \u0275prov=Xi({token:t,factory:t.\u0275fac})}return t})();var U_={providers:[wp()]};var Jn=typeof window<"u",Ul=Jn?window:null,hr=Jn?document:null,ft={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},Me={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},Kt={NONE:0,AUTO:1,FORCE:2},Mt={replace:0,none:1,blend:2},um=Symbol(),Oo=Symbol(),zl=Symbol(),gr=Symbol(),ql=Symbol(),Ie=1e-11,ba=1e12,eo=1e3,xa=240,to="",z_="var(",Ea=[],Gl=(()=>{let t=new Map;return t.set("x","translateX"),t.set("y","translateY"),t.set("z","translateZ"),t})(),ns=["perspective","translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY"],q_=ns.reduce((t,e)=>Q(H({},t),{[e]:e+"("}),{}),zt=()=>{},G_=t=>t,W_=/\)\s*[-.\d]/,Y_=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,Z_=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,K_=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,Q_=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,X_=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,pm=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,Wl=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,J_=/([a-z])([A-Z])/g,e0=/(\*=|\+=|-=)/,t0=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/;var os={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:xa,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:eo,delay:0,loopDelay:0,ease:"out(2)",composition:Mt.replace,modifier:G_,onBegin:zt,onBeforeUpdate:zt,onUpdate:zt,onLoop:zt,onPause:zt,onComplete:zt,onRender:zt},Ca={current:null,root:hr},Ce={defaults:os,precision:4,timeScale:1,tickThreshold:200,editor:null},fm={version:"4.5.0",engine:null};Jn&&(Ul.AnimeJS||(Ul.AnimeJS=[]),Ul.AnimeJS.push(fm));var hm=t=>t.replace(J_,"$1-$2").toLowerCase(),Fn=(t,e)=>t.indexOf(e)===0,Xo=Date.now,jn=Array.isArray,di=t=>t&&t.constructor===Object,Mn=t=>typeof t=="number"&&!isNaN(t),In=t=>typeof t=="string",Qt=t=>typeof t=="function",te=t=>typeof t>"u",Po=t=>te(t)||t===null,Yl=t=>Jn&&t instanceof SVGElement,gm=t=>Y_.test(t),ym=t=>Fn(t,"rgb"),vm=t=>Fn(t,"hsl"),n0=t=>gm(t)||(ym(t)||vm(t))&&(t[t.length-1]===")"||!W_.test(t)),wa=t=>!Ce.defaults.hasOwnProperty(t),VM=["opacity","rotate","overflow","color"],o0=(t,e)=>{if(VM.includes(e))return!1;if(t.getAttribute(e)||e in t){if(e==="scale"){let n=t.parentNode;return n&&n.tagName==="filter"}return!0}},Zl=t=>In(t)?parseFloat(t):t,ui=Math.pow,yr=Math.sqrt,r0=Math.sin,i0=Math.cos,li=Math.abs;var pi=Math.floor,s0=Math.asin;var Sa=Math.PI,mm=Math.round,fn=(t,e,n)=>t<e?e:t>n?n:t,We=(t,e)=>{if(e<0)return t;if(!e)return mm(t);let n=10**e;return mm(t*n)/n},a0=(t,e)=>jn(e)?e.reduce((n,o)=>li(o-t)<li(n-t)?o:n):e?mm(t/e)*e:t,Jo=(t,e,n)=>n===1?e:n===0?t:t+(e-t)*n,fi=t=>t===1/0?ba:t===-1/0?-ba:t,er=t=>t<=Ie?Ie:fi(We(t,11)),qt=t=>jn(t)?[...t]:t,Kl=(t,e)=>{let n=H({},t);for(let o in e){let r=t[o];n[o]=te(r)?e[o]:r}return n},tt=(t,e,n,o="_prev",r="_next")=>{let i=t._head,s=r;for(n&&(i=t._tail,s=o);i;){let a=i[s];e(i),i=a}},Vn=(t,e,n="_prev",o="_next")=>{let r=e[n],i=e[o];r?r[o]=i:t._head=i,i?i[n]=r:t._tail=r,e[n]=null,e[o]=null},kn=(t,e,n,o="_prev",r="_next")=>{let i=t._tail;for(;i&&n&&n(i,e);)i=i[o];let s=i?i[r]:t._head;i?i[r]=e:t._head=e,s?s[o]=e:t._tail=e,e[o]=i,e[r]=s};var c0=(t,e,n)=>{let o=t.style.transform;if(o){let r=t[gr],i=0,s=o.length,a;for(;i<s;){for(;i<s&&o.charCodeAt(i)===32;)i++;if(i>=s)break;let l=i;for(;i<s&&o.charCodeAt(i)!==40;)i++;if(i>=s)break;let d=o.substring(l,i),f=1,g=i+1,y=-1,b=-1;for(i++;i<s&&f>0;){let O=o.charCodeAt(i);O===40?f++:O===41?f--:O===44&&f===1&&(y===-1?y=i:b===-1&&(b=i)),i++}let C=i-1;d==="translate"||d==="translate3d"?(y===-1?r.translateX=o.substring(g,C).trim():(r.translateX=o.substring(g,y).trim(),b===-1?r.translateY=o.substring(y+1,C).trim():(r.translateY=o.substring(y+1,b).trim(),r.translateZ=o.substring(b+1,C).trim())),a=o.substring(g,C)):d==="scale"||d==="scale3d"?y===-1?r.scale=o.substring(g,C).trim():(r.scaleX=o.substring(g,y).trim(),b===-1?r.scaleY=o.substring(y+1,C).trim():(r.scaleY=o.substring(y+1,b).trim(),r.scaleZ=o.substring(b+1,C).trim())):r[d]=o.substring(g,C)}if(e==="translate3d"&&a)return n&&(n[e]=a),a;let c=r[e];if(!te(c))return n&&(n[e]=c),c}return e==="translate3d"?"0px, 0px, 0px":e==="rotate3d"?"0, 0, 0, 0deg":Fn(e,"scale")?"1":Fn(e,"rotate")||Fn(e,"skew")?"0deg":"0px"},Ql=t=>{let e=to;for(let n=0,o=ns.length;n<o;n++){let r=ns[n],i=t[r];if(i!==void 0){if(r==="translateX"){let s=t.translateY;if(s!==void 0){let a=t.translateZ;a!==void 0?(e+=`translate3d(${i},${s},${a}) `,n+=2):(e+=`translate(${i},${s}) `,n+=1);continue}}if(r==="scaleX"&&t.scale===void 0){let s=t.scaleY;if(s!==void 0){let a=t.scaleZ;a!==void 0?(e+=`scale3d(${i},${s},${a}) `,n+=2):(e+=`scale(${i},${s}) `,n+=1);continue}}e+=`${q_[r]}${i}) `}r==="rotateZ"&&t.rotate3d!==void 0&&(e+=`rotate3d(${t.rotate3d}) `)}return t.matrix!==void 0&&(e+=`matrix(${t.matrix}) `),t.matrix3d!==void 0&&(e+=`matrix3d(${t.matrix3d}) `),e};var _m=[];function Xl(t,e){if(!t)return null;let n=_m.length;e:for(let o=0;o<n;o++){let r=_m[o];if(r.detect&&!r.detect(t))continue;let i=r.targetAdapters;for(let s=0,a=i.length;s<a;s++){let c=i[s];if(c.detect(t)){let l=c.props[e];if(l&&(!l.gate||l.gate(t)))return l;break e}}}for(let o=0;o<n;o++){let r=_m[o];if(r.detect&&!r.detect(t))continue;let i=r.propertyResolvers;for(let s=0,a=i.length;s<a;s++){let c=i[s](t,e);if(c)return c}}return null}var $M=t=>{let e=Z_.exec(t)||K_.exec(t),n=te(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],n]},HM=t=>{let e=t.length,n=e===4||e===5;return[+("0x"+t[1]+t[n?1:2]),+("0x"+t[n?2:3]+t[n?2:4]),+("0x"+t[n?3:5]+t[n?3:6]),e===5||e===9?+(+("0x"+t[n?4:7]+t[n?4:8])/255).toFixed(3):1]},bm=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t),BM=t=>{let e=Q_.exec(t)||X_.exec(t),n=+e[1]/360,o=+e[2]/100,r=+e[3]/100,i=te(e[4])?1:+e[4],s,a,c;if(o===0)s=a=c=r;else{let l=r<.5?r*(1+o):r+o-r*o,d=2*r-l;s=We(bm(d,l,n+1/3)*255,0),a=We(bm(d,l,n)*255,0),c=We(bm(d,l,n-1/3)*255,0)}return[s,a,c,i]},l0=t=>ym(t)?$M(t):gm(t)?HM(t):vm(t)?BM(t):[0,0,0,1];var It=(t,e)=>te(t)?e:t,d0=(t,e)=>{let n=t.match(t0),o=e[Oo]?e:document.documentElement,r=getComputedStyle(o)?.getPropertyValue(n[1]);return(!r||r.trim()===to)&&n[2]&&(r=n[2].trim()),r||0},Ao=(t,e,n,o,r,i)=>{if(Qt(t)){if(!r){let a=t(e,n,o,i);return isNaN(+a)?a||0:+a}let s=()=>{let a=t(e,n,o,i);return isNaN(+a)?a||0:+a};return r.func=s,s()}if(In(t)&&Fn(t,z_)){if(!r)return d0(t,e);let s=()=>d0(t,e);return r.func=s,s()}return t},Ta=(t,e)=>t[Oo]?t[zl]&&o0(t,e)?ft.ATTRIBUTE:ns.includes(e)||Gl.get(e)?ft.TRANSFORM:Fn(e,"--")?ft.CSS_VAR:e in t.style?ft.CSS:e in t?ft.OBJECT:ft.ATTRIBUTE:ft.OBJECT,u0=(t,e,n)=>{let o=t.style[e];o&&n&&(n[e]=o);let r=o||getComputedStyle(t[ql]||t).getPropertyValue(e);return r==="auto"?"0":r},Ro=(t,e,n,o)=>{let r=te(n)?Ta(t,e):n,i=Xl(t,e);if(i){let s=i.get(t);return s&&o&&(o[e]=s),s??0}if(r===ft.OBJECT){let s=t[e];return s&&o&&(o[e]=s),s||0}if(r===ft.ATTRIBUTE){let s=t.getAttribute(e);return s&&o&&(o[e]=s),s}return r===ft.TRANSFORM?c0(t,e,o):r===ft.CSS_VAR?u0(t,e,o).trimStart():u0(t,e,o)},rs=(t,e,n)=>n==="-"?t-e:n==="+"?t+e:t*e,Jl=()=>({t:Me.NUMBER,n:0,u:null,o:null,d:null,s:null}),mn=(t,e)=>{if(e.t=Me.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;let n=+t;if(!isNaN(n))return e.n=n,e;let o=t;o[1]==="="&&(e.o=o[0],o=o.slice(2));let r=o.includes(" ")?!1:Wl.exec(o);if(r)return e.t=Me.UNIT,e.n=+r[1],e.u=r[2],e;if(e.o)return e.n=+o,e;if(n0(o))return e.t=Me.COLOR,e.d=l0(o),e;{let i=o.match(pm);return e.t=Me.COMPLEX,e.d=i?i.map(Number):[],e.s=o.split(pm)||[],e}},xm=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=qt(t._toNumbers),e.s=qt(t._strings),e),Xt=Jl(),ed=(t,e,n)=>{let o=t._modifier,r=t._fromNumbers,i=t._toNumbers,s=t._strings,a=s[0];for(let c=0,l=i.length;c<l;c++){let d=o(We(Jo(r[c],i[c],e),n)),f=s[c+1];a+=`${f?d+f:d}`,t._numbers[c]=d}return a};var Ma=(t,e,n,o,r)=>{let i=t.parent,s=t.duration,a=t.completed,c=t.iterationDuration,l=t.iterationCount,d=t._currentIteration,f=t._loopDelay,g=t._reversed,y=t._alternate,b=t._hasChildren,C=t._delay,O=t._currentTime,Y=C+c,G=e-C,ye=fn(O,-C,s),ce=fn(G,-C,s),_e=G-O,ie=ce>0,Qe=ce>=s,Pe=s<=Ie,$e=r===Kt.FORCE,dt=0,Et=G,Ot=0;if(l>1){let Z=c+(Qe?0:f),U=~~(ce/Z);t._currentIteration=fn(U,0,l),Qe&&t._currentIteration--,dt=t._currentIteration%2,Et=ce-U*Z||0}let St=g^(y&&dt),Xe=t._ease,he=Qe?St?0:s:St?c-Et:Et;Xe&&(he=c*Xe(he/c)||0);let D=(i?i.backwards:G<O)?!St:!!St;if(t._currentTime=G,t._iterationTime=he,t.backwards=D,ie&&!t.began?(t.began=!0,!n&&!(i&&(D||!i.began))&&t.onBegin(t)):G<=0&&(t.began=!1),!n&&!b&&ie&&t._currentIteration!==d&&t.onLoop(t),$e||r===Kt.AUTO&&(e>=(i&&C>0?0:C)&&e<=Y||e<=C&&ye>C||e>=Y&&ye!==s)||he>=Y&&ye!==s||he<=C&&ye>0&&!Qe||e<=ye&&ye===s&&a||Qe&&!a&&Pe){if(ie&&(t.computeDeltaTime(ye),n||t.onBeforeUpdate(t)),!b){let Z=$e||(D?_e*-1:_e)>=Ce.tickThreshold,U=We(t._offset+(i?i._offset:0)+C+he,12),A=t._head,J,Ne,Je,jt,ue=0;for(;A;){let gt=A._composition,He=A._currentTime,tn=A._changeDuration,Vt=A._absoluteStartTime+A._changeDuration,Ye=A._nextRep,Bt=A._prevRep,Pt=gt!==Mt.none,ke=Bt?Bt._absoluteStartTime+Bt._changeDuration:0,qe=Bt&&Bt.parent!==A.parent,be=!Ye||Ye._isOverridden?Vt:Ye.parent===A.parent?Vt+Ye._delay:Ye._absoluteStartTime<Ye._absoluteUpdateStartTime?Ye._absoluteStartTime:Ye._absoluteUpdateStartTime;if((Z||(He!==tn||U<=be||Bt&&!qe&&(!Ye||Ye.parent!==A.parent))&&(He!==0||U>=A._absoluteStartTime||qe&&!A._hasFromValue&&!Bt._isOverridden&&U>=ke||Ye&&!Ye._isOverridden&&Ye.parent===A.parent&&Ye._currentTime!==0&&he<Ye._startTime))&&(!Bt||qe||he>=A._startTime)&&(!Pt||!A._isOverridden&&(!A._isOverlapped||U<=Vt)&&(!Ye||Ye._isOverridden||U<=be)&&(!Bt||Bt._isOverridden||(qe?U>=A._absoluteStartTime||!A._hasFromValue&&U>=ke:U>=ke+A._delay)))){let nt=A._currentTime=fn(he-A._startTime,0,tn),oe=A._ease(nt/A._updateDuration),ct=A._modifier,W=A._valueType,mt=A._tweenType,Ke=mt===ft.OBJECT,ne=W===Me.NUMBER,_t=ne&&Ke||oe===0||oe===1?-1:Ce.precision,pe,st;if(ne)pe=st=ct(We(Jo(A._fromNumber,A._toNumber,oe),_t));else if(W===Me.UNIT)st=ct(We(Jo(A._fromNumber,A._toNumber,oe),_t)),pe=`${st}${A._unit}`;else if(W===Me.COLOR){let Be=A._numbers,F=A._fromNumbers,V=A._toNumbers,X=1-oe,re=F[0],ut=F[1],Ct=F[2],Un=V[0],pn=V[1],bo=V[2];Be[0]=ct(Math.sqrt(re*re*X+Un*Un*oe)),Be[1]=ct(Math.sqrt(ut*ut*X+pn*pn*oe)),Be[2]=ct(Math.sqrt(Ct*Ct*X+bo*bo*oe)),Be[3]=ct(Jo(F[3],V[3],oe)),(!A._setter||o)&&(pe=`rgba(${We(Be[0],0)},${We(Be[1],0)},${We(Be[2],0)},${Be[3]})`)}else W===Me.COMPLEX&&(pe=ed(A,oe,_t));if(Pt&&(A._number=st),!o&&gt!==Mt.blend){let Be=A.property;J=A.target,A._setter?A._setter(J,st,A):Ke?J[Be]=pe:mt===ft.ATTRIBUTE?J.setAttribute(Be,pe):(Ne=J.style,mt===ft.TRANSFORM?(J!==Je&&(Je=J,jt=J[gr]),jt[Be]=pe,ue=1):mt===ft.CSS?Ne[Be]=pe:mt===ft.CSS_VAR&&Ne.setProperty(Be,pe)),ie&&(Ot=1)}else A._value=pe}else He&&Bt&&!qe&&he<A._startTime&&(A._currentTime=0);ue&&A._renderTransforms&&(Ne.transform=Ql(jt),ue=0),A=A._next}!n&&Ot&&t.onRender(t)}!n&&ie&&t.onUpdate(t)}return i&&Pe?!n&&(i.began&&!D&&G>0&&!a||D&&G<=Ie&&a)&&(t.onComplete(t),t.completed=!D):ie&&Qe?l===1/0?t._startTime+=t.duration:t._currentIteration>=l-1&&(t.paused=!0,!a&&!b&&(t.completed=!0,!n&&!(i&&(D||!i.began))&&(t.onComplete(t),t._resolve(t)))):t.completed=!1,Ot},Lo=(t,e,n,o,r)=>{let i=t._currentIteration;if(Ma(t,e,n,o,r),t._hasChildren){let s=t,a=s.backwards,c=o?e:s._iterationTime,l=Xo(),d=0,f=!0;if(!o&&s._currentIteration!==i){let g=s.iterationDuration;tt(s,y=>{if(!a)!y.completed&&!y.backwards&&y._currentTime<y.iterationDuration&&Ma(y,g,n,1,Kt.FORCE),y.began=!1,y.completed=!1;else{let b=y.duration,C=y._offset+y._delay,O=C+b;!n&&b<=Ie&&(!C||O===g)&&y.onComplete(y)}}),n||s.onLoop(s)}tt(s,g=>{let y=We((c-g._offset)*g._speed,12);if(a&&y>g._delay+g.duration)return;let b=g._fps<s._fps?g.requestTick(l):r;d+=Ma(g,y,n,o,b),!g.completed&&f&&(f=!1)},a),!n&&d&&s.onRender(s),(f||a)&&s._currentTime>=s.duration&&(s.paused=!0,s.completed||(s.completed=!0,n||(s.onComplete(s),s._resolve(s))))}};var p0={},is=(t,e,n)=>{if(n===ft.TRANSFORM){let o=Gl.get(t);return o||t}else if(n===ft.CSS||n===ft.ATTRIBUTE&&Yl(e)&&t in e.style){let o=p0[t];if(o)return o;{let r=t&&hm(t);return p0[t]=r,r}}else return t},ss=(t,e=!1)=>{if(t._hasChildren)tt(t,n=>ss(n,e),!0);else{let n=t;n.pause(),tt(n,o=>{let r=o.property,i=o.target,s=o._tweenType,a=o._inlineValue,c=Po(a)||a===to;if(o._setter){if(!e&&!c){if(mn(a,Xt),Xt.d){let l=Xt.d,d=o._numbers;for(let f=0,g=l.length;f<g;f++)d[f]=l[f]}else o._number=Xt.n;o._setter(o.target,o._number,o)}}else if(s===ft.OBJECT)!e&&!c&&(i[r]=a);else if(i[Oo])if(s===ft.ATTRIBUTE)e||(c?i.removeAttribute(r):i.setAttribute(r,a));else{let l=i.style;if(s===ft.TRANSFORM){let d=i[gr];c?delete d[r]:d[r]=a,o._renderTransforms&&(Object.keys(d).length?l.transform=Ql(d):l.removeProperty("transform"))}else c?l.removeProperty(hm(r)):l[r]=a}i[Oo]&&n._tail===o&&n.targets.forEach(l=>{l.getAttribute&&l.getAttribute("style")===to&&l.removeAttribute("style")})})}return t},f0=t=>ss(t,!0);var as=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=eo/xa,this._fps=xa,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let n=+e,o=n<Ie?Ie:n,r=eo/o;o>os.frameRate&&(os.frameRate=o),this._fps=o,this._frameDuration=r}get speed(){return this._speed}set speed(e){let n=+e;this._speed=n<Ie?Ie:n}requestTick(e){let n=this._frameDuration,o=e-this._lastTickTime,r=n*.25,i=r<4?r:4;return o+i<n?Kt.NONE:(this._lastTickTime=o>=n?e-o%n:e,Kt.AUTO)}computeDeltaTime(e){let n=e-this._lastTime;return this.deltaTime=n,this._lastTime=e,n}};var tr={animation:null,update:zt},m0=t=>{let e=tr.animation;return e||(e={duration:Ie,computeDeltaTime:zt,_offset:0,_delay:0,_head:null,_tail:null},tr.animation=e,tr.update=()=>{t.forEach(n=>{for(let o in n){let r=n[o],i=r._head;if(i){let s=i._valueType,a=s===Me.COMPLEX||s===Me.COLOR?qt(i._fromNumbers):null,c=i._fromNumber,l=r._tail;for(;l&&l!==i;){if(a)for(let d=0,f=l._numbers.length;d<f;d++)a[d]+=l._numbers[d];else c+=l._number;l=l._prevAdd}i._toNumber=c,i._toNumbers=a}}}),Ma(e,1,1,0,Kt.FORCE)}),e};var h0=Jn?requestAnimationFrame:setImmediate,UM=Jn?cancelAnimationFrame:clearImmediate,Em=class extends as{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=os,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=Xo();if(this.requestTick(e)){this.computeDeltaTime(e);let n=this._speed,o=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(Vn(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):Lo(r,(e-r._startTime)*r._speed*n,0,0,r._fps<o?r.requestTick(e):Kt.AUTO),r=i}tr.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(Xo()),this.reqId=h0(g0)),this}pause(){if(this.reqId)return this.paused=!0,zM()}resume(){if(this.paused)return this.paused=!1,tt(this,e=>e.resetTime()),this.wake()}get speed(){return this._speed*(Ce.timeScale===1?1:eo)}set speed(e){let n=e*Ce.timeScale;this._speed!==n&&(this._speed=n,tt(this,o=>o.speed=o._speed))}get timeUnit(){return Ce.timeScale===1?"ms":"s"}set timeUnit(e){let o=e==="s",r=o?.001:1;if(Ce.timeScale!==r){Ce.timeScale=r,Ce.tickThreshold=200*r;let i=o?.001:eo;this.defaults.duration*=i,this._speed*=i}}get precision(){return Ce.precision}set precision(e){Ce.precision=e}},Jt=(()=>{let t=new Em(Xo());return Jn&&(fm.engine=t,hr.addEventListener("visibilitychange",()=>{t.pauseOnDocumentHidden&&(hr.hidden?t.pause():t.resume())})),t})(),g0=()=>{Jt._head?(Jt.reqId=h0(g0),Jt.update()):Jt.reqId=0},zM=()=>(UM(Jt.reqId),Jt.reqId=0,Jt);var td={_rep:new WeakMap,_add:new Map},ka=(t,e,n="_rep")=>{let o=td[n],r=o.get(t);return r||(r={},o.set(t,r)),r[e]?r[e]:r[e]={_head:null,_tail:null}},qM=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,Ia=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=Ie,t._currentTime=Ie},nd=(t,e)=>{let n=t._composition;if(n===Mt.replace){let o=t._absoluteStartTime;kn(e,t,qM,"_prevRep","_nextRep");let r=t._prevRep;if(r){let i=r.parent,s=r._absoluteEndTime;if(t.parent.id!==i.id&&i.iterationCount>1&&s+(i.duration-i.iterationDuration)>o){Ia(r);let l=r._prevRep;for(;l&&l.parent.id===i.id;)Ia(l),l=l._prevRep}let a=t._absoluteUpdateStartTime;if(s>a){let l=r._startTime,d=s-(l+r._updateDuration),f=We(a-d-l,12);r._changeDuration=f,r._currentTime=f,r._isOverlapped=1,f<Ie&&Ia(r)}let c=t.parent.parent;if(!c||c!==i.parent){let l=!0;if(tt(i,d=>{d._isOverlapped||(l=!1)}),l){let d=i.parent;if(d){let f=!0;tt(d,g=>{g!==i&&tt(g,y=>{y._isOverlapped||(f=!1)})}),f&&d.cancel()}else i.cancel()}}}}else if(n===Mt.blend){let o=ka(t.target,t.property,"_add"),r=m0(td._add),i=o._head;i||(i=H({},t),i._composition=Mt.replace,i._updateDuration=Ie,i._startTime=0,i._numbers=qt(t._fromNumbers),i._number=0,i._next=null,i._prev=null,kn(o,i),kn(r,i));let s=t._toNumber;if(t._fromNumber=i._fromNumber-s,t._toNumber=0,t._numbers=qt(t._fromNumbers),t._number=0,i._fromNumber=s,t._toNumbers.length){let a=qt(t._toNumbers);a.forEach((c,l)=>{t._fromNumbers[l]=i._fromNumbers[l]-c,t._toNumbers[l]=0}),i._fromNumbers=a}kn(o,t,null,"_prevAdd","_nextAdd")}return t},Cm=t=>{let e=t._composition;if(e!==Mt.none){let n=t.target,o=t.property,s=td._rep.get(n)[o];if(Vn(s,t,"_prevRep","_nextRep"),e===Mt.blend){let a=td._add,c=a.get(n);if(!c)return;let l=c[o],d=tr.animation;Vn(l,t,"_prevAdd","_nextAdd");let f=l._head;if(f&&f===l._tail){Vn(l,f,"_prevAdd","_nextAdd"),Vn(d,f);let g=!0;for(let y in c)if(c[y]._head){g=!1;break}g&&a.delete(n)}}}return t},y0=(t,e,n)=>{let o=!1;return tt(e,r=>{let i=r.target;if(t.includes(i)){let s=r.property,a=r._tweenType,c=is(n,i,a);(!c||c&&c===s)&&(r.parent._tail===r&&r._tweenType===ft.TRANSFORM&&r._prev&&r._prev._tweenType===ft.TRANSFORM&&(r._prev._renderTransforms=1),Vn(e,r),Cm(r),o=!0)}},!0),o},Na=(t,e,n)=>{let o=e||Jt,r;if(o._hasChildren){let i=0;tt(o,s=>{if(!s._hasChildren)if(r=y0(t,s,n),r&&!s._head)s.cancel(),Vn(o,s);else{let c=s._offset+s._delay+s.duration;c>i&&(i=c)}s._head?Na(t,s,n):s._hasChildren=!1},!0),te(o.iterationDuration)||(o.iterationDuration=i)}else r=y0(t,o,n);r&&!o._head&&(o._hasChildren=!1,o.cancel&&o.cancel())};var v0=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),wm=t=>(t._cancelled&&(t._hasChildren?tt(t,wm):tt(t,e=>{e._composition!==Mt.none&&nd(e,ka(e.target,e.property))}),t._cancelled=0),t),_0=0,GM=(t,e)=>t._priority>e._priority,nr=class extends as{constructor(e={},n=null,o=0){super(0),++_0;let{id:r,delay:i,duration:s,reversed:a,alternate:c,loop:l,loopDelay:d,autoplay:f,frameRate:g,playbackRate:y,priority:b,onComplete:C,onLoop:O,onPause:Y,onBegin:G,onBeforeUpdate:ye,onUpdate:ce}=e;Ca.current&&Ca.current.register(this);let _e=n?0:Jt._lastTickTime,ie=n?n.defaults:Ce.defaults,Qe=Qt(i)||te(i)?ie.delay:+i,Pe=Qt(s)||te(s)?1/0:+s,$e=It(l,ie.loop),dt=It(d,ie.loopDelay),Et=$e===!0||$e===1/0||$e<0?1/0:$e+1,Ot=0;n?Ot=o:(Jt.reqId||Jt.requestTick(Xo()),Ot=(Jt._lastTickTime-Jt._startTime)*Ce.timeScale),this.id=te(r)?_0:r,this.parent=n,this.duration=fi((Pe+dt)*Et-dt)||Ie,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=G||ie.onBegin,this.onBeforeUpdate=ye||ie.onBeforeUpdate,this.onUpdate=ce||ie.onUpdate,this.onLoop=O||ie.onLoop,this.onPause=Y||ie.onPause,this.onComplete=C||ie.onComplete,this.iterationDuration=Pe,this.iterationCount=Et,this._autoplay=n?!1:It(f,ie.autoplay),this._offset=Ot,this._delay=Qe,this._loopDelay=dt,this._iterationTime=0,this._currentIteration=0,this._resolve=zt,this._running=!1,this._reversed=+It(a,ie.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=It(c,ie.alternate),this._prev=null,this._next=null,this._lastTickTime=_e,this._startTime=_e,this._lastTime=_e,this._fps=It(g,ie.frameRate),this._speed=It(y,ie.playbackRate),this._priority=+It(b,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return fn(We(this._currentTime,Ce.precision),-this._delay,this.duration)}set currentTime(e){let n=this.paused;this.pause().seek(+e),n||this.resume()}get iterationCurrentTime(){return fn(We(this._iterationTime,Ce.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return fn(We(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return fn(We(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let n=this.iterationDuration;this.currentTime=n*this._currentIteration+n*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*fn(+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 wm(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Lo(this,0,1,~~e,Kt.FORCE),v0(this),this._hasChildren&&tt(this,v0),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&Lo(this,this.duration,1,~~e,Kt.FORCE),this.reset(e);let n=this._autoplay;return n===!0?this.resume():n&&!te(n.linked)&&n.link(this),this}resetTime(){let e=1/(this._speed*Jt._speed);return this._startTime=Xo()-(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<=Ie&&!this._hasChildren?Lo(this,Ie,0,0,Kt.FORCE):(this._running||(kn(Jt,this,GM),Jt._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,Jt.wake()),this):this}restart(){return this.reset().resume()}seek(e,n=0,o=0){wm(this),this.completed=!1;let r=this.paused;return this.paused=!0,Lo(this,e+this._delay,~~n,~~o,Kt.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,n=this.iterationCount,o=this.iterationDuration,r=n===1/0?pi(ba/o):n;return this._reversed=+(this._alternate&&!(r%2)?e:!e),n===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(o*r-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?tt(this,e=>e.cancel(),!0):tt(this,Cm),this._cancelled=1,this.pause()}stretch(e){let n=this.duration,o=er(e);if(n===o)return this;let r=e/n,i=e<=Ie;return this.duration=i?Ie:o,this.iterationDuration=i?Ie:er(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){Lo(this,0,1,0,Kt.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=zt){let n=this.then,o=()=>{this.then=null,e(this),this.then=n,this._resolve=zt};return new Promise(r=>(this._resolve=()=>r(o()),this.completed&&this._resolve(),this))}};function b0(t){let e=In(t)?Ca.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function vr(t){if(Po(t))return[];if(!Jn)return jn(t)&&t.flat(1/0)||[t];if(jn(t)){let n=t.flat(1/0),o=[];for(let r=0,i=n.length;r<i;r++){let s=n[r];if(!Po(s)){let a=b0(s);if(a)for(let c=0,l=a.length;c<l;c++){let d=a[c];if(!Po(d)){let f=!1;for(let g=0,y=o.length;g<y;g++)if(o[g]===d){f=!0;break}f||o.push(d)}}else{let c=!1;for(let l=0,d=o.length;l<d;l++)if(o[l]===s){c=!0;break}c||o.push(s)}}}return o}let e=b0(t);return e?Array.from(e):[t]}function _r(t){let e=vr(t),n=e.length;for(let o=0;o<n;o++){let r=e[o];if(!r[um]){r[um]=!0;let i=Yl(r);(r.nodeType||i)&&(r[Oo]=!0,r[zl]=i,r[gr]={})}}return e}var Sm={deg:1,rad:180/Sa,turn:360},x0={},Da=(t,e,n,o=!1)=>{let r=e.u,i=e.n;if(e.t===Me.UNIT&&r===n)return e;let s=i+r+n,a=x0[s];if(!te(a)&&!o)e.n=a;else{let c;if(r in Sm)c=i*Sm[r]/Sm[n];else{let d=t.cloneNode(),f=t.parentNode,g=f&&f!==hr?f:hr.body;g.appendChild(d);let y=d.style;y.width=100+r;let b=d.offsetWidth||100;y.width=100+n;let C=d.offsetWidth||100,O=b/C;g.removeChild(d),c=O*i}e.n=c,x0[s]=c}return e.t,Me.UNIT,e.u=n,e};var or=t=>t;var Oa=(t=1.68)=>e=>ui(e,+t),Mm={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(e*2)/2:1-t(e*-2+2)/2,outIn:t=>e=>e<.5?(1-t(1-e*2))/2:(t(e*2-1)+1)/2},WM=Sa/2,E0=Sa*2,C0={[to]:Oa,Quad:Oa(2),Cubic:Oa(3),Quart:Oa(4),Quint:Oa(5),Sine:t=>1-i0(t*WM),Circ:t=>1-yr(1-t*t),Expo:t=>t?ui(2,10*t-10):0,Bounce:t=>{let e,n=4;for(;t<((e=ui(2,--n))-1)/11;);return 1/ui(4,3-n)-7.5625*ui((e*3-2)/22-t,2)},Back:(t=1.7)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{let n=fn(+t,1,10),o=fn(+e,Ie,2),r=o/E0*s0(1/n),i=E0/o;return s=>s===0||s===1?s:-n*ui(2,-10*(1-s))*r0((1-s-r)*i)}},Tm=(()=>{let t={linear:or,none:or};for(let e in Mm)for(let n in C0){let o=C0[n],r=Mm[e];t[e+n]=n===to||n==="Back"||n==="Elastic"?(i,s)=>r(o(i,s)):r(o)}return t})(),od={linear:or,none:or},YM=t=>{if(od[t])return od[t];if(t.indexOf("(")<=-1){let n=Mm[t]||t.includes("Back")||t.includes("Elastic")?Tm[t]():Tm[t];return n?od[t]=n:or}else{let e=t.slice(0,-1).split("("),n=Tm[e[0]];return n?od[t]=n(...e[1].split(",")):or}},w0=["steps(","irregular(","linear(","cubicBezier("],mi=t=>{if(In(t)){for(let n=0,o=w0.length;n<o;n++)if(Fn(t,w0[n]))return console.warn(`String syntax for \`ease: "${t}"\` has been removed from the core and replaced by importing and passing the easing function directly: \`ease: ${t}\``),or}return Qt(t)?t:In(t)?YM(t):or};var ve=Jl(),je=Jl(),cs={},rd={func:null},id={func:null},sd=[null],ls=[null,null],ad={to:null},ZM=0,S0=0,br,Fo,KM=(t,e)=>{let n={};if(jn(t)){let o=[].concat(...t.map(r=>Object.keys(r))).filter(wa);for(let r=0,i=o.length;r<i;r++){let s=o[r],a=t.map(c=>{let l={};for(let d in c){let f=c[d];wa(d)?d===s&&(l.to=f):l[d]=f}return l});n[s]=a}}else{let o=It(e.duration,Ce.defaults.duration);Object.keys(t).map(i=>({o:parseFloat(i)/100,p:t[i]})).sort((i,s)=>i.o-s.o).forEach(i=>{let s=i.o,a=i.p;for(let c in a)if(wa(c)){let l=n[c];l||(l=n[c]=[]);let d=s*o,f=l.length,g=l[f-1],y={to:a[c]},b=0;for(let C=0;C<f;C++)b+=l[C].duration;f===1&&(y.from=g.to),a.ease&&(y.ease=a.ease),y.duration=d-(f?b:0),l.push(y)}return i});for(let i in n){let s=n[i],a;for(let c=0,l=s.length;c<l;c++){let d=s[c],f=d.ease;d.ease=a||void 0,a=f}s[0].duration||s.shift()}}return n},xr=class extends nr{constructor(e,n,o,r,i=!1,s=0,a){super(n,o,r),this._head,this._tail,++S0;let c=_r(e),l=c.length,d=n.keyframes,f=d?Kl(KM(d,n),n):n,{id:g,delay:y,duration:b,ease:C,playbackEase:O,modifier:Y,composition:G,onRender:ye}=f,ce=o?o.defaults:Ce.defaults,_e=It(C,ce.ease),ie=It(O,ce.playbackEase),Qe=ie?mi(ie):null,Pe=!te(_e.ease),$e=Pe?_e.ease:It(C,Qe?"linear":ce.ease),dt=Pe?_e.settlingDuration:It(b,ce.duration),Et=It(y,ce.delay),Ot=Y||ce.modifier,St=te(G)&&l>=eo?Mt.none:te(G)?ce.composition:G,Xe=this._offset+(o?o._offset:0);Pe&&(_e.parent=this);let he=NaN,D=NaN,Z=0,U=0;for(let A=0;A<l;A++){let J=c[A],Ne=s||A,Je=a||c,jt=NaN,ue=NaN;for(let gt in f)if(wa(gt)){let He=Ta(J,gt),tn=Xl(J,gt),Vt=is(gt,J,He),Ye=f[gt],Bt=jn(Ye);if(i&&!Bt&&(ls[0]=Ye,ls[1]=Ye,Ye=ls),Bt){let oe=Ye.length,ct=!di(Ye[0]);oe===2&&ct?(ad.to=Ye,sd[0]=ad,br=sd):oe>2&&ct?(br=[],Ye.forEach((W,mt)=>{mt?mt===1?(ls[1]=W,br.push(ls)):br.push(W):ls[0]=W})):br=Ye}else sd[0]=Ye,br=sd;let Pt=null,ke=null,qe=NaN,be=0,nt=0;for(let oe=br.length;nt<oe;nt++){let ct=br[nt];di(ct)?Fo=ct:(ad.to=ct,Fo=ad),rd.func=null,id.func=null;let W=Ao(It(Fo.composition,St),J,Ne,Je,null,null),mt=Mn(W)?W:Mt[W];!Pt&&mt!==Mt.none&&(Pt=ka(J,Vt));let Ke=Pt?Pt._tail:null,ne=o&&Ke&&Ke.parent.parent===o?Ke:ke,_t=Ao(Fo.to,J,Ne,Je,rd,ne),pe;di(_t)&&!te(_t.to)?(Fo=_t,pe=_t.to):pe=_t;let st=Ao(Fo.from,J,Ne,Je,id,ne),Be=Fo.ease||$e,F=Ao(Be,J,Ne,Je,null,ne),V=Qt(F)||In(F)?F:Be,X=!te(V)&&!te(V.ease),re=X?V.ease:V,ut=X?V.settlingDuration:Ao(It(Fo.duration,oe>1?Ao(dt,J,Ne,Je,null,ne)/oe:dt),J,Ne,Je,null,ne),Ct=Ao(It(Fo.delay,nt?0:Et),J,Ne,Je,null,ne),Un=Fo.modifier||Ot,pn=!te(st),bo=!te(pe),xo=jn(pe),Ya=xo||pn&&bo,Za=ke?be:0,Ei=ke?be+Ct:Ct,Ir=We(Xe+Ei,12),Cs=We(Xe+Za,12);!U&&(pn||xo)&&(U=1);let Yt=ke;if(mt!==Mt.none){let Se=Pt._head;for(;Se&&Se._absoluteStartTime<=Ir;)if(Se._isOverridden||(Yt=Se),Se=Se._nextRep,Se&&Se._absoluteStartTime>=Ir)for(;Se;)Ia(Se),Se=Se._nextRep}if(Ya){mn(xo?Ao(pe[0],J,Ne,Je,id,ne):st,ve),mn(xo?Ao(pe[1],J,Ne,Je,rd,ne):pe,je);let Se=Ro(J,Vt,He,cs);ve.t===Me.NUMBER&&(Yt?Yt._valueType===Me.UNIT&&(ve.t=Me.UNIT,ve.u=Yt._unit):(mn(Se,Xt),Xt.t===Me.UNIT&&(ve.t=Me.UNIT,ve.u=Xt.u)))}else bo?mn(pe,je):ke?xm(ke,je):mn(o&&Yt&&Yt.parent.parent===o?Yt._value:Ro(J,Vt,He,cs),je),pn?mn(st,ve):ke?xm(ke,ve):mn(o&&Yt&&Yt.parent.parent===o?Yt._value:Ro(J,Vt,He,cs),ve);if(ve.o&&(ve.n=rs(Yt?Yt._toNumber:mn(Ro(J,Vt,He,cs),Xt).n,ve.n,ve.o)),je.o&&(je.n=rs(ve.n,je.n,je.o)),ve.t!==je.t){if(ve.t===Me.COMPLEX||je.t===Me.COMPLEX){let Se=ve.t===Me.COMPLEX?ve:je,At=ve.t===Me.COMPLEX?je:ve;At.t=Me.COMPLEX,At.s=qt(Se.s),At.d=Se.d.map(()=>At.n)}else if(ve.t===Me.UNIT||je.t===Me.UNIT){let Se=ve.t===Me.UNIT?ve:je,At=ve.t===Me.UNIT?je:ve;At.t=Me.UNIT,At.u=Se.u}else if(ve.t===Me.COLOR||je.t===Me.COLOR){let Se=ve.t===Me.COLOR?ve:je,At=ve.t===Me.COLOR?je:ve;At.t=Me.COLOR,At.d=Se.d.map(()=>0)}}if(ve.u!==je.u){let Se=je.u?ve:je;Se=Da(J,Se,je.u?je.u:ve.u,!1)}if(je.d&&ve.d&&je.d.length!==ve.d.length){let Se=ve.d.length>je.d.length?ve:je,At=Se===ve?je:ve;At.d=Se.d.map((Qa,Ci)=>te(At.d[Ci])?0:At.d[Ci]),At.s=qt(Se.s)}let Eo=We(+ut||Ie,12),ws=cs[Vt];Po(ws)||(cs[Vt]=null);let Ka=tn?tn.set:null;be=We(Ei+Eo,12);let kr=ve.d,Ss=je.d,Ts=je.s,nn={parent:this,id:ZM++,property:Vt,target:J,_value:null,_toFunc:rd.func,_fromFunc:id.func,_ease:mi(re),_fromNumbers:kr?qt(kr):Ea,_toNumbers:Ss?qt(Ss):Ea,_strings:Ts?qt(Ts):Ea,_fromNumber:ve.n,_toNumber:je.n,_numbers:kr?qt(kr):Ea,_number:ve.n,_unit:je.u,_modifier:Un,_currentTime:0,_startTime:Ei,_delay:+Ct,_updateDuration:Eo,_changeDuration:Eo,_absoluteStartTime:Ir,_absoluteUpdateStartTime:Cs,_absoluteEndTime:We(Xe+be,12),_hasFromValue:pn||xo?1:0,_tweenType:He,_setter:Ka,_valueType:je.t,_composition:mt,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:ws,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};mt!==Mt.none&&nd(nn,Pt);let ir=nn._valueType;if(ir===Me.COMPLEX)nn._value=ed(nn,1,-1);else if(ir===Me.UNIT)nn._value=`${Un(nn._toNumber)}${nn._unit}`;else if(ir===Me.COLOR){let Se=je.d;nn._value=`rgba(${We(Se[0],0)},${We(Se[1],0)},${We(Se[2],0)},${Se[3]})`}else nn._value=Un(nn._toNumber);isNaN(qe)&&(qe=nn._startTime),ke=nn,Z++,kn(this,nn)}(isNaN(D)||qe<D)&&(D=qe),(isNaN(he)||be>he)&&(he=be),He===ft.TRANSFORM&&(jt=Z-nt,ue=Z)}if(!isNaN(jt)){let gt=0;tt(this,He=>{gt>=jt&&gt<ue&&(He._renderTransforms=1,He._composition===Mt.blend&&tt(tr.animation,tn=>{tn.id===He.id&&(tn._renderTransforms=1)})),gt++})}}l||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),D?(tt(this,A=>{A._startTime-A._delay||(A._delay-=D),A._startTime-=D}),he-=D):D=0,he||(he=Ie,this.iterationCount=0),this.targets=c,this.id=te(g)?S0:g,this.duration=he===Ie?Ie:fi((he+this._loopDelay)*this.iterationCount-this._loopDelay)||Ie,this.onRender=ye||ce.onRender,this._ease=Qe,this._delay=D,this.iterationDuration=he,!this._autoplay&&U&&this.onRender(this)}stretch(e){let n=this.duration;if(n===er(e))return this;let o=e/n;return tt(this,r=>{r._updateDuration=er(r._updateDuration*o),r._changeDuration=er(r._changeDuration*o),r._currentTime*=o,r._delay*=o,r._startTime*=o,r._absoluteStartTime*=o,r._absoluteUpdateStartTime*=o,r._absoluteEndTime*=o}),super.stretch(e)}refresh(){return tt(this,e=>{let n=e._toFunc,o=e._fromFunc;(n||o)&&(o?(mn(o(),ve),ve.u!==e._unit&&e.target[Oo]&&Da(e.target,ve,e._unit,!0),e._fromNumbers=qt(ve.d),e._fromNumber=ve.n):n&&(mn(Ro(e.target,e.property,e._tweenType),Xt),e._fromNumbers=qt(Xt.d),e._fromNumber=Xt.n),n&&(mn(n(),je),e._toNumbers=qt(je.d),e._strings=qt(je.s),e._toNumber=je.o?rs(e._fromNumber,je.n,je.o):je.n))}),this.duration===Ie&&this.restart(),this}revert(){return super.revert(),ss(this)}then(e){return super.then(e)}},on=(t,e)=>Ce.editor?Ce.editor.addAnimation(t,e):new xr(t,e,null,0,!1).init();var QM=(t,e)=>{if(Fn(e,"<")){let n=e[1]==="<",o=t._tail,r=o?o._offset+o._delay:0;return n?r:r+o.duration}},hi=(t,e)=>{let n=t.iterationDuration;if(n===Ie&&(n=0),te(e))return n;if(Mn(+e))return+e;let o=e,r=t?t.labels:null,i=!Po(r),s=QM(t,o),a=!te(s),c=e0.exec(o);if(c){let l=c[0],d=o.split(l),f=i&&d[0]?r[d[0]]:n,g=a?s:i?f:n,y=+d[1];return rs(g,y,l[0])}else return a?s:i?te(r[o])?n:r[o]:n};function XM(t){return fi((t.iterationDuration+t._loopDelay)*t.iterationCount-t._loopDelay)||Ie}function Im(t,e,n,o,r,i){let a=Mn(t.duration)&&t.duration<=Ie?n-Ie:n;e.composition&&Lo(e,a,1,1,Kt.AUTO);let c=o?new xr(o,t,e,a,!1,r,i):new nr(t,e,a);return e.composition&&c.init(!0),kn(e,c),tt(e,l=>{let f=l._offset+l._delay+l.duration;f>e.iterationDuration&&(e.iterationDuration=f)}),e.duration=XM(e),e}var T0=0,cd=class extends nr{constructor(e={}){super(e,null,0),++T0,this.id=te(e.id)?T0:e.id,this.duration=0,this.labels={};let n=e.defaults,o=Ce.defaults;this.defaults=n?Kl(n,o):o,this.composition=It(e.composition,!0),this.onRender=e.onRender||o.onRender;let r=It(e.playbackEase,o.playbackEase);this._ease=r?mi(r):null,this.iterationDuration=0}add(e,n,o){let r=di(n),i=di(e);if(r||i){if(this._hasChildren=!0,r){let s=n,a=Ce.editor&&Ce.editor.addTimelineChild,c=o&&o.type==="Stagger"&&Ce.editor,l=Qt(o)?o:null;if(l||c){let d=vr(e),f=this.duration,g=this.iterationDuration,y=s.id,b=0,C=d.length,O=a?a(e,s,this.id,o,C):null,Y=l||Ce.editor.resolveStagger(o.defaultValue);d.forEach(G=>{let ye=H({},O||s);this.duration=f,this.iterationDuration=g,te(y)||(ye.id=y+"-"+b);let ce=hi(this,Y(G,b,d,null,this));Im(ye,this,ce,G,b,d),b++})}else{let d=a?a(e,s,this.id,o):s,f=o&&o.type?o.defaultValue:o;Im(d,this,hi(this,f),e)}}else Im(e,this,hi(this,n));return this.composition&&this.init(!0),this}}sync(e,n){if(te(e)||e&&te(e.pause))return this;e.pause();let o=+(e.effect?e.effect.getTiming().duration:e.duration);!te(e)&&!te(e.persist)&&(e.persist=!0);let r=Ce.editor,i=r&&r.addTimelineChild;r&&r.addTimelineSync&&(n=r.addTimelineSync(e,n,this.id),r.addTimelineChild=null);let s=this.add(e,{currentTime:[0,o],duration:o,delay:0,ease:"linear",playbackEase:"linear"},n);return r&&(r.addTimelineChild=i),s}set(e,n,o){return te(n)?this:(n.duration=Ie,n.composition=Mt.replace,this.add(e,n,o))}call(e,n){return te(e)||e&&!Qt(e)?this:(Ce.editor&&Ce.editor.addTimelineCall&&(n=Ce.editor.addTimelineCall(e,n,this.id)),this.add({duration:0,delay:0,onComplete:()=>e(this)},n))}label(e,n){return te(e)||e&&!In(e)?this:(Ce.editor&&Ce.editor.addTimelineLabel&&(n=Ce.editor.addTimelineLabel(e,n,this.id)),this.labels[e]=hi(this,n),this)}remove(e,n){return Na(vr(e),this,n),this}stretch(e){let n=this.duration;if(n===er(e))return this;let o=e/n,r=this.labels;tt(this,i=>i.stretch(i.duration*o));for(let i in r)r[i]*=o;return super.stretch(e)}refresh(){return tt(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),tt(this,e=>e.revert,!0),ss(this)}then(e){return super.then(e)}},ld=t=>Ce.editor?Ce.editor.addTimeline(t):new cd(t).init();var km={};kh(km,{clamp:()=>fn,damp:()=>sI,degToRad:()=>rI,lerp:()=>Jo,mapRange:()=>oI,padEnd:()=>tI,padStart:()=>eI,radToDeg:()=>iI,round:()=>We,roundPad:()=>JM,snap:()=>a0,wrap:()=>nI});var JM=(t,e)=>(+t).toFixed(e),eI=(t,e,n)=>`${t}`.padStart(e,n),tI=(t,e,n)=>`${t}`.padEnd(e,n),nI=(t,e,n)=>((t-e)%(n-e)+(n-e))%(n-e)+e,oI=(t,e,n,o,r)=>o+(t-e)/(n-e)*(r-o),rI=t=>t*Math.PI/180,iI=t=>t*180/Math.PI,sI=(t,e,n,o)=>o?o===1?e:Jo(t,e,1-Math.exp(-o*n*.1)):t;var M0={_head:null,_tail:null},I0=(t,e,n)=>{let o=M0._head,r;for(;o;){let i=o._next,s=o.$el===t,a=!e||o.property===e,c=!n||o.parent===n;if(s&&a&&c){r=o.animation;try{r.commitStyles()}catch{}r.cancel(),Vn(M0,o);let l=o.parent;l&&(l._completed++,l.animations.length===l._completed&&(l.completed=!0,l.paused=!0,l.muteCallbacks||(l.onComplete(l),l._resolve(l))))}o=i}return r};function k0(t,e,n){let o=_r(t);if(!o.length)return;let[r]=o,i=Ta(r,e),s=is(e,r,i),a=Ro(r,s);if(te(n))return a;if(mn(a,Xt),Xt.t===Me.NUMBER||Xt.t===Me.UNIT){if(n===!1)return Xt.n;{let c=Da(r,Xt,n,!1);return`${We(c.n,Ce.precision)}${c.u}`}}}var N0=(t,e)=>{if(!te(e))return Ce.editor&&Ce.editor.addSet?Ce.editor.addSet(t,e):(e.duration=Ie,e.composition=It(e.composition,Mt.none),new xr(t,e,null,0,!0).resume())},D0=(t,e,n)=>{let o=vr(t);for(let r=0,i=o.length;r<i;r++)I0(o[r],n,e&&e.controlAnimation&&e);return Na(o,e,n),o};var O0=(t=zt)=>new nr({duration:1*Ce.timeScale,onComplete:t},null,0).resume(),P0=t=>{let e;return((...n)=>{let o,r,i,s,a;e&&(o=e.currentIteration,r=e.iterationProgress,i=e.reversed,s=e._alternate,a=e._startTime,e.revert());let c=t(...n);return c&&!Qt(c)&&c.revert&&(e=c),te(r)||(e.currentIteration=o,e.iterationProgress=(s&&o%2?!i:i)?1-r:r,e._startTime=a),c||zt})};var Gt={};kh(Gt,{$:()=>_r,addChild:()=>kn,clamp:()=>U0,cleanInlineStyles:()=>f0,createSeededRandom:()=>ud,damp:()=>G0,degToRad:()=>$0,forEachChildren:()=>tt,get:()=>k0,keepTime:()=>P0,lerp:()=>q0,mapRange:()=>V0,padEnd:()=>F0,padStart:()=>L0,radToDeg:()=>H0,random:()=>ds,randomPick:()=>W0,remove:()=>D0,removeChild:()=>Vn,round:()=>z0,roundPad:()=>R0,set:()=>N0,shuffle:()=>pd,snap:()=>B0,stagger:()=>jo,sync:()=>O0,wrap:()=>j0});var no=km,dd={},aI=(t,e=0)=>(...n)=>e?o=>t(...n,o):o=>t(o,...n),A0=t=>(...e)=>{let n=t(...e);return new Proxy(zt,{apply:(o,r,[i])=>n(i),get:(o,r)=>{if(dd[r])return A0((...i)=>{let s=dd[r](...i);return a=>s(n(a))})}})},oo=(t,e,n=0)=>{let o=(...r)=>(r.length<e.length?A0(aI(e,n)):e)(...r);return dd[t]||(dd[t]=o),o},R0=oo("roundPad",no.roundPad),L0=oo("padStart",no.padStart),F0=oo("padEnd",no.padEnd),j0=oo("wrap",no.wrap),V0=oo("mapRange",no.mapRange),$0=oo("degToRad",no.degToRad),H0=oo("radToDeg",no.radToDeg),B0=oo("snap",no.snap),U0=oo("clamp",no.clamp),z0=oo("round",no.round),q0=oo("lerp",no.lerp,1),G0=oo("damp",no.damp,1);var ds=(t=0,e=1,n=0)=>{let o=10**n;return Math.floor((Math.random()*(e-t+1/o)+t)*o)/o},cI=0,ud=(t,e=0,n=1,o=0)=>{let r=t===void 0?cI++:t;return(i=e,s=n,a=o)=>{r+=1831565813,r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61);let c=10**a;return Math.floor((((r^r>>>14)>>>0)/4294967296*(s-i+1/c)+i)*c)/c}},W0=t=>t[ds(0,t.length-1)],pd=(t,e=ds)=>{let n=t.length,o,r;for(;n;)r=e(0,--n),o=t[n],t[n]=t[r],t[r]=o;return t};var jo=(t,e={})=>{let n=[],o=0,r,i=null,s=e.from,a=e.reversed,c=e.ease,l=!te(c),f=l&&!te(c.ease)?c.ease:l?mi(c):null,g=e.grid,y=g===!0,b=e.axis,C=e.total,O=te(s)||s===0||s==="first",Y=s==="center",G=s==="last",ye=s==="random",ce=jn(s),_e=jn(t),ie=e.use,Qe=_e?Zl(t[0]):Zl(t),Pe=_e?Zl(t[1]):0,$e=Wl.exec((_e?t[1]:t)+to),dt=e.start||0+(_e?Qe:0),Et=e.seed,St=!te(Et)&&Et!==!1?ud(Et===!0?0:Et):ds,Xe=e.jitter,he=!te(Xe),D=jn(Xe),Z=D?Xe[0]:Xe||0,U=D?Xe[1]:Xe||0,A=O?0:Mn(s)?s:0;return(J,Ne,Je,jt,ue)=>{let[gt]=_r(J),He=te(C)?Je.length:C,tn=te(ie)?!1:Qt(ie)?ie(gt,Ne,He):Ro(gt,ie),Vt=Mn(tn)||In(tn)&&Mn(+tn)?+tn:Ne,Ye=Vt>=0&&Vt<He?Vt:Ne;if(Y&&(A=(He-1)/2),G&&(A=He-1),!n.length){if(y){let ke=!0,qe=!1,be=1/0,nt=1/0,oe=1/0,ct=-1/0,W=-1/0,mt=-1/0,Ke=[],ne=[],_t=[];for(let pe=0;pe<He;pe++){let st=Je[pe],Be=0,F=0,V=0,X=!1;if(st&&Qt(st.getBoundingClientRect)){let re=st.getBoundingClientRect();Be=re.left+re.width/2,F=re.top+re.height/2,X=!0}else{let re=st;re&&Mn(re.x)&&Mn(re.y)&&(Be=re.x,F=re.y,Mn(re.z)&&(V=re.z,qe=!0),X=!0)}if(!X){ke=!1;break}Ke.push(Be),ne.push(F),_t.push(V),Be<be&&(be=Be),F<nt&&(nt=F),V<oe&&(oe=V),Be>ct&&(ct=Be),F>W&&(W=F),V>mt&&(mt=V)}if(ke){let pe=Ke[0],st=ne[0],Be=_t[0];ce?(pe=be+s[0]*(ct-be),st=nt+s[1]*(W-nt),Be=qe?oe+(s.length>=3?s[2]:.5)*(mt-oe):0):Y?(pe=(be+ct)/2,st=(nt+W)/2,Be=(oe+mt)/2):G?(pe=Ke[He-1],st=ne[He-1],Be=_t[He-1]):Mn(s)&&(pe=Ke[s],st=ne[s],Be=_t[s]);for(let V=0;V<He;V++){let X=pe-Ke[V],re=st-ne[V],ut=Be-_t[V],Ct=yr(X*X+re*re+(qe?ut*ut:0));b==="x"&&(Ct=-X),b==="y"&&(Ct=-re),b==="z"&&(Ct=-ut),n.push(Ct)}let F=1/0;for(let V=0;V<He;V++){let X=li(n[V]);X>0&&X<F&&(F=X)}if(F>0&&F<1/0)for(let V=0;V<He;V++)n[V]=n[V]/F}else for(let pe=0;pe<He;pe++)n.push(li(A-pe))}else for(let ke=0;ke<He;ke++)if(!g)n.push(li(A-ke));else{let qe=g.length,be=g[0]*g[1],nt,oe,ct;ce?(nt=s[0]*(g[0]-1),oe=s[1]*(g[1]-1),ct=qe===3?(s.length>=3?s[2]:.5)*(g[2]-1):0):Y?(nt=(g[0]-1)/2,oe=(g[1]-1)/2,ct=qe===3?(g[2]-1)/2:0):(nt=A%g[0],oe=pi(A/g[0])%g[1],ct=qe===3?pi(A/be):0);let W=ke%g[0],mt=pi(ke/g[0])%g[1],Ke=qe===3?pi(ke/be):0,ne=nt-W,_t=oe-mt,pe=ct-Ke,st=yr(ne*ne+_t*_t+(qe===3?pe*pe:0));b==="x"&&(st=-ne),b==="y"&&(st=-_t),b==="z"&&(st=-pe),n.push(st)}o=n[0];for(let ke=1;ke<He;ke++)n[ke]>o&&(o=n[ke]);if(f||a)for(let ke=0;ke<He;ke++){let qe=n[ke];f&&(qe=f(qe/o)*o),a&&(qe=b?-qe:li(o-qe)),n[ke]=qe}if(he){i=new Array(He);for(let ke=0;ke<He;ke++)i[ke]=St(-1,1,4)}ye&&(n=pd(n,St))}let Bt=_e?(Pe-Qe)/o:Qe;te(r)&&(r=ue?hi(ue,te(e.start)?ue.iterationDuration:dt):dt);let Pt=r+(Bt*We(n[Ye],2)||0);if(he){let ke=o?n[Ye]/o:0,qe=Z+(U-Z)*ke;Pt=Pt+i[Ye]*qe}return e.modifier&&(Pt=e.modifier(Pt)),$e&&(Pt=`${Pt}${$e[2]}`),Pt}};var lI=t=>{let e=1;if(t&&t.getCTM){let n=t.getCTM();if(n){let o=yr(n.a*n.a+n.b*n.b),r=yr(n.c*n.c+n.d*n.d);e=(o+r)/2}}return e},dI=(t,e,n)=>{let o=eo,r=getComputedStyle(t),i=r.strokeLinecap,s=r.vectorEffect==="non-scaling-stroke"?t:null,a=i,c=new Proxy(t,{get(l,d){let f=l[d];return d===ql?l:d==="setAttribute"?(...g)=>{if(g[0]==="draw"){let b=g[1].split(" "),C=+b[0],O=+b[1],Y=lI(s),G=C*-o*Y,ye=O*o*Y+G,ce=o*Y+(C===0&&O===1||C===1&&O===0?0:10*Y)-ye;if(i!=="butt"){let _e=C===O?"butt":i;a!==_e&&(l.style.strokeLinecap=`${_e}`,a=_e)}l.setAttribute("stroke-dashoffset",`${G}`),l.setAttribute("stroke-dasharray",`${ye} ${ce}`)}return Reflect.apply(f,l,g)}:Qt(f)?(...g)=>Reflect.apply(f,l,g):f}});return t.getAttribute("pathLength")!==`${o}`&&(t.setAttribute("pathLength",`${o}`),c.setAttribute("draw",`${e} ${n}`)),c},Nm=(t,e=0,n=0)=>vr(t).map(r=>dI(r,e,n));var hn=class t{enabled=typeof window>"u"||typeof window.matchMedia!="function"||!window.matchMedia("(prefers-reduced-motion: reduce)").matches;get isEnabled(){return this.enabled}settle(e,n,o){setTimeout(()=>Gt.set(e,n),o)}enter(e,n={}){if(!e)return;let{y:o=8,scale:r,duration:i=260,delay:s=0,ease:a="out(3)"}=n,c={opacity:1,translateY:"0px",scale:1};if(!this.enabled){Gt.set(e,c);return}this.settle(e,c,s+i+120),on(e,Q(H({opacity:[0,1],translateY:[`${o}px`,"0px"]},r===void 0?{}:{scale:[r,1]}),{duration:i,delay:s,ease:a}))}enterList(e,n={}){let o=Array.from(e);if(o.length===0)return;let{y:r=8,duration:i=240,delay:s=0,each:a=30,ease:c="out(3)"}=n;if(!this.enabled){for(let l of o)Gt.set(l,{opacity:1,translateY:"0px"});return}o.forEach((l,d)=>{this.settle(l,{opacity:1,translateY:"0px"},s+d*a+i+120)}),on(o,{opacity:[0,1],translateY:[`${r}px`,"0px"],duration:i,delay:jo(a,{start:s}),ease:c})}reveal(e,n,o={}){let{animate:r=!0,after:i}=o;if(!e){i?.();return}let s={opacity:0,height:"0px"},a={opacity:1,height:"auto"},c=Math.max(e.scrollHeight,e.getBoundingClientRect().height);if(!this.enabled||!r||c===0){Gt.set(e,n?a:s),i?.();return}this.settle(e,n?a:s,(n?240:180)+160),on(e,{opacity:n?[0,1]:[1,0],height:n?["0px",`${c}px`]:[`${c}px`,"0px"],duration:n?240:180,ease:n?"out(3)":"in(2)",onComplete:()=>{Gt.set(e,n?a:s),i?.()}})}pulse(e){!this.enabled||!e||(this.settle(e,{opacity:1,scale:1},520),on(e,{opacity:[.4,1],scale:[.99,1],duration:320,ease:"out(2)"}))}pop(e,n={}){if(!e)return;let{scale:o=1.18,duration:r=220,ease:i="out(2)"}=n;this.enabled&&(this.settle(e,{scale:1},r+120),on(e,{scale:[o,1],duration:r,ease:i}))}loop(e,n,o={}){if(!e||!this.enabled)return()=>{};let{duration:r=900,delay:i=0,ease:s="inOut(2)",alternate:a=!0}=o,c=on(e,Q(H({},n),{duration:r,delay:i,ease:s,loop:!0,alternate:a})),l={};for(let[d,f]of Object.entries(n))l[d]=f[0];return()=>{c.pause(),Gt.set(e,l)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var us=class t{target=null;aim(e){this.target=e}read(){return this.target}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function uI(t,e){if(t&1&&(v(0,"span",22),u(1),x()),t&2){let n=e.$implicit;p(),P(n)}}var Y0=1800,pI=520,fI=Y0,fd=class t{status=ee("Connecting to the host\u2026");ready=ee(!1);dismissed=rt();letters=["M","o","r","s","e"];leaving=R(!1);host=N(Zt);animation=N(hn);handoff=N(us);intro;loops=[];introSettle;holdTimer;outroSettle;startedAt=0;left=!1;viewReady=!1;dismissedOnce=!1;constructor(){de(()=>{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 n=this.query(".ring-a"),o=this.query(".ring-b"),r=this.query(".halo"),i=this.query(".aura"),s=this.query(".grid"),a=this.query(".spark"),c=this.query(".dot-a"),l=this.query(".dot-b"),d=this.query(".dash"),f=this.queryAll(".letter"),g=this.query(".tagline"),y=this.query(".foot"),b=this.query(".pulse");try{let C=[n,o].filter(O=>O!==null).map(O=>Nm(O)[0]);for(let O of C)O.setAttribute("draw","0 0");this.intro=ld(),this.intro.add(this.one(r),{opacity:[0,.72],scale:[.45,1],duration:900,ease:"out(4)"},0).add(this.one(i),{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(C,{draw:["0 0","0 1"],duration:720,ease:"inOut(3)",delay:jo(110)},120).add(this.one(a),{opacity:[0,1],duration:420,ease:"out(2)"},260).add(this.one(o),{r:[45,8],opacity:[1,.2],duration:460,ease:"in(2)"},720).add(this.one(c),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:"outElastic(1, .55)"},820).add(this.one(l),{opacity:[0,1],scale:[0,1],translateY:[10,0],duration:700,ease:"outElastic(1, .55)"},890).add(this.one(d),{opacity:[0,1],scaleX:[0,1],duration:700,ease:"outElastic(1, .55)"},960).add(this.one(r),{opacity:[.72,1,.6],scale:[1,1.14,1],duration:620,ease:"inOut(2)"},1060).add(f,{opacity:[0,1],translateY:[16,0],scale:[.85,1],duration:500,ease:"out(3)",delay:jo(40)},1100).add(this.one(g),{opacity:[0,1],translateY:[8,0],duration:420,ease:"out(3)"},1480).add(this.one(y),{opacity:[0,1],translateY:[10,0],duration:420,ease:"out(3)"},1580).add(this.one(b),{opacity:[0,1],scale:[.6,1],duration:420,ease:"out(2)"},1580),this.introSettle=setTimeout(()=>this.snap(),Y0+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"),Gt.set(this.queryAll(".boot"),{opacity:1}),Gt.set(this.queryAll(".aura"),{opacity:.85}),Gt.set(this.queryAll(".grid"),{opacity:.5}),Gt.set(this.queryAll(".halo"),{opacity:.62,scale:1}),Gt.set(this.queryAll(".spark"),{opacity:1}),Gt.set(this.queryAll(".dot, .dash"),{opacity:1,scale:1,translateY:"0px"}),Gt.set(this.queryAll(".letter"),{opacity:1,scale:1,translateY:"0px"}),Gt.set(this.queryAll(".tagline, .foot"),{opacity:1,translateY:"0px"}),Gt.set(this.queryAll(".pulse"),{opacity:1,scale:1}),Gt.set(this.queryAll(".ring-b"),{opacity:.2})}startAmbient(){if(this.animation.isEnabled)try{this.startAmbientLoops()}catch{}}startAmbientLoops(){let e=l=>{this.loops.push(l)},n=[[this.query(".wave-a"),1050],[this.query(".wave-b"),1900]];for(let[l,d]of n)l&&e(on(l,{scale:[.4,2.05],opacity:[0,.7,0],duration:2600,delay:d,loop:!0,ease:"out(3)"}));let o=this.one(this.query(".spin-a")),r=this.one(this.query(".spin-b")),i=this.one(this.query(".orbit")),s=this.one(this.query(".spark")),a=this.one(this.query(".halo")),c=this.queryAll(".ellipsis i");e(on(o,{rotate:[0,360],duration:16e3,loop:!0,ease:"linear"})),e(on(r,{rotate:[0,-360],duration:22e3,loop:!0,ease:"linear"})),e(on(i,{rotate:[0,360],duration:5400,delay:340,loop:!0,ease:"linear"})),e(on(s,{scale:[1,1.9,1],opacity:[1,.6,1],duration:1100,delay:340,loop:!0,ease:"inOut(2)"})),e(on(a,{opacity:[.6,.78],scale:[1,1.045],duration:2400,delay:1400,loop:!0,alternate:!0,ease:"inOut(2)"})),c.length>0&&e(on(c,{opacity:[.15,1],translateY:[0,-2],duration:620,delay:jo(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,fI-(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"),n=this.query(".aura"),o=this.query(".grid"),r=this.query(".mark"),i=this.query(".halo"),s=this.queryAll(".letter"),a=this.query(".words"),c=this.query(".foot"),l=this.handoff.read(),d=r?.getBoundingClientRect(),f=l&&d&&d.width>0?{translateX:l.x-(d.left+d.width/2),translateY:l.y-(d.top+d.height/2),scale:l.width/d.width}:null;try{let g=ld({defaults:{ease:"inOut(2)"},onComplete:()=>this.dismiss()}).add(this.one(i),{opacity:0,scale:1.3,duration:320},0).add(this.one(n,o),{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,{translateY:-10,opacity:0,duration:260,delay:jo(20)},0).add(this.one(a,c),{opacity:0,duration:220},40);f&&r?g.add(r,Q(H({},f),{duration:560,ease:"inOut(3)"}),0).add(r,{opacity:0,duration:160,ease:"out(2)"},500).add(this.one(e),{opacity:0,duration:380},520):g.add(this.one(r),{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(),pI+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(n=>n!==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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,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(n,o){n&1&&(v(0,"div",0),ze(1,"span",1)(2,"span",2)(3,"span",3),v(4,"div",4)(5,"div",5),ze(6,"span",6)(7,"span",7)(8,"span",8),Ut(),v(9,"svg",9)(10,"g",10),ze(11,"circle",11),x(),v(12,"g",12),ze(13,"circle",13),x(),v(14,"g",14),ze(15,"circle",15),x()(),Sn(),v(16,"span",16),ze(17,"span",17)(18,"span",18)(19,"span",19),x()(),v(20,"div",20)(21,"div",21),xe(22,uI,2,1,"span",22,es),x(),v(24,"div",23),u(25,"the pi coding agent"),x()()(),v(26,"div",24),ze(27,"span",25),v(28,"span",26),u(29),x(),v(30,"span",27),ze(31,"i")(32,"i")(33,"i"),x()()()),n&2&&(De("leaving",o.leaving()),p(22),Ee(o.letters),p(7),P(o.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 mI(t,e){t&1&&(v(0,"p",19),u(1),x()),t&2&&(p(),P(e))}function hI(t,e){if(t&1){let n=z();v(0,"div",23)(1,"p",24),u(2,"Start a Morse host"),x(),v(3,"div",25)(4,"span",26),u(5,"installed CLI"),x(),v(6,"code"),u(7,"morse start"),x()(),v(8,"div",25)(9,"span",26),u(10,"from the repo"),x(),v(11,"code"),u(12,"npm run dev:server"),x()(),v(13,"p",27),u(14," Not installed? "),v(15,"code"),u(16,"npm install -g @supanadit/morse-web"),x(),u(17,". "),x(),v(18,"p",27),u(19," Stopped it with "),v(20,"code"),u(21,"morse stop"),x(),u(22,"? "),v(23,"code"),u(24,"morse start"),x(),u(25," brings it back \u2014 "),v(26,"code"),u(27,"morse logs"),x(),u(28," says what happened. "),x(),v(29,"p",27),u(30,"or point this window at a host that is already running"),x(),v(31,"form",28),q("submit",function(r){I(n);let i=h();return k(i.submit(r))}),v(32,"input",29),q("input",function(r){I(n);let i=h();return k(i.onInput(r))}),x(),v(33,"button",30),u(34,"Connect"),x()()()}if(t&2){let n=h();p(32),Fe("value",n.server()),p(),Fe("disabled",n.server().trim().length===0)}}var md=class t{eyebrow=ee("Offline");title=ee("Morse is waiting for a host");body=ee("This window is only the frontend. The pi coding agent runs behind a Morse host \u2014 start one and this screen will clear itself.");detail=ee("");isBrowser=typeof globalThis<"u"&&typeof globalThis.acquireVsCodeApi>"u";server=R("");retry=rt();explore=rt();connect=rt();onInput(e){this.server.set(e.target.value)}submit(e){e.preventDefault();let n=this.server().trim();n.length>0&&this.connect.emit(n)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,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(n,o){if(n&1&&(v(0,"div",0),ze(1,"span",1)(2,"span",2)(3,"span",3),v(4,"div",4)(5,"div",5),ze(6,"span",6)(7,"span",7)(8,"span",8),Ut(),v(9,"svg",9),ze(10,"circle",10)(11,"circle",11),x(),Sn(),v(12,"span",12),ze(13,"span",13)(14,"span",13)(15,"span",14),x()(),v(16,"p",15),ze(17,"span",16),u(18),x(),v(19,"h1",17),u(20),x(),v(21,"p",18),u(22),x(),T(23,mI,2,1,"p",19),v(24,"div",20)(25,"button",21),q("click",function(){return o.retry.emit()}),u(26,"Retry now"),x(),v(27,"button",22),q("click",function(){return o.explore.emit()}),u(28,"Explore the app"),x()(),T(29,hI,35,2,"div",23),x()()),n&2){let r;p(18),P(o.eyebrow()),p(2),P(o.title()),p(2),P(o.body()),p(),M((r=o.detail())?23:-1,r),p(6),M(o.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 gI=["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"];function Dm(t){return JSON.stringify(t)}function yI(t){return vI(t,gI)}function hd(t){let e=Pa(t);return yI(e)?e:void 0}function Pa(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return}return t instanceof Uint8Array?Pa(new TextDecoder().decode(t)):t instanceof ArrayBuffer?Pa(new TextDecoder().decode(new Uint8Array(t))):t}function vI(t,e){if(typeof t!="object"||t===null)return!1;let n=t.type;return typeof n=="string"&&e.includes(n)}function gd(t={cwd:"",name:"workspace"}){return{protocolVersion:17,connection:"connecting",capabilities:null,state:{workspace:t,thinkingLevel:"off",availableModels:[],availableThinkingLevels:[],availableCommands:[],streaming:!1,busy:!1,agentReady:!1,agentStarting:!1},items:[],sessions:[],activity:[],projects:[],pendingInteraction:null}}function Z0(t,e,n){return Q(H({},t),{connection:e,connectionDetail:n})}function K0(t,e){switch(e.type){case"host/ready":return Q(H({},t),{connection:"ready",protocolVersion:e.payload.protocolVersion,capabilities:e.payload.capabilities,state:e.payload.state,frontend:e.payload.frontend??t.frontend});case"session/state":return Q(H({},t),{state:e.payload});case"transcript/append":return Q(H({},t),{items:[...t.items,e.payload]});case"transcript/update":return Q(H({},t),{items:_I(t.items,e.payload)});case"transcript/delta":return Q(H({},t),{items:bI(t.items,e.payload)});case"transcript/replace":return Q(H({},t),{items:[...e.payload.items]});case"transcript/prepend":return Q(H({},t),{items:[...e.payload.items,...t.items]});case"session/list":return Q(H({},t),{sessions:[...e.payload.sessions]});case"session/activity":return Q(H({},t),{activity:[...e.payload.sessions]});case"project/list":return Q(H({},t),{projects:[...e.payload.projects]});case"interaction/request":return Q(H({},t),{pendingInteraction:e.payload});case"interaction/dismiss":return t.pendingInteraction?.requestId===e.payload.requestId?Q(H({},t),{pendingInteraction:null}):t;case"notice":return Q(H({},t),{lastNotice:H({},e.payload)});case"error":return Q(H({},t),{lastError:H({},e.payload)});default:return t}}function _I(t,e){let n=t.findIndex(r=>r.id===e.id);if(n===-1)return[...t,e];let o=[...t];return o[n]=e,o}function bI(t,e){let n=t.findIndex(i=>i.id===e.id);if(n===-1)return t;let o=t[n];if(o.kind!=="assistant")return t;let r=[...t];return r[n]=Q(H({},o),{text:o.text+(e.text??""),thinking:o.thinking+(e.thinking??""),streaming:!0}),r}var xI=5e3;function Q0(t){let e=gd(t.workspace??{cwd:"",name:"workspace"}),n=new Set,o=b=>{e=b;for(let C of[...n])C(e)},r=b=>{t.transport.send(b)},i=new Map,s=0,a=new Set,c=new Set,l=new Set,d=(b,C)=>{s+=1;let O=`host-${s}`;return new Promise(Y=>{let G=setTimeout(()=>{i.delete(O),Y(void 0)},xI);i.set(O,{resolve:Y,timer:G}),r({type:"host/command",payload:{command:b,args:C,requestId:O}})})},f=t.transport.onMessage(b=>{if(b.type==="host/command/result"){let C=i.get(b.payload.requestId);C&&(clearTimeout(C.timer),i.delete(b.payload.requestId),C.resolve(b.payload.ok?b.payload.data:void 0));return}if(b.type==="context/selection"){for(let C of[...a])C(b.payload);return}if(b.type==="context/selectionLive"){for(let C of[...c])C(b.payload);return}if(b.type==="composer/seed"){for(let C of[...l])C(b.payload);return}o(K0(e,b))}),g=t.transport.onStatus((b,C)=>{o(Z0(e,EI(b),b==="open"?"Waiting for the Morse host to answer\u2026":C))}),y={ready:b=>r({type:"client/ready",payload:{protocolVersion:17,frontend:b??t.frontend}}),prompt:(b,C,O,Y)=>r({type:"chat/prompt",payload:{text:b,mode:C,images:O,pins:Y}}),editMessage:(b,C)=>r({type:"chat/edit",payload:{itemId:b,text:C}}),forkMessage:b=>r({type:"chat/fork",payload:{itemId:b}}),hostCommand:(b,C)=>d(b,C),abort:()=>r({type:"chat/abort",payload:{}}),newSession:b=>r({type:"session/new",payload:{cwd:b}}),loadSession:(b,C)=>r({type:"session/load",payload:{sessionId:b,cwd:C}}),activateSession:(b,C)=>r({type:"session/activate",payload:{sessionId:b,cwd:C}}),closeSession:b=>r({type:"session/close",payload:{sessionId:b}}),deleteSession:b=>r({type:"session/delete",payload:{sessionId:b}}),compactSession:b=>r({type:"session/compact",payload:{instructions:b}}),loadOlderHistory:()=>r({type:"history/load",payload:{}}),requestSessions:()=>r({type:"session/list",payload:{}}),requestProjects:()=>r({type:"project/list",payload:{}}),refreshCommands:()=>r({type:"commands/refresh",payload:{}}),openProject:b=>r({type:"project/open",payload:{path:b}}),setModel:(b,C)=>r({type:"model/set",payload:{provider:b,id:C}}),setThinkingLevel:b=>r({type:"thinking/set",payload:{level:b}}),respond:b=>r({type:"interaction/respond",payload:b})};return t.transport.connect(),y.ready(),{getView:()=>e,subscribe:b=>(n.add(b),()=>{n.delete(b)}),onContextSelection:b=>(a.add(b),()=>{a.delete(b)}),onContextSelectionLive:b=>(c.add(b),()=>{c.delete(b)}),onComposerSeed:b=>(l.add(b),()=>{l.delete(b)}),actions:y,dispose:()=>{f(),g(),n.clear(),t.transport.dispose()}}}function EI(t){switch(t){case"open":return"connecting";case"connecting":return"connecting";case"error":return"error";case"closed":return"closed"}}var CI=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/,X0=/<([^<>]+)>|\[([^\[\]]+)\]/g,J0=/\$(\d+)|\$\{(\d+):/g,wI=/\$(?:@|ARGUMENTS)|\$\{(?:@|ARGUMENTS)(?::|-)/;function SI(t){let e=[],n="",o=null;for(let r of t)o!==null?r===o?o=null:n+=r:r==='"'||r==="'"?o=r:/\s/.test(r)?n.length>0&&(e.push(n),n=""):n+=r;return n.length>0&&e.push(n),e}function TI(t,e){let n=e.join(" ");return t.replace(/\$\{(\d+|ARGUMENTS|@):-([^}]*)\}|\$\{@:(\d+)(?::(\d+))?\}|\$(ARGUMENTS|@|\d+)/g,(o,r,i,s,a,c)=>{if(r!==void 0){let l=r==="@"||r==="ARGUMENTS"?n:e[Number.parseInt(r,10)-1];return l||i}if(s!==void 0){let l=Number.parseInt(s,10)-1;return l<0&&(l=0),a!==void 0?e.slice(l,l+Number.parseInt(a,10)).join(" "):e.slice(l).join(" ")}return c==="ARGUMENTS"||c==="@"?n:e[Number.parseInt(c,10)-1]??""})}function MI(t){if(t===void 0)return[];let e=[];X0.lastIndex=0;let n,o=0;for(;(n=X0.exec(t))!==null;){o+=1;let r=(n[1]??n[2]??"").trim();e.push({id:`arg${o}`,label:r.length>0?r:`Argument ${o}`,required:n[1]!==void 0,index:o})}return e}function II(t){let e=0;J0.lastIndex=0;let n;for(;(n=J0.exec(t))!==null;){let r=Number.parseInt(n[1]??n[2]??"0",10);Number.isFinite(r)&&r>e&&(e=r)}let o=[];for(let r=1;r<=e;r+=1)o.push({id:`arg${r}`,label:`Argument ${r}`,required:!1,index:r});return o}function kI(t){let e=/^(['"])([\s\S]*)\1$/.exec(t);return e===null?t:e[2]}function Om(t){let e=CI.exec(t);if(e===null)return{body:t};let n=/^argument-hint:[ \t]*(.*)$/m.exec(e[1]);return{body:t.slice(e[0].length),argumentHint:n===null?void 0:kI(n[1].trim())}}function eb(t){let e=Om(t),n=MI(e.argumentHint),o=n.length>0?n:II(e.body);if(o.length>0)return{body:e.body,arguments:o};if(wI.test(e.body))return{body:e.body,arguments:[{id:"arguments",label:"Arguments",required:!1}]}}function tb(t,e,n=""){let o=t.arguments.find(a=>a.index===void 0),r=o!==void 0?SI(e[o.id]??""):t.arguments.map(a=>(e[a.id]??"").trim()),i=TI(t.body,r),s=n.trim();return s.length===0?i:`${i.replace(/\s+$/,"")}
8
7
 
9
- 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.`,i=this.nextId("assistant");this.schedule(()=>{this.appendItem({kind:"assistant",id:i,at:Date.now(),text:"",thinking:"",streaming:!0,model:this.state.model?.name})},n),n+=40;for(let s of J0(r)){let a=s;this.schedule(()=>{this.emit({type:"transcript/delta",payload:{id:i,text:a}})},n),n+=55}this.schedule(()=>{this.streaming=!1,this.updateItem({kind:"assistant",id:i,at:Date.now(),text:r,thinking:"",streaming:!1,model:this.state.model?.name}),this.emit({type:"session/state",payload:X(H({},this.state),{streaming:!1})}),this.emitActivity()},n+80)}appendItem(e){this.items=[...this.items,e],this.emit({type:"transcript/append",payload:e})}updateItem(e){this.items=this.items.map(n=>n.id===e.id?e:n),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,n){this.emit({type:"notice",payload:{level:e,text:n,at:Date.now()}})}schedule(e,n){let o=setTimeout(()=>{this.timers.delete(o),this.disposed||e()},n);this.timers.add(o)}nextId(e){return this.counter+=1,`mock-${e}-${this.counter}`}emitActivity(){let e=this.sessions.filter(n=>this.hot.has(n.id)).slice(0,4).map(n=>({sessionKey:n.id,streaming:this.streaming,busy:!1,agentReady:!0,agentStarting:!1}));this.emit({type:"session/activity",payload:{sessions:e}})}emit(e){this.emitMessage(e)}},xI=["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"],EI={"/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 CI(t){let e=typeof t=="string"&&t.trim().length>0?t.trim():fs.cwd,n=e==="/mock"?void 0:e.slice(0,e.lastIndexOf("/"))||"/";return{path:e,parent:n,directories:EI[e]??[],isGitRepo:e==="/mock/projects/morse",canOpen:!0,roots:[{name:"mock",path:"/mock"},{name:"workspace",path:fs.cwd}]}}function J0(t){return t.match(/.{1,14}/g)??[]}function tb(){return typeof location>"u"?!1:new URL(location.href).searchParams.get("scope")==="workspace"}function wI(){return typeof location>"u"?!1:new URL(location.href).searchParams.get("empty")==="1"}function nb(){let t=Date.now(),e=[{id:"/mock/morse/2026-01-01_ui-overhaul.jsonl",title:"Sidebar overhaul: projects, sessions, composer",cwd:fs.cwd,updatedAt:t-6e4,messageCount:12},{id:"/mock/morse/2026-01-01_scrollbar.jsonl",title:"Improve native scrollbar: compact and themed",cwd:fs.cwd,updatedAt:t-7*6e4,messageCount:6}];return tb()?e:[...e,{id:"/mock/morse/2026-01-01_providers.jsonl",title:"Add provider picker with context sizes",cwd:"/mock/morse",updatedAt:t-20*6e4,messageCount:24},{id:"/mock/morse/2026-01-01_greeting.jsonl",title:"Greeting",cwd:"/mock/morse",updatedAt:t-180*6e4,messageCount:2},{id:"/mock/eigen-morph/2026-01-01_manifest.jsonl",title:"Manifest report-worker untuk production",cwd:"/mock/eigen-morph",updatedAt:t-1560*6e4,messageCount:31}]}function eb(){let t=new Map;for(let e of nb()){let n=t.get(e.cwd);if(n){n.sessionCount+=1,n.lastUsedAt=Math.max(n.lastUsedAt,e.updatedAt);continue}t.set(e.cwd,{path:e.cwd,name:e.cwd.split("/").filter(Boolean).at(-1)??e.cwd,sessionCount:1,lastUsedAt:e.updatedAt})}return[...t.values()].sort((e,n)=>n.lastUsedAt-e.lastUsedAt)}function SI(){let t=Date.now(),e=["Plan:","","1. **Navigation** \u2014 projects \u2192 sessions, collapsible, with a session search and a project filter.","2. **Header** \u2014 session title, scope, status badge, `Compact`, and the sidebar fold.","3. **Composer** \u2014 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 \u2192 sessions |","| VS Code | `workspace` | one group (open folders) |","","See `docs/FRONTENDS.md` for the rule that frontends must read capabilities instead of guessing."].join(`
10
- `);return[{kind:"user",id:"mock-seed-user-1",at:t-15e4,text:"Refactor the sidebar to match the reference, make it responsive, and render markdown properly."},{kind:"tool",id:"mock-seed-tool-1",at:t-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:t-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:t-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:t-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:t-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:t-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:t-6e4,level:"info",text:"Everything is wired through the same wire protocol \u2014 try ?scope=workspace to see the VS Code shape."}]}function ob(t={}){if(X0())return new yd;let e=t.href??(typeof location<"u"?location.href:"http://localhost/"),n=new URL(e,"http://localhost/");if(t.forceMock===!0||n.searchParams.get("mock")==="1")return new vd;let o=n.searchParams.get("server");if(o)return new Aa({url:o,WebSocketImpl:t.WebSocketImpl});let r=n.protocol==="https:",i=t.websocketPath??"/ws";return new Aa({url:`${r?"wss":"ws"}://${n.host}${i}`,WebSocketImpl:t.WebSocketImpl})}var rb=new Be("morse.transport",{providedIn:"root",factory:()=>ob()});var ib={name:"@morse/ui-angular",version:"0.3.1"},MI=6e3,Ct=class t{transport=I(rb);destroyRef=I(ht);view=F(gd());client;actions;slowConnectionTimer;connection=S(()=>this.view().connection);connectionDetail=S(()=>this.view().connectionDetail);protocolVersion=S(()=>this.view().protocolVersion);frontend=S(()=>this.view().frontend);version=S(()=>this.frontend()?.version??ib.version);slowConnection=F(!1);capabilities=S(()=>this.view().capabilities);state=S(()=>this.view().state);items=S(()=>this.view().items);projects=S(()=>this.view().projects);sessions=S(()=>this.view().sessions);activity=S(()=>this.view().activity);sessionActivity=S(()=>{let e=new Map;for(let n of this.view().activity)e.set(n.sessionKey,n);return e});pendingInteraction=S(()=>this.view().pendingInteraction);lastNotice=S(()=>this.view().lastNotice);lastError=S(()=>this.view().lastError);agentReady=S(()=>this.view().state.agentReady);agentStarting=S(()=>this.view().state.agentStarting);agentError=S(()=>this.view().state.agentError);agentFailure=S(()=>this.view().state.agentFailure);running=S(()=>this.view().state.streaming||this.view().state.busy);workspace=S(()=>this.view().state.workspace);model=S(()=>this.view().state.model);thinkingLevel=S(()=>this.view().state.thinkingLevel);availableModels=S(()=>this.view().state.availableModels);availableThinkingLevels=S(()=>this.view().state.availableThinkingLevels);availableCommands=S(()=>this.view().state.availableCommands);usage=S(()=>this.view().state.usage);hasOlderHistory=S(()=>this.view().state.hasOlderHistory===!0);loadingOlderHistory=S(()=>this.view().state.loadingOlderHistory===!0);constructor(){this.client=Z0({transport:this.transport,frontend:ib}),this.actions=this.client.actions;let e=this.client.getView();this.view.set(e),this.trackSlowConnection(e.connection),this.client.subscribe(n=>{this.view.set(n),this.trackSlowConnection(n.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)},MI))}clearSlowConnectionTimer(){this.slowConnectionTimer!==void 0&&(clearTimeout(this.slowConnectionTimer),this.slowConnectionTimer=void 0)}prompt(e,n="new",o,r){this.actions.prompt(e,n,o,r)}editMessage(e,n){this.actions.editMessage(e,n)}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,n){this.actions.activateSession(e,n)}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()}setModel(e,n){this.actions.setModel(e,n)}setThinkingLevel(e){this.actions.setThinkingLevel(e)}respond(e){this.actions.respond(e)}hostCommand(e,n){this.actions.hostCommand(e,n)}requestHostCommand(e,n){return this.actions.hostCommand(e,n)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var sb="morse.navigation.collapsed";function II(){try{return globalThis.localStorage?.getItem(sb)==="1"}catch{return!1}}function kI(t){try{globalThis.localStorage?.setItem(sb,t?"1":"0")}catch{}}var rn=class t{navigationVisible=F(!1);navigationOpen=this.navigationVisible.asReadonly();collapsed=F(II());navigationCollapsed=this.collapsed.asReadonly();projectPicker=F(!1);projectPickerOpen=this.projectPicker.asReadonly();about=F(!1);aboutOpen=this.about.asReadonly();shortcuts=F(!1);shortcutsOpen=this.shortcuts.asReadonly();projectFilter=F(!1);projectFilterOpen=this.projectFilter.asReadonly();compactPrompt=F(void 0);compactConfirmOpen=S(()=>this.compactPrompt()!==void 0);compactInstructions=S(()=>this.compactPrompt()?.instructions);modalOpen=S(()=>this.about()||this.shortcuts()||this.projectPicker()||this.projectFilter()||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),kI(e)}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)}openProjectFilter(){this.projectFilter.set(!0)}closeProjectFilter(){this.projectFilter.set(!1)}openProjectPicker(){this.projectPicker.set(!0)}closeProjectPicker(){this.projectPicker.set(!1)}requestCompact(e){this.compactPrompt.set(e?{instructions:e}:{})}closeCompactPrompt(){this.compactPrompt.set(void 0)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ra=[{id:"session.new",group:"Session",label:"New session",detail:"The sidebar button, on the keyboard \u2014 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:"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:"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 La(t){return"binding"in t}function ab(){let t=globalThis.navigator;return/mac|iphone|ipad/i.test(t?.userAgent??"")}function cb(t,e=ab()){let n=[];return t.mod===!0&&n.push(e?"\u2318":"Ctrl"),t.alt===!0&&n.push(e?"\u2325":"Alt"),n.push(t.key.length===1&&/[a-z]/.test(t.key)?t.key.toUpperCase():t.key),e?n.join(""):n.join("+")}var ro=class t{shell=I(rn);handlers=new Map;revision=F(0);catalog=Ra;available=S(()=>{this.revision();let e=new Map;for(let n of Ra){if(!La(n))continue;let o=this.handlers.get(n.id);e.set(n.id,o!==void 0&&(o.enabled?.()??!0))}return e});constructor(){let e=globalThis.document;e&&(e.addEventListener("keydown",this.onKeydown,!0),I(ht).onDestroy(()=>e.removeEventListener("keydown",this.onKeydown,!0)))}bind(e,n,o){let r={run:n,enabled:o};return this.handlers.set(e,r),this.bump(),()=>{this.handlers.get(e)===r&&(this.handlers.delete(e),this.bump())}}bump(){this.revision.update(e=>e+1)}onKeydown=e=>{if(e.defaultPrevented||e.isComposing||e.getModifierState?.("AltGraph")===!0)return;let n=Ra.find(r=>La(r)&&NI(r.binding,e));if(n===void 0||n.whileTyping!==!0&&DI(e.target)||n.overlay===!0&&this.shell.modalOpen()&&!(n.id==="help.shortcuts"&&this.shell.shortcutsOpen()))return;let o=this.handlers.get(n.id);o===void 0||o.enabled!==void 0&&!o.enabled()||(e.preventDefault(),o.run())};static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function NI(t,e){return e.key.toLowerCase()!==t.key.toLowerCase()||t.mod===!0!==(ab()?e.metaKey:e.ctrlKey)?!1:t.alt===!0===e.altKey}function DI(t){let e=t;if(e===null||typeof e.tagName!="string")return!1;let n=e.tagName.toLowerCase();return n==="input"||n==="textarea"||n==="select"||e.isContentEditable===!0}var OI=10*1024*1024,ms=class t{morse=I(Ct);available=S(()=>this.morse.capabilities()?.fileUpload===!0);async upload(e){let n=[],o=[];for(let r of e){if(r.size>OI){o.push(r.name);continue}let i=await Nm(r);if(!i){o.push(r.name);continue}let s=await this.morse.requestHostCommand("uploadFile",{name:r.name,mimeType:r.type,data:i}),a=typeof s?.path=="string"?s.path:void 0;if(!a){o.push(r.name);continue}n.push({path:a,name:r.name,bytes:typeof s?.bytes=="number"?s.bytes:r.size})}return{added:n,failed:o}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var _d=class t{morse=I(Ct);cache=F([]);loading=F(!1);requested=!1;loadedFor;files=this.cache.asReadonly();busy=this.loading.asReadonly();available=S(()=>this.morse.capabilities()?.filePicker===!0);constructor(){me(()=>{if(!this.available())return;let e=this.morse.workspace().cwd;this.ensureLoaded(this.loadedFor!==void 0&&this.loadedFor!==e)})}ensureLoaded(e=!1){if(this.loading()||this.requested&&!e)return;this.requested=!0;let n=this.morse.workspace().cwd;this.loading.set(!0),this.morse.requestHostCommand("listFiles").then(o=>{if(this.loading.set(!1),this.morse.workspace().cwd!==n){this.ensureLoaded(!0);return}this.loadedFor=n;let r=o?.files;Array.isArray(r)&&this.cache.set(r.filter(i=>typeof i=="string"))})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function PI(t,e,n=80){let o=Math.floor(t-4-8);return Math.max(n,Math.min(e,o))}var bd=class t{preferred=ee(320,{alias:"morsePopoverFit"});host=I(Zt);renderer=I(Wo).createRenderer(null,null);observer;constructor(){si(()=>{this.fit();let e=this.anchor();e&&typeof ResizeObserver<"u"&&(this.observer=new ResizeObserver(()=>this.fit()),this.observer.observe(e))}),I(ht).onDestroy(()=>this.observer?.disconnect())}onWindowResize(){this.fit()}anchor(){let e=this.host.nativeElement;return e.offsetParent??e.parentElement}fit(){let e=this.anchor()?.getBoundingClientRect().top??0,n=PI(e,this.preferred());this.renderer.setStyle(this.host.nativeElement,"--morse-popover-max-height",`${n}px`)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=da({type:t,selectors:[["","morsePopoverFit",""]],hostBindings:function(n,o){n&1&&L("resize",function(){return o.onWindowResize()},If)},inputs:{preferred:[1,"morsePopoverFit","preferred"]}})};var sn=class t{morseEnter=ee(0);morseEnterY=ee(8);morseEnterDuration=ee(260);morseEnterScale=ee(void 0);element=I(Zt);animation=I(hn);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 \u0275fac=function(n){return new(n||t)};static \u0275dir=da({type:t,selectors:[["","morseEnter",""]],inputs:{morseEnter:[1,"morseEnter"],morseEnterY:[1,"morseEnterY"],morseEnterDuration:[1,"morseEnterDuration"],morseEnterScale:[1,"morseEnterScale"]}})};var AI=["list"];function RI(t,e){t&1&&(v(0,"div",2),p(1,"Reading the workspace\u2026"),x())}function LI(t,e){if(t&1&&(v(0,"div",4),p(1),x()),t&2){let n=y(2);f(),be("No match for \u201C",n.query(),"\u201D.")}}function FI(t,e){if(t&1){let n=z();v(0,"div",4),p(1," The host returned no workspace files. "),v(2,"button",5),L("click",function(){k(n);let r=y(2);return N(r.reload.emit())}),p(3,"Load again"),x()()}}function jI(t,e){if(t&1&&T(0,LI,2,1,"div",4)(1,FI,4,0,"div",4),t&2){let n=y();M(n.query().length>0?0:1)}}function VI(t,e){if(t&1){let n=z();v(0,"li")(1,"button",6),L("mouseenter",function(){let r=k(n).$index,i=y(2);return N(i.activeChange.emit(r))})("click",function(){let r=k(n).$implicit,i=y(2);return N(i.pick.emit(r))}),v(2,"span",7),p(3),x(),v(4,"span",8)(5,"span",9),p(6),x(),p(7),x()()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(2);f(),De("active",o===r.active()),f(2),A(r.isDirectory(n)?"\u25B8":"\u25A4"),f(3),A(r.split(n).dir),f(),be("",r.split(n).base," ")}}function $I(t,e){if(t&1&&(v(0,"ul",null,0),we(2,VI,8,5,"li",null,ci),x()),t&2){let n=y();f(2),Se(n.files())}}var xd=class t{files=ee.required();busy=ee(!1);query=ee("");active=ee(0);pick=ut();close=ut();reload=ut();activeChange=ut();list=pt("list");constructor(){me(()=>{this.active(),this.files(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.children.item(this.active());if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}split(e){let n=e.lastIndexOf("/");return n===-1?{dir:"",base:e}:{dir:e.slice(0,n+1),base:e.slice(n+1)}}isDirectory(e){return Om(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-file-picker"]],viewQuery:function(n,o){n&1&&Et(o.list,AI,5),n&2&&wt()},inputs:{files:[1,"files"],busy:[1,"busy"],query:[1,"query"],active:[1,"active"]},outputs:{pick:"pick",close:"close",reload:"reload",activeChange:"activeChange"},decls:16,vars:3,consts:[["list",""],[1,"picker",3,"morseEnter","morseEnterY"],[1,"busy"],[1,"hint"],[1,"empty"],["type","button",1,"reload",3,"click"],["type","button",3,"mouseenter","click"],[1,"icon"],[1,"path"],[1,"dir"]],template:function(n,o){n&1&&(v(0,"div",1),T(1,RI,2,0,"div",2)(2,jI,2,1)(3,$I,4,0,"ul"),v(4,"div",3)(5,"kbd"),p(6,"\u2191"),x(),v(7,"kbd"),p(8,"\u2193"),x(),p(9," move \xB7 "),v(10,"kbd"),p(11,"Enter"),x(),p(12," attach/open \xB7 "),v(13,"kbd"),p(14,"Esc"),x(),p(15," close "),x()()),n&2&&(K("morseEnter",0)("morseEnterY",6),f(),M(o.busy()&&o.files().length===0?1:o.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%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:4px 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;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 db(t,e,n=50){let o=e.trim().toLowerCase();return t.map(r=>({file:r,score:o.length===0?0:HI(r,o)})).filter(r=>r.score<Number.POSITIVE_INFINITY).sort((r,i)=>lb(r.file)-lb(i.file)||r.score-i.score||r.file.length-i.file.length||r.file.localeCompare(i.file)).slice(0,n).map(r=>r.file)}function Om(t){return t.endsWith("/")}function lb(t){return Om(t)?0:1}function HI(t,e){let n=(Om(t)?t.slice(0,-1):t).toLowerCase(),o=n.lastIndexOf("/"),r=o===-1?n:n.slice(o+1);return r.startsWith(e)?0:r.includes(e)?1:n.startsWith(e)?2:n.includes(e)?3:Number.POSITIVE_INFINITY}var BI=["list"],UI=(t,e)=>e.id;function zI(t,e){if(t&1&&(v(0,"div",3),p(1),x()),t&2){let n=y(2);f(),be("No command matches \u201C",n.query(),"\u201D.")}}function qI(t,e){t&1&&(v(0,"div",3),p(1,"No commands available in this session."),x())}function GI(t,e){if(t&1&&T(0,zI,2,1,"div",3)(1,qI,2,0,"div",3),t&2){let n=y();M(n.query().length>0?0:1)}}function WI(t,e){if(t&1&&(v(0,"span",5),p(1),x()),t&2){let n=y().$implicit;f(),A(n.icon)}}function YI(t,e){if(t&1&&(v(0,"span",8),p(1),x()),t&2){let n=y().$implicit;f(),A(n.description)}}function ZI(t,e){if(t&1&&(v(0,"span",9),p(1),x()),t&2){let n=y().$implicit;f(),A(n.badge)}}function KI(t,e){if(t&1){let n=z();v(0,"li")(1,"button",4),L("mouseenter",function(){let r=k(n).$index,i=y(2);return N(i.activeChange.emit(r))})("click",function(){let r=k(n).$implicit,i=y(2);return N(i.pick.emit(r.id))}),T(2,WI,2,1,"span",5),v(3,"span",6)(4,"span",7),p(5),x(),T(6,YI,2,1,"span",8),x(),T(7,ZI,2,1,"span",9),x()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(2);f(),De("active",o===r.active()),f(),M(n.icon?2:-1),f(3),A(n.label),f(),M(n.description?6:-1),f(),M(n.badge?7:-1)}}function QI(t,e){if(t&1&&(v(0,"ul",null,0),we(2,KI,8,6,"li",null,UI),x()),t&2){let n=y();f(2),Se(n.items())}}var Ed=class t{items=ee.required();query=ee("");active=ee(0);pick=ut();close=ut();activeChange=ut();list=pt("list");constructor(){me(()=>{this.active(),this.items(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.children.item(this.active());if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-command-picker"]],viewQuery:function(n,o){n&1&&Et(o.list,BI,5),n&2&&wt()},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","click"],[1,"icon"],[1,"text"],[1,"label"],[1,"description"],[1,"badge"]],template:function(n,o){n&1&&(v(0,"div",1),T(1,GI,2,1)(2,QI,4,0,"ul"),v(3,"div",2)(4,"kbd"),p(5,"\u2191"),x(),v(6,"kbd"),p(7,"\u2193"),x(),p(8," move \xB7 "),v(9,"kbd"),p(10,"Enter"),x(),p(11," run \xB7 "),v(12,"kbd"),p(13,"Tab"),x(),p(14," insert \xB7 "),v(15,"kbd"),p(16,"Esc"),x(),p(17," close "),x()()),n&2&&(K("morseEnter",0)("morseEnterY",6),f(),M(o.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 ub(t,e,n=50){let o=e.trim().toLowerCase();return o.length===0?t.slice(0,n):t.map(r=>({item:r,score:XI(r,o)})).filter(r=>r.score<Number.POSITIVE_INFINITY).sort((r,i)=>r.score-i.score||r.item.label.length-i.item.label.length).slice(0,n).map(r=>r.item)}function XI(t,e){let n=t.label.toLowerCase();return n.startsWith(e)?0:n.includes(e)?1:t.description?.toLowerCase().includes(e)?2:Number.POSITIVE_INFINITY}function io(t){return t<1e3?t.toString():t<1e4?`${(t/1e3).toFixed(1)}k`:t<1e6?`${Math.round(t/1e3)}k`:t<1e7?`${(t/1e6).toFixed(1)}M`:`${Math.round(t/1e6)}M`}function Pm(t){if(!t)return;let e=t.cacheReadTokens??0,n=t.cacheWriteTokens??0,o=t.inputTokens+e+n;if(!(o<=0||e===0&&n===0))return e/o*100}function Am(t){if(!(t===void 0||t<=0))return`$${t.toFixed(3)}`}function Rm(t){let e=[],n=t.usage;if(n){n.inputTokens>0&&e.push(`\u2191${io(n.inputTokens)}`),n.outputTokens>0&&e.push(`\u2193${io(n.outputTokens)}`),n.cacheReadTokens&&e.push(`R${io(n.cacheReadTokens)}`),n.cacheWriteTokens&&e.push(`W${io(n.cacheWriteTokens)}`);let i=Pm(n);i!==void 0&&e.push(`CH${i.toFixed(1)}%`)}let o=Am(t.costUsd);o&&e.push(o);let r=t.contextUsage;if(r){let i=r.percent!==null?`${r.percent.toFixed(1)}%`:"?";e.push(`${i}/${io(r.contextWindow)}`)}return e.join(" ")}var JI=["search"],ek=["list"],tk=(t,e)=>e.provider,nk=(t,e)=>e.index;function ok(t,e){if(t&1&&(v(0,"div",10),p(1),x()),t&2){let n=y();f(),be("No model matches \u201C",n.filter(),"\u201D.")}}function rk(t,e){t&1&&(v(0,"span",15),p(1),x()),t&2&&(f(),A(e))}function ik(t,e){t&1&&(v(0,"span",16),p(1,"\u2713"),x())}function sk(t,e){if(t&1){let n=z();v(0,"button",13),L("mouseenter",function(){let r=k(n).$implicit,i=y(4);return N(i.active.set(r.index))})("click",function(){let r=k(n).$implicit,i=y(4);return N(i.pick.emit(r.model))}),v(1,"span",14),p(2),x(),T(3,rk,2,1,"span",15),T(4,ik,2,0,"span",16),x()}if(t&2){let n,o=e.$implicit,r=y(4);De("active",o.index===r.active())("selected",r.keyOf(o.model)===r.current()),K("title",r.keyOf(o.model)),Ne("aria-current",r.keyOf(o.model)===r.current()?"true":null),f(2),A(o.model.name),f(),M((n=r.context(o.model))?3:-1,n),f(),M(r.keyOf(o.model)===r.current()?4:-1)}}function ak(t,e){if(t&1&&(v(0,"div",11),p(1),x(),we(2,sk,5,9,"button",12,nk)),t&2){let n=y().$implicit;f(),A(n.provider),f(),Se(n.rows)}}function ck(t,e){if(t&1&&T(0,ak,4,1),t&2){let n=e.$implicit;M(n.rows.length>0?0:-1)}}function lk(t,e){if(t&1&&we(0,ck,1,1,null,null,tk),t&2){let n=y();Se(n.groups())}}function dk(t,e){let n=e.trim().toLowerCase(),o=new Map;for(let r of t){if(n.length>0&&!`${r.provider} ${r.id} ${r.name}`.toLowerCase().includes(n))continue;let i=o.get(r.provider);i?i.push(r):o.set(r.provider,[r])}return[...o].map(([r,i])=>({provider:r,models:i}))}var Cd=class t{models=ee.required();current=ee("");pick=ut();close=ut();host=I(Zt);search=pt("search");list=pt("list");filter=F("");active=F(0);groups=S(()=>{let e=0;return dk(this.models(),this.filter()).map(n=>({provider:n.provider,rows:n.models.map(o=>({model:o,index:e++}))}))});visible=S(()=>this.groups().flatMap(e=>e.rows.map(n=>n.model)));constructor(){si(()=>this.search()?.nativeElement.focus()),me(()=>{if(this.groups(),this.filter().trim().length>0)return;let e=this.visible().findIndex(n=>this.keyOf(n)===this.current());e>=0&&this.active.set(e)}),me(()=>{this.active(),this.groups(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.querySelectorAll(".row")[this.active()];if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect(),i=e.querySelector(".group")?.offsetHeight??0,s=o.top+i;r.top<s?e.scrollTop-=s-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}keyOf(e){return`${e.provider}/${e.id}`}context(e){return e.contextWindow?io(e.contextWindow):""}onFilter(e){this.filter.set(e.target.value),this.active.set(0)}onKeydown(e){let n=this.visible();switch(e.key){case"Escape":e.preventDefault(),this.close.emit();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.pick.emit(o));return}default:return}}onDocumentPointerdown(e){let n=e.target;n&&!this.host.nativeElement.contains(n)&&this.close.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-model-picker"]],viewQuery:function(n,o){n&1&&Et(o.search,JI,5)(o.list,ek,5),n&2&&wt(2)},hostBindings:function(n,o){n&1&&L("pointerdown",function(i){return o.onDocumentPointerdown(i)},Ht)},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(n,o){n&1&&(v(0,"div",2)(1,"div",3)(2,"span",4),Ut(),v(3,"svg",5),Le(4,"circle",6)(5,"path",7),x()(),Sn(),v(6,"input",8,0),L("input",function(i){return o.onFilter(i)})("keydown",function(i){return o.onKeydown(i)}),x()(),v(8,"div",9,1),T(10,ok,2,1,"div",10)(11,lk,2,0),x()()),n&2&&(K("morseEnter",0)("morseEnterY",6),f(6),K("value",o.filter()),f(4),M(o.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 uk=["brain"],pk=["halo"];function fk(t,e){if(t&1&&(Ut(),Ue(0,"path")),t&2){let n=e.$implicit;Ne("d",n)}}function mk(t,e){t&1&&Ue(0,"span",3,1)}function hk(t,e){t&1&&Ue(0,"span",4,1)}var gk=["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"],yk={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6};function vk(t){return yk[t]??2}function _k(t){switch(t){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 wd=class t{level=ee.required();bumped=ee(!1);host=I(Zt);animation=I(hn);brain=pt("brain");halos=N_("halo");stoppers=[];paths=gk;intensity=S(()=>vk(this.level()));constructor(){me(()=>{let e=this.level(),n=this.brain()?.nativeElement,o=this.halos().map(i=>i.nativeElement);if(this.stopLoops(),!n||!this.animation.isEnabled)return;let r=_k(e);this.stoppers.push(this.animation.loop(n,r.params,{duration:r.duration,delay:r.delay??0,ease:r.ease??"inOut(2)"})),r.halo&&o.forEach((i,s)=>{this.stoppers.push(this.animation.loop(i,{scale:[.72,1.9],opacity:[.55,0]},{duration:r.halo.duration,delay:(r.halo.delay??0)+s*r.halo.duration*.5,ease:"out(2)",alternate:!1}))})}),me(()=>{this.bumped()&&this.animation.pop(this.host.nativeElement,{scale:1.3,duration:420})}),I(ht).onDestroy(()=>this.stopLoops())}stopLoops(){for(let e of this.stoppers)e();this.stoppers=[]}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-brain"]],viewQuery:function(n,o){n&1&&Et(o.brain,uk,5)(o.halos,pk,5),n&2&&wt(2)},hostVars:3,hostBindings:function(n,o){n&2&&(Ne("data-level",o.level()),De("bumped",o.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(n,o){n&1&&(Ut(),b(0,"svg",2,0),we(2,fk,1,1,":svg:path",null,ci),E(),T(4,mk,2,0,"span",3),T(5,hk,2,0,"span",4)),n&2&&(f(2),Se(o.paths),f(2),M(o.intensity()>=3?4:-1),f(),M(o.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 bk=["panel"];function xk(t,e){t&1&&(v(0,"span",10),p(1,"\u2713"),x())}function Ek(t,e){if(t&1){let n=z();v(0,"button",8),L("mouseenter",function(){let r=k(n).$index,i=y(2);return N(i.active.set(r))})("click",function(){let r=k(n).$implicit,i=y(2);return N(i.choose(r))}),Le(1,"morse-brain",2),v(2,"span",9),p(3),x(),T(4,xk,2,0,"span",10),x()}if(t&2){let n=e.$implicit,o=e.$index,r=y(2);De("active",o===r.active())("selected",n===r.current()),Ne("aria-selected",n===r.current()),f(),K("level",n),f(2),A(n),f(),M(n===r.current()?4:-1)}}function Ck(t,e){if(t&1){let n=z();v(0,"div",6,0),L("keydown",function(r){k(n);let i=y();return N(i.onKeydown(r))}),we(2,Ek,5,8,"button",7,ci),x()}if(t&2){let n=y();K("morseEnter",0)("morseEnterY",6),f(2),Se(n.levels())}}var Sd=class t{levels=ee.required();current=ee.required();pick=ut();host=I(Zt);shortcuts=I(ro);destroyRef=I(ht);panel=pt("panel");open=F(!1);active=F(0);bumped=F(!1);constructor(){let e=this.shortcuts.bind("thinking.pick",()=>this.toggle(),()=>this.levels().length>0);this.destroyRef.onDestroy(e),me(()=>{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 n=this.levels();switch(e.key){case"Escape":e.preventDefault(),this.close();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.choose(o));return}default:return}}onDocumentPointerdown(e){let n=e.target;this.open()&&n&&!this.host.nativeElement.contains(n)&&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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-thinking-picker"]],viewQuery:function(n,o){n&1&&Et(o.panel,bk,5),n&2&&wt()},hostBindings:function(n,o){n&1&&L("pointerdown",function(i){return o.onDocumentPointerdown(i)},Ht)},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(n,o){n&1&&(v(0,"button",1),L("click",function(){return o.toggle()}),Le(1,"morse-brain",2),v(2,"span",3),p(3),x(),v(4,"span",4),p(5,"\u25BE"),x()(),T(6,Ck,4,2,"div",5)),n&2&&(K("title","Thinking level: "+o.current()),Ne("aria-expanded",o.open()),f(),K("level",o.current()),f(2),A(o.current()),f(3),M(o.open()?6:-1))},dependencies:[sn,wd],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 wk(t,e){t&1&&(b(0,"span"),p(1),E()),t&2&&(f(),be(" \xB7 ",e))}function Sk(t,e){if(t&1&&(b(0,"section")(1,"h4"),p(2,"Last assistant message"),E(),b(3,"div",13)(4,"div",14)(5,"span",15),p(6,"Input"),E(),b(7,"span",16),p(8),E()(),b(9,"div",14)(10,"span",15),p(11,"Output"),E(),b(12,"span",16),p(13),E()(),b(14,"div",14)(15,"span",15),p(16,"Reasoning"),E(),b(17,"span",16),p(18),E()(),b(19,"div",14)(20,"span",15),p(21,"Cache read"),E(),b(22,"span",16),p(23),E()(),b(24,"div",14)(25,"span",15),p(26,"Cache write"),E(),b(27,"span",16),p(28),E()(),b(29,"div",14)(30,"span",15),p(31,"Cache hit"),E(),b(32,"span",16),p(33),E()()()()),t&2){let n=y(2);f(8),A(n.lastValue("inputTokens")),f(5),A(n.lastValue("outputTokens")),f(5),A(n.lastValue("reasoningTokens")),f(5),A(n.lastValue("cacheReadTokens")),f(5),A(n.lastValue("cacheWriteTokens")),f(5),A(n.cacheHitLabel())}}function Tk(t,e){if(t&1){let n=z();b(0,"button",5),Z("click",function(){k(n);let r=y();return N(r.close())}),E(),b(1,"div",6)(2,"header")(3,"h3"),p(4,"Context"),E(),b(5,"button",7),Z("click",function(){k(n);let r=y();return N(r.close())}),p(6,"\xD7"),E()(),b(7,"div",8),p(8),T(9,wk,2,1,"span"),E(),b(10,"div",9)(11,"span"),p(12,"Context"),E(),b(13,"span"),p(14),E()(),b(15,"div",10),Ue(16,"span",11),E(),b(17,"div",12)(18,"span"),p(19),E()(),b(20,"div",13)(21,"div",14)(22,"span",15),p(23,"Messages"),E(),b(24,"span",16),p(25),E()(),b(26,"div",14)(27,"span",15),p(28,"User"),E(),b(29,"span",16),p(30),E()(),b(31,"div",14)(32,"span",15),p(33,"Assistant"),E(),b(34,"span",16),p(35),E()(),b(36,"div",14)(37,"span",15),p(38,"Tool calls"),E(),b(39,"span",16),p(40),E()(),b(41,"div",14)(42,"span",15),p(43,"Cost"),E(),b(44,"span",16),p(45),E()(),b(46,"div",14)(47,"span",15),p(48,"Output limit"),E(),b(49,"span",16),p(50),E()()(),T(51,Sk,34,6,"section"),b(52,"section")(53,"h4"),p(54,"Session totals"),E(),b(55,"div",17),p(56),E()()()}if(t&2){let n,o=y();f(8),be(" ",o.modelLabel()),f(),M((n=o.sessionTitle())?9:-1,n),f(5),Ln("",o.usedLabel()," / ",o.limitLabel()),f(2),Do("width",o.fillPercent(),"%"),De("warn",o.level()==="warn")("danger",o.level()==="danger"),f(3),be("",o.percentLabel()," used"),f(6),A(o.counts()?.totalMessages??"\u2014"),f(5),A(o.counts()?.userMessages??"\u2014"),f(5),A(o.counts()?.assistantMessages??"\u2014"),f(5),A(o.counts()?.toolCalls??"\u2014"),f(5),A(o.costLabel()),f(5),A(o.outputLimitLabel()),f(),M(o.lastUsage()?51:-1),f(5),A(o.sessionLine()||"No usage yet.")}}var Mk=15.5,pb=2*Math.PI*Mk,Td=class t{usage=ee();lastUsage=ee();costUsd=ee();contextUsage=ee();counts=ee();model=ee();sessionTitle=ee();open=F(!1);circumference=pb;percent=S(()=>this.contextUsage()?.percent??void 0);percentLabel=S(()=>{let e=this.contextUsage()?.percent;return e==null?"\u2013":`${e.toFixed(1)}%`});level=S(()=>{let e=this.percent()??0;return e>90?"danger":e>70?"warn":"ok"});fillPercent=S(()=>Math.min(100,Math.max(0,this.percent()??0)));dashOffset=S(()=>pb*(1-this.fillPercent()/100));usedLabel=S(()=>{let e=this.contextUsage()?.tokens;return e==null?"\u2014":io(e)});limitLabel=S(()=>{let e=this.contextUsage()?.contextWindow;return e===void 0?"\u2014":io(e)});costLabel=S(()=>Am(this.costUsd())??"\u2014");outputLimitLabel=S(()=>{let e=this.model()?.maxTokens;return e===void 0?"\u2014":io(e)});modelLabel=S(()=>this.model()?.name??this.model()?.id??"no model");tooltip=S(()=>{let e=[`Context ${this.percentLabel()} \xB7 ${this.usedLabel()} / ${this.limitLabel()}`],n=Rm({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()});return n.length>0&&e.push(n),e.join(`
11
- `)});sessionLine=S(()=>Rm({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()}));cacheHitLabel=S(()=>{let e=Pm(this.lastUsage());return e===void 0?"\u2014":`${e.toFixed(1)}%`});lastValue(e){let n=this.lastUsage();return n?io(n[e]??0):"\u2014"}toggle(){this.open.update(e=>!e)}close(){this.open.set(!1)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-usage-indicator"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.close()},Ht)},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(n,o){n&1&&(b(0,"button",0),Z("click",function(){return o.toggle()}),Ut(),b(1,"svg",1),Ue(2,"circle",2)(3,"circle",3),E(),Sn(),b(4,"span",4),p(5),E()(),T(6,Tk,57,19)),n&2&&(Ze("title",o.tooltip()),Ne("aria-expanded",o.open()),f(),De("warn",o.level()==="warn")("danger",o.level()==="danger"),f(2),Ne("stroke-dasharray",o.circumference)("stroke-dashoffset",o.dashOffset()),f(2),A(o.percentLabel()),f(),M(o.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 Ik=["promptInput"],kk=["fileInput"],fb=(t,e)=>e.id;function Nk(t,e){if(t&1){let n=z();v(0,"button",24),L("click",function(){k(n);let r=y();return N(r.attachSelection())}),p(1," \u29C9 "),x()}}function Dk(t,e){t&1&&p(0," add files \xB7 @ to mention \xB7 / for commands ")}function Ok(t,e){t&1&&p(0," upload or drop files \xB7 / for commands ")}function Pk(t,e){t&1&&p(0," drop files here \xB7 / for commands ")}function Ak(t,e){if(t&1){let n=z();v(0,"morse-file-picker",25),L("activeChange",function(r){k(n);let i=y();return N(i.mentionActive.set(r))})("pick",function(r){k(n);let i=y();return N(i.onPickFile(r))})("reload",function(){k(n);let r=y();return N(r.reloadFiles())})("close",function(){k(n);let r=y();return N(r.onPickerClose())}),x()}if(t&2){let n=y();K("morsePopoverFit",300)("files",n.pickerMatches())("busy",n.loadingFiles())("query",n.pickerFilter())("active",n.mentionActive())}}function Rk(t,e){if(t&1){let n=z();v(0,"morse-command-picker",26),L("activeChange",function(r){k(n);let i=y();return N(i.paletteActive.set(r))})("pick",function(r){k(n);let i=y();return N(i.activatePalette(r,"insert"))})("close",function(){k(n);let r=y();return N(r.onPaletteClose())}),x()}if(t&2){let n=y();K("morsePopoverFit",320)("items",n.paletteItems())("query",n.paletteFilter())("active",n.paletteActive())}}function Lk(t,e){if(t&1){let n=z();v(0,"li",27)(1,"button",29),L("click",function(){k(n);let r=y(2);return N(r.lockLive())}),v(2,"span",30),p(3,"\u29C9"),x(),v(4,"span",31),p(5),x(),v(6,"span",32),p(7),x()(),v(8,"button",33),L("click",function(){k(n);let r=y(2);return N(r.dismissLive())}),p(9," \xD7 "),x()()}if(t&2){let n=e,o=y(2);K("morseEnter",0)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),f(),K("title",o.lockLiveLabel()),Ne("aria-label","Lock the "+n.path+" selection as a pin"),f(3),K("title",n.path),f(),A(n.path),f(2),Ln("L",n.startLine,"-",n.endLine),f(),Ne("aria-label","Dismiss the "+n.path+" selection preview")}}function Fk(t,e){if(t&1){let n=z();v(0,"li",28),Le(1,"img",34),v(2,"span",31),p(3),x(),v(4,"button",35),L("click",function(){let r=k(n).$implicit,i=y(2);return N(i.removeImage(r.id))}),p(5," \xD7 "),x()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(2);K("morseEnter",r.chipOffset()+o)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),f(),K("src",r.preview(n),yo)("alt",n.name),f(),K("title",n.name),f(),A(n.name),f(),Ne("aria-label","Remove "+n.name)}}function jk(t,e){if(t&1&&(v(0,"span",32),p(1),x()),t&2){let n=y().$implicit;f(),Ln("L",n.startLine,"-",n.endLine)}}function Vk(t,e){if(t&1){let n=z();v(0,"li",28)(1,"span",30),p(2,"\u29C9"),x(),v(3,"span",31),p(4),x(),T(5,jk,2,2,"span",32),v(6,"button",35),L("click",function(){let r=k(n).$implicit,i=y(2);return N(i.removePin(r.id))}),p(7," \xD7 "),x()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(2);K("morseEnter",r.chipOffset()+r.images().length+o)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),f(3),K("title",n.path),f(),A(n.path),f(),M(n.startLine!==void 0?5:-1),f(),Ne("aria-label","Unpin "+n.path)}}function $k(t,e){if(t&1&&(v(0,"ul",11),T(1,Lk,10,11,"li",27),we(2,Fk,6,9,"li",28,fb),we(4,Vk,8,8,"li",28,fb),x()),t&2){let n,o=y();f(),M((n=o.livePreview())?1:-1,n),f(),Se(o.images()),f(2),Se(o.pins())}}function Hk(t,e){if(t&1&&(v(0,"span",37),p(1),x()),t&2){let n=y(2);f(),Ln(" \u2193",n.streamedTokens()," \xB7 ",n.tokensPerSecond()??0," t/s ")}}function Bk(t,e){if(t&1&&(v(0,"span",39),Le(1,"span",41),v(2,"span"),p(3),x(),v(4,"span",42),Le(5,"i")(6,"i")(7,"i"),x()()),t&2){let n=y(2);f(3),be("Working ",n.elapsed())}}function Uk(t,e){if(t&1&&Le(0,"morse-usage-indicator",40),t&2){let n=y(2);K("usage",n.usageState().usage)("lastUsage",n.usageState().lastUsage)("costUsd",n.usageState().costUsd)("contextUsage",n.usageState().contextUsage)("counts",n.usageState().counts)("model",n.usageState().model)("sessionTitle",n.usageState().sessionTitle)}}function zk(t,e){if(t&1&&(v(0,"div",13)(1,"div",36),T(2,Hk,2,2,"span",37),x(),v(3,"div",38),T(4,Bk,8,1,"span",39),T(5,Uk,1,7,"morse-usage-indicator",40),x()()),t&2){let n=y();f(2),M(n.running()?2:-1),f(2),M(n.running()?4:-1),f(),M(n.showUsage()?5:-1)}}function qk(t,e){if(t&1&&(v(0,"span",17),p(1),x()),t&2){let n=e;K("title",n),f(),A(n)}}function Gk(t,e){if(t&1){let n=z();v(0,"morse-model-picker",43),L("pick",function(r){k(n);let i=y();return N(i.onModelPick(r))})("close",function(){k(n);let r=y();return N(r.closeModelPicker())}),x()}if(t&2){let n=y();K("morsePopoverFit",340)("models",n.models())("current",n.modelKey())}}function Wk(t,e){if(t&1){let n=z();v(0,"button",44),L("click",function(){k(n);let r=y();return N(r.sendWith("steer"))}),p(1,"Steer"),x(),v(2,"button",44),L("click",function(){k(n);let r=y();return N(r.sendWith("followUp"))}),p(3,"Follow up"),x(),v(4,"button",45),L("click",function(){k(n);let r=y();return N(r.abort())}),p(5,"\u25A0"),x()}}function Yk(t,e){if(t&1){let n=z();v(0,"button",46),L("click",function(){k(n);let r=y();return N(r.sendWith("new"))}),p(1," \u2191 "),x()}if(t&2){let n=y();K("disabled",!n.canSend())}}var Md=class t{morse=I(Ct);shell=I(rn);shortcuts=I(ro);destroyRef=I(ht);attachments=I(Er);workspace=I(_d);uploads=I(ms);promptInput=pt("promptInput");fileInput=pt("fileInput");text=F("");connected=S(()=>this.morse.connection()==="ready");agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;streaming=S(()=>this.morse.state().streaming);canSend=S(()=>this.connected()&&!this.agentStarting()&&this.agentError()===void 0);canAttachSelection=S(()=>this.morse.capabilities()?.editorContext===!0);thinkingLevel=S(()=>this.morse.state().thinkingLevel);models=this.morse.availableModels;levels=this.morse.availableThinkingLevels;modelKey=S(()=>{let e=this.morse.state().model;return e?`${e.provider}/${e.id}`:""});usageState=this.morse.state;showUsage=S(()=>{let e=this.morse.state();return e.usage!==void 0||e.contextUsage!==void 0});showStatusRow=S(()=>this.running()||this.showUsage());streamedTokens=S(()=>Math.round(Math.max(0,Lm(this.morse.items())-this.baseline())/4));tokensPerSecond=F(void 0);baseline=F(0);throughput=[];images=this.attachments.images;pins=this.attachments.pins;livePreview=this.attachments.livePreview;chipOffset=S(()=>this.livePreview()?1:0);lockLiveLabel=S(()=>this.livePreview()?"Lock this selection \u2014 it stops following the editor; a new selection makes a new chip.":"");pickerOpen=F(!1);workspaceFiles=this.workspace.files;loadingFiles=this.workspace.busy;mentionMode=F(!1);pickerFilter=F("");pickerMatches=S(()=>db(this.workspaceFiles(),this.pickerFilter()));mentionActive=F(0);canPickFiles=this.workspace.available;canUpload=this.uploads.available;paletteOpen=F(!1);paletteFilter=F("");paletteActive=F(0);availableCommands=this.morse.availableCommands;paletteItems=S(()=>{let e=[...mb.map(n=>({id:`builtin:${n.name}`,label:`/${n.name}`,description:n.description,badge:"built-in",icon:"\u203A"})),...this.availableCommands().map(n=>({id:`command:${n.name}`,label:`/${n.name}`,description:n.description,badge:n.source,icon:"\u2044"}))];return ub(e,this.paletteFilter())});modelPickerOpen=F(!1);currentModel=this.morse.model;currentProvider=S(()=>this.morse.model()?.provider??"");modelLabel=S(()=>{let e=this.morse.model();return e?`${e.provider} \xB7 ${e.name}`:"no model"});canAddFiles=S(()=>this.canPickFiles()||this.canUpload()||this.canAttachSelection());addFilesLabel=S(()=>this.canPickFiles()?"Add files to the prompt":this.canUpload()?"Upload files to the prompt":"Attach the active editor selection");running=S(()=>this.morse.state().streaming||this.morse.state().busy);elapsed=S(()=>{this.tick();let e=this.startedAt(),n=e===null?0:Date.now()-e;return n<1e3?"":Qk(n)});startedAt=F(null);tick=F(0);constructor(){let e=this.shortcuts.bind("model.pick",()=>this.toggleModelPicker(),()=>this.models().length>0);this.destroyRef.onDestroy(e),me(()=>{if(this.attachments.mentions().length===0)return;let r=this.attachments.takeMentions().map(s=>s.startsWith("@")?s:`@${s}`).join(`
8
+ ${s}`}var Er=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 n of[...this.messageListeners])n(e)}emitStatus(e,n){for(let o of[...this.statusListeners])o(e,n)}};var nb,ob=!1;function rb(){return typeof globalThis.acquireVsCodeApi=="function"}function NI(){let t=globalThis.acquireVsCodeApi;if(typeof t=="function")return ob||(ob=!0,nb=t()),nb}var yd=class extends Er{kind="vscode";api=NI();listener=e=>{let n=hd(e.data);n&&this.emitMessage(n)};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 DI=8e3,Aa=class extends Er{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(Dm(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 n=new e(this.options.url);this.socket=n,n.onopen=()=>{this.attempts=0,this.emitStatus("open");let o=this.queue.splice(0,this.queue.length);for(let r of o)n.send(Dm(r))},n.onmessage=o=>{let r=hd(Pa(o.data));r&&this.emitMessage(r)},n.onerror=()=>{this.emitStatus("error",`Cannot reach the Morse server at ${this.options.url}.`)},n.onclose=()=>{if(this.socket=void 0,this.disposed){this.emitStatus("closed");return}this.emitStatus("closed","Connection lost \u2014 retrying\u2026"),this.scheduleReconnect()}}scheduleReconnect(){if(this.options.reconnect===!1||this.timer!==void 0)return;let e=this.options.maxBackoffMs??DI,n=Math.min(e,500*2**this.attempts);this.attempts+=1,this.timer=setTimeout(()=>{this.timer=void 0,this.disposed||this.open()},n),this.timer.unref?.()}};var fs={cwd:"/mock/workspace",name:"mock-workspace"},OI={hostKind:"server",scope:ab()?"workspace":"global",editorContext:!1,nativeDialogs:!1,insertIntoEditor:!1,revealFile:!1,filePicker:!0,fileUpload:!0,directoryPicker:!0,updateCheck:PI()};function PI(){return typeof location>"u"?!1:new URL(location.href,"http://localhost/").searchParams.get("update")==="1"}var vd=class extends Er{kind="memory";timers=new Set;items=FI()?[]:jI();sessions=cb();hot=new Set(this.sessions.slice(0,2).map(e=>e.id));counter=100;disposed=!1;streaming=!1;state={workspace:fs,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","low","high"],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(n=>n.kind==="tool"&&n.status==="running");!e||e.kind!=="tool"||this.schedule(()=>{e.status="ok",e.durationMs=3100,this.emit({type:"transcript/update",payload:H({},e)}),this.state=Q(H({},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:sb()}}),this.emit({type:"session/list",payload:{sessions:this.sessions}}),this.emitActivity(),this.emit({type:"host/ready",payload:H({protocolVersion:17,capabilities:OI,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 n={id:this.nextId("session"),title:"New session",cwd:fs.cwd,updatedAt:Date.now(),messageCount:0};this.sessions=[n,...this.sessions],this.hot.add(n.id),this.state=Q(H({},this.state),{sessionId:n.id,sessionTitle:n.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:sb()}});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 n=this.state.availableModels.find(o=>o.provider===e.payload.provider&&o.id===e.payload.id);this.state=Q(H({},this.state),{model:n?H({},n):{provider:e.payload.provider,id:e.payload.id,name:e.payload.id}}),this.emit({type:"session/state",payload:this.state});return}case"thinking/set":this.state=Q(H({},this.state),{thinkingLevel:e.payload.level}),this.emit({type:"session/state",payload:this.state});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:AI}}});return}if(e.payload.command==="uploadFile"&&e.payload.requestId){let n=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/${n}`,name:n,bytes:0}}});return}if(e.payload.command==="listDirectories"&&e.payload.requestId){this.emit({type:"host/command/result",payload:{requestId:e.payload.requestId,ok:!0,data:LI(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")}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:Q(H({},this.state),{streaming:!0})}),this.emitActivity();let n=0,o=[{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";
9
+ 2 ... 38 lines`}}];for(let s of o){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})},n),n+=40;for(let d of ib(s.thinking)){let f=d;this.schedule(()=>{this.emit({type:"transcript/delta",payload:{id:a,thinking:f}})},n),n+=55}let c=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:c,at:Date.now(),name:s.tool.name,title:s.tool.title,status:"running"})},n),n+=900;let l=n;this.schedule(()=>{this.updateItem({kind:"tool",id:c,at:Date.now(),name:s.tool.name,title:s.tool.title,status:"ok",output:s.tool.output,durationMs:l})},n),n+=200}let r=`Mock host received: "${e}".
10
+
11
+ 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.`,i=this.nextId("assistant");this.schedule(()=>{this.appendItem({kind:"assistant",id:i,at:Date.now(),text:"",thinking:"",streaming:!0,model:this.state.model?.name})},n),n+=40;for(let s of ib(r)){let a=s;this.schedule(()=>{this.emit({type:"transcript/delta",payload:{id:i,text:a}})},n),n+=55}this.schedule(()=>{this.streaming=!1,this.updateItem({kind:"assistant",id:i,at:Date.now(),text:r,thinking:"",streaming:!1,model:this.state.model?.name}),this.emit({type:"session/state",payload:Q(H({},this.state),{streaming:!1})}),this.emitActivity()},n+80)}appendItem(e){this.items=[...this.items,e],this.emit({type:"transcript/append",payload:e})}updateItem(e){this.items=this.items.map(n=>n.id===e.id?e:n),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,n){this.emit({type:"notice",payload:{level:e,text:n,at:Date.now()}})}schedule(e,n){let o=setTimeout(()=>{this.timers.delete(o),this.disposed||e()},n);this.timers.add(o)}nextId(e){return this.counter+=1,`mock-${e}-${this.counter}`}emitActivity(){let e=this.sessions.filter(n=>this.hot.has(n.id)).slice(0,4).map(n=>({sessionKey:n.id,streaming:this.streaming,busy:!1,agentReady:!0,agentStarting:!1}));this.emit({type:"session/activity",payload:{sessions:e}})}emit(e){this.emitMessage(e)}},AI=["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"],RI={"/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 LI(t){let e=typeof t=="string"&&t.trim().length>0?t.trim():fs.cwd,n=e==="/mock"?void 0:e.slice(0,e.lastIndexOf("/"))||"/";return{path:e,parent:n,directories:RI[e]??[],isGitRepo:e==="/mock/projects/morse",canOpen:!0,roots:[{name:"mock",path:"/mock"},{name:"workspace",path:fs.cwd}]}}function ib(t){return t.match(/.{1,14}/g)??[]}function ab(){return typeof location>"u"?!1:new URL(location.href).searchParams.get("scope")==="workspace"}function FI(){return typeof location>"u"?!1:new URL(location.href).searchParams.get("empty")==="1"}function cb(){let t=Date.now(),e=[{id:"/mock/morse/2026-01-01_ui-overhaul.jsonl",title:"Sidebar overhaul: projects, sessions, composer",cwd:fs.cwd,updatedAt:t-6e4,messageCount:12},{id:"/mock/morse/2026-01-01_scrollbar.jsonl",title:"Improve native scrollbar: compact and themed",cwd:fs.cwd,updatedAt:t-7*6e4,messageCount:6}];return ab()?e:[...e,{id:"/mock/morse/2026-01-01_providers.jsonl",title:"Add provider picker with context sizes",cwd:"/mock/morse",updatedAt:t-20*6e4,messageCount:24},{id:"/mock/morse/2026-01-01_greeting.jsonl",title:"Greeting",cwd:"/mock/morse",updatedAt:t-180*6e4,messageCount:2},{id:"/mock/eigen-morph/2026-01-01_manifest.jsonl",title:"Manifest report-worker untuk production",cwd:"/mock/eigen-morph",updatedAt:t-1560*6e4,messageCount:31}]}function sb(){let t=new Map;for(let e of cb()){let n=t.get(e.cwd);if(n){n.sessionCount+=1,n.lastUsedAt=Math.max(n.lastUsedAt,e.updatedAt);continue}t.set(e.cwd,{path:e.cwd,name:e.cwd.split("/").filter(Boolean).at(-1)??e.cwd,sessionCount:1,lastUsedAt:e.updatedAt})}return[...t.values()].sort((e,n)=>n.lastUsedAt-e.lastUsedAt)}function jI(){let t=Date.now(),e=["Plan:","","1. **Navigation** \u2014 projects \u2192 sessions, collapsible, with a session search and a project filter.","2. **Header** \u2014 session title, scope, status badge, `Compact`, and the sidebar fold.","3. **Composer** \u2014 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 \u2192 sessions |","| VS Code | `workspace` | one group (open folders) |","","See `docs/FRONTENDS.md` for the rule that frontends must read capabilities instead of guessing."].join(`
12
+ `);return[{kind:"user",id:"mock-seed-user-1",at:t-15e4,text:"Refactor the sidebar to match the reference, make it responsive, and render markdown properly."},{kind:"tool",id:"mock-seed-tool-1",at:t-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:t-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:t-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:t-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:t-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:t-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:t-6e4,level:"info",text:"Everything is wired through the same wire protocol \u2014 try ?scope=workspace to see the VS Code shape."}]}function lb(t={}){if(rb())return new yd;let e=t.href??(typeof location<"u"?location.href:"http://localhost/"),n=new URL(e,"http://localhost/");if(t.forceMock===!0||n.searchParams.get("mock")==="1")return new vd;let o=n.searchParams.get("server");if(o)return new Aa({url:o,WebSocketImpl:t.WebSocketImpl});let r=n.protocol==="https:",i=t.websocketPath??"/ws";return new Aa({url:`${r?"wss":"ws"}://${n.host}${i}`,WebSocketImpl:t.WebSocketImpl})}var Cr=class t{attached=R([]);pinned=R([]);live=R(null);pendingMentions=R([]);message=R(null);counter=0;images=this.attached.asReadonly();pins=this.pinned.asReadonly();livePreview=this.live.asReadonly();mentions=this.pendingMentions.asReadonly();notice=this.message.asReadonly();count=S(()=>this.attached().length+this.pinned().length+this.pendingMentions().length);async read(e){let n=[],o=[];for(let r of e){if(!r.type.startsWith("image/")){o.push(r.name);continue}let i=await Pm(r);if(!i){o.push(r.name);continue}this.counter+=1,n.push({id:`attachment-${this.counter}`,name:r.name||`image-${this.counter}.png`,mimeType:r.type,data:i,bytes:r.size})}return{images:n,skipped:o}}add(e){e.length!==0&&this.attached.update(n=>[...n,...e])}async accept(e){let{images:n,skipped:o}=await this.read(e);return this.add(n),{attached:n.length,skipped:o}}addMentions(e){let n=e.map(o=>o.trim()).filter(o=>o.length>0);n.length!==0&&this.pendingMentions.update(o=>[...o,...n])}seed(e,n){e.length>0&&this.add(e.map((o,r)=>{this.counter+=1;let s=(o.mimeType.split("/")[1]?.toLowerCase()??"").replace(/[^a-z0-9]/g,"")||"png";return{id:`seed-${this.counter}`,name:r===0?`image.${s}`:`image-${r+1}.${s}`,mimeType:o.mimeType,data:o.data,bytes:Math.floor(o.data.length*3/4)}}));for(let o of n)this.pin({path:o.path,startLine:o.startLine,endLine:o.endLine})}pin(e){if(e.path.length===0||this.pinned().find(r=>r.path===e.path&&r.startLine===e.startLine&&r.endLine===e.endLine))return;this.counter+=1;let o=`pin-${this.counter}`;this.pinned.update(r=>[...r,Q(H({},e),{id:o})])}removePin(e){this.pinned.update(n=>n.filter(o=>o.id!==e))}setLivePreview(e){if(e===null||e.path.length===0||e.startLine===void 0){this.live.set(null);return}let n=this.live();n&&n.path===e.path&&n.startLine===e.startLine&&n.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.attached.update(n=>n.filter(o=>o.id!==e))}takeImages(){let e=this.attached().map(({data:n,mimeType:o})=>({data:n,mimeType:o}));return this.attached.set([]),e}takePins(){let e=this.pinned().map(({path:n,startLine:o,endLine:r})=>{let i={path:n};return o!==void 0&&(i.startLine=o),r!==void 0&&(i.endLine=r),i});return this.pinned.set([]),e}takeMentions(){let e=this.pendingMentions();return this.pendingMentions.set([]),e}clear(){this.attached.set([]),this.pinned.set([]),this.live.set(null),this.pendingMentions.set([])}say(e,n){this.message.set({level:e,text:n,at:Date.now()})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function Pm(t){return new Promise(e=>{if(typeof FileReader>"u"){e(void 0);return}let n=new FileReader;n.onerror=()=>e(void 0),n.onload=()=>{let o=n.result;if(typeof o!="string"){e(void 0);return}let r=o.indexOf(",");e(r===-1?void 0:o.slice(r+1))},n.readAsDataURL(t)})}var db=new Ue("morse.transport",{providedIn:"root",factory:()=>lb()});var ub={name:"@morse/ui-angular",version:"0.4.0"},$I=6e3,wt=class t{transport=N(db);destroyRef=N(ht);view=R(gd());client;actions;slowConnectionTimer;connection=S(()=>this.view().connection);connectionDetail=S(()=>this.view().connectionDetail);protocolVersion=S(()=>this.view().protocolVersion);frontend=S(()=>this.view().frontend);version=S(()=>this.frontend()?.version??ub.version);slowConnection=R(!1);capabilities=S(()=>this.view().capabilities);state=S(()=>this.view().state);items=S(()=>this.view().items);projects=S(()=>this.view().projects);sessions=S(()=>this.view().sessions);activity=S(()=>this.view().activity);sessionActivity=S(()=>{let e=new Map;for(let n of this.view().activity)e.set(n.sessionKey,n);return e});pendingInteraction=S(()=>this.view().pendingInteraction);lastNotice=S(()=>this.view().lastNotice);lastError=S(()=>this.view().lastError);agentReady=S(()=>this.view().state.agentReady);agentStarting=S(()=>this.view().state.agentStarting);agentError=S(()=>this.view().state.agentError);agentFailure=S(()=>this.view().state.agentFailure);running=S(()=>this.view().state.streaming||this.view().state.busy);workspace=S(()=>this.view().state.workspace);model=S(()=>this.view().state.model);thinkingLevel=S(()=>this.view().state.thinkingLevel);availableModels=S(()=>this.view().state.availableModels);availableThinkingLevels=S(()=>this.view().state.availableThinkingLevels);availableCommands=S(()=>this.view().state.availableCommands);usage=S(()=>this.view().state.usage);hasOlderHistory=S(()=>this.view().state.hasOlderHistory===!0);loadingOlderHistory=S(()=>this.view().state.loadingOlderHistory===!0);constructor(){this.client=Q0({transport:this.transport,frontend:ub}),this.actions=this.client.actions;let e=this.client.getView();this.view.set(e),this.trackSlowConnection(e.connection),this.client.subscribe(n=>{this.view.set(n),this.trackSlowConnection(n.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)},$I))}clearSlowConnectionTimer(){this.slowConnectionTimer!==void 0&&(clearTimeout(this.slowConnectionTimer),this.slowConnectionTimer=void 0)}prompt(e,n="new",o,r){this.actions.prompt(e,n,o,r)}editMessage(e,n){this.actions.editMessage(e,n)}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,n){this.actions.activateSession(e,n)}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()}setModel(e,n){this.actions.setModel(e,n)}setThinkingLevel(e){this.actions.setThinkingLevel(e)}respond(e){this.actions.respond(e)}hostCommand(e,n){this.actions.hostCommand(e,n)}requestHostCommand(e,n){return this.actions.hostCommand(e,n)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var pb="morse.navigation.collapsed";function HI(){try{return globalThis.localStorage?.getItem(pb)==="1"}catch{return!1}}function BI(t){try{globalThis.localStorage?.setItem(pb,t?"1":"0")}catch{}}var rn=class t{navigationVisible=R(!1);navigationOpen=this.navigationVisible.asReadonly();collapsed=R(HI());navigationCollapsed=this.collapsed.asReadonly();projectPicker=R(!1);projectPickerOpen=this.projectPicker.asReadonly();about=R(!1);aboutOpen=this.about.asReadonly();shortcuts=R(!1);shortcutsOpen=this.shortcuts.asReadonly();projectFilter=R(!1);projectFilterOpen=this.projectFilter.asReadonly();promptTemplate=R(!1);promptTemplateOpen=this.promptTemplate.asReadonly();compactPrompt=R(void 0);compactConfirmOpen=S(()=>this.compactPrompt()!==void 0);compactInstructions=S(()=>this.compactPrompt()?.instructions);modalOpen=S(()=>this.about()||this.shortcuts()||this.projectPicker()||this.projectFilter()||this.promptTemplate()||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),BI(e)}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)}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)}requestCompact(e){this.compactPrompt.set(e?{instructions:e}:{})}closeCompactPrompt(){this.compactPrompt.set(void 0)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ra=[{id:"session.new",group:"Session",label:"New session",detail:"The sidebar button, on the keyboard \u2014 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:"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:"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 La(t){return"binding"in t}function fb(){let t=globalThis.navigator;return/mac|iphone|ipad/i.test(t?.userAgent??"")}function mb(t,e=fb()){let n=[];return t.mod===!0&&n.push(e?"\u2318":"Ctrl"),t.alt===!0&&n.push(e?"\u2325":"Alt"),n.push(t.key.length===1&&/[a-z]/.test(t.key)?t.key.toUpperCase():t.key),e?n.join(""):n.join("+")}var ro=class t{shell=N(rn);handlers=new Map;revision=R(0);catalog=Ra;available=S(()=>{this.revision();let e=new Map;for(let n of Ra){if(!La(n))continue;let o=this.handlers.get(n.id);e.set(n.id,o!==void 0&&(o.enabled?.()??!0))}return e});constructor(){let e=globalThis.document;e&&(e.addEventListener("keydown",this.onKeydown,!0),N(ht).onDestroy(()=>e.removeEventListener("keydown",this.onKeydown,!0)))}bind(e,n,o){let r={run:n,enabled:o};return this.handlers.set(e,r),this.bump(),()=>{this.handlers.get(e)===r&&(this.handlers.delete(e),this.bump())}}bump(){this.revision.update(e=>e+1)}onKeydown=e=>{if(e.defaultPrevented||e.isComposing||e.getModifierState?.("AltGraph")===!0)return;let n=Ra.find(r=>La(r)&&UI(r.binding,e));if(n===void 0||n.whileTyping!==!0&&zI(e.target)||n.overlay===!0&&this.shell.modalOpen()&&!(n.id==="help.shortcuts"&&this.shell.shortcutsOpen()))return;let o=this.handlers.get(n.id);o===void 0||o.enabled!==void 0&&!o.enabled()||(e.preventDefault(),o.run())};static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function UI(t,e){return e.key.toLowerCase()!==t.key.toLowerCase()||t.mod===!0!==(fb()?e.metaKey:e.ctrlKey)?!1:t.alt===!0===e.altKey}function zI(t){let e=t;if(e===null||typeof e.tagName!="string")return!1;let n=e.tagName.toLowerCase();return n==="input"||n==="textarea"||n==="select"||e.isContentEditable===!0}var qI=10*1024*1024,ms=class t{morse=N(wt);available=S(()=>this.morse.capabilities()?.fileUpload===!0);async upload(e){let n=[],o=[];for(let r of e){if(r.size>qI){o.push(r.name);continue}let i=await Pm(r);if(!i){o.push(r.name);continue}let s=await this.morse.requestHostCommand("uploadFile",{name:r.name,mimeType:r.type,data:i}),a=typeof s?.path=="string"?s.path:void 0;if(!a){o.push(r.name);continue}n.push({path:a,name:r.name,bytes:typeof s?.bytes=="number"?s.bytes:r.size})}return{added:n,failed:o}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var _d=class t{morse=N(wt);cache=R([]);loading=R(!1);requested=!1;loadedFor;files=this.cache.asReadonly();busy=this.loading.asReadonly();available=S(()=>this.morse.capabilities()?.filePicker===!0);constructor(){de(()=>{if(!this.available())return;let e=this.morse.workspace().cwd;this.ensureLoaded(this.loadedFor!==void 0&&this.loadedFor!==e)})}ensureLoaded(e=!1){if(this.loading()||this.requested&&!e)return;this.requested=!0;let n=this.morse.workspace().cwd;this.loading.set(!0),this.morse.requestHostCommand("listFiles").then(o=>{if(this.loading.set(!1),this.morse.workspace().cwd!==n){this.ensureLoaded(!0);return}this.loadedFor=n;let r=o?.files;Array.isArray(r)&&this.cache.set(r.filter(i=>typeof i=="string"))})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function GI(t,e,n=80){let o=Math.floor(t-4-8);return Math.max(n,Math.min(e,o))}var bd=class t{preferred=ee(320,{alias:"morsePopoverFit"});host=N(Zt);renderer=N(Wo).createRenderer(null,null);observer;constructor(){si(()=>{this.fit();let e=this.anchor();e&&typeof ResizeObserver<"u"&&(this.observer=new ResizeObserver(()=>this.fit()),this.observer.observe(e))}),N(ht).onDestroy(()=>this.observer?.disconnect())}onWindowResize(){this.fit()}anchor(){let e=this.host.nativeElement;return e.offsetParent??e.parentElement}fit(){let e=this.anchor()?.getBoundingClientRect().top??0,n=GI(e,this.preferred());this.renderer.setStyle(this.host.nativeElement,"--morse-popover-max-height",`${n}px`)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=da({type:t,selectors:[["","morsePopoverFit",""]],hostBindings:function(n,o){n&1&&L("resize",function(){return o.onWindowResize()},kf)},inputs:{preferred:[1,"morsePopoverFit","preferred"]}})};var sn=class t{morseEnter=ee(0);morseEnterY=ee(8);morseEnterDuration=ee(260);morseEnterScale=ee(void 0);element=N(Zt);animation=N(hn);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 \u0275fac=function(n){return new(n||t)};static \u0275dir=da({type:t,selectors:[["","morseEnter",""]],inputs:{morseEnter:[1,"morseEnter"],morseEnterY:[1,"morseEnterY"],morseEnterDuration:[1,"morseEnterDuration"],morseEnterScale:[1,"morseEnterScale"]}})};var WI=["list"];function YI(t,e){t&1&&(_(0,"div",2),u(1,"Reading the workspace\u2026"),E())}function ZI(t,e){if(t&1&&(_(0,"div",4),u(1),E()),t&2){let n=h(2);p(),me("No match for \u201C",n.query(),"\u201D.")}}function KI(t,e){if(t&1){let n=z();_(0,"div",4),u(1," The host returned no workspace files. "),_(2,"button",5),L("click",function(){I(n);let r=h(2);return k(r.reload.emit())}),u(3,"Load again"),E()()}}function QI(t,e){if(t&1&&T(0,ZI,2,1,"div",4)(1,KI,4,0,"div",4),t&2){let n=h();M(n.query().length>0?0:1)}}function XI(t,e){if(t&1){let n=z();_(0,"li")(1,"button",6),L("mouseenter",function(){let r=I(n).$index,i=h(2);return k(i.activeChange.emit(r))})("click",function(){let r=I(n).$implicit,i=h(2);return k(i.pick.emit(r))}),_(2,"span",7),u(3),E(),_(4,"span",8)(5,"span",9),u(6),E(),u(7),E()()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(2);p(),De("active",o===r.active()),p(2),P(r.isDirectory(n)?"\u25B8":"\u25A4"),p(3),P(r.split(n).dir),p(),me("",r.split(n).base," ")}}function JI(t,e){if(t&1&&(_(0,"ul",null,0),xe(2,XI,8,5,"li",null,ci),E()),t&2){let n=h();p(2),Ee(n.files())}}var xd=class t{files=ee.required();busy=ee(!1);query=ee("");active=ee(0);pick=rt();close=rt();reload=rt();activeChange=rt();list=at("list");constructor(){de(()=>{this.active(),this.files(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.children.item(this.active());if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}split(e){let n=e.lastIndexOf("/");return n===-1?{dir:"",base:e}:{dir:e.slice(0,n+1),base:e.slice(n+1)}}isDirectory(e){return Am(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-file-picker"]],viewQuery:function(n,o){n&1&&vt(o.list,WI,5),n&2&&bt()},inputs:{files:[1,"files"],busy:[1,"busy"],query:[1,"query"],active:[1,"active"]},outputs:{pick:"pick",close:"close",reload:"reload",activeChange:"activeChange"},decls:16,vars:3,consts:[["list",""],[1,"picker",3,"morseEnter","morseEnterY"],[1,"busy"],[1,"hint"],[1,"empty"],["type","button",1,"reload",3,"click"],["type","button",3,"mouseenter","click"],[1,"icon"],[1,"path"],[1,"dir"]],template:function(n,o){n&1&&(_(0,"div",1),T(1,YI,2,0,"div",2)(2,QI,2,1)(3,JI,4,0,"ul"),_(4,"div",3)(5,"kbd"),u(6,"\u2191"),E(),_(7,"kbd"),u(8,"\u2193"),E(),u(9," move \xB7 "),_(10,"kbd"),u(11,"Enter"),E(),u(12," attach/open \xB7 "),_(13,"kbd"),u(14,"Esc"),E(),u(15," close "),E()()),n&2&&(K("morseEnter",0)("morseEnterY",6),p(),M(o.busy()&&o.files().length===0?1:o.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%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;padding:4px 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;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 gb(t,e,n=50){let o=e.trim().toLowerCase();return t.map(r=>({file:r,score:o.length===0?0:ek(r,o)})).filter(r=>r.score<Number.POSITIVE_INFINITY).sort((r,i)=>hb(r.file)-hb(i.file)||r.score-i.score||r.file.length-i.file.length||r.file.localeCompare(i.file)).slice(0,n).map(r=>r.file)}function Am(t){return t.endsWith("/")}function hb(t){return Am(t)?0:1}function ek(t,e){let n=(Am(t)?t.slice(0,-1):t).toLowerCase(),o=n.lastIndexOf("/"),r=o===-1?n:n.slice(o+1);return r.startsWith(e)?0:r.includes(e)?1:n.startsWith(e)?2:n.includes(e)?3:Number.POSITIVE_INFINITY}var tk=["list"],nk=(t,e)=>e.id;function ok(t,e){if(t&1&&(_(0,"div",3),u(1),E()),t&2){let n=h(2);p(),me("No command matches \u201C",n.query(),"\u201D.")}}function rk(t,e){t&1&&(_(0,"div",3),u(1,"No commands available in this session."),E())}function ik(t,e){if(t&1&&T(0,ok,2,1,"div",3)(1,rk,2,0,"div",3),t&2){let n=h();M(n.query().length>0?0:1)}}function sk(t,e){if(t&1&&(_(0,"span",5),u(1),E()),t&2){let n=h().$implicit;p(),P(n.icon)}}function ak(t,e){if(t&1&&(_(0,"span",8),u(1),E()),t&2){let n=h().$implicit;p(),P(n.description)}}function ck(t,e){if(t&1&&(_(0,"span",9),u(1),E()),t&2){let n=h().$implicit;p(),P(n.badge)}}function lk(t,e){if(t&1){let n=z();_(0,"li")(1,"button",4),L("mouseenter",function(){let r=I(n).$index,i=h(2);return k(i.activeChange.emit(r))})("pointerdown",function(r){return r.preventDefault()})("click",function(){let r=I(n).$implicit,i=h(2);return k(i.pick.emit(r.id))}),T(2,sk,2,1,"span",5),_(3,"span",6)(4,"span",7),u(5),E(),T(6,ak,2,1,"span",8),E(),T(7,ck,2,1,"span",9),E()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(2);p(),De("active",o===r.active()),p(),M(n.icon?2:-1),p(3),P(n.label),p(),M(n.description?6:-1),p(),M(n.badge?7:-1)}}function dk(t,e){if(t&1&&(_(0,"ul",null,0),xe(2,lk,8,6,"li",null,nk),E()),t&2){let n=h();p(2),Ee(n.items())}}var Ed=class t{items=ee.required();query=ee("");active=ee(0);pick=rt();close=rt();activeChange=rt();list=at("list");constructor(){de(()=>{this.active(),this.items(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.children.item(this.active());if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-command-picker"]],viewQuery:function(n,o){n&1&&vt(o.list,tk,5),n&2&&bt()},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(n,o){n&1&&(_(0,"div",1),T(1,ik,2,1)(2,dk,4,0,"ul"),_(3,"div",2)(4,"kbd"),u(5,"\u2191"),E(),_(6,"kbd"),u(7,"\u2193"),E(),u(8," move \xB7 "),_(9,"kbd"),u(10,"Enter"),E(),u(11," run \xB7 "),_(12,"kbd"),u(13,"Tab"),E(),u(14," insert \xB7 "),_(15,"kbd"),u(16,"Esc"),E(),u(17," close "),E()()),n&2&&(K("morseEnter",0)("morseEnterY",6),p(),M(o.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 yb(t,e,n=50){let o=e.trim().toLowerCase();return o.length===0?t.slice(0,n):t.map(r=>({item:r,score:uk(r,o)})).filter(r=>r.score<Number.POSITIVE_INFINITY).sort((r,i)=>r.score-i.score||r.item.label.length-i.item.label.length).slice(0,n).map(r=>r.item)}function uk(t,e){let n=t.label.toLowerCase();return n.startsWith(e)?0:n.includes(e)?1:t.description?.toLowerCase().includes(e)?2:Number.POSITIVE_INFINITY}var pk=["card"],fk=(t,e)=>e.id;function mk(t,e){t&1&&(v(0,"p",5),u(1),x()),t&2&&(p(),P(e))}function hk(t,e){t&1&&(v(0,"span",16),u(1,"required"),x())}function gk(t,e){if(t&1){let n=z();v(0,"textarea",19),q("input",function(r){I(n);let i=h().$implicit,s=h();return k(s.setValue(i.id,r))})("keydown",function(r){I(n);let i=h(2);return k(i.onSubmitKey(r))}),x()}if(t&2){let n=h().$implicit,o=h();Fe("value",o.value(n.id)),we("aria-label",n.label)}}function yk(t,e){if(t&1){let n=z();v(0,"input",20),q("input",function(r){I(n);let i=h().$implicit,s=h();return k(s.setValue(i.id,r))})("keydown.enter",function(r){I(n);let i=h(2);return k(i.submit(r))}),x()}if(t&2){let n=h().$implicit,o=h();Fe("value",o.value(n.id)),we("aria-label",n.label)}}function vk(t,e){if(t&1&&(v(0,"label",7)(1,"span",8),u(2),T(3,hk,2,0,"span",16),x(),T(4,gk,1,2,"textarea",17)(5,yk,1,2,"input",18),x()),t&2){let n=e.$implicit;p(2),me(" ",n.label," "),p(),M(n.required?3:-1),p(),M(n.index===void 0?4:5)}}var Cd=class t{request=ee.required();submitted=rt();cancelled=rt();card=at("card");values=R({});extra=R("");preview=S(()=>tb(this.request().form,this.values(),this.extra()));ready=S(()=>this.request().form.arguments.every(e=>!e.required||(this.values()[e.id]??"").trim().length>0));constructor(){de(()=>{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,n){let o=n.target.value;this.values.update(r=>Q(H({},r),{[e]:o}))}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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-prompt-template-dialog"]],viewQuery:function(n,o){n&1&&vt(o.card,pk,5),n&2&&bt()},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){if(n&1&&(v(0,"div",1),q("click",function(){return o.cancelled.emit()}),v(1,"div",2,0),q("click",function(i){return i.stopPropagation()}),v(3,"header",3)(4,"h2",4),u(5),x(),T(6,mk,2,1,"p",5),x(),v(7,"div",6),xe(8,vk,6,3,"label",7,fk),v(10,"label",7)(11,"span",8),u(12," Additional instructions "),v(13,"span",9),u(14,"optional \xB7 appended below the template"),x()(),v(15,"textarea",10),q("input",function(i){return o.setExtra(i)})("keydown",function(i){return o.onSubmitKey(i)}),x()(),v(16,"div",11)(17,"span",8),u(18,"Preview"),x(),v(19,"pre",12),u(20),x()(),v(21,"div",13)(22,"button",14),q("click",function(){return o.cancelled.emit()}),u(23,"Cancel"),x(),v(24,"button",15),q("click",function(){return o.submit()}),u(25,"Send"),x()()()()()),n&2){let r;p(5),me("/",o.request().name),p(),M((r=o.request().description)?6:-1,r),p(2),Ee(o.request().form.arguments),p(7),Fe("value",o.extra()),p(5),P(o.preview()),p(4),Fe("disabled",!o.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 io(t){return t<1e3?t.toString():t<1e4?`${(t/1e3).toFixed(1)}k`:t<1e6?`${Math.round(t/1e3)}k`:t<1e7?`${(t/1e6).toFixed(1)}M`:`${Math.round(t/1e6)}M`}function Rm(t){if(!t)return;let e=t.cacheReadTokens??0,n=t.cacheWriteTokens??0,o=t.inputTokens+e+n;if(!(o<=0||e===0&&n===0))return e/o*100}function Lm(t){if(!(t===void 0||t<=0))return`$${t.toFixed(3)}`}function Fm(t){let e=[],n=t.usage;if(n){n.inputTokens>0&&e.push(`\u2191${io(n.inputTokens)}`),n.outputTokens>0&&e.push(`\u2193${io(n.outputTokens)}`),n.cacheReadTokens&&e.push(`R${io(n.cacheReadTokens)}`),n.cacheWriteTokens&&e.push(`W${io(n.cacheWriteTokens)}`);let i=Rm(n);i!==void 0&&e.push(`CH${i.toFixed(1)}%`)}let o=Lm(t.costUsd);o&&e.push(o);let r=t.contextUsage;if(r){let i=r.percent!==null?`${r.percent.toFixed(1)}%`:"?";e.push(`${i}/${io(r.contextWindow)}`)}return e.join(" ")}var _k=["search"],bk=["list"],xk=(t,e)=>e.provider,Ek=(t,e)=>e.index;function Ck(t,e){if(t&1&&(_(0,"div",10),u(1),E()),t&2){let n=h();p(),me("No model matches \u201C",n.filter(),"\u201D.")}}function wk(t,e){t&1&&(_(0,"span",15),u(1),E()),t&2&&(p(),P(e))}function Sk(t,e){t&1&&(_(0,"span",16),u(1,"\u2713"),E())}function Tk(t,e){if(t&1){let n=z();_(0,"button",13),L("mouseenter",function(){let r=I(n).$implicit,i=h(4);return k(i.active.set(r.index))})("click",function(){let r=I(n).$implicit,i=h(4);return k(i.pick.emit(r.model))}),_(1,"span",14),u(2),E(),T(3,wk,2,1,"span",15),T(4,Sk,2,0,"span",16),E()}if(t&2){let n,o=e.$implicit,r=h(4);De("active",o.index===r.active())("selected",r.keyOf(o.model)===r.current()),K("title",r.keyOf(o.model)),we("aria-current",r.keyOf(o.model)===r.current()?"true":null),p(2),P(o.model.name),p(),M((n=r.context(o.model))?3:-1,n),p(),M(r.keyOf(o.model)===r.current()?4:-1)}}function Mk(t,e){if(t&1&&(_(0,"div",11),u(1),E(),xe(2,Tk,5,9,"button",12,Ek)),t&2){let n=h().$implicit;p(),P(n.provider),p(),Ee(n.rows)}}function Ik(t,e){if(t&1&&T(0,Mk,4,1),t&2){let n=e.$implicit;M(n.rows.length>0?0:-1)}}function kk(t,e){if(t&1&&xe(0,Ik,1,1,null,null,xk),t&2){let n=h();Ee(n.groups())}}function Nk(t,e){let n=e.trim().toLowerCase(),o=new Map;for(let r of t){if(n.length>0&&!`${r.provider} ${r.id} ${r.name}`.toLowerCase().includes(n))continue;let i=o.get(r.provider);i?i.push(r):o.set(r.provider,[r])}return[...o].map(([r,i])=>({provider:r,models:i}))}var wd=class t{models=ee.required();current=ee("");pick=rt();close=rt();host=N(Zt);search=at("search");list=at("list");filter=R("");active=R(0);groups=S(()=>{let e=0;return Nk(this.models(),this.filter()).map(n=>({provider:n.provider,rows:n.models.map(o=>({model:o,index:e++}))}))});visible=S(()=>this.groups().flatMap(e=>e.rows.map(n=>n.model)));constructor(){si(()=>this.search()?.nativeElement.focus()),de(()=>{if(this.groups(),this.filter().trim().length>0)return;let e=this.visible().findIndex(n=>this.keyOf(n)===this.current());e>=0&&this.active.set(e)}),de(()=>{this.active(),this.groups(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.querySelectorAll(".row")[this.active()];if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect(),i=e.querySelector(".group")?.offsetHeight??0,s=o.top+i;r.top<s?e.scrollTop-=s-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}keyOf(e){return`${e.provider}/${e.id}`}context(e){return e.contextWindow?io(e.contextWindow):""}onFilter(e){this.filter.set(e.target.value),this.active.set(0)}onKeydown(e){let n=this.visible();switch(e.key){case"Escape":e.preventDefault(),this.close.emit();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.pick.emit(o));return}default:return}}onDocumentPointerdown(e){let n=e.target;n&&!this.host.nativeElement.contains(n)&&this.close.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-model-picker"]],viewQuery:function(n,o){n&1&&vt(o.search,_k,5)(o.list,bk,5),n&2&&bt(2)},hostBindings:function(n,o){n&1&&L("pointerdown",function(i){return o.onDocumentPointerdown(i)},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(n,o){n&1&&(_(0,"div",2)(1,"div",3)(2,"span",4),Ut(),_(3,"svg",5),Le(4,"circle",6)(5,"path",7),E()(),Sn(),_(6,"input",8,0),L("input",function(i){return o.onFilter(i)})("keydown",function(i){return o.onKeydown(i)}),E()(),_(8,"div",9,1),T(10,Ck,2,1,"div",10)(11,kk,2,0),E()()),n&2&&(K("morseEnter",0)("morseEnterY",6),p(6),K("value",o.filter()),p(4),M(o.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 Dk=["brain"],Ok=["halo"];function Pk(t,e){if(t&1&&(Ut(),ze(0,"path")),t&2){let n=e.$implicit;we("d",n)}}function Ak(t,e){t&1&&ze(0,"span",3,1)}function Rk(t,e){t&1&&ze(0,"span",4,1)}var Lk=["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"],Fk={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6};function jk(t){return Fk[t]??2}function Vk(t){switch(t){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 Sd=class t{level=ee.required();bumped=ee(!1);host=N(Zt);animation=N(hn);brain=at("brain");halos=O_("halo");stoppers=[];paths=Lk;intensity=S(()=>jk(this.level()));constructor(){de(()=>{let e=this.level(),n=this.brain()?.nativeElement,o=this.halos().map(i=>i.nativeElement);if(this.stopLoops(),!n||!this.animation.isEnabled)return;let r=Vk(e);this.stoppers.push(this.animation.loop(n,r.params,{duration:r.duration,delay:r.delay??0,ease:r.ease??"inOut(2)"})),r.halo&&o.forEach((i,s)=>{this.stoppers.push(this.animation.loop(i,{scale:[.72,1.9],opacity:[.55,0]},{duration:r.halo.duration,delay:(r.halo.delay??0)+s*r.halo.duration*.5,ease:"out(2)",alternate:!1}))})}),de(()=>{this.bumped()&&this.animation.pop(this.host.nativeElement,{scale:1.3,duration:420})}),N(ht).onDestroy(()=>this.stopLoops())}stopLoops(){for(let e of this.stoppers)e();this.stoppers=[]}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-brain"]],viewQuery:function(n,o){n&1&&vt(o.brain,Dk,5)(o.halos,Ok,5),n&2&&bt(2)},hostVars:3,hostBindings:function(n,o){n&2&&(we("data-level",o.level()),De("bumped",o.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(n,o){n&1&&(Ut(),v(0,"svg",2,0),xe(2,Pk,1,1,":svg:path",null,ci),x(),T(4,Ak,2,0,"span",3),T(5,Rk,2,0,"span",4)),n&2&&(p(2),Ee(o.paths),p(2),M(o.intensity()>=3?4:-1),p(),M(o.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 $k=["panel"];function Hk(t,e){t&1&&(_(0,"span",10),u(1,"\u2713"),E())}function Bk(t,e){if(t&1){let n=z();_(0,"button",8),L("mouseenter",function(){let r=I(n).$index,i=h(2);return k(i.active.set(r))})("click",function(){let r=I(n).$implicit,i=h(2);return k(i.choose(r))}),Le(1,"morse-brain",2),_(2,"span",9),u(3),E(),T(4,Hk,2,0,"span",10),E()}if(t&2){let n=e.$implicit,o=e.$index,r=h(2);De("active",o===r.active())("selected",n===r.current()),we("aria-selected",n===r.current()),p(),K("level",n),p(2),P(n),p(),M(n===r.current()?4:-1)}}function Uk(t,e){if(t&1){let n=z();_(0,"div",6,0),L("keydown",function(r){I(n);let i=h();return k(i.onKeydown(r))}),xe(2,Bk,5,8,"button",7,ci),E()}if(t&2){let n=h();K("morseEnter",0)("morseEnterY",6),p(2),Ee(n.levels())}}var Td=class t{levels=ee.required();current=ee.required();pick=rt();host=N(Zt);shortcuts=N(ro);destroyRef=N(ht);panel=at("panel");open=R(!1);active=R(0);bumped=R(!1);constructor(){let e=this.shortcuts.bind("thinking.pick",()=>this.toggle(),()=>this.levels().length>0);this.destroyRef.onDestroy(e),de(()=>{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 n=this.levels();switch(e.key){case"Escape":e.preventDefault(),this.close();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.choose(o));return}default:return}}onDocumentPointerdown(e){let n=e.target;this.open()&&n&&!this.host.nativeElement.contains(n)&&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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-thinking-picker"]],viewQuery:function(n,o){n&1&&vt(o.panel,$k,5),n&2&&bt()},hostBindings:function(n,o){n&1&&L("pointerdown",function(i){return o.onDocumentPointerdown(i)},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(n,o){n&1&&(_(0,"button",1),L("click",function(){return o.toggle()}),Le(1,"morse-brain",2),_(2,"span",3),u(3),E(),_(4,"span",4),u(5,"\u25BE"),E()(),T(6,Uk,4,2,"div",5)),n&2&&(K("title","Thinking level: "+o.current()),we("aria-expanded",o.open()),p(),K("level",o.current()),p(2),P(o.current()),p(3),M(o.open()?6:-1))},dependencies:[sn,Sd],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 zk(t,e){t&1&&(v(0,"span"),u(1),x()),t&2&&(p(),me(" \xB7 ",e))}function qk(t,e){if(t&1&&(v(0,"section")(1,"h4"),u(2,"Last assistant message"),x(),v(3,"div",13)(4,"div",14)(5,"span",15),u(6,"Input"),x(),v(7,"span",16),u(8),x()(),v(9,"div",14)(10,"span",15),u(11,"Output"),x(),v(12,"span",16),u(13),x()(),v(14,"div",14)(15,"span",15),u(16,"Reasoning"),x(),v(17,"span",16),u(18),x()(),v(19,"div",14)(20,"span",15),u(21,"Cache read"),x(),v(22,"span",16),u(23),x()(),v(24,"div",14)(25,"span",15),u(26,"Cache write"),x(),v(27,"span",16),u(28),x()(),v(29,"div",14)(30,"span",15),u(31,"Cache hit"),x(),v(32,"span",16),u(33),x()()()()),t&2){let n=h(2);p(8),P(n.lastValue("inputTokens")),p(5),P(n.lastValue("outputTokens")),p(5),P(n.lastValue("reasoningTokens")),p(5),P(n.lastValue("cacheReadTokens")),p(5),P(n.lastValue("cacheWriteTokens")),p(5),P(n.cacheHitLabel())}}function Gk(t,e){if(t&1){let n=z();v(0,"button",5),q("click",function(){I(n);let r=h();return k(r.close())}),x(),v(1,"div",6)(2,"header")(3,"h3"),u(4,"Context"),x(),v(5,"button",7),q("click",function(){I(n);let r=h();return k(r.close())}),u(6,"\xD7"),x()(),v(7,"div",8),u(8),T(9,zk,2,1,"span"),x(),v(10,"div",9)(11,"span"),u(12,"Context"),x(),v(13,"span"),u(14),x()(),v(15,"div",10),ze(16,"span",11),x(),v(17,"div",12)(18,"span"),u(19),x()(),v(20,"div",13)(21,"div",14)(22,"span",15),u(23,"Messages"),x(),v(24,"span",16),u(25),x()(),v(26,"div",14)(27,"span",15),u(28,"User"),x(),v(29,"span",16),u(30),x()(),v(31,"div",14)(32,"span",15),u(33,"Assistant"),x(),v(34,"span",16),u(35),x()(),v(36,"div",14)(37,"span",15),u(38,"Tool calls"),x(),v(39,"span",16),u(40),x()(),v(41,"div",14)(42,"span",15),u(43,"Cost"),x(),v(44,"span",16),u(45),x()(),v(46,"div",14)(47,"span",15),u(48,"Output limit"),x(),v(49,"span",16),u(50),x()()(),T(51,qk,34,6,"section"),v(52,"section")(53,"h4"),u(54,"Session totals"),x(),v(55,"div",17),u(56),x()()()}if(t&2){let n,o=h();p(8),me(" ",o.modelLabel()),p(),M((n=o.sessionTitle())?9:-1,n),p(5),Ln("",o.usedLabel()," / ",o.limitLabel()),p(2),Do("width",o.fillPercent(),"%"),De("warn",o.level()==="warn")("danger",o.level()==="danger"),p(3),me("",o.percentLabel()," used"),p(6),P(o.counts()?.totalMessages??"\u2014"),p(5),P(o.counts()?.userMessages??"\u2014"),p(5),P(o.counts()?.assistantMessages??"\u2014"),p(5),P(o.counts()?.toolCalls??"\u2014"),p(5),P(o.costLabel()),p(5),P(o.outputLimitLabel()),p(),M(o.lastUsage()?51:-1),p(5),P(o.sessionLine()||"No usage yet.")}}var Wk=15.5,vb=2*Math.PI*Wk,Md=class t{usage=ee();lastUsage=ee();costUsd=ee();contextUsage=ee();counts=ee();model=ee();sessionTitle=ee();open=R(!1);circumference=vb;percent=S(()=>this.contextUsage()?.percent??void 0);percentLabel=S(()=>{let e=this.contextUsage()?.percent;return e==null?"\u2013":`${e.toFixed(1)}%`});level=S(()=>{let e=this.percent()??0;return e>90?"danger":e>70?"warn":"ok"});fillPercent=S(()=>Math.min(100,Math.max(0,this.percent()??0)));dashOffset=S(()=>vb*(1-this.fillPercent()/100));usedLabel=S(()=>{let e=this.contextUsage()?.tokens;return e==null?"\u2014":io(e)});limitLabel=S(()=>{let e=this.contextUsage()?.contextWindow;return e===void 0?"\u2014":io(e)});costLabel=S(()=>Lm(this.costUsd())??"\u2014");outputLimitLabel=S(()=>{let e=this.model()?.maxTokens;return e===void 0?"\u2014":io(e)});modelLabel=S(()=>this.model()?.name??this.model()?.id??"no model");tooltip=S(()=>{let e=[`Context ${this.percentLabel()} \xB7 ${this.usedLabel()} / ${this.limitLabel()}`],n=Fm({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()});return n.length>0&&e.push(n),e.join(`
13
+ `)});sessionLine=S(()=>Fm({usage:this.usage(),costUsd:this.costUsd(),contextUsage:this.contextUsage()}));cacheHitLabel=S(()=>{let e=Rm(this.lastUsage());return e===void 0?"\u2014":`${e.toFixed(1)}%`});lastValue(e){let n=this.lastUsage();return n?io(n[e]??0):"\u2014"}toggle(){this.open.update(e=>!e)}close(){this.open.set(!1)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-usage-indicator"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){n&1&&(v(0,"button",0),q("click",function(){return o.toggle()}),Ut(),v(1,"svg",1),ze(2,"circle",2)(3,"circle",3),x(),Sn(),v(4,"span",4),u(5),x()(),T(6,Gk,57,19)),n&2&&(Fe("title",o.tooltip()),we("aria-expanded",o.open()),p(),De("warn",o.level()==="warn")("danger",o.level()==="danger"),p(2),we("stroke-dasharray",o.circumference)("stroke-dashoffset",o.dashOffset()),p(2),P(o.percentLabel()),p(),M(o.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 Yk=["promptInput"],Zk=["fileInput"],_b=(t,e)=>e.id;function Kk(t,e){if(t&1){let n=z();_(0,"button",25),L("click",function(){I(n);let r=h();return k(r.attachSelection())}),u(1," \u29C9 "),E()}}function Qk(t,e){t&1&&u(0," add files \xB7 @ to mention \xB7 / for commands ")}function Xk(t,e){t&1&&u(0," upload or drop files \xB7 / for commands ")}function Jk(t,e){t&1&&u(0," drop files here \xB7 / for commands ")}function eN(t,e){if(t&1){let n=z();_(0,"morse-file-picker",26),L("activeChange",function(r){I(n);let i=h();return k(i.mentionActive.set(r))})("pick",function(r){I(n);let i=h();return k(i.onPickFile(r))})("reload",function(){I(n);let r=h();return k(r.reloadFiles())})("close",function(){I(n);let r=h();return k(r.onPickerClose())}),E()}if(t&2){let n=h();K("morsePopoverFit",300)("files",n.pickerMatches())("busy",n.loadingFiles())("query",n.pickerFilter())("active",n.mentionActive())}}function tN(t,e){if(t&1){let n=z();_(0,"morse-command-picker",27),L("activeChange",function(r){I(n);let i=h();return k(i.paletteActive.set(r))})("pick",function(r){I(n);let i=h();return k(i.activatePalette(r,"run"))})("close",function(){I(n);let r=h();return k(r.onPaletteClose())}),E()}if(t&2){let n=h();K("morsePopoverFit",320)("items",n.paletteItems())("query",n.paletteFilter())("active",n.paletteActive())}}function nN(t,e){if(t&1){let n=z();_(0,"li",28)(1,"button",30),L("click",function(){I(n);let r=h(2);return k(r.lockLive())}),_(2,"span",31),u(3,"\u29C9"),E(),_(4,"span",32),u(5),E(),_(6,"span",33),u(7),E()(),_(8,"button",34),L("click",function(){I(n);let r=h(2);return k(r.dismissLive())}),u(9," \xD7 "),E()()}if(t&2){let n=e,o=h(2);K("morseEnter",0)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),p(),K("title",o.lockLiveLabel()),we("aria-label","Lock the "+n.path+" selection as a pin"),p(3),K("title",n.path),p(),P(n.path),p(2),Ln("L",n.startLine,"-",n.endLine),p(),we("aria-label","Dismiss the "+n.path+" selection preview")}}function oN(t,e){if(t&1){let n=z();_(0,"li",29),Le(1,"img",35),_(2,"span",32),u(3),E(),_(4,"button",36),L("click",function(){let r=I(n).$implicit,i=h(2);return k(i.removeImage(r.id))}),u(5," \xD7 "),E()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(2);K("morseEnter",r.chipOffset()+o)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),p(),K("src",r.preview(n),yo)("alt",n.name),p(),K("title",n.name),p(),P(n.name),p(),we("aria-label","Remove "+n.name)}}function rN(t,e){if(t&1&&(_(0,"span",33),u(1),E()),t&2){let n=h().$implicit;p(),Ln("L",n.startLine,"-",n.endLine)}}function iN(t,e){if(t&1){let n=z();_(0,"li",29)(1,"span",31),u(2,"\u29C9"),E(),_(3,"span",32),u(4),E(),T(5,rN,2,2,"span",33),_(6,"button",36),L("click",function(){let r=I(n).$implicit,i=h(2);return k(i.removePin(r.id))}),u(7," \xD7 "),E()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(2);K("morseEnter",r.chipOffset()+r.images().length+o)("morseEnterY",6)("morseEnterScale",.55)("morseEnterDuration",320),p(3),K("title",n.path),p(),P(n.path),p(),M(n.startLine!==void 0?5:-1),p(),we("aria-label","Unpin "+n.path)}}function sN(t,e){if(t&1&&(_(0,"ul",11),T(1,nN,10,11,"li",28),xe(2,oN,6,9,"li",29,_b),xe(4,iN,8,8,"li",29,_b),E()),t&2){let n,o=h();p(),M((n=o.livePreview())?1:-1,n),p(),Ee(o.images()),p(2),Ee(o.pins())}}function aN(t,e){if(t&1&&(_(0,"span",38),u(1),E()),t&2){let n=h(2);p(),Ln(" \u2193",n.streamedTokens()," \xB7 ",n.tokensPerSecond()??0," t/s ")}}function cN(t,e){if(t&1&&(_(0,"span",40),Le(1,"span",42),_(2,"span"),u(3),E(),_(4,"span",43),Le(5,"i")(6,"i")(7,"i"),E()()),t&2){let n=h(2);p(3),me("Working ",n.elapsed())}}function lN(t,e){if(t&1&&Le(0,"morse-usage-indicator",41),t&2){let n=h(2);K("usage",n.usageState().usage)("lastUsage",n.usageState().lastUsage)("costUsd",n.usageState().costUsd)("contextUsage",n.usageState().contextUsage)("counts",n.usageState().counts)("model",n.usageState().model)("sessionTitle",n.usageState().sessionTitle)}}function dN(t,e){if(t&1&&(_(0,"div",13)(1,"div",37),T(2,aN,2,2,"span",38),E(),_(3,"div",39),T(4,cN,8,1,"span",40),T(5,lN,1,7,"morse-usage-indicator",41),E()()),t&2){let n=h();p(2),M(n.running()?2:-1),p(2),M(n.running()?4:-1),p(),M(n.showUsage()?5:-1)}}function uN(t,e){if(t&1&&(_(0,"span",17),u(1),E()),t&2){let n=e;K("title",n),p(),P(n)}}function pN(t,e){if(t&1){let n=z();_(0,"morse-model-picker",44),L("pick",function(r){I(n);let i=h();return k(i.onModelPick(r))})("close",function(){I(n);let r=h();return k(r.closeModelPicker())}),E()}if(t&2){let n=h();K("morsePopoverFit",340)("models",n.models())("current",n.modelKey())}}function fN(t,e){if(t&1){let n=z();_(0,"button",45),L("click",function(){I(n);let r=h();return k(r.sendWith("steer"))}),u(1,"Steer"),E(),_(2,"button",45),L("click",function(){I(n);let r=h();return k(r.sendWith("followUp"))}),u(3,"Follow up"),E(),_(4,"button",46),L("click",function(){I(n);let r=h();return k(r.abort())}),u(5,"\u25A0"),E()}}function mN(t,e){if(t&1){let n=z();_(0,"button",47),L("click",function(){I(n);let r=h();return k(r.sendWith("new"))}),u(1," \u2191 "),E()}if(t&2){let n=h();K("disabled",!n.canSend())}}function hN(t,e){if(t&1){let n=z();_(0,"morse-prompt-template-dialog",48),L("submitted",function(r){I(n);let i=h();return k(i.onTemplateSubmit(r))})("cancelled",function(){I(n);let r=h();return k(r.closeTemplate())}),E()}t&2&&K("request",e)}var Id=class t{morse=N(wt);shell=N(rn);shortcuts=N(ro);destroyRef=N(ht);attachments=N(Cr);workspace=N(_d);uploads=N(ms);promptInput=at("promptInput");fileInput=at("fileInput");text=R("");connected=S(()=>this.morse.connection()==="ready");agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;streaming=S(()=>this.morse.state().streaming);canSend=S(()=>this.connected()&&!this.agentStarting()&&this.agentError()===void 0);canAttachSelection=S(()=>this.morse.capabilities()?.editorContext===!0);thinkingLevel=S(()=>this.morse.state().thinkingLevel);models=this.morse.availableModels;levels=this.morse.availableThinkingLevels;modelKey=S(()=>{let e=this.morse.state().model;return e?`${e.provider}/${e.id}`:""});usageState=this.morse.state;showUsage=S(()=>{let e=this.morse.state();return e.usage!==void 0||e.contextUsage!==void 0});showStatusRow=S(()=>this.running()||this.showUsage());streamedTokens=S(()=>Math.round(Math.max(0,jm(this.morse.items())-this.baseline())/4));tokensPerSecond=R(void 0);baseline=R(0);throughput=[];images=this.attachments.images;pins=this.attachments.pins;livePreview=this.attachments.livePreview;chipOffset=S(()=>this.livePreview()?1:0);lockLiveLabel=S(()=>this.livePreview()?"Lock this selection \u2014 it stops following the editor; a new selection makes a new chip.":"");pickerOpen=R(!1);workspaceFiles=this.workspace.files;loadingFiles=this.workspace.busy;mentionMode=R(!1);pickerFilter=R("");pickerMatches=S(()=>gb(this.workspaceFiles(),this.pickerFilter()));mentionActive=R(0);canPickFiles=this.workspace.available;canUpload=this.uploads.available;paletteOpen=R(!1);paletteFilter=R("");paletteActive=R(0);templateRequest=R(void 0);availableCommands=this.morse.availableCommands;paletteItems=S(()=>{let e=[...bb.map(n=>({id:`builtin:${n.name}`,label:`/${n.name}`,description:n.description,badge:"built-in",icon:"\u203A"})),...this.availableCommands().map(n=>({id:`command:${n.name}`,label:`/${n.name}`,description:n.description,badge:n.source,icon:"\u2044"}))];return yb(e,this.paletteFilter())});modelPickerOpen=R(!1);currentModel=this.morse.model;currentProvider=S(()=>this.morse.model()?.provider??"");modelLabel=S(()=>{let e=this.morse.model();return e?`${e.provider} \xB7 ${e.name}`:"no model"});canAddFiles=S(()=>this.canPickFiles()||this.canUpload()||this.canAttachSelection());addFilesLabel=S(()=>this.canPickFiles()?"Add files to the prompt":this.canUpload()?"Upload files to the prompt":"Attach the active editor selection");running=S(()=>this.morse.state().streaming||this.morse.state().busy);elapsed=S(()=>{this.tick();let e=this.startedAt(),n=e===null?0:Date.now()-e;return n<1e3?"":vN(n)});startedAt=R(null);tick=R(0);constructor(){let e=this.shortcuts.bind("model.pick",()=>this.toggleModelPicker(),()=>this.models().length>0);this.destroyRef.onDestroy(e),de(()=>{if(this.attachments.mentions().length===0)return;let r=this.attachments.takeMentions().map(s=>s.startsWith("@")?s:`@${s}`).join(`
12
14
  `);this.text.update(s=>s.trim().length===0?r:`${s.trimEnd()}
13
- ${r}`),this.promptInput()?.nativeElement?.focus()}),this.morse.onContextSelection(n=>{this.attachments.pin(n),this.attachments.say("info","Selection pinned to this message.")}),this.morse.onContextSelectionLive(n=>this.attachments.setLivePreview(n)),this.morse.onComposerSeed(n=>{this.text.set(n.text),this.syncInputValue(),this.attachments.seed(n.images??[],n.pins??[])}),me(n=>{if(!this.running()){this.startedAt.set(null),this.tokensPerSecond.set(void 0),this.throughput.length=0;return}this.startedAt.update(r=>r??Date.now()),this.baseline.set(fa(()=>Lm(this.morse.items())));let o=setInterval(()=>{this.tick.update(r=>r+1),this.sampleThroughput()},500);n(()=>clearInterval(o))})}onInput(e){let n=e.target;this.text.set(n.value),this.refreshMentionQuery(n.value,n.selectionStart),this.refreshPaletteQuery(n.value,n.selectionStart)}onKeydown(e){if(this.paletteOpen()){let n=this.paletteItems();switch(e.key){case"Escape":e.preventDefault(),this.onPaletteClose();return;case"ArrowDown":e.preventDefault(),this.paletteActive.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.paletteActive.update(o=>Math.max(0,o-1));return;case"Tab":{let o=n[this.paletteActive()];e.preventDefault(),o&&this.activatePalette(o.id,"insert");return}case"Enter":{if(e.isComposing)return;let o=n[this.paletteActive()];if(o){e.preventDefault(),this.activatePalette(o.id,e.shiftKey?"insert":"run");return}break}default:return}}if(this.pickerOpen()){let n=this.pickerMatches();switch(e.key){case"Escape":e.preventDefault(),this.onPickerClose();return;case"ArrowDown":e.preventDefault(),this.mentionActive.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.mentionActive.update(o=>Math.max(0,o-1));return;case"Tab":case"Enter":{let o=n[this.mentionActive()];if(o){e.preventDefault(),this.onPickFile(o);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 n=this.text().trim(),o=Kk(n);if(o!==void 0){this.text.set(""),this.shell.requestCompact(o);return}let r=Zk(n);if(r){this.text.set(""),this.runBuiltin(r);return}let i=this.attachments.images(),s=this.attachments.pins();if(n.length===0&&i.length===0&&s.length===0){this.promptInput()?.nativeElement.focus();return}this.morse.prompt(n,e,this.attachments.takeImages(),this.attachments.takePins()),this.attachments.setLivePreview(null),this.text.set("")}lockLive(){this.attachments.lockLivePreview(),this.attachments.say("info","Selection locked to this message.")}dismissLive(){this.attachments.setLivePreview(null)}onPaste(e){let n=Array.from(e.clipboardData?.files??[]).filter(o=>o.type.startsWith("image/"));n.length!==0&&(e.preventDefault(),this.attachments.accept(n).then(o=>{o.attached>0&&this.attachments.say("info",`${o.attached} pasted image${o.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 n=e.selection;this.attachments.pin({path:e.path??"",startLine:n.startLine,endLine:n.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.text(),n=e.length>0&&!/\s$/.test(e)?" ":"";this.text.set(`${e}${n}@`);let o=this.promptInput()?.nativeElement;if(o){let r=this.text();o.value=r,o.focus(),o.setSelectionRange(r.length,r.length)}this.mentionMode.set(!0),this.pickerFilter.set(""),this.mentionActive.set(0),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}onFilesChosen(e){let n=e.target,o=Array.from(n?.files??[]);n&&(n.value=""),o.length!==0&&this.importFiles(o.filter(r=>r.type.startsWith("image/")),o.filter(r=>!r.type.startsWith("image/")))}async importFiles(e,n){let o=await this.attachments.accept(e),r=n.length>0?await this.uploads.upload(n):{added:[],failed:[]};this.attachments.addMentions(r.added.map(a=>a.path));let i=[];o.attached>0&&i.push(`${o.attached} image${o.attached===1?"":"s"} attached`),r.added.length>0&&i.push(`${r.added.length} file${r.added.length===1?"":"s"} uploaded`);let s=[...o.skipped,...r.failed];if(s.length>0&&i.push(`could not attach ${s.join(", ")}`),i.length>0){let a=o.attached===0&&r.added.length===0;this.attachments.say(a?"warn":"info",i.join(" \xB7 "))}}refreshMentionQuery(e,n){if(!this.canPickFiles())return;let o=e.slice(0,n??e.length),r=/(?:^|\s)@([\w./-]*)$/.exec(o);if(!r){this.mentionMode()&&(this.pickerOpen.set(!1),this.mentionMode.set(!1));return}r[1]!==this.pickerFilter()&&this.mentionActive.set(0),this.mentionMode.set(!0),this.pickerFilter.set(r[1]??""),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}refreshPaletteQuery(e,n){let o=e.slice(0,n??e.length),r=/(?:^|\n)\s*\/([\w:-]*)$/.exec(o);if(!r){this.paletteOpen()&&this.paletteOpen.set(!1);return}r[1]!==this.paletteFilter()&&this.paletteActive.set(0),this.paletteFilter.set(r[1]??""),this.paletteOpen.set(!0)}activatePalette(e,n){if(e.startsWith("builtin:")){let o=e.slice(8);if(o==="model"){this.stripSlashToken(),this.closePalette(),this.openModelPicker();return}this.stripSlashToken(),this.closePalette(),this.runBuiltin(o);return}if(e.startsWith("command:")){let o=e.slice(8);if(n==="run"){this.stripSlashToken(),this.text.set(""),this.closePalette(),this.morse.prompt(`/${o}`,this.streaming()?"steer":"new");return}this.replaceSlashToken(`/${o} `),this.closePalette()}}onPaletteClose(){this.closePalette()}closePalette(){this.paletteOpen.set(!1),this.paletteFilter.set(""),this.paletteActive.set(0),this.promptInput()?.nativeElement.focus()}openModelPicker(){this.modelPickerOpen.set(!0)}toggleModelPicker(){this.modelPickerOpen.update(e=>!e)}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.morse.newSession(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();break}}stripSlashToken(){this.text.update(e=>e.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,"$1")),this.syncInputValue()}replaceSlashToken(e){this.text.update(n=>n.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,`$1${e}`)),this.syncInputValue()}syncInputValue(){let e=this.promptInput()?.nativeElement;if(!e)return;let n=this.text();e.value=n,e.focus(),e.setSelectionRange(n.length,n.length)}reloadFiles(){this.workspace.ensureLoaded(!0)}async requestSelectionSnapshot(){return this.morse.requestHostCommand("getEditorContext")}onPickerClose(){this.pickerOpen.set(!1),this.mentionMode.set(!1),this.promptInput()?.nativeElement.focus()}onPickFile(e){let n=e.endsWith("/");this.mentionMode()?this.text.update(o=>o.replace(/@[\w./-]*$/,`@${e}${n?"":" "}`)):n||(this.attachments.addMentions([e]),this.attachments.say("info",`Pinned ${e} to this message.`)),n?(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()}onThinkingPick(e){this.morse.setThinkingLevel(e)}sampleThroughput(){let e=Lm(this.morse.items()),n=Date.now();for(this.throughput.push({at:n,chars:e});this.throughput.length>2&&n-this.throughput[0].at>2e3;)this.throughput.shift();let o=this.throughput[0];if(!o)return;let r=n-o.at;if(r<500)return;let i=(e-o.chars)/4;this.tokensPerSecond.set(Math.max(0,Math.round(i/r*1e4)/10))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-chat-composer"]],viewQuery:function(n,o){n&1&&Et(o.promptInput,Ik,5)(o.fileInput,kk,5),n&2&&wt(2)},decls:31,vars:22,consts:[["fileInput",""],["promptInput",""],[1,"host"],[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"],["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","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,"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"]],template:function(n,o){if(n&1&&(v(0,"footer",2)(1,"div",3)(2,"div",4)(3,"button",5),L("click",function(){return o.onAddFiles()}),p(4," + "),x(),v(5,"input",6,0),L("change",function(i){return o.onFilesChosen(i)}),x(),T(7,Nk,2,0,"button",7),v(8,"span",8),T(9,Dk,1,0)(10,Ok,1,0)(11,Pk,1,0),x()(),T(12,Ak,1,5,"morse-file-picker",9),T(13,Rk,1,4,"morse-command-picker",10),T(14,$k,6,1,"ul",11),v(15,"textarea",12,1),L("input",function(i){return o.onInput(i)})("keydown",function(i){return o.onKeydown(i)})("paste",function(i){return o.onPaste(i)}),x(),T(17,zk,6,3,"div",13),v(18,"div",14)(19,"div",15)(20,"button",16),L("pointerdown",function(i){return i.stopPropagation()})("click",function(){return o.toggleModelPicker()}),T(21,qk,2,2,"span",17),v(22,"span",18),p(23),x(),v(24,"span",19),p(25,"\u25BE"),x()(),T(26,Gk,1,3,"morse-model-picker",20),v(27,"morse-thinking-picker",21),L("pick",function(i){return o.onThinkingPick(i)}),x()(),v(28,"div",22),T(29,Wk,6,0)(30,Yk,2,1,"button",23),x()()()()),n&2){let r;f(3),K("disabled",!o.canAddFiles())("title",o.addFilesLabel()),Ne("aria-label",o.addFilesLabel())("aria-expanded",o.pickerOpen()),f(4),M(o.canAttachSelection()?7:-1),f(2),M(o.canPickFiles()?9:o.canUpload()?10:11),f(3),M(o.pickerOpen()?12:-1),f(),M(o.paletteOpen()?13:-1),f(),M(o.images().length>0||o.pins().length>0||o.livePreview()!==null?14:-1),f(),K("value",o.text())("disabled",!o.canSend())("placeholder",o.connected()?o.agentStarting()?"Starting the Pi agent\u2026":o.agentError()?"The pi agent is unavailable.":o.agentReady()?"Ask Morse\u2026 (Enter to send, Shift+Enter for a new line)":"Type to start a session\u2026 (Enter to send, Shift+Enter for a new line)":"Waiting for a Morse host\u2026"),f(2),M(o.showStatusRow()?17:-1),f(3),K("disabled",o.models().length===0)("title",o.modelLabel()),Ne("aria-expanded",o.modelPickerOpen()),f(),M((r=o.currentProvider())?21:-1,r),f(2),A(o.currentModel()?.name||"no model"),f(3),M(o.modelPickerOpen()?26:-1),f(),K("levels",o.levels())("current",o.thinkingLevel()),f(2),M(o.streaming()?29:30)}},dependencies:[sn,xd,Td,Ed,Cd,Sd,bd],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}.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}}"]})},mb=[{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 Zk(t){let e=/^\/([\w-]+)$/.exec(t);if(e)return mb.some(n=>n.name===e[1])?e[1]:void 0}function Kk(t){return/^\/compact\s+([\s\S]+)$/.exec(t)?.[1]?.trim()||void 0}function Qk(t){let e=t/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}function Lm(t){let e=0;for(let n of t)n.kind==="assistant"&&(e+=(n.text??"").length+(n.thinking??"").length);return e}function Xk(t,e){if(t&1&&(b(0,"div",8),p(1),E()),t&2){let n=y();Ze("title",n.workspace().cwd),f(),A(e)}}function Jk(t,e){if(t&1&&(b(0,"span",12),p(1),E()),t&2){let n=y();f(),A(n.statusLabel())}}var Id=class t{morse=I(Ct);shell=I(rn);state=this.morse.state;connection=this.morse.connection;connectionDetail=this.morse.connectionDetail;workspace=this.morse.workspace;navigationOpen=this.shell.navigationOpen;collapsed=this.shell.navigationCollapsed;status=S(()=>{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=S(()=>{switch(this.status()){case"ready":return"Ready";case"starting":return"Starting\u2026";case"connecting":return"Connecting\u2026";case"closed":return"Disconnected";case"error":return"Error";default:return this.status()}});statusTitle=S(()=>{let e=this.connectionDetail();return e?`${this.statusLabel()} \xB7 ${e}`:this.statusLabel()});title=S(()=>this.state().sessionTitle||this.workspace().name||"Morse");meta=S(()=>{let e=[],n=this.workspace().name;n&&n!==this.title()&&e.push(n);let o=this.state().model;return o&&e.push(o.name),e.join(" \xB7 ")});toggleNavigation(){this.shell.toggleNavigation()}toggleSidebar(){this.shell.toggleNavigationCollapsed()}compact(){this.shell.requestCompact()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-chat-header"]],decls:19,vars:16,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","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"]],template:function(n,o){if(n&1&&(b(0,"header",0)(1,"button",1),Z("click",function(){return o.toggleNavigation()}),p(2," \u2630 "),E(),b(3,"button",2),Z("click",function(){return o.toggleSidebar()}),Ut(),b(4,"svg",3),Ue(5,"rect",4)(6,"path",5),E()(),Sn(),b(7,"div",6)(8,"div",7),p(9),E(),T(10,Xk,2,2,"div",8),E(),b(11,"div",9)(12,"span",10),Ue(13,"span",11),T(14,Jk,2,1,"span",12),E(),b(15,"button",13),Z("click",function(){return o.compact()}),Ut(),b(16,"svg",3),Ue(17,"path",14)(18,"path",15),E()()()()),n&2){let r;f(),Ne("aria-expanded",o.navigationOpen()),f(2),Ze("title",o.collapsed()?"Show the sidebar":"Hide the sidebar"),Ne("aria-label",o.collapsed()?"Show the sidebar":"Hide the sidebar")("aria-expanded",!o.collapsed()),f(5),Ze("title",o.state().sessionId??o.workspace().cwd),f(),A(o.title()),f(),M((r=o.meta())?10:-1,r),f(2),De("online",o.status()==="ready")("busy",o.status()==="starting")("failed",o.status()==="error"||o.status()==="closed"),Ze("title",o.statusTitle()),f(2),M(o.status()!=="ready"?14:-1),f(),Ze("disabled",!o.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}}.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}}"]})};function yb(t){let e=[],n=[],o=()=>{n.length!==0&&(e.push({kind:"process",key:`process-${n[0]?.key??e.length}`,steps:n}),n=[])};for(let r of t){if(r.kind==="tool"){n.push({kind:"tool",key:r.id,item:r});continue}if(r.kind==="assistant"){let i=r.thinking.trim();i.length>0&&n.push({kind:"thinking",key:`${r.id}:thinking`,item:r}),r.text.trim().length>0||r.streaming?(o(),e.push({kind:"assistant",key:r.id,item:r})):i.length===0&&o();continue}o(),r.kind==="user"?e.push({kind:"user",key:r.id,item:r}):r.kind==="notice"?e.push({kind:"notice",key:r.id,item:r}):r.kind==="compaction"&&e.push({kind:"compaction",key:r.id,item:r})}return o(),e}function vb(t){for(let e=t.length-1;e>=0;e-=1){let n=t[e];if(n?.kind==="process")return n.key}return null}var eN=/(^|\s)@([^\s:]+(?::\d+(?:-\d+)?)?)(?=$|\s)/g;function tN(t){if(t.length===0)return;let e=t.indexOf(":");if(e===-1)return{path:t};let n=t.slice(0,e),o=t.slice(e+1),r=/^(\d+)(?:-(\d+))?$/.exec(o);if(n.length===0||!r)return;let i=Number(r[1]),s=r[2]===void 0?i:Number(r[2]);return{path:n,startLine:i,endLine:s}}function _b(t){let e;return t.split(`
14
- `).map(n=>{let o=/^\s*(`{3,}|~{3,})/.exec(n);if(o){let r=o[1]?.charAt(0)??"";return e===void 0?e=r:r===e&&(e=void 0),n}return e===void 0?nN(n):n}).join(`
15
- `)}function nN(t){let e="",n=0;for(;n<t.length;){let o=t.indexOf("`",n);if(o===-1){e+=hb(t.slice(n));break}e+=hb(t.slice(n,o));let r=t.indexOf("`",o+1);if(r===-1){e+=t.slice(o);break}e+=t.slice(o,r+1),n=r+1}return e}function hb(t){return t.replace(eN,(e,n,o)=>{let r=tN(o);if(!r)return e;let i=oN(r.path),s=r.startLine===void 0?`@${i}`:`@${i}:${r.startLine}-${r.endLine}`,a=gb(r.path),c=r.startLine===void 0?"":` data-mention-start="${r.startLine}" data-mention-end="${r.endLine}"`;return`${n}<span class="mention" data-mention-path="${a}" title="${a}"${c}><span class="mention-label">${gb(s)}</span></span>`})}function oN(t){let e=t.replace(/[\\/]+$/,""),n=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return n===-1?e:e.slice(n+1)}function gb(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function rN(t,e){this.v=t,this.k=e}function bb(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function iN(t){if(Array.isArray(t))return t}function sN(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,r,i,s,a=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(a.push(o.value),a.length!==e);c=!0);}catch(d){l=!0,r=d}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(l)throw r}}return a}}function aN(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cN(t,e){return iN(t)||sN(t,e)||lN(t,e)||aN()}function lN(t,e){if(t){if(typeof t=="string")return bb(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bb(t,e):void 0}}function kd(t){var e,n;function o(i,s){try{var a=t[i](s),c=a.value,l=c instanceof rN;Promise.resolve(l?c.v:c).then(function(d){if(l){var u=i==="return"&&c.k?i:"next";if(!c.k||d.done)return o(u,d);d=t[u](d).value}r(!!a.done,d)},function(d){o("throw",d)})}catch(d){r(2,d)}}function r(i,s){i===2?e.reject(s):e.resolve({value:s,done:i}),(e=e.next)?o(e.key,e.arg):n=null}this._invoke=function(i,s){return new Promise(function(a,c){var l={key:i,arg:s,resolve:a,reject:c,next:null};n?n=n.next=l:(e=n=l,o(i,s))})},typeof t.return!="function"&&(this.return=void 0)}kd.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},kd.prototype.next=function(t){return this._invoke("next",t)},kd.prototype.throw=function(t){return this._invoke("throw",t)},kd.prototype.return=function(t){return this._invoke("return",t)};var Rb=Object.entries,xb=Object.setPrototypeOf,dN=Object.isFrozen,uN=Object.getPrototypeOf,pN=Object.getOwnPropertyDescriptor,en=Object.freeze,an=Object.seal,hs=Object.create,Lb=typeof Reflect<"u"&&Reflect,Um=Lb.apply,zm=Lb.construct;en||(en=function(e){return e});an||(an=function(e){return e});Um||(Um=function(e,n){for(var o=arguments.length,r=new Array(o>2?o-2:0),i=2;i<o;i++)r[i-2]=arguments[i];return e.apply(n,r)});zm||(zm=function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return new e(...o)});var gi=Wt(Array.prototype.forEach);Array.prototype.indexOf;var fN=Wt(Array.prototype.lastIndexOf),Eb=Wt(Array.prototype.pop),Fa=Wt(Array.prototype.push);Array.prototype.slice;var mN=Wt(Array.prototype.splice),gs=Array.isArray,$a=Wt(String.prototype.toLowerCase),Fm=Wt(String.prototype.toString),Cb=Wt(String.prototype.match),ja=Wt(String.prototype.replace),wb=Wt(String.prototype.indexOf),hN=Wt(String.prototype.trim),gN=Wt(Number.prototype.toString),yN=Wt(Boolean.prototype.toString),Sb=typeof BigInt>"u"?null:Wt(BigInt.prototype.toString),Tb=typeof Symbol>"u"?null:Wt(Symbol.prototype.toString),Nn=Wt(Object.prototype.hasOwnProperty),Va=Wt(Object.prototype.toString),gn=Wt(RegExp.prototype.test),wr=vN(TypeError);function Wt(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return Um(t,e,o)}}function vN(t){return function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return zm(t,n)}}function rt(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$a;if(xb&&xb(t,null),!gs(e))return t;let o=e.length;for(;o--;){let r=e[o];if(typeof r=="string"){let i=n(r);i!==r&&(dN(e)||(e[o]=i),r=i)}t[r]=!0}return t}function _N(t){for(let e=0;e<t.length;e++)Nn(t,e)||(t[e]=null);return t}function Hn(t){let e=hs(null);for(let o of Rb(t)){var n=cN(o,2);let r=n[0],i=n[1];Nn(t,r)&&(gs(i)?e[r]=_N(i):i&&typeof i=="object"&&i.constructor===Object?e[r]=Hn(i):e[r]=i)}return e}function bN(t){switch(typeof t){case"string":return t;case"number":return gN(t);case"boolean":return yN(t);case"bigint":return Sb?Sb(t):"0";case"symbol":return Tb?Tb(t):"Symbol()";case"undefined":return Va(t);case"function":case"object":{if(t===null)return Va(t);let e=t,n=so(e,"toString");if(typeof n=="function"){let o=n(e);return typeof o=="string"?o:Va(o)}return Va(t)}default:return Va(t)}}function so(t,e){for(;t!==null;){let o=pN(t,e);if(o){if(o.get)return Wt(o.get);if(typeof o.value=="function")return Wt(o.value)}t=uN(t)}function n(){return null}return n}function xN(t){try{return gn(t,""),!0}catch{return!1}}var Mb=en(["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"]),jm=en(["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"]),Vm=en(["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"]),EN=en(["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"]),$m=en(["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"]),CN=en(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ib=en(["#text"]),kb=en(["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"]),Hm=en(["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"]),Nb=en(["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"]),Nd=en(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),wN=an(/{{[\w\W]*|^[\w\W]*}}/g),SN=an(/<%[\w\W]*|^[\w\W]*%>/g),TN=an(/\${[\w\W]*/g),MN=an(/^data-[\-\w.\u00B7-\uFFFF]+$/),IN=an(/^aria-[\-\w]+$/),Db=an(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kN=an(/^(?:\w+script|data):/i),NN=an(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),DN=an(/^html$/i),ON=an(/^[a-z][.\w]*(-[.\w]+)+$/i),Ob=an(/<[/\w!]/g),Pb=an(/<[/\w]/g),PN=an(/<\/no(script|embed|frames)/i),AN=an(/\/>/i),$n={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Fb=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],RN=en(rt({},Fb)),LN=(function(){let t={};return gi(Fb,e=>{t[e]=an(new RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),en(t)})(),FN=function(){return typeof window>"u"?null:window},jN=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let o=null,r="data-tt-policy-suffix";n&&n.hasAttribute(r)&&(o=n.getAttribute(r));let i="dompurify"+(o?"#"+o:"");try{return e.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Ab=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Sr=function(e,n,o,r){return Nn(e,n)&&gs(e[n])?rt(r.base?Hn(r.base):{},e[n],r.transform):o},Bm=function(e,n,o){let r=Nn(e,n)?e[n]:void 0;return r&&typeof r=="object"?Hn(r):o()};function jb(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:FN(),e=$=>jb($);if(e.version="3.4.16",e.removed=[],!t||!t.document||t.document.nodeType!==$n.document||!t.Element)return e.isSupported=!1,e;let n=t.document,o=n,r=o.currentScript;t.DocumentFragment;let i=t.HTMLTemplateElement,s=t.Node,a=t.Element,c=t.NodeFilter;t.NamedNodeMap===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;let l=t.DOMParser,d=t.trustedTypes,u=a.prototype,h=so(u,"cloneNode"),g=so(u,"remove"),_=so(u,"removeAttributeNode"),C=so(u,"nextSibling"),O=so(u,"childNodes"),W=so(u,"parentNode"),q=so(u,"shadowRoot"),he=so(u,"attributes"),ce=s&&s.prototype?so(s.prototype,"nodeType"):null,ve=s&&s.prototype?so(s.prototype,"nodeName"):null,ie=s&&s.prototype?so(s.prototype,"ownerDocument"):null,Qe=function(m){return ce?ce(m):m.nodeType},Pe=function(m){return ve?ve(m):m.nodeName};if(typeof i=="function"){let $=n.createElement("template");$.content&&$.content.ownerDocument&&(n=$.content.ownerDocument)}let je,ct="",bt,Dt=!1,St=0,Xe=function(){if(St>0)throw wr('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.')},pe=function(m){Xe(),St++;try{return je.createHTML(m)}finally{St--}},D=function(m){Xe(),St++;try{return je.createScriptURL(m)}finally{St--}},Y=function(){return Dt||(bt=jN(d,r),Dt=!0),bt},U=n,P=U.implementation,J=U.createNodeIterator,ke=U.createDocumentFragment,Je=U.getElementsByTagName,Ft=o.importNode,de=Ab();e.isSupported=typeof Rb=="function"&&typeof W=="function"&&P&&P.createHTMLDocument!==void 0;let gt=wN,$e=SN,tn=TN,jt=MN,We=IN,Bt=kN,Ot=NN,Ie=ON,ze=Db,_e=null,nt=rt({},[...Mb,...jm,...Vm,...$m,...Ib]),oe=null,st=rt({},[...kb,...Hm,...Nb,...Nd]),G=Object.seal(hs(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}})),mt=null,Ke=null,ne=Object.seal(hs(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),vt=!0,ue=!0,it=!1,He=!0,R=!1,V=!0,Q=!1,re=!1,lt=null,xt=null,Un=!1,pn=!1,bo=!1,xo=!1,Ya=!0,Za=!1,Ei="user-content-",Ir=!0,Cs=!1,Yt={},Eo=null,ws=rt({},["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"]),Ka=null,kr=rt({},["audio","video","img","source","image","track"]),Ss=null,Ts=rt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nn="http://www.w3.org/1998/Math/MathML",ir="http://www.w3.org/2000/svg",Ee="http://www.w3.org/1999/xhtml",Pt=Ee,Qa=!1,Ci=null,mE=rt({},[nn,ir,Ee],Fm),lh=en(["mi","mo","mn","ms","mtext"]),su=rt({},lh),dh=en(["annotation-xml"]),au=rt({},dh),hE=rt({},["title","style","font","a","script"]),Ms=null,gE=["application/xhtml+xml","text/html"],yE="text/html",Vt=null,wi=null,vE=n.createElement("form"),uh=function(m){return m instanceof RegExp||m instanceof Function},cu=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(wi&&wi===m)return;(!m||typeof m!="object")&&(m={}),m=Hn(m),Ms=gE.indexOf(m.PARSER_MEDIA_TYPE)===-1?yE:m.PARSER_MEDIA_TYPE,Vt=Ms==="application/xhtml+xml"?Fm:$a,_e=Sr(m,"ALLOWED_TAGS",nt,{transform:Vt}),oe=Sr(m,"ALLOWED_ATTR",st,{transform:Vt}),Ci=Sr(m,"ALLOWED_NAMESPACES",mE,{transform:Fm}),Ss=Sr(m,"ADD_URI_SAFE_ATTR",Ts,{transform:Vt,base:Ts}),Ka=Sr(m,"ADD_DATA_URI_TAGS",kr,{transform:Vt,base:kr}),Eo=Sr(m,"FORBID_CONTENTS",ws,{transform:Vt}),mt=Sr(m,"FORBID_TAGS",Hn({}),{transform:Vt}),Ke=Sr(m,"FORBID_ATTR",Hn({}),{transform:Vt}),Yt=Nn(m,"USE_PROFILES")?m.USE_PROFILES&&typeof m.USE_PROFILES=="object"?Hn(m.USE_PROFILES):m.USE_PROFILES:!1,vt=m.ALLOW_ARIA_ATTR!==!1,ue=m.ALLOW_DATA_ATTR!==!1,it=m.ALLOW_UNKNOWN_PROTOCOLS||!1,He=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,R=m.SAFE_FOR_TEMPLATES||!1,V=m.SAFE_FOR_XML!==!1,Q=m.WHOLE_DOCUMENT||!1,pn=m.RETURN_DOM||!1,bo=m.RETURN_DOM_FRAGMENT||!1,xo=m.RETURN_TRUSTED_TYPE||!1,Un=m.FORCE_BODY||!1,Ya=m.SANITIZE_DOM!==!1,Za=m.SANITIZE_NAMED_PROPS||!1,Ir=m.KEEP_CONTENT!==!1,Cs=m.IN_PLACE||!1,ze=xN(m.ALLOWED_URI_REGEXP)?m.ALLOWED_URI_REGEXP:Db,Pt=typeof m.NAMESPACE=="string"?m.NAMESPACE:Ee,su=Bm(m,"MATHML_TEXT_INTEGRATION_POINTS",()=>rt({},lh)),au=Bm(m,"HTML_INTEGRATION_POINTS",()=>rt({},dh));let w=Bm(m,"CUSTOM_ELEMENT_HANDLING",()=>hs(null));if(G=hs(null),Nn(w,"tagNameCheck")&&uh(w.tagNameCheck)&&(G.tagNameCheck=w.tagNameCheck),Nn(w,"attributeNameCheck")&&uh(w.attributeNameCheck)&&(G.attributeNameCheck=w.attributeNameCheck),Nn(w,"allowCustomizedBuiltInElements")&&typeof w.allowCustomizedBuiltInElements=="boolean"&&(G.allowCustomizedBuiltInElements=w.allowCustomizedBuiltInElements),an(G),R&&(ue=!1),bo&&(pn=!0),Yt&&(_e=rt({},Ib),oe=hs(null),Yt.html===!0&&(rt(_e,Mb),rt(oe,kb)),Yt.svg===!0&&(rt(_e,jm),rt(oe,Hm),rt(oe,Nd)),Yt.svgFilters===!0&&(rt(_e,Vm),rt(oe,Hm),rt(oe,Nd)),Yt.mathMl===!0&&(rt(_e,$m),rt(oe,Nb),rt(oe,Nd))),ne.tagCheck=null,ne.attributeCheck=null,Nn(m,"ADD_TAGS")&&(typeof m.ADD_TAGS=="function"?ne.tagCheck=m.ADD_TAGS:gs(m.ADD_TAGS)&&(_e===nt&&(_e=Hn(_e)),rt(_e,m.ADD_TAGS,Vt))),Nn(m,"ADD_ATTR")&&(typeof m.ADD_ATTR=="function"?ne.attributeCheck=m.ADD_ATTR:gs(m.ADD_ATTR)&&(oe===st&&(oe=Hn(oe)),rt(oe,m.ADD_ATTR,Vt))),Nn(m,"ADD_FORBID_CONTENTS")&&gs(m.ADD_FORBID_CONTENTS)&&(Eo===ws&&(Eo=Hn(Eo)),rt(Eo,m.ADD_FORBID_CONTENTS,Vt)),Ir&&(_e["#text"]=!0),Q&&rt(_e,["html","head","body"]),_e.table&&(rt(_e,["tbody"]),delete mt.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw wr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw wr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let j=je;je=m.TRUSTED_TYPES_POLICY;try{ct=pe("")}catch(B){throw je=j,B}}else m.TRUSTED_TYPES_POLICY===null?(je=void 0,ct=""):(je===void 0&&(je=Y()),je&&typeof ct=="string"&&(ct=pe("")));en&&en(m),wi=m},ph=rt({},[...jm,...Vm,...EN]),fh=rt({},[...$m,...CN]),_E=function(m,w,j){return w.namespaceURI===Ee?m==="svg":w.namespaceURI===nn?m==="svg"&&(j==="annotation-xml"||su[j]):!!ph[m]},bE=function(m,w,j){return w.namespaceURI===Ee?m==="math":w.namespaceURI===ir?m==="math"&&au[j]:!!fh[m]},xE=function(m,w,j){return w.namespaceURI===ir&&!au[j]||w.namespaceURI===nn&&!su[j]?!1:!fh[m]&&(hE[m]||!ph[m])},EE=function(m){let w=W(m);(!w||!w.tagName)&&(w={namespaceURI:Pt,tagName:"template"});let j=$a(m.tagName),B=$a(w.tagName);return Ci[m.namespaceURI]?m.namespaceURI===ir?_E(j,w,B):m.namespaceURI===nn?bE(j,w,B):m.namespaceURI===Ee?xE(j,w,B):!!(Ms==="application/xhtml+xml"&&Ci[m.namespaceURI]):!1},sr=function(m){Fa(e.removed,{element:m});try{W(m).removeChild(m)}catch{if(g(m),!W(m))throw wr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},mh=function(m,w,j){try{_(m,w)}catch{try{m.removeAttribute(j)}catch{}}},Xa=function(m){Ja(m);let w=O(m);if(w){let B=[];gi(w,se=>{Fa(B,se)}),gi(B,se=>{try{g(se)}catch{}})}let j=he(m);if(j)for(let B=j.length-1;B>=0;--B){let se=j[B],qe=se&&se.name;typeof qe=="string"&&mh(m,se,qe)}},Nr=function(m,w,j){if(!j)try{j=w.getAttributeNode(m)}catch{j=null}Fa(e.removed,{attribute:j||null,from:w});try{j?_(w,j):w.removeAttribute(m)}catch{try{w.removeAttribute(m)}catch{}}if(m==="is")if(pn||bo)try{sr(w)}catch{}else try{w.setAttribute(m,"")}catch{}},CE=function(m){let w=he(m);if(w)for(let j=w.length-1;j>=0;--j){let B=w[j],se=B&&B.name;typeof se!="string"||oe[Vt(se)]||mh(m,B,se)}},Ja=function(m){let w=[m];for(;w.length>0;){let j=w.pop();Qe(j)===$n.element&&CE(j);let B=O(j);if(B)for(let se=B.length-1;se>=0;--se)w.push(B[se])}},hh=function(m,w){return V?m==="patchsrc"?!0:m==="for"&&w!=="label"&&w!=="output":!1},wE=function(m){if(!V)return;let w=[m];for(;w.length>0;){let j=w.pop(),B=Qe(j);if(B===$n.processingInstruction||B===$n.comment&&gn(Pb,j.data)){try{g(j)}catch{}continue}if(B===$n.element){let qe=j,et=Vt(Pe(j));try{qe.hasAttribute&&qe.hasAttribute("patchsrc")&&qe.removeAttribute("patchsrc"),qe.hasAttribute&&qe.hasAttribute("for")&&hh("for",et)&&qe.removeAttribute("for")}catch{}}let se=O(j);if(se)for(let qe=se.length-1;qe>=0;--qe)w.push(se[qe])}},gh=function(m){let w=null,j=null;if(Un)m="<remove></remove>"+m;else{let qe=Cb(m,/^[\r\n\t ]+/);j=qe&&qe[0]}Ms==="application/xhtml+xml"&&Pt===Ee&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");let B=je?pe(m):m;if(Pt===Ee)try{w=new l().parseFromString(B,Ms)}catch{}if(!w||!w.documentElement){w=P.createDocument(Pt,"template",null);try{w.documentElement.innerHTML=Qa?ct:B}catch{}}let se=w.body||w.documentElement;return m&&j&&se.insertBefore(n.createTextNode(j),se.childNodes[0]||null),Pt===Ee?Je.call(w,Q?"html":"body")[0]:Q?w.documentElement:se},yh=function(m){let w=ie?ie(m):m.ownerDocument;return J.call(w||m,m,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},ec=function(m){return m=ja(m,gt," "),m=ja(m,$e," "),m=ja(m,tn," "),m},lu=function(m){var w;m.normalize();let j=ie?ie(m):m.ownerDocument,B=J.call(j||m,m,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),se=B.nextNode();for(;se;)se.data=ec(se.data),se=B.nextNode();let qe=(w=m.querySelectorAll)===null||w===void 0?void 0:w.call(m,"template");qe&&gi(qe,et=>{Si(et.content)&&lu(et.content)})},tc=function(m){let w=ve?ve(m):null;return typeof w!="string"||Vt(w)!=="form"?!1:typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||m.attributes!==he(m)||typeof m.removeAttribute!="function"||typeof m.removeAttributeNode!="function"||typeof m.getAttributeNode!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function"||m.nodeType!==ce(m)||m.childNodes!==O(m)},Si=function(m){if(!ce||typeof m!="object"||m===null)return!1;try{return ce(m)===$n.documentFragment}catch{return!1}},Is=function(m){if(!ce||typeof m!="object"||m===null)return!1;try{return typeof ce(m)=="number"}catch{return!1}};function Co($,m,w){$.length!==0&&gi($,j=>{j.call(e,m,w,wi)})}let SE=function(m,w){return!!(V&&m.hasChildNodes()&&!Is(m.firstElementChild)&&gn(Ob,m.textContent)&&gn(Ob,m.innerHTML)||V&&m.namespaceURI===Ee&&RN[w]&&(Is(m.firstElementChild)||typeof m.textContent=="string"&&gn(LN[w],m.textContent))||m.nodeType===$n.processingInstruction||V&&m.nodeType===$n.comment&&gn(Pb,m.data))},nc=function(m,w){if(m instanceof RegExp)return gn(m,w);if(m instanceof Function){for(var j=arguments.length,B=new Array(j>2?j-2:0),se=2;se<j;se++)B[se-2]=arguments[se];return!!m(w,...B)}return!1},TE=function(m,w,j){if(!mt[w]&&xh(w)&&nc(G.tagNameCheck,w))return!1;if(Ir&&!Eo[w]){let B=W(m),se=O(m);if(se&&B){let qe=se.length;for(let et=qe-1;et>=0;--et){let At=m===j?h(se[et],!0):se[et];B.insertBefore(At,C(m))}}}return sr(m),!0},vh=function(m,w,j,B){return m.length===0?w:w===j||w===B?Hn(w):w},Ti=function(m,w){return m===w||W(m)!==null?!1:(Cs&&Ja(m),!0)},_h=function(m,w){if(Co(de.beforeSanitizeElements,m,null),Ti(m,w))return!0;if(tc(m))return sr(m),!0;let j=Vt(Pe(m));if(_e=vh(de.uponSanitizeElement,_e,nt,lt),Co(de.uponSanitizeElement,m,{tagName:j,allowedTags:_e}),Ti(m,w))return!0;if(SE(m,j))return sr(m),!0;if(mt[j]||!(ne.tagCheck instanceof Function&&ne.tagCheck(j))&&!_e[j]){let B=TE(m,j,w);return B===!1&&(Co(de.afterSanitizeElements,m,null),Ti(m,w))?!0:B}if(Qe(m)===$n.element&&!EE(m)||(j==="noscript"||j==="noembed"||j==="noframes")&&gn(PN,m.innerHTML))return sr(m),!0;if(R&&m.nodeType===$n.text){let B=ec(m.textContent);m.textContent!==B&&(Fa(e.removed,{element:m.cloneNode()}),m.textContent=B)}return Co(de.afterSanitizeElements,m,null),Ti(m,w)},bh=function(m,w,j){if(Ke[w]||hh(w,m)||Ya&&(w==="id"||w==="name")&&(j in n||j in vE))return!1;let B=oe[w]||ne.attributeCheck instanceof Function&&ne.attributeCheck(w,m);return ue&&gn(jt,w)||vt&&gn(We,w)?!0:B?Ss[w]||gn(ze,ja(j,Ot,""))||(w==="src"||w==="xlink:href"||w==="href")&&m!=="script"&&wb(j,"data:")===0&&Ka[m]||it&&!gn(Bt,ja(j,Ot,""))?!0:!j:xh(m)&&nc(G.tagNameCheck,m)&&nc(G.attributeNameCheck,w,m)||w==="is"&&G.allowCustomizedBuiltInElements&&nc(G.tagNameCheck,j)},ME=rt({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),xh=function(m){return!ME[$a(m)]&&gn(Ie,m)},IE=function(m,w,j,B){if(je&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!j)switch(d.getAttributeType(m,w)){case"TrustedHTML":return pe(B);case"TrustedScriptURL":return D(B)}return B},kE=function(m,w,j,B){try{return j?m.setAttributeNS(j,w,B):m.setAttribute(w,B),tc(m)?(sr(m),!1):!0}catch{return Nr(w,m),!1}},Eh=function(m,w){if(Co(de.beforeSanitizeAttributes,m,null),Ti(m,w))return;let j=m.attributes;if(!j||tc(m))return;oe=vh(de.uponSanitizeAttribute,oe,st,xt);let B={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:oe,forceKeepAttr:void 0},se=j.length,qe=Vt(m.nodeName);for(;se--;){let et=j[se],At=et.name,zn=et.namespaceURI,Dn=et.value,Mi=Vt(At),uu=Dn,yn=At==="value"?uu:hN(uu),Ch=!1;if(B.attrName=Mi,B.attrValue=yn,B.keepAttr=!0,B.forceKeepAttr=void 0,Co(de.uponSanitizeAttribute,m,B),yn=B.attrValue,Za&&(Mi==="id"||Mi==="name")&&wb(yn,Ei)!==0&&(Nr(At,m,et),yn=Ei+yn,Ch=!0),V&&gn(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,yn)){Nr(At,m,et);continue}if(Mi==="attributename"&&Cb(yn,"href")){Nr(At,m,et);continue}if(!B.forceKeepAttr){if(!B.keepAttr){Nr(At,m,et);continue}if(!He&&gn(AN,yn)){Nr(At,m,et);continue}if(R&&(yn=ec(yn)),!bh(qe,Mi,yn)){Nr(At,m,et);continue}yn=IE(qe,Mi,zn,yn),yn!==uu&&kE(m,At,zn,yn)&&Ch&&Eb(e.removed)}}Co(de.afterSanitizeAttributes,m,null),Ti(m,w)},oc=function(m){let w=null,j=yh(m);for(Co(de.beforeSanitizeShadowDOM,m,null);w=j.nextNode();)if(Co(de.uponSanitizeShadowNode,w,null),_h(w,m),Eh(w,m),Si(w.content)&&oc(w.content),Qe(w)===$n.element){let B=q(w);Si(B)&&(du(B),oc(B))}Co(de.afterSanitizeShadowDOM,m,null)},du=function(m){let w=[{node:m,shadow:null}];for(;w.length>0;){let j=w.pop();if(j.shadow){oc(j.shadow);continue}let B=j.node,se=Qe(B)===$n.element,qe=O(B);if(qe)for(let et=qe.length-1;et>=0;--et)w.push({node:qe[et],shadow:null});if(se){let et=ve?ve(B):null;if(typeof et=="string"&&Vt(et)==="template"){let At=B.content;Si(At)&&w.push({node:At,shadow:null})}}if(se){let et=q(B);Si(et)&&w.push({node:null,shadow:et},{node:et,shadow:null})}}};return e.sanitize=function($){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=null,j=null,B=null,se=null;if(Qa=!$,Qa&&($="<!-->"),typeof $!="string"&&!Is($)&&($=bN($),typeof $!="string"))throw wr("dirty is not a string, aborting");if(!e.isSupported)return $;re?(_e=lt,oe=xt):cu(m),(de.uponSanitizeElement.length>0||de.uponSanitizeAttribute.length>0)&&(_e=Hn(_e)),de.uponSanitizeAttribute.length>0&&(oe=Hn(oe)),e.removed=[];let qe=Cs&&typeof $!="string"&&Is($);if(qe){wE($);let zn=Pe($);if(typeof zn=="string"){let Dn=Vt(zn);if(!_e[Dn]||mt[Dn])throw Xa($),wr("root node is forbidden and cannot be sanitized in-place")}if(tc($))throw Xa($),wr("root node is clobbered and cannot be sanitized in-place");try{du($)}catch(Dn){throw Xa($),Dn}}else if(Is($))w=gh("<!---->"),j=w.ownerDocument.importNode($,!0),j.nodeType===$n.element&&j.nodeName==="BODY"||j.nodeName==="HTML"?w=j:w.appendChild(j),du(w);else{if(!pn&&!R&&!Q&&$.indexOf("<")===-1)return je&&xo?pe($):$;if(w=gh($),!w)return pn?null:xo?ct:""}w&&Un&&sr(w.firstChild);let et=qe?$:w;try{let zn=yh(et);for(;B=zn.nextNode();)_h(B,et),Eh(B,et),Si(B.content)&&oc(B.content)}catch(zn){throw qe&&(Xa($),gi(e.removed,Dn=>{Dn.element&&Ja(Dn.element)})),zn}if(qe){let zn=!1;if(gi(e.removed,Dn=>{Dn.element&&(Dn.element===$&&(zn=!0),Ja(Dn.element))}),zn)throw wr("a node selected for removal could not be safely returned; refusing to sanitize in place");return R&&lu($),$}if(pn){if(R&&lu(w),bo)for(se=ke.call(w.ownerDocument);w.firstChild;)se.appendChild(w.firstChild);else se=w;return(oe.shadowroot||oe.shadowrootmode)&&(se=Ft.call(o,se,!0)),se}let At=Q?w.outerHTML:w.innerHTML;return Q&&_e["!doctype"]&&w.ownerDocument&&w.ownerDocument.doctype&&w.ownerDocument.doctype.name&&gn(DN,w.ownerDocument.doctype.name)&&(At="<!DOCTYPE "+w.ownerDocument.doctype.name+`>
17
- `+At),R&&(At=ec(At)),je&&xo?pe(At):At},e.setConfig=function(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};cu($),re=!0,lt=_e,xt=oe},e.clearConfig=function(){wi=null,re=!1,lt=null,xt=null,je=bt,ct=""},e.isValidAttribute=function($,m,w){wi||cu({});let j=Vt($),B=Vt(m);return bh(j,B,w)},e.addHook=function($,m){typeof m=="function"&&Nn(de,$)&&Fa(de[$],m)},e.removeHook=function($,m){if(Nn(de,$)){if(m!==void 0){let w=fN(de[$],m);return w===-1?void 0:mN(de[$],w,1)[0]}return Eb(de[$])}},e.removeHooks=function($){Nn(de,$)&&(de[$]=[])},e.removeAllHooks=function(){de=Ab()},e}var Vb=jb();var sx=VE(ix(),1);var Ld=sx.default;function ax(t){let e=t.regex,n={},o={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},o]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},i=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(a);let c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},u={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],g=t.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),_={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},C=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],O=["true","false"],W={match:/(\/[a-z._-]+)+/},q=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],he=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],ce=["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"],ve=["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:C,literal:O,built_in:[...q,...he,"set","shopt",...ce,...ve]},contains:[g,t.SHEBANG(),_,u,i,s,W,a,c,l,d,n]}}var ID=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),kD=["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"],ND=["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"],DD=[...kD,...ND],OD=["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(),PD=["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(),AD=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),RD=["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 cx(t){let e=t.regex,n=ID(t),o={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",i=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,o,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+PD.join("|")+")"},{begin:":(:)?("+AD.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+RD.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.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}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:i},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:OD.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+DD.join("|")+")\\b"}]}}function lx(t){let e=t.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 dx(t){let i={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:i,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.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:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,illegal:/["']/}]}]}}var ux="[A-Za-z$_][0-9A-Za-z$_]*",LD=["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"],FD=["true","false","null","undefined","NaN","Infinity"],px=["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"],fx=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],mx=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],jD=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],VD=[].concat(mx,px,fx);function hx(t){let e=t.regex,n=(U,{after:P})=>{let J="</"+U[0].slice(1);return U.input.indexOf(J,P)!==-1},o=ux,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(U,P)=>{let J=U[0].length+U.index,ke=U.input[J];if(ke==="<"||ke===","){P.ignoreMatch();return}ke===">"&&(n(U,{after:J})||P.ignoreMatch());let Je,Ft=U.input.substring(J);if(Je=Ft.match(/^\s*=/)){P.ignoreMatch();return}if((Je=Ft.match(/^\s+extends\s+/))&&Je.index===0){P.ignoreMatch();return}}},a={$pattern:ux,keyword:LD,literal:FD,built_in:VD,"variable.language":jD},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",u={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\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},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},g={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"css"}},C={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,h]},q={className:"comment",variants:[t.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:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},he=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,g,_,C,O,{match:/\$\d+/},u];h.contains=he.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(he)});let ce=[].concat(q,h.contains),ve=ce.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(ce)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:ve},Qe={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,e.concat(o,"(",e.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},Pe={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:{_:[...px,...fx]}},je={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ct={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},bt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Dt(U){return e.concat("(?!",U.join("|"),")")}let St={match:e.concat(/\b/,Dt([...mx,"super","import","await"].map(U=>`${U}\\s*\\(`)),o,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Xe={begin:e.concat(/\./,e.lookahead(e.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},pe={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",Y={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:ve,CLASS_REFERENCE:Pe},illegal:/#(?![$_A-Za-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),je,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,g,_,C,O,q,{match:/\$\d+/},u,Pe,{scope:"attr",match:o+e.lookahead(":"),relevance:0},Y,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[q,t.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:ve}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},ct,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,t.inherit(t.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},Xe,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},St,bt,Qe,pe,{match:/\$[(.]/}]}}var $D="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",HD={scope:"number",match:$D,relevance:0};function gx(t){let e={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},o=["true","false","null"],r={scope:"literal",beginKeywords:o.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:o},contains:[e,n,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,r,HD,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function yx(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},o={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},r={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}]},i={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}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),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}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=t.inherit(l,{contains:[]}),h=t.inherit(d,{contains:[]});l.contains.push(h),d.contains.push(u);let g=[n,c];return[l,d,u,h].forEach(W=>{W.contains=W.contains.concat(g)}),g=g.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:g},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:g}]}]},n,i,o,l,d,{className:"quote",begin:"^>\\s+",contains:g,end:"$"},r,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function vx(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,o=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),i=e.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+o},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(c)}),u={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(Xe,pe)=>{pe.data._beginMatch=Xe[1]||Xe[2]},"on:end":(Xe,pe)=>{pe.data._beginMatch!==Xe[1]&&pe.ignoreMatch()}},h=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),g=`[
18
- ]`,_={scope:"string",variants:[d,l,u,h]},C={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},O=["false","null","true"],W=["__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"],q=["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"],ce={keyword:W,literal:(Xe=>{let pe=[];return Xe.forEach(D=>{pe.push(D),D.toLowerCase()===D?pe.push(D.toUpperCase()):pe.push(D.toLowerCase())}),pe})(O),built_in:q},ve=Xe=>Xe.map(pe=>pe.replace(/\|\d+$/,"")),ie={variants:[{match:[/new/,e.concat(g,"+"),e.concat("(?!",ve(q).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},Qe=e.concat(o,"\\b(?!\\()"),Pe={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),Qe],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),Qe],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},je={scope:"attr",match:e.concat(o,e.lookahead(":"),e.lookahead(/(?!::)/))},ct={relevance:0,begin:/\(/,end:/\)/,keywords:ce,contains:[je,s,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,_,C,ie]},bt={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",ve(W).join("\\b|"),"|",ve(q).join("\\b|"),"\\b)"),o,e.concat(g,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[ct]};ct.contains.push(bt);let Dt=[je,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,_,C,ie],St={begin:e.concat(/#\[\s*\\?/,e.either(r,i)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:O,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:O,keyword:["new","array"]},contains:["self",...Dt]},...Dt,{scope:"meta",variants:[{match:r},{match:i}]}]};return{case_insensitive:!1,keywords:ce,contains:[St,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,bt,Pe,{match:[/const/,/\s/,o],scope:{1:"keyword",3:"variable.constant"}},ie,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ce,contains:["self",St,s,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,_,C]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},_,C]}}function _x(t){let e=t.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),o=["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:o,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},u={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{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:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",g=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,_=`\\b|${o.join("|")}`,C={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${g}))[eE][+-]?(${h})[jJ]?(?=${_})`},{begin:`(${g})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${_})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${_})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${_})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${_})`},{begin:`\\b(${h})[jJ](?=${_})`}]},O={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},W={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,C,u,t.HASH_COMMENT_MODE]}]};return l.contains=[u,C,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,C,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},u,O,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[W]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[C,W,u]}]}}var Fd="[A-Za-z$_][0-9A-Za-z$_]*",bx=["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"],xx=["true","false","null","undefined","NaN","Infinity"],Ex=["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"],Cx=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],wx=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Sx=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],Tx=[].concat(wx,Ex,Cx);function BD(t){let e=t.regex,n=(U,{after:P})=>{let J="</"+U[0].slice(1);return U.input.indexOf(J,P)!==-1},o=Fd,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(U,P)=>{let J=U[0].length+U.index,ke=U.input[J];if(ke==="<"||ke===","){P.ignoreMatch();return}ke===">"&&(n(U,{after:J})||P.ignoreMatch());let Je,Ft=U.input.substring(J);if(Je=Ft.match(/^\s*=/)){P.ignoreMatch();return}if((Je=Ft.match(/^\s+extends\s+/))&&Je.index===0){P.ignoreMatch();return}}},a={$pattern:Fd,keyword:bx,literal:xx,built_in:Tx,"variable.language":Sx},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",u={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\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},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},g={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"css"}},C={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,h]},q={className:"comment",variants:[t.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:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},he=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,g,_,C,O,{match:/\$\d+/},u];h.contains=he.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(he)});let ce=[].concat(q,h.contains),ve=ce.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(ce)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:ve},Qe={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,e.concat(o,"(",e.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},Pe={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:{_:[...Ex,...Cx]}},je={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ct={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},bt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Dt(U){return e.concat("(?!",U.join("|"),")")}let St={match:e.concat(/\b/,Dt([...wx,"super","import","await"].map(U=>`${U}\\s*\\(`)),o,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Xe={begin:e.concat(/\./,e.lookahead(e.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},pe={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",Y={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:ve,CLASS_REFERENCE:Pe},illegal:/#(?![$_A-Za-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),je,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,g,_,C,O,q,{match:/\$\d+/},u,Pe,{scope:"attr",match:o+e.lookahead(":"),relevance:0},Y,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[q,t.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:ve}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},ct,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,t.inherit(t.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},Xe,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},St,bt,Qe,pe,{match:/\$[(.]/}]}}function Mx(t){let e=t.regex,n=BD(t),o=Fd,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Fd,keyword:bx.concat(c),literal:xx,built_in:Tx.concat(r),"variable.language":Sx},d={className:"meta",begin:"@"+o},u=(C,O,W)=>{let q=C.contains.findIndex(he=>he.label===O);if(q===-1)throw new Error("can not find mode to replace");C.contains.splice(q,1,W)};Object.assign(n.keywords,l),n.exports.PARAMS_CONTAINS.push(d);let h=n.contains.find(C=>C.scope==="attr"),g=Object.assign({},h,{match:e.concat(o,e.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,g]),n.contains=n.contains.concat([d,i,s,g]),u(n,"shebang",t.SHEBANG()),u(n,"use_strict",a);let _=n.contains.find(C=>C.label==="func.def");return _.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function Ix(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),o=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(i,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:o,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{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:[i,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,s,c,a]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(n,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function kx(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",o={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={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"},g={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},_={begin:/\{/,end:/\}/,contains:[g],illegal:"\\n",relevance:0},C={begin:"\\[",end:"\\]",contains:[g],illegal:"\\n",relevance:0},O=[o,{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+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},h,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},_,C,i,s],W=[...O];return W.pop(),W.push(a),g.contains=W,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:O}}function th(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var xi=th();function $x(t){xi=t}var _i={exec:()=>null};function _s(t){let e=[];return n=>{let o=Math.max(0,Math.min(3,n-1)),r=e[o];return r||(r=t(o),e[o]=r),r}}function Oe(t,e=""){let n=typeof t=="string"?t:t.source,o={replace:(r,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(un.caret,"$1"),n=n.replace(r,s),o},getRegex:()=>new RegExp(n,e)};return o}var UD=((t="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+t)}catch{return!1}})(),un={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:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:_s(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:_s(t=>new RegExp(`^ {0,${t}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:_s(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:_s(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:_s(t=>new RegExp(`^ {0,${t}}(?:</?(?:${Ga})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,"i")),blockquoteBeginRegex:_s(t=>new RegExp(`^ {0,${t}}>`))},zD=/^(?:[ \t]*(?:\n|$))+/,qD=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,GD=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,qa=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,WD=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,nh=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Hx=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bx=Oe(Hx).replace(/bull/g,nh).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(),YD=Oe(Hx).replace(/bull/g,nh).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(),oh=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,ZD=/^[^\n]+/,rh=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,KD=Oe(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",rh).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),QD=Oe(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,nh).getRegex(),Ga="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",ih=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,XD=Oe("^ {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",ih).replace("tag",Ga).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ux=t=>Oe(oh).replace("hr",qa).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",t).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ga).getRegex(),JD=Ux(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),eO=Ux(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),tO=Oe(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",eO).getRegex(),sh={blockquote:tO,code:qD,def:KD,fences:GD,heading:WD,hr:qa,html:XD,lheading:Bx,list:QD,newline:zD,paragraph:JD,table:_i,text:ZD},Nx=Oe("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qa).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",Ga).getRegex(),nO=X(H({},sh),{lheading:YD,table:Nx,paragraph:Oe(oh).replace("hr",qa).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Nx).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",Ga).getRegex()}),oO=X(H({},sh),{html:Oe(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ih).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:_i,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Oe(oh).replace("hr",qa).replace("heading",` *#{1,6} *[^
19
- ]`).replace("lheading",Bx).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),rO=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,iO=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zx=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,sO=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,rr=/[\p{P}\p{S}]/u,bs=/[\s\p{P}\p{S}]/u,Wa=/[^\s\p{P}\p{S}]/u,aO=Oe(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,bs).getRegex(),cO=/[\p{Pi}\p{Ps}"']/u,qx=/(?!~)[\p{P}\p{S}]/u,lO=/(?!~)[\s\p{P}\p{S}]/u,dO=/(?:[^\s\p{P}\p{S}]|~)/u,uO=Oe(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",UD?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Gx=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,pO=Oe(Gx,"u").replace(/punct/g,rr).getRegex(),fO=Oe(Gx,"u").replace(/punct/g,qx).getRegex(),mO=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,hO=Oe(mO,"u").replace(/openQuote/g,cO).replace(/punct/g,rr).getRegex(),Wx="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",gO=Oe(Wx,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),yO=Oe(Wx,"gu").replace(/notPunctSpace/g,dO).replace(/punctSpace/g,lO).replace(/punct/g,qx).getRegex(),vO="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",_O=Oe(vO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),bO=Oe("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),xO="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",EO=Oe(xO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),CO=Oe(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,rr).getRegex(),wO="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",SO=Oe(wO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),TO=Oe(/\\(punct)/,"gu").replace(/punct/g,rr).getRegex(),MO=Oe(/^<(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(),IO=Oe(ih).replace("(?:-->|$)","-->").getRegex(),kO=Oe("^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",IO).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Yx=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,Vd=Oe(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",Yx).getRegex(),NO=Oe(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Vd).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),DO=Oe(/^!?\[(label)\]\[(ref)\]/).replace("label",Vd).replace("ref",rh).getRegex(),OO=Oe(/^!?\[(ref)\](?:\[\])?/).replace("ref",rh).getRegex(),Dx=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,PO=Oe(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",Yx).getRegex(),AO=Oe("reflink|nolink(?!\\()","g").replace("reflink",Oe(/^!?\[(label)\]\[(ref)\]/).replace("label",PO).replace("ref",Dx).getRegex()).replace("nolink",Oe(/^!?\[(ref)\](?:\[\])?/).replace("ref",Dx).getRegex()).getRegex(),Ox=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,RO=/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/,LO=Oe(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,RO).getRegex(),ah={_backpedal:_i,anyPunctuation:TO,autolink:MO,blockSkip:uO,br:zx,code:iO,del:_i,delLDelim:_i,delRDelim:_i,emStrongLDelim:pO,emStrongRDelimAst:gO,emStrongRDelimUnd:bO,escape:rO,link:NO,nolink:OO,punctuation:aO,reflink:DO,reflinkSearch:AO,tag:kO,text:sO,url:_i},FO=X(H({},ah),{emStrongLDelim:hO,emStrongRDelimAst:_O,emStrongRDelimUnd:EO,link:Oe(/^!?\[(label)\]\((.*?)\)/).replace("label",Vd).getRegex(),reflink:Oe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Vd).getRegex()}),Xm=X(H({},ah),{emStrongRDelimAst:yO,emStrongLDelim:fO,delLDelim:CO,delRDelim:SO,url:Oe(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol",LO).replace("protocol",Ox).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:Oe(/^(?:[^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",Ox).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()}),jO=X(H({},Xm),{br:Oe(zx).replace("{2,}","*").getRegex(),text:Oe(Xm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),jd={normal:sh,gfm:nO,pedantic:oO},Ua={normal:ah,gfm:Xm,breaks:jO,pedantic:FO},VO={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Px=t=>VO[t];function Bn(t,e){if(e){if(un.escapeTest.test(t))return t.replace(un.escapeReplace,Px)}else if(un.escapeTestNoEncode.test(t))return t.replace(un.escapeReplaceNoEncode,Px);return t}function $O(t){return t.replace(un.numericCharacterReference,(e,n,o)=>{let r=n===void 0?Number.parseInt(o,16):Number.parseInt(n,10);return r===0||r>1114111||r>=55296&&r<=57343?"\uFFFD":String.fromCodePoint(r)})}function Ax(t){try{t=encodeURI(t).replace(un.percentDecode,"%")}catch{return null}return t}function Rx(t,e){let n=t.replace(un.findPipe,(i,s,a)=>{let c=!1,l=s;for(;--l>=0&&a[l]==="\\";)c=!c;return c?"|":" |"}),o=n.split(un.splitPipe),r=0;if(o[0].trim()||o.shift(),o.length>0&&!o.at(-1)?.trim()&&o.pop(),e)if(o.length>e)o.splice(e);else for(;o.length<e;)o.push("");for(;r<o.length;r++)o[r]=o[r].trim().replace(un.slashPipe,"|");return o}function Mr(t,e,n){let o=t.length;if(o===0)return"";let r=0;for(;r<o;){let i=t.charAt(o-r-1);if(i===e&&!n)r++;else if(i!==e&&n)r++;else break}return t.slice(0,o-r)}function Lx(t){let e=t.split(`
15
+ ${r}`),this.promptInput()?.nativeElement?.focus()}),this.morse.onContextSelection(n=>{this.attachments.pin(n),this.attachments.say("info","Selection pinned to this message.")}),this.morse.onContextSelectionLive(n=>this.attachments.setLivePreview(n)),this.morse.onComposerSeed(n=>{this.text.set(n.text),this.syncInputValue(),this.attachments.seed(n.images??[],n.pins??[])}),de(n=>{if(!this.running()){this.startedAt.set(null),this.tokensPerSecond.set(void 0),this.throughput.length=0;return}this.startedAt.update(r=>r??Date.now()),this.baseline.set(fa(()=>jm(this.morse.items())));let o=setInterval(()=>{this.tick.update(r=>r+1),this.sampleThroughput()},500);n(()=>clearInterval(o))})}onInput(e){let n=e.target;this.text.set(n.value),this.refreshMentionQuery(n.value,n.selectionStart),this.refreshPaletteQuery(n.value,n.selectionStart)}onKeydown(e){if(this.paletteOpen()){let n=this.paletteItems();switch(e.key){case"Escape":e.preventDefault(),this.onPaletteClose();return;case"ArrowDown":e.preventDefault(),this.paletteActive.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.paletteActive.update(o=>Math.max(0,o-1));return;case"Tab":{let o=n[this.paletteActive()];e.preventDefault(),o&&this.activatePalette(o.id,"insert");return}case"Enter":{if(e.isComposing)return;let o=n[this.paletteActive()];if(o){e.preventDefault(),this.activatePalette(o.id,e.shiftKey?"insert":"run");return}break}default:return}}if(this.pickerOpen()){let n=this.pickerMatches();switch(e.key){case"Escape":e.preventDefault(),this.onPickerClose();return;case"ArrowDown":e.preventDefault(),this.mentionActive.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.mentionActive.update(o=>Math.max(0,o-1));return;case"Tab":case"Enter":{let o=n[this.mentionActive()];if(o){e.preventDefault(),this.onPickFile(o);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 n=this.text().trim(),o=yN(n);if(o!==void 0){this.text.set(""),this.shell.requestCompact(o);return}let r=gN(n);if(r){this.text.set(""),this.runBuiltin(r);return}let i=this.attachments.images(),s=this.attachments.pins();if(n.length===0&&i.length===0&&s.length===0){this.promptInput()?.nativeElement.focus();return}this.morse.prompt(n,e,this.attachments.takeImages(),this.attachments.takePins()),this.attachments.setLivePreview(null),this.text.set("")}lockLive(){this.attachments.lockLivePreview(),this.attachments.say("info","Selection locked to this message.")}dismissLive(){this.attachments.setLivePreview(null)}onPaste(e){let n=Array.from(e.clipboardData?.files??[]).filter(o=>o.type.startsWith("image/"));n.length!==0&&(e.preventDefault(),this.attachments.accept(n).then(o=>{o.attached>0&&this.attachments.say("info",`${o.attached} pasted image${o.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 n=e.selection;this.attachments.pin({path:e.path??"",startLine:n.startLine,endLine:n.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.text(),n=e.length>0&&!/\s$/.test(e)?" ":"";this.text.set(`${e}${n}@`);let o=this.promptInput()?.nativeElement;if(o){let r=this.text();o.value=r,o.focus(),o.setSelectionRange(r.length,r.length)}this.mentionMode.set(!0),this.pickerFilter.set(""),this.mentionActive.set(0),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}onFilesChosen(e){let n=e.target,o=Array.from(n?.files??[]);n&&(n.value=""),o.length!==0&&this.importFiles(o.filter(r=>r.type.startsWith("image/")),o.filter(r=>!r.type.startsWith("image/")))}async importFiles(e,n){let o=await this.attachments.accept(e),r=n.length>0?await this.uploads.upload(n):{added:[],failed:[]};this.attachments.addMentions(r.added.map(a=>a.path));let i=[];o.attached>0&&i.push(`${o.attached} image${o.attached===1?"":"s"} attached`),r.added.length>0&&i.push(`${r.added.length} file${r.added.length===1?"":"s"} uploaded`);let s=[...o.skipped,...r.failed];if(s.length>0&&i.push(`could not attach ${s.join(", ")}`),i.length>0){let a=o.attached===0&&r.added.length===0;this.attachments.say(a?"warn":"info",i.join(" \xB7 "))}}refreshMentionQuery(e,n){if(!this.canPickFiles())return;let o=e.slice(0,n??e.length),r=/(?:^|\s)@([\w./-]*)$/.exec(o);if(!r){this.mentionMode()&&(this.pickerOpen.set(!1),this.mentionMode.set(!1));return}r[1]!==this.pickerFilter()&&this.mentionActive.set(0),this.mentionMode.set(!0),this.pickerFilter.set(r[1]??""),this.pickerOpen.set(!0),this.workspace.ensureLoaded()}refreshPaletteQuery(e,n){let o=e.slice(0,n??e.length),r=/(?:^|\n)\s*\/([\w:-]*)$/.exec(o);if(!r){this.paletteOpen()&&this.paletteOpen.set(!1);return}r[1]!==this.paletteFilter()&&this.paletteActive.set(0),this.paletteFilter.set(r[1]??""),this.paletteOpen()||this.morse.refreshCommands(),this.paletteOpen.set(!0)}activatePalette(e,n){if(e.startsWith("builtin:")){let o=e.slice(8);if(o==="model"){this.stripSlashToken(),this.closePalette(),this.openModelPicker();return}this.stripSlashToken(),this.closePalette(),this.runBuiltin(o);return}if(e.startsWith("command:")){let o=e.slice(8);if(n==="run"){let r=this.availableCommands().find(i=>i.name===o);if(r?.template!==void 0){let i=eb(r.template);if(i!==void 0){this.stripSlashToken(),this.text.set(""),this.closePalette(),this.openTemplate({name:o,description:r.description,form:i});return}this.stripSlashToken(),this.text.set(""),this.closePalette(),this.sendTemplate(Om(r.template).body);return}this.stripSlashToken(),this.text.set(""),this.closePalette(),this.morse.prompt(`/${o}`,this.streaming()?"steer":"new");return}this.replaceSlashToken(`/${o} `),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.modelPickerOpen.set(!0)}toggleModelPicker(){this.modelPickerOpen.update(e=>!e)}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.morse.newSession(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();break}}stripSlashToken(){this.text.update(e=>e.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,"$1")),this.syncInputValue()}replaceSlashToken(e){this.text.update(n=>n.replace(/(?:^|\n)(\s*)\/[\w:-]*$/,`$1${e}`)),this.syncInputValue()}syncInputValue(){let e=this.promptInput()?.nativeElement;if(!e)return;let n=this.text();e.value=n,e.focus(),e.setSelectionRange(n.length,n.length)}reloadFiles(){this.workspace.ensureLoaded(!0)}async requestSelectionSnapshot(){return this.morse.requestHostCommand("getEditorContext")}onPickerClose(){this.pickerOpen.set(!1),this.mentionMode.set(!1),this.promptInput()?.nativeElement.focus()}onPickFile(e){let n=e.endsWith("/");this.mentionMode()?this.text.update(o=>o.replace(/@[\w./-]*$/,`@${e}${n?"":" "}`)):n||(this.attachments.addMentions([e]),this.attachments.say("info",`Pinned ${e} to this message.`)),n?(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()}onThinkingPick(e){this.morse.setThinkingLevel(e)}sampleThroughput(){let e=jm(this.morse.items()),n=Date.now();for(this.throughput.push({at:n,chars:e});this.throughput.length>2&&n-this.throughput[0].at>2e3;)this.throughput.shift();let o=this.throughput[0];if(!o)return;let r=n-o.at;if(r<500)return;let i=(e-o.chars)/4;this.tokensPerSecond.set(Math.max(0,Math.round(i/r*1e4)/10))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-chat-composer"]],viewQuery:function(n,o){n&1&&vt(o.promptInput,Yk,5)(o.fileInput,Zk,5),n&2&&bt(2)},decls:32,vars:23,consts:[["fileInput",""],["promptInput",""],[1,"host"],[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"],["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","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,"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(n,o){if(n&1&&(_(0,"footer",2)(1,"div",3)(2,"div",4)(3,"button",5),L("click",function(){return o.onAddFiles()}),u(4," + "),E(),_(5,"input",6,0),L("change",function(i){return o.onFilesChosen(i)}),E(),T(7,Kk,2,0,"button",7),_(8,"span",8),T(9,Qk,1,0)(10,Xk,1,0)(11,Jk,1,0),E()(),T(12,eN,1,5,"morse-file-picker",9),T(13,tN,1,4,"morse-command-picker",10),T(14,sN,6,1,"ul",11),_(15,"textarea",12,1),L("input",function(i){return o.onInput(i)})("keydown",function(i){return o.onKeydown(i)})("paste",function(i){return o.onPaste(i)}),E(),T(17,dN,6,3,"div",13),_(18,"div",14)(19,"div",15)(20,"button",16),L("pointerdown",function(i){return i.stopPropagation()})("click",function(){return o.toggleModelPicker()}),T(21,uN,2,2,"span",17),_(22,"span",18),u(23),E(),_(24,"span",19),u(25,"\u25BE"),E()(),T(26,pN,1,3,"morse-model-picker",20),_(27,"morse-thinking-picker",21),L("pick",function(i){return o.onThinkingPick(i)}),E()(),_(28,"div",22),T(29,fN,6,0)(30,mN,2,1,"button",23),E()()(),T(31,hN,1,1,"morse-prompt-template-dialog",24),E()),n&2){let r,i;p(3),K("disabled",!o.canAddFiles())("title",o.addFilesLabel()),we("aria-label",o.addFilesLabel())("aria-expanded",o.pickerOpen()),p(4),M(o.canAttachSelection()?7:-1),p(2),M(o.canPickFiles()?9:o.canUpload()?10:11),p(3),M(o.pickerOpen()?12:-1),p(),M(o.paletteOpen()?13:-1),p(),M(o.images().length>0||o.pins().length>0||o.livePreview()!==null?14:-1),p(),K("value",o.text())("disabled",!o.canSend())("placeholder",o.connected()?o.agentStarting()?"Starting the Pi agent\u2026":o.agentError()?"The pi agent is unavailable.":o.agentReady()?"Ask Morse\u2026 (Enter to send, Shift+Enter for a new line)":"Type to start a session\u2026 (Enter to send, Shift+Enter for a new line)":"Waiting for a Morse host\u2026"),p(2),M(o.showStatusRow()?17:-1),p(3),K("disabled",o.models().length===0)("title",o.modelLabel()),we("aria-expanded",o.modelPickerOpen()),p(),M((r=o.currentProvider())?21:-1,r),p(2),P(o.currentModel()?.name||"no model"),p(3),M(o.modelPickerOpen()?26:-1),p(),K("levels",o.levels())("current",o.thinkingLevel()),p(2),M(o.streaming()?29:30),p(2),M((i=o.templateRequest())?31:-1,i)}},dependencies:[sn,xd,Md,Ed,wd,Td,Cd,bd],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}.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}}"]})},bb=[{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 gN(t){let e=/^\/([\w-]+)$/.exec(t);if(e)return bb.some(n=>n.name===e[1])?e[1]:void 0}function yN(t){return/^\/compact\s+([\s\S]+)$/.exec(t)?.[1]?.trim()||void 0}function vN(t){let e=t/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}function jm(t){let e=0;for(let n of t)n.kind==="assistant"&&(e+=(n.text??"").length+(n.thinking??"").length);return e}function _N(t,e){if(t&1&&(v(0,"div",8),u(1),x()),t&2){let n=h();Fe("title",n.workspace().cwd),p(),P(e)}}function bN(t,e){if(t&1&&(v(0,"span",12),u(1),x()),t&2){let n=h();p(),P(n.statusLabel())}}var kd=class t{morse=N(wt);shell=N(rn);state=this.morse.state;connection=this.morse.connection;connectionDetail=this.morse.connectionDetail;workspace=this.morse.workspace;navigationOpen=this.shell.navigationOpen;collapsed=this.shell.navigationCollapsed;status=S(()=>{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=S(()=>{switch(this.status()){case"ready":return"Ready";case"starting":return"Starting\u2026";case"connecting":return"Connecting\u2026";case"closed":return"Disconnected";case"error":return"Error";default:return this.status()}});statusTitle=S(()=>{let e=this.connectionDetail();return e?`${this.statusLabel()} \xB7 ${e}`:this.statusLabel()});title=S(()=>this.state().sessionTitle||this.workspace().name||"Morse");meta=S(()=>{let e=[],n=this.workspace().name;n&&n!==this.title()&&e.push(n);let o=this.state().model;return o&&e.push(o.name),e.join(" \xB7 ")});toggleNavigation(){this.shell.toggleNavigation()}toggleSidebar(){this.shell.toggleNavigationCollapsed()}compact(){this.shell.requestCompact()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-chat-header"]],decls:19,vars:16,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","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"]],template:function(n,o){if(n&1&&(v(0,"header",0)(1,"button",1),q("click",function(){return o.toggleNavigation()}),u(2," \u2630 "),x(),v(3,"button",2),q("click",function(){return o.toggleSidebar()}),Ut(),v(4,"svg",3),ze(5,"rect",4)(6,"path",5),x()(),Sn(),v(7,"div",6)(8,"div",7),u(9),x(),T(10,_N,2,2,"div",8),x(),v(11,"div",9)(12,"span",10),ze(13,"span",11),T(14,bN,2,1,"span",12),x(),v(15,"button",13),q("click",function(){return o.compact()}),Ut(),v(16,"svg",3),ze(17,"path",14)(18,"path",15),x()()()()),n&2){let r;p(),we("aria-expanded",o.navigationOpen()),p(2),Fe("title",o.collapsed()?"Show the sidebar":"Hide the sidebar"),we("aria-label",o.collapsed()?"Show the sidebar":"Hide the sidebar")("aria-expanded",!o.collapsed()),p(5),Fe("title",o.state().sessionId??o.workspace().cwd),p(),P(o.title()),p(),M((r=o.meta())?10:-1,r),p(2),De("online",o.status()==="ready")("busy",o.status()==="starting")("failed",o.status()==="error"||o.status()==="closed"),Fe("title",o.statusTitle()),p(2),M(o.status()!=="ready"?14:-1),p(),Fe("disabled",!o.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}}.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}}"]})};function Cb(t){let e=[],n=[],o=()=>{n.length!==0&&(e.push({kind:"process",key:`process-${n[0]?.key??e.length}`,steps:n}),n=[])};for(let r of t){if(r.kind==="tool"){n.push({kind:"tool",key:r.id,item:r});continue}if(r.kind==="assistant"){let i=r.thinking.trim();i.length>0&&n.push({kind:"thinking",key:`${r.id}:thinking`,item:r}),r.text.trim().length>0||r.streaming?(o(),e.push({kind:"assistant",key:r.id,item:r})):i.length===0&&o();continue}o(),r.kind==="user"?e.push({kind:"user",key:r.id,item:r}):r.kind==="notice"?e.push({kind:"notice",key:r.id,item:r}):r.kind==="compaction"&&e.push({kind:"compaction",key:r.id,item:r})}return o(),e}function wb(t){for(let e=t.length-1;e>=0;e-=1){let n=t[e];if(n?.kind==="process")return n.key}return null}var xN=/(^|\s)@([^\s:]+(?::\d+(?:-\d+)?)?)(?=$|\s)/g;function EN(t){if(t.length===0)return;let e=t.indexOf(":");if(e===-1)return{path:t};let n=t.slice(0,e),o=t.slice(e+1),r=/^(\d+)(?:-(\d+))?$/.exec(o);if(n.length===0||!r)return;let i=Number(r[1]),s=r[2]===void 0?i:Number(r[2]);return{path:n,startLine:i,endLine:s}}function Sb(t){let e;return t.split(`
16
+ `).map(n=>{let o=/^\s*(`{3,}|~{3,})/.exec(n);if(o){let r=o[1]?.charAt(0)??"";return e===void 0?e=r:r===e&&(e=void 0),n}return e===void 0?CN(n):n}).join(`
17
+ `)}function CN(t){let e="",n=0;for(;n<t.length;){let o=t.indexOf("`",n);if(o===-1){e+=xb(t.slice(n));break}e+=xb(t.slice(n,o));let r=t.indexOf("`",o+1);if(r===-1){e+=t.slice(o);break}e+=t.slice(o,r+1),n=r+1}return e}function xb(t){return t.replace(xN,(e,n,o)=>{let r=EN(o);if(!r)return e;let i=wN(r.path),s=r.startLine===void 0?`@${i}`:`@${i}:${r.startLine}-${r.endLine}`,a=Eb(r.path),c=r.startLine===void 0?"":` data-mention-start="${r.startLine}" data-mention-end="${r.endLine}"`;return`${n}<span class="mention" data-mention-path="${a}" title="${a}"${c}><span class="mention-label">${Eb(s)}</span></span>`})}function wN(t){let e=t.replace(/[\\/]+$/,""),n=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return n===-1?e:e.slice(n+1)}function Eb(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function SN(t,e){this.v=t,this.k=e}function Tb(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function TN(t){if(Array.isArray(t))return t}function MN(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,r,i,s,a=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(a.push(o.value),a.length!==e);c=!0);}catch(d){l=!0,r=d}finally{try{if(!c&&n.return!=null&&(s=n.return(),Object(s)!==s))return}finally{if(l)throw r}}return a}}function IN(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
18
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kN(t,e){return TN(t)||MN(t,e)||NN(t,e)||IN()}function NN(t,e){if(t){if(typeof t=="string")return Tb(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tb(t,e):void 0}}function Nd(t){var e,n;function o(i,s){try{var a=t[i](s),c=a.value,l=c instanceof SN;Promise.resolve(l?c.v:c).then(function(d){if(l){var f=i==="return"&&c.k?i:"next";if(!c.k||d.done)return o(f,d);d=t[f](d).value}r(!!a.done,d)},function(d){o("throw",d)})}catch(d){r(2,d)}}function r(i,s){i===2?e.reject(s):e.resolve({value:s,done:i}),(e=e.next)?o(e.key,e.arg):n=null}this._invoke=function(i,s){return new Promise(function(a,c){var l={key:i,arg:s,resolve:a,reject:c,next:null};n?n=n.next=l:(e=n=l,o(i,s))})},typeof t.return!="function"&&(this.return=void 0)}Nd.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Nd.prototype.next=function(t){return this._invoke("next",t)},Nd.prototype.throw=function(t){return this._invoke("throw",t)},Nd.prototype.return=function(t){return this._invoke("return",t)};var Hb=Object.entries,Mb=Object.setPrototypeOf,DN=Object.isFrozen,ON=Object.getPrototypeOf,PN=Object.getOwnPropertyDescriptor,en=Object.freeze,an=Object.seal,hs=Object.create,Bb=typeof Reflect<"u"&&Reflect,qm=Bb.apply,Gm=Bb.construct;en||(en=function(e){return e});an||(an=function(e){return e});qm||(qm=function(e,n){for(var o=arguments.length,r=new Array(o>2?o-2:0),i=2;i<o;i++)r[i-2]=arguments[i];return e.apply(n,r)});Gm||(Gm=function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return new e(...o)});var gi=Wt(Array.prototype.forEach);Array.prototype.indexOf;var AN=Wt(Array.prototype.lastIndexOf),Ib=Wt(Array.prototype.pop),Fa=Wt(Array.prototype.push);Array.prototype.slice;var RN=Wt(Array.prototype.splice),gs=Array.isArray,$a=Wt(String.prototype.toLowerCase),Vm=Wt(String.prototype.toString),kb=Wt(String.prototype.match),ja=Wt(String.prototype.replace),Nb=Wt(String.prototype.indexOf),LN=Wt(String.prototype.trim),FN=Wt(Number.prototype.toString),jN=Wt(Boolean.prototype.toString),Db=typeof BigInt>"u"?null:Wt(BigInt.prototype.toString),Ob=typeof Symbol>"u"?null:Wt(Symbol.prototype.toString),Nn=Wt(Object.prototype.hasOwnProperty),Va=Wt(Object.prototype.toString),gn=Wt(RegExp.prototype.test),wr=VN(TypeError);function Wt(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return qm(t,e,o)}}function VN(t){return function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return Gm(t,n)}}function it(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$a;if(Mb&&Mb(t,null),!gs(e))return t;let o=e.length;for(;o--;){let r=e[o];if(typeof r=="string"){let i=n(r);i!==r&&(DN(e)||(e[o]=i),r=i)}t[r]=!0}return t}function $N(t){for(let e=0;e<t.length;e++)Nn(t,e)||(t[e]=null);return t}function Hn(t){let e=hs(null);for(let o of Hb(t)){var n=kN(o,2);let r=n[0],i=n[1];Nn(t,r)&&(gs(i)?e[r]=$N(i):i&&typeof i=="object"&&i.constructor===Object?e[r]=Hn(i):e[r]=i)}return e}function HN(t){switch(typeof t){case"string":return t;case"number":return FN(t);case"boolean":return jN(t);case"bigint":return Db?Db(t):"0";case"symbol":return Ob?Ob(t):"Symbol()";case"undefined":return Va(t);case"function":case"object":{if(t===null)return Va(t);let e=t,n=so(e,"toString");if(typeof n=="function"){let o=n(e);return typeof o=="string"?o:Va(o)}return Va(t)}default:return Va(t)}}function so(t,e){for(;t!==null;){let o=PN(t,e);if(o){if(o.get)return Wt(o.get);if(typeof o.value=="function")return Wt(o.value)}t=ON(t)}function n(){return null}return n}function BN(t){try{return gn(t,""),!0}catch{return!1}}var Pb=en(["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"]),$m=en(["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"]),Hm=en(["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"]),UN=en(["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"]),Bm=en(["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"]),zN=en(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ab=en(["#text"]),Rb=en(["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"]),Um=en(["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"]),Lb=en(["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"]),Dd=en(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),qN=an(/{{[\w\W]*|^[\w\W]*}}/g),GN=an(/<%[\w\W]*|^[\w\W]*%>/g),WN=an(/\${[\w\W]*/g),YN=an(/^data-[\-\w.\u00B7-\uFFFF]+$/),ZN=an(/^aria-[\-\w]+$/),Fb=an(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),KN=an(/^(?:\w+script|data):/i),QN=an(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),XN=an(/^html$/i),JN=an(/^[a-z][.\w]*(-[.\w]+)+$/i),jb=an(/<[/\w!]/g),Vb=an(/<[/\w]/g),eD=an(/<\/no(script|embed|frames)/i),tD=an(/\/>/i),$n={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ub=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],nD=en(it({},Ub)),oD=(function(){let t={};return gi(Ub,e=>{t[e]=an(new RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),en(t)})(),rD=function(){return typeof window>"u"?null:window},iD=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let o=null,r="data-tt-policy-suffix";n&&n.hasAttribute(r)&&(o=n.getAttribute(r));let i="dompurify"+(o?"#"+o:"");try{return e.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},$b=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Sr=function(e,n,o,r){return Nn(e,n)&&gs(e[n])?it(r.base?Hn(r.base):{},e[n],r.transform):o},zm=function(e,n,o){let r=Nn(e,n)?e[n]:void 0;return r&&typeof r=="object"?Hn(r):o()};function zb(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rD(),e=$=>zb($);if(e.version="3.4.16",e.removed=[],!t||!t.document||t.document.nodeType!==$n.document||!t.Element)return e.isSupported=!1,e;let n=t.document,o=n,r=o.currentScript;t.DocumentFragment;let i=t.HTMLTemplateElement,s=t.Node,a=t.Element,c=t.NodeFilter;t.NamedNodeMap===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;let l=t.DOMParser,d=t.trustedTypes,f=a.prototype,g=so(f,"cloneNode"),y=so(f,"remove"),b=so(f,"removeAttributeNode"),C=so(f,"nextSibling"),O=so(f,"childNodes"),Y=so(f,"parentNode"),G=so(f,"shadowRoot"),ye=so(f,"attributes"),ce=s&&s.prototype?so(s.prototype,"nodeType"):null,_e=s&&s.prototype?so(s.prototype,"nodeName"):null,ie=s&&s.prototype?so(s.prototype,"ownerDocument"):null,Qe=function(m){return ce?ce(m):m.nodeType},Pe=function(m){return _e?_e(m):m.nodeName};if(typeof i=="function"){let $=n.createElement("template");$.content&&$.content.ownerDocument&&(n=$.content.ownerDocument)}let $e,dt="",Et,Ot=!1,St=0,Xe=function(){if(St>0)throw wr('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.')},he=function(m){Xe(),St++;try{return $e.createHTML(m)}finally{St--}},D=function(m){Xe(),St++;try{return $e.createScriptURL(m)}finally{St--}},Z=function(){return Ot||(Et=iD(d,r),Ot=!0),Et},U=n,A=U.implementation,J=U.createNodeIterator,Ne=U.createDocumentFragment,Je=U.getElementsByTagName,jt=o.importNode,ue=$b();e.isSupported=typeof Hb=="function"&&typeof Y=="function"&&A&&A.createHTMLDocument!==void 0;let gt=qN,He=GN,tn=WN,Vt=YN,Ye=ZN,Bt=KN,Pt=QN,ke=JN,qe=Fb,be=null,nt=it({},[...Pb,...$m,...Hm,...Bm,...Ab]),oe=null,ct=it({},[...Rb,...Um,...Lb,...Dd]),W=Object.seal(hs(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}})),mt=null,Ke=null,ne=Object.seal(hs(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),_t=!0,pe=!0,st=!1,Be=!0,F=!1,V=!0,X=!1,re=!1,ut=null,Ct=null,Un=!1,pn=!1,bo=!1,xo=!1,Ya=!0,Za=!1,Ei="user-content-",Ir=!0,Cs=!1,Yt={},Eo=null,ws=it({},["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"]),Ka=null,kr=it({},["audio","video","img","source","image","track"]),Ss=null,Ts=it({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nn="http://www.w3.org/1998/Math/MathML",ir="http://www.w3.org/2000/svg",Se="http://www.w3.org/1999/xhtml",At=Se,Qa=!1,Ci=null,bE=it({},[nn,ir,Se],Vm),uh=en(["mi","mo","mn","ms","mtext"]),au=it({},uh),ph=en(["annotation-xml"]),cu=it({},ph),xE=it({},["title","style","font","a","script"]),Ms=null,EE=["application/xhtml+xml","text/html"],CE="text/html",$t=null,wi=null,wE=n.createElement("form"),fh=function(m){return m instanceof RegExp||m instanceof Function},lu=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(wi&&wi===m)return;(!m||typeof m!="object")&&(m={}),m=Hn(m),Ms=EE.indexOf(m.PARSER_MEDIA_TYPE)===-1?CE:m.PARSER_MEDIA_TYPE,$t=Ms==="application/xhtml+xml"?Vm:$a,be=Sr(m,"ALLOWED_TAGS",nt,{transform:$t}),oe=Sr(m,"ALLOWED_ATTR",ct,{transform:$t}),Ci=Sr(m,"ALLOWED_NAMESPACES",bE,{transform:Vm}),Ss=Sr(m,"ADD_URI_SAFE_ATTR",Ts,{transform:$t,base:Ts}),Ka=Sr(m,"ADD_DATA_URI_TAGS",kr,{transform:$t,base:kr}),Eo=Sr(m,"FORBID_CONTENTS",ws,{transform:$t}),mt=Sr(m,"FORBID_TAGS",Hn({}),{transform:$t}),Ke=Sr(m,"FORBID_ATTR",Hn({}),{transform:$t}),Yt=Nn(m,"USE_PROFILES")?m.USE_PROFILES&&typeof m.USE_PROFILES=="object"?Hn(m.USE_PROFILES):m.USE_PROFILES:!1,_t=m.ALLOW_ARIA_ATTR!==!1,pe=m.ALLOW_DATA_ATTR!==!1,st=m.ALLOW_UNKNOWN_PROTOCOLS||!1,Be=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,F=m.SAFE_FOR_TEMPLATES||!1,V=m.SAFE_FOR_XML!==!1,X=m.WHOLE_DOCUMENT||!1,pn=m.RETURN_DOM||!1,bo=m.RETURN_DOM_FRAGMENT||!1,xo=m.RETURN_TRUSTED_TYPE||!1,Un=m.FORCE_BODY||!1,Ya=m.SANITIZE_DOM!==!1,Za=m.SANITIZE_NAMED_PROPS||!1,Ir=m.KEEP_CONTENT!==!1,Cs=m.IN_PLACE||!1,qe=BN(m.ALLOWED_URI_REGEXP)?m.ALLOWED_URI_REGEXP:Fb,At=typeof m.NAMESPACE=="string"?m.NAMESPACE:Se,au=zm(m,"MATHML_TEXT_INTEGRATION_POINTS",()=>it({},uh)),cu=zm(m,"HTML_INTEGRATION_POINTS",()=>it({},ph));let w=zm(m,"CUSTOM_ELEMENT_HANDLING",()=>hs(null));if(W=hs(null),Nn(w,"tagNameCheck")&&fh(w.tagNameCheck)&&(W.tagNameCheck=w.tagNameCheck),Nn(w,"attributeNameCheck")&&fh(w.attributeNameCheck)&&(W.attributeNameCheck=w.attributeNameCheck),Nn(w,"allowCustomizedBuiltInElements")&&typeof w.allowCustomizedBuiltInElements=="boolean"&&(W.allowCustomizedBuiltInElements=w.allowCustomizedBuiltInElements),an(W),F&&(pe=!1),bo&&(pn=!0),Yt&&(be=it({},Ab),oe=hs(null),Yt.html===!0&&(it(be,Pb),it(oe,Rb)),Yt.svg===!0&&(it(be,$m),it(oe,Um),it(oe,Dd)),Yt.svgFilters===!0&&(it(be,Hm),it(oe,Um),it(oe,Dd)),Yt.mathMl===!0&&(it(be,Bm),it(oe,Lb),it(oe,Dd))),ne.tagCheck=null,ne.attributeCheck=null,Nn(m,"ADD_TAGS")&&(typeof m.ADD_TAGS=="function"?ne.tagCheck=m.ADD_TAGS:gs(m.ADD_TAGS)&&(be===nt&&(be=Hn(be)),it(be,m.ADD_TAGS,$t))),Nn(m,"ADD_ATTR")&&(typeof m.ADD_ATTR=="function"?ne.attributeCheck=m.ADD_ATTR:gs(m.ADD_ATTR)&&(oe===ct&&(oe=Hn(oe)),it(oe,m.ADD_ATTR,$t))),Nn(m,"ADD_FORBID_CONTENTS")&&gs(m.ADD_FORBID_CONTENTS)&&(Eo===ws&&(Eo=Hn(Eo)),it(Eo,m.ADD_FORBID_CONTENTS,$t)),Ir&&(be["#text"]=!0),X&&it(be,["html","head","body"]),be.table&&(it(be,["tbody"]),delete mt.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw wr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw wr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let j=$e;$e=m.TRUSTED_TYPES_POLICY;try{dt=he("")}catch(B){throw $e=j,B}}else m.TRUSTED_TYPES_POLICY===null?($e=void 0,dt=""):($e===void 0&&($e=Z()),$e&&typeof dt=="string"&&(dt=he("")));en&&en(m),wi=m},mh=it({},[...$m,...Hm,...UN]),hh=it({},[...Bm,...zN]),SE=function(m,w,j){return w.namespaceURI===Se?m==="svg":w.namespaceURI===nn?m==="svg"&&(j==="annotation-xml"||au[j]):!!mh[m]},TE=function(m,w,j){return w.namespaceURI===Se?m==="math":w.namespaceURI===ir?m==="math"&&cu[j]:!!hh[m]},ME=function(m,w,j){return w.namespaceURI===ir&&!cu[j]||w.namespaceURI===nn&&!au[j]?!1:!hh[m]&&(xE[m]||!mh[m])},IE=function(m){let w=Y(m);(!w||!w.tagName)&&(w={namespaceURI:At,tagName:"template"});let j=$a(m.tagName),B=$a(w.tagName);return Ci[m.namespaceURI]?m.namespaceURI===ir?SE(j,w,B):m.namespaceURI===nn?TE(j,w,B):m.namespaceURI===Se?ME(j,w,B):!!(Ms==="application/xhtml+xml"&&Ci[m.namespaceURI]):!1},sr=function(m){Fa(e.removed,{element:m});try{Y(m).removeChild(m)}catch{if(y(m),!Y(m))throw wr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},gh=function(m,w,j){try{b(m,w)}catch{try{m.removeAttribute(j)}catch{}}},Xa=function(m){Ja(m);let w=O(m);if(w){let B=[];gi(w,se=>{Fa(B,se)}),gi(B,se=>{try{y(se)}catch{}})}let j=ye(m);if(j)for(let B=j.length-1;B>=0;--B){let se=j[B],Ge=se&&se.name;typeof Ge=="string"&&gh(m,se,Ge)}},Nr=function(m,w,j){if(!j)try{j=w.getAttributeNode(m)}catch{j=null}Fa(e.removed,{attribute:j||null,from:w});try{j?b(w,j):w.removeAttribute(m)}catch{try{w.removeAttribute(m)}catch{}}if(m==="is")if(pn||bo)try{sr(w)}catch{}else try{w.setAttribute(m,"")}catch{}},kE=function(m){let w=ye(m);if(w)for(let j=w.length-1;j>=0;--j){let B=w[j],se=B&&B.name;typeof se!="string"||oe[$t(se)]||gh(m,B,se)}},Ja=function(m){let w=[m];for(;w.length>0;){let j=w.pop();Qe(j)===$n.element&&kE(j);let B=O(j);if(B)for(let se=B.length-1;se>=0;--se)w.push(B[se])}},yh=function(m,w){return V?m==="patchsrc"?!0:m==="for"&&w!=="label"&&w!=="output":!1},NE=function(m){if(!V)return;let w=[m];for(;w.length>0;){let j=w.pop(),B=Qe(j);if(B===$n.processingInstruction||B===$n.comment&&gn(Vb,j.data)){try{y(j)}catch{}continue}if(B===$n.element){let Ge=j,et=$t(Pe(j));try{Ge.hasAttribute&&Ge.hasAttribute("patchsrc")&&Ge.removeAttribute("patchsrc"),Ge.hasAttribute&&Ge.hasAttribute("for")&&yh("for",et)&&Ge.removeAttribute("for")}catch{}}let se=O(j);if(se)for(let Ge=se.length-1;Ge>=0;--Ge)w.push(se[Ge])}},vh=function(m){let w=null,j=null;if(Un)m="<remove></remove>"+m;else{let Ge=kb(m,/^[\r\n\t ]+/);j=Ge&&Ge[0]}Ms==="application/xhtml+xml"&&At===Se&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");let B=$e?he(m):m;if(At===Se)try{w=new l().parseFromString(B,Ms)}catch{}if(!w||!w.documentElement){w=A.createDocument(At,"template",null);try{w.documentElement.innerHTML=Qa?dt:B}catch{}}let se=w.body||w.documentElement;return m&&j&&se.insertBefore(n.createTextNode(j),se.childNodes[0]||null),At===Se?Je.call(w,X?"html":"body")[0]:X?w.documentElement:se},_h=function(m){let w=ie?ie(m):m.ownerDocument;return J.call(w||m,m,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},ec=function(m){return m=ja(m,gt," "),m=ja(m,He," "),m=ja(m,tn," "),m},du=function(m){var w;m.normalize();let j=ie?ie(m):m.ownerDocument,B=J.call(j||m,m,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),se=B.nextNode();for(;se;)se.data=ec(se.data),se=B.nextNode();let Ge=(w=m.querySelectorAll)===null||w===void 0?void 0:w.call(m,"template");Ge&&gi(Ge,et=>{Si(et.content)&&du(et.content)})},tc=function(m){let w=_e?_e(m):null;return typeof w!="string"||$t(w)!=="form"?!1:typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||m.attributes!==ye(m)||typeof m.removeAttribute!="function"||typeof m.removeAttributeNode!="function"||typeof m.getAttributeNode!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function"||m.nodeType!==ce(m)||m.childNodes!==O(m)},Si=function(m){if(!ce||typeof m!="object"||m===null)return!1;try{return ce(m)===$n.documentFragment}catch{return!1}},Is=function(m){if(!ce||typeof m!="object"||m===null)return!1;try{return typeof ce(m)=="number"}catch{return!1}};function Co($,m,w){$.length!==0&&gi($,j=>{j.call(e,m,w,wi)})}let DE=function(m,w){return!!(V&&m.hasChildNodes()&&!Is(m.firstElementChild)&&gn(jb,m.textContent)&&gn(jb,m.innerHTML)||V&&m.namespaceURI===Se&&nD[w]&&(Is(m.firstElementChild)||typeof m.textContent=="string"&&gn(oD[w],m.textContent))||m.nodeType===$n.processingInstruction||V&&m.nodeType===$n.comment&&gn(Vb,m.data))},nc=function(m,w){if(m instanceof RegExp)return gn(m,w);if(m instanceof Function){for(var j=arguments.length,B=new Array(j>2?j-2:0),se=2;se<j;se++)B[se-2]=arguments[se];return!!m(w,...B)}return!1},OE=function(m,w,j){if(!mt[w]&&Ch(w)&&nc(W.tagNameCheck,w))return!1;if(Ir&&!Eo[w]){let B=Y(m),se=O(m);if(se&&B){let Ge=se.length;for(let et=Ge-1;et>=0;--et){let Rt=m===j?g(se[et],!0):se[et];B.insertBefore(Rt,C(m))}}}return sr(m),!0},bh=function(m,w,j,B){return m.length===0?w:w===j||w===B?Hn(w):w},Ti=function(m,w){return m===w||Y(m)!==null?!1:(Cs&&Ja(m),!0)},xh=function(m,w){if(Co(ue.beforeSanitizeElements,m,null),Ti(m,w))return!0;if(tc(m))return sr(m),!0;let j=$t(Pe(m));if(be=bh(ue.uponSanitizeElement,be,nt,ut),Co(ue.uponSanitizeElement,m,{tagName:j,allowedTags:be}),Ti(m,w))return!0;if(DE(m,j))return sr(m),!0;if(mt[j]||!(ne.tagCheck instanceof Function&&ne.tagCheck(j))&&!be[j]){let B=OE(m,j,w);return B===!1&&(Co(ue.afterSanitizeElements,m,null),Ti(m,w))?!0:B}if(Qe(m)===$n.element&&!IE(m)||(j==="noscript"||j==="noembed"||j==="noframes")&&gn(eD,m.innerHTML))return sr(m),!0;if(F&&m.nodeType===$n.text){let B=ec(m.textContent);m.textContent!==B&&(Fa(e.removed,{element:m.cloneNode()}),m.textContent=B)}return Co(ue.afterSanitizeElements,m,null),Ti(m,w)},Eh=function(m,w,j){if(Ke[w]||yh(w,m)||Ya&&(w==="id"||w==="name")&&(j in n||j in wE))return!1;let B=oe[w]||ne.attributeCheck instanceof Function&&ne.attributeCheck(w,m);return pe&&gn(Vt,w)||_t&&gn(Ye,w)?!0:B?Ss[w]||gn(qe,ja(j,Pt,""))||(w==="src"||w==="xlink:href"||w==="href")&&m!=="script"&&Nb(j,"data:")===0&&Ka[m]||st&&!gn(Bt,ja(j,Pt,""))?!0:!j:Ch(m)&&nc(W.tagNameCheck,m)&&nc(W.attributeNameCheck,w,m)||w==="is"&&W.allowCustomizedBuiltInElements&&nc(W.tagNameCheck,j)},PE=it({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ch=function(m){return!PE[$a(m)]&&gn(ke,m)},AE=function(m,w,j,B){if($e&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!j)switch(d.getAttributeType(m,w)){case"TrustedHTML":return he(B);case"TrustedScriptURL":return D(B)}return B},RE=function(m,w,j,B){try{return j?m.setAttributeNS(j,w,B):m.setAttribute(w,B),tc(m)?(sr(m),!1):!0}catch{return Nr(w,m),!1}},wh=function(m,w){if(Co(ue.beforeSanitizeAttributes,m,null),Ti(m,w))return;let j=m.attributes;if(!j||tc(m))return;oe=bh(ue.uponSanitizeAttribute,oe,ct,Ct);let B={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:oe,forceKeepAttr:void 0},se=j.length,Ge=$t(m.nodeName);for(;se--;){let et=j[se],Rt=et.name,zn=et.namespaceURI,Dn=et.value,Mi=$t(Rt),pu=Dn,yn=Rt==="value"?pu:LN(pu),Sh=!1;if(B.attrName=Mi,B.attrValue=yn,B.keepAttr=!0,B.forceKeepAttr=void 0,Co(ue.uponSanitizeAttribute,m,B),yn=B.attrValue,Za&&(Mi==="id"||Mi==="name")&&Nb(yn,Ei)!==0&&(Nr(Rt,m,et),yn=Ei+yn,Sh=!0),V&&gn(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,yn)){Nr(Rt,m,et);continue}if(Mi==="attributename"&&kb(yn,"href")){Nr(Rt,m,et);continue}if(!B.forceKeepAttr){if(!B.keepAttr){Nr(Rt,m,et);continue}if(!Be&&gn(tD,yn)){Nr(Rt,m,et);continue}if(F&&(yn=ec(yn)),!Eh(Ge,Mi,yn)){Nr(Rt,m,et);continue}yn=AE(Ge,Mi,zn,yn),yn!==pu&&RE(m,Rt,zn,yn)&&Sh&&Ib(e.removed)}}Co(ue.afterSanitizeAttributes,m,null),Ti(m,w)},oc=function(m){let w=null,j=_h(m);for(Co(ue.beforeSanitizeShadowDOM,m,null);w=j.nextNode();)if(Co(ue.uponSanitizeShadowNode,w,null),xh(w,m),wh(w,m),Si(w.content)&&oc(w.content),Qe(w)===$n.element){let B=G(w);Si(B)&&(uu(B),oc(B))}Co(ue.afterSanitizeShadowDOM,m,null)},uu=function(m){let w=[{node:m,shadow:null}];for(;w.length>0;){let j=w.pop();if(j.shadow){oc(j.shadow);continue}let B=j.node,se=Qe(B)===$n.element,Ge=O(B);if(Ge)for(let et=Ge.length-1;et>=0;--et)w.push({node:Ge[et],shadow:null});if(se){let et=_e?_e(B):null;if(typeof et=="string"&&$t(et)==="template"){let Rt=B.content;Si(Rt)&&w.push({node:Rt,shadow:null})}}if(se){let et=G(B);Si(et)&&w.push({node:null,shadow:et},{node:et,shadow:null})}}};return e.sanitize=function($){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=null,j=null,B=null,se=null;if(Qa=!$,Qa&&($="<!-->"),typeof $!="string"&&!Is($)&&($=HN($),typeof $!="string"))throw wr("dirty is not a string, aborting");if(!e.isSupported)return $;re?(be=ut,oe=Ct):lu(m),(ue.uponSanitizeElement.length>0||ue.uponSanitizeAttribute.length>0)&&(be=Hn(be)),ue.uponSanitizeAttribute.length>0&&(oe=Hn(oe)),e.removed=[];let Ge=Cs&&typeof $!="string"&&Is($);if(Ge){NE($);let zn=Pe($);if(typeof zn=="string"){let Dn=$t(zn);if(!be[Dn]||mt[Dn])throw Xa($),wr("root node is forbidden and cannot be sanitized in-place")}if(tc($))throw Xa($),wr("root node is clobbered and cannot be sanitized in-place");try{uu($)}catch(Dn){throw Xa($),Dn}}else if(Is($))w=vh("<!---->"),j=w.ownerDocument.importNode($,!0),j.nodeType===$n.element&&j.nodeName==="BODY"||j.nodeName==="HTML"?w=j:w.appendChild(j),uu(w);else{if(!pn&&!F&&!X&&$.indexOf("<")===-1)return $e&&xo?he($):$;if(w=vh($),!w)return pn?null:xo?dt:""}w&&Un&&sr(w.firstChild);let et=Ge?$:w;try{let zn=_h(et);for(;B=zn.nextNode();)xh(B,et),wh(B,et),Si(B.content)&&oc(B.content)}catch(zn){throw Ge&&(Xa($),gi(e.removed,Dn=>{Dn.element&&Ja(Dn.element)})),zn}if(Ge){let zn=!1;if(gi(e.removed,Dn=>{Dn.element&&(Dn.element===$&&(zn=!0),Ja(Dn.element))}),zn)throw wr("a node selected for removal could not be safely returned; refusing to sanitize in place");return F&&du($),$}if(pn){if(F&&du(w),bo)for(se=Ne.call(w.ownerDocument);w.firstChild;)se.appendChild(w.firstChild);else se=w;return(oe.shadowroot||oe.shadowrootmode)&&(se=jt.call(o,se,!0)),se}let Rt=X?w.outerHTML:w.innerHTML;return X&&be["!doctype"]&&w.ownerDocument&&w.ownerDocument.doctype&&w.ownerDocument.doctype.name&&gn(XN,w.ownerDocument.doctype.name)&&(Rt="<!DOCTYPE "+w.ownerDocument.doctype.name+`>
19
+ `+Rt),F&&(Rt=ec(Rt)),$e&&xo?he(Rt):Rt},e.setConfig=function(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};lu($),re=!0,ut=be,Ct=oe},e.clearConfig=function(){wi=null,re=!1,ut=null,Ct=null,$e=Et,dt=""},e.isValidAttribute=function($,m,w){wi||lu({});let j=$t($),B=$t(m);return Eh(j,B,w)},e.addHook=function($,m){typeof m=="function"&&Nn(ue,$)&&Fa(ue[$],m)},e.removeHook=function($,m){if(Nn(ue,$)){if(m!==void 0){let w=AN(ue[$],m);return w===-1?void 0:RN(ue[$],w,1)[0]}return Ib(ue[$])}},e.removeHooks=function($){Nn(ue,$)&&(ue[$]=[])},e.removeAllHooks=function(){ue=$b()},e}var qb=zb();var px=qE(ux(),1);var Fd=px.default;function fx(t){let e=t.regex,n={},o={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},o]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},i=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(a);let c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=t.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},C=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],O=["true","false"],Y={match:/(\/[a-z._-]+)+/},G=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],ye=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],ce=["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"],_e=["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:C,literal:O,built_in:[...G,...ye,"set","shopt",...ce,..._e]},contains:[y,t.SHEBANG(),b,f,i,s,Y,a,c,l,d,n]}}var ZD=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.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:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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_-]*/}}),KD=["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"],QD=["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"],XD=[...KD,...QD],JD=["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(),eO=["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(),tO=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),nO=["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 mx(t){let e=t.regex,n=ZD(t),o={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",i=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,o,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+eO.join("|")+")"},{begin:":(:)?("+tO.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+nO.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.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}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:i},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:JD.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+XD.join("|")+")\\b"}]}}function hx(t){let e=t.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 gx(t){let i={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:i,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.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:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,illegal:/["']/}]}]}}var yx="[A-Za-z$_][0-9A-Za-z$_]*",oO=["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"],rO=["true","false","null","undefined","NaN","Infinity"],vx=["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"],_x=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],bx=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],iO=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],sO=[].concat(bx,vx,_x);function xx(t){let e=t.regex,n=(U,{after:A})=>{let J="</"+U[0].slice(1);return U.input.indexOf(J,A)!==-1},o=yx,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(U,A)=>{let J=U[0].length+U.index,Ne=U.input[J];if(Ne==="<"||Ne===","){A.ignoreMatch();return}Ne===">"&&(n(U,{after:J})||A.ignoreMatch());let Je,jt=U.input.substring(J);if(Je=jt.match(/^\s*=/)){A.ignoreMatch();return}if((Je=jt.match(/^\s+extends\s+/))&&Je.index===0){A.ignoreMatch();return}}},a={$pattern:yx,keyword:oO,literal:rO,built_in:sO,"variable.language":iO},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\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},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"css"}},C={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,g]},G={className:"comment",variants:[t.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:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},ye=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,y,b,C,O,{match:/\$\d+/},f];g.contains=ye.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(ye)});let ce=[].concat(G,g.contains),_e=ce.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(ce)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:_e},Qe={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,e.concat(o,"(",e.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},Pe={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:{_:[...vx,..._x]}},$e={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},dt={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},Et={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Ot(U){return e.concat("(?!",U.join("|"),")")}let St={match:e.concat(/\b/,Ot([...bx,"super","import","await"].map(U=>`${U}\\s*\\(`)),o,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Xe={begin:e.concat(/\./,e.lookahead(e.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},he={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",Z={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:_e,CLASS_REFERENCE:Pe},illegal:/#(?![$_A-Za-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),$e,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,y,b,C,O,G,{match:/\$\d+/},f,Pe,{scope:"attr",match:o+e.lookahead(":"),relevance:0},Z,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[G,t.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:_e}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},dt,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,t.inherit(t.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},Xe,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},St,Et,Qe,he,{match:/\$[(.]/}]}}var aO="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",cO={scope:"number",match:aO,relevance:0};function Ex(t){let e={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},o=["true","false","null"],r={scope:"literal",beginKeywords:o.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:o},contains:[e,n,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,r,cO,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Cx(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},o={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},r={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}]},i={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}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),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}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=t.inherit(l,{contains:[]}),g=t.inherit(d,{contains:[]});l.contains.push(g),d.contains.push(f);let y=[n,c];return[l,d,f,g].forEach(Y=>{Y.contains=Y.contains.concat(y)}),y=y.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},n,i,o,l,d,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},r,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function wx(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,o=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),i=e.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+o},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(Xe,he)=>{he.data._beginMatch=Xe[1]||Xe[2]},"on:end":(Xe,he)=>{he.data._beginMatch!==Xe[1]&&he.ignoreMatch()}},g=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
20
+ ]`,b={scope:"string",variants:[d,l,f,g]},C={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},O=["false","null","true"],Y=["__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"],G=["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"],ce={keyword:Y,literal:(Xe=>{let he=[];return Xe.forEach(D=>{he.push(D),D.toLowerCase()===D?he.push(D.toUpperCase()):he.push(D.toLowerCase())}),he})(O),built_in:G},_e=Xe=>Xe.map(he=>he.replace(/\|\d+$/,"")),ie={variants:[{match:[/new/,e.concat(y,"+"),e.concat("(?!",_e(G).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},Qe=e.concat(o,"\\b(?!\\()"),Pe={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),Qe],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),Qe],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},$e={scope:"attr",match:e.concat(o,e.lookahead(":"),e.lookahead(/(?!::)/))},dt={relevance:0,begin:/\(/,end:/\)/,keywords:ce,contains:[$e,s,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,b,C,ie]},Et={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",_e(Y).join("\\b|"),"|",_e(G).join("\\b|"),"\\b)"),o,e.concat(y,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[dt]};dt.contains.push(Et);let Ot=[$e,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,b,C,ie],St={begin:e.concat(/#\[\s*\\?/,e.either(r,i)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:O,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:O,keyword:["new","array"]},contains:["self",...Ot]},...Ot,{scope:"meta",variants:[{match:r},{match:i}]}]};return{case_insensitive:!1,keywords:ce,contains:[St,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,Et,Pe,{match:[/const/,/\s/,o],scope:{1:"keyword",3:"variable.constant"}},ie,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ce,contains:["self",St,s,Pe,t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE,t.HASH_COMMENT_MODE,b,C]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},b,C]}}function Sx(t){let e=t.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),o=["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:o,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{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:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},g="[0-9](_?[0-9])*",y=`(\\b(${g}))?\\.(${g})|\\b(${g})\\.`,b=`\\b|${o.join("|")}`,C={className:"number",relevance:0,variants:[{begin:`(\\b(${g})|(${y}))[eE][+-]?(${g})[jJ]?(?=${b})`},{begin:`(${y})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${g})[jJ](?=${b})`}]},O={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},Y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,C,f,t.HASH_COMMENT_MODE]}]};return l.contains=[f,C,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,C,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,O,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[Y]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[C,Y,f]}]}}var jd="[A-Za-z$_][0-9A-Za-z$_]*",Tx=["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"],Mx=["true","false","null","undefined","NaN","Infinity"],Ix=["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"],kx=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Nx=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Dx=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],Ox=[].concat(Nx,Ix,kx);function lO(t){let e=t.regex,n=(U,{after:A})=>{let J="</"+U[0].slice(1);return U.input.indexOf(J,A)!==-1},o=jd,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(U,A)=>{let J=U[0].length+U.index,Ne=U.input[J];if(Ne==="<"||Ne===","){A.ignoreMatch();return}Ne===">"&&(n(U,{after:J})||A.ignoreMatch());let Je,jt=U.input.substring(J);if(Je=jt.match(/^\s*=/)){A.ignoreMatch();return}if((Je=jt.match(/^\s+extends\s+/))&&Je.index===0){A.ignoreMatch();return}}},a={$pattern:jd,keyword:Tx,literal:Mx,built_in:Ox,"variable.language":Dx},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\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},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"css"}},C={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},O={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,g]},G={className:"comment",variants:[t.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:o+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},ye=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,y,b,C,O,{match:/\$\d+/},f];g.contains=ye.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(ye)});let ce=[].concat(G,g.contains),_e=ce.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(ce)}]),ie={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:_e},Qe={variants:[{match:[/class/,/\s+/,o,/\s+/,/extends/,/\s+/,e.concat(o,"(",e.concat(/\./,o),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,o],scope:{1:"keyword",3:"title.class"}}]},Pe={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:{_:[...Ix,...kx]}},$e={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},dt={variants:[{match:[/function/,/\s+/,o,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ie],illegal:/%/},Et={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Ot(U){return e.concat("(?!",U.join("|"),")")}let St={match:e.concat(/\b/,Ot([...Nx,"super","import","await"].map(U=>`${U}\\s*\\(`)),o,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Xe={begin:e.concat(/\./,e.lookahead(e.concat(o,/(?![0-9A-Za-z$_(])/))),end:o,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},he={match:[/get|set/,/\s+/,o,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ie]},D="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",Z={match:[/const|var|let/,/\s+/,o,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(D)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ie]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:_e,CLASS_REFERENCE:Pe},illegal:/#(?![$_A-Za-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),$e,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,y,b,C,O,G,{match:/\$\d+/},f,Pe,{scope:"attr",match:o+e.lookahead(":"),relevance:0},Z,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[G,t.REGEXP_MODE,{className:"function",begin:D,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:_e}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},dt,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ie,t.inherit(t.TITLE_MODE,{begin:o,className:"title.function"})]},{match:/\.\.\./,relevance:0},Xe,{match:"\\$"+o,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ie]},St,Et,Qe,he,{match:/\$[(.]/}]}}function Px(t){let e=t.regex,n=lO(t),o=jd,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:jd,keyword:Tx.concat(c),literal:Mx,built_in:Ox.concat(r),"variable.language":Dx},d={className:"meta",begin:"@"+o},f=(C,O,Y)=>{let G=C.contains.findIndex(ye=>ye.label===O);if(G===-1)throw new Error("can not find mode to replace");C.contains.splice(G,1,Y)};Object.assign(n.keywords,l),n.exports.PARAMS_CONTAINS.push(d);let g=n.contains.find(C=>C.scope==="attr"),y=Object.assign({},g,{match:e.concat(o,e.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,g,y]),n.contains=n.contains.concat([d,i,s,y]),f(n,"shebang",t.SHEBANG()),f(n,"use_strict",a);let b=n.contains.find(C=>C.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function Ax(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),o=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(i,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:o,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{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:[i,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,s,c,a]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(n,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Rx(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",o={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),g={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"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},C={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},O=[o,{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+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},b,C,i,s],Y=[...O];return Y.pop(),Y.push(a),y.contains=Y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:O}}function oh(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var xi=oh();function Gx(t){xi=t}var _i={exec:()=>null};function _s(t){let e=[];return n=>{let o=Math.max(0,Math.min(3,n-1)),r=e[o];return r||(r=t(o),e[o]=r),r}}function Oe(t,e=""){let n=typeof t=="string"?t:t.source,o={replace:(r,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(un.caret,"$1"),n=n.replace(r,s),o},getRegex:()=>new RegExp(n,e)};return o}var dO=((t="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+t)}catch{return!1}})(),un={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:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:_s(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:_s(t=>new RegExp(`^ {0,${t}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:_s(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:_s(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:_s(t=>new RegExp(`^ {0,${t}}(?:</?(?:${Ga})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,"i")),blockquoteBeginRegex:_s(t=>new RegExp(`^ {0,${t}}>`))},uO=/^(?:[ \t]*(?:\n|$))+/,pO=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,fO=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,qa=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,mO=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,rh=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Wx=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Yx=Oe(Wx).replace(/bull/g,rh).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(),hO=Oe(Wx).replace(/bull/g,rh).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(),ih=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,gO=/^[^\n]+/,sh=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,yO=Oe(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",sh).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),vO=Oe(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,rh).getRegex(),Ga="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",ah=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,_O=Oe("^ {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",ah).replace("tag",Ga).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Zx=t=>Oe(ih).replace("hr",qa).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",t).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ga).getRegex(),bO=Zx(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),xO=Zx(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),EO=Oe(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",xO).getRegex(),ch={blockquote:EO,code:pO,def:yO,fences:fO,heading:mO,hr:qa,html:_O,lheading:Yx,list:vO,newline:uO,paragraph:bO,table:_i,text:gO},Lx=Oe("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",qa).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",Ga).getRegex(),CO=Q(H({},ch),{lheading:hO,table:Lx,paragraph:Oe(ih).replace("hr",qa).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Lx).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",Ga).getRegex()}),wO=Q(H({},ch),{html:Oe(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ah).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:_i,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Oe(ih).replace("hr",qa).replace("heading",` *#{1,6} *[^
21
+ ]`).replace("lheading",Yx).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),SO=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,TO=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Kx=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,MO=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,rr=/[\p{P}\p{S}]/u,bs=/[\s\p{P}\p{S}]/u,Wa=/[^\s\p{P}\p{S}]/u,IO=Oe(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,bs).getRegex(),kO=/[\p{Pi}\p{Ps}"']/u,Qx=/(?!~)[\p{P}\p{S}]/u,NO=/(?!~)[\s\p{P}\p{S}]/u,DO=/(?:[^\s\p{P}\p{S}]|~)/u,OO=Oe(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",dO?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Xx=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,PO=Oe(Xx,"u").replace(/punct/g,rr).getRegex(),AO=Oe(Xx,"u").replace(/punct/g,Qx).getRegex(),RO=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,LO=Oe(RO,"u").replace(/openQuote/g,kO).replace(/punct/g,rr).getRegex(),Jx="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",FO=Oe(Jx,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),jO=Oe(Jx,"gu").replace(/notPunctSpace/g,DO).replace(/punctSpace/g,NO).replace(/punct/g,Qx).getRegex(),VO="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",$O=Oe(VO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),HO=Oe("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),BO="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",UO=Oe(BO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),zO=Oe(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,rr).getRegex(),qO="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",GO=Oe(qO,"gu").replace(/notPunctSpace/g,Wa).replace(/punctSpace/g,bs).replace(/punct/g,rr).getRegex(),WO=Oe(/\\(punct)/,"gu").replace(/punct/g,rr).getRegex(),YO=Oe(/^<(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(),ZO=Oe(ah).replace("(?:-->|$)","-->").getRegex(),KO=Oe("^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",ZO).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),eE=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,$d=Oe(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",eE).getRegex(),QO=Oe(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",$d).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),XO=Oe(/^!?\[(label)\]\[(ref)\]/).replace("label",$d).replace("ref",sh).getRegex(),JO=Oe(/^!?\[(ref)\](?:\[\])?/).replace("ref",sh).getRegex(),Fx=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,eP=Oe(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",eE).getRegex(),tP=Oe("reflink|nolink(?!\\()","g").replace("reflink",Oe(/^!?\[(label)\]\[(ref)\]/).replace("label",eP).replace("ref",Fx).getRegex()).replace("nolink",Oe(/^!?\[(ref)\](?:\[\])?/).replace("ref",Fx).getRegex()).getRegex(),jx=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,nP=/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/,oP=Oe(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,nP).getRegex(),lh={_backpedal:_i,anyPunctuation:WO,autolink:YO,blockSkip:OO,br:Kx,code:TO,del:_i,delLDelim:_i,delRDelim:_i,emStrongLDelim:PO,emStrongRDelimAst:FO,emStrongRDelimUnd:HO,escape:SO,link:QO,nolink:JO,punctuation:IO,reflink:XO,reflinkSearch:tP,tag:KO,text:MO,url:_i},rP=Q(H({},lh),{emStrongLDelim:LO,emStrongRDelimAst:$O,emStrongRDelimUnd:UO,link:Oe(/^!?\[(label)\]\((.*?)\)/).replace("label",$d).getRegex(),reflink:Oe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",$d).getRegex()}),eh=Q(H({},lh),{emStrongRDelimAst:jO,emStrongLDelim:AO,delLDelim:zO,delRDelim:GO,url:Oe(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol",oP).replace("protocol",jx).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:Oe(/^(?:[^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",jx).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()}),iP=Q(H({},eh),{br:Oe(Kx).replace("{2,}","*").getRegex(),text:Oe(eh.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),Vd={normal:ch,gfm:CO,pedantic:wO},Ua={normal:lh,gfm:eh,breaks:iP,pedantic:rP},sP={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Vx=t=>sP[t];function Bn(t,e){if(e){if(un.escapeTest.test(t))return t.replace(un.escapeReplace,Vx)}else if(un.escapeTestNoEncode.test(t))return t.replace(un.escapeReplaceNoEncode,Vx);return t}function aP(t){return t.replace(un.numericCharacterReference,(e,n,o)=>{let r=n===void 0?Number.parseInt(o,16):Number.parseInt(n,10);return r===0||r>1114111||r>=55296&&r<=57343?"\uFFFD":String.fromCodePoint(r)})}function $x(t){try{t=encodeURI(t).replace(un.percentDecode,"%")}catch{return null}return t}function Hx(t,e){let n=t.replace(un.findPipe,(i,s,a)=>{let c=!1,l=s;for(;--l>=0&&a[l]==="\\";)c=!c;return c?"|":" |"}),o=n.split(un.splitPipe),r=0;if(o[0].trim()||o.shift(),o.length>0&&!o.at(-1)?.trim()&&o.pop(),e)if(o.length>e)o.splice(e);else for(;o.length<e;)o.push("");for(;r<o.length;r++)o[r]=o[r].trim().replace(un.slashPipe,"|");return o}function Mr(t,e,n){let o=t.length;if(o===0)return"";let r=0;for(;r<o;){let i=t.charAt(o-r-1);if(i===e&&!n)r++;else if(i!==e&&n)r++;else break}return t.slice(0,o-r)}function Bx(t){let e=t.split(`
20
22
  `),n=e.length-1;for(;n>=0&&un.blankLine.test(e[n]);)n--;return e.length-n<=2?t:e.slice(0,n+1).join(`
21
- `)}function $d(t){return t.trim().toLowerCase().toUpperCase().toLowerCase()}function HO(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let o=0;o<t.length;o++)if(t[o]==="\\")o++;else if(t[o]===e[0])n++;else if(t[o]===e[1]&&(n--,n<0))return o;return n>0?-2:-1}function Fx(t,e=0){let n=e,o="";for(let r of t)if(r===" "){let i=4-n%4;o+=" ".repeat(i),n+=i}else o+=r,n++;return o}function jx(t,e,n,o,r){let i=e.href,s=e.title||null,a=t[1].replace(r.other.outputLinkReplace,"$1"),c=t[0].charAt(0)==="!";o.state.inLink=!0;let l=o.state.linkEmitted,d=o.state.inRawBlock;o.state.linkEmitted=!1;let u=o.inlineTokens(a),h=o.state.linkEmitted;if(o.state.linkEmitted=l,o.state.inLink=!1,!c){if(h){o.state.inRawBlock=d;return}o.state.linkEmitted=!0}return{type:c?"image":"link",raw:n,href:i,title:s,text:a,tokens:u}}function BO(t,e,n){let o=t.match(n.other.indentCodeCompensation);if(o===null)return e;let r=o[1];return e.split(`
23
+ `)}function Hd(t){return t.trim().toLowerCase().toUpperCase().toLowerCase()}function cP(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let o=0;o<t.length;o++)if(t[o]==="\\")o++;else if(t[o]===e[0])n++;else if(t[o]===e[1]&&(n--,n<0))return o;return n>0?-2:-1}function Ux(t,e=0){let n=e,o="";for(let r of t)if(r===" "){let i=4-n%4;o+=" ".repeat(i),n+=i}else o+=r,n++;return o}function zx(t,e,n,o,r){let i=e.href,s=e.title||null,a=t[1].replace(r.other.outputLinkReplace,"$1"),c=t[0].charAt(0)==="!";o.state.inLink=!0;let l=o.state.linkEmitted,d=o.state.inRawBlock;o.state.linkEmitted=!1;let f=o.inlineTokens(a),g=o.state.linkEmitted;if(o.state.linkEmitted=l,o.state.inLink=!1,!c){if(g){o.state.inRawBlock=d;return}o.state.linkEmitted=!0}return{type:c?"image":"link",raw:n,href:i,title:s,text:a,tokens:f}}function lP(t,e,n){let o=t.match(n.other.indentCodeCompensation);if(o===null)return e;let r=o[1];return e.split(`
22
24
  `).map(i=>{let s=i.match(n.other.beginningSpace);if(s===null)return i;let[a]=s;return i.slice(Math.min(a.length,r.length))}).join(`
23
- `)}function Vx(t,e,n,o){if(!e.includes("<"))return!1;for(let r=0;r<e.length;r++){if(e[r]==="\\"){r++;continue}if(e[r]==="`"){let a=o.inline.code.exec(e.slice(r));if(a){r+=a[0].length-1;continue}}if(e[r]!=="<")continue;let i=t.slice(n+r),s=o.inline.tag.exec(i)||o.inline.autolink.exec(i);if(s){if(s[0].length>e.length-r)return!0;r+=s[0].length-1}}return!1}var Hd=class{options;rules;lexer;constructor(t){this.options=t||xi}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:Lx(e[0]),o=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:o}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],o=BO(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:o}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let o=Mr(n,"#");(this.options.pedantic||!o||this.rules.other.endingSpaceTabChar.test(o))&&(n=o.trim())}return{type:"heading",raw:Mr(e[0],`
25
+ `)}function qx(t,e,n,o){if(!e.includes("<"))return!1;for(let r=0;r<e.length;r++){if(e[r]==="\\"){r++;continue}if(e[r]==="`"){let a=o.inline.code.exec(e.slice(r));if(a){r+=a[0].length-1;continue}}if(e[r]!=="<")continue;let i=t.slice(n+r),s=o.inline.tag.exec(i)||o.inline.autolink.exec(i);if(s){if(s[0].length>e.length-r)return!0;r+=s[0].length-1}}return!1}var Bd=class{options;rules;lexer;constructor(t){this.options=t||xi}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:Bx(e[0]),o=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:o}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],o=lP(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:o}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let o=Mr(n,"#");(this.options.pedantic||!o||this.rules.other.endingSpaceTabChar.test(o))&&(n=o.trim())}return{type:"heading",raw:Mr(e[0],`
24
26
  `),depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Mr(e[0],`
25
27
  `)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=Mr(e[0],`
26
28
  `).split(`
@@ -28,27 +30,27 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
28
30
  `),d=l.replace(this.rules.other.blockquoteSetextReplace,`
29
31
  $1`).replace(this.rules.other.blockquoteSetextReplace2,"");o=o?`${o}
30
32
  ${l}`:l,r=r?`${r}
31
- ${d}`:d;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,i,!0),this.lexer.state.top=u,n.length===0)break;let h=i.at(-1);if(h?.type==="code")break;if(h?.type==="blockquote"){let g=h,_=n.join(`
32
- `),C=g.raw+`
33
- `+_.replace(this.rules.other.blockquoteSetextReplace2,""),O=this.blockquote(C);i[i.length-1]=O;let W=C.substring(O.raw.length).replace(/^\n/,""),q=W?W.split(`
34
- `).length:0,he=q?n.slice(0,-q):n;he.length>0&&(o=`${o}
35
- ${he.join(`
36
- `)}`),r=r.substring(0,r.length-g.text.length)+O.text;break}else if(h?.type==="list"){let g=h,_=g.raw+`
33
+ ${d}`:d;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,i,!0),this.lexer.state.top=f,n.length===0)break;let g=i.at(-1);if(g?.type==="code")break;if(g?.type==="blockquote"){let y=g,b=n.join(`
34
+ `),C=y.raw+`
35
+ `+b.replace(this.rules.other.blockquoteSetextReplace2,""),O=this.blockquote(C);i[i.length-1]=O;let Y=C.substring(O.raw.length).replace(/^\n/,""),G=Y?Y.split(`
36
+ `).length:0,ye=G?n.slice(0,-G):n;ye.length>0&&(o=`${o}
37
+ ${ye.join(`
38
+ `)}`),r=r.substring(0,r.length-y.text.length)+O.text;break}else if(g?.type==="list"){let y=g,b=y.raw+`
37
39
  `+n.join(`
38
- `),C=this.list(_);i[i.length-1]=C,o=o.substring(0,o.length-h.raw.length)+C.raw,r=r.substring(0,r.length-g.raw.length)+C.raw,n=_.substring(i.at(-1).raw.length).split(`
39
- `);continue}}return{type:"blockquote",raw:o,tokens:i,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),o=n.length>1,r={type:"list",raw:"",ordered:o,start:o?+n.slice(0,-1):"",loose:!1,items:[]};n=o?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=o?n:"[*+-]");let i=this.rules.other.listItemRegex(n),s=!1;for(;t;){let c=!1,l="",d="";if(!(e=i.exec(t))||this.rules.block.hr.test(t))break;l=e[0],t=t.substring(l.length);let u=e[2].split(`
40
- `,1)[0],h=e[1].length,g=this.options.pedantic?Fx(u,h):u.replace(this.rules.other.leadingSpaceTab,W=>Fx(W,h)),_=t.split(`
41
- `,1)[0],C=!g.trim(),O=0;if(this.options.pedantic?(O=2,d=g.trimStart()):C?O=h+1:(O=g.search(this.rules.other.nonSpaceChar),O=O>4?1:O,d=g.slice(O),O+=h),C&&this.rules.other.blankLine.test(_)&&(l+=_+`
42
- `,t=t.substring(_.length+1),c=!0),!c){let W=this.rules.other.nextBulletRegex(O),q=this.rules.other.hrRegex(O),he=this.rules.other.fencesBeginRegex(O),ce=this.rules.other.headingBeginRegex(O),ve=this.rules.other.htmlBeginRegex(O),ie=this.rules.other.blockquoteBeginRegex(O);for(;t;){let Qe=t.split(`
43
- `,1)[0],Pe;if(_=Qe,this.options.pedantic?(_=_.replace(this.rules.other.listReplaceNesting," "),Pe=_):Pe=_.replace(this.rules.other.leadingSpaceTab,je=>je.replace(this.rules.other.tabCharGlobal," ")),he.test(_)||ce.test(_)||ve.test(_)||ie.test(_)||W.test(_)||q.test(_))break;if(Pe.search(this.rules.other.nonSpaceChar)>=O||!_.trim())d+=`
44
- `+Pe.slice(O);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||he.test(g)||ce.test(g)||q.test(g))break;d+=`
45
- `+_}C=!_.trim(),l+=Qe+`
46
- `,t=t.substring(Qe.length+1),g=Pe.slice(O)}}r.loose||(s?r.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(s=!0)),r.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(d),loose:!1,text:d,tokens:[]}),r.raw+=l}let a=r.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let c of r.items)if(this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]),!r.loose){let l=c.tokens.filter(u=>u.type==="space"),d=l.length>0&&l.some(u=>this.rules.other.anyLine.test(u.raw));r.loose=d}for(let c of r.items){let l=c.tokens[0];if(c.task&&(l?.type==="text"||l?.type==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),l.raw=l.raw.replace(this.rules.other.listReplaceTask,""),l.text=l.text.replace(this.rules.other.listReplaceTask,"");for(let u=this.lexer.inlineQueue.length-1;u>=0;u--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[u].src)){this.lexer.inlineQueue[u].src=this.lexer.inlineQueue[u].src.replace(this.rules.other.listReplaceTask,"");break}let d=this.rules.other.listTaskCheckbox.exec(c.raw);if(d){let u={type:"checkbox",raw:d[0]+" ",checked:d[0]!=="[ ]"};c.checked=u.checked,r.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=u.raw+c.tokens[0].raw,c.tokens[0].text=u.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(u)):c.tokens.unshift({type:"paragraph",raw:u.raw,text:u.raw,tokens:[u]}):c.tokens.unshift(u)}}else c.task&&(c.task=!1)}if(r.loose)for(let c of r.items){c.loose=!0;for(let l of c.tokens)l.type==="text"&&(l.type="paragraph")}return r}}html(t){let e=this.rules.block.html.exec(t);if(e){let n=Lx(e[0]);return{type:"html",block:!0,raw:n,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:n}}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=$d(e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:Mr(e[0],`
47
- `),href:o,title:r}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let n=Rx(e[1]),o=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
40
+ `),C=this.list(b);i[i.length-1]=C,o=o.substring(0,o.length-g.raw.length)+C.raw,r=r.substring(0,r.length-y.raw.length)+C.raw,n=b.substring(i.at(-1).raw.length).split(`
41
+ `);continue}}return{type:"blockquote",raw:o,tokens:i,text:r}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),o=n.length>1,r={type:"list",raw:"",ordered:o,start:o?+n.slice(0,-1):"",loose:!1,items:[]};n=o?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=o?n:"[*+-]");let i=this.rules.other.listItemRegex(n),s=!1;for(;t;){let c=!1,l="",d="";if(!(e=i.exec(t))||this.rules.block.hr.test(t))break;l=e[0],t=t.substring(l.length);let f=e[2].split(`
42
+ `,1)[0],g=e[1].length,y=this.options.pedantic?Ux(f,g):f.replace(this.rules.other.leadingSpaceTab,Y=>Ux(Y,g)),b=t.split(`
43
+ `,1)[0],C=!y.trim(),O=0;if(this.options.pedantic?(O=2,d=y.trimStart()):C?O=g+1:(O=y.search(this.rules.other.nonSpaceChar),O=O>4?1:O,d=y.slice(O),O+=g),C&&this.rules.other.blankLine.test(b)&&(l+=b+`
44
+ `,t=t.substring(b.length+1),c=!0),!c){let Y=this.rules.other.nextBulletRegex(O),G=this.rules.other.hrRegex(O),ye=this.rules.other.fencesBeginRegex(O),ce=this.rules.other.headingBeginRegex(O),_e=this.rules.other.htmlBeginRegex(O),ie=this.rules.other.blockquoteBeginRegex(O);for(;t;){let Qe=t.split(`
45
+ `,1)[0],Pe;if(b=Qe,this.options.pedantic?(b=b.replace(this.rules.other.listReplaceNesting," "),Pe=b):Pe=b.replace(this.rules.other.leadingSpaceTab,$e=>$e.replace(this.rules.other.tabCharGlobal," ")),ye.test(b)||ce.test(b)||_e.test(b)||ie.test(b)||Y.test(b)||G.test(b))break;if(Pe.search(this.rules.other.nonSpaceChar)>=O||!b.trim())d+=`
46
+ `+Pe.slice(O);else{if(C||y.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||ye.test(y)||ce.test(y)||G.test(y))break;d+=`
47
+ `+b}C=!b.trim(),l+=Qe+`
48
+ `,t=t.substring(Qe.length+1),y=Pe.slice(O)}}r.loose||(s?r.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(s=!0)),r.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(d),loose:!1,text:d,tokens:[]}),r.raw+=l}let a=r.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let c of r.items)if(this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]),!r.loose){let l=c.tokens.filter(f=>f.type==="space"),d=l.length>0&&l.some(f=>this.rules.other.anyLine.test(f.raw));r.loose=d}for(let c of r.items){let l=c.tokens[0];if(c.task&&(l?.type==="text"||l?.type==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),l.raw=l.raw.replace(this.rules.other.listReplaceTask,""),l.text=l.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let d=this.rules.other.listTaskCheckbox.exec(c.raw);if(d){let f={type:"checkbox",raw:d[0]+" ",checked:d[0]!=="[ ]"};c.checked=f.checked,r.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1)}if(r.loose)for(let c of r.items){c.loose=!0;for(let l of c.tokens)l.type==="text"&&(l.type="paragraph")}return r}}html(t){let e=this.rules.block.html.exec(t);if(e){let n=Bx(e[0]);return{type:"html",block:!0,raw:n,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:n}}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=Hd(e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:Mr(e[0],`
49
+ `),href:o,title:r}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let n=Hx(e[1]),o=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
48
50
  `):[],i={type:"table",raw:Mr(e[0],`
49
- `),header:[],align:[],rows:[]};if(n.length===o.length){for(let s of o)this.rules.other.tableAlignRight.test(s)?i.align.push("right"):this.rules.other.tableAlignCenter.test(s)?i.align.push("center"):this.rules.other.tableAlignLeft.test(s)?i.align.push("left"):i.align.push(null);for(let s=0;s<n.length;s++)i.header.push({text:n[s],tokens:this.lexer.inline(n[s]),header:!0,align:i.align[s]});for(let s of r)i.rows.push(Rx(s,i.header.length).map((a,c)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:i.align[c]})));return i}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e){let n=e[1].trim();return{type:"heading",raw:Mr(e[0],`
51
+ `),header:[],align:[],rows:[]};if(n.length===o.length){for(let s of o)this.rules.other.tableAlignRight.test(s)?i.align.push("right"):this.rules.other.tableAlignCenter.test(s)?i.align.push("center"):this.rules.other.tableAlignLeft.test(s)?i.align.push("left"):i.align.push(null);for(let s=0;s<n.length;s++)i.header.push({text:n[s],tokens:this.lexer.inline(n[s]),header:!0,align:i.align[s]});for(let s of r)i.rows.push(Hx(s,i.header.length).map((a,c)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:i.align[c]})));return i}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e){let n=e[1].trim();return{type:"heading",raw:Mr(e[0],`
50
52
  `),depth:e[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
51
- `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);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(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&Vx(t,e[1],n,this.rules))return;let o=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(o)){if(!this.rules.other.endAngleBracket.test(o))return;let s=Mr(o.slice(0,-1),"\\");if((o.length-s.length)%2===0)return}else{let s=HO(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 r=e[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(o)?r=r.slice(1):r=r.slice(1,-1)),jx(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let o=n[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&Vx(t,n[1],o,this.rules))return;let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[$d(r)];if(!i){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return jx(n,i,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!(!o||!o[1]&&!o[2]&&!o[3]&&!o[4]||o[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[3])||!n||this.rules.inline.punctuation.exec(n))){let r=[...o[0]].length-1,i,s,a=r,c=0,l=o[0][0],d=n===l,u=l==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+r);(o=u.exec(e))!==null;){if(i=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!i)continue;if(s=[...i].length,o[3]||o[4]){a+=s;continue}else if(o[5]||o[6]){if(r%3&&!((r+s)%3)){c+=s;continue}if(d)break}if(a-=s,a>0)continue;s=Math.min(s,s+a+c);let h=[...o[0]][0].length,g=t.slice(0,r+o.index+h+s);if(Math.min(r,s)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let _=g.slice(2,-2);return{type:"strong",raw:g,text:_,tokens:this.lexer.inlineTokens(_)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),o=this.rules.other.nonSpaceChar.test(n),r=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return o&&r&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t,e,n=""){let o=this.rules.inline.delLDelim.exec(t);if(o&&(!o[1]||!n||this.rules.inline.punctuation.exec(n))){let r=[...o[0]].length-1,i,s,a=r,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*t.length+r);(o=c.exec(e))!==null;){if(i=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!i||(s=[...i].length,s!==r))continue;if(o[3]||o[4]){a+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a);let l=[...o[0]][0].length,d=t.slice(0,r+o.index+l+s),u=d.slice(r,-r);return{type:"del",raw:d,text:u,tokens:this.lexer.inlineTokens(u)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,o;return e[2]==="@"?(n=e[1],o="mailto:"+n):(n=e[1],o=n),{type:"link",raw:e[0],text:n,href:o,autolink:!0,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,o;if(e[2]==="@")n=e[0],o="mailto:"+n;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(r!==e[0]);n=e[0],e[1]==="www."?o="http://"+e[0]:o=e[0]}return{type:"link",raw:e[0],text:n,href:o,autolink:!0,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:n?e[0]:$O(e[0]),escaped:n}}}},vo=class Jm{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||xi,this.options.tokenizer=this.options.tokenizer||new Hd,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 n={other:un,block:jd.normal,inline:Ua.normal};this.options.pedantic?(n.block=jd.pedantic,n.inline=Ua.pedantic):this.options.gfm&&(n.block=jd.gfm,this.options.breaks?n.inline=Ua.breaks:n.inline=Ua.gfm),this.tokenizer.rules=n}static get rules(){return{block:jd,inline:Ua}}static lex(e,n){return new Jm(n).lex(e)}static lexInline(e,n){return new Jm(n).inlineTokens(e)}lex(e){e=e.replace(un.carriageReturn,`
53
+ `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);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(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&qx(t,e[1],n,this.rules))return;let o=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(o)){if(!this.rules.other.endAngleBracket.test(o))return;let s=Mr(o.slice(0,-1),"\\");if((o.length-s.length)%2===0)return}else{let s=cP(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 r=e[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(o)?r=r.slice(1):r=r.slice(1,-1)),zx(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let o=n[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&qx(t,n[1],o,this.rules))return;let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[Hd(r)];if(!i){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return zx(n,i,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!(!o||!o[1]&&!o[2]&&!o[3]&&!o[4]||o[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[3])||!n||this.rules.inline.punctuation.exec(n))){let r=[...o[0]].length-1,i,s,a=r,c=0,l=o[0][0],d=n===l,f=l==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,e=e.slice(-1*t.length+r);(o=f.exec(e))!==null;){if(i=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!i)continue;if(s=[...i].length,o[3]||o[4]){a+=s;continue}else if(o[5]||o[6]){if(r%3&&!((r+s)%3)){c+=s;continue}if(d)break}if(a-=s,a>0)continue;s=Math.min(s,s+a+c);let g=[...o[0]][0].length,y=t.slice(0,r+o.index+g+s);if(Math.min(r,s)%2){let C=y.slice(1,-1);return{type:"em",raw:y,text:C,tokens:this.lexer.inlineTokens(C)}}let b=y.slice(2,-2);return{type:"strong",raw:y,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),o=this.rules.other.nonSpaceChar.test(n),r=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return o&&r&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t,e,n=""){let o=this.rules.inline.delLDelim.exec(t);if(o&&(!o[1]||!n||this.rules.inline.punctuation.exec(n))){let r=[...o[0]].length-1,i,s,a=r,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*t.length+r);(o=c.exec(e))!==null;){if(i=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!i||(s=[...i].length,s!==r))continue;if(o[3]||o[4]){a+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a);let l=[...o[0]][0].length,d=t.slice(0,r+o.index+l+s),f=d.slice(r,-r);return{type:"del",raw:d,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,o;return e[2]==="@"?(n=e[1],o="mailto:"+n):(n=e[1],o=n),{type:"link",raw:e[0],text:n,href:o,autolink:!0,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,o;if(e[2]==="@")n=e[0],o="mailto:"+n;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(r!==e[0]);n=e[0],e[1]==="www."?o="http://"+e[0]:o=e[0]}return{type:"link",raw:e[0],text:n,href:o,autolink:!0,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:n?e[0]:aP(e[0]),escaped:n}}}},vo=class th{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||xi,this.options.tokenizer=this.options.tokenizer||new Bd,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 n={other:un,block:Vd.normal,inline:Ua.normal};this.options.pedantic?(n.block=Vd.pedantic,n.inline=Ua.pedantic):this.options.gfm&&(n.block=Vd.gfm,this.options.breaks?n.inline=Ua.breaks:n.inline=Ua.gfm),this.tokenizer.rules=n}static get rules(){return{block:Vd,inline:Ua}}static lex(e,n){return new th(n).lex(e)}static lexInline(e,n){return new th(n).inlineTokens(e)}lex(e){e=e.replace(un.carriageReturn,`
52
54
  `),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let o=this.inlineQueue[n];this.inlineTokens(o.src,o.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],o=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(un.tabCharGlobal," ").replace(un.spaceLine,""));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(a=>(i=a.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let a=n.at(-1);i.raw.length===1&&a!==void 0?a.raw+=`
53
55
  `:n.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let a=n.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
54
56
  `)?"":`
@@ -62,7 +64,7 @@ ${he.join(`
62
64
  `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):n.push(i),o=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let a=n.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(`
63
65
  `)?"":`
64
66
  `)+i.raw,a.text+=`
65
- `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):n.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}linkInText(e){if(!e.includes("["))return!1;let n=this.tokenizer.rules.inline.link;for(let o of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(n.test(o[0])&&e.charAt(o.index-1)!=="!")return!0;for(let o of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let r=o[0],i=r.lastIndexOf("[");if(!(r.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,$d(r.slice(i+1,-1))))&&!(i>1&&this.linkInText(r.slice(1,i-1))))return!0}return!1}inlineTokens(e,n=[]){this.tokenizer.lexer=this;let o=e;if(this.tokens.links&&e.includes("[")){let a=this.tokenizer.rules.inline.reflinkSearch,c=l=>{let d=l.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,$d(l.slice(d+1,-1))))return l;if(d>1&&l.charAt(0)!=="!"){let u=l.slice(1,d-1);if(this.linkInText(u))return"["+u.replace(a,c)+"]["+"a".repeat(l.length-d-2)+"]"}return"["+"a".repeat(l.length-2)+"]"};o=o.replace(a,c)}o=o.replace(this.tokenizer.rules.inline.anyPunctuation,a=>"+".repeat(a.length)),o=o.replace(this.tokenizer.rules.inline.blockSkip,(a,c,l)=>{let d=l?l.length:0;return a.slice(0,d)+"["+"a".repeat(a.length-d-2)+"]"}),o=this.options.hooks?.emStrongMask?.call({lexer:this},o)??o;let r=!1,i="",s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=""),r=!1;let a;if(this.options.extensions?.inline?.some(l=>(a=l.call({lexer:this},e,n))?(e=e.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let l=n.at(-1);a.type==="text"&&l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(a=this.tokenizer.emStrong(e,o,i)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.del(e,o,i)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),n.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),n.push(a);continue}let c=e;if(this.options.extensions?.startInline){let l=1/0,d=e.slice(1),u;this.options.extensions.startInline.forEach(h=>{u=h.call({lexer:this},d),typeof u=="number"&&u>=0&&(l=Math.min(l,u))}),l<1/0&&l>=0&&(c=e.substring(0,l+1))}if(a=this.tokenizer.inlineText(c)){e=e.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(i=a.raw.slice(-1)),r=!0;let l=n.at(-1);l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return n}infiniteLoopError(e){let n="Infinite loop on byte: "+e;if(this.options.silent)console.error(n);else throw new Error(n)}},Bd=class{options;parser;constructor(t){this.options=t||xi}space(t){return""}code({text:t,lang:e,escaped:n}){let o=(e||"").match(un.notSpaceStart)?.[0],r=t?t.replace(un.endingNewline,"")+`
67
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):n.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}linkInText(e){if(!e.includes("["))return!1;let n=this.tokenizer.rules.inline.link;for(let o of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(n.test(o[0])&&e.charAt(o.index-1)!=="!")return!0;for(let o of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let r=o[0],i=r.lastIndexOf("[");if(!(r.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,Hd(r.slice(i+1,-1))))&&!(i>1&&this.linkInText(r.slice(1,i-1))))return!0}return!1}inlineTokens(e,n=[]){this.tokenizer.lexer=this;let o=e;if(this.tokens.links&&e.includes("[")){let a=this.tokenizer.rules.inline.reflinkSearch,c=l=>{let d=l.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,Hd(l.slice(d+1,-1))))return l;if(d>1&&l.charAt(0)!=="!"){let f=l.slice(1,d-1);if(this.linkInText(f))return"["+f.replace(a,c)+"]["+"a".repeat(l.length-d-2)+"]"}return"["+"a".repeat(l.length-2)+"]"};o=o.replace(a,c)}o=o.replace(this.tokenizer.rules.inline.anyPunctuation,a=>"+".repeat(a.length)),o=o.replace(this.tokenizer.rules.inline.blockSkip,(a,c,l)=>{let d=l?l.length:0;return a.slice(0,d)+"["+"a".repeat(a.length-d-2)+"]"}),o=this.options.hooks?.emStrongMask?.call({lexer:this},o)??o;let r=!1,i="",s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=""),r=!1;let a;if(this.options.extensions?.inline?.some(l=>(a=l.call({lexer:this},e,n))?(e=e.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let l=n.at(-1);a.type==="text"&&l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(a=this.tokenizer.emStrong(e,o,i)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.del(e,o,i)){e=e.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),n.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),n.push(a);continue}let c=e;if(this.options.extensions?.startInline){let l=1/0,d=e.slice(1),f;this.options.extensions.startInline.forEach(g=>{f=g.call({lexer:this},d),typeof f=="number"&&f>=0&&(l=Math.min(l,f))}),l<1/0&&l>=0&&(c=e.substring(0,l+1))}if(a=this.tokenizer.inlineText(c)){e=e.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(i=a.raw.slice(-1)),r=!0;let l=n.at(-1);l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return n}infiniteLoopError(e){let n="Infinite loop on byte: "+e;if(this.options.silent)console.error(n);else throw new Error(n)}},Ud=class{options;parser;constructor(t){this.options=t||xi}space(t){return""}code({text:t,lang:e,escaped:n}){let o=(e||"").match(un.notSpaceStart)?.[0],r=t?t.replace(un.endingNewline,"")+`
66
68
  `:"";return o?'<pre><code class="language-'+Bn(o)+'">'+(n?r:Bn(r,!0))+`</code></pre>
67
69
  `:"<pre><code>"+(n?r:Bn(r,!0))+`</code></pre>
68
70
  `}blockquote({tokens:t}){return`<blockquote>
@@ -80,9 +82,9 @@ ${this.parser.parse(t)}</blockquote>
80
82
  `}tablerow({text:t}){return`<tr>
81
83
  ${t}</tr>
82
84
  `}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
83
- `}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${Bn(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,text:n,tokens:o,autolink:r}){let i=r?Bn(n,!0):this.parser.parseInline(o),s=Ax(t);if(s===null)return i;t=Bn(s,r);let a='<a href="'+t+'"';return e&&(a+=' title="'+Bn(e)+'"'),a+=">"+i+"</a>",a}image({href:t,title:e,text:n,tokens:o}){o&&(n=this.parser.parseInline(o,this.parser.textRenderer));let r=Ax(t);if(r===null)return Bn(n);t=r;let i=`<img src="${Bn(t)}" alt="${Bn(n)}"`;return e&&(i+=` title="${Bn(e)}"`),i+=">",i}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:Bn(t.text)}},ch=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},_o=class eh{options;renderer;textRenderer;constructor(e){this.options=e||xi,this.options.renderer=this.options.renderer||new Bd,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ch}static parse(e,n){return new eh(n).parse(e)}static parseInline(e,n){return new eh(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let o=0;o<e.length;o++){let r=e[o];if(this.options.extensions?.renderers?.[r.type]){let s=r,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)){n+=a||"";continue}}let i=r;switch(i.type){case"space":{n+=this.renderer.space(i);break}case"hr":{n+=this.renderer.hr(i);break}case"heading":{n+=this.renderer.heading(i);break}case"code":{n+=this.renderer.code(i);break}case"table":{n+=this.renderer.table(i);break}case"blockquote":{n+=this.renderer.blockquote(i);break}case"list":{n+=this.renderer.list(i);break}case"checkbox":{n+=this.renderer.checkbox(i);break}case"html":{n+=this.renderer.html(i);break}case"def":{n+=this.renderer.def(i);break}case"paragraph":{n+=this.renderer.paragraph(i);break}case"text":{n+=this.renderer.text(i);break}default:{let s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}parseInline(e,n=this.renderer){this.renderer.parser=this;let o="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(i.type)){o+=a||"";continue}}let s=i;switch(s.type){case"escape":{o+=n.text(s);break}case"html":{o+=n.html(s);break}case"link":{o+=n.link(s);break}case"image":{o+=n.image(s);break}case"checkbox":{o+=n.checkbox(s);break}case"strong":{o+=n.strong(s);break}case"em":{o+=n.em(s);break}case"codespan":{o+=n.codespan(s);break}case"br":{o+=n.br(s);break}case"del":{o+=n.del(s);break}case"text":{o+=n.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 o}},za=class{options;block;constructor(t){this.options=t||xi}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?vo.lex:vo.lexInline}provideParser(t=this.block){return t?_o.parse:_o.parseInline}},Ud=class{defaults=th();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=_o;Renderer=Bd;TextRenderer=ch;Lexer=vo;Tokenizer=Hd;Hooks=za;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let o of t)switch(n=n.concat(e.call(this,o)),o.type){case"table":{let r=o;for(let i of r.header)n=n.concat(this.walkTokens(i.tokens,e));for(let i of r.rows)for(let s of i)n=n.concat(this.walkTokens(s.tokens,e));break}case"list":{let r=o;n=n.concat(this.walkTokens(r.items,e));break}default:{let r=o;this.defaults.extensions?.childTokens?.[r.type]?this.defaults.extensions.childTokens[r.type].forEach(i=>{let s=r[i].flat(1/0);n=n.concat(this.walkTokens(s,e))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let o=H({},n);if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let i=e.renderers[r.name];i?e.renderers[r.name]=function(...s){let a=r.renderer.apply(this,s);return a===!1&&(a=i.apply(this,s)),a}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[r.level];i?i.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),o.extensions=e),n.renderer){let r=this.defaults.renderer||new Bd(this.defaults);for(let i in n.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let s=i,a=n.renderer[s],c=r[s];r[s]=(...l)=>{let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d||""}}o.renderer=r}if(n.tokenizer){let r=this.defaults.tokenizer||new Hd(this.defaults);for(let i in n.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let s=i,a=n.tokenizer[s],c=r[s];r[s]=(...l)=>{let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d}}o.tokenizer=r}if(n.hooks){let r=this.defaults.hooks||new za;for(let i in n.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let s=i,a=n.hooks[s],c=r[s];za.passThroughHooks.has(i)?r[s]=l=>{if(this.defaults.async&&za.passThroughHooksRespectAsync.has(i))return(async()=>{let u=await a.call(r,l);return c.call(r,u)})();let d=a.call(r,l);return c.call(r,d)}:r[s]=(...l)=>{if(this.defaults.async)return(async()=>{let u=await a.apply(r,l);return u===!1&&(u=await c.apply(r,l)),u})();let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d}}o.hooks=r}if(n.walkTokens){let r=this.defaults.walkTokens,i=n.walkTokens;o.walkTokens=function(s){let a=[];return a.push(i.call(this,s)),r&&(a=a.concat(r.call(this,s))),a}}this.defaults=H(H({},this.defaults),o)}),this}setOptions(t){return this.defaults=H(H({},this.defaults),t),this}lexer(t,e){return vo.lex(t,e??this.defaults)}parser(t,e){return _o.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let o=H({},n),r=H(H({},this.defaults),o),i=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&o.async===!1)return i(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 i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=t),r.async)return(async()=>{let s=r.hooks?await r.hooks.preprocess(e):e,a=await(r.hooks?await r.hooks.provideLexer(t):t?vo.lex:vo.lexInline)(s,r),c=r.hooks?await r.hooks.processAllTokens(a):a;r.walkTokens&&await Promise.all(this.walkTokens(c,r.walkTokens));let l=await(r.hooks?await r.hooks.provideParser(t):t?_o.parse:_o.parseInline)(c,r);return r.hooks?await r.hooks.postprocess(l):l})().catch(i);try{r.hooks&&(e=r.hooks.preprocess(e));let s=(r.hooks?r.hooks.provideLexer(t):t?vo.lex:vo.lexInline)(e,r);r.hooks&&(s=r.hooks.processAllTokens(s)),r.walkTokens&&this.walkTokens(s,r.walkTokens);let a=(r.hooks?r.hooks.provideParser(t):t?_o.parse:_o.parseInline)(s,r);return r.hooks&&(a=r.hooks.postprocess(a)),a}catch(s){return i(s)}}}onError(t,e){return n=>{if(n.message+=`
84
- Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+Bn(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},bi=new Ud;function _t(t,e){return bi.parse(t,e)}_t.options=_t.setOptions=function(t){return bi.setOptions(t),_t.defaults=bi.defaults,$x(_t.defaults),_t};_t.getDefaults=th;_t.defaults=xi;function UO(...t){return bi.use(...t),_t.defaults=bi.defaults,$x(_t.defaults),_t}_t.use=UO;_t.walkTokens=function(t,e){return bi.walkTokens(t,e)};_t.parseInline=bi.parseInline;_t.Parser=_o;_t.parser=_o.parse;_t.Renderer=Bd;_t.TextRenderer=ch;_t.Lexer=vo;_t.lexer=vo.lex;_t.Tokenizer=Hd;_t.Hooks=za;_t.parse=_t;var uW=_t.options,pW=_t.setOptions,fW=_t.walkTokens,mW=_t.parseInline;var hW=_o.parse,gW=vo.lex;for(let[t,e]of Object.entries({bash:ax,css:cx,diff:lx,go:dx,javascript:hx,json:gx,markdown:yx,php:vx,python:_x,typescript:Mx,xml:Ix,yaml:kx}))Ld.registerLanguage(t,e);var zO={sh:"bash",shell:"bash",zsh:"bash",js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",html:"xml",svg:"xml",md:"markdown",yml:"yaml"};function Zx(){return{code({text:t,lang:e}){let n=(e??"").trim().toLowerCase(),o=zO[n]??n,i=o.length>0&&Ld.getLanguage(o)!==void 0?Ld.highlight(t,{language:o,ignoreIllegals:!0}).value:ZO(t);return`<div class="code"><div class="code-head"><span class="code-lang">${o.length>0?o:"text"}</span><button type="button" class="copy" data-copy>Copy</button></div><pre><code class="hljs">${i}</code></pre></div>`},link({href:t,title:e,tokens:n}){let o=this.parser.parseInline(n),r=t.replace(/"/g,"&quot;"),i=e?` title="${e.replace(/"/g,"&quot;")}"`:"";return`<a href="${r}"${i} target="_blank" rel="noreferrer noopener">${o}</a>`}}}var Kx=new Ud({gfm:!0,breaks:!1});Kx.use({renderer:Zx()});var Qx=new Ud({gfm:!0,breaks:!0});Qx.use({renderer:Zx()});var qO=new Map,GO=new Map,WO=200;function YO(t){return Vb.sanitize(t,{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 Xx(t,e,n){let o=t.get(n);if(o!==void 0)return o;let r=YO(e.parse(n,{async:!1}));if(t.size>=WO){let i=t.keys().next().value;i!==void 0&&t.delete(i)}return t.set(n,r),r}function Jx(t){return Xx(qO,Kx,t)}function eE(t){return Xx(GO,Qx,t)}function ZO(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var KO=90,zd=class t{text=ee.required();variant=ee("assistant");mention=ut();sanitizer=I(lm);painted=F(null);pending;timer;html=S(()=>{let e=this.painted()??this.text();return this.sanitizer.bypassSecurityTrustHtml(this.variant()==="user"?eE(e):Jx(e))});constructor(){me(()=>{let e=this.text(),n=fa(()=>this.painted());if(n===null){this.painted.set(e);return}n===e||this.pending===e||(this.pending=e,this.schedule())}),I(ht).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)},KO)}cancel(){clearTimeout(this.timer),this.timer=void 0}onClick(e){let n=e.target,o=n?.closest("[data-mention-path]")?.getAttribute("data-mention-path");if(o){this.mention.emit(o);return}let r=n?.closest("button[data-copy]");if(!(r instanceof HTMLButtonElement))return;let s=r.closest(".code")?.querySelector("code")?.textContent??"";navigator.clipboard?.writeText(s);let a=r.textContent;r.textContent="Copied",setTimeout(()=>{r.textContent=a??"Copy"},1200)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,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(n,o){n&1&&(b(0,"div",0),Z("click",function(i){return o.onClick(i)}),E()),n&2&&Ze("innerHTML",o.html(),Mf)},styles:["[_nghost-%COMP%]{display:block}"]})};var QO=["list"],XO=(t,e)=>e.key;function JO(t,e){t&1&&Le(0,"span",4)}function eP(t,e){if(t&1&&p(0),t&2){let n=y();be(" ",n.state()==="error"?"\u2717":"\u2713"," ")}}function tP(t,e){t&1&&(v(0,"span",5),Le(1,"i")(2,"i")(3,"i"),x())}function nP(t,e){t&1&&Le(0,"span",4)}function oP(t,e){t&1&&(v(0,"span",14),p(1,"\u2717"),x())}function rP(t,e){t&1&&(v(0,"span",15),p(1,"\u2713"),x())}function iP(t,e){if(t&1&&(v(0,"span",25),p(1),x()),t&2){let n=y();f(),be("+",n.added)}}function sP(t,e){if(t&1&&(v(0,"span",26),p(1),x()),t&2){let n=y();f(),be("\u2212",n.removed)}}function aP(t,e){if(t&1&&(v(0,"span",21),T(1,iP,2,1,"span",25),T(2,sP,2,1,"span",26),x()),t&2){let n=e;f(),M(n.added>0?1:-1),f(),M(n.removed>0?2:-1)}}function cP(t,e){t&1&&(v(0,"span",5),Le(1,"i")(2,"i")(3,"i"),x())}function lP(t,e){t&1&&(v(0,"span",23),p(1),x()),t&2&&(f(),A(e))}function dP(t,e){if(t&1&&(v(0,"span",27),p(1,"input"),x(),v(2,"pre"),p(3),x()),t&2){let n=y(3).$implicit;f(3),A(n.item.input)}}function uP(t,e){if(t&1&&(v(0,"span",27),p(1,"output"),x(),v(2,"pre"),p(3),x()),t&2){let n=y(3).$implicit;f(3),A(n.item.output)}}function pP(t,e){t&1&&(v(0,"span",27),p(1,"no details reported"),x())}function fP(t,e){if(t&1&&(v(0,"div",24),T(1,dP,4,1),T(2,uP,4,1),T(3,pP,2,0,"span",27),x()),t&2){let n=y(2).$implicit;Ne("data-body",n.key),f(),M(n.item.input?1:-1),f(),M(n.item.output?2:-1),f(),M(!n.item.input&&!n.item.output?3:-1)}}function mP(t,e){if(t&1){let n=z();v(0,"div",11)(1,"button",12),L("click",function(){k(n);let r=y().$implicit,i=y();return N(i.toggleStep(r.key))}),v(2,"span",13),T(3,nP,1,0,"span",4)(4,oP,2,0,"span",14)(5,rP,2,0,"span",15),x(),v(6,"span",16),p(7),x(),v(8,"span",17),p(9),x(),v(10,"span",18)(11,"span",19),p(12),x(),v(13,"span",20),p(14),x()(),T(15,aP,3,2,"span",21),Le(16,"span",22),T(17,cP,4,0,"span",5),T(18,lP,2,1,"span",23),v(19,"span",6),p(20,"\u203A"),x()(),T(21,fP,4,4,"div",24),x()}if(t&2){let n,o,r=y().$implicit,i=y();De("running",r.item.status==="running")("failed",r.item.status==="error"),f(),Ne("aria-expanded",i.isStepOpen(r.key)),f(),Qo(r.item.status),f(),M(r.item.status==="running"?3:r.item.status==="error"?4:5),f(3),Qo(i.glyphClass(r.item)),f(),A(i.glyph(r.item)),f(2),A(r.item.name),f(),K("title",r.item.title),f(2),A(i.target(r.item).dir),f(2),A(i.target(r.item).base),f(),M((n=i.diff(r.item))?15:-1,n),f(2),M(r.item.status==="running"?17:-1),f(),M((o=i.elapsed(r.item))?18:-1,o),f(),De("open",i.isStepOpen(r.key)),f(2),M(i.isStepOpen(r.key)?21:-1)}}function hP(t,e){if(t&1&&(v(0,"div",24)(1,"pre"),p(2),x()()),t&2){let n=y(2).$implicit;Ne("data-body",n.key),f(2),A(n.item.thinking)}}function gP(t,e){if(t&1){let n=z();v(0,"div",10)(1,"button",12),L("click",function(){k(n);let r=y().$implicit,i=y();return N(i.toggleStep(r.key))}),v(2,"span",13)(3,"span",28),p(4,"\u273B"),x()(),v(5,"span",29),p(6,"thinking"),x(),v(7,"span",30),p(8),x(),v(9,"span",6),p(10,"\u203A"),x()(),T(11,hP,3,2,"div",24),x()}if(t&2){let n=y().$implicit,o=y();f(),Ne("aria-expanded",o.isStepOpen(n.key)),f(7),A(o.preview(n.item.thinking)),f(),De("open",o.isStepOpen(n.key)),f(2),M(o.isStepOpen(n.key)?11:-1)}}function yP(t,e){if(t&1&&(v(0,"li",8),T(1,mP,22,21,"div",9)(2,gP,12,5,"div",10),x()),t&2){let n,o=e.$implicit,r=e.$index;K("morseEnter",r)("morseEnterY",6),f(),M((n=o.kind)==="tool"?1:n==="thinking"?2:-1)}}var Gd=class t{steps=ee.required();working=ee(!1);animation=I(hn);host=I(Zt);list=pt("list");openSteps=F({});override=F(null);tick=F(0);tools=S(()=>this.steps().filter(e=>e.kind==="tool"));thoughts=S(()=>this.steps().filter(e=>e.kind==="thinking").length);running=S(()=>this.tools().some(e=>e.item.status==="running"));failed=S(()=>this.tools().some(e=>e.item.status==="error"));autoOpen=S(()=>this.working()||this.running());isOpen=S(()=>this.override()??this.autoOpen());state=S(()=>this.running()?"running":this.failed()?"error":"ok");summary=S(()=>{let e=this.tools().length,n=this.thoughts(),o=e===1?"action":"actions",r=n>0?` \xB7 ${n} ${n===1?"thought":"thoughts"}`:"",i=this.totalMs();return this.running()?i>0?`Working for ${qd(i)} \xB7 ${e} ${o}${r}`:`Working\u2026 \xB7 ${e} ${o}${r}`:i>0?`Worked for ${qd(i)} \xB7 ${e} ${o}${r}`:`${e} ${o}${r}`});constructor(){me(n=>{if(!this.running())return;let o=setInterval(()=>this.tick.update(r=>r+1),500);n(()=>clearInterval(o))}),me(()=>{this.autoOpen(),this.override.set(null)});let e=!1;me(n=>{let o=this.isOpen(),r=e;e=!0;let i=setTimeout(()=>{this.animation.reveal(this.list()?.nativeElement??null,o,{animate:r})},0);n(()=>clearTimeout(i))})}toggle(){this.override.set(!this.isOpen())}toggleStep(e){let n=!this.isStepOpen(e);this.openSteps.update(o=>X(H({},o),{[e]:n})),setTimeout(()=>{let o=this.host.nativeElement.querySelector(`[data-body="${CSS.escape(e)}"]`);o&&this.animation.reveal(o,n,{animate:!0})},0)}isStepOpen(e){return this.openSteps()[e]===!0}preview(e){let n=e.replace(/\s+/g," ").trim();return n.length>160?`${n.slice(0,160)}\u2026`:n}elapsed(e){if(e.status==="running"){this.tick();let n=Date.now()-e.at;return n>0?qd(n):""}return e.durationMs===void 0?"":qd(e.durationMs)}target(e){let n=e.title.startsWith(`${e.name}: `)?e.title.slice(e.name.length+2):e.title,o=n.lastIndexOf("/");return o===-1?{dir:"",base:n}:{dir:n.slice(0,o+1),base:n.slice(o+1)}}diff(e){let n=`${e.title}
85
- ${e.output??""}`,o=/\+(\d+)\s*[-−](\d+)/.exec(n);if(o)return{added:Number(o[1]),removed:Number(o[2])};let r=/(\d+)\s+insertions?\(\+\)/.exec(n)?.[1],i=/(\d+)\s+deletions?\([-−]\)/.exec(n)?.[1];return r===void 0&&i===void 0?null:{added:Number(r??0),removed:Number(i??0)}}glyphClass(e){let n=e.name.toLowerCase();return n.includes("edit")||n.includes("write")||n.includes("patch")?"edit":n.includes("bash")||n.includes("shell")||n.includes("exec")?"shell":n.includes("search")||n.includes("grep")||n.includes("find")?"search":"read"}glyph(e){switch(this.glyphClass(e)){case"edit":return"\u270E";case"shell":return"\u276F";case"search":return"\u2315";default:return"\u2630"}}totalMs(){return this.tools().reduce((e,n)=>n.item.status==="running"?(this.tick(),e+Math.max(0,Date.now()-n.item.at)):e+(n.item.durationMs??0),0)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-tool-group"]],viewQuery:function(n,o){n&1&&Et(o.list,QO,5),n&2&&wt()},inputs:{steps:[1,"steps"],working:[1,"working"]},decls:14,vars:8,consts:[["list",""],[1,"group"],["type","button",1,"summary",3,"click"],[1,"state"],[1,"spinner"],[1,"dots"],[1,"chev"],[1,"rows"],[3,"morseEnter","morseEnterY"],[1,"card",3,"running","failed"],[1,"card","thought"],[1,"card"],["type","button",1,"head",3,"click"],[1,"status"],[1,"fail"],[1,"ok"],[1,"glyph"],[1,"chip"],[1,"args",3,"title"],[1,"dir"],[1,"base"],[1,"diff"],[1,"grow"],[1,"meta"],[1,"body"],[1,"add"],[1,"del"],[1,"label-small"],[1,"bulb"],[1,"chip","thought-chip"],[1,"preview"]],template:function(n,o){n&1&&(v(0,"div",1)(1,"button",2),L("click",function(){return o.toggle()}),v(2,"span",3),T(3,JO,1,0,"span",4)(4,eP,1,1),x(),v(5,"span"),p(6),x(),T(7,tP,4,0,"span",5),v(8,"span",6),p(9,"\u203A"),x()(),v(10,"ul",7,0),we(12,yP,3,3,"li",8,XO),x()()),n&2&&(f(),Ne("aria-expanded",o.isOpen()),f(),Qo(o.state()),f(),M(o.state()==="running"?3:4),f(3),A(o.summary()),f(),M(o.running()?7:-1),f(),De("open",o.isOpen()),f(4),Se(o.steps()))},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}.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 qd(t){if(t<1e3)return`${Math.max(1,Math.round(t))}ms`;let e=t/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}var vP=["track"],_P=["previewList"],rE=(t,e)=>e.id;function bP(t,e){if(t&1&&Ue(0,"span",10),t&2){let n=e.$implicit,o=e.$index,r=y(2);Do("top",o*r.tickPitch,"px")("width",r.tickWidth(o),"px"),De("active",n.id===r.activeId()),Ne("aria-selected",o===r.hovered())("aria-label",n.preview||"Prompt")}}function xP(t,e){if(t&1){let n=z();b(0,"button",14),Z("mouseenter",function(){let r=k(n).$index,i=y(3);return N(i.hovered.set(r))})("click",function(){let r=k(n).$index,i=y(3);return N(i.choose(r))}),b(1,"span",15),p(2),E()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(3);De("active",n.id===r.activeId())("hovered",o===r.hovered()),f(2),A(n.preview||"No text")}}function EP(t,e){if(t&1){let n=z();b(0,"div",11),Z("mouseenter",function(){k(n);let r=y(2);return N(r.onEnter())})("mouseleave",function(){k(n);let r=y(2);return N(r.onLeave())}),b(1,"div",12,1),we(3,xP,3,5,"button",13,rE),E()()}if(t&2){let n=y(2);f(3),Se(n.prompts())}}function CP(t,e){if(t&1){let n=z();b(0,"nav",3),Z("mouseenter",function(){k(n);let r=y();return N(r.onEnter())}),b(1,"button",4),Z("click",function(){k(n);let r=y();return N(r.stepWindow(-1))}),p(2," \u2303 "),E(),b(3,"div",5,0),Z("mousemove",function(r){k(n);let i=y();return N(i.onMove(r))})("mouseleave",function(){k(n);let r=y();return N(r.onLeave())})("click",function(r){k(n);let i=y();return N(i.onTrackClick(r))})("keydown",function(r){k(n);let i=y();return N(i.onKeydown(r))}),b(5,"div",6),we(6,bP,1,8,"span",7,rE),E()(),b(8,"button",8),Z("click",function(){k(n);let r=y();return N(r.stepWindow(1))}),p(9," \u2304 "),E(),T(10,EP,5,0,"div",9),E()}if(t&2){let n=y();f(),Ze("disabled",!n.hasMoreAbove()),f(2),Do("height",n.visibleCount()*n.tickPitch,"px")("mask-image",n.mask()),f(2),Do("transform","translateY(-"+n.clampedWindowStart()*n.tickPitch+"px)"),f(),Se(n.prompts()),f(2),Ze("disabled",!n.hasMoreBelow()),f(2),M(n.hovered()!==null?10:-1)}}var tE=12,nE=30,oE=18,wP=80,SP=10,TP=14,MP=20,IP=[1,.6,.35,.15],kP=160,Wd=class t{prompts=ee.required();activeId=ee(null);pick=ut();tickPitch=tE;hovered=F(null);windowStart=F(0);track=pt("track");previewList=pt("previewList");pointerY=null;direction=0;carouselTimer=null;hideTimer=null;visibleCount=S(()=>Math.min(this.prompts().length,nE));maxWindowStart=S(()=>Math.max(0,this.prompts().length-this.visibleCount()));clampedWindowStart=S(()=>Math.min(this.windowStart(),this.maxWindowStart()));hasMoreAbove=S(()=>this.clampedWindowStart()>0);hasMoreBelow=S(()=>this.clampedWindowStart()+this.visibleCount()<this.prompts().length);activeIndex=S(()=>{let e=this.activeId();return e===null?-1:this.prompts().findIndex(n=>n.id===e)});mask=S(()=>{let e=this.hasMoreAbove(),n=this.hasMoreBelow();return!e&&!n?void 0:`linear-gradient(to bottom, ${e?"transparent, black 14%":"black"}, ${n?"black 86%, transparent":"black"})`});constructor(){me(()=>{if(this.hovered()!==null)return;let e=this.prompts().length,n=Math.min(e,nE),o=Math.max(0,e-n),r=this.activeIndex()>=0?this.activeIndex():e-1;this.windowStart.set(Math.max(0,Math.min(o,r-Math.floor(n/2))))}),me(()=>{let e=this.hovered();this.previewList(),e!==null&&setTimeout(()=>this.revealRow(e),0)})}ngOnDestroy(){this.stopCarousel(),this.cancelHide()}tickWidth(e){let n=this.prompts()[e]?.id===this.activeId()?TP:SP,o=this.hovered();if(o===null)return n;let r=IP[Math.abs(e-o)]??0;return Math.round(n+(MP-n)*r)}onEnter(){this.cancelHide()}onMove(e){this.cancelHide(),this.pointerY=e.clientY;let n=this.indexFromPointer(e.clientY);n!==null&&this.hovered.set(n),this.updateCarousel(e.clientY)}onLeave(){this.pointerY=null,this.stopCarousel(),this.scheduleHide()}onTrackClick(e){let n=this.indexFromPointer(e.clientY);n!==null&&this.choose(n)}stepWindow(e){let n=Math.max(1,Math.floor(this.visibleCount()/2)),o=Math.max(0,Math.min(this.maxWindowStart(),this.clampedWindowStart()+e*n));this.windowStart.set(o)}choose(e){let n=this.prompts()[e];n&&(this.pick.emit(n.id),this.stopCarousel(),this.hovered.set(null))}onKeydown(e){let n=this.prompts().length;if(n===0)return;let o=this.hovered()??(this.activeIndex()>=0?this.activeIndex():n-1),r=i=>{let s=Math.max(0,Math.min(n-1,i));this.ensureWindowContains(s),this.hovered.set(s)};switch(e.key){case"ArrowUp":e.preventDefault(),r(o-1);return;case"ArrowDown":e.preventDefault(),r(o+1);return;case"Home":e.preventDefault(),r(0);return;case"End":e.preventDefault(),r(n-1);return;case"Enter":case" ":e.preventDefault(),this.choose(o);return;case"Escape":e.preventDefault(),this.hovered.set(null);return;default:return}}indexFromPointer(e){let n=this.track()?.nativeElement,o=this.visibleCount();if(!n||o===0)return null;let r=n.getBoundingClientRect(),i=Math.floor((e-r.top)/tE),s=Math.max(0,Math.min(o-1,i));return Math.min(this.prompts().length-1,this.clampedWindowStart()+s)}updateCarousel(e){let n=this.track()?.nativeElement;if(!n)return;let o=n.getBoundingClientRect(),r=e-o.top,i=0;if(r<=oE&&this.hasMoreAbove()?i=-1:r>=o.height-oE&&this.hasMoreBelow()&&(i=1),this.direction=i,i===0){this.stopCarousel();return}this.carouselTimer===null&&(this.carouselTimer=setInterval(()=>this.carouselStep(),wP))}carouselStep(){if(this.direction===0){this.stopCarousel();return}let e=this.clampedWindowStart(),n=Math.max(0,Math.min(this.maxWindowStart(),e+this.direction));if(n===e){this.stopCarousel();return}if(this.windowStart.set(n),this.pointerY!==null){let o=this.indexFromPointer(this.pointerY);o!==null&&this.hovered.set(o)}}stopCarousel(){this.direction=0,this.carouselTimer!==null&&(clearInterval(this.carouselTimer),this.carouselTimer=null)}ensureWindowContains(e){let n=this.visibleCount(),o=this.maxWindowStart(),r=Math.min(this.clampedWindowStart(),o);e<r?this.windowStart.set(e):e>=r+n&&this.windowStart.set(Math.min(o,e-n+1))}scheduleHide(){this.cancelHide(),this.hideTimer=setTimeout(()=>{this.hideTimer=null,this.hovered.set(null)},kP)}cancelHide(){this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}revealRow(e){let n=this.previewList()?.nativeElement,o=n?.children.item(e);if(!n||!o)return;let r=n.getBoundingClientRect(),i=o.getBoundingClientRect();i.top<r.top?n.scrollTop-=r.top-i.top:i.bottom>r.bottom&&(n.scrollTop+=i.bottom-r.bottom)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-prompt-rail"]],viewQuery:function(n,o){n&1&&Et(o.track,vP,5)(o.previewList,_P,5),n&2&&wt(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(n,o){n&1&&T(0,CP,11,9,"nav",2),n&2&&M(o.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 NP=["scroll"],DP=["inner"],OP=["heroMark"],iE=()=>[],PP=(t,e)=>e.key,AP=(t,e)=>e.path+(e.startLine??"");function RP(t,e){t&1&&(v(0,"span",11),p(1,"Loading older messages\u2026"),x())}function LP(t,e){if(t&1){let n=z();v(0,"button",13),L("click",function(){k(n);let r=y(2);return N(r.loadOlder())}),p(1," Load older messages "),x()}}function FP(t,e){if(t&1&&(v(0,"div",5),T(1,RP,2,0,"span",11)(2,LP,2,0,"button",12),x()),t&2){let n=y();f(),M(n.loadingOlderHistory()?1:2)}}function jP(t,e){t&1&&(v(0,"div",6)(1,"span"),p(2,"Start of conversation"),x()())}function VP(t,e){if(t&1&&(v(0,"span",31),p(1),x()),t&2){let n=y().$implicit;f(),Ln("L",n.startLine,"-",n.endLine)}}function $P(t,e){if(t&1&&(v(0,"li",27)(1,"span",29),p(2,"\u29C9"),x(),v(3,"span",30),p(4),x(),T(5,VP,2,2,"span",31),x()),t&2){let n=e.$implicit,o=y(4);K("title",n.path),f(4),A(o.basename(n.path)),f(),M(n.startLine!==void 0?5:-1)}}function HP(t,e){if(t&1){let n=z();v(0,"li",28)(1,"button",32),L("click",function(){let r=k(n),i=r.$implicit,s=r.$index,a=y(4);return N(a.openImage(i,s))}),Le(2,"img",33),x()()}if(t&2){let n=e.$implicit,o=e.$index,r=y(4);f(),K("title",r.imageName(n,o)),Ne("aria-label","View "+r.imageName(n,o)),f(),K("src",r.thumb(n),yo)("alt",r.imageName(n,o))}}function BP(t,e){if(t&1&&(v(0,"ul",19),we(1,$P,6,3,"li",27,AP),we(3,HP,3,4,"li",28,es),x()),t&2){let n=y(2).$implicit;f(),Se(n.item.pins??Rl(0,iE)),f(2),Se(n.item.images??Rl(1,iE))}}function UP(t,e){if(t&1){let n=z();v(0,"div",20)(1,"textarea",34),L("input",function(r){k(n);let i=y(3);return N(i.onEditInput(r))})("keydown",function(r){k(n);let i=y(2).$implicit,s=y();return N(s.onEditKeydown(r,i.item))}),x(),v(2,"div",35)(3,"span",36),p(4,"Enter sends \xB7 Shift+Enter for a new line"),x(),v(5,"button",37),L("click",function(){k(n);let r=y(3);return N(r.cancelEdit())}),p(6,"Cancel"),x(),v(7,"button",38),L("click",function(){k(n);let r=y(2).$implicit,i=y();return N(i.submitEdit(r.item))}),p(8," Send "),x()()()}if(t&2){let n=y(3);f(),K("value",n.editingText()),f(6),K("disabled",n.editingText().trim().length===0)}}function zP(t,e){if(t&1){let n=z();v(0,"div",21)(1,"morse-markdown",39),L("mention",function(r){k(n);let i=y(3);return N(i.openMention(r))}),x()()}if(t&2){let n=y(2).$implicit,o=y();f(),K("text",o.userMarkdown(n.item))}}function qP(t,e){if(t&1){let n=z();v(0,"button",40),L("click",function(){k(n);let r=y(2).$implicit,i=y();return N(i.startEdit(r.item))}),p(1," \u270E "),x()}}function GP(t,e){if(t&1){let n=z();v(0,"button",41),L("click",function(){k(n);let r=y(2).$implicit,i=y();return N(i.fork(r.item))}),Ut(),v(1,"svg",42),Le(2,"path",43),x()()}}function WP(t,e){if(t&1){let n=z();v(0,"div",14),T(1,BP,5,2,"ul",19),T(2,UP,9,2,"div",20)(3,zP,2,1,"div",21),v(4,"div",22)(5,"span",23),p(6),x(),T(7,qP,2,0,"button",24),T(8,GP,3,0,"button",25),v(9,"button",26),L("click",function(){k(n);let r=y().$implicit,i=y();return N(i.copy(r.item))}),p(10),x()()()}if(t&2){let n=y().$implicit,o=y();K("morseEnter",0),Ne("data-prompt-id",n.item.id),f(),M(o.pinsOf(n.item)!==void 0||n.item.images!==void 0?1:-1),f(),M(o.editingId()===n.item.id?2:3),f(4),A(o.stamp(n.item.at)),f(),M(o.canEdit()?7:-1),f(),M(o.canFork()?8:-1),f(),K("title",o.copiedId()===n.item.id?"Copied":"Copy message"),f(),be(" ",o.copiedId()===n.item.id?"\u2713":"\u29C9"," ")}}function YP(t,e){if(t&1){let n=z();Le(0,"morse-markdown",45),v(1,"div",46)(2,"button",26),L("click",function(){k(n);let r=y(2).$implicit,i=y();return N(i.copyAssistant(r.item))}),p(3),x()()}if(t&2){let n=y(2).$implicit,o=y();K("text",n.item.text),f(2),De("revealed",o.copiedId()===n.item.id),K("title",o.copiedId()===n.item.id?"Copied":"Copy response"),f(),be(" ",o.copiedId()===n.item.id?"\u2713 Copied":"\u29C9 Copy"," ")}}function ZP(t,e){t&1&&(v(0,"span",44),p(1,"\xA0"),x())}function KP(t,e){if(t&1&&(v(0,"div",15),T(1,YP,4,5)(2,ZP,2,0,"span",44),x()),t&2){let n=y().$implicit;K("morseEnter",0),f(),M(n.item.text?1:n.item.streaming?2:-1)}}function QP(t,e){if(t&1&&Le(0,"morse-tool-group",16),t&2){let n=y().$implicit,o=y();K("morseEnter",0)("steps",n.steps)("working",o.working()&&n.key===o.activeProcess())}}function XP(t,e){if(t&1&&(v(0,"div",47)(1,"pre"),p(2),x()()),t&2){let n=y().$implicit;Qo(n.item.level),K("morseEnter",0),f(2),A(n.item.text)}}function JP(t,e){if(t&1&&(v(0,"span",51),p(1),x()),t&2){let n=y(2).$implicit,o=y();f(),be("~",o.formatTokens(n.item.tokensBefore)," tokens folded")}}function eA(t,e){if(t&1&&(v(0,"div",52),Le(1,"morse-markdown",45),x()),t&2){let n=y(2).$implicit;K("morseEnter",0),f(),K("text",n.item.summary)}}function tA(t,e){if(t&1){let n=z();v(0,"div",18)(1,"button",48),L("click",function(){k(n);let r=y().$implicit,i=y();return N(i.toggleCompaction(r.key))}),Le(2,"span",49),v(3,"span",50),p(4,"\u26A1 Compacted"),x(),T(5,JP,2,1,"span",51),Le(6,"span",49),x(),T(7,eA,2,2,"div",52),x()}if(t&2){let n=y().$implicit,o=y();K("morseEnter",0),f(),K("title",n.item.summary?o.expandedCompaction()===n.key?"Hide the summary":"Show the summary":"Everything before this point was summarized into the running context"),f(4),M(n.item.tokensBefore?5:-1),f(2),M(o.expandedCompaction()===n.key&&n.item.summary?7:-1)}}function nA(t,e){if(t&1&&T(0,WP,11,9,"div",14)(1,KP,3,2,"div",15)(2,QP,1,3,"morse-tool-group",16)(3,XP,3,4,"div",17)(4,tA,8,4,"div",18),t&2){let n,o=e.$implicit;M((n=o.kind)==="user"?0:n==="assistant"?1:n==="process"?2:n==="notice"?3:n==="compaction"?4:-1)}}function oA(t,e){if(t&1&&(v(0,"span",59),p(1),x()),t&2){let n=e.$implicit;f(),A(n)}}function rA(t,e){t&1&&(p(0,", or select code and pin it with the "),v(1,"span",63),p(2,"\u29C9"),x(),p(3," button under the chat"))}function iA(t,e){if(t&1&&(v(0,"div",7)(1,"div",53),Le(2,"span",54),v(3,"span",55,2),Le(5,"span",56)(6,"span",56)(7,"span",57),x()(),v(8,"div",58),we(9,oA,2,1,"span",59,es),x(),v(11,"div",60),p(12,"the pi coding agent"),x(),v(13,"p",61),p(14," It runs the same pi coding agent you use in the terminal, with your models, tools, skills and sessions. "),x(),v(15,"p",62),p(16," Try "),v(17,"em"),p(18,"\u201Cexplain this repository\u201D"),x(),p(19," or "),v(20,"em"),p(21,"\u201Cwhy is this failing?\u201D"),x(),T(22,rA,4,0),p(23,". "),x()()),t&2){let n=y();f(9),Se(n.heroLetters),f(13),M(n.canPinSelection()?22:-1)}}function sA(t,e){if(t&1){let n=z();v(0,"button",64),L("click",function(){k(n);let r=y();return N(r.jumpToLatest())}),p(1,"\u2193 Latest"),x()}}function aA(t,e){if(t&1){let n=z();v(0,"div",65),L("click",function(){k(n);let r=y();return N(r.closeImage())}),v(1,"button",66),L("click",function(){k(n);let r=y();return N(r.closeImage())}),p(2," \xD7 "),x(),v(3,"figure",67),L("click",function(r){return r.stopPropagation()}),Le(4,"img",33),v(5,"figcaption"),p(6),x()()()}if(t&2){let n=e;f(4),K("src",n.src,yo)("alt",n.label),f(2),A(n.label)}}var cA={png:"png",jpeg:"jpg",jpg:"jpg",webp:"webp",gif:"gif","svg+xml":"svg",bmp:"bmp",avif:"avif"},sE=160;function lA(t){let e=t.replace(/\s+/g," ").trim();return e.length>sE?`${e.slice(0,sE)}\u2026`:e}var Yd=class t{morse=I(Ct);animation=I(hn);handoff=I(us);scrollHost=pt.required("scroll");inner=pt("inner");heroMark=pt("heroMark");heroLetters=["M","o","r","s","e"];canPinSelection=S(()=>this.morse.capabilities()?.editorContext===!0);copiedId=F(null);preview=F(null);editingId=F(null);editingText=F("");pinned=F(!0);working=S(()=>this.morse.state().streaming);rows=S(()=>yb(this.morse.items()));activeProcess=S(()=>vb(this.rows()));railPrompts=S(()=>this.rows().filter(e=>e.kind==="user").map(e=>({id:e.item.id,preview:lA(e.item.text)})));activePromptId=F(null);expandedCompaction=F(null);toggleCompaction(e){this.expandedCompaction.update(n=>n===e?null:e)}formatTokens(e){return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}).format(e)}hasOlderHistory=S(()=>this.morse.hasOlderHistory());loadingOlderHistory=S(()=>this.morse.loadingOlderHistory());activePending=!1;bottomDistance=0;anchorScroll=!1;previousFirstId;previousSessionId;previousLength=0;constructor(){me(e=>{let n=this.inner()?.nativeElement;if(!n||typeof ResizeObserver>"u")return;let o=new ResizeObserver(()=>{this.pinned()&&this.afterRender(()=>this.scrollToBottom())});o.observe(n),e(()=>o.disconnect())}),me(()=>{this.rows(),this.pinned()&&this.afterRender(()=>this.scrollToBottom())}),me(()=>{this.rows().at(-1)?.kind==="user"&&this.animation.pulse(this.inner()?.nativeElement??null)}),me(()=>{let e=this.rows().length===0;this.afterRender(()=>{let n=this.heroMark()?.nativeElement;if(!e||!n){this.handoff.aim(null);return}let o=n.getBoundingClientRect();this.handoff.aim({x:o.left+o.width/2,y:o.top+o.height/2,width:o.width,height:o.height})})}),me(()=>{this.railPrompts(),this.afterRender(()=>this.updateActivePrompt())}),me(()=>{let e=this.morse.state().sessionId,n=this.morse.items(),o=n[0]?.id,r=e===this.previousSessionId&&this.previousFirstId!==void 0&&o!==this.previousFirstId&&n.length>this.previousLength;this.previousSessionId=e,this.previousFirstId=o,this.previousLength=n.length,r&&this.afterRender(()=>this.restoreBottomDistance())})}afterRender(e){setTimeout(e,0)}onScroll(e){let n=e.target,o=n.scrollHeight-n.scrollTop-n.clientHeight;this.pinned.set(o<48),this.bottomDistance=o,this.anchorScroll=o>0,n.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,n=Math.max(0,e.scrollHeight-e.clientHeight),o=e.scrollHeight-e.clientHeight-this.bottomDistance;e.scrollTop=Math.max(0,Math.min(n,o))}updateActivePrompt(){this.activePending||(this.activePending=!0,this.afterRender(()=>{this.activePending=!1,this.computeActivePrompt()}))}computeActivePrompt(){let e=this.scrollHost().nativeElement,n=e.querySelectorAll("[data-prompt-id]");if(n.length===0){this.activePromptId.set(null);return}let o=e.getBoundingClientRect().top+100,r=n[0]?.dataset.promptId??null;for(let s of Array.from(n))if(s.getBoundingClientRect().top<=o)r=s.dataset.promptId??r;else break;e.scrollHeight-e.scrollTop-e.clientHeight<=Math.max(48,e.clientHeight*.1)&&(r=n[n.length-1]?.dataset.promptId??r),this.activePromptId.set(r)}scrollToPrompt(e){let n=this.scrollHost().nativeElement,o=n.querySelector(`[data-prompt-id="${e}"]`);if(!o)return;let r=o.getBoundingClientRect().top-n.getBoundingClientRect().top+n.scrollTop-12;this.pinned.set(!1),this.animation.isEnabled&&typeof n.scrollTo=="function"?n.scrollTo({top:r,behavior:"smooth"}):n.scrollTop=r,this.activePromptId.set(e)}jumpToLatest(){this.pinned.set(!0),this.scrollToBottom(!0)}scrollToBottom(e=!1){let n=this.scrollHost().nativeElement;e&&this.animation.isEnabled&&typeof n.scrollTo=="function"&&(typeof document>"u"||document.visibilityState==="visible")?n.scrollTo({top:n.scrollHeight,behavior:"smooth"}):n.scrollTop=n.scrollHeight}stamp(e){return e<=0?"":new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}userMarkdown(e){return _b(e.text)}pinsOf(e){return e.pins}basename(e){let n=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return n===-1?e:e.slice(n+1)}thumb(e){return`data:${e.mimeType};base64,${e.data}`}imageName(e,n){let o=e.mimeType.split("/")[1]?.toLowerCase()??"",r=cA[o]??(o.replace(/[^a-z0-9]/g,"")||"png");return n===0?`image.${r}`:`image-${n+1}.${r}`}openImage(e,n){this.preview.set({src:this.thumb(e),label:this.imageName(e,n)})}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 n=this.scrollHost().nativeElement.querySelector(".edit-input");n?.focus();let o=n?.value.length??0;n?.setSelectionRange(o,o)})}cancelEdit(){this.editingId.set(null),this.editingText.set("")}onEditInput(e){this.editingText.set(e.target.value)}onEditKeydown(e,n){if(e.key==="Enter"&&!e.shiftKey){e.preventDefault(),this.submitEdit(n);return}e.key==="Escape"&&(e.preventDefault(),this.cancelEdit())}submitEdit(e){let n=this.editingText().trim();n.length!==0&&(this.morse.editMessage(e.id,n),this.cancelEdit())}openMention(e){this.morse.capabilities()?.revealFile===!0&&this.morse.requestHostCommand("revealFile",{path:e}).catch(()=>{})}copyText(e){let n=e.pins??[];if(n.length===0)return e.text;let o=n.map(r=>`${r.path}${r.startLine!==void 0?`:${r.startLine}-${r.endLine??r.startLine}`:""}`).map(r=>`@${r}`).join(`
85
+ `}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${Bn(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,text:n,tokens:o,autolink:r}){let i=r?Bn(n,!0):this.parser.parseInline(o),s=$x(t);if(s===null)return i;t=Bn(s,r);let a='<a href="'+t+'"';return e&&(a+=' title="'+Bn(e)+'"'),a+=">"+i+"</a>",a}image({href:t,title:e,text:n,tokens:o}){o&&(n=this.parser.parseInline(o,this.parser.textRenderer));let r=$x(t);if(r===null)return Bn(n);t=r;let i=`<img src="${Bn(t)}" alt="${Bn(n)}"`;return e&&(i+=` title="${Bn(e)}"`),i+=">",i}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:Bn(t.text)}},dh=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},_o=class nh{options;renderer;textRenderer;constructor(e){this.options=e||xi,this.options.renderer=this.options.renderer||new Ud,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new dh}static parse(e,n){return new nh(n).parse(e)}static parseInline(e,n){return new nh(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let o=0;o<e.length;o++){let r=e[o];if(this.options.extensions?.renderers?.[r.type]){let s=r,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)){n+=a||"";continue}}let i=r;switch(i.type){case"space":{n+=this.renderer.space(i);break}case"hr":{n+=this.renderer.hr(i);break}case"heading":{n+=this.renderer.heading(i);break}case"code":{n+=this.renderer.code(i);break}case"table":{n+=this.renderer.table(i);break}case"blockquote":{n+=this.renderer.blockquote(i);break}case"list":{n+=this.renderer.list(i);break}case"checkbox":{n+=this.renderer.checkbox(i);break}case"html":{n+=this.renderer.html(i);break}case"def":{n+=this.renderer.def(i);break}case"paragraph":{n+=this.renderer.paragraph(i);break}case"text":{n+=this.renderer.text(i);break}default:{let s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}parseInline(e,n=this.renderer){this.renderer.parser=this;let o="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(i.type)){o+=a||"";continue}}let s=i;switch(s.type){case"escape":{o+=n.text(s);break}case"html":{o+=n.html(s);break}case"link":{o+=n.link(s);break}case"image":{o+=n.image(s);break}case"checkbox":{o+=n.checkbox(s);break}case"strong":{o+=n.strong(s);break}case"em":{o+=n.em(s);break}case"codespan":{o+=n.codespan(s);break}case"br":{o+=n.br(s);break}case"del":{o+=n.del(s);break}case"text":{o+=n.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 o}},za=class{options;block;constructor(t){this.options=t||xi}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?vo.lex:vo.lexInline}provideParser(t=this.block){return t?_o.parse:_o.parseInline}},zd=class{defaults=oh();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=_o;Renderer=Ud;TextRenderer=dh;Lexer=vo;Tokenizer=Bd;Hooks=za;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let o of t)switch(n=n.concat(e.call(this,o)),o.type){case"table":{let r=o;for(let i of r.header)n=n.concat(this.walkTokens(i.tokens,e));for(let i of r.rows)for(let s of i)n=n.concat(this.walkTokens(s.tokens,e));break}case"list":{let r=o;n=n.concat(this.walkTokens(r.items,e));break}default:{let r=o;this.defaults.extensions?.childTokens?.[r.type]?this.defaults.extensions.childTokens[r.type].forEach(i=>{let s=r[i].flat(1/0);n=n.concat(this.walkTokens(s,e))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let o=H({},n);if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let i=e.renderers[r.name];i?e.renderers[r.name]=function(...s){let a=r.renderer.apply(this,s);return a===!1&&(a=i.apply(this,s)),a}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[r.level];i?i.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),o.extensions=e),n.renderer){let r=this.defaults.renderer||new Ud(this.defaults);for(let i in n.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let s=i,a=n.renderer[s],c=r[s];r[s]=(...l)=>{let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d||""}}o.renderer=r}if(n.tokenizer){let r=this.defaults.tokenizer||new Bd(this.defaults);for(let i in n.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let s=i,a=n.tokenizer[s],c=r[s];r[s]=(...l)=>{let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d}}o.tokenizer=r}if(n.hooks){let r=this.defaults.hooks||new za;for(let i in n.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let s=i,a=n.hooks[s],c=r[s];za.passThroughHooks.has(i)?r[s]=l=>{if(this.defaults.async&&za.passThroughHooksRespectAsync.has(i))return(async()=>{let f=await a.call(r,l);return c.call(r,f)})();let d=a.call(r,l);return c.call(r,d)}:r[s]=(...l)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(r,l);return f===!1&&(f=await c.apply(r,l)),f})();let d=a.apply(r,l);return d===!1&&(d=c.apply(r,l)),d}}o.hooks=r}if(n.walkTokens){let r=this.defaults.walkTokens,i=n.walkTokens;o.walkTokens=function(s){let a=[];return a.push(i.call(this,s)),r&&(a=a.concat(r.call(this,s))),a}}this.defaults=H(H({},this.defaults),o)}),this}setOptions(t){return this.defaults=H(H({},this.defaults),t),this}lexer(t,e){return vo.lex(t,e??this.defaults)}parser(t,e){return _o.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let o=H({},n),r=H(H({},this.defaults),o),i=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&o.async===!1)return i(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 i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=t),r.async)return(async()=>{let s=r.hooks?await r.hooks.preprocess(e):e,a=await(r.hooks?await r.hooks.provideLexer(t):t?vo.lex:vo.lexInline)(s,r),c=r.hooks?await r.hooks.processAllTokens(a):a;r.walkTokens&&await Promise.all(this.walkTokens(c,r.walkTokens));let l=await(r.hooks?await r.hooks.provideParser(t):t?_o.parse:_o.parseInline)(c,r);return r.hooks?await r.hooks.postprocess(l):l})().catch(i);try{r.hooks&&(e=r.hooks.preprocess(e));let s=(r.hooks?r.hooks.provideLexer(t):t?vo.lex:vo.lexInline)(e,r);r.hooks&&(s=r.hooks.processAllTokens(s)),r.walkTokens&&this.walkTokens(s,r.walkTokens);let a=(r.hooks?r.hooks.provideParser(t):t?_o.parse:_o.parseInline)(s,r);return r.hooks&&(a=r.hooks.postprocess(a)),a}catch(s){return i(s)}}}onError(t,e){return n=>{if(n.message+=`
86
+ Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+Bn(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},bi=new zd;function xt(t,e){return bi.parse(t,e)}xt.options=xt.setOptions=function(t){return bi.setOptions(t),xt.defaults=bi.defaults,Gx(xt.defaults),xt};xt.getDefaults=oh;xt.defaults=xi;function dP(...t){return bi.use(...t),xt.defaults=bi.defaults,Gx(xt.defaults),xt}xt.use=dP;xt.walkTokens=function(t,e){return bi.walkTokens(t,e)};xt.parseInline=bi.parseInline;xt.Parser=_o;xt.parser=_o.parse;xt.Renderer=Ud;xt.TextRenderer=dh;xt.Lexer=vo;xt.lexer=vo.lex;xt.Tokenizer=Bd;xt.Hooks=za;xt.parse=xt;var zW=xt.options,qW=xt.setOptions,GW=xt.walkTokens,WW=xt.parseInline;var YW=_o.parse,ZW=vo.lex;for(let[t,e]of Object.entries({bash:fx,css:mx,diff:hx,go:gx,javascript:xx,json:Ex,markdown:Cx,php:wx,python:Sx,typescript:Px,xml:Ax,yaml:Rx}))Fd.registerLanguage(t,e);var uP={sh:"bash",shell:"bash",zsh:"bash",js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",html:"xml",svg:"xml",md:"markdown",yml:"yaml"};function tE(){return{code({text:t,lang:e}){let n=(e??"").trim().toLowerCase(),o=uP[n]??n,i=o.length>0&&Fd.getLanguage(o)!==void 0?Fd.highlight(t,{language:o,ignoreIllegals:!0}).value:gP(t);return`<div class="code"><div class="code-head"><span class="code-lang">${o.length>0?o:"text"}</span><button type="button" class="copy" data-copy>Copy</button></div><pre><code class="hljs">${i}</code></pre></div>`},link({href:t,title:e,tokens:n}){let o=this.parser.parseInline(n),r=t.replace(/"/g,"&quot;"),i=e?` title="${e.replace(/"/g,"&quot;")}"`:"";return`<a href="${r}"${i} target="_blank" rel="noreferrer noopener">${o}</a>`}}}var nE=new zd({gfm:!0,breaks:!1});nE.use({renderer:tE()});var oE=new zd({gfm:!0,breaks:!0});oE.use({renderer:tE()});var pP=new Map,fP=new Map,mP=200;function hP(t){return qb.sanitize(t,{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 rE(t,e,n){let o=t.get(n);if(o!==void 0)return o;let r=hP(e.parse(n,{async:!1}));if(t.size>=mP){let i=t.keys().next().value;i!==void 0&&t.delete(i)}return t.set(n,r),r}function iE(t){return rE(pP,nE,t)}function sE(t){return rE(fP,oE,t)}function gP(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var yP=90,qd=class t{text=ee.required();variant=ee("assistant");mention=rt();sanitizer=N(dm);painted=R(null);pending;timer;html=S(()=>{let e=this.painted()??this.text();return this.sanitizer.bypassSecurityTrustHtml(this.variant()==="user"?sE(e):iE(e))});constructor(){de(()=>{let e=this.text(),n=fa(()=>this.painted());if(n===null){this.painted.set(e);return}n===e||this.pending===e||(this.pending=e,this.schedule())}),N(ht).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)},yP)}cancel(){clearTimeout(this.timer),this.timer=void 0}onClick(e){let n=e.target,o=n?.closest("[data-mention-path]")?.getAttribute("data-mention-path");if(o){this.mention.emit(o);return}let r=n?.closest("button[data-copy]");if(!(r instanceof HTMLButtonElement))return;let s=r.closest(".code")?.querySelector("code")?.textContent??"";navigator.clipboard?.writeText(s);let a=r.textContent;r.textContent="Copied",setTimeout(()=>{r.textContent=a??"Copy"},1200)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,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(n,o){n&1&&(v(0,"div",0),q("click",function(i){return o.onClick(i)}),x()),n&2&&Fe("innerHTML",o.html(),If)},styles:["[_nghost-%COMP%]{display:block}"]})};var vP=["list"],_P=(t,e)=>e.key;function bP(t,e){t&1&&Le(0,"span",4)}function xP(t,e){if(t&1&&u(0),t&2){let n=h();me(" ",n.state()==="error"?"\u2717":"\u2713"," ")}}function EP(t,e){t&1&&(_(0,"span",5),Le(1,"i")(2,"i")(3,"i"),E())}function CP(t,e){t&1&&Le(0,"span",4)}function wP(t,e){t&1&&(_(0,"span",14),u(1,"\u2717"),E())}function SP(t,e){t&1&&(_(0,"span",15),u(1,"\u2713"),E())}function TP(t,e){if(t&1&&(_(0,"span",25),u(1),E()),t&2){let n=h();p(),me("+",n.added)}}function MP(t,e){if(t&1&&(_(0,"span",26),u(1),E()),t&2){let n=h();p(),me("\u2212",n.removed)}}function IP(t,e){if(t&1&&(_(0,"span",21),T(1,TP,2,1,"span",25),T(2,MP,2,1,"span",26),E()),t&2){let n=e;p(),M(n.added>0?1:-1),p(),M(n.removed>0?2:-1)}}function kP(t,e){t&1&&(_(0,"span",5),Le(1,"i")(2,"i")(3,"i"),E())}function NP(t,e){t&1&&(_(0,"span",23),u(1),E()),t&2&&(p(),P(e))}function DP(t,e){if(t&1&&(_(0,"span",27),u(1,"input"),E(),_(2,"pre"),u(3),E()),t&2){let n=h(3).$implicit;p(3),P(n.item.input)}}function OP(t,e){if(t&1&&(_(0,"span",27),u(1,"output"),E(),_(2,"pre"),u(3),E()),t&2){let n=h(3).$implicit;p(3),P(n.item.output)}}function PP(t,e){t&1&&(_(0,"span",27),u(1,"no details reported"),E())}function AP(t,e){if(t&1&&(_(0,"div",24),T(1,DP,4,1),T(2,OP,4,1),T(3,PP,2,0,"span",27),E()),t&2){let n=h(2).$implicit;we("data-body",n.key),p(),M(n.item.input?1:-1),p(),M(n.item.output?2:-1),p(),M(!n.item.input&&!n.item.output?3:-1)}}function RP(t,e){if(t&1){let n=z();_(0,"div",11)(1,"button",12),L("click",function(){I(n);let r=h().$implicit,i=h();return k(i.toggleStep(r.key))}),_(2,"span",13),T(3,CP,1,0,"span",4)(4,wP,2,0,"span",14)(5,SP,2,0,"span",15),E(),_(6,"span",16),u(7),E(),_(8,"span",17),u(9),E(),_(10,"span",18)(11,"span",19),u(12),E(),_(13,"span",20),u(14),E()(),T(15,IP,3,2,"span",21),Le(16,"span",22),T(17,kP,4,0,"span",5),T(18,NP,2,1,"span",23),_(19,"span",6),u(20,"\u203A"),E()(),T(21,AP,4,4,"div",24),E()}if(t&2){let n,o,r=h().$implicit,i=h();De("running",r.item.status==="running")("failed",r.item.status==="error"),p(),we("aria-expanded",i.isStepOpen(r.key)),p(),Qo(r.item.status),p(),M(r.item.status==="running"?3:r.item.status==="error"?4:5),p(3),Qo(i.glyphClass(r.item)),p(),P(i.glyph(r.item)),p(2),P(r.item.name),p(),K("title",r.item.title),p(2),P(i.target(r.item).dir),p(2),P(i.target(r.item).base),p(),M((n=i.diff(r.item))?15:-1,n),p(2),M(r.item.status==="running"?17:-1),p(),M((o=i.elapsed(r.item))?18:-1,o),p(),De("open",i.isStepOpen(r.key)),p(2),M(i.isStepOpen(r.key)?21:-1)}}function LP(t,e){if(t&1&&(_(0,"div",24)(1,"pre"),u(2),E()()),t&2){let n=h(2).$implicit;we("data-body",n.key),p(2),P(n.item.thinking)}}function FP(t,e){if(t&1){let n=z();_(0,"div",10)(1,"button",12),L("click",function(){I(n);let r=h().$implicit,i=h();return k(i.toggleStep(r.key))}),_(2,"span",13)(3,"span",28),u(4,"\u273B"),E()(),_(5,"span",29),u(6,"thinking"),E(),_(7,"span",30),u(8),E(),_(9,"span",6),u(10,"\u203A"),E()(),T(11,LP,3,2,"div",24),E()}if(t&2){let n=h().$implicit,o=h();p(),we("aria-expanded",o.isStepOpen(n.key)),p(7),P(o.preview(n.item.thinking)),p(),De("open",o.isStepOpen(n.key)),p(2),M(o.isStepOpen(n.key)?11:-1)}}function jP(t,e){if(t&1&&(_(0,"li",8),T(1,RP,22,21,"div",9)(2,FP,12,5,"div",10),E()),t&2){let n,o=e.$implicit,r=e.$index;K("morseEnter",r)("morseEnterY",6),p(),M((n=o.kind)==="tool"?1:n==="thinking"?2:-1)}}var Wd=class t{steps=ee.required();working=ee(!1);animation=N(hn);host=N(Zt);list=at("list");openSteps=R({});override=R(null);tick=R(0);tools=S(()=>this.steps().filter(e=>e.kind==="tool"));thoughts=S(()=>this.steps().filter(e=>e.kind==="thinking").length);running=S(()=>this.tools().some(e=>e.item.status==="running"));failed=S(()=>this.tools().some(e=>e.item.status==="error"));autoOpen=S(()=>this.working()||this.running());isOpen=S(()=>this.override()??this.autoOpen());state=S(()=>this.running()?"running":this.failed()?"error":"ok");summary=S(()=>{let e=this.tools().length,n=this.thoughts(),o=e===1?"action":"actions",r=n>0?` \xB7 ${n} ${n===1?"thought":"thoughts"}`:"",i=this.totalMs();return this.running()?i>0?`Working for ${Gd(i)} \xB7 ${e} ${o}${r}`:`Working\u2026 \xB7 ${e} ${o}${r}`:i>0?`Worked for ${Gd(i)} \xB7 ${e} ${o}${r}`:`${e} ${o}${r}`});constructor(){de(n=>{if(!this.running())return;let o=setInterval(()=>this.tick.update(r=>r+1),500);n(()=>clearInterval(o))}),de(()=>{this.autoOpen(),this.override.set(null)});let e=!1;de(n=>{let o=this.isOpen(),r=e;e=!0;let i=setTimeout(()=>{this.animation.reveal(this.list()?.nativeElement??null,o,{animate:r})},0);n(()=>clearTimeout(i))})}toggle(){this.override.set(!this.isOpen())}toggleStep(e){let n=!this.isStepOpen(e);this.openSteps.update(o=>Q(H({},o),{[e]:n})),setTimeout(()=>{let o=this.host.nativeElement.querySelector(`[data-body="${CSS.escape(e)}"]`);o&&this.animation.reveal(o,n,{animate:!0})},0)}isStepOpen(e){return this.openSteps()[e]===!0}preview(e){let n=e.replace(/\s+/g," ").trim();return n.length>160?`${n.slice(0,160)}\u2026`:n}elapsed(e){if(e.status==="running"){this.tick();let n=Date.now()-e.at;return n>0?Gd(n):""}return e.durationMs===void 0?"":Gd(e.durationMs)}target(e){let n=e.title.startsWith(`${e.name}: `)?e.title.slice(e.name.length+2):e.title,o=n.lastIndexOf("/");return o===-1?{dir:"",base:n}:{dir:n.slice(0,o+1),base:n.slice(o+1)}}diff(e){let n=`${e.title}
87
+ ${e.output??""}`,o=/\+(\d+)\s*[-−](\d+)/.exec(n);if(o)return{added:Number(o[1]),removed:Number(o[2])};let r=/(\d+)\s+insertions?\(\+\)/.exec(n)?.[1],i=/(\d+)\s+deletions?\([-−]\)/.exec(n)?.[1];return r===void 0&&i===void 0?null:{added:Number(r??0),removed:Number(i??0)}}glyphClass(e){let n=e.name.toLowerCase();return n.includes("edit")||n.includes("write")||n.includes("patch")?"edit":n.includes("bash")||n.includes("shell")||n.includes("exec")?"shell":n.includes("search")||n.includes("grep")||n.includes("find")?"search":"read"}glyph(e){switch(this.glyphClass(e)){case"edit":return"\u270E";case"shell":return"\u276F";case"search":return"\u2315";default:return"\u2630"}}totalMs(){return this.tools().reduce((e,n)=>n.item.status==="running"?(this.tick(),e+Math.max(0,Date.now()-n.item.at)):e+(n.item.durationMs??0),0)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-tool-group"]],viewQuery:function(n,o){n&1&&vt(o.list,vP,5),n&2&&bt()},inputs:{steps:[1,"steps"],working:[1,"working"]},decls:14,vars:8,consts:[["list",""],[1,"group"],["type","button",1,"summary",3,"click"],[1,"state"],[1,"spinner"],[1,"dots"],[1,"chev"],[1,"rows"],[3,"morseEnter","morseEnterY"],[1,"card",3,"running","failed"],[1,"card","thought"],[1,"card"],["type","button",1,"head",3,"click"],[1,"status"],[1,"fail"],[1,"ok"],[1,"glyph"],[1,"chip"],[1,"args",3,"title"],[1,"dir"],[1,"base"],[1,"diff"],[1,"grow"],[1,"meta"],[1,"body"],[1,"add"],[1,"del"],[1,"label-small"],[1,"bulb"],[1,"chip","thought-chip"],[1,"preview"]],template:function(n,o){n&1&&(_(0,"div",1)(1,"button",2),L("click",function(){return o.toggle()}),_(2,"span",3),T(3,bP,1,0,"span",4)(4,xP,1,1),E(),_(5,"span"),u(6),E(),T(7,EP,4,0,"span",5),_(8,"span",6),u(9,"\u203A"),E()(),_(10,"ul",7,0),xe(12,jP,3,3,"li",8,_P),E()()),n&2&&(p(),we("aria-expanded",o.isOpen()),p(),Qo(o.state()),p(),M(o.state()==="running"?3:4),p(3),P(o.summary()),p(),M(o.running()?7:-1),p(),De("open",o.isOpen()),p(4),Ee(o.steps()))},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}.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 Gd(t){if(t<1e3)return`${Math.max(1,Math.round(t))}ms`;let e=t/1e3;return e<60?`${e<10?e.toFixed(1):Math.round(e)}s`:`${Math.floor(e/60)}m ${Math.round(e%60)}s`}var VP=["track"],$P=["previewList"],dE=(t,e)=>e.id;function HP(t,e){if(t&1&&ze(0,"span",10),t&2){let n=e.$implicit,o=e.$index,r=h(2);Do("top",o*r.tickPitch,"px")("width",r.tickWidth(o),"px"),De("active",n.id===r.activeId()),we("aria-selected",o===r.hovered())("aria-label",n.preview||"Prompt")}}function BP(t,e){if(t&1){let n=z();v(0,"button",14),q("mouseenter",function(){let r=I(n).$index,i=h(3);return k(i.hovered.set(r))})("click",function(){let r=I(n).$index,i=h(3);return k(i.choose(r))}),v(1,"span",15),u(2),x()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(3);De("active",n.id===r.activeId())("hovered",o===r.hovered()),p(2),P(n.preview||"No text")}}function UP(t,e){if(t&1){let n=z();v(0,"div",11),q("mouseenter",function(){I(n);let r=h(2);return k(r.onEnter())})("mouseleave",function(){I(n);let r=h(2);return k(r.onLeave())}),v(1,"div",12,1),xe(3,BP,3,5,"button",13,dE),x()()}if(t&2){let n=h(2);p(3),Ee(n.prompts())}}function zP(t,e){if(t&1){let n=z();v(0,"nav",3),q("mouseenter",function(){I(n);let r=h();return k(r.onEnter())}),v(1,"button",4),q("click",function(){I(n);let r=h();return k(r.stepWindow(-1))}),u(2," \u2303 "),x(),v(3,"div",5,0),q("mousemove",function(r){I(n);let i=h();return k(i.onMove(r))})("mouseleave",function(){I(n);let r=h();return k(r.onLeave())})("click",function(r){I(n);let i=h();return k(i.onTrackClick(r))})("keydown",function(r){I(n);let i=h();return k(i.onKeydown(r))}),v(5,"div",6),xe(6,HP,1,8,"span",7,dE),x()(),v(8,"button",8),q("click",function(){I(n);let r=h();return k(r.stepWindow(1))}),u(9," \u2304 "),x(),T(10,UP,5,0,"div",9),x()}if(t&2){let n=h();p(),Fe("disabled",!n.hasMoreAbove()),p(2),Do("height",n.visibleCount()*n.tickPitch,"px")("mask-image",n.mask()),p(2),Do("transform","translateY(-"+n.clampedWindowStart()*n.tickPitch+"px)"),p(),Ee(n.prompts()),p(2),Fe("disabled",!n.hasMoreBelow()),p(2),M(n.hovered()!==null?10:-1)}}var aE=12,cE=30,lE=18,qP=80,GP=10,WP=14,YP=20,ZP=[1,.6,.35,.15],KP=160,Yd=class t{prompts=ee.required();activeId=ee(null);pick=rt();tickPitch=aE;hovered=R(null);windowStart=R(0);track=at("track");previewList=at("previewList");pointerY=null;direction=0;carouselTimer=null;hideTimer=null;visibleCount=S(()=>Math.min(this.prompts().length,cE));maxWindowStart=S(()=>Math.max(0,this.prompts().length-this.visibleCount()));clampedWindowStart=S(()=>Math.min(this.windowStart(),this.maxWindowStart()));hasMoreAbove=S(()=>this.clampedWindowStart()>0);hasMoreBelow=S(()=>this.clampedWindowStart()+this.visibleCount()<this.prompts().length);activeIndex=S(()=>{let e=this.activeId();return e===null?-1:this.prompts().findIndex(n=>n.id===e)});mask=S(()=>{let e=this.hasMoreAbove(),n=this.hasMoreBelow();return!e&&!n?void 0:`linear-gradient(to bottom, ${e?"transparent, black 14%":"black"}, ${n?"black 86%, transparent":"black"})`});constructor(){de(()=>{if(this.hovered()!==null)return;let e=this.prompts().length,n=Math.min(e,cE),o=Math.max(0,e-n),r=this.activeIndex()>=0?this.activeIndex():e-1;this.windowStart.set(Math.max(0,Math.min(o,r-Math.floor(n/2))))}),de(()=>{let e=this.hovered();this.previewList(),e!==null&&setTimeout(()=>this.revealRow(e),0)})}ngOnDestroy(){this.stopCarousel(),this.cancelHide()}tickWidth(e){let n=this.prompts()[e]?.id===this.activeId()?WP:GP,o=this.hovered();if(o===null)return n;let r=ZP[Math.abs(e-o)]??0;return Math.round(n+(YP-n)*r)}onEnter(){this.cancelHide()}onMove(e){this.cancelHide(),this.pointerY=e.clientY;let n=this.indexFromPointer(e.clientY);n!==null&&this.hovered.set(n),this.updateCarousel(e.clientY)}onLeave(){this.pointerY=null,this.stopCarousel(),this.scheduleHide()}onTrackClick(e){let n=this.indexFromPointer(e.clientY);n!==null&&this.choose(n)}stepWindow(e){let n=Math.max(1,Math.floor(this.visibleCount()/2)),o=Math.max(0,Math.min(this.maxWindowStart(),this.clampedWindowStart()+e*n));this.windowStart.set(o)}choose(e){let n=this.prompts()[e];n&&(this.pick.emit(n.id),this.stopCarousel(),this.hovered.set(null))}onKeydown(e){let n=this.prompts().length;if(n===0)return;let o=this.hovered()??(this.activeIndex()>=0?this.activeIndex():n-1),r=i=>{let s=Math.max(0,Math.min(n-1,i));this.ensureWindowContains(s),this.hovered.set(s)};switch(e.key){case"ArrowUp":e.preventDefault(),r(o-1);return;case"ArrowDown":e.preventDefault(),r(o+1);return;case"Home":e.preventDefault(),r(0);return;case"End":e.preventDefault(),r(n-1);return;case"Enter":case" ":e.preventDefault(),this.choose(o);return;case"Escape":e.preventDefault(),this.hovered.set(null);return;default:return}}indexFromPointer(e){let n=this.track()?.nativeElement,o=this.visibleCount();if(!n||o===0)return null;let r=n.getBoundingClientRect(),i=Math.floor((e-r.top)/aE),s=Math.max(0,Math.min(o-1,i));return Math.min(this.prompts().length-1,this.clampedWindowStart()+s)}updateCarousel(e){let n=this.track()?.nativeElement;if(!n)return;let o=n.getBoundingClientRect(),r=e-o.top,i=0;if(r<=lE&&this.hasMoreAbove()?i=-1:r>=o.height-lE&&this.hasMoreBelow()&&(i=1),this.direction=i,i===0){this.stopCarousel();return}this.carouselTimer===null&&(this.carouselTimer=setInterval(()=>this.carouselStep(),qP))}carouselStep(){if(this.direction===0){this.stopCarousel();return}let e=this.clampedWindowStart(),n=Math.max(0,Math.min(this.maxWindowStart(),e+this.direction));if(n===e){this.stopCarousel();return}if(this.windowStart.set(n),this.pointerY!==null){let o=this.indexFromPointer(this.pointerY);o!==null&&this.hovered.set(o)}}stopCarousel(){this.direction=0,this.carouselTimer!==null&&(clearInterval(this.carouselTimer),this.carouselTimer=null)}ensureWindowContains(e){let n=this.visibleCount(),o=this.maxWindowStart(),r=Math.min(this.clampedWindowStart(),o);e<r?this.windowStart.set(e):e>=r+n&&this.windowStart.set(Math.min(o,e-n+1))}scheduleHide(){this.cancelHide(),this.hideTimer=setTimeout(()=>{this.hideTimer=null,this.hovered.set(null)},KP)}cancelHide(){this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null)}revealRow(e){let n=this.previewList()?.nativeElement,o=n?.children.item(e);if(!n||!o)return;let r=n.getBoundingClientRect(),i=o.getBoundingClientRect();i.top<r.top?n.scrollTop-=r.top-i.top:i.bottom>r.bottom&&(n.scrollTop+=i.bottom-r.bottom)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-prompt-rail"]],viewQuery:function(n,o){n&1&&vt(o.track,VP,5)(o.previewList,$P,5),n&2&&bt(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(n,o){n&1&&T(0,zP,11,9,"nav",2),n&2&&M(o.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 QP=["scroll"],XP=["inner"],JP=["heroMark"],uE=()=>[],eA=(t,e)=>e.key,tA=(t,e)=>e.path+(e.startLine??"");function nA(t,e){t&1&&(_(0,"span",11),u(1,"Loading older messages\u2026"),E())}function oA(t,e){if(t&1){let n=z();_(0,"button",13),L("click",function(){I(n);let r=h(2);return k(r.loadOlder())}),u(1," Load older messages "),E()}}function rA(t,e){if(t&1&&(_(0,"div",5),T(1,nA,2,0,"span",11)(2,oA,2,0,"button",12),E()),t&2){let n=h();p(),M(n.loadingOlderHistory()?1:2)}}function iA(t,e){t&1&&(_(0,"div",6)(1,"span"),u(2,"Start of conversation"),E()())}function sA(t,e){if(t&1&&(_(0,"span",31),u(1),E()),t&2){let n=h().$implicit;p(),Ln("L",n.startLine,"-",n.endLine)}}function aA(t,e){if(t&1&&(_(0,"li",27)(1,"span",29),u(2,"\u29C9"),E(),_(3,"span",30),u(4),E(),T(5,sA,2,2,"span",31),E()),t&2){let n=e.$implicit,o=h(4);K("title",n.path),p(4),P(o.basename(n.path)),p(),M(n.startLine!==void 0?5:-1)}}function cA(t,e){if(t&1){let n=z();_(0,"li",28)(1,"button",32),L("click",function(){let r=I(n),i=r.$implicit,s=r.$index,a=h(4);return k(a.openImage(i,s))}),Le(2,"img",33),E()()}if(t&2){let n=e.$implicit,o=e.$index,r=h(4);p(),K("title",r.imageName(n,o)),we("aria-label","View "+r.imageName(n,o)),p(),K("src",r.thumb(n),yo)("alt",r.imageName(n,o))}}function lA(t,e){if(t&1&&(_(0,"ul",19),xe(1,aA,6,3,"li",27,tA),xe(3,cA,3,4,"li",28,es),E()),t&2){let n=h(2).$implicit;p(),Ee(n.item.pins??Rl(0,uE)),p(2),Ee(n.item.images??Rl(1,uE))}}function dA(t,e){if(t&1){let n=z();_(0,"div",20)(1,"textarea",34),L("input",function(r){I(n);let i=h(3);return k(i.onEditInput(r))})("keydown",function(r){I(n);let i=h(2).$implicit,s=h();return k(s.onEditKeydown(r,i.item))}),E(),_(2,"div",35)(3,"span",36),u(4,"Enter sends \xB7 Shift+Enter for a new line"),E(),_(5,"button",37),L("click",function(){I(n);let r=h(3);return k(r.cancelEdit())}),u(6,"Cancel"),E(),_(7,"button",38),L("click",function(){I(n);let r=h(2).$implicit,i=h();return k(i.submitEdit(r.item))}),u(8," Send "),E()()()}if(t&2){let n=h(3);p(),K("value",n.editingText()),p(6),K("disabled",n.editingText().trim().length===0)}}function uA(t,e){if(t&1){let n=z();_(0,"div",21)(1,"morse-markdown",39),L("mention",function(r){I(n);let i=h(3);return k(i.openMention(r))}),E()()}if(t&2){let n=h(2).$implicit,o=h();p(),K("text",o.userMarkdown(n.item))}}function pA(t,e){if(t&1){let n=z();_(0,"button",40),L("click",function(){I(n);let r=h(2).$implicit,i=h();return k(i.startEdit(r.item))}),u(1," \u270E "),E()}}function fA(t,e){if(t&1){let n=z();_(0,"button",41),L("click",function(){I(n);let r=h(2).$implicit,i=h();return k(i.fork(r.item))}),Ut(),_(1,"svg",42),Le(2,"path",43),E()()}}function mA(t,e){if(t&1){let n=z();_(0,"div",14),T(1,lA,5,2,"ul",19),T(2,dA,9,2,"div",20)(3,uA,2,1,"div",21),_(4,"div",22)(5,"span",23),u(6),E(),T(7,pA,2,0,"button",24),T(8,fA,3,0,"button",25),_(9,"button",26),L("click",function(){I(n);let r=h().$implicit,i=h();return k(i.copy(r.item))}),u(10),E()()()}if(t&2){let n=h().$implicit,o=h();K("morseEnter",0),we("data-prompt-id",n.item.id),p(),M(o.pinsOf(n.item)!==void 0||n.item.images!==void 0?1:-1),p(),M(o.editingId()===n.item.id?2:3),p(4),P(o.stamp(n.item.at)),p(),M(o.canEdit()?7:-1),p(),M(o.canFork()?8:-1),p(),K("title",o.copiedId()===n.item.id?"Copied":"Copy message"),p(),me(" ",o.copiedId()===n.item.id?"\u2713":"\u29C9"," ")}}function hA(t,e){if(t&1){let n=z();Le(0,"morse-markdown",45),_(1,"div",46)(2,"button",26),L("click",function(){I(n);let r=h(2).$implicit,i=h();return k(i.copyAssistant(r.item))}),u(3),E()()}if(t&2){let n=h(2).$implicit,o=h();K("text",n.item.text),p(2),De("revealed",o.copiedId()===n.item.id),K("title",o.copiedId()===n.item.id?"Copied":"Copy response"),p(),me(" ",o.copiedId()===n.item.id?"\u2713 Copied":"\u29C9 Copy"," ")}}function gA(t,e){t&1&&(_(0,"span",44),u(1,"\xA0"),E())}function yA(t,e){if(t&1&&(_(0,"div",15),T(1,hA,4,5)(2,gA,2,0,"span",44),E()),t&2){let n=h().$implicit;K("morseEnter",0),p(),M(n.item.text?1:n.item.streaming?2:-1)}}function vA(t,e){if(t&1&&Le(0,"morse-tool-group",16),t&2){let n=h().$implicit,o=h();K("morseEnter",0)("steps",n.steps)("working",o.working()&&n.key===o.activeProcess())}}function _A(t,e){if(t&1&&(_(0,"div",47)(1,"pre"),u(2),E()()),t&2){let n=h().$implicit;Qo(n.item.level),K("morseEnter",0),p(2),P(n.item.text)}}function bA(t,e){if(t&1&&(_(0,"span",51),u(1),E()),t&2){let n=h(2).$implicit,o=h();p(),me("~",o.formatTokens(n.item.tokensBefore)," tokens folded")}}function xA(t,e){if(t&1&&(_(0,"div",52),Le(1,"morse-markdown",45),E()),t&2){let n=h(2).$implicit;K("morseEnter",0),p(),K("text",n.item.summary)}}function EA(t,e){if(t&1){let n=z();_(0,"div",18)(1,"button",48),L("click",function(){I(n);let r=h().$implicit,i=h();return k(i.toggleCompaction(r.key))}),Le(2,"span",49),_(3,"span",50),u(4,"\u26A1 Compacted"),E(),T(5,bA,2,1,"span",51),Le(6,"span",49),E(),T(7,xA,2,2,"div",52),E()}if(t&2){let n=h().$implicit,o=h();K("morseEnter",0),p(),K("title",n.item.summary?o.expandedCompaction()===n.key?"Hide the summary":"Show the summary":"Everything before this point was summarized into the running context"),p(4),M(n.item.tokensBefore?5:-1),p(2),M(o.expandedCompaction()===n.key&&n.item.summary?7:-1)}}function CA(t,e){if(t&1&&T(0,mA,11,9,"div",14)(1,yA,3,2,"div",15)(2,vA,1,3,"morse-tool-group",16)(3,_A,3,4,"div",17)(4,EA,8,4,"div",18),t&2){let n,o=e.$implicit;M((n=o.kind)==="user"?0:n==="assistant"?1:n==="process"?2:n==="notice"?3:n==="compaction"?4:-1)}}function wA(t,e){if(t&1&&(_(0,"span",59),u(1),E()),t&2){let n=e.$implicit;p(),P(n)}}function SA(t,e){t&1&&(u(0,", or select code and pin it with the "),_(1,"span",63),u(2,"\u29C9"),E(),u(3," button under the chat"))}function TA(t,e){if(t&1&&(_(0,"div",7)(1,"div",53),Le(2,"span",54),_(3,"span",55,2),Le(5,"span",56)(6,"span",56)(7,"span",57),E()(),_(8,"div",58),xe(9,wA,2,1,"span",59,es),E(),_(11,"div",60),u(12,"the pi coding agent"),E(),_(13,"p",61),u(14," It runs the same pi coding agent you use in the terminal, with your models, tools, skills and sessions. "),E(),_(15,"p",62),u(16," Try "),_(17,"em"),u(18,"\u201Cexplain this repository\u201D"),E(),u(19," or "),_(20,"em"),u(21,"\u201Cwhy is this failing?\u201D"),E(),T(22,SA,4,0),u(23,". "),E()()),t&2){let n=h();p(9),Ee(n.heroLetters),p(13),M(n.canPinSelection()?22:-1)}}function MA(t,e){if(t&1){let n=z();_(0,"button",64),L("click",function(){I(n);let r=h();return k(r.jumpToLatest())}),u(1,"\u2193 Latest"),E()}}function IA(t,e){if(t&1){let n=z();_(0,"div",65),L("click",function(){I(n);let r=h();return k(r.closeImage())}),_(1,"button",66),L("click",function(){I(n);let r=h();return k(r.closeImage())}),u(2," \xD7 "),E(),_(3,"figure",67),L("click",function(r){return r.stopPropagation()}),Le(4,"img",33),_(5,"figcaption"),u(6),E()()()}if(t&2){let n=e;p(4),K("src",n.src,yo)("alt",n.label),p(2),P(n.label)}}var kA={png:"png",jpeg:"jpg",jpg:"jpg",webp:"webp",gif:"gif","svg+xml":"svg",bmp:"bmp",avif:"avif"},pE=160;function NA(t){let e=t.replace(/\s+/g," ").trim();return e.length>pE?`${e.slice(0,pE)}\u2026`:e}var Zd=class t{morse=N(wt);animation=N(hn);handoff=N(us);scrollHost=at.required("scroll");inner=at("inner");heroMark=at("heroMark");heroLetters=["M","o","r","s","e"];canPinSelection=S(()=>this.morse.capabilities()?.editorContext===!0);copiedId=R(null);preview=R(null);editingId=R(null);editingText=R("");pinned=R(!0);working=S(()=>this.morse.state().streaming);rows=S(()=>Cb(this.morse.items()));activeProcess=S(()=>wb(this.rows()));railPrompts=S(()=>this.rows().filter(e=>e.kind==="user").map(e=>({id:e.item.id,preview:NA(e.item.text)})));activePromptId=R(null);expandedCompaction=R(null);toggleCompaction(e){this.expandedCompaction.update(n=>n===e?null:e)}formatTokens(e){return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}).format(e)}hasOlderHistory=S(()=>this.morse.hasOlderHistory());loadingOlderHistory=S(()=>this.morse.loadingOlderHistory());activePending=!1;bottomDistance=0;anchorScroll=!1;previousFirstId;previousSessionId;previousLength=0;constructor(){de(e=>{let n=this.inner()?.nativeElement;if(!n||typeof ResizeObserver>"u")return;let o=new ResizeObserver(()=>{this.pinned()&&this.afterRender(()=>this.scrollToBottom())});o.observe(n),e(()=>o.disconnect())}),de(()=>{this.rows(),this.pinned()&&this.afterRender(()=>this.scrollToBottom())}),de(()=>{this.rows().at(-1)?.kind==="user"&&this.animation.pulse(this.inner()?.nativeElement??null)}),de(()=>{let e=this.rows().length===0;this.afterRender(()=>{let n=this.heroMark()?.nativeElement;if(!e||!n){this.handoff.aim(null);return}let o=n.getBoundingClientRect();this.handoff.aim({x:o.left+o.width/2,y:o.top+o.height/2,width:o.width,height:o.height})})}),de(()=>{this.railPrompts(),this.afterRender(()=>this.updateActivePrompt())}),de(()=>{let e=this.morse.state().sessionId,n=this.morse.items(),o=n[0]?.id,r=e===this.previousSessionId&&this.previousFirstId!==void 0&&o!==this.previousFirstId&&n.length>this.previousLength;this.previousSessionId=e,this.previousFirstId=o,this.previousLength=n.length,r&&this.afterRender(()=>this.restoreBottomDistance())})}afterRender(e){setTimeout(e,0)}onScroll(e){let n=e.target,o=n.scrollHeight-n.scrollTop-n.clientHeight;this.pinned.set(o<48),this.bottomDistance=o,this.anchorScroll=o>0,n.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,n=Math.max(0,e.scrollHeight-e.clientHeight),o=e.scrollHeight-e.clientHeight-this.bottomDistance;e.scrollTop=Math.max(0,Math.min(n,o))}updateActivePrompt(){this.activePending||(this.activePending=!0,this.afterRender(()=>{this.activePending=!1,this.computeActivePrompt()}))}computeActivePrompt(){let e=this.scrollHost().nativeElement,n=e.querySelectorAll("[data-prompt-id]");if(n.length===0){this.activePromptId.set(null);return}let o=e.getBoundingClientRect().top+100,r=n[0]?.dataset.promptId??null;for(let s of Array.from(n))if(s.getBoundingClientRect().top<=o)r=s.dataset.promptId??r;else break;e.scrollHeight-e.scrollTop-e.clientHeight<=Math.max(48,e.clientHeight*.1)&&(r=n[n.length-1]?.dataset.promptId??r),this.activePromptId.set(r)}scrollToPrompt(e){let n=this.scrollHost().nativeElement,o=n.querySelector(`[data-prompt-id="${e}"]`);if(!o)return;let r=o.getBoundingClientRect().top-n.getBoundingClientRect().top+n.scrollTop-12;this.pinned.set(!1),this.animation.isEnabled&&typeof n.scrollTo=="function"?n.scrollTo({top:r,behavior:"smooth"}):n.scrollTop=r,this.activePromptId.set(e)}jumpToLatest(){this.pinned.set(!0),this.scrollToBottom(!0)}scrollToBottom(e=!1){let n=this.scrollHost().nativeElement;e&&this.animation.isEnabled&&typeof n.scrollTo=="function"&&(typeof document>"u"||document.visibilityState==="visible")?n.scrollTo({top:n.scrollHeight,behavior:"smooth"}):n.scrollTop=n.scrollHeight}stamp(e){return e<=0?"":new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}userMarkdown(e){return Sb(e.text)}pinsOf(e){return e.pins}basename(e){let n=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"));return n===-1?e:e.slice(n+1)}thumb(e){return`data:${e.mimeType};base64,${e.data}`}imageName(e,n){let o=e.mimeType.split("/")[1]?.toLowerCase()??"",r=kA[o]??(o.replace(/[^a-z0-9]/g,"")||"png");return n===0?`image.${r}`:`image-${n+1}.${r}`}openImage(e,n){this.preview.set({src:this.thumb(e),label:this.imageName(e,n)})}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 n=this.scrollHost().nativeElement.querySelector(".edit-input");n?.focus();let o=n?.value.length??0;n?.setSelectionRange(o,o)})}cancelEdit(){this.editingId.set(null),this.editingText.set("")}onEditInput(e){this.editingText.set(e.target.value)}onEditKeydown(e,n){if(e.key==="Enter"&&!e.shiftKey){e.preventDefault(),this.submitEdit(n);return}e.key==="Escape"&&(e.preventDefault(),this.cancelEdit())}submitEdit(e){let n=this.editingText().trim();n.length!==0&&(this.morse.editMessage(e.id,n),this.cancelEdit())}openMention(e){this.morse.capabilities()?.revealFile===!0&&this.morse.requestHostCommand("revealFile",{path:e}).catch(()=>{})}copyText(e){let n=e.pins??[];if(n.length===0)return e.text;let o=n.map(r=>`${r.path}${r.startLine!==void 0?`:${r.startLine}-${r.endLine??r.startLine}`:""}`).map(r=>`@${r}`).join(`
86
88
  `);return e.text.trim().length>0?`${e.text}
87
89
 
88
- ${o}`:o}copy(e){this.copyRaw(e.id,this.copyText(e))}copyAssistant(e){this.copyRaw(e.id,e.text)}copyRaw(e,n){navigator.clipboard?.writeText(n),this.copiedId.set(e),setTimeout(()=>{this.copiedId()===e&&this.copiedId.set(null)},1200)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-chat-transcript"]],viewQuery:function(n,o){n&1&&Et(o.scrollHost,NP,5)(o.inner,DP,5)(o.heroMark,OP,5),n&2&&wt(3)},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){if(n&1&&(v(0,"div",3,0),L("scroll",function(i){return o.onScroll(i)}),v(2,"div",4,1),T(4,FP,3,1,"div",5)(5,jP,3,0,"div",6),we(6,nA,5,1,null,null,PP,!1,iA,24,1,"div",7),x()(),v(9,"morse-prompt-rail",8),L("pick",function(i){return o.scrollToPrompt(i)}),x(),T(10,sA,2,0,"button",9),T(11,aA,7,3,"div",10)),n&2){let r;f(2),De("blank",o.rows().length===0),f(2),M(o.hasOlderHistory()||o.loadingOlderHistory()?4:o.rows().length>0?5:-1),f(2),Se(o.rows()),f(3),K("prompts",o.railPrompts())("activeId",o.activePromptId()),f(),M(!o.pinned()&&o.rows().length>0?10:-1),f(),M((r=o.preview())?11:-1,r)}},dependencies:[zd,Gd,sn,Wd],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 dA=(t,e)=>e.value;function uA(t,e){t&1&&(b(0,"p",1),p(1),E()),t&2&&(f(),A(e))}function pA(t,e){if(t&1){let n=z();b(0,"button",4),Z("click",function(){let r=k(n).$implicit,i=y(3);return N(i.choose(r.value))}),p(1),E()}if(t&2){let n=e.$implicit;f(),be(" ",n.label," ")}}function fA(t,e){if(t&1&&(T(0,uA,2,1,"p",1),b(1,"div",2),we(2,pA,2,1,"button",3,dA),E()),t&2){let n,o=y(),r=y();M((n=r.messageOf(o))?0:-1,n),f(2),Se(r.optionsOf(o))}}function mA(t,e){if(t&1){let n=z();b(0,"p"),p(1),E(),b(2,"div",2)(3,"button",5),Z("click",function(){k(n);let r=y(2);return N(r.decide(!0))}),p(4,"Yes"),E(),b(5,"button",4),Z("click",function(){k(n);let r=y(2);return N(r.decide(!1))}),p(6,"No"),E()()}if(t&2){let n=y(),o=y();f(),A(o.messageOf(n))}}function hA(t,e){if(t&1){let n=z();b(0,"input",6),Z("input",function(r){k(n);let i=y(2);return N(i.onInput(r))}),E(),b(1,"div",2)(2,"button",5),Z("click",function(){k(n);let r=y(2);return N(r.submit())}),p(3,"Submit"),E(),b(4,"button",4),Z("click",function(){k(n);let r=y(2);return N(r.cancel())}),p(5,"Cancel"),E()()}if(t&2){let n=y(),o=y();Ze("value",o.value()||o.prefillOf(n))("placeholder",o.placeholderOf(n))}}function gA(t,e){if(t&1){let n=z();b(0,"textarea",7),Z("input",function(r){k(n);let i=y(2);return N(i.onInput(r))}),E(),b(1,"div",2)(2,"button",5),Z("click",function(){k(n);let r=y(2);return N(r.submit())}),p(3,"Submit"),E(),b(4,"button",4),Z("click",function(){k(n);let r=y(2);return N(r.cancel())}),p(5,"Cancel"),E()()}if(t&2){let n=y(),o=y();Ze("value",o.value()||o.prefillOf(n))}}function yA(t,e){if(t&1&&(b(0,"section",0)(1,"header"),p(2),E(),T(3,fA,4,1)(4,mA,7,1)(5,hA,6,2)(6,gA,6,1),E()),t&2){let n,o=e;f(2),A(o.title),f(),M((n=o.kind)==="select"?3:n==="confirm"?4:n==="input"?5:n==="editor"?6:-1)}}var Zd=class t{morse=I(Ct);request=this.morse.pendingInteraction;value=F("");visible=S(()=>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 n=this.request();n&&this.morse.respond(H({requestId:n.requestId},e))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,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(n,o){if(n&1&&T(0,yA,7,2,"section",0),n&2){let r;M((r=o.visible()&&o.request())?0:-1,r)}},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 xs=520,aE=70,Kd=class t{animation=I(hn);async play(e,n){let o=this.resolveTarget();if(!this.animation.isEnabled||!n||!o||e.length===0||typeof document>"u")return;let r=xs+(e.length-1)*aE;e.forEach((i,s)=>{this.launch(i,n,o,s*aE)}),await vA(r)}resolveTarget(){let e=document.querySelector("morse-chat-composer .box");if(!e)return;let n=e.getBoundingClientRect();return{x:n.left+26,y:n.top+18}}launch(e,n,o,r){let i=this.createGhost(e,n);document.body.appendChild(i);let s=Math.min(n.y,o.y)-Math.max(60,Math.abs(n.y-o.y)*.35);on(i,{translateX:[n.x,o.x],translateY:[{to:n.y,duration:xs*.18},{to:s,duration:xs*.42},{to:o.y,duration:xs*.4}],rotate:[0,-8,6,0],scale:[1,1.04,.86,.42],opacity:[1,1,.9,0],duration:xs,delay:r,ease:"inOut(2)",onComplete:()=>i.remove()}),setTimeout(()=>i.remove(),r+xs+400)}createGhost(e,n){let o=document.createElement("div");if(o.className="drop-ghost",e.thumbnail){let i=document.createElement("img");i.src=e.thumbnail,i.alt="",o.appendChild(i)}else{let i=document.createElement("span");i.className="drop-ghost-glyph",i.textContent="\u25A4",o.appendChild(i)}let r=document.createElement("span");return r.className="drop-ghost-name",r.textContent=e.name,o.appendChild(r),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function vA(t){return new Promise(e=>setTimeout(e,t))}var Qd=class t{attachments=I(Er);flight=I(Kd);uploads=I(ms);depth=F(0);internalDrag=!1;constructor(){if(typeof document>"u")return;let e=()=>{this.internalDrag=!0},n=()=>{this.internalDrag=!1};document.addEventListener("dragstart",e,!0),document.addEventListener("dragend",n,!0),document.addEventListener("drop",n,!0)}active=S(()=>this.depth()>0);carriesFiles(e){if(this.internalDrag)return!1;let n=e.dataTransfer?.types;return n!==void 0&&n.length>0}onDragEnter(e){this.carriesFiles(e)&&(e.preventDefault(),this.depth.update(n=>n+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,n){if(this.depth.set(0),!this.carriesFiles(e))return;e.preventDefault();let o=e.dataTransfer;if(!o)return;let r=Array.from(o.files??[]),{images:i}=await this.attachments.read(r.filter(C=>C.type.startsWith("image/"))),s=xA(o),a=r.filter(C=>!C.type.startsWith("image/")),c=this.uploads.available()&&a.length>0?this.uploads.upload(a):Promise.resolve({added:[],failed:a.map(C=>C.name)}),l=[...s.paths.map(C=>cE(C,n)),...s.names,...a.map(C=>C.name)],d=e.clientX>0||e.clientY>0?{x:e.clientX,y:e.clientY}:_A();await this.flight.play([...i.map(C=>({name:C.name,thumbnail:`data:${C.mimeType};base64,${C.data}`})),...l.map(C=>({name:C}))],d);let u=await c,h=[...s.paths.map(C=>cE(C,n)),...s.names,...u.added.map(C=>C.path),...u.failed];this.attachments.add(i),this.attachments.addMentions(h);let g=[];if(i.length>0&&g.push(`${i.length} image${i.length===1?"":"s"} attached`),h.length>0&&g.push(`${h.length} file${h.length===1?"":"s"} added to the prompt`),g.length>0){this.attachments.say("info",g.join(" \xB7 "));return}let _=Array.from(o.types??[]).join(", ")||"none";this.attachments.say("warn",`That drop carried no file (types: ${_}).`)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function _A(){let t=document.querySelector("main.chat");if(!t)return{x:0,y:0};let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height*.35}}var bA=["application/vnd.code.uri-list","ResourceURLs","text/uri-list"];function xA(t){let e=[];for(let r of[...bA,"text/plain"])for(let i of EA(t.getData(r)))e.push(i);let n=[],o=[];for(let r of e){if(r.startsWith("file://")){let s=TA(r);s&&n.push(s);continue}if(/^[a-z]+:\/\//i.test(r))continue;if(SA(r)){n.push(r);continue}let i=wA(r);i&&o.push(i)}return{paths:Array.from(new Set(n)),names:Array.from(new Set(o))}}function EA(t){let e=t.trim();if(e.length===0)return[];if(e.startsWith("["))try{let n=JSON.parse(e);if(Array.isArray(n))return n.map(o=>{if(typeof o=="string")return o;let r=o,i=r.fsPath??r.uri??r.path;return typeof i=="string"?i:""}).filter(o=>o.length>0)}catch{}return CA(e)}function CA(t){return t.split(/\r?\n/).flatMap(e=>e.split(/(?<=\S)\s+(?=[/\\]|[A-Za-z]:[\\/])/)).map(e=>e.trim()).filter(e=>e.length>0&&!e.startsWith("#"))}function wA(t){let e=t.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 SA(t){return!!(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))}function TA(t){try{let e=new URL(t);return decodeURIComponent(e.pathname)}catch{return}}function cE(t,e){if(!e)return t;let n=e.endsWith("/")?e:`${e}/`;return t.startsWith(n)?t.slice(n.length):t}var MA="https://registry.npmjs.org/@supanadit/morse-web/latest";function IA(t){return`https://github.com/supanadit/morse/releases/tag/v${t}`}var kA=new Be("morse.update.loader",{providedIn:"root",factory:()=>{let t=globalThis.fetch;if(t===void 0)return;let e=t.bind(globalThis);return async n=>(await e(n,{headers:{accept:"application/json"}})).json()}});function NA(t){let e=t;return typeof e?.version=="string"?e.version:void 0}function DA(t,e){let n=dE(t),o=dE(e);if(n===void 0||o===void 0)return!1;for(let r=0;r<n.numbers.length;r+=1)if(n.numbers[r]!==o.numbers[r])return n.numbers[r]>o.numbers[r];return n.prerelease===o.prerelease?!1:n.prerelease===void 0?!0:o.prerelease===void 0?!1:n.prerelease>o.prerelease}function OA(t,e){return t==="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 lE(){if(typeof location>"u")return;let t=new URL(location.href,"http://localhost/").searchParams.get("newer");return t!==null&&t.length>0?t:void 0}function dE(t){let e=/^(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?(?:\+[\w.-]+)?$/.exec(t.trim());if(e!==null)return{numbers:[Number(e[1]),Number(e[2]),Number(e[3])],prerelease:e[4]}}var Es=class t{morse=I(Ct);loader=I(kA);notice=F(void 0);started=!1;available=this.notice.asReadonly();constructor(){me(()=>{let e=this.morse.capabilities();this.started||lE()===void 0&&e?.updateCheck!==!0||(this.started=!0,this.check(this.morse.version(),e?.hostKind??"server"))})}async check(e,n,o=this.loader){try{let r=lE()??(o===void 0?void 0:NA(await o(MA)));if(r===void 0||!DA(r,e))return;this.notice.set({current:e,latest:r,hint:OA(n,r),url:IA(r)})}catch{}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var PA=["search"],AA=["list"],RA=(t,e)=>e.path||"all";function LA(t,e){if(t&1&&(b(0,"span",17),p(1),E()),t&2){let n=y().$implicit;f(),A(n.path)}}function FA(t,e){t&1&&(b(0,"span",19),p(1,"\u2713"),E())}function jA(t,e){if(t&1){let n=z();b(0,"button",15),Z("mouseenter",function(){let r=k(n).$index,i=y();return N(i.active.set(r))})("click",function(){let r=k(n).$implicit,i=y();return N(i.pick(r))}),b(1,"span",16),p(2),E(),T(3,LA,2,1,"span",17),b(4,"span",18),p(5),E(),T(6,FA,2,0,"span",19),E()}if(t&2){let n=e.$implicit,o=y();De("all",n.all)("active",n.path===o.rows()[o.active()].path)("selected",n.path===o.selected()),Ze("title",n.path||"Every project pi knows about"),Ne("aria-selected",n.path===o.selected()),f(2),A(n.name),f(),M(n.all?-1:3),f(2),A(n.sessionCount),f(),M(n.path===o.selected()?6:-1)}}var VA="All projects";function $A(t,e,n){let o={path:"",name:VA,sessionCount:n,all:!0},r=e.trim().toLowerCase(),i=t.filter(s=>r.length===0||`${s.name} ${s.path}`.toLowerCase().includes(r)).map(s=>X(H({},s),{all:!1}));return[o,...i]}var Xd=class t{projects=ee.required();selected=ee("");totalSessions=ee(0);select=ut();close=ut();search=pt("search");list=pt("list");query=F("");active=F(0);rows=S(()=>$A(this.projects(),this.query(),this.totalSessions()));constructor(){si(()=>this.search()?.nativeElement.focus()),me(()=>{if(this.query().trim().length>0)return;let e=this.rows().findIndex(n=>n.path===this.selected());e>=0&&this.active.set(e)}),me(()=>{this.active(),this.rows(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.querySelectorAll(".row")[this.active()];if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}onQuery(e){this.query.set(e.target.value),this.active.set(0)}pick(e){this.select.emit(e.path)}onKeydown(e){let n=this.rows();switch(e.key){case"Escape":e.preventDefault(),this.close.emit();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.pick(o));return}default:return}}onEscape(){this.close.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-project-filter"]],viewQuery:function(n,o){n&1&&Et(o.search,PA,5)(o.list,AA,5),n&2&&wt(2)},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){n&1&&(b(0,"div",2),Z("click",function(){return o.close.emit()}),b(1,"div",3),Z("click",function(i){return i.stopPropagation()}),b(2,"div",4)(3,"strong",5),p(4,"Filter by project"),E(),b(5,"button",6),Z("click",function(){return o.close.emit()}),p(6,"\xD7"),E()(),b(7,"div",7)(8,"span",8),Ut(),b(9,"svg",9),Ue(10,"circle",10)(11,"path",11),E()(),Sn(),b(12,"input",12,0),Z("input",function(i){return o.onQuery(i)})("keydown",function(i){return o.onKeydown(i)}),E()(),b(14,"div",13,1),we(16,jA,7,12,"button",14,RA),E()()()),n&2&&(f(12),Ze("value",o.query()),f(4),Se(o.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 HA=["search"],uE=(t,e)=>e.path,BA=(t,e)=>e.id;function UA(t,e){if(t&1){let n=z();v(0,"button",15),L("click",function(){k(n);let r=y();return N(r.openFilter())}),v(1,"span",16),p(2,"\u25A4"),x(),v(3,"span",17),p(4),x()()}if(t&2){let n=y();De("filtered",n.selectedProject()!==void 0),K("title",n.selectedProject()?.path??"Every project pi knows about"),Ne("aria-expanded",n.filterOpen()),f(4),A(n.selectedProject()?.name??"All projects")}}function zA(t,e){if(t&1){let n=z();v(0,"morse-project-filter",18),L("select",function(r){k(n);let i=y();return N(i.onProjectSelect(r))})("close",function(){k(n);let r=y();return N(r.closeFilter())}),x()}if(t&2){let n=y();K("projects",n.projectOptions())("selected",n.projectFilter())("totalSessions",n.totalSessions())}}function qA(t,e){if(t&1&&(v(0,"span",25),p(1,"\u203A"),x()),t&2){let n=y(2).$implicit,o=y();De("open",!o.isCollapsed(n.path))}}function GA(t,e){if(t&1){let n=z();v(0,"div",19)(1,"button",20),L("click",function(){k(n);let r=y().$implicit,i=y();return N(i.toggleGroup(r.path))}),v(2,"span",21),p(3),x(),v(4,"span",22),p(5),x(),T(6,qA,2,2,"span",23),x(),v(7,"button",24),L("click",function(r){k(n);let i=y().$implicit,s=y();return N(s.newSession(r,i.path))}),p(8," + "),x()()}if(t&2){let n=y().$implicit,o=y();f(),K("title",n.path),Ne("aria-expanded",!o.isCollapsed(n.path)),f(2),A(n.name),f(2),A(n.sessions.length),f(),M(o.projectFilter()!==n.path?6:-1),f(),Ne("aria-label","New session in "+n.name)}}function WA(t,e){t&1&&Le(0,"span",28)}function YA(t,e){if(t&1){let n=z();v(0,"li")(1,"button",27),L("click",function(){let r=k(n).$implicit,i=y(3);return N(i.activate(r))})("contextmenu",function(r){let i=k(n).$implicit,s=y(3);return N(s.openMenu(r,i))}),T(2,WA,1,0,"span",28),v(3,"span",29),p(4),x(),v(5,"span",30),p(6),x()()()}if(t&2){let n=e.$implicit,o=y(3);f(),De("active",n.id===o.activeSessionId())("running",o.isRunning(n)),K("title",n.id),f(),M(o.isRunning(n)?2:-1),f(2),A(n.title),f(2),Ln("",n.messageCount," \xB7 ",o.age(n.updatedAt))}}function ZA(t,e){if(t&1&&p(0),t&2){let n=y(4);be(" No session matches \u201C",n.query(),"\u201D. ")}}function KA(t,e){t&1&&p(0," No sessions yet. ")}function QA(t,e){if(t&1&&(v(0,"li",26),T(1,ZA,1,1)(2,KA,1,0),x()),t&2){let n=y(3);f(),M(n.query().length>0?1:2)}}function XA(t,e){if(t&1&&(v(0,"ul"),we(1,YA,7,9,"li",null,BA,!1,QA,3,1,"li",26),x()),t&2){let n=y().$implicit;f(),Se(n.sessions)}}function JA(t,e){if(t&1&&(v(0,"section",9),T(1,GA,9,6,"div",19),T(2,XA,4,1,"ul"),x()),t&2){let n=e.$implicit,o=y();f(),M(o.scope()==="global"?1:-1),f(),M(o.scope()==="workspace"||!o.isCollapsed(n.path)?2:-1)}}function eR(t,e){t&1&&p(0," Looking for a project? ")}function tR(t,e){if(t&1&&(p(0),T(1,eR,1,0)),t&2){let n=y(2);be(" No session matches \u201C",n.query(),"\u201D. "),f(),M(n.projectMatches().length>0?1:-1)}}function nR(t,e){t&1&&p(0," Nothing found. ")}function oR(t,e){if(t&1){let n=z();v(0,"button",32),L("click",function(){let r=k(n).$implicit,i=y(2);return N(i.filterToProject(r))}),p(1),x()}if(t&2){let n=e.$implicit;f(),Ln(" Show all ",n.sessionCount," sessions in ",n.name," ")}}function rR(t,e){if(t&1&&(v(0,"p",26),T(1,tR,2,2)(2,nR,1,0),x(),we(3,oR,2,2,"button",31,uE)),t&2){let n=y();f(),M(n.query().length>0?1:2),f(2),Se(n.projectMatches())}}function iR(t,e){if(t&1&&(v(0,"a",11)(1,"span",33),p(2,"\u2191"),x(),v(3,"span"),p(4,"Update available"),x(),v(5,"span",13),p(6),x()()),t&2){let n=e;K("href",n.url,yo)("title",n.hint+" You are on v"+n.current+"."),f(6),be("v",n.latest)}}function sR(t,e){t&1&&(v(0,"span",13),p(1),x()),t&2&&(f(),be("v",e))}function aR(t,e){if(t&1){let n=z();v(0,"p",36),p(1,"Delete this session?"),x(),v(2,"p",37),p(3),x(),v(4,"button",38),L("click",function(){k(n);let r=y(2);return N(r.closeMenu())}),p(5,"Cancel"),x(),v(6,"button",39),L("click",function(){k(n);let r=y(),i=y();return N(i.deleteNow(r.session))}),p(7," Delete "),x()}if(t&2){let n=y();f(3),A(n.session.title)}}function cR(t,e){if(t&1){let n=z();v(0,"button",38),L("click",function(){k(n);let r=y(),i=y();return N(i.closeNow(r.session))}),p(1," Close session "),x(),v(2,"button",39),L("click",function(){k(n);let r=y(),i=y();return N(i.askDelete(r))}),p(3," Delete session\u2026 "),x()}}function lR(t,e){if(t&1){let n=z();v(0,"div",34),L("click",function(){k(n);let r=y();return N(r.closeMenu())})("contextmenu",function(r){k(n);let i=y();return r.preventDefault(),N(i.closeMenu())}),x(),v(1,"div",35),T(2,aR,8,1)(3,cR,4,0),x()}if(t&2){let n=e;f(),Do("left",n.x,"px")("top",n.y,"px"),f(),M(n.confirming?2:3)}}var Jd=class t{morse=I(Ct);shell=I(rn);shortcuts=I(ro);update=I(Es);destroyRef=I(ht);searchInput=pt("search");query=F("");collapsed=F({});menu=F(void 0);projectFilter=F("");filterOpen=this.shell.projectFilterOpen;nativeDialogs=S(()=>this.morse.capabilities()?.nativeDialogs===!0);activeSessionId=S(()=>this.morse.state().sessionId);version=this.morse.version;updateNotice=this.update.available;sessionActivity=this.morse.sessionActivity;scope=S(()=>this.morse.capabilities()?.scope??"global");directoryPicker=S(()=>this.morse.capabilities()?.directoryPicker===!0);isRunning(e){let n=this.sessionActivity().get(e.id);return n!==void 0?n.streaming||n.busy:e.id===this.activeSessionId()&&this.morse.running()}groups=S(()=>{let e=this.morse.sessions();if(this.scope()==="workspace"){let n=this.morse.workspace(),o=this.morse.projects()[0];return[{path:o?.path??n.cwd,name:n.name||o?.name||"workspace",sessions:e}]}return this.morse.projects().map(n=>({path:n.path,name:n.name,sessions:e.filter(o=>o.cwd===n.path)}))});visibleGroups=S(()=>{let e=this.query().trim().toLowerCase(),n=this.projectFilter();return(n.length===0?this.groups():this.groups().filter(r=>r.path===n)).map(r=>X(H({},r),{sessions:e.length===0?r.sessions:r.sessions.filter(i=>i.title.toLowerCase().includes(e))})).filter(r=>n.length>0||e.length===0||r.sessions.length>0)});filterable=S(()=>this.scope()==="global");projectOptions=S(()=>this.groups().map(e=>({path:e.path,name:e.name,sessionCount:e.sessions.length})));selectedProject=S(()=>this.projectOptions().find(e=>e.path===this.projectFilter()));totalSessions=S(()=>this.morse.sessions().length);projectMatches=S(()=>{let e=this.query().trim().toLowerCase();return e.length===0||this.projectFilter().length>0?[]:this.projectOptions().filter(n=>`${n.name} ${n.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 n of e)n()})}isCollapsed(e){return this.projectFilter()===e?!1:this.collapsed()[e]===!0}toggleGroup(e){this.projectFilter()!==e&&this.collapsed.update(n=>X(H({},n),{[e]:n[e]!==!0}))}activate(e){this.morse.activateSession(e.id,e.cwd),this.shell.closeNavigation()}openMenu(e,n){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:n,confirming:!1})}closeMenu(){this.menu.set(void 0)}closeNow(e){this.closeMenu(),this.morse.closeSession(e.id)}askDelete(e){if(this.nativeDialogs()){this.confirmOnHost(e);return}this.menu.set(X(H({},e),{confirming:!0}))}async confirmOnHost(e){let n=await this.morse.requestHostCommand("confirmDeleteSession",{sessionId:e.session.id,title:e.session.title});if(n===void 0){this.menu.set(X(H({},e),{confirming:!0}));return}this.closeMenu(),n.confirmed===!0&&this.morse.deleteSession(e.session.id)}deleteNow(e){this.closeMenu(),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.projectFilter.set(e),this.closeFilter()}filterToProject(e){this.projectFilter.set(e.path),this.query.set(""),this.closeFilter()}openAbout(){this.shell.openAbout()}openShortcuts(){this.shell.openShortcuts()}newSession(e,n){e.stopPropagation(),this.startSession(n)}startSession(e){if(e===void 0&&this.directoryPicker()){this.shell.openProjectPicker(),this.shell.closeNavigation();return}this.morse.newSession(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 n=Math.max(0,Math.round((Date.now()-e)/1e3));if(n<60)return`${n}s`;let o=Math.round(n/60);if(o<60)return`${o}m`;let r=Math.round(o/60);return r<24?`${r}h`:`${Math.round(r/24)}d`}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-session-nav"]],viewQuery:function(n,o){n&1&&Et(o.searchInput,HA,5),n&2&&wt()},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},decls:24,vars:7,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\u2026","aria-label","Search sessions",3,"input","value"],[3,"projects","selected","totalSessions"],[1,"list"],[1,"group"],[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,"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"],[1,"empty"],["type","button",1,"session",3,"click","contextmenu","title"],["aria-hidden","true",1,"pulse"],[1,"title"],[1,"meta"],["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(n,o){if(n&1&&(v(0,"div",1)(1,"button",2),L("click",function(i){return o.newSession(i)}),p(2," New session "),x(),v(3,"button",3),L("click",function(){return o.refresh()}),p(4,"\u27F3"),x()(),v(5,"div",4),T(6,UA,5,5,"button",5),v(7,"input",6,0),L("input",function(i){return o.onQuery(i)}),x()(),T(9,zA,1,3,"morse-project-filter",7),v(10,"div",8),we(11,JA,3,2,"section",9,uE,!1,rR,5,1),x(),v(14,"div",10),T(15,iR,7,3,"a",11),v(16,"button",12),L("click",function(){return o.openShortcuts()}),p(17," Keyboard shortcuts "),v(18,"span",13),p(19,"?"),x()(),v(20,"button",14),L("click",function(){return o.openAbout()}),p(21," About Morse "),T(22,sR,2,1,"span",13),x()(),T(23,lR,4,5)),n&2){let r,i,s;f(6),M(o.filterable()?6:-1),f(),K("value",o.query()),f(2),M(o.filterOpen()?9:-1),f(2),Se(o.visibleGroups()),f(4),M((r=o.updateNotice())?15:-1,r),f(7),M((i=o.version())?22:-1,i),f(),M((s=o.menu())?23:-1,s)}},dependencies:[Xd],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:5px 10px}.filters[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;padding:8px 10px 4px}.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:4px 6px 10px}.group[_ngcontent-%COMP%] + .group[_ngcontent-%COMP%]{margin-top:6px}.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{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, .group-new[_ngcontent-%COMP%]:focus-visible{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:6px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);text-align:left;cursor:pointer}.session[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.session.active[_ngcontent-%COMP%]{background:var(--%NS%morse-active);font-weight:500;box-shadow:inset 2px 0 0 var(--%NS%morse-accent)}.session[_ngcontent-%COMP%] .pulse[_ngcontent-%COMP%]{flex:none;position:relative;width:7px;height:7px;border-radius:50%;background:var(--%NS%morse-accent)}.session[_ngcontent-%COMP%] .pulse[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_morse-pulse 1.5s ease-out infinite}@keyframes _ngcontent-%COMP%_morse-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.session[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{font-size:11px;white-space:nowrap;opacity:.8}.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, .context-menu-item[_ngcontent-%COMP%]:focus-visible{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}']})};var pE=(t,e)=>e.path;function dR(t,e){if(t&1){let n=z();b(0,"button",20),Z("click",function(){let r=k(n).$implicit,i=y(2);return N(i.go(r.path))}),p(1),E()}if(t&2){let n=e.$implicit;Ze("title",n.path),f(),be(" ",n.name," ")}}function uR(t,e){if(t&1&&(b(0,"div",9),we(1,dR,2,2,"button",19,pE),E()),t&2){let n=y();f(),Se(n.roots())}}function pR(t,e){t&1&&(b(0,"p",11),p(1,"Reading folder\u2026"),E())}function fR(t,e){t&1&&(b(0,"p",12),p(1),E()),t&2&&(f(),A(e))}function mR(t,e){if(t&1){let n=z();b(0,"button",22),Z("click",function(){let r=k(n),i=y(2);return N(i.go(r))}),b(1,"span",23),p(2,"\u21B0"),E(),b(3,"span",24),p(4,".."),E()()}t&2&&Ze("title",e)}function hR(t,e){if(t&1){let n=z();b(0,"button",22),Z("click",function(){let r=k(n).$implicit,i=y(2);return N(i.go(r.path))}),b(1,"span",23),p(2,"\u25B8"),E(),b(3,"span",24),p(4),E()()}if(t&2){let n=e.$implicit;Ze("title",n.path),f(4),A(n.name)}}function gR(t,e){t&1&&(b(0,"p",11),p(1,"No subfolders here."),E())}function yR(t,e){if(t&1&&T(0,gR,2,0,"p",11),t&2){let n=y(2);M(n.parent()===void 0&&n.directories().length===0?0:-1)}}function vR(t,e){if(t&1&&(T(0,mR,5,1,"button",21),we(1,hR,5,2,"button",21,pE,!1,yR,1,1)),t&2){let n,o=y();M((n=o.parent())?0:-1,n),f(),Se(o.directories())}}function _R(t,e){t&1&&(b(0,"em"),p(1," \xB7 not in MORSE_PROJECTS"),E())}function bR(t,e){t&1&&(b(0,"em",15),p(1," \xB7 git"),E())}var eu=class t{morse=I(Ct);shell=I(rn);loading=F(!1);error=F(void 0);path=F("");draftPath=F("");parent=F(void 0);directories=F([]);roots=F([]);isGitRepo=F(!1);canOpen=F(!1);constructor(){this.load()}go(e){let n=e?.trim();this.load(n&&n.length>0?n:void 0)}onPathInput(e){this.draftPath.set(e.target.value)}close(){this.shell.closeProjectPicker()}confirm(){let e=this.path();e.length===0||!this.canOpen()||(this.morse.newSession(e),this.shell.closeNavigation(),this.close())}onEscape(){this.close()}load(e){this.loading.set(!0),this.error.set(void 0),this.morse.requestHostCommand("listDirectories",e?{path:e}:void 0).then(n=>{this.loading.set(!1);let o=n;if(!o||typeof o.path!="string"){this.error.set("That folder could not be read.");return}this.path.set(o.path),this.draftPath.set(o.path),this.parent.set(o.parent),this.directories.set(o.directories??[]),this.roots.set(o.roots??[]),this.isGitRepo.set(o.isGitRepo===!0),this.canOpen.set(o.canOpen===!0)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-project-picker"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){if(n&1&&(b(0,"div",0),Z("click",function(){return o.close()}),b(1,"div",1),Z("click",function(i){return i.stopPropagation()}),b(2,"header",2)(3,"strong"),p(4,"New session"),E(),b(5,"button",3),Z("click",function(){return o.close()}),p(6," \xD7 "),E()(),b(7,"p",4),p(8," Choose the project folder the agent should run in. It starts only after your first prompt. "),E(),b(9,"div",5)(10,"button",6),Z("click",function(){return o.go(o.parent())}),p(11," \u2191 "),E(),b(12,"input",7),Z("input",function(i){return o.onPathInput(i)})("keydown.enter",function(){return o.go(o.draftPath())}),E(),b(13,"button",8),Z("click",function(){return o.go(o.draftPath())}),p(14," Go "),E()(),T(15,uR,3,0,"div",9),b(16,"div",10),T(17,pR,2,0,"p",11)(18,fR,2,1,"p",12)(19,vR,4,2),E(),b(20,"footer",13)(21,"span",14),p(22),T(23,_R,2,0,"em"),T(24,bR,2,0,"em",15),E(),b(25,"div",16)(26,"button",17),Z("click",function(){return o.close()}),p(27,"Cancel"),E(),b(28,"button",18),Z("click",function(){return o.confirm()}),p(29," New session here "),E()()()()()),n&2){let r;f(10),Ze("disabled",o.parent()===void 0),f(2),Ze("value",o.draftPath()),f(),Ze("disabled",o.draftPath().trim().length===0),f(2),M(o.roots().length>0?15:-1),f(2),M(o.loading()?17:(r=o.error())?18:19,r),f(4),Ze("title",o.path()),f(),be(" ",o.path()," "),f(),M(o.canOpen()?-1:23),f(),M(o.isGitRepo()?24:-1),f(4),Ze("disabled",!o.canOpen()||o.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 fE=[{title:"The agent",blurb:"Morse never imports pi \u2014 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:"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\u2019s 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\u2019s 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\u015Bliwiec"},{name:"ws",packages:["ws"],license:"MIT",url:"https://github.com/websockets/ws",role:"The WebSocket server NestJS sits on."},{name:"reflect-metadata",packages:["reflect-metadata"],license:"Apache-2.0",url:"https://github.com/rbuckton/reflect-metadata",role:"Decorator metadata for NestJS\u2019s 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\u2019s 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\u2019s icon glyphs come from \u2014 Morse bundles none, they follow the editor font."}]},{title:"Build & test",blurb:"Not shipped with the app \u2014 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 xR=(t,e)=>e.title,ER=(t,e)=>e.name;function CR(t,e){if(t&1&&(b(0,"div")(1,"dt"),p(2,"update"),E(),b(3,"dd")(4,"a",14),p(5),E()()()),t&2){let n=e;f(4),Ze("href",n.url,yo)("title",n.hint),f(),be(" v",n.latest," available ")}}function wR(t,e){t&1&&(b(0,"p",15),p(1),E()),t&2&&(f(),A(e))}function SR(t,e){t&1&&(b(0,"span",17),p(1),E()),t&2&&(f(),be("by ",e))}function TR(t,e){if(t&1&&(b(0,"li")(1,"a",16),p(2),T(3,SR,2,1,"span",17),E(),b(4,"span",18),p(5),E(),b(6,"p",19),p(7),E()()),t&2){let n,o=e.$implicit;f(),Ze("href",o.url,yo),f(),be(" ",o.name," "),f(),M((n=o.by)?3:-1,n),f(2),A(o.license),f(2),A(o.role)}}function MR(t,e){if(t&1&&(b(0,"section",9)(1,"h3"),p(2),E(),T(3,wR,2,1,"p",15),b(4,"ul"),we(5,TR,8,5,"li",null,ER),E()()),t&2){let n,o=e.$implicit;f(2),A(o.title),f(),M((n=o.blurb)?3:-1,n),f(2),Se(o.entries)}}var tu=class t{morse=I(Ct);shell=I(rn);update=I(Es);groups=fE;protocolVersion=this.morse.protocolVersion;updateNotice=this.update.available;frontend=S(()=>{let e=this.morse.frontend();return e?`${e.name} ${e.version}`:"not reported by this host"});host=S(()=>{let e=this.morse.capabilities();return e?`${e.hostKind} \xB7 ${e.scope}`:"not connected"});close(){this.shell.closeAbout()}onEscape(){this.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-about-dialog"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){if(n&1&&(b(0,"div",0),Z("click",function(){return o.close()}),b(1,"div",1),Z("click",function(i){return i.stopPropagation()}),b(2,"div",2)(3,"strong",3),p(4,"About Morse"),E(),b(5,"span",4),p(6,"a comfortable Pi interface \xB7 MIT"),E(),b(7,"button",5),Z("click",function(){return o.close()}),p(8,"\xD7"),E()(),b(9,"p",6),p(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 \u2014 it drives "),b(11,"code"),p(12,"pi --mode rpc"),E(),p(13," \u2014 and never talks to a model provider itself. Below is what it stands on, and the licence each piece asks for. "),E(),b(14,"dl",7)(15,"div")(16,"dt"),p(17,"frontend"),E(),b(18,"dd"),p(19),E()(),b(20,"div")(21,"dt"),p(22,"protocol"),E(),b(23,"dd"),p(24),E()(),b(25,"div")(26,"dt"),p(27,"host"),E(),b(28,"dd"),p(29),E()(),T(30,CR,6,3,"div"),E(),b(31,"div",8),we(32,MR,7,2,"section",9,xR),E(),b(34,"div",10)(35,"span"),p(36,"Licence texts ship with this build. Morse is MIT \xB7 \xA9 2026 Supan Adit Pratama."),E(),Ue(37,"span",11),b(38,"a",12),p(39," Source "),E(),b(40,"button",13),Z("click",function(){return o.close()}),p(41,"Close"),E()()()()),n&2){let r;f(19),A(o.frontend()),f(5),A(o.protocolVersion()),f(5),A(o.host()),f(),M((r=o.updateNotice())?30:-1,r),f(2),Se(o.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 IR=(t,e)=>e.name,kR=(t,e)=>e.id;function NR(t,e){t&1&&(b(0,"span",15),p(1,"not in this host"),E())}function DR(t,e){if(t&1&&(b(0,"li")(1,"div",13)(2,"span",14),p(3),T(4,NR,2,0,"span",15),E(),b(5,"span",16),p(6),E()(),b(7,"kbd"),p(8),E()()),t&2){let n=e.$implicit;De("unavailable",n.available===!1),f(3),be(" ",n.label," "),f(),M(n.available===!1?4:-1),f(2),A(n.detail),f(2),A(n.keys)}}function OR(t,e){if(t&1&&(b(0,"section",8)(1,"h3"),p(2),E(),b(3,"ul"),we(4,DR,9,6,"li",12,kR),E()()),t&2){let n=e.$implicit;f(2),A(n.name),f(2),Se(n.rows)}}var nu=class t{shell=I(rn);shortcuts=I(ro);groups=S(()=>{let e=this.shortcuts.available(),n=new Map;for(let o of Ra){let r=n.get(o.group)??[];r.push({id:o.id,label:o.label,detail:o.detail,keys:La(o)?cb(o.binding):o.keys,available:La(o)?e.get(o.id)===!0:void 0}),n.set(o.group,r)}return[...n].map(([o,r])=>({name:o,rows:r}))});close(){this.shell.closeShortcuts()}onEscape(){this.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-shortcuts-dialog"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){n&1&&(b(0,"div",0),Z("click",function(){return o.close()}),b(1,"div",1),Z("click",function(i){return i.stopPropagation()}),b(2,"div",2)(3,"strong",3),p(4,"Keyboard shortcuts"),E(),b(5,"span",4),p(6,"the same keys in the browser and in the VS Code panel"),E(),b(7,"button",5),Z("click",function(){return o.close()}),p(8,"\xD7"),E()(),b(9,"p",6),p(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 \u2014 and a row marked \u201Cnot in this host\u201D is a key this host has nothing to do. "),E(),b(11,"div",7),we(12,OR,6,1,"section",8,IR),E(),b(14,"div",9)(15,"span"),p(16,"Esc closes this list, and the panel in front of it."),E(),Ue(17,"span",10),b(18,"button",11),Z("click",function(){return o.close()}),p(19,"Close"),E()()()()),n&2&&(f(12),Se(o.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 PR=["cancel"];function AR(t,e){t&1&&(b(0,"p",4),p(1),E()),t&2&&(f(),A(e))}function RR(t,e){t&1&&(b(0,"p",5),p(1),E()),t&2&&(f(),A(e))}var ou=class t{title=ee.required();body=ee("");note=ee("");confirmLabel=ee("Confirm");cancelLabel=ee("Cancel");confirmed=ut();cancelled=ut();cancelButton=pt("cancel");constructor(){me(()=>{let e=this.cancelButton()?.nativeElement;e&&setTimeout(()=>e.focus(),0)})}onEscape(){this.cancelled.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["morse-confirm-dialog"]],viewQuery:function(n,o){n&1&&Et(o.cancelButton,PR,5),n&2&&wt()},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Ht)},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(n,o){if(n&1&&(b(0,"div",1),Z("click",function(){return o.cancelled.emit()}),b(1,"div",2),Z("click",function(i){return i.stopPropagation()}),b(2,"h2",3),p(3),E(),T(4,AR,2,1,"p",4),T(5,RR,2,1,"p",5),b(6,"div",6)(7,"button",7,0),Z("click",function(){return o.cancelled.emit()}),p(9),E(),b(10,"button",8),Z("click",function(){return o.confirmed.emit()}),p(11),E()()()()),n&2){let r,i;f(),Ne("aria-describedby",o.body().length>0?"confirm-body":null),f(2),A(o.title()),f(),M((r=o.body())?4:-1,r),f(),M((i=o.note())?5:-1,i),f(4),be(" ",o.cancelLabel()," "),f(2),A(o.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 LR(t,e){t&1&&p(0," Install it once and this panel is ready. ")}function FR(t,e){if(t&1){let n=z();b(0,"div",5)(1,"code"),p(2),E(),b(3,"button",10),Z("click",function(){k(n);let r=y();return N(r.copyInstall())}),p(4),E()()}if(t&2){let n=y();f(2),A(e),f(2),be(" ",n.copied()?"Copied":"Copy"," ")}}function jR(t,e){t&1&&(b(0,"p",6),p(1),E()),t&2&&(f(),A(e))}function VR(t,e){if(t&1){let n=z();b(0,"button",10),Z("click",function(){k(n);let r=y();return N(r.openSettings())}),p(1,"Open settings"),E(),b(2,"button",10),Z("click",function(){k(n);let r=y();return N(r.showLog())}),p(3,"Show log"),E()}}function $R(t,e){t&1&&(b(0,"p",9),p(1," Changed \u201Cmorse.pi.path\u201D? Reload the window \u2014 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. "),E())}function HR(t,e){t&1&&(b(0,"p",9),p(1," The host reads "),b(2,"code"),p(3,"MORSE_PI_PATH"),E(),p(4," at startup, so restart it after changing that (or install pi) \u2014 "),b(5,"code"),p(6,"morse restart"),E(),p(7," for the daemon. "),E())}function BR(t,e){t&1&&(b(0,"details")(1,"summary"),p(2,"What the host reported"),E(),b(3,"pre"),p(4),E()()),t&2&&(f(4),A(e))}var ru=class t{morse=I(Ct);message=this.morse.agentError;failure=this.morse.agentFailure;missing=S(()=>this.failure()?.code==="agent-unavailable");install=S(()=>this.failure()?.install??"");hint=S(()=>this.failure()?.hint??"");hasEditor=S(()=>this.morse.capabilities()?.hostKind==="vscode");copied=F(!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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,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(n,o){if(n&1&&(b(0,"section",0)(1,"p",1),Ue(2,"span",2),p(3),E(),b(4,"h1",3),p(5),E(),b(6,"p",4),p(7," Morse is only the interface \u2014 every answer comes from the pi CLI on this machine, with your own models, tools and sessions. "),T(8,LR,1,0),E(),T(9,FR,5,2,"div",5),T(10,jR,2,1,"p",6),b(11,"div",7)(12,"button",8),Z("click",function(){return o.retry()}),p(13,"Retry"),E(),T(14,VR,4,0),E(),T(15,$R,2,0,"p",9)(16,HR,8,0,"p",9),T(17,BR,5,1,"details"),E()),n&2){let r,i,s;f(3),be(" ",o.missing()?"Setup":"Agent unavailable"," "),f(2),be(" ",o.missing()?"The pi coding agent is not installed":"The pi coding agent could not start"," "),f(3),M(o.missing()?8:-1),f(),M((r=o.install())?9:-1,r),f(),M((i=o.hint())?10:-1,i),f(4),M(o.hasEditor()?14:-1),f(),M(o.hasEditor()?15:16),f(2),M((s=o.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 UR(t,e){if(t&1){let n=z();v(0,"morse-boot-splash",11),L("dismissed",function(){k(n);let r=y();return N(r.onBootDismissed())}),x()}if(t&2){let n=y();K("ready",n.bootReady())("status",n.bootStatus())}}function zR(t,e){if(t&1){let n=z();v(0,"morse-connection-screen",12),L("retry",function(){k(n);let r=y();return N(r.retryConnection())})("explore",function(){k(n);let r=y();return N(r.onConnectionExplore())})("connect",function(r){k(n);let i=y();return N(i.onConnectionConnect(r))}),x()}if(t&2){let n=e;K("eyebrow",n.eyebrow)("title",n.title)("body",n.body)("detail",n.detail)}}function qR(t,e){t&1&&Le(0,"morse-project-picker")}function GR(t,e){t&1&&Le(0,"morse-about-dialog")}function WR(t,e){t&1&&Le(0,"morse-shortcuts-dialog")}function YR(t,e){if(t&1){let n=z();v(0,"morse-confirm-dialog",13),L("confirmed",function(){k(n);let r=y();return N(r.confirmCompact())})("cancelled",function(){k(n);let r=y();return N(r.cancelCompact())}),x()}if(t&2){let n=y();K("body",n.compactBody())}}function ZR(t,e){if(t&1){let n=z();v(0,"button",14),L("click",function(){k(n);let r=y();return N(r.closeNavigation())}),x()}}function KR(t,e){t&1&&(v(0,"div",7),Le(1,"span",15),v(2,"div",16)(3,"span",17),p(4,"\u2913"),x(),v(5,"strong"),p(6,"Drop to attach"),x(),v(7,"span"),p(8,"Images ride with the prompt \xB7 other files become "),v(9,"code"),p(10,"@mentions"),x()()()()),t&2&&(f(2),K("morseEnter",0)("morseEnterY",-6))}function QR(t,e){if(t&1){let n=z();v(0,"section",8)(1,"strong"),p(2,"Offline \u2014 the host wouldn't take this frontend"),x(),v(3,"p"),p(4),Le(5,"br"),p(6),x(),v(7,"div",18)(8,"button",19),L("click",function(){k(n);let r=y();return N(r.reload())}),p(9,"Reload"),x(),v(10,"button",20),L("click",function(){k(n);let r=y();return N(r.retryConnection())}),p(11,"Retry"),x(),v(12,"button",20),L("click",function(){k(n);let r=y();return N(r.showLog())}),p(13,"Show log"),x()()()}if(t&2){let n=e;f(4),A(n.message),f(2),A(n.detail)}}function XR(t,e){if(t&1){let n=z();v(0,"section",8)(1,"strong"),p(2,"Offline \u2014 reconnecting"),x(),v(3,"p"),p(4," Morse keeps retrying in the background; the rest of the interface stays available while it does. "),x(),v(5,"div",18)(6,"button",19),L("click",function(){k(n);let r=y();return N(r.retryConnection())}),p(7,"Retry now"),x(),v(8,"button",20),L("click",function(){k(n);let r=y();return N(r.showConnectionHelp())}),p(9," Connection help "),x()()()}}function JR(t,e){if(t&1){let n=z();v(0,"section",9)(1,"strong"),p(2,"Pi agent unavailable"),x(),v(3,"p"),p(4),x(),v(5,"div",18)(6,"button",19),L("click",function(){k(n);let r=y();return N(r.retryAgent())}),p(7,"Retry"),x(),v(8,"button",20),L("click",function(){k(n);let r=y();return N(r.openSettings())}),p(9,"Open settings"),x(),v(10,"button",20),L("click",function(){k(n);let r=y();return N(r.showLog())}),p(11,"Show log"),x()()()}if(t&2){let n=y();f(4),A(n.agentError()||"Morse could not start the pi coding agent.")}}function eL(t,e){t&1&&Le(0,"morse-agent-screen")}function tL(t,e){t&1&&Le(0,"morse-chat-transcript")(1,"morse-interaction-panel")(2,"morse-chat-composer")}function nL(t,e){if(t&1){let n=z();v(0,"div",21)(1,"span",22),p(2),x(),v(3,"button",23),L("click",function(){k(n);let r=y();return N(r.dismissToast())}),p(4," \xD7 "),x()()}if(t&2){let n=e;Qo(n.level),f(2),A(n.text)}}function oL(){return typeof location>"u"?!1:new URL(location.href,"http://localhost/").searchParams.get("boot")==="1"}var iu=class t{morse=I(Ct);shell=I(rn);shortcuts=I(ro);dropZone=I(Qd);animation=I(hn);attachments=I(Er);destroyRef=I(ht);dismissedNoticeAt=F(null);noticeTimer;bootPreview=oL();bootPending=this.animation.isEnabled&&(this.bootPreview||this.morse.connection()==="connecting");bootForceTimer;bootVisible=F(this.bootPending);bootForced=F(!1);connectionDismissed=F(!1);offline=F(!1);navigationOpen=this.shell.navigationOpen;projectPickerOpen=this.shell.projectPickerOpen;aboutOpen=this.shell.aboutOpen;shortcutsOpen=this.shell.shortcutsOpen;navigationCollapsed=this.shell.navigationCollapsed;compactConfirmOpen=this.shell.compactConfirmOpen;compactBody=S(()=>{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.",n=this.shell.compactInstructions();return n?`${e} Your instructions: \u201C${n}\u201D.`:e});connection=this.morse.connection;agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;agentBlocked=S(()=>this.connection()==="ready"&&!this.agentReady()&&!this.agentStarting()&&this.agentError()!==void 0);agentScreen=S(()=>this.agentBlocked()&&this.morse.items().length===0);agentBanner=S(()=>this.agentBlocked()&&!this.agentScreen());lastError=this.morse.lastError;dragging=this.dropZone.active;toast=S(()=>{let e=this.morse.lastNotice(),n=this.attachments.notice(),o=n&&(!e||n.at>=e.at)?n:e;return!o||o.at===this.dismissedNoticeAt()?null:o});autoDismiss=me(()=>{let e=this.toast();if(this.clearNoticeTimer(),!e)return;let n=e.level==="warn"||e.level==="error"?6e3:3200;this.noticeTimer=setTimeout(()=>this.dismissedNoticeAt.set(e.at),n)});constructor(){let e=[this.shortcuts.bind("context.compact",()=>this.shell.requestCompact(),()=>this.morse.state().agentReady),this.shortcuts.bind("help.shortcuts",()=>this.shell.toggleShortcuts())];this.destroyRef.onDestroy(()=>{for(let n of e)n()}),this.bootPending&&(this.bootForceTimer=setTimeout(()=>this.bootForced.set(!0),7e3)),me(()=>{let n=this.morse.connection();if(n==="ready"){this.offline.set(!1),this.connectionDismissed.set(!1);return}(n==="error"||n==="closed"||this.morse.slowConnection())&&this.offline.set(!0)}),this.destroyRef.onDestroy(()=>{this.clearNoticeTimer(),this.clearBootTimer()})}onBootDismissed(){this.bootVisible.set(!1),this.clearBootTimer()}onConnectionExplore(){this.connectionDismissed.set(!0)}showConnectionHelp(){this.connectionDismissed.set(!1)}onConnectionConnect(e){if(typeof location>"u")return;let n=new URL(location.href);n.searchParams.set("server",e),location.href=n.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=S(()=>{if(this.bootForced())return!0;let e=this.morse.connection();return e==="error"||e==="closed"||this.morse.slowConnection()?!0:e==="ready"});bootStatus=S(()=>this.morse.connection()!=="ready"?"Connecting to the host\u2026":this.morse.agentStarting()?"Starting the pi agent\u2026":this.morse.agentError()!==void 0?"The agent could not start":"Ready");connectionScreen=S(()=>{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 \u2014 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 \xB7 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 \u2014 your sessions live with the host and in pi\u2019s session files \u2014 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()}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=me(()=>{let e=this.dragging();this.stopDropzoneLoops(),e&&setTimeout(()=>{if(!this.dragging())return;let n=globalThis.document?.querySelector(".dropzone")??void 0;if(!n)return;let o=n.querySelector(".dropzone-card"),r=n.querySelector(".dropzone-icon"),i=n.querySelector(".dropzone-ring");this.dropzoneStops=[this.animation.loop(i,{scale:[1,1.035],opacity:[.9,.25]},{duration:1100}),this.animation.loop(o,{scale:[1,1.03]},{duration:700}),this.animation.loop(r,{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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=ge({type:t,selectors:[["app-root"]],decls:18,vars:17,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 \u2014 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,"alert","offline"],["role","alert",1,"alert"],["role","status",1,"toast",3,"class"],[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 \u2014 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"],[1,"actions"],["type","button",3,"click"],["type","button",1,"secondary",3,"click"],["role","status",1,"toast"],[1,"toast-text"],["type","button","aria-label","Dismiss",1,"toast-close",3,"click"]],template:function(n,o){if(n&1&&(v(0,"div",0),T(1,UR,1,2,"morse-boot-splash",1),T(2,zR,1,4,"morse-connection-screen",2),Le(3,"morse-session-nav",3),T(4,qR,1,0,"morse-project-picker"),T(5,GR,1,0,"morse-about-dialog"),T(6,WR,1,0,"morse-shortcuts-dialog"),T(7,YR,1,1,"morse-confirm-dialog",4),T(8,ZR,1,0,"button",5),v(9,"main",6),L("dragenter",function(i){return o.onDragEnter(i)})("dragover",function(i){return o.onDragOver(i)})("dragleave",function(){return o.onDragLeave()})("drop",function(i){return o.onDrop(i)}),T(10,KR,11,2,"div",7),Le(11,"morse-chat-header"),T(12,QR,14,2,"section",8)(13,XR,10,0,"section",8)(14,JR,12,1,"section",9),T(15,eL,1,0,"morse-agent-screen")(16,tL,3,0),T(17,nL,5,3,"div",10),x()()),n&2){let r,i,s;De("collapsed",o.navigationCollapsed()),f(),M(o.bootVisible()?1:-1),f(),M((r=o.connectionScreen())?2:-1,r),f(),De("open",o.navigationOpen()),f(),M(o.projectPickerOpen()?4:-1),f(),M(o.aboutOpen()?5:-1),f(),M(o.shortcutsOpen()?6:-1),f(),M(o.compactConfirmOpen()?7:-1),f(),M(o.navigationOpen()?8:-1),f(),De("dropping",o.dragging()),f(),M(o.dragging()?10:-1),f(2),M((i=o.lastError())?12:o.offline()?13:o.agentBanner()?14:-1,i),f(3),M(o.agentScreen()?15:16),f(2),M((s=o.toast())?17:-1,s)}},dependencies:[Jd,eu,tu,nu,ru,ou,Id,Yd,Zd,Md,sn,fd,md],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);height:100%;min-height:0;overflow:hidden;background:var(--%NS%morse-bg)}.nav[_ngcontent-%COMP%]{min-width:0}@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[_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}.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%]{grid-template-columns:minmax(0,1fr)}.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}}"]})};cm(iu,H_).catch(t=>console.error(t));
90
+ ${o}`:o}copy(e){this.copyRaw(e.id,this.copyText(e))}copyAssistant(e){this.copyRaw(e.id,e.text)}copyRaw(e,n){navigator.clipboard?.writeText(n),this.copiedId.set(e),setTimeout(()=>{this.copiedId()===e&&this.copiedId.set(null)},1200)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-chat-transcript"]],viewQuery:function(n,o){n&1&&vt(o.scrollHost,QP,5)(o.inner,XP,5)(o.heroMark,JP,5),n&2&&bt(3)},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){if(n&1&&(_(0,"div",3,0),L("scroll",function(i){return o.onScroll(i)}),_(2,"div",4,1),T(4,rA,3,1,"div",5)(5,iA,3,0,"div",6),xe(6,CA,5,1,null,null,eA,!1,TA,24,1,"div",7),E()(),_(9,"morse-prompt-rail",8),L("pick",function(i){return o.scrollToPrompt(i)}),E(),T(10,MA,2,0,"button",9),T(11,IA,7,3,"div",10)),n&2){let r;p(2),De("blank",o.rows().length===0),p(2),M(o.hasOlderHistory()||o.loadingOlderHistory()?4:o.rows().length>0?5:-1),p(2),Ee(o.rows()),p(3),K("prompts",o.railPrompts())("activeId",o.activePromptId()),p(),M(!o.pinned()&&o.rows().length>0?10:-1),p(),M((r=o.preview())?11:-1,r)}},dependencies:[qd,Wd,sn,Yd],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 DA=(t,e)=>e.value;function OA(t,e){t&1&&(v(0,"p",1),u(1),x()),t&2&&(p(),P(e))}function PA(t,e){if(t&1){let n=z();v(0,"button",4),q("click",function(){let r=I(n).$implicit,i=h(3);return k(i.choose(r.value))}),u(1),x()}if(t&2){let n=e.$implicit;p(),me(" ",n.label," ")}}function AA(t,e){if(t&1&&(T(0,OA,2,1,"p",1),v(1,"div",2),xe(2,PA,2,1,"button",3,DA),x()),t&2){let n,o=h(),r=h();M((n=r.messageOf(o))?0:-1,n),p(2),Ee(r.optionsOf(o))}}function RA(t,e){if(t&1){let n=z();v(0,"p"),u(1),x(),v(2,"div",2)(3,"button",5),q("click",function(){I(n);let r=h(2);return k(r.decide(!0))}),u(4,"Yes"),x(),v(5,"button",4),q("click",function(){I(n);let r=h(2);return k(r.decide(!1))}),u(6,"No"),x()()}if(t&2){let n=h(),o=h();p(),P(o.messageOf(n))}}function LA(t,e){if(t&1){let n=z();v(0,"input",6),q("input",function(r){I(n);let i=h(2);return k(i.onInput(r))}),x(),v(1,"div",2)(2,"button",5),q("click",function(){I(n);let r=h(2);return k(r.submit())}),u(3,"Submit"),x(),v(4,"button",4),q("click",function(){I(n);let r=h(2);return k(r.cancel())}),u(5,"Cancel"),x()()}if(t&2){let n=h(),o=h();Fe("value",o.value()||o.prefillOf(n))("placeholder",o.placeholderOf(n))}}function FA(t,e){if(t&1){let n=z();v(0,"textarea",7),q("input",function(r){I(n);let i=h(2);return k(i.onInput(r))}),x(),v(1,"div",2)(2,"button",5),q("click",function(){I(n);let r=h(2);return k(r.submit())}),u(3,"Submit"),x(),v(4,"button",4),q("click",function(){I(n);let r=h(2);return k(r.cancel())}),u(5,"Cancel"),x()()}if(t&2){let n=h(),o=h();Fe("value",o.value()||o.prefillOf(n))}}function jA(t,e){if(t&1&&(v(0,"section",0)(1,"header"),u(2),x(),T(3,AA,4,1)(4,RA,7,1)(5,LA,6,2)(6,FA,6,1),x()),t&2){let n,o=e;p(2),P(o.title),p(),M((n=o.kind)==="select"?3:n==="confirm"?4:n==="input"?5:n==="editor"?6:-1)}}var Kd=class t{morse=N(wt);request=this.morse.pendingInteraction;value=R("");visible=S(()=>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 n=this.request();n&&this.morse.respond(H({requestId:n.requestId},e))}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,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(n,o){if(n&1&&T(0,jA,7,2,"section",0),n&2){let r;M((r=o.visible()&&o.request())?0:-1,r)}},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 xs=520,fE=70,Qd=class t{animation=N(hn);async play(e,n){let o=this.resolveTarget();if(!this.animation.isEnabled||!n||!o||e.length===0||typeof document>"u")return;let r=xs+(e.length-1)*fE;e.forEach((i,s)=>{this.launch(i,n,o,s*fE)}),await VA(r)}resolveTarget(){let e=document.querySelector("morse-chat-composer .box");if(!e)return;let n=e.getBoundingClientRect();return{x:n.left+26,y:n.top+18}}launch(e,n,o,r){let i=this.createGhost(e,n);document.body.appendChild(i);let s=Math.min(n.y,o.y)-Math.max(60,Math.abs(n.y-o.y)*.35);on(i,{translateX:[n.x,o.x],translateY:[{to:n.y,duration:xs*.18},{to:s,duration:xs*.42},{to:o.y,duration:xs*.4}],rotate:[0,-8,6,0],scale:[1,1.04,.86,.42],opacity:[1,1,.9,0],duration:xs,delay:r,ease:"inOut(2)",onComplete:()=>i.remove()}),setTimeout(()=>i.remove(),r+xs+400)}createGhost(e,n){let o=document.createElement("div");if(o.className="drop-ghost",e.thumbnail){let i=document.createElement("img");i.src=e.thumbnail,i.alt="",o.appendChild(i)}else{let i=document.createElement("span");i.className="drop-ghost-glyph",i.textContent="\u25A4",o.appendChild(i)}let r=document.createElement("span");return r.className="drop-ghost-name",r.textContent=e.name,o.appendChild(r),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function VA(t){return new Promise(e=>setTimeout(e,t))}var Xd=class t{attachments=N(Cr);flight=N(Qd);uploads=N(ms);depth=R(0);internalDrag=!1;constructor(){if(typeof document>"u")return;let e=()=>{this.internalDrag=!0},n=()=>{this.internalDrag=!1};document.addEventListener("dragstart",e,!0),document.addEventListener("dragend",n,!0),document.addEventListener("drop",n,!0)}active=S(()=>this.depth()>0);carriesFiles(e){if(this.internalDrag)return!1;let n=e.dataTransfer?.types;return n!==void 0&&n.length>0}onDragEnter(e){this.carriesFiles(e)&&(e.preventDefault(),this.depth.update(n=>n+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,n){if(this.depth.set(0),!this.carriesFiles(e))return;e.preventDefault();let o=e.dataTransfer;if(!o)return;let r=Array.from(o.files??[]),{images:i}=await this.attachments.read(r.filter(C=>C.type.startsWith("image/"))),s=BA(o),a=r.filter(C=>!C.type.startsWith("image/")),c=this.uploads.available()&&a.length>0?this.uploads.upload(a):Promise.resolve({added:[],failed:a.map(C=>C.name)}),l=[...s.paths.map(C=>mE(C,n)),...s.names,...a.map(C=>C.name)],d=e.clientX>0||e.clientY>0?{x:e.clientX,y:e.clientY}:$A();await this.flight.play([...i.map(C=>({name:C.name,thumbnail:`data:${C.mimeType};base64,${C.data}`})),...l.map(C=>({name:C}))],d);let f=await c,g=[...s.paths.map(C=>mE(C,n)),...s.names,...f.added.map(C=>C.path),...f.failed];this.attachments.add(i),this.attachments.addMentions(g);let y=[];if(i.length>0&&y.push(`${i.length} image${i.length===1?"":"s"} attached`),g.length>0&&y.push(`${g.length} file${g.length===1?"":"s"} added to the prompt`),y.length>0){this.attachments.say("info",y.join(" \xB7 "));return}let b=Array.from(o.types??[]).join(", ")||"none";this.attachments.say("warn",`That drop carried no file (types: ${b}).`)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};function $A(){let t=document.querySelector("main.chat");if(!t)return{x:0,y:0};let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height*.35}}var HA=["application/vnd.code.uri-list","ResourceURLs","text/uri-list"];function BA(t){let e=[];for(let r of[...HA,"text/plain"])for(let i of UA(t.getData(r)))e.push(i);let n=[],o=[];for(let r of e){if(r.startsWith("file://")){let s=WA(r);s&&n.push(s);continue}if(/^[a-z]+:\/\//i.test(r))continue;if(GA(r)){n.push(r);continue}let i=qA(r);i&&o.push(i)}return{paths:Array.from(new Set(n)),names:Array.from(new Set(o))}}function UA(t){let e=t.trim();if(e.length===0)return[];if(e.startsWith("["))try{let n=JSON.parse(e);if(Array.isArray(n))return n.map(o=>{if(typeof o=="string")return o;let r=o,i=r.fsPath??r.uri??r.path;return typeof i=="string"?i:""}).filter(o=>o.length>0)}catch{}return zA(e)}function zA(t){return t.split(/\r?\n/).flatMap(e=>e.split(/(?<=\S)\s+(?=[/\\]|[A-Za-z]:[\\/])/)).map(e=>e.trim()).filter(e=>e.length>0&&!e.startsWith("#"))}function qA(t){let e=t.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 GA(t){return!!(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))}function WA(t){try{let e=new URL(t);return decodeURIComponent(e.pathname)}catch{return}}function mE(t,e){if(!e)return t;let n=e.endsWith("/")?e:`${e}/`;return t.startsWith(n)?t.slice(n.length):t}var YA="https://registry.npmjs.org/@supanadit/morse-web/latest";function ZA(t){return`https://github.com/supanadit/morse/releases/tag/v${t}`}var KA=new Ue("morse.update.loader",{providedIn:"root",factory:()=>{let t=globalThis.fetch;if(t===void 0)return;let e=t.bind(globalThis);return async n=>(await e(n,{headers:{accept:"application/json"}})).json()}});function QA(t){let e=t;return typeof e?.version=="string"?e.version:void 0}function XA(t,e){let n=gE(t),o=gE(e);if(n===void 0||o===void 0)return!1;for(let r=0;r<n.numbers.length;r+=1)if(n.numbers[r]!==o.numbers[r])return n.numbers[r]>o.numbers[r];return n.prerelease===o.prerelease?!1:n.prerelease===void 0?!0:o.prerelease===void 0?!1:n.prerelease>o.prerelease}function JA(t,e){return t==="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 hE(){if(typeof location>"u")return;let t=new URL(location.href,"http://localhost/").searchParams.get("newer");return t!==null&&t.length>0?t:void 0}function gE(t){let e=/^(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?(?:\+[\w.-]+)?$/.exec(t.trim());if(e!==null)return{numbers:[Number(e[1]),Number(e[2]),Number(e[3])],prerelease:e[4]}}var Es=class t{morse=N(wt);loader=N(KA);notice=R(void 0);started=!1;available=this.notice.asReadonly();constructor(){de(()=>{let e=this.morse.capabilities();this.started||hE()===void 0&&e?.updateCheck!==!0||(this.started=!0,this.check(this.morse.version(),e?.hostKind??"server"))})}async check(e,n,o=this.loader){try{let r=hE()??(o===void 0?void 0:QA(await o(YA)));if(r===void 0||!XA(r,e))return;this.notice.set({current:e,latest:r,hint:JA(n,r),url:ZA(r)})}catch{}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Re({token:t,factory:t.\u0275fac,providedIn:"root"})};var eR=["search"],tR=["list"],nR=(t,e)=>e.path||"all";function oR(t,e){if(t&1&&(v(0,"span",17),u(1),x()),t&2){let n=h().$implicit;p(),P(n.path)}}function rR(t,e){t&1&&(v(0,"span",19),u(1,"\u2713"),x())}function iR(t,e){if(t&1){let n=z();v(0,"button",15),q("mouseenter",function(){let r=I(n).$index,i=h();return k(i.active.set(r))})("click",function(){let r=I(n).$implicit,i=h();return k(i.pick(r))}),v(1,"span",16),u(2),x(),T(3,oR,2,1,"span",17),v(4,"span",18),u(5),x(),T(6,rR,2,0,"span",19),x()}if(t&2){let n=e.$implicit,o=h();De("all",n.all)("active",n.path===o.rows()[o.active()].path)("selected",n.path===o.selected()),Fe("title",n.path||"Every project pi knows about"),we("aria-selected",n.path===o.selected()),p(2),P(n.name),p(),M(n.all?-1:3),p(2),P(n.sessionCount),p(),M(n.path===o.selected()?6:-1)}}var sR="All projects";function aR(t,e,n){let o={path:"",name:sR,sessionCount:n,all:!0},r=e.trim().toLowerCase(),i=t.filter(s=>r.length===0||`${s.name} ${s.path}`.toLowerCase().includes(r)).map(s=>Q(H({},s),{all:!1}));return[o,...i]}var Jd=class t{projects=ee.required();selected=ee("");totalSessions=ee(0);select=rt();close=rt();search=at("search");list=at("list");query=R("");active=R(0);rows=S(()=>aR(this.projects(),this.query(),this.totalSessions()));constructor(){si(()=>this.search()?.nativeElement.focus()),de(()=>{if(this.query().trim().length>0)return;let e=this.rows().findIndex(n=>n.path===this.selected());e>=0&&this.active.set(e)}),de(()=>{this.active(),this.rows(),setTimeout(()=>this.revealActive(),0)})}revealActive(){let e=this.list()?.nativeElement,n=e?.querySelectorAll(".row")[this.active()];if(!e||!n)return;let o=e.getBoundingClientRect(),r=n.getBoundingClientRect();r.top<o.top?e.scrollTop-=o.top-r.top:r.bottom>o.bottom&&(e.scrollTop+=r.bottom-o.bottom)}onQuery(e){this.query.set(e.target.value),this.active.set(0)}pick(e){this.select.emit(e.path)}onKeydown(e){let n=this.rows();switch(e.key){case"Escape":e.preventDefault(),this.close.emit();return;case"ArrowDown":e.preventDefault(),this.active.update(o=>Math.min(o+1,Math.max(0,n.length-1)));return;case"ArrowUp":e.preventDefault(),this.active.update(o=>Math.max(0,o-1));return;case"Enter":{let o=n[this.active()];o&&(e.preventDefault(),this.pick(o));return}default:return}}onEscape(){this.close.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-project-filter"]],viewQuery:function(n,o){n&1&&vt(o.search,eR,5)(o.list,tR,5),n&2&&bt(2)},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){n&1&&(v(0,"div",2),q("click",function(){return o.close.emit()}),v(1,"div",3),q("click",function(i){return i.stopPropagation()}),v(2,"div",4)(3,"strong",5),u(4,"Filter by project"),x(),v(5,"button",6),q("click",function(){return o.close.emit()}),u(6,"\xD7"),x()(),v(7,"div",7)(8,"span",8),Ut(),v(9,"svg",9),ze(10,"circle",10)(11,"path",11),x()(),Sn(),v(12,"input",12,0),q("input",function(i){return o.onQuery(i)})("keydown",function(i){return o.onKeydown(i)}),x()(),v(14,"div",13,1),xe(16,iR,7,12,"button",14,nR),x()()()),n&2&&(p(12),Fe("value",o.query()),p(4),Ee(o.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 cR=["search"],yE=(t,e)=>e.path,lR=(t,e)=>e.id;function dR(t,e){if(t&1){let n=z();_(0,"button",15),L("click",function(){I(n);let r=h();return k(r.openFilter())}),_(1,"span",16),u(2,"\u25A4"),E(),_(3,"span",17),u(4),E()()}if(t&2){let n=h();De("filtered",n.selectedProject()!==void 0),K("title",n.selectedProject()?.path??"Every project pi knows about"),we("aria-expanded",n.filterOpen()),p(4),P(n.selectedProject()?.name??"All projects")}}function uR(t,e){if(t&1){let n=z();_(0,"morse-project-filter",18),L("select",function(r){I(n);let i=h();return k(i.onProjectSelect(r))})("close",function(){I(n);let r=h();return k(r.closeFilter())}),E()}if(t&2){let n=h();K("projects",n.projectOptions())("selected",n.projectFilter())("totalSessions",n.totalSessions())}}function pR(t,e){if(t&1&&(_(0,"span",25),u(1,"\u203A"),E()),t&2){let n=h(2).$implicit,o=h();De("open",!o.isCollapsed(n.path))}}function fR(t,e){if(t&1){let n=z();_(0,"div",19)(1,"button",20),L("click",function(){I(n);let r=h().$implicit,i=h();return k(i.toggleGroup(r.path))}),_(2,"span",21),u(3),E(),_(4,"span",22),u(5),E(),T(6,pR,2,2,"span",23),E(),_(7,"button",24),L("click",function(r){I(n);let i=h().$implicit,s=h();return k(s.newSession(r,i.path))}),u(8," + "),E()()}if(t&2){let n=h().$implicit,o=h();p(),K("title",n.path),we("aria-expanded",!o.isCollapsed(n.path)),p(2),P(n.name),p(2),P(n.sessions.length),p(),M(o.projectFilter()!==n.path?6:-1),p(),we("aria-label","New session in "+n.name)}}function mR(t,e){t&1&&Le(0,"span",28)}function hR(t,e){if(t&1){let n=z();_(0,"li")(1,"button",27),L("click",function(){let r=I(n).$implicit,i=h(3);return k(i.activate(r))})("contextmenu",function(r){let i=I(n).$implicit,s=h(3);return k(s.openMenu(r,i))}),T(2,mR,1,0,"span",28),_(3,"span",29),u(4),E(),_(5,"span",30),u(6),E()()()}if(t&2){let n=e.$implicit,o=h(3);p(),De("active",n.id===o.activeSessionId())("running",o.isRunning(n)),K("title",n.id),p(),M(o.isRunning(n)?2:-1),p(2),P(n.title),p(2),Ln("",n.messageCount," \xB7 ",o.age(n.updatedAt))}}function gR(t,e){if(t&1&&u(0),t&2){let n=h(4);me(" No session matches \u201C",n.query(),"\u201D. ")}}function yR(t,e){t&1&&u(0," No sessions yet. ")}function vR(t,e){if(t&1&&(_(0,"li",26),T(1,gR,1,1)(2,yR,1,0),E()),t&2){let n=h(3);p(),M(n.query().length>0?1:2)}}function _R(t,e){if(t&1&&(_(0,"ul"),xe(1,hR,7,9,"li",null,lR,!1,vR,3,1,"li",26),E()),t&2){let n=h().$implicit;p(),Ee(n.sessions)}}function bR(t,e){if(t&1&&(_(0,"section",9),T(1,fR,9,6,"div",19),T(2,_R,4,1,"ul"),E()),t&2){let n=e.$implicit,o=h();p(),M(o.scope()==="global"?1:-1),p(),M(o.scope()==="workspace"||!o.isCollapsed(n.path)?2:-1)}}function xR(t,e){t&1&&u(0," Looking for a project? ")}function ER(t,e){if(t&1&&(u(0),T(1,xR,1,0)),t&2){let n=h(2);me(" No session matches \u201C",n.query(),"\u201D. "),p(),M(n.projectMatches().length>0?1:-1)}}function CR(t,e){t&1&&u(0," Nothing found. ")}function wR(t,e){if(t&1){let n=z();_(0,"button",32),L("click",function(){let r=I(n).$implicit,i=h(2);return k(i.filterToProject(r))}),u(1),E()}if(t&2){let n=e.$implicit;p(),Ln(" Show all ",n.sessionCount," sessions in ",n.name," ")}}function SR(t,e){if(t&1&&(_(0,"p",26),T(1,ER,2,2)(2,CR,1,0),E(),xe(3,wR,2,2,"button",31,yE)),t&2){let n=h();p(),M(n.query().length>0?1:2),p(2),Ee(n.projectMatches())}}function TR(t,e){if(t&1&&(_(0,"a",11)(1,"span",33),u(2,"\u2191"),E(),_(3,"span"),u(4,"Update available"),E(),_(5,"span",13),u(6),E()()),t&2){let n=e;K("href",n.url,yo)("title",n.hint+" You are on v"+n.current+"."),p(6),me("v",n.latest)}}function MR(t,e){t&1&&(_(0,"span",13),u(1),E()),t&2&&(p(),me("v",e))}function IR(t,e){if(t&1){let n=z();_(0,"p",36),u(1,"Delete this session?"),E(),_(2,"p",37),u(3),E(),_(4,"button",38),L("click",function(){I(n);let r=h(2);return k(r.closeMenu())}),u(5,"Cancel"),E(),_(6,"button",39),L("click",function(){I(n);let r=h(),i=h();return k(i.deleteNow(r.session))}),u(7," Delete "),E()}if(t&2){let n=h();p(3),P(n.session.title)}}function kR(t,e){if(t&1){let n=z();_(0,"button",38),L("click",function(){I(n);let r=h(),i=h();return k(i.closeNow(r.session))}),u(1," Close session "),E(),_(2,"button",39),L("click",function(){I(n);let r=h(),i=h();return k(i.askDelete(r))}),u(3," Delete session\u2026 "),E()}}function NR(t,e){if(t&1){let n=z();_(0,"div",34),L("click",function(){I(n);let r=h();return k(r.closeMenu())})("contextmenu",function(r){I(n);let i=h();return r.preventDefault(),k(i.closeMenu())}),E(),_(1,"div",35),T(2,IR,8,1)(3,kR,4,0),E()}if(t&2){let n=e;p(),Do("left",n.x,"px")("top",n.y,"px"),p(),M(n.confirming?2:3)}}var eu=class t{morse=N(wt);shell=N(rn);shortcuts=N(ro);update=N(Es);destroyRef=N(ht);searchInput=at("search");query=R("");collapsed=R({});menu=R(void 0);projectFilter=R("");filterOpen=this.shell.projectFilterOpen;nativeDialogs=S(()=>this.morse.capabilities()?.nativeDialogs===!0);activeSessionId=S(()=>this.morse.state().sessionId);version=this.morse.version;updateNotice=this.update.available;sessionActivity=this.morse.sessionActivity;scope=S(()=>this.morse.capabilities()?.scope??"global");directoryPicker=S(()=>this.morse.capabilities()?.directoryPicker===!0);isRunning(e){let n=this.sessionActivity().get(e.id);return n!==void 0?n.streaming||n.busy:e.id===this.activeSessionId()&&this.morse.running()}groups=S(()=>{let e=this.morse.sessions();if(this.scope()==="workspace"){let n=this.morse.workspace(),o=this.morse.projects()[0];return[{path:o?.path??n.cwd,name:n.name||o?.name||"workspace",sessions:e}]}return this.morse.projects().map(n=>({path:n.path,name:n.name,sessions:e.filter(o=>o.cwd===n.path)}))});visibleGroups=S(()=>{let e=this.query().trim().toLowerCase(),n=this.projectFilter();return(n.length===0?this.groups():this.groups().filter(r=>r.path===n)).map(r=>Q(H({},r),{sessions:e.length===0?r.sessions:r.sessions.filter(i=>i.title.toLowerCase().includes(e))})).filter(r=>n.length>0||e.length===0||r.sessions.length>0)});filterable=S(()=>this.scope()==="global");projectOptions=S(()=>this.groups().map(e=>({path:e.path,name:e.name,sessionCount:e.sessions.length})));selectedProject=S(()=>this.projectOptions().find(e=>e.path===this.projectFilter()));totalSessions=S(()=>this.morse.sessions().length);projectMatches=S(()=>{let e=this.query().trim().toLowerCase();return e.length===0||this.projectFilter().length>0?[]:this.projectOptions().filter(n=>`${n.name} ${n.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 n of e)n()})}isCollapsed(e){return this.projectFilter()===e?!1:this.collapsed()[e]===!0}toggleGroup(e){this.projectFilter()!==e&&this.collapsed.update(n=>Q(H({},n),{[e]:n[e]!==!0}))}activate(e){this.morse.activateSession(e.id,e.cwd),this.shell.closeNavigation()}openMenu(e,n){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:n,confirming:!1})}closeMenu(){this.menu.set(void 0)}closeNow(e){this.closeMenu(),this.morse.closeSession(e.id)}askDelete(e){if(this.nativeDialogs()){this.confirmOnHost(e);return}this.menu.set(Q(H({},e),{confirming:!0}))}async confirmOnHost(e){let n=await this.morse.requestHostCommand("confirmDeleteSession",{sessionId:e.session.id,title:e.session.title});if(n===void 0){this.menu.set(Q(H({},e),{confirming:!0}));return}this.closeMenu(),n.confirmed===!0&&this.morse.deleteSession(e.session.id)}deleteNow(e){this.closeMenu(),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.projectFilter.set(e),this.closeFilter()}filterToProject(e){this.projectFilter.set(e.path),this.query.set(""),this.closeFilter()}openAbout(){this.shell.openAbout()}openShortcuts(){this.shell.openShortcuts()}newSession(e,n){e.stopPropagation(),this.startSession(n)}startSession(e){if(e===void 0&&this.directoryPicker()){this.shell.openProjectPicker(),this.shell.closeNavigation();return}this.morse.newSession(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 n=Math.max(0,Math.round((Date.now()-e)/1e3));if(n<60)return`${n}s`;let o=Math.round(n/60);if(o<60)return`${o}m`;let r=Math.round(o/60);return r<24?`${r}h`:`${Math.round(r/24)}d`}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-session-nav"]],viewQuery:function(n,o){n&1&&vt(o.searchInput,cR,5),n&2&&bt()},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.onEscape()},Dt)},decls:24,vars:7,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\u2026","aria-label","Search sessions",3,"input","value"],[3,"projects","selected","totalSessions"],[1,"list"],[1,"group"],[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,"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"],[1,"empty"],["type","button",1,"session",3,"click","contextmenu","title"],["aria-hidden","true",1,"pulse"],[1,"title"],[1,"meta"],["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(n,o){if(n&1&&(_(0,"div",1)(1,"button",2),L("click",function(i){return o.newSession(i)}),u(2," New session "),E(),_(3,"button",3),L("click",function(){return o.refresh()}),u(4,"\u27F3"),E()(),_(5,"div",4),T(6,dR,5,5,"button",5),_(7,"input",6,0),L("input",function(i){return o.onQuery(i)}),E()(),T(9,uR,1,3,"morse-project-filter",7),_(10,"div",8),xe(11,bR,3,2,"section",9,yE,!1,SR,5,1),E(),_(14,"div",10),T(15,TR,7,3,"a",11),_(16,"button",12),L("click",function(){return o.openShortcuts()}),u(17," Keyboard shortcuts "),_(18,"span",13),u(19,"?"),E()(),_(20,"button",14),L("click",function(){return o.openAbout()}),u(21," About Morse "),T(22,MR,2,1,"span",13),E()(),T(23,NR,4,5)),n&2){let r,i,s;p(6),M(o.filterable()?6:-1),p(),K("value",o.query()),p(2),M(o.filterOpen()?9:-1),p(2),Ee(o.visibleGroups()),p(4),M((r=o.updateNotice())?15:-1,r),p(7),M((i=o.version())?22:-1,i),p(),M((s=o.menu())?23:-1,s)}},dependencies:[Jd],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:5px 10px}.filters[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;padding:8px 10px 4px}.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:4px 6px 10px}.group[_ngcontent-%COMP%] + .group[_ngcontent-%COMP%]{margin-top:6px}.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{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, .group-new[_ngcontent-%COMP%]:focus-visible{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:6px;width:100%;padding:5px 8px;border:0;border-radius:var(--%NS%morse-radius-sm);background:transparent;color:var(--%NS%morse-fg);text-align:left;cursor:pointer}.session[_ngcontent-%COMP%]:hover{background:var(--%NS%morse-hover)}.session.active[_ngcontent-%COMP%]{background:var(--%NS%morse-active);font-weight:500;box-shadow:inset 2px 0 0 var(--%NS%morse-accent)}.session[_ngcontent-%COMP%] .pulse[_ngcontent-%COMP%]{flex:none;position:relative;width:7px;height:7px;border-radius:50%;background:var(--%NS%morse-accent)}.session[_ngcontent-%COMP%] .pulse[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--%NS%morse-accent);animation:_ngcontent-%COMP%_morse-pulse 1.5s ease-out infinite}@keyframes _ngcontent-%COMP%_morse-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.session[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{font-size:11px;white-space:nowrap;opacity:.8}.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, .context-menu-item[_ngcontent-%COMP%]:focus-visible{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}']})};var vE=(t,e)=>e.path;function DR(t,e){if(t&1){let n=z();v(0,"button",20),q("click",function(){let r=I(n).$implicit,i=h(2);return k(i.go(r.path))}),u(1),x()}if(t&2){let n=e.$implicit;Fe("title",n.path),p(),me(" ",n.name," ")}}function OR(t,e){if(t&1&&(v(0,"div",9),xe(1,DR,2,2,"button",19,vE),x()),t&2){let n=h();p(),Ee(n.roots())}}function PR(t,e){t&1&&(v(0,"p",11),u(1,"Reading folder\u2026"),x())}function AR(t,e){t&1&&(v(0,"p",12),u(1),x()),t&2&&(p(),P(e))}function RR(t,e){if(t&1){let n=z();v(0,"button",22),q("click",function(){let r=I(n),i=h(2);return k(i.go(r))}),v(1,"span",23),u(2,"\u21B0"),x(),v(3,"span",24),u(4,".."),x()()}t&2&&Fe("title",e)}function LR(t,e){if(t&1){let n=z();v(0,"button",22),q("click",function(){let r=I(n).$implicit,i=h(2);return k(i.go(r.path))}),v(1,"span",23),u(2,"\u25B8"),x(),v(3,"span",24),u(4),x()()}if(t&2){let n=e.$implicit;Fe("title",n.path),p(4),P(n.name)}}function FR(t,e){t&1&&(v(0,"p",11),u(1,"No subfolders here."),x())}function jR(t,e){if(t&1&&T(0,FR,2,0,"p",11),t&2){let n=h(2);M(n.parent()===void 0&&n.directories().length===0?0:-1)}}function VR(t,e){if(t&1&&(T(0,RR,5,1,"button",21),xe(1,LR,5,2,"button",21,vE,!1,jR,1,1)),t&2){let n,o=h();M((n=o.parent())?0:-1,n),p(),Ee(o.directories())}}function $R(t,e){t&1&&(v(0,"em"),u(1," \xB7 not in MORSE_PROJECTS"),x())}function HR(t,e){t&1&&(v(0,"em",15),u(1," \xB7 git"),x())}var tu=class t{morse=N(wt);shell=N(rn);loading=R(!1);error=R(void 0);path=R("");draftPath=R("");parent=R(void 0);directories=R([]);roots=R([]);isGitRepo=R(!1);canOpen=R(!1);constructor(){this.load()}go(e){let n=e?.trim();this.load(n&&n.length>0?n:void 0)}onPathInput(e){this.draftPath.set(e.target.value)}close(){this.shell.closeProjectPicker()}confirm(){let e=this.path();e.length===0||!this.canOpen()||(this.morse.newSession(e),this.shell.closeNavigation(),this.close())}onEscape(){this.close()}load(e){this.loading.set(!0),this.error.set(void 0),this.morse.requestHostCommand("listDirectories",e?{path:e}:void 0).then(n=>{this.loading.set(!1);let o=n;if(!o||typeof o.path!="string"){this.error.set("That folder could not be read.");return}this.path.set(o.path),this.draftPath.set(o.path),this.parent.set(o.parent),this.directories.set(o.directories??[]),this.roots.set(o.roots??[]),this.isGitRepo.set(o.isGitRepo===!0),this.canOpen.set(o.canOpen===!0)})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-project-picker"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){if(n&1&&(v(0,"div",0),q("click",function(){return o.close()}),v(1,"div",1),q("click",function(i){return i.stopPropagation()}),v(2,"header",2)(3,"strong"),u(4,"New session"),x(),v(5,"button",3),q("click",function(){return o.close()}),u(6," \xD7 "),x()(),v(7,"p",4),u(8," Choose the project folder the agent should run in. It starts only after your first prompt. "),x(),v(9,"div",5)(10,"button",6),q("click",function(){return o.go(o.parent())}),u(11," \u2191 "),x(),v(12,"input",7),q("input",function(i){return o.onPathInput(i)})("keydown.enter",function(){return o.go(o.draftPath())}),x(),v(13,"button",8),q("click",function(){return o.go(o.draftPath())}),u(14," Go "),x()(),T(15,OR,3,0,"div",9),v(16,"div",10),T(17,PR,2,0,"p",11)(18,AR,2,1,"p",12)(19,VR,4,2),x(),v(20,"footer",13)(21,"span",14),u(22),T(23,$R,2,0,"em"),T(24,HR,2,0,"em",15),x(),v(25,"div",16)(26,"button",17),q("click",function(){return o.close()}),u(27,"Cancel"),x(),v(28,"button",18),q("click",function(){return o.confirm()}),u(29," New session here "),x()()()()()),n&2){let r;p(10),Fe("disabled",o.parent()===void 0),p(2),Fe("value",o.draftPath()),p(),Fe("disabled",o.draftPath().trim().length===0),p(2),M(o.roots().length>0?15:-1),p(2),M(o.loading()?17:(r=o.error())?18:19,r),p(4),Fe("title",o.path()),p(),me(" ",o.path()," "),p(),M(o.canOpen()?-1:23),p(),M(o.isGitRepo()?24:-1),p(4),Fe("disabled",!o.canOpen()||o.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 _E=[{title:"The agent",blurb:"Morse never imports pi \u2014 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:"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\u2019s 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\u2019s 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\u015Bliwiec"},{name:"ws",packages:["ws"],license:"MIT",url:"https://github.com/websockets/ws",role:"The WebSocket server NestJS sits on."},{name:"reflect-metadata",packages:["reflect-metadata"],license:"Apache-2.0",url:"https://github.com/rbuckton/reflect-metadata",role:"Decorator metadata for NestJS\u2019s 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\u2019s 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\u2019s icon glyphs come from \u2014 Morse bundles none, they follow the editor font."}]},{title:"Build & test",blurb:"Not shipped with the app \u2014 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 BR=(t,e)=>e.title,UR=(t,e)=>e.name;function zR(t,e){if(t&1&&(v(0,"div")(1,"dt"),u(2,"update"),x(),v(3,"dd")(4,"a",14),u(5),x()()()),t&2){let n=e;p(4),Fe("href",n.url,yo)("title",n.hint),p(),me(" v",n.latest," available ")}}function qR(t,e){t&1&&(v(0,"p",15),u(1),x()),t&2&&(p(),P(e))}function GR(t,e){t&1&&(v(0,"span",17),u(1),x()),t&2&&(p(),me("by ",e))}function WR(t,e){if(t&1&&(v(0,"li")(1,"a",16),u(2),T(3,GR,2,1,"span",17),x(),v(4,"span",18),u(5),x(),v(6,"p",19),u(7),x()()),t&2){let n,o=e.$implicit;p(),Fe("href",o.url,yo),p(),me(" ",o.name," "),p(),M((n=o.by)?3:-1,n),p(2),P(o.license),p(2),P(o.role)}}function YR(t,e){if(t&1&&(v(0,"section",9)(1,"h3"),u(2),x(),T(3,qR,2,1,"p",15),v(4,"ul"),xe(5,WR,8,5,"li",null,UR),x()()),t&2){let n,o=e.$implicit;p(2),P(o.title),p(),M((n=o.blurb)?3:-1,n),p(2),Ee(o.entries)}}var nu=class t{morse=N(wt);shell=N(rn);update=N(Es);groups=_E;protocolVersion=this.morse.protocolVersion;updateNotice=this.update.available;frontend=S(()=>{let e=this.morse.frontend();return e?`${e.name} ${e.version}`:"not reported by this host"});host=S(()=>{let e=this.morse.capabilities();return e?`${e.hostKind} \xB7 ${e.scope}`:"not connected"});close(){this.shell.closeAbout()}onEscape(){this.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-about-dialog"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){if(n&1&&(v(0,"div",0),q("click",function(){return o.close()}),v(1,"div",1),q("click",function(i){return i.stopPropagation()}),v(2,"div",2)(3,"strong",3),u(4,"About Morse"),x(),v(5,"span",4),u(6,"a comfortable Pi interface \xB7 MIT"),x(),v(7,"button",5),q("click",function(){return o.close()}),u(8,"\xD7"),x()(),v(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 \u2014 it drives "),v(11,"code"),u(12,"pi --mode rpc"),x(),u(13," \u2014 and never talks to a model provider itself. Below is what it stands on, and the licence each piece asks for. "),x(),v(14,"dl",7)(15,"div")(16,"dt"),u(17,"frontend"),x(),v(18,"dd"),u(19),x()(),v(20,"div")(21,"dt"),u(22,"protocol"),x(),v(23,"dd"),u(24),x()(),v(25,"div")(26,"dt"),u(27,"host"),x(),v(28,"dd"),u(29),x()(),T(30,zR,6,3,"div"),x(),v(31,"div",8),xe(32,YR,7,2,"section",9,BR),x(),v(34,"div",10)(35,"span"),u(36,"Licence texts ship with this build. Morse is MIT \xB7 \xA9 2026 Supan Adit Pratama."),x(),ze(37,"span",11),v(38,"a",12),u(39," Source "),x(),v(40,"button",13),q("click",function(){return o.close()}),u(41,"Close"),x()()()()),n&2){let r;p(19),P(o.frontend()),p(5),P(o.protocolVersion()),p(5),P(o.host()),p(),M((r=o.updateNotice())?30:-1,r),p(2),Ee(o.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 ZR=(t,e)=>e.name,KR=(t,e)=>e.id;function QR(t,e){t&1&&(v(0,"span",15),u(1,"not in this host"),x())}function XR(t,e){if(t&1&&(v(0,"li")(1,"div",13)(2,"span",14),u(3),T(4,QR,2,0,"span",15),x(),v(5,"span",16),u(6),x()(),v(7,"kbd"),u(8),x()()),t&2){let n=e.$implicit;De("unavailable",n.available===!1),p(3),me(" ",n.label," "),p(),M(n.available===!1?4:-1),p(2),P(n.detail),p(2),P(n.keys)}}function JR(t,e){if(t&1&&(v(0,"section",8)(1,"h3"),u(2),x(),v(3,"ul"),xe(4,XR,9,6,"li",12,KR),x()()),t&2){let n=e.$implicit;p(2),P(n.name),p(2),Ee(n.rows)}}var ou=class t{shell=N(rn);shortcuts=N(ro);groups=S(()=>{let e=this.shortcuts.available(),n=new Map;for(let o of Ra){let r=n.get(o.group)??[];r.push({id:o.id,label:o.label,detail:o.detail,keys:La(o)?mb(o.binding):o.keys,available:La(o)?e.get(o.id)===!0:void 0}),n.set(o.group,r)}return[...n].map(([o,r])=>({name:o,rows:r}))});close(){this.shell.closeShortcuts()}onEscape(){this.close()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-shortcuts-dialog"]],hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){n&1&&(v(0,"div",0),q("click",function(){return o.close()}),v(1,"div",1),q("click",function(i){return i.stopPropagation()}),v(2,"div",2)(3,"strong",3),u(4,"Keyboard shortcuts"),x(),v(5,"span",4),u(6,"the same keys in the browser and in the VS Code panel"),x(),v(7,"button",5),q("click",function(){return o.close()}),u(8,"\xD7"),x()(),v(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 \u2014 and a row marked \u201Cnot in this host\u201D is a key this host has nothing to do. "),x(),v(11,"div",7),xe(12,JR,6,1,"section",8,ZR),x(),v(14,"div",9)(15,"span"),u(16,"Esc closes this list, and the panel in front of it."),x(),ze(17,"span",10),v(18,"button",11),q("click",function(){return o.close()}),u(19,"Close"),x()()()()),n&2&&(p(12),Ee(o.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 eL=["cancel"];function tL(t,e){t&1&&(v(0,"p",4),u(1),x()),t&2&&(p(),P(e))}function nL(t,e){t&1&&(v(0,"p",5),u(1),x()),t&2&&(p(),P(e))}var ru=class t{title=ee.required();body=ee("");note=ee("");confirmLabel=ee("Confirm");cancelLabel=ee("Cancel");confirmed=rt();cancelled=rt();cancelButton=at("cancel");constructor(){de(()=>{let e=this.cancelButton()?.nativeElement;e&&setTimeout(()=>e.focus(),0)})}onEscape(){this.cancelled.emit()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["morse-confirm-dialog"]],viewQuery:function(n,o){n&1&&vt(o.cancelButton,eL,5),n&2&&bt()},hostBindings:function(n,o){n&1&&L("keydown.escape",function(){return o.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(n,o){if(n&1&&(v(0,"div",1),q("click",function(){return o.cancelled.emit()}),v(1,"div",2),q("click",function(i){return i.stopPropagation()}),v(2,"h2",3),u(3),x(),T(4,tL,2,1,"p",4),T(5,nL,2,1,"p",5),v(6,"div",6)(7,"button",7,0),q("click",function(){return o.cancelled.emit()}),u(9),x(),v(10,"button",8),q("click",function(){return o.confirmed.emit()}),u(11),x()()()()),n&2){let r,i;p(),we("aria-describedby",o.body().length>0?"confirm-body":null),p(2),P(o.title()),p(),M((r=o.body())?4:-1,r),p(),M((i=o.note())?5:-1,i),p(4),me(" ",o.cancelLabel()," "),p(2),P(o.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 oL(t,e){t&1&&u(0," Install it once and this panel is ready. ")}function rL(t,e){if(t&1){let n=z();v(0,"div",5)(1,"code"),u(2),x(),v(3,"button",10),q("click",function(){I(n);let r=h();return k(r.copyInstall())}),u(4),x()()}if(t&2){let n=h();p(2),P(e),p(2),me(" ",n.copied()?"Copied":"Copy"," ")}}function iL(t,e){t&1&&(v(0,"p",6),u(1),x()),t&2&&(p(),P(e))}function sL(t,e){if(t&1){let n=z();v(0,"button",10),q("click",function(){I(n);let r=h();return k(r.openSettings())}),u(1,"Open settings"),x(),v(2,"button",10),q("click",function(){I(n);let r=h();return k(r.showLog())}),u(3,"Show log"),x()}}function aL(t,e){t&1&&(v(0,"p",9),u(1," Changed \u201Cmorse.pi.path\u201D? Reload the window \u2014 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. "),x())}function cL(t,e){t&1&&(v(0,"p",9),u(1," The host reads "),v(2,"code"),u(3,"MORSE_PI_PATH"),x(),u(4," at startup, so restart it after changing that (or install pi) \u2014 "),v(5,"code"),u(6,"morse restart"),x(),u(7," for the daemon. "),x())}function lL(t,e){t&1&&(v(0,"details")(1,"summary"),u(2,"What the host reported"),x(),v(3,"pre"),u(4),x()()),t&2&&(p(4),P(e))}var iu=class t{morse=N(wt);message=this.morse.agentError;failure=this.morse.agentFailure;missing=S(()=>this.failure()?.code==="agent-unavailable");install=S(()=>this.failure()?.install??"");hint=S(()=>this.failure()?.hint??"");hasEditor=S(()=>this.morse.capabilities()?.hostKind==="vscode");copied=R(!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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,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(n,o){if(n&1&&(v(0,"section",0)(1,"p",1),ze(2,"span",2),u(3),x(),v(4,"h1",3),u(5),x(),v(6,"p",4),u(7," Morse is only the interface \u2014 every answer comes from the pi CLI on this machine, with your own models, tools and sessions. "),T(8,oL,1,0),x(),T(9,rL,5,2,"div",5),T(10,iL,2,1,"p",6),v(11,"div",7)(12,"button",8),q("click",function(){return o.retry()}),u(13,"Retry"),x(),T(14,sL,4,0),x(),T(15,aL,2,0,"p",9)(16,cL,8,0,"p",9),T(17,lL,5,1,"details"),x()),n&2){let r,i,s;p(3),me(" ",o.missing()?"Setup":"Agent unavailable"," "),p(2),me(" ",o.missing()?"The pi coding agent is not installed":"The pi coding agent could not start"," "),p(3),M(o.missing()?8:-1),p(),M((r=o.install())?9:-1,r),p(),M((i=o.hint())?10:-1,i),p(4),M(o.hasEditor()?14:-1),p(),M(o.hasEditor()?15:16),p(2),M((s=o.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 dL(t,e){if(t&1){let n=z();_(0,"morse-boot-splash",11),L("dismissed",function(){I(n);let r=h();return k(r.onBootDismissed())}),E()}if(t&2){let n=h();K("ready",n.bootReady())("status",n.bootStatus())}}function uL(t,e){if(t&1){let n=z();_(0,"morse-connection-screen",12),L("retry",function(){I(n);let r=h();return k(r.retryConnection())})("explore",function(){I(n);let r=h();return k(r.onConnectionExplore())})("connect",function(r){I(n);let i=h();return k(i.onConnectionConnect(r))}),E()}if(t&2){let n=e;K("eyebrow",n.eyebrow)("title",n.title)("body",n.body)("detail",n.detail)}}function pL(t,e){t&1&&Le(0,"morse-project-picker")}function fL(t,e){t&1&&Le(0,"morse-about-dialog")}function mL(t,e){t&1&&Le(0,"morse-shortcuts-dialog")}function hL(t,e){if(t&1){let n=z();_(0,"morse-confirm-dialog",13),L("confirmed",function(){I(n);let r=h();return k(r.confirmCompact())})("cancelled",function(){I(n);let r=h();return k(r.cancelCompact())}),E()}if(t&2){let n=h();K("body",n.compactBody())}}function gL(t,e){if(t&1){let n=z();_(0,"button",14),L("click",function(){I(n);let r=h();return k(r.closeNavigation())}),E()}}function yL(t,e){t&1&&(_(0,"div",7),Le(1,"span",15),_(2,"div",16)(3,"span",17),u(4,"\u2913"),E(),_(5,"strong"),u(6,"Drop to attach"),E(),_(7,"span"),u(8,"Images ride with the prompt \xB7 other files become "),_(9,"code"),u(10,"@mentions"),E()()()()),t&2&&(p(2),K("morseEnter",0)("morseEnterY",-6))}function vL(t,e){if(t&1){let n=z();_(0,"section",8)(1,"strong"),u(2,"Offline \u2014 the host wouldn't take this frontend"),E(),_(3,"p"),u(4),Le(5,"br"),u(6),E(),_(7,"div",18)(8,"button",19),L("click",function(){I(n);let r=h();return k(r.reload())}),u(9,"Reload"),E(),_(10,"button",20),L("click",function(){I(n);let r=h();return k(r.retryConnection())}),u(11,"Retry"),E(),_(12,"button",20),L("click",function(){I(n);let r=h();return k(r.showLog())}),u(13,"Show log"),E()()()}if(t&2){let n=e;p(4),P(n.message),p(2),P(n.detail)}}function _L(t,e){if(t&1){let n=z();_(0,"section",8)(1,"strong"),u(2,"Offline \u2014 reconnecting"),E(),_(3,"p"),u(4," Morse keeps retrying in the background; the rest of the interface stays available while it does. "),E(),_(5,"div",18)(6,"button",19),L("click",function(){I(n);let r=h();return k(r.retryConnection())}),u(7,"Retry now"),E(),_(8,"button",20),L("click",function(){I(n);let r=h();return k(r.showConnectionHelp())}),u(9," Connection help "),E()()()}}function bL(t,e){if(t&1){let n=z();_(0,"section",9)(1,"strong"),u(2,"Pi agent unavailable"),E(),_(3,"p"),u(4),E(),_(5,"div",18)(6,"button",19),L("click",function(){I(n);let r=h();return k(r.retryAgent())}),u(7,"Retry"),E(),_(8,"button",20),L("click",function(){I(n);let r=h();return k(r.openSettings())}),u(9,"Open settings"),E(),_(10,"button",20),L("click",function(){I(n);let r=h();return k(r.showLog())}),u(11,"Show log"),E()()()}if(t&2){let n=h();p(4),P(n.agentError()||"Morse could not start the pi coding agent.")}}function xL(t,e){t&1&&Le(0,"morse-agent-screen")}function EL(t,e){t&1&&Le(0,"morse-chat-transcript")(1,"morse-interaction-panel")(2,"morse-chat-composer")}function CL(t,e){if(t&1){let n=z();_(0,"div",21)(1,"span",22),u(2),E(),_(3,"button",23),L("click",function(){I(n);let r=h();return k(r.dismissToast())}),u(4," \xD7 "),E()()}if(t&2){let n=e;Qo(n.level),p(2),P(n.text)}}function wL(){return typeof location>"u"?!1:new URL(location.href,"http://localhost/").searchParams.get("boot")==="1"}var su=class t{morse=N(wt);shell=N(rn);shortcuts=N(ro);dropZone=N(Xd);animation=N(hn);attachments=N(Cr);destroyRef=N(ht);dismissedNoticeAt=R(null);noticeTimer;bootPreview=wL();bootPending=this.animation.isEnabled&&(this.bootPreview||this.morse.connection()==="connecting");bootForceTimer;bootVisible=R(this.bootPending);bootForced=R(!1);connectionDismissed=R(!1);offline=R(!1);navigationOpen=this.shell.navigationOpen;projectPickerOpen=this.shell.projectPickerOpen;aboutOpen=this.shell.aboutOpen;shortcutsOpen=this.shell.shortcutsOpen;navigationCollapsed=this.shell.navigationCollapsed;compactConfirmOpen=this.shell.compactConfirmOpen;compactBody=S(()=>{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.",n=this.shell.compactInstructions();return n?`${e} Your instructions: \u201C${n}\u201D.`:e});connection=this.morse.connection;agentReady=this.morse.agentReady;agentStarting=this.morse.agentStarting;agentError=this.morse.agentError;agentBlocked=S(()=>this.connection()==="ready"&&!this.agentReady()&&!this.agentStarting()&&this.agentError()!==void 0);agentScreen=S(()=>this.agentBlocked()&&this.morse.items().length===0);agentBanner=S(()=>this.agentBlocked()&&!this.agentScreen());lastError=this.morse.lastError;dragging=this.dropZone.active;toast=S(()=>{let e=this.morse.lastNotice(),n=this.attachments.notice(),o=n&&(!e||n.at>=e.at)?n:e;return!o||o.at===this.dismissedNoticeAt()?null:o});autoDismiss=de(()=>{let e=this.toast();if(this.clearNoticeTimer(),!e)return;let n=e.level==="warn"||e.level==="error"?6e3:3200;this.noticeTimer=setTimeout(()=>this.dismissedNoticeAt.set(e.at),n)});constructor(){let e=[this.shortcuts.bind("context.compact",()=>this.shell.requestCompact(),()=>this.morse.state().agentReady),this.shortcuts.bind("help.shortcuts",()=>this.shell.toggleShortcuts())];this.destroyRef.onDestroy(()=>{for(let n of e)n()}),this.bootPending&&(this.bootForceTimer=setTimeout(()=>this.bootForced.set(!0),7e3)),de(()=>{let n=this.morse.connection();if(n==="ready"){this.offline.set(!1),this.connectionDismissed.set(!1);return}(n==="error"||n==="closed"||this.morse.slowConnection())&&this.offline.set(!0)}),this.destroyRef.onDestroy(()=>{this.clearNoticeTimer(),this.clearBootTimer()})}onBootDismissed(){this.bootVisible.set(!1),this.clearBootTimer()}onConnectionExplore(){this.connectionDismissed.set(!0)}showConnectionHelp(){this.connectionDismissed.set(!1)}onConnectionConnect(e){if(typeof location>"u")return;let n=new URL(location.href);n.searchParams.set("server",e),location.href=n.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=S(()=>{if(this.bootForced())return!0;let e=this.morse.connection();return e==="error"||e==="closed"||this.morse.slowConnection()?!0:e==="ready"});bootStatus=S(()=>this.morse.connection()!=="ready"?"Connecting to the host\u2026":this.morse.agentStarting()?"Starting the pi agent\u2026":this.morse.agentError()!==void 0?"The agent could not start":"Ready");connectionScreen=S(()=>{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 \u2014 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 \xB7 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 \u2014 your sessions live with the host and in pi\u2019s session files \u2014 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()}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=de(()=>{let e=this.dragging();this.stopDropzoneLoops(),e&&setTimeout(()=>{if(!this.dragging())return;let n=globalThis.document?.querySelector(".dropzone")??void 0;if(!n)return;let o=n.querySelector(".dropzone-card"),r=n.querySelector(".dropzone-icon"),i=n.querySelector(".dropzone-ring");this.dropzoneStops=[this.animation.loop(i,{scale:[1,1.035],opacity:[.9,.25]},{duration:1100}),this.animation.loop(o,{scale:[1,1.03]},{duration:700}),this.animation.loop(r,{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 \u0275fac=function(n){return new(n||t)};static \u0275cmp=fe({type:t,selectors:[["app-root"]],decls:18,vars:17,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 \u2014 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,"alert","offline"],["role","alert",1,"alert"],["role","status",1,"toast",3,"class"],[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 \u2014 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"],[1,"actions"],["type","button",3,"click"],["type","button",1,"secondary",3,"click"],["role","status",1,"toast"],[1,"toast-text"],["type","button","aria-label","Dismiss",1,"toast-close",3,"click"]],template:function(n,o){if(n&1&&(_(0,"div",0),T(1,dL,1,2,"morse-boot-splash",1),T(2,uL,1,4,"morse-connection-screen",2),Le(3,"morse-session-nav",3),T(4,pL,1,0,"morse-project-picker"),T(5,fL,1,0,"morse-about-dialog"),T(6,mL,1,0,"morse-shortcuts-dialog"),T(7,hL,1,1,"morse-confirm-dialog",4),T(8,gL,1,0,"button",5),_(9,"main",6),L("dragenter",function(i){return o.onDragEnter(i)})("dragover",function(i){return o.onDragOver(i)})("dragleave",function(){return o.onDragLeave()})("drop",function(i){return o.onDrop(i)}),T(10,yL,11,2,"div",7),Le(11,"morse-chat-header"),T(12,vL,14,2,"section",8)(13,_L,10,0,"section",8)(14,bL,12,1,"section",9),T(15,xL,1,0,"morse-agent-screen")(16,EL,3,0),T(17,CL,5,3,"div",10),E()()),n&2){let r,i,s;De("collapsed",o.navigationCollapsed()),p(),M(o.bootVisible()?1:-1),p(),M((r=o.connectionScreen())?2:-1,r),p(),De("open",o.navigationOpen()),p(),M(o.projectPickerOpen()?4:-1),p(),M(o.aboutOpen()?5:-1),p(),M(o.shortcutsOpen()?6:-1),p(),M(o.compactConfirmOpen()?7:-1),p(),M(o.navigationOpen()?8:-1),p(),De("dropping",o.dragging()),p(),M(o.dragging()?10:-1),p(2),M((i=o.lastError())?12:o.offline()?13:o.agentBanner()?14:-1,i),p(3),M(o.agentScreen()?15:16),p(2),M((s=o.toast())?17:-1,s)}},dependencies:[eu,tu,nu,ou,iu,ru,kd,Zd,Kd,Id,sn,fd,md],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);height:100%;min-height:0;overflow:hidden;background:var(--%NS%morse-bg)}.nav[_ngcontent-%COMP%]{min-width:0}@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[_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}.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%]{grid-template-columns:minmax(0,1fr)}.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}}"]})};lm(su,U_).catch(t=>console.error(t));