@skill-map/cli 0.49.0 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // cli/entry.ts
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="85a060d1-2386-56f2-9e1d-407dfb7c1559")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0b2c1ef1-1905-525e-aa62-42c3a9c3c6a1")}catch(e){}}();
4
4
  import { existsSync as existsSync33 } from "fs";
5
5
  import { Builtins, Cli as Cli2 } from "clipanion";
6
6
 
@@ -246,7 +246,7 @@ function bucketByKind(kind, instance, bag) {
246
246
  // package.json
247
247
  var package_default = {
248
248
  name: "@skill-map/cli",
249
- version: "0.49.0",
249
+ version: "0.50.0",
250
250
  description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
251
251
  license: "MIT",
252
252
  type: "module",
@@ -29488,4 +29488,4 @@ function resolveBareDefault() {
29488
29488
  process.exit(ExitCode.Error);
29489
29489
  }
29490
29490
  //# sourceMappingURL=cli.js.map
29491
- //# debugId=85a060d1-2386-56f2-9e1d-407dfb7c1559
29491
+ //# debugId=0b2c1ef1-1905-525e-aa62-42c3a9c3c6a1
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // kernel/i18n/registry.texts.ts
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c4812091-c4d8-5774-9126-a8e17abfb673")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="447ba9eb-6e8d-5d3f-ad74-26c3f31afd60")}catch(e){}}();
4
4
  var REGISTRY_TEXTS = {
5
5
  duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
6
6
  unknownKind: "Unknown extension kind: {{kind}}",
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
102
102
  // package.json
103
103
  var package_default = {
104
104
  name: "@skill-map/cli",
105
- version: "0.49.0",
105
+ version: "0.50.0",
106
106
  description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
107
107
  license: "MIT",
108
108
  type: "module",
@@ -3822,4 +3822,4 @@ export {
3822
3822
  runScanWithRenames
3823
3823
  };
3824
3824
  //# sourceMappingURL=index.js.map
3825
- //# debugId=c4812091-c4d8-5774-9126-a8e17abfb673
3825
+ //# debugId=447ba9eb-6e8d-5d3f-ad74-26c3f31afd60
@@ -1,6 +1,6 @@
1
1
  // kernel/i18n/registry.texts.ts
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4068b1b0-6409-5386-ac6b-65a30d38e6e6")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d48d375c-c80c-560e-a1db-c6f7bc4dddd0")}catch(e){}}();
4
4
  var REGISTRY_TEXTS = {
5
5
  duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
6
6
  unknownKind: "Unknown extension kind: {{kind}}",
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
102
102
  // package.json
103
103
  var package_default = {
104
104
  name: "@skill-map/cli",
105
- version: "0.49.0",
105
+ version: "0.50.0",
106
106
  description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
107
107
  license: "MIT",
108
108
  type: "module",
@@ -3822,4 +3822,4 @@ export {
3822
3822
  runScanWithRenames
3823
3823
  };
3824
3824
  //# sourceMappingURL=index.js.map
3825
- //# debugId=4068b1b0-6409-5386-ac6b-65a30d38e6e6
3825
+ //# debugId=d48d375c-c80c-560e-a1db-c6f7bc4dddd0
@@ -1,4 +1,4 @@
1
- import{A as Ln,B as zn,D as Vn,E as qt,F as ft,G as Fn,H as gt,J as Ne,K as Bn,N as An,O as Te,P as Nn,Q as rt,R as Ot,a as xe,b as lt,c as wn,f as En,g as St,i as Sn,j as _e,k as F,l as Ae,m as le,p as at,s as On,t as Mn,u as kn,v as ee,w as ae,x,y as Se,z as Dn}from"./chunk-7EVKMO5A.js";import{A as Tt,C as It,E as Ke,G as Rt,I as Cn,J as Ze,K as wt,N as xn,O as st,P as Ht,Q as jt,R as Tn,T as Et,U as Be,V as We,X as $t,a as hn,b as ot,ca as In,d as Qe,fa as Qt,g as fn,h as Nt,k as gn,l as Pt,m as ut,n as _n,o as bn,p as ht,r as yn,u as Ee,v as Ce,w as vn,x as xt,y as Ge}from"./chunk-4SG4352Z.js";import{d as it,f as Ct,g as we,h as qe,i as he,j as te,k as Fe,t as un}from"./chunk-FDJ5FDGM.js";import{$a as oe,Ab as G,Bb as K,Cb as k,Fa as vt,Fb as Q,Gb as et,Hb as V,Hc as g,Ic as ve,J as Xe,Ja as c,Jb as r,Jc as At,K as Y,Kb as fe,L as ne,Lb as de,Mb as ge,N as X,Nb as $e,Ob as u,P as y,Pb as h,Sa as ke,Tb as be,Ub as tt,V as I,Vb as rn,W as w,Wb as Oe,X as $,Xb as f,Ya as z,Yb as Ie,Za as ie,Zb as De,_ as tn,_a as je,_b as Ft,ab as O,ba as E,bb as d,bc as cn,ca as ze,cc as dn,dc as pn,ga as ce,hc as J,ia as Je,ic as nt,jc as H,ka as S,kb as M,kc as Ve,lb as on,lc as mn,mb as sn,nb as A,ob as N,qa as nn,qc as q,rb as ln,sb as an,sc as Bt,tb as a,tc as se,ub as _,vb as b,wb as j,wc as ue,xb as Re,xc as m,yb as He,zb as me}from"./chunk-NV5DRQPL.js";import{a as Z,b as mt}from"./chunk-WCABR6TI.js";var Pn=`
1
+ import{A as Ln,B as zn,D as Vn,E as qt,F as ft,G as Fn,H as gt,J as Ne,K as Bn,N as An,O as Te,P as Nn,Q as rt,R as Ot,a as xe,b as lt,c as wn,f as En,g as St,i as Sn,j as _e,k as F,l as Ae,m as le,p as at,s as On,t as Mn,u as kn,v as ee,w as ae,x,y as Se,z as Dn}from"./chunk-DOWLJNMD.js";import{A as Tt,C as It,E as Ke,G as Rt,I as Cn,J as Ze,K as wt,N as xn,O as st,P as Ht,Q as jt,R as Tn,T as Et,U as Be,V as We,X as $t,a as hn,b as ot,ca as In,d as Qe,fa as Qt,g as fn,h as Nt,k as gn,l as Pt,m as ut,n as _n,o as bn,p as ht,r as yn,u as Ee,v as Ce,w as vn,x as xt,y as Ge}from"./chunk-4SG4352Z.js";import{c as it,e as Ct,f as we,g as qe,h as he,i as te,j as Fe,s as un}from"./chunk-WMGW2UAL.js";import{$a as d,$b as cn,Ab as k,Db as Q,Dc as g,Ea as vt,Eb as et,Ec as ve,Fb as V,Fc as At,Ha as c,Hb as r,Ib as fe,J as Xe,Jb as de,K as Y,Kb as ge,L as ne,Lb as $e,Mb as u,N as X,Nb as h,P as y,Qa as ke,Rb as be,Sb as tt,Tb as rn,Ub as Oe,V as I,Vb as f,W as w,Wa as z,Wb as Ie,X as $,Xa as ie,Xb as De,Ya as je,Yb as Ft,Za as oe,_ as tn,_a as O,ac as dn,ba as E,bc as pn,ca as ze,fc as J,ga as ce,gc as nt,hc as H,ia as Je,ib as M,ic as Ve,jb as on,jc as mn,ka as S,kb as sn,lb as A,mb as N,oc as q,pa as nn,pb as ln,qb as an,qc as Bt,rb as a,rc as se,sb as _,sc as ue,tb as b,tc as m,ub as j,vb as Re,wb as He,xb as me,yb as G,zb as K}from"./chunk-VJ57LHDR.js";import{a as Z,b as mt}from"./chunk-WCABR6TI.js";var Pn=`
2
2
  .p-iconfield {
3
3
  position: relative;
4
4
  display: block;
@@ -1063,4 +1063,4 @@ import{A as Ln,B as zn,D as Vn,E as qt,F as ft,G as Fn,H as gt,J as Ne,K as Bn,N
1063
1063
  grid-template-rows: 0fr;
1064
1064
  }
1065
1065
  }
1066
- `;var Rr=["container"],Hr=["icon"],jr=["closeicon"],$r=["*"],Qr=t=>({closeCallback:t});function qr(t,l){t&1&&k(0)}function Gr(t,l){if(t&1&&d(0,qr,1,0,"ng-container",4),t&2){let e=r();a("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)}}function Kr(t,l){if(t&1&&j(0,"i",1),t&2){let e=r();f(e.cn(e.cx("icon"),e.icon)),a("pBind",e.ptm("icon")),M("data-p",e.dataP)}}function Zr(t,l){t&1&&k(0)}function Wr(t,l){if(t&1&&d(0,Zr,1,0,"ng-container",5),t&2){let e=r();a("ngTemplateOutlet",e.containerTemplate||e._containerTemplate)("ngTemplateOutletContext",H(2,Qr,e.closeCallback))}}function Ur(t,l){if(t&1&&j(0,"span",9),t&2){let e=r(3);a("pBind",e.ptm("text"))("ngClass",e.cx("text"))("innerHTML",e.text,vt),M("data-p",e.dataP)}}function Yr(t,l){if(t&1&&(_(0,"div"),d(1,Ur,1,4,"span",8),b()),t&2){let e=r(2);c(),a("ngIf",!e.escape)}}function Xr(t,l){if(t&1&&(_(0,"span",7),Ie(1),b()),t&2){let e=r(3);a("pBind",e.ptm("text"))("ngClass",e.cx("text")),M("data-p",e.dataP),c(),De(e.text)}}function Jr(t,l){if(t&1&&d(0,Xr,2,4,"span",10),t&2){let e=r(2);a("ngIf",e.escape&&e.text)}}function ec(t,l){if(t&1&&(d(0,Yr,2,1,"div",6)(1,Jr,1,1,"ng-template",null,0,q),_(3,"span",7),de(4),b()),t&2){let e=be(2),n=r();a("ngIf",!n.escape)("ngIfElse",e),c(3),a("pBind",n.ptm("text"))("ngClass",n.cx("text")),M("data-p",n.dataP)}}function tc(t,l){if(t&1&&j(0,"i",7),t&2){let e=r(2);f(e.cn(e.cx("closeIcon"),e.closeIcon)),a("pBind",e.ptm("closeIcon"))("ngClass",e.closeIcon),M("data-p",e.dataP)}}function nc(t,l){t&1&&k(0)}function ic(t,l){if(t&1&&d(0,nc,1,0,"ng-container",4),t&2){let e=r(2);a("ngTemplateOutlet",e.closeIconTemplate||e._closeIconTemplate)}}function oc(t,l){if(t&1&&($(),j(0,"svg",14)),t&2){let e=r(2);f(e.cx("closeIcon")),a("pBind",e.ptm("closeIcon")),M("data-p",e.dataP)}}function sc(t,l){if(t&1){let e=Q();_(0,"button",11),V("click",function(i){I(e);let o=r();return w(o.close(i))}),A(1,tc,1,5,"i",12),A(2,ic,1,1,"ng-container"),A(3,oc,1,4,":svg:svg",13),b()}if(t&2){let e=r();f(e.cx("closeButton")),a("pBind",e.ptm("closeButton")),M("aria-label",e.closeAriaLabel)("data-p",e.dataP),c(),N(e.closeIcon?1:-1),c(),N(e.closeIconTemplate||e._closeIconTemplate?2:-1),c(),N(!e.closeIconTemplate&&!e._closeIconTemplate&&!e.closeIcon?3:-1)}}var lc={root:({instance:t})=>["p-message p-component p-message-"+t.severity,t.variant&&"p-message-"+t.variant,{"p-message-sm":t.size==="small","p-message-lg":t.size==="large"}],contentWrapper:"p-message-content-wrapper",content:"p-message-content",icon:"p-message-icon",text:"p-message-text",closeButton:"p-message-close-button",closeIcon:"p-message-close-icon"},Ri=(()=>{class t extends le{name="message";style=Pi;classes=lc;static \u0275fac=(()=>{let e;return function(i){return(e||(e=S(t)))(i||t)}})();static \u0275prov=Y({token:t,factory:t.\u0275fac})}return t})();var Hi=new X("MESSAGE_INSTANCE"),ac=(()=>{class t extends ae{componentName="Message";_componentStyle=y(Ri);bindDirectiveInstance=y(x,{self:!0});$pcMessage=y(Hi,{optional:!0,skipSelf:!0})??void 0;onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}severity="info";text;escape=!0;style;styleClass;closable=!1;icon;closeIcon;life;showTransitionOptions="300ms ease-out";hideTransitionOptions="200ms cubic-bezier(0.86, 0, 0.07, 1)";size;variant;motionOptions=m(void 0);computedMotionOptions=se(()=>Z(Z({},this.ptm("motion")),this.motionOptions()));onClose=new E;get closeAriaLabel(){return this.config.translation.aria?this.config.translation.aria.close:void 0}visible=ce(!0);containerTemplate;iconTemplate;closeIconTemplate;templates;_containerTemplate;_iconTemplate;_closeIconTemplate;closeCallback=e=>{this.close(e)};onInit(){this.life&&setTimeout(()=>{this.visible.set(!1)},this.life)}onAfterContentInit(){this.templates?.forEach(e=>{switch(e.getType()){case"container":this._containerTemplate=e.template;break;case"icon":this._iconTemplate=e.template;break;case"closeicon":this._closeIconTemplate=e.template;break}})}close(e){this.visible.set(!1),this.onClose.emit({originalEvent:e})}get dataP(){return this.cn({outlined:this.variant==="outlined",simple:this.variant==="simple",[this.severity]:this.severity,[this.size]:this.size})}static \u0275fac=(()=>{let e;return function(i){return(e||(e=S(t)))(i||t)}})();static \u0275cmp=z({type:t,selectors:[["p-message"]],contentQueries:function(n,i,o){if(n&1&&ge(o,Rr,4)(o,Hr,4)(o,jr,4)(o,_e,4),n&2){let s;u(s=h())&&(i.containerTemplate=s.first),u(s=h())&&(i.iconTemplate=s.first),u(s=h())&&(i.closeIconTemplate=s.first),u(s=h())&&(i.templates=s)}},hostAttrs:["role","alert","aria-live","polite"],hostVars:5,hostBindings:function(n,i){n&1&&(on(function(){return"p-message-enter-active"}),sn(function(){return"p-message-leave-active"})),n&2&&(M("data-p",i.dataP),f(i.cn(i.cx("root"),i.styleClass)),rn("p-message-leave-active",!i.visible()))},inputs:{severity:"severity",text:"text",escape:[2,"escape","escape",g],style:"style",styleClass:"styleClass",closable:[2,"closable","closable",g],icon:"icon",closeIcon:"closeIcon",life:"life",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",size:"size",variant:"variant",motionOptions:[1,"motionOptions"]},outputs:{onClose:"onClose"},features:[J([Ri,{provide:Hi,useExisting:t},{provide:ee,useExisting:t}]),oe([x]),O],ngContentSelectors:$r,decls:7,vars:12,consts:[["escapeOut",""],[3,"pBind"],[3,"pBind","class"],["pRipple","","type","button",3,"pBind","class"],[4,"ngTemplateOutlet"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf","ngIfElse"],[3,"pBind","ngClass"],[3,"pBind","ngClass","innerHTML",4,"ngIf"],[3,"pBind","ngClass","innerHTML"],[3,"pBind","ngClass",4,"ngIf"],["pRipple","","type","button",3,"click","pBind"],[3,"pBind","class","ngClass"],["data-p-icon","times",3,"pBind","class"],["data-p-icon","times",3,"pBind"]],template:function(n,i){n&1&&(fe(),_(0,"div",1)(1,"div",1),A(2,Gr,1,1,"ng-container"),A(3,Kr,1,4,"i",2),A(4,Wr,1,4,"ng-container")(5,ec,5,5),A(6,sc,4,8,"button",3),b()()),n&2&&(f(i.cx("contentWrapper")),a("pBind",i.ptm("contentWrapper")),M("data-p",i.dataP),c(),f(i.cx("content")),a("pBind",i.ptm("content")),M("data-p",i.dataP),c(),N(i.iconTemplate||i._iconTemplate?2:-1),c(),N(i.icon?3:-1),c(),N(i.containerTemplate||i._containerTemplate?4:5),c(2),N(i.closable?6:-1))},dependencies:[te,it,we,he,ct,rt,F,x,dt],encapsulation:2,changeDetection:0})}return t})(),bh=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ie({type:t});static \u0275inj=ne({imports:[ac,F,F]})}return t})();var Ih=(()=>{class t{sanitizer=y(un);libsPromise=null;async render(e){let n=await this.loadLibs(),i=n.md.render(e),o=n.purify.sanitize(i);return this.sanitizer.bypassSecurityTrustHtml(o)}async renderInline(e){let n=await this.loadLibs(),i=n.md.renderInline(e),o=n.purify.sanitize(i);return this.sanitizer.bypassSecurityTrustHtml(o)}async renderToHtml(e){let n=await this.loadLibs(),i=n.md.render(e);return n.purify.sanitize(i)}loadLibs(){return this.libsPromise||(this.libsPromise=cc()),this.libsPromise}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),rc=/^(?:(?:https?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;async function cc(){let[t,l]=await Promise.all([import("./chunk-LGFABCIA.js"),import("./chunk-S4S5ZMXJ.js")]),e=t.default,n=new e({html:!1,linkify:!0}),i=l.default;return i.setConfig({ALLOWED_URI_REGEXP:rc,FORBID_TAGS:["style"],FORBID_ATTR:["style","srcset"]}),{md:n,purify:i}}export{Gt as a,Tc as b,Kt as c,Ac as d,qn as e,Gn as f,Kn as g,ct as h,pt as i,ui as j,Ut as k,ni as l,dt as m,yi as n,Jt as o,ym as p,ki as q,eu as r,Vt as s,Iu as t,Ni as u,Wu as v,ac as w,bh as x,Yt as y,Ud as z,Ys as A,vp as B,Ih as C};
1066
+ `;var Rr=["container"],Hr=["icon"],jr=["closeicon"],$r=["*"],Qr=t=>({closeCallback:t});function qr(t,l){t&1&&k(0)}function Gr(t,l){if(t&1&&d(0,qr,1,0,"ng-container",4),t&2){let e=r();a("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)}}function Kr(t,l){if(t&1&&j(0,"i",1),t&2){let e=r();f(e.cn(e.cx("icon"),e.icon)),a("pBind",e.ptm("icon")),M("data-p",e.dataP)}}function Zr(t,l){t&1&&k(0)}function Wr(t,l){if(t&1&&d(0,Zr,1,0,"ng-container",5),t&2){let e=r();a("ngTemplateOutlet",e.containerTemplate||e._containerTemplate)("ngTemplateOutletContext",H(2,Qr,e.closeCallback))}}function Ur(t,l){if(t&1&&j(0,"span",9),t&2){let e=r(3);a("pBind",e.ptm("text"))("ngClass",e.cx("text"))("innerHTML",e.text,vt),M("data-p",e.dataP)}}function Yr(t,l){if(t&1&&(_(0,"div"),d(1,Ur,1,4,"span",8),b()),t&2){let e=r(2);c(),a("ngIf",!e.escape)}}function Xr(t,l){if(t&1&&(_(0,"span",7),Ie(1),b()),t&2){let e=r(3);a("pBind",e.ptm("text"))("ngClass",e.cx("text")),M("data-p",e.dataP),c(),De(e.text)}}function Jr(t,l){if(t&1&&d(0,Xr,2,4,"span",10),t&2){let e=r(2);a("ngIf",e.escape&&e.text)}}function ec(t,l){if(t&1&&(d(0,Yr,2,1,"div",6)(1,Jr,1,1,"ng-template",null,0,q),_(3,"span",7),de(4),b()),t&2){let e=be(2),n=r();a("ngIf",!n.escape)("ngIfElse",e),c(3),a("pBind",n.ptm("text"))("ngClass",n.cx("text")),M("data-p",n.dataP)}}function tc(t,l){if(t&1&&j(0,"i",7),t&2){let e=r(2);f(e.cn(e.cx("closeIcon"),e.closeIcon)),a("pBind",e.ptm("closeIcon"))("ngClass",e.closeIcon),M("data-p",e.dataP)}}function nc(t,l){t&1&&k(0)}function ic(t,l){if(t&1&&d(0,nc,1,0,"ng-container",4),t&2){let e=r(2);a("ngTemplateOutlet",e.closeIconTemplate||e._closeIconTemplate)}}function oc(t,l){if(t&1&&($(),j(0,"svg",14)),t&2){let e=r(2);f(e.cx("closeIcon")),a("pBind",e.ptm("closeIcon")),M("data-p",e.dataP)}}function sc(t,l){if(t&1){let e=Q();_(0,"button",11),V("click",function(i){I(e);let o=r();return w(o.close(i))}),A(1,tc,1,5,"i",12),A(2,ic,1,1,"ng-container"),A(3,oc,1,4,":svg:svg",13),b()}if(t&2){let e=r();f(e.cx("closeButton")),a("pBind",e.ptm("closeButton")),M("aria-label",e.closeAriaLabel)("data-p",e.dataP),c(),N(e.closeIcon?1:-1),c(),N(e.closeIconTemplate||e._closeIconTemplate?2:-1),c(),N(!e.closeIconTemplate&&!e._closeIconTemplate&&!e.closeIcon?3:-1)}}var lc={root:({instance:t})=>["p-message p-component p-message-"+t.severity,t.variant&&"p-message-"+t.variant,{"p-message-sm":t.size==="small","p-message-lg":t.size==="large"}],contentWrapper:"p-message-content-wrapper",content:"p-message-content",icon:"p-message-icon",text:"p-message-text",closeButton:"p-message-close-button",closeIcon:"p-message-close-icon"},Ri=(()=>{class t extends le{name="message";style=Pi;classes=lc;static \u0275fac=(()=>{let e;return function(i){return(e||(e=S(t)))(i||t)}})();static \u0275prov=Y({token:t,factory:t.\u0275fac})}return t})();var Hi=new X("MESSAGE_INSTANCE"),ac=(()=>{class t extends ae{componentName="Message";_componentStyle=y(Ri);bindDirectiveInstance=y(x,{self:!0});$pcMessage=y(Hi,{optional:!0,skipSelf:!0})??void 0;onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}severity="info";text;escape=!0;style;styleClass;closable=!1;icon;closeIcon;life;showTransitionOptions="300ms ease-out";hideTransitionOptions="200ms cubic-bezier(0.86, 0, 0.07, 1)";size;variant;motionOptions=m(void 0);computedMotionOptions=se(()=>Z(Z({},this.ptm("motion")),this.motionOptions()));onClose=new E;get closeAriaLabel(){return this.config.translation.aria?this.config.translation.aria.close:void 0}visible=ce(!0);containerTemplate;iconTemplate;closeIconTemplate;templates;_containerTemplate;_iconTemplate;_closeIconTemplate;closeCallback=e=>{this.close(e)};onInit(){this.life&&setTimeout(()=>{this.visible.set(!1)},this.life)}onAfterContentInit(){this.templates?.forEach(e=>{switch(e.getType()){case"container":this._containerTemplate=e.template;break;case"icon":this._iconTemplate=e.template;break;case"closeicon":this._closeIconTemplate=e.template;break}})}close(e){this.visible.set(!1),this.onClose.emit({originalEvent:e})}get dataP(){return this.cn({outlined:this.variant==="outlined",simple:this.variant==="simple",[this.severity]:this.severity,[this.size]:this.size})}static \u0275fac=(()=>{let e;return function(i){return(e||(e=S(t)))(i||t)}})();static \u0275cmp=z({type:t,selectors:[["p-message"]],contentQueries:function(n,i,o){if(n&1&&ge(o,Rr,4)(o,Hr,4)(o,jr,4)(o,_e,4),n&2){let s;u(s=h())&&(i.containerTemplate=s.first),u(s=h())&&(i.iconTemplate=s.first),u(s=h())&&(i.closeIconTemplate=s.first),u(s=h())&&(i.templates=s)}},hostAttrs:["role","alert","aria-live","polite"],hostVars:5,hostBindings:function(n,i){n&1&&(on(function(){return"p-message-enter-active"}),sn(function(){return"p-message-leave-active"})),n&2&&(M("data-p",i.dataP),f(i.cn(i.cx("root"),i.styleClass)),rn("p-message-leave-active",!i.visible()))},inputs:{severity:"severity",text:"text",escape:[2,"escape","escape",g],style:"style",styleClass:"styleClass",closable:[2,"closable","closable",g],icon:"icon",closeIcon:"closeIcon",life:"life",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",size:"size",variant:"variant",motionOptions:[1,"motionOptions"]},outputs:{onClose:"onClose"},features:[J([Ri,{provide:Hi,useExisting:t},{provide:ee,useExisting:t}]),oe([x]),O],ngContentSelectors:$r,decls:7,vars:12,consts:[["escapeOut",""],[3,"pBind"],[3,"pBind","class"],["pRipple","","type","button",3,"pBind","class"],[4,"ngTemplateOutlet"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf","ngIfElse"],[3,"pBind","ngClass"],[3,"pBind","ngClass","innerHTML",4,"ngIf"],[3,"pBind","ngClass","innerHTML"],[3,"pBind","ngClass",4,"ngIf"],["pRipple","","type","button",3,"click","pBind"],[3,"pBind","class","ngClass"],["data-p-icon","times",3,"pBind","class"],["data-p-icon","times",3,"pBind"]],template:function(n,i){n&1&&(fe(),_(0,"div",1)(1,"div",1),A(2,Gr,1,1,"ng-container"),A(3,Kr,1,4,"i",2),A(4,Wr,1,4,"ng-container")(5,ec,5,5),A(6,sc,4,8,"button",3),b()()),n&2&&(f(i.cx("contentWrapper")),a("pBind",i.ptm("contentWrapper")),M("data-p",i.dataP),c(),f(i.cx("content")),a("pBind",i.ptm("content")),M("data-p",i.dataP),c(),N(i.iconTemplate||i._iconTemplate?2:-1),c(),N(i.icon?3:-1),c(),N(i.containerTemplate||i._containerTemplate?4:5),c(2),N(i.closable?6:-1))},dependencies:[te,it,we,he,ct,rt,F,x,dt],encapsulation:2,changeDetection:0})}return t})(),bh=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ie({type:t});static \u0275inj=ne({imports:[ac,F,F]})}return t})();var Ih=(()=>{class t{sanitizer=y(un);libsPromise=null;async render(e){let n=await this.loadLibs(),i=n.md.render(e),o=n.purify.sanitize(i);return this.sanitizer.bypassSecurityTrustHtml(o)}async renderInline(e){let n=await this.loadLibs(),i=n.md.renderInline(e),o=n.purify.sanitize(i);return this.sanitizer.bypassSecurityTrustHtml(o)}async renderToHtml(e){let n=await this.loadLibs(),i=n.md.render(e);return n.purify.sanitize(i)}loadLibs(){return this.libsPromise||(this.libsPromise=cc()),this.libsPromise}static \u0275fac=function(n){return new(n||t)};static \u0275prov=Y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),rc=/^(?:(?:https?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;async function cc(){let[t,l]=await Promise.all([import("./chunk-LGFABCIA.js"),import("./chunk-S4S5ZMXJ.js")]),e=t.default,n=new e({html:!1,linkify:!0}),i=l.default;return i.setConfig({ALLOWED_URI_REGEXP:rc,FORBID_TAGS:["style"],FORBID_ATTR:["style","srcset"]}),{md:n,purify:i}}export{Gt as a,Tc as b,Kt as c,Ac as d,qn as e,Gn as f,ct as g,pt as h,ui as i,Ut as j,ni as k,dt as l,Jt as m,ym as n,ki as o,eu as p,Vt as q,Iu as r,Ni as s,Wu as t,ac as u,bh as v,Yt as w,Ud as x,Ys as y,vp as z,Ih as A};
@@ -0,0 +1 @@
1
+ import{b as Fe,r as Ar}from"./chunk-WMGW2UAL.js";import{$ as St,A as Rt,C as ar,D as U,E as $e,F as P,Gc as Er,H as R,I as sr,K as w,M as cr,N as b,O as Ct,P as f,Q as ur,Ra as fr,S as Q,T as N,Ta as pr,Va as It,Wa as gr,Ya as vr,Z as lr,a as Xt,aa as dr,b as er,ba as ie,bb as mr,c as tr,cb as yr,d as te,e as M,ea as wt,eb as Rr,f as T,fb as Cr,ga as ze,h as D,i as g,j as rr,ja as hr,k as gt,ka as bt,l as nr,n as S,o as vt,p as F,pc as wr,q as ir,qc as K,r as ke,tc as br,u as re,ub as Sr,v as mt,w as yt,x as ne,y as or,z as q,zc as Ir}from"./chunk-VJ57LHDR.js";import{a as d,b as A}from"./chunk-WCABR6TI.js";var h="primary",_e=Symbol("RouteTitle"),Dt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function Z(e){return new Dt(e)}function Et(e,n,t){for(let r=0;r<e.length;r++){let i=e[r],o=n[r];if(i[0]===":")t[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function Pr(e,n,t){let r=t.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>e.length||t.pathMatch==="full"&&(n.hasChildren()||r.length<e.length))return null;let c={},u=e.slice(0,r.length);return Et(r,u,c)?{consumed:u,posParams:c}:null}if(i!==r.lastIndexOf("**"))return null;let o=r.slice(0,i),s=r.slice(i+1);if(o.length+s.length>e.length||t.pathMatch==="full"&&n.hasChildren()&&t.path!=="**")return null;let a={};return!Et(o,e.slice(0,o.length),a)||!Et(s,e.slice(e.length-s.length),a)?null:{consumed:e,posParams:a}}function We(e){return new Promise((n,t)=>{e.pipe(q()).subscribe({next:r=>n(r),error:r=>t(r)})})}function An(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;++t)if(!x(e[t],n[t]))return!1;return!0}function x(e,n){let t=e?Nt(e):void 0,r=n?Nt(n):void 0;if(!t||!r||t.length!=r.length)return!1;let i;for(let o=0;o<t.length;o++)if(i=t[o],!Lr(e[i],n[i]))return!1;return!0}function Nt(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}function Lr(e,n){if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return!1;let t=[...e].sort(),r=[...n].sort();return t.every((i,o)=>r[o]===i)}else return e===n}function Mn(e){return e.length>0?e[e.length-1]:null}function ee(e){return gt(e)?e:yr(e)?D(Promise.resolve(e)):g(e)}function xr(e){return gt(e)?We(e):Promise.resolve(e)}var Tn={exact:$r,subset:zr},jr={exact:Dn,subset:Nn,ignored:()=>!0},kr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},_t={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function Mr(e,n,t){return Tn[t.paths](e.root,n.root,t.matrixParams)&&jr[t.queryParams](e.queryParams,n.queryParams)&&!(t.fragment==="exact"&&e.fragment!==n.fragment)}function Dn(e,n){return x(e,n)}function $r(e,n,t){if(!Y(e.segments,n.segments)||!Be(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!e.children[r]||!$r(e.children[r],n.children[r],t))return!1;return!0}function Nn(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>Lr(e[t],n[t]))}function zr(e,n,t){return Fr(e,n,n.segments,t)}function Fr(e,n,t,r){if(e.segments.length>t.length){let i=e.segments.slice(0,t.length);return!(!Y(i,t)||n.hasChildren()||!Be(i,t,r))}else if(e.segments.length===t.length){if(!Y(e.segments,t)||!Be(e.segments,t,r))return!1;for(let i in n.children)if(!e.children[i]||!zr(e.children[i],n.children[i],r))return!1;return!0}else{let i=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!Y(e.segments,i)||!Be(e.segments,i,r)||!e.children[h]?!1:Fr(e.children[h],n,o,r)}}function Be(e,n,t){return n.every((r,i)=>jr[t](e[i].parameters,r.parameters))}var O=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=Z(this.queryParams),this._queryParamMap}toString(){return Un.serialize(this)}},v=class{segments;children;parent=null;constructor(n,t){this.segments=n,this.children=t,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Ve(this)}},H=class{path;parameters;_parameterMap;constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=Z(this.parameters),this._parameterMap}toString(){return Hr(this)}};function _n(e,n){return Y(e,n)&&e.every((t,r)=>x(t.parameters,n[r].parameters))}function Y(e,n){return e.length!==n.length?!1:e.every((t,r)=>t.path===n[r].path)}function On(e,n){let t=[];return Object.entries(e.children).forEach(([r,i])=>{r===h&&(t=t.concat(n(i,r)))}),Object.entries(e.children).forEach(([r,i])=>{r!==h&&(t=t.concat(n(i,r)))}),t}var Oe=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:()=>new B,providedIn:"root"})}return e})(),B=class{parse(n){let t=new Ut(n);return new O(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){let t=`/${ye(n.root,!0)}`,r=xn(n.queryParams),i=typeof n.fragment=="string"?`#${Pn(n.fragment)}`:"";return`${t}${r}${i}`}},Un=new B;function Ve(e){return e.segments.map(n=>Hr(n)).join("/")}function ye(e,n){if(!e.hasChildren())return Ve(e);if(n){let t=e.children[h]?ye(e.children[h],!1):"",r=[];return Object.entries(e.children).forEach(([i,o])=>{i!==h&&r.push(`${i}:${ye(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}else{let t=On(e,(r,i)=>i===h?[ye(e.children[h],!1)]:[`${i}:${ye(r,!1)}`]);return Object.keys(e.children).length===1&&e.children[h]!=null?`${Ve(e)}/${t[0]}`:`${Ve(e)}/(${t.join("//")})`}}function qr(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function qe(e){return qr(e).replace(/%3B/gi,";")}function Pn(e){return encodeURI(e)}function Ot(e){return qr(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ge(e){return decodeURIComponent(e)}function Tr(e){return Ge(e.replace(/\+/g,"%20"))}function Hr(e){return`${Ot(e.path)}${Ln(e.parameters)}`}function Ln(e){return Object.entries(e).map(([n,t])=>`;${Ot(n)}=${Ot(t)}`).join("")}function xn(e){let n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(i=>`${qe(t)}=${qe(i)}`).join("&"):`${qe(t)}=${qe(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}var jn=/^[^\/()?;#]+/;function At(e){let n=e.match(jn);return n?n[0]:""}var kn=/^[^\/()?;=#]+/;function $n(e){let n=e.match(kn);return n?n[0]:""}var zn=/^[^=?&#]+/;function Fn(e){let n=e.match(zn);return n?n[0]:""}var qn=/^[^&#]+/;function Hn(e){let n=e.match(qn);return n?n[0]:""}var Ut=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){for(;this.consumeOptional("/"););return this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(n=0){if(n>50)throw new R(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(t.length>0||Object.keys(r).length>0)&&(i[h]=new v(t,r)),i}parseSegment(){let n=At(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new H(Ge(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let t=$n(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let i=At(this.remaining);i&&(r=i,this.capture(r))}n[Ge(t)]=Ge(r)}parseQueryParam(n){let t=Fn(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let s=Hn(this.remaining);s&&(r=s,this.capture(r))}let i=Tr(t),o=Tr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n,t){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=At(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new R(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=h);let a=this.parseChildren(t+1);r[s??h]=Object.keys(a).length===1&&a[h]?a[h]:new v([],a),this.consumeOptional("//")}return r}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}};function Br(e){return e.segments.length>0?new v([],{[h]:e}):e}function Vr(e){let n={};for(let[r,i]of Object.entries(e.children)){let o=Vr(i);if(r===h&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let t=new v(e.segments,n);return Bn(t)}function Bn(e){if(e.numberOfChildren===1&&e.children[h]){let n=e.children[h];return new v(e.segments.concat(n.segments),n.children)}return e}function ce(e){return e instanceof O}function Gr(e,n,t=null,r=null,i=new B){let o=Wr(e);return Qr(o,n,t,r,i)}function Wr(e){let n;function t(o){let s={};for(let c of o.children){let u=t(c);s[c.outlet]=u}let a=new v(o.url,s);return o===e&&(n=a),a}let r=t(e.root),i=Br(r);return n??i}function Qr(e,n,t,r,i){let o=e;for(;o.parent;)o=o.parent;if(n.length===0)return Mt(o,o,o,t,r,i);let s=Vn(n);if(s.toRoot())return Mt(o,o,new v([],{}),t,r,i);let a=Gn(s,o,e),c=a.processChildren?Ce(a.segmentGroup,a.index,s.commands):Yr(a.segmentGroup,a.index,s.commands);return Mt(o,a.segmentGroup,c,t,r,i)}function Qe(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function be(e){return typeof e=="object"&&e!=null&&e.outlets}function Dr(e,n,t){e||="\u0275";let r=new O;return r.queryParams={[e]:n},t.parse(t.serialize(r)).queryParams[e]}function Mt(e,n,t,r,i,o){let s={};for(let[u,l]of Object.entries(r??{}))s[u]=Array.isArray(l)?l.map(p=>Dr(u,p,o)):Dr(u,l,o);let a;e===n?a=t:a=Kr(e,n,t);let c=Br(Vr(a));return new O(c,s,i)}function Kr(e,n,t){let r={};return Object.entries(e.children).forEach(([i,o])=>{o===n?r[i]=t:r[i]=Kr(o,n,t)}),new v(e.segments,r)}var Ke=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Qe(r[0]))throw new R(4003,!1);let i=r.find(be);if(i&&i!==Mn(r))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Vn(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new Ke(!0,0,e);let n=0,t=!1,r=e.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,u])=>{a[c]=typeof u=="string"?u.split("/"):u}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?t=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new Ke(t,n,r)}var ae=class{segmentGroup;processChildren;index;constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}};function Gn(e,n,t){if(e.isAbsolute)return new ae(n,!0,0);if(!t)return new ae(n,!1,NaN);if(t.parent===null)return new ae(t,!0,0);let r=Qe(e.commands[0])?0:1,i=t.segments.length-1+r;return Wn(t,i,e.numberOfDoubleDots)}function Wn(e,n,t){let r=e,i=n,o=t;for(;o>i;){if(o-=i,r=r.parent,!r)throw new R(4005,!1);i=r.segments.length}return new ae(r,!1,i-o)}function Qn(e){return be(e[0])?e[0].outlets:{[h]:e}}function Yr(e,n,t){if(e??=new v([],{}),e.segments.length===0&&e.hasChildren())return Ce(e,n,t);let r=Kn(e,n,t),i=t.slice(r.commandIndex);if(r.match&&r.pathIndex<e.segments.length){let o=new v(e.segments.slice(0,r.pathIndex),{});return o.children[h]=new v(e.segments.slice(r.pathIndex),e.children),Ce(o,0,i)}else return r.match&&i.length===0?new v(e.segments,{}):r.match&&!e.hasChildren()?Pt(e,n,t):r.match?Ce(e,0,i):Pt(e,n,t)}function Ce(e,n,t){if(t.length===0)return new v(e.segments,{});{let r=Qn(t),i={};if(Object.keys(r).some(o=>o!==h)&&e.children[h]&&e.numberOfChildren===1&&e.children[h].segments.length===0){let o=Ce(e.children[h],n,t);return new v(e.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=Yr(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(e.segments,i)}}function Kn(e,n,t){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<e.segments.length;){if(r>=t.length)return o;let s=e.segments[i],a=t[r];if(be(a))break;let c=`${a}`,u=r<t.length-1?t[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!_r(c,u,s))return o;r+=2}else{if(!_r(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Pt(e,n,t){let r=e.segments.slice(0,n),i=0;for(;i<t.length;){let o=t[i];if(be(o)){let c=Yn(o.outlets);return new v(r,c)}if(i===0&&Qe(t[0])){let c=e.segments[n];r.push(new H(c.path,Nr(t[0]))),i++;continue}let s=be(o)?o.outlets[h]:`${o}`,a=i<t.length-1?t[i+1]:null;s&&a&&Qe(a)?(r.push(new H(s,Nr(a))),i+=2):(r.push(new H(s,{})),i++)}return new v(r,{})}function Yn(e){let n={};return Object.entries(e).forEach(([t,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[t]=Pt(new v([],{}),0,r))}),n}function Nr(e){let n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function _r(e,n,t){return e==t.path&&x(n,t.parameters)}var Se="imperative",y=(function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e})(y||{}),E=class{id;url;constructor(n,t){this.id=n,this.url=t}},J=class extends E{type=y.NavigationStart;navigationTrigger;restoredState;constructor(n,t,r="imperative",i=null){super(n,t),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},$=class extends E{urlAfterRedirects;type=y.NavigationEnd;constructor(n,t,r){super(n,t),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},C=(function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e[e.Aborted=4]="Aborted",e})(C||{}),Ie=(function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e})(Ie||{}),_=class extends E{reason;code;type=y.NavigationCancel;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function Zr(e){return e instanceof _&&(e.code===C.Redirect||e.code===C.SupersededByNewNavigation)}var z=class extends E{reason;code;type=y.NavigationSkipped;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}},X=class extends E{error;target;type=y.NavigationError;constructor(n,t,r,i){super(n,t),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ee=class extends E{urlAfterRedirects;state;type=y.RoutesRecognized;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ye=class extends E{urlAfterRedirects;state;type=y.GuardsCheckStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ze=class extends E{urlAfterRedirects;state;shouldActivate;type=y.GuardsCheckEnd;constructor(n,t,r,i,o){super(n,t),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Je=class extends E{urlAfterRedirects;state;type=y.ResolveStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Xe=class extends E{urlAfterRedirects;state;type=y.ResolveEnd;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},et=class{route;type=y.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},tt=class{route;type=y.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},rt=class{snapshot;type=y.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},nt=class{snapshot;type=y.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},it=class{snapshot;type=y.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ot=class{snapshot;type=y.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var ue=class{},Ae=class{},le=class{url;navigationBehaviorOptions;constructor(n,t){this.url=n,this.navigationBehaviorOptions=t}};function Zn(e){return!(e instanceof ue)&&!(e instanceof le)&&!(e instanceof Ae)}var at=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new pe(this.rootInjector)}},pe=(()=>{class e{rootInjector;contexts=new Map;constructor(t){this.rootInjector=t}onChildOutletCreated(t,r){let i=this.getOrCreateContext(t);i.outlet=r,this.contexts.set(t,i)}onChildOutletDestroyed(t){let r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new at(this.rootInjector),this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static \u0275fac=function(r){return new(r||e)(Ct(Q))};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),st=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){let t=Lt(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){let t=Lt(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){let t=xt(n,this._root);return t.length<2?[]:t[t.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return xt(n,this._root).map(t=>t.value)}};function Lt(e,n){if(e===n.value)return n;for(let t of n.children){let r=Lt(e,t);if(r)return r}return null}function xt(e,n){if(e===n.value)return[n];for(let t of n.children){let r=xt(e,t);if(r.length)return r.unshift(n),r}return[]}var I=class{value;children;constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}};function oe(e){let n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}var Me=class extends st{snapshot;constructor(n,t){super(n),this.snapshot=t,Vt(this,n)}toString(){return this.snapshot.toString()}};function Jr(e,n){let t=Jn(e,n),r=new M([new H("",{})]),i=new M({}),o=new M({}),s=new M({}),a=new M(""),c=new V(r,i,s,a,o,h,e,t.root);return c.snapshot=t.root,new Me(new I(c,[]),t)}function Jn(e,n){let t={},r={},i={},s=new de([],t,i,"",r,h,e,null,{},n);return new Te("",new I(s,[]))}var V=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,t,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(S(u=>u[_e]))??g(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(S(n=>Z(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(S(n=>Z(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Bt(e,n,t="emptyOnly"){let r,{routeConfig:i}=e;return n!==null&&(t==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:d(d({},n.params),e.params),data:d(d({},n.data),e.data),resolve:d(d(d(d({},e.data),n.data),i?.data),e._resolvedData)}:r={params:d({},e.params),data:d({},e.data),resolve:d(d({},e.data),e._resolvedData??{})},i&&en(i)&&(r.resolve[_e]=i.title),r}var de=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[_e]}constructor(n,t,r,i,o,s,a,c,u,l){this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Z(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Z(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${t}')`}},Te=class extends st{url;constructor(n,t){super(t),this.url=n,Vt(this,t)}toString(){return Xr(this._root)}};function Vt(e,n){n.value._routerState=e,n.children.forEach(t=>Vt(e,t))}function Xr(e){let n=e.children.length>0?` { ${e.children.map(Xr).join(", ")} } `:"";return`${e.value}${n}`}function Tt(e){if(e.snapshot){let n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,x(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),x(n.params,t.params)||e.paramsSubject.next(t.params),An(n.url,t.url)||e.urlSubject.next(t.url),x(n.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function jt(e,n){let t=x(e.params,n.params)&&_n(e.url,n.url),r=!e.parent!=!n.parent;return t&&!r&&(!e.parent||jt(e.parent,n.parent))}function en(e){return typeof e.title=="string"||e.title===null}var tn=new b(""),Gt=(()=>{class e{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=h;activateEvents=new ie;deactivateEvents=new ie;attachEvents=new ie;detachEvents=new ie;routerOutletData=br();parentContexts=f(pe);location=f(fr);changeDetector=f(Ir);inputBinder=f(Ue,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(t){if(t.name){let{firstChange:r,previousValue:i}=t.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=t;let i=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new kt(t,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||e)};static \u0275dir=vr({type:e,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[hr]})}return e})(),kt=class{route;childContexts;parent;outletData;constructor(n,t,r,i){this.route=n,this.childContexts=t,this.parent=r,this.outletData=i}get(n,t){return n===V?this.route:n===pe?this.childContexts:n===tn?this.outletData:this.parent.get(n,t)}},Ue=new b(""),Wt=(()=>{class e{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){let{activatedRoute:r}=t,i=vt([r.queryParams,r.params,r.data]).pipe(U(([o,s,a],c)=>(a=d(d(d({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(t);return}let s=Er(r.component);if(!s){this.unsubscribeFromRouteData(t);return}for(let{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(t,i)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:e.\u0275fac})}return e})(),Qt=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275cmp=gr({type:e,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Sr(0,"router-outlet")},dependencies:[Gt],encapsulation:2})}return e})();function Kt(e){let n=e.children&&e.children.map(Kt),t=n?A(d({},e),{children:n}):d({},e);return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==h&&(t.component=Qt),t}function Xn(e,n,t){let r=De(e,n._root,t?t._root:void 0);return new Me(r,n)}function De(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){let r=t.value;r._futureSnapshot=n.value;let i=ei(e,n,t);return new I(r,i)}else{if(e.shouldAttach(n.value)){let o=e.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>De(e,a)),s}}let r=ti(n.value),i=n.children.map(o=>De(e,o));return new I(r,i)}}function ei(e,n,t){return n.children.map(r=>{for(let i of t.children)if(e.shouldReuseRoute(r.value,i.value.snapshot))return De(e,r,i);return De(e,r)})}function ti(e){return new V(new M(e.url),new M(e.params),new M(e.queryParams),new M(e.fragment),new M(e.data),e.outlet,e.component,e)}var he=class{redirectTo;navigationBehaviorOptions;constructor(n,t){this.redirectTo=n,this.navigationBehaviorOptions=t}},rn="ngNavigationCancelingError";function ct(e,n){let{redirectTo:t,navigationBehaviorOptions:r}=ce(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=nn(!1,C.Redirect);return i.url=t,i.navigationBehaviorOptions=r,i}function nn(e,n){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[rn]=!0,t.cancellationCode=n,t}function ri(e){return on(e)&&ce(e.url)}function on(e){return!!e&&e[rn]}var $t=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,t,r,i,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Tt(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){let i=oe(t);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else o&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=oe(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=oe(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){let i=oe(t);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new ot(o.value.snapshot))}),n.children.length&&this.forwardEvent(new nt(n.value.snapshot))}activateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(Tt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Tt(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},ut=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},se=class{component;route;constructor(n,t){this.component=n,this.route=t}};function ni(e,n,t){let r=e._root,i=n?n._root:null;return Re(r,i,t,[r.value])}function ii(e){let n=e.routeConfig?e.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:e,guards:n}}function ge(e,n){let t=Symbol(),r=n.get(e,t);return r===t?typeof e=="function"&&!cr(e)?e:n.get(e):r}function Re(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=oe(n);return e.children.forEach(s=>{oi(s,o[s.value.outlet],t,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>we(a,t.getContext(s),i)),i}function oi(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=ai(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new ut(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Re(e,n,a?a.children:null,r,i):Re(e,n,t,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new se(a.outlet.component,s))}else s&&we(n,a,i),i.canActivateChecks.push(new ut(r)),o.component?Re(e,null,a?a.children:null,r,i):Re(e,null,t,r,i);return i}function ai(e,n,t){if(typeof t=="function")return N(n._environmentInjector,()=>t(e,n));switch(t){case"pathParamsChange":return!Y(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Y(e.url,n.url)||!x(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!jt(e,n)||!x(e.queryParams,n.queryParams);default:return!jt(e,n)}}function we(e,n,t){let r=oe(e),i=e.value;Object.entries(r).forEach(([o,s])=>{i.component?n?we(s,n.children.getContext(o),t):we(s,null,t):we(s,n,t)}),i.component?n&&n.outlet&&n.outlet.isActivated?t.canDeactivateChecks.push(new se(n.outlet.component,i)):t.canDeactivateChecks.push(new se(null,i)):t.canDeactivateChecks.push(new se(null,i))}function Pe(e){return typeof e=="function"}function si(e){return typeof e=="boolean"}function ci(e){return e&&Pe(e.canLoad)}function ui(e){return e&&Pe(e.canActivate)}function li(e){return e&&Pe(e.canActivateChild)}function di(e){return e&&Pe(e.canDeactivate)}function hi(e){return e&&Pe(e.canMatch)}function an(e){return e instanceof nr||e?.name==="EmptyError"}var He=Symbol("INITIAL_VALUE");function fe(){return U(e=>vt(e.map(n=>n.pipe(ne(1),ar(He)))).pipe(S(n=>{for(let t of n)if(t!==!0){if(t===He)return He;if(t===!1||fi(t))return t}return!0}),re(n=>n!==He),ne(1)))}function fi(e){return ce(e)||e instanceof he}function sn(e){return e.aborted?g(void 0).pipe(ne(1)):new tr(n=>{let t=()=>{n.next(),n.complete()};return e.addEventListener("abort",t),()=>e.removeEventListener("abort",t)})}function cn(e){return $e(sn(e))}function pi(e){return F(n=>{let{targetSnapshot:t,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(A(d({},n),{guardsResult:!0})):gi(o,t,r).pipe(F(s=>s&&si(s)?vi(t,i,e):g(s)),S(s=>A(d({},n),{guardsResult:s})))})}function gi(e,n,t){return D(e).pipe(F(r=>Si(r.component,r.route,t,n)),q(r=>r!==!0,!0))}function vi(e,n,t){return D(n).pipe(yt(r=>ir(yi(r.route.parent,t),mi(r.route,t),Ci(e,r.path),Ri(e,r.route))),q(r=>r!==!0,!0))}function mi(e,n){return e!==null&&n&&n(new it(e)),g(!0)}function yi(e,n){return e!==null&&n&&n(new rt(e)),g(!0)}function Ri(e,n){let t=n.routeConfig?n.routeConfig.canActivate:null;if(!t||t.length===0)return g(!0);let r=t.map(i=>ke(()=>{let o=n._environmentInjector,s=ge(i,o),a=ui(s)?s.canActivate(n,e):N(o,()=>s(n,e));return ee(a).pipe(q())}));return g(r).pipe(fe())}function Ci(e,n){let t=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>ii(o)).filter(o=>o!==null).map(o=>ke(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=ge(a,c),l=li(u)?u.canActivateChild(t,e):N(c,()=>u(t,e));return ee(l).pipe(q())});return g(s).pipe(fe())}));return g(i).pipe(fe())}function Si(e,n,t,r){let i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!i||i.length===0)return g(!0);let o=i.map(s=>{let a=n._environmentInjector,c=ge(s,a),u=di(c)?c.canDeactivate(e,n,t,r):N(a,()=>c(e,n,t,r));return ee(u).pipe(q())});return g(o).pipe(fe())}function wi(e,n,t,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=ge(a,e),u=ci(c)?c.canLoad(n,t):N(e,()=>c(n,t)),l=ee(u);return i?l.pipe(cn(i)):l});return g(s).pipe(fe(),un(r))}function un(e){return er(P(n=>{if(typeof n!="boolean")throw ct(e,n)}),S(n=>n===!0))}function bi(e,n,t,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=ge(c,e),l=hi(u)?u.canMatch(n,t,i):N(e,()=>u(n,t,i));return ee(l).pipe(cn(o))});return g(a).pipe(fe(),un(r))}var k=class e extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,e.prototype)}},Ne=class e extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,e.prototype)}};function Ii(e){throw new R(4e3,!1)}function Ei(e){throw nn(!1,C.GuardRejected)}var zt=class{urlSerializer;urlTree;constructor(n,t){this.urlSerializer=n,this.urlTree=t}async lineralizeSegments(n,t){let r=[],i=t.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[h])throw Ii(`${n.redirectTo}`);i=i.children[h]}}async applyRedirectCommands(n,t,r,i,o){let s=await Ai(t,i,o);if(s instanceof O)throw new Ne(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Ne(a);return a}applyRedirectCreateUrlTree(n,t,r,i){let o=this.createSegmentGroup(n,t.root,r,i);return new O(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,i){let o=this.createSegments(n,t.segments,r,i),s={};return Object.entries(t.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,t,r,i){return t.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,t,r){let i=r[t.path.substring(1)];if(!i)throw new R(4001,!1);return i}findOrReturn(n,t){let r=0;for(let i of t){if(i.path===n.path)return t.splice(r),i;r++}return n}};function Ai(e,n,t){if(typeof e=="string")return Promise.resolve(e);let r=e;return We(ee(N(t,()=>r(n))))}function Mi(e,n){return e.providers&&!e._injector&&(e._injector=It(e.providers,n,`Route: ${e.path}`)),e._injector??n}function L(e){return e.outlet||h}function Ti(e,n){let t=e.filter(r=>L(r)===n);return t.push(...e.filter(r=>L(r)!==n)),t}var Ft={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function ln(e){return{routeConfig:e.routeConfig,url:e.url,params:e.params,queryParams:e.queryParams,fragment:e.fragment,data:e.data,outlet:e.outlet,title:e.title,paramMap:e.paramMap,queryParamMap:e.queryParamMap}}function Di(e,n,t,r,i,o,s){let a=dn(e,n,t);if(!a.matched)return g(a);let c=ln(o(a));return r=Mi(n,r),bi(r,n,t,i,c,s).pipe(S(u=>u===!0?a:d({},Ft)))}function dn(e,n,t){if(n.path==="")return n.pathMatch==="full"&&(e.hasChildren()||t.length>0)?d({},Ft):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Pr)(t,e,n);if(!i)return d({},Ft);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?d(d({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:t.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Or(e,n,t,r,i){return t.length>0&&Oi(e,t,r,i)?{segmentGroup:new v(n,_i(r,new v(t,e.children))),slicedSegments:[]}:t.length===0&&Ui(e,t,r)?{segmentGroup:new v(e.segments,Ni(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new v(e.segments,e.children),slicedSegments:t}}function Ni(e,n,t,r){let i={};for(let o of t)if(dt(e,n,o)&&!r[L(o)]){let s=new v([],{});i[L(o)]=s}return d(d({},r),i)}function _i(e,n){let t={};t[h]=n;for(let r of e)if(r.path===""&&L(r)!==h){let i=new v([],{});t[L(r)]=i}return t}function Oi(e,n,t,r){return t.some(i=>!dt(e,n,i)||!(L(i)!==h)?!1:!(r!==void 0&&L(i)===r))}function Ui(e,n,t){return t.some(r=>dt(e,n,r))}function dt(e,n,t){return(e.hasChildren()||n.length>0)&&t.pathMatch==="full"?!1:t.path===""}function Pi(e,n,t){return n.length===0&&!e.children[t]}var qt=class{};async function Li(e,n,t,r,i,o,s="emptyOnly",a){return new Ht(e,n,t,r,i,s,o,a).recognize()}var xi=31,Ht=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,t,r,i,o,s,a,c){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new zt(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,`'${n.segmentGroup}'`)}async recognize(){let n=Or(this.urlTree.root,[],[],this.config).segmentGroup,{children:t,rootSnapshot:r}=await this.match(n),i=new I(r,t),o=new Te("",i),s=Gr(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(n){let t=new de([],Object.freeze({}),Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),h,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,n,h,t),rootSnapshot:t}}catch(r){if(r instanceof Ne)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof k?this.noMatchError(r):r}}async processSegmentGroup(n,t,r,i,o){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,t,r,o);let s=await this.processSegment(n,t,r,r.segments,i,!0,o);return s instanceof I?[s]:[]}async processChildren(n,t,r,i){let o=[];for(let c of Object.keys(r.children))c==="primary"?o.unshift(c):o.push(c);let s=[];for(let c of o){let u=r.children[c],l=Ti(t,c),p=await this.processSegmentGroup(n,l,u,c,i);s.push(...p)}let a=hn(s);return ji(a),a}async processSegment(n,t,r,i,o,s,a){for(let c of t)try{return await this.processSegmentAgainstRoute(c._injector??n,t,c,r,i,o,s,a)}catch(u){if(u instanceof k||an(u))continue;throw u}if(Pi(r,i,o))return new qt;throw new k(r)}async processSegmentAgainstRoute(n,t,r,i,o,s,a,c){if(L(r)!==s&&(s===h||!dt(i,o,r)))throw new k(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,t,r,o,s,c);throw new k(i)}async expandSegmentAgainstRouteUsingRedirect(n,t,r,i,o,s,a){let{matched:c,parameters:u,consumedSegments:l,positionalParamSegments:p,remainingSegments:m}=dn(t,i,o);if(!c)throw new k(t);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>xi&&(this.allowRedirects=!1));let G=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let j=await this.applyRedirects.applyRedirectCommands(l,i.redirectTo,p,ln(G),n),W=await this.applyRedirects.lineralizeSegments(i,j);return this.processSegment(n,r,t,W.concat(m),s,!1,a)}createSnapshot(n,t,r,i,o){let s=new de(r,i,Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,$i(t),L(t),t.component??t._loadedComponent??null,t,zi(t),n),a=Bt(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(n,t,r,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=je=>this.createSnapshot(n,r,je.consumedSegments,je.parameters,s),c=await We(Di(t,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(t.children={}),!c?.matched)throw new k(t);n=r._injector??n;let{routes:u}=await this.getChildConfig(n,r,i),l=r._loadedInjector??n,{parameters:p,consumedSegments:m,remainingSegments:G}=c,j=this.createSnapshot(n,r,m,p,s),{segmentGroup:W,slicedSegments:ve}=Or(t,m,G,u,o);if(ve.length===0&&W.hasChildren()){let je=await this.processChildren(l,u,W,j);return new I(j,je)}if(u.length===0&&ve.length===0)return new I(j,[]);let pt=L(r)===o,me=await this.processSegment(l,u,W,ve,pt?h:o,!0,j);return new I(j,me instanceof I?[me]:[])}async getChildConfig(n,t,r){if(t.children)return{routes:t.children,injector:n};if(t.loadChildren){if(t._loadedRoutes!==void 0){let o=t._loadedNgModuleFactory;return o&&!t._loadedInjector&&(t._loadedInjector=o.create(n).injector),{routes:t._loadedRoutes,injector:t._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await We(wi(n,t,r,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(n,t);return t._loadedRoutes=o.routes,t._loadedInjector=o.injector,t._loadedNgModuleFactory=o.factory,o}throw Ei(t)}return{routes:[],injector:n}}};function ji(e){e.sort((n,t)=>n.value.outlet===h?-1:t.value.outlet===h?1:n.value.outlet.localeCompare(t.value.outlet))}function ki(e){let n=e.value.routeConfig;return n&&n.path===""}function hn(e){let n=[],t=new Set;for(let r of e){if(!ki(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),t.add(i)):n.push(r)}for(let r of t){let i=hn(r.children);n.push(new I(r.value,i))}return n.filter(r=>!t.has(r))}function $i(e){return e.data||{}}function zi(e){return e.resolve||{}}function Fi(e,n,t,r,i,o,s){return F(async a=>{let{state:c,tree:u}=await Li(e,n,t,r,a.extractedUrl,i,o,s);return A(d({},a),{targetSnapshot:c,urlAfterRedirects:u})})}function qi(e){return F(n=>{let{targetSnapshot:t,guards:{canActivateChecks:r}}=n;if(!r.length)return g(n);let i=new Set(r.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let c of fn(a))o.add(c);let s=0;return D(o).pipe(yt(a=>i.has(a)?Hi(a,t,e):(a.data=Bt(a,a.parent,e).resolve,g(void 0))),P(()=>s++),Rt(1),F(a=>s===o.size?g(n):T))})}function fn(e){let n=e.children.map(t=>fn(t)).flat();return[e,...n]}function Hi(e,n,t){let r=e.routeConfig,i=e._resolve;return r?.title!==void 0&&!en(r)&&(i[_e]=r.title),ke(()=>(e.data=Bt(e,e.parent,t).resolve,Bi(i,e,n).pipe(S(o=>(e._resolvedData=o,e.data=d(d({},e.data),o),null)))))}function Bi(e,n,t){let r=Nt(e);if(r.length===0)return g({});let i={};return D(r).pipe(F(o=>Vi(e[o],n,t).pipe(q(),P(s=>{if(s instanceof he)throw ct(new B,s);i[o]=s}))),Rt(1),S(()=>i),mt(o=>an(o)?T:rr(o)))}function Vi(e,n,t){let r=n._environmentInjector,i=ge(e,r),o=i.resolve?i.resolve(n,t):N(r,()=>i(n,t));return ee(o)}function Ur(e){return U(n=>{let t=e(n);return t?D(t).pipe(S(()=>n)):g(n)})}var Yt=(()=>{class e{buildTitle(t){let r,i=t.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===h);return r}getResolvedTitleForRoute(t){return t.data[_e]}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:()=>f(pn),providedIn:"root"})}return e})(),pn=(()=>{class e extends Yt{title;constructor(t){super(),this.title=t}updateTitle(t){let r=this.buildTitle(t);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||e)(Ct(Ar))};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Le=new b("",{factory:()=>({})}),xe=new b(""),gn=(()=>{class e{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=f(wr);async loadComponent(t,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return Promise.resolve(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await xr(N(t,()=>r.loadComponent())),s=await yn(mn(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}})();return this.componentLoaders.set(r,i),i}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Promise.resolve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await vn(r,this.compiler,t,this.onLoadEndListener);return r._loadedRoutes=o.routes,r._loadedInjector=o.injector,r._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(r)}})();return this.childrenLoaders.set(r,i),i}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();async function vn(e,n,t,r){let i=await xr(N(t,()=>e.loadChildren())),o=await yn(mn(i)),s;o instanceof pr||Array.isArray(o)?s=o:s=await n.compileModuleAsync(o),r&&r(e);let a,c,u=!1,l;return Array.isArray(s)?(c=s,u=!0):(a=s.create(t).injector,l=s,c=a.get(xe,[],{optional:!0,self:!0}).flat()),{routes:c.map(Kt),injector:a,factory:l}}function Gi(e){return e&&typeof e=="object"&&"default"in e}function mn(e){return Gi(e)?e.default:e}async function yn(e){return e}var ht=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:()=>f(Wi),providedIn:"root"})}return e})(),Wi=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Rn=new b("");var Qi=()=>{},Cn=new b(""),Sn=(()=>{class e{currentNavigation=ze(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=ze(null);events=new te;transitionAbortWithErrorSubject=new te;configLoader=f(gn);environmentInjector=f(Q);destroyRef=f(St);urlSerializer=f(Oe);rootContexts=f(pe);location=f(Fe);inputBindingEnabled=f(Ue,{optional:!0})!==null;titleStrategy=f(Yt);options=f(Le,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=f(ht);createViewTransition=f(Rn,{optional:!0});navigationErrorHandler=f(Cn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let t=i=>this.events.next(new et(i)),r=i=>this.events.next(new tt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=t,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(t){let r=++this.navigationId;K(()=>{this.transitions?.next(A(d({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(t){return this.transitions=new M(null),this.transitions.pipe(re(r=>r!==null),U(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(U(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",C.SupersededByNewNavigation),T;this.currentTransition=r;let c=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:c?A(d({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=a.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!u&&l!=="reload")return this.events.next(new z(a.id,this.urlSerializer.serialize(a.rawUrl),"",Ie.IgnoredSameUrlNavigation)),a.resolve(!1),T;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(U(p=>(this.events.next(new J(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?T:Promise.resolve(p))),Fi(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),P(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(m=>(m.finalUrl=p.urlAfterRedirects,m)),this.events.next(new Ae)}),U(p=>D(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(S(()=>p))),P(()=>{let p=new Ee(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)}));if(u&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:p,extractedUrl:m,source:G,restoredState:j,extras:W}=a,ve=new J(p,this.urlSerializer.serialize(m),G,j);this.events.next(ve);let pt=Jr(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=A(d({},a),{targetSnapshot:pt,urlAfterRedirects:m,extras:A(d({},W),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(me=>(me.finalUrl=m,me)),g(r)}else return this.events.next(new z(a.id,this.urlSerializer.serialize(a.extractedUrl),"",Ie.IgnoredByUrlHandlingStrategy)),a.resolve(!1),T}),S(a=>{let c=new Ye(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=A(d({},a),{guards:ni(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),pi(a=>this.events.next(a)),U(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw ct(this.urlSerializer,a.guardsResult);let c=new Ze(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return T;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",C.GuardRejected),T;if(a.guards.canActivateChecks.length===0)return g(a);let u=new Je(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return T;let l=!1;return g(a).pipe(qi(this.paramsInheritanceStrategy),P({next:()=>{l=!0;let p=new Xe(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{l||this.cancelNavigationTransition(a,"",C.NoDataFromResolver)}}))}),Ur(a=>{let c=l=>{let p=[];if(l.routeConfig?._loadedComponent)l.component=l.routeConfig?._loadedComponent;else if(l.routeConfig?.loadComponent){let m=l._environmentInjector;p.push(this.configLoader.loadComponent(m,l.routeConfig).then(G=>{l.component=G}))}for(let m of l.children)p.push(...c(m));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):D(Promise.all(u).then(()=>a))}),Ur(()=>this.afterPreactivation()),U(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?D(u).pipe(S(()=>r)):g(r)}),ne(1),U(a=>{let c=Xn(t.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=A(d({},a),{targetRouterState:c}),this.currentNavigation.update(l=>(l.targetRouterState=c,l)),this.events.next(new ue);let u=r.beforeActivateHandler.deferredHandle;return u?D(u.then(()=>a)):g(a)}),P(a=>{new $t(t.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=Qi,c)),this.lastSuccessfulNavigation.set(K(this.currentNavigation)),this.events.next(new $(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),$e(sn(o.signal).pipe(re(()=>!i&&!r.targetRouterState),P(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",C.Aborted)}))),P({complete:()=>{i=!0}}),$e(this.transitionAbortWithErrorSubject.pipe(P(a=>{throw a}))),or(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",C.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),mt(a=>{if(i=!0,this.destroyed)return r.resolve(!1),T;if(on(a))this.events.next(new _(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),ri(a)?this.events.next(new le(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new X(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=N(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof he){let{message:l,cancellationCode:p}=ct(this.urlSerializer,u);this.events.next(new _(r.id,this.urlSerializer.serialize(r.extractedUrl),l,p)),this.events.next(new le(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return T}))}))}cancelNavigationTransition(t,r,i){let o=new _(t.id,this.urlSerializer.serialize(t.extractedUrl),r,i);this.events.next(o),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let t=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=K(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return t.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ki(e){return e!==Se}var wn=new b("");var bn=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:()=>f(Yi),providedIn:"root"})}return e})(),lt=class{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}shouldDestroyInjector(n){return!0}},Yi=(()=>{class e extends lt{static \u0275fac=(()=>{let t;return function(i){return(t||(t=bt(e)))(i||e)}})();static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Zt=(()=>{class e{urlSerializer=f(Oe);options=f(Le,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=f(Fe);urlHandlingStrategy=f(ht);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new O;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:t,initialUrl:r,targetBrowserUrl:i}){let o=t!==void 0?this.urlHandlingStrategy.merge(t,r):r,s=i??o;return s instanceof O?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:t,finalUrl:r,initialUrl:i}){r&&t?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=t):this.rawUrlTree=i}routerState=Jr(null,f(Q));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:()=>f(Zi),providedIn:"root"})}return e})(),Zi=(()=>{class e extends Zt{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{t(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(t,r){t instanceof J?this.updateStateMemento():t instanceof z?this.commitTransition(r):t instanceof Ee?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof ue?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof _&&!Zr(t)?this.restoreHistory(r):t instanceof X?this.restoreHistory(r,!0):t instanceof $&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(t)||o){let a=this.browserPageId,c=d(d({},s),this.generateNgRouterState(i,a));this.location.replaceState(t,"",c)}else{let a=d(d({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(t,"",a)}}restoreHistory(t,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===t.finalUrl&&o===0&&(this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:t}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=bt(e)))(i||e)}})();static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Jt(e,n){e.events.pipe(re(t=>t instanceof $||t instanceof _||t instanceof X||t instanceof z),S(t=>t instanceof $||t instanceof z?0:(t instanceof _?t.code===C.Redirect||t.code===C.SupersededByNewNavigation:!1)?2:1),re(t=>t!==2),ne(1)).subscribe(()=>{n()})}var ft=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=f(mr);stateManager=f(Zt);options=f(Le,{optional:!0})||{};pendingTasks=f(dr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=f(Sn);urlSerializer=f(Oe);location=f(Fe);urlHandlingStrategy=f(ht);injector=f(Q);_events=new te;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=f(bn);injectorCleanup=f(wn,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=f(xe,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!f(Ue,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:t=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new Xt;subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=K(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof _&&r.code!==C.Redirect&&r.code!==C.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof $)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof le){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),c=d({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Ki(i.source)},s);this.scheduleNavigation(a,Se,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Zn(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Se,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r,i,o)=>{this.navigateToSyncWithBrowser(t,i,r,o)})}navigateToSyncWithBrowser(t,r,i,o){let s=i?.navigationId?i:null;if(i){let c=d({},i);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(t);this.scheduleNavigation(a,r,s,o).catch(c=>{this.disposed||this.injector.get(wt)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return K(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Kt),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,l=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":l=d(d({},this.currentUrlTree.queryParams),o);break;case"preserve":l=this.currentUrlTree.queryParams;break;default:l=o||null}l!==null&&(l=this.removeEmptyProps(l));let p;try{let m=i?i.snapshot:this.routerState.snapshot.root;p=Wr(m)}catch{(typeof t[0]!="string"||t[0][0]!=="/")&&(t=[]),p=this.currentUrlTree.root}return Qr(p,t,l,u??null,this.urlSerializer)}navigateByUrl(t,r={skipLocationChange:!1}){let i=ce(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Se,null,r)}navigate(t,r={skipLocationChange:!1}){return Ji(t),this.navigateByUrl(this.createUrlTree(t,r),r)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.console.warn(sr(4018,!1)),this.urlSerializer.parse("/")}}isActive(t,r){let i;if(r===!0?i=d({},kr):r===!1?i=d({},_t):i=d(d({},_t),r),ce(t))return Mr(this.currentUrlTree,t,i);let o=this.parseUrl(t);return Mr(this.currentUrlTree,o,i)}removeEmptyProps(t){return Object.entries(t).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(t,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,u;s?(a=s.resolve,c=s.reject,u=s.promise):u=new Promise((p,m)=>{a=p,c=m});let l=this.pendingTasks.add();return Jt(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(l))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:a,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(Promise.reject.bind(Promise))}static \u0275fac=function(r){return new(r||e)};static \u0275prov=w({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ji(e){for(let n=0;n<e.length;n++)if(e[n]==null)throw new R(4008,!1)}var to=new b("");function ro(e,...n){return ur([{provide:xe,multi:!0,useValue:e},[],{provide:V,useFactory:no},{provide:Rr,multi:!0,useFactory:oo},n.map(t=>t.\u0275providers)])}function no(){return f(ft).routerState.root}function io(e,n){return{\u0275kind:e,\u0275providers:n}}function oo(){let e=f(lr);return n=>{let t=e.get(Cr);if(n!==t.components[0])return;let r=e.get(ft),i=e.get(ao);e.get(so)===1&&r.initialNavigation(),e.get(co,null,{optional:!0})?.setUpPreloading(),e.get(to,null,{optional:!0})?.init(),r.resetRootComponentType(t.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ao=new b("",{factory:()=>new te}),so=new b("",{factory:()=>1});var co=new b("");function uo(){return io(8,[Wt,{provide:Ue,useExisting:Wt}])}export{J as a,$ as b,_ as c,X as d,Xe as e,V as f,Gt as g,Yt as h,ft as i,ro as j,uo as k};
@@ -1,4 +1,4 @@
1
- import{a as Nt,c as Lt,d as y,e as Rt}from"./chunk-QKL5B4RS.js";import{A as Te,B as Oe,C as jt,a as vt,b as xt,c as Ct,d as wt,i as kt,q as St,r as Pt,s as Et,t as Mt,u as Tt,v as Ot,w as ce,x as de,y as It,z as Ft}from"./chunk-RDYHTZW7.js";import{B as Pe,C as Ee,N as yt,R as Me,S as le,V as X,W as U,c as oe,ca as Dt,ea as At,fa as Ie,j as ye,k as ke,m as ht,p as _t,q as Se,s as re,t as se,u as ae,v as ft,x as he,y as bt}from"./chunk-7EVKMO5A.js";import"./chunk-4SG4352Z.js";import{i as ut,j as mt}from"./chunk-FDJ5FDGM.js";import{$ as et,$a as ot,$b as R,Cb as at,Fa as nt,Fb as L,Ga as J,Gb as W,Hb as w,Hc as ze,Ic as pt,J as Qe,Ja as o,Jb as d,K as be,L as Ye,Mb as lt,N as Je,Nb as ct,Ob as ve,P as k,Pb as xe,U as Ze,Ub as Ve,V as E,Vb as G,W as M,Wb as dt,Xb as me,Ya as z,Yb as l,Za as it,Zb as f,_b as p,ab as rt,ba as tt,bb as K,ga as u,hc as ie,ia as B,jc as gt,ka as Re,kb as v,nb as m,ob as h,pb as st,qb as q,qc as Ce,rb as A,sb as N,tb as _,tc as b,ub as c,vb as a,wb as O,wc as we,xb as x,xc as $,yb as C,zb as ne}from"./chunk-NV5DRQPL.js";import{a as H,b as Y}from"./chunk-WCABR6TI.js";function kn(t,r){if(t&1&&(x(0,"p",6),l(1),C()),t&2){let e=d();o(),R(" ",e.texts.aboutErrorPrefix," ",e.loadError()," ")}}var Vt=(()=>{class t{dataSource=k(X);updateCheck=k(Lt);theme=k(Ie);visible=$.required();texts=y;health=u(null);loadError=u(null);markSrc=b(()=>this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");cliVersion=b(()=>this.updateCheck.current()??this.health()?.implVersion??this.texts.aboutUnknown);specVersion=b(()=>this.health()?.specVersion??this.texts.aboutLoading);schemaVersion=b(()=>this.health()?.schemaVersion??this.texts.aboutLoading);cwd=b(()=>this.health()?.cwd??this.texts.aboutLoading);dbDisplay=b(()=>{let e=this.health();return e?this.texts.aboutDbValue(e.db,Sn(e.dbPath,e.cwd)):this.texts.aboutLoading});constructor(){B(()=>{this.visible()&&this.health()===null&&this.load()})}async load(){this.loadError.set(null);try{let e=await this.dataSource.health();this.health.set(e)}catch(e){let i=e instanceof U||e instanceof Error?e.message:String(e);this.loadError.set(i)}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=z({type:t,selectors:[["sm-settings-about"]],inputs:{visible:[1,"visible"]},decls:57,vars:25,consts:[["aria-labelledby","settings-about-heading","data-testid","settings-about",1,"settings-about"],[1,"settings-about__header"],["alt","","aria-hidden","true","data-testid","settings-about-logo",1,"settings-about__logo",3,"src"],[1,"settings-about__heading-text"],["id","settings-about-heading",1,"settings-about__title"],[1,"settings-about__intro"],["data-testid","settings-about-error",1,"settings-about__error"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-star",1,"settings-about__star",3,"href"],["aria-hidden","true",1,"fa-solid","fa-star","settings-about__star-icon"],[1,"settings-about__star-text"],[1,"settings-about__star-heading"],[1,"settings-about__star-body"],[1,"settings-about__star-cta"],["aria-hidden","true",1,"fa-solid","fa-star"],[1,"settings-about__list"],[1,"settings-about__row"],[1,"settings-about__label"],[1,"settings-about__value"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-website",1,"settings-about__link",3,"href"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-github",1,"settings-about__link",3,"href"],["data-testid","settings-about-cli",1,"settings-about__value"],["data-testid","settings-about-spec",1,"settings-about__value"],["data-testid","settings-about-schema",1,"settings-about__value"],["data-testid","settings-about-cwd",1,"settings-about__value"],["data-testid","settings-about-db",1,"settings-about__value"]],template:function(i,n){i&1&&(x(0,"section",0)(1,"header",1),ne(2,"img",2),x(3,"div",3)(4,"h2",4),l(5),C(),x(6,"p",5),l(7),C()()(),m(8,kn,2,2,"p",6),x(9,"a",7),ne(10,"i",8),x(11,"span",9)(12,"span",10),l(13),C(),x(14,"span",11),l(15),C()(),x(16,"span",12),ne(17,"i",13),l(18),C()(),x(19,"dl",14)(20,"div",15)(21,"dt",16),l(22),C(),x(23,"dd",17)(24,"a",18),l(25),C()()(),x(26,"div",15)(27,"dt",16),l(28),C(),x(29,"dd",17)(30,"a",19),l(31),C()()(),x(32,"div",15)(33,"dt",16),l(34),C(),x(35,"dd",20),l(36),C()(),x(37,"div",15)(38,"dt",16),l(39),C(),x(40,"dd",21),l(41),C()(),x(42,"div",15)(43,"dt",16),l(44),C(),x(45,"dd",22),l(46),C()(),x(47,"div",15)(48,"dt",16),l(49),C(),x(50,"dd",23),l(51),C()(),x(52,"div",15)(53,"dt",16),l(54),C(),x(55,"dd",24),l(56),C()()()()),i&2&&(o(2),W("src",n.markSrc(),J),o(3),p(" ",n.texts.aboutHeading," "),o(2),f(n.texts.aboutIntro),o(),h(n.loadError()?8:-1),o(),W("href",n.texts.aboutGithubUrl,J),v("aria-label",n.texts.aboutStarA11y),o(4),f(n.texts.aboutStarHeading),o(2),f(n.texts.aboutStarBody),o(3),p(" ",n.texts.aboutStarCta," "),o(4),f(n.texts.aboutWebsiteLabel),o(2),W("href",n.texts.aboutWebsiteUrl,J),o(),f(n.texts.aboutWebsiteUrl),o(3),f(n.texts.aboutGithubLabel),o(2),W("href",n.texts.aboutGithubUrl,J),o(),f(n.texts.aboutGithubUrl),o(3),f(n.texts.aboutCliLabel),o(2),p(" ",n.cliVersion()," "),o(3),f(n.texts.aboutSpecLabel),o(2),p(" ",n.specVersion()," "),o(3),f(n.texts.aboutSchemaLabel),o(2),p(" ",n.schemaVersion()," "),o(3),f(n.texts.aboutFolderLabel),o(2),p(" ",n.cwd()," "),o(3),f(n.texts.aboutDbLabel),o(2),p(" ",n.dbDisplay()," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-about[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.settings-about__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.settings-about__logo[_ngcontent-%COMP%]{width:64px;height:64px;flex-shrink:0}.settings-about__heading-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:0}.settings-about__title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:600;margin:0}.settings-about__intro[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);font-size:.875rem}.settings-about__error[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;border-radius:var(--p-border-radius);background:var(--p-message-error-background);color:var(--p-message-error-color);font-size:.875rem}.settings-about__list[_ngcontent-%COMP%]{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.settings-about__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-radius:var(--p-border-radius)}.settings-about__row[_ngcontent-%COMP%]:nth-child(odd){background:var(--p-content-hover-background)}.settings-about__label[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:var(--p-text-muted-color)}.settings-about__value[_ngcontent-%COMP%]{margin:0;font-family:var(--p-monospace-font-family);font-size:.875rem;word-break:break-all}.settings-about__link[_ngcontent-%COMP%]{color:var(--p-primary-color);text-decoration:none}.settings-about__link[_ngcontent-%COMP%]:hover, .settings-about__link[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}.settings-about__star[_ngcontent-%COMP%]{--star-accent: #f4b400;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--p-border-radius);border:1px solid color-mix(in oklab,var(--star-accent) 45%,transparent);background:color-mix(in oklab,var(--star-accent) 12%,transparent);color:var(--p-text-color);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.settings-about__star[_ngcontent-%COMP%]:hover, .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 22%,transparent);border-color:color-mix(in oklab,var(--star-accent) 70%,transparent);transform:translateY(-1px);outline:none}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 18%,transparent);border-color:color-mix(in oklab,var(--star-accent) 55%,transparent)}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 30%,transparent);border-color:var(--star-accent)}.settings-about__star-icon[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--star-accent);flex-shrink:0}.settings-about__star-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-about__star-heading[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem}.settings-about__star-body[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--p-text-muted-color);line-height:1.4}.settings-about__star-cta[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--sm-radius-pill);background:var(--star-accent);color:#1a1a1a;font-weight:600;font-size:.8125rem;white-space:nowrap;flex-shrink:0}.settings-about__star[_ngcontent-%COMP%]:hover .settings-about__star-cta[_ngcontent-%COMP%], .settings-about__star[_ngcontent-%COMP%]:focus-visible .settings-about__star-cta[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 88%,white)}"],changeDetection:0})}return t})();function Sn(t,r){if(!t||!r)return t;let e=r.replace(/[/\\]+$/,"");return t.startsWith(e)?t.slice(e.length).replace(/^[/\\]+/,""):t}var Fe=(()=>{class t{ownerSig=u(null);dirtyCount=b(()=>{let e=this.ownerSig();return e?e.dirtyIds().size:0});register(e){this.ownerSig.set(e)}deregister(e){this.ownerSig()===e&&this.ownerSig.set(null)}async applyChanges(){let e=this.ownerSig();return e?e.applyChanges():{ok:!1}}discardChanges(){this.ownerSig()?.discardChanges()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var zt={schemaVersion:1,entries:[{version:"0.49.0",date:"2026-06-02",kind:"user-facing",highlights:[{body:"**New workspace view**: the file list, graph, and inspector now share one screen. Drag the divider to resize the file rail, click a file to focus its node on the map, and use the tree checkboxes to choose which nodes the map shows (`Show all` clears the selection).",packages:["@skill-map/cli"]}]},{version:"0.48.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"**Card footer icon order restored.** The status icons in the bottom-right of each card are back to their previous order: lifecycle/stability first, then the stale indicator, then warnings and errors on the far right.",packages:["@skill-map/cli"]},{body:"`sm plugins create` now takes the extension kind as a required first argument: `sm plugins create <kind> <plugin-id>` (kinds: provider, extractor, analyzer, action, formatter, hook). Previously it only scaffolded extractors.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"After `sm tutorial`, start the tutorial by typing `run the tutorial` (or `ejecuta el tutorial`), matching the website. The master tutorial uses `run the master tutorial` / `ejecuta el tutorial maestro`.",packages:["@skill-map/cli"]}]},{version:"0.47.1",date:"2026-05-31",kind:"internal",highlights:[]},{version:"0.47.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"skill-map now notices when your local DB schema is out of date (not just an older version): `sm scan` and `sm serve` offer to rebuild the cache, and read commands warn instead of failing with a confusing database error.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Settings \u2192 Plugins now has a unified filter bar (All, then Built-in / Project, then the kinds), so you can quickly isolate your project's own plugins and extensions from the built-ins.",packages:["@skill-map/cli"]},{body:"**Pick your tokenizer.** `tokenizer` in settings.json now selects the encoder for token counts: `cl100k_base` (default, GPT-4) or `o200k_base` (GPT-4o). Any other value is ignored with a warning. Changing it recomputes counts on the next scan.",packages:["@skill-map/cli","@skill-map/spec"]},{body:'When the dev server stops, the UI now shows a "connection lost" banner with a Reconnect button instead of failing silently, and it refreshes automatically once the connection is back.',packages:["@skill-map/cli"]}]},{version:"0.46.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"`sm scan` no longer glues the `Auto-detected activeProvider` notice onto the results line. The auto-detect message now prints on its own line, right above the scan summary.",packages:["@skill-map/cli"]},{body:"`sm plugins --help` (and `db`, `config`, `job`, and the other command groups) now print a tidy overview with a one-line description and a list of their subcommands, matching the look of `sm scan --help`, instead of a terse internal list.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Config cleanup.** Several settings.json keys that never did anything (`i18n`, `providers`, `history`, `autoMigrate`, `scan.followSymlinks`, per-plugin `config` / `extensions`) were removed. If still present they are now ignored and reported with a warning on load.",packages:["@skill-map/cli","@skill-map/spec"]},{body:'`sm plugins list` / `show` and the Settings \u2192 Plugins UI now consistently say "plugin" instead of "bundle". The only place "bundle" remains is the name for toggling a whole plugin (all its extensions) at once.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.45.1",date:"2026-05-30",kind:"internal",highlights:[]},{version:"0.45.0",date:"2026-05-30",kind:"user-facing",highlights:[{body:"`sm tutorial` can now target other agents: `--for agent-skills` (open-standard layout, used by Antigravity and OpenAI Codex) or `--for claude` (default). It now requires an empty directory: run it in a fresh folder, or pass `--force` to seed into the current one.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.44.0",date:"2026-05-30",kind:"user-facing",highlights:[{body:"Under the Antigravity lens, `sm scan` now warns when a `.agents/skills` skill shadows a built-in `agy` slash command (e.g. a skill named `goal` collides with `/goal`), so you can rename it before the runtime silently ignores the file.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"skill-map can now report crashes anonymously to help fix bugs, and it is OFF by default. Turn it on or off in Settings, or set `SKILL_MAP_TELEMETRY=0` to force it off. File contents, paths, and your settings are never sent.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"skill-map can now share anonymous usage (which commands and views you use) to guide development, OFF by default. Toggle CLI usage, UI usage, and error reports independently in Settings, or set `SKILL_MAP_TELEMETRY=0` to force all off. Files and paths are never sent.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.43.0",date:"2026-05-29",kind:"user-facing",highlights:[{body:"The skill-map website and in-app links (Settings, About and the demo banner) now point to **skill-map.ai** (previously skill-map.dev). Spec schema URLs are now `https://skill-map.ai/spec/v0/...`.",packages:["@skill-map/cli","@skill-map/spec","@skill-map/web"]},{body:"Claude skills and commands now show their `disallowed-tools` in the inspector. Tags come only from `.sm` sidecars now: the `sm list --tag-source` flag is removed and cards show a single tag style. Agent Skills `license` / `compatibility` / `metadata` fields are recognized.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"After updating skill-map, the next `sm scan` rebuilds the local database when it was created by an older version (your `.sm` sidecar files are never touched). On a terminal it asks first; pass `--yes` to skip the prompt.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.42.0",date:"2026-05-28",kind:"user-facing",highlights:[{body:"The lens picker in **Settings \u2192 Project** now lists exactly the providers installed in your project. The phantom **Gemini** and **Cursor** options are gone, and **OpenAI Codex** / **Antigravity** now show their correct name and colour on node cards.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.41.0",date:"2026-05-27",kind:"user-facing",highlights:[{body:"New `--max-nodes <N>` on `sm scan` / `sm watch` / `sm serve` caps how many files the walker accepts (default 256, bidirectional). Past the limit, a persistent banner links to **Settings \u2192 Project** to trim `.skillmapignore`.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm -version` and `sm -help` now suggest `--version` / `--help` consistently, even from a directory with no skill-map project.",packages:["@skill-map/cli"]}]},{version:"0.40.1",date:"2026-05-26",kind:"user-facing",highlights:[{body:"Update chip copies the install command on click. Settings copy polished across General + Project. Path is now the second column in the list view. Filtered-empty views unified across List + Graph with a Reset button. Matrix theme retints dropdowns and toggle buttons.",packages:["@skill-map/cli"]}]},{version:"0.40.0",date:"2026-05-26",kind:"user-facing",highlights:[{body:"**Changelog tab is now bounded.** The Settings \u2192 Changelog tab shows the most recent 10 releases and links out to the full changelog on GitHub for older entries.",packages:["@skill-map/cli"]},{body:"Plugins no longer have a bundle-level switch; each extension toggles on its own. `sm plugins disable <bundle>` cascades across the bundle's extensions (multi-extension bundles need `--yes`). The kind filter narrows extensions inside matched bundles instead of leaking siblings.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Cleaner Plugins view.** Settings \u2192 Plugins and `sm plugins show <bundle>` no longer print a per-extension version chip for built-in plugins (they all share the CLI version). External (user-authored) plugins are unchanged and still show per-extension semver.",packages:["@skill-map/cli"]},{body:'`sm scan` summary now splits findings per severity (`N errors \xB7 M warnings \xB7 K info`), colored and collapsed when zero. The graph view gains a third palette to filter cards with errors / warnings; the perf-HUD says "links" instead of "edges".',packages:["@skill-map/cli"]},{body:"**List view** is live. Click **List** in the topbar for a sortable, filterable table of every node (Kind, Name, Tags, Path, Tokens, Stability, Stale, Issues). Click a row to inspect on the graph. Graph card chips now share the same icons as the list.",packages:["@skill-map/cli"]},{body:'Graph cards drop the corner badge for routine warnings; count + tooltip stay on the footer chip. Broken refs now escalate `sm scan` to exit 1 (were exit 0). `sm init` prints the "no provider markers" advisory as a two-line yellow `\u26A0` block.',packages:["@skill-map/cli","@skill-map/spec"]},{body:'`sm check --analyzers <id>` now errors with the valid id list when mistyped, instead of silently saying "No issues." `/invoke` and `@mention` links from any markdown body now contribute to the target\'s `IN`. `sm plugins doctor` summary spells out its bundle + extension split.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.39.0",date:"2026-05-25",kind:"user-facing",highlights:[{body:"Renamed `core/field-unknown` to `core/annotation-field-unknown` so the sidecar typo-guard rule groups with the other `core/annotation-*` rules. Update references in `settings.json` or `sm check --analyzers <id>` to the new name.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Renamed 14 built-in extension ids to a `<area>-<detail>` shape (e.g. `core/broken-ref` is now `core/reference-broken`). If you reference these by qualified id in `settings.json` or via `sm check --analyzers <id>`, update to the new names.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"In dev builds the topbar and the `sm serve` banner now show only the `dev` marker instead of pairing it with the published version number.",packages:["@skill-map/cli"]},{body:"When a scan adds or removes nodes, the graph view animates the camera to frame the new layout, refreshes auto positions so nodes never land on top of each other, and keeps your manually-dragged pins where you put them.",packages:["@skill-map/cli"]},{body:"`sm` log lines now lead with a coloured glyph per level (`\u26A0 WARN`, `\u2715 ERROR`, `\u2139 INFO`) so advisories stand out from the rest of the output.",packages:["@skill-map/cli"]},{body:"In Settings, expanding a bundle plugin (claude, antigravity, openai, agent-skills) now shows the correct per-extension state and the toggles persist, the next scan honours them. `sm plugins list` reflects effective state too.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Plugins always list `core` first across CLI, BFF, and Settings; the project path stays visible in the topbar (truncated with `\u2026` on the LEFT so the project name reaches the eye); and the SPA reconnects on its own when `sm serve` restarts.",packages:["@skill-map/cli"]},{body:'`sm list` IN counts and the inspector\'s "Linked nodes \u2192 INCOMING" now include every `@mention` and `/invoke`, not just markdown links. `sm plugins doctor` no longer raises a spurious `claude/agent` warning on a clean install.',packages:["@skill-map/cli"]}]},{version:"0.38.0",date:"2026-05-24",kind:"user-facing",highlights:[{body:"`sm <verb> --json` now also suppresses info banners on stderr, keeping both streams clean for piping into `jq`.",packages:["@skill-map/cli"]}]},{version:"0.37.0",date:"2026-05-23",kind:"user-facing",highlights:[{body:"`sm scan` now warns once when provider markers on disk drifted since `activeProvider` was set (e.g. you added `.codex/` after picking the `claude` lens). Run `sm config set activeProvider <id>` to switch the lens, or ignore the warn and keep going, it never blocks the scan.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Clearer CLI errors.** Errors from `sm serve`, `bump`, `db`, `plugins`, `refresh`, `list`, `watch`, `graph`, `hooks`, and `sidecar` now print a `\u2715` headline plus a dim hint on the next line. Fixes a `sm refresh` persist-failure that rendered `{{glyph}}` literally.",packages:["@skill-map/cli"]},{body:"`sm` now detects when the local `.skill-map/` DB was written by an incompatible CLI version: newer minor or different major refuses to open with a clear hint; older same-major prints a one-shot warning and continues. Defensive parse errors include the same hint.",packages:["@skill-map/cli"]},{body:'`sm init --force` now also resets the DB (was overwriting only the config files). Solves the "Failed to read scan rows" crash on the first auto-scan when re-initialising a project that already had a DB from an older CLI version.',packages:["@skill-map/cli"]},{body:"**Two scan-time bugs fixed.** Resolved `/slash` and `@mention` links now correctly land at confidence `1.0` (were stuck at the emit floor), and the markdown-link extractor no longer flags `[label](path)` shown inside backticks or fenced code blocks as broken references.",packages:["@skill-map/cli"]},{body:"Cross-provider files (e.g. a `.codex/agents/*.toml` while the lens is `claude`) are no longer claimed by the foreign provider. They surface as plain markdown / unclassified instead, matching how the agent itself would see them at runtime.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Card chips for incoming / outgoing links no longer count self-loops, so a node that links back to itself stops showing inflated 1 in / 1 out. The `core/self-loop` analyzer still surfaces the self-reference as a warning, only the misleading count goes away.",packages:["@skill-map/cli"]},{body:"**CLI + inspector polish.** `sm init` now prompts for the active lens when markers compete; `sm config set activeProvider` rejects unknown ids upfront; error blocks across the CLI gain a `\u2715` glyph + hint; the inspector hides self-loops and paints kinds in their canonical colour.",packages:["@skill-map/cli"]},{body:'**Inspector overhaul.** Links show numeric confidence, a Findings list, per-row issue chips, and per-site "Occurs at" lines. New "External references" section. Self-loops hidden by default. Two new analyzers flag redundant multi-form references and self-loops.',packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm scan` now warns when two extractors detect overlapping byte ranges. The graph keeps the winner; the issue panel explains which detection lost and why, so a markdown link wrapping an `@`-directive no longer looks like silent disappearing intent.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.36.0",date:"2026-05-22",kind:"user-facing",highlights:[{body:"**Gemini CLI support retired.** Antigravity CLI projects (Google's May 2026 replacement) scan via the open-standard `.agents/skills/` paths under the existing `agent-skills` lens. Run `sm config set activeProvider antigravity` to flag a project as Antigravity-flavoured.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Files whose name shadows a built-in are flagged.** A file like `.claude/commands/help.md` now emits a `warn` (Claude's runtime ignores it for its own `/help`), and incoming `/help` edges resolve to it at confidence `0.1` instead of `1.0`.",packages:["@skill-map/cli","@skill-map/spec"]}]}]};var Bt=zt;var En=(t,r)=>r.version;function Mn(t,r){if(t&1&&(x(0,"p",3),l(1),C()),t&2){let e=d();o(),p(" ",e.texts.changelogEmpty," ")}}function Tn(t,r){if(t&1&&(x(0,"p",12),l(1),C()),t&2){let e=d(3);o(),p(" ",e.texts.changelogInternalRelease," ")}}function On(t,r){if(t&1&&(x(0,"li",17),l(1),C()),t&2){let e=r.$implicit;o(),f(e)}}function In(t,r){if(t&1&&(x(0,"ul",16),A(1,On,2,1,"li",17,q),C()),t&2){let e=d().$implicit,i=d(4);v("aria-label",i.texts.changelogAffectedPackages),o(),N(e.packages)}}function Fn(t,r){if(t&1&&(x(0,"li",14),ne(1,"div",15),m(2,In,3,1,"ul",16),C()),t&2){let e=r.$implicit;o(),W("innerHTML",e.bodyHtml,nt),o(),h(e.packages.length?2:-1)}}function jn(t,r){if(t&1&&(x(0,"ul",13),A(1,Fn,3,2,"li",14,st),C()),t&2){let e=d().$implicit;o(),N(e.highlights)}}function Dn(t,r){if(t&1&&(x(0,"li",8)(1,"header",9)(2,"span",10),l(3),C(),x(4,"span",11),l(5),C()(),m(6,Tn,2,1,"p",12)(7,jn,3,0,"ul",13),C()),t&2){let e=r.$implicit;G("settings-changelog__entry--internal",e.kind==="internal"),v("data-testid","settings-changelog-entry-"+e.version),o(3),p("v",e.version),o(2),f(e.date),o(),h(e.kind==="internal"?6:7)}}function An(t,r){if(t&1&&(x(0,"ol",4),A(1,Dn,8,6,"li",7,En),C()),t&2){let e=d();o(),N(e.entries())}}var Nn=10,$t=(()=>{class t{markdown=k(jt);texts=y;entries=u([]);hasEntries=b(()=>this.entries().length>0);ngOnInit(){this.renderAll()}async renderAll(){let e=[],i=Bt.entries.slice(0,Nn);for(let n of i){let s=[];for(let g of n.highlights)s.push({bodyHtml:await this.markdown.render(g.body),packages:g.packages});e.push({version:n.version,date:this.formatDate(n.date),kind:n.kind,highlights:s})}this.entries.set(e)}formatDate(e){let i=new Date(e+"T00:00:00Z");return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}).format(i)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=z({type:t,selectors:[["sm-settings-changelog"]],decls:11,vars:7,consts:[["data-testid","settings-changelog",1,"settings-changelog"],["id","settings-changelog-heading",1,"settings-changelog__title"],[1,"settings-changelog__intro"],["data-testid","settings-changelog-empty",1,"settings-changelog__empty"],["role","list",1,"settings-changelog__list"],["data-testid","settings-changelog-footer",1,"settings-changelog__footer"],["target","_blank","rel","noopener noreferrer",1,"settings-changelog__footer-link",3,"href"],[1,"settings-changelog__entry",3,"settings-changelog__entry--internal"],[1,"settings-changelog__entry"],[1,"settings-changelog__entry-header"],[1,"settings-changelog__version"],[1,"settings-changelog__date"],[1,"settings-changelog__internal-body"],["role","list",1,"settings-changelog__highlights"],[1,"settings-changelog__highlight"],[1,"settings-changelog__highlight-body",3,"innerHTML"],["role","list",1,"settings-changelog__packages"],[1,"settings-changelog__package"]],template:function(i,n){i&1&&(x(0,"section",0)(1,"h2",1),l(2),C(),x(3,"p",2),l(4),C(),m(5,Mn,2,1,"p",3)(6,An,3,0,"ol",4),x(7,"p",5),l(8),x(9,"a",6),l(10),C()()()),i&2&&(v("aria-labelledby","settings-changelog-heading"),o(2),p(" ",n.texts.changelogHeading," "),o(2),f(n.texts.changelogIntro),o(),h(n.hasEntries()?6:5),o(3),p(" ",n.texts.changelogFooterText," "),o(),W("href",n.texts.changelogFooterUrl,J),o(),p(" ",n.texts.changelogFooterLinkLabel," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-changelog__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-changelog__empty[_ngcontent-%COMP%]{margin:1.5rem 0 0;font-size:.9rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.settings-changelog__entry[_ngcontent-%COMP%]{border-left:2px solid var(--p-primary-color);padding:.25rem 0 .25rem .85rem}.settings-changelog__entry--internal[_ngcontent-%COMP%]{border-left-color:var(--sm-border)}.settings-changelog__entry-header[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.45rem}.settings-changelog__version[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.95rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__date[_ngcontent-%COMP%]{font-size:.78rem;color:var(--sm-text-muted)}.settings-changelog__internal-body[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__highlights[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.settings-changelog__highlight[_ngcontent-%COMP%]{font-size:.88rem;line-height:1.5;color:var(--p-text-color)}.settings-changelog__highlight-body[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p+p{margin-top:.45rem}[_nghost-%COMP%] .settings-changelog__highlight-body code{font-family:var(--sm-font-mono);font-size:.82rem;padding:.05rem .3rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--p-text-color)}[_nghost-%COMP%] .settings-changelog__highlight-body a{color:var(--p-primary-color);text-decoration:underline}[_nghost-%COMP%] .settings-changelog__highlight-body strong{font-weight:600}.settings-changelog__packages[_ngcontent-%COMP%]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.settings-changelog__package[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.7rem;padding:.1rem .4rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--sm-text-muted);border:1px solid var(--sm-border);line-height:1.4}.settings-changelog__footer[_ngcontent-%COMP%]{margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--sm-border);font-size:.82rem;color:var(--sm-text-muted);text-align:center}.settings-changelog__footer-link[_ngcontent-%COMP%]{margin-left:.3rem;color:var(--p-primary-color);text-decoration:none;font-weight:500}.settings-changelog__footer-link[_ngcontent-%COMP%]:hover{text-decoration:underline}"],changeDetection:0})}return t})();var Gt=`
1
+ import{a as Nt,c as Lt,d as y,e as Rt}from"./chunk-OYCCFH2S.js";import{A as jt,a as vt,b as xt,c as Ct,d as wt,h as kt,o as St,p as Pt,q as Et,r as Mt,s as Tt,t as Ot,u as ce,v as de,w as It,x as Ft,y as Te,z as Oe}from"./chunk-4N5LGWJ4.js";import{B as Pe,C as Ee,N as yt,R as Me,S as le,V as X,W as U,c as oe,ca as Dt,ea as At,fa as Ie,j as ye,k as ke,m as ht,p as _t,q as Se,s as re,t as se,u as ae,v as ft,x as he,y as bt}from"./chunk-DOWLJNMD.js";import"./chunk-4SG4352Z.js";import{h as ut,i as mt}from"./chunk-WMGW2UAL.js";import{$ as et,$a as K,Ab as at,Db as L,Dc as ze,Ea as nt,Eb as W,Ec as pt,Fa as J,Fb as w,Ha as o,Hb as d,J as Qe,K as be,Kb as lt,L as Ye,Lb as ct,Mb as ve,N as Je,Nb as xe,P as k,Sb as Ve,Tb as G,U as Ze,Ub as dt,V as E,Vb as me,W as M,Wa as z,Wb as l,Xa as it,Xb as f,Yb as p,Za as ot,Zb as R,_a as rt,ba as tt,fc as ie,ga as u,hc as gt,ia as B,ib as v,ka as Re,lb as m,mb as h,nb as st,ob as q,oc as Ce,pb as A,qb as N,rb as _,rc as b,sb as c,sc as we,tb as a,tc as $,ub as O,vb as x,wb as C,xb as ne}from"./chunk-VJ57LHDR.js";import{a as H,b as Y}from"./chunk-WCABR6TI.js";function kn(t,r){if(t&1&&(x(0,"p",6),l(1),C()),t&2){let e=d();o(),R(" ",e.texts.aboutErrorPrefix," ",e.loadError()," ")}}var Vt=(()=>{class t{dataSource=k(X);updateCheck=k(Lt);theme=k(Ie);visible=$.required();texts=y;health=u(null);loadError=u(null);markSrc=b(()=>this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");cliVersion=b(()=>this.updateCheck.current()??this.health()?.implVersion??this.texts.aboutUnknown);specVersion=b(()=>this.health()?.specVersion??this.texts.aboutLoading);schemaVersion=b(()=>this.health()?.schemaVersion??this.texts.aboutLoading);cwd=b(()=>this.health()?.cwd??this.texts.aboutLoading);dbDisplay=b(()=>{let e=this.health();return e?this.texts.aboutDbValue(e.db,Sn(e.dbPath,e.cwd)):this.texts.aboutLoading});constructor(){B(()=>{this.visible()&&this.health()===null&&this.load()})}async load(){this.loadError.set(null);try{let e=await this.dataSource.health();this.health.set(e)}catch(e){let i=e instanceof U||e instanceof Error?e.message:String(e);this.loadError.set(i)}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=z({type:t,selectors:[["sm-settings-about"]],inputs:{visible:[1,"visible"]},decls:57,vars:25,consts:[["aria-labelledby","settings-about-heading","data-testid","settings-about",1,"settings-about"],[1,"settings-about__header"],["alt","","aria-hidden","true","data-testid","settings-about-logo",1,"settings-about__logo",3,"src"],[1,"settings-about__heading-text"],["id","settings-about-heading",1,"settings-about__title"],[1,"settings-about__intro"],["data-testid","settings-about-error",1,"settings-about__error"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-star",1,"settings-about__star",3,"href"],["aria-hidden","true",1,"fa-solid","fa-star","settings-about__star-icon"],[1,"settings-about__star-text"],[1,"settings-about__star-heading"],[1,"settings-about__star-body"],[1,"settings-about__star-cta"],["aria-hidden","true",1,"fa-solid","fa-star"],[1,"settings-about__list"],[1,"settings-about__row"],[1,"settings-about__label"],[1,"settings-about__value"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-website",1,"settings-about__link",3,"href"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-github",1,"settings-about__link",3,"href"],["data-testid","settings-about-cli",1,"settings-about__value"],["data-testid","settings-about-spec",1,"settings-about__value"],["data-testid","settings-about-schema",1,"settings-about__value"],["data-testid","settings-about-cwd",1,"settings-about__value"],["data-testid","settings-about-db",1,"settings-about__value"]],template:function(i,n){i&1&&(x(0,"section",0)(1,"header",1),ne(2,"img",2),x(3,"div",3)(4,"h2",4),l(5),C(),x(6,"p",5),l(7),C()()(),m(8,kn,2,2,"p",6),x(9,"a",7),ne(10,"i",8),x(11,"span",9)(12,"span",10),l(13),C(),x(14,"span",11),l(15),C()(),x(16,"span",12),ne(17,"i",13),l(18),C()(),x(19,"dl",14)(20,"div",15)(21,"dt",16),l(22),C(),x(23,"dd",17)(24,"a",18),l(25),C()()(),x(26,"div",15)(27,"dt",16),l(28),C(),x(29,"dd",17)(30,"a",19),l(31),C()()(),x(32,"div",15)(33,"dt",16),l(34),C(),x(35,"dd",20),l(36),C()(),x(37,"div",15)(38,"dt",16),l(39),C(),x(40,"dd",21),l(41),C()(),x(42,"div",15)(43,"dt",16),l(44),C(),x(45,"dd",22),l(46),C()(),x(47,"div",15)(48,"dt",16),l(49),C(),x(50,"dd",23),l(51),C()(),x(52,"div",15)(53,"dt",16),l(54),C(),x(55,"dd",24),l(56),C()()()()),i&2&&(o(2),W("src",n.markSrc(),J),o(3),p(" ",n.texts.aboutHeading," "),o(2),f(n.texts.aboutIntro),o(),h(n.loadError()?8:-1),o(),W("href",n.texts.aboutGithubUrl,J),v("aria-label",n.texts.aboutStarA11y),o(4),f(n.texts.aboutStarHeading),o(2),f(n.texts.aboutStarBody),o(3),p(" ",n.texts.aboutStarCta," "),o(4),f(n.texts.aboutWebsiteLabel),o(2),W("href",n.texts.aboutWebsiteUrl,J),o(),f(n.texts.aboutWebsiteUrl),o(3),f(n.texts.aboutGithubLabel),o(2),W("href",n.texts.aboutGithubUrl,J),o(),f(n.texts.aboutGithubUrl),o(3),f(n.texts.aboutCliLabel),o(2),p(" ",n.cliVersion()," "),o(3),f(n.texts.aboutSpecLabel),o(2),p(" ",n.specVersion()," "),o(3),f(n.texts.aboutSchemaLabel),o(2),p(" ",n.schemaVersion()," "),o(3),f(n.texts.aboutFolderLabel),o(2),p(" ",n.cwd()," "),o(3),f(n.texts.aboutDbLabel),o(2),p(" ",n.dbDisplay()," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-about[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.settings-about__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.settings-about__logo[_ngcontent-%COMP%]{width:64px;height:64px;flex-shrink:0}.settings-about__heading-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:0}.settings-about__title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:600;margin:0}.settings-about__intro[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);font-size:.875rem}.settings-about__error[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;border-radius:var(--p-border-radius);background:var(--p-message-error-background);color:var(--p-message-error-color);font-size:.875rem}.settings-about__list[_ngcontent-%COMP%]{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.settings-about__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-radius:var(--p-border-radius)}.settings-about__row[_ngcontent-%COMP%]:nth-child(odd){background:var(--p-content-hover-background)}.settings-about__label[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:var(--p-text-muted-color)}.settings-about__value[_ngcontent-%COMP%]{margin:0;font-family:var(--p-monospace-font-family);font-size:.875rem;word-break:break-all}.settings-about__link[_ngcontent-%COMP%]{color:var(--p-primary-color);text-decoration:none}.settings-about__link[_ngcontent-%COMP%]:hover, .settings-about__link[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}.settings-about__star[_ngcontent-%COMP%]{--star-accent: #f4b400;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--p-border-radius);border:1px solid color-mix(in oklab,var(--star-accent) 45%,transparent);background:color-mix(in oklab,var(--star-accent) 12%,transparent);color:var(--p-text-color);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.settings-about__star[_ngcontent-%COMP%]:hover, .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 22%,transparent);border-color:color-mix(in oklab,var(--star-accent) 70%,transparent);transform:translateY(-1px);outline:none}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 18%,transparent);border-color:color-mix(in oklab,var(--star-accent) 55%,transparent)}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 30%,transparent);border-color:var(--star-accent)}.settings-about__star-icon[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--star-accent);flex-shrink:0}.settings-about__star-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-about__star-heading[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem}.settings-about__star-body[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--p-text-muted-color);line-height:1.4}.settings-about__star-cta[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--sm-radius-pill);background:var(--star-accent);color:#1a1a1a;font-weight:600;font-size:.8125rem;white-space:nowrap;flex-shrink:0}.settings-about__star[_ngcontent-%COMP%]:hover .settings-about__star-cta[_ngcontent-%COMP%], .settings-about__star[_ngcontent-%COMP%]:focus-visible .settings-about__star-cta[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 88%,white)}"],changeDetection:0})}return t})();function Sn(t,r){if(!t||!r)return t;let e=r.replace(/[/\\]+$/,"");return t.startsWith(e)?t.slice(e.length).replace(/^[/\\]+/,""):t}var Fe=(()=>{class t{ownerSig=u(null);dirtyCount=b(()=>{let e=this.ownerSig();return e?e.dirtyIds().size:0});register(e){this.ownerSig.set(e)}deregister(e){this.ownerSig()===e&&this.ownerSig.set(null)}async applyChanges(){let e=this.ownerSig();return e?e.applyChanges():{ok:!1}}discardChanges(){this.ownerSig()?.discardChanges()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var zt={schemaVersion:1,entries:[{version:"0.50.0",date:"2026-06-02",kind:"user-facing",highlights:[{body:`The Files and Map tabs are gone: skill-map opens on one screen, file tree left, graph right. Tick files or folders (or the 0/1/2 depth buttons) to pick what the map shows; the tree's map icon isolates a node's whole chain. "Re-arrange layout" tidies just what's visible.`,packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.49.0",date:"2026-06-02",kind:"user-facing",highlights:[{body:"**New workspace view**: the file list, graph, and inspector now share one screen. Drag the divider to resize the file rail, click a file to focus its node on the map, and use the tree checkboxes to choose which nodes the map shows (`Show all` clears the selection).",packages:["@skill-map/cli"]}]},{version:"0.48.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"**Card footer icon order restored.** The status icons in the bottom-right of each card are back to their previous order: lifecycle/stability first, then the stale indicator, then warnings and errors on the far right.",packages:["@skill-map/cli"]},{body:"`sm plugins create` now takes the extension kind as a required first argument: `sm plugins create <kind> <plugin-id>` (kinds: provider, extractor, analyzer, action, formatter, hook). Previously it only scaffolded extractors.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"After `sm tutorial`, start the tutorial by typing `run the tutorial` (or `ejecuta el tutorial`), matching the website. The master tutorial uses `run the master tutorial` / `ejecuta el tutorial maestro`.",packages:["@skill-map/cli"]}]},{version:"0.47.1",date:"2026-05-31",kind:"internal",highlights:[]},{version:"0.47.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"skill-map now notices when your local DB schema is out of date (not just an older version): `sm scan` and `sm serve` offer to rebuild the cache, and read commands warn instead of failing with a confusing database error.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Settings \u2192 Plugins now has a unified filter bar (All, then Built-in / Project, then the kinds), so you can quickly isolate your project's own plugins and extensions from the built-ins.",packages:["@skill-map/cli"]},{body:"**Pick your tokenizer.** `tokenizer` in settings.json now selects the encoder for token counts: `cl100k_base` (default, GPT-4) or `o200k_base` (GPT-4o). Any other value is ignored with a warning. Changing it recomputes counts on the next scan.",packages:["@skill-map/cli","@skill-map/spec"]},{body:'When the dev server stops, the UI now shows a "connection lost" banner with a Reconnect button instead of failing silently, and it refreshes automatically once the connection is back.',packages:["@skill-map/cli"]}]},{version:"0.46.0",date:"2026-05-31",kind:"user-facing",highlights:[{body:"`sm scan` no longer glues the `Auto-detected activeProvider` notice onto the results line. The auto-detect message now prints on its own line, right above the scan summary.",packages:["@skill-map/cli"]},{body:"`sm plugins --help` (and `db`, `config`, `job`, and the other command groups) now print a tidy overview with a one-line description and a list of their subcommands, matching the look of `sm scan --help`, instead of a terse internal list.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Config cleanup.** Several settings.json keys that never did anything (`i18n`, `providers`, `history`, `autoMigrate`, `scan.followSymlinks`, per-plugin `config` / `extensions`) were removed. If still present they are now ignored and reported with a warning on load.",packages:["@skill-map/cli","@skill-map/spec"]},{body:'`sm plugins list` / `show` and the Settings \u2192 Plugins UI now consistently say "plugin" instead of "bundle". The only place "bundle" remains is the name for toggling a whole plugin (all its extensions) at once.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.45.1",date:"2026-05-30",kind:"internal",highlights:[]},{version:"0.45.0",date:"2026-05-30",kind:"user-facing",highlights:[{body:"`sm tutorial` can now target other agents: `--for agent-skills` (open-standard layout, used by Antigravity and OpenAI Codex) or `--for claude` (default). It now requires an empty directory: run it in a fresh folder, or pass `--force` to seed into the current one.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.44.0",date:"2026-05-30",kind:"user-facing",highlights:[{body:"Under the Antigravity lens, `sm scan` now warns when a `.agents/skills` skill shadows a built-in `agy` slash command (e.g. a skill named `goal` collides with `/goal`), so you can rename it before the runtime silently ignores the file.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"skill-map can now report crashes anonymously to help fix bugs, and it is OFF by default. Turn it on or off in Settings, or set `SKILL_MAP_TELEMETRY=0` to force it off. File contents, paths, and your settings are never sent.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"skill-map can now share anonymous usage (which commands and views you use) to guide development, OFF by default. Toggle CLI usage, UI usage, and error reports independently in Settings, or set `SKILL_MAP_TELEMETRY=0` to force all off. Files and paths are never sent.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.43.0",date:"2026-05-29",kind:"user-facing",highlights:[{body:"The skill-map website and in-app links (Settings, About and the demo banner) now point to **skill-map.ai** (previously skill-map.dev). Spec schema URLs are now `https://skill-map.ai/spec/v0/...`.",packages:["@skill-map/cli","@skill-map/spec","@skill-map/web"]},{body:"Claude skills and commands now show their `disallowed-tools` in the inspector. Tags come only from `.sm` sidecars now: the `sm list --tag-source` flag is removed and cards show a single tag style. Agent Skills `license` / `compatibility` / `metadata` fields are recognized.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"After updating skill-map, the next `sm scan` rebuilds the local database when it was created by an older version (your `.sm` sidecar files are never touched). On a terminal it asks first; pass `--yes` to skip the prompt.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.42.0",date:"2026-05-28",kind:"user-facing",highlights:[{body:"The lens picker in **Settings \u2192 Project** now lists exactly the providers installed in your project. The phantom **Gemini** and **Cursor** options are gone, and **OpenAI Codex** / **Antigravity** now show their correct name and colour on node cards.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.41.0",date:"2026-05-27",kind:"user-facing",highlights:[{body:"New `--max-nodes <N>` on `sm scan` / `sm watch` / `sm serve` caps how many files the walker accepts (default 256, bidirectional). Past the limit, a persistent banner links to **Settings \u2192 Project** to trim `.skillmapignore`.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm -version` and `sm -help` now suggest `--version` / `--help` consistently, even from a directory with no skill-map project.",packages:["@skill-map/cli"]}]},{version:"0.40.1",date:"2026-05-26",kind:"user-facing",highlights:[{body:"Update chip copies the install command on click. Settings copy polished across General + Project. Path is now the second column in the list view. Filtered-empty views unified across List + Graph with a Reset button. Matrix theme retints dropdowns and toggle buttons.",packages:["@skill-map/cli"]}]},{version:"0.40.0",date:"2026-05-26",kind:"user-facing",highlights:[{body:"**Changelog tab is now bounded.** The Settings \u2192 Changelog tab shows the most recent 10 releases and links out to the full changelog on GitHub for older entries.",packages:["@skill-map/cli"]},{body:"Plugins no longer have a bundle-level switch; each extension toggles on its own. `sm plugins disable <bundle>` cascades across the bundle's extensions (multi-extension bundles need `--yes`). The kind filter narrows extensions inside matched bundles instead of leaking siblings.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Cleaner Plugins view.** Settings \u2192 Plugins and `sm plugins show <bundle>` no longer print a per-extension version chip for built-in plugins (they all share the CLI version). External (user-authored) plugins are unchanged and still show per-extension semver.",packages:["@skill-map/cli"]},{body:'`sm scan` summary now splits findings per severity (`N errors \xB7 M warnings \xB7 K info`), colored and collapsed when zero. The graph view gains a third palette to filter cards with errors / warnings; the perf-HUD says "links" instead of "edges".',packages:["@skill-map/cli"]},{body:"**List view** is live. Click **List** in the topbar for a sortable, filterable table of every node (Kind, Name, Tags, Path, Tokens, Stability, Stale, Issues). Click a row to inspect on the graph. Graph card chips now share the same icons as the list.",packages:["@skill-map/cli"]},{body:'Graph cards drop the corner badge for routine warnings; count + tooltip stay on the footer chip. Broken refs now escalate `sm scan` to exit 1 (were exit 0). `sm init` prints the "no provider markers" advisory as a two-line yellow `\u26A0` block.',packages:["@skill-map/cli","@skill-map/spec"]},{body:'`sm check --analyzers <id>` now errors with the valid id list when mistyped, instead of silently saying "No issues." `/invoke` and `@mention` links from any markdown body now contribute to the target\'s `IN`. `sm plugins doctor` summary spells out its bundle + extension split.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.39.0",date:"2026-05-25",kind:"user-facing",highlights:[{body:"Renamed `core/field-unknown` to `core/annotation-field-unknown` so the sidecar typo-guard rule groups with the other `core/annotation-*` rules. Update references in `settings.json` or `sm check --analyzers <id>` to the new name.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Renamed 14 built-in extension ids to a `<area>-<detail>` shape (e.g. `core/broken-ref` is now `core/reference-broken`). If you reference these by qualified id in `settings.json` or via `sm check --analyzers <id>`, update to the new names.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"In dev builds the topbar and the `sm serve` banner now show only the `dev` marker instead of pairing it with the published version number.",packages:["@skill-map/cli"]},{body:"When a scan adds or removes nodes, the graph view animates the camera to frame the new layout, refreshes auto positions so nodes never land on top of each other, and keeps your manually-dragged pins where you put them.",packages:["@skill-map/cli"]},{body:"`sm` log lines now lead with a coloured glyph per level (`\u26A0 WARN`, `\u2715 ERROR`, `\u2139 INFO`) so advisories stand out from the rest of the output.",packages:["@skill-map/cli"]},{body:"In Settings, expanding a bundle plugin (claude, antigravity, openai, agent-skills) now shows the correct per-extension state and the toggles persist, the next scan honours them. `sm plugins list` reflects effective state too.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Plugins always list `core` first across CLI, BFF, and Settings; the project path stays visible in the topbar (truncated with `\u2026` on the LEFT so the project name reaches the eye); and the SPA reconnects on its own when `sm serve` restarts.",packages:["@skill-map/cli"]},{body:'`sm list` IN counts and the inspector\'s "Linked nodes \u2192 INCOMING" now include every `@mention` and `/invoke`, not just markdown links. `sm plugins doctor` no longer raises a spurious `claude/agent` warning on a clean install.',packages:["@skill-map/cli"]}]},{version:"0.38.0",date:"2026-05-24",kind:"user-facing",highlights:[{body:"`sm <verb> --json` now also suppresses info banners on stderr, keeping both streams clean for piping into `jq`.",packages:["@skill-map/cli"]}]},{version:"0.37.0",date:"2026-05-23",kind:"user-facing",highlights:[{body:"`sm scan` now warns once when provider markers on disk drifted since `activeProvider` was set (e.g. you added `.codex/` after picking the `claude` lens). Run `sm config set activeProvider <id>` to switch the lens, or ignore the warn and keep going, it never blocks the scan.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Clearer CLI errors.** Errors from `sm serve`, `bump`, `db`, `plugins`, `refresh`, `list`, `watch`, `graph`, `hooks`, and `sidecar` now print a `\u2715` headline plus a dim hint on the next line. Fixes a `sm refresh` persist-failure that rendered `{{glyph}}` literally.",packages:["@skill-map/cli"]},{body:"`sm` now detects when the local `.skill-map/` DB was written by an incompatible CLI version: newer minor or different major refuses to open with a clear hint; older same-major prints a one-shot warning and continues. Defensive parse errors include the same hint.",packages:["@skill-map/cli"]},{body:'`sm init --force` now also resets the DB (was overwriting only the config files). Solves the "Failed to read scan rows" crash on the first auto-scan when re-initialising a project that already had a DB from an older CLI version.',packages:["@skill-map/cli"]},{body:"**Two scan-time bugs fixed.** Resolved `/slash` and `@mention` links now correctly land at confidence `1.0` (were stuck at the emit floor), and the markdown-link extractor no longer flags `[label](path)` shown inside backticks or fenced code blocks as broken references.",packages:["@skill-map/cli"]},{body:"Cross-provider files (e.g. a `.codex/agents/*.toml` while the lens is `claude`) are no longer claimed by the foreign provider. They surface as plain markdown / unclassified instead, matching how the agent itself would see them at runtime.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Card chips for incoming / outgoing links no longer count self-loops, so a node that links back to itself stops showing inflated 1 in / 1 out. The `core/self-loop` analyzer still surfaces the self-reference as a warning, only the misleading count goes away.",packages:["@skill-map/cli"]},{body:"**CLI + inspector polish.** `sm init` now prompts for the active lens when markers compete; `sm config set activeProvider` rejects unknown ids upfront; error blocks across the CLI gain a `\u2715` glyph + hint; the inspector hides self-loops and paints kinds in their canonical colour.",packages:["@skill-map/cli"]},{body:'**Inspector overhaul.** Links show numeric confidence, a Findings list, per-row issue chips, and per-site "Occurs at" lines. New "External references" section. Self-loops hidden by default. Two new analyzers flag redundant multi-form references and self-loops.',packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm scan` now warns when two extractors detect overlapping byte ranges. The graph keeps the winner; the issue panel explains which detection lost and why, so a markdown link wrapping an `@`-directive no longer looks like silent disappearing intent.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.36.0",date:"2026-05-22",kind:"user-facing",highlights:[{body:"**Gemini CLI support retired.** Antigravity CLI projects (Google's May 2026 replacement) scan via the open-standard `.agents/skills/` paths under the existing `agent-skills` lens. Run `sm config set activeProvider antigravity` to flag a project as Antigravity-flavoured.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Files whose name shadows a built-in are flagged.** A file like `.claude/commands/help.md` now emits a `warn` (Claude's runtime ignores it for its own `/help`), and incoming `/help` edges resolve to it at confidence `0.1` instead of `1.0`.",packages:["@skill-map/cli","@skill-map/spec"]}]}]};var Bt=zt;var En=(t,r)=>r.version;function Mn(t,r){if(t&1&&(x(0,"p",3),l(1),C()),t&2){let e=d();o(),p(" ",e.texts.changelogEmpty," ")}}function Tn(t,r){if(t&1&&(x(0,"p",12),l(1),C()),t&2){let e=d(3);o(),p(" ",e.texts.changelogInternalRelease," ")}}function On(t,r){if(t&1&&(x(0,"li",17),l(1),C()),t&2){let e=r.$implicit;o(),f(e)}}function In(t,r){if(t&1&&(x(0,"ul",16),A(1,On,2,1,"li",17,q),C()),t&2){let e=d().$implicit,i=d(4);v("aria-label",i.texts.changelogAffectedPackages),o(),N(e.packages)}}function Fn(t,r){if(t&1&&(x(0,"li",14),ne(1,"div",15),m(2,In,3,1,"ul",16),C()),t&2){let e=r.$implicit;o(),W("innerHTML",e.bodyHtml,nt),o(),h(e.packages.length?2:-1)}}function jn(t,r){if(t&1&&(x(0,"ul",13),A(1,Fn,3,2,"li",14,st),C()),t&2){let e=d().$implicit;o(),N(e.highlights)}}function Dn(t,r){if(t&1&&(x(0,"li",8)(1,"header",9)(2,"span",10),l(3),C(),x(4,"span",11),l(5),C()(),m(6,Tn,2,1,"p",12)(7,jn,3,0,"ul",13),C()),t&2){let e=r.$implicit;G("settings-changelog__entry--internal",e.kind==="internal"),v("data-testid","settings-changelog-entry-"+e.version),o(3),p("v",e.version),o(2),f(e.date),o(),h(e.kind==="internal"?6:7)}}function An(t,r){if(t&1&&(x(0,"ol",4),A(1,Dn,8,6,"li",7,En),C()),t&2){let e=d();o(),N(e.entries())}}var Nn=10,$t=(()=>{class t{markdown=k(jt);texts=y;entries=u([]);hasEntries=b(()=>this.entries().length>0);ngOnInit(){this.renderAll()}async renderAll(){let e=[],i=Bt.entries.slice(0,Nn);for(let n of i){let s=[];for(let g of n.highlights)s.push({bodyHtml:await this.markdown.render(g.body),packages:g.packages});e.push({version:n.version,date:this.formatDate(n.date),kind:n.kind,highlights:s})}this.entries.set(e)}formatDate(e){let i=new Date(e+"T00:00:00Z");return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}).format(i)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=z({type:t,selectors:[["sm-settings-changelog"]],decls:11,vars:7,consts:[["data-testid","settings-changelog",1,"settings-changelog"],["id","settings-changelog-heading",1,"settings-changelog__title"],[1,"settings-changelog__intro"],["data-testid","settings-changelog-empty",1,"settings-changelog__empty"],["role","list",1,"settings-changelog__list"],["data-testid","settings-changelog-footer",1,"settings-changelog__footer"],["target","_blank","rel","noopener noreferrer",1,"settings-changelog__footer-link",3,"href"],[1,"settings-changelog__entry",3,"settings-changelog__entry--internal"],[1,"settings-changelog__entry"],[1,"settings-changelog__entry-header"],[1,"settings-changelog__version"],[1,"settings-changelog__date"],[1,"settings-changelog__internal-body"],["role","list",1,"settings-changelog__highlights"],[1,"settings-changelog__highlight"],[1,"settings-changelog__highlight-body",3,"innerHTML"],["role","list",1,"settings-changelog__packages"],[1,"settings-changelog__package"]],template:function(i,n){i&1&&(x(0,"section",0)(1,"h2",1),l(2),C(),x(3,"p",2),l(4),C(),m(5,Mn,2,1,"p",3)(6,An,3,0,"ol",4),x(7,"p",5),l(8),x(9,"a",6),l(10),C()()()),i&2&&(v("aria-labelledby","settings-changelog-heading"),o(2),p(" ",n.texts.changelogHeading," "),o(2),f(n.texts.changelogIntro),o(),h(n.hasEntries()?6:5),o(3),p(" ",n.texts.changelogFooterText," "),o(),W("href",n.texts.changelogFooterUrl,J),o(),p(" ",n.texts.changelogFooterLinkLabel," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-changelog__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-changelog__empty[_ngcontent-%COMP%]{margin:1.5rem 0 0;font-size:.9rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.settings-changelog__entry[_ngcontent-%COMP%]{border-left:2px solid var(--p-primary-color);padding:.25rem 0 .25rem .85rem}.settings-changelog__entry--internal[_ngcontent-%COMP%]{border-left-color:var(--sm-border)}.settings-changelog__entry-header[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.45rem}.settings-changelog__version[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.95rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__date[_ngcontent-%COMP%]{font-size:.78rem;color:var(--sm-text-muted)}.settings-changelog__internal-body[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__highlights[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.settings-changelog__highlight[_ngcontent-%COMP%]{font-size:.88rem;line-height:1.5;color:var(--p-text-color)}.settings-changelog__highlight-body[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p+p{margin-top:.45rem}[_nghost-%COMP%] .settings-changelog__highlight-body code{font-family:var(--sm-font-mono);font-size:.82rem;padding:.05rem .3rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--p-text-color)}[_nghost-%COMP%] .settings-changelog__highlight-body a{color:var(--p-primary-color);text-decoration:underline}[_nghost-%COMP%] .settings-changelog__highlight-body strong{font-weight:600}.settings-changelog__packages[_ngcontent-%COMP%]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.settings-changelog__package[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.7rem;padding:.1rem .4rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--sm-text-muted);border:1px solid var(--sm-border);line-height:1.4}.settings-changelog__footer[_ngcontent-%COMP%]{margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--sm-border);font-size:.82rem;color:var(--sm-text-muted);text-align:center}.settings-changelog__footer-link[_ngcontent-%COMP%]{margin-left:.3rem;color:var(--p-primary-color);text-decoration:none;font-weight:500}.settings-changelog__footer-link[_ngcontent-%COMP%]:hover{text-decoration:underline}"],changeDetection:0})}return t})();var Gt=`
2
2
  .p-toggleswitch {
3
3
  display: inline-block;
4
4
  width: dt('toggleswitch.width');
@@ -1,4 +1,4 @@
1
- import{a as tm,b as nm,c as rm,d as om,e as im,i as sm}from"./chunk-OUNBYGMY.js";import{o as em}from"./chunk-FDJ5FDGM.js";import{F as Ra,G as fl,K as pl,L as Kd,O as dl,Sa as Xd,Za as Qd,_a as Zd,a as Vd,ma as Jd,u as va}from"./chunk-NV5DRQPL.js";import{a as p,b as E,d as qt,f as Yd}from"./chunk-WCABR6TI.js";var b=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var C=globalThis;var Pt="10.55.0";function pt(){return pr(C),C}function pr(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Pt,t[Pt]=t[Pt]||{}}function sn(e,t,n=C){let r=n.__SENTRY__=n.__SENTRY__||{},o=r[Pt]=r[Pt]||{};return o[e]||(o[e]=t())}var dr=["debug","info","warn","error","log","assert","trace"],Wy="Sentry Logger ",Wr={};function Fe(e){if(!("console"in C))return e();let t=C.console,n={},r=Object.keys(Wr);r.forEach(o=>{let i=Wr[o];n[o]=t[o],t[o]=i});try{return e()}finally{r.forEach(o=>{t[o]=n[o]})}}function jy(){_l().enabled=!0}function zy(){_l().enabled=!1}function am(){return _l().enabled}function qy(...e){ml("log",...e)}function Yy(...e){ml("warn",...e)}function Vy(...e){ml("error",...e)}function ml(e,...t){b&&am()&&Fe(()=>{C.console[e](`${Wy}[${e}]:`,...t)})}function _l(){return b?sn("loggerSettings",()=>({enabled:!1})):{enabled:!1}}var h={enable:jy,disable:zy,isEnabled:am,log:qy,warn:Yy,error:Vy};var cm=/\(error: (.*)\)/,um=/captureMessage|captureException/;function zi(...e){let t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,o=0)=>{let i=[],s=n.split(`
1
+ import{a as tm,b as nm,c as rm,d as om,e as im,i as sm}from"./chunk-AEA5GIA7.js";import{n as em}from"./chunk-WMGW2UAL.js";import{F as Ra,G as fl,K as pl,L as Kd,O as dl,Qa as Xd,Xa as Qd,Ya as Zd,a as Vd,la as Jd,u as va}from"./chunk-VJ57LHDR.js";import{a as p,b as E,d as qt,f as Yd}from"./chunk-WCABR6TI.js";var b=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var C=globalThis;var Pt="10.55.0";function pt(){return pr(C),C}function pr(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Pt,t[Pt]=t[Pt]||{}}function sn(e,t,n=C){let r=n.__SENTRY__=n.__SENTRY__||{},o=r[Pt]=r[Pt]||{};return o[e]||(o[e]=t())}var dr=["debug","info","warn","error","log","assert","trace"],Wy="Sentry Logger ",Wr={};function Fe(e){if(!("console"in C))return e();let t=C.console,n={},r=Object.keys(Wr);r.forEach(o=>{let i=Wr[o];n[o]=t[o],t[o]=i});try{return e()}finally{r.forEach(o=>{t[o]=n[o]})}}function jy(){_l().enabled=!0}function zy(){_l().enabled=!1}function am(){return _l().enabled}function qy(...e){ml("log",...e)}function Yy(...e){ml("warn",...e)}function Vy(...e){ml("error",...e)}function ml(e,...t){b&&am()&&Fe(()=>{C.console[e](`${Wy}[${e}]:`,...t)})}function _l(){return b?sn("loggerSettings",()=>({enabled:!1})):{enabled:!1}}var h={enable:jy,disable:zy,isEnabled:am,log:qy,warn:Yy,error:Vy};var cm=/\(error: (.*)\)/,um=/captureMessage|captureException/;function zi(...e){let t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,o=0)=>{let i=[],s=n.split(`
2
2
  `);for(let a=r;a<s.length;a++){let c=s[a];c.length>1024&&(c=c.slice(0,1024));let u=cm.test(c)?c.replace(cm,"$1"):c;if(!u.includes("Error: ")){for(let f of t){let l=f(u);if(l){i.push(l);break}}if(i.length>=50+o)break}}return gl(i.slice(o))}}function Ca(e){return Array.isArray(e)?zi(...e):e}function gl(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(Na(t).function||"")&&t.pop(),t.reverse(),um.test(Na(t).function||"")&&(t.pop(),um.test(Na(t).function||"")&&t.pop()),t.slice(0,50).map(n=>E(p({},n),{filename:n.filename||Na(t).filename,function:n.function||"?"}))}function Na(e){return e[e.length-1]||{}}var hl="<anonymous>";function dt(e){try{return!e||typeof e!="function"?hl:e.name||hl}catch{return hl}}function jr(e){let t=e.exception;if(t){let n=[];try{return t.values.forEach(r=>{r.stacktrace.frames&&n.push(...r.stacktrace.frames)}),n}catch{return}}}function lm(e){let t=e?.startsWith("file://")?e.slice(7):e;return t?.match(/\/[A-Z]:/)&&(t=t.slice(1)),t}var qi={},fm={};function rt(e,t){return qi[e]=qi[e]||[],qi[e].push(t),()=>{let n=qi[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1)}}}function ot(e,t){if(!fm[e]){fm[e]=!0;try{t()}catch(n){b&&h.error(`Error while instrumenting ${e}`,n)}}}function $e(e,t){let n=e&&qi[e];if(n)for(let r of n)try{r(t)}catch(o){b&&h.error(`Error while triggering instrumentation handler.
3
3
  Type: ${e}
4
4
  Name: ${dt(r)}