homebridge-config-ui-x 5.4.2-beta.3 → 5.4.2-beta.30

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 (177) hide show
  1. package/CHANGELOG.md +30 -6
  2. package/dist/core/auth/auth.controller.d.ts +1 -0
  3. package/dist/core/config/config.service.d.ts +3 -1
  4. package/dist/core/config/config.service.js +3 -2
  5. package/dist/core/config/config.service.js.map +1 -1
  6. package/dist/core/config/config.startup.d.ts +1 -0
  7. package/dist/core/config/config.startup.js +24 -3
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/spa/spa-html.service.d.ts +5 -0
  10. package/dist/core/spa/spa-html.service.js +38 -0
  11. package/dist/core/spa/spa-html.service.js.map +1 -0
  12. package/dist/core/spa/spa.filter.d.ts +2 -0
  13. package/dist/core/spa/spa.filter.js +18 -2
  14. package/dist/core/spa/spa.filter.js.map +1 -1
  15. package/dist/main.js +9 -3
  16. package/dist/main.js.map +1 -1
  17. package/dist/modules/accessories/accessories.service.js +5 -1
  18. package/dist/modules/accessories/accessories.service.js.map +1 -1
  19. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +2 -1
  20. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  21. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  22. package/dist/modules/plugins/plugins.service.js +27 -15
  23. package/dist/modules/plugins/plugins.service.js.map +1 -1
  24. package/dist/modules/server/server.controller.d.ts +3 -0
  25. package/dist/modules/server/server.controller.js +13 -0
  26. package/dist/modules/server/server.controller.js.map +1 -1
  27. package/package.json +12 -7
  28. package/public/3rdpartylicenses.txt +13 -39
  29. package/public/assets/monaco/ThirdPartyNotices.txt +448 -0
  30. package/public/assets/monaco/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  31. package/public/assets/monaco/min/vs/base/worker/workerMain.js +31 -0
  32. package/public/assets/monaco/min/vs/basic-languages/shell/shell.js +10 -0
  33. package/public/assets/monaco/min/vs/editor/editor.main.css +8 -0
  34. package/public/assets/monaco/min/vs/editor/editor.main.js +798 -0
  35. package/public/assets/monaco/min/vs/language/json/jsonMode.js +19 -0
  36. package/public/assets/monaco/min/vs/language/json/jsonWorker.js +42 -0
  37. package/public/assets/monaco/min/vs/loader.js +11 -0
  38. package/public/{chunk-V2CLR7D3.js → chunk-253ZBDHH.js} +4 -4
  39. package/public/{chunk-WCMFALUQ.js → chunk-2IPQZLVN.js} +1 -1
  40. package/public/chunk-4HVAHSRF.js +1 -0
  41. package/public/{chunk-NFD7N6TO.js → chunk-4UU3RZEP.js} +1 -1
  42. package/public/chunk-5Z4FTMML.js +1 -0
  43. package/public/chunk-65HQOP36.js +1 -0
  44. package/public/chunk-6PHHQ6IM.js +1 -0
  45. package/public/chunk-6TQFT6P4.js +1 -0
  46. package/public/{chunk-OPYWX2UT.js → chunk-74ETBIBO.js} +1 -1
  47. package/public/chunk-7VHLSUED.js +1 -0
  48. package/public/{chunk-3DFE4GXY.js → chunk-7XG67XSY.js} +1 -1
  49. package/public/chunk-ABEVX6CB.js +1 -0
  50. package/public/{chunk-ZX5OT7EF.js → chunk-AW4QFYCR.js} +1 -1
  51. package/public/chunk-C5326JMO.js +1 -0
  52. package/public/{chunk-FVSVQWIM.js → chunk-C7QDL5WP.js} +1 -1
  53. package/public/chunk-C7TPBYIB.js +1 -0
  54. package/public/chunk-CDAIJVOO.js +1 -0
  55. package/public/{chunk-XP7ETORR.js → chunk-D6XKSCC5.js} +1 -1
  56. package/public/chunk-DS4O3BGO.js +20 -0
  57. package/public/{chunk-DD4UIDDU.js → chunk-ECQJTOVP.js} +1 -1
  58. package/public/{chunk-WMIMAPZH.js → chunk-F7ZV2JBO.js} +1 -1
  59. package/public/chunk-FVAPYJL7.js +1 -0
  60. package/public/chunk-GF7XNWKJ.js +1 -0
  61. package/public/chunk-GKQKFOED.js +1 -0
  62. package/public/{chunk-E5M5VUTV.js → chunk-GWH3BEV7.js} +1 -1
  63. package/public/{chunk-CQKCDD3I.js → chunk-I5TETZ3I.js} +1 -1
  64. package/public/chunk-I7RCBEV6.js +1 -0
  65. package/public/chunk-IF3EEVBI.js +1 -0
  66. package/public/chunk-IOCF6PSL.js +14 -0
  67. package/public/chunk-JOEJHDAU.js +1 -0
  68. package/public/chunk-JUER5JSF.js +40 -0
  69. package/public/chunk-K6X3V7QM.js +1 -0
  70. package/public/{chunk-QNF5ENQG.js → chunk-KT4VIVBF.js} +1 -1
  71. package/public/chunk-KWFXAMYZ.js +1 -0
  72. package/public/chunk-KWZSOR47.js +1 -0
  73. package/public/chunk-L4SN7UV7.js +2 -0
  74. package/public/chunk-LW3OSTQ2.js +4 -0
  75. package/public/{chunk-BEYU5GMW.js → chunk-LXFVNKLD.js} +2 -2
  76. package/public/chunk-MAKP7ITV.js +1 -0
  77. package/public/chunk-MX2XN5AC.js +1 -0
  78. package/public/chunk-NA2TYL3P.js +1 -0
  79. package/public/chunk-NKLS6I3Q.js +1 -0
  80. package/public/chunk-OTQDUUVB.js +1 -0
  81. package/public/chunk-OXWDSC64.js +3 -0
  82. package/public/chunk-OZU3RJB3.js +1 -0
  83. package/public/chunk-PF42ZW6U.js +1 -0
  84. package/public/chunk-Q32MRVAW.js +4 -0
  85. package/public/chunk-QAF5FFZX.js +1 -0
  86. package/public/chunk-QGV5APZY.js +1 -0
  87. package/public/chunk-R4YZWKPJ.js +1 -0
  88. package/public/chunk-RCDQIPR6.js +1 -0
  89. package/public/chunk-RJECYPFA.js +1 -0
  90. package/public/{chunk-P5LYIXY6.js → chunk-SGN6BUCA.js} +1 -1
  91. package/public/chunk-TNLA3VFN.js +1 -0
  92. package/public/{chunk-UVNXQ7V7.js → chunk-TRJG3WAE.js} +1 -1
  93. package/public/chunk-TUN7H57E.js +1 -0
  94. package/public/{chunk-6PIVLJE3.js → chunk-TWO6DCLR.js} +1 -1
  95. package/public/chunk-UVDUQESK.js +49 -0
  96. package/public/chunk-V2XN5VIX.js +5 -0
  97. package/public/chunk-VOCSPCZB.js +1 -0
  98. package/public/{chunk-G3CSSNW3.js → chunk-VYQ356YN.js} +1 -1
  99. package/public/{chunk-2NAVB356.js → chunk-VZV2F4H3.js} +1 -1
  100. package/public/chunk-XK7QF23T.js +1 -0
  101. package/public/chunk-Y6PTF4YJ.js +1 -0
  102. package/public/chunk-YMAWYUA6.js +1 -0
  103. package/public/chunk-YOAZTJFX.js +9 -0
  104. package/public/chunk-YR5AVFAB.js +1 -0
  105. package/public/{chunk-6N2SOTOL.js → chunk-ZZ3PNQCV.js} +2 -2
  106. package/public/index.html +2 -2
  107. package/public/main-SHSVLBYV.js +1 -0
  108. package/public/polyfills-5KWHJ7II.js +2 -0
  109. package/public/{styles-LKRXKJ7O.css → styles-AUT3PDLG.css} +1 -1
  110. package/public/assets/hap-icons/light-bulb.svg +0 -25
  111. package/public/assets/hap-icons/outlet.svg +0 -25
  112. package/public/assets/hap-icons/switch.svg +0 -25
  113. package/public/assets/hap-icons/unknown.svg +0 -25
  114. package/public/assets/monaco-0.21.3/README.md +0 -96
  115. package/public/assets/monaco-0.21.3/ThirdPartyNotices.txt +0 -283
  116. package/public/assets/monaco-0.21.3/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  117. package/public/assets/monaco-0.21.3/min/vs/base/worker/workerMain.js +0 -160
  118. package/public/assets/monaco-0.21.3/min/vs/basic-languages/shell/shell.js +0 -7
  119. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.css +0 -6
  120. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.js +0 -2368
  121. package/public/assets/monaco-0.21.3/min/vs/editor/editor.main.nls.js +0 -39
  122. package/public/assets/monaco-0.21.3/min/vs/language/json/jsonMode.js +0 -7
  123. package/public/assets/monaco-0.21.3/min/vs/language/json/jsonWorker.js +0 -7
  124. package/public/assets/monaco-0.21.3/min/vs/loader.js +0 -38
  125. package/public/assets/monaco-0.21.3/package.json +0 -38
  126. package/public/chunk-3UIJNMSW.js +0 -1
  127. package/public/chunk-4CLVNAHT.js +0 -4
  128. package/public/chunk-4UTOOZ43.js +0 -1
  129. package/public/chunk-5FLIEMLS.js +0 -1
  130. package/public/chunk-5KFQUVTY.js +0 -1
  131. package/public/chunk-65PMNYAH.js +0 -1
  132. package/public/chunk-6FXNHKMA.js +0 -1
  133. package/public/chunk-A7RVV6F7.js +0 -12
  134. package/public/chunk-AJ544VQP.js +0 -1
  135. package/public/chunk-AM4V2PYB.js +0 -1
  136. package/public/chunk-BMCHWK5R.js +0 -1
  137. package/public/chunk-BU7BW6HI.js +0 -1
  138. package/public/chunk-C46JKCQN.js +0 -49
  139. package/public/chunk-CF5KPFXL.js +0 -1
  140. package/public/chunk-D6EXTZUP.js +0 -2
  141. package/public/chunk-DNZDV4RS.js +0 -1
  142. package/public/chunk-ECNGRFJK.js +0 -1
  143. package/public/chunk-EJDV7XKC.js +0 -1
  144. package/public/chunk-GRIYVNF3.js +0 -1
  145. package/public/chunk-HBAZZ6IF.js +0 -1
  146. package/public/chunk-HRJPJKGB.js +0 -1
  147. package/public/chunk-IPDYD72M.js +0 -1
  148. package/public/chunk-IQLQN2PI.js +0 -1
  149. package/public/chunk-KZ2GXUPY.js +0 -3
  150. package/public/chunk-L2TPDZKX.js +0 -1
  151. package/public/chunk-LRGNBIU3.js +0 -1
  152. package/public/chunk-NUNQT5W4.js +0 -1
  153. package/public/chunk-OUS4RGQP.js +0 -1
  154. package/public/chunk-PJK6T327.js +0 -1
  155. package/public/chunk-PMVD4FUJ.js +0 -9
  156. package/public/chunk-PP5MH7GY.js +0 -2
  157. package/public/chunk-PTKDVHHF.js +0 -4
  158. package/public/chunk-S6BU4TS5.js +0 -1
  159. package/public/chunk-SOTPTYAE.js +0 -14
  160. package/public/chunk-TKDK5GOM.js +0 -1
  161. package/public/chunk-U36QM5TK.js +0 -1
  162. package/public/chunk-UGTMSVFO.js +0 -1
  163. package/public/chunk-UMJPLO77.js +0 -20
  164. package/public/chunk-WB2IGKUB.js +0 -1
  165. package/public/chunk-XMBAELKQ.js +0 -1
  166. package/public/chunk-XWYKEZQQ.js +0 -4
  167. package/public/chunk-YCP2AG74.js +0 -1
  168. package/public/chunk-YERWTYFA.js +0 -1
  169. package/public/chunk-YN2LC5EB.js +0 -1
  170. package/public/chunk-YXBNP3EJ.js +0 -1
  171. package/public/chunk-YXZNLKQN.js +0 -1
  172. package/public/chunk-YZRL3CBQ.js +0 -1
  173. package/public/chunk-ZM5B4KXN.js +0 -1
  174. package/public/chunk-ZZ26PFQM.js +0 -1
  175. package/public/main-EG2RTPMA.js +0 -1
  176. package/public/polyfills-WE4HA5DL.js +0 -2
  177. /package/public/assets/{monaco-0.21.3 → monaco}/LICENSE +0 -0
