homebridge-config-ui-x 5.4.2-beta.7 → 5.4.2-beta.9

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 (88) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/dist/modules/accessories/accessories.service.js +5 -1
  3. package/dist/modules/accessories/accessories.service.js.map +1 -1
  4. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  5. package/dist/modules/plugins/plugins.service.js +27 -15
  6. package/dist/modules/plugins/plugins.service.js.map +1 -1
  7. package/package.json +10 -5
  8. package/public/chunk-2CO3VBPY.js +1 -0
  9. package/public/{chunk-YZHAZSGE.js → chunk-3I6K5KUV.js} +1 -1
  10. package/public/{chunk-4MSFCTVQ.js → chunk-4WAU3AJS.js} +1 -1
  11. package/public/{chunk-ZY6Y43WL.js → chunk-5TCYRJ6A.js} +1 -1
  12. package/public/{chunk-4F3BAQ5O.js → chunk-5VA2P7IY.js} +1 -1
  13. package/public/{chunk-KIMRA3K7.js → chunk-6GMXEQVA.js} +1 -1
  14. package/public/{chunk-2XWUBKEU.js → chunk-77JZBWAC.js} +1 -1
  15. package/public/{chunk-7UI7QM4V.js → chunk-7LW4MGOQ.js} +1 -1
  16. package/public/{chunk-V2NELL63.js → chunk-AE7VAWOU.js} +1 -1
  17. package/public/{chunk-KJFP33AO.js → chunk-BBMQHM5Y.js} +1 -1
  18. package/public/{chunk-4NCLSTUB.js → chunk-BOJ5G5BR.js} +1 -1
  19. package/public/{chunk-RRPADCBT.js → chunk-BU65ZOCD.js} +1 -1
  20. package/public/{chunk-6V5YFV75.js → chunk-CCPSSGRZ.js} +1 -1
  21. package/public/{chunk-GHMXPHAP.js → chunk-CNMM42I5.js} +1 -1
  22. package/public/{chunk-CR4ZBYZW.js → chunk-D3JHDB7S.js} +1 -1
  23. package/public/{chunk-BMX3HHRX.js → chunk-DP64F7AR.js} +1 -1
  24. package/public/{chunk-7SEIUUE7.js → chunk-DYJDYESS.js} +1 -1
  25. package/public/{chunk-M425JDIT.js → chunk-E6YWZCLV.js} +1 -1
  26. package/public/{chunk-QRNW5KEK.js → chunk-EA3EXGPZ.js} +1 -1
  27. package/public/{chunk-NWUQOZLK.js → chunk-EOD26MLT.js} +1 -1
  28. package/public/{chunk-6OUDSSXN.js → chunk-F5LCQLBC.js} +1 -1
  29. package/public/chunk-FXX7OM3C.js +40 -0
  30. package/public/{chunk-77UFZWOO.js → chunk-G7FA4DP4.js} +1 -1
  31. package/public/{chunk-JWMUHHT5.js → chunk-GSI45GAI.js} +1 -1
  32. package/public/{chunk-3CKT2OQ7.js → chunk-H36QJYLQ.js} +3 -3
  33. package/public/{chunk-I4Z2M6DW.js → chunk-H3PPMCMP.js} +1 -1
  34. package/public/{chunk-SRK7ZHJU.js → chunk-H5ZWWQ4N.js} +1 -1
  35. package/public/{chunk-6I6TS7NS.js → chunk-I2TETZLW.js} +1 -1
  36. package/public/{chunk-X2QQNXTE.js → chunk-ICTLVT6T.js} +1 -1
  37. package/public/{chunk-KXDI62KE.js → chunk-J2QJA4E5.js} +1 -1
  38. package/public/chunk-JIAMQ2VI.js +1 -0
  39. package/public/{chunk-Z4TBQ5ME.js → chunk-KJ7TFOAF.js} +1 -1
  40. package/public/{chunk-IENA5L67.js → chunk-L452FIUI.js} +1 -1
  41. package/public/{chunk-QK4KTNPQ.js → chunk-LPHTUMGC.js} +1 -1
  42. package/public/{chunk-KCU6EMJC.js → chunk-MLQP4BIF.js} +1 -1
  43. package/public/chunk-N2DFJK5J.js +1 -0
  44. package/public/{chunk-EEI3BPIT.js → chunk-NFWGYMP7.js} +1 -1
  45. package/public/chunk-NGCBLX4N.js +1 -0
  46. package/public/{chunk-OXSXPR4C.js → chunk-NJOBXAPT.js} +1 -1
  47. package/public/{chunk-VBNG2YQZ.js → chunk-NQUU3I4B.js} +1 -1
  48. package/public/{chunk-RMAGF64Q.js → chunk-OKJ3EDLI.js} +1 -1
  49. package/public/{chunk-Q4UWK2FE.js → chunk-OPI4KEXA.js} +1 -1
  50. package/public/{chunk-JQJAMZI2.js → chunk-PGN4W67A.js} +1 -1
  51. package/public/{chunk-FZEXQZ5N.js → chunk-PJQJ4U6H.js} +1 -1
  52. package/public/{chunk-WST3XDBS.js → chunk-Q76LRRNA.js} +1 -1
  53. package/public/{chunk-2AOMAYLO.js → chunk-QKX6ZW6V.js} +1 -1
  54. package/public/{chunk-ZRXHCE63.js → chunk-QTPZZ54U.js} +1 -1
  55. package/public/chunk-R2OFMY4D.js +1 -0
  56. package/public/{chunk-AAAB34AQ.js → chunk-RVZECQBJ.js} +1 -1
  57. package/public/{chunk-YTNU24TR.js → chunk-SAZZA33Y.js} +1 -1
  58. package/public/{chunk-2L22XQX2.js → chunk-SJ3DSNFF.js} +1 -1
  59. package/public/{chunk-TQMERWYR.js → chunk-SNHTHMX3.js} +1 -1
  60. package/public/{chunk-NJ4ZO76F.js → chunk-TGOCI72Q.js} +1 -1
  61. package/public/{chunk-NORLI5CD.js → chunk-U2KAF42T.js} +1 -1
  62. package/public/{chunk-N6WB5CGQ.js → chunk-UHWT4HS2.js} +1 -1
  63. package/public/{chunk-IA32PJPE.js → chunk-UKLR7UOX.js} +1 -1
  64. package/public/chunk-UOLP7IQJ.js +1 -0
  65. package/public/chunk-UQX3UTFZ.js +4 -0
  66. package/public/{chunk-QUBAEQEC.js → chunk-V2P2FPJ7.js} +1 -1
  67. package/public/{chunk-SLXQKTB6.js → chunk-VU6MPE5H.js} +1 -1
  68. package/public/chunk-WV56IURB.js +30 -0
  69. package/public/{chunk-YSS66NWX.js → chunk-X7YL6WTA.js} +1 -1
  70. package/public/{chunk-J2JC6ZWM.js → chunk-XHYVOBCA.js} +1 -1
  71. package/public/{chunk-BZOIXE5M.js → chunk-XJZGI5OR.js} +1 -1
  72. package/public/{chunk-SRHJQ5GP.js → chunk-YATJTZML.js} +1 -1
  73. package/public/{chunk-Z6JMYIUL.js → chunk-YXI6VAVI.js} +1 -1
  74. package/public/{chunk-QPF5PFRM.js → chunk-Z3CXF63X.js} +1 -1
  75. package/public/{chunk-27YDRGYU.js → chunk-Z7BM53JV.js} +1 -1
  76. package/public/{chunk-UFVCERK3.js → chunk-ZHPB347D.js} +1 -1
  77. package/public/index.html +2 -2
  78. package/public/{main-PCGBMA6M.js → main-BZ3XOOI6.js} +1 -1
  79. package/public/{styles-LKRXKJ7O.css → styles-AUT3PDLG.css} +1 -1
  80. package/public/chunk-456M2QQG.js +0 -4
  81. package/public/chunk-4HFHNSTN.js +0 -1
  82. package/public/chunk-6WJPBOPW.js +0 -1
  83. package/public/chunk-7Q6VGFH2.js +0 -1
  84. package/public/chunk-BWN7SS7H.js +0 -30
  85. package/public/chunk-EQ64EQAS.js +0 -40
  86. package/public/chunk-MFTJIWVF.js +0 -1
  87. package/public/chunk-TNZKTZDM.js +0 -1
  88. package/public/chunk-WZ6F47WI.js +0 -1
