homebridge-config-ui-x 5.4.2-beta.17 → 5.4.2-beta.19

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 (148) hide show
  1. package/CHANGELOG.md +6 -0
  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 +13 -3
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/spa/spa-html.service.d.ts +6 -0
  10. package/dist/core/spa/spa-html.service.js +40 -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 +17 -2
  14. package/dist/core/spa/spa.filter.js.map +1 -1
  15. package/dist/main.js +8 -3
  16. package/dist/main.js.map +1 -1
  17. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  18. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  19. package/package.json +2 -2
  20. package/public/3rdpartylicenses.txt +13 -13
  21. package/public/assets/{monaco-0.52.2 → monaco}/min/vs/editor/editor.main.js +2 -2
  22. package/public/{chunk-7OTNPUAL.js → chunk-2WINY3ZF.js} +1 -1
  23. package/public/chunk-3HKCMPOG.js +1 -0
  24. package/public/chunk-3LEW5FOJ.js +5 -0
  25. package/public/{chunk-H6HIJJ3O.js → chunk-4KSIR72U.js} +1 -1
  26. package/public/chunk-5AWY7Y5F.js +1 -0
  27. package/public/{chunk-5TCYRJ6A.js → chunk-5WYRGCHF.js} +1 -1
  28. package/public/chunk-6BJBS3LN.js +1 -0
  29. package/public/{chunk-MJD7XNRM.js → chunk-6G5YFWZU.js} +1 -1
  30. package/public/chunk-75JAMBQV.js +1 -0
  31. package/public/chunk-7FRXGCEN.js +1 -0
  32. package/public/{chunk-UHWT4HS2.js → chunk-AEEAPTXE.js} +1 -1
  33. package/public/{chunk-7BRVYYLY.js → chunk-AM53KSWA.js} +1 -1
  34. package/public/{chunk-KKLQHHAF.js → chunk-ANER5XZR.js} +1 -1
  35. package/public/{chunk-RYEUSRBX.js → chunk-BQMDK4YS.js} +2 -2
  36. package/public/chunk-C5RDBZNR.js +1 -0
  37. package/public/{chunk-BU65ZOCD.js → chunk-CCHRGHTT.js} +1 -1
  38. package/public/{chunk-ZHPB347D.js → chunk-CIVLN3HQ.js} +1 -1
  39. package/public/{chunk-LPHTUMGC.js → chunk-CTYK4ZDT.js} +1 -1
  40. package/public/chunk-CW5BAGRQ.js +1 -0
  41. package/public/chunk-DAVMUI5E.js +1 -0
  42. package/public/chunk-DOEGUN7K.js +2 -0
  43. package/public/{chunk-YATJTZML.js → chunk-EWO5Q2EI.js} +2 -2
  44. package/public/chunk-EWOHYBTN.js +1 -0
  45. package/public/{chunk-5B52GCDR.js → chunk-EZJJIVVU.js} +1 -1
  46. package/public/{chunk-NJOBXAPT.js → chunk-F3ULAZ4E.js} +1 -1
  47. package/public/chunk-F6J2NHGX.js +1 -0
  48. package/public/chunk-F6YCPUHL.js +1 -0
  49. package/public/{chunk-DTQOAWZI.js → chunk-FYS44MIL.js} +2 -2
  50. package/public/chunk-GJQAIOUP.js +1 -0
  51. package/public/chunk-GQF7MOWN.js +1 -0
  52. package/public/{chunk-WK4E23QD.js → chunk-H6PTIBVL.js} +1 -1
  53. package/public/chunk-HAQWHODO.js +1 -0
  54. package/public/chunk-HVQ62Y6Y.js +1 -0
  55. package/public/chunk-IQDOUWVH.js +1 -0
  56. package/public/chunk-JWVUZWPW.js +1 -0
  57. package/public/{chunk-77JZBWAC.js → chunk-KNZTEJFP.js} +1 -1
  58. package/public/chunk-KTXTKNTK.js +1 -0
  59. package/public/{chunk-V2P2FPJ7.js → chunk-KXMDG63G.js} +1 -1
  60. package/public/chunk-L4YBFB5D.js +1 -0
  61. package/public/chunk-LLMDXP6U.js +14 -0
  62. package/public/{chunk-P7QFFCKC.js → chunk-LMHMCG63.js} +1 -1
  63. package/public/chunk-LQCRTC25.js +1 -0
  64. package/public/chunk-LYJHKOFJ.js +1 -0
  65. package/public/{chunk-BSUFNH7A.js → chunk-M7Q6VBJE.js} +1 -1
  66. package/public/chunk-MDV2S56W.js +1 -0
  67. package/public/chunk-MVMZJM7B.js +9 -0
  68. package/public/{chunk-FUCI6T5W.js → chunk-MVPZHD2W.js} +1 -1
  69. package/public/chunk-N3Z7FKS5.js +1 -0
  70. package/public/chunk-N5BV7TBJ.js +1 -0
  71. package/public/chunk-NQKC5572.js +1 -0
  72. package/public/chunk-O4L6YIY4.js +1 -0
  73. package/public/chunk-OUYHOAUL.js +1 -0
  74. package/public/chunk-PHH577UC.js +1 -0
  75. package/public/chunk-Q4EFL3E2.js +40 -0
  76. package/public/chunk-R56MSAS2.js +1 -0
  77. package/public/chunk-RFXKYVWK.js +1 -0
  78. package/public/chunk-SL5PZLKQ.js +20 -0
  79. package/public/chunk-SWNT35RD.js +1 -0
  80. package/public/{chunk-W2NRMLDB.js → chunk-U7WHGJMW.js} +1 -1
  81. package/public/{chunk-R7Y5ACQC.js → chunk-URO7YQZQ.js} +1 -1
  82. package/public/chunk-VFUUG43V.js +1 -0
  83. package/public/chunk-VG26PUF3.js +1 -0
  84. package/public/{chunk-R3DFE6BN.js → chunk-VTRS2QB2.js} +1 -1
  85. package/public/chunk-WPNRRUHJ.js +1 -0
  86. package/public/chunk-XYWZH34N.js +3 -0
  87. package/public/chunk-Y6X7IUSJ.js +1 -0
  88. package/public/chunk-YUAW7HIW.js +49 -0
  89. package/public/index.html +1 -1
  90. package/public/main-S37SK4FI.js +1 -0
  91. package/public/polyfills-5KWHJ7II.js +2 -0
  92. package/public/assets/monaco-0.52.2/package.json +0 -82
  93. package/public/chunk-3JVIQH57.js +0 -1
  94. package/public/chunk-3OGGH4IS.js +0 -1
  95. package/public/chunk-4KZOLBU6.js +0 -1
  96. package/public/chunk-54YQ4GYI.js +0 -40
  97. package/public/chunk-64N47XDK.js +0 -1
  98. package/public/chunk-65DLNKYC.js +0 -1
  99. package/public/chunk-6GMXEQVA.js +0 -2
  100. package/public/chunk-7CM2GH4C.js +0 -1
  101. package/public/chunk-A4CHQU3D.js +0 -1
  102. package/public/chunk-AE7VAWOU.js +0 -9
  103. package/public/chunk-B6BTFDRQ.js +0 -1
  104. package/public/chunk-D3JHDB7S.js +0 -1
  105. package/public/chunk-DOEOGSBK.js +0 -14
  106. package/public/chunk-DOUHWAMX.js +0 -1
  107. package/public/chunk-ET2JOBBZ.js +0 -20
  108. package/public/chunk-EY7GOTXO.js +0 -1
  109. package/public/chunk-F26AIEEZ.js +0 -1
  110. package/public/chunk-G7FA4DP4.js +0 -1
  111. package/public/chunk-GPAKN3YI.js +0 -1
  112. package/public/chunk-H36QJYLQ.js +0 -4
  113. package/public/chunk-HGA3V752.js +0 -3
  114. package/public/chunk-HHEVRKFK.js +0 -1
  115. package/public/chunk-HRWXFYIE.js +0 -2
  116. package/public/chunk-J5NDAVFE.js +0 -1
  117. package/public/chunk-J7XS3MTC.js +0 -1
  118. package/public/chunk-KWOZQQGF.js +0 -1
  119. package/public/chunk-LOR7R6R7.js +0 -1
  120. package/public/chunk-LPYZOQUG.js +0 -1
  121. package/public/chunk-N2ANXJ5U.js +0 -1
  122. package/public/chunk-NWJMSZSM.js +0 -49
  123. package/public/chunk-OVO5ZJNB.js +0 -1
  124. package/public/chunk-PQ27E4MI.js +0 -1
  125. package/public/chunk-PSQ7ES2C.js +0 -1
  126. package/public/chunk-T2CIQG5J.js +0 -1
  127. package/public/chunk-TFSSVDMB.js +0 -1
  128. package/public/chunk-TGOCI72Q.js +0 -1
  129. package/public/chunk-UG7X3SOK.js +0 -1
  130. package/public/chunk-UOLP7IQJ.js +0 -1
  131. package/public/chunk-VBTY5CSR.js +0 -1
  132. package/public/chunk-VKGJ42VH.js +0 -1
  133. package/public/chunk-X7M676S6.js +0 -1
  134. package/public/chunk-XM2R75VU.js +0 -1
  135. package/public/chunk-XWX4EOTE.js +0 -1
  136. package/public/chunk-YYVGNCER.js +0 -1
  137. package/public/chunk-ZZDKJB6X.js +0 -1
  138. package/public/main-YR7DITXZ.js +0 -1
  139. package/public/polyfills-WE4HA5DL.js +0 -2
  140. /package/public/assets/{monaco-0.52.2 → monaco}/LICENSE +0 -0
  141. /package/public/assets/{monaco-0.52.2 → monaco}/ThirdPartyNotices.txt +0 -0
  142. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  143. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/base/worker/workerMain.js +0 -0
  144. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/basic-languages/shell/shell.js +0 -0
  145. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/editor/editor.main.css +0 -0
  146. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/language/json/jsonMode.js +0 -0
  147. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/language/json/jsonWorker.js +0 -0
  148. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/loader.js +0 -0
