homebridge-config-ui-x 5.11.2-beta.6 → 5.11.2-beta.8

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 (182) hide show
  1. package/dist/modules/server/server.service.js +2 -2
  2. package/dist/modules/server/server.service.js.map +1 -1
  3. package/package.json +2 -2
  4. package/public/chunk-2V4LIZUH.js +1 -0
  5. package/public/chunk-4UVYLGCZ.js +1 -0
  6. package/public/{chunk-RMO7BI3S.js → chunk-4WEBTV3N.js} +1 -1
  7. package/public/{chunk-2PTWRRNF.js → chunk-4YNYBAGL.js} +1 -1
  8. package/public/chunk-52X3LPJH.js +1 -0
  9. package/public/{chunk-JN6IF7KG.js → chunk-5R6AJZGA.js} +1 -1
  10. package/public/{chunk-SMGUXH2S.js → chunk-5WSUQV2C.js} +1 -1
  11. package/public/chunk-6DLZEENG.js +1 -0
  12. package/public/{chunk-LB5QMOKJ.js → chunk-6INJQUJQ.js} +1 -1
  13. package/public/{chunk-TPGJVI7J.js → chunk-6QWPGE2L.js} +1 -1
  14. package/public/chunk-77S5CL3V.js +1 -0
  15. package/public/chunk-7BMHIIBT.js +1 -0
  16. package/public/chunk-7DFQDPRM.js +1 -0
  17. package/public/chunk-7WKZ7EMI.js +1 -0
  18. package/public/chunk-7WUBDTA6.js +1 -0
  19. package/public/{chunk-RBF3CYNW.js → chunk-AXMO2G45.js} +1 -1
  20. package/public/chunk-B46EWHBD.js +1 -0
  21. package/public/chunk-B75B723G.js +1 -0
  22. package/public/{chunk-3V7SIJRZ.js → chunk-BB35SJH2.js} +1 -1
  23. package/public/{chunk-7INH3WTY.js → chunk-BFGRDXJK.js} +1 -1
  24. package/public/{chunk-YMEXNW5V.js → chunk-BQRKHSGH.js} +1 -1
  25. package/public/chunk-BXRCPOIK.js +1 -0
  26. package/public/chunk-BZ3XB6O4.js +1 -0
  27. package/public/{chunk-ZABNRIEK.js → chunk-CEMVTOZG.js} +1 -1
  28. package/public/chunk-CMERG3AC.js +1 -0
  29. package/public/{chunk-LS3PT3EF.js → chunk-CMO4UANJ.js} +1 -1
  30. package/public/{chunk-UQ2S4WMW.js → chunk-CP6FP6S2.js} +1 -1
  31. package/public/chunk-CPT52C2F.js +1 -0
  32. package/public/{chunk-GZGEZ5SJ.js → chunk-D3Q5QTFY.js} +1 -1
  33. package/public/chunk-ETWBSGPI.js +1 -0
  34. package/public/{chunk-TWKIJ7CI.js → chunk-EWS4VSZB.js} +1 -1
  35. package/public/chunk-F5AJLGGI.js +1 -0
  36. package/public/chunk-G2GGYHA2.js +3 -0
  37. package/public/chunk-G2KWTNHR.js +1 -0
  38. package/public/{chunk-4BJ6NDID.js → chunk-GDWF2NMA.js} +2 -2
  39. package/public/chunk-GGTS2YBW.js +4 -0
  40. package/public/chunk-GJG6QZ7P.js +1 -0
  41. package/public/chunk-GU5F3H4I.js +1 -0
  42. package/public/{chunk-V5PTPKEY.js → chunk-H3BKW5W3.js} +1 -1
  43. package/public/chunk-H4WASUXW.js +1 -0
  44. package/public/chunk-HUTYOGRH.js +4 -0
  45. package/public/chunk-IBUR2RIO.js +1 -0
  46. package/public/chunk-IDJSTIFL.js +1 -0
  47. package/public/chunk-IP6FLYVL.js +1 -0
  48. package/public/chunk-IPI77WYV.js +1 -0
  49. package/public/chunk-J2DDS6ED.js +1 -0
  50. package/public/chunk-J6ND4K5Q.js +1 -0
  51. package/public/{chunk-6CVW2OLK.js → chunk-J7UDRE66.js} +2 -2
  52. package/public/chunk-JUQRWAIR.js +1 -0
  53. package/public/{chunk-H2D3SCVU.js → chunk-JWGWPSC6.js} +1 -1
  54. package/public/chunk-JWRZMMRO.js +68 -0
  55. package/public/chunk-JWUEJV6S.js +1 -0
  56. package/public/{chunk-KL45DCKF.js → chunk-JY5ZEEL2.js} +1 -1
  57. package/public/chunk-KFPYUDGJ.js +1 -0
  58. package/public/chunk-KIRW7NMH.js +1 -0
  59. package/public/chunk-KTQBVBY4.js +1 -0
  60. package/public/chunk-LKJRMUOE.js +1 -0
  61. package/public/chunk-LVQWSVHA.js +1 -0
  62. package/public/chunk-LZ7S7WKH.js +1 -0
  63. package/public/{chunk-XLJ6VVK3.js → chunk-MDHWQ5V2.js} +1 -1
  64. package/public/chunk-MJP4XVUI.js +1 -0
  65. package/public/{chunk-GOEMPGSJ.js → chunk-N5ONV6TU.js} +1 -1
  66. package/public/{chunk-BLMEIZFV.js → chunk-N7UWTPTT.js} +1 -1
  67. package/public/{chunk-I5V7VF5M.js → chunk-NAICVRJH.js} +1 -1
  68. package/public/chunk-NCFDA3W4.js +1 -0
  69. package/public/chunk-NIS65GVY.js +1 -0
  70. package/public/{chunk-YZSYJJ4L.js → chunk-OBV66CW4.js} +1 -1
  71. package/public/{chunk-HHCM4VPQ.js → chunk-OF2SRCQW.js} +1 -1
  72. package/public/chunk-OOILCTQ3.js +19 -0
  73. package/public/chunk-PAZUAFSZ.js +1 -0
  74. package/public/chunk-PEUDPLH6.js +1 -0
  75. package/public/{chunk-73LLH6JC.js → chunk-PRGOUVRO.js} +1 -1
  76. package/public/{chunk-BI4XMWOC.js → chunk-PWCLNQBI.js} +1 -1
  77. package/public/{chunk-FACVYIVK.js → chunk-Q7EXN4JA.js} +1 -1
  78. package/public/chunk-QE7VI3JB.js +1 -0
  79. package/public/chunk-QES44GQE.js +1 -0
  80. package/public/{chunk-QUVYR45J.js → chunk-QMWN5KPC.js} +1 -1
  81. package/public/chunk-R6MQZ2DW.js +1 -0
  82. package/public/chunk-RESZLSD7.js +1 -0
  83. package/public/chunk-RGWFM4OK.js +1 -0
  84. package/public/chunk-RI4GLH22.js +1 -0
  85. package/public/chunk-RP5JPYDI.js +1 -0
  86. package/public/{chunk-TVEZZ2CK.js → chunk-RT25QBCQ.js} +1 -1
  87. package/public/chunk-RVWZNTDJ.js +1 -0
  88. package/public/chunk-RXDY2NMJ.js +1 -0
  89. package/public/chunk-SDRRZFEQ.js +1 -0
  90. package/public/{chunk-6BRZAIW2.js → chunk-SPC2DLZR.js} +1 -1
  91. package/public/chunk-TCUQZ3QO.js +1 -0
  92. package/public/{chunk-D4DHXSWV.js → chunk-TPUA4UIN.js} +1 -1
  93. package/public/chunk-TQBVDY26.js +1 -0
  94. package/public/chunk-U24HWDVU.js +1 -0
  95. package/public/chunk-U2NM4L2D.js +1 -0
  96. package/public/chunk-UWYTPKKV.js +1 -0
  97. package/public/chunk-VKR3GG6K.js +1 -0
  98. package/public/{chunk-RBAGMGTH.js → chunk-VY7HWBNV.js} +1 -1
  99. package/public/chunk-W55SP3LJ.js +1 -0
  100. package/public/chunk-WP3AD6W5.js +1 -0
  101. package/public/{chunk-ETZZ36JZ.js → chunk-WVG4A2SW.js} +1 -1
  102. package/public/{chunk-FTXEGQIN.js → chunk-XNZA4UBO.js} +1 -1
  103. package/public/{chunk-7LXVDGID.js → chunk-XOPZ7U6G.js} +1 -1
  104. package/public/chunk-XORPUWNC.js +1 -0
  105. package/public/chunk-XPFMPBEG.js +1 -0
  106. package/public/chunk-XTYMIZVV.js +1 -0
  107. package/public/chunk-Y3PXWRYQ.js +1 -0
  108. package/public/chunk-Y5WP66WK.js +1 -0
  109. package/public/chunk-YCQCWGBG.js +1 -0
  110. package/public/{chunk-BGCYR25X.js → chunk-Z5PUNNUZ.js} +1 -1
  111. package/public/{chunk-O77GFQK2.js → chunk-ZNN6GWYK.js} +1 -1
  112. package/public/index.html +1 -1
  113. package/public/{main-UQ56N5WR.js → main-O5PA2XOA.js} +1 -1
  114. package/public/chunk-2Y6QBPFY.js +0 -1
  115. package/public/chunk-3YTNATAH.js +0 -1
  116. package/public/chunk-47QTMPRY.js +0 -1
  117. package/public/chunk-4FWGOD46.js +0 -1
  118. package/public/chunk-4PQ5WRGK.js +0 -1
  119. package/public/chunk-6QJUZNZL.js +0 -1
  120. package/public/chunk-7PPGGAHV.js +0 -1
  121. package/public/chunk-B5QPU7HE.js +0 -1
  122. package/public/chunk-BBRC6PRL.js +0 -1
  123. package/public/chunk-BHA7V2NQ.js +0 -1
  124. package/public/chunk-CDW26RZX.js +0 -1
  125. package/public/chunk-DEM3FH7C.js +0 -1
  126. package/public/chunk-DSPXMSMH.js +0 -68
  127. package/public/chunk-EAYA44IV.js +0 -1
  128. package/public/chunk-EBHP3YOF.js +0 -1
  129. package/public/chunk-FJB6YCFU.js +0 -1
  130. package/public/chunk-FKJY3Z2V.js +0 -1
  131. package/public/chunk-FRMRAPF2.js +0 -1
  132. package/public/chunk-G32P2EQO.js +0 -1
  133. package/public/chunk-GEQRIXEF.js +0 -1
  134. package/public/chunk-GEROMTGP.js +0 -4
  135. package/public/chunk-GSM4KMIN.js +0 -1
  136. package/public/chunk-GTIVJH6Y.js +0 -1
  137. package/public/chunk-HKOUIAFO.js +0 -1
  138. package/public/chunk-IANXHCHI.js +0 -1
  139. package/public/chunk-IBFLM7UM.js +0 -1
  140. package/public/chunk-JNSPIONO.js +0 -1
  141. package/public/chunk-JUCPYKUR.js +0 -1
  142. package/public/chunk-KJH2IPMR.js +0 -1
  143. package/public/chunk-KPSGNAPN.js +0 -1
  144. package/public/chunk-LH4WRTR2.js +0 -1
  145. package/public/chunk-LHXNE56J.js +0 -1
  146. package/public/chunk-LOEOVQRM.js +0 -1
  147. package/public/chunk-LRB7FQNQ.js +0 -1
  148. package/public/chunk-LTYAICHT.js +0 -1
  149. package/public/chunk-MKV5RAJQ.js +0 -4
  150. package/public/chunk-MPQEE6FH.js +0 -1
  151. package/public/chunk-NCLG2ZY5.js +0 -1
  152. package/public/chunk-OHJQJ73S.js +0 -1
  153. package/public/chunk-OVOZ24WK.js +0 -1
  154. package/public/chunk-P3DOEH3R.js +0 -1
  155. package/public/chunk-PQM33D72.js +0 -1
  156. package/public/chunk-Q4PUZM2R.js +0 -1
  157. package/public/chunk-QI7NLDCZ.js +0 -1
  158. package/public/chunk-QK4CWVVD.js +0 -1
  159. package/public/chunk-QPGHC7OK.js +0 -1
  160. package/public/chunk-RAG53DHZ.js +0 -1
  161. package/public/chunk-RHJRKBK2.js +0 -1
  162. package/public/chunk-RQ42YKAP.js +0 -1
  163. package/public/chunk-S4O5HRCM.js +0 -1
  164. package/public/chunk-SS725Q7L.js +0 -1
  165. package/public/chunk-STXA2UWR.js +0 -1
  166. package/public/chunk-SVEGWVQJ.js +0 -1
  167. package/public/chunk-UDXPJS32.js +0 -1
  168. package/public/chunk-UEEWOELN.js +0 -19
  169. package/public/chunk-UOOJPKZJ.js +0 -1
  170. package/public/chunk-VS2UHVZ2.js +0 -3
  171. package/public/chunk-VWBS6KRT.js +0 -1
  172. package/public/chunk-VYAAI7PY.js +0 -1
  173. package/public/chunk-WO6QHRQI.js +0 -1
  174. package/public/chunk-WOMMYJV2.js +0 -1
  175. package/public/chunk-WOXYSKNU.js +0 -1
  176. package/public/chunk-XPSIQPO4.js +0 -1
  177. package/public/chunk-XQXAVYM6.js +0 -1
  178. package/public/chunk-YBGB3IOQ.js +0 -1
  179. package/public/chunk-YHH6UACV.js +0 -1
  180. package/public/chunk-YLRX4V4V.js +0 -1
  181. package/public/chunk-YM6RL7NW.js +0 -1
  182. package/public/chunk-YSJHLHJ6.js +0 -1