@@ -1 +1 @@
1
- import{a as H}from"./chunk-6I6TS7NS.js";import{a as X}from"./chunk-OXSXPR4C.js";import{a as Z}from"./chunk-SRHJQ5GP.js";import"./chunk-UFVCERK3.js";import{a as R}from"./chunk-4MSFCTVQ.js";import{n as E}from"./chunk-QRNW5KEK.js";import"./chunk-GHMXPHAP.js";import{a as j}from"./chunk-RMAGF64Q.js";import{b as A}from"./chunk-YSS66NWX.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-WZ6F47WI.js";import{b as T}from"./chunk-M425JDIT.js";import{m as $}from"./chunk-6WJPBOPW.js";import{a as L,b as U}from"./chunk-77UFZWOO.js";import"./chunk-KIMRA3K7.js";import{Cc as h,Dc as M,Hb as m,Ib as x,Jb as y,Jc as s,Kc as d,Ob as c,Pb as n,Qb as a,Rb as p,_b as S,ab as o,bc as _,dc as C,fb as F,g as Y,h as I,id as O,ka as u,mb as P,qa as b,qc as f,ra as w,rc as v,w as z,yd as K}from"./chunk-3CKT2OQ7.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var B=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/plugins"],re=()=>["/accessories"],ae=()=>["/logs"],se=()=>["/support"],de=()=>["/platform-tools/terminal"],le=()=>["/config"],pe=()=>["/settings"],ce=()=>["/power-options"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),s(2,"translate"),s(3,"translate"),_("click",function(){b(e);let t=C();return w(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",21),a(),n(6,"div",14),f(7),s(8,"translate"),a()()()}i&2&&(o(),m("aria-label",d(2,2,"rpi.throttled.undervoltage_title")+" - "+d(3,4,"rpi.throttled.undervoltage_description")),o(6),v(d(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),s(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,de))("routerLinkActive","active"),m("aria-label",d(2,4,"menu.linux.label_terminal")),o(5),v(d(7,6,"menu.linux.label_terminal")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),s(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,le))("routerLinkActive","active"),m("aria-label",d(2,4,"menu.config_json_editor")),o(5),v(d(7,6,"menu.config_json_editor")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),s(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,pe))("routerLinkActive","active"),m("aria-label",d(2,4,"menu.label_settings")),o(5),v(d(7,6,"menu.label_settings")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),s(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,ce))("routerLinkActive","active"),m("aria-label",d(2,4,"menu.restart.title")),o(5),v(d(7,6,"menu.restart.title")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),s(2,"translate"),_("click",function(){b(e);let t=C();return w(t.reloadPage())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),m("aria-label",d(2,2,"menu.reload")),o(5),v(d(7,4,"menu.reload")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),s(2,"translate"),_("click",function(){b(e);let t=C();return w(t.logout())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),s(7,"translate"),a()()()}i&2&&(o(),m("aria-label",d(2,2,"menu.tooltip_logout")),o(5),v(d(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{$auth=u(A);$settings=u(T);$modal=u(E);$notification=u(X);$renderer=u(F);$router=u(V);$translate=u(L);isExpanded=!1;formAuth=this.$settings.formAuth;isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.subscribe(l=>{l instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)}),this.$notification.formAuthEnabled.subscribe(r=>{this.formAuth=r});let e=document.querySelector(".sidebar"),l=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!l.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),l.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),l.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}openUnderVoltageModal(){let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let l=e.target;["menuitem","button"].includes(l.getAttribute("role"))&&l.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=P({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:68,vars:75,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","../../../../assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-power-off"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(l,t){l&1&&(n(0,"div",0),s(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),p(2,"span",1),n(3,"a",2),s(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),n(15,"a",2),s(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),s(23,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),s(28,"translate"),a()()(),x(29,me,9,8,"div",10),n(30,"div",10)(31,"div",15),s(32,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(33,"div",12),p(34,"i",16),a(),n(35,"div",14),f(36),s(37,"translate"),a()()(),n(38,"div",10)(39,"div",15),s(40,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(41,"div",12),p(42,"i",17),a(),n(43,"div",14),f(44),s(45,"translate"),a()()(),n(46,"div",10)(47,"div",15),s(48,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(49,"div",12),p(50,"i",18),a(),n(51,"div",14),f(52),s(53,"translate"),a()()(),x(54,ue,8,9,"div",10),x(55,_e,8,9,"div",10),x(56,fe,8,9,"div",10),n(57,"div",10)(58,"div",15),s(59,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(60,"div",12),p(61,"i",19),a(),n(62,"div",14),f(63),s(64,"translate"),a()()(),x(65,ge,8,9,"div",10),x(66,ve,8,6,"div",10),x(67,he,8,6,"div",10),a()()),l&2&&(m("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",d(1,37,"menu.sidebar.aria_menu")),o(3),c("routerLink",h(63,B)),m("aria-label",d(4,39,"menu.label_status")),o(5),c("ngClass",M(64,te,t.isExpanded)),o(5),c("ngClass",M(66,ne,t.isExpanded)),o(2),c("routerLink",h(68,B)),m("aria-label",d(16,41,"menu.label_status")),o(7),c("routerLink",h(69,B))("routerLinkActive","active")("routerLinkActiveOptions",h(70,ie)),m("aria-label",d(23,43,"menu.label_status")),o(5),v(d(28,45,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(2),c("routerLink",h(71,oe))("routerLinkActive","active"),m("aria-label",d(32,47,"menu.label_plugins")),o(5),v(d(37,49,"menu.label_plugins")),o(3),c("routerLink",h(72,re))("routerLinkActive","active"),m("aria-label",d(40,51,"menu.label_accessories")),o(5),v(d(45,53,"menu.label_accessories")),o(3),c("routerLink",h(73,ae))("routerLinkActive","active"),m("aria-label",d(48,55,"menu.linux.label_logs")),o(5),v(d(53,57,"menu.linux.label_logs")),o(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),o(),y(t.isAdmin?55:-1),o(),y(t.isAdmin?56:-1),o(2),c("routerLink",h(74,se))("routerLinkActive","active"),m("aria-label",d(59,59,"support.title")),o(5),v(d(64,61,"support.title")),o(2),y(t.isAdmin?65:-1),o(),y(t.isPwa?66:-1),o(),y(t.formAuth?67:-1))},dependencies:[N,K,O,D,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 80px)!important}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=u(A);$modal=u(E);$router=u(V);$settings=u(T);$translate=u(L);$ws=u(j);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return I(this,null,function*(){if(this.$settings.settingsLoaded||(yield z(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,$.serverTarget)){console.log(`Server restart required. UI Version: ${$.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:$.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=P({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(l,t){l&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),l&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,be,t.sidebarExpanded)))},dependencies:[J,O,q],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return i})();export{He as LayoutComponent};
1
+ import{a as H}from"./chunk-I2TETZLW.js";import{a as X}from"./chunk-NJOBXAPT.js";import{a as Z}from"./chunk-YATJTZML.js";import"./chunk-ZHPB347D.js";import{a as R}from"./chunk-4WAU3AJS.js";import{n as E}from"./chunk-EA3EXGPZ.js";import"./chunk-CNMM42I5.js";import{a as j}from"./chunk-OKJ3EDLI.js";import{b as A}from"./chunk-X7YL6WTA.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-UOLP7IQJ.js";import{b as T}from"./chunk-E6YWZCLV.js";import{m as $}from"./chunk-2CO3VBPY.js";import{a as L,b as U}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Cc as h,Dc as M,Hb as m,Ib as x,Jb as y,Jc as d,Kc as s,Ob as c,Pb as n,Qb as a,Rb as p,_b as S,ab as o,bc as _,dc as C,fb as F,g as Y,h as I,id as O,ka as u,mb as P,qa as b,qc as f,ra as w,rc as v,w as z,yd as K}from"./chunk-H36QJYLQ.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var B=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/plugins"],re=()=>["/accessories"],ae=()=>["/logs"],de=()=>["/support"],se=()=>["/platform-tools/terminal"],le=()=>["/config"],pe=()=>["/settings"],ce=()=>["/power-options"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=C();return w(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",21),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"rpi.throttled.undervoltage_title")+" - "+s(3,4,"rpi.throttled.undervoltage_description")),o(6),v(s(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,se))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.linux.label_terminal")),o(5),v(s(7,6,"menu.linux.label_terminal")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,le))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.config_json_editor")),o(5),v(s(7,6,"menu.config_json_editor")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,pe))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.label_settings")),o(5),v(s(7,6,"menu.label_settings")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,ce))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.restart.title")),o(5),v(s(7,6,"menu.restart.title")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=C();return w(t.reloadPage())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"menu.reload")),o(5),v(s(7,4,"menu.reload")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=C();return w(t.logout())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"menu.tooltip_logout")),o(5),v(s(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{$auth=u(A);$settings=u(T);$modal=u(E);$notification=u(X);$renderer=u(F);$router=u(V);$translate=u(L);isExpanded=!1;formAuth=this.$settings.formAuth;isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.subscribe(l=>{l instanceof W&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)}),this.$notification.formAuthEnabled.subscribe(r=>{this.formAuth=r});let e=document.querySelector(".sidebar"),l=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!l.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),l.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),l.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}openUnderVoltageModal(){let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let l=e.target;["menuitem","button"].includes(l.getAttribute("role"))&&l.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=P({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:68,vars:75,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","../../../../assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-power-off"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(l,t){l&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),x(29,me,9,8,"div",10),n(30,"div",10)(31,"div",15),d(32,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(33,"div",12),p(34,"i",16),a(),n(35,"div",14),f(36),d(37,"translate"),a()()(),n(38,"div",10)(39,"div",15),d(40,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(41,"div",12),p(42,"i",17),a(),n(43,"div",14),f(44),d(45,"translate"),a()()(),n(46,"div",10)(47,"div",15),d(48,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(49,"div",12),p(50,"i",18),a(),n(51,"div",14),f(52),d(53,"translate"),a()()(),x(54,ue,8,9,"div",10),x(55,_e,8,9,"div",10),x(56,fe,8,9,"div",10),n(57,"div",10)(58,"div",15),d(59,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(60,"div",12),p(61,"i",19),a(),n(62,"div",14),f(63),d(64,"translate"),a()()(),x(65,ge,8,9,"div",10),x(66,ve,8,6,"div",10),x(67,he,8,6,"div",10),a()()),l&2&&(m("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",s(1,37,"menu.sidebar.aria_menu")),o(3),c("routerLink",h(63,B)),m("aria-label",s(4,39,"menu.label_status")),o(5),c("ngClass",M(64,te,t.isExpanded)),o(5),c("ngClass",M(66,ne,t.isExpanded)),o(2),c("routerLink",h(68,B)),m("aria-label",s(16,41,"menu.label_status")),o(7),c("routerLink",h(69,B))("routerLinkActive","active")("routerLinkActiveOptions",h(70,ie)),m("aria-label",s(23,43,"menu.label_status")),o(5),v(s(28,45,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(2),c("routerLink",h(71,oe))("routerLinkActive","active"),m("aria-label",s(32,47,"menu.label_plugins")),o(5),v(s(37,49,"menu.label_plugins")),o(3),c("routerLink",h(72,re))("routerLinkActive","active"),m("aria-label",s(40,51,"menu.label_accessories")),o(5),v(s(45,53,"menu.label_accessories")),o(3),c("routerLink",h(73,ae))("routerLinkActive","active"),m("aria-label",s(48,55,"menu.linux.label_logs")),o(5),v(s(53,57,"menu.linux.label_logs")),o(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),o(),y(t.isAdmin?55:-1),o(),y(t.isAdmin?56:-1),o(2),c("routerLink",h(74,de))("routerLinkActive","active"),m("aria-label",s(59,59,"support.title")),o(5),v(s(64,61,"support.title")),o(2),y(t.isAdmin?65:-1),o(),y(t.isPwa?66:-1),o(),y(t.formAuth?67:-1))},dependencies:[N,K,O,D,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 80px)!important}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=u(A);$modal=u(E);$router=u(V);$settings=u(T);$translate=u(L);$ws=u(j);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return I(this,null,function*(){if(this.$settings.settingsLoaded||(yield z(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,$.serverTarget)){console.log(`Server restart required. UI Version: ${$.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:$.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(l){return new(l||i)};static \u0275cmp=P({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(l,t){l&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),l&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,be,t.sidebarExpanded)))},dependencies:[J,O,q],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return i})();export{He as LayoutComponent};
@@ -1,4 +1,4 @@
1
- import{a as z,b as A,c as k}from"./chunk-V2NELL63.js";import{a as l}from"./chunk-RMAGF64Q.js";import{M as n,fa as c,g as r,ka as d,n as h}from"./chunk-3CKT2OQ7.js";var f=r(z(),1),a=r(A(),1),p=r(k(),1);var $=(()=>{class t{$ws=d(l);io;fitAddon;webLinksAddon;resize;elementResize;pluginName;term;startTerminal(m,s={},u,w){this.pluginName=w,this.elementResize=u,this.io=this.$ws.connectToNamespace("log"),this.term=new p.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new f.FitAddon,this.webLinksAddon=new a.WebLinksAddon,this.resize=new h,this.term.open(m.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as z,b as A,c as k}from"./chunk-AE7VAWOU.js";import{a as l}from"./chunk-OKJ3EDLI.js";import{M as n,fa as c,g as r,ka as d,n as h}from"./chunk-H36QJYLQ.js";var f=r(z(),1),a=r(A(),1),p=r(k(),1);var $=(()=>{class t{$ws=d(l);io;fitAddon;webLinksAddon;resize;elementResize;pluginName;term;startTerminal(m,s={},u,w){this.pluginName=w,this.elementResize=u,this.io=this.$ws.connectToNamespace("log"),this.term=new p.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new f.FitAddon,this.webLinksAddon=new a.WebLinksAddon,this.resize=new h,this.term.open(m.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rWebsocket failed to connect. Is the server running?
4
4
  \r
@@ -1 +1 @@
1
- import{k as et,n as it}from"./chunk-6WJPBOPW.js";import{a as tt}from"./chunk-77UFZWOO.js";import{l as X}from"./chunk-KIMRA3K7.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-3CKT2OQ7.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",E="quarter",S="year",x="date",Z="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:E}[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()!==Z},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||Z;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 E: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}(),B=V.prototype;return g.prototype=B,[["$ms",h],["$s",d],["$m",m],["$H",M],["$W",y],["$M",b],["$y",S],["$D",x]].forEach(function(r){B[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;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)})}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
+ import{k as et,n as it}from"./chunk-2CO3VBPY.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",E="quarter",S="year",x="date",Z="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:E}[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()!==Z},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||Z;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 E: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}(),B=V.prototype;return g.prototype=B,[["$ms",h],["$s",d],["$m",m],["$H",M],["$W",y],["$M",b],["$y",S],["$D",x]].forEach(function(r){B[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;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)})}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,4 +1,4 @@
1
- import{a as On}from"./chunk-GHMXPHAP.js";import{$ as B,$b as ee,Bc as vi,Ca as je,Da as ai,Dc as yn,E as X,Ea as li,F as nn,Fa as W,Fc as bn,Gb as ui,H as Fe,Hb as he,I as ni,Ib as kt,J as It,Jb as Bt,Kb as hi,Lb as un,Mb as Pt,Mc as wn,Nb as At,O as tt,Ob as We,P as on,Pb as pi,Q as sn,Qb as fi,R as rn,Rb as hn,Sb as rt,Tb as at,Ub as pn,Wc as _e,Xb as fn,Y as an,Yb as _n,Z as ln,Zb as mn,_ as oi,_b as _i,_c as Ht,a as Mt,aa as it,ab as ke,b as ii,ba as Rt,bc as pe,cb as ot,cc as gn,dc as ce,ea as si,ec as lt,fa as K,fc as ct,ga as I,gc as fe,hc as Gt,ia as cn,ib as ci,ic as q,jc as Y,k as Ct,ka as d,mb as me,mc as vn,md as yi,n as j,nb as R,o as en,oa as ri,ob as T,oc as P,p as Tt,pc as Oe,qa as St,qb as di,qc as mi,r as et,ra as Nt,rb as dn,rc as gi,sb as xt,ua as re,ub as O,va as ae,vb as le,wa as nt,wb as Ft,x as xe,xb as st,z as tn}from"./chunk-3CKT2OQ7.js";function dt(t){t||(t=d(nt));let e=new Ct(s=>{if(t.destroyed){s.next();return}return t.onDestroy(s.next.bind(s))});return s=>s.pipe(B(e))}var S="top",L="bottom",A="right",x="left",Ut="auto",De=[S,L,A,x],ge="start",Be="end",Dn="clippingParents",Lt="viewport",ze="popper",En="reference",bi=De.reduce(function(t,e){return t.concat([e+"-"+ge,e+"-"+Be])},[]),Vt=[].concat(De,[Ut]).reduce(function(t,e){return t.concat([e,e+"-"+ge,e+"-"+Be])},[]),To="beforeRead",Io="read",Ro="afterRead",So="beforeMain",No="main",xo="afterMain",Fo="beforeWrite",ko="write",Bo="afterWrite",Mn=[To,Io,Ro,So,No,xo,Fo,ko,Bo];function G(t){return t?(t.nodeName||"").toLowerCase():null}function D(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function te(t){var e=D(t).Element;return t instanceof e||t instanceof Element}function F(t){var e=D(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Xe(t){if(typeof ShadowRoot>"u")return!1;var e=D(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Po(t){var e=t.state;Object.keys(e.elements).forEach(function(s){var i=e.styles[s]||{},n=e.attributes[s]||{},o=e.elements[s];!F(o)||!G(o)||(Object.assign(o.style,i),Object.keys(n).forEach(function(r){var a=n[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function Ao(t){var e=t.state,s={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,s.popper),e.styles=s,e.elements.arrow&&Object.assign(e.elements.arrow.style,s.arrow),function(){Object.keys(e.elements).forEach(function(i){var n=e.elements[i],o=e.attributes[i]||{},r=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:s[i]),a=r.reduce(function(l,u){return l[u]="",l},{});!F(n)||!G(n)||(Object.assign(n.style,a),Object.keys(o).forEach(function(l){n.removeAttribute(l)}))})}}var Cn={name:"applyStyles",enabled:!0,phase:"write",fn:Po,effect:Ao,requires:["computeStyles"]};function H(t){return t.split("-")[0]}var de=Math.max,Pe=Math.min,ve=Math.round;function Ke(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function ut(){return!/^((?!chrome|android).)*safari/i.test(Ke())}function ie(t,e,s){e===void 0&&(e=!1),s===void 0&&(s=!1);var i=t.getBoundingClientRect(),n=1,o=1;e&&F(t)&&(n=t.offsetWidth>0&&ve(i.width)/t.offsetWidth||1,o=t.offsetHeight>0&&ve(i.height)/t.offsetHeight||1);var r=te(t)?D(t):window,a=r.visualViewport,l=!ut()&&s,u=(i.left+(l&&a?a.offsetLeft:0))/n,c=(i.top+(l&&a?a.offsetTop:0))/o,_=i.width/n,p=i.height/o;return{width:_,height:p,top:c,right:u+_,bottom:c+p,left:u,x:u,y:c}}function Ae(t){var e=ie(t),s=t.offsetWidth,i=t.offsetHeight;return Math.abs(e.width-s)<=1&&(s=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:t.offsetLeft,y:t.offsetTop,width:s,height:i}}function ht(t,e){var s=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(s&&Xe(s)){var i=e;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Q(t){return D(t).getComputedStyle(t)}function wi(t){return["table","td","th"].indexOf(G(t))>=0}function V(t){return((te(t)?t.ownerDocument:t.document)||window.document).documentElement}function ye(t){return G(t)==="html"?t:t.assignedSlot||t.parentNode||(Xe(t)?t.host:null)||V(t)}function Tn(t){return!F(t)||Q(t).position==="fixed"?null:t.offsetParent}function Go(t){var e=/firefox/i.test(Ke()),s=/Trident/i.test(Ke());if(s&&F(t)){var i=Q(t);if(i.position==="fixed")return null}var n=ye(t);for(Xe(n)&&(n=n.host);F(n)&&["html","body"].indexOf(G(n))<0;){var o=Q(n);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return n;n=n.parentNode}return null}function ue(t){for(var e=D(t),s=Tn(t);s&&wi(s)&&Q(s).position==="static";)s=Tn(s);return s&&(G(s)==="html"||G(s)==="body"&&Q(s).position==="static")?e:s||Go(t)||e}function Ge(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function He(t,e,s){return de(t,Pe(e,s))}function In(t,e,s){var i=He(t,e,s);return i>s?s:i}function pt(){return{top:0,right:0,bottom:0,left:0}}function ft(t){return Object.assign({},pt(),t)}function _t(t,e){return e.reduce(function(s,i){return s[i]=t,s},{})}var Ho=function(e,s){return e=typeof e=="function"?e(Object.assign({},s.rects,{placement:s.placement})):e,ft(typeof e!="number"?e:_t(e,De))};function Uo(t){var e,s=t.state,i=t.name,n=t.options,o=s.elements.arrow,r=s.modifiersData.popperOffsets,a=H(s.placement),l=Ge(a),u=[x,A].indexOf(a)>=0,c=u?"height":"width";if(!(!o||!r)){var _=Ho(n.padding,s),p=Ae(o),h=l==="y"?S:x,v=l==="y"?L:A,f=s.rects.reference[c]+s.rects.reference[l]-r[l]-s.rects.popper[c],m=r[l]-s.rects.reference[l],w=ue(o),E=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,C=f/2-m/2,g=_[h],y=E-p[c]-_[v],b=E/2-p[c]/2+C,M=He(g,b,y),U=l;s.modifiersData[i]=(e={},e[U]=M,e.centerOffset=M-b,e)}}function Lo(t){var e=t.state,s=t.options,i=s.element,n=i===void 0?"[data-popper-arrow]":i;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||ht(e.elements.popper,n)&&(e.elements.arrow=n))}var Oi={name:"arrow",enabled:!0,phase:"main",fn:Uo,effect:Lo,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ne(t){return t.split("-")[1]}var Vo={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $o(t,e){var s=t.x,i=t.y,n=e.devicePixelRatio||1;return{x:ve(s*n)/n||0,y:ve(i*n)/n||0}}function Rn(t){var e,s=t.popper,i=t.popperRect,n=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,_=t.isFixed,p=r.x,h=p===void 0?0:p,v=r.y,f=v===void 0?0:v,m=typeof c=="function"?c({x:h,y:f}):{x:h,y:f};h=m.x,f=m.y;var w=r.hasOwnProperty("x"),E=r.hasOwnProperty("y"),C=x,g=S,y=window;if(u){var b=ue(s),M="clientHeight",U="clientWidth";if(b===D(s)&&(b=V(s),Q(b).position!=="static"&&a==="absolute"&&(M="scrollHeight",U="scrollWidth")),b=b,n===S||(n===x||n===A)&&o===Be){g=L;var k=_&&b===y&&y.visualViewport?y.visualViewport.height:b[M];f-=k-i.height,f*=l?1:-1}if(n===x||(n===S||n===L)&&o===Be){C=A;var N=_&&b===y&&y.visualViewport?y.visualViewport.width:b[U];h-=N-i.width,h*=l?1:-1}}var $=Object.assign({position:a},u&&Vo),oe=c===!0?$o({x:h,y:f},D(s)):{x:h,y:f};if(h=oe.x,f=oe.y,l){var z;return Object.assign({},$,(z={},z[g]=E?"0":"",z[C]=w?"0":"",z.transform=(y.devicePixelRatio||1)<=1?"translate("+h+"px, "+f+"px)":"translate3d("+h+"px, "+f+"px, 0)",z))}return Object.assign({},$,(e={},e[g]=E?f+"px":"",e[C]=w?h+"px":"",e.transform="",e))}function jo(t){var e=t.state,s=t.options,i=s.gpuAcceleration,n=i===void 0?!0:i,o=s.adaptive,r=o===void 0?!0:o,a=s.roundOffsets,l=a===void 0?!0:a,u={placement:H(e.placement),variation:ne(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Rn(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Rn(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Sn={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:jo,data:{}};var $t={passive:!0};function Wo(t){var e=t.state,s=t.instance,i=t.options,n=i.scroll,o=n===void 0?!0:n,r=i.resize,a=r===void 0?!0:r,l=D(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&u.forEach(function(c){c.addEventListener("scroll",s.update,$t)}),a&&l.addEventListener("resize",s.update,$t),function(){o&&u.forEach(function(c){c.removeEventListener("scroll",s.update,$t)}),a&&l.removeEventListener("resize",s.update,$t)}}var Nn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Wo,data:{}};var zo={left:"right",right:"left",bottom:"top",top:"bottom"};function Qe(t){return t.replace(/left|right|bottom|top/g,function(e){return zo[e]})}var Xo={start:"end",end:"start"};function jt(t){return t.replace(/start|end/g,function(e){return Xo[e]})}function Ue(t){var e=D(t),s=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:s,scrollTop:i}}function Le(t){return ie(V(t)).left+Ue(t).scrollLeft}function Di(t,e){var s=D(t),i=V(t),n=s.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(n){o=n.width,r=n.height;var u=ut();(u||!u&&e==="fixed")&&(a=n.offsetLeft,l=n.offsetTop)}return{width:o,height:r,x:a+Le(t),y:l}}function Ei(t){var e,s=V(t),i=Ue(t),n=(e=t.ownerDocument)==null?void 0:e.body,o=de(s.scrollWidth,s.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=de(s.scrollHeight,s.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-i.scrollLeft+Le(t),l=-i.scrollTop;return Q(n||s).direction==="rtl"&&(a+=de(s.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Ve(t){var e=Q(t),s=e.overflow,i=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(s+n+i)}function Wt(t){return["html","body","#document"].indexOf(G(t))>=0?t.ownerDocument.body:F(t)&&Ve(t)?t:Wt(ye(t))}function Ee(t,e){var s;e===void 0&&(e=[]);var i=Wt(t),n=i===((s=t.ownerDocument)==null?void 0:s.body),o=D(i),r=n?[o].concat(o.visualViewport||[],Ve(i)?i:[]):i,a=e.concat(r);return n?a:a.concat(Ee(ye(r)))}function Je(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Ko(t,e){var s=ie(t,!1,e==="fixed");return s.top=s.top+t.clientTop,s.left=s.left+t.clientLeft,s.bottom=s.top+t.clientHeight,s.right=s.left+t.clientWidth,s.width=t.clientWidth,s.height=t.clientHeight,s.x=s.left,s.y=s.top,s}function xn(t,e,s){return e===Lt?Je(Di(t,s)):te(e)?Ko(e,s):Je(Ei(V(t)))}function Qo(t){var e=Ee(ye(t)),s=["absolute","fixed"].indexOf(Q(t).position)>=0,i=s&&F(t)?ue(t):t;return te(i)?e.filter(function(n){return te(n)&&ht(n,i)&&G(n)!=="body"}):[]}function Mi(t,e,s,i){var n=e==="clippingParents"?Qo(t):[].concat(e),o=[].concat(n,[s]),r=o[0],a=o.reduce(function(l,u){var c=xn(t,u,i);return l.top=de(c.top,l.top),l.right=Pe(c.right,l.right),l.bottom=Pe(c.bottom,l.bottom),l.left=de(c.left,l.left),l},xn(t,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function mt(t){var e=t.reference,s=t.element,i=t.placement,n=i?H(i):null,o=i?ne(i):null,r=e.x+e.width/2-s.width/2,a=e.y+e.height/2-s.height/2,l;switch(n){case S:l={x:r,y:e.y-s.height};break;case L:l={x:r,y:e.y+e.height};break;case A:l={x:e.x+e.width,y:a};break;case x:l={x:e.x-s.width,y:a};break;default:l={x:e.x,y:e.y}}var u=n?Ge(n):null;if(u!=null){var c=u==="y"?"height":"width";switch(o){case ge:l[u]=l[u]-(e[c]/2-s[c]/2);break;case Be:l[u]=l[u]+(e[c]/2-s[c]/2);break;default:}}return l}function Me(t,e){e===void 0&&(e={});var s=e,i=s.placement,n=i===void 0?t.placement:i,o=s.strategy,r=o===void 0?t.strategy:o,a=s.boundary,l=a===void 0?Dn:a,u=s.rootBoundary,c=u===void 0?Lt:u,_=s.elementContext,p=_===void 0?ze:_,h=s.altBoundary,v=h===void 0?!1:h,f=s.padding,m=f===void 0?0:f,w=ft(typeof m!="number"?m:_t(m,De)),E=p===ze?En:ze,C=t.rects.popper,g=t.elements[v?E:p],y=Mi(te(g)?g:g.contextElement||V(t.elements.popper),l,c,r),b=ie(t.elements.reference),M=mt({reference:b,element:C,strategy:"absolute",placement:n}),U=Je(Object.assign({},C,M)),k=p===ze?U:b,N={top:y.top-k.top+w.top,bottom:k.bottom-y.bottom+w.bottom,left:y.left-k.left+w.left,right:k.right-y.right+w.right},$=t.modifiersData.offset;if(p===ze&&$){var oe=$[n];Object.keys(N).forEach(function(z){var Te=[A,L].indexOf(z)>=0?1:-1,Ie=[S,L].indexOf(z)>=0?"y":"x";N[z]+=oe[Ie]*Te})}return N}function Ci(t,e){e===void 0&&(e={});var s=e,i=s.placement,n=s.boundary,o=s.rootBoundary,r=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,u=l===void 0?Vt:l,c=ne(i),_=c?a?bi:bi.filter(function(v){return ne(v)===c}):De,p=_.filter(function(v){return u.indexOf(v)>=0});p.length===0&&(p=_);var h=p.reduce(function(v,f){return v[f]=Me(t,{placement:f,boundary:n,rootBoundary:o,padding:r})[H(f)],v},{});return Object.keys(h).sort(function(v,f){return h[v]-h[f]})}function Jo(t){if(H(t)===Ut)return[];var e=Qe(t);return[jt(t),e,jt(e)]}function qo(t){var e=t.state,s=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var n=s.mainAxis,o=n===void 0?!0:n,r=s.altAxis,a=r===void 0?!0:r,l=s.fallbackPlacements,u=s.padding,c=s.boundary,_=s.rootBoundary,p=s.altBoundary,h=s.flipVariations,v=h===void 0?!0:h,f=s.allowedAutoPlacements,m=e.options.placement,w=H(m),E=w===m,C=l||(E||!v?[Qe(m)]:Jo(m)),g=[m].concat(C).reduce(function($e,we){return $e.concat(H(we)===Ut?Ci(e,{placement:we,boundary:c,rootBoundary:_,padding:u,flipVariations:v,allowedAutoPlacements:f}):we)},[]),y=e.rects.reference,b=e.rects.popper,M=new Map,U=!0,k=g[0],N=0;N<g.length;N++){var $=g[N],oe=H($),z=ne($)===ge,Te=[S,L].indexOf(oe)>=0,Ie=Te?"width":"height",J=Me(e,{placement:$,boundary:c,rootBoundary:_,altBoundary:p,padding:u}),se=Te?z?A:x:z?L:S;y[Ie]>b[Ie]&&(se=Qe(se));var bt=Qe(se),Re=[];if(o&&Re.push(J[oe]<=0),a&&Re.push(J[se]<=0,J[bt]<=0),Re.every(function($e){return $e})){k=$,U=!1;break}M.set($,Re)}if(U)for(var wt=v?3:1,Yt=function(we){var Ze=g.find(function(Dt){var Se=M.get(Dt);if(Se)return Se.slice(0,we).every(function(Zt){return Zt})});if(Ze)return k=Ze,"break"},Ye=wt;Ye>0;Ye--){var Ot=Yt(Ye);if(Ot==="break")break}e.placement!==k&&(e.modifiersData[i]._skip=!0,e.placement=k,e.reset=!0)}}var Ti={name:"flip",enabled:!0,phase:"main",fn:qo,requiresIfExists:["offset"],data:{_skip:!1}};function Yo(t,e,s){var i=H(t),n=[x,S].indexOf(i)>=0?-1:1,o=typeof s=="function"?s(Object.assign({},e,{placement:t})):s,r=o[0],a=o[1];return r=r||0,a=(a||0)*n,[x,A].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function Zo(t){var e=t.state,s=t.options,i=t.name,n=s.offset,o=n===void 0?[0,0]:n,r=Vt.reduce(function(c,_){return c[_]=Yo(_,e.rects,o),c},{}),a=r[e.placement],l=a.x,u=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[i]=r}var Ii={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Zo};function es(t){var e=t.state,s=t.name;e.modifiersData[s]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var Fn={name:"popperOffsets",enabled:!0,phase:"read",fn:es,data:{}};function Ri(t){return t==="x"?"y":"x"}function ts(t){var e=t.state,s=t.options,i=t.name,n=s.mainAxis,o=n===void 0?!0:n,r=s.altAxis,a=r===void 0?!1:r,l=s.boundary,u=s.rootBoundary,c=s.altBoundary,_=s.padding,p=s.tether,h=p===void 0?!0:p,v=s.tetherOffset,f=v===void 0?0:v,m=Me(e,{boundary:l,rootBoundary:u,padding:_,altBoundary:c}),w=H(e.placement),E=ne(e.placement),C=!E,g=Ge(w),y=Ri(g),b=e.modifiersData.popperOffsets,M=e.rects.reference,U=e.rects.popper,k=typeof f=="function"?f(Object.assign({},e.rects,{placement:e.placement})):f,N=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,oe={x:0,y:0};if(b){if(o){var z,Te=g==="y"?S:x,Ie=g==="y"?L:A,J=g==="y"?"height":"width",se=b[g],bt=se+m[Te],Re=se-m[Ie],wt=h?-U[J]/2:0,Yt=E===ge?M[J]:U[J],Ye=E===ge?-U[J]:-M[J],Ot=e.elements.arrow,$e=h&&Ot?Ae(Ot):{width:0,height:0},we=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:pt(),Ze=we[Te],Dt=we[Ie],Se=He(0,M[J],$e[J]),Zt=C?M[J]/2-wt-Se-Ze-N.mainAxis:Yt-Se-Ze-N.mainAxis,wo=C?-M[J]/2+wt+Se+Dt+N.mainAxis:Ye+Se+Dt+N.mainAxis,ei=e.elements.arrow&&ue(e.elements.arrow),Oo=ei?g==="y"?ei.clientTop||0:ei.clientLeft||0:0,Wi=(z=$?.[g])!=null?z:0,Do=se+Zt-Wi-Oo,Eo=se+wo-Wi,zi=He(h?Pe(bt,Do):bt,se,h?de(Re,Eo):Re);b[g]=zi,oe[g]=zi-se}if(a){var Xi,Mo=g==="x"?S:x,Co=g==="x"?L:A,Ne=b[y],Et=y==="y"?"height":"width",Ki=Ne+m[Mo],Qi=Ne-m[Co],ti=[S,x].indexOf(w)!==-1,Ji=(Xi=$?.[y])!=null?Xi:0,qi=ti?Ki:Ne-M[Et]-U[Et]-Ji+N.altAxis,Yi=ti?Ne+M[Et]+U[Et]-Ji-N.altAxis:Qi,Zi=h&&ti?In(qi,Ne,Yi):He(h?qi:Ki,Ne,h?Yi:Qi);b[y]=Zi,oe[y]=Zi-Ne}e.modifiersData[i]=oe}}var Si={name:"preventOverflow",enabled:!0,phase:"main",fn:ts,requiresIfExists:["offset"]};function Ni(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function xi(t){return t===D(t)||!F(t)?Ue(t):Ni(t)}function is(t){var e=t.getBoundingClientRect(),s=ve(e.width)/t.offsetWidth||1,i=ve(e.height)/t.offsetHeight||1;return s!==1||i!==1}function Fi(t,e,s){s===void 0&&(s=!1);var i=F(e),n=F(e)&&is(e),o=V(e),r=ie(t,n,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!s)&&((G(e)!=="body"||Ve(o))&&(a=xi(e)),F(e)?(l=ie(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):o&&(l.x=Le(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function ns(t){var e=new Map,s=new Set,i=[];t.forEach(function(o){e.set(o.name,o)});function n(o){s.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!s.has(a)){var l=e.get(a);l&&n(l)}}),i.push(o)}return t.forEach(function(o){s.has(o.name)||n(o)}),i}function ki(t){var e=ns(t);return Mn.reduce(function(s,i){return s.concat(e.filter(function(n){return n.phase===i}))},[])}function Bi(t){var e;return function(){return e||(e=new Promise(function(s){Promise.resolve().then(function(){e=void 0,s(t())})})),e}}function Pi(t){var e=t.reduce(function(s,i){var n=s[i.name];return s[i.name]=n?Object.assign({},n,i,{options:Object.assign({},n.options,i.options),data:Object.assign({},n.data,i.data)}):i,s},{});return Object.keys(e).map(function(s){return e[s]})}var kn={placement:"bottom",modifiers:[],strategy:"absolute"};function Bn(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return!e.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function Pn(t){t===void 0&&(t={});var e=t,s=e.defaultModifiers,i=s===void 0?[]:s,n=e.defaultOptions,o=n===void 0?kn:n;return function(a,l,u){u===void 0&&(u=o);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},kn,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},_=[],p=!1,h={state:c,setOptions:function(w){var E=typeof w=="function"?w(c.options):w;f(),c.options=Object.assign({},o,c.options,E),c.scrollParents={reference:te(a)?Ee(a):a.contextElement?Ee(a.contextElement):[],popper:Ee(l)};var C=ki(Pi([].concat(i,c.options.modifiers)));return c.orderedModifiers=C.filter(function(g){return g.enabled}),v(),h.update()},forceUpdate:function(){if(!p){var w=c.elements,E=w.reference,C=w.popper;if(Bn(E,C)){c.rects={reference:Fi(E,ue(C),c.options.strategy==="fixed"),popper:Ae(C)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(N){return c.modifiersData[N.name]=Object.assign({},N.data)});for(var g=0;g<c.orderedModifiers.length;g++){if(c.reset===!0){c.reset=!1,g=-1;continue}var y=c.orderedModifiers[g],b=y.fn,M=y.options,U=M===void 0?{}:M,k=y.name;typeof b=="function"&&(c=b({state:c,options:U,name:k,instance:h})||c)}}}},update:Bi(function(){return new Promise(function(m){h.forceUpdate(),m(c)})}),destroy:function(){f(),p=!0}};if(!Bn(a,l))return h;h.setOptions(u).then(function(m){!p&&u.onFirstUpdate&&u.onFirstUpdate(m)});function v(){c.orderedModifiers.forEach(function(m){var w=m.name,E=m.options,C=E===void 0?{}:E,g=m.effect;if(typeof g=="function"){var y=g({state:c,name:w,instance:h,options:C}),b=function(){};_.push(y||b)}})}function f(){_.forEach(function(m){return m()}),_=[]}return h}}var os=[Nn,Fn,Sn,Cn],Ai=Pn({defaultModifiers:os});var ss=["container"],rs=["ngbAccordionBody",""],Qt=["*"];function as(t,e){if(t&1){let s=_i();rt(0,"button",1),gn("click",function(){St(s);let n=ce();return Nt(n.close())}),at()}}var ls=t=>({$implicit:t});var cs=["dialog"],ds=["ngbNavOutlet",""];function us(t,e){}function hs(t,e){if(t&1&&(pi(0,"div",0),xt(1,us,0,0,"ng-template",1),fi()),t&2){let s=ce().$implicit,i=ce();We("item",s)("nav",i.nav)("role",i.paneRole),ke(),We("ngTemplateOutlet",(s.contentTpl==null?null:s.contentTpl.templateRef)||null)("ngTemplateOutletContext",yn(5,ls,s.active||i.isPanelTransitioning(s)))}}function ps(t,e){if(t&1&&kt(0,hs,2,7,"div",0),t&2){let s=e.$implicit,i=ce();Bt(s.isPanelInDom()||i.isPanelTransitioning(s)?0:-1)}}function fs(t,e){if(t&1&&(rt(0,"span"),mi(1),at()),t&2){let s=ce().$implicit,i=ce();Oe(i.highlightClass),ke(),gi(s)}}function _s(t,e){if(t&1&&(fn(0),mi(1),_n()),t&2){let s=ce().$implicit;ke(),gi(s)}}function ms(t,e){if(t&1&&kt(0,fs,2,3,"span",0)(1,_s,2,1,"ng-container"),t&2){let s=e.$index;Bt(s%2!==0?0:1)}}var gs=(t,e,s)=>({result:t,term:e,formatter:s});function vs(t,e){if(t&1&&hn(0,"ngb-highlight",2),t&2){let s=e.result,i=e.term,n=e.formatter;We("result",n(s))("term",i)}}function ys(t,e){}function bs(t,e){if(t&1){let s=_i();pi(0,"button",3),pe("mouseenter",function(){let n=St(s).$index,o=ce();return Nt(o.markActive(n))})("click",function(){let n=St(s).$implicit,o=ce();return Nt(o.select(n))}),xt(1,ys,0,0,"ng-template",4),fi()}if(t&2){let s=e.$implicit,i=e.$index,n=ce(),o=vn(1);P("active",i===n.activeIdx),We("id",n.id+"-"+i),ke(),We("ngTemplateOutlet",n.resultTemplate||o)("ngTemplateOutletContext",bn(5,gs,s,n.term,n.formatter))}}var Wn={animation:!0,transitionTimerDelayMs:5},qe=(()=>{let e=class e{constructor(){this.animation=Wn.animation}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),ws=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.closeOthers=!1,this.destroyOnHide=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function Os(t){let{transitionDelay:e,transitionDuration:s}=window.getComputedStyle(t),i=parseFloat(e),n=parseFloat(s);return(i+n)*1e3}function vt(t){return t!=null?`${t}`:""}function Jt(t){return typeof t=="string"}function Ce(t){return t!=null}function Ds(t){return t&&t.then}function Es(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function Ms(t,e){return!e||typeof t.closest>"u"?null:t.closest(e)}function qt(t){return(t||document.body).getBoundingClientRect()}function Cs(t){return e=>new Ct(s=>{let i=r=>t.run(()=>s.next(r)),n=r=>t.run(()=>s.error(r)),o=()=>t.run(()=>s.complete());return e.subscribe({next:i,error:n,complete:o})})}function An(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function zn(t=document){let e=t?.activeElement;return e?e.shadowRoot?zn(e.shadowRoot):e:null}var Ts=()=>{},{transitionTimerDelayMs:Is}=Wn,gt=new Map,Z=(t,e,s,i)=>{let n=i.context||{},o=gt.get(e);if(o)switch(i.runningTransition){case"continue":return Tt;case"stop":t.run(()=>o.transition$.complete()),n=Object.assign(o.context,n),gt.delete(e)}let r=s(e,i.animation,n)||Ts;if(!i.animation||window.getComputedStyle(e).transitionProperty==="none")return t.run(()=>r()),et(void 0).pipe(Cs(t));let a=new j,l=new j,u=a.pipe(rn(!0));gt.set(e,{transition$:a,complete:()=>{l.next(),l.complete()},context:n});let c=Os(e);return t.runOutsideAngular(()=>{let _=X(e,"transitionend").pipe(B(u),Fe(({target:h})=>h===e)),p=nn(c+Is).pipe(B(u));ni(p,_,l).pipe(B(u)).subscribe(()=>{gt.delete(e),t.run(()=>{r(),a.next(),a.complete()})})}),a.asObservable()},Gn=t=>{gt.get(t)?.complete()};function Rs(t,e){if(typeof navigator>"u")return"0px";let{classList:s}=t,i=s.contains("show");i||s.add("show"),t.style[e]="";let n=t.getBoundingClientRect()[e]+"px";return i||s.remove("show"),n}var Ss=(t,e,s)=>{let{direction:i,maxSize:n,dimension:o}=s,{classList:r}=t;function a(){r.add("collapse"),i==="show"?r.add("show"):r.remove("show")}if(!e){a();return}return n||(n=Rs(t,o),s.maxSize=n,t.style[o]=i!=="show"?n:"0px",r.remove("collapse","collapsing","show"),qt(t),r.add("collapsing")),t.style[o]=i==="show"?n:"0px",()=>{a(),r.remove("collapsing"),t.style[o]=""}},Ns=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),Hn=(()=>{let e=class e{constructor(){this._config=d(Ns),this._element=d(W),this._zone=d(le),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new O,this.horizontal=this._config.horizontal,this.shown=new O,this.hidden=new O}set collapsed(i){this._isCollapsed!==i&&(this._isCollapsed=i,this._afterInit&&this._runTransitionWithEvents(i,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(i=this._isCollapsed){this.collapsed=!i,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(i,n){return Z(this._zone,this._element.nativeElement,Ss,{animation:n,runningTransition:"stop",context:{direction:i?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(i,n){this._runTransition(i,n).subscribe(()=>{i?this.hidden.emit():this.shown.emit()})}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(n,o){n&2&&P("collapse-horizontal",o.horizontal)},inputs:{animation:"animation",collapsed:[0,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"]});let t=e;return t})(),xs=0,hu=(()=>{let e=class e{constructor(){this._item=d(yt),this._viewRef=null,this.elementRef=d(W)}ngAfterContentChecked(){this._bodyTpl&&(this._item._shouldBeInDOM?this._createViewIfNotExists():this._destroyViewIfExists())}ngOnDestroy(){this._destroyViewIfExists()}_destroyViewIfExists(){this._viewRef?.destroy(),this._viewRef=null}_createViewIfNotExists(){this._viewRef||(this._viewRef=this._vcr.createEmbeddedView(this._bodyTpl),this._viewRef.detectChanges())}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["","ngbAccordionBody",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,ot,7),n&2){let a;q(a=Y())&&(o._bodyTpl=a.first)}},viewQuery:function(n,o){if(n&1&&Gt(ss,7,ci),n&2){let r;q(r=Y())&&(o._vcr=r.first)}},hostAttrs:[1,"accordion-body"],attrs:rs,ngContentSelectors:Qt,decls:3,vars:0,consts:[["container",""]],template:function(n,o){n&1&&(lt(),mn(0,null,0),ct(2))},encapsulation:2});let t=e;return t})(),Fs=(()=>{let e=class e{constructor(){this.item=d(yt),this.ngbCollapse=d(Hn)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionCollapse",""]],hostAttrs:["role","region",1,"accordion-collapse"],hostVars:2,hostBindings:function(n,o){n&2&&(ee("id",o.item.collapseId),he("aria-labelledby",o.item.toggleId))},exportAs:["ngbAccordionCollapse"],features:[dn([Hn])]});let t=e;return t})(),pu=(()=>{let e=class e{constructor(){this.item=d(yt),this.accordion=d(Xn)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionToggle",""]],hostVars:5,hostBindings:function(n,o){n&1&&pe("click",function(){return!o.item.disabled&&o.accordion.toggle(o.item.id)}),n&2&&(ee("id",o.item.toggleId),he("aria-controls",o.item.collapseId)("aria-expanded",!o.item.collapsed),P("collapsed",o.item.collapsed))}});let t=e;return t})();var fu=(()=>{let e=class e{constructor(){this.item=d(yt)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionHeader",""]],hostAttrs:["role","heading",1,"accordion-header"],hostVars:2,hostBindings:function(n,o){n&2&&P("collapsed",o.item.collapsed)}});let t=e;return t})(),yt=(()=>{let e=class e{constructor(){this._accordion=d(Xn),this._cd=d(_e),this._destroyRef=d(nt),this._collapsed=!0,this._id=`ngb-accordion-item-${xs++}`,this._collapseAnimationRunning=!1,this.disabled=!1,this.show=new O,this.shown=new O,this.hide=new O,this.hidden=new O}set id(i){Jt(i)&&i!==""&&(this._id=i)}set destroyOnHide(i){this._destroyOnHide=i}get destroyOnHide(){return this._destroyOnHide===void 0?this._accordion.destroyOnHide:this._destroyOnHide}set collapsed(i){i?this.collapse():this.expand()}get collapsed(){return this._collapsed}get id(){return`${this._id}`}get toggleId(){return`${this.id}-toggle`}get collapseId(){return`${this.id}-collapse`}get _shouldBeInDOM(){return!this.collapsed||this._collapseAnimationRunning||!this.destroyOnHide}ngAfterContentInit(){let{ngbCollapse:i}=this._collapse;i.animation=!1,i.collapsed=this.collapsed,i.animation=this._accordion.animation,i.hidden.pipe(dt(this._destroyRef)).subscribe(()=>{this._collapseAnimationRunning=!1,this.hidden.emit(),this._accordion.hidden.emit(this.id),this._cd.markForCheck()}),i.shown.pipe(dt(this._destroyRef)).subscribe(()=>{this.shown.emit(),this._accordion.shown.emit(this.id),this._cd.markForCheck()})}toggle(){this.collapsed=!this.collapsed}expand(){if(this.collapsed){if(!this._accordion._ensureCanExpand(this))return;this._collapsed=!1,this._cd.markForCheck(),this._cd.detectChanges(),this.show.emit(),this._accordion.show.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!1}}collapse(){this.collapsed||(this._collapsed=!0,this._collapseAnimationRunning=!0,this._cd.markForCheck(),this.hide.emit(),this._accordion.hide.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!0)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionItem",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,Fs,7),n&2){let a;q(a=Y())&&(o._collapse=a.first)}},hostAttrs:[1,"accordion-item"],hostVars:1,hostBindings:function(n,o){n&2&&ee("id",o.id)},inputs:{id:[0,"ngbAccordionItem","id"],destroyOnHide:"destroyOnHide",disabled:"disabled",collapsed:"collapsed"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordionItem"]});let t=e;return t})(),Xn=(()=>{let e=class e{constructor(){this._config=d(ws),this._anItemWasAlreadyExpandedDuringInitialisation=!1,this.animation=this._config.animation,this.closeOthers=this._config.closeOthers,this.destroyOnHide=this._config.destroyOnHide,this.show=new O,this.shown=new O,this.hide=new O,this.hidden=new O}toggle(i){this._getItem(i)?.toggle()}expand(i){this._getItem(i)?.expand()}expandAll(){this._items&&(this.closeOthers?this._items.find(i=>!i.collapsed)||this._items.first.expand():this._items.forEach(i=>i.expand()))}collapse(i){this._getItem(i)?.collapse()}collapseAll(){this._items?.forEach(i=>i.collapse())}isExpanded(i){let n=this._getItem(i);return n?!n.collapsed:!1}_ensureCanExpand(i){return this.closeOthers?this._items?(this._items.find(n=>!n.collapsed&&i!==n)?.collapse(),!0):this._anItemWasAlreadyExpandedDuringInitialisation?!1:(this._anItemWasAlreadyExpandedDuringInitialisation=!0,!0):!0}_getItem(i){return this._items?.find(n=>n.id===i)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordion",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,yt,4),n&2){let a;q(a=Y())&&(o._items=a)}},hostAttrs:[1,"accordion"],inputs:{animation:"animation",closeOthers:"closeOthers",destroyOnHide:"destroyOnHide"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordion"]});let t=e;return t})();var Kn=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),ks=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.dismissible=!0,this.type="warning"}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),Bs=({classList:t})=>{t.remove("show")},_u=(()=>{let e=class e{constructor(){this._config=d(ks),this._elementRef=d(W),this._zone=d(le),this.animation=this._config.animation,this.dismissible=this._config.dismissible,this.type=this._config.type,this.closed=new O}close(){let i=Z(this._zone,this._elementRef.nativeElement,Bs,{animation:this.animation,runningTransition:"continue"});return i.subscribe(()=>this.closed.emit()),i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert"],hostVars:6,hostBindings:function(n,o){n&2&&(Oe("alert show"+(o.type?" alert-"+o.type:"")),P("fade",o.animation)("alert-dismissible",o.dismissible))},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],ngContentSelectors:Qt,decls:2,vars:1,consts:()=>{let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","aria-label",i,1,"btn-close"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,o){n&1&&(lt(),ct(0),kt(1,as,1,0,"button",0)),n&2&&(ke(),Bt(o.dismissible?1:-1))},styles:[`ngb-alert{display:block}
1
+ import{a as On}from"./chunk-CNMM42I5.js";import{$ as B,$b as ee,Bc as vi,Ca as je,Da as ai,Dc as yn,E as X,Ea as li,F as nn,Fa as W,Fc as bn,Gb as ui,H as Fe,Hb as he,I as ni,Ib as kt,J as It,Jb as Bt,Kb as hi,Lb as un,Mb as Pt,Mc as wn,Nb as At,O as tt,Ob as We,P as on,Pb as pi,Q as sn,Qb as fi,R as rn,Rb as hn,Sb as rt,Tb as at,Ub as pn,Wc as _e,Xb as fn,Y as an,Yb as _n,Z as ln,Zb as mn,_ as oi,_b as _i,_c as Ht,a as Mt,aa as it,ab as ke,b as ii,ba as Rt,bc as pe,cb as ot,cc as gn,dc as ce,ea as si,ec as lt,fa as K,fc as ct,ga as I,gc as fe,hc as Gt,ia as cn,ib as ci,ic as q,jc as Y,k as Ct,ka as d,mb as me,mc as vn,md as yi,n as j,nb as R,o as en,oa as ri,ob as T,oc as P,p as Tt,pc as Oe,qa as St,qb as di,qc as mi,r as et,ra as Nt,rb as dn,rc as gi,sb as xt,ua as re,ub as O,va as ae,vb as le,wa as nt,wb as Ft,x as xe,xb as st,z as tn}from"./chunk-H36QJYLQ.js";function dt(t){t||(t=d(nt));let e=new Ct(s=>{if(t.destroyed){s.next();return}return t.onDestroy(s.next.bind(s))});return s=>s.pipe(B(e))}var S="top",L="bottom",A="right",x="left",Ut="auto",De=[S,L,A,x],ge="start",Be="end",Dn="clippingParents",Lt="viewport",ze="popper",En="reference",bi=De.reduce(function(t,e){return t.concat([e+"-"+ge,e+"-"+Be])},[]),Vt=[].concat(De,[Ut]).reduce(function(t,e){return t.concat([e,e+"-"+ge,e+"-"+Be])},[]),To="beforeRead",Io="read",Ro="afterRead",So="beforeMain",No="main",xo="afterMain",Fo="beforeWrite",ko="write",Bo="afterWrite",Mn=[To,Io,Ro,So,No,xo,Fo,ko,Bo];function G(t){return t?(t.nodeName||"").toLowerCase():null}function D(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function te(t){var e=D(t).Element;return t instanceof e||t instanceof Element}function F(t){var e=D(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Xe(t){if(typeof ShadowRoot>"u")return!1;var e=D(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Po(t){var e=t.state;Object.keys(e.elements).forEach(function(s){var i=e.styles[s]||{},n=e.attributes[s]||{},o=e.elements[s];!F(o)||!G(o)||(Object.assign(o.style,i),Object.keys(n).forEach(function(r){var a=n[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function Ao(t){var e=t.state,s={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,s.popper),e.styles=s,e.elements.arrow&&Object.assign(e.elements.arrow.style,s.arrow),function(){Object.keys(e.elements).forEach(function(i){var n=e.elements[i],o=e.attributes[i]||{},r=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:s[i]),a=r.reduce(function(l,u){return l[u]="",l},{});!F(n)||!G(n)||(Object.assign(n.style,a),Object.keys(o).forEach(function(l){n.removeAttribute(l)}))})}}var Cn={name:"applyStyles",enabled:!0,phase:"write",fn:Po,effect:Ao,requires:["computeStyles"]};function H(t){return t.split("-")[0]}var de=Math.max,Pe=Math.min,ve=Math.round;function Ke(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function ut(){return!/^((?!chrome|android).)*safari/i.test(Ke())}function ie(t,e,s){e===void 0&&(e=!1),s===void 0&&(s=!1);var i=t.getBoundingClientRect(),n=1,o=1;e&&F(t)&&(n=t.offsetWidth>0&&ve(i.width)/t.offsetWidth||1,o=t.offsetHeight>0&&ve(i.height)/t.offsetHeight||1);var r=te(t)?D(t):window,a=r.visualViewport,l=!ut()&&s,u=(i.left+(l&&a?a.offsetLeft:0))/n,c=(i.top+(l&&a?a.offsetTop:0))/o,_=i.width/n,p=i.height/o;return{width:_,height:p,top:c,right:u+_,bottom:c+p,left:u,x:u,y:c}}function Ae(t){var e=ie(t),s=t.offsetWidth,i=t.offsetHeight;return Math.abs(e.width-s)<=1&&(s=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:t.offsetLeft,y:t.offsetTop,width:s,height:i}}function ht(t,e){var s=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(s&&Xe(s)){var i=e;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Q(t){return D(t).getComputedStyle(t)}function wi(t){return["table","td","th"].indexOf(G(t))>=0}function V(t){return((te(t)?t.ownerDocument:t.document)||window.document).documentElement}function ye(t){return G(t)==="html"?t:t.assignedSlot||t.parentNode||(Xe(t)?t.host:null)||V(t)}function Tn(t){return!F(t)||Q(t).position==="fixed"?null:t.offsetParent}function Go(t){var e=/firefox/i.test(Ke()),s=/Trident/i.test(Ke());if(s&&F(t)){var i=Q(t);if(i.position==="fixed")return null}var n=ye(t);for(Xe(n)&&(n=n.host);F(n)&&["html","body"].indexOf(G(n))<0;){var o=Q(n);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return n;n=n.parentNode}return null}function ue(t){for(var e=D(t),s=Tn(t);s&&wi(s)&&Q(s).position==="static";)s=Tn(s);return s&&(G(s)==="html"||G(s)==="body"&&Q(s).position==="static")?e:s||Go(t)||e}function Ge(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function He(t,e,s){return de(t,Pe(e,s))}function In(t,e,s){var i=He(t,e,s);return i>s?s:i}function pt(){return{top:0,right:0,bottom:0,left:0}}function ft(t){return Object.assign({},pt(),t)}function _t(t,e){return e.reduce(function(s,i){return s[i]=t,s},{})}var Ho=function(e,s){return e=typeof e=="function"?e(Object.assign({},s.rects,{placement:s.placement})):e,ft(typeof e!="number"?e:_t(e,De))};function Uo(t){var e,s=t.state,i=t.name,n=t.options,o=s.elements.arrow,r=s.modifiersData.popperOffsets,a=H(s.placement),l=Ge(a),u=[x,A].indexOf(a)>=0,c=u?"height":"width";if(!(!o||!r)){var _=Ho(n.padding,s),p=Ae(o),h=l==="y"?S:x,v=l==="y"?L:A,f=s.rects.reference[c]+s.rects.reference[l]-r[l]-s.rects.popper[c],m=r[l]-s.rects.reference[l],w=ue(o),E=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,C=f/2-m/2,g=_[h],y=E-p[c]-_[v],b=E/2-p[c]/2+C,M=He(g,b,y),U=l;s.modifiersData[i]=(e={},e[U]=M,e.centerOffset=M-b,e)}}function Lo(t){var e=t.state,s=t.options,i=s.element,n=i===void 0?"[data-popper-arrow]":i;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||ht(e.elements.popper,n)&&(e.elements.arrow=n))}var Oi={name:"arrow",enabled:!0,phase:"main",fn:Uo,effect:Lo,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ne(t){return t.split("-")[1]}var Vo={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $o(t,e){var s=t.x,i=t.y,n=e.devicePixelRatio||1;return{x:ve(s*n)/n||0,y:ve(i*n)/n||0}}function Rn(t){var e,s=t.popper,i=t.popperRect,n=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,_=t.isFixed,p=r.x,h=p===void 0?0:p,v=r.y,f=v===void 0?0:v,m=typeof c=="function"?c({x:h,y:f}):{x:h,y:f};h=m.x,f=m.y;var w=r.hasOwnProperty("x"),E=r.hasOwnProperty("y"),C=x,g=S,y=window;if(u){var b=ue(s),M="clientHeight",U="clientWidth";if(b===D(s)&&(b=V(s),Q(b).position!=="static"&&a==="absolute"&&(M="scrollHeight",U="scrollWidth")),b=b,n===S||(n===x||n===A)&&o===Be){g=L;var k=_&&b===y&&y.visualViewport?y.visualViewport.height:b[M];f-=k-i.height,f*=l?1:-1}if(n===x||(n===S||n===L)&&o===Be){C=A;var N=_&&b===y&&y.visualViewport?y.visualViewport.width:b[U];h-=N-i.width,h*=l?1:-1}}var $=Object.assign({position:a},u&&Vo),oe=c===!0?$o({x:h,y:f},D(s)):{x:h,y:f};if(h=oe.x,f=oe.y,l){var z;return Object.assign({},$,(z={},z[g]=E?"0":"",z[C]=w?"0":"",z.transform=(y.devicePixelRatio||1)<=1?"translate("+h+"px, "+f+"px)":"translate3d("+h+"px, "+f+"px, 0)",z))}return Object.assign({},$,(e={},e[g]=E?f+"px":"",e[C]=w?h+"px":"",e.transform="",e))}function jo(t){var e=t.state,s=t.options,i=s.gpuAcceleration,n=i===void 0?!0:i,o=s.adaptive,r=o===void 0?!0:o,a=s.roundOffsets,l=a===void 0?!0:a,u={placement:H(e.placement),variation:ne(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Rn(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Rn(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Sn={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:jo,data:{}};var $t={passive:!0};function Wo(t){var e=t.state,s=t.instance,i=t.options,n=i.scroll,o=n===void 0?!0:n,r=i.resize,a=r===void 0?!0:r,l=D(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&u.forEach(function(c){c.addEventListener("scroll",s.update,$t)}),a&&l.addEventListener("resize",s.update,$t),function(){o&&u.forEach(function(c){c.removeEventListener("scroll",s.update,$t)}),a&&l.removeEventListener("resize",s.update,$t)}}var Nn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Wo,data:{}};var zo={left:"right",right:"left",bottom:"top",top:"bottom"};function Qe(t){return t.replace(/left|right|bottom|top/g,function(e){return zo[e]})}var Xo={start:"end",end:"start"};function jt(t){return t.replace(/start|end/g,function(e){return Xo[e]})}function Ue(t){var e=D(t),s=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:s,scrollTop:i}}function Le(t){return ie(V(t)).left+Ue(t).scrollLeft}function Di(t,e){var s=D(t),i=V(t),n=s.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(n){o=n.width,r=n.height;var u=ut();(u||!u&&e==="fixed")&&(a=n.offsetLeft,l=n.offsetTop)}return{width:o,height:r,x:a+Le(t),y:l}}function Ei(t){var e,s=V(t),i=Ue(t),n=(e=t.ownerDocument)==null?void 0:e.body,o=de(s.scrollWidth,s.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=de(s.scrollHeight,s.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-i.scrollLeft+Le(t),l=-i.scrollTop;return Q(n||s).direction==="rtl"&&(a+=de(s.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Ve(t){var e=Q(t),s=e.overflow,i=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(s+n+i)}function Wt(t){return["html","body","#document"].indexOf(G(t))>=0?t.ownerDocument.body:F(t)&&Ve(t)?t:Wt(ye(t))}function Ee(t,e){var s;e===void 0&&(e=[]);var i=Wt(t),n=i===((s=t.ownerDocument)==null?void 0:s.body),o=D(i),r=n?[o].concat(o.visualViewport||[],Ve(i)?i:[]):i,a=e.concat(r);return n?a:a.concat(Ee(ye(r)))}function Je(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Ko(t,e){var s=ie(t,!1,e==="fixed");return s.top=s.top+t.clientTop,s.left=s.left+t.clientLeft,s.bottom=s.top+t.clientHeight,s.right=s.left+t.clientWidth,s.width=t.clientWidth,s.height=t.clientHeight,s.x=s.left,s.y=s.top,s}function xn(t,e,s){return e===Lt?Je(Di(t,s)):te(e)?Ko(e,s):Je(Ei(V(t)))}function Qo(t){var e=Ee(ye(t)),s=["absolute","fixed"].indexOf(Q(t).position)>=0,i=s&&F(t)?ue(t):t;return te(i)?e.filter(function(n){return te(n)&&ht(n,i)&&G(n)!=="body"}):[]}function Mi(t,e,s,i){var n=e==="clippingParents"?Qo(t):[].concat(e),o=[].concat(n,[s]),r=o[0],a=o.reduce(function(l,u){var c=xn(t,u,i);return l.top=de(c.top,l.top),l.right=Pe(c.right,l.right),l.bottom=Pe(c.bottom,l.bottom),l.left=de(c.left,l.left),l},xn(t,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function mt(t){var e=t.reference,s=t.element,i=t.placement,n=i?H(i):null,o=i?ne(i):null,r=e.x+e.width/2-s.width/2,a=e.y+e.height/2-s.height/2,l;switch(n){case S:l={x:r,y:e.y-s.height};break;case L:l={x:r,y:e.y+e.height};break;case A:l={x:e.x+e.width,y:a};break;case x:l={x:e.x-s.width,y:a};break;default:l={x:e.x,y:e.y}}var u=n?Ge(n):null;if(u!=null){var c=u==="y"?"height":"width";switch(o){case ge:l[u]=l[u]-(e[c]/2-s[c]/2);break;case Be:l[u]=l[u]+(e[c]/2-s[c]/2);break;default:}}return l}function Me(t,e){e===void 0&&(e={});var s=e,i=s.placement,n=i===void 0?t.placement:i,o=s.strategy,r=o===void 0?t.strategy:o,a=s.boundary,l=a===void 0?Dn:a,u=s.rootBoundary,c=u===void 0?Lt:u,_=s.elementContext,p=_===void 0?ze:_,h=s.altBoundary,v=h===void 0?!1:h,f=s.padding,m=f===void 0?0:f,w=ft(typeof m!="number"?m:_t(m,De)),E=p===ze?En:ze,C=t.rects.popper,g=t.elements[v?E:p],y=Mi(te(g)?g:g.contextElement||V(t.elements.popper),l,c,r),b=ie(t.elements.reference),M=mt({reference:b,element:C,strategy:"absolute",placement:n}),U=Je(Object.assign({},C,M)),k=p===ze?U:b,N={top:y.top-k.top+w.top,bottom:k.bottom-y.bottom+w.bottom,left:y.left-k.left+w.left,right:k.right-y.right+w.right},$=t.modifiersData.offset;if(p===ze&&$){var oe=$[n];Object.keys(N).forEach(function(z){var Te=[A,L].indexOf(z)>=0?1:-1,Ie=[S,L].indexOf(z)>=0?"y":"x";N[z]+=oe[Ie]*Te})}return N}function Ci(t,e){e===void 0&&(e={});var s=e,i=s.placement,n=s.boundary,o=s.rootBoundary,r=s.padding,a=s.flipVariations,l=s.allowedAutoPlacements,u=l===void 0?Vt:l,c=ne(i),_=c?a?bi:bi.filter(function(v){return ne(v)===c}):De,p=_.filter(function(v){return u.indexOf(v)>=0});p.length===0&&(p=_);var h=p.reduce(function(v,f){return v[f]=Me(t,{placement:f,boundary:n,rootBoundary:o,padding:r})[H(f)],v},{});return Object.keys(h).sort(function(v,f){return h[v]-h[f]})}function Jo(t){if(H(t)===Ut)return[];var e=Qe(t);return[jt(t),e,jt(e)]}function qo(t){var e=t.state,s=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var n=s.mainAxis,o=n===void 0?!0:n,r=s.altAxis,a=r===void 0?!0:r,l=s.fallbackPlacements,u=s.padding,c=s.boundary,_=s.rootBoundary,p=s.altBoundary,h=s.flipVariations,v=h===void 0?!0:h,f=s.allowedAutoPlacements,m=e.options.placement,w=H(m),E=w===m,C=l||(E||!v?[Qe(m)]:Jo(m)),g=[m].concat(C).reduce(function($e,we){return $e.concat(H(we)===Ut?Ci(e,{placement:we,boundary:c,rootBoundary:_,padding:u,flipVariations:v,allowedAutoPlacements:f}):we)},[]),y=e.rects.reference,b=e.rects.popper,M=new Map,U=!0,k=g[0],N=0;N<g.length;N++){var $=g[N],oe=H($),z=ne($)===ge,Te=[S,L].indexOf(oe)>=0,Ie=Te?"width":"height",J=Me(e,{placement:$,boundary:c,rootBoundary:_,altBoundary:p,padding:u}),se=Te?z?A:x:z?L:S;y[Ie]>b[Ie]&&(se=Qe(se));var bt=Qe(se),Re=[];if(o&&Re.push(J[oe]<=0),a&&Re.push(J[se]<=0,J[bt]<=0),Re.every(function($e){return $e})){k=$,U=!1;break}M.set($,Re)}if(U)for(var wt=v?3:1,Yt=function(we){var Ze=g.find(function(Dt){var Se=M.get(Dt);if(Se)return Se.slice(0,we).every(function(Zt){return Zt})});if(Ze)return k=Ze,"break"},Ye=wt;Ye>0;Ye--){var Ot=Yt(Ye);if(Ot==="break")break}e.placement!==k&&(e.modifiersData[i]._skip=!0,e.placement=k,e.reset=!0)}}var Ti={name:"flip",enabled:!0,phase:"main",fn:qo,requiresIfExists:["offset"],data:{_skip:!1}};function Yo(t,e,s){var i=H(t),n=[x,S].indexOf(i)>=0?-1:1,o=typeof s=="function"?s(Object.assign({},e,{placement:t})):s,r=o[0],a=o[1];return r=r||0,a=(a||0)*n,[x,A].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function Zo(t){var e=t.state,s=t.options,i=t.name,n=s.offset,o=n===void 0?[0,0]:n,r=Vt.reduce(function(c,_){return c[_]=Yo(_,e.rects,o),c},{}),a=r[e.placement],l=a.x,u=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[i]=r}var Ii={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Zo};function es(t){var e=t.state,s=t.name;e.modifiersData[s]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var Fn={name:"popperOffsets",enabled:!0,phase:"read",fn:es,data:{}};function Ri(t){return t==="x"?"y":"x"}function ts(t){var e=t.state,s=t.options,i=t.name,n=s.mainAxis,o=n===void 0?!0:n,r=s.altAxis,a=r===void 0?!1:r,l=s.boundary,u=s.rootBoundary,c=s.altBoundary,_=s.padding,p=s.tether,h=p===void 0?!0:p,v=s.tetherOffset,f=v===void 0?0:v,m=Me(e,{boundary:l,rootBoundary:u,padding:_,altBoundary:c}),w=H(e.placement),E=ne(e.placement),C=!E,g=Ge(w),y=Ri(g),b=e.modifiersData.popperOffsets,M=e.rects.reference,U=e.rects.popper,k=typeof f=="function"?f(Object.assign({},e.rects,{placement:e.placement})):f,N=typeof k=="number"?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,oe={x:0,y:0};if(b){if(o){var z,Te=g==="y"?S:x,Ie=g==="y"?L:A,J=g==="y"?"height":"width",se=b[g],bt=se+m[Te],Re=se-m[Ie],wt=h?-U[J]/2:0,Yt=E===ge?M[J]:U[J],Ye=E===ge?-U[J]:-M[J],Ot=e.elements.arrow,$e=h&&Ot?Ae(Ot):{width:0,height:0},we=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:pt(),Ze=we[Te],Dt=we[Ie],Se=He(0,M[J],$e[J]),Zt=C?M[J]/2-wt-Se-Ze-N.mainAxis:Yt-Se-Ze-N.mainAxis,wo=C?-M[J]/2+wt+Se+Dt+N.mainAxis:Ye+Se+Dt+N.mainAxis,ei=e.elements.arrow&&ue(e.elements.arrow),Oo=ei?g==="y"?ei.clientTop||0:ei.clientLeft||0:0,Wi=(z=$?.[g])!=null?z:0,Do=se+Zt-Wi-Oo,Eo=se+wo-Wi,zi=He(h?Pe(bt,Do):bt,se,h?de(Re,Eo):Re);b[g]=zi,oe[g]=zi-se}if(a){var Xi,Mo=g==="x"?S:x,Co=g==="x"?L:A,Ne=b[y],Et=y==="y"?"height":"width",Ki=Ne+m[Mo],Qi=Ne-m[Co],ti=[S,x].indexOf(w)!==-1,Ji=(Xi=$?.[y])!=null?Xi:0,qi=ti?Ki:Ne-M[Et]-U[Et]-Ji+N.altAxis,Yi=ti?Ne+M[Et]+U[Et]-Ji-N.altAxis:Qi,Zi=h&&ti?In(qi,Ne,Yi):He(h?qi:Ki,Ne,h?Yi:Qi);b[y]=Zi,oe[y]=Zi-Ne}e.modifiersData[i]=oe}}var Si={name:"preventOverflow",enabled:!0,phase:"main",fn:ts,requiresIfExists:["offset"]};function Ni(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function xi(t){return t===D(t)||!F(t)?Ue(t):Ni(t)}function is(t){var e=t.getBoundingClientRect(),s=ve(e.width)/t.offsetWidth||1,i=ve(e.height)/t.offsetHeight||1;return s!==1||i!==1}function Fi(t,e,s){s===void 0&&(s=!1);var i=F(e),n=F(e)&&is(e),o=V(e),r=ie(t,n,s),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!s)&&((G(e)!=="body"||Ve(o))&&(a=xi(e)),F(e)?(l=ie(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):o&&(l.x=Le(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function ns(t){var e=new Map,s=new Set,i=[];t.forEach(function(o){e.set(o.name,o)});function n(o){s.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!s.has(a)){var l=e.get(a);l&&n(l)}}),i.push(o)}return t.forEach(function(o){s.has(o.name)||n(o)}),i}function ki(t){var e=ns(t);return Mn.reduce(function(s,i){return s.concat(e.filter(function(n){return n.phase===i}))},[])}function Bi(t){var e;return function(){return e||(e=new Promise(function(s){Promise.resolve().then(function(){e=void 0,s(t())})})),e}}function Pi(t){var e=t.reduce(function(s,i){var n=s[i.name];return s[i.name]=n?Object.assign({},n,i,{options:Object.assign({},n.options,i.options),data:Object.assign({},n.data,i.data)}):i,s},{});return Object.keys(e).map(function(s){return e[s]})}var kn={placement:"bottom",modifiers:[],strategy:"absolute"};function Bn(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return!e.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function Pn(t){t===void 0&&(t={});var e=t,s=e.defaultModifiers,i=s===void 0?[]:s,n=e.defaultOptions,o=n===void 0?kn:n;return function(a,l,u){u===void 0&&(u=o);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},kn,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},_=[],p=!1,h={state:c,setOptions:function(w){var E=typeof w=="function"?w(c.options):w;f(),c.options=Object.assign({},o,c.options,E),c.scrollParents={reference:te(a)?Ee(a):a.contextElement?Ee(a.contextElement):[],popper:Ee(l)};var C=ki(Pi([].concat(i,c.options.modifiers)));return c.orderedModifiers=C.filter(function(g){return g.enabled}),v(),h.update()},forceUpdate:function(){if(!p){var w=c.elements,E=w.reference,C=w.popper;if(Bn(E,C)){c.rects={reference:Fi(E,ue(C),c.options.strategy==="fixed"),popper:Ae(C)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(N){return c.modifiersData[N.name]=Object.assign({},N.data)});for(var g=0;g<c.orderedModifiers.length;g++){if(c.reset===!0){c.reset=!1,g=-1;continue}var y=c.orderedModifiers[g],b=y.fn,M=y.options,U=M===void 0?{}:M,k=y.name;typeof b=="function"&&(c=b({state:c,options:U,name:k,instance:h})||c)}}}},update:Bi(function(){return new Promise(function(m){h.forceUpdate(),m(c)})}),destroy:function(){f(),p=!0}};if(!Bn(a,l))return h;h.setOptions(u).then(function(m){!p&&u.onFirstUpdate&&u.onFirstUpdate(m)});function v(){c.orderedModifiers.forEach(function(m){var w=m.name,E=m.options,C=E===void 0?{}:E,g=m.effect;if(typeof g=="function"){var y=g({state:c,name:w,instance:h,options:C}),b=function(){};_.push(y||b)}})}function f(){_.forEach(function(m){return m()}),_=[]}return h}}var os=[Nn,Fn,Sn,Cn],Ai=Pn({defaultModifiers:os});var ss=["container"],rs=["ngbAccordionBody",""],Qt=["*"];function as(t,e){if(t&1){let s=_i();rt(0,"button",1),gn("click",function(){St(s);let n=ce();return Nt(n.close())}),at()}}var ls=t=>({$implicit:t});var cs=["dialog"],ds=["ngbNavOutlet",""];function us(t,e){}function hs(t,e){if(t&1&&(pi(0,"div",0),xt(1,us,0,0,"ng-template",1),fi()),t&2){let s=ce().$implicit,i=ce();We("item",s)("nav",i.nav)("role",i.paneRole),ke(),We("ngTemplateOutlet",(s.contentTpl==null?null:s.contentTpl.templateRef)||null)("ngTemplateOutletContext",yn(5,ls,s.active||i.isPanelTransitioning(s)))}}function ps(t,e){if(t&1&&kt(0,hs,2,7,"div",0),t&2){let s=e.$implicit,i=ce();Bt(s.isPanelInDom()||i.isPanelTransitioning(s)?0:-1)}}function fs(t,e){if(t&1&&(rt(0,"span"),mi(1),at()),t&2){let s=ce().$implicit,i=ce();Oe(i.highlightClass),ke(),gi(s)}}function _s(t,e){if(t&1&&(fn(0),mi(1),_n()),t&2){let s=ce().$implicit;ke(),gi(s)}}function ms(t,e){if(t&1&&kt(0,fs,2,3,"span",0)(1,_s,2,1,"ng-container"),t&2){let s=e.$index;Bt(s%2!==0?0:1)}}var gs=(t,e,s)=>({result:t,term:e,formatter:s});function vs(t,e){if(t&1&&hn(0,"ngb-highlight",2),t&2){let s=e.result,i=e.term,n=e.formatter;We("result",n(s))("term",i)}}function ys(t,e){}function bs(t,e){if(t&1){let s=_i();pi(0,"button",3),pe("mouseenter",function(){let n=St(s).$index,o=ce();return Nt(o.markActive(n))})("click",function(){let n=St(s).$implicit,o=ce();return Nt(o.select(n))}),xt(1,ys,0,0,"ng-template",4),fi()}if(t&2){let s=e.$implicit,i=e.$index,n=ce(),o=vn(1);P("active",i===n.activeIdx),We("id",n.id+"-"+i),ke(),We("ngTemplateOutlet",n.resultTemplate||o)("ngTemplateOutletContext",bn(5,gs,s,n.term,n.formatter))}}var Wn={animation:!0,transitionTimerDelayMs:5},qe=(()=>{let e=class e{constructor(){this.animation=Wn.animation}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),ws=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.closeOthers=!1,this.destroyOnHide=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function Os(t){let{transitionDelay:e,transitionDuration:s}=window.getComputedStyle(t),i=parseFloat(e),n=parseFloat(s);return(i+n)*1e3}function vt(t){return t!=null?`${t}`:""}function Jt(t){return typeof t=="string"}function Ce(t){return t!=null}function Ds(t){return t&&t.then}function Es(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function Ms(t,e){return!e||typeof t.closest>"u"?null:t.closest(e)}function qt(t){return(t||document.body).getBoundingClientRect()}function Cs(t){return e=>new Ct(s=>{let i=r=>t.run(()=>s.next(r)),n=r=>t.run(()=>s.error(r)),o=()=>t.run(()=>s.complete());return e.subscribe({next:i,error:n,complete:o})})}function An(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function zn(t=document){let e=t?.activeElement;return e?e.shadowRoot?zn(e.shadowRoot):e:null}var Ts=()=>{},{transitionTimerDelayMs:Is}=Wn,gt=new Map,Z=(t,e,s,i)=>{let n=i.context||{},o=gt.get(e);if(o)switch(i.runningTransition){case"continue":return Tt;case"stop":t.run(()=>o.transition$.complete()),n=Object.assign(o.context,n),gt.delete(e)}let r=s(e,i.animation,n)||Ts;if(!i.animation||window.getComputedStyle(e).transitionProperty==="none")return t.run(()=>r()),et(void 0).pipe(Cs(t));let a=new j,l=new j,u=a.pipe(rn(!0));gt.set(e,{transition$:a,complete:()=>{l.next(),l.complete()},context:n});let c=Os(e);return t.runOutsideAngular(()=>{let _=X(e,"transitionend").pipe(B(u),Fe(({target:h})=>h===e)),p=nn(c+Is).pipe(B(u));ni(p,_,l).pipe(B(u)).subscribe(()=>{gt.delete(e),t.run(()=>{r(),a.next(),a.complete()})})}),a.asObservable()},Gn=t=>{gt.get(t)?.complete()};function Rs(t,e){if(typeof navigator>"u")return"0px";let{classList:s}=t,i=s.contains("show");i||s.add("show"),t.style[e]="";let n=t.getBoundingClientRect()[e]+"px";return i||s.remove("show"),n}var Ss=(t,e,s)=>{let{direction:i,maxSize:n,dimension:o}=s,{classList:r}=t;function a(){r.add("collapse"),i==="show"?r.add("show"):r.remove("show")}if(!e){a();return}return n||(n=Rs(t,o),s.maxSize=n,t.style[o]=i!=="show"?n:"0px",r.remove("collapse","collapsing","show"),qt(t),r.add("collapsing")),t.style[o]=i==="show"?n:"0px",()=>{a(),r.remove("collapsing"),t.style[o]=""}},Ns=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),Hn=(()=>{let e=class e{constructor(){this._config=d(Ns),this._element=d(W),this._zone=d(le),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new O,this.horizontal=this._config.horizontal,this.shown=new O,this.hidden=new O}set collapsed(i){this._isCollapsed!==i&&(this._isCollapsed=i,this._afterInit&&this._runTransitionWithEvents(i,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(i=this._isCollapsed){this.collapsed=!i,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(i,n){return Z(this._zone,this._element.nativeElement,Ss,{animation:n,runningTransition:"stop",context:{direction:i?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(i,n){this._runTransition(i,n).subscribe(()=>{i?this.hidden.emit():this.shown.emit()})}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(n,o){n&2&&P("collapse-horizontal",o.horizontal)},inputs:{animation:"animation",collapsed:[0,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"]});let t=e;return t})(),xs=0,hu=(()=>{let e=class e{constructor(){this._item=d(yt),this._viewRef=null,this.elementRef=d(W)}ngAfterContentChecked(){this._bodyTpl&&(this._item._shouldBeInDOM?this._createViewIfNotExists():this._destroyViewIfExists())}ngOnDestroy(){this._destroyViewIfExists()}_destroyViewIfExists(){this._viewRef?.destroy(),this._viewRef=null}_createViewIfNotExists(){this._viewRef||(this._viewRef=this._vcr.createEmbeddedView(this._bodyTpl),this._viewRef.detectChanges())}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["","ngbAccordionBody",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,ot,7),n&2){let a;q(a=Y())&&(o._bodyTpl=a.first)}},viewQuery:function(n,o){if(n&1&&Gt(ss,7,ci),n&2){let r;q(r=Y())&&(o._vcr=r.first)}},hostAttrs:[1,"accordion-body"],attrs:rs,ngContentSelectors:Qt,decls:3,vars:0,consts:[["container",""]],template:function(n,o){n&1&&(lt(),mn(0,null,0),ct(2))},encapsulation:2});let t=e;return t})(),Fs=(()=>{let e=class e{constructor(){this.item=d(yt),this.ngbCollapse=d(Hn)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionCollapse",""]],hostAttrs:["role","region",1,"accordion-collapse"],hostVars:2,hostBindings:function(n,o){n&2&&(ee("id",o.item.collapseId),he("aria-labelledby",o.item.toggleId))},exportAs:["ngbAccordionCollapse"],features:[dn([Hn])]});let t=e;return t})(),pu=(()=>{let e=class e{constructor(){this.item=d(yt),this.accordion=d(Xn)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionToggle",""]],hostVars:5,hostBindings:function(n,o){n&1&&pe("click",function(){return!o.item.disabled&&o.accordion.toggle(o.item.id)}),n&2&&(ee("id",o.item.toggleId),he("aria-controls",o.item.collapseId)("aria-expanded",!o.item.collapsed),P("collapsed",o.item.collapsed))}});let t=e;return t})();var fu=(()=>{let e=class e{constructor(){this.item=d(yt)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionHeader",""]],hostAttrs:["role","heading",1,"accordion-header"],hostVars:2,hostBindings:function(n,o){n&2&&P("collapsed",o.item.collapsed)}});let t=e;return t})(),yt=(()=>{let e=class e{constructor(){this._accordion=d(Xn),this._cd=d(_e),this._destroyRef=d(nt),this._collapsed=!0,this._id=`ngb-accordion-item-${xs++}`,this._collapseAnimationRunning=!1,this.disabled=!1,this.show=new O,this.shown=new O,this.hide=new O,this.hidden=new O}set id(i){Jt(i)&&i!==""&&(this._id=i)}set destroyOnHide(i){this._destroyOnHide=i}get destroyOnHide(){return this._destroyOnHide===void 0?this._accordion.destroyOnHide:this._destroyOnHide}set collapsed(i){i?this.collapse():this.expand()}get collapsed(){return this._collapsed}get id(){return`${this._id}`}get toggleId(){return`${this.id}-toggle`}get collapseId(){return`${this.id}-collapse`}get _shouldBeInDOM(){return!this.collapsed||this._collapseAnimationRunning||!this.destroyOnHide}ngAfterContentInit(){let{ngbCollapse:i}=this._collapse;i.animation=!1,i.collapsed=this.collapsed,i.animation=this._accordion.animation,i.hidden.pipe(dt(this._destroyRef)).subscribe(()=>{this._collapseAnimationRunning=!1,this.hidden.emit(),this._accordion.hidden.emit(this.id),this._cd.markForCheck()}),i.shown.pipe(dt(this._destroyRef)).subscribe(()=>{this.shown.emit(),this._accordion.shown.emit(this.id),this._cd.markForCheck()})}toggle(){this.collapsed=!this.collapsed}expand(){if(this.collapsed){if(!this._accordion._ensureCanExpand(this))return;this._collapsed=!1,this._cd.markForCheck(),this._cd.detectChanges(),this.show.emit(),this._accordion.show.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!1}}collapse(){this.collapsed||(this._collapsed=!0,this._collapseAnimationRunning=!0,this._cd.markForCheck(),this.hide.emit(),this._accordion.hide.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!0)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordionItem",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,Fs,7),n&2){let a;q(a=Y())&&(o._collapse=a.first)}},hostAttrs:[1,"accordion-item"],hostVars:1,hostBindings:function(n,o){n&2&&ee("id",o.id)},inputs:{id:[0,"ngbAccordionItem","id"],destroyOnHide:"destroyOnHide",disabled:"disabled",collapsed:"collapsed"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordionItem"]});let t=e;return t})(),Xn=(()=>{let e=class e{constructor(){this._config=d(ws),this._anItemWasAlreadyExpandedDuringInitialisation=!1,this.animation=this._config.animation,this.closeOthers=this._config.closeOthers,this.destroyOnHide=this._config.destroyOnHide,this.show=new O,this.shown=new O,this.hide=new O,this.hidden=new O}toggle(i){this._getItem(i)?.toggle()}expand(i){this._getItem(i)?.expand()}expandAll(){this._items&&(this.closeOthers?this._items.find(i=>!i.collapsed)||this._items.first.expand():this._items.forEach(i=>i.expand()))}collapse(i){this._getItem(i)?.collapse()}collapseAll(){this._items?.forEach(i=>i.collapse())}isExpanded(i){let n=this._getItem(i);return n?!n.collapsed:!1}_ensureCanExpand(i){return this.closeOthers?this._items?(this._items.find(n=>!n.collapsed&&i!==n)?.collapse(),!0):this._anItemWasAlreadyExpandedDuringInitialisation?!1:(this._anItemWasAlreadyExpandedDuringInitialisation=!0,!0):!0}_getItem(i){return this._items?.find(n=>n.id===i)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbAccordion",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,yt,4),n&2){let a;q(a=Y())&&(o._items=a)}},hostAttrs:[1,"accordion"],inputs:{animation:"animation",closeOthers:"closeOthers",destroyOnHide:"destroyOnHide"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordion"]});let t=e;return t})();var Kn=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),ks=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.dismissible=!0,this.type="warning"}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),Bs=({classList:t})=>{t.remove("show")},_u=(()=>{let e=class e{constructor(){this._config=d(ks),this._elementRef=d(W),this._zone=d(le),this.animation=this._config.animation,this.dismissible=this._config.dismissible,this.type=this._config.type,this.closed=new O}close(){let i=Z(this._zone,this._elementRef.nativeElement,Bs,{animation:this.animation,runningTransition:"continue"});return i.subscribe(()=>this.closed.emit()),i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert"],hostVars:6,hostBindings:function(n,o){n&2&&(Oe("alert show"+(o.type?" alert-"+o.type:"")),P("fade",o.animation)("alert-dismissible",o.dismissible))},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],ngContentSelectors:Qt,decls:2,vars:1,consts:()=>{let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","aria-label",i,1,"btn-close"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,o){n&1&&(lt(),ct(0),kt(1,as,1,0,"button",0)),n&2&&(ke(),Bt(o.dismissible?1:-1))},styles:[`ngb-alert{display:block}
2
2
  `],encapsulation:2,changeDetection:0});let t=e;return t})(),Qn=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var Jn=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),qn=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var zt=(t,e)=>e?e.some(s=>s.contains(t)):!1,Un=(t,e)=>!e||Ms(t,e)!=null,Ps=(()=>{let t=()=>/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2,e=()=>/Android/.test(navigator.userAgent);return typeof navigator<"u"?!!navigator.userAgent&&(t()||e()):!1})(),As=t=>Ps?()=>setTimeout(()=>t(),100):t;function Li(t,e,s,i,n,o,r,a){s&&t.runOutsideAngular(As(()=>{let l=p=>{let h=p.target;return p.button===2||zt(h,r)?!1:s==="inside"?zt(h,o)&&Un(h,a):s==="outside"?!zt(h,o):Un(h,a)||!zt(h,o)},u=X(e,"keydown").pipe(B(n),Fe(p=>p.key==="Escape"),it(p=>p.preventDefault())),c=X(e,"mousedown").pipe(xe(l),B(n)),_=X(e,"mouseup").pipe(Rt(c),Fe(([p,h])=>h),on(0),B(n));ni([u.pipe(xe(p=>0)),_.pipe(xe(p=>1))]).subscribe(p=>t.run(()=>i(p)))}))}var Yn=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function Zn(t){let e=Array.from(t.querySelectorAll(Yn)).filter(s=>s.tabIndex!==-1);return[e[0],e[e.length-1]]}var Gs=(t,e,s,i=!1)=>{t.runOutsideAngular(()=>{let n=X(e,"focusin").pipe(B(s),xe(o=>o.target));X(e,"keydown").pipe(B(s),Fe(o=>o.key==="Tab"),Rt(n)).subscribe(([o,r])=>{let[a,l]=Zn(e);(r===a||r===e)&&o.shiftKey&&(l.focus(),o.preventDefault()),r===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&X(e,"click").pipe(B(s),Rt(n),xe(o=>o[1])).subscribe(o=>o.focus())})},Hs=(()=>{let e=class e{constructor(){this._element=d(ae).documentElement}isRTL(){return(this._element.getAttribute("dir")||"").toLowerCase()==="rtl"}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),Us=/\s+/,Ls=/ +/gi,Vs={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]};function $s(t,e){let[s,i]=Vs[t];return e&&i||s}var js=/^left/,Ws=/^right/,zs=/^start/,Xs=/^end/;function Ks(t,e){let[s,i]=e.split("-"),n=s.replace(js,"start").replace(Ws,"end"),o=[n];if(i){let r=i;(s==="left"||s==="right")&&(r=r.replace(zs,"top").replace(Xs,"bottom")),o.push(`${n}-${r}`)}return t&&(o=o.map(r=>`${t}-${r}`)),o.join(" ")}function Ln({placement:t,baseClass:e},s){let i=Array.isArray(t)?t:t.split(Us),n=["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"],o=i.findIndex(u=>u==="auto");o>=0&&n.forEach(function(u){i.find(c=>c.search("^"+u)!==-1)==null&&i.splice(o++,1,u)});let r=i.map(u=>$s(u,s.isRTL()));return{placement:r.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!e,phase:"write",fn({state:u}){let c=new RegExp(e+"(-[a-z]+)*","gi"),_=u.elements.popper,p=u.placement,h=_.className;h=h.replace(c,""),h+=` ${Ks(e,p)}`,h=h.trim().replace(Ls," "),_.className=h}},Ti,Si,Oi,{enabled:!0,name:"flip",options:{fallbackPlacements:r}}]}}function Vn(t){return t}function Vi(){let t=d(Hs),e=null;return{createPopper(s){if(!e){let n=(s.updatePopperOptions||Vn)(Ln(s,t));e=Ai(s.hostElement,s.targetElement,n)}},update(){e&&e.update()},setOptions(s){if(e){let n=(s.updatePopperOptions||Vn)(Ln(s,t));e.setOptions(n)}},destroy(){e&&(e.destroy(),e=null)}}}function $i(t){return e=>(e.modifiers.push(Ii,{name:"offset",options:{offset:()=>t}}),e)}var mu=new Date(1882,10,12),gu=new Date(2174,10,25);var vu=1e3*60*60*24;var ji=1080,Qs=24*ji,Js=12*ji+793,yu=29*Qs+Js,bu=11*ji+204;var eo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),qs=(()=>{let e=class e{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=i=>i,this.container=null}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),to=(()=>{let e=class e{constructor(){this._disabled=!1,this.nativeElement=d(W).nativeElement,this.tabindex=0}set disabled(i){this._disabled=i===""||i===!0}get disabled(){return this._disabled}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,o){n&2&&(ee("tabIndex",o.disabled?-1:o.tabindex),P("disabled",o.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"}});let t=e;return t})(),wu=(()=>{let e=class e{constructor(){this.item=d(to)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["button","ngbDropdownItem",""]],hostVars:1,hostBindings:function(n,o){n&2&&ee("disabled",o.item.disabled)}});let t=e;return t})(),Ys=(()=>{let e=class e{constructor(){this.dropdown=d(io),this.nativeElement=d(W).nativeElement}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,to,4),n&2){let a;q(a=Y())&&(o.menuItems=a)}},hostAttrs:[1,"dropdown-menu"],hostVars:2,hostBindings:function(n,o){n&1&&pe("keydown.ArrowUp",function(a){return o.dropdown.onKeyDown(a)})("keydown.ArrowDown",function(a){return o.dropdown.onKeyDown(a)})("keydown.Home",function(a){return o.dropdown.onKeyDown(a)})("keydown.End",function(a){return o.dropdown.onKeyDown(a)})("keydown.Enter",function(a){return o.dropdown.onKeyDown(a)})("keydown.Space",function(a){return o.dropdown.onKeyDown(a)})("keydown.Tab",function(a){return o.dropdown.onKeyDown(a)})("keydown.Shift.Tab",function(a){return o.dropdown.onKeyDown(a)}),n&2&&P("show",o.dropdown.isOpen())}});let t=e;return t})(),Gi=(()=>{let e=class e{constructor(){this.dropdown=d(io),this.nativeElement=d(W).nativeElement}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(n,o){n&2&&(he("aria-expanded",o.dropdown.isOpen()),P("show",o.dropdown.isOpen()))}});let t=e;return t})(),Ou=(()=>{let e=class e extends Gi{};e.\u0275fac=(()=>{let i;return function(o){return(i||(i=ai(e)))(o||e)}})(),e.\u0275dir=T({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(n,o){n&1&&pe("click",function(){return o.dropdown.toggle()})("keydown.ArrowUp",function(a){return o.dropdown.onKeyDown(a)})("keydown.ArrowDown",function(a){return o.dropdown.onKeyDown(a)})("keydown.Home",function(a){return o.dropdown.onKeyDown(a)})("keydown.End",function(a){return o.dropdown.onKeyDown(a)})("keydown.Tab",function(a){return o.dropdown.onKeyDown(a)})("keydown.Shift.Tab",function(a){return o.dropdown.onKeyDown(a)}),n&2&&(he("aria-expanded",o.dropdown.isOpen()),P("show",o.dropdown.isOpen()))},features:[vi([{provide:Gi,useExisting:si(()=>e)}]),di]});let t=e;return t})(),io=(()=>{let e=class e{constructor(){this._changeDetector=d(_e),this._config=d(qs),this._document=d(ae),this._injector=d(re),this._ngZone=d(le),this._nativeElement=d(W).nativeElement,this._destroyCloseHandlers$=new j,this._bodyContainer=null,this._positioning=Vi(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new O}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){st({write:()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()}},{injector:this._injector})}ngOnChanges(i){if(i.container&&this._open&&this._applyContainer(this.container),i.placement&&!i.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement}),this._applyPlacementClasses()),i.dropdownClass){let{currentValue:n,previousValue:o}=i.dropdownClass;this._applyCustomDropdownClass(n,o)}i.autoClose&&this._open&&(this.autoClose=i.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),this.display==="dynamic"&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,updatePopperOptions:i=>this.popperOptions($i([0,2])(i))}),this._applyPlacementClasses(),this._afterRenderRef=Ft({write:()=>{this._positionMenu()}},{injector:this._injector})})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),Li(this._ngZone,this._document,this.autoClose,i=>{this.close(),i===0&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._afterRenderRef?.destroy(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(i){let{key:n}=i,o=this._getMenuElements(),r=-1,a=null,l=this._isEventFromToggle(i);if(!l&&o.length&&o.forEach((u,c)=>{u.contains(i.target)&&(a=u),u===zn(this._document)&&(r=c)}),n===" "||n==="Enter"){a&&(this.autoClose===!0||this.autoClose==="inside")&&X(a,"click").pipe(tt(1)).subscribe(()=>this.close());return}if(n==="Tab"){if(i.target&&this.isOpen()&&this.autoClose)if(this._anchor.nativeElement===i.target){this.container==="body"&&!i.shiftKey?(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")):i.shiftKey&&this.close();return}else if(this.container==="body"){let u=this._menu.nativeElement.querySelectorAll(Yn);i.shiftKey&&i.target===u[0]?(this._anchor.nativeElement.focus(),i.preventDefault()):!i.shiftKey&&i.target===u[u.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else X(i.target,"focusout").pipe(tt(1)).subscribe(({relatedTarget:u})=>{this._nativeElement.contains(u)||this.close()});return}if(l||a){if(this.open(),o.length){switch(n){case"ArrowDown":r=Math.min(r+1,o.length-1);break;case"ArrowUp":if(this._isDropup()&&r===-1){r=o.length-1;break}r=Math.max(r-1,0);break;case"Home":r=0;break;case"End":r=o.length-1;break}o[r].focus()}i.preventDefault()}}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(i){return this._anchor.nativeElement.contains(i.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:i})=>!i).map(({nativeElement:i})=>i):[]}_positionMenu(){let i=this._menu;this.isOpen()&&i&&(this.display==="dynamic"?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(i){return Array.isArray(i)?i[0]:i.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(i=null){if(this._resetContainer(),i==="body"){let n=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||this._document.createElement("div");o.style.position="absolute",n.style.position="static",o.style.zIndex="1055",o.appendChild(n),this._document.body.appendChild(o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(i,n){let o=this.container==="body"?this._bodyContainer:this._nativeElement;o&&(n&&o.classList.remove(n),i&&o.classList.add(i))}_applyPlacementClasses(i){if(this._menu){i||(i=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),this.display==="static"?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");let n=i.search("^top")!==-1?"dropup":"dropdown";this._nativeElement.classList.add(n),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(n))}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,o,r){if(n&1&&(fe(r,Ys,5),fe(r,Gi,5)),n&2){let a;q(a=Y())&&(o._menu=a.first),q(a=Y())&&(o._anchor=a.first)}},hostVars:2,hostBindings:function(n,o){n&2&&P("show",o.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[0,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],features:[je]});let t=e;return t})();var no=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),Zs=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0,this.role="dialog"}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),be=class{constructor(e,s,i){this.nodes=e,this.viewRef=s,this.componentRef=i}},Xt=class{constructor(e){this._componentType=e,this._windowRef=null,this._contentRef=null,this._document=d(ae),this._applicationRef=d(ui),this._injector=d(re),this._viewContainerRef=d(ci),this._ngZone=d(le)}open(e,s,i=!1){this._windowRef||(this._contentRef=this._getContentRef(e,s),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));let{nativeElement:n}=this._windowRef.location,o=new j;st({mixedReadWrite:()=>{o.next(),o.complete()}},{injector:this._injector});let r=o.pipe(tn(()=>Z(this._ngZone,n,({classList:a})=>a.add("show"),{animation:i,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:r}}close(e=!1){return this._windowRef?Z(this._ngZone,this._windowRef.location.nativeElement,({classList:s})=>s.remove("show"),{animation:e,runningTransition:"stop"}).pipe(it(()=>{this._windowRef?.destroy(),this._contentRef?.viewRef?.destroy(),this._windowRef=null,this._contentRef=null})):et(void 0)}_getContentRef(e,s){if(e)if(e instanceof ot){let i=e.createEmbeddedView(s);return this._applicationRef.attachView(i),new be([i.rootNodes],i)}else return new be([[this._document.createTextNode(`${e}`)]]);else return new be([])}},er=(()=>{let e=class e{constructor(){this._document=d(ae)}hide(){let i=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),n=this._document.body,o=n.style,{overflow:r,paddingRight:a}=o;if(i>0){let l=parseFloat(window.getComputedStyle(n).paddingRight);o.paddingRight=`${l+i}px`}return o.overflow="hidden",()=>{i>0&&(o.paddingRight=a),o.overflow=r}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),tr=["animation","backdropClass"],ir=(()=>{let e=class e{constructor(){this._nativeElement=d(W).nativeElement,this._zone=d(le),this._injector=d(re),this._cdRef=d(_e)}ngOnInit(){st({mixedReadWrite:()=>Z(this._zone,this._nativeElement,(i,n)=>{n&&qt(i),i.classList.add("show")},{animation:this.animation,runningTransition:"continue"})},{injector:this._injector})}hide(){return Z(this._zone,this._nativeElement,({classList:i})=>i.remove("show"),{animation:this.animation,runningTransition:"stop"})}updateOptions(i){tr.forEach(n=>{Ce(i[n])&&(this[n]=i[n])}),this._cdRef.markForCheck()}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,o){n&2&&(Oe("modal-backdrop"+(o.backdropClass?" "+o.backdropClass:"")),P("show",!o.animation)("fade",o.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},decls:0,vars:0,template:function(n,o){},encapsulation:2});let t=e;return t})(),Kt=class{update(e){}close(e){}dismiss(e){}},Hi=class{update(e){this._windowCmptRef.instance.updateOptions(e),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._backdropCmptRef.instance.updateOptions(e)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(B(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(B(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(e,s,i,n){this._windowCmptRef=e,this._contentRef=s,this._backdropCmptRef=i,this._beforeDismiss=n,this._closed=new j,this._dismissed=new j,this._hidden=new j,e.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,r)=>{this._resolve=o,this._reject=r}),this.result.then(null,()=>{})}close(e){this._windowCmptRef&&(this._closed.next(e),this._resolve(e),this._removeModalElements())}_dismiss(e){this._dismissed.next(e),this._reject(e),this._removeModalElements()}dismiss(e){if(this._windowCmptRef)if(!this._beforeDismiss)this._dismiss(e);else{let s=this._beforeDismiss();Ds(s)?s.then(i=>{i!==!1&&this._dismiss(e)},()=>{}):s!==!1&&this._dismiss(e)}}_removeModalElements(){let e=this._windowCmptRef.instance.hide(),s=this._backdropCmptRef?this._backdropCmptRef.instance.hide():et(void 0);e.subscribe(()=>{let{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef?.viewRef?.destroy(),this._windowCmptRef=null,this._contentRef=null}),s.subscribe(()=>{if(this._backdropCmptRef){let{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),It(e,s).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}},Ui=function(t){return t[t.BACKDROP_CLICK=0]="BACKDROP_CLICK",t[t.ESC=1]="ESC",t}(Ui||{}),nr=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","role","scrollable","size","windowClass","modalDialogClass"],or=(()=>{let e=class e{constructor(){this._document=d(ae),this._elRef=d(W),this._zone=d(le),this._injector=d(re),this._cdRef=d(_e),this._closed$=new j,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.role="dialog",this.dismissEvent=new O,this.shown=new j,this.hidden=new j}get fullscreenClass(){return this.fullscreen===!0?" modal-fullscreen":Jt(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(i){this.dismissEvent.emit(i)}ngOnInit(){this._elWithFocus=this._document.activeElement,st({mixedReadWrite:()=>this._show()},{injector:this._injector})}ngOnDestroy(){this._disableEventHandling()}hide(){let{nativeElement:i}=this._elRef,n={animation:this.animation,runningTransition:"stop"},o=Z(this._zone,i,()=>i.classList.remove("show"),n),r=Z(this._zone,this._dialogEl.nativeElement,()=>{},n),a=It(o,r);return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}updateOptions(i){nr.forEach(n=>{Ce(i[n])&&(this[n]=i[n])}),this._cdRef.markForCheck()}_show(){let i={animation:this.animation,runningTransition:"continue"},n=Z(this._zone,this._elRef.nativeElement,(r,a)=>{a&&qt(r),r.classList.add("show")},i),o=Z(this._zone,this._dialogEl.nativeElement,()=>{},i);It(n,o).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){let{nativeElement:i}=this._elRef;this._zone.runOutsideAngular(()=>{X(i,"keydown").pipe(B(this._closed$),Fe(o=>o.key==="Escape")).subscribe(o=>{this.keyboard?requestAnimationFrame(()=>{o.defaultPrevented||this._zone.run(()=>this.dismiss(Ui.ESC))}):this.backdrop==="static"&&this._bumpBackdrop()});let n=!1;X(this._dialogEl.nativeElement,"mousedown").pipe(B(this._closed$),it(()=>n=!1),oi(()=>X(i,"mouseup").pipe(B(this._closed$),tt(1))),Fe(({target:o})=>i===o)).subscribe(()=>{n=!0}),X(i,"click").pipe(B(this._closed$)).subscribe(({target:o})=>{i===o&&(this.backdrop==="static"?this._bumpBackdrop():this.backdrop===!0&&!n&&this._zone.run(()=>this.dismiss(Ui.BACKDROP_CLICK))),n=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){let{nativeElement:i}=this._elRef;if(!i.contains(document.activeElement)){let n=i.querySelector("[ngbAutofocus]"),o=Zn(i)[0];(n||o||i).focus()}}_restoreFocus(){let i=this._document.body,n=this._elWithFocus,o;n&&n.focus&&i.contains(n)?o=n:o=i,this._zone.runOutsideAngular(()=>{setTimeout(()=>o.focus()),this._elWithFocus=null})}_bumpBackdrop(){this.backdrop==="static"&&Z(this._zone,this._elRef.nativeElement,({classList:i})=>(i.add("modal-static"),()=>i.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,o){if(n&1&&Gt(cs,7),n&2){let r;q(r=Y())&&(o._dialogEl=r.first)}},hostAttrs:["tabindex","-1"],hostVars:8,hostBindings:function(n,o){n&2&&(he("aria-modal",!0)("aria-labelledby",o.ariaLabelledBy)("aria-describedby",o.ariaDescribedBy)("role",o.role),Oe("modal d-block"+(o.windowClass?" "+o.windowClass:"")),P("fade",o.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",role:"role",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},ngContentSelectors:Qt,decls:4,vars:2,consts:[["dialog",""],["role","document"],[1,"modal-content"]],template:function(n,o){n&1&&(lt(),rt(0,"div",1,0)(2,"div",2),ct(3),at()()),n&2&&Oe("modal-dialog"+(o.size?" modal-"+o.size:"")+(o.centered?" modal-dialog-centered":"")+o.fullscreenClass+(o.scrollable?" modal-dialog-scrollable":"")+(o.modalDialogClass?" "+o.modalDialogClass:""))},styles:[`ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}
3
3
  `],encapsulation:2});let t=e;return t})(),sr=(()=>{let e=class e{constructor(){this._applicationRef=d(ui),this._injector=d(re),this._environmentInjector=d(ri),this._document=d(ae),this._scrollBar=d(er),this._activeWindowCmptHasChanged=new j,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new O;let i=d(le);this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){let n=this._windowCmpts[this._windowCmpts.length-1];Gs(i,n.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(n.location.nativeElement)}})}_restoreScrollBar(){let i=this._scrollBarRestoreFn;i&&(this._scrollBarRestoreFn=null,i())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(i,n,o){let r=o.container instanceof HTMLElement?o.container:Ce(o.container)?this._document.querySelector(o.container):this._document.body;if(!r)throw new Error(`The specified modal container "${o.container||"body"}" was not found in the DOM.`);this._hideScrollBar();let a=new Kt;i=o.injector||i;let l=i.get(ri,null)||this._environmentInjector,u=this._getContentRef(i,l,n,a,o),c=o.backdrop!==!1?this._attachBackdrop(r):void 0,_=this._attachWindowComponent(r,u.nodes),p=new Hi(_,u,c,o.beforeDismiss);return this._registerModalRef(p),this._registerWindowCmpt(_),p.hidden.pipe(tt(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(this._document.body.classList.remove("modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=h=>{p.close(h)},a.dismiss=h=>{p.dismiss(h)},a.update=h=>{p.update(h)},p.update(o),this._modalRefs.length===1&&this._document.body.classList.add("modal-open"),c&&c.instance&&c.changeDetectorRef.detectChanges(),_.changeDetectorRef.detectChanges(),p}get activeInstances(){return this._activeInstances}dismissAll(i){this._modalRefs.forEach(n=>n.dismiss(i))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(i){let n=Ht(ir,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(n.hostView),i.appendChild(n.location.nativeElement),n}_attachWindowComponent(i,n){let o=Ht(or,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:n});return this._applicationRef.attachView(o.hostView),i.appendChild(o.location.nativeElement),o}_getContentRef(i,n,o,r,a){return o?o instanceof ot?this._createFromTemplateRef(o,r):Jt(o)?this._createFromString(o):this._createFromComponent(i,n,o,r,a):new be([])}_createFromTemplateRef(i,n){let o={$implicit:n,close(a){n.close(a)},dismiss(a){n.dismiss(a)}},r=i.createEmbeddedView(o);return this._applicationRef.attachView(r),new be([r.rootNodes],r)}_createFromString(i){let n=this._document.createTextNode(`${i}`);return new be([[n]])}_createFromComponent(i,n,o,r,a){let l=re.create({providers:[{provide:Kt,useValue:r}],parent:i}),u=Ht(o,{environmentInjector:n,elementInjector:l}),c=u.location.nativeElement;return a.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(u.hostView),new be([[c]],u.hostView,u)}_setAriaHidden(i){let n=i.parentElement;n&&i!==this._document.body&&(Array.from(n.children).forEach(o=>{o!==i&&o.nodeName!=="SCRIPT"&&(this._ariaHiddenValues.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}),this._setAriaHidden(n))}_revertAriaHidden(){this._ariaHiddenValues.forEach((i,n)=>{i?n.setAttribute("aria-hidden",i):n.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(i){let n=()=>{let o=this._modalRefs.indexOf(i);o>-1&&(this._modalRefs.splice(o,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(i),this._activeInstances.emit(this._modalRefs),i.result.then(n,n)}_registerWindowCmpt(i){this._windowCmpts.push(i),this._activeWindowCmptHasChanged.next(),i.onDestroy(()=>{let n=this._windowCmpts.indexOf(i);n>-1&&(this._windowCmpts.splice(n,1),this._activeWindowCmptHasChanged.next())})}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),rr=(()=>{let e=class e{constructor(){this._injector=d(re),this._modalStack=d(sr),this._config=d(Zs)}open(i,n={}){let o=Mt(ii(Mt({},this._config),{animation:this._config.animation}),n);return this._modalStack.open(this._injector,i,o)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(i){this._modalStack.dismissAll(i)}hasOpenModals(){return this._modalStack.hasOpenModals()}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),oo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({providers:[rr]});let t=e;return t})(),ar=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.destroyOnHide=!0,this.orientation="horizontal",this.roles="tablist",this.keyboard=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),so=t=>Ce(t)&&t!=="",lr=0,cr=(()=>{let e=class e{constructor(){this.templateRef=d(ot)}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["ng-template","ngbNavContent",""]]});let t=e;return t})();var ro=(()=>{let e=class e{constructor(){this._nav=d(ao),this._nativeElement=d(W).nativeElement,this.disabled=!1,this.shown=new O,this.hidden=new O}ngOnInit(){Ce(this.domId)||(this.domId=`ngb-nav-${lr++}`)}get active(){return this._nav.activeId===this.id}get id(){return so(this._id)?this._id:this.domId}get panelDomId(){return`${this.domId}-panel`}isPanelInDom(){return(Ce(this.destroyOnHide)?!this.destroyOnHide:!this._nav.destroyOnHide)||this.active}isNgContainer(){return this._nativeElement.nodeType===Node.COMMENT_NODE}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbNavItem",""]],contentQueries:function(n,o,r){if(n&1&&fe(r,cr,4),n&2){let a;q(a=Y())&&(o.contentTpl=a.first)}},hostAttrs:[1,"nav-item"],inputs:{destroyOnHide:"destroyOnHide",disabled:"disabled",domId:"domId",_id:[0,"ngbNavItem","_id"]},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbNavItem"]});let t=e;return t})(),ao=(()=>{let e=class e{constructor(i){this.role=i,this._config=d(ar),this._cd=d(_e),this._document=d(ae),this._nativeElement=d(W).nativeElement,this.destroyRef=d(nt),this._navigatingWithKeyboard=!1,this.activeIdChange=new O,this.animation=this._config.animation,this.destroyOnHide=this._config.destroyOnHide,this.orientation=this._config.orientation,this.roles=this._config.roles,this.keyboard=this._config.keyboard,this.shown=new O,this.hidden=new O,this.navItemChange$=new j,this.navChange=new O}click(i){i.disabled||this._updateActiveId(i.id)}onFocusout({relatedTarget:i}){this._nativeElement.contains(i)||(this._navigatingWithKeyboard=!1)}onKeyDown(i){if(this.roles!=="tablist"||!this.keyboard)return;let n=this.links.filter(a=>!a.navItem.disabled),{length:o}=n,r=-1;if(n.forEach((a,l)=>{a.nativeElement===this._document.activeElement&&(r=l)}),o){switch(i.key){case"ArrowUp":case"ArrowLeft":r=(r-1+o)%o;break;case"ArrowRight":case"ArrowDown":r=(r+1)%o;break;case"Home":r=0;break;case"End":r=o-1;break}this.keyboard==="changeWithArrows"&&this.select(n[r].navItem.id),n[r].nativeElement.focus(),this._navigatingWithKeyboard=!0,i.preventDefault()}}select(i){this._updateActiveId(i,!1)}ngAfterContentInit(){if(!Ce(this.activeId)){let i=this.items.first?this.items.first.id:null;so(i)&&(this._updateActiveId(i,!1),this._cd.detectChanges())}this.items.changes.pipe(dt(this.destroyRef)).subscribe(()=>this._notifyItemChanged(this.activeId))}ngOnChanges({activeId:i}){i&&!i.firstChange&&this._notifyItemChanged(i.currentValue)}_updateActiveId(i,n=!0){if(this.activeId!==i){let o=!1;n&&this.navChange.emit({activeId:this.activeId,nextId:i,preventDefault:()=>{o=!0}}),o||(this.activeId=i,this.activeIdChange.emit(i),this._notifyItemChanged(i))}}_notifyItemChanged(i){this.navItemChange$.next(this._getItemById(i))}_getItemById(i){return this.items&&this.items.find(n=>n.id===i)||null}};e.\u0275fac=function(n){return new(n||e)(li("role"))},e.\u0275dir=T({type:e,selectors:[["","ngbNav",""]],contentQueries:function(n,o,r){if(n&1&&(fe(r,ro,4),fe(r,lo,5)),n&2){let a;q(a=Y())&&(o.items=a),q(a=Y())&&(o.links=a)}},hostAttrs:[1,"nav"],hostVars:4,hostBindings:function(n,o){n&1&&pe("keydown.arrowLeft",function(a){return o.onKeyDown(a)})("keydown.arrowRight",function(a){return o.onKeyDown(a)})("keydown.arrowDown",function(a){return o.onKeyDown(a)})("keydown.arrowUp",function(a){return o.onKeyDown(a)})("keydown.Home",function(a){return o.onKeyDown(a)})("keydown.End",function(a){return o.onKeyDown(a)})("focusout",function(a){return o.onFocusout(a)}),n&2&&(he("aria-orientation",o.orientation==="vertical"&&o.roles==="tablist"?"vertical":void 0)("role",o.role?o.role:o.roles?"tablist":void 0),P("flex-column",o.orientation==="vertical"))},inputs:{activeId:"activeId",animation:"animation",destroyOnHide:"destroyOnHide",orientation:"orientation",roles:"roles",keyboard:"keyboard"},outputs:{activeIdChange:"activeIdChange",shown:"shown",hidden:"hidden",navChange:"navChange"},exportAs:["ngbNav"],features:[je]});let t=e;return t})(),lo=(()=>{let e=class e{constructor(i){this.role=i,this.navItem=d(ro),this.nav=d(ao),this.nativeElement=d(W).nativeElement}get tabindex(){return this.nav.keyboard===!1?this.navItem.disabled?-1:void 0:this.nav._navigatingWithKeyboard||this.navItem.disabled||!this.navItem.active?-1:void 0}};e.\u0275fac=function(n){return new(n||e)(li("role"))},e.\u0275dir=T({type:e,selectors:[["","ngbNavLink",""]],hostAttrs:[1,"nav-link"],hostVars:12,hostBindings:function(n,o){n&2&&(ee("id",o.navItem.domId),he("role",o.role?o.role:o.nav.roles?"tab":void 0)("tabindex",o.tabindex)("aria-controls",o.navItem.isPanelInDom()?o.navItem.panelDomId:null)("aria-selected",o.navItem.active)("aria-disabled",o.navItem.disabled),P("nav-item",o.navItem.isNgContainer())("active",o.navItem.active)("disabled",o.navItem.disabled))}});let t=e;return t})(),Du=(()=>{let e=class e extends lo{};e.\u0275fac=(()=>{let i;return function(o){return(i||(i=ai(e)))(o||e)}})(),e.\u0275dir=T({type:e,selectors:[["button","ngbNavLink",""]],hostAttrs:["type","button"],hostVars:1,hostBindings:function(n,o){n&1&&pe("click",function(){return o.nav.click(o.navItem)}),n&2&&ee("disabled",o.navItem.disabled)},features:[di]});let t=e;return t})();var dr=({classList:t})=>(t.remove("show"),()=>t.remove("active")),ur=(t,e)=>{e&&qt(t),t.classList.add("show")},$n=(()=>{let e=class e{constructor(){this.nativeElement=d(W).nativeElement}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbNavPane",""]],hostAttrs:[1,"tab-pane"],hostVars:5,hostBindings:function(n,o){n&2&&(ee("id",o.item.panelDomId),he("role",o.role?o.role:o.nav.roles?"tabpanel":void 0)("aria-labelledby",o.item.domId),P("fade",o.nav.animation))},inputs:{item:"item",nav:"nav",role:"role"}});let t=e;return t})(),Eu=(()=>{let e=class e{constructor(){this._cd=d(_e),this._ngZone=d(le),this._activePane=null}isPanelTransitioning(i){return this._activePane?.item===i}ngAfterViewInit(){this._updateActivePane(),this.nav.navItemChange$.pipe(dt(this.nav.destroyRef),ln(this._activePane?.item||null),sn(),an(1)).subscribe(i=>{let n={animation:this.nav.animation,runningTransition:"stop"};this._cd.detectChanges(),this._activePane?Z(this._ngZone,this._activePane.nativeElement,dr,n).subscribe(()=>{let o=this._activePane?.item;this._activePane=this._getPaneForItem(i),this._cd.markForCheck(),this._activePane&&(this._activePane.nativeElement.classList.add("active"),Z(this._ngZone,this._activePane.nativeElement,ur,n).subscribe(()=>{i&&(i.shown.emit(),this.nav.shown.emit(i.id))})),o&&(o.hidden.emit(),this.nav.hidden.emit(o.id))}):this._updateActivePane()})}_updateActivePane(){this._activePane=this._getActivePane(),this._activePane?.nativeElement.classList.add("show","active")}_getPaneForItem(i){return this._panes&&this._panes.find(n=>n.item===i)||null}_getActivePane(){return this._panes&&this._panes.find(i=>i.item.active)||null}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["","ngbNavOutlet",""]],viewQuery:function(n,o){if(n&1&&Gt($n,5),n&2){let r;q(r=Y())&&(o._panes=r)}},hostAttrs:[1,"tab-content"],inputs:{paneRole:"paneRole",nav:[0,"ngbNavOutlet","nav"]},attrs:ds,decls:2,vars:0,consts:[["ngbNavPane","",3,"item","nav","role"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,o){n&1&&Pt(0,ps,1,1,null,null,un),n&2&&At(o.nav.items)},dependencies:[$n,yi],encapsulation:2,changeDetection:0});let t=e;return t})();var co=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var uo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),hr={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};function pr(t){let e=(t||"").trim();if(e.length===0)return[];let s=e.split(/\s+/).map(n=>n.split(":")).map(n=>hr[n[0]]||n),i=s.filter(n=>n.includes("manual"));if(i.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(i.length===1&&s.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return i.length?[]:s}function fr(t,e,s,i,n,o=0,r=0,a=Tt,l=Tt){let u=pr(e);if(u.length===0)return()=>{};let c=new Set,_=[],p;function h(f,m){t.addEventListener(f,m),_.push(()=>t.removeEventListener(f,m))}function v(f,m){clearTimeout(p),m>0?p=setTimeout(f,m):f()}for(let[f,m]of u)if(m?(h(f,()=>{c.add(f),v(()=>c.size>0&&i(),o)}),h(m,()=>{c.delete(f),v(()=>c.size===0&&n(),r)})):h(f,()=>s()?v(n,r):v(i,o)),f==="mouseenter"&&m==="mouseleave"&&r>0){let w=a.subscribe(()=>{c.delete(f),clearTimeout(p)}),E=l.subscribe(()=>{c.delete(f),v(()=>c.size===0&&n(),r)});_.push(()=>w.unsubscribe(),()=>E.unsubscribe())}return _.push(()=>clearTimeout(p)),()=>_.forEach(f=>f())}var ho=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var po=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var fo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var _o=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var mo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})();var go=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),_r=(()=>{let e=class e{constructor(){this._ngbConfig=d(qe),this.autoClose=!0,this.placement="auto",this.popperOptions=i=>i,this.triggers="hover focus",this.disableTooltip=!1,this.openDelay=0,this.closeDelay=0}get animation(){return this._animation??this._ngbConfig.animation}set animation(i){this._animation=i}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=K({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})(),mr=0,gr=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-tooltip-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(n,o){n&1&&pe("mouseenter",function(){return o.onMouseEnter()})("mouseleave",function(){return o.onMouseLeave()}),n&2&&(ee("id",o.id),Oe("tooltip"+(o.tooltipClass?" "+o.tooltipClass:"")),P("fade",o.animation))},inputs:{animation:"animation",id:"id",tooltipClass:"tooltipClass",onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave"},ngContentSelectors:Qt,decls:3,vars:0,consts:[["data-popper-arrow","",1,"tooltip-arrow"],[1,"tooltip-inner"]],template:function(n,o){n&1&&(lt(),pn(0,"div",0),rt(1,"div",1),ct(2),at())},styles:[`ngb-tooltip-window{pointer-events:none;position:absolute}ngb-tooltip-window .tooltip-inner{pointer-events:auto}ngb-tooltip-window.bs-tooltip-top,ngb-tooltip-window.bs-tooltip-bottom{padding-left:0;padding-right:0}ngb-tooltip-window.bs-tooltip-start,ngb-tooltip-window.bs-tooltip-end{padding-top:0;padding-bottom:0}
4
4
  `],encapsulation:2,changeDetection:0});let t=e;return t})(),Mu=(()=>{let e=class e{constructor(){this._config=d(_r),this.animation=this._config.animation,this.autoClose=this._config.autoClose,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.triggers=this._config.triggers,this.container=this._config.container,this.disableTooltip=this._config.disableTooltip,this.tooltipClass=this._config.tooltipClass,this.openDelay=this._config.openDelay,this.closeDelay=this._config.closeDelay,this.shown=new O,this.hidden=new O,this._nativeElement=d(W).nativeElement,this._ngZone=d(le),this._document=d(ae),this._changeDetector=d(_e),this._injector=d(re),this._ngbTooltipWindowId=`ngb-tooltip-${mr++}`,this._popupService=new Xt(gr),this._windowRef=null,this._positioning=Vi(),this._mouseEnterTooltip=new j,this._mouseLeaveTooltip=new j,this._opening=!0,this._transitioning=!1}set ngbTooltip(i){this._ngbTooltip=i,!i&&this._windowRef&&this.close()}get ngbTooltip(){return this._ngbTooltip}open(i){if(!this._opening&&this._transitioning&&(this._transitioning=!1,Gn(this._windowRef.location.nativeElement)),!this._windowRef&&this._ngbTooltip&&!this.disableTooltip){let{windowRef:n,transition$:o}=this._popupService.open(this._ngbTooltip,i??this.tooltipContext,this.animation);this._opening=!0,this._transitioning=!0,this._windowRef=n,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("tooltipClass",this.tooltipClass),this._windowRef.setInput("id",this._ngbTooltipWindowId),this._windowRef.setInput("onMouseEnter",()=>this._mouseEnterTooltip.next()),this._windowRef.setInput("onMouseLeave",()=>this._mouseLeaveTooltip.next()),this._getPositionTargetElement().setAttribute("aria-describedby",this._ngbTooltipWindowId),this.container==="body"&&this._document.body.appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,baseClass:"bs-tooltip",updatePopperOptions:r=>this.popperOptions($i([0,6])(r))}),Promise.resolve().then(()=>{this._positioning.update()}),this._afterRenderRef=Ft({mixedReadWrite:()=>{this._positioning.update()}},{injector:this._injector})}),Li(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement],[this._nativeElement]),o.subscribe(()=>{this._transitioning&&(this._transitioning=!1,this.shown.emit())})}}close(i=this.animation){this._opening&&this._transitioning&&(this._transitioning=!1,Gn(this._windowRef.location.nativeElement)),this._windowRef!=null&&(this._getPositionTargetElement().removeAttribute("aria-describedby"),this._opening=!1,this._transitioning=!0,this._popupService.close(i).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._afterRenderRef?.destroy(),this._transitioning&&(this._transitioning=!1,this.hidden.emit()),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return this._windowRef!=null}ngOnInit(){this._unregisterListenersFn=fr(this._nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay,this._mouseEnterTooltip,this._mouseLeaveTooltip)}ngOnChanges({tooltipClass:i}){i&&this.isOpen()&&this._windowRef.setInput("tooltipClass",i.currentValue)}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_getPositionTargetElement(){return(Jt(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._nativeElement}};e.\u0275fac=function(n){return new(n||e)},e.\u0275dir=T({type:e,selectors:[["","ngbTooltip",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disableTooltip:"disableTooltip",tooltipClass:"tooltipClass",tooltipContext:"tooltipContext",openDelay:"openDelay",closeDelay:"closeDelay",ngbTooltip:"ngbTooltip"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbTooltip"],features:[je]});let t=e;return t})(),vo=(()=>{let e=class e{};e.\u0275fac=function(n){return new(n||e)},e.\u0275mod=R({type:e}),e.\u0275inj=I({});let t=e;return t})(),vr=(()=>{let e=class e{constructor(){this.highlightClass="ngb-highlight",this.accentSensitive=!0}ngOnChanges(i){!this.accentSensitive&&!String.prototype.normalize&&(console.warn("The `accentSensitive` input in `ngb-highlight` cannot be set to `false` in a browser that does not implement the `String.normalize` function. You will have to include a polyfill in your application to use this feature in the current browser."),this.accentSensitive=!0);let n=vt(this.result),o=Array.isArray(this.term)?this.term:[this.term],r=c=>this.accentSensitive?c:An(c),a=o.map(c=>Es(r(vt(c)))).filter(c=>c),l=this.accentSensitive?n:An(n),u=a.length?l.split(new RegExp(`(${a.join("|")})`,"gmi")):[n];if(this.accentSensitive)this.parts=u;else{let c=0;this.parts=u.map(_=>n.substring(c,c+=_.length))}}};e.\u0275fac=function(n){return new(n||e)},e.\u0275cmp=me({type:e,selectors:[["ngb-highlight"]],inputs:{highlightClass:"highlightClass",result:"result",term:"term",accentSensitive:"accentSensitive"},features:[je],decls:2,vars:0,consts:[[3,"class"]],template:function(n,o){n&1&&Pt(0,ms,2,1,null,null,hi),n&2&&At(o.parts)},styles:[`.ngb-highlight{font-weight:700}
@@ -1,4 +1,4 @@
1
- import{a as we}from"./chunk-ZY6Y43WL.js";import{b as A,e as ye,f as Ce,g as Re}from"./chunk-IA32PJPE.js";import{a as fe,b as he}from"./chunk-EEI3BPIT.js";import{a as _e}from"./chunk-2XWUBKEU.js";import{a as De}from"./chunk-QUBAEQEC.js";import{m as pe,n as ge,t as D}from"./chunk-QRNW5KEK.js";import{A as me,c as se,e as le,l as de,z as ce}from"./chunk-GHMXPHAP.js";import{b as ue,d as j}from"./chunk-WZ6F47WI.js";import{b as be}from"./chunk-M425JDIT.js";import{k as I,n as H}from"./chunk-6WJPBOPW.js";import{a as R,b as P}from"./chunk-77UFZWOO.js";import"./chunk-KIMRA3K7.js";import{Ec as z,Hb as C,Ib as w,Jb as v,Jc as s,Kc as d,Lb as Z,Lc as K,Mb as ee,Nb as te,Ob as f,Pb as a,Qb as l,Rb as p,_b as x,ab as r,bc as b,d as G,dc as m,fb as X,g as Q,h as E,id as re,ka as g,mb as B,pd as ae,qa as h,qc as _,ra as u,rc as k,sc as M,w as $,xc as ie,yc as oe,zc as ne}from"./chunk-3CKT2OQ7.js";var ke=Q(Re(),1);var ve=Q(De(),1);var Ee=(n,y)=>({"fa-trash":n,"fa-cog fa-spin":y});function Ie(n,y){n&1&&(a(0,"div",13),p(1,"i",20),l())}function je(n,y){if(n&1){let e=x();a(0,"li",9)(1,"span"),_(2),s(3,"date"),p(4,"br"),a(5,"span",21),_(6),s(7,"date"),l()(),a(8,"span",22)(9,"button",25),s(10,"translate"),s(11,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.restore(i.id))}),p(12,"i",26),l(),a(13,"button",27),s(14,"translate"),s(15,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.download(i.id))}),p(16,"i",28),l(),a(17,"button",23),s(18,"translate"),s(19,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.delete(i.id))}),p(20,"i",24),l()()()}if(n&2){let e=y.$implicit,t=m(2);r(2),M(" ",K(3,15,e.timestamp,"mediumDate")),r(4),k(K(7,18,e.timestamp,"shortTime")),r(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",d(11,23,"config.restore.copy_to_editor")),r(4),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(14,25,"form.button_download"))("openDelay",150),C("aria-label",d(15,27,"form.button_download")),r(4),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(18,29,"form.button_delete"))("openDelay",150),C("aria-label",d(19,31,"form.button_delete")),r(3),f("ngClass",z(33,Ee,e.id!==t.deleting,e.id===t.deleting))}}function He(n,y){if(n&1){let e=x();a(0,"ul",14),ee(1,je,21,36,"li",9,Z),a(3,"li",9)(4,"span"),_(5),s(6,"translate"),p(7,"br"),a(8,"span",21),_(9),s(10,"translate"),l()(),a(11,"span",22)(12,"button",23),s(13,"translate"),s(14,"translate"),b("click",function(){h(e);let i=m();return u(i.deleteAllBackups())}),p(15,"i",24),l()()()()}if(n&2){let e=m();r(),te(e.backupList),r(4),M(" ",d(6,7,"form.button_delete_all")),r(4),M(" ",d(10,9,"common.labels.no_confirmation")," "),r(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",d(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",d(14,13,"form.button_delete")),r(3),f("ngClass",z(15,Ee,e.deleting!=="all",e.deleting==="all"))}}var xe=(()=>{class n{$activeModal=g(pe);$api=g(H);$router=g(j);$toastr=g(I);$translate=g(R);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return E(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 E(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"}),T=`config-backup-${e}.json`;(0,ve.saveAs)(o,T),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 E(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 E(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=B({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"),l(),a(5,"button",3),s(6,"translate"),b("click",function(){return i.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),p(9,"i",6),l(),a(10,"ul",7)(11,"li"),_(12),s(13,"translate"),l(),a(14,"li"),_(15),s(16,"translate"),l()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),_(21),s(22,"translate"),l(),p(23,"br"),a(24,"small",10),_(25),s(26,"translate"),l()(),a(27,"button",11),s(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),p(29,"i",12),l()()(),w(30,Ie,2,0,"div",13)(31,He,16,18,"ul",14),l(),a(32,"div",15),p(33,"div",16),a(34,"div",17)(35,"button",18),s(36,"translate"),b("click",function(){return i.dismissModal()}),_(37),s(38,"translate"),l()(),p(39,"div",19),l()()),t&2&&(r(3),k(d(4,13,"config.restore.title")),r(2),f("disabled",i.clicked||i.deleting),C("aria-label",d(6,15,"form.button_close")),r(7),k(d(13,17,"config.restore.help_1")),r(3),k(d(16,19,"config.restore.help_2")),r(6),k(d(22,21,"form.button_download")),r(4),k(d(26,23,"config.restore.download")),r(2),f("disabled",i.clicked||i.deleting),C("aria-label",d(28,25,"backup.backup_now")),r(3),v(i.loading?30:i.backupList.length?31:-1),r(5),f("disabled",i.clicked||i.deleting),C("aria-label",d(36,27,"form.button_close")),r(2),M(" ",d(38,29,"form.button_close")," "))},dependencies:[D,re,me,ae,P],encapsulation:2})}return n})();function Oe(n,y){if(n&1){let e=x();a(0,"button",13),s(1,"translate"),s(2,"translate"),b("click",function(){h(e);let i=m();return u(i.onCancelRestore())}),p(3,"i",14),l()}if(n&2){let e=m();f("disabled",e.saveInProgress)("openDelay",150)("ngbTooltip",d(1,4,"form.button_cancel")),C("aria-label",d(2,6,"form.button_cancel"))}}function Ne(n,y){if(n&1){let e=x();a(0,"button",15),s(1,"translate"),s(2,"translate"),b("click",function(){h(e);let i=m();return u(i.onRestore())}),p(3,"i",16),l()}n&2&&(f("openDelay",150)("ngbTooltip",d(1,3,"form.button_restore")),C("aria-label",d(2,5,"form.button_restore")))}function qe(n,y){n&1&&p(0,"i",8)}function Fe(n,y){n&1&&p(0,"i",9)}function Le(n,y){if(n&1){let e=x();a(0,"ngx-monaco-editor",17),b("onInit",function(i){h(e);let o=m();return u(o.onEditorInit(i))})("keydown.control.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())})("keydown.meta.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())}),l()}if(n&2){let e=m();f("options",e.editorOptions)("model",e.monacoEditorModel)}}function Je(n,y){if(n&1){let e=x();a(0,"ngx-monaco-diff-editor",18),b("onInit",function(i){h(e);let o=m();return u(o.onInitDiffEditor(i))})("keydown.control.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())})("keydown.meta.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())}),l()}if(n&2){let e=m();f("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function ze(n,y){if(n&1){let e=x();a(0,"textarea",19),ne("ngModelChange",function(i){h(e);let o=m();return oe(o.homebridgeConfig,i)||(o.homebridgeConfig=i),u(i)}),_(1," "),l()}if(n&2){let e=m();ie("ngModel",e.homebridgeConfig)}}var xt=(()=>{class n{$api=g(H);$md=g(_e);$modal=g(ge);$monacoEditor=g(we);$route=g(ue);$renderer=g(X);$router=g(j);$settings=g(be);$toastr=g(I);$translate=g(R);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!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.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},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.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return E(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(xe,{size:"lg",backdrop:"static"});t.componentInstance.currentConfig=this.homebridgeConfig,t.componentInstance.fromSettings=e,t.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),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.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(){this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.onRestore()}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}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(`
1
+ import{a as we}from"./chunk-5TCYRJ6A.js";import{b as A,e as ye,f as Ce,g as Re}from"./chunk-UKLR7UOX.js";import{a as fe,b as he}from"./chunk-NFWGYMP7.js";import{a as _e}from"./chunk-77JZBWAC.js";import{a as De}from"./chunk-V2P2FPJ7.js";import{m as pe,n as ge,t as D}from"./chunk-EA3EXGPZ.js";import{A as me,c as se,e as le,l as de,z as ce}from"./chunk-CNMM42I5.js";import{b as ue,d as j}from"./chunk-UOLP7IQJ.js";import{b as be}from"./chunk-E6YWZCLV.js";import{k as I,n as H}from"./chunk-2CO3VBPY.js";import{a as R,b as P}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Ec as z,Hb as C,Ib as w,Jb as v,Jc as s,Kc as d,Lb as Z,Lc as K,Mb as ee,Nb as te,Ob as f,Pb as a,Qb as l,Rb as p,_b as x,ab as r,bc as b,d as G,dc as m,fb as X,g as Q,h as E,id as re,ka as g,mb as B,pd as ae,qa as h,qc as _,ra as u,rc as k,sc as M,w as $,xc as ie,yc as oe,zc as ne}from"./chunk-H36QJYLQ.js";var ke=Q(Re(),1);var ve=Q(De(),1);var Ee=(n,y)=>({"fa-trash":n,"fa-cog fa-spin":y});function Ie(n,y){n&1&&(a(0,"div",13),p(1,"i",20),l())}function je(n,y){if(n&1){let e=x();a(0,"li",9)(1,"span"),_(2),s(3,"date"),p(4,"br"),a(5,"span",21),_(6),s(7,"date"),l()(),a(8,"span",22)(9,"button",25),s(10,"translate"),s(11,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.restore(i.id))}),p(12,"i",26),l(),a(13,"button",27),s(14,"translate"),s(15,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.download(i.id))}),p(16,"i",28),l(),a(17,"button",23),s(18,"translate"),s(19,"translate"),b("click",function(){let i=h(e).$implicit,o=m(2);return u(o.delete(i.id))}),p(20,"i",24),l()()()}if(n&2){let e=y.$implicit,t=m(2);r(2),M(" ",K(3,15,e.timestamp,"mediumDate")),r(4),k(K(7,18,e.timestamp,"shortTime")),r(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",d(11,23,"config.restore.copy_to_editor")),r(4),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(14,25,"form.button_download"))("openDelay",150),C("aria-label",d(15,27,"form.button_download")),r(4),f("disabled",t.clicked||t.deleting)("ngbTooltip",d(18,29,"form.button_delete"))("openDelay",150),C("aria-label",d(19,31,"form.button_delete")),r(3),f("ngClass",z(33,Ee,e.id!==t.deleting,e.id===t.deleting))}}function He(n,y){if(n&1){let e=x();a(0,"ul",14),ee(1,je,21,36,"li",9,Z),a(3,"li",9)(4,"span"),_(5),s(6,"translate"),p(7,"br"),a(8,"span",21),_(9),s(10,"translate"),l()(),a(11,"span",22)(12,"button",23),s(13,"translate"),s(14,"translate"),b("click",function(){h(e);let i=m();return u(i.deleteAllBackups())}),p(15,"i",24),l()()()()}if(n&2){let e=m();r(),te(e.backupList),r(4),M(" ",d(6,7,"form.button_delete_all")),r(4),M(" ",d(10,9,"common.labels.no_confirmation")," "),r(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",d(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",d(14,13,"form.button_delete")),r(3),f("ngClass",z(15,Ee,e.deleting!=="all",e.deleting==="all"))}}var xe=(()=>{class n{$activeModal=g(pe);$api=g(H);$router=g(j);$toastr=g(I);$translate=g(R);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return E(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 E(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"}),T=`config-backup-${e}.json`;(0,ve.saveAs)(o,T),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 E(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 E(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=B({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"),l(),a(5,"button",3),s(6,"translate"),b("click",function(){return i.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),p(9,"i",6),l(),a(10,"ul",7)(11,"li"),_(12),s(13,"translate"),l(),a(14,"li"),_(15),s(16,"translate"),l()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),_(21),s(22,"translate"),l(),p(23,"br"),a(24,"small",10),_(25),s(26,"translate"),l()(),a(27,"button",11),s(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),p(29,"i",12),l()()(),w(30,Ie,2,0,"div",13)(31,He,16,18,"ul",14),l(),a(32,"div",15),p(33,"div",16),a(34,"div",17)(35,"button",18),s(36,"translate"),b("click",function(){return i.dismissModal()}),_(37),s(38,"translate"),l()(),p(39,"div",19),l()()),t&2&&(r(3),k(d(4,13,"config.restore.title")),r(2),f("disabled",i.clicked||i.deleting),C("aria-label",d(6,15,"form.button_close")),r(7),k(d(13,17,"config.restore.help_1")),r(3),k(d(16,19,"config.restore.help_2")),r(6),k(d(22,21,"form.button_download")),r(4),k(d(26,23,"config.restore.download")),r(2),f("disabled",i.clicked||i.deleting),C("aria-label",d(28,25,"backup.backup_now")),r(3),v(i.loading?30:i.backupList.length?31:-1),r(5),f("disabled",i.clicked||i.deleting),C("aria-label",d(36,27,"form.button_close")),r(2),M(" ",d(38,29,"form.button_close")," "))},dependencies:[D,re,me,ae,P],encapsulation:2})}return n})();function Oe(n,y){if(n&1){let e=x();a(0,"button",13),s(1,"translate"),s(2,"translate"),b("click",function(){h(e);let i=m();return u(i.onCancelRestore())}),p(3,"i",14),l()}if(n&2){let e=m();f("disabled",e.saveInProgress)("openDelay",150)("ngbTooltip",d(1,4,"form.button_cancel")),C("aria-label",d(2,6,"form.button_cancel"))}}function Ne(n,y){if(n&1){let e=x();a(0,"button",15),s(1,"translate"),s(2,"translate"),b("click",function(){h(e);let i=m();return u(i.onRestore())}),p(3,"i",16),l()}n&2&&(f("openDelay",150)("ngbTooltip",d(1,3,"form.button_restore")),C("aria-label",d(2,5,"form.button_restore")))}function qe(n,y){n&1&&p(0,"i",8)}function Fe(n,y){n&1&&p(0,"i",9)}function Le(n,y){if(n&1){let e=x();a(0,"ngx-monaco-editor",17),b("onInit",function(i){h(e);let o=m();return u(o.onEditorInit(i))})("keydown.control.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())})("keydown.meta.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())}),l()}if(n&2){let e=m();f("options",e.editorOptions)("model",e.monacoEditorModel)}}function Je(n,y){if(n&1){let e=x();a(0,"ngx-monaco-diff-editor",18),b("onInit",function(i){h(e);let o=m();return u(o.onInitDiffEditor(i))})("keydown.control.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())})("keydown.meta.s",function(i){h(e);let o=m();return i.preventDefault(),u(o.onSave())}),l()}if(n&2){let e=m();f("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function ze(n,y){if(n&1){let e=x();a(0,"textarea",19),ne("ngModelChange",function(i){h(e);let o=m();return oe(o.homebridgeConfig,i)||(o.homebridgeConfig=i),u(i)}),_(1," "),l()}if(n&2){let e=m();ie("ngModel",e.homebridgeConfig)}}var xt=(()=>{class n{$api=g(H);$md=g(_e);$modal=g(ge);$monacoEditor=g(we);$route=g(ue);$renderer=g(X);$router=g(j);$settings=g(be);$toastr=g(I);$translate=g(R);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!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.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},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.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return E(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(xe,{size:"lg",backdrop:"static"});t.componentInstance.currentConfig=this.homebridgeConfig,t.componentInstance.fromSettings=e,t.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),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.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(){this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.onRestore()}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}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
2
  `).map(t=>` ${t}`).join(`
3
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
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).