homebridge-config-ui-x 5.0.0-beta.47 → 5.0.0-beta.49
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/CHANGELOG.md +31 -1
- package/config.schema.json +2 -2
- package/dist/core/config/config.service.js +1 -1
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/modules/plugins/plugins.service.js +2 -2
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.service.js +1 -1
- package/dist/modules/server/server.service.js.map +1 -1
- package/package.json +15 -14
- package/public/chunk-2DNEBY5E.js +1 -0
- package/public/{chunk-QUFN33GT.js → chunk-2RHVBUWQ.js} +1 -1
- package/public/{chunk-SJMZV24I.js → chunk-36QWIZI7.js} +1 -1
- package/public/{chunk-EUWWKUNO.js → chunk-3BDQDK7Z.js} +1 -1
- package/public/chunk-3FYKWBX4.js +1 -0
- package/public/chunk-3M4FKD4C.js +1 -0
- package/public/{chunk-ICTHPXB5.js → chunk-3MS5T333.js} +1 -1
- package/public/chunk-45EEWPPP.js +1 -0
- package/public/chunk-467DG7CQ.js +1 -0
- package/public/{chunk-EWYOW4PQ.js → chunk-4TLWNUVF.js} +1 -1
- package/public/chunk-4Z3PKFSC.js +1 -0
- package/public/{chunk-RTV24JZ6.js → chunk-5EOKPNKK.js} +1 -1
- package/public/{chunk-UWGVJMMV.js → chunk-5FAAGX6Q.js} +1 -1
- package/public/{chunk-AY5TP47Q.js → chunk-6DI47FXW.js} +1 -1
- package/public/{chunk-WDDGAKYK.js → chunk-6RXHLHWG.js} +1 -1
- package/public/{chunk-M2NP5SQL.js → chunk-6Z26BY4U.js} +2 -2
- package/public/{chunk-JW5SNTBS.js → chunk-7G4JRXOV.js} +1 -1
- package/public/{chunk-3QVWXW33.js → chunk-7WVCMXZM.js} +1 -1
- package/public/{chunk-RNR7WDHX.js → chunk-A36UOKQM.js} +1 -1
- package/public/{chunk-ATIIQTF3.js → chunk-AL4B7SPR.js} +1 -1
- package/public/{chunk-6PD7WRNK.js → chunk-ASGWDNPK.js} +1 -1
- package/public/{chunk-ODFAFV26.js → chunk-AYMOJATW.js} +1 -1
- package/public/{chunk-ICDTKMJT.js → chunk-BRLQRDDE.js} +1 -1
- package/public/{chunk-YEOTKVK6.js → chunk-C7MCJ3HJ.js} +1 -1
- package/public/{chunk-FJNNI37D.js → chunk-COKV5KB2.js} +1 -1
- package/public/chunk-CTNJDNS2.js +1 -0
- package/public/chunk-CUJHL6GN.js +1 -0
- package/public/{chunk-HC5CDCFI.js → chunk-CXFP5Z3Z.js} +1 -1
- package/public/{chunk-WOMLSQL2.js → chunk-CZTEBDJ7.js} +1 -1
- package/public/chunk-D3ALOR2J.js +1 -0
- package/public/{chunk-2YMM5EYV.js → chunk-DODCDNCH.js} +1 -1
- package/public/{chunk-RZFTVHEH.js → chunk-DZZJUIUB.js} +1 -1
- package/public/chunk-EWBJKCV2.js +1 -0
- package/public/chunk-EWKRKJWP.js +1 -0
- package/public/{chunk-N7VVYOI7.js → chunk-F3B373TU.js} +1 -1
- package/public/chunk-FBYMGTFS.js +1 -0
- package/public/{chunk-6QZOFJZP.js → chunk-HMCIUNTI.js} +1 -1
- package/public/{chunk-S5IN3W2X.js → chunk-IFQZA7AR.js} +1 -1
- package/public/{chunk-BVY6MX7W.js → chunk-IGGAKDGB.js} +1 -1
- package/public/{chunk-TSSB5L6B.js → chunk-IJXZOFF2.js} +1 -1
- package/public/chunk-JDRGU6D5.js +1 -0
- package/public/chunk-JJBFROMM.js +1 -0
- package/public/{chunk-NZBPZMCF.js → chunk-JMV6GJY6.js} +1 -1
- package/public/{chunk-YIMZC3WW.js → chunk-JS6ONM73.js} +1 -1
- package/public/chunk-JUGLUJ6M.js +1 -0
- package/public/{chunk-5E4JMWGV.js → chunk-JYTZL4JA.js} +1 -1
- package/public/chunk-KA7VEXYP.js +1 -0
- package/public/chunk-KSYVP6OJ.js +1 -0
- package/public/chunk-L4CXAWDO.js +1 -0
- package/public/chunk-LUOETQYT.js +1 -0
- package/public/{chunk-XQLUC5Y3.js → chunk-LVTTA25W.js} +1 -1
- package/public/{chunk-DRQ4ZHYE.js → chunk-LWRSZZVK.js} +1 -1
- package/public/{chunk-FAP7YWTF.js → chunk-M5C4PXJK.js} +1 -1
- package/public/chunk-MJNSII2N.js +1 -0
- package/public/{chunk-HZ6MTSWB.js → chunk-MVBTQKIK.js} +1 -1
- package/public/chunk-MWYAZTLX.js +1 -0
- package/public/chunk-N5DHAEO2.js +7 -0
- package/public/{chunk-FCCX6IF3.js → chunk-O4J5XPML.js} +1 -1
- package/public/{chunk-WR5KHM54.js → chunk-P33XPQJZ.js} +1 -1
- package/public/{chunk-LFVP4MPU.js → chunk-P4G7R233.js} +1 -1
- package/public/chunk-PPT7YV25.js +1 -0
- package/public/{chunk-B476MB52.js → chunk-PUTZ5W4K.js} +1 -1
- package/public/{chunk-R76OMMGS.js → chunk-Q5OOH5FM.js} +1 -1
- package/public/chunk-QJYOQ4DI.js +1 -0
- package/public/{chunk-Y5OVBGSI.js → chunk-QZAASX2P.js} +1 -1
- package/public/{chunk-U5MXECHN.js → chunk-R3UJDRMY.js} +1 -1
- package/public/{chunk-NPUW2G22.js → chunk-R5YQXFDB.js} +1 -1
- package/public/{chunk-ZNYOG4JK.js → chunk-ROLRUBFP.js} +1 -1
- package/public/{chunk-5USAZAYT.js → chunk-RVYIQ5LE.js} +5 -5
- package/public/{chunk-6CEM3QHZ.js → chunk-RXVUWQQM.js} +1 -1
- package/public/chunk-S5GONVEN.js +1 -0
- package/public/{chunk-KEEGS4RX.js → chunk-S6FGILT3.js} +1 -1
- package/public/chunk-SDKSMP3B.js +1 -0
- package/public/{chunk-L7E74EAP.js → chunk-UJ4WWACD.js} +1 -1
- package/public/chunk-UX3DMSLN.js +1 -0
- package/public/{chunk-FWGPO3L4.js → chunk-W7TUYK4G.js} +1 -1
- package/public/chunk-X2TCWBWH.js +1 -0
- package/public/chunk-XKCVC7DK.js +1 -0
- package/public/{chunk-JMWPSFLB.js → chunk-Y4U2OZ54.js} +1 -1
- package/public/{chunk-JDXM2XY2.js → chunk-YK66OZMP.js} +1 -1
- package/public/{chunk-673R23FU.js → chunk-Z2MYOFRS.js} +1 -1
- package/public/{chunk-VAJXVJSS.js → chunk-Z2XEI7AO.js} +1 -1
- package/public/{chunk-PUUEGKAF.js → chunk-ZOFET4WQ.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-66NNS6RI.js → main-KV6LSW6T.js} +1 -1
- package/public/chunk-25TGD4ML.js +0 -1
- package/public/chunk-2CIT6S2I.js +0 -1
- package/public/chunk-42FFLTJW.js +0 -1
- package/public/chunk-44LC6V6E.js +0 -1
- package/public/chunk-4GNX26SI.js +0 -1
- package/public/chunk-5MFBLHTI.js +0 -1
- package/public/chunk-67BSSSLZ.js +0 -1
- package/public/chunk-7FZNZPZK.js +0 -1
- package/public/chunk-AAMCO2UQ.js +0 -1
- package/public/chunk-B27VLQ5X.js +0 -1
- package/public/chunk-CA36VPXR.js +0 -1
- package/public/chunk-ELFBEODM.js +0 -1
- package/public/chunk-HXT4TAXW.js +0 -1
- package/public/chunk-ILHCSGXC.js +0 -1
- package/public/chunk-IU26HOTE.js +0 -1
- package/public/chunk-IYKZVG45.js +0 -1
- package/public/chunk-JOASKY3D.js +0 -1
- package/public/chunk-KI5ZWN75.js +0 -1
- package/public/chunk-LIV76PNE.js +0 -7
- package/public/chunk-OCXBWPSN.js +0 -1
- package/public/chunk-R44BIUVY.js +0 -1
- package/public/chunk-TMSFXMMD.js +0 -1
- package/public/chunk-TTYAM2TA.js +0 -1
- package/public/chunk-UU2NEWAN.js +0 -1
- package/public/chunk-V647DI7K.js +0 -1
- package/public/chunk-WM3ZSFUH.js +0 -1
- package/public/chunk-XBBL7RN7.js +0 -1
- package/public/chunk-Z3ELHX24.js +0 -1
- package/public/chunk-ZX4BODUV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as V}from"./chunk-
|
|
1
|
+
import{a as V}from"./chunk-O4J5XPML.js";import{a as q}from"./chunk-COKV5KB2.js";import{a as _}from"./chunk-Q5OOH5FM.js";import{n as B,o as k}from"./chunk-AL4B7SPR.js";import{h as D,k as F}from"./chunk-PPT7YV25.js";import{a as z,b as E}from"./chunk-IJXZOFF2.js";import{Ac as r,Ib as b,Jb as h,Tb as s,Ub as l,Vb as p,Zb as T,ac as d,fb as y,g as j,gb as m,h as w,ic as C,jc as x,lc as I,ma as o,mc as S,n as v,pb as $,sb as L,ua as u,va as f,zc as i}from"./chunk-N5DHAEO2.js";var H=j(q(),1);var A=["logoutput"],X=(()=>{class c{$api=o(F);$log=o(V);$modal=o(B);$toastr=o(D);$translate=o(z);termTarget=$("logoutput");resizeEvent=new v;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,H.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(a){console.error(a)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=L({type:c,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&C(n.termTarget,A,5),e&2&&x()},hostBindings:function(e,n){e&1&&d("resize",function(g){return n.onWindowResize(g)},!1,y)},decls:17,vars:15,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){if(e&1){let a=T();s(0,"div",1)(1,"div",2)(2,"h3",3),I(3),i(4,"translate"),l()(),s(5,"div",4)(6,"button",5),i(7,"translate"),i(8,"translate"),d("click",function(){return u(a),f(n.downloadLogFile())}),p(9,"i",6),l(),s(10,"button",7),i(11,"translate"),i(12,"translate"),d("click",function(){return u(a),f(n.truncateLogFile())}),p(13,"i",8),l()()(),s(14,"div",9),p(15,"div",10,0),l()}e&2&&(m(3),S(r(4,5,"menu.linux.label_logs")),m(3),h("ngbTooltip",r(7,7,"form.button_download")),b("aria-label",r(8,9,"form.button_download")),m(4),h("ngbTooltip",r(11,11,"form.button_delete")),b("aria-label",r(12,13,"form.button_delete")))},dependencies:[k,E],encapsulation:2})}return c})();export{X as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-LWRSZZVK.js";import"./chunk-P33XPQJZ.js";import"./chunk-3MS5T333.js";import"./chunk-6Z26BY4U.js";import"./chunk-UJ4WWACD.js";import"./chunk-5EOKPNKK.js";import"./chunk-ASGWDNPK.js";import"./chunk-CXFP5Z3Z.js";import"./chunk-O4J5XPML.js";import"./chunk-Y4U2OZ54.js";import"./chunk-Z2MYOFRS.js";import"./chunk-COKV5KB2.js";import"./chunk-6RXHLHWG.js";import"./chunk-P4G7R233.js";import"./chunk-ZOFET4WQ.js";import"./chunk-Q5OOH5FM.js";import"./chunk-AL4B7SPR.js";import"./chunk-CZTEBDJ7.js";import"./chunk-7G4JRXOV.js";import"./chunk-3M4FKD4C.js";import"./chunk-QZAASX2P.js";import"./chunk-MVBTQKIK.js";import"./chunk-PPT7YV25.js";import"./chunk-A36UOKQM.js";import"./chunk-IJXZOFF2.js";import"./chunk-N5DHAEO2.js";export{a as PluginsComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as Xr}from"./chunk-A36UOKQM.js";import{$ as N,A as Re,Aa as Dr,B as yr,Ba as Mr,C as yt,Ca as oe,Da as It,Dc as Ge,Eb as Lr,Fb as Ot,Fc as Qe,Ga as Or,Gb as kr,H as X,Ha as At,Hb as _r,Ib as zr,Ic as Ke,K as ne,L as ie,Mc as Wr,N as Rt,O as se,Qc as Gr,S as Ve,Sa as Tr,Sc as Qr,T as W,Tc as Ce,U as St,V as Rr,Vb as Fr,Vc as Kr,W as Sr,Wc as Zr,Xc as we,_ as Cr,a as h,aa as wr,ac as qr,b as M,ba as I,da as A,eb as Ur,ec as Br,ga as w,gc as Vr,ha as br,hc as Hr,i as pr,ia as Ir,j as gr,ja as T,ka as Ct,l as vt,la as G,lb as Dt,ld as Yr,m as mt,ma as p,mb as $,n as H,nb as Er,o as x,ob as xr,p as F,q as D,qa as Se,qb as Pr,r as f,ra as _,rb as Mt,s as ye,sb as jr,t as vr,ta as He,tb as Nr,u as mr,ub as We,x as R,xa as wt,y as Be,ya as Ar,z as O,za as bt,zb as $r}from"./chunk-N5DHAEO2.js";var g="primary",Ne=Symbol("RouteTitle"),Pt=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function de(t){return new Pt(t)}function Wn(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let i={};for(let s=0;s<n.length;s++){let o=n[s],u=t[s];if(o[0]===":")i[o.substring(1)]=u;else if(o!==u.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Gn(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],r[e]))return!1;return!0}function z(t,r){let e=t?jt(t):void 0,n=r?jt(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let s=0;s<e.length;s++)if(i=e[s],!ln(t[i],r[i]))return!1;return!0}function jt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function ln(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,s)=>n[s]===i)}else return t===r}function hn(t){return t.length>0?t[t.length-1]:null}function Z(t){return vr(t)?t:Lr(t)?D(Promise.resolve(t)):f(t)}var Qn={exact:fn,subset:pn},dn={exact:Kn,subset:Zn,ignored:()=>!0};function Jr(t,r,e){return Qn[e.paths](t.root,r.root,e.matrixParams)&&dn[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function Kn(t,r){return z(t,r)}function fn(t,r,e){if(!ee(t.segments,r.segments)||!Xe(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!fn(t.children[n],r.children[n],e))return!1;return!0}function Zn(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>ln(t[e],r[e]))}function pn(t,r,e){return gn(t,r,r.segments,e)}function gn(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ee(i,e)||r.hasChildren()||!Xe(i,e,n))}else if(t.segments.length===e.length){if(!ee(t.segments,e)||!Xe(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!pn(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!ee(t.segments,i)||!Xe(t.segments,i,n)||!t.children[g]?!1:gn(t.children[g],r,s,n)}}function Xe(t,r,e){return r.every((n,i)=>dn[e](t[i].parameters,n.parameters))}var B=class{root;queryParams;fragment;_queryParamMap;constructor(r=new y([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){return Jn.serialize(this)}},y=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Je(this)}},J=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){var r;return(r=this._parameterMap)!=null||(this._parameterMap=de(this.parameters)),this._parameterMap}toString(){return mn(this)}};function Yn(t,r){return ee(t,r)&&t.every((e,n)=>z(e.parameters,r[n].parameters))}function ee(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function Xn(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===g&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==g&&(e=e.concat(r(i,n)))}),e}var $e=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>new fe,providedIn:"root"})}return t})(),fe=class{parse(r){let e=new $t(r);return new B(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${be(r.root,!0)}`,n=ri(r.queryParams),i=typeof r.fragment=="string"?`#${ei(r.fragment)}`:"";return`${e}${n}${i}`}},Jn=new fe;function Je(t){return t.segments.map(r=>mn(r)).join("/")}function be(t,r){if(!t.hasChildren())return Je(t);if(r){let e=t.children[g]?be(t.children[g],!1):"",n=[];return Object.entries(t.children).forEach(([i,s])=>{i!==g&&n.push(`${i}:${be(s,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=Xn(t,(n,i)=>i===g?[be(t.children[g],!1)]:[`${i}:${be(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[g]!=null?`${Je(t)}/${e[0]}`:`${Je(t)}/(${e.join("//")})`}}function vn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ze(t){return vn(t).replace(/%3B/gi,";")}function ei(t){return encodeURI(t)}function Nt(t){return vn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function et(t){return decodeURIComponent(t)}function en(t){return et(t.replace(/\+/g,"%20"))}function mn(t){return`${Nt(t.path)}${ti(t.parameters)}`}function ti(t){return Object.entries(t).map(([r,e])=>`;${Nt(r)}=${Nt(e)}`).join("")}function ri(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Ze(e)}=${Ze(i)}`).join("&"):`${Ze(e)}=${Ze(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var ni=/^[^\/()?;#]+/;function Tt(t){let r=t.match(ni);return r?r[0]:""}var ii=/^[^\/()?;=#]+/;function si(t){let r=t.match(ii);return r?r[0]:""}var oi=/^[^=?&#]+/;function ai(t){let r=t.match(oi);return r?r[0]:""}var ui=/^[^&#]+/;function ci(t){let r=t.match(ui);return r?r[0]:""}var $t=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new y([],{}):new y([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[g]=new y(r,e)),n}parseSegment(){let r=Tt(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new A(4009,!1);return this.capture(r),new J(et(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=si(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Tt(this.remaining);i&&(n=i,this.capture(n))}r[et(e)]=et(n)}parseQueryParam(r){let e=ai(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let o=ci(this.remaining);o&&(n=o,this.capture(n))}let i=en(e),s=en(n);if(r.hasOwnProperty(i)){let o=r[i];Array.isArray(o)||(o=[o],r[i]=o),o.push(s)}else r[i]=s}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=Tt(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new A(4010,!1);let s;n.indexOf(":")>-1?(s=n.slice(0,n.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=g);let o=this.parseChildren();e[s]=Object.keys(o).length===1?o[g]:new y([],o),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new A(4011,!1)}};function yn(t){return t.segments.length>0?new y([],{[g]:t}):t}function Rn(t){let r={};for(let[n,i]of Object.entries(t.children)){let s=Rn(i);if(n===g&&s.segments.length===0&&s.hasChildren())for(let[o,u]of Object.entries(s.children))r[o]=u;else(s.segments.length>0||s.hasChildren())&&(r[n]=s)}let e=new y(t.segments,r);return li(e)}function li(t){if(t.numberOfChildren===1&&t.children[g]){let r=t.children[g];return new y(t.segments.concat(r.segments),r.children)}return t}function te(t){return t instanceof B}function hi(t,r,e=null,n=null){let i=Sn(t);return Cn(i,r,e,n)}function Sn(t){let r;function e(s){let o={};for(let a of s.children){let c=e(a);o[a.outlet]=c}let u=new y(s.url,o);return s===t&&(r=u),u}let n=e(t.root),i=yn(n);return r!=null?r:i}function Cn(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return Ut(i,i,i,e,n);let s=di(r);if(s.toRoot())return Ut(i,i,new y([],{}),e,n);let o=fi(s,i,t),u=o.processChildren?Ae(o.segmentGroup,o.index,s.commands):bn(o.segmentGroup,o.index,s.commands);return Ut(i,o.segmentGroup,u,e,n)}function tt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Oe(t){return typeof t=="object"&&t!=null&&t.outlets}function Ut(t,r,e,n,i){let s={};n&&Object.entries(n).forEach(([a,c])=>{s[a]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`});let o;t===r?o=e:o=wn(t,r,e);let u=yn(Rn(o));return new B(u,s,i)}function wn(t,r,e){let n={};return Object.entries(t.children).forEach(([i,s])=>{s===r?n[i]=e:n[i]=wn(s,r,e)}),new y(t.segments,n)}var rt=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&tt(n[0]))throw new A(4003,!1);let i=n.find(Oe);if(i&&i!==hn(n))throw new A(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function di(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new rt(!0,0,t);let r=0,e=!1,n=t.reduce((i,s,o)=>{if(typeof s=="object"&&s!=null){if(s.outlets){let u={};return Object.entries(s.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(s.segmentPath)return[...i,s.segmentPath]}return typeof s!="string"?[...i,s]:o===0?(s.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?e=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,s]},[]);return new rt(e,r,n)}var ce=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function fi(t,r,e){if(t.isAbsolute)return new ce(r,!0,0);if(!e)return new ce(r,!1,NaN);if(e.parent===null)return new ce(e,!0,0);let n=tt(t.commands[0])?0:1,i=e.segments.length-1+n;return pi(e,i,t.numberOfDoubleDots)}function pi(t,r,e){let n=t,i=r,s=e;for(;s>i;){if(s-=i,n=n.parent,!n)throw new A(4005,!1);i=n.segments.length}return new ce(n,!1,i-s)}function gi(t){return Oe(t[0])?t[0].outlets:{[g]:t}}function bn(t,r,e){if(t!=null||(t=new y([],{})),t.segments.length===0&&t.hasChildren())return Ae(t,r,e);let n=vi(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let s=new y(t.segments.slice(0,n.pathIndex),{});return s.children[g]=new y(t.segments.slice(n.pathIndex),t.children),Ae(s,0,i)}else return n.match&&i.length===0?new y(t.segments,{}):n.match&&!t.hasChildren()?Lt(t,r,e):n.match?Ae(t,0,i):Lt(t,r,e)}function Ae(t,r,e){if(e.length===0)return new y(t.segments,{});{let n=gi(e),i={};if(Object.keys(n).some(s=>s!==g)&&t.children[g]&&t.numberOfChildren===1&&t.children[g].segments.length===0){let s=Ae(t.children[g],r,e);return new y(t.segments,s.children)}return Object.entries(n).forEach(([s,o])=>{typeof o=="string"&&(o=[o]),o!==null&&(i[s]=bn(t.children[s],r,o))}),Object.entries(t.children).forEach(([s,o])=>{n[s]===void 0&&(i[s]=o)}),new y(t.segments,i)}}function vi(t,r,e){let n=0,i=r,s={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return s;let o=t.segments[i],u=e[n];if(Oe(u))break;let a=`${u}`,c=n<e.length-1?e[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!rn(a,c,o))return s;n+=2}else{if(!rn(a,{},o))return s;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function Lt(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let s=e[i];if(Oe(s)){let a=mi(s.outlets);return new y(n,a)}if(i===0&&tt(e[0])){let a=t.segments[r];n.push(new J(a.path,tn(e[0]))),i++;continue}let o=Oe(s)?s.outlets[g]:`${s}`,u=i<e.length-1?e[i+1]:null;o&&u&&tt(u)?(n.push(new J(o,tn(u))),i+=2):(n.push(new J(o,{})),i++)}return new y(n,{})}function mi(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=Lt(new y([],{}),0,n))}),r}function tn(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function rn(t,r,e){return t==e.path&&z(r,e.parameters)}var De="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||{}),P=class{id;url;constructor(r,e){this.id=r,this.url=e}},pe=class extends P{type=S.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},k=class extends P{urlAfterRedirects;type=S.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},E=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(E||{}),nt=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(nt||{}),q=class extends P{reason;code;type=S.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Q=class extends P{reason;code;type=S.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},Te=class extends P{error;target;type=S.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},it=class extends P{urlAfterRedirects;state;type=S.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},kt=class extends P{urlAfterRedirects;state;type=S.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},_t=class extends P{urlAfterRedirects;state;shouldActivate;type=S.GuardsCheckEnd;constructor(r,e,n,i,s){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},zt=class extends P{urlAfterRedirects;state;type=S.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ft=class extends P{urlAfterRedirects;state;type=S.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},qt=class{route;type=S.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Bt=class{route;type=S.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Vt=class{snapshot;type=S.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ht=class{snapshot;type=S.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Wt=class{snapshot;type=S.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Gt=class{snapshot;type=S.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},st=class{routerEvent;position;anchor;type=S.Scroll;constructor(r,e,n){this.routerEvent=r,this.position=e,this.anchor=n}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},Ue=class{},ge=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function yi(t,r){var e;return t.providers&&!t._injector&&(t._injector=Mt(t.providers,r,`Route: ${t.path}`)),(e=t._injector)!=null?e:r}function L(t){return t.outlet||g}function Ri(t,r){let e=t.filter(n=>L(n)===r);return e.push(...t.filter(n=>L(n)!==r)),e}function Le(t){var r;if(!t)return null;if((r=t.routeConfig)!=null&&r._injector)return t.routeConfig._injector;for(let e=t.parent;e;e=e.parent){let n=e.routeConfig;if(n!=null&&n._loadedInjector)return n._loadedInjector;if(n!=null&&n._injector)return n._injector}return null}var Qt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){var r,e;return(e=Le((r=this.route)==null?void 0:r.snapshot))!=null?e:this.rootInjector}constructor(r){this.rootInjector=r,this.children=new ke(this.rootInjector)}},ke=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Qt(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(G(Se))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ot=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=Kt(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=Kt(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=Zt(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return Zt(r,this._root).map(e=>e.value)}};function Kt(t,r){if(t===r.value)return r;for(let e of r.children){let n=Kt(t,e);if(n)return n}return null}function Zt(t,r){if(t===r.value)return[r];for(let e of r.children){let n=Zt(t,e);if(n.length)return n.unshift(r),n}return[]}var U=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var at=class extends ot{snapshot;constructor(r,e){super(r),this.snapshot=e,sr(this,r)}toString(){return this.snapshot.toString()}};function In(t){let r=Si(t),e=new x([new J("",{})]),n=new x({}),i=new x({}),s=new x({}),o=new x(""),u=new re(e,n,s,o,i,g,t,r.root);return u.snapshot=r.root,new at(new U(u,[]),r)}function Si(t){let r={},e={},n={},i="",s=new le([],r,n,i,e,g,t,null,{});return new ct("",new U(s,[]))}var re=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,s,o,u,a){var c,l;this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=s,this.outlet=o,this.component=u,this._futureSnapshot=a,this.title=(l=(c=this.dataSubject)==null?void 0:c.pipe(R(v=>v[Ne])))!=null?l:f(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s}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(){var r;return(r=this._paramMap)!=null||(this._paramMap=this.params.pipe(R(e=>de(e)))),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=this.queryParams.pipe(R(e=>de(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function ut(t,r,e="emptyOnly"){var s,o;let n,{routeConfig:i}=t;return r!==null&&(e==="always"||(i==null?void 0:i.path)===""||!r.component&&!((s=r.routeConfig)!=null&&s.loadComponent))?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i==null?void 0:i.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),(o=t._resolvedData)!=null?o:{})},i&&Dn(i)&&(n.resolve[Ne]=i.title),n}var le=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){var r;return(r=this.data)==null?void 0:r[Ne]}constructor(r,e,n,i,s,o,u,a,c){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s,this.outlet=o,this.component=u,this.routeConfig=a,this._resolve=c}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(){var r;return(r=this._paramMap)!=null||(this._paramMap=de(this.params)),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},ct=class extends ot{url;constructor(r,e){super(e),this.url=r,sr(this,e)}toString(){return An(this._root)}};function sr(t,r){r.value._routerState=t,r.children.forEach(e=>sr(t,e))}function An(t){let r=t.children.length>0?` { ${t.children.map(An).join(", ")} } `:"";return`${t.value}${r}`}function Et(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(r.params,e.params)||t.paramsSubject.next(e.params),Gn(r.url,e.url)||t.urlSubject.next(e.url),z(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Yt(t,r){let e=z(t.params,r.params)&&Yn(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||Yt(t.parent,r.parent))}function Dn(t){return typeof t.title=="string"||t.title===null}var Ci=new T(""),wi=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=g;activateEvents=new oe;deactivateEvents=new oe;attachEvents=new oe;detachEvents=new oe;routerOutletData=Or(void 0);parentContexts=p(ke);location=p(xr);changeDetector=p(Qe);inputBinder=p(pt,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){var e;this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),(e=this.inputBinder)==null||e.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){var n;return((n=this.parentContexts.getContext(e))==null?void 0:n.outlet)===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e!=null&&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 A(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new A(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new A(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){var i;this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),(i=this.inputBinder)==null||i.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,n){var c;if(this.isActivated)throw new A(4013,!1);this._activatedRoute=e;let i=this.location,o=e.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new Xt(e,u,i.injector,this.routerOutletData);this.activated=i.createComponent(o,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),(c=this.inputBinder)==null||c.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=We({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[He]})}return t})(),Xt=class t{route;childContexts;parent;outletData;__ngOutletInjector(r){return new t(this.route,this.childContexts,r,this.outletData)}constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===re?this.route:r===ke?this.childContexts:r===Ci?this.outletData:this.parent.get(r,e)}},pt=new T(""),nn=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){var n;(n=this.outletDataSubscriptions.get(e))==null||n.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=Be([n.queryParams,n.params,n.data]).pipe(N(([s,o,u],a)=>(u=h(h(h({},s),o),u),a===0?f(u):Promise.resolve(u)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let o=Wr(n.component);if(!o){this.unsubscribeFromRouteData(e);return}for(let{templateName:u}of o.inputs)e.activatedComponentRef.setInput(u,s[u])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function bi(t,r,e){let n=Ee(t,r._root,e?e._root:void 0);return new at(n,r)}function Ee(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Ii(t,r,e);return new U(n,i)}else{if(t.shouldAttach(r.value)){let s=t.retrieve(r.value);if(s!==null){let o=s.route;return o.value._futureSnapshot=r.value,o.children=r.children.map(u=>Ee(t,u)),o}}let n=Ai(r.value),i=r.children.map(s=>Ee(t,s));return new U(n,i)}}function Ii(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return Ee(t,n,i);return Ee(t,n)})}function Ai(t){return new re(new x(t.url),new x(t.params),new x(t.queryParams),new x(t.fragment),new x(t.data),t.outlet,t.component,t)}var xe=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},Mn="ngNavigationCancelingError";function lt(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=te(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=On(!1,E.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function On(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[Mn]=!0,e.cancellationCode=r,e}function Di(t){return Tn(t)&&te(t.url)}function Tn(t){return!!t&&t[Mn]}var Mi=(t,r,e,n)=>R(i=>(new Jt(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),Jt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,s){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=s}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),Et(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{let o=s.value.outlet;this.deactivateRoutes(s,i[o],n),delete i[o]}),Object.values(i).forEach(s=>{this.deactivateRouteAndItsChildren(s,n)})}deactivateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(i===s)if(i.component){let o=n.getContext(i.outlet);o&&this.deactivateChildRoutes(r,e,o.children)}else this.deactivateChildRoutes(r,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);if(n&&n.outlet){let o=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:o,route:r,contexts:u})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{this.activateRoutes(s,i[s.value.outlet],n),this.forwardEvent(new Gt(s.value.snapshot))}),r.children.length&&this.forwardEvent(new Ht(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(Et(i),i===s)if(i.component){let o=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,o.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let o=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),o.children.onOutletReAttached(u.contexts),o.attachRef=u.componentRef,o.route=u.route.value,o.outlet&&o.outlet.attach(u.componentRef,u.route.value),Et(u.route.value),this.activateChildRoutes(r,null,o.children)}else o.attachRef=null,o.route=i,o.outlet&&o.outlet.activateWith(i,o.injector),this.activateChildRoutes(r,null,o.children)}else this.activateChildRoutes(r,null,n)}},ht=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},he=class{component;route;constructor(r,e){this.component=r,this.route=e}};function Oi(t,r,e){let n=t._root,i=r?r._root:null;return Ie(n,i,e,[n.value])}function Ti(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function me(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!Ir(t)?t:r.get(t):n}function Ie(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=ue(r);return t.children.forEach(o=>{Ui(o,s[o.value.outlet],e,n.concat([o.value]),i),delete s[o.value.outlet]}),Object.entries(s).forEach(([o,u])=>Me(u,e.getContext(o),i)),i}function Ui(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=t.value,o=r?r.value:null,u=e?e.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){let a=Ei(o,s,s.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new ht(n)):(s.data=o.data,s._resolvedData=o._resolvedData),s.component?Ie(t,r,u?u.children:null,n,i):Ie(t,r,e,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new he(u.outlet.component,o))}else o&&Me(r,u,i),i.canActivateChecks.push(new ht(n)),s.component?Ie(t,null,u?u.children:null,n,i):Ie(t,null,e,n,i);return i}function Ei(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!ee(t.url,r.url);case"pathParamsOrQueryParamsChange":return!ee(t.url,r.url)||!z(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Yt(t,r)||!z(t.queryParams,r.queryParams);case"paramsChange":default:return!Yt(t,r)}}function Me(t,r,e){let n=ue(t),i=t.value;Object.entries(n).forEach(([s,o])=>{i.component?r?Me(o,r.children.getContext(s),e):Me(o,null,e):Me(o,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new he(r.outlet.component,i)):e.canDeactivateChecks.push(new he(null,i)):e.canDeactivateChecks.push(new he(null,i))}function _e(t){return typeof t=="function"}function xi(t){return typeof t=="boolean"}function Pi(t){return t&&_e(t.canLoad)}function ji(t){return t&&_e(t.canActivate)}function Ni(t){return t&&_e(t.canActivateChild)}function $i(t){return t&&_e(t.canDeactivate)}function Li(t){return t&&_e(t.canMatch)}function Un(t){return t instanceof mr||(t==null?void 0:t.name)==="EmptyError"}var Ye=Symbol("INITIAL_VALUE");function ve(){return N(t=>Be(t.map(r=>r.pipe(se(1),Cr(Ye)))).pipe(R(r=>{for(let e of r)if(e!==!0){if(e===Ye)return Ye;if(e===!1||ki(e))return e}return!0}),X(r=>r!==Ye),se(1)))}function ki(t){return te(t)||t instanceof xe}function _i(t,r){return O(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=e;return o.length===0&&s.length===0?f(M(h({},e),{guardsResult:!0})):zi(o,n,i,t).pipe(O(u=>u&&xi(u)?Fi(n,s,t,r):f(u)),R(u=>M(h({},e),{guardsResult:u})))})}function zi(t,r,e,n){return D(t).pipe(O(i=>Wi(i.component,i.route,e,r,n)),W(i=>i!==!0,!0))}function Fi(t,r,e,n){return D(r).pipe(ie(i=>yr(Bi(i.route.parent,n),qi(i.route,n),Hi(t,i.path,e),Vi(t,i.route,e))),W(i=>i!==!0,!0))}function qi(t,r){return t!==null&&r&&r(new Wt(t)),f(!0)}function Bi(t,r){return t!==null&&r&&r(new Vt(t)),f(!0)}function Vi(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return f(!0);let i=n.map(s=>yt(()=>{var c;let o=(c=Le(r))!=null?c:e,u=me(s,o),a=ji(u)?u.canActivate(r,t):_(o,()=>u(r,t));return Z(a).pipe(W())}));return f(i).pipe(ve())}function Hi(t,r,e){let n=r[r.length-1],s=r.slice(0,r.length-1).reverse().map(o=>Ti(o)).filter(o=>o!==null).map(o=>yt(()=>{let u=o.guards.map(a=>{var d;let c=(d=Le(o.node))!=null?d:e,l=me(a,c),v=Ni(l)?l.canActivateChild(n,t):_(c,()=>l(n,t));return Z(v).pipe(W())});return f(u).pipe(ve())}));return f(s).pipe(ve())}function Wi(t,r,e,n,i){let s=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!s||s.length===0)return f(!0);let o=s.map(u=>{var v;let a=(v=Le(r))!=null?v:i,c=me(u,a),l=$i(c)?c.canDeactivate(t,r,e,n):_(a,()=>c(t,r,e,n));return Z(l).pipe(W())});return f(o).pipe(ve())}function Gi(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=Pi(u)?u.canLoad(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),En(n))}function En(t){return gr(I(r=>{if(typeof r!="boolean")throw lt(t,r)}),R(r=>r===!0))}function Qi(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=Li(u)?u.canMatch(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),En(n))}var Pe=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},je=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function ae(t){return ye(new Pe(t))}function Ki(t){return ye(new A(4e3,!1))}function Zi(t){return ye(On(!1,E.GuardRejected))}var er=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return f(n);if(i.numberOfChildren>1||!i.children[g])return Ki(`${r.redirectTo}`);i=i.children[g]}}applyRedirectCommands(r,e,n,i,s){if(typeof e!="string"){let u=e,{queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,params:m,data:b,title:C}=i,j=_(s,()=>u({params:m,data:b,queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,title:C}));if(j instanceof B)throw new je(j);e=j}let o=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),r,n);if(e[0]==="/")throw new je(o);return o}applyRedirectCreateUrlTree(r,e,n,i){let s=this.createSegmentGroup(r,e.root,n,i);return new B(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"&&s[0]===":"){let u=s.substring(1);n[i]=e[u]}else n[i]=s}),n}createSegmentGroup(r,e,n,i){let s=this.createSegments(r,e.segments,n,i),o={};return Object.entries(e.children).forEach(([u,a])=>{o[u]=this.createSegmentGroup(r,a,n,i)}),new y(s,o)}createSegments(r,e,n,i){return e.map(s=>s.path[0]===":"?this.findPosParam(r,s,i):this.findOrReturn(s,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new A(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}},tr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Yi(t,r,e,n,i){let s=xn(t,r,e);return s.matched?(n=yi(r,n),Qi(n,r,e,i).pipe(R(o=>o===!0?s:h({},tr)))):f(s)}function xn(t,r,e){var u,a;if(r.path==="**")return Xi(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},tr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Wn)(e,t,r);if(!i)return h({},tr);let s={};Object.entries((u=i.posParams)!=null?u:{}).forEach(([c,l])=>{s[c]=l.path});let o=i.consumed.length>0?h(h({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:o,positionalParamSegments:(a=i.posParams)!=null?a:{}}}function Xi(t){return{matched:!0,parameters:t.length>0?hn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function sn(t,r,e,n){return e.length>0&&ts(t,e,n)?{segmentGroup:new y(r,es(n,new y(e,t.children))),slicedSegments:[]}:e.length===0&&rs(t,e,n)?{segmentGroup:new y(t.segments,Ji(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new y(t.segments,t.children),slicedSegments:e}}function Ji(t,r,e,n){let i={};for(let s of e)if(gt(t,r,s)&&!n[L(s)]){let o=new y([],{});i[L(s)]=o}return h(h({},n),i)}function es(t,r){let e={};e[g]=r;for(let n of t)if(n.path===""&&L(n)!==g){let i=new y([],{});e[L(n)]=i}return e}function ts(t,r,e){return e.some(n=>gt(t,r,n)&&L(n)!==g)}function rs(t,r,e){return e.some(n=>gt(t,r,n))}function gt(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function ns(t,r,e){return r.length===0&&!t.children[e]}var rr=class{};function is(t,r,e,n,i,s,o="emptyOnly"){return new nr(t,r,e,n,i,o,s).recognize()}var ss=31,nr=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,s,o,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=s,this.paramsInheritanceStrategy=o,this.urlSerializer=u,this.applyRedirects=new er(this.urlSerializer,this.urlTree)}noMatchError(r){return new A(4002,`'${r.segmentGroup}'`)}recognize(){let r=sn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(R(({children:e,rootSnapshot:n})=>{let i=new U(n,e),s=new ct("",i),o=hi(n,[],this.urlTree.queryParams,this.urlTree.fragment);return o.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(o),{state:s,tree:o}}))}match(r){let e=new le([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),g,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,g,e).pipe(R(n=>({children:n,rootSnapshot:e})),ne(n=>{if(n instanceof je)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof Pe?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,s){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,s):this.processSegment(r,e,n,n.segments,i,!0,s).pipe(R(o=>o instanceof U?[o]:[]))}processChildren(r,e,n,i){let s=[];for(let o of Object.keys(n.children))o==="primary"?s.unshift(o):s.push(o);return D(s).pipe(ie(o=>{let u=n.children[o],a=Ri(e,o);return this.processSegmentGroup(r,a,u,o,i)}),Sr((o,u)=>(o.push(...u),o)),Rt(null),Rr(),O(o=>{if(o===null)return ae(n);let u=Pn(o);return os(u),f(u)}))}processSegment(r,e,n,i,s,o,u){return D(e).pipe(ie(a=>{var c;return this.processSegmentAgainstRoute((c=a._injector)!=null?c:r,e,a,n,i,s,o,u).pipe(ne(l=>{if(l instanceof Pe)return f(null);throw l}))}),W(a=>!!a),ne(a=>{if(Un(a))return ns(n,i,s)?f(new rr):ae(n);throw a}))}processSegmentAgainstRoute(r,e,n,i,s,o,u,a){return L(n)!==o&&(o===g||!gt(i,s,n))?ae(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,s,o,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,s,o,a):ae(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,s,o,u){var j,V;let{matched:a,parameters:c,consumedSegments:l,positionalParamSegments:v,remainingSegments:d}=xn(e,i,s);if(!a)return ae(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>ss&&(this.allowRedirects=!1));let m=new le(s,c,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,on(i),L(i),(V=(j=i.component)!=null?j:i._loadedComponent)!=null?V:null,i,an(i)),b=ut(m,u,this.paramsInheritanceStrategy);m.params=Object.freeze(b.params),m.data=Object.freeze(b.data);let C=this.applyRedirects.applyRedirectCommands(l,i.redirectTo,v,m,r);return this.applyRedirects.lineralizeSegments(i,C).pipe(O(Y=>this.processSegment(r,n,e,Y.concat(d),o,!1,u)))}matchSegmentAgainstRoute(r,e,n,i,s,o){let u=Yi(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(N(a=>{var c;return a.matched?(r=(c=n._injector)!=null?c:r,this.getChildConfig(r,n,i).pipe(N(({routes:l})=>{var hr,dr,fr;let v=(hr=n._loadedInjector)!=null?hr:r,{parameters:d,consumedSegments:m,remainingSegments:b}=a,C=new le(m,d,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,on(n),L(n),(fr=(dr=n.component)!=null?dr:n._loadedComponent)!=null?fr:null,n,an(n)),j=ut(C,o,this.paramsInheritanceStrategy);C.params=Object.freeze(j.params),C.data=Object.freeze(j.data);let{segmentGroup:V,slicedSegments:Y}=sn(e,m,b,l);if(Y.length===0&&V.hasChildren())return this.processChildren(v,l,V,C).pipe(R(qe=>new U(C,qe)));if(l.length===0&&Y.length===0)return f(new U(C,[]));let Hn=L(n)===s;return this.processSegment(v,l,V,Y,Hn?g:s,!0,C).pipe(R(qe=>new U(C,qe instanceof U?[qe]:[])))}))):ae(e)}))}getChildConfig(r,e,n){return e.children?f({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?f({routes:e._loadedRoutes,injector:e._loadedInjector}):Gi(r,e,n,this.urlSerializer).pipe(O(i=>i?this.configLoader.loadChildren(r,e).pipe(I(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):Zi(e))):f({routes:[],injector:r})}};function os(t){t.sort((r,e)=>r.value.outlet===g?-1:e.value.outlet===g?1:r.value.outlet.localeCompare(e.value.outlet))}function as(t){let r=t.value.routeConfig;return r&&r.path===""}function Pn(t){let r=[],e=new Set;for(let n of t){if(!as(n)){r.push(n);continue}let i=r.find(s=>n.value.routeConfig===s.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=Pn(n.children);r.push(new U(n.value,i))}return r.filter(n=>!e.has(n))}function on(t){return t.data||{}}function an(t){return t.resolve||{}}function us(t,r,e,n,i,s){return O(o=>is(t,r,e,n,o.extractedUrl,i,s).pipe(R(({state:u,tree:a})=>M(h({},o),{targetSnapshot:u,urlAfterRedirects:a}))))}function cs(t,r){return O(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return f(e);let s=new Set(i.map(a=>a.route)),o=new Set;for(let a of s)if(!o.has(a))for(let c of jn(a))o.add(c);let u=0;return D(o).pipe(ie(a=>s.has(a)?ls(a,n,t,r):(a.data=ut(a,a.parent,t).resolve,f(void 0))),I(()=>u++),St(1),O(a=>u===o.size?f(e):F))})}function jn(t){let r=t.children.map(e=>jn(e)).flat();return[t,...r]}function ls(t,r,e,n){let i=t.routeConfig,s=t._resolve;return(i==null?void 0:i.title)!==void 0&&!Dn(i)&&(s[Ne]=i.title),hs(s,t,r,n).pipe(R(o=>(t._resolvedData=o,t.data=ut(t,t.parent,e).resolve,null)))}function hs(t,r,e,n){let i=jt(t);if(i.length===0)return f({});let s={};return D(i).pipe(O(o=>ds(t[o],r,e,n).pipe(W(),I(u=>{if(u instanceof xe)throw lt(new fe,u);s[o]=u}))),St(1),R(()=>s),ne(o=>Un(o)?F:ye(o)))}function ds(t,r,e,n){var u;let i=(u=Le(r))!=null?u:n,s=me(t,i),o=s.resolve?s.resolve(r,e):_(i,()=>s(r,e));return Z(o)}function xt(t){return N(r=>{let e=t(r);return e?D(e).pipe(R(()=>r)):f(r)})}var Nn=(()=>{class t{buildTitle(e){var s;let n,i=e.root;for(;i!==void 0;)n=(s=this.getResolvedTitleForRoute(i))!=null?s:n,i=i.children.find(o=>o.outlet===g);return n}getResolvedTitleForRoute(e){return e.data[Ne]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(fs),providedIn:"root"})}return t})(),fs=(()=>{class t extends Nn{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(G(Xr))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ze=new T("",{providedIn:"root",factory:()=>({})}),ps=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=jr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,i){n&1&&Fr(0,"router-outlet")},dependencies:[wi],encapsulation:2})}return t})();function or(t){let r=t.children&&t.children.map(or),e=r?M(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==g&&(e.component=ps),e}var dt=new T(""),ar=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=p(Ge);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return f(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=Z(e.loadComponent()).pipe(R($n),I(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),Ve(()=>{this.componentLoaders.delete(e)})),i=new mt(n,()=>new H).pipe(vt());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return f({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let s=gs(n,this.compiler,e,this.onLoadEndListener).pipe(Ve(()=>{this.childrenLoaders.delete(n)})),o=new mt(s,()=>new H).pipe(vt());return this.childrenLoaders.set(n,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function gs(t,r,e,n){return Z(t.loadChildren()).pipe(R($n),O(i=>i instanceof Pr||Array.isArray(i)?f(i):D(r.compileModuleAsync(i))),R(i=>{n&&n(t);let s,o,u=!1;return Array.isArray(i)?(o=i,u=!0):(s=i.create(e).injector,o=s.get(dt,[],{optional:!0,self:!0}).flat()),{routes:o.map(or),injector:s}}))}function vs(t){return t&&typeof t=="object"&&"default"in t}function $n(t){return vs(t)?t.default:t}var ur=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ms),providedIn:"root"})}return t})(),ms=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ln=new T(""),kn=new T("");function ys(t,r,e){let n=t.get(kn),i=t.get(Gr);return t.get(It).runOutsideAngular(()=>{if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(c=>setTimeout(c));let s,o=new Promise(c=>{s=c}),u=i.startViewTransition(()=>(s(),Rs(t))),{onViewTransitionCreated:a}=n;return a&&_(t,()=>a({transition:u,from:r,to:e})),o})}function Rs(t){return new Promise(r=>{Tr({read:()=>setTimeout(r)},{injector:t})})}var _n=new T(""),cr=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new H;transitionAbortSubject=new H;configLoader=p(ar);environmentInjector=p(Se);destroyRef=p(Dr);urlSerializer=p($e);rootContexts=p(ke);location=p(we);inputBindingEnabled=p(pt,{optional:!0})!==null;titleStrategy=p(Nn);options=p(ze,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=p(ur);createViewTransition=p(Ln,{optional:!0});navigationErrorHandler=p(_n,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>f(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new qt(i)),n=i=>this.events.next(new Bt(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){var e;(e=this.transitions)==null||e.complete()}handleNavigationRequest(e){var i;let n=++this.navigationId;(i=this.transitions)==null||i.next(M(h(h({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new x({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:De,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(s=>s.id!==0),R(s=>M(h({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),N(s=>{let o=!1,u=!1;return f(s).pipe(N(a=>{var v;if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",E.SupersededByNewNavigation),F;this.currentTransition=s,this.currentNavigation={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:this.lastSuccessfulNavigation?M(h({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=(v=a.extras.onSameUrlNavigation)!=null?v:e.onSameUrlNavigation;if(!c&&l!=="reload"){let d="";return this.events.next(new Q(a.id,this.urlSerializer.serialize(a.rawUrl),d,nt.IgnoredSameUrlNavigation)),a.resolve(!1),F}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return f(a).pipe(N(d=>{var b,C;let m=(b=this.transitions)==null?void 0:b.getValue();return this.events.next(new pe(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),m!==((C=this.transitions)==null?void 0:C.getValue())?F:Promise.resolve(d)}),us(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),I(d=>{s.targetSnapshot=d.targetSnapshot,s.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation=M(h({},this.currentNavigation),{finalUrl:d.urlAfterRedirects});let m=new it(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(m)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:d,extractedUrl:m,source:b,restoredState:C,extras:j}=a,V=new pe(d,this.urlSerializer.serialize(m),b,C);this.events.next(V);let Y=In(this.rootComponentType).snapshot;return this.currentTransition=s=M(h({},a),{targetSnapshot:Y,urlAfterRedirects:m,extras:M(h({},j),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=m,f(s)}else{let d="";return this.events.next(new Q(a.id,this.urlSerializer.serialize(a.extractedUrl),d,nt.IgnoredByUrlHandlingStrategy)),a.resolve(!1),F}}),I(a=>{let c=new kt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),R(a=>(this.currentTransition=s=M(h({},a),{guards:Oi(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),s)),_i(this.environmentInjector,a=>this.events.next(a)),I(a=>{if(s.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw lt(this.urlSerializer,a.guardsResult);let c=new _t(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",E.GuardRejected),!1)),xt(a=>{if(a.guards.canActivateChecks.length)return f(a).pipe(I(c=>{let l=new zt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),N(c=>{let l=!1;return f(c).pipe(cs(this.paramsInheritanceStrategy,this.environmentInjector),I({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",E.NoDataFromResolver)}}))}),I(c=>{let l=new Ft(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),xt(a=>{let c=l=>{var d;let v=[];(d=l.routeConfig)!=null&&d.loadComponent&&!l.routeConfig._loadedComponent&&v.push(this.configLoader.loadComponent(l.routeConfig).pipe(I(m=>{l.component=m}),R(()=>{})));for(let m of l.children)v.push(...c(m));return v};return Be(c(a.targetSnapshot.root)).pipe(Rt(null),se(1))}),xt(()=>this.afterPreactivation()),N(()=>{var v;let{currentSnapshot:a,targetSnapshot:c}=s,l=(v=this.createViewTransition)==null?void 0:v.call(this,this.environmentInjector,a.root,c.root);return l?D(l).pipe(R(()=>s)):f(s)}),R(a=>{let c=bi(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=s=M(h({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,s}),I(()=>{this.events.next(new Ue)}),Mi(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),se(1),I({next:a=>{var c;o=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new k(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),(c=this.titleStrategy)==null||c.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),wr(this.transitionAbortSubject.pipe(I(a=>{throw a}))),Ve(()=>{var a;!o&&!u&&this.cancelNavigationTransition(s,"",E.SupersededByNewNavigation),((a=this.currentTransition)==null?void 0:a.id)===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),ne(a=>{var c;if(this.destroyed)return s.resolve(!1),F;if(u=!0,Tn(a))this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),a.message,a.cancellationCode)),Di(a)?this.events.next(new ge(a.url,a.navigationBehaviorOptions)):s.resolve(!1);else{let l=new Te(s.id,this.urlSerializer.serialize(s.extractedUrl),a,(c=s.targetSnapshot)!=null?c:void 0);try{let v=_(this.environmentInjector,()=>{var d;return(d=this.navigationErrorHandler)==null?void 0:d.call(this,l)});if(v instanceof xe){let{message:d,cancellationCode:m}=lt(this.urlSerializer,v);this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),d,m)),this.events.next(new ge(v.redirectTo,v.navigationBehaviorOptions))}else throw this.events.next(l),a}catch(v){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(v)}}return F}))}))}cancelNavigationTransition(e,n,i){let s=new q(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(s),e.resolve(!1)}isUpdatingInternalState(){var e,n;return((e=this.currentTransition)==null?void 0:e.extractedUrl.toString())!==((n=this.currentTransition)==null?void 0:n.currentUrlTree.toString())}isUpdatedBrowserUrl(){var i,s,o,u;let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=(o=(i=this.currentNavigation)==null?void 0:i.targetBrowserUrl)!=null?o:(s=this.currentNavigation)==null?void 0:s.extractedUrl;return e.toString()!==(n==null?void 0:n.toString())&&!((u=this.currentNavigation)!=null&&u.extras.skipLocationChange)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ss(t){return t!==De}var Cs=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ws),providedIn:"root"})}return t})(),ir=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},ws=(()=>{class t extends ir{static \u0275fac=(()=>{let e;return function(i){return(e||(e=wt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),zn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(bs),providedIn:"root"})}return t})(),bs=(()=>{class t extends zn{location=p(we);urlSerializer=p($e);options=p(ze,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";urlHandlingStrategy=p(ur);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new B;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){var e,n;return this.canceledNavigationResolution!=="computed"?this.currentPageId:(n=(e=this.restoredState())==null?void 0:e.\u0275routerPageId)!=null?n:this.currentPageId}routerState=In(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){var i,s;if(e instanceof pe)this.stateMemento=this.createStateMemento();else if(e instanceof Q)this.rawUrlTree=n.initialUrl;else if(e instanceof it){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl((i=n.targetBrowserUrl)!=null?i:o,n)}}else e instanceof Ue?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl((s=n.targetBrowserUrl)!=null?s:this.rawUrlTree,n)):e instanceof q&&(e.code===E.GuardRejected||e.code===E.NoDataFromResolver)?this.restoreHistory(n):e instanceof Te?this.restoreHistory(n,!0):e instanceof k&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=e instanceof B?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let s=this.browserPageId,o=h(h({},n.extras.state),this.generateNgRouterState(n.id,s));this.location.replaceState(i,"",o)}else{let s=h(h({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",s)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,s=this.currentPageId-i;s!==0?this.location.historyGo(s):this.currentUrlTree===e.finalUrl&&s===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){var n;this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,(n=e.finalUrl)!=null?n:this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=wt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Fn(t,r){t.events.pipe(X(e=>e instanceof k||e instanceof q||e instanceof Te||e instanceof Q),R(e=>e instanceof k||e instanceof Q?0:(e instanceof q?e.code===E.Redirect||e.code===E.SupersededByNewNavigation:!1)?2:1),X(e=>e!==2),se(1)).subscribe(()=>{r()})}var Is={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},As={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},K=(()=>{var r,e;class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=p($r);stateManager=p(zn);options=p(ze,{optional:!0})||{};pendingTasks=p(Mr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=p(cr);urlSerializer=p($e);location=p(we);urlHandlingStrategy=p(ur);_events=new H;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=p(Cs);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=(e=(r=p(dt,{optional:!0}))==null?void 0:r.flat())!=null?e:[];componentInputBindingEnabled=!!p(pt,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:i=>{this.console.warn(i)}}),this.subscribeToNavigationEvents()}eventsSubscription=new pr;subscribeToNavigationEvents(){let i=this.navigationTransitions.events.subscribe(s=>{try{let o=this.navigationTransitions.currentTransition,u=this.navigationTransitions.currentNavigation;if(o!==null&&u!==null){if(this.stateManager.handleRouterEvent(s,u),s instanceof q&&s.code!==E.Redirect&&s.code!==E.SupersededByNewNavigation)this.navigated=!0;else if(s instanceof k)this.navigated=!0;else if(s instanceof ge){let a=s.navigationBehaviorOptions,c=this.urlHandlingStrategy.merge(s.url,o.currentRawUrl),l=h({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Ss(o.source)},a);this.scheduleNavigation(c,De,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}Ms(s)&&this._events.next(s)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(i)}resetRootComponentType(i){this.routerState.root.component=i,this.navigationTransitions.rootComponentType=i}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),De,this.stateManager.restoredState())}setUpLocationChangeListener(){var i;(i=this.nonRouterCurrentEntryChangeSubscription)!=null||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((s,o)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(s,"popstate",o)},0)}))}navigateToSyncWithBrowser(i,s,o){let u={replaceUrl:!0},a=o!=null&&o.navigationId?o:null;if(o){let l=h({},o);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(u.state=l)}let c=this.parseUrl(i);this.scheduleNavigation(c,s,a,u)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(i){this.config=i.map(or),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(i,s={}){let{relativeTo:o,queryParams:u,fragment:a,queryParamsHandling:c,preserveFragment:l}=s,v=l?this.currentUrlTree.fragment:a,d=null;switch(c!=null?c:this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),u);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=u||null}d!==null&&(d=this.removeEmptyProps(d));let m;try{let b=o?o.snapshot:this.routerState.snapshot.root;m=Sn(b)}catch{(typeof i[0]!="string"||i[0][0]!=="/")&&(i=[]),m=this.currentUrlTree.root}return Cn(m,i,d,v!=null?v:null)}navigateByUrl(i,s={skipLocationChange:!1}){let o=te(i)?i:this.parseUrl(i),u=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(u,De,null,s)}navigate(i,s={skipLocationChange:!1}){return Ds(i),this.navigateByUrl(this.createUrlTree(i,s),s)}serializeUrl(i){return this.urlSerializer.serialize(i)}parseUrl(i){try{return this.urlSerializer.parse(i)}catch{return this.urlSerializer.parse("/")}}isActive(i,s){let o;if(s===!0?o=h({},Is):s===!1?o=h({},As):o=s,te(i))return Jr(this.currentUrlTree,i,o);let u=this.parseUrl(i);return Jr(this.currentUrlTree,u,o)}removeEmptyProps(i){return Object.entries(i).reduce((s,[o,u])=>(u!=null&&(s[o]=u),s),{})}scheduleNavigation(i,s,o,u,a){if(this.disposed)return Promise.resolve(!1);let c,l,v;a?(c=a.resolve,l=a.reject,v=a.promise):v=new Promise((m,b)=>{c=m,l=b});let d=this.pendingTasks.add();return Fn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:s,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:i,extras:u,resolve:c,reject:l,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(m=>Promise.reject(m))}static \u0275fac=function(s){return new(s||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ds(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new A(4008,!1)}function Ms(t){return!(t instanceof Ue)&&!(t instanceof ge)}var un=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new H;constructor(e,n,i,s,o,u){var c;this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=s,this.el=o,this.locationStrategy=u;let a=(c=o.nativeElement.tagName)==null?void 0:c.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=e.events.subscribe(l=>{l instanceof k&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(te(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,s,o){let u=this.urlTree;if(u===null||this.isAnchorElement&&(e!==0||n||i||s||o||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){var e;(e=this.subscription)==null||e.unsubscribe()}updateHref(){var i;let e=this.urlTree;this.href=e!==null&&this.locationStrategy?(i=this.locationStrategy)==null?void 0:i.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:Ur(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,s=this.el.nativeElement;n!==null?i.setAttribute(s,e,n):i.removeAttribute(s,e)}get urlTree(){return this.routerLinkInput===null?null:te(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(n){return new(n||t)($(K),$(re),Ar("tabindex"),$(Dt),$(At),$(Ce))};static \u0275dir=We({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&qr("click",function(o){return i.onClick(o.button,o.ctrlKey,o.shiftKey,o.altKey,o.metaKey)}),n&2&&zr("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ke],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ke],replaceUrl:[2,"replaceUrl","replaceUrl",Ke],routerLink:"routerLink"},features:[He]})}return t})(),vo=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new oe;constructor(e,n,i,s,o){this.router=e,this.element=n,this.renderer=i,this.cdr=s,this.link=o,this.routerEventsSubscription=e.events.subscribe(u=>{u instanceof k&&this.update()})}ngAfterContentInit(){f(this.links.changes,f(null)).pipe(Re()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var n;(n=this.linkInputChangesSubscription)==null||n.unsubscribe();let e=[...this.links.toArray(),this.link].filter(i=>!!i).map(i=>i.onChanges);this.linkInputChangesSubscription=D(e).pipe(Re()).subscribe(i=>{this._isActive!==this.isLinkActive(this.router)(i)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){var e;this.routerEventsSubscription.unsubscribe(),(e=this.linkInputChangesSubscription)==null||e.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=Os(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let s=i.urlTree;return s?e.isActive(s,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)($(K),$(At),$(Dt),$(Qe),$(un,8))};static \u0275dir=We({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,s){if(n&1&&Br(s,un,5),n&2){let o;Vr(o=Hr())&&(i.links=o)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[He]})}return t})();function Os(t){return!!t.paths}var ft=class{};var Ts=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,s,o){this.router=e,this.injector=i,this.preloadingStrategy=s,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(X(e=>e instanceof k),ie(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){var s,o,u;let i=[];for(let a of n){a.providers&&!a._injector&&(a._injector=Mt(a.providers,e,`Route: ${a.path}`));let c=(s=a._injector)!=null?s:e,l=(o=a._loadedInjector)!=null?o:c;(a.loadChildren&&!a._loadedRoutes&&a.canLoad===void 0||a.loadComponent&&!a._loadedComponent)&&i.push(this.preloadConfig(c,a)),(a.children||a._loadedRoutes)&&i.push(this.processRoutes(l,(u=a.children)!=null?u:a._loadedRoutes))}return D(i).pipe(Re())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=f(null);let s=i.pipe(O(o=>{var u;return o===null?f(void 0):(n._loadedRoutes=o.routes,n._loadedInjector=o.injector,this.processRoutes((u=o.injector)!=null?u:e,o.routes))}));if(n.loadComponent&&!n._loadedComponent){let o=this.loader.loadComponent(n);return D([s,o]).pipe(Re())}else return s})}static \u0275fac=function(n){return new(n||t)(G(K),G(Ge),G(Se),G(ft),G(ar))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),qn=new T(""),Us=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource="imperative";restoredId=0;store={};constructor(e,n,i,s,o={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=s,this.options=o,o.scrollPositionRestoration||(o.scrollPositionRestoration="disabled"),o.anchorScrolling||(o.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 pe?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof k?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof Q&&e.code===nt.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof st&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new st(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})},0)})}ngOnDestroy(){var e,n;(e=this.routerEventsSubscription)==null||e.unsubscribe(),(n=this.scrollEventsSubscription)==null||n.unsubscribe()}static \u0275fac=function(n){Er()};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Es(t){return t.routerState.root}function Fe(t,r){return{\u0275kind:t,\u0275providers:r}}function xs(){let t=p(bt);return r=>{var s,o;let e=t.get(_r);if(r!==e.components[0])return;let n=t.get(K),i=t.get(Bn);t.get(lr)===1&&n.initialNavigation(),(s=t.get(Vn,null,Ct.Optional))==null||s.setUpPreloading(),(o=t.get(qn,null,Ct.Optional))==null||o.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Bn=new T("",{factory:()=>new H}),lr=new T("",{providedIn:"root",factory:()=>1});function Ps(){return Fe(2,[{provide:lr,useValue:0},{provide:Ot,multi:!0,deps:[bt],useFactory:r=>{let e=r.get(Qr,Promise.resolve());return()=>e.then(()=>new Promise(n=>{let i=r.get(K),s=r.get(Bn);Fn(i,()=>{n(!0)}),r.get(cr).afterPreactivation=()=>(n(!0),s.closed?f(void 0):s),i.initialNavigation()}))}}])}function js(){return Fe(3,[{provide:Ot,multi:!0,useFactory:()=>{let r=p(K);return()=>{r.setUpLocationChangeListener()}}},{provide:lr,useValue:2}])}var Vn=new T("");function Ns(t){return Fe(0,[{provide:Vn,useExisting:Ts},{provide:ft,useExisting:t}])}function $s(){return Fe(8,[nn,{provide:pt,useExisting:nn}])}function Ls(t){let r=[{provide:Ln,useValue:ys},{provide:kn,useValue:h({skipNextTransition:!!(t!=null&&t.skipInitialTransition)},t)}];return Fe(9,r)}var ks=[we,{provide:$e,useClass:fe},K,ke,{provide:re,useFactory:Es,deps:[K]},ar,[]],mo=(()=>{class t{constructor(){}static forRoot(e,n){return{ngModule:t,providers:[ks,[],{provide:dt,multi:!0,useValue:e},[],n!=null&&n.errorHandler?{provide:_n,useValue:n.errorHandler}:[],{provide:ze,useValue:n||{}},n!=null&&n.useHash?zs():Fs(),_s(),n!=null&&n.preloadingStrategy?Ns(n.preloadingStrategy).\u0275providers:[],n!=null&&n.initialNavigation?qs(n):[],n!=null&&n.bindToComponentInputs?$s().\u0275providers:[],n!=null&&n.enableViewTransitions?Ls().\u0275providers:[],Bs()]}}static forChild(e){return{ngModule:t,providers:[{provide:dt,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)};static \u0275mod=Nr({type:t});static \u0275inj=br({})}return t})();function _s(){return{provide:qn,useFactory:()=>{let t=p(Yr),r=p(It),e=p(ze),n=p(cr),i=p($e);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Us(i,n,t,r,e)}}}function zs(){return{provide:Ce,useClass:Zr}}function Fs(){return{provide:Ce,useClass:Kr}}function qs(t){return[t.initialNavigation==="disabled"?js().\u0275providers:[],t.initialNavigation==="enabledBlocking"?Ps().\u0275providers:[]]}var cn=new T("");function Bs(){return[{provide:cn,useFactory:xs},{provide:kr,multi:!0,useExisting:cn}]}export{k as a,re as b,wi as c,K as d,un as e,vo as f,mo as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Tb as t,Ub as r,Vb as i,sb as a,wa as o}from"./chunk-N5DHAEO2.js";var m=(()=>{class e{constructor(){}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=a({type:e,selectors:[["app-spinner"]],decls:7,vars:0,consts:[[1,"app-spinner-container"],[1,"animate_loader"],["xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","width","200px","height","200px","viewBox","0 0 100 100","preserveAspectRatio","xMidYMid",2,"margin","auto","display","block"],["cx","50","cy","50","r","32","stroke-width","8","stroke-dasharray","50.26548245743669 50.26548245743669","fill","none","stroke-linecap","round","transform","rotate(327.259 50 50)",1,"spinner_outer"],["attributeName","transform","type","rotate","dur","2s","repeatCount","indefinite","keyTimes","0;1","values","0 50 50;360 50 50"],["cx","50","cy","50","r","23","stroke-width","8","stroke","#f8b26a","stroke-dasharray","36.12831551628262 36.12831551628262","stroke-dashoffset","36.12831551628262","fill","none","stroke-linecap","round","transform","rotate(-327.259 50 50)",1,"spinner_inner"],["attributeName","transform","type","rotate","dur","2s","repeatCount","indefinite","keyTimes","0;1","values","0 50 50;-360 50 50"]],template:function(n,p){n&1&&(t(0,"div",0)(1,"div",1),o(),t(2,"svg",2)(3,"circle",3),i(4,"animateTransform",4),r(),t(5,"circle",5),i(6,"animateTransform",6),r()()()())},styles:[".app-spinner-container[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:1000}.animate_loader[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:200px;overflow:visible}"]})}return e})();export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-3BDQDK7Z.js";import"./chunk-O4J5XPML.js";import"./chunk-Y4U2OZ54.js";import"./chunk-COKV5KB2.js";import"./chunk-6RXHLHWG.js";import"./chunk-Q5OOH5FM.js";import"./chunk-AL4B7SPR.js";import"./chunk-CZTEBDJ7.js";import"./chunk-7G4JRXOV.js";import"./chunk-QZAASX2P.js";import"./chunk-MVBTQKIK.js";import"./chunk-PPT7YV25.js";import"./chunk-A36UOKQM.js";import"./chunk-IJXZOFF2.js";import"./chunk-N5DHAEO2.js";export{a as LogsComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-3BDQDK7Z.js";import"./chunk-O4J5XPML.js";import"./chunk-Y4U2OZ54.js";import"./chunk-COKV5KB2.js";import"./chunk-6RXHLHWG.js";import"./chunk-Q5OOH5FM.js";import{q as n}from"./chunk-AL4B7SPR.js";import"./chunk-CZTEBDJ7.js";import"./chunk-7G4JRXOV.js";import{g as i}from"./chunk-3M4FKD4C.js";import"./chunk-QZAASX2P.js";import"./chunk-MVBTQKIK.js";import"./chunk-PPT7YV25.js";import"./chunk-A36UOKQM.js";import{c as s}from"./chunk-IJXZOFF2.js";import{ha as t,hd as m,tb as r}from"./chunk-N5DHAEO2.js";var f=[{path:"",loadComponent:()=>import("./chunk-45EEWPPP.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,n,s.forChild()]})}return o})();export{h as LogsModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as h}from"./chunk-
|
|
1
|
+
import{a as h}from"./chunk-LVTTA25W.js";import{b}from"./chunk-IJXZOFF2.js";import{Ac as T,Tb as r,Ub as o,Vb as u,ac as p,fb as l,gb as s,ic as f,jc as v,lc as g,ma as a,mc as w,n as m,pb as d,sb as c,zc as y}from"./chunk-N5DHAEO2.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=d("terminaloutput");resizeEvent=new m;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=c({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&f(n.termTarget,C,5),e&2&&v()},hostBindings:function(e,n){e&1&&p("resize",function(x){return n.onWindowResize(x)},!1,l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),g(3),y(4,"translate"),o()()(),r(5,"div",4),u(6,"div",5,0),o()),e&2&&(s(3),w(T(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a}from"./chunk-RVYIQ5LE.js";import"./chunk-LVTTA25W.js";import"./chunk-M5C4PXJK.js";import"./chunk-DODCDNCH.js";import"./chunk-PUTZ5W4K.js";import"./chunk-3MS5T333.js";import"./chunk-6Z26BY4U.js";import"./chunk-UJ4WWACD.js";import"./chunk-5EOKPNKK.js";import"./chunk-ASGWDNPK.js";import"./chunk-CXFP5Z3Z.js";import"./chunk-O4J5XPML.js";import"./chunk-Y4U2OZ54.js";import"./chunk-Z2MYOFRS.js";import"./chunk-COKV5KB2.js";import"./chunk-6RXHLHWG.js";import"./chunk-P4G7R233.js";import"./chunk-ZOFET4WQ.js";import"./chunk-Q5OOH5FM.js";import"./chunk-AL4B7SPR.js";import"./chunk-CZTEBDJ7.js";import"./chunk-7G4JRXOV.js";import"./chunk-3M4FKD4C.js";import"./chunk-QZAASX2P.js";import"./chunk-MVBTQKIK.js";import"./chunk-PPT7YV25.js";import"./chunk-A36UOKQM.js";import"./chunk-IJXZOFF2.js";import"./chunk-N5DHAEO2.js";export{a as StatusComponent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as D}from"./chunk-
|
|
1
|
+
import{a as D}from"./chunk-CZTEBDJ7.js";import{Ca as w,Da as u,E as h,Vb as g,fa as _,fc as y,gc as b,ha as M,hc as E,hd as O,ja as v,ma as a,sb as c,tb as C,tc as N,wb as f,xa as l}from"./chunk-N5DHAEO2.js";var z=["editorContainer"],T="[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}",I=new v("NGX_MONACO_EDITOR_CONFIG"),R=!1,q,x=(()=>{let i=class i{constructor(){this.config=a(I),this.onInit=new w,this._insideNg=!1}set insideNg(e){this._insideNg=e,this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get insideNg(){return this._insideNg}ngAfterViewInit(){R?q.then(()=>{this.initMonaco(this._options,this.insideNg)}):(R=!0,q=new Promise(e=>{let t=this.config.baseUrl;if((t==="assets"||!t)&&(t="./assets/monaco/min/vs"),typeof window.monaco=="object"){this.initMonaco(this._options,this.insideNg),e();return}let o=r=>{let m=r||window.require,p={paths:{vs:`${t}`}};Object.assign(p,this.config.requireConfig||{}),m.config(p),m(["vs/editor/editor.main"],()=>{typeof this.config.onMonacoLoad=="function"&&this.config.onMonacoLoad(),this.initMonaco(this._options,this.insideNg),e()})};if(this.config.monacoRequire)o(this.config.monacoRequire);else if(window.require)if(window.require.config)o();else{var s=`${t}/loader.js`,d=new XMLHttpRequest;d.addEventListener("load",()=>{let r=document.createElement("script");r.type="text/javascript",r.text=["var nodeRequire = require;",d.responseText.replace('"use strict";',""),"var monacoAmdRequire = require;","require = nodeRequire;","require.nodeRequire = require;"].join(`
|
|
2
2
|
`),document.body.appendChild(r),o(window.monacoAmdRequire)}),d.open("GET",s),d.send()}else{let r=document.createElement("script");r.type="text/javascript",r.src=`${t}/loader.js`,r.addEventListener("load",()=>{o()}),document.body.appendChild(r)}}))}ngOnDestroy(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=void 0)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=c({type:i,selectors:[["ng-component"]],viewQuery:function(t,o){if(t&1&&y(z,7),t&2){let s;b(s=E())&&(o._editorContainer=s.first)}},inputs:{insideNg:"insideNg"},outputs:{onInit:"onInit"},standalone:!1,decls:0,vars:0,template:function(t,o){},encapsulation:2});let n=i;return n})(),X=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(u),this._value="",this.propagateChange=e=>{},this.onTouched=()=>{}}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(e,this.insideNg))}get options(){return this._options}set model(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}writeValue(e){this._value=e||"",setTimeout(()=>{this._editor&&!this.options.model&&this._editor.setValue(this._value)})}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}initMonaco(e,t){let o=!!e.model;if(o){let s=monaco.editor.getModel(e.model.uri||"");s?(e.model=s,e.model.setValue(this._value)):e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}t?this._editor=monaco.editor.create(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.create(this._editorContainer.nativeElement,e)}),o||this._editor.setValue(this._value),this._editor.onDidChangeModelContent(s=>{let d=this._editor.getValue();this.zone.run(()=>{this.propagateChange(d),this._value=d})}),this._editor.onDidBlurEditorWidget(()=>{this.onTouched()}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=h(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=c({type:i,selectors:[["ngx-monaco-editor"]],inputs:{options:"options",model:"model"},features:[N([{provide:D,useExisting:_(()=>i),multi:!0}]),f],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:["[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}"],changeDetection:0});let n=i;return n})(),$=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(u)}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(e,this.insideNg))}get options(){return this._options}set originalModel(e){this._originalModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}set modifiedModel(e){this._modifiedModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}initMonaco(e,t){if(!this._originalModel||!this._modifiedModel)throw new Error("originalModel or modifiedModel not found for ngx-monaco-diff-editor");this._originalModel.language=this._originalModel.language||e.language,this._modifiedModel.language=this._modifiedModel.language||e.language;let o=monaco.editor.createModel(this._originalModel.code,this._originalModel.language),s=monaco.editor.createModel(this._modifiedModel.code,this._modifiedModel.language);this._editorContainer.nativeElement.innerHTML="";let d=e.theme;t?this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e)}),e.theme=d,this._editor.setModel({original:o,modified:s}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=h(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=c({type:i,selectors:[["ngx-monaco-diff-editor"]],inputs:{options:"options",originalModel:"originalModel",modifiedModel:"modifiedModel"},features:[f],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:[T],changeDetection:0});let n=i;return n})(),H=(()=>{let i=class i{static forRoot(e={}){return{ngModule:i,providers:[{provide:I,useValue:e}]}}};i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=C({type:i}),i.\u0275inj=M({imports:[O]});let n=i;return n})();export{X as a,$ as b,H as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as w}from"./chunk-
|
|
1
|
+
import{b as w}from"./chunk-IJXZOFF2.js";import{Ac as n,Ib as o,Jb as b,Ob as f,Tb as t,Ub as a,Vb as p,_c as x,ac as h,gb as e,lc as r,mc as d,nc as l,sb as g,yb as v,zc as i}from"./chunk-N5DHAEO2.js";function k(s,S){s&1&&(t(0,"ul",6)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",12),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",14),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",15),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",16),i(43,"translate"),p(44,"i",13),a()()()),s&2&&(e(3),l(" ",n(4,12,"support.links.documentation"),""),e(4),d(n(8,14,"support.links.documentation_sub")),e(2),o("aria-label",n(10,16,"support.links.documentation")),e(5),l(" ",n(15,18,"support.links.issue"),""),e(4),d(n(19,20,"support.links.issue_sub")),e(2),o("aria-label",n(21,22,"support.links.issue")),e(5),l(" ",n(26,24,"support.links.discord"),""),e(4),d(n(30,26,"support.links.discord_sub")),e(2),o("aria-label",n(32,28,"support.links.discord")),e(5),l(" ",n(37,30,"support.links.reddit"),""),e(4),d(n(41,32,"support.links.reddit_sub")),e(2),o("aria-label",n(43,34,"support.links.reddit")))}function B(s,S){s&1&&(t(0,"ul",8)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",17),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",18),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",19),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",20),i(43,"translate"),p(44,"i",13),a()(),t(45,"li",9)(46,"span",10),r(47),i(48,"translate"),p(49,"br"),t(50,"small",11),r(51),i(52,"translate"),a()(),t(53,"a",21),i(54,"translate"),p(55,"i",13),a()()()),s&2&&(e(3),l(" ",n(4,15,"support.dev.item_swagger"),""),e(4),l(" ",n(8,17,"support.dev.item_swagger_sub")," "),e(2),o("aria-label",n(10,19,"support.dev.item_swagger")),e(5),l(" ",n(15,21,"support.dev.api"),""),e(4),d(n(19,23,"support.dev.api_sub")),e(2),o("aria-label",n(21,25,"support.dev.api")),e(5),l(" ",n(26,27,"support.dev.api_hap"),""),e(4),d(n(30,29,"support.dev.api_hap_sub")),e(2),o("aria-label",n(32,31,"support.dev.api_hap")),e(5),l(" ",n(37,33,"support.dev.template"),""),e(4),l(" ",n(41,35,"support.dev.template_sub")," "),e(2),o("aria-label",n(43,37,"support.dev.template")),e(5),l(" ",n(48,39,"support.dev.verified"),""),e(4),d(n(52,41,"support.dev.verified_sub")),e(2),o("aria-label",n(54,43,"support.dev.verified")))}var C=(()=>{class s{showFields={general:!0,dev:!0};constructor(){}toggleSection(u){this.showFields[u]=!this.showFields[u]}static \u0275fac=function(c){return new(c||s)};static \u0275cmp=g({type:s,selectors:[["ng-component"]],decls:18,vars:17,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],["id","fieldsDev",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"grey-text","pe-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"fas","fa-fw","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","/swagger","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge/wiki/Verified-Plugins","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"]],template:function(c,m){c&1&&(t(0,"div",0)(1,"h3",1),r(2),i(3,"translate"),a()(),t(4,"div",2)(5,"div",3),h("click",function(){return m.toggleSection("general")}),t(6,"h5",4),p(7,"i",5),r(8),i(9,"translate"),a()(),v(10,k,45,36,"ul",6),a(),t(11,"div",7)(12,"div",3),h("click",function(){return m.toggleSection("dev")}),t(13,"h5",4),p(14,"i",5),r(15),i(16,"translate"),a()(),v(17,B,56,45,"ul",8),a()),c&2&&(e(2),d(n(3,11,"support.title")),e(3),o("aria-expanded",m.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),b("ngClass",m.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),l(" ",n(9,13,"support.links.title")," "),e(2),f(m.showFields.general?10:-1),e(2),o("aria-expanded",m.showFields.dev?"true":"false")("aria-controls","fieldsDev"),e(2),b("ngClass",m.showFields.dev?"fa-chevron-down":"fa-chevron-right"),e(),l(" ",n(16,15,"support.dev.title")," "),e(2),f(m.showFields.dev?17:-1))},dependencies:[x,w],encapsulation:2})}return s})();export{C as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ne}from"./chunk-673R23FU.js";import{g as O,m as G,n as te}from"./chunk-ATIIQTF3.js";import{b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,w as ee,y as V,z as A}from"./chunk-WOMLSQL2.js";import{b as ie}from"./chunk-Z3ELHX24.js";import{c as Q}from"./chunk-Y5OVBGSI.js";import{a as ce}from"./chunk-HZ6MTSWB.js";import{h as U,k}from"./chunk-ZX4BODUV.js";import{a as S,b as $}from"./chunk-TSSB5L6B.js";import{$c as P,Ac as s,Bc as l,Cc as Y,Jb as u,Kb as f,Pb as g,Rb as K,Sb as W,Tb as X,Ub as i,Vb as n,Wb as p,_b as D,bc as b,cc as v,g as de,gb as e,ma as c,mc as m,nc as d,oc as C,sb as E,ua as B,va as T,wc as I,zb as h}from"./chunk-LIV76PNE.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),h(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),g(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),h(14,be,3,3,"li"),n(),h(15,_e,7,10,"ngb-alert",8)(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),h(19,xe,4,6,"button",12),n(),i(20,"div",13),h(21,we,4,6,"button",12),n(),i(22,"div",14),h(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),g(a.timeDiffError?-1:14),e(),g(a.timeDiffError?15:-1),e(),g(a.timeDiffError?-1:16),e(3),g(a.timeDiffError?-1:19),e(2),g(a.timeDiffError?21:-1),e(2),g(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),h(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),g(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),h(8,he,3,3,"button",15)(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),g(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),g(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
|
|
1
|
+
import{a as ne}from"./chunk-Z2MYOFRS.js";import{g as O,m as G,n as te}from"./chunk-AL4B7SPR.js";import{b as Z,c as M,d as x,e as F,f as z,g as N,j as w,m as q,o as R,p as L,q as j,w as ee,y as V,z as A}from"./chunk-CZTEBDJ7.js";import{b as ie}from"./chunk-3M4FKD4C.js";import{c as Q}from"./chunk-QZAASX2P.js";import{a as ce}from"./chunk-MVBTQKIK.js";import{h as U,k}from"./chunk-PPT7YV25.js";import{a as S,b as $}from"./chunk-IJXZOFF2.js";import{Ac as l,Bc as Y,Ib as u,Jb as f,Ob as g,Qb as K,Rb as W,Sb as X,Tb as i,Ub as n,Vb as p,Zb as D,_c as P,ac as b,bc as v,g as de,gb as e,lc as m,ma as c,mc as d,nc as C,sb as E,ua as B,va as T,vc as I,yb as h,zc as s}from"./chunk-N5DHAEO2.js";function ue(r,y){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),s(3,"translate"),n()()),r&2&&(f("dismissible",!1),e(2),d(l(3,2,"login.invalid_password")))}var re=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);formGroup=new N({password:new w("",[x.required])});invalidCredentials=!1;constructor(){}disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),s(18,"translate"),n(),i(19,"div",11),p(20,"input",12),s(21,"translate"),n()()(),h(22,ue,4,4,"ngb-alert",13),n(),i(23,"div",14)(24,"div",15)(25,"button",16),s(26,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(27),s(28,"translate"),n()(),p(29,"div",17),i(30,"div",18)(31,"button",19),b("click",function(){return a.disable2fa()}),m(32),s(33,"translate"),n()()()()),o&2&&(e(3),d(l(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",l(6,13,"form.button_close")),e(7),d(l(13,15,"users.setup_2fa_disable_current_password")),e(5),d(l(18,17,"users.label_password")),e(3),f("formControl",a.formGroup.controls.password)("placeholder",l(21,19,"users.label_password")),e(2),g(a.invalidCredentials&&!a.formGroup.controls.password.value?22:-1),e(3),u("aria-label",l(26,21,"form.button_close")),e(2),C(" ",l(28,23,"form.button_close")," "),e(4),f("disabled",a.formGroup.invalid),e(),C(" ",l(33,25,"form.button_disable")," "))},dependencies:[V,M,F,A,R,$,O],encapsulation:2})}return r})();var ae=de(ce(),1);var fe=r=>({timeDiffError:r});function be(r,y){r&1&&(i(0,"li"),m(1),s(2,"translate"),n()),r&2&&(e(),d(l(2,1,"users.setup_2fa_scan_qr_code")))}function _e(r,y){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),s(3,"translate"),n(),i(4,"p",17),m(5),s(6,"translate"),n()()),r&2){let t=v();f("dismissible",!1),e(2),d(l(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(Y(6,5,"users.setup_2fa_server_time_out",I(8,fe,t.timeDiffError)))}}function ve(r,y){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),n()(),i(4,"li",21)(5,"label",22),m(6),s(7,"translate"),n(),i(8,"div",23),p(9,"input",24),n()()()),r&2){let t=v();e(3),f("data",t.otpString),e(3),d(l(7,3,"users.setup_2fa_enter_code")),e(3),f("formControl",t.formGroup.controls.code)}}function xe(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function we(r,y){if(r&1){let t=D();i(0,"button",25),s(1,"translate"),b("click",function(){B(t);let a=v();return T(a.$activeModal.dismiss("Dismiss"))}),m(2),s(3,"translate"),n()}r&2&&(u("aria-label",l(1,2,"form.button_close")),e(2),C(" ",l(3,4,"form.button_close")," "))}function Ce(r,y){if(r&1){let t=D();i(0,"button",26),b("click",function(){B(t);let a=v();return T(a.enable2fa())}),m(1),s(2,"translate"),n()}if(r&2){let t=v();f("disabled",t.formGroup.invalid),e(),C(" ",l(2,2,"form.button_enable")," ")}}var oe=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);user;timeDiffError=null;otpString;formGroup=new N({code:new w("",[x.required,x.minLength(6),x.maxLength(6)])});constructor(){}ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:t=>{this.checkTimeDiff(t.timestamp),this.timeDiffError||(this.otpString=t.otpauth)},error:t=>{this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}checkTimeDiff(t){let o=(0,ae.default)(t).diff(new Date,"millisecond");o<-5e3||o>5e3?this.timeDiffError=o:this.timeDiffError=null}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),n(),i(5,"button",3),s(6,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(7,"div",4)(8,"div",5),p(9,"i",6),n(),i(10,"ul",7)(11,"li"),m(12),s(13,"translate"),n(),h(14,be,3,3,"li"),n(),h(15,_e,7,10,"ngb-alert",8)(16,ve,10,5,"ul",9),n(),i(17,"div",10)(18,"div",11),h(19,xe,4,6,"button",12),n(),i(20,"div",13),h(21,we,4,6,"button",12),n(),i(22,"div",14),h(23,Ce,3,4,"button",15),n()()()),o&2&&(e(3),d(l(4,9,"users.setup_2fa")),e(2),u("aria-label",l(6,11,"form.button_close")),e(7),d(l(13,13,"users.setup_2fa_warning")),e(2),g(a.timeDiffError?-1:14),e(),g(a.timeDiffError?15:-1),e(),g(a.timeDiffError?-1:16),e(3),g(a.timeDiffError?-1:19),e(2),g(a.timeDiffError?21:-1),e(2),g(a.timeDiffError?-1:23))},dependencies:[O,ne,V,M,F,ee,A,R,j,$],encapsulation:2})}return r})();var se=r=>({"is-invalid":r}),le=(()=>{class r{$activeModal=c(G);$api=c(k);$toastr=c(U);$translate=c(S);form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w("",[x.compose([x.required,x.minLength(4)])]),passwordConfirm:new w("",[x.required]),admin:new w(!0)},this.matchPassword);page={title:"users.title_add_user",save:"users.button_add_new_user",password:"users.label_password"};constructor(){}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.post("/users",t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:o=>{this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),i(33,"li",9)(34,"label",17),m(35),s(36,"translate"),n(),i(37,"div",11),p(38,"input",18),s(39,"translate"),n()(),i(40,"li",19)(41,"span",20),m(42),s(43,"translate"),n(),i(44,"div",21),p(45,"input",22),s(46,"translate"),p(47,"label",23),n()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(51),s(52,"translate"),n()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),s(57,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,18,"users.title_add_user")),e(2),u("aria-label",l(7,20,"form.button_close")),e(8),d(l(15,22,"users.label_username")),e(3),u("aria-label",l(18,24,"users.label_username")),e(4),d(l(22,26,"users.label_full_name")),e(3),u("aria-label",l(25,28,"users.label_full_name")),e(4),d(l(29,30,a.page.password)),e(3),f("ngClass",I(46,se,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,32,a.page.password)),e(4),d(l(36,34,"users.label_confirm_password")),e(3),f("ngClass",I(48,se,a.form.controls.passwordConfirm.dirty&&a.form.controls.passwordConfirm.errors)),u("aria-label",l(39,36,"users.label_confirm_password")),e(4),d(l(43,38,"users.label_admin_user")),e(3),u("aria-label",l(46,40,"users.label_admin_user")),e(6),C(" ",l(52,42,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(57,44,"form.button_save")," "))},dependencies:[V,q,M,F,z,A,L,j,P,$],encapsulation:2})}return r})();var me=r=>({"is-invalid":r});function ge(r,y){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),s(3,"translate"),n(),i(4,"div",11),p(5,"input",28),s(6,"translate"),n()()),r&2){let t=v();e(2),d(l(3,3,"users.label_confirm_password")),e(3),f("ngClass",I(7,me,t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors)),u("aria-label",l(6,5,"users.label_confirm_password"))}}var pe=(()=>{class r{$activeModal=c(G);$api=c(k);$auth=c(Q);$toastr=c(U);$translate=c(S);user;form=new N({username:new w("",[x.required]),name:new w("",[x.required]),password:new w(""),passwordConfirm:new w(""),admin:new w(!0)},this.matchPassword);page={title:"users.title_edit_user",save:"form.button_save",password:"users.label_new_password"};isCurrentUser=!1;constructor(){}ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user)}matchPassword(t){let o=t.get("password").value,a=t.get("passwordConfirm").value;if(o!==a)t.get("passwordConfirm").setErrors({matchPassword:!0});else return null}onSubmit({value:t}){this.$api.patch(`/users/${this.user.id}`,t).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&t.username!==this.$auth.user.username&&this.$auth.logout()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"form",1),b("ngSubmit",function(){return a.onSubmit(a.form)}),i(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),n(),i(6,"button",4),s(7,"translate"),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),n()(),i(8,"div",5)(9,"div",6),p(10,"i",7),n(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),n(),i(16,"div",11),p(17,"input",12),s(18,"translate"),n()(),i(19,"li",9)(20,"label",13),m(21),s(22,"translate"),n(),i(23,"div",11),p(24,"input",14),s(25,"translate"),n()(),i(26,"li",9)(27,"label",15),m(28),s(29,"translate"),n(),i(30,"div",11),p(31,"input",16),s(32,"translate"),n()(),h(33,ge,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),s(37,"translate"),n(),i(38,"div",19),p(39,"input",20),s(40,"translate"),p(41,"label",21),n()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),b("click",function(){return a.$activeModal.dismiss("Dismiss")}),m(45),s(46,"translate"),n()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),s(51,"translate"),n()()()()()),o&2&&(e(),f("formGroup",a.form),e(3),d(l(5,16,"users.title_edit_user")),e(2),u("aria-label",l(7,18,"form.button_close")),e(8),d(l(15,20,"users.label_username")),e(3),u("aria-label",l(18,22,"users.label_username")),e(4),d(l(22,24,"users.label_full_name")),e(3),u("aria-label",l(25,26,"users.label_full_name")),e(4),d(l(29,28,a.page.password)),e(3),f("ngClass",I(40,me,a.form.controls.password.dirty&&a.form.controls.password.errors)),u("aria-label",l(32,30,a.page.password)),e(2),g(a.form.controls.password.value?33:-1),e(3),d(l(37,32,"users.label_admin_user")),e(3),u("aria-label",l(40,34,"users.label_admin_user")),e(6),C(" ",l(46,36,"form.button_close")," "),e(4),f("disabled",!a.form.valid),e(),C(" ",l(51,38,"form.button_save")," "))},dependencies:[V,q,M,Z,F,z,A,L,j,P,$],encapsulation:2})}return r})();function he(r,y){if(r&1){let t=D();i(0,"button",21),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.setup2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),d(l(2,1,"users.setup_2fa")))}function ye(r,y){if(r&1){let t=D();i(0,"button",17),b("click",function(){B(t);let a=v().$implicit,_=v();return T(_.disable2fa(a))}),m(1),s(2,"translate"),n()}r&2&&(e(),C(" ",l(2,1,"users.setup_2fa_disable")," "))}function Ee(r,y){if(r&1){let t=D();i(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"span",11),p(5,"h4",12)(6,"h5",13),n()(),i(7,"div",14),h(8,he,3,3,"button",15)(9,ye,3,3,"button",16),i(10,"div")(11,"button",17),s(12,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.openEditUser(a))}),p(13,"i",18),n(),i(14,"button",19),s(15,"translate"),b("click",function(){let a=B(t).$implicit,_=v();return T(_.deleteUser(a.id))}),p(16,"i",20),n()()()()()()}if(r&2){let t=y.$implicit,o=v();e(5),f("innerText",t.name),e(),f("innerText",t.username),e(2),g(o.$auth.user.username===t.username&&!t.otpActive?8:-1),e(),g(o.$auth.user.username===t.username&&t.otpActive?9:-1),e(2),u("aria-label",l(12,7,"form.button_edit")),e(3),f("disabled",o.$auth.user.username===t.username),u("aria-label",l(15,9,"form.button_delete"))}}var gt=(()=>{class r{$api=c(k);$auth=c(Q);$modal=c(te);$route=c(ie);$toastr=c(U);$translate=c(S);homebridgeUsers;constructor(){}ngOnInit(){this.$route.data.subscribe(t=>{this.homebridgeUsers=t.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(t=>{this.homebridgeUsers=t})}openAddNewUser(){this.$modal.open(le,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(t){let o=this.$modal.open(pe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}deleteUser(t){this.$api.delete(`/users/${t}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:o=>{console.error(o),this.$toastr.error(o.error.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){let o=this.$modal.open(oe,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}disable2fa(t){let o=this.$modal.open(re,{size:"lg",backdrop:"static"});o.componentInstance.user=t,o.result.finally(()=>{this.reloadUsers()})}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=E({type:r,selectors:[["app-users"]],decls:12,vars:6,consts:[[1,"row","mb-3"],[1,"col-9"],[1,"primary-text","m-0"],[1,"col-3","text-end"],[1,"btn","btn-elegant","waves-effect","m-0",3,"click"],[1,"fas","fa-fw","fa-user-plus"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[3,"innerText"],[1,"small","text-truncate","primary-text",3,"innerText"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-primary","m-0"],[1,"btn","btn-elegant","m-0"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-primary","m-0",3,"click"]],template:function(o,a){o&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),s(4,"translate"),n()(),i(5,"div",3)(6,"button",4),s(7,"translate"),b("click",function(){return a.openAddNewUser()}),p(8,"i",5),n()()(),i(9,"div",6),W(10,Ee,17,11,"div",7,K),n()),o&2&&(e(3),d(l(4,2,"users.title_users")),e(3),u("aria-label",l(7,4,"users.button_add_user")),e(4),X(a.homebridgeUsers))},dependencies:[$],encapsulation:2})}return r})();export{re as a,oe as b,le as c,pe as d,gt as e};
|