@duplicati/ngclient 0.0.218 → 0.0.220

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.
Files changed (134) hide show
  1. package/assets/ship.css +0 -2
  2. package/{chunk-UT42UQWA.js → chunk-22AR7ES3.js} +1 -1
  3. package/{chunk-6HY2QKBL.js → chunk-23SRH7FI.js} +1 -1
  4. package/{chunk-IHNPTBK2.js → chunk-2J2554EV.js} +1 -1
  5. package/chunk-37ODVJFS.js +1 -0
  6. package/chunk-3RCF6UT4.js +1 -0
  7. package/{chunk-DQISAVUL.js → chunk-4E7D5F6K.js} +1 -1
  8. package/chunk-4J6L5OV3.js +1 -0
  9. package/chunk-4OA2FFS5.js +1 -0
  10. package/chunk-4OJPTRZJ.js +1 -0
  11. package/{chunk-B7PXB6LO.js → chunk-5KJPC3V5.js} +1 -1
  12. package/{chunk-X6S2TQ5D.js → chunk-5RNU5BNO.js} +1 -1
  13. package/{chunk-MZAGGSG2.js → chunk-6JS7B4FW.js} +1 -1
  14. package/{chunk-7PBEL6UP.js → chunk-7C2YZVSQ.js} +1 -1
  15. package/chunk-ACTATISC.js +1 -0
  16. package/chunk-ACTJSKQZ.js +2 -0
  17. package/{chunk-OMOPTBR2.js → chunk-AIAUP7OE.js} +1 -1
  18. package/{chunk-Y3LMRA5G.js → chunk-ANSV4G2K.js} +1 -1
  19. package/{chunk-PAXRIMTV.js → chunk-BACKG7KA.js} +1 -1
  20. package/{chunk-XZS6HRVR.js → chunk-BKEJZADV.js} +2 -2
  21. package/{chunk-NXEMSNQO.js → chunk-BLSV7CNZ.js} +1 -1
  22. package/{chunk-6PPCACHR.js → chunk-BZXBH4CN.js} +1 -1
  23. package/chunk-C3PQFWVO.js +1 -0
  24. package/{chunk-O6ZQRIZA.js → chunk-C6PICAXB.js} +1 -1
  25. package/{chunk-LFWCPFV7.js → chunk-CAQ3XMFP.js} +1 -1
  26. package/chunk-DJXLNIMV.js +11 -0
  27. package/{chunk-4KFQXVKU.js → chunk-DSYNIXJF.js} +1 -1
  28. package/chunk-DSZ644JT.js +1 -0
  29. package/chunk-EADZVBRA.js +1 -0
  30. package/{chunk-Y6WYFFBC.js → chunk-EDLHTWBA.js} +1 -1
  31. package/{chunk-VJ3PK33N.js → chunk-EKVZKEQJ.js} +1 -1
  32. package/{chunk-HSAIFBZZ.js → chunk-ELCA5MKF.js} +2 -2
  33. package/chunk-EPIYGHPM.js +1 -0
  34. package/{chunk-GEATZGKK.js → chunk-EXMYBMGI.js} +1 -1
  35. package/{chunk-YEMKFHRS.js → chunk-FBU3EBFO.js} +1 -1
  36. package/{chunk-5VAN6GVG.js → chunk-FD5CKX3J.js} +1 -1
  37. package/{chunk-KDWGBKDI.js → chunk-GKGMP6VF.js} +1 -1
  38. package/chunk-GN7AO4B6.js +1 -0
  39. package/{chunk-3374ABNZ.js → chunk-GRE6GKVP.js} +2 -2
  40. package/chunk-I6MIXWIT.js +1 -0
  41. package/{chunk-TMS3I5A2.js → chunk-IFSZJSGH.js} +1 -1
  42. package/{chunk-B7CN4JEV.js → chunk-IG7XUEED.js} +1 -1
  43. package/chunk-IMQUTGIK.js +1 -0
  44. package/chunk-IQL3REGJ.js +1 -0
  45. package/chunk-IRT2UBDI.js +2 -0
  46. package/{chunk-BOD6INK4.js → chunk-JPCUISZG.js} +1 -1
  47. package/{chunk-Y4TMGQ3H.js → chunk-KDV2OE64.js} +1 -1
  48. package/{chunk-SXNQOAUJ.js → chunk-KZTFESBJ.js} +1 -1
  49. package/{chunk-X5TRWBWL.js → chunk-M3PW6DLD.js} +1 -1
  50. package/{chunk-7BK2K5ML.js → chunk-N2AU7VKX.js} +1 -1
  51. package/chunk-N3NJW75G.js +1 -0
  52. package/{chunk-5Q47XWAA.js → chunk-NHS6CQO2.js} +1 -1
  53. package/{chunk-EZZPO6ZZ.js → chunk-NKUA7I47.js} +2 -2
  54. package/chunk-NPFPMA4P.js +1 -0
  55. package/{chunk-HKQDPKTA.js → chunk-NX35OQ3V.js} +1 -1
  56. package/{chunk-AAUAZ76N.js → chunk-O2SMJYPC.js} +1 -1
  57. package/{chunk-S36F6ZJZ.js → chunk-OHYENIPP.js} +1 -1
  58. package/{chunk-MI3BETEH.js → chunk-OPHQNXYO.js} +1 -1
  59. package/chunk-P4R3ERID.js +1 -0
  60. package/chunk-PG4G4RLP.js +1 -0
  61. package/{chunk-DJIBS7A6.js → chunk-PIGMTUUT.js} +1 -1
  62. package/chunk-PXI3UZ4R.js +1 -0
  63. package/chunk-QDDVZ4CR.js +1 -0
  64. package/{chunk-JJ5XEJ75.js → chunk-QOWXL7ZL.js} +1 -1
  65. package/chunk-QZQS7M3D.js +1 -0
  66. package/{chunk-RZTMWVAA.js → chunk-RGFJ5UMA.js} +1 -1
  67. package/{chunk-54IBJBVK.js → chunk-RJ2JM7C7.js} +1 -1
  68. package/{chunk-2C3OMPC2.js → chunk-RLWICOKH.js} +1 -1
  69. package/chunk-RRDLQLTM.js +1 -0
  70. package/{chunk-SDKAVOP6.js → chunk-TCXCC5BM.js} +1 -1
  71. package/chunk-TQTOIWBK.js +4 -0
  72. package/chunk-UCHK3SHH.js +3 -0
  73. package/{chunk-AC34YYIW.js → chunk-UTXZPAY6.js} +1 -1
  74. package/chunk-VC55KFAX.js +1 -0
  75. package/chunk-VKQQDCUN.js +1 -0
  76. package/{chunk-VOHSRCTH.js → chunk-WOKYULBU.js} +1 -1
  77. package/{chunk-OZDUAVJM.js → chunk-X276XFCH.js} +1 -1
  78. package/{chunk-KQR3DEQ4.js → chunk-XDBSTUYC.js} +1 -1
  79. package/chunk-XEG3CP74.js +1 -0
  80. package/chunk-XWTB7XRI.js +1 -0
  81. package/chunk-XXVDL5TR.js +1 -0
  82. package/{chunk-FHH444ZI.js → chunk-YCJYEQF7.js} +1 -1
  83. package/chunk-YWBZLU6M.js +1 -0
  84. package/chunk-YWUUX3S6.js +1 -0
  85. package/{chunk-GIITUFAQ.js → chunk-ZC23RK4J.js} +1 -1
  86. package/{chunk-SRILTSQM.js → chunk-ZEFSBETQ.js} +1 -1
  87. package/chunk-ZHQI6LYB.js +1 -0
  88. package/chunk-ZNYN6ES6.js +1 -0
  89. package/chunk-ZNYRWXQR.js +1 -0
  90. package/{chunk-2LDEHODA.js → chunk-ZP3QZ43W.js} +1 -1
  91. package/{chunk-PSISW3DT.js → chunk-ZYRB2TUK.js} +1 -1
  92. package/index.html +2 -2
  93. package/{main-57XFFSWO.js → main-7J2QXC6H.js} +1 -1
  94. package/package.json +1 -1
  95. package/ship-ui-assets/mcp/components.json +137 -350
  96. package/styles-S2CJL4OY.css +1 -0
  97. package/chunk-4U5P2NHK.js +0 -1
  98. package/chunk-53YJLSUR.js +0 -1
  99. package/chunk-5DB5LJ2V.js +0 -1
  100. package/chunk-5QCIXYJ2.js +0 -1
  101. package/chunk-5TT43ERP.js +0 -1
  102. package/chunk-6LPGVWBH.js +0 -1
  103. package/chunk-6XWKOOJR.js +0 -1
  104. package/chunk-C56RQYG4.js +0 -2
  105. package/chunk-CL2S4OQ7.js +0 -1
  106. package/chunk-E3UAEGAI.js +0 -1
  107. package/chunk-G5IUH2UI.js +0 -1
  108. package/chunk-GNMIMW7D.js +0 -1
  109. package/chunk-GQWUTQIZ.js +0 -1
  110. package/chunk-HN6343SO.js +0 -3
  111. package/chunk-IFZC7RUJ.js +0 -2
  112. package/chunk-IM6CS76E.js +0 -1
  113. package/chunk-J6OYVDRR.js +0 -1
  114. package/chunk-JNWS5H5A.js +0 -1
  115. package/chunk-KTRNTLNO.js +0 -1
  116. package/chunk-LRZXNEAQ.js +0 -1
  117. package/chunk-NFXXT6A3.js +0 -4
  118. package/chunk-NPL5UWFD.js +0 -1
  119. package/chunk-O42PEGVX.js +0 -1
  120. package/chunk-OW2XLFBF.js +0 -1
  121. package/chunk-Q6A652RP.js +0 -1
  122. package/chunk-R3H3RDDJ.js +0 -1
  123. package/chunk-RLWCEUKT.js +0 -1
  124. package/chunk-RXWMHEJY.js +0 -1
  125. package/chunk-S235GCI6.js +0 -1
  126. package/chunk-TSDCJYMP.js +0 -1
  127. package/chunk-UOTOQXS3.js +0 -1
  128. package/chunk-V42HCQ3A.js +0 -1
  129. package/chunk-V4NNTODH.js +0 -1
  130. package/chunk-V6U75SVY.js +0 -1
  131. package/chunk-YXRM2NKT.js +0 -11
  132. package/chunk-ZJAQQH7X.js +0 -1
  133. package/chunk-ZXAPMIF3.js +0 -1
  134. package/styles-VWVVVLVS.css +0 -1