@@ -1 +0,0 @@
1
- import{a as ce}from"./chunk-TUN7H57E.js";import{a as _e}from"./chunk-RBAGMGTH.js";import{a as me}from"./chunk-TPGJVI7J.js";import{a as he}from"./chunk-V5PTPKEY.js";import{a as ge}from"./chunk-IANXHCHI.js";import{a as ue}from"./chunk-JN6IF7KG.js";import{a as Me,c as Pe}from"./chunk-BMOLDRJ3.js";import{a as Dt}from"./chunk-LS3PT3EF.js";import{a as Re}from"./chunk-H7F7H5MW.js";import{a as Rt,o as Et,p as wt,q as kt,r as pe}from"./chunk-73LLH6JC.js";import{a as de}from"./chunk-BI4XMWOC.js";import{g as yt,m as W,n as _t,t as It}from"./chunk-HHCM4VPQ.js";import{e as J,f as qt}from"./chunk-TWKIJ7CI.js";import{a as $}from"./chunk-BGCYR25X.js";import"./chunk-CDW26RZX.js";import{A as re,B as le,C as mt,D as ut,b as pt,c as bt,e as ct,f as Yt,i as Xt,j as M,k as Zt,l as xt,m as te,n as ee,q as St,t as ie,u as ne,w as ae,x as oe,y as se}from"./chunk-D4DHXSWV.js";import{b as Y}from"./chunk-YZSYJJ4L.js";import{E as O,F as L,H as z,J as Jt,K as U,h as dt,j as jt,u as Gt,v as Qt}from"./chunk-6CVW2OLK.js";import{$c as Pt,Ab as u,Ac as rt,Cb as K,Db as j,Eb as G,Ec as s,F,Fb as _,Fc as r,Gb as o,Gc as q,Hb as l,Ib as c,Jb as x,Kb as S,Lb as P,Pc as lt,Rb as B,Sb as N,Ua as et,Va as Nt,Xb as T,Yb as V,Za as i,Zb as g,aa as E,ad as gt,cd as ot,db as Ht,ea as Ct,ec as st,ed as ht,fc as vt,ga as w,gc as Mt,ha as k,hc as nt,ic as Q,jc as D,kc as d,lc as h,ma as ft,mb as it,mc as C,nb as H,nc as Lt,rc as Ot,sa as v,sc as zt,tc as Ut,uc as at,vc as Wt,xc as Kt,yb as f,yc as X,zb as m,zc as A}from"./chunk-MKV5RAJQ.js";import{a as Bt,b as $t,g as Ft,h as b}from"./chunk-B4AJQJMI.js";var Ce=(e,p)=>({"green-text":e,"grey-text":p});function De(e,p){if(e&1){let t=B();o(0,"li",9)(1,"div",10),d(2),c(3,"br"),o(4,"small",11),c(5,"i",12),s(6,"translate"),d(7," \xB7 "),o(8,"span",13),d(9),l(),d(10),s(11,"titlecase"),l()(),o(12,"div",14)(13,"input",23),s(14,"translate"),T("click",function(){let a=w(t).$implicit,y=g();return k(y.toggleList(a._username))}),l(),c(15,"label",24),l()()}if(e&2){let t=p.$implicit,n=g();i(2),C(" ",t.name," "),i(3),D(A(18,Ce,t._isPaired,!t._isPaired)),_("ngbTooltip",r(6,12,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),i(4),h(t._username),i(),C(" \xB7 ",r(11,14,t._category)," "),i(3),_("id","hidePluginUpdates_"+t._username)("checked",!n.isInList(t._username))("disabled",n.clicked()),f("aria-label",r(14,16,"form.button_allow")+" "+t.name),i(2),_("for","hidePluginUpdates_"+t._username)}}function Ve(e,p){e&1&&(d(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_save")," ")}function Ae(e,p){e&1&&c(0,"i",22)}var fe=(()=>{class e{$activeModal=E(W);$api=E(U);$settings=E(Y);$toastr=E(z);$translate=E(O);modalData=E(wt);clicked=v(!1,{});mainPairing=v({},{});pairings=v([],{});originalBlacklist=[];updatedBlacklist=[];get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){this.initialize()}initialize(){return b(this,null,function*(){this.updatedBlacklist=this.modalData.existingBlacklist.map(t=>t.trim().toUpperCase()).sort((t,n)=>t.localeCompare(n)),this.originalBlacklist=[...this.updatedBlacklist];try{let t=yield this.$api.get("/server/pairings");this.mainPairing.set(t.find(n=>n._main)),this.pairings.set(t.filter(n=>!n._main).sort((n,a)=>n.name.localeCompare(a.name)))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(t){this.updatedBlacklist.includes(t)?this.updatedBlacklist=this.updatedBlacklist.filter(n=>n!==t):(this.updatedBlacklist.push(t),this.updatedBlacklist.sort((n,a)=>n.localeCompare(a)))}isInList(t){return this.updatedBlacklist.includes(t)}updateBlacklist(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.put("/config-editor/ui/accessory-control/instance-blacklist",{body:this.updatedBlacklist}),this.$settings.setEnvItem("accessoryControl.instanceBlacklist",this.updatedBlacklist),this.$activeModal.close()}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:45,vars:36,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-list-check","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"grey-text"],["container","body","triggers","hover","placement","left",1,"fas","fa-link",3,"ngbTooltip","openDelay"],[1,"font-monospace"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","controlMainBridge",1,"rendux-input",3,"click","checked","disabled"],["for","controlMainBridge",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"],["type","checkbox",1,"rendux-input",3,"click","id","checked","disabled"],[1,"rendux-label","ms-3",3,"for"]],template:function(n,a){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),l(),o(5,"button",3),s(6,"translate"),T("click",function(){return a.dismissModal()}),l()(),o(7,"div",4)(8,"div",5),c(9,"i",6),l(),o(10,"ul",7)(11,"li"),d(12),s(13,"translate"),l(),o(14,"li"),d(15),s(16,"translate"),l()(),o(17,"ul",8)(18,"li",9)(19,"div",10),d(20),c(21,"br"),o(22,"small",11),c(23,"i",12),s(24,"translate"),d(25," \xB7 "),o(26,"span",13),d(27),l(),d(28," \xB7 Homebridge "),l()(),o(29,"div",14)(30,"input",15),s(31,"translate"),T("click",function(){return a.toggleList(a.mainPairing()._username)}),l(),c(32,"label",16),l()(),j(33,De,16,21,"li",9,K),l()(),o(35,"div",17)(36,"div",10)(37,"button",18),T("click",function(){return a.dismissModal()}),d(38),s(39,"translate"),l()(),c(40,"div",19),o(41,"div",20)(42,"button",21),T("click",function(){return a.updateBlacklist()}),m(43,Ve,2,3),m(44,Ae,1,0,"i",22),l()()()()),n&2&&(i(3),h(r(4,19,"settings.security.ui_control")),i(2),_("disabled",a.clicked()),f("aria-label",r(6,21,"form.button_close")),i(7),h(r(13,23,"settings.security.ui_control_desc")),i(3),h(r(16,25,"settings.security.ui_control_desc_2")),i(5),C(" ",a.mainPairing().name),i(3),D(A(33,Ce,a.mainPairing()._isPaired,!a.mainPairing()._isPaired)),_("ngbTooltip",r(24,27,a.mainPairing()._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),i(4),h(a.mainPairing()._username),i(3),_("checked",!a.isInList(a.mainPairing()._username))("disabled",a.clicked()),f("aria-label",r(31,29,"plugins.manage.hide_updates")),i(3),G(a.pairings()),i(4),_("disabled",a.clicked()),i(),C(" ",r(39,31,"form.button_close")," "),i(4),_("disabled",!a.blacklistHasUpdated||a.clicked()),i(),u(a.clicked()?-1:43),i(),u(a.clicked()?44:-1))},dependencies:[mt,It,L,dt],encapsulation:2})}return e})();var Ie=Ft(Re(),1);var ve=Ft(Me(),1),be=Ft(Pe(),1);var Ne=e=>({maxBackupSizeText:e});function He(e,p){if(e&1&&P(0,"input",10),e&2){let t=g(2);N("value",t.selectedBackup.fileName)}}function Le(e,p){if(e&1){let t=B();x(0,"input",12),V("change",function(a){w(t);let y=g(2);return k(y.handleRestoreFileInput(a.target.files))}),S()}}function Oe(e,p){if(e&1&&(x(0,"div",4)(1,"div",7),P(2,"i",8),S(),x(3,"ul",9)(4,"li"),d(5),s(6,"translate"),S(),x(7,"li"),d(8),s(9,"translate"),S(),x(10,"li"),d(11),s(12,"translate"),S(),x(13,"li"),d(14),s(15,"translate"),S()(),m(16,He,1,1,"input",10),m(17,Le,1,0,"input",11),S()),e&2){let t=g();i(5),h(r(6,6,"backup.restore_help_one")),i(3),h(r(9,8,"backup.restore_help_two")),i(3),h(q(12,10,"backup.restore_max_size",X(15,Ne,t.maxFileSizeText))),i(3),h(r(15,13,"backup.restore_warning")),i(2),u(t.selectedBackup?16:-1),i(),u(t.selectedBackup?-1:17)}}function ze(e,p){if(e&1){let t=B();x(0,"button",18),s(1,"translate"),V("click",function(){w(t);let a=g(2);return k(a.dismissModal())}),d(2),s(3,"translate"),S()}if(e&2){let t=g(2);N("disabled",t.clicked()),f("aria-label",r(1,3,"form.button_close")),i(2),C(" ",r(3,5,"form.button_close")," ")}}function Ue(e,p){if(e&1){let t=B();x(0,"button",18),s(1,"translate"),V("click",function(){w(t);let a=g(2);return k(a.reopenBackupModal())}),d(2),s(3,"translate"),S()}if(e&2){let t=g(2);N("disabled",t.clicked()),f("aria-label",r(1,3,"form.button_back")),i(2),C(" ",r(3,5,"form.button_back")," ")}}function We(e,p){e&1&&P(0,"i",19)}function Ke(e,p){if(e&1&&(x(0,"span"),d(1),S()),e&2){let t=g(3);i(),C("",t.uploadPercent(),"% - ")}}function je(e,p){e&1&&(x(0,"span"),d(1),s(2,"translate"),S()),e&2&&(i(),h(r(2,1,"backup.label_extracting")))}function Ge(e,p){e&1&&(x(0,"span"),d(1),s(2,"translate"),S()),e&2&&(i(),h(r(2,1,"backup.label_uploading")))}function Qe(e,p){if(e&1&&(x(0,"span"),m(1,We,1,0,"i",19),m(2,Ke,2,1,"span"),m(3,je,3,3,"span"),m(4,Ge,3,3,"span"),S()),e&2){let t=g(2);i(),u(!t.uploadPercent()||t.uploadPercent()===100?1:-1),i(),u(t.uploadPercent()&&t.uploadPercent()!==100?2:-1),i(),u(t.uploadPercent()===100?3:-1),i(),u(t.uploadPercent()!==100?4:-1)}}function qe(e,p){e&1&&(d(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_restore")," ")}function Je(e,p){if(e&1){let t=B();x(0,"div",6)(1,"div",13),m(2,ze,4,7,"button",14),m(3,Ue,4,7,"button",14),S(),P(4,"div",15),x(5,"div",16)(6,"button",17),V("click",function(){w(t);let a=g();return k(a.onRestoreBackupClick())}),m(7,Qe,5,4,"span"),m(8,qe,2,3),S()()()}if(e&2){let t=g();i(2),u(t.setupWizardRestore?2:-1),i(),u(t.setupWizardRestore?-1:3),i(3),N("disabled",!t.selectedBackup&&!t.selectedFile()||t.clicked()),i(),u(t.clicked()?7:-1),i(),u(t.clicked()?-1:8)}}function Ye(e,p){if(e&1){let t=B();x(0,"div",6),P(1,"div",13),x(2,"div",15)(3,"button",20),V("click",function(){w(t);let a=g();return k(a.postBackupRestart())}),d(4),s(5,"translate"),S()(),P(6,"div",16),S()}e&2&&(i(4),C(" ",r(5,1,"menu.hbrestart.title")," "))}var xe=(()=>{class e{$activeModal=E(W);$api=E(U);$modal=E(_t);$router=E(J);$toastr=E(z);$translate=E(O);$ws=E(de);modalData=E(kt);setupWizardRestore=this.modalData.setupWizardRestore??!1;selectedBackup=this.modalData.selectedBackup??null;clicked=v(!1,{});selectedFile=v(null,{});restoreInProgress=v(!1,{});restoreStarted=v(!1,{});restoreFailed=v(!1,{});restoreArchiveType=v("homebridge",{});uploadPercent=v(0,{});io;term=new be.Terminal;termTarget;fitAddon=new ve.FitAddon;maxFileSizeText=globalThis.backup.maxBackupSizeText;ngOnInit(){this.initialize()}initialize(){return b(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",t=>{this.term.write(t)}),this.setupWizardRestore&&(this.restoreStarted.set(!0),this.restoreInProgress.set(!0),this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType()==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType()==="hbfx"&&this.uploadHbfxArchive()}handleRestoreFileInput(t){t.length?(this.selectedFile.set(t[0]),this.selectedFile()?.name.endsWith(".hbfx")?this.restoreArchiveType.set("hbfx"):this.restoreArchiveType.set("homebridge")):this.selectedFile.set(null)}postBackupRestart(){return b(this,null,function*(){try{yield this.$api.put("/backup/restart",{}),this.$activeModal.close(!0),this.$router.navigate(["/"])}catch{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(Tt,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}dismissModal(){this.$activeModal.dismiss("Dismiss")}uploadHomebridgeArchive(){return b(this,null,function*(){this.term.reset(),this.clicked.set(!0);let t=new FormData;t.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name);try{yield this.$api.post("/backup/restore",t),this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore()},500)}catch(n){console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}finally{this.clicked.set(!1)}})}restoreScheduledBackup(){return b(this,null,function*(){this.term.reset(),this.clicked.set(!0);try{yield this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}),this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore()},500)}catch(t){console.error(t),this.$toastr.error(t.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}finally{this.clicked.set(!1)}})}startRestore(){return b(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress.set(!1),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:t=>{this.restoreFailed.set(!0),console.error(t),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){return b(this,null,function*(){this.term.reset(),this.clicked.set(!0);let t=new FormData;t.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name);try{let n=yield this.$api.post("/backup/restore/hbfx",t,{reportProgress:!0,observe:"events"});n.type===Gt.UploadProgress?this.uploadPercent.set(Math.round(100*n.loaded/n.total)):n instanceof Qt&&(this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startHbfxRestore()},500))}catch(n){console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}finally{this.clicked.set(!1)}})}startHbfxRestore(){return b(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress.set(!1),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:t=>{this.restoreFailed.set(!0),console.error(t),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,a){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),S(),x(5,"button",3),s(6,"translate"),V("click",function(){return a.dismissModal()}),S()(),m(7,Oe,18,17,"div",4),P(8,"div",5),m(9,Je,9,5,"div",6),m(10,Ye,7,3,"div",6),S()),n&2&&(i(3),h(r(4,7,"backup.title_backup")),i(2),N("disabled",a.restoreInProgress()),f("aria-label",r(6,9,"form.button_close")),i(2),u(!a.restoreStarted()&&!a.setupWizardRestore?7:-1),i(),N("hidden",!a.restoreStarted()),i(),u(!a.restoreStarted()||a.restoreFailed()===!0?9:-1),i(),u(!a.restoreInProgress()&&a.restoreStarted?10:-1))},dependencies:[L],encapsulation:2})}return e})();var Se=(e,p)=>({"fa-arrow-right":e,"fa-cog fa-spin":p}),Xe=e=>({backupTime:e,dayCount:7}),Ze=(e,p)=>({"fa-trash":e,"fa-cog fa-spin":p}),ti=(e,p)=>({backupSize:e,maxBackupSizeText:p});function ei(e,p){if(e&1&&(d(0),s(1,"date"),s(2,"translate")),e&2){let t=g(2);C(" ",q(2,4,"backup.scheduled_backup_time",X(7,Xe,q(1,1,t.backupTime(),"shortTime")))," ")}}function ii(e,p){e&1&&(d(0),s(1,"translate")),e&2&&C(" ",r(1,1,"plugins.settings.restart_required")," ")}function ni(e,p){if(e&1&&m(0,ei,3,9)(1,ii,2,3),e&2){let t=g();u(t.backupTime()?0:1)}}function ai(e,p){if(e&1&&(d(0),s(1,"translate")),e&2){let t=g();C(" ",r(1,1,t.backupTime()?"plugins.settings.restart_required":"backup.scheduled_backup_disabled")," ")}}function oi(e,p){if(e&1&&(o(0,"span",33),s(1,"translate"),c(2,"i",40),d(3),l()),e&2){let t=g().$implicit;_("ngbTooltip",q(1,3,"backup.backup_exceeds_max_size",A(6,ti,t.size+"MB",t.maxBackupSizeText)))("openDelay",150),i(3),C(" ",t.size,"MB ")}}function si(e,p){if(e&1&&(o(0,"span"),d(1),l()),e&2){let t=g().$implicit;i(),C("",t.size,"MB")}}function ri(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span")(2,"span",32),d(3),s(4,"date"),l(),c(5,"br"),o(6,"small",23),d(7),s(8,"date"),m(9,oi,4,9,"span",33),m(10,si,2,1,"span"),l()(),o(11,"span",34)(12,"button",35),s(13,"translate"),s(14,"translate"),T("click",function(){let a=w(t).$implicit,y=g(2);return k(y.restore(a))}),c(15,"i",36),l(),o(16,"button",37),s(17,"translate"),s(18,"translate"),T("click",function(){let a=w(t).$implicit,y=g(2);return k(y.download(a))}),c(19,"i",38),l(),o(20,"button",39),s(21,"translate"),s(22,"translate"),T("click",function(){let a=w(t).$implicit,y=g(2);return k(y.delete(a))}),c(23,"i",25),l()()()}if(e&2){let t=p.$implicit,n=g(2);i(2),_("ngbTooltip",t.fileName)("openDelay",150),i(),C(" ",q(4,20,t.timestamp,"mediumDate")," "),i(4),C(" ",q(8,23,t.timestamp,"shortTime")," \xB7 "),i(2),u(t.size>t.maxBackupSize?9:-1),i(),u(t.size<=t.maxBackupSize?10:-1),i(2),_("disabled",n.clicked()||n.deleting()||t.size>t.maxBackupSize)("ngbTooltip",r(13,26,"form.button_restore"))("openDelay",150),f("aria-label",r(14,28,"form.button_restore")),i(4),_("disabled",n.clicked()||n.deleting())("ngbTooltip",r(17,30,"form.button_download"))("openDelay",150),f("aria-label",r(18,32,"form.button_download")),i(4),_("disabled",n.clicked()||n.deleting())("ngbTooltip",r(21,34,"form.button_delete"))("openDelay",150),f("aria-label",r(22,36,"form.button_delete")),i(3),D(A(38,Ze,t.id!==n.deleting(),t.id===n.deleting()))}}function li(e,p){if(e&1&&(o(0,"ul",27)(1,"li",9)(2,"h6",10),d(3),s(4,"translate"),l()(),j(5,ri,24,41,"li",22,K),l()),e&2){let t=g();i(3),h(r(4,1,"backup.files_auto")),i(2),G(t.scheduledBackups())}}var Tt=(()=>{class e{destroyRef=E(ft);$activeModal=E(W);$api=E(U);$backup=E(he);$modal=E(_t);$router=E(J);$settings=E(Y);$toastr=E(z);$translate=E(O);injector=E(Ct);clicked=v(!1,{});scheduledBackups=v([],{});backupTime=v("",{});deleting=v(null,{});currentSettingEnabled=v(!1,{});currentSettingPath=v("",{});enabledFormControl=new M(!1);pathFormControl=new M("");restartToastIsShown=!1;ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled.set(!this.$settings.env.scheduledBackupDisable),this.currentSettingPath.set(this.$settings.env.scheduledBackupPath),this.enabledFormControl.patchValue(this.currentSettingEnabled()),this.pathFormControl.patchValue(this.currentSettingPath()),this.enabledFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(t=>b(this,null,function*(){this.currentSettingEnabled.set(t),yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled())})),this.pathFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(t=>b(this,null,function*(){this.currentSettingPath.set(t),yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath())}))}download(t){return b(this,null,function*(){try{let n=yield this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}),a=t.fileName||"homebridge-backup.tar.gz",y=n.body.size;if(y>globalThis.backup.maxBackupSize){let R=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(y/1048576).toFixed(1)}MB`});this.$toastr.warning(R,this.$translate.instant("toast.title_warning"))}(0,Ie.saveAs)(n.body,a)}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(t){this.$activeModal.close();let n=it([{provide:kt,useValue:{selectedBackup:t}}],this.injector);this.$modal.open(xe,{size:"lg",backdrop:"static",injector:n})}delete(t){return b(this,null,function*(){this.deleting.set(t.id);try{yield this.$api.delete(`/backup/scheduled-backups/${t.id}`),this.getScheduledBackups()}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}finally{this.deleting.set(null)}})}onDownloadBackupClick(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$backup.downloadBackup(),this.clicked.set(!1)}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}onCreateBackupClick(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.post("/backup",{}),this.getScheduledBackups()}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}finally{this.clicked.set(!1)}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}saveUiSettingChange(t,n){return b(this,null,function*(){try{yield this.$api.put("/config-editor/ui",{key:t,value:n}),this.$settings.setEnvItem(t,n),this.showRestartToast()}catch(a){console.error(a),this.$toastr.error(a.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){return b(this,null,function*(){try{let t=yield this.$api.get("/backup/scheduled-backups");this.scheduledBackups.set(t)}catch(t){console.error(t)}})}getNextBackup(){return b(this,null,function*(){try{let t=yield this.$api.get("/backup/scheduled-backups/next");this.backupTime.set(t.next)}catch(t){console.error(t)}})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let t=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});t&&t.onTap&&t.onTap.pipe($(this.destroyRef)).subscribe(()=>{this.$router.navigate(["/restart"])})}}Date=Date;static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:92,vars:82,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"grey-text","small"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input","font-monospace",3,"formControl"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"small","grey-text"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups",1,"rendux-label"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled"],[1,"fas"],[1,"fas","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],["container","modal","triggers","hover",3,"ngbTooltip","openDelay"],["container","modal","triggers","hover",1,"red-text",3,"ngbTooltip","openDelay"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-exclamation-circle"]],template:function(n,a){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),l(),o(5,"button",3),s(6,"translate"),T("click",function(){return a.dismissModal()}),l()(),o(7,"div",4)(8,"div",5),c(9,"i",6),l(),o(10,"ul",7)(11,"li"),d(12),s(13,"translate"),l(),o(14,"li"),d(15),s(16,"translate"),l(),o(17,"li"),d(18),s(19,"translate"),l()(),o(20,"ul",8)(21,"li",9)(22,"h6",10),d(23),s(24,"translate"),l()(),o(25,"li",11)(26,"div",12),d(27),s(28,"translate"),c(29,"br"),o(30,"span",13),d(31),s(32,"translate"),l()(),o(33,"div",14),c(34,"input",15),s(35,"translate"),l()(),o(36,"li",16)(37,"div",17),d(38),s(39,"translate"),c(40,"br"),o(41,"span",18),m(42,ni,2,1)(43,ai,2,3),l()(),o(44,"div",19),c(45,"input",20),s(46,"translate"),c(47,"label",21),l()(),o(48,"li",22)(49,"div")(50,"span"),d(51),s(52,"translate"),l(),c(53,"br"),o(54,"small",23),d(55),s(56,"translate"),l()(),o(57,"button",24),s(58,"translate"),T("click",function(){return a.onDownloadBackupClick()}),c(59,"i",25),l()(),o(60,"li",22)(61,"div")(62,"span"),d(63),s(64,"translate"),l(),c(65,"br"),o(66,"small",23),d(67),s(68,"translate"),l()(),o(69,"button",24),s(70,"translate"),T("click",function(){return a.onCreateBackupClick()}),c(71,"i",25),l()(),o(72,"li",22)(73,"div")(74,"span"),d(75),s(76,"translate"),l(),c(77,"br"),o(78,"small",23),d(79),s(80,"translate"),l()(),o(81,"button",24),s(82,"translate"),T("click",function(){return a.restore(null)}),c(83,"i",26),l()()(),m(84,li,7,3,"ul",27),l(),o(85,"div",28),c(86,"div",17),o(87,"div",29)(88,"button",30),T("click",function(){return a.dismissModal()}),d(89),s(90,"translate"),l()(),c(91,"div",31),l()()),n&2&&(i(3),h(r(4,34,"backup.title_backup")),i(2),_("disabled",a.clicked()||a.deleting()),f("aria-label",r(6,36,"form.button_close")),i(7),h(r(13,38,"backup.backup_help_one")),i(3),h(r(16,40,"backup.backup_help_two")),i(3),h(r(19,42,"backup.backup_warning")),i(5),h(r(24,44,"backup.settings_title")),i(4),C(" ",r(28,46,"backup.settings_path")),i(4),h(r(32,48,"backup.settings_path_desc")),i(3),_("formControl",a.pathFormControl),f("aria-label",r(35,50,"backup.settings_path")),i(4),C(" ",r(39,52,"backup.settings_enable")),i(4),u(a.enabledFormControl.value?42:43),i(3),_("formControl",a.enabledFormControl),f("aria-label",r(46,54,"backup.settings_enable")),i(6),h(r(52,56,"backup.backup_now")),i(4),h(r(56,58,"backup.backup_now_desc")),i(2),_("disabled",a.clicked()),f("aria-label",r(58,60,"backup.backup_now")),i(2),D(A(76,Se,!a.clicked(),a.clicked())),i(4),h(r(64,62,"backup.backup_now")),i(4),h(r(68,64,"backup.backup_now_save_desc")),i(2),_("disabled",a.clicked()),f("aria-label",r(70,66,"backup.backup_now")),i(2),D(A(79,Se,!a.clicked(),a.clicked())),i(4),h(r(76,68,"backup.restore_now")),i(4),h(r(80,70,"backup.restore_now_desc")),i(2),_("disabled",a.clicked()),f("aria-label",r(82,72,"backup.restore_now")),i(3),u(a.scheduledBackups().length?84:-1),i(4),_("disabled",a.clicked()||a.deleting()),i(),C(" ",r(90,74,"form.button_close")," "))},dependencies:[It,ut,bt,pt,ct,St,jt,L],encapsulation:2})}return e})();function di(e,p){e&1&&(o(0,"div",12),c(1,"i",13),l(),o(2,"p",14),d(3),s(4,"translate"),l()),e&2&&(i(3),h(r(4,1,"reset.no_accessories")))}function pi(e,p){e&1&&(o(0,"div",12),c(1,"i",15),l(),o(2,"ul",16)(3,"li"),d(4),s(5,"translate"),l(),o(6,"li"),d(7),s(8,"translate"),l(),o(9,"li"),d(10),s(11,"translate"),l()(),o(12,"ngb-alert",17)(13,"p",18),d(14),s(15,"translate"),l()()),e&2&&(i(4),h(r(5,5,"reset.accessory_all.list_1")),i(3),h(r(8,7,"reset.accessory_all.list_2")),i(3),h(r(11,9,"reset.accessory_all.list_3")),i(2),_("dismissible",!1),i(2),h(r(15,11,"reset.action_is_irreversible")))}function ci(e,p){if(e&1){let t=B();o(0,"button",19),s(1,"translate"),T("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(2),s(3,"translate"),l()}if(e&2){let t=g();_("disabled",t.clicked()),f("aria-label",r(1,3,"form.button_close")),i(2),C(" ",r(3,5,"form.button_close")," ")}}function mi(e,p){if(e&1){let t=B();o(0,"button",20),s(1,"translate"),T("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(2),s(3,"translate"),l()}e&2&&(f("aria-label",r(1,2,"form.button_close")),i(2),C(" ",r(3,4,"form.button_close")," "))}function ui(e,p){e&1&&(d(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_remove")," ")}function _i(e,p){e&1&&c(0,"i",22)}function gi(e,p){if(e&1){let t=B();o(0,"button",21),T("click",function(){w(t);let a=g();return k(a.onResetCachedAccessoriesClick())}),m(1,ui,2,3),m(2,_i,1,0,"i",22),l()}if(e&2){let t=g();_("disabled",t.clicked()),i(),u(t.clicked()?-1:1),i(),u(t.clicked()?2:-1)}}var Ee=(()=>{class e{$activeModal=E(W);$api=E(U);$router=E(J);$toastr=E(z);$translate=E(O);clicked=v(!1,{});cachedAccessories=v([],{});ngOnInit(){this.loadCachedAccessories()}onResetCachedAccessoriesClick(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.put("/server/reset-cached-accessories",{}),this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return b(this,null,function*(){try{this.cachedAccessories.set(yield this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,a){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),l(),o(5,"button",3),s(6,"translate"),T("click",function(){return a.dismissModal()}),l()(),o(7,"div",4),m(8,di,5,3),m(9,pi,16,13),l(),o(10,"div",5)(11,"div",6),m(12,ci,4,7,"button",7),l(),o(13,"div",8),m(14,mi,4,6,"button",9),l(),o(15,"div",10),m(16,gi,3,3,"button",11),l()()()),n&2&&(i(3),h(r(4,8,"reset.accessory_all.title")),i(2),_("disabled",a.clicked()),f("aria-label",r(6,10,"form.button_close")),i(3),u(a.cachedAccessories.length===0?8:-1),i(),u(a.cachedAccessories.length>0?9:-1),i(3),u(a.cachedAccessories.length>0?12:-1),i(2),u(a.cachedAccessories.length===0?14:-1),i(2),u(a.cachedAccessories.length>0?16:-1))},dependencies:[yt,L],encapsulation:2})}return e})();var hi=(e,p)=>({"fa-matter":e,"fa-hap":p}),Ci=(e,p)=>({"btn-danger":e,"btn-elegant":p}),fi=(e,p,t)=>({"fa-broom":e,"fa-undo":p,"fa-spinner fa-pulse":t});function vi(e,p){e&1&&(x(0,"div",12),P(1,"i",13),S(),x(2,"p",14),d(3),s(4,"translate"),S()),e&2&&(i(3),h(r(4,1,"reset.bridge_accessories.empty")))}function bi(e,p){if(e&1){let t=B();x(0,"li",18)(1,"span",19),P(2,"i",20),S(),x(3,"span",21),d(4),P(5,"br"),x(6,"small",22)(7,"span",23),d(8),S()()(),x(9,"button",24),s(10,"translate"),V("click",function(){let a=w(t).$implicit,y=g(2);return k(y.toggleList(a._id,a._protocol))}),P(11,"i",25),S()()}if(e&2){let t=p.$implicit,n=g(2);i(2),D(A(12,hi,t._protocol==="matter",t._protocol!=="matter")),i(2),C(" ",t.name," "),i(4),h(t._username),i(),D(A(15,Ci,!n.isInList(t._id,t._protocol),n.isInList(t._id,t._protocol))),N("disabled",n.clicked()),f("aria-label",r(10,10,"form.button_delete")),i(2),D(rt(18,fi,!n.isInList(t._id,t._protocol),n.isInList(t._id,t._protocol)&&!n.clicked(),n.isInList(t._id,t._protocol)&&n.clicked()))}}function xi(e,p){if(e&1&&(x(0,"div",12),P(1,"i",15),S(),x(2,"ul",16)(3,"li"),d(4),s(5,"translate"),S(),x(6,"li"),d(7),s(8,"translate"),S(),x(9,"li"),d(10),s(11,"translate"),S()(),x(12,"ul",17),j(13,bi,12,22,"li",18,K),S()),e&2){let t=g();i(4),h(r(5,3,"reset.bridge_accessories.list_1")),i(3),h(r(8,5,"reset.clear_cache_single.list_3")),i(3),h(r(11,7,"reset.bridge_accessories.list_2")),i(3),G(t.pairings())}}function Si(e,p){if(e&1){let t=B();x(0,"button",26),V("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(1),s(2,"translate"),S()}if(e&2){let t=g();N("disabled",t.clicked()),i(),C(" ",r(2,2,"form.button_close")," ")}}function yi(e,p){if(e&1){let t=B();x(0,"button",27),V("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(1),s(2,"translate"),S()}e&2&&(i(),C(" ",r(2,1,"form.button_close")," "))}function Ii(e,p){e&1&&P(0,"i",29)}function Ei(e,p){if(e&1&&d(0),e&2){let t=g(3);C(" (",t.toDelete().length,") ")}}function wi(e,p){if(e&1&&(d(0),s(1,"translate"),m(2,Ei,1,1)),e&2){let t=g(2);C(" ",r(1,2,"form.button_remove")," "),i(2),u(t.toDelete().length>0?2:-1)}}function ki(e,p){if(e&1){let t=B();x(0,"button",28),V("click",function(){w(t);let a=g();return k(a.cleanBridges())}),m(1,Ii,1,0,"i",29)(2,wi,3,4),S()}if(e&2){let t=g();N("disabled",!t.toDelete().length||t.clicked()),i(),u(t.clicked()?1:2)}}var we=(()=>{class e{$activeModal=E(W);$api=E(U);$router=E(J);$settings=E(Y);$toastr=E(z);$translate=E(O);clicked=v(!1,{});pairings=v([],{});toDelete=v([],{});isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");ngOnInit(){this.loadPairings()}cleanBridges(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.delete("/server/pairings/accessories",{body:this.toDelete()}),this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}toggleList(t,n){this.toDelete().some(a=>a.id===t&&a.protocol===n)?this.toDelete.set(this.toDelete().filter(a=>a.id!==t||a.protocol!==n)):this.toDelete.update(a=>[...a,{id:t,protocol:n}])}isInList(t,n){return this.toDelete().some(a=>a.id===t&&a.protocol===n)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return b(this,null,function*(){try{let t=(yield this.$api.get("/server/pairings")).filter(a=>a._category==="bridge"&&!a._main).sort((a,y)=>a.name.localeCompare(y.name)),n=[];for(let a of t)n.push($t(Bt({},a),{_protocol:"hap",_displayName:a.name})),this.isMatterSupported&&a._matter&&n.push($t(Bt({},a),{_protocol:"matter",_displayName:a.name}));this.pairings.set(n)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"me-3"],[1,"fas","fa-lg"],[1,"flex-grow-1"],[1,"grey-text"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled"],[1,"fas"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,a){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),S(),x(5,"button",3),s(6,"translate"),V("click",function(){return a.dismissModal()}),S()(),x(7,"div",4),m(8,vi,5,3),m(9,xi,15,9),S(),x(10,"div",5)(11,"div",6),m(12,Si,3,4,"button",7),S(),x(13,"div",8),m(14,yi,3,3,"button",9),S(),x(15,"div",10),m(16,ki,3,2,"button",11),S()()()),n&2&&(i(3),h(r(4,8,"reset.bridge_accessories.title")),i(2),N("disabled",a.clicked()),f("aria-label",r(6,10,"form.button_close")),i(3),u(a.pairings().length===0?8:-1),i(),u(a.pairings().length>0?9:-1),i(3),u(a.pairings().length>0?12:-1),i(2),u(a.pairings().length===0?14:-1),i(2),u(a.pairings().length>0?16:-1))},dependencies:[L],encapsulation:2})}return e})();function Ti(e,p){e&1&&(d(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_reset")," ")}function Bi(e,p){e&1&&c(0,"i",16)}var ke=(()=>{class e{$activeModal=E(W);$api=E(U);$router=E(J);$toastr=E(z);$translate=E(O);clicked=v(!1,{});onResetHomebridgeAccessoryClick(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.put("/server/reset-homebridge-accessory",{}),this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"])}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,a){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),l(),o(5,"button",3),s(6,"translate"),T("click",function(){return a.dismissModal()}),l()(),o(7,"div",4)(8,"div",5),c(9,"i",6),l(),o(10,"ul",7)(11,"li"),d(12),s(13,"translate"),l(),o(14,"li"),d(15),s(16,"translate"),l(),o(17,"li"),d(18),s(19,"translate"),l(),o(20,"li"),d(21),s(22,"translate"),l()(),o(23,"ngb-alert",8)(24,"p",9),d(25),s(26,"translate"),l()()(),o(27,"div",10)(28,"div",11)(29,"button",12),s(30,"translate"),T("click",function(){return a.dismissModal()}),d(31),s(32,"translate"),l()(),c(33,"div",13),o(34,"div",14)(35,"button",15),T("click",function(){return a.onResetHomebridgeAccessoryClick()}),m(36,Ti,2,3),m(37,Bi,1,0,"i",16),l()()()()),n&2&&(i(3),h(r(4,15,"reset.bridge_all.title")),i(2),_("disabled",a.clicked()),f("aria-label",r(6,17,"form.button_close")),i(7),h(r(13,19,"reset.bridge_all.list_1")),i(3),h(r(16,21,"reset.bridge_all.list_2")),i(3),h(r(19,23,"reset.bridge_all.list_3")),i(3),h(r(22,25,"reset.bridge_all.list_4")),i(2),_("dismissible",!1),i(2),h(r(26,27,"reset.action_is_irreversible")),i(4),_("disabled",a.clicked()),f("aria-label",r(30,29,"form.button_close")),i(2),C(" ",r(32,31,"form.button_close")," "),i(4),_("disabled",a.clicked()),i(),u(a.clicked()?-1:36),i(),u(a.clicked()?37:-1))},dependencies:[yt,L],encapsulation:2})}return e})();var Vt=(e,p)=>({"btn-danger":e,"btn-elegant":p}),Te=(e,p,t)=>({"fa-refresh":e,"fa-undo":p,"fa-spinner fa-pulse":t}),$i=(e,p,t)=>({"fa-trash":e,"fa-undo":p,"fa-spinner fa-pulse":t});function Fi(e,p){e&1&&(x(0,"div",12),P(1,"i",13),S(),x(2,"p",14),d(3),s(4,"translate"),S()),e&2&&(i(3),h(r(4,1,"reset.bridges.empty")))}function Mi(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;nt("opacity",t._matterOnly?"0.25":"1"),i(),nt("opacity",t._matter?"1":"0.25")}}function Pi(e,p){e&1&&P(0,"i",22)}function Ri(e,p){if(e&1){let t=B();x(0,"li",20)(1,"span",21),m(2,Mi,2,4)(3,Pi,1,0,"i",22),S(),x(4,"span",23),d(5),P(6,"br"),x(7,"small",24),d(8),s(9,"titlecase"),S()(),x(10,"button",25),s(11,"translate"),V("click",function(){let a=w(t).$implicit,y=g(3);return k(y.toggleList(a._id,!1))}),P(12,"i",26),S()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),Lt(" ",t._username," \xB7 ",t._main?"Homebridge":r(9,10,t._category)," "),i(2),D(A(14,Vt,!n.isInList(t._id),n.isInList(t._id))),N("disabled",n.clicked()),f("aria-label",r(11,12,"form.button_unpair")),i(2),D(rt(17,Te,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked(),n.isInList(t._id)&&n.clicked()))}}function Di(e,p){if(e&1&&(x(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),s(4,"translate"),S(),x(5,"p",19),d(6),s(7,"translate"),S()(),j(8,Ri,13,21,"li",20,K),S()),e&2){let t=g(2);i(3),h(r(4,2,"reset.bridge_ind.head_non_child")),i(3),h(r(7,4,"reset.bridge_ind.desc_non_child")),i(2),G(t.pairingsNonChild())}}function Vi(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;i(),nt("opacity",t._matter?"1":"0.25")}}function Ai(e,p){e&1&&P(0,"i",22)}function Ni(e,p){if(e&1){let t=B();x(0,"li",20)(1,"span",21),m(2,Vi,2,2)(3,Ai,1,0,"i",22),S(),x(4,"span",23),d(5),P(6,"br"),x(7,"small",24),d(8),S()(),x(9,"button",25),s(10,"translate"),V("click",function(){let a=w(t).$implicit,y=g(3);return k(y.toggleList(a._id,!0))}),P(11,"i",26),S()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),h(t._username),i(),D(A(11,Vt,!n.isInList(t._id),n.isInList(t._id))),N("disabled",n.clicked()),f("aria-label",r(10,9,"form.button_unpair")),i(2),D(rt(14,Te,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked(),n.isInList(t._id)&&n.clicked()))}}function Hi(e,p){if(e&1&&(x(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),s(4,"translate"),S(),x(5,"p",19),d(6),s(7,"translate"),S()(),j(8,Ni,12,18,"li",20,K),S()),e&2){let t=g(2);i(3),h(r(4,2,"reset.bridge_ind.head_child_active")),i(3),h(r(7,4,"reset.bridge_ind.desc_child_active")),i(2),G(t.pairingsChildActive())}}function Li(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;i(),nt("opacity",t._matter?"1":"0.25")}}function Oi(e,p){e&1&&P(0,"i",22)}function zi(e,p){if(e&1){let t=B();x(0,"li",20)(1,"span",21),m(2,Li,2,2)(3,Oi,1,0,"i",22),S(),x(4,"span",23),d(5),P(6,"br"),x(7,"small",24),d(8),S()(),x(9,"button",25),s(10,"translate"),V("click",function(){let a=w(t).$implicit,y=g(3);return k(y.toggleList(a._id,!1))}),P(11,"i",26),S()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),h(t._username),i(),D(A(11,Vt,!n.isInList(t._id),n.isInList(t._id))),N("disabled",n.clicked()),f("aria-label",r(10,9,"form.button_unpair")),i(2),D(rt(14,$i,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked(),n.isInList(t._id)&&n.clicked()))}}function Ui(e,p){if(e&1&&(x(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),s(4,"translate"),S(),x(5,"p",19),d(6),s(7,"translate"),S()(),j(8,zi,12,18,"li",20,K),S()),e&2){let t=g(2);i(3),h(r(4,2,"reset.bridge_ind.head_child_stale")),i(3),h(r(7,4,"reset.bridge_ind.desc_child_stale")),i(2),G(t.pairingsChildStale())}}function Wi(e,p){if(e&1&&(x(0,"div",12),P(1,"i",15),S(),m(2,Di,10,6,"ul",16),m(3,Hi,10,6,"ul",16),m(4,Ui,10,6,"ul",16)),e&2){let t=g();i(2),u(t.pairingsNonChild().length>0?2:-1),i(),u(t.pairingsChildActive().length>0?3:-1),i(),u(t.pairingsChildStale().length>0?4:-1)}}function Ki(e,p){if(e&1){let t=B();x(0,"button",29),V("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(1),s(2,"translate"),S()}if(e&2){let t=g();N("disabled",t.clicked()),i(),C(" ",r(2,2,"form.button_close")," ")}}function ji(e,p){if(e&1){let t=B();x(0,"button",30),V("click",function(){w(t);let a=g();return k(a.dismissModal())}),d(1),s(2,"translate"),S()}e&2&&(i(),C(" ",r(2,1,"form.button_close")," "))}function Gi(e,p){if(e&1&&d(0),e&2){let t=g(3);C(" (",t.toDelete().length,") ")}}function Qi(e,p){if(e&1&&(d(0),s(1,"translate"),m(2,Gi,1,1)),e&2){let t=g(2);C(" ",r(1,2,"form.button_reset")," "),i(2),u(t.toDelete().length>0?2:-1)}}function qi(e,p){e&1&&P(0,"i",32)}function Ji(e,p){if(e&1){let t=B();x(0,"button",31),V("click",function(){w(t);let a=g();return k(a.removeBridges())}),m(1,Qi,3,4),m(2,qi,1,0,"i",32),S()}if(e&2){let t=g();N("disabled",!t.toDelete().length||t.clicked()),i(),u(t.clicked()?-1:1),i(),u(t.clicked()?2:-1)}}var Be=(()=>{class e{$activeModal=E(W);$api=E(U);$router=E(J);$settings=E(Y);$toastr=E(z);$translate=E(O);clicked=v(!1,{});pairingsNonChild=v([],{});pairingsChildActive=v([],{});pairingsChildStale=v([],{});toDelete=v([],{});isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");ngOnInit(){this.loadPairings()}toggleList(t,n=!1){this.toDelete().some(a=>a.id===t)?this.toDelete.set(this.toDelete().filter(a=>a.id!==t)):this.toDelete.update(a=>[...a,{id:t,resetPairingInfo:n}])}isInList(t){return this.toDelete().some(n=>n.id===t)}removeBridges(){return b(this,null,function*(){this.clicked.set(!0);try{yield this.$api.delete("/server/pairings",{body:this.toDelete()}),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}}),this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success"))}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return b(this,null,function*(){try{let t=(yield this.$api.get("/server/pairings")).filter(n=>!n._main).sort((n,a)=>n.name.localeCompare(a.name));this.pairingsChildActive.set(t.filter(n=>n._category==="bridge"&&!n._couldBeStale)),this.pairingsNonChild.set(t.filter(n=>n._category!=="bridge")),this.pairingsChildStale.set(t.filter(n=>n._category==="bridge"&&n._couldBeStale))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"me-3"],[1,"fas","fa-lg","fa-hap"],[1,"flex-grow-1"],[1,"grey-text","font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled"],[1,"fas"],[1,"fas","fa-lg","fa-hap","me-2"],[1,"fas","fa-lg","fa-matter"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,a){n&1&&(x(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),S(),x(5,"button",3),s(6,"translate"),V("click",function(){return a.dismissModal()}),S()(),x(7,"div",4),m(8,Fi,5,3),m(9,Wi,5,3),S(),x(10,"div",5)(11,"div",6),m(12,Ki,3,4,"button",7),S(),x(13,"div",8),m(14,ji,3,3,"button",9),S(),x(15,"div",10),m(16,Ji,3,3,"button",11),S()()()),n&2&&(i(3),h(r(4,8,"reset.bridge_ind.title")),i(2),N("disabled",a.clicked()),f("aria-label",r(6,10,"form.button_close")),i(3),u(a.pairingsChildActive().length===0&&a.pairingsChildStale().length===0&&a.pairingsNonChild().length===0?8:-1),i(),u(a.pairingsChildActive().length>0||a.pairingsChildStale().length>0||a.pairingsNonChild().length>0?9:-1),i(3),u(a.pairingsChildActive().length>0||a.pairingsChildStale().length>0||a.pairingsNonChild().length>0?12:-1),i(2),u(a.pairingsChildActive().length===0&&a.pairingsChildStale().length===0&&a.pairingsNonChild().length===0?14:-1),i(2),u(a.pairingsChildActive().length>0||a.pairingsChildStale().length>0||a.pairingsNonChild().length>0?16:-1))},dependencies:[dt,L],encapsulation:2})}return e})();function Yi(e,p){if(e&1){let t=B();o(0,"li",9)(1,"div")(2,"span",16),d(3),l(),c(4,"br"),o(5,"span",17),d(6),l()(),o(7,"span")(8,"input",18),Ut("ngModelChange",function(a){let y=w(t).$implicit;return zt(y.selected,a)||(y.selected=a),k(a)}),T("ngModelChange",function(){w(t);let a=g();return k(a.onAdapterSelectionChange())}),l(),c(9,"label",19),l()()}if(e&2){let t=p.$implicit;i(3),h(t.ip4||t.ip6),i(3),h(t.iface),i(2),_("id","adapter"+t.iface),Ot("ngModel",t.selected),i(),_("for","adapter"+t.iface)}}var $e=(()=>{class e{$activeModal=E(W);modalData=E(Et);adaptersAvailable=this.modalData.adaptersAvailable;adaptersSelected=this.modalData.adaptersSelected;isUnchanged=v(!0,{});adaptersOriginal=[];ngOnInit(){this.adaptersAvailable.forEach(t=>{t.selected=this.adaptersSelected.some(n=>n.iface===t.iface)}),this.adaptersOriginal=this.adaptersSelected.map(t=>t.iface)}onAdapterSelectionChange(){this.isUnchanged.set(this.adaptersOriginal.length===this.adaptersAvailable.filter(t=>t.selected).length&&this.adaptersOriginal.every(t=>this.adaptersAvailable.some(n=>n.iface===t&&n.selected)))}submit(){this.$activeModal.close(this.adaptersAvailable.filter(t=>t.selected).map(t=>t.iface))}closeAndReset(){this.adaptersAvailable.forEach(t=>{t.selected=this.adaptersOriginal.includes(t.iface)}),this.isUnchanged.set(!0),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"font-monospace"],[1,"font-monospace","grey-text"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"rendux-label","ms-3",3,"for"]],template:function(n,a){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),d(3),s(4,"translate"),l(),o(5,"button",3),s(6,"translate"),T("click",function(){return a.closeAndReset()}),l()(),o(7,"div",4)(8,"div",5),c(9,"i",6),l(),o(10,"ul",7)(11,"li"),d(12),s(13,"translate"),l()(),o(14,"ul",8),j(15,Yi,10,5,"li",9,K),l()(),o(17,"div",10)(18,"div",11)(19,"button",12),s(20,"translate"),T("click",function(){return a.closeAndReset()}),d(21),s(22,"translate"),l()(),c(23,"div",13),o(24,"div",14)(25,"button",15),T("click",function(){return a.submit()}),d(26),s(27,"translate"),l()()()()),n&2&&(i(3),h(r(4,7,"settings.network.title_network_interfaces")),i(2),f("aria-label",r(6,9,"form.button_close")),i(7),h(r(13,11,"settings.network.message_network_interface")),i(3),G(a.adaptersAvailable),i(4),f("aria-label",r(20,13,"form.button_close")),i(2),C(" ",r(22,15,"form.button_close")," "),i(4),_("disabled",a.isUnchanged()),i(),C(" ",r(27,17,"form.button_save")," "))},dependencies:[mt,pt,ct,xt,L],encapsulation:2})}return e})();var Xi=["wallpaperInput"],Zi=e=>({maxFileSizeText:e});function tn(e,p){if(e&1){let t=B();x(0,"div",10),P(1,"img",20),x(2,"button",21),s(3,"translate"),V("click",function(){w(t);let a=g();return k(a.clearWallpaper())}),P(4,"i",22),S()()}if(e&2){let t=g();i(),N("src",t.wallpaperUrl(),Nt),i(),f("aria-label",r(3,2,"form.button_delete"))}}function en(e,p){e&1&&P(0,"div",11)}var Fe=(()=>{class e{$activeModal=E(W);$api=E(U);$settings=E(Y);$toastr=E(z);$translate=E(O);wallpaperInput=lt("wallpaperInput",{});clicked=v(!1,{});selectedFile=v(null,{});wallpaperUrl=v(null,{});originalWallpaperUrl=v(null,{});maxFileSizeText=globalThis.backup.maxBackupSizeText;ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl.set(`${Jt.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`),this.originalWallpaperUrl.set(this.wallpaperUrl()))}onFileChange(t){if(t.length){this.selectedFile.set(t[0]);let n=new FileReader;n.onload=a=>{this.wallpaperUrl.set(a.target.result)},n.readAsDataURL(this.selectedFile())}else this.selectedFile.set(null),this.wallpaperUrl.set(this.originalWallpaperUrl())}saveWallpaper(){return b(this,null,function*(){this.clicked.set(!0);try{if(this.selectedFile()){let t=new FormData;t.append("wallpaper",this.selectedFile(),this.selectedFile()?.name),yield this.$api.post("/server/wallpaper",t),this.$settings.setItem("wallpaper",`ui-wallpaper.${this.selectedFile()?.name.split(".").pop()}`),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))}else yield this.$api.delete("/server/wallpaper"),this.$activeModal.close()}catch(t){console.error(t),this.$toastr.error(t.error?.message,this.$translate.instant("toast.title_error")),this.clicked.set(!1)}})}clearWallpaper(){this.selectedFile.set(null),this.wallpaperUrl.set(this.wallpaperUrl()===this.originalWallpaperUrl()?null:this.originalWallpaperUrl());let t=this.wallpaperInput();t&&(t.nativeElement.value="")}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],viewQuery:function(n,a){n&1&&st(a.wallpaperInput,Xi,5),n&2&&vt()},decls:36,vars:28,consts:[["wallpaperInput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-trash"]],template:function(n,a){if(n&1){let y=B();x(0,"div",1)(1,"div",2)(2,"h5",3),d(3),s(4,"translate"),S(),x(5,"button",4),s(6,"translate"),V("click",function(){return w(y),k(a.dismissModal())}),S()(),x(7,"div",5)(8,"div",6),P(9,"i",7),S(),x(10,"ul",8)(11,"li"),d(12),s(13,"translate"),S(),x(14,"li"),d(15),s(16,"translate"),S(),x(17,"li"),d(18),s(19,"translate"),S()(),x(20,"div",9),m(21,tn,5,4,"div",10)(22,en,1,0,"div",11),S(),x(23,"div",12)(24,"input",13,0),V("change",function(I){return w(y),k(a.onFileChange(I.target.files))}),S()()(),x(26,"div",14)(27,"div",15)(28,"button",16),V("click",function(){return w(y),k(a.dismissModal())}),d(29),s(30,"translate"),S()(),P(31,"div",17),x(32,"div",18)(33,"button",19),V("click",function(){return w(y),k(a.saveWallpaper())}),d(34),s(35,"translate"),S()()()()}n&2&&(i(3),h(r(4,11,"settings.display.wallpaper")),i(2),N("disabled",a.clicked()),f("aria-label",r(6,13,"form.button_close")),i(7),h(r(13,15,"settings.display.wallpaper_intro")),i(3),h(q(16,17,"settings.display.wallpaper_rule",X(26,Zi,a.maxFileSizeText))),i(3),h(r(19,20,"settings.display.wallpaper_rule2")),i(3),u(a.wallpaperUrl()?21:22),i(7),N("disabled",a.clicked()),i(),C(" ",r(30,22,"form.button_close")," "),i(4),N("disabled",a.wallpaperUrl()===a.originalWallpaperUrl()||a.clicked()),i(),C(" ",r(35,24,"form.button_save")," "))},dependencies:[ut,L],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return e})();var nn=["searchInput"],an=["sslKeyCertInput"],on=["sslPfxInput"],sn=()=>({standalone:!0}),tt=(e,p)=>({"fa-chevron-down":e,"fa-chevron-right":p}),At=e=>({link:e}),rn=(e,p)=>({"badge-danger":e,"badge-info":p});function ln(e,p){if(e&1){let t=B();o(0,"button",13),s(1,"translate"),T("click",function(){w(t);let a=g(2);return k(a.clearSearch())}),c(2,"i",14),l()}e&2&&f("aria-label",r(1,1,"form.button_clear"))}function dn(e,p){if(e&1){let t=B();o(0,"div",8)(1,"div",9)(2,"form",10)(3,"input",11,0),s(5,"translate"),T("ngModelChange",function(a){w(t);let y=g();return k(y.searchQuery.set(a))})("ngModelChange",function(){w(t);let a=g();return k(a.filterSettings())}),l(),m(6,ln,3,3,"button",12),l()()()}if(e&2){let t=g();i(3),_("placeholder",r(5,4,"form.search"))("ngModel",t.searchQuery())("ngModelOptions",Kt(6,sn)),i(3),u(t.searchQuery()?6:-1)}}function pn(e,p){e&1&&c(0,"app-spinner")}function cn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function mn(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),l(),o(4,"div",23),c(5,"input",24),s(6,"translate"),m(7,cn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),h(r(3,7,"settings.name")),i(3),Q("is-invalid",t.hbNameIsInvalid()),_("formControl",t.hbNameFormControl),f("aria-label",r(6,9,"settings.name")),i(2),u(t.hbNameIsSaving()?7:-1)}}function un(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),l(),o(4,"button",27),s(5,"translate"),T("click",function(){w(t);let a=g(4);return k(a.openBackupModal())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(r(3,3,"backup.title_backup")),i(2),f("aria-label",r(5,5,"backup.title_backup")))}function _n(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),l(),o(4,"button",27),s(5,"translate"),T("click",function(){w(t);let a=g(4);return k(a.openConfigBackup())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(r(3,3,"config.restore.title")),i(2),f("aria-label",r(5,5,"config.restore.title")))}function gn(e,p){e&1&&(o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),l(),o(4,"a",29),s(5,"translate"),c(6,"i",28),l()()),e&2&&(_("@smoothHide",void 0),i(2),h(r(3,3,"menu.tooltip_user_accounts")),i(2),f("aria-label",r(5,5,"menu.tooltip_user_accounts")))}function hn(e,p){if(e&1&&(o(0,"ul",20),m(1,mn,8,11,"li",21),m(2,un,7,7,"li",22),m(3,_n,7,7,"li",22),m(4,gn,7,7,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-name")?-1:1),i(),u(t.isItemHidden("setting-backup")?-1:2),i(),u(t.isItemHidden("setting-restore")?-1:3),i(),u(t.isItemHidden("setting-users")?-1:4)}}function Cn(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("general"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,hn,5,4,"ul",20),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().general?"true":"false")("aria-controls","fieldsGeneral"),i(2),D(A(8,tt,t.showFields().general,!t.showFields().general)),i(),C(" ",r(5,6,"settings.general.title_general")," "),i(2),u(t.showFields().general?6:-1)}}function fn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function vn(e,p){if(e&1&&(o(0,"li",21),d(1),s(2,"translate"),o(3,"div",23)(4,"select",31)(5,"option",32),d(6),s(7,"translate"),l(),o(8,"option",33),d(9,"Bulgarian (bg)"),l(),o(10,"option",34),d(11,"Catalan (ca)"),l(),o(12,"option",35),d(13,"Chinese - Simplified (zh-CN)"),l(),o(14,"option",36),d(15,"Chinese - Traditional (zh-TW)"),l(),o(16,"option",37),d(17,"Czech (cs)"),l(),o(18,"option",38),d(19,"Dutch (nl)"),l(),o(20,"option",39),d(21,"English (en)"),l(),o(22,"option",40),d(23,"Finnish (fi)"),l(),o(24,"option",41),d(25,"French (fr)"),l(),o(26,"option",42),d(27,"German (de)"),l(),o(28,"option",43),d(29,"Hebrew (he)"),l(),o(30,"option",44),d(31,"Hungarian (hu)"),l(),o(32,"option",45),d(33,"Indonesian (id)"),l(),o(34,"option",46),d(35,"Italian (it)"),l(),o(36,"option",47),d(37,"Japanese (ja)"),l(),o(38,"option",48),d(39,"Korean (ko)"),l(),o(40,"option",49),d(41,"Macedonian (mk)"),l(),o(42,"option",50),d(43,"Norwegian (no)"),l(),o(44,"option",51),d(45,"Polish (pl)"),l(),o(46,"option",52),d(47,"Portuguese (Brazil)"),l(),o(48,"option",53),d(49,"Portuguese (Portugal)"),l(),o(50,"option",54),d(51,"Russian (ru)"),l(),o(52,"option",55),d(53,"Slovenian (sl)"),l(),o(54,"option",56),d(55,"Spanish (es)"),l(),o(56,"option",57),d(57,"Swedish (sv)"),l(),o(58,"option",58),d(59,"Thai (th)"),l(),o(60,"option",59),d(61,"Turkish (tr)"),l(),o(62,"option",60),d(63,"Ukrainian (uk)"),l()(),m(64,fn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,5,"settings.display.lang")," "),i(3),_("formControl",t.uiLangFormControl),i(2),h(r(7,7,"form.select.auto")),i(58),u(t.uiLangIsSaving()?64:-1)}}function bn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function xn(e,p){if(e&1&&(o(0,"li",21),d(1),s(2,"translate"),o(3,"div",23)(4,"select",31)(5,"option",61),d(6),s(7,"translate"),l(),o(8,"option",62),d(9),s(10,"translate"),l(),o(11,"option",63),d(12),s(13,"translate"),l(),o(14,"option",64),d(15),s(16,"translate"),l(),o(17,"option",65),d(18),s(19,"translate"),l(),o(20,"option",66),d(21),s(22,"translate"),l(),o(23,"option",67),d(24),s(25,"translate"),l(),o(26,"option",68),d(27),s(28,"translate"),l(),o(29,"option",69),d(30),s(31,"translate"),l(),o(32,"option",70),d(33),s(34,"translate"),l(),o(35,"option",71),d(36),s(37,"translate"),l(),o(38,"option",72),d(39),s(40,"translate"),l(),o(41,"option",73),d(42),s(43,"translate"),l()(),m(44,bn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,17,"settings.display.theme")," "),i(3),_("formControl",t.uiThemeFormControl),i(2),h(r(7,19,"settings.display.orange")),i(3),h(r(10,21,"settings.display.red")),i(3),h(r(13,23,"settings.display.pink")),i(3),h(r(16,25,"settings.display.purple")),i(3),h(r(19,27,"settings.display.deep_purple")),i(3),h(r(22,29,"settings.display.indigo")),i(3),h(r(25,31,"settings.display.blue")),i(3),h(r(28,33,"settings.display.bluegrey")),i(3),h(r(31,35,"settings.display.cyan")),i(3),h(r(34,37,"settings.display.green")),i(3),h(r(37,39,"settings.display.teal")),i(3),h(r(40,41,"settings.display.grey")),i(3),h(r(43,43,"settings.display.brown")),i(2),u(t.uiThemeIsSaving()?44:-1)}}function Sn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function yn(e,p){if(e&1&&(o(0,"li",21),d(1),s(2,"translate"),o(3,"div",23)(4,"select",31)(5,"option",32),d(6),s(7,"translate"),l(),o(8,"option",74),d(9),s(10,"translate"),l(),o(11,"option",75),d(12),s(13,"translate"),l()(),m(14,Sn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,7,"settings.display.lighting_mode")," "),i(3),_("formControl",t.uiLightFormControl),i(2),h(r(7,9,"form.select.auto")),i(3),h(r(10,11,"settings.display.light")),i(3),h(r(13,13,"settings.display.dark")),i(2),u(t.uiLightIsSaving()?14:-1)}}function In(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function En(e,p){if(e&1&&(o(0,"li",21),d(1),s(2,"translate"),o(3,"div",23)(4,"select",31)(5,"option",76),d(6),s(7,"translate"),l(),o(8,"option",77),d(9),s(10,"translate"),l()(),m(11,In,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,6,"settings.display.menu_mode")," "),i(3),_("formControl",t.uiMenuFormControl),i(2),h(r(7,8,"settings.display.menu_default")),i(3),h(r(10,10,"settings.display.menu_freeze")),i(2),u(t.uiMenuIsSaving()?11:-1)}}function wn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function kn(e,p){if(e&1&&(o(0,"li",21),d(1),s(2,"translate"),o(3,"div",23)(4,"select",31)(5,"option",78),d(6),s(7,"translate"),l(),o(8,"option",79),d(9),s(10,"translate"),l()(),m(11,wn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,6,"settings.display.temp_units")," "),i(3),_("formControl",t.uiTempFormControl),i(2),h(r(7,8,"settings.display.temp_units.c")),i(3),h(r(10,10,"settings.display.temp_units.f")),i(2),u(t.uiTempIsSaving()?11:-1)}}function Tn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Bn(e,p){if(e&1&&(o(0,"li",22),d(1),s(2,"translate"),o(3,"div",80)(4,"div",81),c(5,"input",82),s(6,"translate"),c(7,"label",83),l(),m(8,Tn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",r(2,5,"settings.display.show_betas")," "),i(4),_("formControl",t.uiAlwaysShowBetasFormControl),f("aria-label",r(6,7,"settings.display.show_betas")),i(3),u(t.uiAlwaysShowBetasIsSaving()?8:-1)}}function $n(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),l(),o(4,"button",27),s(5,"translate"),T("click",function(){w(t);let a=g(4);return k(a.openWallpaperModal())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(r(3,3,"settings.display.wallpaper")),i(2),f("aria-label",r(5,5,"settings.display.wallpaper")))}function Fn(e,p){if(e&1&&(o(0,"ul",30),m(1,vn,65,9,"li",21),m(2,xn,45,45,"li",21),m(3,yn,15,15,"li",21),m(4,En,12,12,"li",21),m(5,kn,12,12,"li",21),m(6,Bn,9,9,"li",22),m(7,$n,7,7,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-lang")?-1:1),i(),u(t.isItemHidden("setting-theme")?-1:2),i(),u(t.isItemHidden("setting-lighting")?-1:3),i(),u(t.isItemHidden("setting-menu")?-1:4),i(),u(t.isItemHidden("setting-temp")?-1:5),i(),u(t.isItemHidden("setting-betas")?-1:6),i(),u(t.isItemHidden("setting-wallpaper")?-1:7)}}function Mn(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("display"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Fn,8,7,"ul",30),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().display?"true":"false")("aria-controls","fieldsDisplay"),i(2),D(A(8,tt,t.showFields().display,!t.showFields().display)),i(),C(" ",r(5,6,"settings.general.title_display")," "),i(2),u(t.showFields().display?6:-1)}}function Pn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Rn(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"code"),d(5,"-D"),l(),c(6,"br"),o(7,"small",85),d(8),s(9,"translate"),l()(),o(10,"div",80)(11,"div",81),c(12,"input",86),s(13,"translate"),c(14,"label",87),l(),m(15,Pn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.startup.debug")," "),i(6),h(r(9,8,t.debugFieldDesc)),i(4),_("formControl",t.hbDebugFormControl),f("aria-label",r(13,10,"settings.startup.debug")),i(3),u(t.hbDebugIsSaving()?15:-1)}}function Dn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Vn(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"code"),d(5,"-I"),l(),c(6,"br"),o(7,"small",85),d(8),s(9,"translate"),l()(),o(10,"div",80)(11,"div",81),c(12,"input",88),s(13,"translate"),c(14,"label",89),l(),m(15,Dn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.startup.insecure")," "),i(6),h(r(9,8,"settings.startup.insecure_desc")),i(4),_("formControl",t.hbInsecureFormControl),f("aria-label",r(13,10,"settings.startup.insecure")),i(3),u(t.hbInsecureIsSaving()?15:-1)}}function An(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Nn(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"code"),d(5,"-K"),l(),c(6,"br"),o(7,"small",85),d(8),s(9,"translate"),l()(),o(10,"div",80)(11,"div",81),c(12,"input",90),s(13,"translate"),c(14,"label",91),l(),m(15,An,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.startup.keep_accessories")," "),i(6),h(r(9,8,"settings.startup.keep_accessories_desc")),i(4),_("formControl",t.hbKeepFormControl),f("aria-label",r(13,10,"settings.startup.keep_accessories")),i(3),u(t.hbKeepIsSaving()?15:-1)}}function Hn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ln(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br"),o(8,"small",85),c(9,"span",93),s(10,"translate"),d(11),s(12,"translate"),l()(),o(13,"div",94)(14,"div",95),c(15,"input",96),s(16,"translate"),m(17,Hn,1,1,"i",25),l()()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,14,"settings.startup.scheduled_restart")," "),i(3),h(r(6,16,"common.labels.beta")),i(4),_("innerHtml",q(10,18,"settings.startup.scheduled_restart_desc",X(25,At,t.linkCron)),et),i(2),C(" ",r(12,21,"settings.startup.scheduled_restart_desc_2")," "),i(4),nt("letter-spacing","0.15em")("text-align","center"),Q("is-invalid",t.scheduledRestartCronIsInvalid()),_("formControl",t.scheduledRestartCronFormControl),f("aria-label",r(16,23,"settings.startup.scheduled_restart")),i(2),u(t.scheduledRestartCronIsSaving()?17:-1)}}function On(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function zn(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",80)(9,"div",81),c(10,"input",97),s(11,"translate"),c(12,"label",98),l(),m(13,On,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.startup.metrics")),i(4),h(r(7,8,"settings.startup.metrics_desc")),i(4),_("formControl",t.uiMetricsFormControl),f("aria-label",r(11,10,"settings.startup.metrics")),i(3),u(t.uiMetricsIsSaving()?13:-1)}}function Un(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Wn(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",99),s(10,"translate"),m(11,Un,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.network.hb_package")),i(4),h(r(7,8,"settings.network.hb_package_desc")),i(3),_("formControl",t.hbPackageFormControl),f("aria-label",r(10,10,"settings.network.hb_package")),i(2),u(t.hbPackageIsSaving()?11:-1)}}function Kn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function jn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Gn(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",101),c(9,"input",102),s(10,"translate"),m(11,jn,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.linux.restart")),i(4),h(r(7,8,"settings.linux.restart_desc")),i(3),_("formControl",t.hbLinuxRestartFormControl),f("aria-label",r(10,10,"settings.linux.restart")),i(2),u(t.hbLinuxRestartIsSaving()?11:-1)}}function Qn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function qn(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",103),s(10,"translate"),m(11,Qn,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.linux.temp")),i(4),h(r(7,8,"settings.linux.temp_desc")),i(3),_("formControl",t.uiTempFileFormControl),f("aria-label",r(10,10,"settings.linux.temp")),i(2),u(t.uiTempFileIsSaving()?11:-1)}}function Jn(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",100),s(10,"translate"),m(11,Kn,1,1,"i",25),l()(),m(12,Gn,12,12,"li",21),m(13,qn,12,12,"li",21)),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.linux.shutdown")),i(4),h(r(7,10,"settings.linux.shutdown_desc")),i(3),_("formControl",t.hbLinuxShutdownFormControl),f("aria-label",r(10,12,"settings.linux.shutdown")),i(2),u(t.hbLinuxShutdownIsSaving()?11:-1),i(),u(t.isItemHidden("setting-linux-restart")?-1:12),i(),u(t.runningOnRaspberryPi?13:-1)}}function Yn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Xn(e,p){if(e&1&&(o(0,"li",21)(1,"span")(2,"span",104),d(3,"DEBUG"),l(),c(4,"br")(5,"small",105),s(6,"translate"),l(),o(7,"div",23),c(8,"input",106),m(9,Yn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(5),_("innerHTML",q(6,4,"settings.service.debug_tooltip",X(7,At,t.linkDebug)),et),i(3),_("formControl",t.hbEnvDebugFormControl),i(),u(t.hbEnvDebugIsSaving()?9:-1)}}function Zn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ta(e,p){if(e&1&&(o(0,"li",21)(1,"span")(2,"span",104),d(3,"NODE_OPTIONS"),l(),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",107),m(10,Zn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(6),h(r(7,4,"settings.service.node_tooltip")),i(3),_("formControl",t.hbEnvNodeFormControl),i(),u(t.hbEnvNodeIsSaving()?10:-1)}}function ea(e,p){e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"a",108),s(9,"translate"),c(10,"i",28),l()()),e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"menu.docker.startup_script")),i(4),h(r(7,6,"platform.docker.script_help")),i(2),f("aria-label",r(9,8,"menu.docker.startup_script")))}function ia(e,p){if(e&1&&(o(0,"ul",84),m(1,Rn,16,12,"li",22),m(2,Vn,16,12,"li",22),m(3,Nn,16,12,"li",22),m(4,Ln,18,27,"li",21),m(5,zn,14,12,"li",22),m(6,Wn,12,12,"li",21),m(7,Jn,14,14),m(8,Xn,10,9,"li",21),m(9,ta,11,6,"li",21),m(10,ea,11,10,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-debug")?-1:1),i(),u(t.isItemHidden("setting-insecure")?-1:2),i(),u(t.isItemHidden("setting-keep")?-1:3),i(),u(t.isItemHidden("setting-scheduled-restart")?-1:4),i(),u(t.isItemHidden("setting-metrics-startup")?-1:5),i(),u(t.isItemHidden("setting-package-path")?-1:6),i(),u(t.platform==="linux"?7:-1),i(),u(t.isItemHidden("setting-env-debug-manual")?-1:8),i(),u(t.isItemHidden("setting-env-node")?-1:9),i(),u(t.runningInDocker?10:-1)}}function na(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("startup"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,ia,11,10,"ul",84),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().startup?"true":"false")("aria-controls","fieldsStartup"),i(2),D(A(8,tt,t.showFields().startup,!t.showFields().startup)),i(),C(" ",r(5,6,"settings.title_startup_options")," "),i(2),u(t.showFields().startup?6:-1)}}function aa(e,p){e&1&&c(0,"i",114)}function oa(e,p){if(e&1&&(o(0,"span",113),m(1,aa,1,0,"i",114),d(2),o(3,"span",115),d(4),s(5,"translate"),l()()),e&2){let t=p.$implicit;D(A(7,rn,t.missing,!t.missing)),i(),u(t.missing?1:-1),i(),C(" ",t.iface,": "),i(2),h(t.missing?r(5,5,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function sa(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"div",110),d(6),s(7,"translate"),l(),j(8,oa,6,10,"span",111,K),l(),o(10,"button",112),s(11,"translate"),T("click",function(){w(t);let a=g(4);return k(a.selectNetworkInterfaces())}),c(12,"i",28),l()()}if(e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,5,"settings.network.title_network_interfaces")),i(4),h(r(7,7,"settings.network.message_network_interface")),i(2),G(t.adaptersSelected()),i(2),_("disabled",!t.adaptersAvailable().length),f("aria-label",r(11,9,"settings.network.title_network_interfaces"))}}function ra(e,p){e&1&&(o(0,"option",116),d(1),s(2,"translate"),l()),e&2&&(i(),C("Avahi (",r(2,1,"settings.mdns_advertiser_rec"),")"))}function la(e,p){e&1&&(o(0,"option",119),d(1),s(2,"translate"),l()),e&2&&(i(),C("systemd-resolved (",r(2,1,"settings.mdns_advertiser_exp"),")"))}function da(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function pa(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23)(9,"select",31),s(10,"translate"),m(11,ra,3,3,"option",116),o(12,"option",117),d(13),s(14,"translate"),l(),o(15,"option",118),d(16,"Bonjour HAP"),l(),m(17,la,3,3,"option",119),l(),m(18,da,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,9,"settings.mdns_advertiser")),i(4),h(r(7,11,"settings.mdns_advertiser_help")),i(3),_("formControl",t.hbMDnsFormControl),f("aria-label",r(10,13,"settings.mdns_advertiser")),i(2),u(t.showAvahiMdnsOption()?11:-1),i(2),C(" Ciao ",t.showAvahiMdnsOption?"":"("+r(14,15,"settings.mdns_advertiser_rec")+")"," "),i(4),u(t.showResolvedMdnsOption()?17:-1),i(),u(t.hbMDnsIsSaving()?18:-1)}}function ca(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ma(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",120),s(10,"translate"),m(11,ca,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.network.port_hb")),i(4),h(r(7,10,"settings.network.port_hb_desc")),i(3),Q("is-invalid",t.hbPortIsInvalid()),_("formControl",t.hbPortFormControl),f("aria-label",r(10,12,"settings.network.port_hb")),i(2),u(t.hbPortIsSaving()?11:-1)}}function ua(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function _a(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",120),s(10,"translate"),m(11,ua,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.network.port_start")),i(4),h(r(7,10,"settings.network.port_start_desc")),i(3),Q("is-invalid",t.hbStartPortIsInvalid()),_("formControl",t.hbStartPortFormControl),f("aria-label",r(10,12,"settings.network.port_start")),i(2),u(t.hbStartPortIsSaving()?11:-1)}}function ga(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ha(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",120),s(10,"translate"),m(11,ga,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.network.port_end")),i(4),h(r(7,10,"settings.network.port_end_desc")),i(3),Q("is-invalid",t.hbEndPortIsInvalid()),_("formControl",t.hbEndPortFormControl),f("aria-label",r(10,12,"settings.network.port_end")),i(2),u(t.hbEndPortIsSaving()?11:-1)}}function Ca(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function fa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function va(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br")(5,"small",121),s(6,"translate"),m(7,Ca,5,3),l(),o(8,"div",23),c(9,"input",122),s(10,"translate"),m(11,fa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,7,"settings.network.host")),i(3),_("innerHtml",r(6,9,"settings.network.host_desc"),et),i(2),u(t.isPwa?7:-1),i(2),_("formControl",t.uiHostFormControl),f("aria-label",r(10,11,"settings.network.host")),i(2),u(t.uiHostIsSaving()?11:-1)}}function ba(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function xa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Sa(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l(),m(8,ba,5,3),l(),o(9,"div",23),c(10,"input",124),s(11,"translate"),m(12,xa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,7,"settings.network.proxy")),i(4),h(r(7,9,"settings.network.proxy_desc")),i(2),u(t.isPwa?8:-1),i(2),_("formControl",t.uiProxyHostFormControl),f("aria-label",r(11,11,"settings.network.proxy")),i(2),u(t.uiProxyHostIsSaving()?12:-1)}}function ya(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Ia(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ea(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l(),m(8,ya,5,3),l(),o(9,"div",23),c(10,"input",125),s(11,"translate"),m(12,Ia,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,9,"settings.network.port_ui")),i(4),h(r(7,11,"settings.network.port_ui_desc")),i(2),u(t.isPwa?8:-1),i(2),Q("is-invalid",t.uiPortIsInvalid()),_("formControl",t.uiPortFormControl),f("aria-label",r(11,13,"settings.network.port_ui")),i(2),u(t.uiPortIsSaving()?12:-1)}}function wa(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123)(3,"span",93),s(4,"translate"),l()),e&2&&(i(3),_("innerHtml",r(4,1,"settings.warning_webroot"),et))}function ka(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123)(3,"span",93),s(4,"translate"),l()),e&2&&(i(3),_("innerHtml",r(4,1,"settings.warning_pwa"),et))}function Ta(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ba(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br")(8,"small",121),s(9,"translate"),m(10,wa,5,3)(11,ka,5,3),l(),o(12,"div",23),c(13,"input",126),s(14,"translate"),m(15,Ta,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.network.webroot")," "),i(3),h(r(6,10,"common.labels.beta")),i(3),_("innerHtml",r(9,12,"settings.network.webroot_desc"),et),i(2),u(t.webrootSettingDisabledAccess?10:t.isPwa?11:-1),i(3),_("formControl",t.uiWebrootFormControl),f("aria-label",r(14,14,"settings.network.webroot")),i(2),u(t.uiWebrootIsSaving()?15:-1)}}function $a(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Fa(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br"),o(8,"small",85),d(9),s(10,"translate"),l()(),o(11,"div",80)(12,"div",81),c(13,"input",127),s(14,"translate"),c(15,"label",128),l(),m(16,$a,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,7,"settings.network.mdns_advertise")," "),i(3),h(r(6,9,"common.labels.beta")),i(4),h(r(10,11,"settings.network.mdns_advertise_help")),i(4),_("formControl",t.enableMdnsAdvertiseFormControl),f("aria-label",r(14,13,"settings.network.mdns_advertise")),i(3),u(t.enableMdnsAdvertiseIsSaving()?16:-1)}}function Ma(e,p){if(e&1&&(o(0,"ul",109),m(1,sa,13,11,"li",22),m(2,pa,19,17,"li",21),m(3,ma,12,14,"li",21),m(4,_a,12,14,"li",21),m(5,ha,12,14,"li",21),m(6,va,12,13,"li",21),m(7,Sa,13,13,"li",21),m(8,Ea,13,15,"li",21),m(9,Ba,16,16,"li",21),m(10,Fa,17,15,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-interfaces")?-1:1),i(),u(t.isItemHidden("setting-mdns")?-1:2),i(),u(t.isItemHidden("setting-port-hb")?-1:3),i(),u(t.isItemHidden("setting-port-range")?-1:4),i(),u(t.isItemHidden("setting-port-end")?-1:5),i(),u(t.isItemHidden("setting-network-host")?-1:6),i(),u(t.isItemHidden("setting-network-proxy")?-1:7),i(),u(t.isItemHidden("setting-ui-port-network")?-1:8),i(),u(t.isItemHidden("setting-webroot-network")?-1:9),i(),u(t.isItemHidden("setting-mdns-advertise")?-1:10)}}function Pa(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("network"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Ma,11,10,"ul",109),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().network?"true":"false")("aria-controls","fieldsNetwork"),i(2),D(A(8,tt,t.showFields().network,!t.showFields().network)),i(),C(" ",r(5,6,"settings.network.title_network")," "),i(2),u(t.showFields().network?6:-1)}}function Ra(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Da(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br"),o(8,"small",85),d(9),s(10,"translate"),l()(),o(11,"div",80)(12,"div",81),c(13,"input",131),s(14,"translate"),c(15,"label",132),l(),m(16,Ra,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,7,"settings.matter.enabled")," "),i(3),h(r(6,9,"common.labels.beta")),i(4),h(r(10,11,"settings.matter.enabled_desc")),i(4),_("formControl",t.matterEnabledFormControl),f("aria-label",r(14,13,"settings.matter.enabled")),i(3),u(t.matterEnabledIsSaving()?16:-1)}}function Va(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Aa(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",133),s(10,"translate"),m(11,Va,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.matter.port")),i(4),h(r(7,10,"settings.matter.port_desc")),i(3),Q("is-invalid",t.matterPortIsInvalid()),_("formControl",t.matterPortFormControl),f("aria-label",r(10,12,"settings.matter.port")),i(2),u(t.matterPortIsSaving()?11:-1)}}function Na(e,p){if(e&1&&m(0,Aa,12,14,"li",21),e&2){let t=g(4);u(t.isItemHidden("setting-matter-port")?-1:0)}}function Ha(e,p){if(e&1&&(o(0,"p",129),d(1),s(2,"translate"),l(),o(3,"ul",130),m(4,Da,17,15,"li",22),m(5,Na,1,1),l()),e&2){let t=g(3);i(),h(r(2,3,"settings.matter.desc")),i(3),u(t.isItemHidden("setting-matter-enabled")?-1:4),i(),u(t.matterEnabledFormControl.value?5:-1)}}function La(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("matter"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Ha,6,5),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().matter?"true":"false")("aria-controls","fieldsMatter"),i(2),D(A(8,tt,t.showFields().matter,!t.showFields().matter)),i(),C(" ",r(5,6,"settings.matter.title")," "),i(2),u(t.showFields().matter?6:-1)}}function Oa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function za(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",135),s(10,"translate"),m(11,Oa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.terminal.log_max")),i(4),h(r(7,10,"settings.terminal.log_max_desc")),i(3),Q("is-invalid",t.hbLogSizeIsInvalid()),_("formControl",t.hbLogSizeFormControl),f("aria-label",r(10,12,"settings.terminal.log_max")),i(2),u(t.hbLogSizeIsSaving()?11:-1)}}function Ua(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Wa(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",136),s(10,"translate"),m(11,Ua,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,8,"settings.terminal.log_truncate")),i(4),h(r(7,10,"settings.terminal.log_truncate_desc")),i(3),Q("is-invalid",t.hbLogTruncateIsInvalid()),_("formControl",t.hbLogTruncateFormControl),f("aria-label",r(10,12,"settings.terminal.log_truncate")),i(2),u(t.hbLogTruncateIsSaving()?11:-1)}}function Ka(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ja(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",80)(9,"div",81),c(10,"input",137),s(11,"translate"),c(12,"label",138),l(),m(13,Ka,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.terminal.persistence")),i(4),h(r(7,8,"settings.terminal.persistence_help")),i(4),_("formControl",t.uiTerminalPersistenceFormControl),f("aria-label",r(11,10,"settings.terminal.persistence")),i(3),u(t.uiTerminalPersistenceIsSaving()?13:-1)}}function Ga(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Qa(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",80)(9,"div",81),c(10,"input",139),s(11,"translate"),c(12,"label",140),l(),m(13,Ga,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.terminal.warning")),i(4),h(r(7,8,"settings.terminal.warning_help")),i(4),_("formControl",t.uiTerminalHideWarningFormControl),f("aria-label",r(11,10,"settings.terminal.warning")),i(3),u(t.uiTerminalHideWarningIsSaving()?13:-1)}}function qa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ja(e,p){if(e&1&&(o(0,"li",21)(1,"div",141)(2,"span"),d(3),s(4,"translate"),l(),o(5,"div",142),d(6),s(7,"translate"),l()(),o(8,"div",23),c(9,"input",143),s(10,"translate"),m(11,qa,1,1,"i",25),l()()),e&2){let t=g(6);_("@smoothHide",void 0),i(3),h(r(4,8,"settings.terminal.buffer_size")),i(3),h(r(7,10,"settings.terminal.buffer_size_help")),i(3),Q("is-invalid",t.uiTerminalBufferSizeIsInvalid()),_("formControl",t.uiTerminalBufferSizeFormControl),f("aria-label",r(10,12,"settings.terminal.buffer_size")),i(2),u(t.uiTerminalBufferSizeIsSaving()?11:-1)}}function Ya(e,p){if(e&1&&m(0,Ja,12,14,"li",21),e&2){let t=g(5);u(t.isItemHidden("setting-terminal-buffer")?-1:0)}}function Xa(e,p){if(e&1&&(m(0,ja,14,12,"li",22),m(1,Qa,14,12,"li",22),m(2,Ya,1,1)),e&2){let t=g(4);u(t.isItemHidden("setting-terminal-persistence")?-1:0),i(),u(t.uiTerminalPersistenceFormControl.value?-1:1),i(),u(t.uiTerminalPersistenceFormControl.value?2:-1)}}function Za(e,p){if(e&1&&(o(0,"ul",134),m(1,za,12,14,"li",21),m(2,Wa,12,14,"li",21),m(3,Xa,3,3),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-terminal-log-max")?-1:1),i(),u(t.hbLogSizeFormControl.value>0?2:-1),i(),u(t.enableTerminalAccess?3:-1)}}function to(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("terminal"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Za,4,3,"ul",134),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().terminal?"true":"false")("aria-controls","fieldsTerminal"),i(2),D(A(8,tt,t.showFields().terminal,!t.showFields().terminal)),i(),C(" ",r(5,6,"settings.network.title_terminal")," "),i(2),u(t.showFields().terminal?6:-1)}}function eo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function io(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",80)(9,"div",81),c(10,"input",145),s(11,"translate"),c(12,"label",146),l(),m(13,eo,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.security.auth")),i(4),h(r(7,8,"settings.security.auth_desc")),i(4),_("formControl",t.uiAuthFormControl),f("aria-label",r(11,10,"settings.security.auth")),i(3),u(t.uiAuthIsSaving()?13:-1)}}function no(e,p){e&1&&c(0,"i",149),e&2&&_("@fadeInOut",void 0)}function ao(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br"),o(8,"small",85),d(9),s(10,"translate"),l()(),o(11,"div",80)(12,"div",81),c(13,"input",147),s(14,"translate"),c(15,"label",148),l(),m(16,no,1,1,"i",149),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,7,"settings.startup.session_inactivity_based")," "),i(3),h(r(6,9,"common.labels.beta")),i(4),h(r(10,11,"settings.startup.session_inactivity_based_desc")),i(4),_("formControl",t.uiSessionTimeoutInactivityBasedFormControl),f("aria-label",r(14,13,"settings.startup.session_inactivity_based")),i(3),u(t.uiSessionTimeoutInactivityBasedIsSaving()?16:-1)}}function oo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function so(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",23)(9,"div",150)(10,"div",80),c(11,"input",151),s(12,"translate"),o(13,"label",152),d(14),s(15,"translate"),l()(),o(16,"div",80),c(17,"input",153),s(18,"translate"),o(19,"label",152),d(20),s(21,"translate"),l()(),o(22,"div",80),c(23,"input",154),s(24,"translate"),o(25,"label",152),d(26),s(27,"translate"),l()()(),m(28,oo,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",r(3,19,"settings.startup.session")),i(4),h(r(7,21,"settings.startup.session_desc")),i(5),Q("is-invalid",t.uiSessionTimeoutIsInvalid()),_("formControl",t.uiSessionTimeoutDaysFormControl),f("aria-label",r(12,23,"settings.startup.session_days")),i(3),h(r(15,25,"settings.startup.session_days")),i(3),Q("is-invalid",t.uiSessionTimeoutIsInvalid()),_("formControl",t.uiSessionTimeoutHoursFormControl),f("aria-label",r(18,27,"settings.startup.session_hours")),i(3),h(r(21,29,"settings.startup.session_hours")),i(3),Q("is-invalid",t.uiSessionTimeoutIsInvalid()),_("formControl",t.uiSessionTimeoutMinutesFormControl),f("aria-label",r(24,31,"settings.startup.session_minutes")),i(3),h(r(27,33,"settings.startup.session_minutes")),i(2),u(t.uiSessionTimeoutIsSaving()?28:-1)}}function ro(e,p){if(e&1&&(m(0,ao,17,15,"li",22),m(1,so,29,35,"li",21)),e&2){let t=g(4);u(t.isItemHidden("setting-session-inactivity")?-1:0),i(),u(t.isItemHidden("setting-security-session")?-1:1)}}function lo(e,p){if(e&1&&(o(0,"small",85),c(1,"span",93),s(2,"translate"),l()),e&2){let t=g(5);i(),_("innerHtml",q(2,1,"settings.security.https_raspbian",X(4,At,t.linkRaspbianSsl)),et)}}function po(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function co(e,p){if(e&1&&(o(0,"small",85),d(1),s(2,"translate"),l(),m(3,po,5,3)),e&2){let t=g(5);i(),h(r(2,2,"settings.security.https_desc")),i(2),u(t.isPwa?3:-1)}}function mo(e,p){e&1&&(o(0,"option",157),d(1),s(2,"translate"),l()),e&2&&(i(),h(r(2,1,"settings.security.https_selfsigned")))}function uo(e,p){if(e&1){let t=B();o(0,"button",161),s(1,"translate"),s(2,"translate"),T("click",function(){w(t);let a=g(5);return k(a.validateSsl())}),c(3,"i",162),l()}e&2&&(_("title",at(r(1,3,"settings.security.ssl_validate"))),f("aria-label",r(2,5,"settings.security.ssl_validate")))}function _o(e,p){if(e&1&&(o(0,"li",21)(1,"span"),d(2),s(3,"translate"),c(4,"br"),m(5,lo,3,6,"small",85)(6,co,4,4),l(),o(7,"div",23)(8,"select",155),s(9,"translate"),o(10,"option",156),d(11),s(12,"translate"),l(),m(13,mo,3,3,"option",157),o(14,"option",158),d(15),s(16,"translate"),l(),o(17,"option",159),d(18),s(19,"translate"),l()(),m(20,uo,4,7,"button",160),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,11,"settings.security.https")),i(3),u(t.runningOnRaspbianImage?5:6),i(3),_("formControl",t.uiSslTypeFormControl)("hidden",t.runningOnRaspbianImage),f("aria-label",r(9,13,"settings.security.https")),i(3),h(r(12,15,"accessories.control.off")),i(2),u(t.runningOnRaspbianImage?-1:13),i(2),h(r(16,17,"settings.security.https_keycert")),i(3),h(r(19,19,"settings.security.https_pfx")),i(2),u(t.uiSslTypeFormControl.value!=="off"?20:-1)}}function go(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function ho(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Co(e,p){if(e&1){let t=B();o(0,"li",21)(1,"span"),d(2),s(3,"translate"),o(4,"span",92),d(5),s(6,"translate"),l(),c(7,"br"),o(8,"small",85),d(9),s(10,"translate"),l()(),m(11,go,5,3),o(12,"div",23),c(13,"input",163),s(14,"translate"),o(15,"button",164),s(16,"translate"),s(17,"translate"),T("click",function(){w(t);let a=g(4);return k(a.generateSelfSigned("keycert"))}),c(18,"i",165),l(),o(19,"button",166),s(20,"translate"),s(21,"translate"),T("click",function(){w(t);let a=g(4);return k(a.generateSelfSigned("selfsigned"))}),c(22,"i",167),l(),m(23,ho,1,1,"i",25),l()()}if(e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,14,"settings.security.selfsigned_hostnames")," "),i(3),h(r(6,16,"common.labels.beta")),i(4),h(r(10,18,"settings.security.selfsigned_hostnames_desc")),i(2),u(t.isPwa?11:-1),i(2),_("formControl",t.uiSslSelfSignedHostnamesFormControl),f("aria-label",r(14,20,"settings.security.selfsigned_hostnames")),i(2),_("title",at(r(16,22,"settings.security.selfsigned_generate_keycert"))),f("aria-label",r(17,24,"settings.security.selfsigned_generate_keycert")),i(4),_("title",at(r(20,26,"settings.security.selfsigned_generate_selfsigned"))),f("aria-label",r(21,28,"settings.security.selfsigned_generate_selfsigned")),i(4),u(t.uiSslSelfSignedHostnamesIsSaving()?23:-1)}}function fo(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function vo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function bo(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function xo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function So(e,p){if(e&1){let t=B();o(0,"li",21)(1,"span"),d(2),s(3,"translate"),l(),m(4,bo,5,3),o(5,"div",168)(6,"button",173),s(7,"translate"),s(8,"translate"),T("click",function(){w(t);let a=g(6);return k(a.triggerKeyCertSelect())}),c(9,"i",170),l(),c(10,"input",174),s(11,"translate"),m(12,xo,1,1,"i",25),l()()}if(e&2){let t=g(6);_("@smoothHide",void 0),i(2),h(r(3,9,"settings.security.cert")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(r(7,11,"settings.security.ssl_upload_keycert_aria"))),f("aria-label",r(8,13,"settings.security.ssl_upload_keycert_aria")),i(4),_("formControl",t.uiSslCertFormControl),f("aria-label",r(11,15,"settings.security.cert")),i(2),u(t.uiSslCertIsSaving()?12:-1)}}function yo(e,p){if(e&1){let t=B();o(0,"li",21)(1,"span"),d(2),s(3,"translate"),l(),m(4,fo,5,3),o(5,"div",168)(6,"button",169),s(7,"translate"),s(8,"translate"),T("click",function(){w(t);let a=g(5);return k(a.triggerKeyCertSelect())}),c(9,"i",170),l(),o(10,"input",171,1),T("change",function(){w(t);let a=Mt(11),y=g(5);return k(y.onSslKeyCertChange(a.files))}),l(),c(12,"input",172),s(13,"translate"),m(14,vo,1,1,"i",25),l()(),m(15,So,13,17,"li",21)}if(e&2){let t=g(5);_("@smoothHide",void 0),i(2),h(r(3,10,"settings.security.key")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(r(7,12,"settings.security.ssl_upload_keycert_aria"))),f("aria-label",r(8,14,"settings.security.ssl_upload_keycert_aria")),i(6),_("formControl",t.uiSslKeyFormControl),f("aria-label",r(13,16,"settings.security.key")),i(2),u(t.uiSslKeyIsSaving()?14:-1),i(),u(t.isItemHidden("setting-security-cert")?-1:15)}}function Io(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Eo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function wo(e,p){e&1&&(c(0,"br"),o(1,"small",85),c(2,"i",123),d(3),s(4,"translate"),l()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function ko(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function To(e,p){if(e&1){let t=B();o(0,"li",21)(1,"span"),d(2),s(3,"translate"),l(),m(4,wo,5,3),o(5,"div",23)(6,"input",178),s(7,"translate"),T("focus",function(){w(t);let a=g(6);return k(a.showPfxPassphrase=!0)})("blur",function(){w(t);let a=g(6);return k(a.showPfxPassphrase=!1)}),l(),m(8,ko,1,1,"i",25),l()()}if(e&2){let t=g(6);_("@smoothHide",void 0),i(2),h(r(3,7,"settings.security.pass")),i(2),u(t.isPwa?4:-1),i(2),_("type",t.showPfxPassphrase?"text":"password")("formControl",t.uiSslPassphraseFormControl),f("aria-label",r(7,9,"settings.security.pass")),i(2),u(t.uiSslPassphraseIsSaving()?8:-1)}}function Bo(e,p){if(e&1){let t=B();o(0,"li",21)(1,"span"),d(2),s(3,"translate"),l(),m(4,Io,5,3),o(5,"div",168)(6,"button",175),s(7,"translate"),s(8,"translate"),T("click",function(){w(t);let a=g(5);return k(a.triggerPfxSelect())}),c(9,"i",170),l(),o(10,"input",176,2),T("change",function(){w(t);let a=Mt(11),y=g(5);return k(y.onSslPfxChange(a.files))}),l(),c(12,"input",177),s(13,"translate"),m(14,Eo,1,1,"i",25),l()(),m(15,To,9,11,"li",21)}if(e&2){let t=g(5);_("@smoothHide",void 0),i(2),h(r(3,10,"settings.security.pfx")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(r(7,12,"settings.security.ssl_upload_pfx_aria"))),f("aria-label",r(8,14,"settings.security.ssl_upload_pfx_aria")),i(6),_("formControl",t.uiSslPfxFormControl),f("aria-label",r(13,16,"settings.security.pfx")),i(2),u(t.uiSslPfxIsSaving()?14:-1),i(),u(t.isItemHidden("setting-security-pass")?-1:15)}}function $o(e,p){if(e&1&&(m(0,yo,16,18),m(1,Bo,16,18)),e&2){let t=g(4);u(t.uiSslTypeFormControl.value==="keycert"?0:-1),i(),u(t.uiSslTypeFormControl.value==="pfx"?1:-1)}}function Fo(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"button",27),s(9,"translate"),T("click",function(){w(t);let a=g(4);return k(a.accessoryUiControl())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"settings.security.ui_control")),i(4),h(r(7,6,"settings.security.ui_control_desc")),i(2),f("aria-label",r(9,8,"settings.security.ui_control")))}function Mo(e,p){if(e&1&&(o(0,"ul",144),m(1,io,14,12,"li",22),m(2,ro,2,2),m(3,_o,21,21,"li",21),m(4,Co,24,30,"li",21),m(5,$o,2,2),m(6,Fo,11,10,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-security-auth")?-1:1),i(),u(t.uiAuthFormControl.value?2:-1),i(),u(t.isItemHidden("setting-security-https")?-1:3),i(),u(t.uiSslTypeFormControl.value==="selfsigned"?4:-1),i(),u(t.runningOnRaspbianImage?-1:5),i(),u(t.isItemHidden("setting-security-control")?-1:6)}}function Po(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("security"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Mo,7,6,"ul",144),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().security?"true":"false")("aria-controls","fieldsSecurity"),i(2),D(A(8,tt,t.showFields().security,!t.showFields().security)),i(),C(" ",r(5,6,"settings.network.title_security")," "),i(2),u(t.showFields().security?6:-1)}}function Ro(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Do(e,p){if(e&1&&(o(0,"li",22)(1,"span"),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"div",80)(9,"div",81),c(10,"input",180),s(11,"translate"),c(12,"label",181),l(),m(13,Ro,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",r(3,6,"settings.accessory.debug")),i(4),h(r(7,8,"settings.accessory.debug_desc")),i(4),_("formControl",t.uiAccDebugFormControl),f("aria-label",r(11,10,"settings.accessory.debug")),i(3),u(t.uiAccDebugIsSaving()?13:-1)}}function Vo(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"button",27),s(9,"translate"),T("click",function(){w(t);let a=g(4);return k(a.removeSingleCachedAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"reset.accessory_ind.title")),i(4),h(r(7,6,"reset.accessory_ind.desc")),i(2),f("aria-label",r(9,8,"reset.accessory_ind.title")))}function Ao(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"button",27),s(9,"translate"),T("click",function(){w(t);let a=g(4);return k(a.removeBridgeAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"reset.bridge_accessories.title")),i(4),h(r(7,6,"reset.bridge_accessories.desc")),i(2),f("aria-label",r(9,8,"reset.accessory_all.title")))}function No(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"button",27),s(9,"translate"),T("click",function(){w(t);let a=g(4);return k(a.removeAllCachedAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"reset.accessory_all.title")),i(4),h(r(7,6,"reset.accessory_all.desc")),i(2),f("aria-label",r(9,8,"reset.accessory_all.title")))}function Ho(e,p){if(e&1&&(o(0,"p",129),d(1),s(2,"translate"),l(),o(3,"ul",179),m(4,Do,14,12,"li",22),m(5,Vo,11,10,"li",22),m(6,Ao,11,10,"li",22),m(7,No,11,10,"li",22),l()),e&2){let t=g(3);i(),h(r(2,5,"settings.cache.desc")),i(3),u(t.isItemHidden("setting-accessory-debug")?-1:4),i(),u(t.isItemHidden("setting-reset-accessory-ind")?-1:5),i(),u(t.isItemHidden("setting-reset-bridge-accessories")?-1:6),i(),u(t.isItemHidden("setting-reset-accessory-all")?-1:7)}}function Lo(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("cache"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Ho,8,7),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().cache?"true":"false")("aria-controls","fieldsCache"),i(2),D(A(8,tt,t.showFields().cache,!t.showFields().cache)),i(),C(" ",r(5,6,"menu.label_accessories")," "),i(2),u(t.showFields().cache?6:-1)}}function Oo(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),c(4,"br"),o(5,"small",85),d(6),s(7,"translate"),l()(),o(8,"button",27),s(9,"translate"),T("click",function(){w(t);let a=g(4);return k(a.unpairAccessory())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(3,4,"reset.bridge_ind.title")),i(4),h(r(7,6,"reset.bridge_ind.desc")),i(2),f("aria-label",r(9,8,"reset.bridge_ind.title")))}function zo(e,p){if(e&1){let t=B();o(0,"li",22)(1,"span",26),d(2),s(3,"translate"),s(4,"titlecase"),c(5,"br"),o(6,"small",85),d(7),s(8,"translate"),l()(),o(9,"button",27),s(10,"translate"),T("click",function(){w(t);let a=g(4);return k(a.resetHomebridgeState())}),c(11,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",r(4,6,r(3,4,"reset.bridge_all.title"))),i(5),h(r(8,8,"reset.bridge_all.desc")),i(2),f("aria-label",r(10,10,"reset.bridge_all.title")))}function Uo(e,p){if(e&1&&(o(0,"p",129),d(1),s(2,"translate"),l(),o(3,"ul",182),m(4,Oo,11,10,"li",22),m(5,zo,12,12,"li",22),l()),e&2){let t=g(3);i(),h(r(2,3,"reset.bridges.desc")),i(3),u(t.isItemHidden("setting-reset-bridge-ind")?-1:4),i(),u(t.isItemHidden("setting-reset-bridge-all")?-1:5)}}function Wo(e,p){if(e&1){let t=B();o(0,"div",15)(1,"div",17),T("click",function(){w(t);let a=g(2);return k(a.toggleSection("reset"))}),o(2,"h5",18),c(3,"i",19),d(4),s(5,"translate"),l()(),m(6,Uo,6,5),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().reset?"true":"false")("aria-controls","fieldsReset"),i(2),D(A(8,tt,t.showFields().reset,!t.showFields().reset)),i(),C(" ",r(5,6,"reset.bridges.title")," "),i(2),u(t.showFields().reset?6:-1)}}function Ko(e,p){if(e&1&&(m(0,Cn,7,11,"div",15),m(1,Mn,7,11,"div",15),m(2,na,7,11,"div",15),m(3,Pa,7,11,"div",15),m(4,La,7,11,"div",15),m(5,to,7,11,"div",15),m(6,Po,7,11,"div",15),m(7,Lo,7,11,"div",15),m(8,Wo,7,11,"div",15),c(9,"div",16)),e&2){let t=g();u(t.isSectionVisible("general")?0:-1),i(),u(t.isSectionVisible("display")?1:-1),i(),u(t.isSectionVisible("startup")?2:-1),i(),u(t.isSectionVisible("network")?3:-1),i(),u(t.isMatterSupported&&t.isSectionVisible("matter")?4:-1),i(),u(t.isSectionVisible("terminal")?5:-1),i(),u(t.isSectionVisible("security")?6:-1),i(),u(t.isSectionVisible("cache")?7:-1),i(),u(t.isSectionVisible("reset")?8:-1)}}var cl=(()=>{class e{destroyRef=E(ft);injector=E(Ct);$api=E(U);$modal=E(_t);$notification=E(me);$router=E(J);$settings=E(Y);$terminal=E(_e);$toastr=E(z);$translate=E(O);searchInput=lt("searchInput",{});sslKeyCertInput=lt("sslKeyCertInput",{});sslPfxInput=lt("sslPfxInput",{});showSearchBar=v(!1,{});searchQuery=v("",{});showFields=v({general:!0,display:!0,startup:!0,network:!0,matter:!0,security:!0,terminal:!0,reset:!0,cache:!0},{});hiddenItems=v({},{});loading=v(!0,{});debugFieldDesc="settings.startup.debug_desc_v1";showAvahiMdnsOption=v(!1,{});showResolvedMdnsOption=v(!1,{});adaptersAvailable=v([],{});adaptersSelected=v([],{});showPfxPassphrase=v(!1,{});hbNameIsInvalid=v(!1,{});hbNameIsSaving=v(!1,{});hbNameFormControl=new M("");uiLangIsSaving=v(!1,{});uiLangFormControl=new M("");uiThemeIsSaving=v(!1,{});uiThemeFormControl=new M("");uiLightIsSaving=v(!1,{});uiLightFormControl=new M("");uiMenuIsSaving=v(!1,{});uiMenuFormControl=new M("");uiTempIsSaving=v(!1,{});uiTempFormControl=new M("");uiAlwaysShowBetasIsSaving=v(!1,{});uiAlwaysShowBetasFormControl=new M(!1);uiTerminalPersistenceIsSaving=v(!1,{});uiTerminalPersistenceFormControl=new M(!1);uiTerminalHideWarningIsSaving=v(!1,{});uiTerminalHideWarningFormControl=new M(!1);uiTerminalBufferSizeIsSaving=v(!1,{});uiTerminalBufferSizeIsInvalid=v(!1,{});uiTerminalBufferSizeFormControl=new M(globalThis.terminal.bufferSize);hbDebugIsSaving=v(!1,{});hbDebugFormControl=new M(!1);hbInsecureIsSaving=v(!1,{});hbInsecureFormControl=new M(!1);hbKeepIsSaving=v(!1,{});hbKeepFormControl=new M(!1);hbEnvDebugIsSaving=v(!1,{});hbEnvDebugFormControl=new M("");hbEnvNodeIsSaving=v(!1,{});hbEnvNodeFormControl=new M("");hbLogSizeIsInvalid=v(!1,{});hbLogSizeIsSaving=v(!1,{});hbLogSizeFormControl=new M(-1);hbLogTruncateIsInvalid=v(!1,{});hbLogTruncateIsSaving=v(!1,{});hbLogTruncateFormControl=new M(0);hbMDnsIsSaving=v(!1,{});hbMDnsFormControl=new M("");enableMdnsAdvertiseFormControl=new M(!1);enableMdnsAdvertiseIsSaving=v(!1,{});hbPortIsInvalid=v(!1,{});hbPortIsSaving=v(!1,{});hbPortFormControl=new M(0);uiPortIsInvalid=v(!1,{});uiPortIsSaving=v(!1,{});uiPortFormControl=new M(0);hbStartPortIsInvalid=v(!1,{});hbStartPortIsSaving=v(!1,{});hbStartPortFormControl=new M(0);hbEndPortIsInvalid=v(!1,{});hbEndPortIsSaving=v(!1,{});hbEndPortFormControl=new M(0);uiHostIsSaving=v(!1,{});uiHostFormControl=new M("");uiWebrootIsSaving=v(!1,{});uiWebrootFormControl=new M("");uiProxyHostIsSaving=v(!1,{});uiProxyHostFormControl=new M("");uiAuthIsSaving=v(!1,{});uiAuthFormControl=new Zt(!0);uiSessionTimeoutIsInvalid=v(!1,{});uiSessionTimeoutIsSaving=v(!1,{});uiSessionTimeoutDaysFormControl=new M(0);uiSessionTimeoutHoursFormControl=new M(8);uiSessionTimeoutMinutesFormControl=new M(0);uiSessionTimeoutInactivityBasedIsSaving=v(!1,{});uiSessionTimeoutInactivityBasedFormControl=new M(!1);uiSslTypeFormControl=new M("off");uiSslKeyIsSaving=v(!1,{});uiSslKeyFormControl=new M("");uiSslCertIsSaving=v(!1,{});uiSslCertFormControl=new M("");uiSslPfxIsSaving=v(!1,{});uiSslPfxFormControl=new M("");uiSslPassphraseIsSaving=v(!1,{});uiSslPassphraseFormControl=new M("");uiSslSelfSignedHostnamesIsSaving=v(!1,{});uiSslSelfSignedHostnamesFormControl=new M("");hbPackageIsSaving=v(!1,{});hbPackageFormControl=new M("");uiMetricsIsSaving=v(!1,{});uiMetricsFormControl=new M(!0);uiAccDebugIsSaving=v(!1,{});uiAccDebugFormControl=new M(!1);uiTempFileIsSaving=v(!1,{});uiTempFileFormControl=new M("");hbLinuxShutdownIsSaving=v(!1,{});hbLinuxShutdownFormControl=new M("");hbLinuxRestartIsSaving=v(!1,{});hbLinuxRestartFormControl=new M("");scheduledRestartCronIsInvalid=v(!1,{});scheduledRestartCronIsSaving=v(!1,{});scheduledRestartCronFormControl=new M("");matterEnabledIsSaving=v(!1,{});matterEnabledFormControl=new M(!1);matterPortIsInvalid=v(!1,{});matterPortIsSaving=v(!1,{});matterPortFormControl=new M(0);matterConfigCache={};webrootSettingDisabledAccess=!1;isPwa=ce();runningOnRaspbianImage=this.$settings.env.runningOnRaspbianImage;restartToastIsShown=!1;linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';linkRaspbianSsl='<a href="https://github.com/homebridge/homebridge-raspbian-image/wiki/SSL-HTTPS-Access" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';linkCron='<a href="https://crontab.guru/" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';toggleSearch(){this.showSearchBar.update(t=>!t),this.showSearchBar()?Ht(()=>{let t=this.searchInput();t&&t.nativeElement.focus()}):this.clearSearch()}clearSearch(){this.searchQuery.set(""),this.filterSettings()}filterSettings(){if(this.hiddenItems.set({}),!this.searchQuery())return;let t=this.searchQuery().toLowerCase(),n=this.getItemsContent(),a={};Object.entries(n).forEach(([y,R])=>{R&&R.toLowerCase().includes(t)||(a[y]=!0)}),this.hiddenItems.set(a)}isItemHidden(t){let n=!!this.hiddenItems()[t];return this.searchQuery(),n}isSectionVisible(t){if(!this.searchQuery())return!0;let a={general:["setting-name","setting-backup","setting-restore","setting-users"],display:["setting-lang","setting-theme","setting-lighting","setting-menu","setting-temp","setting-betas","setting-wallpaper"],startup:["setting-debug","setting-insecure","setting-keep","setting-scheduled-restart","setting-metrics-startup","setting-package-path","setting-linux-restart","setting-env-debug-manual","setting-env-node"],network:["setting-interfaces","setting-mdns","setting-port-hb","setting-port-range","setting-port-end","setting-network-host","setting-network-proxy","setting-ui-port-network","setting-webroot-network","setting-mdns-advertise"],matter:["setting-matter-enabled","setting-matter-port"],terminal:["setting-terminal-log-max","setting-terminal-persistence","setting-terminal-buffer"],security:["setting-security-auth","setting-session-inactivity","setting-security-session","setting-security-https","setting-security-cert","setting-security-pass","setting-security-selfsigned-hostnames","setting-security-control"],cache:["setting-accessory-debug","setting-reset-accessory-ind","setting-reset-bridge-accessories","setting-reset-accessory-all"],reset:["setting-reset-bridge-ind","setting-reset-bridge-all"]}[t];return a?a.some(y=>!this.isItemHidden(y)):!0}getItemsContent(){return{"setting-name":this.$translate.instant("settings.name"),"setting-backup":this.$translate.instant("backup.title_backup"),"setting-restore":this.$translate.instant("config.restore.title"),"setting-users":this.$translate.instant("menu.tooltip_user_accounts"),"setting-lang":this.$translate.instant("settings.display.lang"),"setting-theme":this.$translate.instant("settings.display.theme"),"setting-lighting":this.$translate.instant("settings.display.lighting_mode"),"setting-menu":this.$translate.instant("settings.display.menu_mode"),"setting-temp":this.$translate.instant("settings.display.temp_units"),"setting-betas":this.$translate.instant("settings.display.show_betas"),"setting-wallpaper":this.$translate.instant("settings.display.wallpaper"),"setting-debug":this.$translate.instant("settings.startup.debug"),"setting-insecure":this.$translate.instant("settings.startup.insecure"),"setting-keep":this.$translate.instant("settings.startup.keep_accessories"),"setting-scheduled-restart":this.$translate.instant("settings.startup.scheduled_restart"),"setting-metrics-startup":this.$translate.instant("settings.startup.metrics"),"setting-env-debug":this.$translate.instant("settings.startup.env_debug"),"setting-env-debug-manual":"DEBUG","setting-env-node":this.$translate.instant("settings.startup.env_node_options"),"setting-log-size":this.$translate.instant("settings.startup.log_length"),"setting-log-truncate":this.$translate.instant("settings.startup.truncate_log"),"setting-package-path":this.$translate.instant("settings.startup.homebridge_package_path"),"setting-mdns":this.$translate.instant("settings.mdns_advertiser"),"setting-interfaces":this.$translate.instant("settings.network.title_network_interfaces"),"setting-port-hb":this.$translate.instant("settings.network.port_hb"),"setting-port-bridge":this.$translate.instant("settings.network.port.bridge"),"setting-port-range":this.$translate.instant("settings.network.port.start"),"setting-port-end":this.$translate.instant("settings.network.port.end"),"setting-network-host":this.$translate.instant("settings.network.host"),"setting-network-proxy":this.$translate.instant("settings.network.proxy"),"setting-ui-port-network":this.$translate.instant("settings.network.port_ui"),"setting-webroot-network":this.$translate.instant("settings.network.webroot"),"setting-mdns-advertise":this.$translate.instant("settings.network.mdns_advertise"),"setting-matter-enabled":this.$translate.instant("settings.matter.enabled"),"setting-matter-port":this.$translate.instant("settings.matter.port"),"setting-security-auth":this.$translate.instant("settings.security.auth"),"setting-security-session":this.$translate.instant("settings.startup.session"),"setting-security-https":this.$translate.instant("settings.security.https"),"setting-security-cert":this.$translate.instant("settings.security.cert"),"setting-security-pass":this.$translate.instant("settings.security.pass"),"setting-security-selfsigned-hostnames":this.$translate.instant("settings.security.selfsigned_hostnames"),"setting-security-control":this.$translate.instant("settings.security.ui_control"),"setting-ui-port":this.$translate.instant("settings.security.webui_port"),"setting-ui-host":this.$translate.instant("settings.security.webui_host"),"setting-ui-auth":this.$translate.instant("settings.security.webui_auth"),"setting-session-timeout":this.$translate.instant("settings.security.session_timeout"),"setting-session-inactivity":this.$translate.instant("settings.startup.session_inactivity_based"),"setting-proxy":this.$translate.instant("settings.security.webui_proxy_host"),"setting-ssl":this.$translate.instant("settings.security.ssl_key"),"setting-terminal-log-max":this.$translate.instant("settings.terminal.log_max"),"setting-terminal-persistence":this.$translate.instant("settings.terminal.persistence"),"setting-terminal-warning":this.$translate.instant("settings.terminal.hide_warning"),"setting-terminal-buffer":this.$translate.instant("settings.terminal.buffer_size"),"setting-reset-accessory-ind":this.$translate.instant("reset.accessory_ind.title"),"setting-reset-bridge-accessories":this.$translate.instant("reset.bridge_accessories.title"),"setting-reset-accessory-all":this.$translate.instant("reset.accessory_all.title"),"setting-reset-bridge-ind":this.$translate.instant("reset.bridge_ind.title"),"setting-reset-bridge-all":this.$translate.instant("reset.bridge_all.title"),"setting-reset-state":this.$translate.instant("settings.reset.reset_homebridge_state"),"setting-unpair":this.$translate.instant("settings.reset.unpair_bridges"),"setting-metrics":this.$translate.instant("settings.reset.enable_metrics"),"setting-accessory-control":this.$translate.instant("settings.reset.control_panel"),"setting-accessory-debug":this.$translate.instant("settings.accessory.debug"),"setting-temp-files":this.$translate.instant("settings.reset.temp_files"),"setting-linux-shutdown":this.$translate.instant("settings.reset.linux_shutdown"),"setting-linux-restart":this.$translate.instant("settings.reset.linux_restart"),"setting-cache-all":this.$translate.instant("settings.cache.title_clear_cache"),"setting-cache-bridge":this.$translate.instant("settings.cache.title_clear_bridge_cache"),"setting-cache-accessories":this.$translate.instant("settings.cache.title_clear_cached_accessories")}}ngOnInit(){this.initialize()}initialize(){return b(this,null,function*(){let t=this.$translate.instant("menu.label_settings");this.$settings.setPageTitle(t),this.$settings.isFeatureEnabled("childBridgeDebugMode")&&(this.debugFieldDesc="settings.startup.debug_desc_v2"),yield this.initNetworkingOptions(),yield this.initStartupSettings(),this.$settings.originalWebroot===globalThis.webroot.errorCode&&(this.webrootSettingDisabledAccess=!0,this.uiWebrootFormControl.disable()),this.isPwa&&(this.uiPortFormControl.disable(),this.uiHostFormControl.disable(),this.uiWebrootFormControl.disable(),this.uiProxyHostFormControl.disable(),this.uiSslTypeFormControl.disable(),this.uiSslKeyFormControl.disable(),this.uiSslCertFormControl.disable(),this.uiSslPfxFormControl.disable(),this.uiSslPassphraseFormControl.disable(),this.uiSslSelfSignedHostnamesFormControl.disable()),this.runningOnRaspbianImage&&this.uiSslTypeFormControl.disable(),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName,{emitEvent:!1}),this.hbNameFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbNameSave(I)),this.uiLangFormControl.patchValue(this.$settings.env.lang,{emitEvent:!1}),this.uiLangFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiLangSave(I)),this.uiThemeFormControl.patchValue(this.$settings.theme,{emitEvent:!1}),this.uiThemeFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiThemeSave(I)),this.uiLightFormControl.patchValue(this.$settings.lightingMode,{emitEvent:!1}),this.uiLightFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiLightSave(I)),this.uiMenuFormControl.patchValue(this.$settings.menuMode,{emitEvent:!1}),this.uiMenuFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiMenuSave(I)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits,{emitEvent:!1}),this.uiTempFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiTempSave(I)),this.uiAlwaysShowBetasFormControl.patchValue(this.$settings.env.plugins?.alwaysShowBetas||!1,{emitEvent:!1}),this.uiAlwaysShowBetasFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiAlwaysShowBetasSave(I)),this.uiTerminalPersistenceFormControl.patchValue(this.$settings.env.terminal?.persistence,{emitEvent:!1}),this.uiTerminalPersistenceFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiTerminalPersistenceSave(I)),this.uiTerminalHideWarningFormControl.patchValue(this.$settings.env.terminal?.hideWarning,{emitEvent:!1}),this.uiTerminalHideWarningFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiTerminalHideWarningSave(I)),this.uiTerminalBufferSizeFormControl.patchValue(this.$settings.env.terminal?.bufferSize,{emitEvent:!1}),this.uiTerminalBufferSizeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiTerminalBufferSizeSave(I)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize,{emitEvent:!1}),this.hbLogSizeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbLogSizeSave(I)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize,{emitEvent:!1}),this.hbLogTruncateFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbLogTruncateSave(I)),this.uiPortFormControl.patchValue(this.$settings.env.port,{emitEvent:!1}),this.uiPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiPortSave(I)),this.uiAuthFormControl.patchValue(this.$settings.formAuth,{emitEvent:!1}),this.uiAuthFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiAuthSave(I));let n=this.$settings.sessionTimeout,a=Math.floor(n/86400),y=Math.floor(n%86400/3600),R=Math.floor(n%3600/60);this.uiSessionTimeoutDaysFormControl.patchValue(a,{emitEvent:!1}),this.uiSessionTimeoutHoursFormControl.patchValue(y,{emitEvent:!1}),this.uiSessionTimeoutMinutesFormControl.patchValue(R,{emitEvent:!1}),this.uiSessionTimeoutDaysFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutHoursFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutMinutesFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutInactivityBasedFormControl.patchValue(this.$settings.sessionTimeoutInactivityBased||!1,{emitEvent:!1}),this.uiSessionTimeoutInactivityBasedFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiSessionTimeoutInactivityBasedSave(I)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||"",{emitEvent:!1}),this.uiSslKeyFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiSslKeySave(I)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||"",{emitEvent:!1}),this.uiSslCertFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiSslCertSave(I)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||"",{emitEvent:!1}),this.uiSslPfxFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiSslPfxSave(I)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||"",{emitEvent:!1}),this.uiSslPassphraseFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiSslPassphraseSave(I)),this.uiSslSelfSignedHostnamesFormControl.patchValue(this.$settings.env.ssl?.selfSignedHostnames?.join(", ")||"localhost, 127.0.0.1",{emitEvent:!1}),this.uiSslSelfSignedHostnamesFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiSslSelfSignedHostnamesSave(I)),this.uiSslTypeFormControl.patchValue(this.$settings.env.ssl?.selfSigned?"selfsigned":this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off",{emitEvent:!1}),this.uiSslTypeFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiSslTypeSave(I)),this.uiHostFormControl.patchValue(this.$settings.host||"",{emitEvent:!1}),this.uiHostFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiHostSave(I)),this.uiWebrootFormControl.patchValue(this.$settings.webroot||"",{emitEvent:!1}),this.uiWebrootFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiWebrootSave(I)),this.uiProxyHostFormControl.patchValue(this.$settings.proxyHost||"",{emitEvent:!1}),this.uiProxyHostFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiProxyHostSave(I)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||"",{emitEvent:!1}),this.hbPackageFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbPackageSave(I)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring,{emitEvent:!1}),this.uiMetricsFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiMetricsSave(I)),this.enableMdnsAdvertiseFormControl.patchValue(this.$settings.env.enableMdnsAdvertise||!1,{emitEvent:!1}),this.enableMdnsAdvertiseFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.enableMdnsAdvertiseSave(I)),this.uiAccDebugFormControl.patchValue(this.$settings.env.accessoryControl?.debug,{emitEvent:!1}),this.uiAccDebugFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.uiAccDebugSave(I)),this.uiTempFileFormControl.patchValue(this.$settings.env.temp,{emitEvent:!1}),this.uiTempFileFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.uiTempFileSave(I)),this.hbLinuxShutdownFormControl.patchValue(this.$settings.env.linux?.shutdown,{emitEvent:!1}),this.hbLinuxShutdownFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbLinuxShutdownSave(I)),this.hbLinuxRestartFormControl.patchValue(this.$settings.env.linux?.restart,{emitEvent:!1}),this.hbLinuxRestartFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbLinuxRestartSave(I)),this.scheduledRestartCronFormControl.patchValue(this.$settings.env.scheduledRestartCron||"",{emitEvent:!1}),this.scheduledRestartCronFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.scheduledRestartCronSave(I)),yield this.initMatterSettings(),this.loading.set(!1)})}openBackupModal(){this.$modal.open(Tt,{size:"lg",backdrop:"static"})}openConfigBackup(){this.$router.navigate(["/config"],{queryParams:{action:"restore"}})}openWallpaperModal(){this.$modal.open(Fe,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(ke,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Be,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}accessoryUiControl(){return b(this,null,function*(){try{let t=it([{provide:wt,useValue:{existingBlacklist:this.$settings.env.accessoryControl?.instanceBlacklist||[]}}],this.injector);yield this.$modal.open(fe,{size:"lg",backdrop:"static",injector:t}).result,this.showRestartToast()}catch(t){t!=="Dismiss"&&(console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")))}})}removeSingleCachedAccessories(){let t=it([{provide:pe,useValue:{selectedBridge:""}}],this.injector);this.$modal.open(ge,{size:"lg",backdrop:"static",injector:t})}removeBridgeAccessories(){this.$modal.open(we,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return b(this,null,function*(){let t=it([{provide:Et,useValue:{adaptersAvailable:this.adaptersAvailable(),adaptersSelected:this.adaptersSelected()}}],this.injector),n=this.$modal.open($e,{size:"lg",backdrop:"static",injector:t});try{let a=yield n.result;this.buildBridgeNetworkAdapterList(a),yield this.$api.put("/server/network-interfaces/bridge",{adapters:a}),this.showRestartToast()}catch(a){a!=="Dismiss"&&(console.error(a),this.$toastr.error(a.message,this.$translate.instant("toast.title_error")))}})}toggleSection(t){this.showFields[t]=!this.showFields[t]}initStartupSettings(){return b(this,null,function*(){try{let t=yield this.$api.get("/platform-tools/hb-service/homebridge-startup-settings");this.hbDebugFormControl.patchValue(t.HOMEBRIDGE_DEBUG,{emitEvent:!1}),this.hbDebugFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbDebugSave(n)),this.hbInsecureFormControl.patchValue(t.HOMEBRIDGE_INSECURE,{emitEvent:!1}),this.hbInsecureFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbInsecureSave(n)),this.hbKeepFormControl.patchValue(t.HOMEBRIDGE_KEEP_ORPHANS,{emitEvent:!1}),this.hbKeepFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbKeepSave(n)),this.hbEnvDebugFormControl.patchValue(t.ENV_DEBUG,{emitEvent:!1}),this.hbEnvDebugFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(n=>this.hbEnvDebugSave(n)),this.hbEnvNodeFormControl.patchValue(t.ENV_NODE_OPTIONS,{emitEvent:!1}),this.hbEnvNodeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(n=>this.hbEnvNodeSave(n))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return b(this,null,function*(){try{yield this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption.set(!0),this.showResolvedMdnsOption.set(!0))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return b(this,null,function*(){let[t,n,a,y,R]=yield Promise.all([this.$api.get("/server/network-interfaces/system"),this.$api.get("/server/network-interfaces/bridge"),this.$api.get("/server/mdns-advertiser"),this.$api.get("/server/port"),this.$api.get("/server/ports")]);this.adaptersAvailable.set(t),this.buildBridgeNetworkAdapterList(n),this.hbMDnsFormControl.patchValue(a.advertiser,{emitEvent:!1}),this.hbMDnsFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(I=>this.hbMDnsSave(I)),this.hbPortFormControl.patchValue(y.port,{emitEvent:!1}),this.hbPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbPortSave(I)),this.hbStartPortFormControl.patchValue(R.start,{emitEvent:!1}),this.hbStartPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbStartPortSave(I)),this.hbEndPortFormControl.patchValue(R.end,{emitEvent:!1}),this.hbEndPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(I=>this.hbEndPortSave(I))})}saveUiSettingChange(t,n){return b(this,null,function*(){try{yield this.$api.put("/config-editor/ui",{key:t,value:n})}catch(a){console.error(a),this.$toastr.error(a.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(t){return b(this,null,function*(){if(!t||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(t)){this.hbNameIsInvalid.set(!0);return}try{this.hbNameIsSaving.set(!0),yield this.$api.put("/server/name",{name:t}),this.$settings.setEnvItem("homebridgeInstanceName",t),this.hbNameIsInvalid.set(!1),setTimeout(()=>{this.hbNameIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbNameIsSaving.set(!1)}})}uiLangSave(t){return b(this,null,function*(){try{this.uiLangIsSaving.set(!0),this.$settings.setLang(t),yield this.saveUiSettingChange("lang",t),setTimeout(()=>{this.uiLangIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLangIsSaving.set(!1)}})}uiThemeSave(t){return b(this,null,function*(){try{this.uiThemeIsSaving.set(!0),this.$settings.setTheme(t),yield this.saveUiSettingChange("theme",t),setTimeout(()=>{this.uiThemeIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiThemeIsSaving.set(!1)}})}uiLightSave(t){return b(this,null,function*(){try{this.uiLightIsSaving.set(!0),this.$settings.setLightingMode(t,"user"),yield this.saveUiSettingChange("lightingMode",t),setTimeout(()=>{this.uiLightIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLightIsSaving.set(!1)}})}uiMenuSave(t){return b(this,null,function*(){try{this.uiMenuIsSaving.set(!0),this.$settings.setMenuMode(t),yield this.saveUiSettingChange("menuMode",t),window.location.reload()}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiMenuIsSaving.set(!1)}})}uiTempSave(t){return b(this,null,function*(){try{this.uiTempIsSaving.set(!0),this.$settings.setEnvItem("temperatureUnits",t),yield this.saveUiSettingChange("tempUnits",t),setTimeout(()=>{this.uiTempIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempIsSaving.set(!1)}})}uiAlwaysShowBetasSave(t){return b(this,null,function*(){try{this.uiAlwaysShowBetasIsSaving.set(!0),this.$settings.setEnvItem("plugins.alwaysShowBetas",t),yield this.saveUiSettingChange("plugins.alwaysShowBetas",t),setTimeout(()=>{this.uiAlwaysShowBetasIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAlwaysShowBetasIsSaving.set(!1)}})}uiTerminalPersistenceSave(t){return b(this,null,function*(){if(!t&&this.$terminal.hasActiveSession()){let n=it([{provide:Rt,useValue:{title:this.$translate.instant("settings.terminal.persistence_confirm_title"),message:this.$translate.instant("settings.terminal.persistence_confirm_message"),message2:this.$translate.instant("common.phrases.are_you_sure"),confirmButtonLabel:this.$translate.instant("form.button_continue"),confirmButtonClass:"btn-primary",faIconClass:"fas fa-exclamation-triangle text-warning"}}],this.injector),a=this.$modal.open(Dt,{size:"lg",backdrop:"static",injector:n});try{yield a.result}catch{this.uiTerminalPersistenceFormControl.patchValue(!0,{emitEvent:!1});return}}try{this.uiTerminalPersistenceIsSaving.set(!0),t||this.$terminal.destroyPersistentSession(),this.$settings.setEnvItem("terminal.persistence",t),yield this.saveUiSettingChange("terminal.persistence",t),setTimeout(()=>{this.uiTerminalPersistenceIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalPersistenceIsSaving.set(!1)}})}uiTerminalHideWarningSave(t){return b(this,null,function*(){try{this.uiTerminalHideWarningIsSaving.set(!0),this.$settings.setEnvItem("terminal.hideWarning",t),yield this.saveUiSettingChange("terminal.hideWarning",t),setTimeout(()=>{this.uiTerminalHideWarningIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalHideWarningIsSaving.set(!1)}})}uiTerminalBufferSizeSave(t){return b(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.uiTerminalBufferSizeIsInvalid.set(!0);return}try{this.uiTerminalBufferSizeIsSaving.set(!0),this.$settings.setEnvItem("terminal.bufferSize",t),yield this.saveUiSettingChange("terminal.bufferSize",t),this.uiTerminalBufferSizeIsInvalid.set(!1),setTimeout(()=>{this.uiTerminalBufferSizeIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalBufferSizeIsSaving.set(!1)}})}hbDebugSave(t){return b(this,null,function*(){try{this.hbDebugIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:t,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbDebugIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbDebugIsSaving.set(!1)}})}hbInsecureSave(t){return b(this,null,function*(){try{this.hbInsecureIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:t,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbInsecureIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbInsecureIsSaving.set(!1)}})}hbKeepSave(t){return b(this,null,function*(){try{this.hbKeepIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:t,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),this.$settings.setKeepOrphans(t),setTimeout(()=>{this.hbKeepIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbKeepIsSaving.set(!1)}})}hbEnvDebugSave(t){return b(this,null,function*(){try{this.hbEnvDebugIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:t,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbEnvDebugIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEnvDebugIsSaving.set(!1)}})}hbEnvNodeSave(t){return b(this,null,function*(){try{this.hbEnvNodeIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:t}),setTimeout(()=>{this.hbEnvNodeIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEnvNodeIsSaving.set(!1)}})}hbLogSizeSave(t){return b(this,null,function*(){if(t&&(typeof t!="number"||t<-1||Number.isInteger(t)===!1)){this.hbLogSizeIsInvalid.set(!0);return}try{this.hbLogSizeIsSaving.set(!0),this.$settings.setEnvItem("log.maxSize",t),(!t||t===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid.set(!1)),yield this.saveUiSettingChange("log.maxSize",t),this.hbLogSizeIsInvalid.set(!1),setTimeout(()=>{this.hbLogSizeIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogSizeIsSaving.set(!1)}})}hbLogTruncateSave(t){return b(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.hbLogTruncateIsInvalid.set(!0);return}try{this.hbLogTruncateIsSaving.set(!0),this.$settings.setEnvItem("log.truncateSize",t),yield this.saveUiSettingChange("log.truncateSize",t),this.hbLogTruncateIsInvalid.set(!1),setTimeout(()=>{this.hbLogTruncateIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogTruncateIsSaving.set(!1)}})}hbMDnsSave(t){return b(this,null,function*(){try{this.hbMDnsIsSaving.set(!0),yield this.$api.put("/server/mdns-advertiser",{advertiser:t}),setTimeout(()=>{this.hbMDnsIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbMDnsIsSaving.set(!1)}})}hbPortSave(t){return b(this,null,function*(){if(t===this.uiPortFormControl.value){this.hbPortIsInvalid.set(!0);return}try{this.hbPortIsSaving.set(!0),yield this.$api.put("/server/port",{port:t}),this.hbPortIsInvalid.set(!1),setTimeout(()=>{this.hbPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPortIsSaving.set(!1)}})}hbStartPortSave(t){return b(this,null,function*(){try{this.hbStartPortIsSaving.set(!0),yield this.$api.put("/server/ports",{start:t,end:this.hbEndPortFormControl.value}),this.hbStartPortIsInvalid.set(!1),setTimeout(()=>{this.hbStartPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbStartPortIsSaving.set(!1)}})}hbEndPortSave(t){return b(this,null,function*(){try{this.hbEndPortIsSaving.set(!0),yield this.$api.put("/server/ports",{start:this.hbStartPortFormControl.value,end:t}),this.hbEndPortIsInvalid.set(!1),setTimeout(()=>{this.hbEndPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEndPortIsSaving.set(!1)}})}uiPortSave(t){return b(this,null,function*(){if(!t||typeof t!="number"||t<1025||t>65533||Number.isInteger(t)===!1||t===this.hbPortFormControl.value){this.uiPortIsInvalid.set(!0);return}try{this.uiPortIsSaving.set(!0),this.$settings.setEnvItem("port",t),yield this.saveUiSettingChange("port",t),this.uiPortIsInvalid.set(!1),setTimeout(()=>{this.uiPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiPortIsSaving.set(!1)}})}uiAuthSave(t){return b(this,null,function*(){try{this.uiAuthIsSaving.set(!0),this.$settings.setItem("formAuth",t),yield this.saveUiSettingChange("auth",t?"form":"none"),this.$notification.formAuthEnabled.next(t),setTimeout(()=>{this.uiAuthIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAuthIsSaving.set(!1)}})}uiSessionTimeoutSaveFromFields(){return b(this,null,function*(){let t=this.uiSessionTimeoutDaysFormControl.value||0,n=this.uiSessionTimeoutHoursFormControl.value||0,a=this.uiSessionTimeoutMinutesFormControl.value||0;if(typeof t!="number"||t<0||t>365||!Number.isInteger(t)||typeof n!="number"||n<0||n>23||!Number.isInteger(n)||typeof a!="number"||a<0||a>59||!Number.isInteger(a)){this.uiSessionTimeoutIsInvalid.set(!0);return}let y=t*86400+n*3600+a*60;if(y<600||y>864e5){this.uiSessionTimeoutIsInvalid.set(!0);return}try{this.uiSessionTimeoutIsSaving.set(!0),this.$settings.setItem("sessionTimeout",y),yield this.saveUiSettingChange("sessionTimeout",y),this.uiSessionTimeoutIsInvalid.set(!1),setTimeout(()=>{this.uiSessionTimeoutIsSaving.set(!1),this.showRestartToast()},1e3)}catch(R){console.error(R),this.$toastr.error(R.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutIsSaving.set(!1)}})}uiSessionTimeoutInactivityBasedSave(t){return b(this,null,function*(){try{this.uiSessionTimeoutInactivityBasedIsSaving.set(!0),this.$settings.setItem("sessionTimeoutInactivityBased",t),yield this.saveUiSettingChange("sessionTimeoutInactivityBased",t),setTimeout(()=>{this.uiSessionTimeoutInactivityBasedIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutInactivityBasedIsSaving.set(!1)}})}uiSslKeySave(t){return b(this,null,function*(){try{this.uiSslKeyIsSaving.set(!0),this.$settings.setEnvItem("ssl.key",t),yield this.saveUiSettingChange("ssl.key",t),setTimeout(()=>{this.uiSslKeyIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslKeyIsSaving.set(!1)}})}uiSslCertSave(t){return b(this,null,function*(){try{this.uiSslCertIsSaving.set(!0),this.$settings.setEnvItem("ssl.cert",t),yield this.saveUiSettingChange("ssl.cert",t),setTimeout(()=>{this.uiSslCertIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslCertIsSaving.set(!1)}})}uiSslPfxSave(t){return b(this,null,function*(){try{this.uiSslPfxIsSaving.set(!0),this.$settings.setEnvItem("ssl.pfx",t),yield this.saveUiSettingChange("ssl.pfx",t),setTimeout(()=>{this.uiSslPfxIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPfxIsSaving.set(!1)}})}uiSslPassphraseSave(t){return b(this,null,function*(){try{this.uiSslPassphraseIsSaving.set(!0),this.$settings.setEnvItem("ssl.passphrase",t),yield this.saveUiSettingChange("ssl.passphrase",t),setTimeout(()=>{this.uiSslPassphraseIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPassphraseIsSaving.set(!1)}})}uiSslSelfSignedHostnamesSave(t){return b(this,null,function*(){try{this.uiSslSelfSignedHostnamesIsSaving.set(!0);let n=t.split(",").map(a=>a.trim()).filter(a=>a.length>0);this.$settings.setEnvItem("ssl.selfSignedHostnames",n),yield this.saveUiSettingChange("ssl.selfSignedHostnames",n),setTimeout(()=>{this.uiSslSelfSignedHostnamesIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslSelfSignedHostnamesIsSaving.set(!1)}})}generateSelfSigned(t="keycert"){return b(this,null,function*(){let n=this.uiSslSelfSignedHostnamesFormControl.value||"",a=String(n).split(",").map(R=>R.trim()).filter(R=>!!R),y={hostnames:a,mode:t};try{let R=yield this.$api.post("/server/ssl/selfsigned/generate",y);t==="keycert"?(R?.keyPath&&(this.$settings.setEnvItem("ssl.key",R.keyPath),this.uiSslKeyFormControl.patchValue(R.keyPath,{emitEvent:!1})),R?.certPath&&(this.$settings.setEnvItem("ssl.cert",R.certPath),this.uiSslCertFormControl.patchValue(R.certPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("keycert",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.selfsigned_generate_success_keycert"),this.$translate.instant("toast.title_success"))):(this.$settings.setEnvItem("ssl.selfSigned",!0),this.$settings.setEnvItem("ssl.selfSignedHostnames",a),this.uiSslTypeFormControl.patchValue("selfsigned",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.selfsigned_generate_success_selfsigned"),this.$translate.instant("toast.title_success"))),this.showRestartToast()}catch(R){console.error(R),this.$toastr.error(R.error?.message||R.message,this.$translate.instant("toast.title_error"))}})}uiSslTypeSave(t){return b(this,null,function*(){switch(t){case"keycert":this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!1),yield this.saveUiSettingChange("ssl.selfSigned",!1);break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.selfSigned",!1),yield this.saveUiSettingChange("ssl.selfSigned",!1);break;case"selfsigned":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!0),yield this.saveUiSettingChange("ssl.selfSigned",!0),this.uiSslSelfSignedHostnamesFormControl.value||this.uiSslSelfSignedHostnamesFormControl.patchValue("localhost, 127.0.0.1",{emitEvent:!0}),this.showRestartToast();break;default:this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.uiSslSelfSignedHostnamesFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!1),this.$settings.setEnvItem("ssl.selfSignedHostnames",[]),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(t){return b(this,null,function*(){try{this.uiHostIsSaving.set(!0),this.$settings.setItem("host",t),yield this.saveUiSettingChange("host",t),setTimeout(()=>{this.uiHostIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiHostIsSaving.set(!1)}})}uiWebrootSave(t){return b(this,null,function*(){try{this.uiWebrootIsSaving.set(!0),t=t?`/${t}`.replace(/\/+/g,"/").replace(/\/$/,""):"",t==="/"&&(t=""),this.$settings.setItem("webroot",t),yield this.saveUiSettingChange("webroot",t),this.uiWebrootFormControl.patchValue(t,{emitEvent:!1}),setTimeout(()=>{this.uiWebrootIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiWebrootIsSaving.set(!1)}})}uiProxyHostSave(t){return b(this,null,function*(){try{this.uiProxyHostIsSaving.set(!0),this.$settings.setItem("proxyHost",t),yield this.saveUiSettingChange("proxyHost",t),setTimeout(()=>{this.uiProxyHostIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiProxyHostIsSaving.set(!1)}})}hbPackageSave(t){return b(this,null,function*(){try{this.hbPackageIsSaving.set(!0),this.$settings.setEnvItem("homebridgePackagePath",t),yield this.saveUiSettingChange("homebridgePackagePath",t),setTimeout(()=>{this.hbPackageIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPackageIsSaving.set(!1)}})}uiMetricsSave(t){return b(this,null,function*(){try{this.uiMetricsIsSaving.set(!0),this.$settings.setEnvItem("disableServerMetricsMonitoring",!t),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!t),setTimeout(()=>{this.uiMetricsIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiMetricsIsSaving.set(!1)}})}enableMdnsAdvertiseSave(t){return b(this,null,function*(){try{this.enableMdnsAdvertiseIsSaving.set(!0),this.$settings.setEnvItem("enableMdnsAdvertise",t),yield this.saveUiSettingChange("enableMdnsAdvertise",t),setTimeout(()=>{this.enableMdnsAdvertiseIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}uiAccDebugSave(t){return b(this,null,function*(){try{this.uiAccDebugIsSaving.set(!0),this.$settings.setEnvItem("accessoryControl.debug",t),yield this.saveUiSettingChange("accessoryControl.debug",t),setTimeout(()=>{this.uiAccDebugIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAccDebugIsSaving.set(!1)}})}uiTempFileSave(t){return b(this,null,function*(){try{this.uiTempFileIsSaving.set(!0),this.$settings.setEnvItem("temp",t),yield this.saveUiSettingChange("temp",t),setTimeout(()=>{this.uiTempFileIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempFileIsSaving.set(!1)}})}hbLinuxShutdownSave(t){return b(this,null,function*(){try{this.hbLinuxShutdownIsSaving.set(!0),this.$settings.setEnvItem("linux.shutdown",t),yield this.saveUiSettingChange("linux.shutdown",t),setTimeout(()=>{this.hbLinuxShutdownIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLinuxShutdownIsSaving.set(!1)}})}hbLinuxRestartSave(t){return b(this,null,function*(){try{this.hbLinuxRestartIsSaving.set(!0),this.$settings.setEnvItem("linux.restart",t),yield this.saveUiSettingChange("linux.restart",t),setTimeout(()=>{this.hbLinuxRestartIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(n=>console.error(n)).finally(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLinuxRestartIsSaving.set(!1)}})}validateCronExpression(t){if(!t||!t.trim())return!0;let n=t.trim().split(/\s+/);if(n.length!==5)return!1;let a=/^[\d*,\-/]+$/;return n.every(y=>a.test(y))}scheduledRestartCronSave(t){return b(this,null,function*(){if(!this.validateCronExpression(t)){this.scheduledRestartCronIsInvalid.set(!0);return}this.scheduledRestartCronIsInvalid.set(!1);try{this.scheduledRestartCronIsSaving.set(!0);let n=t?.trim()?t:null;this.$settings.setEnvItem("scheduledRestartCron",n),yield this.$api.put("/config-editor/ui",{key:"scheduledRestartCron",value:n}),setTimeout(()=>{this.scheduledRestartCronIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).catch(a=>console.error(a)).finally(()=>this.showRestartToast()).catch(a=>{console.error(a),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.scheduledRestartCronIsSaving.set(!1)}})}initMatterSettings(){return b(this,null,function*(){try{let t=yield this.$api.get("/config-editor/matter"),n=t!==null;n?this.matterPortFormControl.patchValue(t.port||"",{emitEvent:!1}):this.matterPortFormControl.patchValue(0,{emitEvent:!1}),this.matterPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(a=>this.matterPortSave(a)),this.matterEnabledFormControl.patchValue(n,{emitEvent:!1}),this.matterEnabledFormControl.valueChanges.subscribe(a=>this.matterEnabledSave(a))}catch(t){console.error(t),this.matterEnabledFormControl.valueChanges.subscribe(n=>this.matterEnabledSave(n))}})}matterPortSave(t){return b(this,null,function*(){if(!t&&t!==0){try{this.matterPortIsSaving.set(!0),this.matterPortIsInvalid.set(!1),yield this.$api.put("/config-editor/matter",{port:void 0}),setTimeout(()=>{this.matterPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterPortIsSaving.set(!1)}return}if(typeof t!="number"||t<1024||t>65535||Number.isInteger(t)===!1){this.matterPortIsInvalid.set(!0);return}if([5353,8080,8443].includes(t)){this.matterPortIsInvalid.set(!0),this.$toastr.error("Port 5353, 8080, and 8443 are reserved and cannot be used",this.$translate.instant("toast.title_error"));return}try{this.matterPortIsSaving.set(!0),this.matterPortIsInvalid.set(!1),yield this.$api.put("/config-editor/matter",{port:t}),setTimeout(()=>{this.matterPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterPortIsSaving.set(!1),this.matterPortIsInvalid.set(!0)}})}matterEnabledSave(t){return b(this,null,function*(){try{if(this.matterEnabledIsSaving.set(!0),t){let n;if(this.matterConfigCache.port)n=this.matterConfigCache.port;else try{n=(yield this.$api.get("/server/port/new/matter")).port}catch(a){console.error("Failed to get Matter port, using fallback",a),n=Math.floor(Math.random()*12+5530)}yield this.$api.put("/config-editor/matter",{port:n}),n!==void 0&&this.matterPortFormControl.patchValue(n,{emitEvent:!1}),this.matterConfigCache={port:n},setTimeout(()=>{this.matterEnabledIsSaving.set(!1),this.showRestartToast()},1e3)}else{let n=it([{provide:Rt,useValue:{title:"Disable Matter",message:"Disabling Matter will delete all Matter bridge files. This action cannot be undone.",message2:"Are you sure you want to continue?",confirmButtonLabel:"Continue",confirmButtonClass:"btn-danger",faIconClass:"fas fa-exclamation-triangle text-warning"}}],this.injector),a=this.$modal.open(Dt,{size:"lg",backdrop:"static",injector:n});try{yield a.result,this.matterConfigCache={port:this.matterPortFormControl.value||void 0},this.$settings.restartToastRef&&(this.$toastr.clear(this.$settings.restartToastRef.toastId),this.$settings.restartToastRef=null,this.restartToastIsShown=!1),this.$router.navigate(["/restart"],{queryParams:{alreadyRestarting:"true"}}),yield this.$api.delete("/config-editor/matter")}catch(y){y==="Dismiss"?(this.matterEnabledFormControl.patchValue(!0,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1)):(console.error(y),this.$toastr.error(y.message,this.$translate.instant("toast.title_error")),this.matterEnabledFormControl.patchValue(!0,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1))}}}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterEnabledFormControl.patchValue(t,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1)}})}buildBridgeNetworkAdapterList(t){if(!t.length){this.adaptersSelected.set([]);return}this.adaptersSelected.set(t.map(n=>{let a=this.adaptersAvailable().find(y=>y.iface===n);return a?{iface:a.iface,selected:!0,missing:!1,ip4:a.ip4,ip6:a.ip6}:{iface:n,selected:!0,missing:!0}}))}showRestartToast(){this.restartToastIsShown||(this.restartToastIsShown=!0,this.$settings.restartToastRef=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0}),this.$settings.restartToastRef&&this.$settings.restartToastRef.onTap&&this.$settings.restartToastRef.onTap.pipe($(this.destroyRef)).subscribe(()=>{this.$router.navigate(["/restart"])}))}triggerKeyCertSelect(){let t=this.sslKeyCertInput();t&&(t.nativeElement.value="",t.nativeElement.click())}onSslKeyCertChange(t){return b(this,null,function*(){if(!t||t.length===0)return;let n=new FormData;Array.from(t).forEach(a=>{n.append("files",a,a.name)});try{let a=yield this.$api.post("/server/ssl/keycert",n);a?.keyPath&&(this.$settings.setEnvItem("ssl.key",a.keyPath),this.uiSslKeyFormControl.patchValue(a.keyPath,{emitEvent:!1})),a?.certPath&&(this.$settings.setEnvItem("ssl.cert",a.certPath),this.uiSslCertFormControl.patchValue(a.certPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("keycert",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.ssl_upload_success_keycert"),this.$translate.instant("toast.title_success")),this.showRestartToast()}catch(a){console.error(a),this.$toastr.error(a.error?.message||a.message,this.$translate.instant("toast.title_error"))}})}triggerPfxSelect(){let t=this.sslPfxInput();t&&(t.nativeElement.value="",t.nativeElement.click())}onSslPfxChange(t){return b(this,null,function*(){if(!t||t.length===0)return;let n=new FormData;n.append("pfx",t[0],t[0].name),this.uiSslPassphraseFormControl.value&&n.append("passphrase",this.uiSslPassphraseFormControl.value);try{let a=yield this.$api.post("/server/ssl/pfx",n);a?.pfxPath&&(this.$settings.setEnvItem("ssl.pfx",a.pfxPath),this.uiSslPfxFormControl.patchValue(a.pfxPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("pfx",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.ssl_upload_success_pfx"),this.$translate.instant("toast.title_success")),this.showRestartToast()}catch(a){console.error(a),this.$toastr.error(a.error?.message||a.message,this.$translate.instant("toast.title_error"))}})}validateSsl(){return b(this,null,function*(){try{let t=yield this.$api.post("/server/ssl/validate",{});if(t?.valid)this.$toastr.success(t?.details||this.$translate.instant("settings.security.ssl_validate_success"),this.$translate.instant("toast.title_success"));else{let n=t?.details||this.$translate.instant("settings.security.ssl_validate_error");this.$toastr.error(n,this.$translate.instant("toast.title_error"))}}catch(t){console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],viewQuery:function(n,a){n&1&&(st(a.searchInput,nn,5),st(a.sslKeyCertInput,an,5),st(a.sslPfxInput,on,5)),n&2&&vt(3)},decls:12,vars:11,consts:[["searchInput",""],["sslKeyCertInput",""],["sslPfxInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"row"],[1,"col-md-12"],["novalidate",""],["type","text",1,"search-bar",3,"ngModelChange","placeholder","ngModel","ngModelOptions"],["type","button",1,"search-bar-clear"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"],[1,"my-4"],[1,"pb-3"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center"],["type","text",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"fas","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0","order-2","order-md-1"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px",3,"click"],[1,"fas","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"d-flex","align-items-center"],[1,"order-1","order-md-2"],["type","checkbox","id","uiAlwaysShowBetas",1,"rendux-input",3,"formControl"],["for","uiAlwaysShowBetas",1,"rendux-label","ms-3",2,"min-width","50px"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pe-2"],["type","checkbox","id","homebridgeDebugMode",1,"rendux-input",3,"formControl"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode",1,"rendux-input",3,"formControl"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans",1,"rendux-input",3,"formControl"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"badge","badge-primary","ms-1"],[3,"innerHtml"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","flex-column","align-items-end"],[1,"d-flex","align-items-center","w-100"],["type","text","placeholder","mm hh dd MM ww","maxlength","30",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","homebridgeMetrics",1,"rendux-input",3,"formControl"],["for","homebridgeMetrics",1,"rendux-label","ms-3",2,"min-width","50px"],["type","text","placeholder","/usr/local/lib/node_modules/homebridge",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","shutdown",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center","font-monospace"],["type","text","placeholder","reboot",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/sys/class/thermal/thermal_zone0/temp",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"class"],[1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px",3,"click","disabled"],[1,"badge","badge-primary","me-1"],[1,"fas","fa-exclamation-triangle"],[1,"fw-normal"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"grey-text","pe-2",3,"innerHtml"],["type","text","pattern","^[^{}/:\\\\s]+(?::\\d+)?$","placeholder","0.0.0.0",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"fas","fa-exclamation-triangle","red-text"],["type","text","pattern","^[^{}/:\\\\s]+(?::\\d+)?$","placeholder","example.com:8443",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","/",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","enableMdnsAdvertise",1,"rendux-input",3,"formControl"],["for","enableMdnsAdvertise",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsMatter",1,"list-group","list-group-box","mt-2","mx-0"],["type","checkbox","id","matterEnabled",1,"rendux-input",3,"formControl"],["for","matterEnabled",1,"rendux-label","ms-3",2,"min-width","50px"],["type","number","min","1024","max","65535","placeholder","5540",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["id","fieldsTerminal",1,"list-group","list-group-box","mt-2","mx-0"],["type","number","min","-1","placeholder","1000000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","terminalPersistence",1,"rendux-input",3,"formControl"],["for","terminalPersistence",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","terminalHideWarning",1,"rendux-input",3,"formControl"],["for","terminalHideWarning",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"d-flex","flex-column"],[1,"small","grey-text"],["type","number","min","10000","max","100000","step","10000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["id","fieldsSecurity",1,"list-group","list-group-box","mt-2","mx-0"],["type","checkbox","id","uiAuthForm",1,"rendux-input",3,"formControl"],["for","uiAuthForm",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","session-inactivity-based",1,"rendux-input",3,"formControl"],["for","session-inactivity-based",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"fas","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0"],[1,"d-flex","align-items-center","gap-2"],["type","number","min","0","max","365","placeholder","0",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],[1,"ms-1","me-2","mb-0","text-nowrap","grey-text","small"],["type","number","min","0","max","23","placeholder","8",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],["type","number","min","0","max","59","placeholder","0",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl","hidden"],["value","off"],["value","selfsigned"],["value","keycert"],["value","pfx"],["type","button",1,"btn","btn-elegant","mx-2","py-1",2,"min-width","50px",3,"title"],["type","button",1,"btn","btn-elegant","mx-2","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-check"],["type","text","placeholder","localhost, 127.0.0.1, homebridge.local",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","m-0","waves-effect","ms-2","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-magic"],["type","button",1,"btn","btn-elegant","m-0","py-1","mx-2",2,"min-width","50px",3,"click","title"],[1,"fas","fa-shield-alt"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center","gap-2"],["type","button",1,"btn","btn-elegant","m-0","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-upload"],["type","file","multiple","",1,"d-none",3,"change"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","m-0",2,"min-width","50px",3,"click","title"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","waves-effect","m-0","py-1",2,"min-width","50px",3,"click","title"],["type","file",1,"d-none",3,"change"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"focus","blur","type","formControl"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["type","checkbox","id","accessoryDebug",1,"rendux-input",3,"formControl"],["for","accessoryDebug",1,"rendux-label","ms-3",2,"min-width","50px"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"]],template:function(n,a){n&1&&(o(0,"div",3)(1,"div",4)(2,"h3",5),d(3),s(4,"translate"),l()(),o(5,"div",6)(6,"button",7),s(7,"translate"),T("click",function(){return a.toggleSearch()}),c(8,"i"),l()()(),m(9,dn,7,7,"div",8),m(10,pn,1,0,"app-spinner")(11,Ko,10,9)),n&2&&(i(3),h(r(4,7,"menu.settings.title")),i(3),f("aria-label",r(7,9,"form.search")),i(2),D(Wt("fas",a.showSearchBar()?" primary-text":""," fa-search")),i(),u(a.showSearchBar()?9:-1),i(),u(a.loading()?10:11))},dependencies:[qt,mt,te,ne,ae,bt,ee,pt,ie,ct,Yt,re,le,se,oe,xt,Xt,ut,St,ue,dt,L],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}"],data:{animation:[Pt("fadeInOut",[ht(":enter",[ot({opacity:0}),gt("750ms",ot({opacity:1}))]),ht(":leave",[gt("750ms",ot({opacity:0}))])]),Pt("smoothHide",[ht(":enter",[ot({opacity:.01,height:"0px",overflow:"hidden",marginBottom:0,transform:"scale(0.97)"}),gt("450ms cubic-bezier(0.0, 0.0, 0.2, 1)",ot({opacity:1,height:"*",marginBottom:"*",transform:"scale(1)"}))]),ht(":leave",[gt("150ms cubic-bezier(0.4, 0.0, 1, 1)",ot({opacity:0,height:0,marginBottom:0,paddingTop:0,paddingBottom:0,overflow:"hidden",transform:"scale(0.98)"}))])])]}})}return e})();export{cl as SettingsComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-JUCPYKUR.js";import"./chunk-B4AJQJMI.js";export default a();
@@ -1 +0,0 @@
1
- import{a}from"./chunk-LOEOVQRM.js";import"./chunk-B4AJQJMI.js";export default a();
@@ -1 +0,0 @@
1
- import{b as S}from"./chunk-YZSYJJ4L.js";import{J as h,K as j,x as E}from"./chunk-6CVW2OLK.js";import{$ as c,X as l,Y as T,_ as v,aa as f,i as u,la as y,o as g,ob as I,q as m,t as k}from"./chunk-MKV5RAJQ.js";import{h as a}from"./chunk-B4AJQJMI.js";var w=new v("JWT_OPTIONS"),p=(()=>{class o{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let r=0,s,n,x=0;n=e.charAt(x++);~n&&(s=r%4?s*64+n:n,r++%4)?i+=String.fromCharCode(255&s>>(-2*r&6)):0)n=t.indexOf(n);return i}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let i=this.urlBase64Decode(t[1]);if(!i)throw new Error("Cannot decode the token.");return JSON.parse(i)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let i=new Date(0);return i.setUTCSeconds(t.exp),i}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(i=>this._isTokenExpired(i,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let i=this.getTokenExpirationDate(e);return t=t||0,i===null?!1:!(i.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return o.\u0275fac=function(e){return new(e||o)(c(w))},o.\u0275prov=l({token:o,factory:o.\u0275fac}),o})(),$=o=>o instanceof Promise?k(()=>o):u(o),R=(()=>{class o{constructor(e,t,i){this.jwtHelper=t,this.document=i,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let i=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(r=>typeof r=="string"?r===i:r instanceof RegExp?r.test(i):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(i=>{if(typeof i=="string"){let r=new URL(i,this.document.location.origin);return r.hostname===t.hostname&&r.pathname===t.pathname}return i instanceof RegExp?i.test(e.url):!1})>-1}handleInterception(e,t,i){let r=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=u(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):u(!0)),e?s.pipe(g(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${r}${e}`}})),m(n=>i.handle(n))):i.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let i=this.tokenGetter(e);return $(i).pipe(m(r=>this.handleInterception(r,e,t)))}}return o.\u0275fac=function(e){return new(e||o)(c(w),c(p),c(y))},o.\u0275prov=l({token:o,factory:o.\u0275fac}),o})(),L=(()=>{class o{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:o,providers:[{provide:E,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:w,useValue:e.config},p]}}}return o.\u0275fac=function(e){return new(e||o)(c(o,12))},o.\u0275mod=I({type:o}),o.\u0275inj=T({}),o})();var z=(()=>{class o{$api=f(j);$jwtHelper=f(p);$settings=f(S);token;user={};logoutTimer;lastRefreshTime=Date.now();isRefreshing=!1;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield this.$api.post("/auth/login",e);if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(h.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield this.$api.post("/auth/noauth",{});if(this.validateToken(e.access_token))window.localStorage.setItem(h.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,clearTimeout(this.logoutTimer),window.localStorage.removeItem(h.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield this.$settings.onSettingsLoaded);let e=window.localStorage.getItem(h.jwt.tokenKey);e&&this.validateToken(e)})}checkToken(){return a(this,null,function*(){if(!this.token||this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){console.warn("Token expired on client side, logging out immediately"),this.logout();return}try{return yield this.$api.get("/auth/check")}catch(e){throw e.status===401&&(console.warn("Current token is not valid on server"),this.logout()),e}})}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(h.jwt.tokenKey),this.token=null,!1}}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let e=this.$settings.sessionTimeout*1e3;e<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),e))}}checkAndRefreshIfNeeded(){return a(this,null,function*(){if(!this.$settings.formAuth||!this.$settings.sessionTimeoutInactivityBased||!this.token||!this.isLoggedIn()||this.isRefreshing)return;let t=Date.now()-this.lastRefreshTime,r=this.$settings.sessionTimeout*1e3*.7;if(t>r)try{yield this.refreshSession()}catch(s){console.error("Failed to refresh session:",s)}})}refreshSession(){return a(this,null,function*(){if(!this.isRefreshing){this.isRefreshing=!0;try{let e=yield this.$api.post("/auth/refresh",{});e.access_token&&(this.token=e.access_token,window.localStorage.setItem(h.jwt.tokenKey,e.access_token),this.lastRefreshTime=Date.now(),this.setLogoutTimer())}finally{this.isRefreshing=!1}}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=l({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{L as a,z as b};