@whoz-oss/coday-client 0.205.0 → 0.207.2
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/browser/chunk-22RX22JY.js +1 -0
- package/browser/{chunk-IZMOVLXM.js → chunk-243E2GWV.js} +1 -1
- package/browser/chunk-26MGIRJF.js +1 -0
- package/browser/{chunk-E5MP3JT3.js → chunk-2O4IDVFE.js} +1 -1
- package/browser/chunk-2P74VZU4.js +1 -0
- package/browser/chunk-3AOPEZPX.js +1 -0
- package/browser/{chunk-T7LK5WIK.js → chunk-3IOIMTCZ.js} +1 -1
- package/browser/{chunk-IZ232KSX.js → chunk-3NE2UZIY.js} +1 -1
- package/browser/{chunk-BM7HTRD4.js → chunk-3NOI65IY.js} +1 -1
- package/browser/{chunk-ZFLT2KNY.js → chunk-43DMEMMQ.js} +1 -1
- package/browser/{chunk-TIPIHEBG.js → chunk-4F2LQOD7.js} +1 -1
- package/browser/{chunk-OCT6NWLB.js → chunk-4JBCVOGN.js} +1 -1
- package/browser/{chunk-DIAV5ZVT.js → chunk-4KEHW6KL.js} +1 -1
- package/browser/{chunk-MLSIHZ2T.js → chunk-4NGQR26Q.js} +1 -1
- package/browser/{chunk-W2DFJLOU.js → chunk-5CBZIB6D.js} +1 -1
- package/browser/chunk-5J7BTB5J.js +5 -0
- package/browser/{chunk-CREVHCXF.js → chunk-5K5EFCNT.js} +1 -1
- package/browser/chunk-5OPQ2IC6.js +1 -0
- package/browser/{chunk-2KD6MSFI.js → chunk-5VKJNF6W.js} +1 -1
- package/browser/{chunk-PN75DG7I.js → chunk-6RZUBD7A.js} +1 -1
- package/browser/chunk-6VCRRGXF.js +1 -0
- package/browser/{chunk-H7A4LOFH.js → chunk-7MQRVE7E.js} +1 -1
- package/browser/{chunk-H2NKOG3U.js → chunk-7V5RIRTC.js} +1 -1
- package/browser/{chunk-T6U3WDDW.js → chunk-A2R5GVPT.js} +1 -1
- package/browser/{chunk-AV7DTXWS.js → chunk-ATKHLJJ3.js} +1 -1
- package/browser/{chunk-GN7KRTUQ.js → chunk-BGEXT3EN.js} +1 -1
- package/browser/chunk-BMUZTI7K.js +1 -0
- package/browser/{chunk-WRTC44LF.js → chunk-BQHUHW7P.js} +1 -1
- package/browser/chunk-CCPU2LL3.js +1 -0
- package/browser/{chunk-TANV4K2Q.js → chunk-CRMVKTOY.js} +1 -1
- package/browser/chunk-CU4C25HM.js +1 -0
- package/browser/{chunk-YQAOEJN2.js → chunk-DVSVPID7.js} +1 -1
- package/browser/{chunk-TZKO65ML.js → chunk-E3XC4CVU.js} +1 -1
- package/browser/{chunk-Q7GPLEGX.js → chunk-EQXGFCI5.js} +1 -1
- package/browser/{chunk-BWBXJSAF.js → chunk-F42BGKID.js} +1 -1
- package/browser/{chunk-QJ3OBGZZ.js → chunk-FAM7HWYV.js} +1 -1
- package/browser/{chunk-ZH3XQHLJ.js → chunk-FEJVBWEX.js} +1 -1
- package/browser/{chunk-UFOTGZBF.js → chunk-FMAU2O5I.js} +1 -1
- package/browser/{chunk-X4OBCZKS.js → chunk-FOAW6HUH.js} +1 -1
- package/browser/{chunk-JEGJL4TT.js → chunk-FTVXDMJT.js} +1 -1
- package/browser/chunk-G2BRVRGR.js +1 -0
- package/browser/{chunk-24EMVCMJ.js → chunk-GUB4VYOT.js} +1 -1
- package/browser/{chunk-XIWUSJ3U.js → chunk-H27HCS4L.js} +1 -1
- package/browser/{chunk-EJH5VPZT.js → chunk-HE2ON544.js} +1 -1
- package/browser/{chunk-7UX5UET4.js → chunk-HO4VUFE6.js} +1 -1
- package/browser/{chunk-MQIE2KBB.js → chunk-HQZLHG3V.js} +1 -1
- package/browser/{chunk-7DUVQCGC.js → chunk-IOREZEED.js} +1 -1
- package/browser/{chunk-RI2JQRSB.js → chunk-IRZNRZ5Q.js} +1 -1
- package/browser/{chunk-4OZZANXO.js → chunk-JIHPEYRG.js} +1 -1
- package/browser/{chunk-SUCGKO3W.js → chunk-K4C36S6V.js} +1 -1
- package/browser/{chunk-2XIUD7DV.js → chunk-KZJRQ6RN.js} +1 -1
- package/browser/{chunk-7BYLIOKV.js → chunk-LBMJRBEQ.js} +1 -1
- package/browser/{chunk-ETLSYFBB.js → chunk-LH4ATU27.js} +1 -1
- package/browser/{chunk-EMS3MOSZ.js → chunk-LM2BKZRF.js} +1 -1
- package/browser/chunk-LMFI6Y77.js +1 -0
- package/browser/{chunk-ATOA52OV.js → chunk-LRKPIL3B.js} +1 -1
- package/browser/chunk-LX5DYIMF.js +1 -0
- package/browser/chunk-M6ORKUDA.js +1 -0
- package/browser/{chunk-JLGR5C43.js → chunk-M7LNEVHA.js} +1 -1
- package/browser/{chunk-O4JNY3IM.js → chunk-ND3PB3FA.js} +1 -1
- package/browser/{chunk-POQ6PK6P.js → chunk-NIWF7LLH.js} +1 -1
- package/browser/{chunk-RBAVAHXW.js → chunk-OBV4LQBZ.js} +1 -1
- package/browser/chunk-OSQQAYJZ.js +1 -0
- package/browser/{chunk-4URCDOMP.js → chunk-PKBNMAQJ.js} +1 -1
- package/browser/{chunk-JHMFWXB4.js → chunk-PNFA7PN2.js} +1 -1
- package/browser/{chunk-YTTJDHQV.js → chunk-PRFGHN7L.js} +1 -1
- package/browser/{chunk-4RQXBHNU.js → chunk-RJBF3TIH.js} +1 -1
- package/browser/chunk-RRBTVPFV.js +1 -0
- package/browser/{chunk-PZWORCU2.js → chunk-S7MAZ5PQ.js} +1 -1
- package/browser/chunk-SCK76QV6.js +1 -0
- package/browser/chunk-SF7PCURW.js +1 -0
- package/browser/{chunk-SR3JKZ3U.js → chunk-TG75SVZ4.js} +1 -1
- package/browser/{chunk-IWORAUIR.js → chunk-TS6GGNWA.js} +1 -1
- package/browser/{chunk-5RSIAFID.js → chunk-TZMTC2HL.js} +1 -1
- package/browser/chunk-UAHCUD67.js +1 -0
- package/browser/chunk-UDA26TV3.js +1 -0
- package/browser/chunk-URX4BP67.js +1 -0
- package/browser/chunk-VHC775VZ.js +1 -0
- package/browser/chunk-VIDPCJ3F.js +1 -0
- package/browser/{chunk-RFEQZZ65.js → chunk-VYU454KQ.js} +1 -1
- package/browser/{chunk-J6XN2QQO.js → chunk-W6TYWCQH.js} +1 -1
- package/browser/{chunk-XG3WOI3P.js → chunk-WLSXA23B.js} +1 -1
- package/browser/{chunk-34XXAW4B.js → chunk-WN6IHVRI.js} +1 -1
- package/browser/{chunk-5ZZOXT2B.js → chunk-WQ5AIKDC.js} +1 -1
- package/browser/{chunk-FPE2L5B6.js → chunk-XBPK63K2.js} +1 -1
- package/browser/chunk-Y6K6VJYJ.js +1 -0
- package/browser/{chunk-6J2HD2IJ.js → chunk-ZU7FZEK3.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-INQHHK2Q.js → main-VRT323QR.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-5YY3K2H4.js +0 -1
- package/browser/chunk-EU6MUKDF.js +0 -1
- package/browser/chunk-FUVTYKQF.js +0 -1
- package/browser/chunk-GTY23DMS.js +0 -1
- package/browser/chunk-HMFECYUP.js +0 -1
- package/browser/chunk-HNNYFORJ.js +0 -1
- package/browser/chunk-IGOUE2XE.js +0 -1
- package/browser/chunk-J3CZ3MOZ.js +0 -1
- package/browser/chunk-JTM5UHB2.js +0 -1
- package/browser/chunk-KO4MDPCD.js +0 -1
- package/browser/chunk-KP7JXEQ6.js +0 -1
- package/browser/chunk-LN6ED2HF.js +0 -1
- package/browser/chunk-LT6BGRWZ.js +0 -1
- package/browser/chunk-OQBPCHYW.js +0 -1
- package/browser/chunk-P6D3VN2I.js +0 -1
- package/browser/chunk-PCPMONQV.js +0 -1
- package/browser/chunk-QWADOF7R.js +0 -1
- package/browser/chunk-RYEX2DR7.js +0 -5
- package/browser/chunk-S4E4KZRV.js +0 -1
- package/browser/chunk-SK7JAK5K.js +0 -1
- package/browser/chunk-TJUGTTPT.js +0 -1
- package/browser/chunk-TPZGV5NA.js +0 -1
- package/browser/chunk-YJA5A4XF.js +0 -1
- package/browser/chunk-ZTCAFSDX.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as i}from"./chunk-
|
|
1
|
+
import{c as i}from"./chunk-EQXGFCI5.js";import{b as s}from"./chunk-7MQRVE7E.js";import{Wa as o,ca as t,ub as r}from"./chunk-5J7BTB5J.js";var l=class n{constructor(){t(i)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=o({type:n,selectors:[["agentos-shell"]],decls:1,vars:0,template:function(e,c){e&1&&r(0,"router-outlet")},dependencies:[s],styles:[".shell-loader[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--color-text-secondary, #6e6e73);font-size:.9rem}.shell-loader[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.spinner[_ngcontent-%COMP%]{width:32px;height:32px;border:3px solid var(--color-border, rgba(0, 0, 0, .1));border-top-color:var(--color-primary, #007aff);border-radius:50%;animation:_ngcontent-%COMP%_spin .8s linear infinite}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}"]})};export{l as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _e}from"./chunk-RI2JQRSB.js";import{a as he,b as fe}from"./chunk-QJ3OBGZZ.js";import{E as ke,c as be,g as ve,m as ye,x as xe,y as Ce,z as Te}from"./chunk-XG3WOI3P.js";import{O as ge,S as ue}from"./chunk-TZKO65ML.js";import{Bb as se,Db as P,Dc as ce,Eb as de,Fb as g,Ka as s,Kc as D,Qb as me,Sc as Z,Tb as a,Tc as pe,Ub as m,Vb as E,Wa as L,Z as H,Za as Q,a as R,b as A,ca as M,dc as x,fc as w,ga as $,gc as G,ha as V,ia as O,ja as ae,jb as b,kb as re,kc as p,lb as v,ma as ie,mb as y,pb as I,qb as N,rb as S,sb as r,ta as h,tb as l,ub as le,vb as c,wb as _,xb as T,z as oe}from"./chunk-RYEX2DR7.js";var Fe=(o,t)=>t.date,Re=(o,t)=>t.x,Ae=(o,t)=>t.label;function He(o,t){o&1&&(c(0,"div",0),a(1,"No daily data points for this period."),_())}function $e(o,t){if(o&1&&(O(),T(0,"rect",18)),o&2){let e=g().$implicit,n=g(2);b("x",e.w+6)("y",n.yBase-e.tokensStubH)("width",e.w)("height",e.tokensStubH)}}function Ve(o,t){if(o&1&&(O(),T(0,"rect",19)(1,"rect",20)),o&2){let e=g().$implicit,n=g(2);b("x",e.w+6)("y",n.yBase-(e.promptH??0))("width",e.w)("height",e.promptH??0),s(),b("x",e.w+6)("y",n.yBase-((e.promptH??0)+(e.completionH??0)))("width",e.w)("height",e.completionH??0)}}function Le(o,t){if(o&1){let e=se();O(),c(0,"g",15),de("mouseenter",function(i){let d=$(e).$implicit,u=g(2);return V(u.showTooltip(i,d.point))})("mousemove",function(i){let d=$(e).$implicit,u=g(2);return V(u.showTooltip(i,d.point))})("mouseleave",function(){$(e);let i=g(2);return V(i.hideTooltip())}),T(1,"rect",16)(2,"rect",17),v(3,$e,1,4,":svg:rect",18)(4,Ve,2,8),_()}if(o&2){let e=t.$implicit,n=g(2);b("transform","translate("+e.xGroup+",0)"),s(),b("y",n.yTop)("width",e.groupW)("height",n.yBase-n.yTop),s(),b("y",n.yBase-e.costH)("width",e.w)("height",e.costH),s(),y(e.tokensStubH!==null?3:4)}}function Ge(o,t){if(o&1&&(O(),c(0,"text",5),a(1),_()),o&2){let e=t.$implicit,n=g(2);b("x",e.x)("y",n.yAxis),s(),m(e.label)}}function Ye(o,t){if(o&1&&(c(0,"div",24),a(1),_(),c(2,"div",25),a(3),_()),o&2){let e=t.$implicit;s(),m(e.label),s(2),m(e.value)}}function We(o,t){if(o&1&&(c(0,"div",21)(1,"div",22),a(2),_(),c(3,"div",23),I(4,Ye,4,2,null,null,Ae),_()()),o&2){let e=g(2);me("left",e.tooltip().x+12,"px")("top",e.tooltip().y+12,"px"),s(2),m(e.tooltip().data.date),s(2),N(e.tooltipLines())}}function je(o,t){if(o&1&&(c(0,"div",8)(1,"span",10),a(2),_()()),o&2){let e=g(2);s(2),m(e.tokenCoverageLabel())}}function ze(o,t){if(o&1&&(c(0,"div",1),O(),c(1,"svg",2),T(2,"line",3)(3,"line",3),I(4,Le,5,8,":svg:g",4,Fe),I(6,Ge,2,3,":svg:text",5,Re),_(),v(8,We,6,5,"div",6),ae(),c(9,"div",7)(10,"div",8),T(11,"span",9),c(12,"span",10),a(13,"Cost (per day)"),_(),c(14,"span",11),a(15),_()(),c(16,"div",8),T(17,"span",12),c(18,"span",10),a(19,"Prompt tokens"),_()(),c(20,"div",8),T(21,"span",13),c(22,"span",10),a(23,"Completion tokens"),_()(),c(24,"div",8),T(25,"span",14),c(26,"span",10),a(27,"Tokens missing"),_()(),c(28,"div",8)(29,"span",10),a(30,"Tokens scale"),_(),c(31,"span",11),a(32),_()(),v(33,je,3,1,"div",8),_()()),o&2){let e=g();s(),b("viewBox",e.viewBox),s(),b("y1",e.yTop)("x2",720)("y2",e.yTop),s(),b("y1",e.yBase)("x2",720)("y2",e.yBase),s(),N(e.bars()),s(2),N(e.axisLabels()),s(2),y(e.tooltip().visible&&e.tooltip().data?8:-1),s(7),E("max ",e.maxCostLabel()),s(17),E("max ",e.maxTokensLabel()),s(),y(e.tokenCoverageLabel()?33:-1)}}var Y=class o{points=[];width=720;height=240;paddingX=12;paddingY=16;bottomAxisH=48;viewBox=`0 0 ${this.width} ${this.height}`;innerW=this.width-this.paddingX*2;innerH=this.height-this.paddingY*2-this.bottomAxisH;barGap=6;groupGap=14;safePoints=p(()=>(this.points??[]).filter(t=>!!t.date));maxCost=p(()=>Math.max(0,...this.safePoints().map(t=>t.cost??0)));maxTokens=p(()=>{let t=this.safePoints().map(e=>{let n=e.promptTokens??null,i=e.completionTokens??null;return n===null&&i===null?null:(n??0)+(i??0)}).filter(e=>e!==null);return Math.max(0,...t)});tokenCoverageLabel=p(()=>{let t=this.safePoints();return t.length===0?"":`Tokens available for ${t.filter(n=>n.promptTokens!==null||n.completionTokens!==null).length}/${t.length} days`});maxCostLabel=p(()=>"$"+(new D("en-US").transform(this.maxCost(),"1.2-2")??"0.00"));maxTokensLabel=p(()=>new D("en-US").transform(this.maxTokens(),"1.0-2")??"0");tooltip=h({visible:!1,x:0,y:0,data:null});toTooltipData(t){let e=t.promptTokens,n=t.completionTokens,i=e===null&&n===null?null:(e??0)+(n??0);return{date:t.date,cost:t.cost??0,promptTokens:e,completionTokens:n,totalTokens:i,callCount:t.callCount??0}}showTooltip(t,e){let i=t.currentTarget?.closest(".chart")?.getBoundingClientRect(),d=i?t.clientX-i.left:t.clientX,u=i?t.clientY-i.top:t.clientY,f=320,k=170,U=12,C=i?Math.max(0,i.width-f-U):d,B=i?Math.max(0,i.height-k-U):u,F=i?Math.min(Math.max(0,d),C):d,ee=i?Math.min(Math.max(0,u),B):u;this.tooltip.set({visible:!0,x:F,y:ee,data:this.toTooltipData(e)})}hideTooltip(){this.tooltip.update(t=>A(R({},t),{visible:!1}))}formatTokens(t){return t===null?"\u2014":new D("en-US").transform(t,"1.0-2")??"0"}formatCost(t){return"$"+(new D("en-US").transform(t??0,"1.2-2")??"0.00")}tooltipLines=p(()=>{let t=this.tooltip(),e=t.data;return!t.visible||!e?[]:[{label:"Cost",value:this.formatCost(e.cost)},{label:"Prompt tokens",value:this.formatTokens(e.promptTokens)},{label:"Completion tokens",value:this.formatTokens(e.completionTokens)},{label:"Total tokens",value:this.formatTokens(e.totalTokens)},{label:"Calls",value:`${e.callCount}`}]});bars=p(()=>{let t=this.safePoints(),e=t.length;if(e===0)return[];let n=(this.innerW-(e-1)*this.groupGap)/e,i=Math.max(2,n),d=(i-this.barGap)/2,u=Math.max(1,d),f=this.maxCost()||1,k=this.maxTokens()||1,U=45;return t.map((C,B)=>{let F=this.paddingX+B*(i+this.groupGap),Ee=(C.cost??0)/f*this.innerH,te=C.promptTokens,ne=C.completionTokens,K=te!==null||ne!==null,Oe=te??0,Ie=ne??0,Ne=K?Oe/k*this.innerH:null,Ue=K?Ie/k*this.innerH:null;return{date:C.date,point:C,xGroup:F,groupW:i,xCost:F,w:u,costH:Ee,xTokens:F+u+this.barGap,promptH:Ne,completionH:Ue,tokensStubH:K?null:U}})});axisLabels=p(()=>{let t=this.safePoints(),e=t.length;if(e===0)return[];let i=Math.max(1,Math.ceil(e/8)),d=(this.innerW-(e-1)*this.groupGap)/e,u=Math.max(2,d);return t.map((f,k)=>({p:f,i:k})).filter(({i:f})=>f%i===0||f===e-1).map(({p:f,i:k})=>{let C=this.paddingX+k*(u+this.groupGap)+u/2,B=f.date.slice(5);return{x:C,label:B}})});yTop=this.paddingY;yBase=this.paddingY+this.innerH;yAxis=this.yBase+28;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=L({type:o,selectors:[["app-daily-series-chart"]],inputs:{points:"points"},decls:2,vars:1,consts:[[1,"muted"],[1,"chart"],["preserveAspectRatio","none","role","img","aria-label","Daily token and cost usage",1,"chart__svg"],["x1","0",1,"chart__grid"],[1,"chart__day"],["text-anchor","middle",1,"chart__axis-label"],[1,"chart__tooltip",3,"left","top"],[1,"chart__legend"],[1,"chart__legend-item"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--cost"],[1,"chart__legend-label"],[1,"chart__legend-value"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--prompt"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--completion"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--tokens-missing"],[1,"chart__day",3,"mouseenter","mousemove","mouseleave"],["x","0",1,"chart__hover"],["x","0",1,"chart__bar","chart__bar--cost"],[1,"chart__bar","chart__bar--tokens-missing"],[1,"chart__bar","chart__bar--prompt"],[1,"chart__bar","chart__bar--completion"],[1,"chart__tooltip"],[1,"chart__tooltip-title"],[1,"chart__tooltip-grid"],[1,"chart__tooltip-label"],[1,"chart__tooltip-value"]],template:function(e,n){e&1&&v(0,He,2,0,"div",0)(1,ze,34,11,"div",1),e&2&&y(n.safePoints().length===0?0:1)},styles:[".chart[_ngcontent-%COMP%]{display:grid;gap:.5rem;position:relative}.chart__svg[_ngcontent-%COMP%]{width:100%;height:260px;display:block;border-radius:12px;background:var(--color-bg-secondary, rgba(255, 255, 255, .72));border:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.chart__grid[_ngcontent-%COMP%]{stroke:var(--color-border-light, rgba(0, 0, 0, .08));stroke-width:1}.chart__day[_ngcontent-%COMP%]{cursor:default}.chart__hover[_ngcontent-%COMP%]{fill:transparent}.chart__day[_ngcontent-%COMP%]:hover .chart__hover[_ngcontent-%COMP%]{fill:var(--color-bg-hover, rgba(0, 0, 0, .03))}.chart__tooltip[_ngcontent-%COMP%]{position:absolute;z-index:2;min-width:220px;max-width:320px;padding:10px 12px;border-radius:12px;background:rgb(var(--color-bg-secondary-rgb, 255 255 255)/1);border:1px solid var(--color-border-light, rgba(0, 0, 0, .08));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .12));pointer-events:none}.chart__tooltip-title[_ngcontent-%COMP%]{font-weight:650;margin-bottom:6px}.chart__tooltip-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:4px}.chart__tooltip-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}.chart__tooltip-value[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums;text-align:right}.chart__bar[_ngcontent-%COMP%]{shape-rendering:geometricPrecision;rx:2;ry:2}.chart__bar--cost[_ngcontent-%COMP%]{fill:var(--color-primary, #007aff);opacity:.85}.chart__bar--prompt[_ngcontent-%COMP%]{fill:var(--color-success, #34c759);opacity:.85}.chart__bar--completion[_ngcontent-%COMP%]{fill:var(--color-warning, #ff9500);opacity:.85}.chart__bar--tokens-missing[_ngcontent-%COMP%]{fill:transparent;stroke:var(--color-text-secondary, rgba(29, 29, 31, .55));stroke-width:1.5;stroke-dasharray:4 3}.chart__axis-label[_ngcontent-%COMP%]{fill:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:12px;font-variant-numeric:tabular-nums}.chart__legend[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.chart__legend-item[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:baseline}.chart__legend-swatch[_ngcontent-%COMP%]{width:10px;height:10px;border-radius:3px;align-self:center}.chart__legend-swatch--cost[_ngcontent-%COMP%]{background:var(--color-primary, #007aff)}.chart__legend-swatch--prompt[_ngcontent-%COMP%]{background:var(--color-success, #34c759)}.chart__legend-swatch--completion[_ngcontent-%COMP%]{background:var(--color-warning, #ff9500)}.chart__legend-swatch--tokens-missing[_ngcontent-%COMP%]{background:transparent;border:1px dashed var(--color-text-secondary, rgba(29, 29, 31, .55))}.chart__legend-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}.chart__legend-value[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums}.muted[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7))}"],changeDetection:0})};var j=class o{http=M(pe);getTokenUsage(t){let e=new Z;return t.from&&(e=e.set("from",t.from)),t.to&&(e=e.set("to",t.to)),this.http.get("/api/token-usage",{params:e})}getTokenUsageSeries(t){let e=new Z;return t.from&&(e=e.set("from",t.from)),t.to&&(e=e.set("to",t.to)),this.http.get("/api/token-usage/series",{params:e})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=H({token:o,factory:o.\u0275fac,providedIn:"root"})};function Me(o){return`${o}`.padStart(2,"0")}function Se(o){return`${o.getUTCFullYear()}-${Me(o.getUTCMonth()+1)}-${Me(o.getUTCDate())}`}function Xe(o=new Date){return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1))}function Je(o=new Date){return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1))}var z=class o{api=M(j);destroyRef=M(ie);defaultFrom=Se(Xe());defaultTo=Se(Je());draftFilters=h({from:this.defaultFrom,to:this.defaultTo});appliedFilters=h({from:this.defaultFrom,to:this.defaultTo});loading=h(!1);error=h(null);aggregation=h(null);seriesResponse=h(null);series=h(null);tokenDataPartial=h(!1);aggregationByModelId=h(null);seriesByModelId=h(null);init(){this.reload()}setDraftFrom(t){this.draftFilters.update(e=>A(R({},e),{from:t}))}setDraftTo(t){this.draftFilters.update(e=>A(R({},e),{to:t}))}clearDraftFrom(){this.setDraftFrom(null)}clearDraftTo(){this.setDraftTo(null)}apply(){this.appliedFilters.set(this.draftFilters()),this.reload()}addNullableTokens(t,e){return t===null&&e===null?null:(t??0)+(e??0)}aggregateByModelId(t){let e=new Map;for(let n of t){let i=n.modelId,d=e.get(i);d?(d.promptTokens=this.addNullableTokens(d.promptTokens,n.promptTokens),d.completionTokens=this.addNullableTokens(d.completionTokens,n.completionTokens),d.totalTokens=this.addNullableTokens(d.totalTokens,n.totalTokens),d.callCount+=n.callCount??0,d.cost=(d.cost??0)+(n.cost??0)):e.set(i,{agentName:"All agents",providerName:"all",modelId:n.modelId,promptTokens:n.promptTokens,completionTokens:n.completionTokens,totalTokens:n.totalTokens,callCount:n.callCount??0,cost:n.cost??0})}return[...e.values()].sort((n,i)=>(i.totalTokens??0)-(n.totalTokens??0))}aggregateSeriesByModelId(t){let e=new Map;for(let n of t){let i=`${n.date}|${n.modelId}`,d=e.get(i);d?(d.promptTokens=this.addNullableTokens(d.promptTokens,n.promptTokens),d.completionTokens=this.addNullableTokens(d.completionTokens,n.completionTokens),d.totalTokens=this.addNullableTokens(d.totalTokens,n.totalTokens),d.callCount+=n.callCount??0,d.cost=(d.cost??0)+(n.cost??0)):e.set(i,{date:n.date,agentName:"All agents",providerName:"all",modelId:n.modelId,promptTokens:n.promptTokens,completionTokens:n.completionTokens,totalTokens:n.totalTokens,callCount:n.callCount??0,cost:n.cost??0})}return[...e.values()].sort((n,i)=>n.date<i.date?-1:1)}reload(){let{from:t,to:e}=this.appliedFilters();this.loading.set(!0),this.error.set(null),oe({aggregation:this.api.getTokenUsage({from:t,to:e}),series:this.api.getTokenUsageSeries({from:t,to:e})}).pipe(_e(this.destroyRef)).subscribe({next:({aggregation:n,series:i})=>{this.aggregation.set(n),this.seriesResponse.set(i);let d=i.points??[];this.series.set(d),this.tokenDataPartial.set(n.tokenDataPartial||i.tokenDataPartial);let u=this.aggregateByModelId(n.models??[]);this.aggregationByModelId.set(u),this.seriesByModelId.set(this.aggregateSeriesByModelId(d)),this.loading.set(!1)},error:n=>{this.loading.set(!1),this.aggregation.set(null),this.seriesResponse.set(null),this.series.set(null),this.tokenDataPartial.set(!1),this.aggregationByModelId.set(null),this.seriesByModelId.set(null),this.error.set(n instanceof Error?n.message:"Failed to load token usage")}})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=H({token:o,factory:o.\u0275fac,providedIn:"root"})};var X=function(){throw new Error("DON'T USE this INSIDE A FUNCTION CALLED BY | call OR | apply IT MUST BE A PURE FUNCTION!")},Pe=typeof Proxy!="function"?Object.seal({}):new Proxy({},{get:X,set:X,deleteProperty:X,has:X}),J=class o{transform(t,e){if(typeof e!="function")throw new TypeError("You must pass a PURE function to | call");return e?.call(Pe,t)}static \u0275fac=function(e){return new(e||o)};static \u0275pipe=Q({name:"call",type:o,pure:!0})},q=class o{transform(t,...e){if(typeof t!="function")throw new TypeError("You must use | apply on a PURE function");return t.apply(Pe,e)}static \u0275fac=function(e){return new(e||o)};static \u0275pipe=Q({name:"apply",type:o,pure:!0})};function qe(o,t){o&1&&(r(0,"div",23),a(1," Partial data \u2014 token counts may not cover the full period "),l())}function Ke(o,t){o&1&&(r(0,"div",24),a(1," No token data collected for this period "),l())}function Qe(o,t){if(o&1&&(r(0,"div",19)(1,"div",20)(2,"div",21),a(3,"Total tokens"),l(),r(4,"div",22),a(5),x(6,"call"),l()(),r(7,"div",20)(8,"div",21),a(9,"Total calls"),l(),r(10,"div",22),a(11),l()(),r(12,"div",20)(13,"div",21),a(14,"Total cost"),l(),r(15,"div",22),a(16),x(17,"apply"),l()()(),v(18,qe,2,0,"div",23),v(19,Ke,2,0,"div",24)),o&2){let e=g();s(5),m(w(6,5,e.totalRow().totalTokens,e.formatTokenValue)),s(6),m(e.totalRow().callCount),s(5),m(G(17,8,e.formatCostValue,e.isMissingPeriod(),e.totalRow().cost)),s(2),y(e.isPartialPeriod()?18:-1),s(),y(e.isMissingPeriod()?19:-1)}}function Ze(o,t){o&1&&(r(0,"div",16)(1,"div",25),a(2,"Loading token usage\u2026"),l()())}function et(o,t){if(o&1&&(r(0,"div",17)(1,"div",26),a(2,"Failed to load"),l(),r(3,"div",25),a(4),l()()),o&2){let e=g();s(4),m(e.state.error())}}function tt(o,t){o&1&&(r(0,"div",16)(1,"div",26),a(2,"No data"),l(),r(3,"div",25),a(4,"No token usage recorded yet for this period."),l()())}function nt(o,t){if(o&1&&(r(0,"div",32)(1,"div",29),a(2),l(),r(3,"div",29),a(4),l(),r(5,"div",29),a(6),l(),r(7,"div",30),a(8),x(9,"call"),l(),r(10,"div",30),a(11),x(12,"call"),l(),r(13,"div",30),a(14),x(15,"call"),l(),r(16,"div",30),a(17),l(),r(18,"div",30),a(19),x(20,"apply"),l()()),o&2){let e=t.$implicit,n=g(2);s(2),m(e.agentName),s(2),m(e.providerName),s(2),m(e.modelId),s(2),m(w(9,8,e.promptTokens,n.formatTokenValue)),s(3),m(w(12,11,e.completionTokens,n.formatTokenValue)),s(3),m(w(15,14,e.totalTokens,n.formatTokenValue)),s(3),m(e.callCount),s(2),E(" ",G(20,17,n.formatCostValue,n.isMissingPeriod(),e.cost)," ")}}function ot(o,t){if(o&1&&(r(0,"div",33)(1,"div",29),a(2),l(),r(3,"div",29),a(4),l(),r(5,"div",29),a(6),l(),r(7,"div",30),a(8),x(9,"call"),l(),r(10,"div",30),a(11),x(12,"call"),l(),r(13,"div",30),a(14),x(15,"call"),l(),r(16,"div",30),a(17),l(),r(18,"div",30),a(19),x(20,"apply"),l()()),o&2){let e=g(2);s(2),m(e.totalRow().agentName),s(2),m(e.totalRow().providerName),s(2),m(e.totalRow().modelId),s(2),m(w(9,8,e.totalRow().promptTokens,e.formatTokenValue)),s(3),E(" ",w(12,11,e.totalRow().completionTokens,e.formatTokenValue)," "),s(3),m(w(15,14,e.totalRow().totalTokens,e.formatTokenValue)),s(3),m(e.totalRow().callCount),s(2),E(" ",G(20,17,e.formatCostValue,e.isMissingPeriod(),e.totalRow().cost)," ")}}function at(o,t){if(o&1&&(r(0,"div",18)(1,"section",16)(2,"div",26),a(3,"Summary"),l(),r(4,"div",27)(5,"div",28)(6,"div",29),a(7,"agentName"),l(),r(8,"div",29),a(9,"providerName"),l(),r(10,"div",29),a(11,"modelId"),l(),r(12,"div",30),a(13,"promptTokens"),l(),r(14,"div",30),a(15,"completionTokens"),l(),r(16,"div",30),a(17,"totalTokens"),l(),r(18,"div",30),a(19,"callCount"),l(),r(20,"div",30),a(21,"cost"),l()(),r(22,"div",31),I(23,nt,21,21,"div",32,re().trackRow,!0),v(25,ot,21,21,"div",33),l()()(),r(26,"section",16)(27,"div",26),a(28,"Daily series"),l(),le(29,"app-daily-series-chart",34),l()()),o&2){let e=g();s(23),N(e.rows()),s(2),y(e.totalRow()?25:-1),s(4),S("points",e.chartPoints())}}var we="\u2014",De=class o{location=M(ce);state=M(z);view=h("byModel");rowsByAgent=p(()=>this.state.aggregation()?.models??[]);totalRow=p(()=>this.state.aggregation()?.total??null);rowsByModel=p(()=>this.state.aggregationByModelId()??[]);chartPointsByAgent=p(()=>{let t=this.state.series()??[];return this.aggregateDailyPoints(t)});chartPointsByModel=p(()=>{let t=this.state.seriesByModelId()??[];return this.aggregateDailyPoints(t)});chartPoints=p(()=>this.view()==="byAgent"?this.chartPointsByAgent():this.chartPointsByModel());rows=p(()=>this.view()==="byAgent"?this.rowsByAgent():this.rowsByModel());isEmpty=p(()=>{let t=this.state.aggregation();return t?(t.models?.length??0)===0&&(t.total?.callCount??0)===0:!1});ngOnInit(){this.state.init()}onFromChange(t){this.state.setDraftFrom(t||null)}onToChange(t){this.state.setDraftTo(t||null)}clearFrom(){this.state.clearDraftFrom()}clearTo(){this.state.clearDraftTo()}apply(){this.state.apply()}aggregateDailyPoints(t){let e=new Map;for(let n of t){let i=e.get(n.date);if(!i)e.set(n.date,{date:n.date,promptTokens:n.promptTokens,completionTokens:n.completionTokens,cost:n.cost??0,callCount:n.callCount??0});else{let d=(u,f)=>u===null&&f===null?null:(u??0)+(f??0);i.promptTokens=d(i.promptTokens,n.promptTokens),i.completionTokens=d(i.completionTokens,n.completionTokens),i.cost=(i.cost??0)+(n.cost??0),i.callCount=(i.callCount??0)+(n.callCount??0)}}return[...e.values()].sort((n,i)=>n.date<i.date?-1:1)}trackRow(t,e){return`${e.agentName}|${e.providerName}|${e.modelId}`}isMissingPeriod=p(()=>{if(this.state.loading())return!1;let t=this.state.aggregation()?.total;return t?t.totalTokens===null&&(t.cost===null||t.cost===void 0):!1});isPartialPeriod=p(()=>!this.isMissingPeriod()&&this.state.tokenDataPartial());navigateBack(){this.location.back()}formatTokenValue(t){return t===null?we:new D("en-US").transform(t,"1.0-2")??"0"}formatCostValue(t,e){return t?we:"$"+(new D("en-US").transform(e??0,"1.2-2")??"0.00")}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=L({type:o,selectors:[["app-token-usage"]],decls:41,vars:8,consts:[[1,"page"],[1,"page__header"],[1,"page__title-block"],["mat-icon-button","","title","Back",3,"click"],[1,"page__title"],[1,"page__subtitle"],[1,"filters"],[1,"filters__field"],[1,"filters__label"],[1,"filters__control"],["type","date",1,"filters__input",3,"ngModelChange","ngModel"],["type","button",1,"filters__clear",3,"click","disabled"],[1,"filters__select",3,"ngModelChange","ngModel"],["value","byModel"],["value","byAgent"],["type","button",1,"filters__apply",3,"click","disabled"],[1,"card"],[1,"card","card--error"],[1,"grid"],[1,"kpis"],[1,"kpi"],[1,"kpi__label"],[1,"kpi__value"],["title","Some calls in this period were recorded before token tracking was enabled. Token counts reflect only the portion where data was collected.",1,"hint"],["title","No token usage data was collected for this period.",1,"hint"],[1,"muted"],[1,"card__title"],[1,"table"],[1,"table__head"],[1,"table__cell"],[1,"table__cell","table__cell--num"],[1,"table__body"],[1,"table__row"],[1,"table__row","table__row--total"],[3,"points"]],template:function(e,n){e&1&&(r(0,"section",0)(1,"header",1)(2,"div",2)(3,"button",3),P("click",function(){return n.navigateBack()}),r(4,"mat-icon"),a(5,"chevron_left"),l()(),r(6,"div")(7,"h1",4),a(8,"Token Usage"),l(),r(9,"p",5),a(10,"Track prompt and completion token usage by agent and model."),l()()(),r(11,"div",6)(12,"label",7)(13,"span",8),a(14,"From"),l(),r(15,"div",9)(16,"input",10),P("ngModelChange",function(d){return n.onFromChange(d)}),l(),r(17,"button",11),P("click",function(){return n.clearFrom()}),a(18," Clear "),l()()(),r(19,"label",7)(20,"span",8),a(21,"To"),l(),r(22,"div",9)(23,"input",10),P("ngModelChange",function(d){return n.onToChange(d)}),l(),r(24,"button",11),P("click",function(){return n.clearTo()}),a(25," Clear "),l()()(),r(26,"label",7)(27,"span",8),a(28,"View"),l(),r(29,"select",12),P("ngModelChange",function(d){return n.view.set(d)}),r(30,"option",13),a(31,"By model"),l(),r(32,"option",14),a(33,"By agent"),l()()(),r(34,"button",15),P("click",function(){return n.apply()}),a(35,"Apply"),l()()(),v(36,Qe,20,12),v(37,Ze,3,0,"div",16)(38,et,5,1,"div",17)(39,tt,5,0,"div",16)(40,at,30,2,"div",18),l()),e&2&&(s(16),S("ngModel",n.state.draftFilters().from),s(),S("disabled",!n.state.draftFilters().from),s(6),S("ngModel",n.state.draftFilters().to),s(),S("disabled",!n.state.draftFilters().to),s(5),S("ngModel",n.view()),s(5),S("disabled",n.state.loading()),s(2),y(n.totalRow()?36:-1),s(),y(n.state.loading()?37:n.state.error()?38:n.isEmpty()?39:40))},dependencies:[ke,Ce,Te,be,xe,ve,ye,Y,ue,ge,fe,he,J,q],styles:[".page[_ngcontent-%COMP%]{padding:1.5rem;color:var(--color-text, #1d1d1f)}.page__header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.page__title-block[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.75rem}.page__title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:650}.page__subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.95rem}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:.75rem}.filters__field[_ngcontent-%COMP%]{display:grid;gap:.25rem}.filters__label[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.filters__control[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.filters__input[_ngcontent-%COMP%], .filters__select[_ngcontent-%COMP%]{height:34px;padding:0 .5rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .12));background:var(--color-bg-secondary, rgba(255, 255, 255, .72));color:var(--color-text, #1d1d1f)}.filters__apply[_ngcontent-%COMP%], .filters__clear[_ngcontent-%COMP%]{height:34px;padding:0 .75rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .12));background:var(--color-bg-secondary, rgba(255, 255, 255, .72));color:var(--color-text, #1d1d1f);cursor:pointer}.kpis[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0 1rem}@media(max-width:900px){.kpis[_ngcontent-%COMP%]{grid-template-columns:1fr}}.kpi[_ngcontent-%COMP%]{border-radius:14px;padding:.75rem 1rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .08))}.kpi__label[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.kpi__value[_ngcontent-%COMP%]{margin-top:.25rem;font-size:1.2rem;font-weight:650;font-variant-numeric:tabular-nums}.filters__apply[_ngcontent-%COMP%]{border-color:var(--color-primary, #007aff);background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff)}.filters__apply[_ngcontent-%COMP%]:disabled, .filters__clear[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;align-items:start}@media(max-width:1100px){.grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.card[_ngcontent-%COMP%]{border-radius:14px;padding:1rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .08))}.card--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.card__title[_ngcontent-%COMP%]{font-weight:650;margin-bottom:.75rem}.muted[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.table[_ngcontent-%COMP%]{overflow-x:auto}.table__head[_ngcontent-%COMP%], .table__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr 1fr .7fr 1fr;gap:.5rem;align-items:center}.table__head[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7));padding:.25rem 0;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.table__row[_ngcontent-%COMP%]{padding:.5rem 0;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.table__row--total[_ngcontent-%COMP%]{font-weight:650;background:var(--color-bg-hover, rgba(0, 0, 0, .03));border-radius:10px;padding:.6rem .5rem;border-bottom:none;margin-top:.5rem}.table__cell[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table__cell--num[_ngcontent-%COMP%]{text-align:right;font-variant-numeric:tabular-nums}.hint[_ngcontent-%COMP%]{margin:.25rem 0 1rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}"]})};export{De as TokenUsageComponent};
|
|
1
|
+
import{a as _e}from"./chunk-IRZNRZ5Q.js";import{a as he,b as fe}from"./chunk-FAM7HWYV.js";import{E as ke,c as be,g as ve,m as ye,x as xe,y as Ce,z as Te}from"./chunk-WLSXA23B.js";import{O as ge,S as ue}from"./chunk-E3XC4CVU.js";import{Bb as se,Db as P,Eb as de,Ec as ce,Fb as g,Ka as s,Lc as D,Qb as me,Tb as a,Tc as Z,Ub as m,Uc as pe,Vb as E,Wa as L,Z as H,Za as Q,a as R,b as A,ca as M,ec as x,ga as $,gc as w,ha as V,hc as G,ia as O,ja as ae,jb as b,kb as re,lb as v,lc as p,ma as ie,mb as y,pb as I,qb as N,rb as S,sb as r,ta as h,tb as l,ub as le,vb as c,wb as _,xb as T,z as oe}from"./chunk-5J7BTB5J.js";var Fe=(o,t)=>t.date,Re=(o,t)=>t.x,Ae=(o,t)=>t.label;function He(o,t){o&1&&(c(0,"div",0),a(1,"No daily data points for this period."),_())}function $e(o,t){if(o&1&&(O(),T(0,"rect",18)),o&2){let e=g().$implicit,n=g(2);b("x",e.w+6)("y",n.yBase-e.tokensStubH)("width",e.w)("height",e.tokensStubH)}}function Ve(o,t){if(o&1&&(O(),T(0,"rect",19)(1,"rect",20)),o&2){let e=g().$implicit,n=g(2);b("x",e.w+6)("y",n.yBase-(e.promptH??0))("width",e.w)("height",e.promptH??0),s(),b("x",e.w+6)("y",n.yBase-((e.promptH??0)+(e.completionH??0)))("width",e.w)("height",e.completionH??0)}}function Le(o,t){if(o&1){let e=se();O(),c(0,"g",15),de("mouseenter",function(i){let d=$(e).$implicit,u=g(2);return V(u.showTooltip(i,d.point))})("mousemove",function(i){let d=$(e).$implicit,u=g(2);return V(u.showTooltip(i,d.point))})("mouseleave",function(){$(e);let i=g(2);return V(i.hideTooltip())}),T(1,"rect",16)(2,"rect",17),v(3,$e,1,4,":svg:rect",18)(4,Ve,2,8),_()}if(o&2){let e=t.$implicit,n=g(2);b("transform","translate("+e.xGroup+",0)"),s(),b("y",n.yTop)("width",e.groupW)("height",n.yBase-n.yTop),s(),b("y",n.yBase-e.costH)("width",e.w)("height",e.costH),s(),y(e.tokensStubH!==null?3:4)}}function Ge(o,t){if(o&1&&(O(),c(0,"text",5),a(1),_()),o&2){let e=t.$implicit,n=g(2);b("x",e.x)("y",n.yAxis),s(),m(e.label)}}function Ye(o,t){if(o&1&&(c(0,"div",24),a(1),_(),c(2,"div",25),a(3),_()),o&2){let e=t.$implicit;s(),m(e.label),s(2),m(e.value)}}function We(o,t){if(o&1&&(c(0,"div",21)(1,"div",22),a(2),_(),c(3,"div",23),I(4,Ye,4,2,null,null,Ae),_()()),o&2){let e=g(2);me("left",e.tooltip().x+12,"px")("top",e.tooltip().y+12,"px"),s(2),m(e.tooltip().data.date),s(2),N(e.tooltipLines())}}function je(o,t){if(o&1&&(c(0,"div",8)(1,"span",10),a(2),_()()),o&2){let e=g(2);s(2),m(e.tokenCoverageLabel())}}function ze(o,t){if(o&1&&(c(0,"div",1),O(),c(1,"svg",2),T(2,"line",3)(3,"line",3),I(4,Le,5,8,":svg:g",4,Fe),I(6,Ge,2,3,":svg:text",5,Re),_(),v(8,We,6,5,"div",6),ae(),c(9,"div",7)(10,"div",8),T(11,"span",9),c(12,"span",10),a(13,"Cost (per day)"),_(),c(14,"span",11),a(15),_()(),c(16,"div",8),T(17,"span",12),c(18,"span",10),a(19,"Prompt tokens"),_()(),c(20,"div",8),T(21,"span",13),c(22,"span",10),a(23,"Completion tokens"),_()(),c(24,"div",8),T(25,"span",14),c(26,"span",10),a(27,"Tokens missing"),_()(),c(28,"div",8)(29,"span",10),a(30,"Tokens scale"),_(),c(31,"span",11),a(32),_()(),v(33,je,3,1,"div",8),_()()),o&2){let e=g();s(),b("viewBox",e.viewBox),s(),b("y1",e.yTop)("x2",720)("y2",e.yTop),s(),b("y1",e.yBase)("x2",720)("y2",e.yBase),s(),N(e.bars()),s(2),N(e.axisLabels()),s(2),y(e.tooltip().visible&&e.tooltip().data?8:-1),s(7),E("max ",e.maxCostLabel()),s(17),E("max ",e.maxTokensLabel()),s(),y(e.tokenCoverageLabel()?33:-1)}}var Y=class o{points=[];width=720;height=240;paddingX=12;paddingY=16;bottomAxisH=48;viewBox=`0 0 ${this.width} ${this.height}`;innerW=this.width-this.paddingX*2;innerH=this.height-this.paddingY*2-this.bottomAxisH;barGap=6;groupGap=14;safePoints=p(()=>(this.points??[]).filter(t=>!!t.date));maxCost=p(()=>Math.max(0,...this.safePoints().map(t=>t.cost??0)));maxTokens=p(()=>{let t=this.safePoints().map(e=>{let n=e.promptTokens??null,i=e.completionTokens??null;return n===null&&i===null?null:(n??0)+(i??0)}).filter(e=>e!==null);return Math.max(0,...t)});tokenCoverageLabel=p(()=>{let t=this.safePoints();return t.length===0?"":`Tokens available for ${t.filter(n=>n.promptTokens!==null||n.completionTokens!==null).length}/${t.length} days`});maxCostLabel=p(()=>"$"+(new D("en-US").transform(this.maxCost(),"1.2-2")??"0.00"));maxTokensLabel=p(()=>new D("en-US").transform(this.maxTokens(),"1.0-2")??"0");tooltip=h({visible:!1,x:0,y:0,data:null});toTooltipData(t){let e=t.promptTokens,n=t.completionTokens,i=e===null&&n===null?null:(e??0)+(n??0);return{date:t.date,cost:t.cost??0,promptTokens:e,completionTokens:n,totalTokens:i,callCount:t.callCount??0}}showTooltip(t,e){let i=t.currentTarget?.closest(".chart")?.getBoundingClientRect(),d=i?t.clientX-i.left:t.clientX,u=i?t.clientY-i.top:t.clientY,f=320,k=170,U=12,C=i?Math.max(0,i.width-f-U):d,B=i?Math.max(0,i.height-k-U):u,F=i?Math.min(Math.max(0,d),C):d,ee=i?Math.min(Math.max(0,u),B):u;this.tooltip.set({visible:!0,x:F,y:ee,data:this.toTooltipData(e)})}hideTooltip(){this.tooltip.update(t=>A(R({},t),{visible:!1}))}formatTokens(t){return t===null?"\u2014":new D("en-US").transform(t,"1.0-2")??"0"}formatCost(t){return"$"+(new D("en-US").transform(t??0,"1.2-2")??"0.00")}tooltipLines=p(()=>{let t=this.tooltip(),e=t.data;return!t.visible||!e?[]:[{label:"Cost",value:this.formatCost(e.cost)},{label:"Prompt tokens",value:this.formatTokens(e.promptTokens)},{label:"Completion tokens",value:this.formatTokens(e.completionTokens)},{label:"Total tokens",value:this.formatTokens(e.totalTokens)},{label:"Calls",value:`${e.callCount}`}]});bars=p(()=>{let t=this.safePoints(),e=t.length;if(e===0)return[];let n=(this.innerW-(e-1)*this.groupGap)/e,i=Math.max(2,n),d=(i-this.barGap)/2,u=Math.max(1,d),f=this.maxCost()||1,k=this.maxTokens()||1,U=45;return t.map((C,B)=>{let F=this.paddingX+B*(i+this.groupGap),Ee=(C.cost??0)/f*this.innerH,te=C.promptTokens,ne=C.completionTokens,K=te!==null||ne!==null,Oe=te??0,Ie=ne??0,Ne=K?Oe/k*this.innerH:null,Ue=K?Ie/k*this.innerH:null;return{date:C.date,point:C,xGroup:F,groupW:i,xCost:F,w:u,costH:Ee,xTokens:F+u+this.barGap,promptH:Ne,completionH:Ue,tokensStubH:K?null:U}})});axisLabels=p(()=>{let t=this.safePoints(),e=t.length;if(e===0)return[];let i=Math.max(1,Math.ceil(e/8)),d=(this.innerW-(e-1)*this.groupGap)/e,u=Math.max(2,d);return t.map((f,k)=>({p:f,i:k})).filter(({i:f})=>f%i===0||f===e-1).map(({p:f,i:k})=>{let C=this.paddingX+k*(u+this.groupGap)+u/2,B=f.date.slice(5);return{x:C,label:B}})});yTop=this.paddingY;yBase=this.paddingY+this.innerH;yAxis=this.yBase+28;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=L({type:o,selectors:[["app-daily-series-chart"]],inputs:{points:"points"},decls:2,vars:1,consts:[[1,"muted"],[1,"chart"],["preserveAspectRatio","none","role","img","aria-label","Daily token and cost usage",1,"chart__svg"],["x1","0",1,"chart__grid"],[1,"chart__day"],["text-anchor","middle",1,"chart__axis-label"],[1,"chart__tooltip",3,"left","top"],[1,"chart__legend"],[1,"chart__legend-item"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--cost"],[1,"chart__legend-label"],[1,"chart__legend-value"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--prompt"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--completion"],["aria-hidden","true",1,"chart__legend-swatch","chart__legend-swatch--tokens-missing"],[1,"chart__day",3,"mouseenter","mousemove","mouseleave"],["x","0",1,"chart__hover"],["x","0",1,"chart__bar","chart__bar--cost"],[1,"chart__bar","chart__bar--tokens-missing"],[1,"chart__bar","chart__bar--prompt"],[1,"chart__bar","chart__bar--completion"],[1,"chart__tooltip"],[1,"chart__tooltip-title"],[1,"chart__tooltip-grid"],[1,"chart__tooltip-label"],[1,"chart__tooltip-value"]],template:function(e,n){e&1&&v(0,He,2,0,"div",0)(1,ze,34,11,"div",1),e&2&&y(n.safePoints().length===0?0:1)},styles:[".chart[_ngcontent-%COMP%]{display:grid;gap:.5rem;position:relative}.chart__svg[_ngcontent-%COMP%]{width:100%;height:260px;display:block;border-radius:12px;background:var(--color-bg-secondary, rgba(255, 255, 255, .72));border:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.chart__grid[_ngcontent-%COMP%]{stroke:var(--color-border-light, rgba(0, 0, 0, .08));stroke-width:1}.chart__day[_ngcontent-%COMP%]{cursor:default}.chart__hover[_ngcontent-%COMP%]{fill:transparent}.chart__day[_ngcontent-%COMP%]:hover .chart__hover[_ngcontent-%COMP%]{fill:var(--color-bg-hover, rgba(0, 0, 0, .03))}.chart__tooltip[_ngcontent-%COMP%]{position:absolute;z-index:2;min-width:220px;max-width:320px;padding:10px 12px;border-radius:12px;background:rgb(var(--color-bg-secondary-rgb, 255 255 255)/1);border:1px solid var(--color-border-light, rgba(0, 0, 0, .08));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .12));pointer-events:none}.chart__tooltip-title[_ngcontent-%COMP%]{font-weight:650;margin-bottom:6px}.chart__tooltip-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:4px}.chart__tooltip-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}.chart__tooltip-value[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums;text-align:right}.chart__bar[_ngcontent-%COMP%]{shape-rendering:geometricPrecision;rx:2;ry:2}.chart__bar--cost[_ngcontent-%COMP%]{fill:var(--color-primary, #007aff);opacity:.85}.chart__bar--prompt[_ngcontent-%COMP%]{fill:var(--color-success, #34c759);opacity:.85}.chart__bar--completion[_ngcontent-%COMP%]{fill:var(--color-warning, #ff9500);opacity:.85}.chart__bar--tokens-missing[_ngcontent-%COMP%]{fill:transparent;stroke:var(--color-text-secondary, rgba(29, 29, 31, .55));stroke-width:1.5;stroke-dasharray:4 3}.chart__axis-label[_ngcontent-%COMP%]{fill:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:12px;font-variant-numeric:tabular-nums}.chart__legend[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.chart__legend-item[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:baseline}.chart__legend-swatch[_ngcontent-%COMP%]{width:10px;height:10px;border-radius:3px;align-self:center}.chart__legend-swatch--cost[_ngcontent-%COMP%]{background:var(--color-primary, #007aff)}.chart__legend-swatch--prompt[_ngcontent-%COMP%]{background:var(--color-success, #34c759)}.chart__legend-swatch--completion[_ngcontent-%COMP%]{background:var(--color-warning, #ff9500)}.chart__legend-swatch--tokens-missing[_ngcontent-%COMP%]{background:transparent;border:1px dashed var(--color-text-secondary, rgba(29, 29, 31, .55))}.chart__legend-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}.chart__legend-value[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums}.muted[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7))}"],changeDetection:0})};var j=class o{http=M(pe);getTokenUsage(t){let e=new Z;return t.from&&(e=e.set("from",t.from)),t.to&&(e=e.set("to",t.to)),this.http.get("/api/token-usage",{params:e})}getTokenUsageSeries(t){let e=new Z;return t.from&&(e=e.set("from",t.from)),t.to&&(e=e.set("to",t.to)),this.http.get("/api/token-usage/series",{params:e})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=H({token:o,factory:o.\u0275fac,providedIn:"root"})};function Me(o){return`${o}`.padStart(2,"0")}function Se(o){return`${o.getUTCFullYear()}-${Me(o.getUTCMonth()+1)}-${Me(o.getUTCDate())}`}function Xe(o=new Date){return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),1))}function Je(o=new Date){return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth()+1,1))}var z=class o{api=M(j);destroyRef=M(ie);defaultFrom=Se(Xe());defaultTo=Se(Je());draftFilters=h({from:this.defaultFrom,to:this.defaultTo});appliedFilters=h({from:this.defaultFrom,to:this.defaultTo});loading=h(!1);error=h(null);aggregation=h(null);seriesResponse=h(null);series=h(null);tokenDataPartial=h(!1);aggregationByModelId=h(null);seriesByModelId=h(null);init(){this.reload()}setDraftFrom(t){this.draftFilters.update(e=>A(R({},e),{from:t}))}setDraftTo(t){this.draftFilters.update(e=>A(R({},e),{to:t}))}clearDraftFrom(){this.setDraftFrom(null)}clearDraftTo(){this.setDraftTo(null)}apply(){this.appliedFilters.set(this.draftFilters()),this.reload()}addNullableTokens(t,e){return t===null&&e===null?null:(t??0)+(e??0)}aggregateByModelId(t){let e=new Map;for(let n of t){let i=n.modelId,d=e.get(i);d?(d.promptTokens=this.addNullableTokens(d.promptTokens,n.promptTokens),d.completionTokens=this.addNullableTokens(d.completionTokens,n.completionTokens),d.totalTokens=this.addNullableTokens(d.totalTokens,n.totalTokens),d.callCount+=n.callCount??0,d.cost=(d.cost??0)+(n.cost??0)):e.set(i,{agentName:"All agents",providerName:"all",modelId:n.modelId,promptTokens:n.promptTokens,completionTokens:n.completionTokens,totalTokens:n.totalTokens,callCount:n.callCount??0,cost:n.cost??0})}return[...e.values()].sort((n,i)=>(i.totalTokens??0)-(n.totalTokens??0))}aggregateSeriesByModelId(t){let e=new Map;for(let n of t){let i=`${n.date}|${n.modelId}`,d=e.get(i);d?(d.promptTokens=this.addNullableTokens(d.promptTokens,n.promptTokens),d.completionTokens=this.addNullableTokens(d.completionTokens,n.completionTokens),d.totalTokens=this.addNullableTokens(d.totalTokens,n.totalTokens),d.callCount+=n.callCount??0,d.cost=(d.cost??0)+(n.cost??0)):e.set(i,{date:n.date,agentName:"All agents",providerName:"all",modelId:n.modelId,promptTokens:n.promptTokens,completionTokens:n.completionTokens,totalTokens:n.totalTokens,callCount:n.callCount??0,cost:n.cost??0})}return[...e.values()].sort((n,i)=>n.date<i.date?-1:1)}reload(){let{from:t,to:e}=this.appliedFilters();this.loading.set(!0),this.error.set(null),oe({aggregation:this.api.getTokenUsage({from:t,to:e}),series:this.api.getTokenUsageSeries({from:t,to:e})}).pipe(_e(this.destroyRef)).subscribe({next:({aggregation:n,series:i})=>{this.aggregation.set(n),this.seriesResponse.set(i);let d=i.points??[];this.series.set(d),this.tokenDataPartial.set(n.tokenDataPartial||i.tokenDataPartial);let u=this.aggregateByModelId(n.models??[]);this.aggregationByModelId.set(u),this.seriesByModelId.set(this.aggregateSeriesByModelId(d)),this.loading.set(!1)},error:n=>{this.loading.set(!1),this.aggregation.set(null),this.seriesResponse.set(null),this.series.set(null),this.tokenDataPartial.set(!1),this.aggregationByModelId.set(null),this.seriesByModelId.set(null),this.error.set(n instanceof Error?n.message:"Failed to load token usage")}})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=H({token:o,factory:o.\u0275fac,providedIn:"root"})};var X=function(){throw new Error("DON'T USE this INSIDE A FUNCTION CALLED BY | call OR | apply IT MUST BE A PURE FUNCTION!")},Pe=typeof Proxy!="function"?Object.seal({}):new Proxy({},{get:X,set:X,deleteProperty:X,has:X}),J=class o{transform(t,e){if(typeof e!="function")throw new TypeError("You must pass a PURE function to | call");return e?.call(Pe,t)}static \u0275fac=function(e){return new(e||o)};static \u0275pipe=Q({name:"call",type:o,pure:!0})},q=class o{transform(t,...e){if(typeof t!="function")throw new TypeError("You must use | apply on a PURE function");return t.apply(Pe,e)}static \u0275fac=function(e){return new(e||o)};static \u0275pipe=Q({name:"apply",type:o,pure:!0})};function qe(o,t){o&1&&(r(0,"div",23),a(1," Partial data \u2014 token counts may not cover the full period "),l())}function Ke(o,t){o&1&&(r(0,"div",24),a(1," No token data collected for this period "),l())}function Qe(o,t){if(o&1&&(r(0,"div",19)(1,"div",20)(2,"div",21),a(3,"Total tokens"),l(),r(4,"div",22),a(5),x(6,"call"),l()(),r(7,"div",20)(8,"div",21),a(9,"Total calls"),l(),r(10,"div",22),a(11),l()(),r(12,"div",20)(13,"div",21),a(14,"Total cost"),l(),r(15,"div",22),a(16),x(17,"apply"),l()()(),v(18,qe,2,0,"div",23),v(19,Ke,2,0,"div",24)),o&2){let e=g();s(5),m(w(6,5,e.totalRow().totalTokens,e.formatTokenValue)),s(6),m(e.totalRow().callCount),s(5),m(G(17,8,e.formatCostValue,e.isMissingPeriod(),e.totalRow().cost)),s(2),y(e.isPartialPeriod()?18:-1),s(),y(e.isMissingPeriod()?19:-1)}}function Ze(o,t){o&1&&(r(0,"div",16)(1,"div",25),a(2,"Loading token usage\u2026"),l()())}function et(o,t){if(o&1&&(r(0,"div",17)(1,"div",26),a(2,"Failed to load"),l(),r(3,"div",25),a(4),l()()),o&2){let e=g();s(4),m(e.state.error())}}function tt(o,t){o&1&&(r(0,"div",16)(1,"div",26),a(2,"No data"),l(),r(3,"div",25),a(4,"No token usage recorded yet for this period."),l()())}function nt(o,t){if(o&1&&(r(0,"div",32)(1,"div",29),a(2),l(),r(3,"div",29),a(4),l(),r(5,"div",29),a(6),l(),r(7,"div",30),a(8),x(9,"call"),l(),r(10,"div",30),a(11),x(12,"call"),l(),r(13,"div",30),a(14),x(15,"call"),l(),r(16,"div",30),a(17),l(),r(18,"div",30),a(19),x(20,"apply"),l()()),o&2){let e=t.$implicit,n=g(2);s(2),m(e.agentName),s(2),m(e.providerName),s(2),m(e.modelId),s(2),m(w(9,8,e.promptTokens,n.formatTokenValue)),s(3),m(w(12,11,e.completionTokens,n.formatTokenValue)),s(3),m(w(15,14,e.totalTokens,n.formatTokenValue)),s(3),m(e.callCount),s(2),E(" ",G(20,17,n.formatCostValue,n.isMissingPeriod(),e.cost)," ")}}function ot(o,t){if(o&1&&(r(0,"div",33)(1,"div",29),a(2),l(),r(3,"div",29),a(4),l(),r(5,"div",29),a(6),l(),r(7,"div",30),a(8),x(9,"call"),l(),r(10,"div",30),a(11),x(12,"call"),l(),r(13,"div",30),a(14),x(15,"call"),l(),r(16,"div",30),a(17),l(),r(18,"div",30),a(19),x(20,"apply"),l()()),o&2){let e=g(2);s(2),m(e.totalRow().agentName),s(2),m(e.totalRow().providerName),s(2),m(e.totalRow().modelId),s(2),m(w(9,8,e.totalRow().promptTokens,e.formatTokenValue)),s(3),E(" ",w(12,11,e.totalRow().completionTokens,e.formatTokenValue)," "),s(3),m(w(15,14,e.totalRow().totalTokens,e.formatTokenValue)),s(3),m(e.totalRow().callCount),s(2),E(" ",G(20,17,e.formatCostValue,e.isMissingPeriod(),e.totalRow().cost)," ")}}function at(o,t){if(o&1&&(r(0,"div",18)(1,"section",16)(2,"div",26),a(3,"Summary"),l(),r(4,"div",27)(5,"div",28)(6,"div",29),a(7,"agentName"),l(),r(8,"div",29),a(9,"providerName"),l(),r(10,"div",29),a(11,"modelId"),l(),r(12,"div",30),a(13,"promptTokens"),l(),r(14,"div",30),a(15,"completionTokens"),l(),r(16,"div",30),a(17,"totalTokens"),l(),r(18,"div",30),a(19,"callCount"),l(),r(20,"div",30),a(21,"cost"),l()(),r(22,"div",31),I(23,nt,21,21,"div",32,re().trackRow,!0),v(25,ot,21,21,"div",33),l()()(),r(26,"section",16)(27,"div",26),a(28,"Daily series"),l(),le(29,"app-daily-series-chart",34),l()()),o&2){let e=g();s(23),N(e.rows()),s(2),y(e.totalRow()?25:-1),s(4),S("points",e.chartPoints())}}var we="\u2014",De=class o{location=M(ce);state=M(z);view=h("byModel");rowsByAgent=p(()=>this.state.aggregation()?.models??[]);totalRow=p(()=>this.state.aggregation()?.total??null);rowsByModel=p(()=>this.state.aggregationByModelId()??[]);chartPointsByAgent=p(()=>{let t=this.state.series()??[];return this.aggregateDailyPoints(t)});chartPointsByModel=p(()=>{let t=this.state.seriesByModelId()??[];return this.aggregateDailyPoints(t)});chartPoints=p(()=>this.view()==="byAgent"?this.chartPointsByAgent():this.chartPointsByModel());rows=p(()=>this.view()==="byAgent"?this.rowsByAgent():this.rowsByModel());isEmpty=p(()=>{let t=this.state.aggregation();return t?(t.models?.length??0)===0&&(t.total?.callCount??0)===0:!1});ngOnInit(){this.state.init()}onFromChange(t){this.state.setDraftFrom(t||null)}onToChange(t){this.state.setDraftTo(t||null)}clearFrom(){this.state.clearDraftFrom()}clearTo(){this.state.clearDraftTo()}apply(){this.state.apply()}aggregateDailyPoints(t){let e=new Map;for(let n of t){let i=e.get(n.date);if(!i)e.set(n.date,{date:n.date,promptTokens:n.promptTokens,completionTokens:n.completionTokens,cost:n.cost??0,callCount:n.callCount??0});else{let d=(u,f)=>u===null&&f===null?null:(u??0)+(f??0);i.promptTokens=d(i.promptTokens,n.promptTokens),i.completionTokens=d(i.completionTokens,n.completionTokens),i.cost=(i.cost??0)+(n.cost??0),i.callCount=(i.callCount??0)+(n.callCount??0)}}return[...e.values()].sort((n,i)=>n.date<i.date?-1:1)}trackRow(t,e){return`${e.agentName}|${e.providerName}|${e.modelId}`}isMissingPeriod=p(()=>{if(this.state.loading())return!1;let t=this.state.aggregation()?.total;return t?t.totalTokens===null&&(t.cost===null||t.cost===void 0):!1});isPartialPeriod=p(()=>!this.isMissingPeriod()&&this.state.tokenDataPartial());navigateBack(){this.location.back()}formatTokenValue(t){return t===null?we:new D("en-US").transform(t,"1.0-2")??"0"}formatCostValue(t,e){return t?we:"$"+(new D("en-US").transform(e??0,"1.2-2")??"0.00")}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=L({type:o,selectors:[["app-token-usage"]],decls:41,vars:8,consts:[[1,"page"],[1,"page__header"],[1,"page__title-block"],["mat-icon-button","","title","Back",3,"click"],[1,"page__title"],[1,"page__subtitle"],[1,"filters"],[1,"filters__field"],[1,"filters__label"],[1,"filters__control"],["type","date",1,"filters__input",3,"ngModelChange","ngModel"],["type","button",1,"filters__clear",3,"click","disabled"],[1,"filters__select",3,"ngModelChange","ngModel"],["value","byModel"],["value","byAgent"],["type","button",1,"filters__apply",3,"click","disabled"],[1,"card"],[1,"card","card--error"],[1,"grid"],[1,"kpis"],[1,"kpi"],[1,"kpi__label"],[1,"kpi__value"],["title","Some calls in this period were recorded before token tracking was enabled. Token counts reflect only the portion where data was collected.",1,"hint"],["title","No token usage data was collected for this period.",1,"hint"],[1,"muted"],[1,"card__title"],[1,"table"],[1,"table__head"],[1,"table__cell"],[1,"table__cell","table__cell--num"],[1,"table__body"],[1,"table__row"],[1,"table__row","table__row--total"],[3,"points"]],template:function(e,n){e&1&&(r(0,"section",0)(1,"header",1)(2,"div",2)(3,"button",3),P("click",function(){return n.navigateBack()}),r(4,"mat-icon"),a(5,"chevron_left"),l()(),r(6,"div")(7,"h1",4),a(8,"Token Usage"),l(),r(9,"p",5),a(10,"Track prompt and completion token usage by agent and model."),l()()(),r(11,"div",6)(12,"label",7)(13,"span",8),a(14,"From"),l(),r(15,"div",9)(16,"input",10),P("ngModelChange",function(d){return n.onFromChange(d)}),l(),r(17,"button",11),P("click",function(){return n.clearFrom()}),a(18," Clear "),l()()(),r(19,"label",7)(20,"span",8),a(21,"To"),l(),r(22,"div",9)(23,"input",10),P("ngModelChange",function(d){return n.onToChange(d)}),l(),r(24,"button",11),P("click",function(){return n.clearTo()}),a(25," Clear "),l()()(),r(26,"label",7)(27,"span",8),a(28,"View"),l(),r(29,"select",12),P("ngModelChange",function(d){return n.view.set(d)}),r(30,"option",13),a(31,"By model"),l(),r(32,"option",14),a(33,"By agent"),l()()(),r(34,"button",15),P("click",function(){return n.apply()}),a(35,"Apply"),l()()(),v(36,Qe,20,12),v(37,Ze,3,0,"div",16)(38,et,5,1,"div",17)(39,tt,5,0,"div",16)(40,at,30,2,"div",18),l()),e&2&&(s(16),S("ngModel",n.state.draftFilters().from),s(),S("disabled",!n.state.draftFilters().from),s(6),S("ngModel",n.state.draftFilters().to),s(),S("disabled",!n.state.draftFilters().to),s(5),S("ngModel",n.view()),s(5),S("disabled",n.state.loading()),s(2),y(n.totalRow()?36:-1),s(),y(n.state.loading()?37:n.state.error()?38:n.isEmpty()?39:40))},dependencies:[ke,Ce,Te,be,xe,ve,ye,Y,ue,ge,fe,he,J,q],styles:[".page[_ngcontent-%COMP%]{padding:1.5rem;color:var(--color-text, #1d1d1f)}.page__header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.page__title-block[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.75rem}.page__title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:650}.page__subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.95rem}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:.75rem}.filters__field[_ngcontent-%COMP%]{display:grid;gap:.25rem}.filters__label[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.filters__control[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.filters__input[_ngcontent-%COMP%], .filters__select[_ngcontent-%COMP%]{height:34px;padding:0 .5rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .12));background:var(--color-bg-secondary, rgba(255, 255, 255, .72));color:var(--color-text, #1d1d1f)}.filters__apply[_ngcontent-%COMP%], .filters__clear[_ngcontent-%COMP%]{height:34px;padding:0 .75rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .12));background:var(--color-bg-secondary, rgba(255, 255, 255, .72));color:var(--color-text, #1d1d1f);cursor:pointer}.kpis[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0 1rem}@media(max-width:900px){.kpis[_ngcontent-%COMP%]{grid-template-columns:1fr}}.kpi[_ngcontent-%COMP%]{border-radius:14px;padding:.75rem 1rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .08))}.kpi__label[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.kpi__value[_ngcontent-%COMP%]{margin-top:.25rem;font-size:1.2rem;font-weight:650;font-variant-numeric:tabular-nums}.filters__apply[_ngcontent-%COMP%]{border-color:var(--color-primary, #007aff);background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff)}.filters__apply[_ngcontent-%COMP%]:disabled, .filters__clear[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;align-items:start}@media(max-width:1100px){.grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.card[_ngcontent-%COMP%]{border-radius:14px;padding:1rem;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 24px rgba(0, 0, 0, .08))}.card--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.card__title[_ngcontent-%COMP%]{font-weight:650;margin-bottom:.75rem}.muted[_ngcontent-%COMP%]{color:var(--color-text-secondary, rgba(29, 29, 31, .7))}.table[_ngcontent-%COMP%]{overflow-x:auto}.table__head[_ngcontent-%COMP%], .table__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr 1fr .7fr 1fr;gap:.5rem;align-items:center}.table__head[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7));padding:.25rem 0;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.table__row[_ngcontent-%COMP%]{padding:.5rem 0;border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .08))}.table__row--total[_ngcontent-%COMP%]{font-weight:650;background:var(--color-bg-hover, rgba(0, 0, 0, .03));border-radius:10px;padding:.6rem .5rem;border-bottom:none;margin-top:.5rem}.table__cell[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table__cell--num[_ngcontent-%COMP%]{text-align:right;font-variant-numeric:tabular-nums}.hint[_ngcontent-%COMP%]{margin:.25rem 0 1rem;color:var(--color-text-secondary, rgba(29, 29, 31, .7));font-size:.85rem}"]})};export{De as TokenUsageComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as M}from"./chunk-7MQRVE7E.js";import{o as I,u as w}from"./chunk-BGEXT3EN.js";import{Bb as b,Db as _,Fb as c,Ka as r,Tb as d,Ub as u,Wa as y,ca as C,ga as g,ha as m,lb as f,mb as p,oc as h,pc as s,rb as x,sb as i,ta as v,tb as t}from"./chunk-5J7BTB5J.js";function O(n,o){if(n&1&&(i(0,"span",3),d(1),t()),n&2){let e=c();r(),u(e.config().modelName)}}function A(n,o){if(n&1&&(i(0,"span",4),d(1),t()),n&2){let e=c();r(),u(e.config().description)}}function P(n,o){if(n&1){let e=b();i(0,"span",7),d(1,"Delete?"),t(),i(2,"ds-icon-button",8),_("action",function(){g(e);let l=c();return m(l.onDeleteConfirmed())}),t(),i(3,"ds-icon-button",9),_("action",function(){g(e);let l=c();return m(l.onDeleteCancelled())}),t()}}function S(n,o){if(n&1){let e=b();i(0,"ds-kebab-menu",10),_("itemSelected",function(l){g(e);let k=c();return m(k.onMenuAction(l))}),t()}if(n&2){let e=c();x("items",e.readOnly()?e.readOnlyMenuItems:e.menuItems)}}var D=class n{router=C(M);config=s.required();namespaceId=s(void 0);platformMode=s(!1);readOnly=s(!1);deleteRequested=h();pendingDelete=v(!1);menuItems=[{key:"edit",label:"Edit agent config",icon:"edit"},{key:"inspect",label:"Inspect definition",icon:"search"},{key:"delete",label:"Delete agent config",icon:"delete",variant:"danger"}];readOnlyMenuItems=[{key:"inspect",label:"Inspect definition",icon:"search"}];onMenuAction(o){switch(o){case"edit":this.platformMode()?this.router.navigate(["/agentos","admin","agent-configs",this.config().id,"edit"]):this.router.navigate(["/agentos",this.namespaceId(),"agent-configs",this.config().id,"edit"]);break;case"inspect":this.platformMode()?this.router.navigate(["/agentos","admin","agent-configs",this.config().id,"inspect"]):this.router.navigate(["/agentos",this.namespaceId(),"agent-configs",this.config().id,"inspect"]);break;case"delete":this.pendingDelete.set(!0);break}}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config())}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=y({type:n,selectors:[["agentos-agent-config-item"]],inputs:{config:[1,"config"],namespaceId:[1,"namespaceId"],platformMode:[1,"platformMode"],readOnly:[1,"readOnly"]},outputs:{deleteRequested:"deleteRequested"},decls:9,vars:4,consts:[["role","listitem",1,"agent-config-item"],[1,"agent-config-item__body"],[1,"agent-config-item__name"],[1,"agent-config-item__model"],[1,"agent-config-item__description"],[1,"agent-config-item__actions"],[3,"items"],[1,"agent-config-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],[3,"itemSelected","items"]],template:function(e,a){e&1&&(i(0,"div",0)(1,"div",1)(2,"span",2),d(3),t(),f(4,O,2,1,"span",3),f(5,A,2,1,"span",4),t(),i(6,"div",5),f(7,P,4,0)(8,S,1,1,"ds-kebab-menu",6),t()()),e&2&&(r(3),u(a.config().name),r(),p(a.config().modelName?4:-1),r(),p(a.config().description?5:-1),r(2),p(a.pendingDelete()?7:8))},dependencies:[w,I],styles:[".agent-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));transition:background .15s ease,border-color .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff)}.agent-config-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.agent-config-item__name[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__model[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary, #6e6e73);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__description[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover .agent-config-item__actions[_ngcontent-%COMP%], .agent-config-item[_ngcontent-%COMP%]:focus-within .agent-config-item__actions[_ngcontent-%COMP%]{opacity:1}.agent-config-item__confirm-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:var(--color-error, #ff3b30);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};export{D as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as Ur,Ac as sn,B as K,Bc as _e,Cc as cn,D as Ye,Db as en,Dc as ge,E as Ne,Ea as zr,Ec as un,G as he,Ia as Fr,K as Dr,L as Y,La as qr,M as xt,Ma as zt,Nc as Vt,Pa as Hr,Qa as pe,R as Nr,Ra as Br,S as j,Sa as Vr,T as Ze,Ua as Gr,V as k,Va as et,Vc as ln,W as b,Wa as Wr,X as _r,Xa as Qr,Ya as tt,Z as C,_ as Or,a as d,aa as M,b as O,ba as Z,ca as l,cb as Kr,d as m,da as Pr,e as br,ea as G,eb as Yr,f as Ir,fa as T,g as Ar,gb as Ft,h as oe,hb as qt,i as U,ib as Zr,ic as tn,jb as Jr,jc as R,k as P,ka as jt,kc as Ht,l as A,la as Lr,lc as rn,m as g,ma as kt,mc as nn,n as Er,na as xr,o as Ut,oa as fe,oc as on,p as Mr,pa as jr,ra as Je,t as E,ta as w,tc as Bt,u as Pt,ub as Xr,uc as rt,v as $,va as Xe,w as Lt,wa as $t,x as Tr,xa as kr,y as Ke,ya as $r,yc as an}from"./chunk-RYEX2DR7.js";var f="primary",He=Symbol("RouteTitle"),Yt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function se(t){return new Yt(t)}function Gt(t,n,e){for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function yn(t,n,e){let r=e.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let c={},u=t.slice(0,r.length);return Gt(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>t.length||e.pathMatch==="full"&&n.hasChildren()&&e.path!=="**")return null;let a={};return!Gt(o,t.slice(0,o.length),a)||!Gt(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function ct(t){return new Promise((n,e)=>{t.pipe(Y()).subscribe({next:r=>n(r),error:r=>e(r)})})}function yi(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],n[e]))return!1;return!0}function z(t,n){let e=t?Zt(t):void 0,r=n?Zt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Rn(t[i],n[i]))return!1;return!0}function Zt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Rn(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Ri(t){return t.length>0?t[t.length-1]:null}function ue(t){return Ut(t)?t:Yr(t)?A(Promise.resolve(t)):g(t)}function Cn(t){return Ut(t)?ct(t):Promise.resolve(t)}var Ci={exact:bn,subset:In},Sn={exact:Si,subset:wi,ignored:()=>!0},wn={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Jt={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function dn(t,n,e){return Ci[e.paths](t.root,n.root,e.matrixParams)&&Sn[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function Si(t,n){return z(t,n)}function bn(t,n,e){if(!ae(t.segments,n.segments)||!ot(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!bn(t.children[r],n.children[r],e))return!1;return!0}function wi(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Rn(t[e],n[e]))}function In(t,n,e){return An(t,n,n.segments,e)}function An(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ae(i,e)||n.hasChildren()||!ot(i,e,r))}else if(t.segments.length===e.length){if(!ae(t.segments,e)||!ot(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!In(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!ae(t.segments,i)||!ot(t.segments,i,r)||!t.children[f]?!1:An(t.children[f],n,o,r)}}function ot(t,n,e){return n.every((r,i)=>Sn[e](t[i].parameters,r.parameters))}var N=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=se(this.queryParams),this._queryParamMap}toString(){return Ai.serialize(this)}},v=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return at(this)}},J=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=se(this.parameters),this._parameterMap}toString(){return Mn(this)}};function bi(t,n){return ae(t,n)&&t.every((e,r)=>z(e.parameters,n[r].parameters))}function ae(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function Ii(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var te=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>new Q,providedIn:"root"})}return t})(),Q=class{parse(n){let e=new er(n);return new N(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Oe(n.root,!0)}`,r=Ti(n.queryParams),i=typeof n.fragment=="string"?`#${Ei(n.fragment)}`:"";return`${e}${r}${i}`}},Ai=new Q;function at(t){return t.segments.map(n=>Mn(n)).join("/")}function Oe(t,n){if(!t.hasChildren())return at(t);if(n){let e=t.children[f]?Oe(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Oe(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=Ii(t,(r,i)=>i===f?[Oe(t.children[f],!1)]:[`${i}:${Oe(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${at(t)}/${e[0]}`:`${at(t)}/(${e.join("//")})`}}function En(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nt(t){return En(t).replace(/%3B/gi,";")}function Ei(t){return encodeURI(t)}function Xt(t){return En(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function st(t){return decodeURIComponent(t)}function hn(t){return st(t.replace(/\+/g,"%20"))}function Mn(t){return`${Xt(t.path)}${Mi(t.parameters)}`}function Mi(t){return Object.entries(t).map(([n,e])=>`;${Xt(n)}=${Xt(e)}`).join("")}function Ti(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${nt(e)}=${nt(i)}`).join("&"):`${nt(e)}=${nt(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var Di=/^[^\/()?;#]+/;function Wt(t){let n=t.match(Di);return n?n[0]:""}var Ni=/^[^\/()?;=#]+/;function _i(t){let n=t.match(Ni);return n?n[0]:""}var Oi=/^[^=?&#]+/;function Ui(t){let n=t.match(Oi);return n?n[0]:""}var Pi=/^[^&#]+/;function Li(t){let n=t.match(Pi);return n?n[0]:""}var er=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),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 b(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(e.length>0||Object.keys(r).length>0)&&(i[f]=new v(e,r)),i}parseSegment(){let n=Wt(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new b(4009,!1);return this.capture(n),new J(st(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=_i(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=Wt(this.remaining);i&&(r=i,this.capture(r))}n[st(e)]=st(r)}parseQueryParam(n){let e=Ui(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Li(this.remaining);s&&(r=s,this.capture(r))}let i=hn(e),o=hn(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,e){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=Wt(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new b(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=f);let a=this.parseChildren(e+1);r[s??f]=Object.keys(a).length===1&&a[f]?a[f]: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 b(4011,!1)}};function Tn(t){return t.segments.length>0?new v([],{[f]:t}):t}function Dn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=Dn(i);if(r===f&&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 e=new v(t.segments,n);return xi(e)}function xi(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new v(t.segments.concat(n.segments),n.children)}return t}function X(t){return t instanceof N}function Nn(t,n,e=null,r=null,i=new Q){let o=_n(t);return On(o,n,e,r,i)}function _n(t){let n;function e(o){let s={};for(let c of o.children){let u=e(c);s[c.outlet]=u}let a=new v(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=Tn(r);return n??i}function On(t,n,e,r,i){let o=t;for(;o.parent;)o=o.parent;if(n.length===0)return Qt(o,o,o,e,r,i);let s=ji(n);if(s.toRoot())return Qt(o,o,new v([],{}),e,r,i);let a=ki(s,o,t),c=a.processChildren?Pe(a.segmentGroup,a.index,s.commands):Pn(a.segmentGroup,a.index,s.commands);return Qt(o,a.segmentGroup,c,e,r,i)}function ut(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function xe(t){return typeof t=="object"&&t!=null&&t.outlets}function fn(t,n,e){t||="\u0275";let r=new N;return r.queryParams={[t]:n},e.parse(e.serialize(r)).queryParams[t]}function Qt(t,n,e,r,i,o){let s={};for(let[u,h]of Object.entries(r??{}))s[u]=Array.isArray(h)?h.map(p=>fn(u,p,o)):fn(u,h,o);let a;t===n?a=e:a=Un(t,n,e);let c=Tn(Dn(a));return new N(c,s,i)}function Un(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=Un(o,n,e)}),new v(t.segments,r)}var lt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&ut(r[0]))throw new b(4003,!1);let i=r.find(xe);if(i&&i!==Ri(r))throw new b(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ji(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new lt(!0,0,t);let n=0,e=!1,r=t.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===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new lt(e,n,r)}var me=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function ki(t,n,e){if(t.isAbsolute)return new me(n,!0,0);if(!e)return new me(n,!1,NaN);if(e.parent===null)return new me(e,!0,0);let r=ut(t.commands[0])?0:1,i=e.segments.length-1+r;return $i(e,i,t.numberOfDoubleDots)}function $i(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new b(4005,!1);i=r.segments.length}return new me(r,!1,i-o)}function zi(t){return xe(t[0])?t[0].outlets:{[f]:t}}function Pn(t,n,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return Pe(t,n,e);let r=Fi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new v(t.segments.slice(r.pathIndex),t.children),Pe(o,0,i)}else return r.match&&i.length===0?new v(t.segments,{}):r.match&&!t.hasChildren()?tr(t,n,e):r.match?Pe(t,0,i):tr(t,n,e)}function Pe(t,n,e){if(e.length===0)return new v(t.segments,{});{let r=zi(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Pe(t.children[f],n,e);return new v(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=Pn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function Fi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(xe(a))break;let c=`${a}`,u=r<e.length-1?e[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!gn(c,u,s))return o;r+=2}else{if(!gn(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function tr(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(xe(o)){let c=qi(o.outlets);return new v(r,c)}if(i===0&&ut(e[0])){let c=t.segments[n];r.push(new J(c.path,pn(e[0]))),i++;continue}let s=xe(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&ut(a)?(r.push(new J(s,pn(a))),i+=2):(r.push(new J(s,{})),i++)}return new v(r,{})}function qi(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=tr(new v([],{}),0,r))}),n}function pn(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function gn(t,n,e){return t==e.path&&z(n,e.parameters)}var ye="imperative",S=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(S||{}),_=class{id;url;constructor(n,e){this.id=n,this.url=e}},ee=class extends _{type=S.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},x=class extends _{urlAfterRedirects;type=S.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},I=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(I||{}),Ce=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Ce||{}),L=class extends _{reason;code;type=S.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function Ln(t){return t instanceof L&&(t.code===I.Redirect||t.code===I.SupersededByNewNavigation)}var q=class extends _{reason;code;type=S.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},ce=class extends _{error;target;type=S.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},je=class extends _{urlAfterRedirects;state;type=S.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},dt=class extends _{urlAfterRedirects;state;type=S.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ht=class extends _{urlAfterRedirects;state;shouldActivate;type=S.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),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})`}},ft=class extends _{urlAfterRedirects;state;type=S.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},pt=class extends _{urlAfterRedirects;state;type=S.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},gt=class{route;type=S.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},vt=class{route;type=S.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},mt=class{snapshot;type=S.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},yt=class{snapshot;type=S.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Rt=class{snapshot;type=S.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ct=class{snapshot;type=S.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Se=class{routerEvent;position;anchor;scrollBehavior;type=S.Scroll;constructor(n,e,r,i){this.routerEvent=n,this.position=e,this.anchor=r,this.scrollBehavior=i}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},we=class{},ke=class{},be=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function Hi(t){return!(t instanceof we)&&!(t instanceof be)&&!(t instanceof ke)}var St=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 le(this.rootInjector)}},le=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new St(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(Z(G))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),wt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=rr(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=rr(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=nr(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return nr(n,this._root).map(e=>e.value)}};function rr(t,n){if(t===n.value)return n;for(let e of n.children){let r=rr(t,e);if(r)return r}return null}function nr(t,n){if(t===n.value)return[n];for(let e of n.children){let r=nr(t,e);if(r.length)return r.unshift(n),r}return[]}var D=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ve(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var $e=class extends wt{snapshot;constructor(n,e){super(n),this.snapshot=e,hr(this,n)}toString(){return this.snapshot.toString()}};function xn(t,n){let e=Bi(t,n),r=new U([new J("",{})]),i=new U({}),o=new U({}),s=new U({}),a=new U(""),c=new H(r,i,s,a,o,f,t,e.root);return c.snapshot=e.root,new $e(new D(c,[]),e)}function Bi(t,n){let e={},r={},i={},s=new Ie([],e,i,"",r,f,t,null,{},n);return new ze("",new D(s,[]))}var H=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(E(u=>u[He]))??g(void 0),this.url=n,this.params=e,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(E(n=>se(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(E(n=>se(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function dr(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:d(d({},n.params),t.params),data:d(d({},n.data),t.data),resolve:d(d(d(d({},t.data),n.data),i?.data),t._resolvedData)}:r={params:d({},t.params),data:d({},t.data),resolve:d(d({},t.data),t._resolvedData??{})},i&&kn(i)&&(r.resolve[He]=i.title),r}var Ie=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[He]}constructor(n,e,r,i,o,s,a,c,u,h){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=h}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??=se(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=se(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},ze=class extends wt{url;constructor(n,e){super(e),this.url=n,hr(this,e)}toString(){return jn(this._root)}};function hr(t,n){n.value._routerState=t,n.children.forEach(e=>hr(t,e))}function jn(t){let n=t.children.length>0?` { ${t.children.map(jn).join(", ")} } `:"";return`${t.value}${n}`}function Kt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(n.params,e.params)||t.paramsSubject.next(e.params),yi(n.url,e.url)||t.urlSubject.next(e.url),z(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function ir(t,n){let e=z(t.params,n.params)&&bi(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||ir(t.parent,n.parent))}function kn(t){return typeof t.title=="string"||t.title===null}var $n=new M(""),fr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new fe;deactivateEvents=new fe;attachEvents=new fe;detachEvents=new fe;routerOutletData=on();parentContexts=l(le);location=l(Vr);changeDetector=l(Bt);inputBinder=l(Be,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.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(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new b(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new b(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new b(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new b(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new or(e,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||t)};static \u0275dir=tt({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Xe]})}return t})(),or=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===H?this.route:n===le?this.childContexts:n===$n?this.outletData:this.parent.get(n,e)}},Be=new M(""),pr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Pt([r.queryParams,r.params,r.data]).pipe(j(([o,s,a],c)=>(a=d(d(d({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=an(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac})}return t})(),gr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Wr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Xr(0,"router-outlet")},dependencies:[fr],encapsulation:2})}return t})();function vr(t){let n=t.children&&t.children.map(vr),e=n?O(d({},t),{children:n}):d({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=gr),e}function Vi(t,n,e){let r=Fe(t,n._root,e?e._root:void 0);return new $e(r,n)}function Fe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=Gi(t,n,e);return new D(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Fe(t,a)),s}}let r=Wi(n.value),i=n.children.map(o=>Fe(t,o));return new D(r,i)}}function Gi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Fe(t,r,i);return Fe(t,r)})}function Wi(t){return new H(new U(t.url),new U(t.params),new U(t.queryParams),new U(t.fragment),new U(t.data),t.outlet,t.component,t)}var Ae=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},zn="ngNavigationCancelingError";function bt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=X(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=Fn(!1,I.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function Fn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[zn]=!0,e.cancellationCode=n,e}function Qi(t){return qn(t)&&X(t.url)}function qn(t){return!!t&&t[zn]}var ar=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),Kt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ve(e);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,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ve(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,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ve(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,e,r){let i=ve(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new Ct(o.value.snapshot))}),n.children.length&&this.forwardEvent(new yt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Kt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,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),Kt(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)}},It=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Re=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Ki(t,n,e){let r=t._root,i=n?n._root:null;return Ue(r,i,e,[r.value])}function Yi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function Me(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!Ur(t)?t:n.get(t):r}function Ue(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ve(n);return t.children.forEach(s=>{Zi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Le(a,e.getContext(s),i)),i}function Zi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Ji(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new It(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ue(t,n,a?a.children:null,r,i):Ue(t,n,e,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Re(a.outlet.component,s))}else s&&Le(n,a,i),i.canActivateChecks.push(new It(r)),o.component?Ue(t,null,a?a.children:null,r,i):Ue(t,null,e,r,i);return i}function Ji(t,n,e){if(typeof e=="function")return T(n._environmentInjector,()=>e(t,n));switch(e){case"pathParamsChange":return!ae(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ae(t.url,n.url)||!z(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ir(t,n)||!z(t.queryParams,n.queryParams);default:return!ir(t,n)}}function Le(t,n,e){let r=ve(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Le(s,n.children.getContext(o),e):Le(s,null,e):Le(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new Re(n.outlet.component,i)):e.canDeactivateChecks.push(new Re(null,i)):e.canDeactivateChecks.push(new Re(null,i))}function Ve(t){return typeof t=="function"}function Xi(t){return typeof t=="boolean"}function eo(t){return t&&Ve(t.canLoad)}function to(t){return t&&Ve(t.canActivate)}function ro(t){return t&&Ve(t.canActivateChild)}function no(t){return t&&Ve(t.canDeactivate)}function io(t){return t&&Ve(t.canMatch)}function Hn(t){return t instanceof Mr||t?.name==="EmptyError"}var it=Symbol("INITIAL_VALUE");function Ee(){return j(t=>Pt(t.map(n=>n.pipe(he(1),Nr(it)))).pipe(E(n=>{for(let e of n)if(e!==!0){if(e===it)return it;if(e===!1||oo(e))return e}return!0}),K(n=>n!==it),he(1)))}function oo(t){return X(t)||t instanceof Ae}function Bn(t){return t.aborted?g(void 0).pipe(he(1)):new Ar(n=>{let e=()=>{n.next(),n.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function Vn(t){return Ze(Bn(t))}function ao(t){return $(n=>{let{targetSnapshot:e,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(O(d({},n),{guardsResult:!0})):so(o,e,r).pipe($(s=>s&&Xi(s)?co(e,i,t):g(s)),E(s=>O(d({},n),{guardsResult:s})))})}function so(t,n,e){return A(t).pipe($(r=>po(r.component,r.route,e,n)),Y(r=>r!==!0,!0))}function co(t,n,e){return A(n).pipe(Ne(r=>Tr(lo(r.route.parent,e),uo(r.route,e),fo(t,r.path),ho(t,r.route))),Y(r=>r!==!0,!0))}function uo(t,n){return t!==null&&n&&n(new Rt(t)),g(!0)}function lo(t,n){return t!==null&&n&&n(new mt(t)),g(!0)}function ho(t,n){let e=n.routeConfig?n.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let r=e.map(i=>Ke(()=>{let o=n._environmentInjector,s=Me(i,o),a=to(s)?s.canActivate(n,t):T(o,()=>s(n,t));return ue(a).pipe(Y())}));return g(r).pipe(Ee())}function fo(t,n){let e=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>Yi(o)).filter(o=>o!==null).map(o=>Ke(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=Me(a,c),h=ro(u)?u.canActivateChild(e,t):T(c,()=>u(e,t));return ue(h).pipe(Y())});return g(s).pipe(Ee())}));return g(i).pipe(Ee())}function po(t,n,e,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=Me(s,a),u=no(c)?c.canDeactivate(t,n,e,r):T(a,()=>c(t,n,e,r));return ue(u).pipe(Y())});return g(o).pipe(Ee())}function go(t,n,e,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=Me(a,t),u=eo(c)?c.canLoad(n,e):T(t,()=>c(n,e)),h=ue(u);return i?h.pipe(Vn(i)):h});return g(s).pipe(Ee(),Gn(r))}function Gn(t){return Ir(k(n=>{if(typeof n!="boolean")throw bt(t,n)}),E(n=>n===!0))}function vo(t,n,e,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=Me(c,t),h=io(u)?u.canMatch(n,e,i):T(t,()=>u(n,e,i));return ue(h).pipe(Vn(o))});return g(a).pipe(Ee(),Gn(r))}var W=class t extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,t.prototype)}},qe=class t extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,t.prototype)}};function mo(t){throw new b(4e3,!1)}function yo(t){throw Fn(!1,I.GuardRejected)}var sr=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){return m(this,null,function*(){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[f])throw mo(`${n.redirectTo}`);i=i.children[f]}})}applyRedirectCommands(n,e,r,i,o){return m(this,null,function*(){let s=yield Ro(e,i,o);if(s instanceof N)throw new qe(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new qe(a);return a})}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new N(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new b(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function Ro(t,n,e){if(typeof t=="string")return Promise.resolve(t);let r=t;return ct(ue(T(e,()=>r(n))))}function Co(t,n){return t.providers&&!t._injector&&(t._injector=et(t.providers,n,`Route: ${t.path}`)),t._injector??n}function F(t){return t.outlet||f}function So(t,n){let e=t.filter(r=>F(r)===n);return e.push(...t.filter(r=>F(r)!==n)),e}var cr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Wn(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function wo(t,n,e,r,i,o,s){let a=Qn(t,n,e);if(!a.matched)return g(a);let c=Wn(o(a));return r=Co(n,r),vo(r,n,e,i,c,s).pipe(E(u=>u===!0?a:d({},cr)))}function Qn(t,n,e){if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?d({},cr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||yn)(e,t,n);if(!i)return d({},cr);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:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function vn(t,n,e,r){return e.length>0&&Ao(t,e,r)?{segmentGroup:new v(n,Io(r,new v(e,t.children))),slicedSegments:[]}:e.length===0&&Eo(t,e,r)?{segmentGroup:new v(t.segments,bo(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function bo(t,n,e,r){let i={};for(let o of e)if(Et(t,n,o)&&!r[F(o)]){let s=new v([],{});i[F(o)]=s}return d(d({},r),i)}function Io(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&F(r)!==f){let i=new v([],{});e[F(r)]=i}return e}function Ao(t,n,e){return e.some(r=>Et(t,n,r)&&F(r)!==f)}function Eo(t,n,e){return e.some(r=>Et(t,n,r))}function Et(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Mo(t,n,e){return n.length===0&&!t.children[e]}var ur=class{};function To(t,n,e,r,i,o,s="emptyOnly",a){return m(this,null,function*(){return new lr(t,n,e,r,i,s,o,a).recognize()})}var Do=31,lr=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a,c){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new sr(this.urlSerializer,this.urlTree)}noMatchError(n){return new b(4002,`'${n.segmentGroup}'`)}recognize(){return m(this,null,function*(){let n=vn(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:r}=yield this.match(n),i=new D(r,e),o=new ze("",i),s=Nn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}})}match(n){return m(this,null,function*(){let e=new Ie([],Object.freeze({}),Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{},this.injector);try{return{children:yield this.processSegmentGroup(this.injector,this.config,n,f,e),rootSnapshot:e}}catch(r){if(r instanceof qe)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof W?this.noMatchError(r):r}})}processSegmentGroup(n,e,r,i,o){return m(this,null,function*(){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,e,r,o);let s=yield this.processSegment(n,e,r,r.segments,i,!0,o);return s instanceof D?[s]:[]})}processChildren(n,e,r,i){return m(this,null,function*(){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],h=So(e,c),p=yield this.processSegmentGroup(n,h,u,c,i);s.push(...p)}let a=Kn(s);return No(a),a})}processSegment(n,e,r,i,o,s,a){return m(this,null,function*(){for(let c of e)try{return yield this.processSegmentAgainstRoute(c._injector??n,e,c,r,i,o,s,a)}catch(u){if(u instanceof W||Hn(u))continue;throw u}if(Mo(r,i,o))return new ur;throw new W(r)})}processSegmentAgainstRoute(n,e,r,i,o,s,a,c){return m(this,null,function*(){if(F(r)!==s&&(s===f||!Et(i,o,r)))throw new W(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,c);throw new W(i)})}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){return m(this,null,function*(){let{matched:c,parameters:u,consumedSegments:h,positionalParamSegments:p,remainingSegments:y}=Qn(e,i,o);if(!c)throw new W(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Do&&(this.allowRedirects=!1));let ne=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let V=yield this.applyRedirects.applyRedirectCommands(h,i.redirectTo,p,Wn(ne),n),ie=yield this.applyRedirects.lineralizeSegments(i,V);return this.processSegment(n,r,e,ie.concat(y),s,!1,a)})}createSnapshot(n,e,r,i,o){let s=new Ie(r,i,Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Oo(e),F(e),e.component??e._loadedComponent??null,e,Uo(e),n),a=dr(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}matchSegmentAgainstRoute(n,e,r,i,o,s){return m(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=Qe=>this.createSnapshot(n,r,Qe.consumedSegments,Qe.parameters,s),c=yield ct(wo(e,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(e.children={}),!c?.matched)throw new W(e);n=r._injector??n;let{routes:u}=yield this.getChildConfig(n,r,i),h=r._loadedInjector??n,{parameters:p,consumedSegments:y,remainingSegments:ne}=c,V=this.createSnapshot(n,r,y,p,s),{segmentGroup:ie,slicedSegments:Te}=vn(e,y,ne,u);if(Te.length===0&&ie.hasChildren()){let Qe=yield this.processChildren(h,u,ie,V);return new D(V,Qe)}if(u.length===0&&Te.length===0)return new D(V,[]);let Ot=F(r)===o,De=yield this.processSegment(h,u,ie,Te,Ot?f:o,!0,V);return new D(V,De instanceof D?[De]:[])})}getChildConfig(n,e,r){return m(this,null,function*(){if(e.children)return{routes:e.children,injector:n};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(n).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield ct(go(n,e,r,this.urlSerializer,this.abortSignal))){let o=yield this.configLoader.loadChildren(n,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw yo(e)}return{routes:[],injector:n}})}};function No(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function _o(t){let n=t.value.routeConfig;return n&&n.path===""}function Kn(t){let n=[],e=new Set;for(let r of t){if(!_o(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Kn(r.children);n.push(new D(r.value,i))}return n.filter(r=>!e.has(r))}function Oo(t){return t.data||{}}function Uo(t){return t.resolve||{}}function Po(t,n,e,r,i,o,s){return $(a=>m(null,null,function*(){let{state:c,tree:u}=yield To(t,n,e,r,a.extractedUrl,i,o,s);return O(d({},a),{targetSnapshot:c,urlAfterRedirects:u})}))}function Lo(t){return $(n=>{let{targetSnapshot:e,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 Yn(a))o.add(c);let s=0;return A(o).pipe(Ne(a=>i.has(a)?xo(a,e,t):(a.data=dr(a,a.parent,t).resolve,g(void 0))),k(()=>s++),xt(1),$(a=>s===o.size?g(n):P))})}function Yn(t){let n=t.children.map(e=>Yn(e)).flat();return[t,...n]}function xo(t,n,e){let r=t.routeConfig,i=t._resolve;return r?.title!==void 0&&!kn(r)&&(i[He]=r.title),Ke(()=>(t.data=dr(t,t.parent,e).resolve,jo(i,t,n).pipe(E(o=>(t._resolvedData=o,t.data=d(d({},t.data),o),null)))))}function jo(t,n,e){let r=Zt(t);if(r.length===0)return g({});let i={};return A(r).pipe($(o=>ko(t[o],n,e).pipe(Y(),k(s=>{if(s instanceof Ae)throw bt(new Q,s);i[o]=s}))),xt(1),E(()=>i),Ye(o=>Hn(o)?P:Er(o)))}function ko(t,n,e){let r=n._environmentInjector,i=Me(t,r),o=i.resolve?i.resolve(n,e):T(r,()=>i(n,e));return ue(o)}function mn(t){return j(n=>{let e=t(n);return e?A(e).pipe(E(()=>n)):g(n)})}var mr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[He]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(Zn),providedIn:"root"})}return t})(),Zn=(()=>{class t extends mr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(Z(ln))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),re=new M("",{factory:()=>({})}),de=new M(""),Mt=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=l(tn);loadComponent(e,r){return m(this,null,function*(){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=m(this,null,function*(){try{let o=yield Cn(T(e,()=>r.loadComponent())),s=yield ei(Xn(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}});return this.componentLoaders.set(r,i),i})}loadChildren(e,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=m(this,null,function*(){try{let o=yield Jn(r,this.compiler,e,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||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Jn(t,n,e,r){return m(this,null,function*(){let i=yield Cn(T(e,()=>t.loadChildren())),o=yield ei(Xn(i)),s;o instanceof Gr||Array.isArray(o)?s=o:s=yield n.compileModuleAsync(o),r&&r(t);let a,c,u=!1,h;return Array.isArray(s)?(c=s,u=!0):(a=s.create(e).injector,h=s,c=a.get(de,[],{optional:!0,self:!0}).flat()),{routes:c.map(vr),injector:a,factory:h}})}function $o(t){return t&&typeof t=="object"&&"default"in t}function Xn(t){return $o(t)?t.default:t}function ei(t){return m(this,null,function*(){return t})}var Tt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(zo),providedIn:"root"})}return t})(),zo=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yr=new M(""),Rr=new M("");function ti(t,n,e){let r=t.get(Rr),i=t.get(Lr);if(!i.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,new Promise(u=>setTimeout(u));let o,s=new Promise(u=>{o=u}),a=i.startViewTransition(()=>(o(),Fo(t)));a.updateCallbackDone.catch(u=>{}),a.ready.catch(u=>{}),a.finished.catch(u=>{});let{onViewTransitionCreated:c}=r;return c&&T(t,()=>c({transition:a,from:n,to:e})),s}function Fo(t){return new Promise(n=>{zt({read:()=>setTimeout(n)},{injector:t})})}var qo=()=>{},Cr=new M(""),Dt=(()=>{class t{currentNavigation=w(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=w(null);events=new oe;transitionAbortWithErrorSubject=new oe;configLoader=l(Mt);environmentInjector=l(G);destroyRef=l(kt);urlSerializer=l(te);rootContexts=l(le);location=l(ge);inputBindingEnabled=l(Be,{optional:!0})!==null;titleStrategy=l(mr);options=l(re,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=l(Tt);createViewTransition=l(yr,{optional:!0});navigationErrorHandler=l(Cr,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new gt(i)),r=i=>this.events.next(new vt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;R(()=>{this.transitions?.next(O(d({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new U(null),this.transitions.pipe(K(r=>r!==null),j(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(j(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),P;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?O(d({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),h=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!u&&h!=="reload")return this.events.next(new q(a.id,this.urlSerializer.serialize(a.rawUrl),"",Ce.IgnoredSameUrlNavigation)),a.resolve(!1),P;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(j(p=>(this.events.next(new ee(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?P:Promise.resolve(p))),Po(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),k(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(y=>(y.finalUrl=p.urlAfterRedirects,y)),this.events.next(new ke)}),j(p=>A(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(E(()=>p))),k(()=>{let p=new je(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:y,source:ne,restoredState:V,extras:ie}=a,Te=new ee(p,this.urlSerializer.serialize(y),ne,V);this.events.next(Te);let Ot=xn(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=O(d({},a),{targetSnapshot:Ot,urlAfterRedirects:y,extras:O(d({},ie),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(De=>(De.finalUrl=y,De)),g(r)}else return this.events.next(new q(a.id,this.urlSerializer.serialize(a.extractedUrl),"",Ce.IgnoredByUrlHandlingStrategy)),a.resolve(!1),P}),E(a=>{let c=new dt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=O(d({},a),{guards:Ki(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),ao(a=>this.events.next(a)),j(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw bt(this.urlSerializer,a.guardsResult);let c=new ht(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return P;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",I.GuardRejected),P;if(a.guards.canActivateChecks.length===0)return g(a);let u=new ft(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return P;let h=!1;return g(a).pipe(Lo(this.paramsInheritanceStrategy),k({next:()=>{h=!0;let p=new pt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{h||this.cancelNavigationTransition(a,"",I.NoDataFromResolver)}}))}),mn(a=>{let c=h=>{let p=[];if(h.routeConfig?._loadedComponent)h.component=h.routeConfig?._loadedComponent;else if(h.routeConfig?.loadComponent){let y=h._environmentInjector;p.push(this.configLoader.loadComponent(y,h.routeConfig).then(ne=>{h.component=ne}))}for(let y of h.children)p.push(...c(y));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):A(Promise.all(u).then(()=>a))}),mn(()=>this.afterPreactivation()),j(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?A(u).pipe(E(()=>r)):g(r)}),he(1),j(a=>{let c=Vi(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=O(d({},a),{targetRouterState:c}),this.currentNavigation.update(h=>(h.targetRouterState=c,h)),this.events.next(new we);let u=r.beforeActivateHandler.deferredHandle;return u?A(u.then(()=>a)):g(a)}),k(a=>{new ar(e.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=qo,c)),this.lastSuccessfulNavigation.set(R(this.currentNavigation)),this.events.next(new x(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),Ze(Bn(o.signal).pipe(K(()=>!i&&!r.targetRouterState),k(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",I.Aborted)}))),k({complete:()=>{i=!0}}),Ze(this.transitionAbortWithErrorSubject.pipe(k(a=>{throw a}))),Dr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Ye(a=>{if(i=!0,this.destroyed)return r.resolve(!1),P;if(qn(a))this.events.next(new L(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),Qi(a)?this.events.next(new be(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new ce(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=T(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof Ae){let{message:h,cancellationCode:p}=bt(this.urlSerializer,u);this.events.next(new L(r.id,this.urlSerializer.serialize(r.extractedUrl),h,p)),this.events.next(new be(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return P}))}))}cancelNavigationTransition(e,r,i){let o=new L(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=R(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ho(t){return t!==ye}var ri=new M("");var ni=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(Bo),providedIn:"root"})}return t})(),At=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}shouldDestroyInjector(n){return!0}},Bo=(()=>{class t extends At{static \u0275fac=(()=>{let e;return function(i){return(e||(e=$t(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Nt=(()=>{class t{urlSerializer=l(te);options=l(re,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=l(ge);urlHandlingStrategy=l(Tt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new N;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof N?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=xn(null,l(G));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||t)};static \u0275prov=C({token:t,factory:()=>l(Vo),providedIn:"root"})}return t})(),Vo=(()=>{class t extends Nt{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,r){e instanceof ee?this.updateStateMemento():e instanceof q?this.commitTransition(r):e instanceof je?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof we?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof L&&!Ln(e)?this.restoreHistory(r):e instanceof ce?this.restoreHistory(r,!0):e instanceof x&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=d(d({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=d(d({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=$t(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function _t(t,n){t.events.pipe(K(e=>e instanceof x||e instanceof L||e instanceof ce||e instanceof q),E(e=>e instanceof x||e instanceof q?0:(e instanceof L?e.code===I.Redirect||e.code===I.SupersededByNewNavigation:!1)?2:1),K(e=>e!==2),he(1)).subscribe(()=>{n()})}var B=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=l(Kr);stateManager=l(Nt);options=l(re,{optional:!0})||{};pendingTasks=l(xr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=l(Dt);urlSerializer=l(te);location=l(ge);urlHandlingStrategy=l(Tt);injector=l(G);_events=new oe;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=l(ni);injectorCleanup=l(ri,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=l(de,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!l(Be,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new br;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=R(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof L&&r.code!==I.Redirect&&r.code!==I.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof x)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof be){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"||Ho(i.source)},s);this.scheduleNavigation(a,ye,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Hi(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),ye,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i,o)=>{this.navigateToSyncWithBrowser(e,i,r,o)})}navigateToSyncWithBrowser(e,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(e);this.scheduleNavigation(a,r,s,o).catch(c=>{this.disposed||this.injector.get(Je)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return R(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(vr),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(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,h=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":h=d(d({},this.currentUrlTree.queryParams),o);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=o||null}h!==null&&(h=this.removeEmptyProps(h));let p;try{let y=i?i.snapshot:this.routerState.snapshot.root;p=_n(y)}catch(y){(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),p=this.currentUrlTree.root}return On(p,e,h,u??null,this.urlSerializer)}navigateByUrl(e,r={skipLocationChange:!1}){let i=X(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,ye,null,r)}navigate(e,r={skipLocationChange:!1}){return Go(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch(r){return this.console.warn(_r(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=d({},wn):r===!1?i=d({},Jt):i=d(d({},Jt),r),X(e))return dn(this.currentUrlTree,e,i);let o=this.parseUrl(e);return dn(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,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,y)=>{a=p,c=y});let h=this.pendingTasks.add();return _t(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(h))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,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||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Go(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new b(4008,!1)}var Qo=(()=>{class t{router=l(B);stateManager=l(Nt);fragment=w("");queryParams=w({});path=w("");serializer=l(te);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof x&&this.updateState()})}updateState(){let{fragment:e,root:r,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new N(r)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ii=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=l(new nn("href"),{optional:!0});reactiveHref=rn(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return R(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return R(this._target)}_target=w(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return R(this._queryParams)}_queryParams=w(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return R(this._fragment)}_fragment=w(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return R(this._queryParamsHandling)}_queryParamsHandling=w(void 0);set state(e){this._state.set(e)}get state(){return R(this._state)}_state=w(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return R(this._info)}_info=w(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return R(this._relativeTo)}_relativeTo=w(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return R(this._preserveFragment)}_preserveFragment=w(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return R(this._skipLocationChange)}_skipLocationChange=w(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return R(this._replaceUrl)}_replaceUrl=w(!1);isAnchorElement;onChanges=new oe;applicationErrorHandler=l(Je);options=l(re,{optional:!0});reactiveRouterState=l(Qo);constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=w(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(X(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(u=>{this.applicationErrorHandler(u)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}_urlTree=Ht(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let r=this.routerLinkInput();return r===null||!this.router.createUrlTree?null:X(r)?r:this.router.createUrlTree(r,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,r)=>this.computeHref(e)===this.computeHref(r)});get urlTree(){return R(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(r){return new(r||t)(pe(B),pe(H),kr("tabindex"),pe(Hr),pe($r),pe(_e))};static \u0275dir=tt({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&en("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Jr("href",i.reactiveHref(),Fr)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",rt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",rt],replaceUrl:[2,"replaceUrl","replaceUrl",rt],routerLink:"routerLink"},features:[Xe]})}return t})();var Ge=class{};var oi=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,r,i,o){this.router=e,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(K(e=>e instanceof x),Ne(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(e,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=et(o.providers,e,""));let s=o._injector??e;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(s).injector);let a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return A(i).pipe(Lt())}preloadConfig(e,r){return this.preloadingStrategy.preload(r,()=>{if(e.destroyed)return g(null);let i;r.loadChildren&&r.canLoad===void 0?i=A(this.loader.loadChildren(e,r)):i=g(null);let o=i.pipe($(s=>s===null?g(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,r._loadedNgModuleFactory=s.factory,this.processRoutes(s.injector??e,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(e,r);return A([o,s]).pipe(Lt())}else return o})}static \u0275fac=function(r){return new(r||t)(Z(B),Z(G),Z(Ge),Z(Mt))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ai=new M(""),Ko=(()=>{class t{options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=ye;restoredId=0;store={};urlSerializer=l(te);zone=l(jr);viewportScroller=l(Vt);transitions=l(Dt);constructor(e){this.options=e,this.options.scrollPositionRestoration||="disabled",this.options.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ee?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof x?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof q&&e.code===Ce.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{if(!(e instanceof Se)||e.scrollBehavior==="manual")return;let r={behavior:"instant"};e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],r):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position,r):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(e,r){let i=R(this.transitions.currentNavigation)?.extras.scroll;this.zone.runOutsideAngular(()=>m(this,null,function*(){yield new Promise(o=>{setTimeout(o),typeof requestAnimationFrame<"u"&&requestAnimationFrame(o)}),this.zone.run(()=>{this.transitions.events.next(new Se(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,r,i))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){Br()};static \u0275prov=C({token:t,factory:t.\u0275fac})}return t})();function Yo(t,...n){return Pr([{provide:de,multi:!0,useValue:t},[],{provide:H,useFactory:si},{provide:qt,multi:!0,useFactory:ci},n.map(e=>e.\u0275providers)])}function si(){return l(B).routerState.root}function We(t,n){return{\u0275kind:t,\u0275providers:n}}function ci(){let t=l(jt);return n=>{let e=t.get(Zr);if(n!==e.components[0])return;let r=t.get(B),i=t.get(ui);t.get(wr)===1&&r.initialNavigation(),t.get(hi,null,{optional:!0})?.setUpPreloading(),t.get(ai,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ui=new M("",{factory:()=>new oe}),wr=new M("",{factory:()=>1});function li(){let t=[{provide:zr,useValue:!0},{provide:wr,useValue:0},Ft(()=>{let n=l(jt);return n.get(sn,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(B),o=n.get(ui);_t(i,()=>{r(!0)}),n.get(Dt).afterPreactivation=()=>(r(!0),o.closed?g(void 0):o),i.initialNavigation()}))})];return We(2,t)}function di(){let t=[Ft(()=>{l(B).setUpLocationChangeListener()}),{provide:wr,useValue:2}];return We(3,t)}var hi=new M("");function fi(t){return We(0,[{provide:hi,useExisting:oi},{provide:Ge,useExisting:t}])}function pi(){return We(8,[pr,{provide:Be,useExisting:pr}])}function gi(t){qr("NgRouterViewTransitions");let n=[{provide:yr,useValue:ti},{provide:Rr,useValue:d({skipNextTransition:!!t?.skipInitialTransition},t)}];return We(9,n)}var vi=[ge,{provide:te,useClass:Q},B,le,{provide:H,useFactory:si},Mt,[]],Zo=(()=>{class t{constructor(){}static forRoot(e,r){return{ngModule:t,providers:[vi,[],{provide:de,multi:!0,useValue:e},[],r?.errorHandler?{provide:Cr,useValue:r.errorHandler}:[],{provide:re,useValue:r||{}},r?.useHash?Xo():ea(),Jo(),r?.preloadingStrategy?fi(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?ta(r):[],r?.bindToComponentInputs?pi().\u0275providers:[],r?.enableViewTransitions?gi().\u0275providers:[],ra()]}}static forChild(e){return{ngModule:t,providers:[{provide:de,multi:!0,useValue:e}]}}static \u0275fac=function(r){return new(r||t)};static \u0275mod=Qr({type:t});static \u0275inj=Or({})}return t})();function Jo(){return{provide:ai,useFactory:()=>{let t=l(Vt),n=l(re);return n.scrollOffset&&t.setOffset(n.scrollOffset),new Ko(n)}}}function Xo(){return{provide:_e,useClass:un}}function ea(){return{provide:_e,useClass:cn}}function ta(t){return[t.initialNavigation==="disabled"?di().\u0275providers:[],t.initialNavigation==="enabledBlocking"?li().\u0275providers:[]]}var Sr=new M("");function ra(){return[{provide:Sr,useFactory:ci},{provide:qt,multi:!0,useExisting:Sr}]}export{H as a,fr as b,B as c,ii as d,Yo as e,Zo as f};
|
|
1
|
+
import{$ as Ur,B as K,Bc as sn,Cc as _e,D as Ye,Db as en,Dc as cn,E as Ne,Ea as zr,Ec as ge,Fc as un,G as he,Ia as Fr,K as Dr,L as Y,La as qr,M as xt,Ma as zt,Oc as Vt,Pa as Hr,Qa as pe,R as Nr,Ra as Br,S as j,Sa as Vr,T as Ze,Ua as Gr,V as k,Va as et,W as b,Wa as Wr,Wc as ln,X as _r,Xa as Qr,Ya as tt,Z as C,_ as Or,a as d,aa as M,b as O,ba as Z,ca as l,cb as Kr,d as m,da as Pr,e as br,ea as G,eb as Yr,f as Ir,fa as T,g as Ar,gb as Ft,h as oe,hb as qt,i as U,ib as Zr,jb as Jr,jc as tn,k as P,ka as jt,kc as R,l as A,la as Lr,lc as Ht,m as g,ma as kt,mc as rn,n as Er,na as xr,nc as nn,o as Ut,oa as fe,p as Mr,pa as jr,pc as on,ra as Je,t as E,ta as w,u as Pt,ub as Xr,uc as Bt,v as $,va as Xe,vc as rt,w as Lt,wa as $t,x as Tr,xa as kr,y as Ke,ya as $r,zc as an}from"./chunk-5J7BTB5J.js";var f="primary",He=Symbol("RouteTitle"),Yt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function se(t){return new Yt(t)}function Gt(t,n,e){for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function yn(t,n,e){let r=e.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let c={},u=t.slice(0,r.length);return Gt(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>t.length||e.pathMatch==="full"&&n.hasChildren()&&e.path!=="**")return null;let a={};return!Gt(o,t.slice(0,o.length),a)||!Gt(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function ct(t){return new Promise((n,e)=>{t.pipe(Y()).subscribe({next:r=>n(r),error:r=>e(r)})})}function yi(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],n[e]))return!1;return!0}function z(t,n){let e=t?Zt(t):void 0,r=n?Zt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Rn(t[i],n[i]))return!1;return!0}function Zt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Rn(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Ri(t){return t.length>0?t[t.length-1]:null}function ue(t){return Ut(t)?t:Yr(t)?A(Promise.resolve(t)):g(t)}function Cn(t){return Ut(t)?ct(t):Promise.resolve(t)}var Ci={exact:bn,subset:In},Sn={exact:Si,subset:wi,ignored:()=>!0},wn={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Jt={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function dn(t,n,e){return Ci[e.paths](t.root,n.root,e.matrixParams)&&Sn[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function Si(t,n){return z(t,n)}function bn(t,n,e){if(!ae(t.segments,n.segments)||!ot(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!bn(t.children[r],n.children[r],e))return!1;return!0}function wi(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Rn(t[e],n[e]))}function In(t,n,e){return An(t,n,n.segments,e)}function An(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ae(i,e)||n.hasChildren()||!ot(i,e,r))}else if(t.segments.length===e.length){if(!ae(t.segments,e)||!ot(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!In(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!ae(t.segments,i)||!ot(t.segments,i,r)||!t.children[f]?!1:An(t.children[f],n,o,r)}}function ot(t,n,e){return n.every((r,i)=>Sn[e](t[i].parameters,r.parameters))}var N=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=se(this.queryParams),this._queryParamMap}toString(){return Ai.serialize(this)}},v=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return at(this)}},J=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=se(this.parameters),this._parameterMap}toString(){return Mn(this)}};function bi(t,n){return ae(t,n)&&t.every((e,r)=>z(e.parameters,n[r].parameters))}function ae(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function Ii(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var te=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>new Q,providedIn:"root"})}return t})(),Q=class{parse(n){let e=new er(n);return new N(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Oe(n.root,!0)}`,r=Ti(n.queryParams),i=typeof n.fragment=="string"?`#${Ei(n.fragment)}`:"";return`${e}${r}${i}`}},Ai=new Q;function at(t){return t.segments.map(n=>Mn(n)).join("/")}function Oe(t,n){if(!t.hasChildren())return at(t);if(n){let e=t.children[f]?Oe(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Oe(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=Ii(t,(r,i)=>i===f?[Oe(t.children[f],!1)]:[`${i}:${Oe(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${at(t)}/${e[0]}`:`${at(t)}/(${e.join("//")})`}}function En(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nt(t){return En(t).replace(/%3B/gi,";")}function Ei(t){return encodeURI(t)}function Xt(t){return En(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function st(t){return decodeURIComponent(t)}function hn(t){return st(t.replace(/\+/g,"%20"))}function Mn(t){return`${Xt(t.path)}${Mi(t.parameters)}`}function Mi(t){return Object.entries(t).map(([n,e])=>`;${Xt(n)}=${Xt(e)}`).join("")}function Ti(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${nt(e)}=${nt(i)}`).join("&"):`${nt(e)}=${nt(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var Di=/^[^\/()?;#]+/;function Wt(t){let n=t.match(Di);return n?n[0]:""}var Ni=/^[^\/()?;=#]+/;function _i(t){let n=t.match(Ni);return n?n[0]:""}var Oi=/^[^=?&#]+/;function Ui(t){let n=t.match(Oi);return n?n[0]:""}var Pi=/^[^&#]+/;function Li(t){let n=t.match(Pi);return n?n[0]:""}var er=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),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 b(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(e.length>0||Object.keys(r).length>0)&&(i[f]=new v(e,r)),i}parseSegment(){let n=Wt(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new b(4009,!1);return this.capture(n),new J(st(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=_i(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=Wt(this.remaining);i&&(r=i,this.capture(r))}n[st(e)]=st(r)}parseQueryParam(n){let e=Ui(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Li(this.remaining);s&&(r=s,this.capture(r))}let i=hn(e),o=hn(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,e){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=Wt(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new b(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=f);let a=this.parseChildren(e+1);r[s??f]=Object.keys(a).length===1&&a[f]?a[f]: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 b(4011,!1)}};function Tn(t){return t.segments.length>0?new v([],{[f]:t}):t}function Dn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=Dn(i);if(r===f&&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 e=new v(t.segments,n);return xi(e)}function xi(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new v(t.segments.concat(n.segments),n.children)}return t}function X(t){return t instanceof N}function Nn(t,n,e=null,r=null,i=new Q){let o=_n(t);return On(o,n,e,r,i)}function _n(t){let n;function e(o){let s={};for(let c of o.children){let u=e(c);s[c.outlet]=u}let a=new v(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=Tn(r);return n??i}function On(t,n,e,r,i){let o=t;for(;o.parent;)o=o.parent;if(n.length===0)return Qt(o,o,o,e,r,i);let s=ji(n);if(s.toRoot())return Qt(o,o,new v([],{}),e,r,i);let a=ki(s,o,t),c=a.processChildren?Pe(a.segmentGroup,a.index,s.commands):Pn(a.segmentGroup,a.index,s.commands);return Qt(o,a.segmentGroup,c,e,r,i)}function ut(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function xe(t){return typeof t=="object"&&t!=null&&t.outlets}function fn(t,n,e){t||="\u0275";let r=new N;return r.queryParams={[t]:n},e.parse(e.serialize(r)).queryParams[t]}function Qt(t,n,e,r,i,o){let s={};for(let[u,h]of Object.entries(r??{}))s[u]=Array.isArray(h)?h.map(p=>fn(u,p,o)):fn(u,h,o);let a;t===n?a=e:a=Un(t,n,e);let c=Tn(Dn(a));return new N(c,s,i)}function Un(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=Un(o,n,e)}),new v(t.segments,r)}var lt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&ut(r[0]))throw new b(4003,!1);let i=r.find(xe);if(i&&i!==Ri(r))throw new b(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ji(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new lt(!0,0,t);let n=0,e=!1,r=t.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===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new lt(e,n,r)}var me=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function ki(t,n,e){if(t.isAbsolute)return new me(n,!0,0);if(!e)return new me(n,!1,NaN);if(e.parent===null)return new me(e,!0,0);let r=ut(t.commands[0])?0:1,i=e.segments.length-1+r;return $i(e,i,t.numberOfDoubleDots)}function $i(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new b(4005,!1);i=r.segments.length}return new me(r,!1,i-o)}function zi(t){return xe(t[0])?t[0].outlets:{[f]:t}}function Pn(t,n,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return Pe(t,n,e);let r=Fi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new v(t.segments.slice(r.pathIndex),t.children),Pe(o,0,i)}else return r.match&&i.length===0?new v(t.segments,{}):r.match&&!t.hasChildren()?tr(t,n,e):r.match?Pe(t,0,i):tr(t,n,e)}function Pe(t,n,e){if(e.length===0)return new v(t.segments,{});{let r=zi(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Pe(t.children[f],n,e);return new v(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=Pn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function Fi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(xe(a))break;let c=`${a}`,u=r<e.length-1?e[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!gn(c,u,s))return o;r+=2}else{if(!gn(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function tr(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(xe(o)){let c=qi(o.outlets);return new v(r,c)}if(i===0&&ut(e[0])){let c=t.segments[n];r.push(new J(c.path,pn(e[0]))),i++;continue}let s=xe(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&ut(a)?(r.push(new J(s,pn(a))),i+=2):(r.push(new J(s,{})),i++)}return new v(r,{})}function qi(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=tr(new v([],{}),0,r))}),n}function pn(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function gn(t,n,e){return t==e.path&&z(n,e.parameters)}var ye="imperative",S=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(S||{}),_=class{id;url;constructor(n,e){this.id=n,this.url=e}},ee=class extends _{type=S.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},x=class extends _{urlAfterRedirects;type=S.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},I=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(I||{}),Ce=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Ce||{}),L=class extends _{reason;code;type=S.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function Ln(t){return t instanceof L&&(t.code===I.Redirect||t.code===I.SupersededByNewNavigation)}var q=class extends _{reason;code;type=S.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},ce=class extends _{error;target;type=S.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},je=class extends _{urlAfterRedirects;state;type=S.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},dt=class extends _{urlAfterRedirects;state;type=S.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ht=class extends _{urlAfterRedirects;state;shouldActivate;type=S.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),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})`}},ft=class extends _{urlAfterRedirects;state;type=S.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},pt=class extends _{urlAfterRedirects;state;type=S.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},gt=class{route;type=S.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},vt=class{route;type=S.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},mt=class{snapshot;type=S.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},yt=class{snapshot;type=S.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Rt=class{snapshot;type=S.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ct=class{snapshot;type=S.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Se=class{routerEvent;position;anchor;scrollBehavior;type=S.Scroll;constructor(n,e,r,i){this.routerEvent=n,this.position=e,this.anchor=r,this.scrollBehavior=i}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},we=class{},ke=class{},be=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function Hi(t){return!(t instanceof we)&&!(t instanceof be)&&!(t instanceof ke)}var St=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 le(this.rootInjector)}},le=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new St(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(Z(G))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),wt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=rr(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=rr(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=nr(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return nr(n,this._root).map(e=>e.value)}};function rr(t,n){if(t===n.value)return n;for(let e of n.children){let r=rr(t,e);if(r)return r}return null}function nr(t,n){if(t===n.value)return[n];for(let e of n.children){let r=nr(t,e);if(r.length)return r.unshift(n),r}return[]}var D=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ve(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var $e=class extends wt{snapshot;constructor(n,e){super(n),this.snapshot=e,hr(this,n)}toString(){return this.snapshot.toString()}};function xn(t,n){let e=Bi(t,n),r=new U([new J("",{})]),i=new U({}),o=new U({}),s=new U({}),a=new U(""),c=new H(r,i,s,a,o,f,t,e.root);return c.snapshot=e.root,new $e(new D(c,[]),e)}function Bi(t,n){let e={},r={},i={},s=new Ie([],e,i,"",r,f,t,null,{},n);return new ze("",new D(s,[]))}var H=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(E(u=>u[He]))??g(void 0),this.url=n,this.params=e,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(E(n=>se(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(E(n=>se(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function dr(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:d(d({},n.params),t.params),data:d(d({},n.data),t.data),resolve:d(d(d(d({},t.data),n.data),i?.data),t._resolvedData)}:r={params:d({},t.params),data:d({},t.data),resolve:d(d({},t.data),t._resolvedData??{})},i&&kn(i)&&(r.resolve[He]=i.title),r}var Ie=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[He]}constructor(n,e,r,i,o,s,a,c,u,h){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=h}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??=se(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=se(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},ze=class extends wt{url;constructor(n,e){super(e),this.url=n,hr(this,e)}toString(){return jn(this._root)}};function hr(t,n){n.value._routerState=t,n.children.forEach(e=>hr(t,e))}function jn(t){let n=t.children.length>0?` { ${t.children.map(jn).join(", ")} } `:"";return`${t.value}${n}`}function Kt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(n.params,e.params)||t.paramsSubject.next(e.params),yi(n.url,e.url)||t.urlSubject.next(e.url),z(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function ir(t,n){let e=z(t.params,n.params)&&bi(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||ir(t.parent,n.parent))}function kn(t){return typeof t.title=="string"||t.title===null}var $n=new M(""),fr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new fe;deactivateEvents=new fe;attachEvents=new fe;detachEvents=new fe;routerOutletData=on();parentContexts=l(le);location=l(Vr);changeDetector=l(Bt);inputBinder=l(Be,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.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(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new b(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new b(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new b(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new b(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new or(e,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||t)};static \u0275dir=tt({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Xe]})}return t})(),or=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===H?this.route:n===le?this.childContexts:n===$n?this.outletData:this.parent.get(n,e)}},Be=new M(""),pr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Pt([r.queryParams,r.params,r.data]).pipe(j(([o,s,a],c)=>(a=d(d(d({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=an(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac})}return t})(),gr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Wr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Xr(0,"router-outlet")},dependencies:[fr],encapsulation:2})}return t})();function vr(t){let n=t.children&&t.children.map(vr),e=n?O(d({},t),{children:n}):d({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=gr),e}function Vi(t,n,e){let r=Fe(t,n._root,e?e._root:void 0);return new $e(r,n)}function Fe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=Gi(t,n,e);return new D(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Fe(t,a)),s}}let r=Wi(n.value),i=n.children.map(o=>Fe(t,o));return new D(r,i)}}function Gi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Fe(t,r,i);return Fe(t,r)})}function Wi(t){return new H(new U(t.url),new U(t.params),new U(t.queryParams),new U(t.fragment),new U(t.data),t.outlet,t.component,t)}var Ae=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},zn="ngNavigationCancelingError";function bt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=X(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=Fn(!1,I.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function Fn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[zn]=!0,e.cancellationCode=n,e}function Qi(t){return qn(t)&&X(t.url)}function qn(t){return!!t&&t[zn]}var ar=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),Kt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ve(e);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,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ve(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,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ve(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,e,r){let i=ve(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new Ct(o.value.snapshot))}),n.children.length&&this.forwardEvent(new yt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Kt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,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),Kt(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)}},It=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Re=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Ki(t,n,e){let r=t._root,i=n?n._root:null;return Ue(r,i,e,[r.value])}function Yi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function Me(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!Ur(t)?t:n.get(t):r}function Ue(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ve(n);return t.children.forEach(s=>{Zi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Le(a,e.getContext(s),i)),i}function Zi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Ji(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new It(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ue(t,n,a?a.children:null,r,i):Ue(t,n,e,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Re(a.outlet.component,s))}else s&&Le(n,a,i),i.canActivateChecks.push(new It(r)),o.component?Ue(t,null,a?a.children:null,r,i):Ue(t,null,e,r,i);return i}function Ji(t,n,e){if(typeof e=="function")return T(n._environmentInjector,()=>e(t,n));switch(e){case"pathParamsChange":return!ae(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ae(t.url,n.url)||!z(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ir(t,n)||!z(t.queryParams,n.queryParams);default:return!ir(t,n)}}function Le(t,n,e){let r=ve(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Le(s,n.children.getContext(o),e):Le(s,null,e):Le(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new Re(n.outlet.component,i)):e.canDeactivateChecks.push(new Re(null,i)):e.canDeactivateChecks.push(new Re(null,i))}function Ve(t){return typeof t=="function"}function Xi(t){return typeof t=="boolean"}function eo(t){return t&&Ve(t.canLoad)}function to(t){return t&&Ve(t.canActivate)}function ro(t){return t&&Ve(t.canActivateChild)}function no(t){return t&&Ve(t.canDeactivate)}function io(t){return t&&Ve(t.canMatch)}function Hn(t){return t instanceof Mr||t?.name==="EmptyError"}var it=Symbol("INITIAL_VALUE");function Ee(){return j(t=>Pt(t.map(n=>n.pipe(he(1),Nr(it)))).pipe(E(n=>{for(let e of n)if(e!==!0){if(e===it)return it;if(e===!1||oo(e))return e}return!0}),K(n=>n!==it),he(1)))}function oo(t){return X(t)||t instanceof Ae}function Bn(t){return t.aborted?g(void 0).pipe(he(1)):new Ar(n=>{let e=()=>{n.next(),n.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function Vn(t){return Ze(Bn(t))}function ao(t){return $(n=>{let{targetSnapshot:e,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(O(d({},n),{guardsResult:!0})):so(o,e,r).pipe($(s=>s&&Xi(s)?co(e,i,t):g(s)),E(s=>O(d({},n),{guardsResult:s})))})}function so(t,n,e){return A(t).pipe($(r=>po(r.component,r.route,e,n)),Y(r=>r!==!0,!0))}function co(t,n,e){return A(n).pipe(Ne(r=>Tr(lo(r.route.parent,e),uo(r.route,e),fo(t,r.path),ho(t,r.route))),Y(r=>r!==!0,!0))}function uo(t,n){return t!==null&&n&&n(new Rt(t)),g(!0)}function lo(t,n){return t!==null&&n&&n(new mt(t)),g(!0)}function ho(t,n){let e=n.routeConfig?n.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let r=e.map(i=>Ke(()=>{let o=n._environmentInjector,s=Me(i,o),a=to(s)?s.canActivate(n,t):T(o,()=>s(n,t));return ue(a).pipe(Y())}));return g(r).pipe(Ee())}function fo(t,n){let e=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>Yi(o)).filter(o=>o!==null).map(o=>Ke(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=Me(a,c),h=ro(u)?u.canActivateChild(e,t):T(c,()=>u(e,t));return ue(h).pipe(Y())});return g(s).pipe(Ee())}));return g(i).pipe(Ee())}function po(t,n,e,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=Me(s,a),u=no(c)?c.canDeactivate(t,n,e,r):T(a,()=>c(t,n,e,r));return ue(u).pipe(Y())});return g(o).pipe(Ee())}function go(t,n,e,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=Me(a,t),u=eo(c)?c.canLoad(n,e):T(t,()=>c(n,e)),h=ue(u);return i?h.pipe(Vn(i)):h});return g(s).pipe(Ee(),Gn(r))}function Gn(t){return Ir(k(n=>{if(typeof n!="boolean")throw bt(t,n)}),E(n=>n===!0))}function vo(t,n,e,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=Me(c,t),h=io(u)?u.canMatch(n,e,i):T(t,()=>u(n,e,i));return ue(h).pipe(Vn(o))});return g(a).pipe(Ee(),Gn(r))}var W=class t extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,t.prototype)}},qe=class t extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,t.prototype)}};function mo(t){throw new b(4e3,!1)}function yo(t){throw Fn(!1,I.GuardRejected)}var sr=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){return m(this,null,function*(){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[f])throw mo(`${n.redirectTo}`);i=i.children[f]}})}applyRedirectCommands(n,e,r,i,o){return m(this,null,function*(){let s=yield Ro(e,i,o);if(s instanceof N)throw new qe(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new qe(a);return a})}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new N(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new b(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function Ro(t,n,e){if(typeof t=="string")return Promise.resolve(t);let r=t;return ct(ue(T(e,()=>r(n))))}function Co(t,n){return t.providers&&!t._injector&&(t._injector=et(t.providers,n,`Route: ${t.path}`)),t._injector??n}function F(t){return t.outlet||f}function So(t,n){let e=t.filter(r=>F(r)===n);return e.push(...t.filter(r=>F(r)!==n)),e}var cr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Wn(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function wo(t,n,e,r,i,o,s){let a=Qn(t,n,e);if(!a.matched)return g(a);let c=Wn(o(a));return r=Co(n,r),vo(r,n,e,i,c,s).pipe(E(u=>u===!0?a:d({},cr)))}function Qn(t,n,e){if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?d({},cr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||yn)(e,t,n);if(!i)return d({},cr);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:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function vn(t,n,e,r){return e.length>0&&Ao(t,e,r)?{segmentGroup:new v(n,Io(r,new v(e,t.children))),slicedSegments:[]}:e.length===0&&Eo(t,e,r)?{segmentGroup:new v(t.segments,bo(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function bo(t,n,e,r){let i={};for(let o of e)if(Et(t,n,o)&&!r[F(o)]){let s=new v([],{});i[F(o)]=s}return d(d({},r),i)}function Io(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&F(r)!==f){let i=new v([],{});e[F(r)]=i}return e}function Ao(t,n,e){return e.some(r=>Et(t,n,r)&&F(r)!==f)}function Eo(t,n,e){return e.some(r=>Et(t,n,r))}function Et(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Mo(t,n,e){return n.length===0&&!t.children[e]}var ur=class{};function To(t,n,e,r,i,o,s="emptyOnly",a){return m(this,null,function*(){return new lr(t,n,e,r,i,s,o,a).recognize()})}var Do=31,lr=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a,c){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new sr(this.urlSerializer,this.urlTree)}noMatchError(n){return new b(4002,`'${n.segmentGroup}'`)}recognize(){return m(this,null,function*(){let n=vn(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:r}=yield this.match(n),i=new D(r,e),o=new ze("",i),s=Nn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}})}match(n){return m(this,null,function*(){let e=new Ie([],Object.freeze({}),Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{},this.injector);try{return{children:yield this.processSegmentGroup(this.injector,this.config,n,f,e),rootSnapshot:e}}catch(r){if(r instanceof qe)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof W?this.noMatchError(r):r}})}processSegmentGroup(n,e,r,i,o){return m(this,null,function*(){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,e,r,o);let s=yield this.processSegment(n,e,r,r.segments,i,!0,o);return s instanceof D?[s]:[]})}processChildren(n,e,r,i){return m(this,null,function*(){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],h=So(e,c),p=yield this.processSegmentGroup(n,h,u,c,i);s.push(...p)}let a=Kn(s);return No(a),a})}processSegment(n,e,r,i,o,s,a){return m(this,null,function*(){for(let c of e)try{return yield this.processSegmentAgainstRoute(c._injector??n,e,c,r,i,o,s,a)}catch(u){if(u instanceof W||Hn(u))continue;throw u}if(Mo(r,i,o))return new ur;throw new W(r)})}processSegmentAgainstRoute(n,e,r,i,o,s,a,c){return m(this,null,function*(){if(F(r)!==s&&(s===f||!Et(i,o,r)))throw new W(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,c);throw new W(i)})}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){return m(this,null,function*(){let{matched:c,parameters:u,consumedSegments:h,positionalParamSegments:p,remainingSegments:y}=Qn(e,i,o);if(!c)throw new W(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Do&&(this.allowRedirects=!1));let ne=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let V=yield this.applyRedirects.applyRedirectCommands(h,i.redirectTo,p,Wn(ne),n),ie=yield this.applyRedirects.lineralizeSegments(i,V);return this.processSegment(n,r,e,ie.concat(y),s,!1,a)})}createSnapshot(n,e,r,i,o){let s=new Ie(r,i,Object.freeze(d({},this.urlTree.queryParams)),this.urlTree.fragment,Oo(e),F(e),e.component??e._loadedComponent??null,e,Uo(e),n),a=dr(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}matchSegmentAgainstRoute(n,e,r,i,o,s){return m(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=Qe=>this.createSnapshot(n,r,Qe.consumedSegments,Qe.parameters,s),c=yield ct(wo(e,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(e.children={}),!c?.matched)throw new W(e);n=r._injector??n;let{routes:u}=yield this.getChildConfig(n,r,i),h=r._loadedInjector??n,{parameters:p,consumedSegments:y,remainingSegments:ne}=c,V=this.createSnapshot(n,r,y,p,s),{segmentGroup:ie,slicedSegments:Te}=vn(e,y,ne,u);if(Te.length===0&&ie.hasChildren()){let Qe=yield this.processChildren(h,u,ie,V);return new D(V,Qe)}if(u.length===0&&Te.length===0)return new D(V,[]);let Ot=F(r)===o,De=yield this.processSegment(h,u,ie,Te,Ot?f:o,!0,V);return new D(V,De instanceof D?[De]:[])})}getChildConfig(n,e,r){return m(this,null,function*(){if(e.children)return{routes:e.children,injector:n};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(n).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield ct(go(n,e,r,this.urlSerializer,this.abortSignal))){let o=yield this.configLoader.loadChildren(n,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw yo(e)}return{routes:[],injector:n}})}};function No(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function _o(t){let n=t.value.routeConfig;return n&&n.path===""}function Kn(t){let n=[],e=new Set;for(let r of t){if(!_o(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Kn(r.children);n.push(new D(r.value,i))}return n.filter(r=>!e.has(r))}function Oo(t){return t.data||{}}function Uo(t){return t.resolve||{}}function Po(t,n,e,r,i,o,s){return $(a=>m(null,null,function*(){let{state:c,tree:u}=yield To(t,n,e,r,a.extractedUrl,i,o,s);return O(d({},a),{targetSnapshot:c,urlAfterRedirects:u})}))}function Lo(t){return $(n=>{let{targetSnapshot:e,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 Yn(a))o.add(c);let s=0;return A(o).pipe(Ne(a=>i.has(a)?xo(a,e,t):(a.data=dr(a,a.parent,t).resolve,g(void 0))),k(()=>s++),xt(1),$(a=>s===o.size?g(n):P))})}function Yn(t){let n=t.children.map(e=>Yn(e)).flat();return[t,...n]}function xo(t,n,e){let r=t.routeConfig,i=t._resolve;return r?.title!==void 0&&!kn(r)&&(i[He]=r.title),Ke(()=>(t.data=dr(t,t.parent,e).resolve,jo(i,t,n).pipe(E(o=>(t._resolvedData=o,t.data=d(d({},t.data),o),null)))))}function jo(t,n,e){let r=Zt(t);if(r.length===0)return g({});let i={};return A(r).pipe($(o=>ko(t[o],n,e).pipe(Y(),k(s=>{if(s instanceof Ae)throw bt(new Q,s);i[o]=s}))),xt(1),E(()=>i),Ye(o=>Hn(o)?P:Er(o)))}function ko(t,n,e){let r=n._environmentInjector,i=Me(t,r),o=i.resolve?i.resolve(n,e):T(r,()=>i(n,e));return ue(o)}function mn(t){return j(n=>{let e=t(n);return e?A(e).pipe(E(()=>n)):g(n)})}var mr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[He]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(Zn),providedIn:"root"})}return t})(),Zn=(()=>{class t extends mr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(Z(ln))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),re=new M("",{factory:()=>({})}),de=new M(""),Mt=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=l(tn);loadComponent(e,r){return m(this,null,function*(){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=m(this,null,function*(){try{let o=yield Cn(T(e,()=>r.loadComponent())),s=yield ei(Xn(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}});return this.componentLoaders.set(r,i),i})}loadChildren(e,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=m(this,null,function*(){try{let o=yield Jn(r,this.compiler,e,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||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Jn(t,n,e,r){return m(this,null,function*(){let i=yield Cn(T(e,()=>t.loadChildren())),o=yield ei(Xn(i)),s;o instanceof Gr||Array.isArray(o)?s=o:s=yield n.compileModuleAsync(o),r&&r(t);let a,c,u=!1,h;return Array.isArray(s)?(c=s,u=!0):(a=s.create(e).injector,h=s,c=a.get(de,[],{optional:!0,self:!0}).flat()),{routes:c.map(vr),injector:a,factory:h}})}function $o(t){return t&&typeof t=="object"&&"default"in t}function Xn(t){return $o(t)?t.default:t}function ei(t){return m(this,null,function*(){return t})}var Tt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(zo),providedIn:"root"})}return t})(),zo=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yr=new M(""),Rr=new M("");function ti(t,n,e){let r=t.get(Rr),i=t.get(Lr);if(!i.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,new Promise(u=>setTimeout(u));let o,s=new Promise(u=>{o=u}),a=i.startViewTransition(()=>(o(),Fo(t)));a.updateCallbackDone.catch(u=>{}),a.ready.catch(u=>{}),a.finished.catch(u=>{});let{onViewTransitionCreated:c}=r;return c&&T(t,()=>c({transition:a,from:n,to:e})),s}function Fo(t){return new Promise(n=>{zt({read:()=>setTimeout(n)},{injector:t})})}var qo=()=>{},Cr=new M(""),Dt=(()=>{class t{currentNavigation=w(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=w(null);events=new oe;transitionAbortWithErrorSubject=new oe;configLoader=l(Mt);environmentInjector=l(G);destroyRef=l(kt);urlSerializer=l(te);rootContexts=l(le);location=l(ge);inputBindingEnabled=l(Be,{optional:!0})!==null;titleStrategy=l(mr);options=l(re,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=l(Tt);createViewTransition=l(yr,{optional:!0});navigationErrorHandler=l(Cr,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new gt(i)),r=i=>this.events.next(new vt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;R(()=>{this.transitions?.next(O(d({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new U(null),this.transitions.pipe(K(r=>r!==null),j(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(j(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),P;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?O(d({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),h=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!u&&h!=="reload")return this.events.next(new q(a.id,this.urlSerializer.serialize(a.rawUrl),"",Ce.IgnoredSameUrlNavigation)),a.resolve(!1),P;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(j(p=>(this.events.next(new ee(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?P:Promise.resolve(p))),Po(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),k(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(y=>(y.finalUrl=p.urlAfterRedirects,y)),this.events.next(new ke)}),j(p=>A(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(E(()=>p))),k(()=>{let p=new je(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:y,source:ne,restoredState:V,extras:ie}=a,Te=new ee(p,this.urlSerializer.serialize(y),ne,V);this.events.next(Te);let Ot=xn(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=O(d({},a),{targetSnapshot:Ot,urlAfterRedirects:y,extras:O(d({},ie),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(De=>(De.finalUrl=y,De)),g(r)}else return this.events.next(new q(a.id,this.urlSerializer.serialize(a.extractedUrl),"",Ce.IgnoredByUrlHandlingStrategy)),a.resolve(!1),P}),E(a=>{let c=new dt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=O(d({},a),{guards:Ki(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),ao(a=>this.events.next(a)),j(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw bt(this.urlSerializer,a.guardsResult);let c=new ht(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return P;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",I.GuardRejected),P;if(a.guards.canActivateChecks.length===0)return g(a);let u=new ft(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return P;let h=!1;return g(a).pipe(Lo(this.paramsInheritanceStrategy),k({next:()=>{h=!0;let p=new pt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{h||this.cancelNavigationTransition(a,"",I.NoDataFromResolver)}}))}),mn(a=>{let c=h=>{let p=[];if(h.routeConfig?._loadedComponent)h.component=h.routeConfig?._loadedComponent;else if(h.routeConfig?.loadComponent){let y=h._environmentInjector;p.push(this.configLoader.loadComponent(y,h.routeConfig).then(ne=>{h.component=ne}))}for(let y of h.children)p.push(...c(y));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):A(Promise.all(u).then(()=>a))}),mn(()=>this.afterPreactivation()),j(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?A(u).pipe(E(()=>r)):g(r)}),he(1),j(a=>{let c=Vi(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=O(d({},a),{targetRouterState:c}),this.currentNavigation.update(h=>(h.targetRouterState=c,h)),this.events.next(new we);let u=r.beforeActivateHandler.deferredHandle;return u?A(u.then(()=>a)):g(a)}),k(a=>{new ar(e.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=qo,c)),this.lastSuccessfulNavigation.set(R(this.currentNavigation)),this.events.next(new x(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),Ze(Bn(o.signal).pipe(K(()=>!i&&!r.targetRouterState),k(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",I.Aborted)}))),k({complete:()=>{i=!0}}),Ze(this.transitionAbortWithErrorSubject.pipe(k(a=>{throw a}))),Dr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Ye(a=>{if(i=!0,this.destroyed)return r.resolve(!1),P;if(qn(a))this.events.next(new L(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),Qi(a)?this.events.next(new be(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new ce(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=T(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof Ae){let{message:h,cancellationCode:p}=bt(this.urlSerializer,u);this.events.next(new L(r.id,this.urlSerializer.serialize(r.extractedUrl),h,p)),this.events.next(new be(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return P}))}))}cancelNavigationTransition(e,r,i){let o=new L(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=R(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ho(t){return t!==ye}var ri=new M("");var ni=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>l(Bo),providedIn:"root"})}return t})(),At=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}shouldDestroyInjector(n){return!0}},Bo=(()=>{class t extends At{static \u0275fac=(()=>{let e;return function(i){return(e||(e=$t(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Nt=(()=>{class t{urlSerializer=l(te);options=l(re,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=l(ge);urlHandlingStrategy=l(Tt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new N;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof N?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=xn(null,l(G));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||t)};static \u0275prov=C({token:t,factory:()=>l(Vo),providedIn:"root"})}return t})(),Vo=(()=>{class t extends Nt{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,r){e instanceof ee?this.updateStateMemento():e instanceof q?this.commitTransition(r):e instanceof je?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof we?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof L&&!Ln(e)?this.restoreHistory(r):e instanceof ce?this.restoreHistory(r,!0):e instanceof x&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=d(d({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=d(d({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=$t(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function _t(t,n){t.events.pipe(K(e=>e instanceof x||e instanceof L||e instanceof ce||e instanceof q),E(e=>e instanceof x||e instanceof q?0:(e instanceof L?e.code===I.Redirect||e.code===I.SupersededByNewNavigation:!1)?2:1),K(e=>e!==2),he(1)).subscribe(()=>{n()})}var B=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=l(Kr);stateManager=l(Nt);options=l(re,{optional:!0})||{};pendingTasks=l(xr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=l(Dt);urlSerializer=l(te);location=l(ge);urlHandlingStrategy=l(Tt);injector=l(G);_events=new oe;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=l(ni);injectorCleanup=l(ri,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=l(de,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!l(Be,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new br;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=R(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof L&&r.code!==I.Redirect&&r.code!==I.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof x)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof be){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"||Ho(i.source)},s);this.scheduleNavigation(a,ye,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Hi(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),ye,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i,o)=>{this.navigateToSyncWithBrowser(e,i,r,o)})}navigateToSyncWithBrowser(e,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(e);this.scheduleNavigation(a,r,s,o).catch(c=>{this.disposed||this.injector.get(Je)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return R(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(vr),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(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,h=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":h=d(d({},this.currentUrlTree.queryParams),o);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=o||null}h!==null&&(h=this.removeEmptyProps(h));let p;try{let y=i?i.snapshot:this.routerState.snapshot.root;p=_n(y)}catch(y){(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),p=this.currentUrlTree.root}return On(p,e,h,u??null,this.urlSerializer)}navigateByUrl(e,r={skipLocationChange:!1}){let i=X(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,ye,null,r)}navigate(e,r={skipLocationChange:!1}){return Go(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch(r){return this.console.warn(_r(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=d({},wn):r===!1?i=d({},Jt):i=d(d({},Jt),r),X(e))return dn(this.currentUrlTree,e,i);let o=this.parseUrl(e);return dn(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,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,y)=>{a=p,c=y});let h=this.pendingTasks.add();return _t(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(h))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,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||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Go(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new b(4008,!1)}var Qo=(()=>{class t{router=l(B);stateManager=l(Nt);fragment=w("");queryParams=w({});path=w("");serializer=l(te);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof x&&this.updateState()})}updateState(){let{fragment:e,root:r,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new N(r)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ii=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=l(new nn("href"),{optional:!0});reactiveHref=rn(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return R(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return R(this._target)}_target=w(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return R(this._queryParams)}_queryParams=w(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return R(this._fragment)}_fragment=w(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return R(this._queryParamsHandling)}_queryParamsHandling=w(void 0);set state(e){this._state.set(e)}get state(){return R(this._state)}_state=w(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return R(this._info)}_info=w(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return R(this._relativeTo)}_relativeTo=w(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return R(this._preserveFragment)}_preserveFragment=w(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return R(this._skipLocationChange)}_skipLocationChange=w(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return R(this._replaceUrl)}_replaceUrl=w(!1);isAnchorElement;onChanges=new oe;applicationErrorHandler=l(Je);options=l(re,{optional:!0});reactiveRouterState=l(Qo);constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=w(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(X(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(u=>{this.applicationErrorHandler(u)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}_urlTree=Ht(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let r=this.routerLinkInput();return r===null||!this.router.createUrlTree?null:X(r)?r:this.router.createUrlTree(r,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,r)=>this.computeHref(e)===this.computeHref(r)});get urlTree(){return R(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(r){return new(r||t)(pe(B),pe(H),kr("tabindex"),pe(Hr),pe($r),pe(_e))};static \u0275dir=tt({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&en("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Jr("href",i.reactiveHref(),Fr)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",rt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",rt],replaceUrl:[2,"replaceUrl","replaceUrl",rt],routerLink:"routerLink"},features:[Xe]})}return t})();var Ge=class{};var oi=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,r,i,o){this.router=e,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(K(e=>e instanceof x),Ne(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(e,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=et(o.providers,e,""));let s=o._injector??e;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(s).injector);let a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return A(i).pipe(Lt())}preloadConfig(e,r){return this.preloadingStrategy.preload(r,()=>{if(e.destroyed)return g(null);let i;r.loadChildren&&r.canLoad===void 0?i=A(this.loader.loadChildren(e,r)):i=g(null);let o=i.pipe($(s=>s===null?g(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,r._loadedNgModuleFactory=s.factory,this.processRoutes(s.injector??e,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(e,r);return A([o,s]).pipe(Lt())}else return o})}static \u0275fac=function(r){return new(r||t)(Z(B),Z(G),Z(Ge),Z(Mt))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ai=new M(""),Ko=(()=>{class t{options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=ye;restoredId=0;store={};urlSerializer=l(te);zone=l(jr);viewportScroller=l(Vt);transitions=l(Dt);constructor(e){this.options=e,this.options.scrollPositionRestoration||="disabled",this.options.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ee?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof x?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof q&&e.code===Ce.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{if(!(e instanceof Se)||e.scrollBehavior==="manual")return;let r={behavior:"instant"};e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],r):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position,r):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(e,r){let i=R(this.transitions.currentNavigation)?.extras.scroll;this.zone.runOutsideAngular(()=>m(this,null,function*(){yield new Promise(o=>{setTimeout(o),typeof requestAnimationFrame<"u"&&requestAnimationFrame(o)}),this.zone.run(()=>{this.transitions.events.next(new Se(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,r,i))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){Br()};static \u0275prov=C({token:t,factory:t.\u0275fac})}return t})();function Yo(t,...n){return Pr([{provide:de,multi:!0,useValue:t},[],{provide:H,useFactory:si},{provide:qt,multi:!0,useFactory:ci},n.map(e=>e.\u0275providers)])}function si(){return l(B).routerState.root}function We(t,n){return{\u0275kind:t,\u0275providers:n}}function ci(){let t=l(jt);return n=>{let e=t.get(Zr);if(n!==e.components[0])return;let r=t.get(B),i=t.get(ui);t.get(wr)===1&&r.initialNavigation(),t.get(hi,null,{optional:!0})?.setUpPreloading(),t.get(ai,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ui=new M("",{factory:()=>new oe}),wr=new M("",{factory:()=>1});function li(){let t=[{provide:zr,useValue:!0},{provide:wr,useValue:0},Ft(()=>{let n=l(jt);return n.get(sn,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(B),o=n.get(ui);_t(i,()=>{r(!0)}),n.get(Dt).afterPreactivation=()=>(r(!0),o.closed?g(void 0):o),i.initialNavigation()}))})];return We(2,t)}function di(){let t=[Ft(()=>{l(B).setUpLocationChangeListener()}),{provide:wr,useValue:2}];return We(3,t)}var hi=new M("");function fi(t){return We(0,[{provide:hi,useExisting:oi},{provide:Ge,useExisting:t}])}function pi(){return We(8,[pr,{provide:Be,useExisting:pr}])}function gi(t){qr("NgRouterViewTransitions");let n=[{provide:yr,useValue:ti},{provide:Rr,useValue:d({skipNextTransition:!!t?.skipInitialTransition},t)}];return We(9,n)}var vi=[ge,{provide:te,useClass:Q},B,le,{provide:H,useFactory:si},Mt,[]],Zo=(()=>{class t{constructor(){}static forRoot(e,r){return{ngModule:t,providers:[vi,[],{provide:de,multi:!0,useValue:e},[],r?.errorHandler?{provide:Cr,useValue:r.errorHandler}:[],{provide:re,useValue:r||{}},r?.useHash?Xo():ea(),Jo(),r?.preloadingStrategy?fi(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?ta(r):[],r?.bindToComponentInputs?pi().\u0275providers:[],r?.enableViewTransitions?gi().\u0275providers:[],ra()]}}static forChild(e){return{ngModule:t,providers:[{provide:de,multi:!0,useValue:e}]}}static \u0275fac=function(r){return new(r||t)};static \u0275mod=Qr({type:t});static \u0275inj=Or({})}return t})();function Jo(){return{provide:ai,useFactory:()=>{let t=l(Vt),n=l(re);return n.scrollOffset&&t.setOffset(n.scrollOffset),new Ko(n)}}}function Xo(){return{provide:_e,useClass:un}}function ea(){return{provide:_e,useClass:cn}}function ta(t){return[t.initialNavigation==="disabled"?di().\u0275providers:[],t.initialNavigation==="enabledBlocking"?li().\u0275providers:[]]}var Sr=new M("");function ra(){return[{provide:Sr,useFactory:ci},{provide:qt,multi:!0,useExisting:Sr}]}export{H as a,fr as b,B as c,ii as d,Yo as e,Zo as f};
|