@@ -0,0 +1 @@
1
+ import{a as Ue}from"./chunk-TUN7H57E.js";import{a as Ge}from"./chunk-D6XKSCC5.js";import{a as je}from"./chunk-7VHLSUED.js";import{a as We}from"./chunk-VYQ356YN.js";import{a as Ke}from"./chunk-4UU3RZEP.js";import{a as qe}from"./chunk-QGV5APZY.js";import{a as dt,c as ct}from"./chunk-YOAZTJFX.js";import{a as mt}from"./chunk-KT4VIVBF.js";import{a as He}from"./chunk-C7QDL5WP.js";import{g as ce,m as A,n as re,t as me}from"./chunk-LXFVNKLD.js";import{B as ae,C as oe,b as ie,c as pe,e as ne,j as E,k as $e,l as Fe,n as Pe,p as de,s as Re,t as Ae,v as Ve,w as Me,x as De,z as Ne}from"./chunk-F7ZV2JBO.js";import{a as Oe}from"./chunk-6TQFT6P4.js";import"./chunk-RJECYPFA.js";import{d as U,e as Le}from"./chunk-YMAWYUA6.js";import{b as Y}from"./chunk-Y6PTF4YJ.js";import{c as Te,d as he,f as le,g as ge,k as V,l as R,n as M,p as ze,q as D}from"./chunk-KWFXAMYZ.js";import{Db as w,Eb as K,Ga as se,Gb as x,Ha as ve,Hb as W,Ib as b,Kc as j,La as t,M as k,Mb as Ce,Nb as xe,Ob as Se,Pc as te,Rc as we,Vb as l,Wa as P,Wb as u,Xb as g,Zc as Ee,_c as Be,ac as Ie,bc as ye,cc as ke,g as _e,gc as N,h as v,hc as F,ic as ee,ja as C,kb as f,lb as _,mb as h,mc as r,nc as s,oa as S,ob as L,oc as G,pa as I,pb as z,qb as O,rb as m,sb as a,tb as o,ub as d,vb as T,w as $,wb as B,xb as H}from"./chunk-V2XN5VIX.js";var Qe=(i,c)=>({"green-text":i,"grey-text":c});function ut(i,c){if(i&1){let e=w();a(0,"li",9)(1,"div",10),l(2),d(3,"br"),a(4,"small",11),d(5,"i",12),r(6,"translate"),l(7," \xB7 "),a(8,"span",13),l(9),o(),l(10),r(11,"titlecase"),o()(),a(12,"div",14)(13,"input",23),r(14,"translate"),x("click",function(){let p=S(e).$implicit,y=b();return I(y.toggleList(p._username))}),o(),d(15,"label",24),o()()}if(i&2){let e=c.$implicit,n=b();t(2),g(" ",e.name," "),t(3),m("ngbTooltip",s(6,11,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150)("ngClass",F(17,Qe,e._isPaired,!e._isPaired)),t(4),u(e._username),t(),g(" \xB7 ",s(11,13,e._category)," "),t(3),m("id","hidePluginUpdates_"+e._username)("checked",!n.isInList(e._username))("disabled",n.clicked),f("aria-label",s(14,15,"form.button_allow")+" "+e.name),t(2),m("for","hidePluginUpdates_"+e._username)}}function _t(i,c){i&1&&(l(0),r(1,"translate")),i&2&&g(" ",s(1,1,"form.button_save")," ")}function ht(i,c){i&1&&d(0,"i",22)}var Je=(()=>{class i{$activeModal=C(A);$api=C(D);$settings=C(Y);$toastr=C(M);$translate=C(V);originalBlacklist=[];updatedBlacklist=[];existingBlacklist=[];clicked=!1;mainPairing={};pairings=[];get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){return v(this,null,function*(){this.updatedBlacklist=this.existingBlacklist.map(e=>e.trim().toUpperCase()).sort((e,n)=>e.localeCompare(n)),this.originalBlacklist=[...this.updatedBlacklist];try{let e=yield $(this.$api.get("/server/pairings"));this.mainPairing=e.find(n=>n._main),this.pairings=e.filter(n=>!n._main).sort((n,p)=>n.name.localeCompare(p.name))}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.updatedBlacklist.includes(e)?this.updatedBlacklist=this.updatedBlacklist.filter(n=>n!==e):(this.updatedBlacklist.push(e),this.updatedBlacklist.sort((n,p)=>n.localeCompare(p)))}isInList(e){return this.updatedBlacklist.includes(e)}updateBlacklist(){return v(this,null,function*(){this.clicked=!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(e){this.clicked=!1,console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],inputs:{existingBlacklist:"existingBlacklist"},decls:45,vars:35,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-fw","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-fw","fa-link",3,"ngbTooltip","openDelay","ngClass"],[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-fw","fa-spinner","fa-pulse"],["type","checkbox",1,"rendux-input",3,"click","id","checked","disabled"],[1,"rendux-label","ms-3",3,"for"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),d(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),r(13,"translate"),o(),a(14,"li"),l(15),r(16,"translate"),o()(),a(17,"ul",8)(18,"li",9)(19,"div",10),l(20),d(21,"br"),a(22,"small",11),d(23,"i",12),r(24,"translate"),l(25," \xB7 "),a(26,"span",13),l(27),o(),l(28," \xB7 Homebridge "),o()(),a(29,"div",14)(30,"input",15),r(31,"translate"),x("click",function(){return p.toggleList(p.mainPairing._username)}),o(),d(32,"label",16),o()(),z(33,ut,16,20,"li",9,L),o()(),a(35,"div",17)(36,"div",10)(37,"button",18),x("click",function(){return p.dismissModal()}),l(38),r(39,"translate"),o()(),d(40,"div",19),a(41,"div",20)(42,"button",21),x("click",function(){return p.updateBlacklist()}),_(43,_t,2,3),_(44,ht,1,0,"i",22),o()()()()),n&2&&(t(3),u(s(4,18,"settings.security.ui_control")),t(2),m("disabled",p.clicked),f("aria-label",s(6,20,"form.button_close")),t(7),u(s(13,22,"settings.security.ui_control_desc")),t(3),u(s(16,24,"settings.security.ui_control_desc_2")),t(5),g(" ",p.mainPairing.name),t(3),m("ngbTooltip",s(24,26,p.mainPairing._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150)("ngClass",F(32,Qe,p.mainPairing._isPaired,!p.mainPairing._isPaired)),t(4),u(p.mainPairing._username),t(3),m("checked",!p.isInList(p.mainPairing._username))("disabled",p.clicked),f("aria-label",s(31,28,"plugins.manage.hide_updates")),t(3),O(p.pairings),t(4),m("disabled",p.clicked),t(),g(" ",s(39,30,"form.button_close")," "),t(4),m("disabled",!p.blacklistHasUpdated||p.clicked),t(),h(p.clicked?-1:43),t(),h(p.clicked?44:-1))},dependencies:[j,ae,me,R,te],encapsulation:2})}return i})();var it=_e(mt(),1);var Xe=_e(dt(),1),Ye=_e(ct(),1);var gt=i=>({maxBackupSizeText:i});function bt(i,c){if(i&1&&H(0,"input",10),i&2){let e=b(2);K("value",e.selectedBackup.fileName)}}function ft(i,c){if(i&1){let e=w();T(0,"input",12),W("change",function(p){S(e);let y=b(2);return I(y.handleRestoreFileInput(p.target.files))}),B()}}function vt(i,c){if(i&1&&(T(0,"div",4)(1,"div",7),H(2,"i",8),B(),T(3,"ul",9)(4,"li"),l(5),r(6,"translate"),B(),T(7,"li"),l(8),r(9,"translate"),B(),T(10,"li"),l(11),r(12,"translate"),B(),T(13,"li"),l(14),r(15,"translate"),B()(),_(16,bt,1,1,"input",10),_(17,ft,1,0,"input",11),B()),i&2){let e=b();t(5),u(s(6,6,"backup.restore_help_one")),t(3),u(s(9,8,"backup.restore_help_two")),t(3),u(G(12,10,"backup.restore_max_size",N(15,gt,e.maxFileSizeText))),t(3),u(s(15,13,"backup.restore_warning")),t(2),h(e.selectedBackup?16:-1),t(),h(e.selectedBackup?-1:17)}}function Ct(i,c){if(i&1){let e=w();T(0,"button",18),r(1,"translate"),W("click",function(){S(e);let p=b(2);return I(p.dismissModal())}),l(2),r(3,"translate"),B()}if(i&2){let e=b(2);K("disabled",e.clicked),f("aria-label",s(1,3,"form.button_close")),t(2),g(" ",s(3,5,"form.button_close")," ")}}function xt(i,c){if(i&1){let e=w();T(0,"button",18),r(1,"translate"),W("click",function(){S(e);let p=b(2);return I(p.reopenBackupModal())}),l(2),r(3,"translate"),B()}if(i&2){let e=b(2);K("disabled",e.clicked),f("aria-label",s(1,3,"form.button_back")),t(2),g(" ",s(3,5,"form.button_back")," ")}}function St(i,c){i&1&&H(0,"i",19)}function It(i,c){if(i&1&&(T(0,"span"),l(1),B()),i&2){let e=b(3);t(),g("",e.uploadPercent,"% - ")}}function yt(i,c){i&1&&(T(0,"span"),l(1," Extracting Archive"),B())}function kt(i,c){i&1&&(T(0,"span"),l(1),r(2,"translate"),B()),i&2&&(t(),g(" ",s(2,1,"backup.label_uploading")))}function wt(i,c){if(i&1&&(T(0,"span"),_(1,St,1,0,"i",19),_(2,It,2,1,"span"),_(3,yt,2,0,"span"),_(4,kt,3,3,"span"),B()),i&2){let e=b(2);t(),h(!e.uploadPercent||e.uploadPercent===100?1:-1),t(),h(e.uploadPercent&&e.uploadPercent!==100?2:-1),t(),h(e.uploadPercent===100?3:-1),t(),h(e.uploadPercent!==100?4:-1)}}function Et(i,c){i&1&&(l(0),r(1,"translate")),i&2&&g(" ",s(1,1,"form.button_restore")," ")}function Bt(i,c){if(i&1){let e=w();T(0,"div",6)(1,"div",13),_(2,Ct,4,7,"button",14),_(3,xt,4,7,"button",14),B(),H(4,"div",15),T(5,"div",16)(6,"button",17),W("click",function(){S(e);let p=b();return I(p.onRestoreBackupClick())}),_(7,wt,5,4,"span"),_(8,Et,2,3),B()()()}if(i&2){let e=b();t(2),h(e.setupWizardRestore?2:-1),t(),h(e.setupWizardRestore?-1:3),t(3),K("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),t(),h(e.clicked?7:-1),t(),h(e.clicked?-1:8)}}function Tt(i,c){if(i&1){let e=w();T(0,"div",6),H(1,"div",13),T(2,"div",15)(3,"button",20),W("click",function(){S(e);let p=b();return I(p.postBackupRestart())}),l(4),r(5,"translate"),B()(),H(6,"div",16),B()}i&2&&(t(4),g(" ",s(5,1,"menu.hbrestart.title")," "))}var Ze=(()=>{class i{$activeModal=C(A);$api=C(D);$modal=C(re);$router=C(U);$toastr=C(M);$translate=C(V);$ws=C(Oe);io;term=new Ye.Terminal;termTarget;fitAddon=new Xe.FitAddon;setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;ngOnInit(){return v(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",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$router.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(ue,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}dismissModal(){this.$activeModal.dismiss("Dismiss")}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return v(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return v(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:n=>{n.type===Ee.UploadProgress?this.uploadPercent=Math.round(100*n.loaded/n.total):n instanceof Be&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:n=>{this.clicked=!1,console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return v(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},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-fw","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-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,p){n&1&&(T(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),B(),T(5,"button",3),r(6,"translate"),W("click",function(){return p.dismissModal()}),B()(),_(7,vt,18,17,"div",4),H(8,"div",5),_(9,Bt,9,5,"div",6),_(10,Tt,7,3,"div",6),B()),n&2&&(t(3),u(s(4,7,"backup.title_backup")),t(2),K("disabled",p.restoreInProgress),f("aria-label",s(6,9,"form.button_close")),t(2),h(!p.restoreStarted&&!p.setupWizardRestore?7:-1),t(),K("hidden",!p.restoreStarted),t(),h(!p.restoreStarted||p.restoreFailed===!0?9:-1),t(),h(!p.restoreInProgress&&p.restoreStarted?10:-1))},dependencies:[R],encapsulation:2})}return i})();var et=(i,c)=>({"fa-arrow-right":i,"fa-cog fa-spin":c}),$t=i=>({backupTime:i,dayCount:7}),Ft=(i,c)=>({"fa-trash":i,"fa-cog fa-spin":c}),Pt=(i,c)=>({backupSize:i,maxBackupSizeText:c});function Rt(i,c){if(i&1&&(l(0),r(1,"date"),r(2,"translate")),i&2){let e=b(2);g(" ",G(2,4,"backup.scheduled_backup_time",N(7,$t,G(1,1,e.backupTime,"shortTime")))," ")}}function At(i,c){i&1&&(l(0),r(1,"translate")),i&2&&g(" ",s(1,1,"plugins.settings.restart_required")," ")}function Vt(i,c){if(i&1&&_(0,Rt,3,9)(1,At,2,3),i&2){let e=b();h(e.backupTime?0:1)}}function Mt(i,c){if(i&1&&(l(0),r(1,"translate")),i&2){let e=b();g(" ",s(1,1,e.backupTime?"plugins.settings.restart_required":"backup.scheduled_backup_disabled")," ")}}function Dt(i,c){if(i&1&&(a(0,"span",33),r(1,"translate"),d(2,"i",40),l(3),o()),i&2){let e=b().$implicit;m("ngbTooltip",G(1,3,"backup.backup_exceeds_max_size",F(6,Pt,e.size+"MB",e.maxBackupSizeText)))("openDelay",150),t(3),g(" ",e.size,"MB ")}}function Nt(i,c){if(i&1&&(a(0,"span"),l(1),o()),i&2){let e=b().$implicit;t(),g(" ",e.size,"MB ")}}function Lt(i,c){if(i&1){let e=w();a(0,"li",22)(1,"span")(2,"span",32),l(3),r(4,"date"),o(),d(5,"br"),a(6,"small",23),l(7),r(8,"date"),_(9,Dt,4,9,"span",33),_(10,Nt,2,1,"span"),o()(),a(11,"span",34)(12,"button",35),r(13,"translate"),r(14,"translate"),x("click",function(){let p=S(e).$implicit,y=b(2);return I(y.restore(p))}),d(15,"i",36),o(),a(16,"button",37),r(17,"translate"),r(18,"translate"),x("click",function(){let p=S(e).$implicit,y=b(2);return I(y.download(p))}),d(19,"i",38),o(),a(20,"button",39),r(21,"translate"),r(22,"translate"),x("click",function(){let p=S(e).$implicit,y=b(2);return I(y.delete(p))}),d(23,"i",25),o()()()}if(i&2){let e=c.$implicit,n=b(2);t(2),m("ngbTooltip",e.fileName)("openDelay",150),t(),g(" ",G(4,19,e.timestamp,"mediumDate")," "),t(4),g(" ",G(8,22,e.timestamp,"shortTime")," \xB7 "),t(2),h(e.size>e.maxBackupSize?9:-1),t(),h(e.size<=e.maxBackupSize?10:-1),t(2),m("disabled",n.clicked||n.deleting||e.size>e.maxBackupSize)("ngbTooltip",s(13,25,"form.button_restore"))("openDelay",150),f("aria-label",s(14,27,"form.button_restore")),t(4),m("disabled",n.clicked||n.deleting)("ngbTooltip",s(17,29,"form.button_download"))("openDelay",150),f("aria-label",s(18,31,"form.button_download")),t(4),m("disabled",n.clicked||n.deleting)("ngbTooltip",s(21,33,"form.button_delete"))("openDelay",150),f("aria-label",s(22,35,"form.button_delete")),t(3),m("ngClass",F(37,Ft,e.id!==n.deleting,e.id===n.deleting))}}function zt(i,c){if(i&1&&(a(0,"ul",27)(1,"li",9)(2,"h6",10),l(3),r(4,"translate"),o()(),z(5,Lt,24,40,"li",22,L),o()),i&2){let e=b();t(3),u(s(4,1,"backup.files_auto")),t(2),O(e.scheduledBackups)}}var ue=(()=>{class i{$activeModal=C(A);$api=C(D);$backup=C(qe);$modal=C(re);$router=C(U);$settings=C(Y);$toastr=C(M);$translate=C(V);restartToastIsShown=!1;Date=Date;clicked=!1;scheduledBackups=[];backupTime;deleting=null;currentSettingEnabled=!1;currentSettingPath="";enabledFormControl=new E(!1);pathFormControl=new E("");ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled=!this.$settings.env.scheduledBackupDisable,this.currentSettingPath=this.$settings.env.scheduledBackupPath,this.enabledFormControl.patchValue(this.currentSettingEnabled),this.pathFormControl.patchValue(this.currentSettingPath),this.enabledFormControl.valueChanges.pipe(k(750)).subscribe(e=>v(this,null,function*(){this.currentSettingEnabled=e,yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled)})),this.pathFormControl.valueChanges.pipe(k(1500)).subscribe(e=>v(this,null,function*(){this.currentSettingPath=e,yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath)}))}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:n=>{let p=e.fileName||"homebridge-backup.tar.gz",y=n.body.size;if(y>globalThis.backup.maxBackupSize){let X=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(y/1048576).toFixed(1)}MB`});this.$toastr.warning(X,this.$translate.instant("toast.title_warning"))}(0,it.saveAs)(n.body,p)},error:n=>{console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let n=this.$modal.open(Ze,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:n=>{this.deleting=null,console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return v(this,null,function*(){this.clicked=!0;try{yield this.$backup.downloadBackup(),this.clicked=!1}catch(e){this.clicked=!1,console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}onCreateBackupClick(){return v(this,null,function*(){this.clicked=!0;try{yield $(this.$api.post("/backup",{})),this.clicked=!1,this.getScheduledBackups()}catch(e){this.clicked=!1,console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}saveUiSettingChange(e,n){return v(this,null,function*(){try{yield $(this.$api.put("/config-editor/ui",{key:e,value:n})),this.$settings.setEnvItem(e,n),this.showRestartToast()}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=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});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],decls:92,vars:80,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-fw","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",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",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","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",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),d(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),r(13,"translate"),o(),a(14,"li"),l(15),r(16,"translate"),o(),a(17,"li"),l(18),r(19,"translate"),o()(),a(20,"ul",8)(21,"li",9)(22,"h6",10),l(23),r(24,"translate"),o()(),a(25,"li",11)(26,"div",12),l(27),r(28,"translate"),d(29,"br"),a(30,"span",13),l(31),r(32,"translate"),o()(),a(33,"div",14),d(34,"input",15),r(35,"translate"),o()(),a(36,"li",16)(37,"div",17),l(38),r(39,"translate"),d(40,"br"),a(41,"span",18),_(42,Vt,2,1)(43,Mt,2,3),o()(),a(44,"div",19),d(45,"input",20),r(46,"translate"),d(47,"label",21),o()(),a(48,"li",22)(49,"div")(50,"span"),l(51),r(52,"translate"),o(),d(53,"br"),a(54,"small",23),l(55),r(56,"translate"),o()(),a(57,"button",24),r(58,"translate"),x("click",function(){return p.onDownloadBackupClick()}),d(59,"i",25),o()(),a(60,"li",22)(61,"div")(62,"span"),l(63),r(64,"translate"),o(),d(65,"br"),a(66,"small",23),l(67),r(68,"translate"),o()(),a(69,"button",24),r(70,"translate"),x("click",function(){return p.onCreateBackupClick()}),d(71,"i",25),o()(),a(72,"li",22)(73,"div")(74,"span"),l(75),r(76,"translate"),o(),d(77,"br"),a(78,"small",23),l(79),r(80,"translate"),o()(),a(81,"button",24),r(82,"translate"),x("click",function(){return p.restore(null)}),d(83,"i",26),o()()(),_(84,zt,7,3,"ul",27),o(),a(85,"div",28),d(86,"div",17),a(87,"div",29)(88,"button",30),x("click",function(){return p.dismissModal()}),l(89),r(90,"translate"),o()(),d(91,"div",31),o()()),n&2&&(t(3),u(s(4,32,"backup.title_backup")),t(2),m("disabled",p.clicked||p.deleting),f("aria-label",s(6,34,"form.button_close")),t(7),u(s(13,36,"backup.backup_help_one")),t(3),u(s(16,38,"backup.backup_help_two")),t(3),u(s(19,40,"backup.backup_warning")),t(5),u(s(24,42,"backup.settings_title")),t(4),g(" ",s(28,44,"backup.settings_path")),t(4),u(s(32,46,"backup.settings_path_desc")),t(3),m("formControl",p.pathFormControl),f("aria-label",s(35,48,"backup.settings_path")),t(4),g(" ",s(39,50,"backup.settings_enable")),t(4),h(p.enabledFormControl.value?42:43),t(3),m("formControl",p.enabledFormControl),f("aria-label",s(46,52,"backup.settings_enable")),t(6),u(s(52,54,"backup.backup_now")),t(4),u(s(56,56,"backup.backup_now_desc")),t(2),m("disabled",p.clicked),f("aria-label",s(58,58,"backup.backup_now")),t(2),m("ngClass",F(74,et,!p.clicked,p.clicked)),t(4),u(s(64,60,"backup.backup_now")),t(4),u(s(68,62,"backup.backup_now_save_desc")),t(2),m("disabled",p.clicked),f("aria-label",s(70,64,"backup.backup_now")),t(2),m("ngClass",F(77,et,!p.clicked,p.clicked)),t(4),u(s(76,66,"backup.restore_now")),t(4),u(s(80,68,"backup.restore_now_desc")),t(2),m("disabled",p.clicked),f("aria-label",s(82,70,"backup.restore_now")),t(3),h(p.scheduledBackups.length?84:-1),t(4),m("disabled",p.clicked||p.deleting),t(),g(" ",s(90,72,"form.button_close")," "))},dependencies:[me,j,oe,pe,ie,ne,de,we,R],encapsulation:2})}return i})();function Ot(i,c){i&1&&(a(0,"div",12),d(1,"i",13),o(),a(2,"p",14),l(3),r(4,"translate"),o()),i&2&&(t(3),u(s(4,1,"reset.no_accessories")))}function Ht(i,c){i&1&&(a(0,"div",12),d(1,"i",15),o(),a(2,"ul",16)(3,"li"),l(4),r(5,"translate"),o(),a(6,"li"),l(7),r(8,"translate"),o(),a(9,"li"),l(10),r(11,"translate"),o()(),a(12,"ngb-alert",17)(13,"p",18),l(14),r(15,"translate"),o()()),i&2&&(t(4),u(s(5,5,"reset.accessory_all.list_1")),t(3),u(s(8,7,"reset.accessory_all.list_2")),t(3),u(s(11,9,"reset.accessory_all.list_3")),t(2),m("dismissible",!1),t(2),u(s(15,11,"reset.action_is_irreversible")))}function Ut(i,c){if(i&1){let e=w();a(0,"button",19),r(1,"translate"),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(2),r(3,"translate"),o()}if(i&2){let e=b();m("disabled",e.clicked),f("aria-label",s(1,3,"form.button_close")),t(2),g(" ",s(3,5,"form.button_close")," ")}}function Wt(i,c){if(i&1){let e=w();a(0,"button",20),r(1,"translate"),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(2),r(3,"translate"),o()}i&2&&(f("aria-label",s(1,2,"form.button_close")),t(2),g(" ",s(3,4,"form.button_close")," "))}function Kt(i,c){i&1&&(l(0),r(1,"translate")),i&2&&g(" ",s(1,1,"form.button_remove")," ")}function Gt(i,c){i&1&&d(0,"i",22)}function jt(i,c){if(i&1){let e=w();a(0,"button",21),x("click",function(){S(e);let p=b();return I(p.onResetCachedAccessoriesClick())}),_(1,Kt,2,3),_(2,Gt,1,0,"i",22),o()}if(i&2){let e=b();m("disabled",e.clicked),t(),h(e.clicked?-1:1),t(),h(e.clicked?2:-1)}}var nt=(()=>{class i{$activeModal=C(A);$api=C(D);$router=C(U);$toastr=C(M);$translate=C(V);clicked=!1;cachedAccessories=[];ngOnInit(){this.loadCachedAccessories()}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{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}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return v(this,null,function*(){try{this.cachedAccessories=yield $(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),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||i)};static \u0275cmp=P({type:i,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-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","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-fw","fa-spinner","fa-pulse"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4),_(8,Ot,5,3),_(9,Ht,16,13),o(),a(10,"div",5)(11,"div",6),_(12,Ut,4,7,"button",7),o(),a(13,"div",8),_(14,Wt,4,6,"button",9),o(),a(15,"div",10),_(16,jt,3,3,"button",11),o()()()),n&2&&(t(3),u(s(4,8,"reset.accessory_all.title")),t(2),m("disabled",p.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),h(p.cachedAccessories.length===0?8:-1),t(),h(p.cachedAccessories.length>0?9:-1),t(3),h(p.cachedAccessories.length>0?12:-1),t(2),h(p.cachedAccessories.length===0?14:-1),t(2),h(p.cachedAccessories.length>0?16:-1))},dependencies:[ce,R],encapsulation:2})}return i})();var qt=(i,c)=>({"green-text":i,"grey-text":c}),Qt=(i,c)=>({"btn-danger":i,"btn-elegant":c}),Jt=(i,c,e)=>({"fa-broom":i,"fa-undo":c,"fa-spinner fa-pulse":e});function Xt(i,c){i&1&&(a(0,"div",12),d(1,"i",13),o(),a(2,"p",14),l(3),r(4,"translate"),o()),i&2&&(t(3),u(s(4,1,"reset.bridge_accessories.empty")))}function Yt(i,c){if(i&1){let e=w();a(0,"li",18)(1,"span"),l(2),d(3,"br"),a(4,"small",19),d(5,"i",20),l(6),r(7,"translate"),a(8,"span",21),l(9),o()()(),a(10,"button",22),r(11,"translate"),x("click",function(){let p=S(e).$implicit,y=b(2);return I(y.toggleList(p._id))}),d(12,"i",23),o()()}if(i&2){let e=c.$implicit,n=b(2);t(2),g(" ",e.name," "),t(3),m("ngClass",F(12,qt,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",n.clicked)("ngClass",F(15,Qt,!n.toDelete.includes(e._id),n.toDelete.includes(e._id))),f("aria-label",s(11,10,"form.button_delete")),t(2),m("ngClass",ee(18,Jt,!n.toDelete.includes(e._id),n.toDelete.includes(e._id)&&!n.clicked,n.toDelete.includes(e._id)&&n.clicked))}}function Zt(i,c){if(i&1&&(a(0,"div",12),d(1,"i",15),o(),a(2,"ul",16)(3,"li"),l(4),r(5,"translate"),o(),a(6,"li"),l(7),r(8,"translate"),o(),a(9,"li"),l(10),r(11,"translate"),o()(),a(12,"ul",17),z(13,Yt,13,22,"li",18,L),o()),i&2){let e=b();t(4),u(s(5,3,"reset.bridge_accessories.list_1")),t(3),u(s(8,5,"reset.clear_cache_single.list_3")),t(3),u(s(11,7,"reset.bridge_accessories.list_2")),t(3),O(e.pairings)}}function ei(i,c){if(i&1){let e=w();a(0,"button",24),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(1),r(2,"translate"),o()}if(i&2){let e=b();m("disabled",e.clicked),t(),g(" ",s(2,2,"form.button_close")," ")}}function ti(i,c){if(i&1){let e=w();a(0,"button",25),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(1),r(2,"translate"),o()}i&2&&(t(),g(" ",s(2,1,"form.button_close")," "))}function ii(i,c){i&1&&d(0,"i",27)}function ni(i,c){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function ai(i,c){if(i&1&&(l(0),r(1,"translate"),_(2,ni,1,1)),i&2){let e=b(2);g(" ",s(1,2,"form.button_remove")," "),t(2),h(e.toDelete.length>0?2:-1)}}function oi(i,c){if(i&1){let e=w();a(0,"button",26),x("click",function(){S(e);let p=b();return I(p.cleanBridges())}),_(1,ii,1,0,"i",27)(2,ai,3,4),o()}if(i&2){let e=b();m("disabled",!e.toDelete.length||e.clicked),t(),h(e.clicked?1:2)}}var at=(()=>{class i{$activeModal=C(A);$api=C(D);$router=C(U);$toastr=C(M);$translate=C(V);clicked=!1;pairings=[];toDelete=[];ngOnInit(){this.loadPairings()}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{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}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(n=>n!==e):this.toDelete.push(e)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return v(this,null,function*(){try{this.pairings=(yield $(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,n)=>e.name.localeCompare(n.name))}catch(e){console.error(e),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||i)};static \u0275cmp=P({type:i,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-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","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,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["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-fw","fa-spinner","fa-pulse"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4),_(8,Xt,5,3),_(9,Zt,15,9),o(),a(10,"div",5)(11,"div",6),_(12,ei,3,4,"button",7),o(),a(13,"div",8),_(14,ti,3,3,"button",9),o(),a(15,"div",10),_(16,oi,3,2,"button",11),o()()()),n&2&&(t(3),u(s(4,8,"reset.bridge_accessories.title")),t(2),m("disabled",p.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),h(p.pairings.length===0?8:-1),t(),h(p.pairings.length>0?9:-1),t(3),h(p.pairings.length>0?12:-1),t(2),h(p.pairings.length===0?14:-1),t(2),h(p.pairings.length>0?16:-1))},dependencies:[j,R],encapsulation:2})}return i})();function ri(i,c){i&1&&(l(0),r(1,"translate")),i&2&&g(" ",s(1,1,"form.button_reset")," ")}function si(i,c){i&1&&d(0,"i",16)}var ot=(()=>{class i{$activeModal=C(A);$api=C(D);$router=C(U);$toastr=C(M);$translate=C(V);clicked;onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"])},error:e=>{console.error(e),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||i)};static \u0275cmp=P({type:i,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-fw","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-fw","fa-spinner","fa-pulse"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),d(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),r(13,"translate"),o(),a(14,"li"),l(15),r(16,"translate"),o(),a(17,"li"),l(18),r(19,"translate"),o(),a(20,"li"),l(21),r(22,"translate"),o()(),a(23,"ngb-alert",8)(24,"p",9),l(25),r(26,"translate"),o()()(),a(27,"div",10)(28,"div",11)(29,"button",12),r(30,"translate"),x("click",function(){return p.dismissModal()}),l(31),r(32,"translate"),o()(),d(33,"div",13),a(34,"div",14)(35,"button",15),x("click",function(){return p.onResetHomebridgeAccessoryClick()}),_(36,ri,2,3),_(37,si,1,0,"i",16),o()()()()),n&2&&(t(3),u(s(4,15,"reset.bridge_all.title")),t(2),m("disabled",p.clicked),f("aria-label",s(6,17,"form.button_close")),t(7),u(s(13,19,"reset.bridge_all.list_1")),t(3),u(s(16,21,"reset.bridge_all.list_2")),t(3),u(s(19,23,"reset.bridge_all.list_3")),t(3),u(s(22,25,"reset.bridge_all.list_4")),t(2),m("dismissible",!1),t(2),u(s(26,27,"reset.action_is_irreversible")),t(4),m("disabled",p.clicked),f("aria-label",s(30,29,"form.button_close")),t(2),g(" ",s(32,31,"form.button_close")," "),t(4),m("disabled",p.clicked),t(),h(p.clicked?-1:36),t(),h(p.clicked?37:-1))},dependencies:[ce,R],encapsulation:2})}return i})();var be=(i,c)=>({"green-text":i,"grey-text":c}),fe=(i,c)=>({"btn-danger":i,"btn-elegant":c}),rt=(i,c,e)=>({"fa-refresh":i,"fa-undo":c,"fa-spinner fa-pulse":e}),li=(i,c,e)=>({"fa-trash":i,"fa-undo":c,"fa-spinner fa-pulse":e});function pi(i,c){i&1&&(a(0,"div",12),d(1,"i",13),o(),a(2,"p",14),l(3),r(4,"translate"),o()),i&2&&(t(3),u(s(4,1,"reset.bridges.empty")))}function di(i,c){if(i&1){let e=w();a(0,"li",20)(1,"span"),l(2),d(3,"br"),a(4,"small",21),d(5,"i",22),l(6),r(7,"translate"),a(8,"span",23),l(9),o(),l(10),r(11,"titlecase"),o()(),a(12,"button",24),r(13,"translate"),x("click",function(){let p=S(e).$implicit,y=b(3);return I(y.toggleList(p._id,!1))}),d(14,"i",25),o()()}if(i&2){let e=c.$implicit,n=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",F(15,be,e._isPaired,!e._isPaired)),t(),g(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),g(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),m("disabled",n.clicked)("ngClass",F(18,fe,!n.isInList(e._id),n.isInList(e._id))),f("aria-label",s(13,13,"form.button_unpair")),t(2),m("ngClass",ee(21,rt,!n.isInList(e._id),n.isInList(e._id)&&!n.clicked,n.isInList(e._id)&&n.clicked))}}function ci(i,c){if(i&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),r(4,"translate"),o(),a(5,"p",19),l(6),r(7,"translate"),o()(),z(8,di,15,25,"li",20,L),o()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_non_child")),t(3),u(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),O(e.pairingsNonChild)}}function mi(i,c){if(i&1){let e=w();a(0,"li",20)(1,"span"),l(2),d(3,"br"),a(4,"small",21),d(5,"i",22),l(6),r(7,"translate"),a(8,"span",23),l(9),o()()(),a(10,"button",24),r(11,"translate"),x("click",function(){let p=S(e).$implicit,y=b(3);return I(y.toggleList(p._id,!0))}),d(12,"i",25),o()()}if(i&2){let e=c.$implicit,n=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",F(12,be,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",n.clicked)("ngClass",F(15,fe,!n.isInList(e._id),n.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),m("ngClass",ee(18,rt,!n.isInList(e._id),n.isInList(e._id)&&!n.clicked,n.isInList(e._id)&&n.clicked))}}function ui(i,c){if(i&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),r(4,"translate"),o(),a(5,"p",19),l(6),r(7,"translate"),o()(),z(8,mi,13,22,"li",20,L),o()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_child_active")),t(3),u(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),O(e.pairingsChildActive)}}function _i(i,c){if(i&1){let e=w();a(0,"li",20)(1,"span"),l(2),d(3,"br"),a(4,"small",21),d(5,"i",22),l(6),r(7,"translate"),a(8,"span",23),l(9),o()()(),a(10,"button",24),r(11,"translate"),x("click",function(){let p=S(e).$implicit,y=b(3);return I(y.toggleList(p._id,!1))}),d(12,"i",25),o()()}if(i&2){let e=c.$implicit,n=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",F(12,be,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",n.clicked)("ngClass",F(15,fe,!n.isInList(e._id),n.isInList(e._id))),f("aria-label",s(11,10,"form.button_unpair")),t(2),m("ngClass",ee(18,li,!n.isInList(e._id),n.isInList(e._id)&&!n.clicked,n.isInList(e._id)&&n.clicked))}}function hi(i,c){if(i&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),r(4,"translate"),o(),a(5,"p",19),l(6),r(7,"translate"),o()(),z(8,_i,13,22,"li",20,L),o()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),u(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),O(e.pairingsChildStale)}}function gi(i,c){if(i&1&&(a(0,"div",12),d(1,"i",15),o(),_(2,ci,10,6,"ul",16),_(3,ui,10,6,"ul",16),_(4,hi,10,6,"ul",16)),i&2){let e=b();t(2),h(e.pairingsNonChild.length>0?2:-1),t(),h(e.pairingsChildActive.length>0?3:-1),t(),h(e.pairingsChildStale.length>0?4:-1)}}function bi(i,c){if(i&1){let e=w();a(0,"button",26),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(1),r(2,"translate"),o()}if(i&2){let e=b();m("disabled",e.clicked),t(),g(" ",s(2,2,"form.button_close")," ")}}function fi(i,c){if(i&1){let e=w();a(0,"button",27),x("click",function(){S(e);let p=b();return I(p.dismissModal())}),l(1),r(2,"translate"),o()}i&2&&(t(),g(" ",s(2,1,"form.button_close")," "))}function vi(i,c){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function Ci(i,c){if(i&1&&(l(0),r(1,"translate"),_(2,vi,1,1)),i&2){let e=b(2);g(" ",s(1,2,"form.button_reset")," "),t(2),h(e.toDelete.length>0?2:-1)}}function xi(i,c){i&1&&d(0,"i",29)}function Si(i,c){if(i&1){let e=w();a(0,"button",28),x("click",function(){S(e);let p=b();return I(p.removeBridges())}),_(1,Ci,3,4),_(2,xi,1,0,"i",29),o()}if(i&2){let e=b();m("disabled",!e.toDelete.length||e.clicked),t(),h(e.clicked?-1:1),t(),h(e.clicked?2:-1)}}var st=(()=>{class i{$activeModal=C(A);$api=C(D);$router=C(U);$toastr=C(M);$translate=C(V);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];ngOnInit(){this.loadPairings()}toggleList(e,n=!1){this.toDelete.some(p=>p.id===e)?this.toDelete=this.toDelete.filter(p=>p.id!==e):this.toDelete.push({id:e,resetPairingInfo:n})}isInList(e){return this.toDelete.some(n=>n.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return v(this,null,function*(){try{let e=(yield $(this.$api.get("/server/pairings"))).filter(n=>!n._main).sort((n,p)=>n.name.localeCompare(p.name));this.pairingsChildActive=e.filter(n=>n._category==="bridge"&&!n._couldBeStale),this.pairingsNonChild=e.filter(n=>n._category!=="bridge"),this.pairingsChildStale=e.filter(n=>n._category==="bridge"&&n._couldBeStale)}catch(e){console.error(e),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||i)};static \u0275cmp=P({type:i,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-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","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,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["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-fw","fa-spinner","fa-pulse"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.dismissModal()}),o()(),a(7,"div",4),_(8,pi,5,3),_(9,gi,5,3),o(),a(10,"div",5)(11,"div",6),_(12,bi,3,4,"button",7),o(),a(13,"div",8),_(14,fi,3,3,"button",9),o(),a(15,"div",10),_(16,Si,3,3,"button",11),o()()()),n&2&&(t(3),u(s(4,8,"reset.bridge_ind.title")),t(2),m("disabled",p.clicked),f("aria-label",s(6,10,"form.button_close")),t(3),h(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?8:-1),t(),h(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?9:-1),t(3),h(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?12:-1),t(2),h(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?14:-1),t(2),h(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?16:-1))},dependencies:[j,te,R],encapsulation:2})}return i})();function Ii(i,c){if(i&1){let e=w();a(0,"li",9)(1,"div")(2,"span",16),l(3),o(),d(4,"br"),a(5,"span",17),l(6),o()(),a(7,"span")(8,"input",18),ke("ngModelChange",function(p){let y=S(e).$implicit;return ye(y.selected,p)||(y.selected=p),I(p)}),x("ngModelChange",function(){S(e);let p=b();return I(p.onAdapterSelectionChange())}),o(),d(9,"label",19),o()()}if(i&2){let e=c.$implicit;t(3),u(e.ip4||e.ip6),t(3),u(e.iface),t(2),m("id","adapter"+e.iface),Ie("ngModel",e.selected),t(),m("for","adapter"+e.iface)}}var lt=(()=>{class i{$activeModal=C(A);adaptersOriginal=[];adaptersAvailable=[];adaptersSelected=[];isUnchanged=!0;ngOnInit(){this.adaptersAvailable.forEach(e=>{e.selected=this.adaptersSelected.some(n=>n.iface===e.iface)}),this.adaptersOriginal=this.adaptersSelected.map(e=>e.iface)}onAdapterSelectionChange(){this.isUnchanged=this.adaptersOriginal.length===this.adaptersAvailable.filter(e=>e.selected).length&&this.adaptersOriginal.every(e=>this.adaptersAvailable.some(n=>n.iface===e&&n.selected))}submit(){this.$activeModal.close(this.adaptersAvailable.filter(e=>e.selected).map(e=>e.iface))}closeAndReset(){this.adaptersAvailable.forEach(e=>{e.selected=this.adaptersOriginal.includes(e.iface)}),this.isUnchanged=!0,this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],inputs:{adaptersAvailable:"adaptersAvailable",adaptersSelected:"adaptersSelected"},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-fw","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,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),r(4,"translate"),o(),a(5,"button",3),r(6,"translate"),x("click",function(){return p.closeAndReset()}),o()(),a(7,"div",4)(8,"div",5),d(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),r(13,"translate"),o()(),a(14,"ul",8),z(15,Ii,10,5,"li",9,L),o()(),a(17,"div",10)(18,"div",11)(19,"button",12),r(20,"translate"),x("click",function(){return p.closeAndReset()}),l(21),r(22,"translate"),o()(),d(23,"div",13),a(24,"div",14)(25,"button",15),x("click",function(){return p.submit()}),l(26),r(27,"translate"),o()()()()),n&2&&(t(3),u(s(4,7,"settings.network.title_network_interfaces")),t(2),f("aria-label",s(6,9,"form.button_close")),t(7),u(s(13,11,"settings.network.message_network_interface")),t(3),O(p.adaptersAvailable),t(4),f("aria-label",s(20,13,"form.button_close")),t(2),g(" ",s(22,15,"form.button_close")," "),t(4),m("disabled",p.isUnchanged),t(),g(" ",s(27,17,"form.button_save")," "))},dependencies:[ae,ie,ne,Fe,R],encapsulation:2})}return i})();var yi=["wallpaperInput"],ki=i=>({maxFileSizeText:i});function wi(i,c){if(i&1){let e=w();T(0,"div",10),H(1,"img",20),T(2,"button",21),r(3,"translate"),W("click",function(){S(e);let p=b();return I(p.clearWallpaper())}),H(4,"i",22),B()()}if(i&2){let e=b();t(),K("src",e.wallpaperUrl,ve),t(),f("aria-label",s(3,2,"form.button_delete"))}}function Ei(i,c){i&1&&H(0,"div",11)}var pt=(()=>{class i{$activeModal=C(A);$api=C(D);$settings=C(Y);$toastr=C(M);$translate=C(V);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${ze.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let n=new FileReader;n.onload=p=>{this.wallpaperUrl=p.target.result},n.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{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"))},error:n=>{console.error(n),this.$toastr.error(n.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],viewQuery:function(n,p){if(n&1&&Ce(yi,5),n&2){let y;xe(y=Se())&&(p.wallpaperInput=y.first)}},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-fw","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-fw","fa-trash"]],template:function(n,p){if(n&1){let y=w();T(0,"div",1)(1,"div",2)(2,"h5",3),l(3),r(4,"translate"),B(),T(5,"button",4),r(6,"translate"),W("click",function(){return S(y),I(p.dismissModal())}),B()(),T(7,"div",5)(8,"div",6),H(9,"i",7),B(),T(10,"ul",8)(11,"li"),l(12),r(13,"translate"),B(),T(14,"li"),l(15),r(16,"translate"),B(),T(17,"li"),l(18),r(19,"translate"),B()(),T(20,"div",9),_(21,wi,5,4,"div",10)(22,Ei,1,0,"div",11),B(),T(23,"div",12)(24,"input",13,0),W("change",function(q){return S(y),I(p.onFileChange(q.target.files))}),B()()(),T(26,"div",14)(27,"div",15)(28,"button",16),W("click",function(){return S(y),I(p.dismissModal())}),l(29),r(30,"translate"),B()(),H(31,"div",17),T(32,"div",18)(33,"button",19),W("click",function(){return S(y),I(p.saveWallpaper())}),l(34),r(35,"translate"),B()()()()}n&2&&(t(3),u(s(4,11,"settings.display.wallpaper")),t(2),K("disabled",p.clicked),f("aria-label",s(6,13,"form.button_close")),t(7),u(s(13,15,"settings.display.wallpaper_intro")),t(3),u(G(16,17,"settings.display.wallpaper_rule",N(26,ki,p.maxFileSizeText))),t(3),u(s(19,20,"settings.display.wallpaper_rule2")),t(3),h(p.wallpaperUrl?21:22),t(7),K("disabled",p.clicked),t(),g(" ",s(30,22,"form.button_close")," "),t(4),K("disabled",p.wallpaperUrl===p.originalWallpaperUrl||p.clicked),t(),g(" ",s(35,24,"form.button_save")," "))},dependencies:[oe,R],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 i})();var Z=(i,c)=>({"fa-chevron-down":i,"fa-chevron-right":c}),J=i=>({"is-invalid":i}),Bi=i=>({link:i}),Ti=(i,c)=>({"badge-danger":i,"badge-info":c});function $i(i,c){i&1&&d(0,"app-spinner")}function Fi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Pi(i,c){if(i&1){let e=w();a(0,"ul",8)(1,"li",18)(2,"span"),l(3),r(4,"translate"),o(),a(5,"div",19),d(6,"input",20),r(7,"translate"),_(8,Fi,1,1,"i",21),o()(),a(9,"li",22)(10,"span",23),l(11),r(12,"translate"),o(),a(13,"button",24),r(14,"translate"),x("click",function(){S(e);let p=b(2);return I(p.openBackupModal())}),d(15,"i",25),o()(),a(16,"li",22)(17,"span",23),l(18),r(19,"translate"),o(),a(20,"button",24),r(21,"translate"),x("click",function(){S(e);let p=b(2);return I(p.openConfigBackup())}),d(22,"i",25),o()(),a(23,"li",22)(24,"span",23),l(25),r(26,"translate"),o(),a(27,"a",26),r(28,"translate"),d(29,"i",25),o()()()}if(i&2){let e=b(2);t(3),u(s(4,11,"settings.name")),t(3),m("formControl",e.hbNameFormControl)("ngClass",N(27,J,e.hbNameIsInvalid)),f("aria-label",s(7,13,"settings.name")),t(2),h(e.hbNameIsSaving?8:-1),t(3),g(" ",s(12,15,"backup.title_backup")," "),t(2),f("aria-label",s(14,17,"backup.title_backup")),t(5),g(" ",s(19,19,"config.restore.title")," "),t(2),f("aria-label",s(21,21,"config.restore.title")),t(5),g(" ",s(26,23,"menu.tooltip_user_accounts")," "),t(2),f("aria-label",s(28,25,"menu.tooltip_user_accounts"))}}function Ri(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Ai(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Vi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Mi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Di(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Ni(i,c){if(i&1){let e=w();a(0,"ul",9)(1,"li",18),l(2),r(3,"translate"),a(4,"div",19)(5,"select",27)(6,"option",28),l(7),r(8,"translate"),o(),a(9,"option",29),l(10,"Bulgarian (bg)"),o(),a(11,"option",30),l(12,"Catalan (ca)"),o(),a(13,"option",31),l(14,"Chinese - Simplified (zh-CN)"),o(),a(15,"option",32),l(16,"Chinese - Traditional (zh-TW)"),o(),a(17,"option",33),l(18,"Czech (cs)"),o(),a(19,"option",34),l(20,"Dutch (nl)"),o(),a(21,"option",35),l(22,"English (en)"),o(),a(23,"option",36),l(24,"Finnish (fi)"),o(),a(25,"option",37),l(26,"French (fr)"),o(),a(27,"option",38),l(28,"German (de)"),o(),a(29,"option",39),l(30,"Hebrew (he)"),o(),a(31,"option",40),l(32,"Hungarian (hu)"),o(),a(33,"option",41),l(34,"Indonesian (id)"),o(),a(35,"option",42),l(36,"Italian (it)"),o(),a(37,"option",43),l(38,"Japanese (ja)"),o(),a(39,"option",44),l(40,"Korean (ko)"),o(),a(41,"option",45),l(42,"Macedonian (mk)"),o(),a(43,"option",46),l(44,"Norwegian (no)"),o(),a(45,"option",47),l(46,"Polish (pl)"),o(),a(47,"option",48),l(48,"Portuguese (Brazil)"),o(),a(49,"option",49),l(50,"Portuguese (Portugal)"),o(),a(51,"option",50),l(52,"Russian (ru)"),o(),a(53,"option",51),l(54,"Slovenian (sl)"),o(),a(55,"option",52),l(56,"Spanish (es)"),o(),a(57,"option",53),l(58,"Swedish (sv)"),o(),a(59,"option",54),l(60,"Thai (th)"),o(),a(61,"option",55),l(62,"Turkish (tr)"),o(),a(63,"option",56),l(64,"Ukrainian (uk)"),o()(),_(65,Ri,1,1,"i",21),o()(),a(66,"li",18),l(67),r(68,"translate"),a(69,"div",19)(70,"select",27)(71,"option",57),l(72),r(73,"translate"),o(),a(74,"option",58),l(75),r(76,"translate"),o(),a(77,"option",59),l(78),r(79,"translate"),o(),a(80,"option",60),l(81),r(82,"translate"),o(),a(83,"option",61),l(84),r(85,"translate"),o(),a(86,"option",62),l(87),r(88,"translate"),o(),a(89,"option",63),l(90),r(91,"translate"),o(),a(92,"option",64),l(93),r(94,"translate"),o(),a(95,"option",65),l(96),r(97,"translate"),o(),a(98,"option",66),l(99),r(100,"translate"),o(),a(101,"option",67),l(102),r(103,"translate"),o(),a(104,"option",68),l(105),r(106,"translate"),o(),a(107,"option",69),l(108),r(109,"translate"),o()(),_(110,Ai,1,1,"i",21),o()(),a(111,"li",18),l(112),r(113,"translate"),a(114,"div",19)(115,"select",27)(116,"option",28),l(117),r(118,"translate"),o(),a(119,"option",70),l(120),r(121,"translate"),o(),a(122,"option",71),l(123),r(124,"translate"),o()(),_(125,Vi,1,1,"i",21),o()(),a(126,"li",18),l(127),r(128,"translate"),a(129,"div",19)(130,"select",27)(131,"option",72),l(132),r(133,"translate"),o(),a(134,"option",73),l(135),r(136,"translate"),o()(),_(137,Mi,1,1,"i",21),o()(),a(138,"li",18),l(139),r(140,"translate"),a(141,"div",19)(142,"select",27)(143,"option",74),l(144),r(145,"translate"),o(),a(146,"option",75),l(147),r(148,"translate"),o()(),_(149,Di,1,1,"i",21),o()(),a(150,"li",22)(151,"span",23),l(152),r(153,"translate"),o(),a(154,"button",24),r(155,"translate"),x("click",function(){S(e);let p=b(2);return I(p.openWallpaperModal())}),d(156,"i",25),o()()()}if(i&2){let e=b(2);t(2),g(" ",s(3,38,"settings.display.lang")," "),t(3),m("formControl",e.uiLangFormControl),t(2),u(s(8,40,"form.select.auto")),t(58),h(e.uiLangIsSaving?65:-1),t(2),g(" ",s(68,42,"settings.display.theme")," "),t(3),m("formControl",e.uiThemeFormControl),t(2),u(s(73,44,"settings.display.orange")),t(3),u(s(76,46,"settings.display.red")),t(3),u(s(79,48,"settings.display.pink")),t(3),u(s(82,50,"settings.display.purple")),t(3),u(s(85,52,"settings.display.deep_purple")),t(3),u(s(88,54,"settings.display.indigo")),t(3),u(s(91,56,"settings.display.blue")),t(3),u(s(94,58,"settings.display.bluegrey")),t(3),u(s(97,60,"settings.display.cyan")),t(3),u(s(100,62,"settings.display.green")),t(3),u(s(103,64,"settings.display.teal")),t(3),u(s(106,66,"settings.display.grey")),t(3),u(s(109,68,"settings.display.brown")),t(2),h(e.uiThemeIsSaving?110:-1),t(2),g(" ",s(113,70,"settings.display.lighting_mode")," "),t(3),m("formControl",e.uiLightFormControl),t(2),u(s(118,72,"form.select.auto")),t(3),u(s(121,74,"settings.display.light")),t(3),u(s(124,76,"settings.display.dark")),t(2),h(e.uiLightIsSaving?125:-1),t(2),g(" ",s(128,78,"settings.display.menu_mode")," "),t(3),m("formControl",e.uiMenuFormControl),t(2),u(s(133,80,"settings.display.menu_default")),t(3),u(s(136,82,"settings.display.menu_freeze")),t(2),h(e.uiMenuIsSaving?137:-1),t(2),g(" ",s(140,84,"settings.display.temp_units")," "),t(3),m("formControl",e.uiTempFormControl),t(2),u(s(145,86,"settings.display.temp_units.c")),t(3),u(s(148,88,"settings.display.temp_units.f")),t(2),h(e.uiTempIsSaving?149:-1),t(3),u(s(153,90,"settings.display.wallpaper")),t(2),f("aria-label",s(155,92,"settings.display.wallpaper"))}}function Li(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function zi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Oi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Hi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Ui(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Wi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Ki(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Gi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function ji(i,c){if(i&1&&(a(0,"li",18)(1,"span"),l(2),r(3,"translate"),d(4,"br"),a(5,"small",76),l(6),r(7,"translate"),o()(),a(8,"div",19),d(9,"input",94),r(10,"translate"),_(11,Gi,1,1,"i",21),o()()),i&2){let e=b(4);t(2),g(" ",s(3,5,"settings.linux.temp")),t(4),u(s(7,7,"settings.linux.temp_desc")),t(3),m("formControl",e.uiTempFileFormControl),f("aria-label",s(10,9,"settings.linux.temp")),t(2),h(e.uiTempFileIsSaving?11:-1)}}function qi(i,c){if(i&1&&(a(0,"li",18)(1,"span"),l(2),r(3,"translate"),d(4,"br"),a(5,"small",76),l(6),r(7,"translate"),o()(),a(8,"div",19),d(9,"input",92),r(10,"translate"),_(11,Wi,1,1,"i",21),o()(),a(12,"li",18)(13,"span"),l(14),r(15,"translate"),d(16,"br"),a(17,"small",76),l(18),r(19,"translate"),o()(),a(20,"div",19),d(21,"input",93),r(22,"translate"),_(23,Ki,1,1,"i",21),o()(),_(24,ji,12,11,"li",18)),i&2){let e=b(3);t(2),g(" ",s(3,11,"settings.linux.shutdown")),t(4),u(s(7,13,"settings.linux.shutdown_desc")),t(3),m("formControl",e.hbLinuxShutdownFormControl),f("aria-label",s(10,15,"settings.linux.shutdown")),t(2),h(e.hbLinuxShutdownIsSaving?11:-1),t(3),g(" ",s(15,17,"settings.linux.restart")),t(4),u(s(19,19,"settings.linux.restart_desc")),t(3),m("formControl",e.hbLinuxRestartFormControl),f("aria-label",s(22,21,"settings.linux.restart")),t(2),h(e.hbLinuxRestartIsSaving?23:-1),t(),h(e.runningOnRaspberryPi?24:-1)}}function Qi(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Ji(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Xi(i,c){i&1&&(a(0,"li",22)(1,"span"),l(2),r(3,"translate"),d(4,"br"),a(5,"small",76),l(6),r(7,"translate"),o()(),a(8,"a",95),r(9,"translate"),d(10,"i",25),o()()),i&2&&(t(2),g(" ",s(3,3,"menu.docker.startup_script")),t(4),u(s(7,5,"platform.docker.script_help")),t(2),f("aria-label",s(9,7,"menu.docker.startup_script")))}function Yi(i,c){if(i&1&&(a(0,"ul",10)(1,"li",22)(2,"span"),l(3),r(4,"translate"),a(5,"code"),l(6,"-D"),o(),d(7,"br"),a(8,"small",76),l(9),r(10,"translate"),o()(),a(11,"div",77)(12,"div",78),d(13,"input",79),r(14,"translate"),d(15,"label",80),o(),_(16,Li,1,1,"i",21),o()(),a(17,"li",22)(18,"span"),l(19),r(20,"translate"),a(21,"code"),l(22,"-I"),o(),d(23,"br"),a(24,"small",76),l(25),r(26,"translate"),o()(),a(27,"div",77)(28,"div",78),d(29,"input",81),r(30,"translate"),d(31,"label",82),o(),_(32,zi,1,1,"i",21),o()(),a(33,"li",22)(34,"span"),l(35),r(36,"translate"),a(37,"code"),l(38,"-K"),o(),d(39,"br"),a(40,"small",76),l(41),r(42,"translate"),o()(),a(43,"div",77)(44,"div",78),d(45,"input",83),r(46,"translate"),d(47,"label",84),o(),_(48,Oi,1,1,"i",21),o()(),a(49,"li",22)(50,"span"),l(51),r(52,"translate"),d(53,"br"),a(54,"small",76),l(55),r(56,"translate"),o()(),a(57,"div",77)(58,"div",78),d(59,"input",85),r(60,"translate"),d(61,"label",86),o(),_(62,Hi,1,1,"i",21),o()(),a(63,"li",18)(64,"span"),l(65),r(66,"translate"),d(67,"br"),a(68,"small",76),l(69),r(70,"translate"),o()(),a(71,"div",19),d(72,"input",87),r(73,"translate"),_(74,Ui,1,1,"i",21),o()(),_(75,qi,25,23),a(76,"li",18)(77,"span")(78,"span",88),l(79,"DEBUG"),o(),d(80,"br")(81,"small",89),r(82,"translate"),o(),a(83,"div",19),d(84,"input",90),_(85,Qi,1,1,"i",21),o()(),a(86,"li",18)(87,"span")(88,"span",88),l(89,"NODE_OPTIONS"),o(),d(90,"br"),a(91,"small",76),l(92),r(93,"translate"),o()(),a(94,"div",19),d(95,"input",91),_(96,Ji,1,1,"i",21),o()(),_(97,Xi,11,9,"li",22),o()),i&2){let e=b(2);t(3),g(" ",s(4,33,"settings.startup.debug")," "),t(6),g(" ",s(10,35,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(4),m("formControl",e.hbDebugFormControl),f("aria-label",s(14,37,"settings.startup.debug")),t(3),h(e.hbDebugIsSaving?16:-1),t(3),g(" ",s(20,39,"settings.startup.insecure")," "),t(6),u(s(26,41,"settings.startup.insecure_desc")),t(4),m("formControl",e.hbInsecureFormControl),f("aria-label",s(30,43,"settings.startup.insecure")),t(3),h(e.hbInsecureIsSaving?32:-1),t(3),g(" ",s(36,45,"settings.startup.keep_accessories")," "),t(6),u(s(42,47,"settings.startup.keep_accessories_desc")),t(4),m("formControl",e.hbKeepFormControl),f("aria-label",s(46,49,"settings.startup.keep_accessories")),t(3),h(e.hbKeepIsSaving?48:-1),t(3),g(" ",s(52,51,"settings.startup.metrics")),t(4),u(s(56,53,"settings.startup.metrics_desc")),t(4),m("formControl",e.uiMetricsFormControl),f("aria-label",s(60,55,"settings.startup.metrics")),t(3),h(e.uiMetricsIsSaving?62:-1),t(3),g(" ",s(66,57,"settings.network.hb_package")),t(4),u(s(70,59,"settings.network.hb_package_desc")),t(3),m("formControl",e.hbPackageFormControl),f("aria-label",s(73,61,"settings.network.hb_package")),t(2),h(e.hbPackageIsSaving?74:-1),t(),h(e.platform==="linux"?75:-1),t(6),m("innerHTML",G(82,63,"settings.service.debug_tooltip",N(68,Bi,e.linkDebug)),se),t(3),m("formControl",e.hbEnvDebugFormControl),t(),h(e.hbEnvDebugIsSaving?85:-1),t(7),u(s(93,66,"settings.service.node_tooltip")),t(3),m("formControl",e.hbEnvNodeFormControl),t(),h(e.hbEnvNodeIsSaving?96:-1),t(),h(e.runningInDocker?97:-1)}}function Zi(i,c){i&1&&d(0,"i",110)}function en(i,c){if(i&1&&(a(0,"span",97),_(1,Zi,1,0,"i",110),l(2),a(3,"span",111),l(4),r(5,"translate"),o()()),i&2){let e=c.$implicit;m("ngClass",F(6,Ti,e.missing,!e.missing)),t(),h(e.missing?1:-1),t(),g(" ",e.iface,": "),t(2),u(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function tn(i,c){i&1&&(a(0,"option",99),l(1),r(2,"translate"),o()),i&2&&(t(),g("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function nn(i,c){i&1&&(a(0,"option",102),l(1),r(2,"translate"),o()),i&2&&(t(),g("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function an(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function on(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function rn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function sn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function ln(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function pn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function dn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function cn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function mn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function un(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function _n(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function hn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function gn(i,c){if(i&1){let e=w();a(0,"ul",11)(1,"li",22)(2,"span",23),l(3),r(4,"translate"),d(5,"br"),a(6,"div",96),l(7),r(8,"translate"),o(),z(9,en,6,9,"span",97,L),o(),a(11,"button",98),r(12,"translate"),x("click",function(){S(e);let p=b(2);return I(p.selectNetworkInterfaces())}),d(13,"i",25),o()(),a(14,"li",18)(15,"span"),l(16),r(17,"translate"),d(18,"br"),a(19,"small",76),l(20),r(21,"translate"),o()(),a(22,"div",19)(23,"select",27),r(24,"translate"),_(25,tn,3,3,"option",99),a(26,"option",100),l(27),r(28,"translate"),o(),a(29,"option",101),l(30,"Bonjour HAP"),o(),_(31,nn,3,3,"option",102),o(),_(32,an,1,1,"i",21),o()(),a(33,"li",18)(34,"span"),l(35),r(36,"translate"),d(37,"br"),a(38,"small",76),l(39),r(40,"translate"),o()(),a(41,"div",19),d(42,"input",103),r(43,"translate"),_(44,on,1,1,"i",21),o()(),a(45,"li",18)(46,"span"),l(47),r(48,"translate"),d(49,"br"),a(50,"small",76),l(51),r(52,"translate"),o(),_(53,rn,5,3),o(),a(54,"div",19),d(55,"input",104),r(56,"translate"),_(57,sn,1,1,"i",21),o()(),a(58,"li",18)(59,"span"),l(60),r(61,"translate"),d(62,"br"),a(63,"small",76),l(64),r(65,"translate"),o()(),a(66,"div",19),d(67,"input",103),r(68,"translate"),_(69,ln,1,1,"i",21),o()(),a(70,"li",18)(71,"span"),l(72),r(73,"translate"),d(74,"br"),a(75,"small",76),l(76),r(77,"translate"),o()(),a(78,"div",19),d(79,"input",103),r(80,"translate"),_(81,pn,1,1,"i",21),o()(),a(82,"li",18)(83,"span"),l(84),r(85,"translate"),d(86,"br")(87,"small",105),r(88,"translate"),_(89,dn,5,3),o(),a(90,"div",19),d(91,"input",106),r(92,"translate"),_(93,cn,1,1,"i",21),o()(),a(94,"li",18)(95,"span"),l(96),r(97,"translate"),a(98,"span",107),l(99),r(100,"translate"),o(),d(101,"br")(102,"small",105),r(103,"translate"),_(104,mn,5,3),o(),a(105,"div",19),d(106,"input",108),r(107,"translate"),_(108,un,1,1,"i",21),o()(),a(109,"li",18)(110,"span"),l(111),r(112,"translate"),d(113,"br"),a(114,"small",76),l(115),r(116,"translate"),o(),_(117,_n,5,3),o(),a(118,"div",19),d(119,"input",109),r(120,"translate"),_(121,hn,1,1,"i",21),o()()()}if(i&2){let e=b(2);t(3),g(" ",s(4,56,"settings.network.title_network_interfaces")),t(4),u(s(8,58,"settings.network.message_network_interface")),t(2),O(e.adaptersSelected),t(2),m("disabled",!e.adaptersAvailable.length),f("aria-label",s(12,60,"settings.network.title_network_interfaces")),t(5),g(" ",s(17,62,"settings.mdns_advertiser")),t(4),u(s(21,64,"settings.mdns_advertiser_help")),t(3),m("formControl",e.hbMDnsFormControl),f("aria-label",s(24,66,"settings.mdns_advertiser")),t(2),h(e.showAvahiMdnsOption?25:-1),t(2),g(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,68,"settings.mdns_advertiser_rec")+")"," "),t(4),h(e.showResolvedMdnsOption?31:-1),t(),h(e.hbMDnsIsSaving?32:-1),t(3),g(" ",s(36,70,"settings.network.port_hb")),t(4),u(s(40,72,"settings.network.port_hb_desc")),t(3),m("formControl",e.hbPortFormControl)("ngClass",N(114,J,e.hbPortIsInvalid)),f("aria-label",s(43,74,"settings.network.port_hb")),t(2),h(e.hbPortIsSaving?44:-1),t(3),g(" ",s(48,76,"settings.network.port_ui")),t(4),u(s(52,78,"settings.network.port_ui_desc")),t(2),h(e.isPwa?53:-1),t(2),m("formControl",e.uiPortFormControl)("ngClass",N(116,J,e.uiPortIsInvalid)),f("aria-label",s(56,80,"settings.network.port_ui")),t(2),h(e.uiPortIsSaving?57:-1),t(3),g(" ",s(61,82,"settings.network.port_start")),t(4),u(s(65,84,"settings.network.port_start_desc")),t(3),m("formControl",e.hbStartPortFormControl)("ngClass",N(118,J,e.hbStartPortIsInvalid)),f("aria-label",s(68,86,"settings.network.port_start")),t(2),h(e.hbStartPortIsSaving?69:-1),t(3),g(" ",s(73,88,"settings.network.port_end")),t(4),u(s(77,90,"settings.network.port_end_desc")),t(3),m("formControl",e.hbEndPortFormControl)("ngClass",N(120,J,e.hbEndPortIsInvalid)),f("aria-label",s(80,92,"settings.network.port_end")),t(2),h(e.hbEndPortIsSaving?81:-1),t(3),g(" ",s(85,94,"settings.network.host")),t(3),m("innerHtml",s(88,96,"settings.network.host_desc"),se),t(2),h(e.isPwa?89:-1),t(2),m("formControl",e.uiHostFormControl),f("aria-label",s(92,98,"settings.network.host")),t(2),h(e.uiHostIsSaving?93:-1),t(3),g(" ",s(97,100,"settings.network.webroot")," "),t(3),u(s(100,102,"common.labels.beta")),t(3),m("innerHtml",s(103,104,"settings.network.webroot_desc"),se),t(2),h(e.isPwa?104:-1),t(2),m("formControl",e.uiWebrootFormControl),f("aria-label",s(107,106,"settings.network.webroot")),t(2),h(e.uiWebrootIsSaving?108:-1),t(3),g(" ",s(112,108,"settings.network.proxy")),t(4),u(s(116,110,"settings.network.proxy_desc")),t(2),h(e.isPwa?117:-1),t(2),m("formControl",e.uiProxyHostFormControl),f("aria-label",s(120,112,"settings.network.proxy")),t(2),h(e.uiProxyHostIsSaving?121:-1)}}function bn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function fn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function vn(i,c){if(i&1&&(a(0,"li",18)(1,"span"),l(2),r(3,"translate"),d(4,"br"),a(5,"small",76),l(6),r(7,"translate"),o()(),a(8,"div",19),d(9,"input",114),r(10,"translate"),_(11,fn,1,1,"i",21),o()()),i&2){let e=b(3);t(2),g(" ",s(3,6,"settings.terminal.log_truncate")),t(4),u(s(7,8,"settings.terminal.log_truncate_desc")),t(3),m("formControl",e.hbLogTruncateFormControl)("ngClass",N(12,J,e.hbLogTruncateIsInvalid)),f("aria-label",s(10,10,"settings.terminal.log_truncate")),t(2),h(e.hbLogTruncateIsSaving?11:-1)}}function Cn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function xn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Sn(i,c){if(i&1&&(a(0,"li",22)(1,"span"),l(2),r(3,"translate"),a(4,"span",107),l(5),r(6,"translate"),o(),d(7,"br"),a(8,"small",76),l(9),r(10,"translate"),o()(),a(11,"div",77)(12,"div",78),d(13,"input",117),r(14,"translate"),d(15,"label",118),o(),_(16,xn,1,1,"i",21),o()()),i&2){let e=b(4);t(2),g(" ",s(3,6,"settings.terminal.warning")," "),t(3),u(s(6,8,"common.labels.beta")),t(4),u(s(10,10,"settings.terminal.warning_help")),t(4),m("formControl",e.uiTerminalHideWarningFormControl),f("aria-label",s(14,12,"settings.terminal.warning")),t(3),h(e.uiTerminalHideWarningIsSaving?16:-1)}}function In(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function yn(i,c){if(i&1&&(a(0,"li",18)(1,"div",119)(2,"span"),l(3),r(4,"translate"),a(5,"span",107),l(6),r(7,"translate"),o()(),a(8,"div",120),l(9),r(10,"translate"),o()(),a(11,"div",19),d(12,"input",121),r(13,"translate"),_(14,In,1,1,"i",21),o()()),i&2){let e=b(4);t(3),g(" ",s(4,7,"settings.terminal.buffer_size")," "),t(3),u(s(7,9,"common.labels.beta")),t(3),u(s(10,11,"settings.terminal.buffer_size_help")),t(3),m("formControl",e.uiTerminalBufferSizeFormControl)("ngClass",N(15,J,e.uiTerminalBufferSizeIsInvalid)),f("aria-label",s(13,13,"settings.terminal.buffer_size")),t(2),h(e.uiTerminalBufferSizeIsSaving?14:-1)}}function kn(i,c){if(i&1&&(a(0,"li",22)(1,"span"),l(2),r(3,"translate"),a(4,"span",107),l(5),r(6,"translate"),o(),d(7,"br"),a(8,"small",76),l(9),r(10,"translate"),o()(),a(11,"div",77)(12,"div",78),d(13,"input",115),r(14,"translate"),d(15,"label",116),o(),_(16,Cn,1,1,"i",21),o()(),_(17,Sn,17,14,"li",22),_(18,yn,15,17,"li",18)),i&2){let e=b(3);t(2),g(" ",s(3,8,"settings.terminal.persistence")," "),t(3),u(s(6,10,"common.labels.beta")),t(4),u(s(10,12,"settings.terminal.persistence_help")),t(4),m("formControl",e.uiTerminalPersistenceFormControl),f("aria-label",s(14,14,"settings.terminal.persistence")),t(3),h(e.uiTerminalPersistenceIsSaving?16:-1),t(),h(e.uiTerminalPersistenceFormControl.value?-1:17),t(),h(e.uiTerminalPersistenceFormControl.value?18:-1)}}function wn(i,c){if(i&1&&(a(0,"ul",12)(1,"li",18)(2,"span"),l(3),r(4,"translate"),d(5,"br"),a(6,"small",76),l(7),r(8,"translate"),o()(),a(9,"div",19),d(10,"input",113),r(11,"translate"),_(12,bn,1,1,"i",21),o()(),_(13,vn,12,14,"li",18),_(14,kn,19,16),o()),i&2){let e=b(2);t(3),g(" ",s(4,8,"settings.terminal.log_max")),t(4),u(s(8,10,"settings.terminal.log_max_desc")),t(3),m("formControl",e.hbLogSizeFormControl)("ngClass",N(14,J,e.hbLogSizeIsInvalid)),f("aria-label",s(11,12,"settings.terminal.log_max")),t(2),h(e.hbLogSizeIsSaving?12:-1),t(),h(e.hbLogSizeFormControl.value>0?13:-1),t(),h(e.enableTerminalAccess?14:-1)}}function En(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Bn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Tn(i,c){if(i&1&&(a(0,"li",18)(1,"span"),l(2),r(3,"translate"),d(4,"br"),a(5,"small",76),l(6),r(7,"translate"),o()(),a(8,"div",19),d(9,"input",127),r(10,"translate"),_(11,Bn,1,1,"i",21),o()()),i&2){let e=b(3);t(2),g(" ",s(3,6,"settings.startup.session")),t(4),u(s(7,8,"settings.startup.session_desc")),t(3),m("formControl",e.uiSessionTimeoutFormControl)("ngClass",N(12,J,e.uiSessionTimeoutIsInvalid)),f("aria-label",s(10,10,"settings.startup.session")),t(2),h(e.uiSessionTimeoutIsSaving?11:-1)}}function $n(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function Fn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function Pn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Rn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function An(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Vn(i,c){if(i&1&&(a(0,"li",18)(1,"span"),l(2),r(3,"translate"),o(),_(4,Fn,5,3),a(5,"div",19),d(6,"input",128),r(7,"translate"),_(8,Pn,1,1,"i",21),o()(),a(9,"li",18)(10,"span"),l(11),r(12,"translate"),o(),_(13,Rn,5,3),a(14,"div",19),d(15,"input",129),r(16,"translate"),_(17,An,1,1,"i",21),o()()),i&2){let e=b(3);t(2),u(s(3,10,"settings.security.key")),t(2),h(e.isPwa?4:-1),t(2),m("formControl",e.uiSslKeyFormControl),f("aria-label",s(7,12,"settings.security.key")),t(2),h(e.uiSslKeyIsSaving?8:-1),t(3),u(s(12,14,"settings.security.cert")),t(2),h(e.isPwa?13:-1),t(2),m("formControl",e.uiSslCertFormControl),f("aria-label",s(16,16,"settings.security.cert")),t(2),h(e.uiSslCertIsSaving?17:-1)}}function Mn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function Dn(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Nn(i,c){i&1&&(d(0,"br"),a(1,"small",76),d(2,"i",112),l(3),r(4,"translate"),o()),i&2&&(t(3),g(" ",s(4,1,"settings.warning_pwa")," "))}function Ln(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function zn(i,c){if(i&1){let e=w();a(0,"li",18)(1,"span"),l(2),r(3,"translate"),o(),_(4,Mn,5,3),a(5,"div",19),d(6,"input",130),r(7,"translate"),_(8,Dn,1,1,"i",21),o()(),a(9,"li",18)(10,"span"),l(11),r(12,"translate"),o(),_(13,Nn,5,3),a(14,"div",19)(15,"input",131),r(16,"translate"),x("focus",function(){S(e);let p=b(3);return I(p.showPfxPassphrase=!0)})("blur",function(){S(e);let p=b(3);return I(p.showPfxPassphrase=!1)}),o(),_(17,Ln,1,1,"i",21),o()()}if(i&2){let e=b(3);t(2),u(s(3,11,"settings.security.pfx")),t(2),h(e.isPwa?4:-1),t(2),m("formControl",e.uiSslPfxFormControl),f("aria-label",s(7,13,"settings.security.pfx")),t(2),h(e.uiSslPfxIsSaving?8:-1),t(3),u(s(12,15,"settings.security.pass")),t(2),h(e.isPwa?13:-1),t(2),m("type",e.showPfxPassphrase?"text":"password")("formControl",e.uiSslPassphraseFormControl),f("aria-label",s(16,17,"settings.security.pass")),t(2),h(e.uiSslPassphraseIsSaving?17:-1)}}function On(i,c){if(i&1){let e=w();a(0,"ul",13)(1,"li",22)(2,"span"),l(3),r(4,"translate"),d(5,"br"),a(6,"small",76),l(7),r(8,"translate"),o()(),a(9,"div",77)(10,"div",78),d(11,"input",122),r(12,"translate"),d(13,"label",123),o(),_(14,En,1,1,"i",21),o()(),_(15,Tn,12,14,"li",18),a(16,"li",18)(17,"span"),l(18),r(19,"translate"),d(20,"br"),a(21,"small",76),l(22),r(23,"translate"),o(),_(24,$n,5,3),o(),a(25,"div",19)(26,"select",27),r(27,"translate"),a(28,"option",124),l(29),r(30,"translate"),o(),a(31,"option",125),l(32),r(33,"translate"),o(),a(34,"option",126),l(35),r(36,"translate"),o()()()(),_(37,Vn,18,18),_(38,zn,18,19),a(39,"li",22)(40,"span",23),l(41),r(42,"translate"),d(43,"br"),a(44,"small",76),l(45),r(46,"translate"),o()(),a(47,"button",24),r(48,"translate"),x("click",function(){S(e);let p=b(2);return I(p.accessoryUiControl())}),d(49,"i",25),o()()()}if(i&2){let e=b(2);t(3),g(" ",s(4,19,"settings.security.auth")),t(4),g(" ",s(8,21,"settings.security.auth_desc")," "),t(4),m("formControl",e.uiAuthFormControl),f("aria-label",s(12,23,"settings.security.auth")),t(3),h(e.uiAuthIsSaving?14:-1),t(),h(e.uiAuthFormControl.value?15:-1),t(3),g(" ",s(19,25,"settings.security.https")),t(4),u(s(23,27,"settings.security.https_desc")),t(2),h(e.isPwa?24:-1),t(2),m("formControl",e.uiSslTypeFormControl),f("aria-label",s(27,29,"settings.security.https")),t(3),u(s(30,31,"accessories.control.off")),t(3),u(s(33,33,"settings.security.https_keycert")),t(3),u(s(36,35,"settings.security.https_pfx")),t(2),h(e.uiSslTypeFormControl.value==="keycert"?37:-1),t(),h(e.uiSslTypeFormControl.value==="pfx"?38:-1),t(3),g(" ",s(42,37,"settings.security.ui_control")),t(4),u(s(46,39,"settings.security.ui_control_desc")),t(2),f("aria-label",s(48,41,"settings.security.ui_control"))}}function Hn(i,c){i&1&&(a(0,"p",14),l(1),r(2,"translate"),o()),i&2&&(t(),u(s(2,1,"settings.cache.desc")))}function Un(i,c){i&1&&d(0,"i",21),i&2&&m("@fadeInOut",void 0)}function Wn(i,c){if(i&1){let e=w();a(0,"ul",15)(1,"li",22)(2,"span"),l(3),r(4,"translate"),d(5,"br"),a(6,"small",76),l(7),r(8,"translate"),o()(),a(9,"div",77)(10,"div",78),d(11,"input",132),r(12,"translate"),d(13,"label",133),o(),_(14,Un,1,1,"i",21),o()(),a(15,"li",22)(16,"span",23),l(17),r(18,"translate"),d(19,"br"),a(20,"small",76),l(21),r(22,"translate"),o()(),a(23,"button",24),r(24,"translate"),x("click",function(){S(e);let p=b(2);return I(p.removeSingleCachedAccessories())}),d(25,"i",25),o()(),a(26,"li",22)(27,"span",23),l(28),r(29,"translate"),d(30,"br"),a(31,"small",76),l(32),r(33,"translate"),o()(),a(34,"button",24),r(35,"translate"),x("click",function(){S(e);let p=b(2);return I(p.removeBridgeAccessories())}),d(36,"i",25),o()(),a(37,"li",22)(38,"span",23),l(39),r(40,"translate"),d(41,"br"),a(42,"small",76),l(43),r(44,"translate"),o()(),a(45,"button",24),r(46,"translate"),x("click",function(){S(e);let p=b(2);return I(p.removeAllCachedAccessories())}),d(47,"i",25),o()()()}if(i&2){let e=b(2);t(3),g(" ",s(4,14,"settings.accessory.debug")),t(4),u(s(8,16,"settings.accessory.debug_desc")),t(4),m("formControl",e.uiAccDebugFormControl),f("aria-label",s(12,18,"settings.accessory.debug")),t(3),h(e.uiAccDebugIsSaving?14:-1),t(3),g(" ",s(18,20,"reset.accessory_ind.title")),t(4),u(s(22,22,"reset.accessory_ind.desc")),t(2),f("aria-label",s(24,24,"reset.accessory_ind.title")),t(5),g(" ",s(29,26,"reset.bridge_accessories.title")),t(4),u(s(33,28,"reset.bridge_accessories.desc")),t(2),f("aria-label",s(35,30,"reset.accessory_all.title")),t(5),g(" ",s(40,32,"reset.accessory_all.title")),t(4),u(s(44,34,"reset.accessory_all.desc")),t(2),f("aria-label",s(46,36,"reset.accessory_all.title"))}}function Kn(i,c){i&1&&(a(0,"p",14),l(1),r(2,"translate"),o()),i&2&&(t(),u(s(2,1,"reset.bridges.desc")))}function Gn(i,c){if(i&1){let e=w();a(0,"ul",16)(1,"li",22)(2,"span",23),l(3),r(4,"translate"),d(5,"br"),a(6,"small",76),l(7),r(8,"translate"),o()(),a(9,"button",24),r(10,"translate"),x("click",function(){S(e);let p=b(2);return I(p.unpairAccessory())}),d(11,"i",25),o()(),a(12,"li",22)(13,"span",23),l(14),r(15,"translate"),r(16,"titlecase"),d(17,"br"),a(18,"small",76),l(19),r(20,"translate"),o()(),a(21,"button",24),r(22,"translate"),x("click",function(){S(e);let p=b(2);return I(p.resetHomebridgeState())}),d(23,"i",25),o()()()}i&2&&(t(3),g(" ",s(4,6,"reset.bridge_ind.title")),t(4),u(s(8,8,"reset.bridge_ind.desc")),t(2),f("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),g(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),u(s(20,16,"reset.bridge_all.desc")),t(2),f("aria-label",s(22,18,"reset.bridge_all.title")))}function jn(i,c){if(i&1){let e=w();a(0,"div",4)(1,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("general"))}),a(2,"h5",6),d(3,"i",7),l(4),r(5,"translate"),o()(),_(6,Pi,30,29,"ul",8),o(),a(7,"div",4)(8,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("display"))}),a(9,"h5",6),d(10,"i",7),l(11),r(12,"translate"),o()(),_(13,Ni,157,94,"ul",9),o(),a(14,"div",4)(15,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("startup"))}),a(16,"h5",6),d(17,"i",7),l(18),r(19,"translate"),o()(),_(20,Yi,98,70,"ul",10),o(),a(21,"div",4)(22,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("network"))}),a(23,"h5",6),d(24,"i",7),l(25),r(26,"translate"),o()(),_(27,gn,122,122,"ul",11),o(),a(28,"div",4)(29,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("terminal"))}),a(30,"h5",6),d(31,"i",7),l(32),r(33,"translate"),o()(),_(34,wn,15,16,"ul",12),o(),a(35,"div",4)(36,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("security"))}),a(37,"h5",6),d(38,"i",7),l(39),r(40,"translate"),o()(),_(41,On,50,43,"ul",13),o(),a(42,"div",4)(43,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("cache"))}),a(44,"h5",6),d(45,"i",7),l(46),r(47,"translate"),o()(),_(48,Hn,3,3,"p",14),_(49,Wn,48,38,"ul",15),o(),a(50,"div",4)(51,"div",5),x("click",function(){S(e);let p=b();return I(p.toggleSection("reset"))}),a(52,"h5",6),d(53,"i",7),l(54),r(55,"translate"),o()(),_(56,Kn,3,3,"p",14),_(57,Gn,24,20,"ul",16),o(),d(58,"div",17)}if(i&2){let e=b();t(),f("aria-expanded",e.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),m("ngClass",F(58,Z,e.showFields.general,!e.showFields.general)),t(),g(" ",s(5,42,"settings.general.title_general")," "),t(2),h(e.showFields.general?6:-1),t(2),f("aria-expanded",e.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),m("ngClass",F(61,Z,e.showFields.display,!e.showFields.display)),t(),g(" ",s(12,44,"settings.general.title_display")," "),t(2),h(e.showFields.display?13:-1),t(2),f("aria-expanded",e.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),m("ngClass",F(64,Z,e.showFields.startup,!e.showFields.startup)),t(),g(" ",s(19,46,"settings.title_startup_options")," "),t(2),h(e.showFields.startup?20:-1),t(2),f("aria-expanded",e.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),m("ngClass",F(67,Z,e.showFields.network,!e.showFields.network)),t(),g(" ",s(26,48,"settings.network.title_network")," "),t(2),h(e.showFields.network?27:-1),t(2),f("aria-expanded",e.showFields.terminal?"true":"false")("aria-controls","fieldsTerminal"),t(2),m("ngClass",F(70,Z,e.showFields.terminal,!e.showFields.terminal)),t(),g(" ",s(33,50,"settings.network.title_terminal")," "),t(2),h(e.showFields.terminal?34:-1),t(2),f("aria-expanded",e.showFields.security?"true":"false")("aria-controls","fieldsSecurity"),t(2),m("ngClass",F(73,Z,e.showFields.security,!e.showFields.security)),t(),g(" ",s(40,52,"settings.network.title_security")," "),t(2),h(e.showFields.security?41:-1),t(2),f("aria-expanded",e.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),m("ngClass",F(76,Z,e.showFields.cache,!e.showFields.cache)),t(),g(" ",s(47,54,"menu.label_accessories")," "),t(2),h(e.showFields.cache?48:-1),t(),h(e.showFields.cache?49:-1),t(2),f("aria-expanded",e.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),m("ngClass",F(79,Z,e.showFields.reset,!e.showFields.reset)),t(),g(" ",s(55,56,"reset.bridges.title")," "),t(2),h(e.showFields.reset?56:-1),t(),h(e.showFields.reset?57:-1)}}var _r=(()=>{class i{$api=C(D);$modal=C(re);$notification=C(We);$router=C(U);$settings=C(Y);$terminal=C(Ge);$toastr=C(M);$translate=C(V);restartToastIsShown=!1;showFields={general:!0,display:!0,startup:!0,network:!0,security:!0,terminal:!0,reset:!0,cache:!0};loading=!0;isHbV2=!1;showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;adaptersAvailable=[];adaptersSelected=[];showPfxPassphrase=!1;runningInDocker=this.$settings.env.runningInDocker;runningOnRaspberryPi=this.$settings.env.runningOnRaspberryPi;platform=this.$settings.env.platform;enableTerminalAccess=this.$settings.env.enableTerminalAccess;isPwa=!!Ue();hbNameIsInvalid=!1;hbNameIsSaving=!1;hbNameFormControl=new E("");uiLangIsSaving=!1;uiLangFormControl=new E("");uiThemeIsSaving=!1;uiThemeFormControl=new E("");uiLightIsSaving=!1;uiLightFormControl=new E("");uiMenuIsSaving=!1;uiMenuFormControl=new E("");uiTempIsSaving=!1;uiTempFormControl=new E("");uiTerminalPersistenceIsSaving=!1;uiTerminalPersistenceFormControl=new E(!1);uiTerminalHideWarningIsSaving=!1;uiTerminalHideWarningFormControl=new E(!1);uiTerminalBufferSizeIsSaving=!1;uiTerminalBufferSizeIsInvalid=!1;uiTerminalBufferSizeFormControl=new E(globalThis.terminal.bufferSize);hbDebugIsSaving=!1;hbDebugFormControl=new E(!1);hbInsecureIsSaving=!1;hbInsecureFormControl=new E(!1);hbKeepIsSaving=!1;hbKeepFormControl=new E(!1);hbEnvDebugIsSaving=!1;hbEnvDebugFormControl=new E("");hbEnvNodeIsSaving=!1;hbEnvNodeFormControl=new E("");hbLogSizeIsInvalid=!1;hbLogSizeIsSaving=!1;hbLogSizeFormControl=new E(-1);hbLogTruncateIsInvalid=!1;hbLogTruncateIsSaving=!1;hbLogTruncateFormControl=new E(0);hbMDnsIsSaving=!1;hbMDnsFormControl=new E("");hbPortIsInvalid=!1;hbPortIsSaving=!1;hbPortFormControl=new E(0);uiPortIsInvalid=!1;uiPortIsSaving=!1;uiPortFormControl=new E(0);hbStartPortIsInvalid=!1;hbStartPortIsSaving=!1;hbStartPortFormControl=new E(0);hbEndPortIsInvalid=!1;hbEndPortIsSaving=!1;hbEndPortFormControl=new E(0);uiHostIsSaving=!1;uiHostFormControl=new E("");uiWebrootIsSaving=!1;uiWebrootFormControl=new E("");uiProxyHostIsSaving=!1;uiProxyHostFormControl=new E("");uiAuthIsSaving=!1;uiAuthFormControl=new $e(!0);uiSessionTimeoutIsInvalid=!1;uiSessionTimeoutIsSaving=!1;uiSessionTimeoutFormControl=new E(0);uiSslTypeFormControl=new E("off");uiSslKeyIsSaving=!1;uiSslKeyFormControl=new E("");uiSslCertIsSaving=!1;uiSslCertFormControl=new E("");uiSslPfxIsSaving=!1;uiSslPfxFormControl=new E("");uiSslPassphraseIsSaving=!1;uiSslPassphraseFormControl=new E("");hbPackageIsSaving=!1;hbPackageFormControl=new E("");uiMetricsIsSaving=!1;uiMetricsFormControl=new E(!0);uiAccDebugIsSaving=!1;uiAccDebugFormControl=new E(!1);uiTempFileIsSaving=!1;uiTempFileFormControl=new E("");hbLinuxShutdownIsSaving=!1;hbLinuxShutdownFormControl=new E("");hbLinuxRestartIsSaving=!1;hbLinuxRestartFormControl=new E("");linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank" rel="noopener noreferrer"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';ngOnInit(){return v(this,null,function*(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),yield this.initNetworkingOptions(),yield this.initStartupSettings(),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.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbNameSave(e)),this.uiLangFormControl.patchValue(this.$settings.env.lang),this.uiLangFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiLangSave(e)),this.uiThemeFormControl.patchValue(this.$settings.theme),this.uiThemeFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiThemeSave(e)),this.uiLightFormControl.patchValue(this.$settings.lightingMode),this.uiLightFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiLightSave(e)),this.uiMenuFormControl.patchValue(this.$settings.menuMode),this.uiMenuFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiMenuSave(e)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits),this.uiTempFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiTempSave(e)),this.uiTerminalPersistenceFormControl.patchValue(this.$settings.env.terminal?.persistence),this.uiTerminalPersistenceFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiTerminalPersistenceSave(e)),this.uiTerminalHideWarningFormControl.patchValue(this.$settings.env.terminal?.hideWarning),this.uiTerminalHideWarningFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiTerminalHideWarningSave(e)),this.uiTerminalBufferSizeFormControl.patchValue(this.$settings.env.terminal?.bufferSize),this.uiTerminalBufferSizeFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiTerminalBufferSizeSave(e)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize),this.hbLogSizeFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbLogSizeSave(e)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize),this.hbLogTruncateFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbLogTruncateSave(e)),this.uiPortFormControl.patchValue(this.$settings.env.port),this.uiPortFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiPortSave(e)),this.uiAuthFormControl.patchValue(this.$settings.formAuth),this.uiAuthFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiAuthSave(e)),this.uiSessionTimeoutFormControl.patchValue(this.$settings.sessionTimeout),this.uiSessionTimeoutFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiSessionTimeoutSave(e)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||""),this.uiSslKeyFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiSslKeySave(e)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||""),this.uiSslCertFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiSslCertSave(e)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||""),this.uiSslPfxFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiSslPfxSave(e)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||""),this.uiSslPassphraseFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiSslPassphraseSave(e)),this.uiSslTypeFormControl.patchValue(this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off"),this.uiSslTypeFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiSslTypeSave(e)),this.uiHostFormControl.patchValue(this.$settings.host||""),this.uiHostFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiHostSave(e)),this.uiWebrootFormControl.patchValue(this.$settings.webroot||""),this.uiWebrootFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiWebrootSave(e)),this.uiProxyHostFormControl.patchValue(this.$settings.proxyHost||""),this.uiProxyHostFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiProxyHostSave(e)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||""),this.hbPackageFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbPackageSave(e)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring),this.uiMetricsFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiMetricsSave(e)),this.uiAccDebugFormControl.patchValue(this.$settings.env.accessoryControl?.debug),this.uiAccDebugFormControl.valueChanges.pipe(k(750)).subscribe(e=>this.uiAccDebugSave(e)),this.uiTempFileFormControl.patchValue(this.$settings.env.temp),this.uiTempFileFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.uiTempFileSave(e)),this.hbLinuxShutdownFormControl.patchValue(this.$settings.env.linux?.shutdown),this.hbLinuxShutdownFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbLinuxShutdownSave(e)),this.hbLinuxRestartFormControl.patchValue(this.$settings.env.linux?.restart),this.hbLinuxRestartFormControl.valueChanges.pipe(k(1500)).subscribe(e=>this.hbLinuxRestartSave(e)),this.loading=!1})}openBackupModal(){this.$modal.open(ue,{size:"lg",backdrop:"static"})}openConfigBackup(){this.$router.navigate(["/config"],{queryParams:{action:"restore"}})}openWallpaperModal(){this.$modal.open(pt,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(ot,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(st,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(nt,{size:"lg",backdrop:"static"})}accessoryUiControl(){return v(this,null,function*(){try{let e=this.$modal.open(Je,{size:"lg",backdrop:"static"});e.componentInstance.existingBlacklist=this.$settings.env.accessoryControl?.instanceBlacklist||[],yield e.result,this.showRestartToast()}catch(e){e!=="Dismiss"&&(console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error")))}})}removeSingleCachedAccessories(){this.$modal.open(je,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(at,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return v(this,null,function*(){let e=this.$modal.open(lt,{size:"lg",backdrop:"static"});e.componentInstance.adaptersAvailable=this.adaptersAvailable,e.componentInstance.adaptersSelected=this.adaptersSelected;try{let n=yield e.result;this.buildBridgeNetworkAdapterList(n),yield $(this.$api.put("/server/network-interfaces/bridge",{adapters:n})),this.showRestartToast()}catch(n){n!=="Dismiss"&&(console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")))}})}toggleSection(e){this.showFields[e]=!this.showFields[e]}initStartupSettings(){return v(this,null,function*(){try{let e=yield $(this.$api.get("/platform-tools/hb-service/homebridge-startup-settings"));this.hbDebugFormControl.patchValue(e.HOMEBRIDGE_DEBUG),this.hbDebugFormControl.valueChanges.pipe(k(750)).subscribe(n=>this.hbDebugSave(n)),this.hbInsecureFormControl.patchValue(e.HOMEBRIDGE_INSECURE),this.hbInsecureFormControl.valueChanges.pipe(k(750)).subscribe(n=>this.hbInsecureSave(n)),this.hbKeepFormControl.patchValue(e.HOMEBRIDGE_KEEP_ORPHANS),this.hbKeepFormControl.valueChanges.pipe(k(750)).subscribe(n=>this.hbKeepSave(n)),this.hbEnvDebugFormControl.patchValue(e.ENV_DEBUG),this.hbEnvDebugFormControl.valueChanges.pipe(k(1500)).subscribe(n=>this.hbEnvDebugSave(n)),this.hbEnvNodeFormControl.patchValue(e.ENV_NODE_OPTIONS),this.hbEnvNodeFormControl.valueChanges.pipe(k(1500)).subscribe(n=>this.hbEnvNodeSave(n))}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return v(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=!0,this.showResolvedMdnsOption=!0)}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return v(this,null,function*(){return 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"))]).then(([e,n,p,y,X])=>{this.adaptersAvailable=e,this.buildBridgeNetworkAdapterList(n),this.hbMDnsFormControl.patchValue(p.advertiser),this.hbMDnsFormControl.valueChanges.pipe(k(750)).subscribe(q=>this.hbMDnsSave(q)),this.hbPortFormControl.patchValue(y.port),this.hbPortFormControl.valueChanges.pipe(k(1500)).subscribe(q=>this.hbPortSave(q)),this.hbStartPortFormControl.patchValue(X.start),this.hbStartPortFormControl.valueChanges.pipe(k(1500)).subscribe(q=>this.hbStartPortSave(q)),this.hbEndPortFormControl.patchValue(X.end),this.hbEndPortFormControl.valueChanges.pipe(k(1500)).subscribe(q=>this.hbEndPortSave(q))})})}saveUiSettingChange(e,n){return v(this,null,function*(){try{yield $(this.$api.put("/config-editor/ui",{key:e,value:n}))}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(e){return v(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.hbNameIsInvalid=!0;return}try{this.hbNameIsSaving=!0,yield $(this.$api.put("/server/name",{name:e})),this.$settings.setEnvItem("homebridgeInstanceName",e),this.hbNameIsInvalid=!1,setTimeout(()=>{this.hbNameIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbNameIsSaving=!1}})}uiLangSave(e){return v(this,null,function*(){try{this.uiLangIsSaving=!0,this.$settings.setLang(e),yield this.saveUiSettingChange("lang",e),setTimeout(()=>{this.uiLangIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLangIsSaving=!1}})}uiThemeSave(e){return v(this,null,function*(){try{this.uiThemeIsSaving=!0,this.$settings.setTheme(e),yield this.saveUiSettingChange("theme",e),setTimeout(()=>{this.uiThemeIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiThemeIsSaving=!1}})}uiLightSave(e){return v(this,null,function*(){try{this.uiLightIsSaving=!0,this.$settings.setLightingMode(e,"user"),yield this.saveUiSettingChange("lightingMode",e),setTimeout(()=>{this.uiLightIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLightIsSaving=!1}})}uiMenuSave(e){return v(this,null,function*(){try{this.uiMenuIsSaving=!0,this.$settings.setMenuMode(e),yield this.saveUiSettingChange("menuMode",e),window.location.reload()}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiMenuIsSaving=!1}})}uiTempSave(e){return v(this,null,function*(){try{this.uiTempIsSaving=!0,this.$settings.setEnvItem("temperatureUnits",e),yield this.saveUiSettingChange("tempUnits",e),setTimeout(()=>{this.uiTempIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempIsSaving=!1}})}uiTerminalPersistenceSave(e){return v(this,null,function*(){if(!e&&this.$terminal.hasActiveSession()){let n=this.$modal.open(He,{size:"lg",backdrop:"static"});n.componentInstance.title=this.$translate.instant("settings.terminal.persistence_confirm_title"),n.componentInstance.message=this.$translate.instant("settings.terminal.persistence_confirm_message"),n.componentInstance.message2=this.$translate.instant("common.phrases.are_you_sure"),n.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_continue"),n.componentInstance.confirmButtonClass="btn-primary",n.componentInstance.faIconClass="fas fa-exclamation-triangle text-warning";try{yield n.result}catch{this.uiTerminalPersistenceFormControl.patchValue(!0,{emitEvent:!1});return}}try{this.uiTerminalPersistenceIsSaving=!0,e||this.$terminal.destroyPersistentSession(),this.$settings.setEnvItem("terminal.persistence",e),yield this.saveUiSettingChange("terminal.persistence",e),setTimeout(()=>{this.uiTerminalPersistenceIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalPersistenceIsSaving=!1}})}uiTerminalHideWarningSave(e){return v(this,null,function*(){try{this.uiTerminalHideWarningIsSaving=!0,this.$settings.setEnvItem("terminal.hideWarning",e),yield this.saveUiSettingChange("terminal.hideWarning",e),setTimeout(()=>{this.uiTerminalHideWarningIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalHideWarningIsSaving=!1}})}uiTerminalBufferSizeSave(e){return v(this,null,function*(){if(e&&(typeof e!="number"||e<0||Number.isInteger(e)===!1)){this.uiTerminalBufferSizeIsInvalid=!0;return}try{this.uiTerminalBufferSizeIsSaving=!0,this.$settings.setEnvItem("terminal.bufferSize",e),yield this.saveUiSettingChange("terminal.bufferSize",e),this.uiTerminalBufferSizeIsInvalid=!1,setTimeout(()=>{this.uiTerminalBufferSizeIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalBufferSizeIsSaving=!1}})}hbDebugSave(e){return v(this,null,function*(){try{this.hbDebugIsSaving=!0,yield $(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:e,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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbInsecureSave(e){return v(this,null,function*(){try{this.hbInsecureIsSaving=!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:e,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbInsecureIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbKeepSave(e){return v(this,null,function*(){try{this.hbKeepIsSaving=!0,yield $(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:e,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),this.$settings.setKeepOrphans(e),setTimeout(()=>{this.hbKeepIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbEnvDebugSave(e){return v(this,null,function*(){try{this.hbEnvDebugIsSaving=!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:e,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value})),setTimeout(()=>{this.hbEnvDebugIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbEnvNodeSave(e){return v(this,null,function*(){try{this.hbEnvNodeIsSaving=!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:e})),setTimeout(()=>{this.hbEnvNodeIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLogSizeSave(e){return v(this,null,function*(){if(e&&(typeof e!="number"||e<-1||Number.isInteger(e)===!1)){this.hbLogSizeIsInvalid=!0;return}try{this.hbLogSizeIsSaving=!0,this.$settings.setEnvItem("log.maxSize",e),(!e||e===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid=!1),yield this.saveUiSettingChange("log.maxSize",e),this.hbLogSizeIsInvalid=!1,setTimeout(()=>{this.hbLogSizeIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogSizeIsSaving=!1}})}hbLogTruncateSave(e){return v(this,null,function*(){if(e&&(typeof e!="number"||e<0||Number.isInteger(e)===!1)){this.hbLogTruncateIsInvalid=!0;return}try{this.hbLogTruncateIsSaving=!0,this.$settings.setEnvItem("log.truncateSize",e),yield this.saveUiSettingChange("log.truncateSize",e),this.hbLogTruncateIsInvalid=!1,setTimeout(()=>{this.hbLogTruncateIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogTruncateIsSaving=!1}})}hbMDnsSave(e){return v(this,null,function*(){try{this.hbMDnsIsSaving=!0,yield $(this.$api.put("/server/mdns-advertiser",{advertiser:e})),setTimeout(()=>{this.hbMDnsIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbMDnsIsSaving=!1}})}hbPortSave(e){return v(this,null,function*(){if(e===this.uiPortFormControl.value){this.hbPortIsInvalid=!0;return}try{this.hbPortIsSaving=!0,yield $(this.$api.put("/server/port",{port:e})),this.hbPortIsInvalid=!1,setTimeout(()=>{this.hbPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPortIsSaving=!1}})}hbStartPortSave(e){return v(this,null,function*(){try{this.hbStartPortIsSaving=!0,yield $(this.$api.put("/server/ports",{start:e,end:this.hbEndPortFormControl.value})),this.hbStartPortIsInvalid=!1,setTimeout(()=>{this.hbStartPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbStartPortIsSaving=!1}})}hbEndPortSave(e){return v(this,null,function*(){try{this.hbEndPortIsSaving=!0,yield $(this.$api.put("/server/ports",{start:this.hbStartPortFormControl.value,end:e})),this.hbEndPortIsInvalid=!1,setTimeout(()=>{this.hbEndPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEndPortIsSaving=!1}})}uiPortSave(e){return v(this,null,function*(){if(!e||typeof e!="number"||e<1025||e>65533||Number.isInteger(e)===!1||e===this.hbPortFormControl.value){this.uiPortIsInvalid=!0;return}try{this.uiPortIsSaving=!0,this.$settings.setEnvItem("port",e),yield this.saveUiSettingChange("port",e),this.uiPortIsInvalid=!1,setTimeout(()=>{this.uiPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiPortIsSaving=!1}})}uiAuthSave(e){return v(this,null,function*(){try{this.uiAuthIsSaving=!0,this.$settings.setItem("formAuth",e),yield this.saveUiSettingChange("auth",e?"form":"none"),this.$notification.formAuthEnabled.next(e),setTimeout(()=>{this.uiAuthIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAuthIsSaving=!1}})}uiSessionTimeoutSave(e){return v(this,null,function*(){if(e&&(typeof e!="number"||e<600||e>864e5||Number.isInteger(e)===!1)){this.uiSessionTimeoutIsInvalid=!0;return}try{this.uiSessionTimeoutIsSaving=!0,this.$settings.setItem("sessionTimeout",e),yield this.saveUiSettingChange("sessionTimeout",e),this.uiSessionTimeoutIsInvalid=!1,setTimeout(()=>{this.uiSessionTimeoutIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutIsSaving=!1}})}uiSslKeySave(e){return v(this,null,function*(){try{this.uiSslKeyIsSaving=!0,this.$settings.setEnvItem("ssl.key",e),yield this.saveUiSettingChange("ssl.key",e),setTimeout(()=>{this.uiSslKeyIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslKeyIsSaving=!1}})}uiSslCertSave(e){return v(this,null,function*(){try{this.uiSslCertIsSaving=!0,this.$settings.setEnvItem("ssl.cert",e),yield this.saveUiSettingChange("ssl.cert",e),setTimeout(()=>{this.uiSslCertIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslCertIsSaving=!1}})}uiSslPfxSave(e){return v(this,null,function*(){try{this.uiSslPfxIsSaving=!0,this.$settings.setEnvItem("ssl.pfx",e),yield this.saveUiSettingChange("ssl.pfx",e),setTimeout(()=>{this.uiSslPfxIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPfxIsSaving=!1}})}uiSslPassphraseSave(e){return v(this,null,function*(){try{this.uiSslPassphraseIsSaving=!0,this.$settings.setEnvItem("ssl.passphrase",e),yield this.saveUiSettingChange("ssl.passphrase",e),setTimeout(()=>{this.uiSslPassphraseIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPassphraseIsSaving=!1}})}uiSslTypeSave(e){return v(this,null,function*(){switch(e){case"keycert":this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase","");break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert","");break;default: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",""),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(e){return v(this,null,function*(){try{this.uiHostIsSaving=!0,this.$settings.setItem("host",e),yield this.saveUiSettingChange("host",e),setTimeout(()=>{this.uiHostIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiHostIsSaving=!1}})}uiWebrootSave(e){return v(this,null,function*(){try{this.uiWebrootIsSaving=!0,e&&e!=="/"?(e.startsWith("/")||(e=`/${e}`),e.endsWith("/")&&(e=e.slice(0,-1))):e="",this.$settings.setItem("webroot",e),yield this.saveUiSettingChange("webroot",e),this.uiWebrootFormControl.patchValue(e,{emitEvent:!1}),setTimeout(()=>{this.uiWebrootIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiWebrootIsSaving=!1}})}uiProxyHostSave(e){return v(this,null,function*(){try{this.uiProxyHostIsSaving=!0,this.$settings.setItem("proxyHost",e),yield this.saveUiSettingChange("proxyHost",e),setTimeout(()=>{this.uiProxyHostIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiProxyHostIsSaving=!1}})}hbPackageSave(e){return v(this,null,function*(){try{this.hbPackageIsSaving=!0,this.$settings.setEnvItem("homebridgePackagePath",e),yield this.saveUiSettingChange("homebridgePackagePath",e),setTimeout(()=>{this.hbPackageIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPackageIsSaving=!1}})}uiMetricsSave(e){return v(this,null,function*(){try{this.uiMetricsIsSaving=!0,this.$settings.setEnvItem("disableServerMetricsMonitoring",!e),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!e),setTimeout(()=>{this.uiMetricsIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}uiAccDebugSave(e){return v(this,null,function*(){try{this.uiAccDebugIsSaving=!0,this.$settings.setEnvItem("accessoryControl.debug",e),yield this.saveUiSettingChange("accessoryControl.debug",e),setTimeout(()=>{this.uiAccDebugIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAccDebugIsSaving=!1}})}uiTempFileSave(e){return v(this,null,function*(){try{this.uiTempFileIsSaving=!0,this.$settings.setEnvItem("temp",e),yield this.saveUiSettingChange("temp",e),setTimeout(()=>{this.uiTempFileIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLinuxShutdownSave(e){return v(this,null,function*(){try{this.hbLinuxShutdownIsSaving=!0,this.$settings.setEnvItem("linux.shutdown",e),yield this.saveUiSettingChange("linux.shutdown",e),setTimeout(()=>{this.hbLinuxShutdownIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLinuxRestartSave(e){return v(this,null,function*(){try{this.hbLinuxRestartIsSaving=!0,this.$settings.setEnvItem("linux.restart",e),yield this.saveUiSettingChange("linux.restart",e),setTimeout(()=>{this.hbLinuxRestartIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}buildBridgeNetworkAdapterList(e){if(!e.length){this.adaptersSelected=[];return}this.adaptersSelected=e.map(n=>{let p=this.adaptersAvailable.find(y=>y.iface===n);return p?{iface:p.iface,selected:!0,missing:!1,ip4:p.ip4,ip6:p.ip6}:{iface:n,selected:!0,missing:!0}})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=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});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],decls:8,vars:4,consts:[[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsTerminal",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsSecurity",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-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","ngClass"],[1,"fas","fa-fw","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0","order-2","order-md-1"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[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,"grey-text","pe-2"],[1,"d-flex","align-items-center"],[1,"order-1","order-md-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"],["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",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",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",3,"formControl"],["type","text","placeholder","shutdown",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["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",3,"formControl"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],["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",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[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",3,"formControl"],[1,"badge","badge-primary","ms-1"],["type","text","placeholder","/",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","pattern","^[^{}/:\\\\s]+(?::\\d+)?$","placeholder","example.com:8443",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"],[1,"fas","fa-fw","fa-exclamation-triangle","red-text"],["type","number","min","-1","placeholder","1000000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","checkbox","id","terminalPersistence",1,"rendux-input",3,"formControl"],["for","terminalPersistence",1,"rendux-label","ms-3"],["type","checkbox","id","terminalHideWarning",1,"rendux-input",3,"formControl"],["for","terminalHideWarning",1,"rendux-label","ms-3"],[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",3,"formControl","ngClass"],["type","checkbox","id","uiAuthForm",1,"rendux-input",3,"formControl"],["for","uiAuthForm",1,"rendux-label","ms-3",2,"min-width","50px"],["value","off"],["value","keycert"],["value","pfx"],["type","number","min","600","max","86400000","placeholder","28800",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"focus","blur","type","formControl"],["type","checkbox","id","accessoryDebug",1,"rendux-input",3,"formControl"],["for","accessoryDebug",1,"rendux-label","ms-3",2,"min-width","50px"]],template:function(n,p){n&1&&(a(0,"div",0)(1,"div",1)(2,"h3",2),l(3),r(4,"translate"),o()(),d(5,"div",3),o(),_(6,$i,1,0,"app-spinner")(7,jn,59,82)),n&2&&(t(3),u(s(4,2,"menu.settings.title")),t(3),h(p.loading?6:7))},dependencies:[j,Le,ae,Ae,Ve,pe,Pe,ie,Re,ne,Ne,De,Me,oe,de,Ke,te,R],encapsulation:2,data:{animation:[Te("fadeInOut",[ge(":enter",[le({opacity:0}),he("750ms",le({opacity:1}))]),ge(":leave",[he("750ms",le({opacity:0}))])])]}})}return i})();export{_r as SettingsComponent};
@@ -0,0 +1 @@
1
+ import{b as pe}from"./chunk-RJECYPFA.js";import{p as le}from"./chunk-KWFXAMYZ.js";import{ea as fe,f as We,ja as ue,k as he,n as X}from"./chunk-V2XN5VIX.js";var d=Object.create(null);d.open="0";d.close="1";d.ping="2";d.pong="3";d.message="4";d.upgrade="5";d.noop="6";var S=Object.create(null);Object.keys(d).forEach(r=>{S[d[r]]=r});var O={type:"error",data:"parser error"};var ye=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",ge=typeof ArrayBuffer=="function",_e=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer,B=({type:r,data:e},t,s)=>ye&&e instanceof Blob?t?s(e):de(e,s):ge&&(e instanceof ArrayBuffer||_e(e))?t?s(e):de(new Blob([e]),s):s(d[r]+(e||"")),de=(r,e)=>{let t=new FileReader;return t.onload=function(){let s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(r)};function me(r){return r instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}var $;function be(r,e){if(ye&&r.data instanceof Blob)return r.data.arrayBuffer().then(me).then(e);if(ge&&(r.data instanceof ArrayBuffer||_e(r.data)))return e(me(r.data));B(r,!1,t=>{$||($=new TextEncoder),e($.encode(t))})}var we="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",N=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let r=0;r<we.length;r++)N[we.charCodeAt(r)]=r;var ke=r=>{let e=r.length*.75,t=r.length,s,i=0,n,o,c,a;r[r.length-1]==="="&&(e--,r[r.length-2]==="="&&e--);let m=new ArrayBuffer(e),p=new Uint8Array(m);for(s=0;s<t;s+=4)n=N[r.charCodeAt(s)],o=N[r.charCodeAt(s+1)],c=N[r.charCodeAt(s+2)],a=N[r.charCodeAt(s+3)],p[i++]=n<<2|o>>4,p[i++]=(o&15)<<4|c>>2,p[i++]=(c&3)<<6|a&63;return m};var Ke=typeof ArrayBuffer=="function",L=(r,e)=>{if(typeof r!="string")return{type:"message",data:Ee(r,e)};let t=r.charAt(0);return t==="b"?{type:"message",data:Ye(r.substring(1),e)}:S[t]?r.length>1?{type:S[t],data:r.substring(1)}:{type:S[t]}:O},Ye=(r,e)=>{if(Ke){let t=ke(r);return Ee(t,e)}else return{base64:!0,data:r}},Ee=(r,e)=>{switch(e){case"blob":return r instanceof Blob?r:new Blob([r]);case"arraybuffer":default:return r instanceof ArrayBuffer?r:r.buffer}};var ve="",xe=(r,e)=>{let t=r.length,s=new Array(t),i=0;r.forEach((n,o)=>{B(n,!1,c=>{s[o]=c,++i===t&&e(s.join(ve))})})},Te=(r,e)=>{let t=r.split(ve),s=[];for(let i=0;i<t.length;i++){let n=L(t[i],e);if(s.push(n),n.type==="error")break}return s};function Ae(){return new TransformStream({transform(r,e){be(r,t=>{let s=t.length,i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);let n=new DataView(i.buffer);n.setUint8(0,126),n.setUint16(1,s)}else{i=new Uint8Array(9);let n=new DataView(i.buffer);n.setUint8(0,127),n.setBigUint64(1,BigInt(s))}r.data&&typeof r.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}var Q;function U(r){return r.reduce((e,t)=>e+t.length,0)}function V(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),s=0;for(let i=0;i<e;i++)t[i]=r[0][s++],s===r[0].length&&(r.shift(),s=0);return r.length&&s<r[0].length&&(r[0]=r[0].slice(s)),t}function Re(r,e){Q||(Q=new TextDecoder);let t=[],s=0,i=-1,n=!1;return new TransformStream({transform(o,c){for(t.push(o);;){if(s===0){if(U(t)<1)break;let a=V(t,1);n=(a[0]&128)===128,i=a[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(U(t)<2)break;let a=V(t,2);i=new DataView(a.buffer,a.byteOffset,a.length).getUint16(0),s=3}else if(s===2){if(U(t)<8)break;let a=V(t,8),m=new DataView(a.buffer,a.byteOffset,a.length),p=m.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(O);break}i=p*Math.pow(2,32)+m.getUint32(4),s=3}else{if(U(t)<i)break;let a=V(t,i);c.enqueue(L(n?a:Q.decode(a),e)),s=0}if(i===0||i>r){c.enqueue(O);break}}}})}var j=4;function f(r){if(r)return Je(r)}function Je(r){for(var e in f.prototype)r[e]=f.prototype[e];return r}f.prototype.on=f.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};f.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};f.prototype.off=f.prototype.removeListener=f.prototype.removeAllListeners=f.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+r],this};f.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};f.prototype.emitReserved=f.prototype.emit;f.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};f.prototype.hasListeners=function(r){return!!this.listeners(r).length};var y=typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0),u=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Ce="arraybuffer";function M(r,...e){return e.reduce((t,s)=>(r.hasOwnProperty(s)&&(t[s]=r[s]),t),{})}var ze=u.setTimeout,Xe=u.clearTimeout;function g(r,e){e.useNativeTimers?(r.setTimeoutFn=ze.bind(u),r.clearTimeoutFn=Xe.bind(u)):(r.setTimeoutFn=u.setTimeout.bind(u),r.clearTimeoutFn=u.clearTimeout.bind(u))}var $e=1.33;function Se(r){return typeof r=="string"?Qe(r):Math.ceil((r.byteLength||r.size)*$e)}function Qe(r){let e=0,t=0;for(let s=0,i=r.length;s<i;s++)e=r.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function H(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Oe(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function Be(r){let e={},t=r.split("&");for(let s=0,i=t.length;s<i;s++){let n=t[s].split("=");e[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return e}var W=class extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}},_=class extends f{constructor(e){super(),this.writable=!1,g(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved("error",new W(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=L(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=Oe(e);return t.length?"?"+t:""}};var P=class extends _{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){let t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};Te(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){let e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,xe(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=H()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};var Ne=!1;try{Ne=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}var Le=Ne;function je(){}var G=class extends P{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){let s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,n)=>{this.onError("xhr post error",i,n)})}doPoll(){let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}},K=(()=>{class r extends f{constructor(t,s,i){super(),this.createRequest=t,g(this,i),this._opts=i,this._method=i.method||"GET",this._uri=s,this._data=i.data!==void 0?i.data:null,this._create()}_create(){var t;let s=M(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");s.xdomain=!!this._opts.xd;let i=this._xhr=this.createRequest(s);try{i.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&i.setRequestHeader(n,this._opts.extraHeaders[n])}}catch{}if(this._method==="POST")try{i.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{i.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(i),"withCredentials"in i&&(i.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(i.timeout=this._opts.requestTimeout),i.onreadystatechange=()=>{var n;i.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(i.getResponseHeader("set-cookie"))),i.readyState===4&&(i.status===200||i.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof i.status=="number"?i.status:0)},0))},i.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=je,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}return r.requestsCount=0,r.requests={},r})();if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Pe);else if(typeof addEventListener=="function"){let r="onpagehide"in u?"pagehide":"unload";addEventListener(r,Pe,!1)}}function Pe(){for(let r in K.requests)K.requests.hasOwnProperty(r)&&K.requests[r].abort()}var Ge=(function(){let r=qe({xdomain:!1});return r&&r.responseType!==null})(),w=class extends G{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Ge&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new K(qe,this.uri(),e)}};function qe(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Le))return new XMLHttpRequest}catch{}if(!e)try{return new u[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}var De=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",ee=class extends _{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,s=De?{}:M(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;B(s,this.supportsBinary,n=>{try{this.doWrite(s,n)}catch{}i&&y(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=H()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},Z=u.WebSocket||u.MozWebSocket,k=class extends ee{createSocket(e,t,s){return De?new Z(e,t,s):t?new Z(e,t):new Z(e)}doWrite(e,t){this.ws.send(t)}};var v=class extends _{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=Re(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=Ae();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();let n=()=>{s.read().then(({done:c,value:a})=>{c||(this.onPacket(a),n())}).catch(c=>{})};n();let o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&y(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};var te={websocket:k,webtransport:v,polling:w};var Ze=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,et=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function x(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),s=r.indexOf("]");t!=-1&&s!=-1&&(r=r.substring(0,t)+r.substring(t,s).replace(/:/g,";")+r.substring(s,r.length));let i=Ze.exec(r||""),n={},o=14;for(;o--;)n[et[o]]=i[o]||"";return t!=-1&&s!=-1&&(n.source=e,n.host=n.host.substring(1,n.host.length-1).replace(/;/g,":"),n.authority=n.authority.replace("[","").replace("]","").replace(/;/g,":"),n.ipv6uri=!0),n.pathNames=tt(n,n.path),n.queryKey=st(n,n.query),n}function tt(r,e){let t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function st(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,n){i&&(t[i]=n)}),t}var se=typeof addEventListener=="function"&&typeof removeEventListener=="function",Y=[];se&&addEventListener("offline",()=>{Y.forEach(r=>r())},!1);var J=(()=>{class r extends f{constructor(t,s){if(super(),this.binaryType=Ce,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(s=t,t=null),t){let i=x(t);s.hostname=i.host,s.secure=i.protocol==="https"||i.protocol==="wss",s.port=i.port,i.query&&(s.query=i.query)}else s.host&&(s.hostname=x(s.host).host);g(this,s),this.secure=s.secure!=null?s.secure:typeof location<"u"&&location.protocol==="https:",s.hostname&&!s.port&&(s.port=this.secure?"443":"80"),this.hostname=s.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=s.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},s.transports.forEach(i=>{let n=i.prototype.name;this.transports.push(n),this._transportsByName[n]=i}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},s),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Be(this.opts.query)),se&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Y.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){let s=Object.assign({},this.opts.query);s.EIO=j,s.transport=t,this.id&&(s.sid=this.id);let i=Object.assign({},this.opts,{query:s,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](i)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let t=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let s=this.createTransport(t);s.open(),this.setTransport(s)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",s=>this._onClose("transport close",s))}onOpen(){this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let s=new Error("server error");s.code=t.data,this._onError(s);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let s=1;for(let i=0;i<this.writeBuffer.length;i++){let n=this.writeBuffer[i].data;if(n&&(s+=Se(n)),i>0&&s>this._maxPayload)return this.writeBuffer.slice(0,i);s+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,y(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,s,i){return this._sendPacket("message",t,s,i),this}send(t,s,i){return this._sendPacket("message",t,s,i),this}_sendPacket(t,s,i,n){if(typeof s=="function"&&(n=s,s=void 0),typeof i=="function"&&(n=i,i=null),this.readyState==="closing"||this.readyState==="closed")return;i=i||{},i.compress=i.compress!==!1;let o={type:t,data:s,options:i};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}close(){let t=()=>{this._onClose("forced close"),this.transport.close()},s=()=>{this.off("upgrade",s),this.off("upgradeError",s),t()},i=()=>{this.once("upgrade",s),this.once("upgradeError",s)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?i():t()}):this.upgrading?i():t()),this}_onError(t){if(r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,s){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),se&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let i=Y.indexOf(this._offlineEventListener);i!==-1&&Y.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,s),this.writeBuffer=[],this._prevBufferLen=0}}}return r.protocol=j,r})(),z=class extends J{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;J.priorWebsocketSuccess=!1;let i=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",b=>{if(!s)if(b.type==="pong"&&b.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;J.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{let C=new Error("probe error");C.transport=t.name,this.emitReserved("upgradeError",C)}}))};function n(){s||(s=!0,p(),t.close(),t=null)}let o=b=>{let C=new Error("probe error: "+b);C.transport=t.name,n(),this.emitReserved("upgradeError",C)};function c(){o("transport closed")}function a(){o("socket closed")}function m(b){t&&b.name!==t.name&&n()}let p=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",c),this.off("close",a),this.off("upgrading",m)};t.once("open",i),t.once("error",o),t.once("close",c),this.once("close",a),this.once("upgrading",m),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}},T=class extends z{constructor(e,t={}){let s=typeof e=="object"?e:t;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(i=>te[i]).filter(i=>!!i)),super(e,s)}};var ds=T.protocol;function Fe(r,e="",t){let s=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),s=x(r)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";let n=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+n+":"+s.port+e,s.href=s.protocol+"://"+n+(t&&t.port===s.port?"":":"+s.port),s}var ae={};We(ae,{Decoder:()=>oe,Encoder:()=>ne,PacketType:()=>h,protocol:()=>He});var it=typeof ArrayBuffer=="function",nt=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,Ie=Object.prototype.toString,ot=typeof Blob=="function"||typeof Blob<"u"&&Ie.call(Blob)==="[object BlobConstructor]",ct=typeof File=="function"||typeof File<"u"&&Ie.call(File)==="[object FileConstructor]";function D(r){return it&&(r instanceof ArrayBuffer||nt(r))||ot&&r instanceof Blob||ct&&r instanceof File}function q(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,s=r.length;t<s;t++)if(q(r[t]))return!0;return!1}if(D(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return q(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&q(r[t]))return!0;return!1}function Ue(r){let e=[],t=r.data,s=r;return s.data=re(t,e),s.attachments=e.length,{packet:s,buffers:e}}function re(r,e){if(!r)return r;if(D(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let s=0;s<r.length;s++)t[s]=re(r[s],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=re(r[s],e));return t}return r}function Ve(r,e){return r.data=ie(r.data,e),delete r.attachments,r}function ie(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=ie(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=ie(r[t],e));return r}var at=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],He=5,h=(function(r){return r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK",r})(h||{}),ne=class{constructor(e){this.replacer=e}encode(e){return(e.type===h.EVENT||e.type===h.ACK)&&q(e)?this.encodeAsBinary({type:e.type===h.EVENT?h.BINARY_EVENT:h.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===h.BINARY_EVENT||e.type===h.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=Ue(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}};function Me(r){return Object.prototype.toString.call(r)==="[object Object]"}var oe=class r extends f{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let s=t.type===h.BINARY_EVENT;s||t.type===h.BINARY_ACK?(t.type=s?h.EVENT:h.ACK,this.reconstructor=new ce(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if(D(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,s={type:Number(e.charAt(0))};if(h[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===h.BINARY_EVENT||s.type===h.BINARY_ACK){let n=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let o=e.substring(n,t);if(o!=Number(o)||e.charAt(t)!=="-")throw new Error("Illegal attachments");s.attachments=Number(o)}if(e.charAt(t+1)==="/"){let n=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););s.nsp=e.substring(n,t)}else s.nsp="/";let i=e.charAt(t+1);if(i!==""&&Number(i)==i){let n=t+1;for(;++t;){let o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){let n=this.tryParse(e.substr(t));if(r.isPayloadValid(s.type,n))s.data=n;else throw new Error("invalid payload")}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case h.CONNECT:return Me(t);case h.DISCONNECT:return t===void 0;case h.CONNECT_ERROR:return typeof t=="string"||Me(t);case h.EVENT:case h.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&at.indexOf(t[0])===-1);case h.ACK:case h.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}},ce=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=Ve(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function l(r,e,t){return r.on(e,t),function(){r.off(e,t)}}var ht=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),A=class extends f{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[l(e,"open",this.onopen.bind(this)),l(e,"packet",this.onpacket.bind(this)),l(e,"error",this.onerror.bind(this)),l(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var s,i,n;if(ht.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let o={type:h.EVENT,data:t};if(o.options={},o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let p=this.ids++,b=t.pop();this._registerAckCallback(p,b),o.id=p}let c=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,a=this.connected&&!(!((n=this.io.engine)===null||n===void 0)&&n._hasPingExpired());return this.flags.volatile&&!c||(a?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var s;let i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}let n=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&this.sendBuffer.splice(c,1);t.call(this,new Error("operation has timed out"))},i),o=(...c)=>{this.io.clearTimeoutFn(n),t.apply(this,c)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{let n=(o,c)=>o?i(o):s(c);n.withError=!0,t.push(n),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...n)=>s!==this._queue[0]?void 0:(i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:h.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){let s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case h.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case h.EVENT:case h.BINARY_EVENT:this.onevent(e);break;case h.ACK:case h.BINARY_ACK:this.onack(e);break;case h.DISCONNECT:this.ondisconnect();break;case h.CONNECT_ERROR:this.destroy();let s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,s=!1;return function(...i){s||(s=!0,t.packet({type:h.ACK,id:e,data:i}))}}onack(e){let t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:h.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let s of t)s.apply(this,e.data)}}};function E(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}E.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};E.prototype.reset=function(){this.attempts=0};E.prototype.setMin=function(r){this.ms=r};E.prototype.setMax=function(r){this.max=r};E.prototype.setJitter=function(r){this.jitter=r};var R=class extends f{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,g(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new E({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let i=t.parser||ae;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new T(this.uri,this.opts);let t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;let i=l(t,"open",function(){s.onopen(),e&&e()}),n=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},o=l(t,"error",n);if(this._timeout!==!1){let c=this._timeout,a=this.setTimeoutFn(()=>{i(),n(new Error("timeout")),t.close()},c);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push(l(e,"ping",this.onping.bind(this)),l(e,"data",this.ondata.bind(this)),l(e,"error",this.onerror.bind(this)),l(e,"close",this.onclose.bind(this)),l(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){y(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new A(this,e,t),this.nsps[e]=s),s}_destroy(e){let t=Object.keys(this.nsps);for(let s of t)if(this.nsps[s].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};var F={};function I(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=Fe(r,e.path||"/socket.io"),s=t.source,i=t.id,n=t.path,o=F[i]&&n in F[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||o,a;return c?a=new R(s,e):(F[i]||(F[i]=new R(s,e)),a=F[i]),t.query&&!e.query&&(e.query=t.queryKey),a.socket(t.path,e)}Object.assign(I,{Manager:R,Socket:A,io:I,connect:I});var cr=(()=>{class r{$auth=ue(pe);namespaceConnectionCache={};connectToNamespace(t){if(this.namespaceConnectionCache[t]){let s=this.namespaceConnectionCache[t];return s.connected=new X,setTimeout(()=>{s.socket.connected&&s.connected.next(void 0)}),s.socket.on("connect",()=>{s.connected.next(void 0)}),s.end=()=>{s.socket.emit("end"),s.socket.removeAllListeners(),s.connected.complete()},this.namespaceConnectionCache[t]}else{let s=this.establishConnectionToNamespace(t);return s.connected=new X,s.socket.on("connect",()=>{s.connected.next(void 0)}),s.end=()=>{s.socket.emit("end"),s.socket.removeAllListeners(),s.connected.complete()},this.namespaceConnectionCache[t]=s,s}}getExistingNamespace(t){return this.namespaceConnectionCache[t]}establishConnectionToNamespace(t){let s=I(`${le.api.socket}/${t}`,{query:{token:this.$auth.token}});return{socket:s,request:(n,o)=>new he(c=>{s.emit(n,o,a=>{typeof a=="object"&&a.error?c.error(a):c.next(a),c.complete()})})}}static \u0275fac=function(s){return new(s||r)};static \u0275prov=fe({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{cr as a};