@@ -1,2 +1,2 @@
1
- import{a as At}from"./chunk-TMS3I5A2.js";import"./chunk-TSDCJYMP.js";import{a as $t}from"./chunk-NXEMSNQO.js";import"./chunk-V6U75SVY.js";import{a as yt}from"./chunk-6HY2QKBL.js";import"./chunk-54IBJBVK.js";import"./chunk-VOHSRCTH.js";import"./chunk-SDKAVOP6.js";import"./chunk-KDWGBKDI.js";import"./chunk-6Q6SSTBK.js";import"./chunk-FHH444ZI.js";import{a as ee}from"./chunk-S36F6ZJZ.js";import"./chunk-AC34YYIW.js";import{a as ae}from"./chunk-5TT43ERP.js";import"./chunk-Y3LMRA5G.js";import{a as x}from"./chunk-PAXRIMTV.js";import"./chunk-J6OYVDRR.js";import"./chunk-OMOPTBR2.js";import{a as Ft}from"./chunk-O6ZQRIZA.js";import{a as Et,c as ut}from"./chunk-MZAGGSG2.js";import{B as D,E as mt,G as ft,H as Z,L as It,M as Mt,N as Pt,P as ht,W as Ot,Y as Rt,c as W,e as q,i as j,m as pt,s as K,t as Q,v as w,w as Y,z as Nt}from"./chunk-E3UAEGAI.js";import{d as Gt}from"./chunk-4KFQXVKU.js";import"./chunk-G5IUH2UI.js";import"./chunk-AAUAZ76N.js";import"./chunk-7BK2K5ML.js";import"./chunk-GIITUFAQ.js";import"./chunk-MI3BETEH.js";import{$b as S,Bc as J,Cb as C,Db as s,Eb as o,F as G,Fb as m,Mb as I,Pa as _t,Rc as v,Sa as l,Tb as P,Ub as h,Vb as _,Wb as U,Xb as V,Yb as B,Yc as gt,Zb as d,_ as O,a as st,b as at,c as lt,da as u,ea as p,gb as b,gc as ct,hc as dt,kc as F,lb as oe,mb as rt,nc as $,oc as H,pa as c,pc as se,ra as k,sc as A,tb as Tt,tc as y,ub as St,uc as L,wb as g,xb as E,yc as Ct}from"./chunk-NFXXT6A3.js";import"./chunk-7CGTOI24.js";var Dt=["formRef"],xt=()=>[import("./chunk-NPL5UWFD.js").then(n=>n.OptionsListComponent)];function kt(n,t){n&1&&(s(0,"sh-alert",3),_(1,1),o())}function Jt(n,t){if(n&1){let e=I();s(0,"app-options-list",5),L("optionsChange",function(a){u(e);let T=S();return y(T.settings,a)||(T.settings=a),p(a)}),o()}if(n&2){let e=S();A("options",e.settings),C("hasFreeTextSettings",!0)}}var X=class n{#e=O(x);#n=O(Gt);formRef=gt.required("formRef");settings=c([]);isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);lastRecievedServerSettings=c({});serverSettingsEffect=k(()=>{let t=this.#e.serverSettings();if(t===void 0)return;this.lastRecievedServerSettings.set(t),this.isLoadingOptions.set(!0);let e=Object.entries(t);e.forEach(([i,a],T)=>{if(i.startsWith("--")){let f=i.substring(2);this.settings.update(N=>(N.some(M=>M.Name===f||M.Name===i)||N.push({Name:i,Value:a}),N))}T===e.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let t=this.settings(),e=this.lastRecievedServerSettings(),i=t.map(N=>N.Name?.startsWith("--")?N.Name:`--${N.Name}`),T=Object.keys(e).filter(N=>N.startsWith("--")).filter(N=>!i.includes(N)),f=t.reduce((N,M)=>{let R=M.Name?.startsWith("--")?M.Name:`--${M.Name}`;return N[R]=M.Value,N},{});T.forEach(N=>{f[N]=null}),this.#n.patchApiV1Serversettings({requestBody:f}).pipe(G(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,i){e&1&&ct(i.formRef,Dt,5),e&2&&dt()},decls:8,vars:4,consts:()=>{let t;t=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Save settings `;let e;return e=$localize`Settings saved`,[t,e,[1,"actions"],[1,"success"],["shButton","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(e,i){e&1&&(s(0,"div",2),g(1,kt,2,0,"sh-alert",3),s(2,"button",4),d("click",function(){return i.submit()}),P(3,0),m(4,"sh-icon"),h(),o()(),rt(5,Jt,1,2),Tt(6,5,xt)),e&2&&(l(),E(i.saved()?1:-1),l(),F("loading",i.isSubmitting()),l(4),St(!i.isLoadingOptions()))},dependencies:[Q,D,w,Y],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}"],changeDetection:0})};function zt(n,t){if(n&1){let e=I();s(0,"sh-form-field",12)(1,"input",13),L("ngModelChange",function(a){u(e);let T=S(2);return y(T.registerUrl,a)||(T.registerUrl=a),p(a)}),o()(),s(2,"button",14),d("click",function(){u(e);let a=S(2);return p(a.register())}),_(3,0),o()}if(n&2){let e=S(2);l(),A("ngModel",e.registerUrl)}}function Ut(n,t){if(n&1&&(s(0,"div",9)(1,"label"),_(2,1),o(),s(3,"a",15),$(4),o()()),n&2){let e=S(2);l(3),C("href",Ct(e.claimUrl()),_t),l(),H(e.claimUrl())}}function Vt(n,t){n&1&&(s(0,"div",9)(1,"label"),_(2,2),o()())}function Bt(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){u(e);let a=S(2);return p(a.cancel())}),_(1,3),o()}}function Ht(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){u(e);let a=S(2);return p(a.disable())}),_(1,4),o()}}function Wt(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){u(e);let a=S(2);return p(a.enable())}),_(1,5),o(),s(2,"button",16),d("click",function(){u(e);let a=S(2);return p(a.delete())}),_(3,6),o()}}function qt(n,t){n&1&&(P(0,7,1),m(1,"sh-icon"),h())}function jt(n,t){n&1&&(P(0,7,2),m(1,"sh-icon"),h())}function Kt(n,t){if(n&1){let e=I();s(0,"sh-chip",17),d("click",function(){u(e);let a=S(2);return p(a.copyReportingUrl())}),P(1,7),g(2,qt,2,0,"sh-icon")(3,jt,2,0,"sh-icon"),h(),o()}if(n&2){let e=S(2);l(2),E(e.copiedReportingUrl()===!0?2:3)}}function Qt(n,t){if(n&1&&(s(0,"div",8),g(1,zt,4,1),g(2,Ut,5,3,"div",9),g(3,Vt,3,0,"div",9),g(4,Bt,2,0,"button",10),g(5,Ht,2,0,"button",10),g(6,Wt,4,0),g(7,Kt,4,1,"sh-chip",11),o()),n&2){let e=S();l(),E(e.state()==="inactive"?1:-1),l(),E(e.state()==="registered"?2:-1),l(),E(e.state()==="registering"?3:-1),l(),E(e.state()==="registering"||e.state()==="registeringfaulted"||e.state()==="registered"?4:-1),l(),E(e.state()==="connected"||e.state()==="connecting"?5:-1),l(),E(e.state()==="disabled"?6:-1),l(),E(e.additionalReportingUrl()!==""?7:-1)}}var te=class n{#e=O(ee);#n=O(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;additionalReportingUrl=v(()=>{let t=this.#n.serverSettings();return this.#e.state()==="inactive"?"":t&&t["additional-report-url"]||""});copiedReportingUrl=c(!1);ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}copyReportingUrl(){let t=this.additionalReportingUrl();t&&(this.copiedReportingUrl.set(!0),setTimeout(()=>this.copiedReportingUrl.set(!1),2e3),navigator.clipboard.writeText(t))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let t;t=$localize`Register on console`;let e;e=$localize`Machine is now registered, open this link to add it to your account:`;let i;i=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let T;T=$localize`Disable console connection`;let f;f=$localize`Enable console connection`;let N;N=$localize` Delete console connection setup `;let M;return M=$localize` Reporting configured by server ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,M=B(M),[t,e,i,a,T,f,N,M,[1,"field-row"],[1,"field-col"],["type","button","shButton","",1,"raised"],[1,"reporting-url","primary","simple"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","sh-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","shButton","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","shButton","",1,"raised","error",3,"click"],[1,"reporting-url","primary","simple",3,"click"]]},template:function(e,i){e&1&&g(0,Qt,8,7,"div",8),e&2&&E(i.state()!=="unknown"?0:-1)},dependencies:[K,W,q,j,Z,D,mt,w],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.reporting-url[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}"],changeDetection:0})};function bt(...n){let t=c(...n);return Object.defineProperty(t,"value",{get:t.asReadonly(),set:t.set.bind(t)})}var ne=()=>({standalone:!0});function Yt(n,t){if(n&1&&(s(0,"label"),P(1,35),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.remoteControlTooltip())}}function Zt(n,t){if(n&1&&(s(0,"label"),P(1,36),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.remoteControlTooltip())}}function en(n,t){if(n&1&&(s(0,"label"),P(1,37),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.connectionStatusIndicatorTooltip())}}function tn(n,t){if(n&1&&(s(0,"label"),P(1,38),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.connectionStatusIndicatorTooltip())}}function nn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,33),o(),s(4,"p"),_(5,34),o()(),s(6,"div",84)(7,"sh-toggle",73),d("checkedChange",function(a){u(e);let T=S(2);return p(T.toggleConsoleControl(a))}),g(8,Yt,3,1,"label")(9,Zt,3,1,"label"),o(),s(10,"sh-toggle",73),d("checkedChange",function(a){u(e);let T=S(2);return p(T.saveHideConsoleConnectionStatus(a))}),g(11,en,3,1,"label")(12,tn,3,1,"label"),o()()()}if(n&2){let e=S(2);l(7),C("checked",!e.consoleControlDisabled()),l(),E(e.consoleControlDisabled()?8:9),l(2),C("checked",!e.hideConsoleConnectionStatus()),l(),E(e.hideConsoleConnectionStatus()?11:12)}}function on(n,t){n&1&&(s(0,"label"),_(1,41),o())}function sn(n,t){n&1&&(s(0,"label"),_(1,42),o())}function an(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,39),o(),s(4,"p"),_(5,40),o()(),s(6,"div",62)(7,"sh-toggle",73),d("checkedChange",function(a){u(e);let T=S(2);return p(T.saveHideConsoleConnectionStatus(a))}),g(8,on,2,0,"label")(9,sn,2,0,"label"),o()()()}if(n&2){let e=S(2);l(7),C("checked",!e.hideConsoleConnectionStatus()),l(),E(e.hideConsoleConnectionStatus()?8:9)}}function ln(n,t){if(n&1&&(s(0,"section")(1,"div",61)(2,"h3"),_(3,32),o(),s(4,"p"),$(5),o()(),s(6,"div",62),m(7,"app-remote-control"),o()(),g(8,nn,13,4,"section")(9,an,10,2,"section")),n&2){let e=S();l(5),H(e.remoteControlStatus()),l(3),E(e.remoteControlState()!="inactive"?8:9)}}function _n(n,t){n&1&&(s(0,"sh-icon",90),$(1,"check"),o())}function rn(n,t){n&1&&(s(0,"sh-icon",91),$(1,"prohibit"),o())}function Tn(n,t){if(n&1){let e=I();s(0,"button",95),d("click",function(){u(e);let a=S(2);return p(a.updatePassphrase())}),_(1,46),o()}if(n&2){let e=S(2);F("loading",e.isUpdating())}}function Sn(n,t){if(n&1){let e=I();s(0,"button",96),d("click",function(){u(e);let a=S(2);return p(a.updatePassphrase())}),_(1,47),o()}if(n&2){let e=S(2);F("loading",e.isUpdating()),C("disabled",!0)}}function cn(n,t){if(n&1){let e=I();s(0,"sh-form-field")(1,"label",86),_(2,43),o(),s(3,"input",87),L("ngModelChange",function(a){u(e);let T=S();return y(T.passphrase,a)||(T.passphrase=a),p(a)}),o()(),s(4,"sh-form-field")(5,"label",88),_(6,44),o(),s(7,"input",89),L("ngModelChange",function(a){u(e);let T=S();return y(T.repeatPassphrase,a)||(T.repeatPassphrase=a),p(a)}),o(),g(8,_n,2,0,"sh-icon",90)(9,rn,2,0,"sh-icon",91),o(),s(10,"div",67)(11,"button",92),d("click",function(){u(e);let a=S();return p(a.cancelPasswordChange())}),_(12,45),o(),g(13,Tn,2,2,"button",93)(14,Sn,2,3,"button",94),o()}if(n&2){let e=S();l(3),A("ngModel",e.passphrase),l(4),C("disabled",e.passphrase().length===0),A("ngModel",e.repeatPassphrase),l(),E(e.passphrase().length!==0&&e.passphrase()===e.repeatPassphrase()?8:9),l(3),F("loading",e.isUpdating()),l(2),E(e.passphrase().length!==0&&e.passphrase()===e.repeatPassphrase()?13:14)}}function dn(n,t){n&1&&(s(0,"sh-icon",97),$(1,"check"),o())}function Cn(n,t){if(n&1){let e=I();s(0,"div",67)(1,"button",92),d("click",function(){u(e);let a=S();return p(a.openPassphraseForm())}),_(2,48),o(),g(3,dn,2,0,"sh-icon",97),o()}if(n&2){let e=S();l(3),E(e.passwordUpdated()?3:-1)}}function gn(n,t){n&1&&(P(0,11,1),m(1,"span"),h())}function En(n,t){n&1&&(P(0,11,2),m(1,"span"),h())}function un(n,t){if(n&1){let e=I();s(0,"sh-form-field")(1,"label",98),_(2,49),o(),s(3,"textarea",99),L("ngModelChange",function(a){u(e);let T=S();return y(T.allowedHostnames,a)||(T.allowedHostnames=a),p(a)}),o()(),s(4,"sh-alert",100),_(5,50),o(),s(6,"button",95),d("click",function(){u(e);let a=S();return p(a.updateAllowedHostnames())}),_(7,51),o()}if(n&2){let e=S();l(3),A("ngModel",e.allowedHostnames),l(3),F("loading",e.updatingAllowedHosts())}}function pn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,52),o(),s(4,"p"),_(5,53),o()(),s(6,"div",62)(7,"sh-select",101)(8,"input",69),d("ngModelChange",function(a){u(e);let T=S();return p(T.updatePowerMode(a))}),o()()()()}if(n&2){let e=S();l(7),C("options",e.powerModeOptions())("isClearable",!1),l(),C("ngModel",e.powerModeCtrl())("ngModelOptions",J(4,ne))}}function Nn(n,t){if(n&1&&(s(0,"p"),_(1,54),o()),n&2){let e,i=S();l(),U((e=i.sysinfo())==null?null:e.ServerVersionName),V(1)}}function mn(n,t){n&1&&m(0,"sh-progress-bar",74)}function fn(n,t){if(n&1&&$(0),n&2){let e=t.$implicit;se(" ",e.label," ")}}function In(n,t){if(n&1&&$(0),n&2){let e=t.$implicit;se(" ",e.label," ")}}function Mn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,55),o(),s(4,"p")(5,"span"),_(6,56),o(),s(7,"a",102),_(8,57),o(),m(9,"br")(10,"br"),s(11,"span"),_(12,58),o()()(),s(13,"div",62)(14,"sh-select",103)(15,"input",69),d("ngModelChange",function(a){u(e);let T=S();return p(T.updateUsageStatistics(a))}),o(),oe(16,In,1,1,"ng-template"),o()()()}if(n&2){let e=S();l(14),C("options",e.usageStatisticsOptions())("isLoading",e.updatingUsageStatistics()),l(),C("ngModel",e.usageStatistics())("ngModelOptions",J(4,ne))}}function Pn(n,t,e){let i=bt(n),a=i[st];e?.equal&&(a.equal=e.equal);let T;return i.set=f=>{clearTimeout(T),T=setTimeout(()=>at(a,f),t)},i.update=f=>{clearTimeout(T),T=setTimeout(()=>lt(a,f),t)},i}var hn=[{value:"none",label:$localize`None`},{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],wt=[{value:"none",label:$localize`System default ($value)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"disabled",label:$localize`None / disabled`}],le=class n{#e=O(Nt);#n=O($t);#i=O(Ft);#t=O(x);#s=O(ee);#T=O(ut);#a=O(Et);#l=this.#a.getItem("locale")??"en-US";sysinfo=this.#i.systemInfo;isDarkMode=this.#n.isDarkMode;editAs=c("list");previousLang=this.#l;langCtrl=c(this.#l);powerModeCtrl=c("");usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#s.status;remoteControlState=this.#s.state;updatingChannel=c(!1);updateChannel=c("");isUsingRelay=this.#T.relayIsEnabled;defaultClient=c(this.#S());usageStatisticsDisabled=v(()=>(this.#i.systemInfo()?.DefaultUsageReportLevel??"").toLowerCase()==="disabled");#c=k(()=>{let t=this.#i.systemInfo()?.DefaultUsageReportLevel??"",e=wt;e[0].label=$localize`System default (${t})`,this.usageStatisticsOptions.set(e)});remoteControlTooltip=c($localize`Disabling console control will disable remote access to this machine from the console, but will keep the
2
- registration intact and allow pushing settings from the console.`);connectionStatusIndicatorTooltip=c($localize`Hides the connection status indicator in the status bar. Useful if you are not using the remote console.`);setNewChannel(t){let e=this.updateChannel();this.updateChannel.set(t),this.#t.setUpdateChannel(t).pipe(G(()=>this.updatingChannel.set(!1))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updatingConsoleControl=c(!1);consoleControlDisabled=c(!1);hideConsoleConnectionStatus=this.#t.isConsoleConnectionStatusHidden;updateRemoteAccess(t){this.allowRemoteAccess.set(t),this.#t.setRemoteAccessInterface(t?"any":"loopback").pipe(G(()=>this.updatingRemoteAccess.set(!1))).subscribe()}updateAllowedHostnames(){let t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#t.setRemoteAccessAllowedHostnames(t).pipe(G(()=>this.updatingAllowedHosts.set(!1))).subscribe()}toggleConsoleControl(t){this.consoleControlDisabled.set(!t),this.#t.setDisableConsoleControl(!t).pipe(G(()=>this.updatingConsoleControl.set(!1))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(t){let e=t;this.updatingDisableTrayIconLogin.set(!0),this.#t.setDisableTrayIconLogin(e).pipe(G(()=>this.updatingDisableTrayIconLogin.set(!1))).subscribe()}updatingHideConsoleConnectionStatus=c(!1);saveHideConsoleConnectionStatus(t){this.updatingHideConsoleConnectionStatus.set(!0),this.#t.setHideConsoleConnectionStatus(!t).pipe(G(()=>this.updatingHideConsoleConnectionStatus.set(!1))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#t.setRemoteAccessPassword(this.passphrase()).pipe(G(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(yt);powerModeOptions=v(()=>{let t=this.#i.systemInfo();return!t?.PowerModeProviders||t.PowerModeProviders.filter(e=>e!==""&&e!=="None").length==0?[]:t.PowerModeProviders.map(e=>({value:e==""?"default":e,label:e===""?$localize`Default`:e}))});usageStatisticsOptions=c(wt);timeTypeOptions=c(hn);timeType=c("none");timeValue=Pn(0,300);timeRange=v(()=>this.timeType()==="h"?[1,24]:[1,60]);updateLocale(t){!t||t===""||t===this.previousLang||(this.#a.setItem("locale",t),window.location.reload())}updateTimeValue(t){this.timeValue.set(t),this.#_()}updateTimeType(t){this.timeType()==="none"&&this.timeValue.set(1),this.timeType.set(t),this.#_()}#o;#_(){this.#o&&clearTimeout(this.#o),this.#o=setTimeout(()=>{let t=this.timeValue(),e=this.timeType(),i=e==="none"||t===0?"":`${t}${e}`;i!==this.#t.serverSettings()?.["startup-delay"]&&this.#t.setStartupDelay(i).subscribe()},1e3)}updateUsageStatistics(t){let e=this.usageStatistics();!t||t===""||t===e||(this.usageStatistics.set(t),this.updatingUsageStatistics.set(!0),this.#t.setUsageReporterLevel(t).subscribe())}updatePowerMode(t){this.powerModeCtrl()!==t&&(t==="default"&&(t=""),this.#t.setPowerModeProvider(t).subscribe())}serverSettingsEffect=k(()=>{let t=this.#t.serverSettings();if(t===void 0)return;let e=t["startup-delay"],i=e.slice(-1),a=e.slice(0,-1),T=["s","m","h"];this.disableTrayIconLogin.set(t["disable-tray-icon-login"]!=="False"),this.updateChannel.set(t["update-channel"]),this.allowRemoteAccess.set(t["server-listen-interface"]==="any"),this.allowedHostnames.set(t["allowed-hostnames"]),this.loadedAllowedHostnames.set(t["allowed-hostnames"]),this.consoleControlDisabled.set(t["disable-console-control"]==="True"),this.usageStatistics.set(t["usage-reporter-level"]===""?"none":t["usage-reporter-level"]),this.timeType.set(e==""?"none":T.includes(i)?i:"none"),this.timeValue.set(e==""?0:parseInt(a));let f=t["power-mode-provider"]===""||t["power-mode-provider"]==null?"default":t["power-mode-provider"];this.powerModeCtrl.set(f)});setDarkMode(){this.#n.setDarkMode()}setLightMode(){this.#n.setLightMode()}changeDefaultClientTo(t){this.defaultClient()!==t&&(t==="ngax"?this.#e.open(ae,{data:{title:$localize`Use legacy UI by default`,message:$localize`Are you sure you want to use the legacy user interface by default? This is not recommended unless you have a specific reason.`,confirmText:$localize`Use legacy UI by default`,cancelText:$localize`Cancel`},closed:e=>{e&&(window.location.href="/ngax",this.#r(t))}}):this.#r(t))}openLegacyUI(){this.#e.open(ae,{data:{title:$localize`Open legacy UI`,message:$localize`Are you sure you want to open the legacy user interface? This is not recommended unless you have a specific reason.`,confirmText:$localize`Open legacy UI`,cancelText:$localize`Cancel`},closed:t=>{t&&window.open("/ngax","_blank")}})}#r(t){var e=new Date;e.setTime(e.getTime()+2160*60*60*1e3),document.cookie="default-client="+t+"; expires="+e.toUTCString()+"; path=/",this.defaultClient.set(t)}#S(){let t=document.cookie.split(";");for(let e=0;e<t.length;e++){let i=t[e].trim();if(i.startsWith("default-client="))return i.substring(15)}return"ngclient"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-settings"]],decls:128,vars:37,consts:()=>{let t;t=$localize`Settings`;let e;e=$localize`Configure your backup settings.`;let i;i=$localize`Color theme`;let a;a=$localize`Customize your application theme`;let T;T=$localize`Passwords`;let f;f=$localize`Change server passphrase`;let N;N=$localize`Language`;let M;M=$localize`Select a language for the platform`;let R;R=$localize`Use legacy interface`;let _e;_e=$localize`Use the old user interface, not recommended unless you have a specific reason.`;let re;re=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:arrow-square-right${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SH_ICON: Open legacy UI `;let z;z=$localize`${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#49\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD*50:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPAN:Set current UI as default${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPAN:${"\uFFFD/*50:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*51:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPAN:Set legacy UI as default${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPAN:${"\uFFFD/*51:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,z=B(z);let Te;Te=$localize`Allow remote access (requires restart)`;let Se;Se=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let ce;ce=$localize`Allow remote access`;let de;de=$localize`Prevent tray icon automatic log-in`;let Ce;Ce=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Ee;Ee=$localize`Update channel`;let ue;ue=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let pe;pe=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ne;Ne=$localize`Stable`;let me;me=$localize`Official stable release.`;let fe;fe=$localize`Beta`;let Ie;Ie=$localize` Try out the new features that we are working on. Test a backup and restore before using this in production environments. `;let Me;Me=$localize`Experimental`;let Pe;Pe=$localize`Early previews of new features. Not for use with important data.`;let he;he=$localize`Canary`;let Oe;Oe=$localize`Builds for developers and testers only. Not for use with important data.`;let Re;Re=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Fe;Fe=$localize`Advanced options`;let $e;$e=$localize`Connect to console`;let Ae;Ae=$localize`Configure console control`;let ye;ye=$localize` You can control various settings for the remote console connection. If you are not using the console, you can also hide the connection status indicator. `;let Le;Le=$localize` Remote control disabled ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ve;ve=$localize` Remote control enabled ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let be;be=$localize` Console connection status is hidden ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let we;we=$localize` Console connection status is visible ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let De;De=$localize`Toggle console connection status`;let xe;xe=$localize`Toggle the visibility of the console connection status indicator.`;let ke;ke=$localize`Console connection status is hidden`;let Je;Je=$localize`Console connection status is visible`;let Xe;Xe=$localize`Enter new password`;let ze;ze=$localize`Repeat password`;let ie;ie=$localize`Password have to be filled and have to match`;let Ue;Ue=$localize`Passphrase`;let Ve;Ve=$localize`Repeat passphrase`;let Be;Be=$localize`Cancel`;let He;He=$localize` Update passphrase `;let We;We=$localize` Update passphrase `;let qe;qe=$localize`Change password`;let je;je=$localize`Allowed hostnames`;let Ke;Ke=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Qe;Qe=$localize` Update allowed hostnames `;let Ye;Ye=$localize`Power mode provider`;let Ze;Ze=$localize` The power mode provider monitors the system for when it enters a low power state and pauses Duplicati. When the system resumes, Duplicati will resume as well. Choosing the None option disables detection of low power states and Duplicati will run all the time. `;let et;et=$localize`Installed version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let tt;tt=$localize`Usage statistics`;let nt;nt=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate `;let it;it=$localize`public usage statistics.`;let ot;return ot=$localize` All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,[t,e,i,a,T,f,N,M,R,_e,re,z,Te,Se,ce,de,Ce,ge,Ee,ue,pe,Ne,me,fe,Ie,Me,Pe,he,Oe,Re,Ge,Fe,$e,Ae,ye,Le,ve,be,we,De,xe,ke,Je,Ue,Ve,Be,He,We,qe,je,Ke,Qe,Ye,Ze,et,tt,nt,it,ot,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","buttons"],["shButton","",1,"primary",3,"click"],[1,"right","remote-access-form"],[1,"primary","raised",3,"checkedChange","checked"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised",3,"checked"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"ngModelChange","min","max","disabled","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],[1,"advanced-settings"],[1,"right","multiple"],["suffix","",3,"shTooltip"],["for","password"],["type","password","name","password","autocomplete","new-password","placeholder",Xe,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","new-password","placeholder",ze,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loading"],["shButton","","shTooltip",ie,1,"raised","primary",3,"loading","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",ie,1,"raised","primary",3,"click","disabled"],[1,"sh-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"],["value","value","label","label",3,"options","isClearable"],["href","https://usage-reporter.duplicati.com/","target","_blank"],["label","label","value","value",3,"options","isLoading"]]},template:function(e,i){if(e&1&&(m(0,"app-status-bar"),s(1,"div",59)(2,"header")(3,"div",60)(4,"h2"),_(5,0),o(),s(6,"p"),_(7,1),o()()(),g(8,ln,10,2),s(9,"section")(10,"div",61)(11,"h3"),_(12,2),o(),s(13,"p"),_(14,3),o()(),s(15,"div",62)(16,"div",63)(17,"img",64),d("click",function(){return i.setLightMode()}),o(),s(18,"img",65),d("click",function(){return i.setDarkMode()}),o()()()(),s(19,"section")(20,"div",61)(21,"h3"),_(22,4),o(),s(23,"p"),_(24,5),o()(),s(25,"div",66),g(26,cn,15,7)(27,Cn,4,1,"div",67),o()(),s(28,"section")(29,"div",61)(30,"h3"),_(31,6),o(),s(32,"p"),_(33,7),o()(),s(34,"div",62)(35,"sh-select",68)(36,"input",69),d("ngModelChange",function(T){return i.updateLocale(T)}),o()()()(),s(37,"section")(38,"div",61)(39,"h3"),_(40,8),o(),s(41,"p"),_(42,9),o()(),s(43,"div",70)(44,"button",71),d("click",function(){return i.openLegacyUI()}),P(45,10),m(46,"sh-icon"),h(),o(),s(47,"button",71),d("click",function(){return i.changeDefaultClientTo(i.defaultClient()==="ngclient"?"ngax":"ngclient")}),P(48,11),m(49,"sh-icon"),g(50,gn,2,0,"span")(51,En,2,0,"span"),h(),o()()(),s(52,"section")(53,"div",61)(54,"h3"),_(55,12),o(),s(56,"p"),_(57,13),o()(),s(58,"div",72)(59,"sh-toggle",73),d("checkedChange",function(T){return i.updateRemoteAccess(T)}),s(60,"label"),_(61,14),o()(),g(62,un,8,3),o()(),s(63,"section")(64,"div",61)(65,"h3"),_(66,15),o(),s(67,"p"),_(68,16),o()(),s(69,"div",62)(70,"sh-toggle",73),d("checkedChange",function(T){return i.saveDisableTrayIconLogin(T)}),s(71,"label"),_(72,17),o()()()(),g(73,pn,9,5,"section"),s(74,"section")(75,"div",61)(76,"h3"),_(77,18),o(),g(78,Nn,2,1,"p"),g(79,mn,1,0,"sh-progress-bar",74),o(),s(80,"div",75)(81,"div",76),d("click",function(){return i.setNewChannel("")}),s(82,"sh-radio",77),_(83,19),o(),s(84,"p"),_(85,20),o()(),s(86,"div",76),d("click",function(){return i.setNewChannel("stable")}),s(87,"sh-radio",77),_(88,21),o(),s(89,"p"),_(90,22),o()(),s(91,"div",76),d("click",function(){return i.setNewChannel("beta")}),s(92,"sh-radio",77),_(93,23),o(),s(94,"p"),_(95,24),o()(),s(96,"div",76),d("click",function(){return i.setNewChannel("experimental")}),s(97,"sh-radio",77),_(98,25),o(),s(99,"p"),_(100,26),o()(),s(101,"div",76),d("click",function(){return i.setNewChannel("canary")}),s(102,"sh-radio",77),_(103,27),o(),s(104,"p"),_(105,28),o()()()(),s(106,"section")(107,"div",61)(108,"h3"),_(109,29),o(),s(110,"p"),_(111,30),o()(),s(112,"div",62)(113,"div",78)(114,"sh-range-slider",79)(115,"input",80),L("ngModelChange",function(T){return y(i.timeValue,T)||(i.timeValue=T),T}),d("ngModelChange",function(T){return i.updateTimeValue(T)}),o()(),s(116,"sh-select",81)(117,"input",82),d("ngModelChange",function(T){return i.updateTimeType(T)}),o(),oe(118,fn,1,1,"ng-template"),o()()()(),g(119,Mn,17,5,"section"),o(),m(120,"sh-divider"),s(121,"div",59)(122,"section")(123,"div",83)(124,"h3"),_(125,31),o(),m(126,"app-advanced-options-settings"),o()()(),m(127,"sh-divider")),e&2){let a,T,f;l(8),E(i.isUsingRelay()?-1:8),l(9),F("active",!i.isDarkMode()),l(),F("active",i.isDarkMode()),l(8),E(i.showPassphraseForm()?26:27),l(9),C("options",i.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),C("ngModel",i.langCtrl())("ngModelOptions",J(35,ne)),l(14),E(i.defaultClient()==="ngax"?50:51),l(9),C("checked",i.allowRemoteAccess()),l(3),E(i.allowRemoteAccess()?62:-1),l(8),C("checked",i.disableTrayIconLogin()),l(3),E(i.powerModeOptions().length>0?73:-1),l(5),E((a=i.sysinfo())!=null&&a.ServerVersion?78:-1),l(),E(i.updatingChannel()?79:-1),l(3),C("checked",i.updateChannel()===""),l(),U((T=i.sysinfo())==null?null:T.DefaultUpdateChannel),V(83),l(2),U((f=i.sysinfo())==null?null:f.ServerVersionType),V(85),l(2),C("checked",i.updateChannel()==="stable"),l(5),C("checked",i.updateChannel()==="beta"),l(5),C("checked",i.updateChannel()==="experimental"),l(5),C("checked",i.updateChannel()==="canary"),l(12),C("unit",i.timeType()==="none"?"s":i.timeType()),l(),C("min",i.timeRange()[0])("max",i.timeRange()[1])("disabled",i.timeType()==="none"),A("ngModel",i.timeValue),C("ngModelOptions",J(36,ne)),l(),C("options",i.timeTypeOptions())("isClearable",!1),l(),C("ngModel",i.timeType()),l(2),E(i.usageStatisticsDisabled()?-1:119)}},dependencies:[K,W,pt,q,j,Q,At,te,X,D,Mt,Pt,It,Ot,Rt,Z,w,ft,Y,ht],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;background:var(--base-1);border-bottom:1px solid var(--base-4)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-4)}@media only screen and (max-width:768px){section[_ngcontent-%COMP%]{grid-template-columns:1fr}}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:15rem;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-8)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] sh-radio[_ngcontent-%COMP%]{color:var(--base-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}.right.buttons[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem}.right.multiple[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};export{Pn as debounceSignal,le as default};
1
+ import{a as $t}from"./chunk-IFSZJSGH.js";import"./chunk-QDDVZ4CR.js";import{a as yt}from"./chunk-BLSV7CNZ.js";import"./chunk-I6MIXWIT.js";import{a as At}from"./chunk-23SRH7FI.js";import"./chunk-RJ2JM7C7.js";import"./chunk-WOKYULBU.js";import"./chunk-TCXCC5BM.js";import"./chunk-GKGMP6VF.js";import"./chunk-6Q6SSTBK.js";import"./chunk-YCJYEQF7.js";import{a as ee}from"./chunk-OHYENIPP.js";import"./chunk-UTXZPAY6.js";import{a as ae}from"./chunk-IMQUTGIK.js";import"./chunk-ANSV4G2K.js";import{a as x}from"./chunk-BACKG7KA.js";import"./chunk-IQL3REGJ.js";import"./chunk-AIAUP7OE.js";import{a as Ft}from"./chunk-C6PICAXB.js";import{a as ut,c as Et}from"./chunk-6JS7B4FW.js";import{B as D,E as mt,G as ft,H as Z,L as It,M as Mt,N as Pt,P as ht,W as Ot,Y as Rt,c as W,e as q,i as j,m as pt,s as K,t as Q,v as w,w as Y,z as Nt}from"./chunk-VKQQDCUN.js";import{d as Gt}from"./chunk-DSYNIXJF.js";import"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{$b as S,Ac as J,Cb as C,Db as s,Eb as o,F as G,Fb as m,Mb as I,Pa as _t,Qc as b,Sa as l,Tb as P,Ub as h,Vb as _,Wb as U,Xb as V,Xc as gt,Yb as B,Zb as d,_ as O,a as st,b as at,c as lt,da as E,ea as p,gb as v,gc as ct,hc as dt,kc as F,lb as oe,mb as rt,nc as y,oc as H,pa as c,pc as se,ra as k,sc as $,tb as Tt,tc as A,ub as St,uc as L,wb as g,xb as u,yc as Ct}from"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";var Dt=["formRef"],xt=()=>[import("./chunk-ZHQI6LYB.js").then(n=>n.OptionsListComponent)];function kt(n,t){n&1&&(s(0,"sh-alert",3),_(1,1),o())}function Jt(n,t){if(n&1){let e=I();s(0,"app-options-list",5),L("optionsChange",function(a){E(e);let T=S();return A(T.settings,a)||(T.settings=a),p(a)}),o()}if(n&2){let e=S();$("options",e.settings),C("hasFreeTextSettings",!0)}}var X=class n{#e=O(x);#n=O(Gt);formRef=gt.required("formRef");settings=c([]);isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);lastRecievedServerSettings=c({});serverSettingsEffect=k(()=>{let t=this.#e.serverSettings();if(t===void 0)return;this.lastRecievedServerSettings.set(t),this.isLoadingOptions.set(!0);let e=Object.entries(t);e.forEach(([i,a],T)=>{if(i.startsWith("--")){let f=i.substring(2);this.settings.update(N=>(N.some(M=>M.Name===f||M.Name===i)||N.push({Name:i,Value:a}),N))}T===e.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let t=this.settings(),e=this.lastRecievedServerSettings(),i=t.map(N=>N.Name?.startsWith("--")?N.Name:`--${N.Name}`),T=Object.keys(e).filter(N=>N.startsWith("--")).filter(N=>!i.includes(N)),f=t.reduce((N,M)=>{let R=M.Name?.startsWith("--")?M.Name:`--${M.Name}`;return N[R]=M.Value,N},{});T.forEach(N=>{f[N]=null}),this.#n.patchApiV1Serversettings({requestBody:f}).pipe(G(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=v({type:n,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,i){e&1&&ct(i.formRef,Dt,5),e&2&&dt()},decls:8,vars:4,consts:()=>{let t;t=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON: Save settings `;let e;return e=$localize`Settings saved`,[t,e,[1,"actions"],[1,"success"],["shButton","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(e,i){e&1&&(s(0,"div",2),g(1,kt,2,0,"sh-alert",3),s(2,"button",4),d("click",function(){return i.submit()}),P(3,0),m(4,"sh-icon"),h(),o()(),rt(5,Jt,1,2),Tt(6,5,xt)),e&2&&(l(),u(i.saved()?1:-1),l(),F("loading",i.isSubmitting()),l(4),St(!i.isLoadingOptions()))},dependencies:[Q,D,w,Y],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}"],changeDetection:0})};function zt(n,t){if(n&1){let e=I();s(0,"sh-form-field",12)(1,"input",13),L("ngModelChange",function(a){E(e);let T=S(2);return A(T.registerUrl,a)||(T.registerUrl=a),p(a)}),o()(),s(2,"button",14),d("click",function(){E(e);let a=S(2);return p(a.register())}),_(3,0),o()}if(n&2){let e=S(2);l(),$("ngModel",e.registerUrl)}}function Ut(n,t){if(n&1&&(s(0,"div",9)(1,"label"),_(2,1),o(),s(3,"a",15),y(4),o()()),n&2){let e=S(2);l(3),C("href",Ct(e.claimUrl()),_t),l(),H(e.claimUrl())}}function Vt(n,t){n&1&&(s(0,"div",9)(1,"label"),_(2,2),o()())}function Bt(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){E(e);let a=S(2);return p(a.cancel())}),_(1,3),o()}}function Ht(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){E(e);let a=S(2);return p(a.disable())}),_(1,4),o()}}function Wt(n,t){if(n&1){let e=I();s(0,"button",14),d("click",function(){E(e);let a=S(2);return p(a.enable())}),_(1,5),o(),s(2,"button",16),d("click",function(){E(e);let a=S(2);return p(a.delete())}),_(3,6),o()}}function qt(n,t){n&1&&(P(0,7,1),m(1,"sh-icon"),h())}function jt(n,t){n&1&&(P(0,7,2),m(1,"sh-icon"),h())}function Kt(n,t){if(n&1){let e=I();s(0,"sh-chip",17),d("click",function(){E(e);let a=S(2);return p(a.copyReportingUrl())}),P(1,7),g(2,qt,2,0,"sh-icon")(3,jt,2,0,"sh-icon"),h(),o()}if(n&2){let e=S(2);l(2),u(e.copiedReportingUrl()===!0?2:3)}}function Qt(n,t){if(n&1&&(s(0,"div",8),g(1,zt,4,1),g(2,Ut,5,3,"div",9),g(3,Vt,3,0,"div",9),g(4,Bt,2,0,"button",10),g(5,Ht,2,0,"button",10),g(6,Wt,4,0),g(7,Kt,4,1,"sh-chip",11),o()),n&2){let e=S();l(),u(e.state()==="inactive"?1:-1),l(),u(e.state()==="registered"?2:-1),l(),u(e.state()==="registering"?3:-1),l(),u(e.state()==="registering"||e.state()==="registeringfaulted"||e.state()==="registered"?4:-1),l(),u(e.state()==="connected"||e.state()==="connecting"?5:-1),l(),u(e.state()==="disabled"?6:-1),l(),u(e.additionalReportingUrl()!==""&&e.state()!=="registered"?7:-1)}}var te=class n{#e=O(ee);#n=O(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;additionalReportingUrl=b(()=>{let t=this.#n.serverSettings();return t&&t["additional-report-url"]||""});copiedReportingUrl=c(!1);ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}copyReportingUrl(){let t=this.additionalReportingUrl();t&&(this.copiedReportingUrl.set(!0),setTimeout(()=>this.copiedReportingUrl.set(!1),2e3),navigator.clipboard.writeText(t))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=v({type:n,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let t;t=$localize`Register on console`;let e;e=$localize`Machine is now registered, open this link to add it to your account:`;let i;i=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let T;T=$localize`Disable console connection`;let f;f=$localize`Enable console connection`;let N;N=$localize` Delete console connection setup `;let M;return M=$localize` Reporting configured by server ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,M=B(M),[t,e,i,a,T,f,N,M,[1,"field-row"],[1,"field-col"],["type","button","shButton","",1,"raised"],[1,"reporting-url","primary","simple"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","sh-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","shButton","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","shButton","",1,"raised","error",3,"click"],[1,"reporting-url","primary","simple",3,"click"]]},template:function(e,i){e&1&&g(0,Qt,8,7,"div",8),e&2&&u(i.state()!=="unknown"?0:-1)},dependencies:[K,W,q,j,Z,D,mt,w],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.reporting-url[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}"],changeDetection:0})};function vt(...n){let t=c(...n);return Object.defineProperty(t,"value",{get:t.asReadonly(),set:t.set.bind(t)})}var ne=()=>({standalone:!0});function Yt(n,t){if(n&1&&(s(0,"label"),P(1,35),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.remoteControlTooltip())}}function Zt(n,t){if(n&1&&(s(0,"label"),P(1,36),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.remoteControlTooltip())}}function en(n,t){if(n&1&&(s(0,"label"),P(1,37),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.connectionStatusIndicatorTooltip())}}function tn(n,t){if(n&1&&(s(0,"label"),P(1,38),m(2,"sh-icon",85),h(),o()),n&2){let e=S(3);l(2),C("shTooltip",e.connectionStatusIndicatorTooltip())}}function nn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,33),o(),s(4,"p"),_(5,34),o()(),s(6,"div",84)(7,"sh-toggle",73),d("checkedChange",function(a){E(e);let T=S(2);return p(T.toggleConsoleControl(a))}),g(8,Yt,3,1,"label")(9,Zt,3,1,"label"),o(),s(10,"sh-toggle",73),d("checkedChange",function(a){E(e);let T=S(2);return p(T.saveHideConsoleConnectionStatus(a))}),g(11,en,3,1,"label")(12,tn,3,1,"label"),o()()()}if(n&2){let e=S(2);l(7),C("checked",!e.consoleControlDisabled()),l(),u(e.consoleControlDisabled()?8:9),l(2),C("checked",!e.hideConsoleConnectionStatus()),l(),u(e.hideConsoleConnectionStatus()?11:12)}}function on(n,t){n&1&&(s(0,"label"),_(1,41),o())}function sn(n,t){n&1&&(s(0,"label"),_(1,42),o())}function an(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,39),o(),s(4,"p"),_(5,40),o()(),s(6,"div",62)(7,"sh-toggle",73),d("checkedChange",function(a){E(e);let T=S(2);return p(T.saveHideConsoleConnectionStatus(a))}),g(8,on,2,0,"label")(9,sn,2,0,"label"),o()()()}if(n&2){let e=S(2);l(7),C("checked",!e.hideConsoleConnectionStatus()),l(),u(e.hideConsoleConnectionStatus()?8:9)}}function ln(n,t){if(n&1&&(s(0,"section")(1,"div",61)(2,"h3"),_(3,32),o(),s(4,"p"),y(5),o()(),s(6,"div",62),m(7,"app-remote-control"),o()(),g(8,nn,13,4,"section")(9,an,10,2,"section")),n&2){let e=S();l(5),H(e.remoteControlStatus()),l(3),u(e.remoteControlState()!="inactive"?8:9)}}function _n(n,t){n&1&&(s(0,"sh-icon",90),y(1,"check"),o())}function rn(n,t){n&1&&(s(0,"sh-icon",91),y(1,"prohibit"),o())}function Tn(n,t){if(n&1){let e=I();s(0,"button",95),d("click",function(){E(e);let a=S(2);return p(a.updatePassphrase())}),_(1,46),o()}if(n&2){let e=S(2);F("loading",e.isUpdating())}}function Sn(n,t){if(n&1){let e=I();s(0,"button",96),d("click",function(){E(e);let a=S(2);return p(a.updatePassphrase())}),_(1,47),o()}if(n&2){let e=S(2);F("loading",e.isUpdating()),C("disabled",!0)}}function cn(n,t){if(n&1){let e=I();s(0,"sh-form-field")(1,"label",86),_(2,43),o(),s(3,"input",87),L("ngModelChange",function(a){E(e);let T=S();return A(T.passphrase,a)||(T.passphrase=a),p(a)}),o()(),s(4,"sh-form-field")(5,"label",88),_(6,44),o(),s(7,"input",89),L("ngModelChange",function(a){E(e);let T=S();return A(T.repeatPassphrase,a)||(T.repeatPassphrase=a),p(a)}),o(),g(8,_n,2,0,"sh-icon",90)(9,rn,2,0,"sh-icon",91),o(),s(10,"div",67)(11,"button",92),d("click",function(){E(e);let a=S();return p(a.cancelPasswordChange())}),_(12,45),o(),g(13,Tn,2,2,"button",93)(14,Sn,2,3,"button",94),o()}if(n&2){let e=S();l(3),$("ngModel",e.passphrase),l(4),C("disabled",e.passphrase().length===0),$("ngModel",e.repeatPassphrase),l(),u(e.passphrase().length!==0&&e.passphrase()===e.repeatPassphrase()?8:9),l(3),F("loading",e.isUpdating()),l(2),u(e.passphrase().length!==0&&e.passphrase()===e.repeatPassphrase()?13:14)}}function dn(n,t){n&1&&(s(0,"sh-icon",97),y(1,"check"),o())}function Cn(n,t){if(n&1){let e=I();s(0,"div",67)(1,"button",92),d("click",function(){E(e);let a=S();return p(a.openPassphraseForm())}),_(2,48),o(),g(3,dn,2,0,"sh-icon",97),o()}if(n&2){let e=S();l(3),u(e.passwordUpdated()?3:-1)}}function gn(n,t){n&1&&(P(0,11,1),m(1,"span"),h())}function un(n,t){n&1&&(P(0,11,2),m(1,"span"),h())}function En(n,t){if(n&1){let e=I();s(0,"sh-form-field")(1,"label",98),_(2,49),o(),s(3,"textarea",99),L("ngModelChange",function(a){E(e);let T=S();return A(T.allowedHostnames,a)||(T.allowedHostnames=a),p(a)}),o()(),s(4,"sh-alert",100),_(5,50),o(),s(6,"button",95),d("click",function(){E(e);let a=S();return p(a.updateAllowedHostnames())}),_(7,51),o()}if(n&2){let e=S();l(3),$("ngModel",e.allowedHostnames),l(3),F("loading",e.updatingAllowedHosts())}}function pn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,52),o(),s(4,"p"),_(5,53),o()(),s(6,"div",62)(7,"sh-select",101)(8,"input",69),d("ngModelChange",function(a){E(e);let T=S();return p(T.updatePowerMode(a))}),o()()()()}if(n&2){let e=S();l(7),C("options",e.powerModeOptions())("isClearable",!1),l(),C("ngModel",e.powerModeCtrl())("ngModelOptions",J(4,ne))}}function Nn(n,t){if(n&1&&(s(0,"p"),_(1,54),o()),n&2){let e,i=S();l(),U((e=i.sysinfo())==null?null:e.ServerVersionName),V(1)}}function mn(n,t){n&1&&m(0,"sh-progress-bar",74)}function fn(n,t){if(n&1&&y(0),n&2){let e=t.$implicit;se(" ",e.label," ")}}function In(n,t){if(n&1&&y(0),n&2){let e=t.$implicit;se(" ",e.label," ")}}function Mn(n,t){if(n&1){let e=I();s(0,"section")(1,"div",61)(2,"h3"),_(3,55),o(),s(4,"p")(5,"span"),_(6,56),o(),s(7,"a",102),_(8,57),o(),m(9,"br")(10,"br"),s(11,"span"),_(12,58),o()()(),s(13,"div",62)(14,"sh-select",103)(15,"input",69),d("ngModelChange",function(a){E(e);let T=S();return p(T.updateUsageStatistics(a))}),o(),oe(16,In,1,1,"ng-template"),o()()()}if(n&2){let e=S();l(14),C("options",e.usageStatisticsOptions())("isLoading",e.updatingUsageStatistics()),l(),C("ngModel",e.usageStatistics())("ngModelOptions",J(4,ne))}}function Pn(n,t,e){let i=vt(n),a=i[st];e?.equal&&(a.equal=e.equal);let T;return i.set=f=>{clearTimeout(T),T=setTimeout(()=>at(a,f),t)},i.update=f=>{clearTimeout(T),T=setTimeout(()=>lt(a,f),t)},i}var hn=[{value:"none",label:$localize`None`},{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],wt=[{value:"none",label:$localize`System default ($value)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"disabled",label:$localize`None / disabled`}],le=class n{#e=O(Nt);#n=O(yt);#i=O(Ft);#t=O(x);#s=O(ee);#T=O(Et);#a=O(ut);#l=this.#a.getItem("locale")??"en-US";sysinfo=this.#i.systemInfo;isDarkMode=this.#n.isDarkMode;editAs=c("list");previousLang=this.#l;langCtrl=c(this.#l);powerModeCtrl=c("");usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#s.status;remoteControlState=this.#s.state;updatingChannel=c(!1);updateChannel=c("");isUsingRelay=this.#T.relayIsEnabled;defaultClient=c(this.#S());usageStatisticsDisabled=b(()=>(this.#i.systemInfo()?.DefaultUsageReportLevel??"").toLowerCase()==="disabled");#c=k(()=>{let t=this.#i.systemInfo()?.DefaultUsageReportLevel??"",e=wt;e[0].label=$localize`System default (${t})`,this.usageStatisticsOptions.set(e)});remoteControlTooltip=c($localize`Disabling console control will disable remote access to this machine from the console, but will keep the
2
+ registration intact and allow pushing settings from the console.`);connectionStatusIndicatorTooltip=c($localize`Hides the connection status indicator in the status bar. Useful if you are not using the remote console.`);setNewChannel(t){let e=this.updateChannel();this.updateChannel.set(t),this.#t.setUpdateChannel(t).pipe(G(()=>this.updatingChannel.set(!1))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updatingConsoleControl=c(!1);consoleControlDisabled=c(!1);hideConsoleConnectionStatus=this.#t.isConsoleConnectionStatusHidden;updateRemoteAccess(t){this.allowRemoteAccess.set(t),this.#t.setRemoteAccessInterface(t?"any":"loopback").pipe(G(()=>this.updatingRemoteAccess.set(!1))).subscribe()}updateAllowedHostnames(){let t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#t.setRemoteAccessAllowedHostnames(t).pipe(G(()=>this.updatingAllowedHosts.set(!1))).subscribe()}toggleConsoleControl(t){this.consoleControlDisabled.set(!t),this.#t.setDisableConsoleControl(!t).pipe(G(()=>this.updatingConsoleControl.set(!1))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(t){let e=t;this.updatingDisableTrayIconLogin.set(!0),this.#t.setDisableTrayIconLogin(e).pipe(G(()=>this.updatingDisableTrayIconLogin.set(!1))).subscribe()}updatingHideConsoleConnectionStatus=c(!1);saveHideConsoleConnectionStatus(t){this.updatingHideConsoleConnectionStatus.set(!0),this.#t.setHideConsoleConnectionStatus(!t).pipe(G(()=>this.updatingHideConsoleConnectionStatus.set(!1))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#t.setRemoteAccessPassword(this.passphrase()).pipe(G(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(At);powerModeOptions=b(()=>{let t=this.#i.systemInfo();return!t?.PowerModeProviders||t.PowerModeProviders.filter(e=>e!==""&&e!=="None").length==0?[]:t.PowerModeProviders.map(e=>({value:e==""?"default":e,label:e===""?$localize`Default`:e}))});usageStatisticsOptions=c(wt);timeTypeOptions=c(hn);timeType=c("none");timeValue=Pn(0,300);timeRange=b(()=>this.timeType()==="h"?[1,24]:[1,60]);updateLocale(t){!t||t===""||t===this.previousLang||(this.#a.setItem("locale",t),window.location.reload())}updateTimeValue(t){this.timeValue.set(t),this.#_()}updateTimeType(t){this.timeType()==="none"&&this.timeValue.set(1),this.timeType.set(t),this.#_()}#o;#_(){this.#o&&clearTimeout(this.#o),this.#o=setTimeout(()=>{let t=this.timeValue(),e=this.timeType(),i=e==="none"||t===0?"":`${t}${e}`;i!==this.#t.serverSettings()?.["startup-delay"]&&this.#t.setStartupDelay(i).subscribe()},1e3)}updateUsageStatistics(t){let e=this.usageStatistics();!t||t===""||t===e||(this.usageStatistics.set(t),this.updatingUsageStatistics.set(!0),this.#t.setUsageReporterLevel(t).subscribe())}updatePowerMode(t){this.powerModeCtrl()!==t&&(t==="default"&&(t=""),this.#t.setPowerModeProvider(t).subscribe())}serverSettingsEffect=k(()=>{let t=this.#t.serverSettings();if(t===void 0)return;let e=t["startup-delay"],i=e.slice(-1),a=e.slice(0,-1),T=["s","m","h"];this.disableTrayIconLogin.set(t["disable-tray-icon-login"]!=="False"),this.updateChannel.set(t["update-channel"]),this.allowRemoteAccess.set(t["server-listen-interface"]==="any"),this.allowedHostnames.set(t["allowed-hostnames"]),this.loadedAllowedHostnames.set(t["allowed-hostnames"]),this.consoleControlDisabled.set(t["disable-console-control"]==="True"),this.usageStatistics.set(t["usage-reporter-level"]===""?"none":t["usage-reporter-level"]),this.timeType.set(e==""?"none":T.includes(i)?i:"none"),this.timeValue.set(e==""?0:parseInt(a));let f=t["power-mode-provider"]===""||t["power-mode-provider"]==null?"default":t["power-mode-provider"];this.powerModeCtrl.set(f)});setDarkMode(){this.#n.setDarkMode()}setLightMode(){this.#n.setLightMode()}changeDefaultClientTo(t){this.defaultClient()!==t&&(t==="ngax"?this.#e.open(ae,{data:{title:$localize`Use legacy UI by default`,message:$localize`Are you sure you want to use the legacy user interface by default? This is not recommended unless you have a specific reason.`,confirmText:$localize`Use legacy UI by default`,cancelText:$localize`Cancel`},closed:e=>{e&&(window.location.href="/ngax",this.#r(t))}}):this.#r(t))}openLegacyUI(){this.#e.open(ae,{data:{title:$localize`Open legacy UI`,message:$localize`Are you sure you want to open the legacy user interface? This is not recommended unless you have a specific reason.`,confirmText:$localize`Open legacy UI`,cancelText:$localize`Cancel`},closed:t=>{t&&window.open("/ngax","_blank")}})}#r(t){var e=new Date;e.setTime(e.getTime()+2160*60*60*1e3),document.cookie="default-client="+t+"; expires="+e.toUTCString()+"; path=/",this.defaultClient.set(t)}#S(){let t=document.cookie.split(";");for(let e=0;e<t.length;e++){let i=t[e].trim();if(i.startsWith("default-client="))return i.substring(15)}return"ngclient"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=v({type:n,selectors:[["app-settings"]],decls:128,vars:37,consts:()=>{let t;t=$localize`Settings`;let e;e=$localize`Configure your backup settings.`;let i;i=$localize`Color theme`;let a;a=$localize`Customize your application theme`;let T;T=$localize`Passwords`;let f;f=$localize`Change server passphrase`;let N;N=$localize`Language`;let M;M=$localize`Select a language for the platform`;let R;R=$localize`Use legacy interface`;let _e;_e=$localize`Use the old user interface, not recommended unless you have a specific reason.`;let re;re=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:arrow-square-right${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SH_ICON: Open legacy UI `;let z;z=$localize`${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#49\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD*50:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPAN:Set current UI as default${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPAN:${"\uFFFD/*50:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*51:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPAN:Set legacy UI as default${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPAN:${"\uFFFD/*51:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,z=B(z);let Te;Te=$localize`Allow remote access (requires restart)`;let Se;Se=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let ce;ce=$localize`Allow remote access`;let de;de=$localize`Prevent tray icon automatic log-in`;let Ce;Ce=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ge;ge=$localize`Prevent tray icon automatic log-in`;let ue;ue=$localize`Update channel`;let Ee;Ee=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let pe;pe=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ne;Ne=$localize`Stable`;let me;me=$localize`Official stable release.`;let fe;fe=$localize`Beta`;let Ie;Ie=$localize` Try out the new features that we are working on. Test a backup and restore before using this in production environments. `;let Me;Me=$localize`Experimental`;let Pe;Pe=$localize`Early previews of new features. Not for use with important data.`;let he;he=$localize`Canary`;let Oe;Oe=$localize`Builds for developers and testers only. Not for use with important data.`;let Re;Re=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Fe;Fe=$localize`Advanced options`;let ye;ye=$localize`Connect to console`;let $e;$e=$localize`Configure console control`;let Ae;Ae=$localize` You can control various settings for the remote console connection. If you are not using the console, you can also hide the connection status indicator. `;let Le;Le=$localize` Remote control disabled ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let be;be=$localize` Remote control enabled ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ve;ve=$localize` Console connection status is hidden ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let we;we=$localize` Console connection status is visible ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let De;De=$localize`Toggle console connection status`;let xe;xe=$localize`Toggle the visibility of the console connection status indicator.`;let ke;ke=$localize`Console connection status is hidden`;let Je;Je=$localize`Console connection status is visible`;let Xe;Xe=$localize`Enter new password`;let ze;ze=$localize`Repeat password`;let ie;ie=$localize`Password have to be filled and have to match`;let Ue;Ue=$localize`Passphrase`;let Ve;Ve=$localize`Repeat passphrase`;let Be;Be=$localize`Cancel`;let He;He=$localize` Update passphrase `;let We;We=$localize` Update passphrase `;let qe;qe=$localize`Change password`;let je;je=$localize`Allowed hostnames`;let Ke;Ke=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Qe;Qe=$localize` Update allowed hostnames `;let Ye;Ye=$localize`Power mode provider`;let Ze;Ze=$localize` The power mode provider monitors the system for when it enters a low power state and pauses Duplicati. When the system resumes, Duplicati will resume as well. Choosing the None option disables detection of low power states and Duplicati will run all the time. `;let et;et=$localize`Installed version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let tt;tt=$localize`Usage statistics`;let nt;nt=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate `;let it;it=$localize`public usage statistics.`;let ot;return ot=$localize` All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,[t,e,i,a,T,f,N,M,R,_e,re,z,Te,Se,ce,de,Ce,ge,ue,Ee,pe,Ne,me,fe,Ie,Me,Pe,he,Oe,Re,Ge,Fe,ye,$e,Ae,Le,be,ve,we,De,xe,ke,Je,Ue,Ve,Be,He,We,qe,je,Ke,Qe,Ye,Ze,et,tt,nt,it,ot,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","buttons"],["shButton","",1,"primary",3,"click"],[1,"right","remote-access-form"],[1,"primary","raised",3,"checkedChange","checked"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised",3,"checked"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"ngModelChange","min","max","disabled","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],[1,"advanced-settings"],[1,"right","multiple"],["suffix","",3,"shTooltip"],["for","password"],["type","password","name","password","autocomplete","new-password","placeholder",Xe,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","new-password","placeholder",ze,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loading"],["shButton","","shTooltip",ie,1,"raised","primary",3,"loading","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",ie,1,"raised","primary",3,"click","disabled"],[1,"sh-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"],["value","value","label","label",3,"options","isClearable"],["href","https://usage-reporter.duplicati.com/","target","_blank"],["label","label","value","value",3,"options","isLoading"]]},template:function(e,i){if(e&1&&(m(0,"app-status-bar"),s(1,"div",59)(2,"header")(3,"div",60)(4,"h2"),_(5,0),o(),s(6,"p"),_(7,1),o()()(),g(8,ln,10,2),s(9,"section")(10,"div",61)(11,"h3"),_(12,2),o(),s(13,"p"),_(14,3),o()(),s(15,"div",62)(16,"div",63)(17,"img",64),d("click",function(){return i.setLightMode()}),o(),s(18,"img",65),d("click",function(){return i.setDarkMode()}),o()()()(),s(19,"section")(20,"div",61)(21,"h3"),_(22,4),o(),s(23,"p"),_(24,5),o()(),s(25,"div",66),g(26,cn,15,7)(27,Cn,4,1,"div",67),o()(),s(28,"section")(29,"div",61)(30,"h3"),_(31,6),o(),s(32,"p"),_(33,7),o()(),s(34,"div",62)(35,"sh-select",68)(36,"input",69),d("ngModelChange",function(T){return i.updateLocale(T)}),o()()()(),s(37,"section")(38,"div",61)(39,"h3"),_(40,8),o(),s(41,"p"),_(42,9),o()(),s(43,"div",70)(44,"button",71),d("click",function(){return i.openLegacyUI()}),P(45,10),m(46,"sh-icon"),h(),o(),s(47,"button",71),d("click",function(){return i.changeDefaultClientTo(i.defaultClient()==="ngclient"?"ngax":"ngclient")}),P(48,11),m(49,"sh-icon"),g(50,gn,2,0,"span")(51,un,2,0,"span"),h(),o()()(),s(52,"section")(53,"div",61)(54,"h3"),_(55,12),o(),s(56,"p"),_(57,13),o()(),s(58,"div",72)(59,"sh-toggle",73),d("checkedChange",function(T){return i.updateRemoteAccess(T)}),s(60,"label"),_(61,14),o()(),g(62,En,8,3),o()(),s(63,"section")(64,"div",61)(65,"h3"),_(66,15),o(),s(67,"p"),_(68,16),o()(),s(69,"div",62)(70,"sh-toggle",73),d("checkedChange",function(T){return i.saveDisableTrayIconLogin(T)}),s(71,"label"),_(72,17),o()()()(),g(73,pn,9,5,"section"),s(74,"section")(75,"div",61)(76,"h3"),_(77,18),o(),g(78,Nn,2,1,"p"),g(79,mn,1,0,"sh-progress-bar",74),o(),s(80,"div",75)(81,"div",76),d("click",function(){return i.setNewChannel("")}),s(82,"sh-radio",77),_(83,19),o(),s(84,"p"),_(85,20),o()(),s(86,"div",76),d("click",function(){return i.setNewChannel("stable")}),s(87,"sh-radio",77),_(88,21),o(),s(89,"p"),_(90,22),o()(),s(91,"div",76),d("click",function(){return i.setNewChannel("beta")}),s(92,"sh-radio",77),_(93,23),o(),s(94,"p"),_(95,24),o()(),s(96,"div",76),d("click",function(){return i.setNewChannel("experimental")}),s(97,"sh-radio",77),_(98,25),o(),s(99,"p"),_(100,26),o()(),s(101,"div",76),d("click",function(){return i.setNewChannel("canary")}),s(102,"sh-radio",77),_(103,27),o(),s(104,"p"),_(105,28),o()()()(),s(106,"section")(107,"div",61)(108,"h3"),_(109,29),o(),s(110,"p"),_(111,30),o()(),s(112,"div",62)(113,"div",78)(114,"sh-range-slider",79)(115,"input",80),L("ngModelChange",function(T){return A(i.timeValue,T)||(i.timeValue=T),T}),d("ngModelChange",function(T){return i.updateTimeValue(T)}),o()(),s(116,"sh-select",81)(117,"input",82),d("ngModelChange",function(T){return i.updateTimeType(T)}),o(),oe(118,fn,1,1,"ng-template"),o()()()(),g(119,Mn,17,5,"section"),o(),m(120,"sh-divider"),s(121,"div",59)(122,"section")(123,"div",83)(124,"h3"),_(125,31),o(),m(126,"app-advanced-options-settings"),o()()(),m(127,"sh-divider")),e&2){let a,T,f;l(8),u(i.isUsingRelay()?-1:8),l(9),F("active",!i.isDarkMode()),l(),F("active",i.isDarkMode()),l(8),u(i.showPassphraseForm()?26:27),l(9),C("options",i.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),C("ngModel",i.langCtrl())("ngModelOptions",J(35,ne)),l(14),u(i.defaultClient()==="ngax"?50:51),l(9),C("checked",i.allowRemoteAccess()),l(3),u(i.allowRemoteAccess()?62:-1),l(8),C("checked",i.disableTrayIconLogin()),l(3),u(i.powerModeOptions().length>0?73:-1),l(5),u((a=i.sysinfo())!=null&&a.ServerVersion?78:-1),l(),u(i.updatingChannel()?79:-1),l(3),C("checked",i.updateChannel()===""),l(),U((T=i.sysinfo())==null?null:T.DefaultUpdateChannel),V(83),l(2),U((f=i.sysinfo())==null?null:f.ServerVersionType),V(85),l(2),C("checked",i.updateChannel()==="stable"),l(5),C("checked",i.updateChannel()==="beta"),l(5),C("checked",i.updateChannel()==="experimental"),l(5),C("checked",i.updateChannel()==="canary"),l(12),C("unit",i.timeType()==="none"?"s":i.timeType()),l(),C("min",i.timeRange()[0])("max",i.timeRange()[1])("disabled",i.timeType()==="none"),$("ngModel",i.timeValue),C("ngModelOptions",J(36,ne)),l(),C("options",i.timeTypeOptions())("isClearable",!1),l(),C("ngModel",i.timeType()),l(2),u(i.usageStatisticsDisabled()?-1:119)}},dependencies:[K,W,pt,q,j,Q,$t,te,X,D,Mt,Pt,It,Ot,Rt,Z,w,ft,Y,ht],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;background:var(--base-1);border-bottom:1px solid var(--base-4)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-4)}@media only screen and (max-width:768px){section[_ngcontent-%COMP%]{grid-template-columns:1fr}}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:15rem;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-8)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] sh-radio[_ngcontent-%COMP%]{color:var(--base-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}.right.buttons[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem}.right.multiple[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};export{Pn as debounceSignal,le as default};
@@ -0,0 +1 @@
1
+ import{b as Qr}from"./chunk-O2SMJYPC.js";import{b as Wr,g as rt}from"./chunk-ZC23RK4J.js";import{$ as Ir,$a as z,$c as et,A as Ee,B as Ae,D as ue,F as Cr,Fb as jr,G as Q,H as Ot,K as Sr,Kc as qr,L as x,M as Ye,N as j,Pc as y,Qa as Tr,Qc as Xe,Rc as Hr,S as w,T as wr,Uc as Br,V as R,Wc as Vr,X as br,Y as T,Z as K,Zb as kr,_ as h,_a as jt,ba as H,bb as Nr,ca as O,cc as $r,d as pr,db as Dr,dc as zr,dd as tt,e as gr,ec as Fr,f as vr,fb as Je,g as re,gb as _r,gd as Gr,h as _,ha as Er,ib as Te,j as U,ja as Pt,k as b,ka as Ar,l as g,la as ne,m as mr,n as _t,nb as Ur,o as yr,oa as Ze,pa as C,pb as Or,q as E,r as Ut,rb as Pr,s as $,sa as Me,sb as Lr,t as Ie,ta as Lt,u as Rr,ua as Mr,v as Ke,va as xt,vb as xr,y as W}from"./chunk-TQTOIWBK.js";import{a as l,b as M}from"./chunk-7CGTOI24.js";var f="primary",He=Symbol("RouteTitle"),qt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function oe(t){return new qt(t)}function kt(t,n,e){for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function tn(t,n,e){let r=e.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let c={},u=t.slice(0,r.length);return kt(r,u,c)?{consumed:u,posParams:c}:null}if(i!==r.lastIndexOf("**"))return null;let o=r.slice(0,i),s=r.slice(i+1);if(o.length+s.length>t.length||e.pathMatch==="full"&&n.hasChildren()&&e.path!=="**")return null;let a={};return!kt(o,t.slice(0,o.length),a)||!kt(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function ct(t){return new Promise((n,e)=>{t.pipe(Q()).subscribe({next:r=>n(r),error:r=>e(r)})})}function Qn(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!F(t[e],n[e]))return!1;return!0}function F(t,n){let e=t?Ht(t):void 0,r=n?Ht(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!rn(t[i],n[i]))return!1;return!0}function Ht(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function rn(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Kn(t){return t.length>0?t[t.length-1]:null}function ce(t){return _t(t)?t:Or(t)?b(Promise.resolve(t)):g(t)}function nn(t){return _t(t)?ct(t):Promise.resolve(t)}var Yn={exact:an,subset:sn},on={exact:Zn,subset:Jn,ignored:()=>!0},nr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Pe={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function ir(t,n,e){let r=t instanceof A?t:n.parseUrl(t);return Xe(()=>Bt(n.lastSuccessfulNavigation()?.finalUrl??new A,r,l(l({},Pe),e)))}function Bt(t,n,e){return Yn[e.paths](t.root,n.root,e.matrixParams)&&on[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function Zn(t,n){return F(t,n)}function an(t,n,e){if(!ie(t.segments,n.segments)||!ot(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!an(t.children[r],n.children[r],e))return!1;return!0}function Jn(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>rn(t[e],n[e]))}function sn(t,n,e){return cn(t,n,n.segments,e)}function cn(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ie(i,e)||n.hasChildren()||!ot(i,e,r))}else if(t.segments.length===e.length){if(!ie(t.segments,e)||!ot(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!sn(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!ie(t.segments,i)||!ot(t.segments,i,r)||!t.children[f]?!1:cn(t.children[f],n,o,r)}}function ot(t,n,e){return n.every((r,i)=>on[e](t[i].parameters,r.parameters))}var A=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=oe(this.queryParams),this._queryParamMap}toString(){return ti.serialize(this)}},v=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return at(this)}},Y=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=oe(this.parameters),this._parameterMap}toString(){return ln(this)}};function Xn(t,n){return ie(t,n)&&t.every((e,r)=>F(e.parameters,n[r].parameters))}function ie(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function ei(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var ye=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>new Z,providedIn:"root"})}return t})(),Z=class{parse(n){let e=new Gt(n);return new A(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Ne(n.root,!0)}`,r=ii(n.queryParams),i=typeof n.fragment=="string"?`#${ri(n.fragment)}`:"";return`${e}${r}${i}`}},ti=new Z;function at(t){return t.segments.map(n=>ln(n)).join("/")}function Ne(t,n){if(!t.hasChildren())return at(t);if(n){let e=t.children[f]?Ne(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Ne(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=ei(t,(r,i)=>i===f?[Ne(t.children[f],!1)]:[`${i}:${Ne(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${at(t)}/${e[0]}`:`${at(t)}/(${e.join("//")})`}}function un(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nt(t){return un(t).replace(/%3B/gi,";")}function ri(t){return encodeURI(t)}function Vt(t){return un(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function st(t){return decodeURIComponent(t)}function Kr(t){return st(t.replace(/\+/g,"%20"))}function ln(t){return`${Vt(t.path)}${ni(t.parameters)}`}function ni(t){return Object.entries(t).map(([n,e])=>`;${Vt(n)}=${Vt(e)}`).join("")}function ii(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${nt(e)}=${nt(i)}`).join("&"):`${nt(e)}=${nt(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var oi=/^[^\/()?;#]+/;function $t(t){let n=t.match(oi);return n?n[0]:""}var ai=/^[^\/()?;=#]+/;function si(t){let n=t.match(ai);return n?n[0]:""}var ci=/^[^=?&#]+/;function ui(t){let n=t.match(ci);return n?n[0]:""}var li=/^[^&#]+/;function di(t){let n=t.match(li);return n?n[0]:""}var Gt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){for(;this.consumeOptional("/"););return this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(n=0){if(n>50)throw new w(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(e.length>0||Object.keys(r).length>0)&&(i[f]=new v(e,r)),i}parseSegment(){let n=$t(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new w(4009,!1);return this.capture(n),new Y(st(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=si(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=$t(this.remaining);i&&(r=i,this.capture(r))}n[st(e)]=st(r)}parseQueryParam(n){let e=ui(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=di(this.remaining);s&&(r=s,this.capture(r))}let i=Kr(e),o=Kr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n,e){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=$t(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new w(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=f);let a=this.parseChildren(e+1);r[s??f]=Object.keys(a).length===1&&a[f]?a[f]:new v([],a),this.consumeOptional("//")}return r}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new w(4011,!1)}};function dn(t){return t.segments.length>0?new v([],{[f]:t}):t}function hn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=hn(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new v(t.segments,n);return hi(e)}function hi(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new v(t.segments.concat(n.segments),n.children)}return t}function J(t){return t instanceof A}function fn(t,n,e=null,r=null,i=new Z){let o=pn(t);return gn(o,n,e,r,i)}function pn(t){let n;function e(o){let s={};for(let c of o.children){let u=e(c);s[c.outlet]=u}let a=new v(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=dn(r);return n??i}function gn(t,n,e,r,i){let o=t;for(;o.parent;)o=o.parent;if(n.length===0)return zt(o,o,o,e,r,i);let s=fi(n);if(s.toRoot())return zt(o,o,new v([],{}),e,r,i);let a=pi(s,o,t),c=a.processChildren?_e(a.segmentGroup,a.index,s.commands):mn(a.segmentGroup,a.index,s.commands);return zt(o,a.segmentGroup,c,e,r,i)}function ut(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Le(t){return typeof t=="object"&&t!=null&&t.outlets}function Yr(t,n,e){t||="\u0275";let r=new A;return r.queryParams={[t]:n},e.parse(e.serialize(r)).queryParams[t]}function zt(t,n,e,r,i,o){let s={};for(let[u,d]of Object.entries(r??{}))s[u]=Array.isArray(d)?d.map(p=>Yr(u,p,o)):Yr(u,d,o);let a;t===n?a=e:a=vn(t,n,e);let c=dn(hn(a));return new A(c,s,i)}function vn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=vn(o,n,e)}),new v(t.segments,r)}var lt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&ut(r[0]))throw new w(4003,!1);let i=r.find(Le);if(i&&i!==Kn(r))throw new w(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function fi(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new lt(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,u])=>{a[c]=typeof u=="string"?u.split("/"):u}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new lt(e,n,r)}var de=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function pi(t,n,e){if(t.isAbsolute)return new de(n,!0,0);if(!e)return new de(n,!1,NaN);if(e.parent===null)return new de(e,!0,0);let r=ut(t.commands[0])?0:1,i=e.segments.length-1+r;return gi(e,i,t.numberOfDoubleDots)}function gi(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new w(4005,!1);i=r.segments.length}return new de(r,!1,i-o)}function vi(t){return Le(t[0])?t[0].outlets:{[f]:t}}function mn(t,n,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return _e(t,n,e);let r=mi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new v(t.segments.slice(r.pathIndex),t.children),_e(o,0,i)}else return r.match&&i.length===0?new v(t.segments,{}):r.match&&!t.hasChildren()?Wt(t,n,e):r.match?_e(t,0,i):Wt(t,n,e)}function _e(t,n,e){if(e.length===0)return new v(t.segments,{});{let r=vi(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=_e(t.children[f],n,e);return new v(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=mn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function mi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(Le(a))break;let c=`${a}`,u=r<e.length-1?e[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!Jr(c,u,s))return o;r+=2}else{if(!Jr(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Wt(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(Le(o)){let c=yi(o.outlets);return new v(r,c)}if(i===0&&ut(e[0])){let c=t.segments[n];r.push(new Y(c.path,Zr(e[0]))),i++;continue}let s=Le(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&ut(a)?(r.push(new Y(s,Zr(a))),i+=2):(r.push(new Y(s,{})),i++)}return new v(r,{})}function yi(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Wt(new v([],{}),0,r))}),n}function Zr(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function Jr(t,n,e){return t==e.path&&F(n,e.parameters)}var Ue="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||{}),D=class{id;url;constructor(n,e){this.id=n,this.url=e}},ae=class extends D{type=S.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},L=class extends D{urlAfterRedirects;type=S.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},I=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(I||{}),xe=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(xe||{}),P=class extends D{reason;code;type=S.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function yn(t){return t instanceof P&&(t.code===I.Redirect||t.code===I.SupersededByNewNavigation)}var V=class extends D{reason;code;type=S.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},se=class extends D{error;target;type=S.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},je=class extends D{urlAfterRedirects;state;type=S.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},dt=class extends D{urlAfterRedirects;state;type=S.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ht=class extends D{urlAfterRedirects;state;shouldActivate;type=S.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},ft=class extends D{urlAfterRedirects;state;type=S.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},pt=class extends D{urlAfterRedirects;state;type=S.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},gt=class{route;type=S.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},vt=class{route;type=S.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},mt=class{snapshot;type=S.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},yt=class{snapshot;type=S.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Rt=class{snapshot;type=S.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ct=class{snapshot;type=S.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var fe=class{},ke=class{},pe=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function Ri(t){return!(t instanceof fe)&&!(t instanceof pe)&&!(t instanceof ke)}var St=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new Re(this.rootInjector)}},Re=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new St(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(K(H))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),wt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=Qt(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=Qt(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=Kt(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Kt(n,this._root).map(e=>e.value)}};function Qt(t,n){if(t===n.value)return n;for(let e of n.children){let r=Qt(t,e);if(r)return r}return null}function Kt(t,n){if(t===n.value)return[n];for(let e of n.children){let r=Kt(t,e);if(r.length)return r.unshift(n),r}return[]}var N=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function le(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var $e=class extends wt{snapshot;constructor(n,e){super(n),this.snapshot=e,ar(this,n)}toString(){return this.snapshot.toString()}};function Rn(t,n){let e=Ci(t,n),r=new _([new Y("",{})]),i=new _({}),o=new _({}),s=new _({}),a=new _(""),c=new G(r,i,s,a,o,f,t,e.root);return c.snapshot=e.root,new $e(new N(c,[]),e)}function Ci(t,n){let e={},r={},i={},s=new ge([],e,i,"",r,f,t,null,{},n);return new ze("",new N(s,[]))}var G=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(E(u=>u[He]))??g(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(E(n=>oe(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(E(n=>oe(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function or(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:l(l({},n.params),t.params),data:l(l({},n.data),t.data),resolve:l(l(l(l({},t.data),n.data),i?.data),t._resolvedData)}:r={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&Sn(i)&&(r.resolve[He]=i.title),r}var ge=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[He]}constructor(n,e,r,i,o,s,a,c,u,d){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=oe(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=oe(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},ze=class extends wt{url;constructor(n,e){super(e),this.url=n,ar(this,e)}toString(){return Cn(this._root)}};function ar(t,n){n.value._routerState=t,n.children.forEach(e=>ar(t,e))}function Cn(t){let n=t.children.length>0?` { ${t.children.map(Cn).join(", ")} } `:"";return`${t.value}${n}`}function Ft(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,F(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),F(n.params,e.params)||t.paramsSubject.next(e.params),Qn(n.url,e.url)||t.urlSubject.next(e.url),F(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Yt(t,n){let e=F(t.params,n.params)&&Xn(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||Yt(t.parent,n.parent))}function Sn(t){return typeof t.title=="string"||t.title===null}var wn=new T(""),sr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new ne;deactivateEvents=new ne;attachEvents=new ne;detachEvents=new ne;routerOutletData=Vr();parentContexts=h(Re);location=h(Nr);changeDetector=h(et);inputBinder=h(Be,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new w(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new w(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new w(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new w(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new Zt(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=Te({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Me]})}return t})(),Zt=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===G?this.route:n===Re?this.childContexts:n===wn?this.outletData:this.parent.get(n,e)}},Be=new T(""),cr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Ut([r.queryParams,r.params,r.data]).pipe(x(([o,s,a],c)=>(a=l(l(l({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=Gr(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac})}return t})(),ur=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=_r({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&jr(0,"router-outlet")},dependencies:[sr],encapsulation:2})}return t})();function lr(t){let n=t.children&&t.children.map(lr),e=n?M(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=ur),e}function Si(t,n,e){let r=Fe(t,n._root,e?e._root:void 0);return new $e(r,n)}function Fe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=wi(t,n,e);return new N(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Fe(t,a)),s}}let r=bi(n.value),i=n.children.map(o=>Fe(t,o));return new N(r,i)}}function wi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Fe(t,r,i);return Fe(t,r)})}function bi(t){return new G(new _(t.url),new _(t.params),new _(t.queryParams),new _(t.fragment),new _(t.data),t.outlet,t.component,t)}var ve=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},bn="ngNavigationCancelingError";function bt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=J(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=In(!1,I.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function In(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[bn]=!0,e.cancellationCode=n,e}function Ii(t){return En(t)&&J(t.url)}function En(t){return!!t&&t[bn]}var Jt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),Ft(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=le(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=le(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=le(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=le(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new Ct(o.value.snapshot))}),n.children.length&&this.forwardEvent(new yt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Ft(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Ft(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},It=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},he=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Ei(t,n,e){let r=t._root,i=n?n._root:null;return De(r,i,e,[r.value])}function Ai(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function Ce(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!br(t)?t:n.get(t):r}function De(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=le(n);return t.children.forEach(s=>{Mi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Oe(a,e.getContext(s),i)),i}function Mi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Ti(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new It(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?De(t,n,a?a.children:null,r,i):De(t,n,e,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new he(a.outlet.component,s))}else s&&Oe(n,a,i),i.canActivateChecks.push(new It(r)),o.component?De(t,null,a?a.children:null,r,i):De(t,null,e,r,i);return i}function Ti(t,n,e){if(typeof e=="function")return O(n._environmentInjector,()=>e(t,n));switch(e){case"pathParamsChange":return!ie(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ie(t.url,n.url)||!F(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Yt(t,n)||!F(t.queryParams,n.queryParams);default:return!Yt(t,n)}}function Oe(t,n,e){let r=le(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Oe(s,n.children.getContext(o),e):Oe(s,null,e):Oe(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new he(n.outlet.component,i)):e.canDeactivateChecks.push(new he(null,i)):e.canDeactivateChecks.push(new he(null,i))}function Ve(t){return typeof t=="function"}function Ni(t){return typeof t=="boolean"}function Di(t){return t&&Ve(t.canLoad)}function _i(t){return t&&Ve(t.canActivate)}function Ui(t){return t&&Ve(t.canActivateChild)}function Oi(t){return t&&Ve(t.canDeactivate)}function Pi(t){return t&&Ve(t.canMatch)}function An(t){return t instanceof yr||t?.name==="EmptyError"}var it=Symbol("INITIAL_VALUE");function me(){return x(t=>Ut(t.map(n=>n.pipe(ue(1),Sr(it)))).pipe(E(n=>{for(let e of n)if(e!==!0){if(e===it)return it;if(e===!1||Li(e))return e}return!0}),W(n=>n!==it),ue(1)))}function Li(t){return J(t)||t instanceof ve}function Mn(t){return t.aborted?g(void 0).pipe(ue(1)):new vr(n=>{let e=()=>{n.next(),n.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function Tn(t){return Ye(Mn(t))}function xi(t){return $(n=>{let{targetSnapshot:e,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(M(l({},n),{guardsResult:!0})):ji(o,e,r).pipe($(s=>s&&Ni(s)?ki(e,i,t):g(s)),E(s=>M(l({},n),{guardsResult:s})))})}function ji(t,n,e){return b(t).pipe($(r=>Hi(r.component,r.route,e,n)),Q(r=>r!==!0,!0))}function ki(t,n,e){return b(n).pipe(Ae(r=>Rr(zi(r.route.parent,e),$i(r.route,e),qi(t,r.path),Fi(t,r.route))),Q(r=>r!==!0,!0))}function $i(t,n){return t!==null&&n&&n(new Rt(t)),g(!0)}function zi(t,n){return t!==null&&n&&n(new mt(t)),g(!0)}function Fi(t,n){let e=n.routeConfig?n.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let r=e.map(i=>Ke(()=>{let o=n._environmentInjector,s=Ce(i,o),a=_i(s)?s.canActivate(n,t):O(o,()=>s(n,t));return ce(a).pipe(Q())}));return g(r).pipe(me())}function qi(t,n){let e=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>Ai(o)).filter(o=>o!==null).map(o=>Ke(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=Ce(a,c),d=Ui(u)?u.canActivateChild(e,t):O(c,()=>u(e,t));return ce(d).pipe(Q())});return g(s).pipe(me())}));return g(i).pipe(me())}function Hi(t,n,e,r){let i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!i||i.length===0)return g(!0);let o=i.map(s=>{let a=n._environmentInjector,c=Ce(s,a),u=Oi(c)?c.canDeactivate(t,n,e,r):O(a,()=>c(t,n,e,r));return ce(u).pipe(Q())});return g(o).pipe(me())}function Bi(t,n,e,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=Ce(a,t),u=Di(c)?c.canLoad(n,e):O(t,()=>c(n,e)),d=ce(u);return i?d.pipe(Tn(i)):d});return g(s).pipe(me(),Nn(r))}function Nn(t){return gr(j(n=>{if(typeof n!="boolean")throw bt(t,n)}),E(n=>n===!0))}function Vi(t,n,e,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=Ce(c,t),d=Pi(u)?u.canMatch(n,e,i):O(t,()=>u(n,e,i));return ce(d).pipe(Tn(o))});return g(a).pipe(me(),Nn(r))}var B=class t extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,t.prototype)}},qe=class t extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,t.prototype)}};function Gi(t){throw new w(4e3,!1)}function Wi(t){throw In(!1,I.GuardRejected)}var Xt=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}async lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[f])throw Gi(`${n.redirectTo}`);i=i.children[f]}}async applyRedirectCommands(n,e,r,i,o){let s=await Qi(e,i,o);if(s instanceof A)throw new qe(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new qe(a);return a}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new A(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new w(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function Qi(t,n,e){if(typeof t=="string")return Promise.resolve(t);let r=t;return ct(ce(O(e,()=>r(n))))}function Ki(t,n){return t.providers&&!t._injector&&(t._injector=Je(t.providers,n,`Route: ${t.path}`)),t._injector??n}function k(t){return t.outlet||f}function Yi(t,n){let e=t.filter(r=>k(r)===n);return e.push(...t.filter(r=>k(r)!==n)),e}var er={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Dn(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function Zi(t,n,e,r,i,o,s){let a=_n(t,n,e);if(!a.matched)return g(a);let c=Dn(o(a));return r=Ki(n,r),Vi(r,n,e,i,c,s).pipe(E(u=>u===!0?a:l({},er)))}function _n(t,n,e){if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},er):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||tn)(e,t,n);if(!i)return l({},er);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?l(l({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Xr(t,n,e,r,i){return e.length>0&&eo(t,e,r,i)?{segmentGroup:new v(n,Xi(r,new v(e,t.children))),slicedSegments:[]}:e.length===0&&to(t,e,r)?{segmentGroup:new v(t.segments,Ji(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function Ji(t,n,e,r){let i={};for(let o of e)if(At(t,n,o)&&!r[k(o)]){let s=new v([],{});i[k(o)]=s}return l(l({},r),i)}function Xi(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&k(r)!==f){let i=new v([],{});e[k(r)]=i}return e}function eo(t,n,e,r){return e.some(i=>!At(t,n,i)||!(k(i)!==f)?!1:!(r!==void 0&&k(i)===r))}function to(t,n,e){return e.some(r=>At(t,n,r))}function At(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function ro(t,n,e){return n.length===0&&!t.children[e]}var tr=class{};async function no(t,n,e,r,i,o,s="emptyOnly",a){return new rr(t,n,e,r,i,s,o,a).recognize()}var io=31,rr=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a,c){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new Xt(this.urlSerializer,this.urlTree)}noMatchError(n){return new w(4002,`'${n.segmentGroup}'`)}async recognize(){let n=Xr(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:r}=await this.match(n),i=new N(r,e),o=new ze("",i),s=fn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(n){let e=new ge([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,n,f,e),rootSnapshot:e}}catch(r){if(r instanceof qe)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof B?this.noMatchError(r):r}}async processSegmentGroup(n,e,r,i,o){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,e,r,o);let s=await this.processSegment(n,e,r,r.segments,i,!0,o);return s instanceof N?[s]:[]}async processChildren(n,e,r,i){let o=[];for(let c of Object.keys(r.children))c==="primary"?o.unshift(c):o.push(c);let s=[];for(let c of o){let u=r.children[c],d=Yi(e,c),p=await this.processSegmentGroup(n,d,u,c,i);s.push(...p)}let a=Un(s);return oo(a),a}async processSegment(n,e,r,i,o,s,a){for(let c of e)try{return await this.processSegmentAgainstRoute(c._injector??n,e,c,r,i,o,s,a)}catch(u){if(u instanceof B||An(u))continue;throw u}if(ro(r,i,o))return new tr;throw new B(r)}async processSegmentAgainstRoute(n,e,r,i,o,s,a,c){if(k(r)!==s&&(s===f||!At(i,o,r)))throw new B(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,c);throw new B(i)}async expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:c,parameters:u,consumedSegments:d,positionalParamSegments:p,remainingSegments:m}=_n(e,i,o);if(!c)throw new B(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>io&&(this.allowRedirects=!1));let ee=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let q=await this.applyRedirects.applyRedirectCommands(d,i.redirectTo,p,Dn(ee),n),te=await this.applyRedirects.lineralizeSegments(i,q);return this.processSegment(n,r,e,te.concat(m),s,!1,a)}createSnapshot(n,e,r,i,o){let s=new ge(r,i,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,so(e),k(e),e.component??e._loadedComponent??null,e,co(e),n),a=or(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(n,e,r,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=Qe=>this.createSnapshot(n,r,Qe.consumedSegments,Qe.parameters,s),c=await ct(Zi(e,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(e.children={}),!c?.matched)throw new B(e);n=r._injector??n;let{routes:u}=await this.getChildConfig(n,r,i),d=r._loadedInjector??n,{parameters:p,consumedSegments:m,remainingSegments:ee}=c,q=this.createSnapshot(n,r,m,p,s),{segmentGroup:te,slicedSegments:we}=Xr(e,m,ee,u,o);if(we.length===0&&te.hasChildren()){let Qe=await this.processChildren(d,u,te,q);return new N(q,Qe)}if(u.length===0&&we.length===0)return new N(q,[]);let Dt=k(r)===o,be=await this.processSegment(d,u,te,we,Dt?f:o,!0,q);return new N(q,be instanceof N?[be]:[])}async getChildConfig(n,e,r){if(e.children)return{routes:e.children,injector:n};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(n).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await ct(Bi(n,e,r,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(n,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw Wi(e)}return{routes:[],injector:n}}};function oo(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function ao(t){let n=t.value.routeConfig;return n&&n.path===""}function Un(t){let n=[],e=new Set;for(let r of t){if(!ao(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Un(r.children);n.push(new N(r.value,i))}return n.filter(r=>!e.has(r))}function so(t){return t.data||{}}function co(t){return t.resolve||{}}function uo(t,n,e,r,i,o,s){return $(async a=>{let{state:c,tree:u}=await no(t,n,e,r,a.extractedUrl,i,o,s);return M(l({},a),{targetSnapshot:c,urlAfterRedirects:u})})}function lo(t){return $(n=>{let{targetSnapshot:e,guards:{canActivateChecks:r}}=n;if(!r.length)return g(n);let i=new Set(r.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let c of On(a))o.add(c);let s=0;return b(o).pipe(Ae(a=>i.has(a)?ho(a,e,t):(a.data=or(a,a.parent,t).resolve,g(void 0))),j(()=>s++),Ot(1),$(a=>s===o.size?g(n):U))})}function On(t){let n=t.children.map(e=>On(e)).flat();return[t,...n]}function ho(t,n,e){let r=t.routeConfig,i=t._resolve;return r?.title!==void 0&&!Sn(r)&&(i[He]=r.title),Ke(()=>(t.data=or(t,t.parent,e).resolve,fo(i,t,n).pipe(E(o=>(t._resolvedData=o,t.data=l(l({},t.data),o),null)))))}function fo(t,n,e){let r=Ht(t);if(r.length===0)return g({});let i={};return b(r).pipe($(o=>po(t[o],n,e).pipe(Q(),j(s=>{if(s instanceof ve)throw bt(new Z,s);i[o]=s}))),Ot(1),E(()=>i),Ee(o=>An(o)?U:mr(o)))}function po(t,n,e){let r=n._environmentInjector,i=Ce(t,r),o=i.resolve?i.resolve(n,e):O(r,()=>i(n,e));return ce(o)}function en(t){return x(n=>{let e=t(n);return e?b(e).pipe(E(()=>n)):g(n)})}var dr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[He]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>h(Pn),providedIn:"root"})}return t})(),Pn=(()=>{class t extends dr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(K(Qr))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Se=new T("",{factory:()=>({})}),Ge=new T(""),hr=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=h(qr);async loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return Promise.resolve(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await nn(O(e,()=>r.loadComponent())),s=await jn(xn(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}})();return this.componentLoaders.set(r,i),i}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Promise.resolve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await Ln(r,this.compiler,e,this.onLoadEndListener);return r._loadedRoutes=o.routes,r._loadedInjector=o.injector,r._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(r)}})();return this.childrenLoaders.set(r,i),i}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();async function Ln(t,n,e,r){let i=await nn(O(e,()=>t.loadChildren())),o=await jn(xn(i)),s;o instanceof Dr||Array.isArray(o)?s=o:s=await n.compileModuleAsync(o),r&&r(t);let a,c,u=!1,d;return Array.isArray(s)?(c=s,u=!0):(a=s.create(e).injector,d=s,c=a.get(Ge,[],{optional:!0,self:!0}).flat()),{routes:c.map(lr),injector:a,factory:d}}function go(t){return t&&typeof t=="object"&&"default"in t}function xn(t){return go(t)?t.default:t}async function jn(t){return t}var Mt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>h(vo),providedIn:"root"})}return t})(),vo=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),kn=new T("");var mo=()=>{},$n=new T(""),zn=(()=>{class t{currentNavigation=C(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=C(null);events=new re;transitionAbortWithErrorSubject=new re;configLoader=h(hr);environmentInjector=h(H);destroyRef=h(Pt);urlSerializer=h(ye);rootContexts=h(Re);location=h(rt);inputBindingEnabled=h(Be,{optional:!0})!==null;titleStrategy=h(dr);options=h(Se,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=h(Mt);createViewTransition=h(kn,{optional:!0});navigationErrorHandler=h($n,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new gt(i)),r=i=>this.events.next(new vt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;y(()=>{this.transitions?.next(M(l({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new _(null),this.transitions.pipe(W(r=>r!==null),x(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(x(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),U;this.currentTransition=r;let c=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:c?M(l({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),d=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!u&&d!=="reload")return this.events.next(new V(a.id,this.urlSerializer.serialize(a.rawUrl),"",xe.IgnoredSameUrlNavigation)),a.resolve(!1),U;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(x(p=>(this.events.next(new ae(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?U:Promise.resolve(p))),uo(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),j(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(m=>(m.finalUrl=p.urlAfterRedirects,m)),this.events.next(new ke)}),x(p=>b(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(E(()=>p))),j(()=>{let p=new je(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)}));if(u&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:p,extractedUrl:m,source:ee,restoredState:q,extras:te}=a,we=new ae(p,this.urlSerializer.serialize(m),ee,q);this.events.next(we);let Dt=Rn(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=M(l({},a),{targetSnapshot:Dt,urlAfterRedirects:m,extras:M(l({},te),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(be=>(be.finalUrl=m,be)),g(r)}else return this.events.next(new V(a.id,this.urlSerializer.serialize(a.extractedUrl),"",xe.IgnoredByUrlHandlingStrategy)),a.resolve(!1),U}),E(a=>{let c=new dt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=M(l({},a),{guards:Ei(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),xi(a=>this.events.next(a)),x(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw bt(this.urlSerializer,a.guardsResult);let c=new ht(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return U;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",I.GuardRejected),U;if(a.guards.canActivateChecks.length===0)return g(a);let u=new ft(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return U;let d=!1;return g(a).pipe(lo(this.paramsInheritanceStrategy),j({next:()=>{d=!0;let p=new pt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{d||this.cancelNavigationTransition(a,"",I.NoDataFromResolver)}}))}),en(a=>{let c=d=>{let p=[];if(d.routeConfig?._loadedComponent)d.component=d.routeConfig?._loadedComponent;else if(d.routeConfig?.loadComponent){let m=d._environmentInjector;p.push(this.configLoader.loadComponent(m,d.routeConfig).then(ee=>{d.component=ee}))}for(let m of d.children)p.push(...c(m));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):b(Promise.all(u).then(()=>a))}),en(()=>this.afterPreactivation()),x(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?b(u).pipe(E(()=>r)):g(r)}),ue(1),x(a=>{let c=Si(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=M(l({},a),{targetRouterState:c}),this.currentNavigation.update(d=>(d.targetRouterState=c,d)),this.events.next(new fe);let u=r.beforeActivateHandler.deferredHandle;return u?b(u.then(()=>a)):g(a)}),j(a=>{new Jt(e.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=mo,c)),this.lastSuccessfulNavigation.set(y(this.currentNavigation)),this.events.next(new L(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),Ye(Mn(o.signal).pipe(W(()=>!i&&!r.targetRouterState),j(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",I.Aborted)}))),j({complete:()=>{i=!0}}),Ye(this.transitionAbortWithErrorSubject.pipe(j(a=>{throw a}))),Cr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",I.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Ee(a=>{if(i=!0,this.destroyed)return r.resolve(!1),U;if(En(a))this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),Ii(a)?this.events.next(new pe(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new se(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=O(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof ve){let{message:d,cancellationCode:p}=bt(this.urlSerializer,u);this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),d,p)),this.events.next(new pe(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return U}))}))}cancelNavigationTransition(e,r,i){let o=new P(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=y(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function yo(t){return t!==Ue}var Fn=new T("");var qn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>h(Ro),providedIn:"root"})}return t})(),Et=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}shouldDestroyInjector(n){return!0}},Ro=(()=>{class t extends Et{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Lt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Tt=(()=>{class t{urlSerializer=h(ye);options=h(Se,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=h(rt);urlHandlingStrategy=h(Mt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new A;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof A?this.urlSerializer.serialize(s):s}routerUrlState(e){return e?.targetBrowserUrl===void 0||e?.finalUrl===void 0?{}:{\u0275routerUrl:this.urlSerializer.serialize(e.finalUrl)}}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=Rn(null,h(H));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>h(Co),providedIn:"root"})}return t})(),Co=(()=>{class t extends Tt{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,r){e instanceof ae?this.updateStateMemento():e instanceof V?this.commitTransition(r):e instanceof je?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof fe?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof P&&!yn(e)?this.restoreHistory(r):e instanceof se?this.restoreHistory(r,!0):e instanceof L&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,r){let{extras:i,id:o}=r,{replaceUrl:s,state:a}=i;if(this.location.isCurrentPathEqualTo(e)||s){let c=this.browserPageId,u=l(l({},a),this.generateNgRouterState(o,c,r));this.location.replaceState(e,"",u)}else{let c=l(l({},a),this.generateNgRouterState(o,this.browserPageId+1,r));this.location.go(e,"",c)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r,i){return this.canceledNavigationResolution==="computed"?l({navigationId:e,\u0275routerPageId:r},this.routerUrlState(i)):l({navigationId:e},this.routerUrlState(i))}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Lt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function fr(t,n){t.events.pipe(W(e=>e instanceof L||e instanceof P||e instanceof se||e instanceof V),E(e=>e instanceof L||e instanceof V?0:(e instanceof P?e.code===I.Redirect||e.code===I.SupersededByNewNavigation:!1)?2:1),W(e=>e!==2),ue(1)).subscribe(()=>{n()})}var X=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=h(Ur);stateManager=h(Tt);options=h(Se,{optional:!0})||{};pendingTasks=h(Ar);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=h(zn);urlSerializer=h(ye);location=h(rt);urlHandlingStrategy=h(Mt);injector=h(H);_events=new re;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=h(qn);injectorCleanup=h(Fn,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=h(Ge,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!h(Be,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new pr;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=y(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof P&&r.code!==I.Redirect&&r.code!==I.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof L)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof pe){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),c=l({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||yo(i.source)},s);this.scheduleNavigation(a,Ue,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Ri(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ue,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i,o)=>{this.navigateToSyncWithBrowser(e,i,r,o)})}navigateToSyncWithBrowser(e,r,i,o){let s=i?.navigationId?i:null,a=i?.\u0275routerUrl??e;if(i?.\u0275routerUrl&&(o=M(l({},o),{browserUrl:e})),i){let u=l({},i);delete u.navigationId,delete u.\u0275routerPageId,delete u.\u0275routerUrl,Object.keys(u).length!==0&&(o.state=u)}let c=this.parseUrl(a);this.scheduleNavigation(c,r,s,o).catch(u=>{this.disposed||this.injector.get(Ze)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return y(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(lr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,d=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":d=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}d!==null&&(d=this.removeEmptyProps(d));let p;try{let m=i?i.snapshot:this.routerState.snapshot.root;p=pn(m)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),p=this.currentUrlTree.root}return gn(p,e,d,u??null,this.urlSerializer)}navigateByUrl(e,r={skipLocationChange:!1}){let i=J(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Ue,null,r)}navigate(e,r={skipLocationChange:!1}){return So(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(wr(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=l({},nr):r===!1?i=l({},Pe):i=l(l({},Pe),r),J(e))return Bt(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Bt(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,u;s?(a=s.resolve,c=s.reject,u=s.promise):u=new Promise((p,m)=>{a=p,c=m});let d=this.pendingTasks.add();return fr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(Promise.reject.bind(Promise))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function So(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new w(4008,!1)}var bo=(()=>{class t{router=h(X);stateManager=h(Tt);fragment=C("");queryParams=C({});path=C("");serializer=h(ye);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof L&&this.updateState()})}updateState(){let{fragment:e,root:r,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new A(r)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Nt=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=h(new Br("href"),{optional:!0});reactiveHref=Hr(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return y(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return y(this._target)}_target=C(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return y(this._queryParams)}_queryParams=C(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return y(this._fragment)}_fragment=C(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return y(this._queryParamsHandling)}_queryParamsHandling=C(void 0);set state(e){this._state.set(e)}get state(){return y(this._state)}_state=C(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return y(this._info)}_info=C(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return y(this._relativeTo)}_relativeTo=C(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return y(this._preserveFragment)}_preserveFragment=C(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return y(this._skipLocationChange)}_skipLocationChange=C(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return y(this._replaceUrl)}_replaceUrl=C(!1);isAnchorElement;onChanges=new re;applicationErrorHandler=h(Ze);options=h(Se,{optional:!0});reactiveRouterState=h(bo);constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=C(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(J(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(u=>{this.applicationErrorHandler(u)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}_urlTree=Xe(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let r=this.routerLinkInput();return r===null||!this.router.createUrlTree?null:J(r)?r:this.router.createUrlTree(r,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,r)=>this.computeHref(e)===this.computeHref(r)});get urlTree(){return y(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(r){return new(r||t)(z(X),z(G),Mr("tabindex"),z(jt),z(xt),z(Wr))};static \u0275dir=Te({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&kr("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&xr("href",i.reactiveHref(),Tr)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",tt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",tt],replaceUrl:[2,"replaceUrl","replaceUrl",tt],routerLink:"routerLink"},features:[Me]})}return t})(),Io=(()=>{class t{router;element;renderer;cdr;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new ne;link=h(Nt,{optional:!0});constructor(e,r,i,o){this.router=e,this.element=r,this.renderer=i,this.cdr=o,this.routerEventsSubscription=e.events.subscribe(s=>{s instanceof L&&this.update()})}ngAfterContentInit(){g(this.links.changes,g(null)).pipe(Ie()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=b(e).pipe(Ie()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(e){let r=Array.isArray(e)?e:e.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(r=>{e?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),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 r=Eo(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact??!1?l({},nr):l({},Pe);return i=>{let o=i.urlTree;return o?y(ir(o,e,r)):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(r){return new(r||t)(z(X),z(xt),z(jt),z(et))};static \u0275dir=Te({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&$r(o,Nt,5),r&2){let s;zr(s=Fr())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Me]})}return t})();function Eo(t){let n=t;return!!(n.paths||n.matrixParams||n.queryParams||n.fragment)}var We=class{},Ao=(()=>{class t{preload(e,r){return r().pipe(Ee(()=>g(null)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Hn=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,r,i,o){this.router=e,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(W(e=>e instanceof L),Ae(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription?.unsubscribe()}processRoutes(e,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=Je(o.providers,e,""));let s=o._injector??e;o._loadedNgModuleFactory&&!o._loadedInjector&&(o._loadedInjector=o._loadedNgModuleFactory.create(s).injector);let a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return b(i).pipe(Ie())}preloadConfig(e,r){return this.preloadingStrategy.preload(r,()=>{if(e.destroyed)return g(null);let i;r.loadChildren&&r.canLoad===void 0?i=b(this.loader.loadChildren(e,r)):i=g(null);let o=i.pipe($(s=>s===null?g(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,r._loadedNgModuleFactory=s.factory,this.processRoutes(s.injector??e,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(e,r);return b([o,s]).pipe(Ie())}else return o})}static \u0275fac=function(r){return new(r||t)(K(X),K(H),K(We),K(hr))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Mo=new T("");function To(t,...n){return Ir([{provide:Ge,multi:!0,useValue:t},[],{provide:G,useFactory:No},{provide:Pr,multi:!0,useFactory:Do},n.map(e=>e.\u0275providers)])}function No(){return h(X).routerState.root}function Bn(t,n){return{\u0275kind:t,\u0275providers:n}}function Do(){let t=h(Er);return n=>{let e=t.get(Lr);if(n!==e.components[0])return;let r=t.get(X),i=t.get(_o);t.get(Uo)===1&&r.initialNavigation(),t.get(Vn,null,{optional:!0})?.setUpPreloading(),t.get(Mo,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var _o=new T("",{factory:()=>new re}),Uo=new T("",{factory:()=>1});var Vn=new T("");function Oo(t){return Bn(0,[{provide:Vn,useExisting:Hn},{provide:We,useExisting:t}])}function Po(){return Bn(8,[cr,{provide:Be,useExisting:cr}])}export{L as a,G as b,sr as c,X as d,Nt as e,Io as f,Ao as g,To as h,Oo as i,Po as j};
@@ -1 +1 @@
1
- import{a as K}from"./chunk-VOHSRCTH.js";import"./chunk-6Q6SSTBK.js";import{a as z}from"./chunk-5TT43ERP.js";import"./chunk-Y3LMRA5G.js";import"./chunk-OMOPTBR2.js";import"./chunk-O6ZQRIZA.js";import"./chunk-MZAGGSG2.js";import{B as U,H as x,I as V,W as j,b as E,c as A,e as R,f as b,j as y,p as B,q as $,r as v,t as G,v as k,x as L,z as w}from"./chunk-E3UAEGAI.js";import{d as J}from"./chunk-4KFQXVKU.js";import{d as O,e as M}from"./chunk-G5IUH2UI.js";import"./chunk-AAUAZ76N.js";import"./chunk-7BK2K5ML.js";import"./chunk-GIITUFAQ.js";import"./chunk-MI3BETEH.js";import{Bc as N,Cb as p,Db as a,Eb as i,F as T,Fb as u,Sa as l,Tb as D,Ub as h,Vb as _,Yb as I,Zb as d,_ as s,gb as f,kc as P,pa as c,wb as C,xb as S}from"./chunk-NFXXT6A3.js";import"./chunk-7CGTOI24.js";var X=()=>["/"];function H(m,o){m&1&&(a(0,"sh-form-field")(1,"label",14),_(2,3),i(),u(3,"input",15),i())}var F=new v,g=class m{#t=s(L);#o=s(w);#i=s(J);#n=s(K);#e=s(O);isImporting=c(!1);isSecureFile=c(!1);isValid=c(!1);importForm=F.group({config:F.control(""),cmdline:F.control(!1),import_metadata:F.control(!1),direct:F.control(!1),passphrase:F.control("")});selectedFile=c([]);onFileDropped(o){let e=o[0];if(e){let t=new FileReader;this.isSecureFile.set(e.type!=="application/json"),t.onload=this.#r.bind(this),t.readAsArrayBuffer(e)}}#r(o){let e=o.target?.result;this.isSecureFile.set(this.#a(e)!=="json"),this.importForm.patchValue({config:this.#s(e)}),this.isValid.set(this.importForm.value.config!=="")}#a(o){let e=new Uint8Array(o);if(e.length>=5&&e[0]===65&&e[1]===69&&e[2]===83&&e[4]===0)return"aes";try{let t=new TextDecoder().decode(o),n=JSON.parse(t);if(typeof n=="object"&&n!==null)return"json"}catch{}return"unknown"}#s(o){let e=new Uint8Array(o),t=e.byteLength,n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return btoa(n)}submit(){this.isImporting.set(!0);let o=this.importForm.value.direct??!1;this.#i.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(()=>this.isImporting.set(!1))).subscribe({next:e=>{if(o){this.#t.success("Backup imported successfully."),this.#e.navigate(["/"]);return}let t=this.#n.addDraftBackup(e.data);this.#e.navigate(["/backup-draft",t])},error:e=>{let t=e.message||$localize`Unknown error`;this.#o.open(z,{data:{title:$localize`Failed to import backup`,message:t,confirmText:$localize`OK`,cancelText:void 0}})}})}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=f({type:m,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let o;o=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=I(o);let e;e=$localize`Import Metadata`;let t;t=$localize`Save now`;let n;return n=$localize`Passphrase`,[o,e,t,n,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","import_metadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(e,t){e&1&&(a(0,"header")(1,"h3"),D(2,0),a(3,"div",4)(4,"button",5),u(5,"sh-icon"),i(),a(6,"button",6),d("click",function(){return t.submit()}),u(7,"sh-icon"),i()(),h(),i()(),a(8,"form",7)(9,"sh-file-upload",8),d("filesChange",function(r){return t.onFileDropped(r)}),i(),C(10,H,4,0,"sh-form-field"),a(11,"sh-toggle",9)(12,"label",10),_(13,1),i(),u(14,"input",11),i(),a(15,"sh-toggle",9)(16,"label",12),_(17,2),i(),u(18,"input",13),i()()),e&2&&(l(4),p("routerLink",N(7,X)),l(2),P("loading",t.isImporting()),p("disabled",t.isImporting()||!t.isValid()),l(2),p("formGroup",t.importForm),l(),p("files",t.selectedFile()),l(),S(t.isSecureFile()?10:-1))},dependencies:[G,y,A,E,R,b,$,B,M,x,k,U,j,V],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}sh-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{g as default};
1
+ import{a as K}from"./chunk-WOKYULBU.js";import"./chunk-6Q6SSTBK.js";import{a as z}from"./chunk-IMQUTGIK.js";import"./chunk-ANSV4G2K.js";import"./chunk-AIAUP7OE.js";import"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import{B as U,H as x,I as V,W as j,b as E,c as A,e as y,f as R,j as b,p as B,q as $,r as v,t as G,v as k,x as L,z as w}from"./chunk-VKQQDCUN.js";import{d as J}from"./chunk-DSYNIXJF.js";import{d as O,e as M}from"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{Ac as N,Cb as p,Db as a,Eb as i,F as T,Fb as u,Sa as l,Tb as D,Ub as h,Vb as _,Yb as I,Zb as d,_ as s,gb as f,kc as P,pa as c,wb as C,xb as S}from"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";var X=()=>["/"];function H(m,o){m&1&&(a(0,"sh-form-field")(1,"label",14),_(2,3),i(),u(3,"input",15),i())}var F=new v,g=class m{#t=s(L);#o=s(w);#i=s(J);#n=s(K);#e=s(O);isImporting=c(!1);isSecureFile=c(!1);isValid=c(!1);importForm=F.group({config:F.control(""),cmdline:F.control(!1),import_metadata:F.control(!1),direct:F.control(!1),passphrase:F.control("")});selectedFile=c([]);onFileDropped(o){let e=o[0];if(e){let t=new FileReader;this.isSecureFile.set(e.type!=="application/json"),t.onload=this.#r.bind(this),t.readAsArrayBuffer(e)}}#r(o){let e=o.target?.result;this.isSecureFile.set(this.#a(e)!=="json"),this.importForm.patchValue({config:this.#s(e)}),this.isValid.set(this.importForm.value.config!=="")}#a(o){let e=new Uint8Array(o);if(e.length>=5&&e[0]===65&&e[1]===69&&e[2]===83&&e[4]===0)return"aes";try{let t=new TextDecoder().decode(o),n=JSON.parse(t);if(typeof n=="object"&&n!==null)return"json"}catch{}return"unknown"}#s(o){let e=new Uint8Array(o),t=e.byteLength,n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return btoa(n)}submit(){this.isImporting.set(!0);let o=this.importForm.value.direct??!1;this.#i.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(()=>this.isImporting.set(!1))).subscribe({next:e=>{if(o){this.#t.success("Backup imported successfully."),this.#e.navigate(["/"]);return}let t=this.#n.addDraftBackup(e.data);this.#e.navigate(["/backup-draft",t])},error:e=>{let t=e.message||$localize`Unknown error`;this.#o.open(z,{data:{title:$localize`Failed to import backup`,message:t,confirmText:$localize`OK`,cancelText:void 0}})}})}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=f({type:m,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let o;o=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=I(o);let e;e=$localize`Import Metadata`;let t;t=$localize`Save now`;let n;return n=$localize`Passphrase`,[o,e,t,n,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","import_metadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(e,t){e&1&&(a(0,"header")(1,"h3"),D(2,0),a(3,"div",4)(4,"button",5),u(5,"sh-icon"),i(),a(6,"button",6),d("click",function(){return t.submit()}),u(7,"sh-icon"),i()(),h(),i()(),a(8,"form",7)(9,"sh-file-upload",8),d("filesChange",function(r){return t.onFileDropped(r)}),i(),C(10,H,4,0,"sh-form-field"),a(11,"sh-toggle",9)(12,"label",10),_(13,1),i(),u(14,"input",11),i(),a(15,"sh-toggle",9)(16,"label",12),_(17,2),i(),u(18,"input",13),i()()),e&2&&(l(4),p("routerLink",N(7,X)),l(2),P("loading",t.isImporting()),p("disabled",t.isImporting()||!t.isValid()),l(2),p("formGroup",t.importForm),l(),p("files",t.selectedFile()),l(),S(t.isSecureFile()?10:-1))},dependencies:[G,b,A,E,y,R,$,B,M,x,k,U,j,V],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}sh-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{g as default};
@@ -1 +1 @@
1
- import{va as de}from"./chunk-GIITUFAQ.js";import{a as M,b as ie,c as ae,g as ce,h as le}from"./chunk-MI3BETEH.js";import{Aa as j,Da as A,Ea as y,Fa as E,Ga as K,Ha as X,Ia as W,Ja as q,Ka as Q,La as ee,Ma as te,Na as g,S as m,Ta as w,Ua as ne,V as u,Va as re,Y as S,Z as a,Za as oe,aa as Y,dd as se,ia as f,ma as P,na as k,wa as Z,xa as U,ya as J,za as C}from"./chunk-NFXXT6A3.js";import{a as H}from"./chunk-7CGTOI24.js";var _=class{_doc;constructor(n){this._doc=n}manager},b=(()=>{class r extends _{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,o,s){return e.addEventListener(t,o,s),()=>this.removeEventListener(e,t,o,s)}removeEventListener(e,t,o,s){return e.removeEventListener(t,o,s)}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),N=new S(""),V=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(i=>{i.manager=this});let o=e.filter(i=>!(i instanceof b));this._plugins=o.slice().reverse();let s=e.find(i=>i instanceof b);s&&this._plugins.push(s)}addEventListener(e,t,o,s){return this._findPluginFor(t).addEventListener(e,t,o,s)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(s=>s.supports(e)),!t)throw new m(5101,!1);return this._eventNameToPlugin.set(e,t),t}static \u0275fac=function(t){return new(t||r)(a(N),a(P))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),x="ng-app-id";function ue(r){for(let n of r)n.remove()}function fe(r,n){let e=n.createElement("style");return e.textContent=r,e}function Ee(r,n,e,t){let o=r.head?.querySelectorAll(`style[${x}="${n}"],link[${x}="${n}"]`);if(o)for(let s of o)s.removeAttribute(x),s instanceof HTMLLinkElement?t.set(s.href.slice(s.href.lastIndexOf("/")+1),{usage:0,elements:[s]}):s.textContent&&e.set(s.textContent,{usage:0,elements:[s]})}function F(r,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var z=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,o,s={}){this.doc=e,this.appId=t,this.nonce=o,Ee(e,t,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,t){for(let o of e)this.addUsage(o,this.inline,fe);t?.forEach(o=>this.addUsage(o,this.external,F))}removeStyles(e,t){for(let o of e)this.removeUsage(o,this.inline);t?.forEach(o=>this.removeUsage(o,this.external))}addUsage(e,t,o){let s=t.get(e);s?s.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,o(e,this.doc)))})}removeUsage(e,t){let o=t.get(e);o&&(o.usage--,o.usage<=0&&(ue(o.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])ue(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[t,{elements:o}]of this.inline)o.push(this.addElement(e,fe(t,this.doc)));for(let[t,{elements:o}]of this.external)o.push(this.addElement(e,F(t,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,t){return this.nonce&&t.setAttribute("nonce",this.nonce),e.appendChild(t)}static \u0275fac=function(t){return new(t||r)(a(f),a(U),a(j,8),a(C))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),B={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},G=/%COMP%/g;var me="%COMP%",Se=`_nghost-${me}`,we=`_ngcontent-${me}`,Me=!0,_e=new S("",{factory:()=>Me});function Te(r){return we.replace(G,r)}function De(r){return Se.replace(G,r)}function ge(r,n){return n.map(e=>e.replace(G,r))}var $=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(e,t,o,s,i,c,d=null,l=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=i,this.ngZone=c,this.nonce=d,this.tracingService=l,this.defaultRenderer=new T(e,i,c,this.tracingService)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let o=this.getOrCreateRenderer(e,t);return o instanceof O?o.applyToHost(e):o instanceof D&&o.applyStyles(),o}getOrCreateRenderer(e,t){let o=this.rendererByCompId,s=o.get(t.id);if(!s){let i=this.doc,c=this.ngZone,d=this.eventManager,l=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,h=this.tracingService;switch(t.encapsulation){case A.Emulated:s=new O(d,l,t,this.appId,p,i,c,h);break;case A.ShadowDom:return new I(d,e,t,i,c,this.nonce,h,l);case A.ExperimentalIsolatedShadowDom:return new I(d,e,t,i,c,this.nonce,h);default:s=new D(d,l,t,p,i,c,h);break}o.set(t.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(t){return new(t||r)(a(V),a(z),a(U),a(_e),a(f),a(P),a(j),a(re,8))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),T=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,t,o){this.eventManager=n,this.doc=e,this.ngZone=t,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(B[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(pe(n)?n.content:n).appendChild(e)}insertBefore(n,e,t){n&&(pe(n)?n.content:n).insertBefore(e,t)}removeChild(n,e){e.remove()}selectRootElement(n,e){let t=typeof n=="string"?this.doc.querySelector(n):n;if(!t)throw new m(-5104,!1);return e||(t.textContent=""),t}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,t,o){if(o){e=o+":"+e;let s=B[o];s?n.setAttributeNS(s,e,t):n.setAttribute(e,t)}else n.setAttribute(e,t)}removeAttribute(n,e,t){if(t){let o=B[t];o?n.removeAttributeNS(o,e):n.removeAttribute(`${t}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,t,o){o&(w.DashCase|w.Important)?n.style.setProperty(e,t,o&w.Important?"important":""):n.style[e]=t}removeStyle(n,e,t){t&w.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,t){n!=null&&(n[e]=t)}setValue(n,e){n.nodeValue=e}listen(n,e,t,o){if(typeof n=="string"&&(n=M().getGlobalEventTarget(this.doc,n),!n))throw new m(5102,!1);let s=this.decoratePreventDefault(t);return this.tracingService?.wrapEventListener&&(s=this.tracingService.wrapEventListener(n,e,s)),this.eventManager.addEventListener(n,e,s,o)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;n(e)===!1&&e.preventDefault()}}};function pe(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var I=class extends T{hostEl;sharedStylesHost;shadowRoot;constructor(n,e,t,o,s,i,c,d){super(n,o,s,c),this.hostEl=e,this.sharedStylesHost=d,this.shadowRoot=e.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=t.styles;l=ge(t.id,l);for(let h of l){let v=document.createElement("style");i&&v.setAttribute("nonce",i),v.textContent=h,this.shadowRoot.appendChild(v)}let p=t.getExternalStyles?.();if(p)for(let h of p){let v=F(h,o);i&&v.setAttribute("nonce",i),this.shadowRoot.appendChild(v)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,t){return super.insertBefore(this.nodeOrShadowRoot(n),e,t)}removeChild(n,e){return super.removeChild(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},D=class extends T{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,t,o,s,i,c,d){super(n,s,i,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o;let l=t.styles;this.styles=d?ge(d,l):l,this.styleUrls=t.getExternalStyles?.(d)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&ne.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},O=class extends D{contentAttr;hostAttr;constructor(n,e,t,o,s,i,c,d){let l=o+"-"+t.id;super(n,e,t,s,i,c,d,l),this.contentAttr=Te(l),this.hostAttr=De(l)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let t=super.createElement(n,e);return super.setAttribute(t,this.contentAttr,""),t}};var L=class r extends ae{supportsDOMEvents=!0;static makeCurrent(){ie(new r)}onAndCancel(n,e,t,o){return n.addEventListener(e,t,o),()=>{n.removeEventListener(e,t,o)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=be();return e==null?null:Ie(e)}resetBaseElement(){R=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return ce(document.cookie,n)}},R=null;function be(){return R=R||document.head.querySelector("base"),R?R.getAttribute("href"):null}function Ie(r){return new URL(r,document.baseURI).pathname}var Oe=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(t){return new(t||r)};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),ve=["alt","control","meta","shift"],Ne={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Le={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},ye=(()=>{class r extends _{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,t,o,s){let i=r.parseEventName(t),c=r.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>M().onAndCancel(e,i.domEventName,c,s))}static parseEventName(e){let t=e.toLowerCase().split("."),o=t.shift();if(t.length===0||!(o==="keydown"||o==="keyup"))return null;let s=r._normalizeKey(t.pop()),i="",c=t.indexOf("code");if(c>-1&&(t.splice(c,1),i="code."),ve.forEach(l=>{let p=t.indexOf(l);p>-1&&(t.splice(p,1),i+=l+".")}),i+=s,t.length!=0||s.length===0)return null;let d={};return d.domEventName=o,d.fullKey=i,d}static matchEventFullKeyCode(e,t){let o=Ne[e.key]||e.key,s="";return t.indexOf("code.")>-1&&(o=e.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),ve.forEach(i=>{if(i!==o){let c=Le[i];c(e)&&(s+=i+".")}}),s+=o,s===t)}static eventCallback(e,t,o){return s=>{r.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>t(s))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})();async function He(r,n,e){let t=H({rootComponent:r},Pe(n,e));return se(t)}function Pe(r,n){return{platformRef:n?.platformRef,appProviders:[...Be,...r?.providers??[]],platformProviders:xe}}function ke(){L.makeCurrent()}function Ue(){return new k}function je(){return Z(document),document}var xe=[{provide:C,useValue:de},{provide:J,useValue:ke,multi:!0},{provide:f,useFactory:je}];var Be=[{provide:Y,useValue:"root"},{provide:k,useFactory:Ue},{provide:N,useClass:b,multi:!0},{provide:N,useClass:ye,multi:!0},$,z,V,{provide:oe,useExisting:$},{provide:le,useClass:Oe},[]];var Ft=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ve=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275prov=u({token:r,factory:function(t){let o=null;return t?o=new(t||r):o=a(ze),o},providedIn:"root"})}return r})(),ze=(()=>{class r extends Ve{_doc;constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case g.NONE:return t;case g.HTML:return E(t,"HTML")?y(t):te(this._doc,String(t)).toString();case g.STYLE:return E(t,"Style")?y(t):t;case g.SCRIPT:if(E(t,"Script"))return y(t);throw new m(5200,!1);case g.URL:return E(t,"URL")?y(t):ee(String(t));case g.RESOURCE_URL:if(E(t,"ResourceURL"))return y(t);throw new m(5201,!1);default:throw new m(5202,!1)}}bypassSecurityTrustHtml(e){return K(e)}bypassSecurityTrustStyle(e){return X(e)}bypassSecurityTrustScript(e){return W(e)}bypassSecurityTrustUrl(e){return q(e)}bypassSecurityTrustResourceUrl(e){return Q(e)}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{He as a,Ft as b,Ve as c};
1
+ import{va as de}from"./chunk-ZC23RK4J.js";import{a as M,b as ie,c as ae,g as ce,h as le}from"./chunk-OPHQNXYO.js";import{Aa as j,Da as A,Ea as y,Fa as E,Ga as K,Ha as X,Ia as W,Ja as q,Ka as Q,La as ee,Ma as te,Na as g,S as m,Ta as w,Ua as ne,V as u,Va as re,Y as S,Z as a,Za as oe,aa as Y,cd as se,ia as f,ma as P,na as k,wa as Z,xa as U,ya as J,za as C}from"./chunk-TQTOIWBK.js";import{a as H}from"./chunk-7CGTOI24.js";var _=class{_doc;constructor(n){this._doc=n}manager},b=(()=>{class r extends _{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,o,s){return e.addEventListener(t,o,s),()=>this.removeEventListener(e,t,o,s)}removeEventListener(e,t,o,s){return e.removeEventListener(t,o,s)}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),N=new S(""),V=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(i=>{i.manager=this});let o=e.filter(i=>!(i instanceof b));this._plugins=o.slice().reverse();let s=e.find(i=>i instanceof b);s&&this._plugins.push(s)}addEventListener(e,t,o,s){return this._findPluginFor(t).addEventListener(e,t,o,s)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(s=>s.supports(e)),!t)throw new m(5101,!1);return this._eventNameToPlugin.set(e,t),t}static \u0275fac=function(t){return new(t||r)(a(N),a(P))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),x="ng-app-id";function ue(r){for(let n of r)n.remove()}function fe(r,n){let e=n.createElement("style");return e.textContent=r,e}function Ee(r,n,e,t){let o=r.head?.querySelectorAll(`style[${x}="${n}"],link[${x}="${n}"]`);if(o)for(let s of o)s.removeAttribute(x),s instanceof HTMLLinkElement?t.set(s.href.slice(s.href.lastIndexOf("/")+1),{usage:0,elements:[s]}):s.textContent&&e.set(s.textContent,{usage:0,elements:[s]})}function F(r,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var z=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,o,s={}){this.doc=e,this.appId=t,this.nonce=o,Ee(e,t,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,t){for(let o of e)this.addUsage(o,this.inline,fe);t?.forEach(o=>this.addUsage(o,this.external,F))}removeStyles(e,t){for(let o of e)this.removeUsage(o,this.inline);t?.forEach(o=>this.removeUsage(o,this.external))}addUsage(e,t,o){let s=t.get(e);s?s.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,o(e,this.doc)))})}removeUsage(e,t){let o=t.get(e);o&&(o.usage--,o.usage<=0&&(ue(o.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])ue(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[t,{elements:o}]of this.inline)o.push(this.addElement(e,fe(t,this.doc)));for(let[t,{elements:o}]of this.external)o.push(this.addElement(e,F(t,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,t){return this.nonce&&t.setAttribute("nonce",this.nonce),e.appendChild(t)}static \u0275fac=function(t){return new(t||r)(a(f),a(U),a(j,8),a(C))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),B={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},G=/%COMP%/g;var me="%COMP%",Se=`_nghost-${me}`,we=`_ngcontent-${me}`,Me=!0,_e=new S("",{factory:()=>Me});function Te(r){return we.replace(G,r)}function De(r){return Se.replace(G,r)}function ge(r,n){return n.map(e=>e.replace(G,r))}var $=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;constructor(e,t,o,s,i,c,d=null,l=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=i,this.ngZone=c,this.nonce=d,this.tracingService=l,this.defaultRenderer=new T(e,i,c,this.tracingService)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let o=this.getOrCreateRenderer(e,t);return o instanceof O?o.applyToHost(e):o instanceof D&&o.applyStyles(),o}getOrCreateRenderer(e,t){let o=this.rendererByCompId,s=o.get(t.id);if(!s){let i=this.doc,c=this.ngZone,d=this.eventManager,l=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,h=this.tracingService;switch(t.encapsulation){case A.Emulated:s=new O(d,l,t,this.appId,p,i,c,h);break;case A.ShadowDom:return new I(d,e,t,i,c,this.nonce,h,l);case A.ExperimentalIsolatedShadowDom:return new I(d,e,t,i,c,this.nonce,h);default:s=new D(d,l,t,p,i,c,h);break}o.set(t.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(t){return new(t||r)(a(V),a(z),a(U),a(_e),a(f),a(P),a(j),a(re,8))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),T=class{eventManager;doc;ngZone;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,t,o){this.eventManager=n,this.doc=e,this.ngZone=t,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(B[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(pe(n)?n.content:n).appendChild(e)}insertBefore(n,e,t){n&&(pe(n)?n.content:n).insertBefore(e,t)}removeChild(n,e){e.remove()}selectRootElement(n,e){let t=typeof n=="string"?this.doc.querySelector(n):n;if(!t)throw new m(-5104,!1);return e||(t.textContent=""),t}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,t,o){if(o){e=o+":"+e;let s=B[o];s?n.setAttributeNS(s,e,t):n.setAttribute(e,t)}else n.setAttribute(e,t)}removeAttribute(n,e,t){if(t){let o=B[t];o?n.removeAttributeNS(o,e):n.removeAttribute(`${t}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,t,o){o&(w.DashCase|w.Important)?n.style.setProperty(e,t,o&w.Important?"important":""):n.style[e]=t}removeStyle(n,e,t){t&w.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,t){n!=null&&(n[e]=t)}setValue(n,e){n.nodeValue=e}listen(n,e,t,o){if(typeof n=="string"&&(n=M().getGlobalEventTarget(this.doc,n),!n))throw new m(5102,!1);let s=this.decoratePreventDefault(t);return this.tracingService?.wrapEventListener&&(s=this.tracingService.wrapEventListener(n,e,s)),this.eventManager.addEventListener(n,e,s,o)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;n(e)===!1&&e.preventDefault()}}};function pe(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var I=class extends T{hostEl;sharedStylesHost;shadowRoot;constructor(n,e,t,o,s,i,c,d){super(n,o,s,c),this.hostEl=e,this.sharedStylesHost=d,this.shadowRoot=e.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=t.styles;l=ge(t.id,l);for(let h of l){let v=document.createElement("style");i&&v.setAttribute("nonce",i),v.textContent=h,this.shadowRoot.appendChild(v)}let p=t.getExternalStyles?.();if(p)for(let h of p){let v=F(h,o);i&&v.setAttribute("nonce",i),this.shadowRoot.appendChild(v)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,t){return super.insertBefore(this.nodeOrShadowRoot(n),e,t)}removeChild(n,e){return super.removeChild(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},D=class extends T{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,t,o,s,i,c,d){super(n,s,i,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o;let l=t.styles;this.styles=d?ge(d,l):l,this.styleUrls=t.getExternalStyles?.(d)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&ne.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},O=class extends D{contentAttr;hostAttr;constructor(n,e,t,o,s,i,c,d){let l=o+"-"+t.id;super(n,e,t,s,i,c,d,l),this.contentAttr=Te(l),this.hostAttr=De(l)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let t=super.createElement(n,e);return super.setAttribute(t,this.contentAttr,""),t}};var L=class r extends ae{supportsDOMEvents=!0;static makeCurrent(){ie(new r)}onAndCancel(n,e,t,o){return n.addEventListener(e,t,o),()=>{n.removeEventListener(e,t,o)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=be();return e==null?null:Ie(e)}resetBaseElement(){R=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return ce(document.cookie,n)}},R=null;function be(){return R=R||document.head.querySelector("base"),R?R.getAttribute("href"):null}function Ie(r){return new URL(r,document.baseURI).pathname}var Oe=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(t){return new(t||r)};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})(),ve=["alt","control","meta","shift"],Ne={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Le={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},ye=(()=>{class r extends _{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,t,o,s){let i=r.parseEventName(t),c=r.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>M().onAndCancel(e,i.domEventName,c,s))}static parseEventName(e){let t=e.toLowerCase().split("."),o=t.shift();if(t.length===0||!(o==="keydown"||o==="keyup"))return null;let s=r._normalizeKey(t.pop()),i="",c=t.indexOf("code");if(c>-1&&(t.splice(c,1),i="code."),ve.forEach(l=>{let p=t.indexOf(l);p>-1&&(t.splice(p,1),i+=l+".")}),i+=s,t.length!=0||s.length===0)return null;let d={};return d.domEventName=o,d.fullKey=i,d}static matchEventFullKeyCode(e,t){let o=Ne[e.key]||e.key,s="";return t.indexOf("code.")>-1&&(o=e.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),ve.forEach(i=>{if(i!==o){let c=Le[i];c(e)&&(s+=i+".")}}),s+=o,s===t)}static eventCallback(e,t,o){return s=>{r.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>t(s))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac})}return r})();async function He(r,n,e){let t=H({rootComponent:r},Pe(n,e));return se(t)}function Pe(r,n){return{platformRef:n?.platformRef,appProviders:[...Be,...r?.providers??[]],platformProviders:xe}}function ke(){L.makeCurrent()}function Ue(){return new k}function je(){return Z(document),document}var xe=[{provide:C,useValue:de},{provide:J,useValue:ke,multi:!0},{provide:f,useFactory:je}];var Be=[{provide:Y,useValue:"root"},{provide:k,useFactory:Ue},{provide:N,useClass:b,multi:!0},{provide:N,useClass:ye,multi:!0},$,z,V,{provide:oe,useExisting:$},{provide:le,useClass:Oe},[]];var Ft=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ve=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275prov=u({token:r,factory:function(t){let o=null;return t?o=new(t||r):o=a(ze),o},providedIn:"root"})}return r})(),ze=(()=>{class r extends Ve{_doc;constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case g.NONE:return t;case g.HTML:return E(t,"HTML")?y(t):te(this._doc,String(t)).toString();case g.STYLE:return E(t,"Style")?y(t):t;case g.SCRIPT:if(E(t,"Script"))return y(t);throw new m(5200,!1);case g.URL:return E(t,"URL")?y(t):ee(String(t));case g.RESOURCE_URL:if(E(t,"ResourceURL"))return y(t);throw new m(5201,!1);default:throw new m(5202,!1)}}bypassSecurityTrustHtml(e){return K(e)}bypassSecurityTrustStyle(e){return X(e)}bypassSecurityTrustScript(e){return W(e)}bypassSecurityTrustUrl(e){return q(e)}bypassSecurityTrustResourceUrl(e){return Q(e)}static \u0275fac=function(t){return new(t||r)(a(f))};static \u0275prov=u({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{He as a,Ft as b,Ve as c};
@@ -1 +1 @@
1
- import{a as d}from"./chunk-AC34YYIW.js";import{a as f}from"./chunk-5TT43ERP.js";import{a as R}from"./chunk-PAXRIMTV.js";import{a as h}from"./chunk-O6ZQRIZA.js";import{z as u}from"./chunk-E3UAEGAI.js";import{d as m}from"./chunk-4KFQXVKU.js";import{Rc as g,V as a,_ as s,pa as o,ra as c}from"./chunk-NFXXT6A3.js";var p=class n{#n=s(d);#l=s(u);#e=s(m);#o=s(h);#a=s(R);repeatRegisterTimer=null;#r=null;#s=0;#c=5;#g=2e3;state=o("unknown");claimUrl=o(null);registerUrl=o("");customRegisterUrl=o("");status=g(()=>{let e=this.state();return e==="connecting"?$localize`Console connection is enabled but not connected`:e==="connected"?$localize`Connected to console`:e==="registering"?$localize`Registering machine...`:e==="registeringfaulted"?$localize`Registration failed`:e==="registered"?$localize`Registered, waiting for accept`:e==="disabled"?$localize`Console connection is configured but not enabled`:e==="unknown"?$localize`...loading...`:$localize`Console connection is not set up`});sysInfoEffect=c(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#t(e){this.#s=0,e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("connecting"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let i=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),i==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.postApiV1RemotecontrolRegisterWait().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},5e3)),(i==="connecting"||i==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:t=>this.#t(t)})}#i(e){if(this.#r!==null&&(clearTimeout(this.#r),this.#r=null),this.#s>=this.#c){this.state.set("registeringfaulted"),this.#s=0;return}let i=this.#g*Math.pow(2,this.#s);this.#s++,this.#r=setTimeout(()=>{this.#r=null,this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},i)}refreshRemoteControlStatus(){this.#e.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}beginRemoteRegistration(e=!1){this.state.set("registering"),this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e?this.customRegisterUrl():this.registerUrl()}}).subscribe({next:i=>this.#t(i),error:i=>this.#i(i)})}cancelRemoteRegistration(){this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#e.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#e.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#l.open(f,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the console registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:i=>{i&&e.#e.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>e.#t(t),error:t=>e.#i(t)})}})}openConsole(e="/app/machines",i){let t=this.#a.serverSettings(),b=this.#o.systemInfo(),r="https://app.duplicati.com",l=b?.RemoteControlDashboardUrl??"";if(l.length>0&&(r=l),t&&t["remote-control-dashboard-url"]&&(r=t["remote-control-dashboard-url"]),r=new URL(r).origin+e,i){let y=new URLSearchParams(i);r+=`?${y.toString()}`}this.#n.open(r,"_blank")}static \u0275fac=function(i){return new(i||n)};static \u0275prov=a({token:n,factory:n.\u0275fac,providedIn:"root"})};export{p as a};
1
+ import{a as d}from"./chunk-UTXZPAY6.js";import{a as f}from"./chunk-IMQUTGIK.js";import{a as R}from"./chunk-BACKG7KA.js";import{a as h}from"./chunk-C6PICAXB.js";import{z as u}from"./chunk-VKQQDCUN.js";import{d as m}from"./chunk-DSYNIXJF.js";import{Qc as g,V as a,_ as s,pa as o,ra as c}from"./chunk-TQTOIWBK.js";var p=class n{#n=s(d);#l=s(u);#e=s(m);#o=s(h);#a=s(R);repeatRegisterTimer=null;#r=null;#s=0;#c=5;#g=2e3;state=o("unknown");claimUrl=o(null);registerUrl=o("");customRegisterUrl=o("");status=g(()=>{let e=this.state();return e==="connecting"?$localize`Console connection is enabled but not connected`:e==="connected"?$localize`Connected to console`:e==="registering"?$localize`Registering machine...`:e==="registeringfaulted"?$localize`Registration failed`:e==="registered"?$localize`Registered, waiting for accept`:e==="disabled"?$localize`Console connection is configured but not enabled`:e==="unknown"?$localize`...loading...`:$localize`Console connection is not set up`});sysInfoEffect=c(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#t(e){this.#s=0,e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("connecting"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let i=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),i==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.postApiV1RemotecontrolRegisterWait().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},5e3)),(i==="connecting"||i==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:t=>this.#t(t)})}#i(e){if(this.#r!==null&&(clearTimeout(this.#r),this.#r=null),this.#s>=this.#c){this.state.set("registeringfaulted"),this.#s=0;return}let i=this.#g*Math.pow(2,this.#s);this.#s++,this.#r=setTimeout(()=>{this.#r=null,this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#t(t),error:t=>this.#i(t)})},i)}refreshRemoteControlStatus(){this.#e.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}beginRemoteRegistration(e=!1){this.state.set("registering"),this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e?this.customRegisterUrl():this.registerUrl()}}).subscribe({next:i=>this.#t(i),error:i=>this.#i(i)})}cancelRemoteRegistration(){this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#e.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#e.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#t(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#l.open(f,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the console registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:i=>{i&&e.#e.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>e.#t(t),error:t=>e.#i(t)})}})}openConsole(e="/app/machines",i){let t=this.#a.serverSettings(),b=this.#o.systemInfo(),r="https://app.duplicati.com",l=b?.RemoteControlDashboardUrl??"";if(l.length>0&&(r=l),t&&t["remote-control-dashboard-url"]&&(r=t["remote-control-dashboard-url"]),r=new URL(r).origin+e,i){let y=new URLSearchParams(i);r+=`?${y.toString()}`}this.#n.open(r,"_blank")}static \u0275fac=function(i){return new(i||n)};static \u0275prov=a({token:n,factory:n.\u0275fac,providedIn:"root"})};export{p as a};
@@ -1 +1 @@
1
- import{V as i,Y as c,_ as a,ia as h}from"./chunk-NFXXT6A3.js";var d=null;function s(){return d}function w(o){d??=o}var l=class{},f=(()=>{class o{historyGo(t){throw new Error("")}static \u0275fac=function(e){return new(e||o)};static \u0275prov=i({token:o,factory:()=>a(g),providedIn:"platform"})}return o})(),y=new c(""),g=(()=>{class o extends f{_location;_history;_doc=a(h);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(t){let e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){let e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,e,n){this._history.pushState(t,e,n)}replaceState(t,e,n){this._history.replaceState(t,e,n)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static \u0275fac=function(e){return new(e||o)};static \u0275prov=i({token:o,factory:()=>new o,providedIn:"platform"})}return o})();function D(o,r){r=encodeURIComponent(r);for(let t of o.split(";")){let e=t.indexOf("="),[n,u]=e==-1?[t,""]:[t.slice(0,e),t.slice(e+1)];if(n.trim()===r)return decodeURIComponent(u)}return null}var p=class{};export{s as a,w as b,l as c,f as d,y as e,g as f,D as g,p as h};
1
+ import{V as i,Y as c,_ as a,ia as h}from"./chunk-TQTOIWBK.js";var d=null;function s(){return d}function w(o){d??=o}var l=class{},f=(()=>{class o{historyGo(t){throw new Error("")}static \u0275fac=function(e){return new(e||o)};static \u0275prov=i({token:o,factory:()=>a(g),providedIn:"platform"})}return o})(),y=new c(""),g=(()=>{class o extends f{_location;_history;_doc=a(h);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(t){let e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){let e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,e,n){this._history.pushState(t,e,n)}replaceState(t,e,n){this._history.replaceState(t,e,n)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static \u0275fac=function(e){return new(e||o)};static \u0275prov=i({token:o,factory:()=>new o,providedIn:"platform"})}return o})();function D(o,r){r=encodeURIComponent(r);for(let t of o.split(";")){let e=t.indexOf("="),[n,u]=e==-1?[t,""]:[t.slice(0,e),t.slice(e+1)];if(n.trim()===r)return decodeURIComponent(u)}return null}var p=class{};export{s as a,w as b,l as c,f as d,y as e,g as f,D as g,p as h};
@@ -0,0 +1 @@
1
+ import{b as w}from"./chunk-IQL3REGJ.js";import{b as x}from"./chunk-AIAUP7OE.js";import{a as $}from"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import{B as y,L as k,v as b}from"./chunk-VKQQDCUN.js";import{d as U}from"./chunk-DSYNIXJF.js";import"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import{$b as c,Cb as L,Db as a,Eb as r,F as m,Fb as d,Mb as E,Pa as O,Qc as I,Sa as l,Tb as M,Ub as R,Vb as T,Wb as f,Xb as F,Zb as N,_ as p,da as g,ea as C,gb as P,kc as v,nc as u,oc as D,pa as S,q as G,wb as s,xb as _}from"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";function V(t,o){t&1&&d(0,"sh-progress-bar",3)}function B(t,o){if(t&1&&(a(0,"a",7),M(1,2),d(2,"sh-icon"),R(),r()),t&2){let e,n,i=c(2);L("href",(e=i.serverState())==null?null:e.UpdateDownloadLink,O),l(2),f((n=i.serverState())==null?null:n.UpdatedVersion),F(1)}}function J(t,o){if(t&1){let e=E();a(0,"button",6),N("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Check for updates"),r(),s(2,B,3,2,"a",7)}if(t&2){let e,n=c();v("loading",n.checkingForUpdates()),l(2),_((e=n.serverState())!=null&&e.UpdateDownloadLink?2:-1)}}function X(t,o){if(t&1){let e=E();a(0,"button",6),N("click",function(){g(e);let i=c();return C(i.checkForUpdates())}),u(1,"Checking for updates \u2026"),r()}}function z(t,o){t&1&&d(0,"sh-progress-bar",3)}var h=class t{#e=p(U);#n=p(x);#t=p($);isLoading=S(!0);checkingForUpdates=S(!1);serverState=this.#n.serverState;duplicatiVersion=I(()=>this.#t.systemInfo()?.ServerVersionName??"Unknown");generalInfo=w(this.#e.getApiV1Acknowledgements().pipe(G(o=>o.Acknowledgements),m(()=>this.isLoading.set(!1))));checkForUpdates(){this.checkingForUpdates.set(!0),this.#e.postApiV1UpdatesCheck().pipe(m(()=>this.checkingForUpdates.set(!1))).subscribe()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=P({type:t,selectors:[["app-general"]],decls:12,vars:5,consts:()=>{let o;o=$localize`General`;let e;e=$localize`You're running Duplicati with - ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let n;return n=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:download${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Download update - ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[o,e,n,[1,"indeterminate","primary"],[1,"actions"],["shButton",""],["shButton","",3,"click"],["shButton","","target","_blank",1,"primary","raised",3,"href"]]},template:function(e,n){if(e&1&&(s(0,V,1,0,"sh-progress-bar",3),a(1,"section")(2,"h3"),T(3,0),r(),a(4,"p"),T(5,1),r(),a(6,"div",4),s(7,J,3,3)(8,X,2,0,"button",5),s(9,z,1,0,"sh-progress-bar",3),r(),a(10,"div"),u(11),r()()),e&2){let i,A;_(n.isLoading()?0:-1),l(5),f(n.duplicatiVersion()),F(5),l(2),_(((i=n.serverState())==null?null:i.UpdaterState)==="Waiting"?7:((i=n.serverState())==null?null:i.UpdaterState)==="Checking"?8:-1),l(2),_(((A=n.serverState())==null?null:A.UpdaterState)==="Downloading"?9:-1),l(2),D(n.generalInfo())}},dependencies:[k,y,b],styles:["[_nghost-%COMP%]{display:block;position:relative;padding:0 2.5rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}sh-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{h as default};
@@ -0,0 +1 @@
1
+ import{e as a,f as b}from"./chunk-XXVDL5TR.js";import"./chunk-GRE6GKVP.js";import"./chunk-DJXLNIMV.js";import"./chunk-CAQ3XMFP.js";import"./chunk-VC55KFAX.js";import"./chunk-ZEFSBETQ.js";import"./chunk-6Q6SSTBK.js";import"./chunk-YCJYEQF7.js";import"./chunk-OHYENIPP.js";import"./chunk-UTXZPAY6.js";import"./chunk-IMQUTGIK.js";import"./chunk-BACKG7KA.js";import"./chunk-IQL3REGJ.js";import"./chunk-AIAUP7OE.js";import"./chunk-C6PICAXB.js";import"./chunk-6JS7B4FW.js";import"./chunk-VKQQDCUN.js";import"./chunk-DSYNIXJF.js";import"./chunk-NPFPMA4P.js";import"./chunk-O2SMJYPC.js";import"./chunk-N2AU7VKX.js";import"./chunk-ZC23RK4J.js";import"./chunk-OPHQNXYO.js";import"./chunk-TQTOIWBK.js";import"./chunk-7CGTOI24.js";export{a as createRestoreSelectFilesForm,b as default};