@@ -1 +0,0 @@
1
- import{a as M}from"./chunk-FUCI6T5W.js";import"./chunk-AE7VAWOU.js";import{a as O}from"./chunk-V2P2FPJ7.js";import{a as _}from"./chunk-7OTNPUAL.js";import{n as z,t as D}from"./chunk-RYEUSRBX.js";import"./chunk-7BRVYYLY.js";import"./chunk-HHEVRKFK.js";import{b as H}from"./chunk-LPYZOQUG.js";import"./chunk-DOUHWAMX.js";import{k as F,n as V}from"./chunk-3OGGH4IS.js";import{a as E,b as A}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{$a as y,Hb as u,Ib as x,Jb as C,Jc as a,Kc as s,Ob as f,Pb as c,Qb as r,Rb as m,Uc as k,_b as T,ab as l,bc as p,dc as b,g as q,h as w,ka as i,kc as L,lc as S,mb as $,n as v,qa as d,qc as I,ra as g,rc as B}from"./chunk-H36QJYLQ.js";var N=q(O(),1);var Q=["logoutput"];function W(o,P){if(o&1){let t=T();c(0,"div",4)(1,"button",7),a(2,"translate"),a(3,"translate"),p("click",function(){d(t);let n=b();return g(n.downloadLogFile())}),m(4,"i",8),r(),c(5,"button",9),a(6,"translate"),a(7,"translate"),p("click",function(){d(t);let n=b();return g(n.truncateLogFile())}),m(8,"i",10),r()()}o&2&&(l(),f("openDelay",150)("ngbTooltip",s(2,6,"form.button_download")),u("aria-label",s(3,8,"form.button_download")),l(4),f("openDelay",150)("ngbTooltip",s(6,10,"form.button_delete")),u("aria-label",s(7,12,"form.button_delete")))}var it=(()=>{class o{$api=i(V);$auth=i(H);$log=i(M);$modal=i(z);$toastr=i(F);$translate=i(E);termTarget=k("logoutput");resizeEvent=new v;isAdmin=this.$auth.user.admin;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,N.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(h){console.error(h)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,Q,5),e&2&&S()},hostBindings:function(e,n){e&1&&p("resize",function(j){return n.onWindowResize(j)},y)},decls:9,vars:4,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"]],template:function(e,n){e&1&&(c(0,"div",1)(1,"div",2)(2,"h3",3),I(3),a(4,"translate"),r()(),x(5,W,9,14,"div",4),r(),c(6,"div",5),m(7,"div",6,0),r()),e&2&&(l(3),B(s(4,2,"menu.linux.label_logs")),l(2),C(n.isAdmin?5:-1))},dependencies:[D,A],encapsulation:2})}return o})();export{it as LogsComponent};
@@ -1 +0,0 @@
1
- import{b as _}from"./chunk-G7FA4DP4.js";import{Ec as x,Hb as s,Ib as b,Jb as f,Jc as i,Kc as n,Ob as h,Pb as t,Qb as a,Rb as p,ab as e,bc as g,id as S,mb as w,qc as r,rc as m,sc as l}from"./chunk-H36QJYLQ.js";var k=(o,v)=>({"fa-chevron-down":o,"fa-chevron-right":v});function E(o,v){o&1&&(t(0,"ul",6)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",12),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",14),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",15),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",16),i(43,"translate"),p(44,"i",13),a()()()),o&2&&(e(3),l(" ",n(4,12,"support.links.documentation")),e(4),m(n(8,14,"support.links.documentation_sub")),e(2),s("aria-label",n(10,16,"support.links.documentation")),e(5),l(" ",n(15,18,"support.links.issue")),e(4),m(n(19,20,"support.links.issue_sub")),e(2),s("aria-label",n(21,22,"support.links.issue")),e(5),l(" ",n(26,24,"support.links.discord")),e(4),m(n(30,26,"support.links.discord_sub")),e(2),s("aria-label",n(32,28,"support.links.discord")),e(5),l(" ",n(37,30,"support.links.reddit")),e(4),m(n(41,32,"support.links.reddit_sub")),e(2),s("aria-label",n(43,34,"support.links.reddit")))}function I(o,v){o&1&&(t(0,"ul",8)(1,"li",9)(2,"span",10),r(3),i(4,"translate"),p(5,"br"),t(6,"small",11),r(7),i(8,"translate"),a()(),t(9,"a",17),i(10,"translate"),p(11,"i",13),a()(),t(12,"li",9)(13,"span",10),r(14),i(15,"translate"),p(16,"br"),t(17,"small",11),r(18),i(19,"translate"),a()(),t(20,"a",18),i(21,"translate"),p(22,"i",13),a()(),t(23,"li",9)(24,"span",10),r(25),i(26,"translate"),p(27,"br"),t(28,"small",11),r(29),i(30,"translate"),a()(),t(31,"a",19),i(32,"translate"),p(33,"i",13),a()(),t(34,"li",9)(35,"span",10),r(36),i(37,"translate"),p(38,"br"),t(39,"small",11),r(40),i(41,"translate"),a()(),t(42,"a",20),i(43,"translate"),p(44,"i",13),a()(),t(45,"li",9)(46,"span",10),r(47),i(48,"translate"),p(49,"br"),t(50,"small",11),r(51),i(52,"translate"),a()(),t(53,"a",21),i(54,"translate"),p(55,"i",13),a()()()),o&2&&(e(3),l(" ",n(4,15,"support.dev.item_swagger")),e(4),l(" ",n(8,17,"support.dev.item_swagger_sub")," "),e(2),s("aria-label",n(10,19,"support.dev.item_swagger")),e(5),l(" ",n(15,21,"support.dev.api")),e(4),m(n(19,23,"support.dev.api_sub")),e(2),s("aria-label",n(21,25,"support.dev.api")),e(5),l(" ",n(26,27,"support.dev.api_hap")),e(4),m(n(30,29,"support.dev.api_hap_sub")),e(2),s("aria-label",n(32,31,"support.dev.api_hap")),e(5),l(" ",n(37,33,"support.dev.template")),e(4),l(" ",n(41,35,"support.dev.template_sub")," "),e(2),s("aria-label",n(43,37,"support.dev.template")),e(5),l(" ",n(48,39,"support.dev.verified")),e(4),m(n(52,41,"support.dev.verified_sub")),e(2),s("aria-label",n(54,43,"support.dev.verified")))}var T=(()=>{class o{showFields={general:!0,dev:!0};toggleSection(u){this.showFields[u]=!this.showFields[u]}static \u0275fac=function(c){return new(c||o)};static \u0275cmp=w({type:o,selectors:[["ng-component"]],decls:18,vars:23,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"mb-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],["id","fieldsDev",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"grey-text","pe-2"],["href","https://github.com/homebridge/homebridge/wiki","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],[1,"fas","fa-fw","fa-external-link-alt"],["href","https://github.com/homebridge/homebridge-config-ui-x/issues/new/choose","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://discord.gg/C87Pvq3","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://www.reddit.com/r/homebridge/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","/swagger","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/#/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://developers.homebridge.io/HAP-NodeJS/","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge-plugin-template","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"],["href","https://github.com/homebridge/homebridge/wiki/Verified-Plugins","target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","waves-effect","m-0",2,"min-width","50px"]],template:function(c,d){c&1&&(t(0,"div",0)(1,"h3",1),r(2),i(3,"translate"),a()(),t(4,"div",2)(5,"div",3),g("click",function(){return d.toggleSection("general")}),t(6,"h5",4),p(7,"i",5),r(8),i(9,"translate"),a()(),b(10,E,45,36,"ul",6),a(),t(11,"div",7)(12,"div",3),g("click",function(){return d.toggleSection("dev")}),t(13,"h5",4),p(14,"i",5),r(15),i(16,"translate"),a()(),b(17,I,56,45,"ul",8),a()),c&2&&(e(2),m(n(3,11,"support.title")),e(3),s("aria-expanded",d.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),h("ngClass",x(17,k,d.showFields.general,!d.showFields.general)),e(),l(" ",n(9,13,"support.links.title")," "),e(2),f(d.showFields.general?10:-1),e(2),s("aria-expanded",d.showFields.dev?"true":"false")("aria-controls","fieldsDev"),e(2),h("ngClass",x(20,k,d.showFields.dev,!d.showFields.dev)),e(),l(" ",n(16,15,"support.dev.title")," "),e(2),f(d.showFields.dev?17:-1))},dependencies:[S,_],encapsulation:2})}return o})();export{T as SupportComponent};
@@ -1,14 +0,0 @@
1
- import{m as Bt}from"./chunk-RYEUSRBX.js";import{d as hu}from"./chunk-UOLP7IQJ.js";import{k as Bu,n as yu}from"./chunk-3OGGH4IS.js";import{a as gu,b as ht}from"./chunk-G7FA4DP4.js";import{Hb as qe,Jc as Q,Kc as k,Lb as Fu,Mb as Eu,Nb as xu,Sb as H,Tb as X,Ub as Ve,ab as U,cc as ye,e as da,h as Au,ka as he,mb as gt,qc as ue,rc as Le,sc as Me,w as Cu}from"./chunk-H36QJYLQ.js";var eD=da((iu,fu)=>{(function(e,t){typeof iu=="object"&&typeof fu<"u"?fu.exports=t():typeof define=="function"&&define.amd?define(t):e.JSON5=t()})(iu,function(){"use strict";function e(r,a){return a={exports:{}},r(a,a.exports),a.exports}var t=e(function(r){var a=r.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=a)}),u=e(function(r){var a=r.exports={version:"2.6.5"};typeof __e=="number"&&(__e=a)}),o=u.version,f=function(r){return typeof r=="object"?r!==null:typeof r=="function"},i=function(r){if(!f(r))throw TypeError(r+" is not an object!");return r},D=function(r){try{return!!r()}catch{return!0}},l=!D(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),m=t.document,g=f(m)&&f(m.createElement),B=function(r){return g?m.createElement(r):{}},h=!l&&!D(function(){return Object.defineProperty(B("div"),"a",{get:function(){return 7}}).a!=7}),b=function(r,a){if(!f(r))return r;var p,s;if(a&&typeof(p=r.toString)=="function"&&!f(s=p.call(r))||typeof(p=r.valueOf)=="function"&&!f(s=p.call(r))||!a&&typeof(p=r.toString)=="function"&&!f(s=p.call(r)))return s;throw TypeError("Can't convert object to primitive value")},M=Object.defineProperty,I=l?Object.defineProperty:function(a,p,s){if(i(a),p=b(p,!0),i(s),h)try{return M(a,p,s)}catch{}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(a[p]=s.value),a},$={f:I},j=function(r,a){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:a}},T=l?function(r,a,p){return $.f(r,a,j(1,p))}:function(r,a,p){return r[a]=p,r},pe={}.hasOwnProperty,nt=function(r,a){return pe.call(r,a)},Ge=0,Ue=Math.random(),Ro=function(r){return"Symbol(".concat(r===void 0?"":r,")_",(++Ge+Ue).toString(36))},Go=!1,Uo=e(function(r){var a="__core-js_shared__",p=t[a]||(t[a]={});(r.exports=function(s,d){return p[s]||(p[s]=d!==void 0?d:{})})("versions",[]).push({version:u.version,mode:Go?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})}),Yt=Uo("native-function-to-string",Function.toString),Ho=e(function(r){var a=Ro("src"),p="toString",s=(""+Yt).split(p);u.inspectSource=function(d){return Yt.call(d)},(r.exports=function(d,F,x,J){var N=typeof x=="function";N&&(nt(x,"name")||T(x,"name",F)),d[F]!==x&&(N&&(nt(x,a)||T(x,a,d[F]?""+d[F]:s.join(String(F)))),d===t?d[F]=x:J?d[F]?d[F]=x:T(d,F,x):(delete d[F],T(d,F,x)))})(Function.prototype,p,function(){return typeof this=="function"&&this[a]||Yt.call(this)})}),$o=function(r){if(typeof r!="function")throw TypeError(r+" is not a function!");return r},su=function(r,a,p){if($o(r),a===void 0)return r;switch(p){case 1:return function(s){return r.call(a,s)};case 2:return function(s,d){return r.call(a,s,d)};case 3:return function(s,d,F){return r.call(a,s,d,F)}}return function(){return r.apply(a,arguments)}},Xt="prototype",z=function(r,a,p){var s=r&z.F,d=r&z.G,F=r&z.S,x=r&z.P,J=r&z.B,N=d?t:F?t[a]||(t[a]={}):(t[a]||{})[Xt],Ie=d?u:u[a]||(u[a]={}),He=Ie[Xt]||(Ie[Xt]={}),ae,ie,Y,$e;d&&(p=a);for(ae in p)ie=!s&&N&&N[ae]!==void 0,Y=(ie?N:p)[ae],$e=J&&ie?su(Y,t):x&&typeof Y=="function"?su(Function.call,Y):Y,N&&Ho(N,ae,Y,r&z.U),Ie[ae]!=Y&&T(Ie,ae,$e),x&&He[ae]!=Y&&(He[ae]=Y)};t.core=u,z.F=1,z.G=2,z.S=4,z.P=8,z.B=16,z.W=32,z.U=64,z.R=128;var it=z,qo=Math.ceil,Vo=Math.floor,Du=function(r){return isNaN(r=+r)?0:(r>0?Vo:qo)(r)},Wo=function(r){if(r==null)throw TypeError("Can't call method on "+r);return r},zo=function(r){return function(a,p){var s=String(Wo(a)),d=Du(p),F=s.length,x,J;return d<0||d>=F?r?"":void 0:(x=s.charCodeAt(d),x<55296||x>56319||d+1===F||(J=s.charCodeAt(d+1))<56320||J>57343?r?s.charAt(d):x:r?s.slice(d,d+2):(x-55296<<10)+(J-56320)+65536)}},Ko=zo(!1);it(it.P,"String",{codePointAt:function(a){return Ko(this,a)}});var tD=u.String.codePointAt,Jo=Math.max,Yo=Math.min,Xo=function(r,a){return r=Du(r),r<0?Jo(r+a,0):Yo(r,a)},pu=String.fromCharCode,lu=String.fromCodePoint;it(it.S+it.F*(!!lu&&lu.length!=1),"String",{fromCodePoint:function(a){for(var p=arguments,s=[],d=arguments.length,F=0,x;d>F;){if(x=+p[F++],Xo(x,1114111)!==x)throw RangeError(x+" is not a valid code point");s.push(x<65536?pu(x):pu(((x-=65536)>>10)+55296,x%1024+56320))}return s.join("")}});var uD=u.String.fromCodePoint,Zo=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Qo=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ko=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Zt={Space_Separator:Zo,ID_Start:Qo,ID_Continue:ko},O={isSpaceSeparator:function(a){return typeof a=="string"&&Zt.Space_Separator.test(a)},isIdStartChar:function(a){return typeof a=="string"&&(a>="a"&&a<="z"||a>="A"&&a<="Z"||a==="$"||a==="_"||Zt.ID_Start.test(a))},isIdContinueChar:function(a){return typeof a=="string"&&(a>="a"&&a<="z"||a>="A"&&a<="Z"||a>="0"&&a<="9"||a==="$"||a==="_"||a==="\u200C"||a==="\u200D"||Zt.ID_Continue.test(a))},isDigit:function(a){return typeof a=="string"&&/[0-9]/.test(a)},isHexDigit:function(a){return typeof a=="string"&&/[0-9A-Fa-f]/.test(a)}},Qt,K,le,At,ge,oe,R,kt,ft,ea=function(a,p){Qt=String(a),K="start",le=[],At=0,ge=1,oe=0,R=void 0,kt=void 0,ft=void 0;do R=ta(),oa[K]();while(R.type!=="eof");return typeof p=="function"?eu({"":ft},"",p):ft};function eu(r,a,p){var s=r[a];if(s!=null&&typeof s=="object")if(Array.isArray(s))for(var d=0;d<s.length;d++){var F=String(d),x=eu(s,F,p);x===void 0?delete s[F]:Object.defineProperty(s,F,{value:x,writable:!0,enumerable:!0,configurable:!0})}else for(var J in s){var N=eu(s,J,p);N===void 0?delete s[J]:Object.defineProperty(s,J,{value:N,writable:!0,enumerable:!0,configurable:!0})}return p.call(r,a,s)}var C,c,st,me,E;function ta(){for(C="default",c="",st=!1,me=1;;){E=de();var r=mu[C]();if(r)return r}}function de(){if(Qt[At])return String.fromCodePoint(Qt.codePointAt(At))}function n(){var r=de();return r===`
2
- `?(ge++,oe=0):r?oe+=r.length:oe++,r&&(At+=r.length),r}var mu={default:function(){switch(E){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":n();return;case"/":n(),C="comment";return;case void 0:return n(),_("eof")}if(O.isSpaceSeparator(E)){n();return}return mu[K]()},comment:function(){switch(E){case"*":n(),C="multiLineComment";return;case"/":n(),C="singleLineComment";return}throw S(n())},multiLineComment:function(){switch(E){case"*":n(),C="multiLineCommentAsterisk";return;case void 0:throw S(n())}n()},multiLineCommentAsterisk:function(){switch(E){case"*":n();return;case"/":n(),C="default";return;case void 0:throw S(n())}n(),C="multiLineComment"},singleLineComment:function(){switch(E){case`
4
- `:case"\r":case"\u2028":case"\u2029":n(),C="default";return;case void 0:return n(),_("eof")}n()},value:function(){switch(E){case"{":case"[":return _("punctuator",n());case"n":return n(),Oe("ull"),_("null",null);case"t":return n(),Oe("rue"),_("boolean",!0);case"f":return n(),Oe("alse"),_("boolean",!1);case"-":case"+":n()==="-"&&(me=-1),C="sign";return;case".":c=n(),C="decimalPointLeading";return;case"0":c=n(),C="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=n(),C="decimalInteger";return;case"I":return n(),Oe("nfinity"),_("numeric",1/0);case"N":return n(),Oe("aN"),_("numeric",NaN);case'"':case"'":st=n()==='"',c="",C="string";return}throw S(n())},identifierNameStartEscape:function(){if(E!=="u")throw S(n());n();var a=tu();switch(a){case"$":case"_":break;default:if(!O.isIdStartChar(a))throw du();break}c+=a,C="identifierName"},identifierName:function(){switch(E){case"$":case"_":case"\u200C":case"\u200D":c+=n();return;case"\\":n(),C="identifierNameEscape";return}if(O.isIdContinueChar(E)){c+=n();return}return _("identifier",c)},identifierNameEscape:function(){if(E!=="u")throw S(n());n();var a=tu();switch(a){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!O.isIdContinueChar(a))throw du();break}c+=a,C="identifierName"},sign:function(){switch(E){case".":c=n(),C="decimalPointLeading";return;case"0":c=n(),C="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=n(),C="decimalInteger";return;case"I":return n(),Oe("nfinity"),_("numeric",me*(1/0));case"N":return n(),Oe("aN"),_("numeric",NaN)}throw S(n())},zero:function(){switch(E){case".":c+=n(),C="decimalPoint";return;case"e":case"E":c+=n(),C="decimalExponent";return;case"x":case"X":c+=n(),C="hexadecimal";return}return _("numeric",me*0)},decimalInteger:function(){switch(E){case".":c+=n(),C="decimalPoint";return;case"e":case"E":c+=n(),C="decimalExponent";return}if(O.isDigit(E)){c+=n();return}return _("numeric",me*Number(c))},decimalPointLeading:function(){if(O.isDigit(E)){c+=n(),C="decimalFraction";return}throw S(n())},decimalPoint:function(){switch(E){case"e":case"E":c+=n(),C="decimalExponent";return}if(O.isDigit(E)){c+=n(),C="decimalFraction";return}return _("numeric",me*Number(c))},decimalFraction:function(){switch(E){case"e":case"E":c+=n(),C="decimalExponent";return}if(O.isDigit(E)){c+=n();return}return _("numeric",me*Number(c))},decimalExponent:function(){switch(E){case"+":case"-":c+=n(),C="decimalExponentSign";return}if(O.isDigit(E)){c+=n(),C="decimalExponentInteger";return}throw S(n())},decimalExponentSign:function(){if(O.isDigit(E)){c+=n(),C="decimalExponentInteger";return}throw S(n())},decimalExponentInteger:function(){if(O.isDigit(E)){c+=n();return}return _("numeric",me*Number(c))},hexadecimal:function(){if(O.isHexDigit(E)){c+=n(),C="hexadecimalInteger";return}throw S(n())},hexadecimalInteger:function(){if(O.isHexDigit(E)){c+=n();return}return _("numeric",me*Number(c))},string:function(){switch(E){case"\\":n(),c+=ua();return;case'"':if(st)return n(),_("string",c);c+=n();return;case"'":if(!st)return n(),_("string",c);c+=n();return;case`
5
- `:case"\r":throw S(n());case"\u2028":case"\u2029":aa(E);break;case void 0:throw S(n())}c+=n()},start:function(){switch(E){case"{":case"[":return _("punctuator",n())}C="value"},beforePropertyName:function(){switch(E){case"$":case"_":c=n(),C="identifierName";return;case"\\":n(),C="identifierNameStartEscape";return;case"}":return _("punctuator",n());case'"':case"'":st=n()==='"',C="string";return}if(O.isIdStartChar(E)){c+=n(),C="identifierName";return}throw S(n())},afterPropertyName:function(){if(E===":")return _("punctuator",n());throw S(n())},beforePropertyValue:function(){C="value"},afterPropertyValue:function(){switch(E){case",":case"}":return _("punctuator",n())}throw S(n())},beforeArrayValue:function(){if(E==="]")return _("punctuator",n());C="value"},afterArrayValue:function(){switch(E){case",":case"]":return _("punctuator",n())}throw S(n())},end:function(){throw S(n())}};function _(r,a){return{type:r,value:a,line:ge,column:oe}}function Oe(r){for(var a=0,p=r;a<p.length;a+=1){var s=p[a],d=de();if(d!==s)throw S(n());n()}}function ua(){var r=de();switch(r){case"b":return n(),"\b";case"f":return n(),"\f";case"n":return n(),`
6
- `;case"r":return n(),"\r";case"t":return n()," ";case"v":return n(),"\v";case"0":if(n(),O.isDigit(de()))throw S(n());return"\0";case"x":return n(),ra();case"u":return n(),tu();case`
7
- `:case"\u2028":case"\u2029":return n(),"";case"\r":return n(),de()===`
8
- `&&n(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw S(n());case void 0:throw S(n())}return n()}function ra(){var r="",a=de();if(!O.isHexDigit(a)||(r+=n(),a=de(),!O.isHexDigit(a)))throw S(n());return r+=n(),String.fromCodePoint(parseInt(r,16))}function tu(){for(var r="",a=4;a-- >0;){var p=de();if(!O.isHexDigit(p))throw S(n());r+=n()}return String.fromCodePoint(parseInt(r,16))}var oa={start:function(){if(R.type==="eof")throw Pe();uu()},beforePropertyName:function(){switch(R.type){case"identifier":case"string":kt=R.value,K="afterPropertyName";return;case"punctuator":Ct();return;case"eof":throw Pe()}},afterPropertyName:function(){if(R.type==="eof")throw Pe();K="beforePropertyValue"},beforePropertyValue:function(){if(R.type==="eof")throw Pe();uu()},beforeArrayValue:function(){if(R.type==="eof")throw Pe();if(R.type==="punctuator"&&R.value==="]"){Ct();return}uu()},afterPropertyValue:function(){if(R.type==="eof")throw Pe();switch(R.value){case",":K="beforePropertyName";return;case"}":Ct()}},afterArrayValue:function(){if(R.type==="eof")throw Pe();switch(R.value){case",":K="beforeArrayValue";return;case"]":Ct()}},end:function(){}};function uu(){var r;switch(R.type){case"punctuator":switch(R.value){case"{":r={};break;case"[":r=[];break}break;case"null":case"boolean":case"numeric":case"string":r=R.value;break}if(ft===void 0)ft=r;else{var a=le[le.length-1];Array.isArray(a)?a.push(r):Object.defineProperty(a,kt,{value:r,writable:!0,enumerable:!0,configurable:!0})}if(r!==null&&typeof r=="object")le.push(r),Array.isArray(r)?K="beforeArrayValue":K="beforePropertyName";else{var p=le[le.length-1];p==null?K="end":Array.isArray(p)?K="afterArrayValue":K="afterPropertyValue"}}function Ct(){le.pop();var r=le[le.length-1];r==null?K="end":Array.isArray(r)?K="afterArrayValue":K="afterPropertyValue"}function S(r){return Ft(r===void 0?"JSON5: invalid end of input at "+ge+":"+oe:"JSON5: invalid character '"+cu(r)+"' at "+ge+":"+oe)}function Pe(){return Ft("JSON5: invalid end of input at "+ge+":"+oe)}function du(){return oe-=5,Ft("JSON5: invalid identifier character at "+ge+":"+oe)}function aa(r){console.warn("JSON5: '"+cu(r)+"' in strings is not valid ECMAScript; consider escaping")}function cu(r){var a={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(a[r])return a[r];if(r<" "){var p=r.charCodeAt(0).toString(16);return"\\x"+("00"+p).substring(p.length)}return r}function Ft(r){var a=new SyntaxError(r);return a.lineNumber=ge,a.columnNumber=oe,a}var na=function(a,p,s){var d=[],F="",x,J,N="",Ie;if(p!=null&&typeof p=="object"&&!Array.isArray(p)&&(s=p.space,Ie=p.quote,p=p.replacer),typeof p=="function")J=p;else if(Array.isArray(p)){x=[];for(var He=0,ae=p;He<ae.length;He+=1){var ie=ae[He],Y=void 0;typeof ie=="string"?Y=ie:(typeof ie=="number"||ie instanceof String||ie instanceof Number)&&(Y=String(ie)),Y!==void 0&&x.indexOf(Y)<0&&x.push(Y)}}return s instanceof Number?s=Number(s):s instanceof String&&(s=String(s)),typeof s=="number"?s>0&&(s=Math.min(10,Math.floor(s)),N=" ".substr(0,s)):typeof s=="string"&&(N=s.substr(0,10)),$e("",{"":a});function $e(y,q){var A=q[y];switch(A!=null&&(typeof A.toJSON5=="function"?A=A.toJSON5(y):typeof A.toJSON=="function"&&(A=A.toJSON(y))),J&&(A=J.call(q,y,A)),A instanceof Number?A=Number(A):A instanceof String?A=String(A):A instanceof Boolean&&(A=A.valueOf()),A){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof A=="string")return Et(A,!1);if(typeof A=="number")return String(A);if(typeof A=="object")return Array.isArray(A)?la(A):Da(A)}function Et(y){for(var q={"'":.1,'"':.2},A={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},G="",ne=0;ne<y.length;ne++){var V=y[ne];switch(V){case"'":case'"':q[V]++,G+=V;continue;case"\0":if(O.isDigit(y[ne+1])){G+="\\x00";continue}}if(A[V]){G+=A[V];continue}if(V<" "){var je=V.charCodeAt(0).toString(16);G+="\\x"+("00"+je).substring(je.length);continue}G+=V}var ce=Ie||Object.keys(q).reduce(function(Be,Ne){return q[Be]<q[Ne]?Be:Ne});return G=G.replace(new RegExp(ce,"g"),A[ce]),ce+G+ce}function Da(y){if(d.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");d.push(y);var q=F;F=F+N;for(var A=x||Object.keys(y),G=[],ne=0,V=A;ne<V.length;ne+=1){var je=V[ne],ce=$e(je,y);if(ce!==void 0){var Be=pa(je)+":";N!==""&&(Be+=" "),Be+=ce,G.push(Be)}}var Ne;if(G.length===0)Ne="{}";else{var xt;if(N==="")xt=G.join(","),Ne="{"+xt+"}";else{var ma=`,
9
- `+F;xt=G.join(ma),Ne=`{
10
- `+F+xt+`,
11
- `+q+"}"}}return d.pop(),F=q,Ne}function pa(y){if(y.length===0)return Et(y,!0);var q=String.fromCodePoint(y.codePointAt(0));if(!O.isIdStartChar(q))return Et(y,!0);for(var A=q.length;A<y.length;A++)if(!O.isIdContinueChar(String.fromCodePoint(y.codePointAt(A))))return Et(y,!0);return y}function la(y){if(d.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");d.push(y);var q=F;F=F+N;for(var A=[],G=0;G<y.length;G++){var ne=$e(String(G),y);A.push(ne!==void 0?ne:"null")}var V;if(A.length===0)V="[]";else if(N===""){var je=A.join(",");V="["+je+"]"}else{var ce=`,
12
- `+F,Be=A.join(ce);V=`[
13
- `+F+Be+`,
14
- `+q+"]"}return d.pop(),F=q,V}},ia={parse:ea,stringify:na},fa=ia,sa=fa;return sa})});function ca(){this.__data__=[],this.size=0}var bu=ca;function Aa(e,t){return e===t||e!==e&&t!==t}var fe=Aa;function Ca(e,t){for(var u=e.length;u--;)if(fe(e[u][0],t))return u;return-1}var be=Ca;var Fa=Array.prototype,Ea=Fa.splice;function xa(e){var t=this.__data__,u=be(t,e);if(u<0)return!1;var o=t.length-1;return u==o?t.pop():Ea.call(t,u,1),--this.size,!0}var vu=xa;function ga(e){var t=this.__data__,u=be(t,e);return u<0?void 0:t[u][1]}var _u=ga;function Ba(e){return be(this.__data__,e)>-1}var Su=Ba;function ha(e,t){var u=this.__data__,o=be(u,e);return o<0?(++this.size,u.push([e,t])):u[o][1]=t,this}var wu=ha;function We(e){var t=-1,u=e==null?0:e.length;for(this.clear();++t<u;){var o=e[t];this.set(o[0],o[1])}}We.prototype.clear=bu;We.prototype.delete=vu;We.prototype.get=_u;We.prototype.has=Su;We.prototype.set=wu;var ve=We;function ya(){this.__data__=new ve,this.size=0}var Tu=ya;function ba(e){var t=this.__data__,u=t.delete(e);return this.size=t.size,u}var Ou=ba;function va(e){return this.__data__.get(e)}var Pu=va;function _a(e){return this.__data__.has(e)}var Iu=_a;var Sa=typeof global=="object"&&global&&global.Object===Object&&global,yt=Sa;var wa=typeof self=="object"&&self&&self.Object===Object&&self,Ta=yt||wa||Function("return this")(),P=Ta;var Oa=P.Symbol,Z=Oa;var ju=Object.prototype,Pa=ju.hasOwnProperty,Ia=ju.toString,Dt=Z?Z.toStringTag:void 0;function ja(e){var t=Pa.call(e,Dt),u=e[Dt];try{e[Dt]=void 0;var o=!0}catch{}var f=Ia.call(e);return o&&(t?e[Dt]=u:delete e[Dt]),f}var Nu=ja;var Na=Object.prototype,La=Na.toString;function Ma(e){return La.call(e)}var Lu=Ma;var Ra="[object Null]",Ga="[object Undefined]",Mu=Z?Z.toStringTag:void 0;function Ua(e){return e==null?e===void 0?Ga:Ra:Mu&&Mu in Object(e)?Nu(e):Lu(e)}var re=Ua;function Ha(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var W=Ha;var $a="[object AsyncFunction]",qa="[object Function]",Va="[object GeneratorFunction]",Wa="[object Proxy]";function za(e){if(!W(e))return!1;var t=re(e);return t==qa||t==Va||t==$a||t==Wa}var ze=za;var Ka=P["__core-js_shared__"],bt=Ka;var Ru=function(){var e=/[^.]+$/.exec(bt&&bt.keys&&bt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ja(e){return!!Ru&&Ru in e}var Gu=Ja;var Ya=Function.prototype,Xa=Ya.toString;function Za(e){if(e!=null){try{return Xa.call(e)}catch{}try{return e+""}catch{}}return""}var Ae=Za;var Qa=/[\\^$.*+?()[\]{}|]/g,ka=/^\[object .+?Constructor\]$/,en=Function.prototype,tn=Object.prototype,un=en.toString,rn=tn.hasOwnProperty,on=RegExp("^"+un.call(rn).replace(Qa,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function an(e){if(!W(e)||Gu(e))return!1;var t=ze(e)?on:ka;return t.test(Ae(e))}var Uu=an;function nn(e,t){return e?.[t]}var Hu=nn;function fn(e,t){var u=Hu(e,t);return Uu(u)?u:void 0}var ee=fn;var sn=ee(P,"Map"),_e=sn;var Dn=ee(Object,"create"),Ce=Dn;function pn(){this.__data__=Ce?Ce(null):{},this.size=0}var $u=pn;function ln(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var qu=ln;var mn="__lodash_hash_undefined__",dn=Object.prototype,cn=dn.hasOwnProperty;function An(e){var t=this.__data__;if(Ce){var u=t[e];return u===mn?void 0:u}return cn.call(t,e)?t[e]:void 0}var Vu=An;var Cn=Object.prototype,Fn=Cn.hasOwnProperty;function En(e){var t=this.__data__;return Ce?t[e]!==void 0:Fn.call(t,e)}var Wu=En;var xn="__lodash_hash_undefined__";function gn(e,t){var u=this.__data__;return this.size+=this.has(e)?0:1,u[e]=Ce&&t===void 0?xn:t,this}var zu=gn;function Ke(e){var t=-1,u=e==null?0:e.length;for(this.clear();++t<u;){var o=e[t];this.set(o[0],o[1])}}Ke.prototype.clear=$u;Ke.prototype.delete=qu;Ke.prototype.get=Vu;Ke.prototype.has=Wu;Ke.prototype.set=zu;var ru=Ke;function Bn(){this.size=0,this.__data__={hash:new ru,map:new(_e||ve),string:new ru}}var Ku=Bn;function hn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ju=hn;function yn(e,t){var u=e.__data__;return Ju(t)?u[typeof t=="string"?"string":"hash"]:u.map}var Se=yn;function bn(e){var t=Se(this,e).delete(e);return this.size-=t?1:0,t}var Yu=bn;function vn(e){return Se(this,e).get(e)}var Xu=vn;function _n(e){return Se(this,e).has(e)}var Zu=_n;function Sn(e,t){var u=Se(this,e),o=u.size;return u.set(e,t),this.size+=u.size==o?0:1,this}var Qu=Sn;function Je(e){var t=-1,u=e==null?0:e.length;for(this.clear();++t<u;){var o=e[t];this.set(o[0],o[1])}}Je.prototype.clear=Ku;Je.prototype.delete=Yu;Je.prototype.get=Xu;Je.prototype.has=Zu;Je.prototype.set=Qu;var vt=Je;var wn=200;function Tn(e,t){var u=this.__data__;if(u instanceof ve){var o=u.__data__;if(!_e||o.length<wn-1)return o.push([e,t]),this.size=++u.size,this;u=this.__data__=new vt(o)}return u.set(e,t),this.size=u.size,this}var ku=Tn;function Ye(e){var t=this.__data__=new ve(e);this.size=t.size}Ye.prototype.clear=Tu;Ye.prototype.delete=Ou;Ye.prototype.get=Pu;Ye.prototype.has=Iu;Ye.prototype.set=ku;var we=Ye;var On="__lodash_hash_undefined__";function Pn(e){return this.__data__.set(e,On),this}var er=Pn;function In(e){return this.__data__.has(e)}var tr=In;function _t(e){var t=-1,u=e==null?0:e.length;for(this.__data__=new vt;++t<u;)this.add(e[t])}_t.prototype.add=_t.prototype.push=er;_t.prototype.has=tr;var ur=_t;function jn(e,t){for(var u=-1,o=e==null?0:e.length;++u<o;)if(t(e[u],u,e))return!0;return!1}var rr=jn;function Nn(e,t){return e.has(t)}var or=Nn;var Ln=1,Mn=2;function Rn(e,t,u,o,f,i){var D=u&Ln,l=e.length,m=t.length;if(l!=m&&!(D&&m>l))return!1;var g=i.get(e),B=i.get(t);if(g&&B)return g==t&&B==e;var h=-1,b=!0,M=u&Mn?new ur:void 0;for(i.set(e,t),i.set(t,e);++h<l;){var I=e[h],$=t[h];if(o)var j=D?o($,I,h,t,e,i):o(I,$,h,e,t,i);if(j!==void 0){if(j)continue;b=!1;break}if(M){if(!rr(t,function(T,pe){if(!or(M,pe)&&(I===T||f(I,T,u,o,i)))return M.push(pe)})){b=!1;break}}else if(!(I===$||f(I,$,u,o,i))){b=!1;break}}return i.delete(e),i.delete(t),b}var St=Rn;var Gn=P.Uint8Array,Xe=Gn;function Un(e){var t=-1,u=Array(e.size);return e.forEach(function(o,f){u[++t]=[f,o]}),u}var ar=Un;function Hn(e){var t=-1,u=Array(e.size);return e.forEach(function(o){u[++t]=o}),u}var nr=Hn;var $n=1,qn=2,Vn="[object Boolean]",Wn="[object Date]",zn="[object Error]",Kn="[object Map]",Jn="[object Number]",Yn="[object RegExp]",Xn="[object Set]",Zn="[object String]",Qn="[object Symbol]",kn="[object ArrayBuffer]",ei="[object DataView]",ir=Z?Z.prototype:void 0,ou=ir?ir.valueOf:void 0;function ti(e,t,u,o,f,i,D){switch(u){case ei:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case kn:return!(e.byteLength!=t.byteLength||!i(new Xe(e),new Xe(t)));case Vn:case Wn:case Jn:return fe(+e,+t);case zn:return e.name==t.name&&e.message==t.message;case Yn:case Zn:return e==t+"";case Kn:var l=ar;case Xn:var m=o&$n;if(l||(l=nr),e.size!=t.size&&!m)return!1;var g=D.get(e);if(g)return g==t;o|=qn,D.set(e,t);var B=St(l(e),l(t),o,f,i,D);return D.delete(e),B;case Qn:if(ou)return ou.call(e)==ou.call(t)}return!1}var fr=ti;function ui(e,t){for(var u=-1,o=t.length,f=e.length;++u<o;)e[f+u]=t[u];return e}var wt=ui;var ri=Array.isArray,te=ri;function oi(e,t,u){var o=t(e);return te(e)?o:wt(o,u(e))}var Tt=oi;function ai(e,t){for(var u=-1,o=e==null?0:e.length,f=0,i=[];++u<o;){var D=e[u];t(D,u,e)&&(i[f++]=D)}return i}var sr=ai;function ni(){return[]}var Ot=ni;var ii=Object.prototype,fi=ii.propertyIsEnumerable,Dr=Object.getOwnPropertySymbols,si=Dr?function(e){return e==null?[]:(e=Object(e),sr(Dr(e),function(t){return fi.call(e,t)}))}:Ot,Ze=si;function Di(e,t){for(var u=-1,o=Array(e);++u<e;)o[u]=t(u);return o}var pr=Di;function pi(e){return e!=null&&typeof e=="object"}var L=pi;var li="[object Arguments]";function mi(e){return L(e)&&re(e)==li}var au=mi;var lr=Object.prototype,di=lr.hasOwnProperty,ci=lr.propertyIsEnumerable,Ai=au(function(){return arguments}())?au:function(e){return L(e)&&di.call(e,"callee")&&!ci.call(e,"callee")},pt=Ai;function Ci(){return!1}var mr=Ci;var Ar=typeof exports=="object"&&exports&&!exports.nodeType&&exports,dr=Ar&&typeof module=="object"&&module&&!module.nodeType&&module,Fi=dr&&dr.exports===Ar,cr=Fi?P.Buffer:void 0,Ei=cr?cr.isBuffer:void 0,xi=Ei||mr,Fe=xi;var gi=9007199254740991,Bi=/^(?:0|[1-9]\d*)$/;function hi(e,t){var u=typeof e;return t=t??gi,!!t&&(u=="number"||u!="symbol"&&Bi.test(e))&&e>-1&&e%1==0&&e<t}var Pt=hi;var yi=9007199254740991;function bi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=yi}var It=bi;var vi="[object Arguments]",_i="[object Array]",Si="[object Boolean]",wi="[object Date]",Ti="[object Error]",Oi="[object Function]",Pi="[object Map]",Ii="[object Number]",ji="[object Object]",Ni="[object RegExp]",Li="[object Set]",Mi="[object String]",Ri="[object WeakMap]",Gi="[object ArrayBuffer]",Ui="[object DataView]",Hi="[object Float32Array]",$i="[object Float64Array]",qi="[object Int8Array]",Vi="[object Int16Array]",Wi="[object Int32Array]",zi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Ji="[object Uint16Array]",Yi="[object Uint32Array]",w={};w[Hi]=w[$i]=w[qi]=w[Vi]=w[Wi]=w[zi]=w[Ki]=w[Ji]=w[Yi]=!0;w[vi]=w[_i]=w[Gi]=w[Si]=w[Ui]=w[wi]=w[Ti]=w[Oi]=w[Pi]=w[Ii]=w[ji]=w[Ni]=w[Li]=w[Mi]=w[Ri]=!1;function Xi(e){return L(e)&&It(e.length)&&!!w[re(e)]}var Cr=Xi;function Zi(e){return function(t){return e(t)}}var Qe=Zi;var Fr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,lt=Fr&&typeof module=="object"&&module&&!module.nodeType&&module,Qi=lt&&lt.exports===Fr,nu=Qi&&yt.process,ki=function(){try{var e=lt&&lt.require&&lt.require("util").types;return e||nu&&nu.binding&&nu.binding("util")}catch{}}(),Ee=ki;var Er=Ee&&Ee.isTypedArray,ef=Er?Qe(Er):Cr,ke=ef;var tf=Object.prototype,uf=tf.hasOwnProperty;function rf(e,t){var u=te(e),o=!u&&pt(e),f=!u&&!o&&Fe(e),i=!u&&!o&&!f&&ke(e),D=u||o||f||i,l=D?pr(e.length,String):[],m=l.length;for(var g in e)(t||uf.call(e,g))&&!(D&&(g=="length"||f&&(g=="offset"||g=="parent")||i&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||Pt(g,m)))&&l.push(g);return l}var jt=rf;var of=Object.prototype;function af(e){var t=e&&e.constructor,u=typeof t=="function"&&t.prototype||of;return e===u}var et=af;function nf(e,t){return function(u){return e(t(u))}}var Nt=nf;var ff=Nt(Object.keys,Object),xr=ff;var sf=Object.prototype,Df=sf.hasOwnProperty;function pf(e){if(!et(e))return xr(e);var t=[];for(var u in Object(e))Df.call(e,u)&&u!="constructor"&&t.push(u);return t}var gr=pf;function lf(e){return e!=null&&It(e.length)&&!ze(e)}var Te=lf;function mf(e){return Te(e)?jt(e):gr(e)}var tt=mf;function df(e){return Tt(e,tt,Ze)}var mt=df;var cf=1,Af=Object.prototype,Cf=Af.hasOwnProperty;function Ff(e,t,u,o,f,i){var D=u&cf,l=mt(e),m=l.length,g=mt(t),B=g.length;if(m!=B&&!D)return!1;for(var h=m;h--;){var b=l[h];if(!(D?b in t:Cf.call(t,b)))return!1}var M=i.get(e),I=i.get(t);if(M&&I)return M==t&&I==e;var $=!0;i.set(e,t),i.set(t,e);for(var j=D;++h<m;){b=l[h];var T=e[b],pe=t[b];if(o)var nt=D?o(pe,T,b,t,e,i):o(T,pe,b,e,t,i);if(!(nt===void 0?T===pe||f(T,pe,u,o,i):nt)){$=!1;break}j||(j=b=="constructor")}if($&&!j){var Ge=e.constructor,Ue=t.constructor;Ge!=Ue&&"constructor"in e&&"constructor"in t&&!(typeof Ge=="function"&&Ge instanceof Ge&&typeof Ue=="function"&&Ue instanceof Ue)&&($=!1)}return i.delete(e),i.delete(t),$}var Br=Ff;var Ef=ee(P,"DataView"),Lt=Ef;var xf=ee(P,"Promise"),Mt=xf;var gf=ee(P,"Set"),Rt=gf;var Bf=ee(P,"WeakMap"),Gt=Bf;var hr="[object Map]",hf="[object Object]",yr="[object Promise]",br="[object Set]",vr="[object WeakMap]",_r="[object DataView]",yf=Ae(Lt),bf=Ae(_e),vf=Ae(Mt),_f=Ae(Rt),Sf=Ae(Gt),Re=re;(Lt&&Re(new Lt(new ArrayBuffer(1)))!=_r||_e&&Re(new _e)!=hr||Mt&&Re(Mt.resolve())!=yr||Rt&&Re(new Rt)!=br||Gt&&Re(new Gt)!=vr)&&(Re=function(e){var t=re(e),u=t==hf?e.constructor:void 0,o=u?Ae(u):"";if(o)switch(o){case yf:return _r;case bf:return hr;case vf:return yr;case _f:return br;case Sf:return vr}return t});var xe=Re;var wf=1,Sr="[object Arguments]",wr="[object Array]",Ut="[object Object]",Tf=Object.prototype,Tr=Tf.hasOwnProperty;function Of(e,t,u,o,f,i){var D=te(e),l=te(t),m=D?wr:xe(e),g=l?wr:xe(t);m=m==Sr?Ut:m,g=g==Sr?Ut:g;var B=m==Ut,h=g==Ut,b=m==g;if(b&&Fe(e)){if(!Fe(t))return!1;D=!0,B=!1}if(b&&!B)return i||(i=new we),D||ke(e)?St(e,t,u,o,f,i):fr(e,t,m,u,o,f,i);if(!(u&wf)){var M=B&&Tr.call(e,"__wrapped__"),I=h&&Tr.call(t,"__wrapped__");if(M||I){var $=M?e.value():e,j=I?t.value():t;return i||(i=new we),f($,j,u,o,i)}}return b?(i||(i=new we),Br(e,t,u,o,f,i)):!1}var Or=Of;function Pr(e,t,u,o,f){return e===t?!0:e==null||t==null||!L(e)&&!L(t)?e!==e&&t!==t:Or(e,t,u,o,Pr,f)}var Ir=Pr;function Pf(e,t){return Ir(e,t)}var If=Pf;var jf="[object Symbol]";function Nf(e){return typeof e=="symbol"||L(e)&&re(e)==jf}var jr=Nf;function Lf(e,t){for(var u=-1,o=e==null?0:e.length,f=Array(o);++u<o;)f[u]=t(e[u],u,e);return f}var Nr=Lf;var Mf=1/0,Lr=Z?Z.prototype:void 0,Mr=Lr?Lr.toString:void 0;function Rr(e){if(typeof e=="string")return e;if(te(e))return Nr(e,Rr)+"";if(jr(e))return Mr?Mr.call(e):"";var t=e+"";return t=="0"&&1/e==-Mf?"-0":t}var Gr=Rr;function Rf(e){return e}var Ht=Rf;var Ur=Object.create,Gf=function(){function e(){}return function(t){if(!W(t))return{};if(Ur)return Ur(t);e.prototype=t;var u=new e;return e.prototype=void 0,u}}(),Hr=Gf;function Uf(e,t,u){switch(u.length){case 0:return e.call(t);case 1:return e.call(t,u[0]);case 2:return e.call(t,u[0],u[1]);case 3:return e.call(t,u[0],u[1],u[2])}return e.apply(t,u)}var $r=Uf;function Hf(e,t){var u=-1,o=e.length;for(t||(t=Array(o));++u<o;)t[u]=e[u];return t}var $t=Hf;var $f=800,qf=16,Vf=Date.now;function Wf(e){var t=0,u=0;return function(){var o=Vf(),f=qf-(o-u);if(u=o,f>0){if(++t>=$f)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var qr=Wf;function zf(e){return function(){return e}}var Vr=zf;var Kf=function(){try{var e=ee(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ut=Kf;var Jf=ut?function(e,t){return ut(e,"toString",{configurable:!0,enumerable:!1,value:Vr(t),writable:!0})}:Ht,Wr=Jf;var Yf=qr(Wr),zr=Yf;function Xf(e,t){for(var u=-1,o=e==null?0:e.length;++u<o&&t(e[u],u,e)!==!1;);return e}var Kr=Xf;function Zf(e,t,u){t=="__proto__"&&ut?ut(e,t,{configurable:!0,enumerable:!0,value:u,writable:!0}):e[t]=u}var rt=Zf;var Qf=Object.prototype,kf=Qf.hasOwnProperty;function e0(e,t,u){var o=e[t];(!(kf.call(e,t)&&fe(o,u))||u===void 0&&!(t in e))&&rt(e,t,u)}var qt=e0;function t0(e,t,u,o){var f=!u;u||(u={});for(var i=-1,D=t.length;++i<D;){var l=t[i],m=o?o(u[l],e[l],l,u,e):void 0;m===void 0&&(m=e[l]),f?rt(u,l,m):qt(u,l,m)}return u}var se=t0;var Jr=Math.max;function u0(e,t,u){return t=Jr(t===void 0?e.length-1:t,0),function(){for(var o=arguments,f=-1,i=Jr(o.length-t,0),D=Array(i);++f<i;)D[f]=o[t+f];f=-1;for(var l=Array(t+1);++f<t;)l[f]=o[f];return l[t]=u(D),$r(e,this,l)}}var Yr=u0;function r0(e,t){return zr(Yr(e,t,Ht),e+"")}var Xr=r0;function o0(e,t,u){if(!W(u))return!1;var o=typeof t;return(o=="number"?Te(u)&&Pt(t,u.length):o=="string"&&t in u)?fe(u[t],e):!1}var Zr=o0;function a0(e){return Xr(function(t,u){var o=-1,f=u.length,i=f>1?u[f-1]:void 0,D=f>2?u[2]:void 0;for(i=e.length>3&&typeof i=="function"?(f--,i):void 0,D&&Zr(u[0],u[1],D)&&(i=f<3?void 0:i,f=1),t=Object(t);++o<f;){var l=u[o];l&&e(t,l,o,i)}return t})}var Qr=a0;function n0(e){var t=[];if(e!=null)for(var u in Object(e))t.push(u);return t}var kr=n0;var i0=Object.prototype,f0=i0.hasOwnProperty;function s0(e){if(!W(e))return kr(e);var t=et(e),u=[];for(var o in e)o=="constructor"&&(t||!f0.call(e,o))||u.push(o);return u}var eo=s0;function D0(e){return Te(e)?jt(e,!0):eo(e)}var De=D0;function p0(e){return e==null?"":Gr(e)}var to=p0;var l0=Nt(Object.getPrototypeOf,Object),ot=l0;var m0="[object Object]",d0=Function.prototype,c0=Object.prototype,uo=d0.toString,A0=c0.hasOwnProperty,C0=uo.call(Object);function F0(e){if(!L(e)||re(e)!=m0)return!1;var t=ot(e);if(t===null)return!0;var u=A0.call(t,"constructor")&&t.constructor;return typeof u=="function"&&u instanceof u&&uo.call(u)==C0}var ro=F0;function E0(e,t){return e&&se(t,tt(t),e)}var oo=E0;function x0(e,t){return e&&se(t,De(t),e)}var ao=x0;var so=typeof exports=="object"&&exports&&!exports.nodeType&&exports,no=so&&typeof module=="object"&&module&&!module.nodeType&&module,g0=no&&no.exports===so,io=g0?P.Buffer:void 0,fo=io?io.allocUnsafe:void 0;function B0(e,t){if(t)return e.slice();var u=e.length,o=fo?fo(u):new e.constructor(u);return e.copy(o),o}var Vt=B0;function h0(e,t){return se(e,Ze(e),t)}var Do=h0;var y0=Object.getOwnPropertySymbols,b0=y0?function(e){for(var t=[];e;)wt(t,Ze(e)),e=ot(e);return t}:Ot,Wt=b0;function v0(e,t){return se(e,Wt(e),t)}var po=v0;function _0(e){return Tt(e,De,Wt)}var lo=_0;var S0=Object.prototype,w0=S0.hasOwnProperty;function T0(e){var t=e.length,u=new e.constructor(t);return t&&typeof e[0]=="string"&&w0.call(e,"index")&&(u.index=e.index,u.input=e.input),u}var mo=T0;function O0(e){var t=new e.constructor(e.byteLength);return new Xe(t).set(new Xe(e)),t}var at=O0;function P0(e,t){var u=t?at(e.buffer):e.buffer;return new e.constructor(u,e.byteOffset,e.byteLength)}var co=P0;var I0=/\w*$/;function j0(e){var t=new e.constructor(e.source,I0.exec(e));return t.lastIndex=e.lastIndex,t}var Ao=j0;var Co=Z?Z.prototype:void 0,Fo=Co?Co.valueOf:void 0;function N0(e){return Fo?Object(Fo.call(e)):{}}var Eo=N0;function L0(e,t){var u=t?at(e.buffer):e.buffer;return new e.constructor(u,e.byteOffset,e.length)}var zt=L0;var M0="[object Boolean]",R0="[object Date]",G0="[object Map]",U0="[object Number]",H0="[object RegExp]",$0="[object Set]",q0="[object String]",V0="[object Symbol]",W0="[object ArrayBuffer]",z0="[object DataView]",K0="[object Float32Array]",J0="[object Float64Array]",Y0="[object Int8Array]",X0="[object Int16Array]",Z0="[object Int32Array]",Q0="[object Uint8Array]",k0="[object Uint8ClampedArray]",es="[object Uint16Array]",ts="[object Uint32Array]";function us(e,t,u){var o=e.constructor;switch(t){case W0:return at(e);case M0:case R0:return new o(+e);case z0:return co(e,u);case K0:case J0:case Y0:case X0:case Z0:case Q0:case k0:case es:case ts:return zt(e,u);case G0:return new o;case U0:case q0:return new o(e);case H0:return Ao(e);case $0:return new o;case V0:return Eo(e)}}var xo=us;function rs(e){return typeof e.constructor=="function"&&!et(e)?Hr(ot(e)):{}}var Kt=rs;var os="[object Map]";function as(e){return L(e)&&xe(e)==os}var go=as;var Bo=Ee&&Ee.isMap,ns=Bo?Qe(Bo):go,ho=ns;var is="[object Set]";function fs(e){return L(e)&&xe(e)==is}var yo=fs;var bo=Ee&&Ee.isSet,ss=bo?Qe(bo):yo,vo=ss;var Ds=1,ps=2,ls=4,_o="[object Arguments]",ms="[object Array]",ds="[object Boolean]",cs="[object Date]",As="[object Error]",So="[object Function]",Cs="[object GeneratorFunction]",Fs="[object Map]",Es="[object Number]",wo="[object Object]",xs="[object RegExp]",gs="[object Set]",Bs="[object String]",hs="[object Symbol]",ys="[object WeakMap]",bs="[object ArrayBuffer]",vs="[object DataView]",_s="[object Float32Array]",Ss="[object Float64Array]",ws="[object Int8Array]",Ts="[object Int16Array]",Os="[object Int32Array]",Ps="[object Uint8Array]",Is="[object Uint8ClampedArray]",js="[object Uint16Array]",Ns="[object Uint32Array]",v={};v[_o]=v[ms]=v[bs]=v[vs]=v[ds]=v[cs]=v[_s]=v[Ss]=v[ws]=v[Ts]=v[Os]=v[Fs]=v[Es]=v[wo]=v[xs]=v[gs]=v[Bs]=v[hs]=v[Ps]=v[Is]=v[js]=v[Ns]=!0;v[As]=v[So]=v[ys]=!1;function Jt(e,t,u,o,f,i){var D,l=t&Ds,m=t&ps,g=t&ls;if(u&&(D=f?u(e,o,f,i):u(e)),D!==void 0)return D;if(!W(e))return e;var B=te(e);if(B){if(D=mo(e),!l)return $t(e,D)}else{var h=xe(e),b=h==So||h==Cs;if(Fe(e))return Vt(e,l);if(h==wo||h==_o||b&&!f){if(D=m||b?{}:Kt(e),!l)return m?po(e,ao(D,e)):Do(e,oo(D,e))}else{if(!v[h])return f?e:{};D=xo(e,h,l)}}i||(i=new we);var M=i.get(e);if(M)return M;i.set(e,D),vo(e)?e.forEach(function(j){D.add(Jt(j,t,u,j,e,i))}):ho(e)&&e.forEach(function(j,T){D.set(T,Jt(j,t,u,T,e,i))});var I=g?m?lo:mt:m?De:tt,$=B?void 0:I(e);return Kr($||e,function(j,T){$&&(T=j,j=e[T]),qt(D,T,Jt(j,t,u,T,e,i))}),D}var To=Jt;var Ls=1,Ms=4;function Rs(e){return To(e,Ls|Ms)}var Gs=Rs;function Us(e){return function(t,u,o){for(var f=-1,i=Object(t),D=o(t),l=D.length;l--;){var m=D[e?l:++f];if(u(i[m],m,i)===!1)break}return t}}var Oo=Us;var Hs=Oo(),Po=Hs;function $s(e,t,u){(u!==void 0&&!fe(e[t],u)||u===void 0&&!(t in e))&&rt(e,t,u)}var dt=$s;function qs(e){return L(e)&&Te(e)}var Io=qs;function Vs(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var ct=Vs;function Ws(e){return se(e,De(e))}var jo=Ws;function zs(e,t,u,o,f,i,D){var l=ct(e,u),m=ct(t,u),g=D.get(m);if(g){dt(e,u,g);return}var B=i?i(l,m,u+"",e,t,D):void 0,h=B===void 0;if(h){var b=te(m),M=!b&&Fe(m),I=!b&&!M&&ke(m);B=m,b||M||I?te(l)?B=l:Io(l)?B=$t(l):M?(h=!1,B=Vt(m,!0)):I?(h=!1,B=zt(m,!0)):B=[]:ro(m)||pt(m)?(B=l,pt(l)?B=jo(l):(!W(l)||ze(l))&&(B=Kt(m))):h=!1}h&&(D.set(m,B),f(B,m,o,i,D),D.delete(m)),dt(e,u,B)}var No=zs;function Lo(e,t,u,o,f){e!==t&&Po(t,function(i,D){if(f||(f=new we),W(i))No(e,t,D,u,Lo,o,f);else{var l=o?o(ct(e,D),i,D+"",e,t,f):void 0;l===void 0&&(l=i),dt(e,D,l)}},De)}var Mo=Lo;var Ks=Qr(function(e,t,u){Mo(e,t,u)}),Js=Ks;var Ys=0;function Xs(e){var t=++Ys;return to(e)+t}var Zs=Xs;function ks(e,t){if(e&1&&(H(0,"li"),ue(1),H(2,"span",14),ue(3),X(),ue(4,")"),X()),e&2){let u=t.$implicit;U(),Me("",u.name," ("),U(2),Le(u.username)}}var ZA=(()=>{class e{$activeModal=he(Bt);$api=he(yu);$toastr=he(Bu);$translate=he(gu);bridges=[];onRestartChildBridgeClick(){return Au(this,null,function*(){try{for(let u of this.bridges)yield Cu(this.$api.put(`/server/restart/${u.username}`,{}));this.$toastr.success(this.$translate.instant("plugins.manage.child_bridge_restart"),this.$translate.instant("toast.title_success"))}catch(u){console.error(u),this.$toastr.error(this.$translate.instant("plugins.manage.child_bridge_restart_failed"),this.$translate.instant("toast.title_error"))}finally{this.$activeModal.close()}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=gt({type:e,selectors:[["ng-component"]],inputs:{bridges:"bridges"},decls:27,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[1,"fas","fa-fw","fa-power-off","primary-text","mb-3",2,"font-size","75px"],[1,"w-100"],[1,"text-center"],[1,"d-inline-block","text-start","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],["type","button",1,"btn","btn-primary",3,"click"],[1,"font-monospace"]],template:function(o,f){o&1&&(H(0,"div",0)(1,"div",1)(2,"h5",2),ue(3),Q(4,"translate"),X(),H(5,"button",3),Q(6,"translate"),ye("click",function(){return f.dismissModal()}),X()(),H(7,"div",4),Ve(8,"i",5),H(9,"p",6),ue(10),Q(11,"translate"),X(),H(12,"div",7)(13,"ul",8),Eu(14,ks,5,2,"li",null,Fu),X()()(),H(16,"div",9)(17,"div",10)(18,"button",11),Q(19,"translate"),ye("click",function(){return f.dismissModal()}),ue(20),Q(21,"translate"),X()(),Ve(22,"div",7),H(23,"div",12)(24,"button",13),ye("click",function(){return f.onRestartChildBridgeClick()}),ue(25),Q(26,"translate"),X()()()()),o&2&&(U(3),Le(k(4,6,"platform.version.service_restart_required")),U(2),qe("aria-label",k(6,8,"form.button_close")),U(5),Le(k(11,10,"restart.child_bridge_list")),U(4),xu(f.bridges),U(4),qe("aria-label",k(19,12,"form.button_close")),U(2),Me(" ",k(21,14,"form.button_close")," "),U(5),Me(" ",k(26,16,"menu.tooltip_restart")," "))},dependencies:[ht],encapsulation:2})}return e})();var aC=(()=>{class e{$activeModal=he(Bt);$router=he(hu);onRestartHomebridgeClick(){this.$router.navigate(["/restart"]),this.$activeModal.close()}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=gt({type:e,selectors:[["ng-component"]],decls:23,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[1,"fas","fa-fw","fa-power-off","primary-text","mb-3",2,"font-size","75px"],[1,"mb-0"],[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",1,"btn","btn-primary",3,"click"]],template:function(o,f){o&1&&(H(0,"div",0)(1,"div",1)(2,"h5",2),ue(3),Q(4,"translate"),X(),H(5,"button",3),Q(6,"translate"),ye("click",function(){return f.dismissModal()}),X()(),H(7,"div",4),Ve(8,"i",5),H(9,"p",6),ue(10),Q(11,"translate"),X()(),H(12,"div",7)(13,"div",8)(14,"button",9),Q(15,"translate"),ye("click",function(){return f.dismissModal()}),ue(16),Q(17,"translate"),X()(),Ve(18,"div",10),H(19,"div",11)(20,"button",12),ye("click",function(){return f.onRestartHomebridgeClick()}),ue(21),Q(22,"translate"),X()()()()),o&2&&(U(3),Le(k(4,6,"platform.version.service_restart_required")),U(2),qe("aria-label",k(6,8,"form.button_close")),U(5),Le(k(11,10,"plugins.settings.restart_required")),U(4),qe("aria-label",k(15,12,"form.button_close")),U(2),Me(" ",k(17,14,"form.button_close")," "),U(5),Me(" ",k(22,16,"menu.tooltip_restart")," "))},dependencies:[ht],encapsulation:2})}return e})();export{Gs as a,If as b,Js as c,Zs as d,ZA as e,aC as f,eD as g};
@@ -1 +0,0 @@
1
- import{k as et,n as it}from"./chunk-3OGGH4IS.js";import{a as tt}from"./chunk-G7FA4DP4.js";import{l as X}from"./chunk-6GMXEQVA.js";import{T as G,e as ut,fa as R,g as ct,h as P,ka as Y,n as Q,w as N}from"./chunk-H36QJYLQ.js";var st=ut((J,K)=>{(function(w,D){typeof J=="object"&&typeof K<"u"?K.exports=D():typeof define=="function"&&define.amd?define(D):(w=typeof globalThis<"u"?globalThis:w||self).dayjs=D()})(J,function(){"use strict";var w=1e3,D=6e4,n=36e5,h="millisecond",d="second",m="minute",M="hour",y="day",f="week",b="month",B="quarter",S="year",x="date",E="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,rt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ot={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},F=function(r,i,t){var s=String(r);return!s||s.length>=i?r:""+Array(i+1-s.length).join(t)+r},at={s:F,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),s=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+F(s,2,"0")+":"+F(e,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var s=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(s,b),o=t-e<0,a=i.clone().add(s+(o?-1:1),b);return+(-(s+(t-e)/(o?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:b,y:S,w:f,d:y,D:x,h:M,m,s:d,ms:h,Q:B}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},A="en",T={};T[A]=ot;var Z="$isDayjsObject",U=function(r){return r instanceof V||!(!r||!r[Z])},C=function r(i,t,s){var e;if(!i)return A;if(typeof i=="string"){var o=i.toLowerCase();T[o]&&(e=o),t&&(T[o]=t,e=o);var a=i.split("-");if(!e&&a.length>1)return r(a[0])}else{var c=i.name;T[c]=i,e=c}return!s&&e&&(A=e),e||!s&&A},g=function(r,i){if(U(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new V(t)},u=at;u.l=C,u.i=U,u.w=function(r,i){return g(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var V=function(){function r(t){this.$L=C(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[Z]=!0}var i=r.prototype;return i.parse=function(t){this.$d=function(s){var e=s.date,o=s.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(nt);if(a){var c=a[2]-1||0,l=(a[7]||"0").substring(0,3);return o?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)}}return new Date(e)}(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==E},i.isSame=function(t,s){var e=g(t);return this.startOf(s)<=e&&e<=this.endOf(s)},i.isAfter=function(t,s){return g(t)<this.startOf(s)},i.isBefore=function(t,s){return this.endOf(s)<g(t)},i.$g=function(t,s,e){return u.u(t)?this[s]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,s){var e=this,o=!!u.u(s)||s,a=u.p(t),c=function(_,v){var k=u.w(e.$u?Date.UTC(e.$y,v,_):new Date(e.$y,v,_),e);return o?k:k.endOf(y)},l=function(_,v){return u.w(e.toDate()[_].apply(e.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(v)),e)},$=this.$W,p=this.$M,L=this.$D,j="set"+(this.$u?"UTC":"");switch(a){case S:return o?c(1,0):c(31,11);case b:return o?c(1,p):c(0,p+1);case f:var O=this.$locale().weekStart||0,H=($<O?$+7:$)-O;return c(o?L-H:L+(6-H),p);case y:case x:return l(j+"Hours",0);case M:return l(j+"Minutes",1);case m:return l(j+"Seconds",2);case d:return l(j+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,s){var e,o=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[x]=a+"Date",e[b]=a+"Month",e[S]=a+"FullYear",e[M]=a+"Hours",e[m]=a+"Minutes",e[d]=a+"Seconds",e[h]=a+"Milliseconds",e)[o],l=o===y?this.$D+(s-this.$W):s;if(o===b||o===S){var $=this.clone().set(x,1);$.$d[c](l),$.init(),this.$d=$.set(x,Math.min(this.$D,$.daysInMonth())).$d}else c&&this.$d[c](l);return this.init(),this},i.set=function(t,s){return this.clone().$set(t,s)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,s){var e,o=this;t=Number(t);var a=u.p(s),c=function(p){var L=g(o);return u.w(L.date(L.date()+Math.round(p*t)),o)};if(a===b)return this.set(b,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===y)return c(1);if(a===f)return c(7);var l=(e={},e[m]=D,e[M]=n,e[d]=w,e)[a]||1,$=this.$d.getTime()+t*l;return u.w($,this)},i.subtract=function(t,s){return this.add(-1*t,s)},i.format=function(t){var s=this,e=this.$locale();if(!this.isValid())return e.invalidDate||E;var o=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,l=this.$m,$=this.$M,p=e.weekdays,L=e.months,j=e.meridiem,O=function(v,k,I,W){return v&&(v[k]||v(s,o))||I[k].slice(0,W)},H=function(v){return u.s(c%12||12,v,"0")},_=j||function(v,k,I){var W=v<12?"AM":"PM";return I?W.toLowerCase():W};return o.replace(rt,function(v,k){return k||function(I){switch(I){case"YY":return String(s.$y).slice(-2);case"YYYY":return u.s(s.$y,4,"0");case"M":return $+1;case"MM":return u.s($+1,2,"0");case"MMM":return O(e.monthsShort,$,L,3);case"MMMM":return O(L,$);case"D":return s.$D;case"DD":return u.s(s.$D,2,"0");case"d":return String(s.$W);case"dd":return O(e.weekdaysMin,s.$W,p,2);case"ddd":return O(e.weekdaysShort,s.$W,p,3);case"dddd":return p[s.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return H(1);case"hh":return H(2);case"a":return _(c,l,!0);case"A":return _(c,l,!1);case"m":return String(l);case"mm":return u.s(l,2,"0");case"s":return String(s.$s);case"ss":return u.s(s.$s,2,"0");case"SSS":return u.s(s.$ms,3,"0");case"Z":return a}return null}(v)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,s,e){var o,a=this,c=u.p(s),l=g(t),$=(l.utcOffset()-this.utcOffset())*D,p=this-l,L=function(){return u.m(a,l)};switch(c){case S:o=L()/12;break;case b:o=L();break;case B:o=L()/3;break;case f:o=(p-$)/6048e5;break;case y:o=(p-$)/864e5;break;case M:o=p/n;break;case m:o=p/D;break;case d:o=p/w;break;default:o=p}return e?o:u.a(o)},i.daysInMonth=function(){return this.endOf(b).$D},i.$locale=function(){return T[this.$L]},i.locale=function(t,s){if(!t)return this.$L;var e=this.clone(),o=C(t,s,!0);return o&&(e.$L=o),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r}(),z=V.prototype;return g.prototype=z,[["$ms",h],["$s",d],["$m",m],["$H",M],["$W",y],["$M",b],["$y",S],["$D",x]].forEach(function(r){z[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),g.extend=function(r,i){return r.$i||(r(i,V,g),r.$i=!0),g},g.locale=C,g.isDayjs=U,g.unix=function(r){return g(1e3*r)},g.en=T[A],g.Ls=T,g.p={},g})});var q=ct(st(),1);var vt=(()=>{class w{$api=Y(it);$title=Y(X);$toastr=Y(et);$translate=Y(tt);settingsLoadedSubject=new Q;defaultTheme="deep-purple";forbiddenKeys=["__proto__","constructor","prototype"];env={};formAuth=!0;sessionTimeout=28800;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;keepOrphans;wallpaper;serverTimeOffset=0;rtl=!1;browserLang;onSettingsLoaded=this.settingsLoadedSubject.pipe(G());settingsLoaded=!1;themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];constructor(){this.getAppSettings()}getAppSettings(){return P(this,null,function*(){let n=yield N(this.$api.get("/auth/settings"));this.formAuth=n.formAuth,this.sessionTimeout=n.sessionTimeout,this.env=n.env,this.lightingMode=n.lightingMode,this.wallpaper=n.wallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(n.theme),this.setMenuMode(n.menuMode),this.setKeepOrphans(n.keepOrphans),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(n.serverTimestamp),this.setUiVersion(n.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0),this.browserLang=this.$translate.getBrowserCultureLang()})}setBrowserLightingMode(n){this.browserLightingMode=n,this.lightingMode==="auto"&&this.setLightingMode(n,"browser")}setLightingMode(n,h){h==="user"&&(this.lightingMode=n),this.currentLightingMode=n,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(n){(!n||!this.themeList.includes(n))&&(n=this.defaultTheme,N(this.$api.put("/config-editor/ui",{key:"theme",value:n})).catch(m=>console.error("Error saving setTheme:",m)));let h=window.document.querySelector("body");h.classList.remove(`config-ui-x-${this.theme}`),h.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=n,this.actualLightingMode==="dark"?(h.classList.add(`config-ui-x-dark-mode-${this.theme}`),h.classList.contains("dark-mode")||h.classList.add("dark-mode")):(h.classList.add(`config-ui-x-${this.theme}`),h.classList.contains("dark-mode")&&h.classList.remove("dark-mode")),window.document.querySelectorAll("iframe").forEach((m,M)=>{try{let y=m.contentDocument;if(y){let f=y.body;this.actualLightingMode==="dark"?(f.classList.contains(`config-ui-x-${this.theme}`)&&f.classList.remove(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)||f.classList.add(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")||f.classList.add("dark-mode"),f.style.backgroundColor="#242424 !important",f.style.color="#ffffff !important"):(f.classList.contains(`config-ui-x-${this.theme}`)||f.classList.add(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)&&f.classList.remove(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")&&f.classList.remove("dark-mode"),f.style.backgroundColor="#ffffff !important",f.style.color="#000000 !important"),m.contentWindow.postMessage({type:"theme-update",isDark:this.actualLightingMode==="dark",theme:n},window.location.origin)}}catch(y){console.warn(`Iframe ${M}: Access denied (cross-origin?)`,{error:y,src:m.src})}})}setMenuMode(n){this.menuMode=n}setKeepOrphans(n){this.keepOrphans=n}setLang(n){n?this.$translate.use(n):n="auto",this.env.lang=n}setItem(n,h){this[n]=h}setEnvItem(n,h){if(n.includes(".")){let d=n.split("."),m=this.env;for(let M=0;M<d.length-1;M++){if(this.forbiddenKeys.includes(d[M]))return;m[d[M]]||(m[d[M]]={}),m=m[d[M]]}this.forbiddenKeys.includes(d[d.length-1])||(m[d[d.length-1]]=h)}else this.env[n]=h}checkServerTime(n){let d=(0,q.default)(n).diff((0,q.default)(),"hour");this.serverTimeOffset=d*60*60,(d>=8||d<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}setUiVersion(n){this.uiVersion||(this.uiVersion=n)}setTitle(n){this.$title.setTitle(n||"Homebridge")}static \u0275fac=function(h){return new(h||w)};static \u0275prov=R({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();export{st as a,vt as b};
@@ -1,20 +0,0 @@
1
- import{a as xe}from"./chunk-5TCYRJ6A.js";import{b as B,e as Ce,f as ve,g as Pe}from"./chunk-DOEOGSBK.js";import{a as he,b as be}from"./chunk-BSUFNH7A.js";import{a as we}from"./chunk-77JZBWAC.js";import{a as je}from"./chunk-V2P2FPJ7.js";import{m as ge,n as ue,t as D}from"./chunk-RYEUSRBX.js";import{B as fe,C as pe,c as de,e as ce,l as me}from"./chunk-7BRVYYLY.js";import{b as _e,d as I}from"./chunk-UOLP7IQJ.js";import{b as ye}from"./chunk-DOUHWAMX.js";import{k as P,n as O}from"./chunk-3OGGH4IS.js";import{a as R,b as j}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Ec as U,Hb as w,Ib as v,Jb as x,Jc as s,Kc as l,Lb as ee,Lc as z,Mb as te,Nb as ie,Ob as g,Pb as a,Qb as d,Rb as f,_b as S,a as Y,ab as r,b as G,bc as b,d as Q,dc as m,fb as Z,g as X,h as C,id as ae,ka as p,mb as A,oc as oe,pd as le,qa as u,qc as _,ra as h,rc as k,sc as T,w as $,xc as ne,yc as re,zc as se}from"./chunk-H36QJYLQ.js";var $e=X(Pe(),1);var Ee=X(je(),1);var Se=(n,y)=>({"fa-trash":n,"fa-cog fa-spin":y});function Oe(n,y){n&1&&(a(0,"div",13),f(1,"i",20),d())}function He(n,y){if(n&1){let e=S();a(0,"li",9)(1,"span"),_(2),s(3,"date"),f(4,"br"),a(5,"span",21),_(6),s(7,"date"),d()(),a(8,"span",22)(9,"button",25),s(10,"translate"),s(11,"translate"),b("click",function(){let i=u(e).$implicit,o=m(2);return h(o.restore(i.id))}),f(12,"i",26),d(),a(13,"button",27),s(14,"translate"),s(15,"translate"),b("click",function(){let i=u(e).$implicit,o=m(2);return h(o.download(i.id))}),f(16,"i",28),d(),a(17,"button",23),s(18,"translate"),s(19,"translate"),b("click",function(){let i=u(e).$implicit,o=m(2);return h(o.delete(i.id))}),f(20,"i",24),d()()()}if(n&2){let e=y.$implicit,t=m(2);r(2),T(" ",z(3,15,e.timestamp,"mediumDate")),r(4),k(z(7,18,e.timestamp,"shortTime")),r(3),g("disabled",t.clicked||t.deleting)("ngbTooltip",l(10,21,"config.restore.copy_to_editor"))("openDelay",150),w("aria-label",l(11,23,"config.restore.copy_to_editor")),r(4),g("disabled",t.clicked||t.deleting)("ngbTooltip",l(14,25,"form.button_download"))("openDelay",150),w("aria-label",l(15,27,"form.button_download")),r(4),g("disabled",t.clicked||t.deleting)("ngbTooltip",l(18,29,"form.button_delete"))("openDelay",150),w("aria-label",l(19,31,"form.button_delete")),r(3),g("ngClass",U(33,Se,e.id!==t.deleting,e.id===t.deleting))}}function Ne(n,y){if(n&1){let e=S();a(0,"ul",14),te(1,He,21,36,"li",9,ee),a(3,"li",9)(4,"span"),_(5),s(6,"translate"),f(7,"br"),a(8,"span",21),_(9),s(10,"translate"),d()(),a(11,"span",22)(12,"button",23),s(13,"translate"),s(14,"translate"),b("click",function(){u(e);let i=m();return h(i.deleteAllBackups())}),f(15,"i",24),d()()()()}if(n&2){let e=m();r(),ie(e.backupList),r(4),T(" ",l(6,7,"form.button_delete_all")),r(4),T(" ",l(10,9,"common.labels.no_confirmation")," "),r(3),g("disabled",e.clicked||e.deleting)("ngbTooltip",l(13,11,"form.button_delete_all"))("openDelay",150),w("aria-label",l(14,13,"form.button_delete")),r(3),g("ngClass",U(15,Se,e.deleting!=="all",e.deleting==="all"))}}var ke=(()=>{class n{$activeModal=p(ge);$api=p(O);$router=p(I);$toastr=p(P);$translate=p(R);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return C(this,null,function*(){try{let e=yield $(this.$api.get("/config-editor/backups"));this.loading=!1,this.backupList=e}catch(e){this.loading=!1,console.error(e),this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),this.dismissModal()}})}restore(e){return this.$activeModal.close(e)}download(e){return C(this,null,function*(){this.clicked=!0;try{let t=yield $(this.$api.get(`/config-editor/backups/${e}`)),i=JSON.stringify(t,null,4),o=new Blob([i],{type:"application/json"}),E=`config-backup-${e}.json`;(0,Ee.saveAs)(o,E),this.clicked=!1}catch(t){this.clicked=!1,this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t)}})}downloadCurrentConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.currentConfig)}`,t=document.createElement("a");t.setAttribute("href",e),t.setAttribute("download","config.json"),document.body.appendChild(t),t.click(),t.remove()}delete(e){return C(this,null,function*(){this.deleting=e;try{yield $(this.$api.delete(`/config-editor/backups/${e}`)),yield this.getConfigBackups(),this.deleting=null}catch(t){this.deleting=null,this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t)}})}deleteAllBackups(){return C(this,null,function*(){this.deleting="all";try{yield $(this.$api.delete("/config-editor/backups")),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success")),this.backupList=[],this.deleting=null}catch(e){this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e),this.deleting=null}})}dismissModal(){this.fromSettings&&this.$router.navigate(["/settings"]),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["ng-component"]],inputs:{currentConfig:"currentConfig",fromSettings:"fromSettings"},decls:40,vars:31,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-history","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[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","fa-arrow-right"],[1,"text-center","primary-text"],[1,"list-group","list-group-box","mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"fa","fa-fw","fa-cog","fa-spin","mt-3",2,"font-size","75px"],[1,"grey-text","small"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-fw",3,"ngClass"],["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"]],template:function(t,i){t&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),_(3),s(4,"translate"),d(),a(5,"button",3),s(6,"translate"),b("click",function(){return i.dismissModal()}),d()(),a(7,"div",4)(8,"div",5),f(9,"i",6),d(),a(10,"ul",7)(11,"li"),_(12),s(13,"translate"),d(),a(14,"li"),_(15),s(16,"translate"),d()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),_(21),s(22,"translate"),d(),f(23,"br"),a(24,"small",10),_(25),s(26,"translate"),d()(),a(27,"button",11),s(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),f(29,"i",12),d()()(),v(30,Oe,2,0,"div",13)(31,Ne,16,18,"ul",14),d(),a(32,"div",15),f(33,"div",16),a(34,"div",17)(35,"button",18),s(36,"translate"),b("click",function(){return i.dismissModal()}),_(37),s(38,"translate"),d()(),f(39,"div",19),d()()),t&2&&(r(3),k(l(4,13,"config.restore.title")),r(2),g("disabled",i.clicked||i.deleting),w("aria-label",l(6,15,"form.button_close")),r(7),k(l(13,17,"config.restore.help_1")),r(3),k(l(16,19,"config.restore.help_2")),r(6),k(l(22,21,"form.button_download")),r(4),k(l(26,23,"config.restore.download")),r(2),g("disabled",i.clicked||i.deleting),w("aria-label",l(28,25,"backup.backup_now")),r(3),x(i.loading?30:i.backupList.length?31:-1),r(5),g("disabled",i.clicked||i.deleting),w("aria-label",l(36,27,"form.button_close")),r(2),T(" ",l(38,29,"form.button_close")," "))},dependencies:[D,ae,pe,le,j],encapsulation:2})}return n})();function qe(n,y){if(n&1){let e=S();a(0,"button",13),s(1,"translate"),s(2,"translate"),b("click",function(){u(e);let i=m();return h(i.onCancelRestore())}),f(3,"i",14),d()}if(n&2){let e=m();g("disabled",e.saveInProgress)("openDelay",150)("ngbTooltip",l(1,4,"form.button_cancel")),w("aria-label",l(2,6,"form.button_cancel"))}}function Fe(n,y){if(n&1){let e=S();a(0,"button",15),s(1,"translate"),s(2,"translate"),b("click",function(){u(e);let i=m();return h(i.onRestore())}),f(3,"i",16),d()}n&2&&(g("openDelay",150)("ngbTooltip",l(1,3,"form.button_restore")),w("aria-label",l(2,5,"form.button_restore")))}function Je(n,y){if(n&1){let e=S();a(0,"button",15),s(1,"translate"),s(2,"translate"),b("click",function(){u(e);let i=m();return h(i.toggleSideBySide())}),f(3,"i",17),d()}if(n&2){let e=m();g("openDelay",150)("ngbTooltip",l(1,7,e.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),w("aria-label",l(2,9,e.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),r(3),oe("fa-columns",!e.renderSideBySide)("fa-bars",e.renderSideBySide)}}function Le(n,y){n&1&&f(0,"i",8)}function Ue(n,y){n&1&&f(0,"i",9)}function ze(n,y){if(n&1){let e=S();a(0,"ngx-monaco-editor",18),b("onInit",function(i){u(e);let o=m();return h(o.onEditorInit(i))})("keydown.control.s",function(i){u(e);let o=m();return i.preventDefault(),h(o.onSave())})("keydown.meta.s",function(i){u(e);let o=m();return i.preventDefault(),h(o.onSave())}),d()}if(n&2){let e=m();g("options",e.editorOptions)("model",e.monacoEditorModel)}}function Ke(n,y){if(n&1){let e=S();a(0,"ngx-monaco-diff-editor",19),b("onInit",function(i){u(e);let o=m();return h(o.onInitDiffEditor(i))})("keydown.control.s",function(i){u(e);let o=m();return i.preventDefault(),h(o.onSave())})("keydown.meta.s",function(i){u(e);let o=m();return i.preventDefault(),h(o.onSave())}),d()}if(n&2){let e=m();g("options",e.editorOptions)("originalModel",e.diffOriginalModel)("modifiedModel",e.diffModifiedModel)}}function We(n,y){if(n&1){let e=S();a(0,"textarea",20),se("ngModelChange",function(i){u(e);let o=m();return re(o.homebridgeConfig,i)||(o.homebridgeConfig=i),h(i)}),_(1," "),d()}if(n&2){let e=m();ne("ngModel",e.homebridgeConfig)}}var $t=(()=>{class n{$api=p(O);$md=p(we);$modal=p(ue);$monacoEditor=p(xe);$route=p(_e);$renderer=p(Z);$router=p(I);$settings=p(ye);$toastr=p(P);$translate=p(R);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;diffOriginalModel;diffModifiedModel;renderSideBySide=!1;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",renderSideBySide:this.renderSideBySide,renderIndicators:!0,ignoreTrimWhitespace:!1,glyphMargin:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config,this.latestSavedConfig=JSON.parse(i.config),this.diffModifiedModel&&this.updateDiffModels()}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},this.diffOriginalModel={code:"",language:"json"},this.diffModifiedModel={code:this.homebridgeConfig||"{}",language:"json"},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>this.setMonacoEditorModel()});let{action:t}=this.$router.parseUrl(this.$router.url).queryParams;if(t){switch(t){case"restore":{this.onRestore(!0);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.getModifiedEditor(),this.updateDiffModels(),window.editor=e}updateDiffModels(){if(this.diffOriginalModel&&(this.diffOriginalModel.code=this.originalConfig||""),this.diffModifiedModel&&(this.diffModifiedModel.code=this.homebridgeConfig||"{}"),window.editor&&window.editor.getOriginalEditor){let e=window.editor.getOriginalEditor(),t=window.editor.getModifiedEditor();if(e&&t){let i=e.getModel(),o=t.getModel();i&&i.setValue(this.originalConfig||""),o&&o.setValue(this.homebridgeConfig||"{}")}}}onSave(){return C(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let t=window.monaco.editor.getModelMarkers({owner:"json"});for(let i of t)if(i.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}onRestore(e=!1){let t=this.$modal.open(ke,{size:"lg",backdrop:"static"});t.componentInstance.currentConfig=this.homebridgeConfig,t.componentInstance.fromSettings=e,t.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig,this.updateDiffModels()),this.$api.get(`/config-editor/backups/${i}`).subscribe({next:o=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(o,null,4),this.updateDiffModels(),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:o=>{console.error(o),this.$toastr.error(o.error?.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onCancelRestore(){if(window.editor&&window.editor.dispose)try{window.editor.dispose(),window.editor=void 0}catch{}this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.renderSideBySide&&this.toggleSideBySide(),this.updateDiffModels(),this.onRestore()}toggleSideBySide(){this.renderSideBySide=!this.renderSideBySide,this.editorOptions=G(Y({},this.editorOptions),{renderSideBySide:this.renderSideBySide})}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove());try{if(window.editor&&window.editor.dispose&&(window.editor.dispose(),window.editor=void 0),window.monaco){let t=window.monaco.Uri.parse("file:///original.json"),i=window.monaco.Uri.parse("file:///modified.json"),o=window.monaco.editor.getModel(t);o&&o.dispose();let E=window.monaco.editor.getModel(i);E&&E.dispose()}this.monacoEditor&&this.monacoEditor.dispose()}catch{}}validateSection(e,t){for(let i of e){if(typeof i!="object"||Array.isArray(i))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:t}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(!i[t])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:t}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(typeof i[t]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:t}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1}return!0}validatePlugins(e,t){for(let i of e)if(typeof i!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:t}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
2
- `).map(t=>` ${t}`).join(`
3
- `),setTimeout(()=>{let t=this.monacoEditor.getModel().findMatches(e);if(t.length){let i=t[0].range,o=new monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:o,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(t=>t.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
4
- This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
5
- You should change this pin if you need to re-pair your instance with HomeKit.
6
- Example: 0E:89:49:64:91:86`,default:"0E:89:49:64:91:86",pattern:"^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"},port:{type:"number",description:`The port Homebridge listens on.
7
- If running more than one instance of Homebridge on the same server make sure each instance is given a unique port.`,default:51173,minimum:1025,maximum:65534},pin:{type:"string",description:`The Homebridge instance pin.
8
- This is used when pairing Homebridge to HomeKit.
9
- Example: 630-27-655`,default:"630-27-655",pattern:"^([0-9]{3}-[0-9]{2}-[0-9]{3})$"},manufacturer:{type:"string",description:"The bridge manufacturer to be displayed in HomeKit"},firmwareRevision:{type:"string",description:"The bridge firmware version to be displayed in HomeKit"},model:{type:"string",description:"The bridge model to be displayed in HomeKit"},bind:{description:`A string or an array of strings with the name(s) of the network interface(s) Homebridge should bind to.
10
-
11
- Requires Homebridge v1.3 or later.`,type:["string","array"],items:{type:"string",description:"Network Interface name that Homebridge should bind to."}}},default:{name:"Homebridge",username:"0E:89:49:64:91:86",port:51173,pin:"6302-7655"}},mdns:{type:"object",properties:{interface:{type:"string",description:`The interface or IP address of the interface you want Homebridge to listen on. This is useful if your server has multiple interfaces.
12
-
13
- Deprecated as of Homebridge v1.3.0 - use bridge.bind instead.`},legacyAdvertiser:{type:"boolean",description:"Set to `false` to use the new mdns library, ciao."}},default:{legacyAdvertiser:!1}},plugins:{type:"array",description:"An array of plugins that should be selectively enabled. Remove this array to enable all plugins.",items:{type:"string",description:`The full plugin npm package name.
14
- Example: homebridge-dummy`},default:["homebridge-config-ui-x"]},disabledPlugins:{type:"array",description:`An array of plugins that should be disabled.
15
-
16
- Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full plugin npm package name.
17
- Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have its config entered in this array.
18
- Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
19
- Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have its config entered in this array.
20
- Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}saveConfig(e){return C(this,null,function*(){try{let t=yield $(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(t,null,4),yield this.detectSavesChangesForRestart()}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}validateArraysEqual(e,t){if(e.length!==t.length)return!1;let i=[...e].sort(),o=[...t].sort();return i.every((E,H)=>E===o[H])}removePlatformsAndAccessories(e){let E=e,{accessories:t,platforms:i}=E;return Q(E,["accessories","platforms"])}removeEmptyBridges(e){return e.filter(t=>t._bridge&&Object.keys(t._bridge).length>0).map(t=>t._bridge)}validateBridgesEqual(e,t){return e.length!==t.length?!1:e.every(i=>t.some(o=>B(i,o)))}detectSavesChangesForRestart(){return C(this,null,function*(){let e=yield this.determineRestartType();e==="full"?yield this.performFullRestart():e==="child"&&(yield this.performChildBridgeRestart()),this.latestSavedConfig=JSON.parse(this.homebridgeConfig)})}determineRestartType(){return C(this,null,function*(){if(this.hbPendingRestart)return"full";let e=this.latestSavedConfig,t=JSON.stringify(e,null,4),i=JSON.parse(this.homebridgeConfig),o=this.homebridgeConfig;if(t===o&&!this.childBridgesToRestart.length)return this.$toastr.info(this.$translate.instant("config.no_restart"),this.$translate.instant("config.config_saved")),"none";if(!this.validateArraysEqual(Object.keys(e),Object.keys(i))||[...i.platforms||[],...i.accessories||[]].every(c=>!c._bridge||!Object.keys(c._bridge).length))return"full";let H=this.removePlatformsAndAccessories(e),Me=this.removePlatformsAndAccessories(i);if(!B(H,Me))return"full";let N=e.platforms||[],q=i.platforms||[],Te=N.map(c=>c.platform),Be=q.map(c=>c.platform);if(!this.validateArraysEqual(Te,Be))return"full";let F=e.accessories||[],J=i.accessories||[],Ve=F.map(c=>c.accessory),Ae=J.map(c=>c.accessory);if(!this.validateArraysEqual(Ve,Ae)||!this.validateBridgesEqual(this.removeEmptyBridges(N),this.removeEmptyBridges(q))||!this.validateBridgesEqual(this.removeEmptyBridges(F),this.removeEmptyBridges(J)))return"full";let K=N.filter(c=>!B(c,q.find(M=>M.platform===c.platform))),De=F.filter(c=>!B(c,J.find(M=>M.accessory===c.accessory))),W=[...K,...De];if(K.some(c=>c.platform==="config")||W.some(c=>c.platform==="config"?!1:!c._bridge||Object.keys(c._bridge).length===0))return"full";try{let c=yield $(this.$api.get("/status/homebridge/child-bridges"));return W.forEach(M=>{let Re=M._bridge.username.toUpperCase(),V=c.find(({username:L})=>L===Re);if(V)this.childBridgesToRestart.some(L=>L.username===V.username)||this.childBridgesToRestart.push({name:V.name,username:V.username});else return"full"}),"child"}catch(c){return console.error("Error fetching child bridges:",c),"full"}})}performChildBridgeRestart(){return C(this,null,function*(){let e=this.$modal.open(Ce,{size:"lg",backdrop:"static"});e.componentInstance.bridges=this.childBridgesToRestart;try{yield e.result,this.childBridgesToRestart=[]}catch{}})}performFullRestart(){return C(this,null,function*(){let e=this.$modal.open(ve,{size:"lg",backdrop:"static"});try{yield e.result,this.hbPendingRestart=!1,this.childBridgesToRestart=[]}catch{this.hbPendingRestart=!0}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let t=$e.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(t,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),t}}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["ng-component"]],decls:18,vars:19,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"disabled","openDelay","ngbTooltip"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"openDelay","ngbTooltip"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-danger","waves-effect","my-0","me-2",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-times"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-history"],[1,"fas","fa-fw"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(t,i){t&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),_(4),s(5,"translate"),d()(),a(6,"div",4),v(7,qe,4,8,"button",5),v(8,Fe,4,7,"button",6),v(9,Je,4,11,"button",6),a(10,"button",7),s(11,"translate"),s(12,"translate"),b("click",function(){return i.onSave()}),v(13,Le,1,0,"i",8),v(14,Ue,1,0,"i",9),d()()(),v(15,ze,1,2,"ngx-monaco-editor",10),v(16,Ke,1,3,"ngx-monaco-diff-editor",11),v(17,We,2,1,"textarea",12),d()),t&2&&(r(4),k(l(5,13,"menu.config_json_editor")),r(3),x(i.originalConfig?7:-1),r(),x(i.originalConfig?-1:8),r(),x(!i.isMobile&&i.originalConfig?9:-1),r(),g("disabled",i.saveInProgress)("openDelay",150)("ngbTooltip",l(11,15,"form.button_save")),w("aria-label",l(12,17,"form.button_save")),r(3),x(i.saveInProgress?-1:13),r(),x(i.saveInProgress?14:-1),r(),x(!i.isMobile&&!i.originalConfig?15:-1),r(),x(!i.isMobile&&i.originalConfig?16:-1),r(),x(i.isMobile?17:-1))},dependencies:[D,he,be,fe,de,ce,me,j],encapsulation:2})}return n})();export{$t as ConfigEditorComponent};
@@ -1 +0,0 @@
1
- import{B as G,C as Q,c as $,d as C,e as B,f as O,g as T,j as w,m as q,q as z,r as D,y as H,z as A}from"./chunk-7BRVYYLY.js";import{b as K}from"./chunk-LPYZOQUG.js";import{d as U}from"./chunk-UOLP7IQJ.js";import{b as J}from"./chunk-DOUHWAMX.js";import{m as W}from"./chunk-3OGGH4IS.js";import{b as j}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Dc as f,Ib as u,Jb as c,Jc as l,Kc as d,M as I,Ob as m,Pb as r,Qb as a,Rb as s,Uc as b,Wc as L,Xa as x,ab as i,bc as E,dc as M,h as y,id as N,ka as p,kc as v,lc as F,ld as V,mb as k,qc as g,rc as h,sc as R,w as S,yd as P}from"./chunk-H36QJYLQ.js";var Y=["password"],Z=["username"],ee=["otp"],te=e=>({background:e}),ie=e=>({anim:e}),X=e=>({"is-invalid":e});function ne(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let n=M();i(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",f(8,X,n.form.controls.username.dirty&&n.form.controls.username.errors)),i(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",f(10,X,n.form.controls.password.dirty&&n.form.controls.password.errors))}}function oe(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(i(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function ae(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_credentials")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_code")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var _e=(()=>{class e{$auth=p(K);$cdr=p(L);$router=p(U);$settings=p(J);targetRoute;validNonAdminRoutes=["/accessories","/plugins","/logs","/support"];passwordInput=b("password");usernameInput=b("username");otpInput=b("otp");backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;form;ngOnInit(){this.form=new T({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(n=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==n.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.$cdr.detectChanges()}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let n=this.passwordInput()?.nativeElement.value;n&&n!==this.form.get("password").value&&this.form.controls.password.setValue(n);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),!this.$auth.user.admin&&!this.validNonAdminRoutes.includes(this.targetRoute)&&(this.targetRoute="/"),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[C.required,C.minLength(6),C.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let n=`${W.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${n}') center/cover`}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(v(t.passwordInput,Y,5),v(t.usernameInput,Z,5),v(t.otpInput,ee,5)),o&2&&F(3)},decls:15,vars:18,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","/assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-2",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-fw","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-fw","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(o,t){o&1&&(r(0,"div",3)(1,"div",4),s(2,"img",5),r(3,"form",6),E("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),g(5),l(6,"translate"),a(),u(7,ne,12,12),u(8,oe,6,3,"div",8),u(9,ae,9,6,"div",9),u(10,re,9,6,"div",9),r(11,"div",10)(12,"button",11),g(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",f(14,te,t.backgroundStyle))("ngClass",f(16,ie,!t.backgroundStyle)),i(3),m("formGroup",t.form),i(2),h(d(6,10,"setup.welcome_to_homebridge")),i(2),c(t.twoFactorCodeRequired?-1:7),i(),c(t.twoFactorCodeRequired?8:-1),i(),c(t.invalidCredentials?9:-1),i(),c(t.invalid2faCode?10:-1),i(2),m("disabled",t.form.invalid),i(),R(" ",d(14,12,"form.button_continue")," "))},dependencies:[V,G,q,$,B,O,H,A,Q,z,D,N,P,j],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.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%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}"]})}return e})();export{_e as LoginComponent};
@@ -1 +0,0 @@
1
- import{a as re}from"./chunk-54YQ4GYI.js";import{a as ee,b as te,c as ie}from"./chunk-UHWT4HS2.js";import{c as ae}from"./chunk-UG7X3SOK.js";import"./chunk-LOR7R6R7.js";import{a as le}from"./chunk-5B52GCDR.js";import{a as se}from"./chunk-77JZBWAC.js";import{m as D,n as Y,t as Z}from"./chunk-RYEUSRBX.js";import{B as X,c as q,e as G,f as J,i as K,l as Q,m as U}from"./chunk-7BRVYYLY.js";import"./chunk-HHEVRKFK.js";import{b as oe}from"./chunk-LPYZOQUG.js";import"./chunk-UOLP7IQJ.js";import{b as ne}from"./chunk-DOUHWAMX.js";import"./chunk-3OGGH4IS.js";import{b as h}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Cc as W,Dc as B,Ec as R,Hb as v,Ib as M,Jb as w,Jc as s,Kc as l,Lb as $,Lc as j,Mb as V,Nb as F,Ob as _,Pb as r,Qb as a,Rb as m,Sb as P,Tb as H,Ub as O,Xa as L,_b as T,ab as o,bc as b,dc as p,id as z,ka as g,mb as y,qa as x,qc as c,ra as C,rc as u,sc as S,xc as k,yc as A,zc as E}from"./chunk-H36QJYLQ.js";var ce=(()=>{class t{$activeModal=g(D);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],decls:42,vars:30,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,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(i,n){i&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),b("click",function(){return n.dismissModal()}),a()(),r(8,"div",4)(9,"div",5),m(10,"i",6),a(),r(11,"h5",7),c(12),s(13,"translate"),a(),r(14,"ul",8)(15,"li"),c(16),s(17,"translate"),a(),r(18,"li"),c(19),s(20,"translate"),a()(),r(21,"h5",9),c(22),s(23,"translate"),a(),r(24,"ul",8)(25,"li"),c(26),s(27,"translate"),a(),r(28,"li"),c(29),s(30,"translate"),a(),r(31,"li"),c(32),s(33,"translate"),a()(),m(34,"app-support-banner"),a(),r(35,"div",10),m(36,"div",11),r(37,"div",12)(38,"button",13),b("click",function(){return n.dismissModal()}),c(39),s(40,"translate"),a()(),m(41,"div",14),a()()()),i&2&&(o(4),u(l(5,10,"support.title")),o(2),v("aria-label",l(7,12,"form.button_close")),o(6),u(l(13,14,"menu.label_accessories")),o(4),u(l(17,16,"accessories.support.acc_1")),o(3),u(l(20,18,"accessories.support.acc_2")),o(3),u(l(23,20,"accessories.title_rooms")),o(4),u(l(27,22,"accessories.support.rooms_1")),o(3),u(l(30,24,"accessories.support.rooms_2")),o(3),u(l(33,26,"accessories.support.rooms_3")),o(7),S(" ",l(40,28,"form.button_close")," "))},dependencies:[le,h],encapsulation:2})}return t})();var me=()=>({standalone:!0}),de=(()=>{class t{$activeModal=g(D);roomName;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(e){this.$activeModal.close(e)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},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-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","",1,"form-control","custom-input",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],[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"]],template:function(i,n){i&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),b("click",function(){return n.dismissModal()}),a()(),r(8,"div",4)(9,"div",5),m(10,"i",6),a(),r(11,"ul",7)(12,"li",8)(13,"label",9),c(14),s(15,"translate"),a(),r(16,"div",10)(17,"input",11),E("ngModelChange",function(I){return A(n.roomName,I)||(n.roomName=I),I}),b("keyup.enter",function(){return n.closeModal(n.roomName)}),a()()()()(),r(18,"div",12)(19,"div",13)(20,"button",14),b("click",function(){return n.dismissModal()}),c(21),s(22,"translate"),a()(),m(23,"div",15),r(24,"div",16)(25,"button",17),b("click",function(){return n.closeModal(n.roomName)}),c(26),s(27,"translate"),a()()()()()),i&2&&(o(4),u(l(5,8,"accessories.button_add_room")),o(2),v("aria-label",l(7,10,"form.button_close")),o(8),u(l(15,12,"accessories.room_name")),o(3),k("ngModel",n.roomName),_("ngModelOptions",W(18,me)),o(4),S(" ",l(22,14,"form.button_close")," "),o(4),_("disabled",!n.roomName),o(),S(" ",l(27,16,"form.button_save")," "))},dependencies:[X,U,q,G,J,Q,K,h],encapsulation:2})}return t})();var pe=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(i,n){i&1&&(P(0,"div",0),O(1,"i",1),P(2,"div",2),c(3),s(4,"translate"),H()()),i&2&&(o(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[h],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ue=(t,f)=>({"fa-eye":t,"fa-eye-slash":f}),_e=t=>({"cursor-move":t}),be=t=>({"justify-content-between":t}),fe=t=>({link:t});function ge(t,f){if(t&1&&(r(0,"div",0)(1,"div",19)(2,"h5",20),c(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,i=p(2);o(2),_("ngClass",B(4,_e,!i.isMobile)),o(),S(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function ve(t,f){if(t&1&&(r(0,"div",23),m(1,"app-accessory-tile",24),a()),t&2){let e=p().$implicit;o(),_("service",e)}}function xe(t,f){if(t&1&&M(0,ve,2,1,"div",23),t&2){let e=f.$implicit,i=p(4);w(!i.hideHidden||!e.hidden?0:-1)}}function Ce(t,f){if(t&1){let e=T();r(0,"div",21),E("dragulaModelChange",function(n){x(e);let d=p().$implicit;return A(d.services,n)||(d.services=n),C(n)}),V(1,xe,1,1,null,null,$),m(3,"div",22)(4,"div",22)(5,"div",22)(6,"div",22)(7,"div",22)(8,"div",22)(9,"div",22)(10,"div",22)(11,"div",22)(12,"div",22),a()}if(t&2){let e=p().$implicit,i=p(2);_("ngClass",B(3,be,i.isMobile))("dragula","services-bag"),k("dragulaModel",e.services),o(),F(e.services)}}function ye(t,f){if(t&1){let e=T();r(0,"div",25),E("dragulaModelChange",function(n){x(e);let d=p().$implicit;return A(d.services,n)||(d.services=n),C(n)}),m(1,"app-drag-here-placeholder",26),a()}if(t&2){let e=p().$implicit;_("dragula","services-bag"),k("dragulaModel",e.services)}}function he(t,f){if(t&1&&(r(0,"div"),M(1,ge,5,6,"div",0),r(2,"div",16),M(3,Ce,13,5,"div",17),M(4,ye,2,2,"div",18),a()()),t&2){let e=f.$implicit,i=p(2);o(),w(!i.isMobile||e.services.length?1:-1),o(2),w(e.services.length?3:-1),o(),w(!e.services.length&&!i.isMobile?4:-1)}}function Me(t,f){if(t&1){let e=T();r(0,"div",1)(1,"div",2)(2,"h3",3),c(3),s(4,"translate"),a()(),r(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){x(e);let n=p();return C(n.openSupport())}),m(8,"i",6),a()(),r(9,"div",7)(10,"button",8),s(11,"translate"),s(12,"translate"),b("click",function(){x(e);let n=p();return C(n.addRoom())}),m(13,"i",9),a(),r(14,"button",8),s(15,"translate"),s(16,"translate"),s(17,"translate"),s(18,"translate"),b("click",function(){x(e);let n=p();return C(n.hideHidden=!n.hideHidden)}),m(19,"i",10),a(),r(20,"div",11)(21,"button",12),s(22,"translate"),s(23,"translate"),b("click",function(){x(e);let n=p();return C(n.toggleLayoutLock())}),m(24,"i",13),a(),r(25,"button",12),s(26,"translate"),s(27,"translate"),b("click",function(){x(e);let n=p();return C(n.toggleLayoutLock())}),m(28,"i",14),a()(),r(29,"button",5),s(30,"translate"),b("click",function(){x(e);let n=p();return C(n.openSupport())}),m(31,"i",6),a()()(),r(32,"div",15),E("dragulaModelChange",function(n){x(e);let d=p();return A(d.$accessories.rooms,n)||(d.$accessories.rooms=n),C(n)}),V(33,he,5,3,"div",null,$),a()}if(t&2){let e=p();o(3),u(l(4,22,"menu.label_accessories")),o(3),v("aria-label",l(7,24,"support.title")),o(4),_("hidden",e.isMobile)("openDelay",150)("ngbTooltip",l(11,26,"accessories.button_add_room")),v("aria-label",l(12,28,"accessories.button_add_room")),o(4),_("hidden",e.isMobile)("openDelay",150)("ngbTooltip",e.hideHidden?l(15,30,"accessories.button_hidden_show"):l(16,32,"accessories.button_hidden_hide")),v("aria-label",e.hideHidden?l(17,34,"accessories.button_hidden_show"):l(18,36,"accessories.button_hidden_hide")),o(5),_("ngClass",R(48,ue,!e.hideHidden,e.hideHidden)),o(2),_("disabled",!e.isMobile)("openDelay",150)("ngbTooltip",l(22,38,"form.button_unlock")),v("aria-label",l(23,40,"form.button_unlock")),o(4),_("disabled",e.isMobile)("openDelay",150)("ngbTooltip",l(26,42,"form.button_lock")),v("aria-label",l(27,44,"form.button_lock")),o(4),v("aria-label",l(30,46,"support.title")),o(3),_("dragula","rooms-bag"),k("dragulaModel",e.$accessories.rooms),o(),F(e.$accessories.rooms)}}function we(t,f){t&1&&(r(0,"p",33),c(1),s(2,"translate"),a()),t&2&&(o(),u(l(2,1,"accessories.settings_link")))}function Se(t,f){if(t&1&&(r(0,"div",0)(1,"div",27)(2,"h3",28),c(3),s(4,"translate"),a()(),r(5,"div",29)(6,"div",30)(7,"h5",31),c(8),s(9,"translate"),a(),m(10,"p",32),s(11,"translate"),M(12,we,3,3,"p",33),a()()()),t&2){let e=p();o(3),u(l(4,4,"menu.label_accessories")),o(5),u(l(9,6,"accessories.control_disabled")),o(2),_("innerHTML",j(11,8,"accessories.message_must_use_insecure_mode",B(11,fe,e.linkInsecure)),L),o(2),w(e.isAdmin?12:-1)}}var nt=(()=>{class t{$accessories=g(ae);$auth=g(oe);dragulaService=g(ee);$modal=g(Y);$settings=g(ne);$md=g(se);orderSubscription;isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=!1;hideHidden=!0;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(i,n,d)=>!this.isMobile&&d.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:i=>!this.isMobile&&!i.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile=!0}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(de,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(i=>i.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?document.querySelectorAll(".services-bag").forEach(i=>{for(let n=0;n<10;n++){let d=document.createElement("div");d.className="accessory-box invisible py-0 my-0",d.style.height="0",i.appendChild(d)}}):document.querySelectorAll(".invisible").forEach(i=>i.remove())}openSupport(){this.$modal.open(ce,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"ngClass","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","ngClass","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"mb-3","mt-0"],[1,"mb-0",3,"innerHTML"],[1,"mt-3","mb-0"]],template:function(i,n){i&1&&M(0,Me,35,51)(1,Se,13,13,"div",0),i&2&&w(n.enableAccessories?0:1)},dependencies:[Z,z,ie,te,re,pe,h],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{nt as AccessoriesComponent};
@@ -1 +0,0 @@
1
- import{B as I,C as O,D as N,Da as w,L as K,O as C,Wc as _,X as P,_ as A,a as F,fa as u,ia as B,ka as o,n as y,pb as H,r as L,t as g,x}from"./chunk-H36QJYLQ.js";var v=class{},G=(()=>{class e{handle(t){return t.key}static \u0275fac=function(n){return new(n||e)};static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})(),d=class{},z=(()=>{class e extends d{compile(t,n){return t}compileTranslations(t,n){return t}static \u0275fac=(()=>{let t;return function(r){return(t||(t=w(e)))(r||e)}})();static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})(),p=class{},W=(()=>{class e extends p{getTranslation(t){return L({})}static \u0275fac=(()=>{let t;return function(r){return(t||(t=w(e)))(r||e)}})();static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})();function k(e,a){if(e===a)return!0;if(e===null||a===null)return!1;if(e!==e&&a!==a)return!0;let t=typeof e,n=typeof a,r;if(t==n&&t=="object")if(Array.isArray(e)){if(!Array.isArray(a))return!1;if((r=e.length)==a.length){for(let s=0;s<r;s++)if(!k(e[s],a[s]))return!1;return!0}}else{if(Array.isArray(a))return!1;if(l(e)&&l(a)){let s=Object.create(null);for(let i in e){if(!k(e[i],a[i]))return!1;s[i]=!0}for(let i in a)if(!(i in s)&&typeof a[i]<"u")return!1;return!0}}return!1}function h(e){return typeof e<"u"&&e!==null}function J(e){return e!==void 0}function l(e){return T(e)&&!f(e)&&e!==null}function T(e){return typeof e=="object"&&e!==null}function f(e){return Array.isArray(e)}function S(e){return typeof e=="string"}function Z(e){return typeof e=="function"}function D(e){if(f(e))return e.map(a=>D(a));if(l(e)){let a={};return Object.keys(e).forEach(t=>{a[t]=D(e[t])}),a}else return e}function V(e,a){if(!T(e))return D(a);let t=D(e);return T(t)&&T(a)&&Object.keys(a).forEach(n=>{l(a[n])?n in e?t[n]=V(e[n],a[n]):Object.assign(t,{[n]:a[n]}):Object.assign(t,{[n]:a[n]})}),t}function U(e,a){let t=a.split(".");a="";do{a+=t.shift();let n=!t.length;if(h(e)){if(l(e)&&J(e[a])&&(l(e[a])||f(e[a])||n)){e=e[a],a="";continue}if(f(e)){let r=parseInt(a,10);if(J(e[r])&&(l(e[r])||f(e[r])||n)){e=e[r],a="";continue}}}if(n){e=void 0;continue}a+="."}while(t.length);return e}function Q(e,a,t){return V(e,X(a,t))}function X(e,a){return e.split(".").reduceRight((t,n)=>({[n]:t}),a)}var b=class{},Y=(()=>{class e extends b{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(t,n){if(S(t))return this.interpolateString(t,n);if(Z(t))return this.interpolateFunction(t,n)}interpolateFunction(t,n){return t(n)}interpolateString(t,n){return n?t.replace(this.templateMatcher,(r,s)=>{let i=this.getInterpolationReplacement(n,s);return i!==void 0?i:r}):t}getInterpolationReplacement(t,n){return this.formatValue(U(t,n))}formatValue(t){if(S(t))return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(t===null)return"null";if(f(t))return t.join(", ");if(T(t))return typeof t.toString=="function"&&t.toString!==Object.prototype.toString?t.toString():JSON.stringify(t)}static \u0275fac=(()=>{let t;return function(r){return(t||(t=w(e)))(r||e)}})();static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})(),R=(()=>{class e{_onTranslationChange=new y;_onLangChange=new y;_onFallbackLangChange=new y;fallbackLang=null;currentLang;translations={};languages=[];getTranslations(t){return this.translations[t]}setTranslations(t,n,r){this.translations[t]=r&&this.hasTranslationFor(t)?V(this.translations[t],n):n,this.addLanguages([t]),this._onTranslationChange.next({lang:t,translations:this.getTranslations(t)})}getLanguages(){return this.languages}getCurrentLang(){return this.currentLang}getFallbackLang(){return this.fallbackLang}setFallbackLang(t,n=!0){this.fallbackLang=t,n&&this._onFallbackLangChange.next({lang:t,translations:this.translations[t]})}setCurrentLang(t,n=!0){this.currentLang=t,n&&this._onLangChange.next({lang:t,translations:this.translations[t]})}get onTranslationChange(){return this._onTranslationChange.asObservable()}get onLangChange(){return this._onLangChange.asObservable()}get onFallbackLangChange(){return this._onFallbackLangChange.asObservable()}addLanguages(t){this.languages=Array.from(new Set([...this.languages,...t]))}hasTranslationFor(t){return typeof this.translations[t]<"u"}deleteTranslations(t){delete this.translations[t]}getTranslation(t){let n=this.getValue(this.currentLang,t);return n===void 0&&this.fallbackLang!=null&&this.fallbackLang!==this.currentLang&&(n=this.getValue(this.fallbackLang,t)),n}getValue(t,n){return U(this.getTranslations(t),n)}static \u0275fac=function(n){return new(n||e)};static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})(),j=new B("TRANSLATE_CONFIG"),m=e=>g(e)?e:L(e);var M=(()=>{class e{loadingTranslations;pending=!1;_translationRequests={};lastUseLanguage=null;currentLoader=o(p);compiler=o(d);parser=o(b);missingTranslationHandler=o(v);store=o(R);extend=!1;get onTranslationChange(){return this.store.onTranslationChange}get onLangChange(){return this.store.onLangChange}get onFallbackLangChange(){return this.store.onFallbackLangChange}get onDefaultLangChange(){return this.store.onFallbackLangChange}constructor(){let t=F({extend:!1,fallbackLang:null},o(j,{optional:!0}));t.lang&&this.use(t.lang),t.fallbackLang&&this.setFallbackLang(t.fallbackLang),t.extend&&(this.extend=!0)}setFallbackLang(t){this.getFallbackLang()||this.store.setFallbackLang(t,!1);let n=this.loadOrExtendLanguage(t);return g(n)?(n.pipe(C(1)).subscribe({next:()=>{this.store.setFallbackLang(t)},error:()=>{}}),n):(this.store.setFallbackLang(t),L(this.store.getTranslations(t)))}use(t){this.lastUseLanguage=t,this.getCurrentLang()||this.store.setCurrentLang(t,!1);let n=this.loadOrExtendLanguage(t);return g(n)?(n.pipe(C(1)).subscribe({next:()=>{this.changeLang(t)},error:()=>{}}),n):(this.changeLang(t),L(this.store.getTranslations(t)))}loadOrExtendLanguage(t){if(!this.store.hasTranslationFor(t)||this.extend)return this._translationRequests[t]=this._translationRequests[t]||this.loadAndCompileTranslations(t),this._translationRequests[t]}changeLang(t){t===this.lastUseLanguage&&this.store.setCurrentLang(t)}getCurrentLang(){return this.store.getCurrentLang()}loadAndCompileTranslations(t){this.pending=!0;let n=this.currentLoader.getTranslation(t).pipe(P(1),C(1));return this.loadingTranslations=n.pipe(x(r=>this.compiler.compileTranslations(r,t)),P(1),C(1)),this.loadingTranslations.subscribe({next:r=>{this.store.setTranslations(t,r,this.extend),this.pending=!1},error:r=>{this.pending=!1}}),n}setTranslation(t,n,r=!1){let s=this.compiler.compileTranslations(n,t);this.store.setTranslations(t,s,r||this.extend)}getLangs(){return this.store.getLanguages()}addLangs(t){this.store.addLanguages(t)}getParsedResultForKey(t,n){let r=this.getTextToInterpolate(t);if(h(r))return this.runInterpolation(r,n);let s=this.missingTranslationHandler.handle(F({key:t,translateService:this},n!==void 0&&{interpolateParams:n}));return s!==void 0?s:t}getFallbackLang(){return this.store.getFallbackLang()}getTextToInterpolate(t){return this.store.getTranslation(t)}runInterpolation(t,n){if(h(t))return f(t)?this.runInterpolationOnArray(t,n):l(t)?this.runInterpolationOnDict(t,n):this.parser.interpolate(t,n)}runInterpolationOnArray(t,n){return t.map(r=>this.runInterpolation(r,n))}runInterpolationOnDict(t,n){let r={};for(let s in t){let i=this.runInterpolation(t[s],n);i!==void 0&&(r[s]=i)}return r}getParsedResult(t,n){return t instanceof Array?this.getParsedResultForArray(t,n):this.getParsedResultForKey(t,n)}getParsedResultForArray(t,n){let r={},s=!1;for(let c of t)r[c]=this.getParsedResultForKey(c,n),s=s||g(r[c]);if(!s)return r;let i=t.map(c=>m(r[c]));return N(i).pipe(x(c=>{let E={};return c.forEach(($,q)=>{E[t[q]]=$}),E}))}get(t,n){if(!h(t)||!t.length)throw new Error('Parameter "key" is required and cannot be empty');return this.pending?this.loadingTranslations.pipe(K(()=>m(this.getParsedResult(t,n)))):m(this.getParsedResult(t,n))}getStreamOnTranslationChange(t,n){if(!h(t)||!t.length)throw new Error('Parameter "key" is required and cannot be empty');return I(O(()=>this.get(t,n)),this.onTranslationChange.pipe(A(()=>{let r=this.getParsedResult(t,n);return m(r)})))}stream(t,n){if(!h(t)||!t.length)throw new Error('Parameter "key" required');return I(O(()=>this.get(t,n)),this.onLangChange.pipe(A(()=>{let r=this.getParsedResult(t,n);return m(r)})))}instant(t,n){if(!h(t)||t.length===0)throw new Error('Parameter "key" is required and cannot be empty');let r=this.getParsedResult(t,n);return g(r)?Array.isArray(t)?t.reduce((s,i)=>(s[i]=i,s),{}):t:r}set(t,n,r=this.getCurrentLang()){this.store.setTranslations(r,Q(this.store.getTranslations(r),t,S(n)?this.compiler.compile(n,r):this.compiler.compileTranslations(n,r)),!1)}reloadLang(t){return this.resetLang(t),this.loadAndCompileTranslations(t)}resetLang(t){delete this._translationRequests[t],this.store.deleteTranslations(t)}static getBrowserLang(){if(typeof window>"u"||!window.navigator)return;let t=this.getBrowserCultureLang();return t?t.split(/[-_]/)[0]:void 0}static getBrowserCultureLang(){if(!(typeof window>"u"||typeof window.navigator>"u"))return window.navigator.languages?window.navigator.languages[0]:window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage}getBrowserLang(){return e.getBrowserLang()}getBrowserCultureLang(){return e.getBrowserCultureLang()}get defaultLang(){return this.getFallbackLang()}get currentLang(){return this.store.getCurrentLang()}get langs(){return this.store.getLanguages()}setDefaultLang(t){return this.setFallbackLang(t)}getDefaultLang(){return this.getFallbackLang()}static \u0275fac=function(n){return new(n||e)};static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})();var Ct=(()=>{class e{translate=o(M);_ref=o(_);value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onFallbackLangChange;updateValue(t,n,r){let s=i=>{this.value=i!==void 0?i:t,this.lastKey=t,this._ref.markForCheck()};if(r){let i=this.translate.getParsedResult(t,n);g(i)?i.subscribe(s):s(i)}this.translate.get(t,n).subscribe(s)}transform(t,...n){if(!t||!t.length)return t;if(k(t,this.lastKey)&&k(n,this.lastParams))return this.value;let r;if(h(n[0])&&n.length)if(S(n[0])&&n[0].length){let s=n[0].replace(/(')?([a-zA-Z0-9_]+)(')?(\s)?:/g,'"$2":').replace(/:(\s)?(')(.*?)(')/g,':"$3"');try{r=JSON.parse(s)}catch(i){throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${n[0]}`)}}else l(n[0])&&(r=n[0]);return this.lastKey=t,this.lastParams=n,this.updateValue(t,r),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(s=>{(this.lastKey&&s.lang===this.translate.getCurrentLang()||s.lang===this.translate.getFallbackLang())&&(this.lastKey=null,this.updateValue(t,r,s.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(s=>{this.lastKey&&(this.lastKey=null,this.updateValue(t,r,s.translations))})),this.onFallbackLangChange||(this.onFallbackLangChange=this.translate.onFallbackLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(t,r))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onFallbackLangChange<"u"&&(this.onFallbackLangChange.unsubscribe(),this.onFallbackLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=H({name:"translate",type:e,pure:!1});static \u0275prov=u({token:e,factory:e.\u0275fac})}return e})();function tt(e){return{provide:p,useClass:e}}function et(e){return{provide:d,useClass:e}}function nt(e){return{provide:b,useClass:e}}function rt(e){return{provide:v,useClass:e}}function mt(e={}){return at(F({compiler:et(z),parser:nt(Y),loader:tt(W),missingTranslationHandler:rt(G)},e),!0)}function at(e={},a){let t=[];e.loader&&t.push(e.loader),e.compiler&&t.push(e.compiler),e.parser&&t.push(e.parser),e.missingTranslationHandler&&t.push(e.missingTranslationHandler),a&&t.push(R),(e.useDefaultLang||e.defaultLanguage)&&(console.warn("The `useDefaultLang` and `defaultLanguage` options are deprecated. Please use `fallbackLang` instead."),e.useDefaultLang===!0&&e.defaultLanguage&&(e.fallbackLang=e.defaultLanguage));let n={fallbackLang:e.fallbackLang??null,lang:e.lang,extend:e.extend??!1};return t.push({provide:j,useValue:n}),t.push({provide:M,useClass:M,deps:[R,p,d,b,v,j]}),t}export{M as a,Ct as b,mt as c};
@@ -1 +0,0 @@
1
- import{a as le}from"./chunk-5B52GCDR.js";import{a as se}from"./chunk-BU65ZOCD.js";import{g as Q,m as k,n as ae}from"./chunk-RYEUSRBX.js";import{B as A,C as G,b as q,c as F,d as g,e as V,f as z,g as N,j as S,m as R,p as O,q as L,r as J,z as re}from"./chunk-7BRVYYLY.js";import{b as H}from"./chunk-LPYZOQUG.js";import{b as oe}from"./chunk-UOLP7IQJ.js";import{a as xe}from"./chunk-DOUHWAMX.js";import{k as B,n as M}from"./chunk-3OGGH4IS.js";import{a as T,b as E}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Dc as D,Ec as te,Hb as u,Ib as w,Jb as h,Jc as a,Kc as o,Lb as X,Lc as ie,Mb as Y,Nb as Z,Ob as b,Pb as i,Qb as t,Rb as p,Wc as ne,_b as I,ab as e,bc as f,dc as _,g as ve,h as W,id as j,ka as c,mb as y,qa as $,qc as m,ra as U,rc as d,sc as x,tc as ee}from"./chunk-H36QJYLQ.js";function Ce(r,C){r&1&&(i(0,"ngb-alert",13)(1,"p",20),m(2),a(3,"translate"),t()()),r&2&&(b("dismissible",!1),e(2),d(o(3,2,"login.invalid_password")))}var me=(()=>{class r{$activeModal=c(k);$api=c(M);$toastr=c(B);$translate=c(T);invalidCredentials=!1;formGroup=new N({password:new S("",[g.required])});disable2fa(){this.invalidCredentials=!1,this.$api.post("/users/otp/deactivate",this.formGroup.value).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))},error:()=>{this.formGroup.setValue({password:""}),this.invalidCredentials=!0}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["ng-component"]],decls:34,vars:27,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"mb-0"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),a(4,"translate"),t(),i(5,"button",3),a(6,"translate"),f("click",function(){return l.dismissModal()}),t()(),i(7,"div",4)(8,"div",5),p(9,"i",6),t(),i(10,"ul",7)(11,"li"),m(12),a(13,"translate"),t()(),i(14,"ul",8)(15,"li",9)(16,"label",10),m(17),a(18,"translate"),t(),i(19,"div",11),p(20,"input",12),a(21,"translate"),t()()(),w(22,Ce,4,4,"ngb-alert",13),t(),i(23,"div",14)(24,"div",15)(25,"button",16),a(26,"translate"),f("click",function(){return l.dismissModal()}),m(27),a(28,"translate"),t()(),p(29,"div",17),i(30,"div",18)(31,"button",19),f("click",function(){return l.disable2fa()}),m(32),a(33,"translate"),t()()()()),s&2&&(e(3),d(o(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",o(6,13,"form.button_close")),e(7),d(o(13,15,"users.setup_2fa_disable_current_password")),e(5),d(o(18,17,"users.label_password")),e(3),b("formControl",l.formGroup.controls.password)("placeholder",o(21,19,"users.label_password")),e(2),h(l.invalidCredentials&&!l.formGroup.controls.password.value?22:-1),e(3),u("aria-label",o(26,21,"form.button_close")),e(2),x(" ",o(28,23,"form.button_close")," "),e(4),b("disabled",l.formGroup.invalid),e(),x(" ",o(33,25,"form.button_disable")," "))},dependencies:[A,F,V,G,O,Q,E],encapsulation:2})}return r})();var pe=ve(xe(),1);var we=r=>({timeDiffError:r});function he(r,C){r&1&&(i(0,"li"),m(1),a(2,"translate"),t()),r&2&&(e(),d(o(2,1,"users.setup_2fa_scan_qr_code")))}function ge(r,C){if(r&1&&(i(0,"ngb-alert",8)(1,"p",16),m(2),a(3,"translate"),t(),i(4,"p",17),m(5),a(6,"translate"),t()()),r&2){let n=_();b("dismissible",!1),e(2),d(o(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(ie(6,5,"users.setup_2fa_server_time_out",D(8,we,n.timeDiffError)))}}function Se(r,C){r&1&&p(0,"i",27)}function ye(r,C){r&1&&p(0,"i",28)}function Ee(r,C){if(r&1){let n=I();i(0,"div",21),m(1),a(2,"translate"),p(3,"br"),m(4),i(5,"a",26),f("click",function(){$(n);let l=_(2);return U(l.copySecretToClipboard())}),w(6,Se,1,0,"i",27)(7,ye,1,0,"i",28),t()()}if(r&2){let n=_(2);e(),x(" ",o(2,3,"users.setup_2fa_scan_qr_manual")),e(3),x(" ",n.otpSecret," "),e(2),h(n.secretCopied?6:7)}}function $e(r,C){if(r&1&&(i(0,"ul",9)(1,"li",18)(2,"div",19),p(3,"app-qrcode",20),t(),w(4,Ee,8,5,"div",21),t(),i(5,"li",22)(6,"label",23),m(7),a(8,"translate"),t(),i(9,"div",24),p(10,"input",25),t()()()),r&2){let n=_();e(3),b("data",n.otpString),e(),h(n.otpSecret?4:-1),e(3),d(o(8,4,"users.setup_2fa_enter_code")),e(3),b("formControl",n.formGroup.controls.code)}}function Ue(r,C){if(r&1){let n=I();i(0,"button",29),a(1,"translate"),f("click",function(){$(n);let l=_();return U(l.dismissModal())}),m(2),a(3,"translate"),t()}r&2&&(u("aria-label",o(1,2,"form.button_close")),e(2),x(" ",o(3,4,"form.button_close")," "))}function ke(r,C){if(r&1){let n=I();i(0,"button",29),a(1,"translate"),f("click",function(){$(n);let l=_();return U(l.dismissModal())}),m(2),a(3,"translate"),t()}r&2&&(u("aria-label",o(1,2,"form.button_close")),e(2),x(" ",o(3,4,"form.button_close")," "))}function Te(r,C){if(r&1){let n=I();i(0,"button",30),f("click",function(){$(n);let l=_();return U(l.enable2fa())}),m(1),a(2,"translate"),t()}if(r&2){let n=_();b("disabled",n.formGroup.invalid),e(),x(" ",o(2,2,"form.button_enable")," ")}}var de=(()=>{class r{$activeModal=c(k);$api=c(M);$toastr=c(B);$translate=c(T);copyTimeout=null;user;timeDiffError=null;otpString;otpSecret;secretCopied=!1;formGroup=new N({code:new S("",[g.required,g.minLength(6),g.maxLength(6)])});ngOnInit(){this.$api.post("/users/otp/setup",{}).subscribe({next:n=>{this.checkTimeDiff(n.timestamp),this.timeDiffError||(this.otpString=n.otpauth,this.otpSecret=new URL(this.otpString).searchParams.get("secret")||"")},error:n=>{this.$activeModal.dismiss(),console.error(n),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}enable2fa(){this.$api.post("/users/otp/activate",this.formGroup.value).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:n=>{console.error(n),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}copySecretToClipboard(){return W(this,null,function*(){yield navigator.clipboard.writeText(this.otpSecret),this.secretCopied=!0,this.copyTimeout&&clearTimeout(this.copyTimeout),this.copyTimeout=setTimeout(()=>{this.secretCopied=!1},3e3)})}dismissModal(){this.$activeModal.dismiss("Dismiss")}checkTimeDiff(n){let s=(0,pe.default)(n).diff(new Date,"millisecond");s<-5e3||s>5e3?this.timeDiffError=s:this.timeDiffError=null}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center","my-2"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"grey-text","small","mt-0","mb-1"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["href","javascript:void(0)",1,"ms-1","text-primary",3,"click"],[1,"fas","fa-fw","fa-check","green-text"],[1,"fas","fa-fw","fa-copy"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),m(3),a(4,"translate"),t(),i(5,"button",3),a(6,"translate"),f("click",function(){return l.dismissModal()}),t()(),i(7,"div",4)(8,"div",5),p(9,"i",6),t(),i(10,"ul",7)(11,"li"),m(12),a(13,"translate"),t(),w(14,he,3,3,"li"),t(),w(15,ge,7,10,"ngb-alert",8),w(16,$e,11,6,"ul",9),t(),i(17,"div",10)(18,"div",11),w(19,Ue,4,6,"button",12),t(),i(20,"div",13),w(21,ke,4,6,"button",12),t(),i(22,"div",14),w(23,Te,3,4,"button",15),t()()()),s&2&&(e(3),d(o(4,9,"users.setup_2fa")),e(2),u("aria-label",o(6,11,"form.button_close")),e(7),d(o(13,13,"users.setup_2fa_warning")),e(2),h(l.timeDiffError?-1:14),e(),h(l.timeDiffError?15:-1),e(),h(l.timeDiffError?-1:16),e(3),h(l.timeDiffError?-1:19),e(2),h(l.timeDiffError?21:-1),e(2),h(l.timeDiffError?-1:23))},dependencies:[Q,se,A,F,V,re,G,O,E],encapsulation:2})}return r})();var ce=r=>({"is-invalid":r}),ue=(()=>{class r{$activeModal=c(k);$api=c(M);$toastr=c(B);$translate=c(T);form=new N({username:new S("",[g.required]),name:new S("",[g.required]),password:new S("",[g.compose([g.required,g.minLength(4)])]),passwordConfirm:new S("",[g.required]),admin:new S(!0)},this.matchPassword);onSubmit({value:n}){this.$api.post("/users",n).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))},error:s=>{this.$toastr.error(s.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(n){let s=n.get("password").value,l=n.get("passwordConfirm").value;if(s!==l)n.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["ng-component"]],decls:58,vars:50,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["formControlName","admin","type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"form",1),f("ngSubmit",function(){return l.onSubmit(l.form)}),i(2,"div",2)(3,"h5",3),m(4),a(5,"translate"),t(),i(6,"button",4),a(7,"translate"),f("click",function(){return l.dismissModal()}),t()(),i(8,"div",5)(9,"div",6),p(10,"i",7),t(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),a(15,"translate"),t(),i(16,"div",11),p(17,"input",12),a(18,"translate"),t()(),i(19,"li",9)(20,"label",13),m(21),a(22,"translate"),t(),i(23,"div",11),p(24,"input",14),a(25,"translate"),t()(),i(26,"li",9)(27,"label",15),m(28),a(29,"translate"),t(),i(30,"div",11),p(31,"input",16),a(32,"translate"),t()(),i(33,"li",9)(34,"label",17),m(35),a(36,"translate"),t(),i(37,"div",11),p(38,"input",18),a(39,"translate"),t()(),i(40,"li",19)(41,"span",20),m(42),a(43,"translate"),t(),i(44,"div",21),p(45,"input",22),a(46,"translate"),p(47,"label",23),t()()()(),i(48,"div",24)(49,"div",20)(50,"button",25),f("click",function(){return l.dismissModal()}),m(51),a(52,"translate"),t()(),p(53,"div",26),i(54,"div",27)(55,"button",28),m(56),a(57,"translate"),t()()()()()),s&2&&(e(),b("formGroup",l.form),e(3),d(o(5,18,"users.title_add_user")),e(2),u("aria-label",o(7,20,"form.button_close")),e(8),d(o(15,22,"users.label_username")),e(3),u("aria-label",o(18,24,"users.label_username")),e(4),d(o(22,26,"users.label_full_name")),e(3),u("aria-label",o(25,28,"users.label_full_name")),e(4),d(o(29,30,"users.label_password")),e(3),b("ngClass",D(46,ce,l.form.controls.password.dirty&&l.form.controls.password.errors)),u("aria-label",o(32,32,"users.label_password")),e(4),d(o(36,34,"users.label_confirm_password")),e(3),b("ngClass",D(48,ce,l.form.controls.passwordConfirm.dirty&&l.form.controls.passwordConfirm.errors)),u("aria-label",o(39,36,"users.label_confirm_password")),e(4),d(o(43,38,"users.label_admin_user")),e(3),u("aria-label",o(46,40,"users.label_admin_user")),e(6),x(" ",o(52,42,"form.button_close")," "),e(4),b("disabled",!l.form.valid),e(),x(" ",o(57,44,"form.button_save")," "))},dependencies:[A,R,F,q,V,z,G,L,J,j,E],encapsulation:2})}return r})();var fe=r=>({"is-invalid":r});function Be(r,C){if(r&1&&(i(0,"li",9)(1,"label",27),m(2),a(3,"translate"),t(),i(4,"div",11),p(5,"input",28),a(6,"translate"),t()()),r&2){let n=_();e(2),d(o(3,3,"users.label_confirm_password")),e(3),b("ngClass",D(7,fe,n.form.controls.passwordConfirm.dirty&&n.form.controls.passwordConfirm.errors)),u("aria-label",o(6,5,"users.label_confirm_password"))}}var be=(()=>{class r{$activeModal=c(k);$api=c(M);$auth=c(H);$cdr=c(ne);$toastr=c(B);$translate=c(T);initialFormValue={};user;isCurrentUser=!1;form=new N({username:new S("",[g.required]),name:new S("",[g.required]),password:new S(""),passwordConfirm:new S(""),admin:new S(!0)},this.matchPassword);ngOnInit(){this.isCurrentUser=this.$auth.user.username===this.user.username,this.form.patchValue(this.user),this.initialFormValue=this.form.getRawValue(),this.form.valueChanges.subscribe(()=>this.$cdr.detectChanges())}onSubmit({value:n}){this.$api.patch(`/users/${this.user.id}`,n).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser&&n.username!==this.$auth.user.username&&this.$auth.logout()},error:s=>{console.error(s),this.$toastr.error(s.error?.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}isFormUnchanged(){return this.form.controls.password.value?!1:JSON.stringify(this.form.getRawValue())===JSON.stringify(this.initialFormValue)}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(n){let s=n.get("password").value,l=n.get("passwordConfirm").value;if(s!==l)n.get("passwordConfirm").setErrors({matchPassword:!0});else return null}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["ng-component"]],inputs:{user:"user"},decls:52,vars:42,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input",3,"ngClass"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input",3,"ngClass"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"form",1),f("ngSubmit",function(){return l.onSubmit(l.form)}),i(2,"div",2)(3,"h5",3),m(4),a(5,"translate"),t(),i(6,"button",4),a(7,"translate"),f("click",function(){return l.dismissModal()}),t()(),i(8,"div",5)(9,"div",6),p(10,"i",7),t(),i(11,"ul",8)(12,"li",9)(13,"label",10),m(14),a(15,"translate"),t(),i(16,"div",11),p(17,"input",12),a(18,"translate"),t()(),i(19,"li",9)(20,"label",13),m(21),a(22,"translate"),t(),i(23,"div",11),p(24,"input",14),a(25,"translate"),t()(),i(26,"li",9)(27,"label",15),m(28),a(29,"translate"),t(),i(30,"div",11),p(31,"input",16),a(32,"translate"),t()(),w(33,Be,7,9,"li",9),i(34,"li",17)(35,"span",18),m(36),a(37,"translate"),t(),i(38,"div",19),p(39,"input",20),a(40,"translate"),p(41,"label",21),t()()()(),i(42,"div",22)(43,"div",18)(44,"button",23),f("click",function(){return l.dismissModal()}),m(45),a(46,"translate"),t()(),p(47,"div",24),i(48,"div",25)(49,"button",26),m(50),a(51,"translate"),t()()()()()),s&2&&(e(),b("formGroup",l.form),e(3),d(o(5,16,"users.title_edit_user")),e(2),u("aria-label",o(7,18,"form.button_close")),e(8),d(o(15,20,"users.label_username")),e(3),u("aria-label",o(18,22,"users.label_username")),e(4),d(o(22,24,"users.label_full_name")),e(3),u("aria-label",o(25,26,"users.label_full_name")),e(4),d(o(29,28,"users.label_new_password")),e(3),b("ngClass",D(40,fe,l.form.controls.password.dirty&&l.form.controls.password.errors)),u("aria-label",o(32,30,"users.label_new_password")),e(2),h(l.form.controls.password.value?33:-1),e(3),d(o(37,32,"users.label_admin_user")),e(3),u("aria-label",o(40,34,"users.label_admin_user")),e(6),x(" ",o(46,36,"form.button_close")," "),e(4),b("disabled",!l.form.valid||l.isFormUnchanged()),e(),x(" ",o(51,38,"form.button_save")," "))},dependencies:[A,R,F,q,V,z,G,L,J,j,E],encapsulation:2})}return r})();var _e=(()=>{class r{$activeModal=c(k);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["ng-component"]],decls:46,vars:36,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,"fa","fa-fw","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"mb-2","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),m(4),a(5,"translate"),t(),i(6,"button",3),a(7,"translate"),f("click",function(){return l.dismissModal()}),t()(),i(8,"div",4)(9,"div",5),p(10,"i",6),t(),i(11,"h5",7),m(12),a(13,"translate"),t(),i(14,"ul",8)(15,"li"),m(16),a(17,"translate"),t(),i(18,"ul",9)(19,"li"),m(20),a(21,"translate"),t(),i(22,"li"),m(23),a(24,"translate"),t(),i(25,"li"),m(26),a(27,"translate"),a(28,"translate"),t(),i(29,"li"),m(30),a(31,"translate"),t(),i(32,"li"),m(33),a(34,"translate"),t()(),i(35,"li"),m(36),a(37,"translate"),t()(),p(38,"app-support-banner"),t(),i(39,"div",10),p(40,"div",11),i(41,"div",12)(42,"button",13),f("click",function(){return l.dismissModal()}),m(43),a(44,"translate"),t()(),p(45,"div",14),t()()()),s&2&&(e(4),d(o(5,12,"support.title")),e(2),u("aria-label",o(7,14,"form.button_close")),e(6),d(o(13,16,"users.title_users")),e(4),d(o(17,18,"users.support.acc_1")),e(4),d(o(21,20,"menu.label_status")),e(3),d(o(24,22,"menu.label_plugins")),e(3),ee("",o(27,24,"menu.label_accessories")," (",o(28,26,"users.support.control"),")"),e(4),d(o(31,28,"menu.linux.label_logs")),e(3),d(o(34,30,"support.title")),e(3),d(o(37,32,"users.support.acc_2")),e(7),x(" ",o(44,34,"form.button_close")," "))},dependencies:[le,E],encapsulation:2})}return r})();var Me=(r,C)=>({"fa-user-secret":r,"fa-user":C});function Ie(r,C){if(r&1){let n=I();i(0,"button",23),f("click",function(){$(n);let l=_(2).$implicit,v=_();return U(v.disable2fa(l))}),m(1),a(2,"translate"),t()}if(r&2){let n=_(2).$implicit,s=_();b("disabled",n.username!==s.username),e(),x(" ",o(2,2,"users.setup_2fa_disable")," ")}}function De(r,C){if(r&1){let n=I();i(0,"button",24),f("click",function(){$(n);let l=_(2).$implicit,v=_();return U(v.setup2fa(l))}),m(1),a(2,"translate"),t()}if(r&2){let n=_(2).$implicit,s=_();b("disabled",n.username!==s.username),e(),x(" ",o(2,2,"users.setup_2fa")," ")}}function Fe(r,C){if(r&1&&w(0,Ie,3,4,"button",21)(1,De,3,4,"button",22),r&2){let n=_().$implicit;h(n.otpActive?0:1)}}function Ve(r,C){r&1&&p(0,"div")}function Ne(r,C){if(r&1){let n=I();i(0,"div",9)(1,"div",10)(2,"div",11)(3,"div",12)(4,"span",13)(5,"h4"),m(6),t(),i(7,"h5",14),p(8,"i",15),m(9),t()()(),i(10,"div",16),w(11,Fe,2,1)(12,Ve,1,0,"div"),i(13,"div")(14,"button",17),a(15,"translate"),f("click",function(){let l=$(n).$implicit,v=_();return U(v.openEditUser(l))}),p(16,"i",18),t(),i(17,"button",19),a(18,"translate"),f("click",function(){let l=$(n).$implicit,v=_();return U(v.deleteUser(l.id))}),p(19,"i",20),t()()()()()()}if(r&2){let n=C.$implicit,s=_();e(6),d(n.name),e(2),b("ngClass",te(11,Me,n.admin,!n.admin)),e(),x(" ",n.username," "),e(2),h(n.admin?11:12),e(3),u("aria-label",o(15,7,"form.button_edit")),e(3),b("disabled",s.username===n.username),u("aria-label",o(18,9,"form.button_delete"))}}var zt=(()=>{class r{$api=c(M);$auth=c(H);$modal=c(ae);$route=c(oe);$toastr=c(B);$translate=c(T);homebridgeUsers=[];username=this.$auth.user.username;isAdmin=this.$auth.user.admin;ngOnInit(){this.$route.data.subscribe(n=>{this.homebridgeUsers=n.homebridgeUsers})}reloadUsers(){return this.$api.get("/users").subscribe(n=>{this.homebridgeUsers=n})}openAddNewUser(){this.$modal.open(ue,{size:"lg",backdrop:"static"}).result.finally(()=>{this.reloadUsers()})}openEditUser(n){let s=this.$modal.open(be,{size:"lg",backdrop:"static"});s.componentInstance.user=n,s.result.finally(()=>{this.reloadUsers()})}deleteUser(n){this.$api.delete(`/users/${n}`).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()},error:s=>{console.error(s),this.$toastr.error(s.error?.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(n){let s=this.$modal.open(de,{size:"lg",backdrop:"static"});s.componentInstance.user=n,s.result.finally(()=>{this.reloadUsers()})}disable2fa(n){let s=this.$modal.open(me,{size:"lg",backdrop:"static"});s.componentInstance.user=n,s.result.finally(()=>{this.reloadUsers()})}openSupport(){this.$modal.open(_e,{size:"lg",backdrop:"static"})}static \u0275fac=function(s){return new(s||r)};static \u0275cmp=y({type:r,selectors:[["app-users"]],decls:15,vars:9,consts:[[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"btn","btn-elegant","waves-effect","m-0","me-2",3,"click"],[1,"fas","fa-fw","fa-user-plus"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[1,"small","text-truncate","grey-text"],[1,"fas","fa-fw",3,"ngClass"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-fw","fa-trash"],[1,"btn","btn-elegant","m-0",3,"disabled"],[1,"btn","btn-primary","m-0",3,"disabled"],[1,"btn","btn-elegant","m-0",3,"click","disabled"],[1,"btn","btn-primary","m-0",3,"click","disabled"]],template:function(s,l){s&1&&(i(0,"div",0)(1,"div",1)(2,"h3",2),m(3),a(4,"translate"),t()(),i(5,"div",3)(6,"button",4),a(7,"translate"),f("click",function(){return l.openAddNewUser()}),p(8,"i",5),t(),i(9,"button",6),a(10,"translate"),f("click",function(){return l.openSupport()}),p(11,"i",7),t()()(),i(12,"div",8),Y(13,Ne,20,14,"div",9,X),t()),s&2&&(e(3),d(o(4,3,"users.title_users")),e(3),u("aria-label",o(7,5,"users.button_add_user")),e(3),u("aria-label",o(10,7,"support.title")),e(4),Z(l.homebridgeUsers))},dependencies:[j,E],encapsulation:2})}return r})();export{zt as UsersComponent};