homebridge-config-ui-x 5.0.0-beta.35 → 5.0.0-beta.37

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 (179) hide show
  1. package/CHANGELOG.md +46 -15
  2. package/config.schema.json +2 -2
  3. package/dist/bin/hb-service.js +1 -1
  4. package/dist/bin/hb-service.js.map +1 -1
  5. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  6. package/dist/core/config/config.service.js +1 -1
  7. package/dist/modules/accessories/accessories.controller.js +1 -1
  8. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  9. package/dist/modules/config-editor/config-editor.controller.js +1 -1
  10. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  11. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
  12. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  13. package/dist/modules/plugins/plugins.service.d.ts +2 -1
  14. package/dist/modules/plugins/plugins.service.js +46 -29
  15. package/dist/modules/plugins/plugins.service.js.map +1 -1
  16. package/dist/modules/server/server.controller.d.ts +3 -0
  17. package/dist/modules/server/server.controller.js +12 -0
  18. package/dist/modules/server/server.controller.js.map +1 -1
  19. package/dist/modules/server/server.service.d.ts +1 -0
  20. package/dist/modules/server/server.service.js +10 -3
  21. package/dist/modules/server/server.service.js.map +1 -1
  22. package/dist/modules/status/status.gateway.d.ts +1 -0
  23. package/dist/modules/status/status.service.d.ts +1 -0
  24. package/dist/modules/status/status.service.js +1 -0
  25. package/dist/modules/status/status.service.js.map +1 -1
  26. package/dist/modules/users/users.controller.js +6 -6
  27. package/dist/modules/users/users.controller.js.map +1 -1
  28. package/package.json +29 -33
  29. package/public/3rdpartylicenses.txt +8 -8
  30. package/public/chunk-2FYN4AQW.js +1 -0
  31. package/public/{chunk-NEL5H4ZP.js → chunk-2G5W635D.js} +16 -16
  32. package/public/{chunk-XQNHUDX7.js → chunk-2UAJRTNP.js} +1 -1
  33. package/public/chunk-2VHNXX7S.js +1 -0
  34. package/public/{chunk-4SJ5YXGK.js → chunk-3BOXNWOI.js} +1 -1
  35. package/public/chunk-3X3JN7L2.js +1 -0
  36. package/public/chunk-43DZUHXS.js +1 -0
  37. package/public/chunk-55C65QIT.js +1 -0
  38. package/public/chunk-5F65XVN2.js +6 -0
  39. package/public/{chunk-W4HHTKG5.js → chunk-5GX76JEA.js} +1 -1
  40. package/public/chunk-5RZMUJ6S.js +1 -0
  41. package/public/{chunk-Y63TC2BD.js → chunk-5ZSMI5RW.js} +1 -1
  42. package/public/chunk-6DSQDU6X.js +1 -0
  43. package/public/{chunk-7BCHGXO4.js → chunk-6LUEJV3C.js} +1 -1
  44. package/public/{chunk-QBQBIGHH.js → chunk-6ZW6DFXM.js} +1 -1
  45. package/public/chunk-7HPEGK3R.js +1 -0
  46. package/public/chunk-A6ASL2RK.js +1 -0
  47. package/public/{chunk-SQJXCJMZ.js → chunk-AFHUSYKG.js} +1 -1
  48. package/public/chunk-BFEMJZWI.js +14 -0
  49. package/public/{chunk-5KLZWFYX.js → chunk-BN42B6ZN.js} +1 -1
  50. package/public/chunk-BQQ7SI73.js +1 -0
  51. package/public/chunk-BY7XCS73.js +1 -0
  52. package/public/chunk-C2RICIO2.js +1 -0
  53. package/public/{chunk-NSCP3SOQ.js → chunk-C2UJXFYZ.js} +1 -1
  54. package/public/chunk-CKRLUDH6.js +1 -0
  55. package/public/chunk-CNUMFNDI.js +1 -0
  56. package/public/{chunk-CLZ6XK3S.js → chunk-D67RSISA.js} +1 -1
  57. package/public/chunk-E66CIXOF.js +5 -0
  58. package/public/chunk-ELVGIIRZ.js +7 -0
  59. package/public/{chunk-K5KJYFWM.js → chunk-ESV4M6MU.js} +1 -1
  60. package/public/chunk-FMKN5WOC.js +1 -0
  61. package/public/chunk-G67F4LRX.js +1 -0
  62. package/public/{chunk-23M23WV2.js → chunk-HIDFXEU7.js} +1 -1
  63. package/public/chunk-HLCA3Q2D.js +1 -0
  64. package/public/chunk-I7356EVZ.js +1 -0
  65. package/public/chunk-I7MMB7MD.js +1 -0
  66. package/public/chunk-ICBZE4AQ.js +1 -0
  67. package/public/{chunk-FN5IQFDD.js → chunk-IK7NDR5D.js} +1 -1
  68. package/public/chunk-ILMG4QEX.js +1 -0
  69. package/public/chunk-IS2FWNNK.js +1 -0
  70. package/public/chunk-J535GCZZ.js +1 -0
  71. package/public/{chunk-OVFRRCBZ.js → chunk-J6THMA7C.js} +8 -8
  72. package/public/{chunk-474BOAR2.js → chunk-KBQ7X43U.js} +1 -1
  73. package/public/chunk-KFPAD73Q.js +1 -0
  74. package/public/chunk-KLH3Q4Y2.js +1 -0
  75. package/public/{chunk-TFXCOLWH.js → chunk-KP734VBH.js} +1 -1
  76. package/public/{chunk-422KDBY6.js → chunk-KPSDMQ2B.js} +1 -1
  77. package/public/chunk-LCDLXCTN.js +1 -0
  78. package/public/chunk-LCZPCRGZ.js +1 -0
  79. package/public/{chunk-H6I47YZL.js → chunk-LPZYBAR5.js} +1 -1
  80. package/public/{chunk-MVXWO6QY.js → chunk-LRWWB655.js} +1 -1
  81. package/public/{chunk-XP7D2PRA.js → chunk-NDNNBXT7.js} +1 -1
  82. package/public/{chunk-BOT4S75X.js → chunk-NKOXS7BF.js} +1 -1
  83. package/public/chunk-OHS6VJO6.js +1 -0
  84. package/public/chunk-OKRGBGAT.js +1 -0
  85. package/public/{chunk-WJQ5NIPP.js → chunk-PZFLYD2M.js} +1 -1
  86. package/public/chunk-QVTW3TV2.js +1 -0
  87. package/public/{chunk-C2XBPNOQ.js → chunk-QZ7FBUFJ.js} +1 -1
  88. package/public/chunk-RNZPYTKX.js +1 -0
  89. package/public/{chunk-YTJNIFE4.js → chunk-RWV2PLEE.js} +1 -1
  90. package/public/chunk-RYTJZDC4.js +1 -0
  91. package/public/{chunk-DUJ3BGGS.js → chunk-SASLISZ4.js} +1 -1
  92. package/public/{chunk-YUIH2PS7.js → chunk-SIUO7YU6.js} +2 -2
  93. package/public/{chunk-QNMOJRFY.js → chunk-SRFN5JIN.js} +1 -1
  94. package/public/chunk-T3Y7RYJZ.js +2 -0
  95. package/public/{chunk-RP5TYXWG.js → chunk-TAQCEDBC.js} +1 -1
  96. package/public/chunk-UFQ3GRVA.js +1 -0
  97. package/public/chunk-UGU6PGAK.js +1 -0
  98. package/public/chunk-UUN6ZLIL.js +1 -0
  99. package/public/chunk-V7AAZRAR.js +1 -0
  100. package/public/{chunk-XFK2EZ3K.js → chunk-VGMRIFZA.js} +1 -1
  101. package/public/{chunk-JF5AT3NK.js → chunk-VOG67KUU.js} +1 -1
  102. package/public/chunk-W37K3EET.js +1 -0
  103. package/public/{chunk-MW5FLUTC.js → chunk-WK4QAH4N.js} +1 -1
  104. package/public/chunk-WKCJOWBB.js +20 -0
  105. package/public/chunk-WLL3PI56.js +1 -0
  106. package/public/chunk-WZSACMEZ.js +1 -0
  107. package/public/chunk-X33TW7UK.js +1 -0
  108. package/public/{chunk-IZGH4P6X.js → chunk-XBUA2BEY.js} +1 -1
  109. package/public/{chunk-NFG4Y4PX.js → chunk-Z4JLHDGQ.js} +1 -1
  110. package/public/chunk-Z6DMRX3O.js +1 -0
  111. package/public/chunk-ZA7ZUC3I.js +1 -0
  112. package/public/chunk-ZGB2LSNB.js +1 -0
  113. package/public/index.html +2 -2
  114. package/public/main-323ROD6Y.js +1 -0
  115. package/public/styles-IBQHST5Z.css +1 -0
  116. package/scripts/upgrade-install-plugin.sh +1 -1
  117. package/public/chunk-3ANQRJ75.js +0 -14
  118. package/public/chunk-3NBOT4LS.js +0 -1
  119. package/public/chunk-3NUILNOV.js +0 -1
  120. package/public/chunk-4K52REGI.js +0 -1
  121. package/public/chunk-675OFXLW.js +0 -1
  122. package/public/chunk-6PASDO7Z.js +0 -1
  123. package/public/chunk-6ZBSMLTF.js +0 -1
  124. package/public/chunk-7QIBCP7M.js +0 -1
  125. package/public/chunk-A4EWGMID.js +0 -1
  126. package/public/chunk-BMWLHPL2.js +0 -1
  127. package/public/chunk-C5KFW74N.js +0 -1
  128. package/public/chunk-CKNHTRCL.js +0 -7
  129. package/public/chunk-CLRNWSOV.js +0 -1
  130. package/public/chunk-CYTZT7JJ.js +0 -1
  131. package/public/chunk-CZFALVDS.js +0 -1
  132. package/public/chunk-DQ74FZ3Y.js +0 -1
  133. package/public/chunk-E5E5IQT6.js +0 -1
  134. package/public/chunk-EEDUUZ6J.js +0 -1
  135. package/public/chunk-FAJ5V6VJ.js +0 -1
  136. package/public/chunk-FOI6EIET.js +0 -1
  137. package/public/chunk-FTQGTOHC.js +0 -1
  138. package/public/chunk-GPDMT3AA.js +0 -1
  139. package/public/chunk-GQSQBG3U.js +0 -1
  140. package/public/chunk-GUVLPN3O.js +0 -1
  141. package/public/chunk-HA6CO5NZ.js +0 -2
  142. package/public/chunk-I54VWEMF.js +0 -1
  143. package/public/chunk-JAFIYTUM.js +0 -1
  144. package/public/chunk-KJN5AUI6.js +0 -1
  145. package/public/chunk-KQPBNPKN.js +0 -1
  146. package/public/chunk-N4F42HDL.js +0 -5
  147. package/public/chunk-N722B4ER.js +0 -1
  148. package/public/chunk-NRZYSY7C.js +0 -1
  149. package/public/chunk-O7VQF4E3.js +0 -1
  150. package/public/chunk-OKMMSTW4.js +0 -1
  151. package/public/chunk-OLNAFRAE.js +0 -1
  152. package/public/chunk-PLBUFQSF.js +0 -1
  153. package/public/chunk-PZ2IXNJQ.js +0 -1
  154. package/public/chunk-RXB7TYLO.js +0 -1
  155. package/public/chunk-SQYMES5W.js +0 -1
  156. package/public/chunk-STQ2AZLE.js +0 -20
  157. package/public/chunk-T3GI7KUT.js +0 -1
  158. package/public/chunk-UF46IMIV.js +0 -1
  159. package/public/chunk-WBSQUODA.js +0 -6
  160. package/public/chunk-WJ3IINUA.js +0 -1
  161. package/public/chunk-WONZP2FV.js +0 -1
  162. package/public/chunk-X5YRTZFZ.js +0 -1
  163. package/public/chunk-XGP6D3NB.js +0 -1
  164. package/public/chunk-XZM6BEAM.js +0 -1
  165. package/public/chunk-YLEC7AUG.js +0 -1
  166. package/public/main-P2CDEM4R.js +0 -1
  167. package/public/media/01-RQ3S2L53.png +0 -0
  168. package/public/media/02-VNCG2I2A.png +0 -0
  169. package/public/media/03-HI42L4ZG.png +0 -0
  170. package/public/media/04-FJLL55LZ.png +0 -0
  171. package/public/media/05-V3EO6SPT.png +0 -0
  172. package/public/media/06-EOJZCQZN.png +0 -0
  173. package/public/media/07-KMKB5PBD.png +0 -0
  174. package/public/media/08-UQJRF6B2.png +0 -0
  175. package/public/media/09-2DJQFRHH.png +0 -0
  176. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  177. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  178. package/public/scripts-6GVLYD7F.js +0 -62
  179. package/public/styles-EZS52PWT.css +0 -1
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-XQNHUDX7.js";import{a as H}from"./chunk-WONZP2FV.js";import{a as Z}from"./chunk-XFK2EZ3K.js";import{a as R}from"./chunk-EEDUUZ6J.js";import{n as L}from"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import{a as j}from"./chunk-TFXCOLWH.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-T3GI7KUT.js";import{c as B}from"./chunk-MW5FLUTC.js";import{b as $}from"./chunk-YTJNIFE4.js";import{j as T}from"./chunk-3NBOT4LS.js";import"./chunk-HA6CO5NZ.js";import{a as M,b as U}from"./chunk-675OFXLW.js";import{Bb as O,Cc as d,Dc as l,Lb as u,Mb as c,Rb as C,Wb as n,Xb as a,Yb as p,ac as y,bd as E,dc as _,ec as w,g as Y,h as z,ib as o,na as m,ob as F,oc as f,pc as g,qd as K,ub as P,w as A,xa as h,xc as v,ya as b,yc as k}from"./chunk-CKNHTRCL.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&((window==null?void 0:window.matchMedia("(display-mode: standalone)").matches)||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||(window==null?void 0:window.Windows)||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){h(e);let t=w();return b(t.openUnderVoltageModal())})("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),g(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",v(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),g(l(7,6,"menu.label_plugins")))}function _e(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(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",v(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),g(l(7,6,"menu.linux.label_logs")))}function fe(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(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",v(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),g(l(7,6,"menu.linux.label_terminal")))}function ge(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(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",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),g(l(7,6,"menu.config_json_editor")))}function ve(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){h(e);let r=w();return b(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",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),g(l(7,6,"menu.label_settings")))}function he(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.reloadPage())})("keydown",function(t){h(e);let r=w();return b(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(),u("aria-label",l(2,2,"menu.reload")),o(5),g(l(7,4,"menu.reload")))}function be(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){h(e);let t=w();return b(t.$auth.logout())})("keydown",function(t){h(e);let r=w();return b(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(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),g(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=m(V);translate=m(M);$auth=m(B);$settings=m($);$modal=m(L);$notification=m(X);$translate=m(M);renderer=m(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){let e=this.router;this.isMobile=window.innerWidth<768;let s;window.addEventListener("resize",()=>{clearTimeout(s),s=setTimeout(()=>{this.updateListeners()},500)}),e.events.subscribe(t=>{t 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)});let e=document.querySelector(".sidebar"),s=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)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,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"))}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 s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}reloadPage(){window.location.reload()}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}))}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=P({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:61,vars:67,consts:[["tabindex","0","role","button",1,"m-header","text-right",3,"click","keydown"],[1,"mr-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-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["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-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),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(x){return t.handleKeydown(x)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),O(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),O(39,_e,8,9,"div",10)(40,fe,8,9,"div",10)(41,ge,8,9,"div",10)(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(x){return t.handleKeydown(x)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),O(59,he,8,6,"div",10)(60,be,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,34,"menu.sidebar.aria_menu")),o(3),c("routerLink",v(56,I)),u("aria-label",l(4,36,"menu.label_status")),o(5),c("ngClass",k(57,te,t.isExpanded)),o(5),c("ngClass",k(59,ne,t.isExpanded)),o(2),c("routerLink",v(61,I)),u("aria-label",l(16,38,"menu.label_status")),o(7),c("routerLink",v(62,I))("routerLinkActive","active")("routerLinkActiveOptions",v(63,ie)),u("aria-label",l(23,40,"menu.label_status")),o(5),g(l(28,42,"menu.label_status")),o(2),C(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),C(t.$auth.user.admin?30:-1),o(2),c("routerLink",v(64,oe))("routerLinkActive","active"),u("aria-label",l(33,44,"menu.label_accessories")),o(5),g(l(38,46,"menu.label_accessories")),o(2),C(t.$auth.user.admin?39:-1),o(),C(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),C(t.$auth.user.admin?41:-1),o(),C(t.$auth.user.admin?42:-1),o(2),c("routerLink",v(65,re))("routerLinkActive","active"),u("aria-label",l(45,48,"support.title")),o(5),g(l(50,50,"support.title")),o(3),c("routerLink",v(66,ae))("routerLinkActive","active"),u("aria-label",l(53,52,"menu.restart.title")),o(5),g(l(58,54,"menu.restart.title")),o(2),C(t.isPwa?59:-1),o(),C(t.$settings.formAuth?60:-1))},dependencies:[N,K,E,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 we=i=>({sidebarExpanded:i}),Xe=(()=>{class i{$auth=m(B);$modal=m(L);$router=m(V);$settings=m($);$translate=m(M);$ws=m(j);sidebarExpanded=!1;io;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.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:T.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(s){return new(s||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(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",k(2,we,t.sidebarExpanded)))},dependencies:[J,E,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{Xe as LayoutComponent};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-QNMOJRFY.js";import{a as f}from"./chunk-I54VWEMF.js";import"./chunk-A4EWGMID.js";import"./chunk-RP5TYXWG.js";import"./chunk-7BCHGXO4.js";import{q as u}from"./chunk-N4F42HDL.js";import{y as n,z as p}from"./chunk-YLEC7AUG.js";import"./chunk-TFXCOLWH.js";import{g as i}from"./chunk-T3GI7KUT.js";import"./chunk-MW5FLUTC.js";import"./chunk-YTJNIFE4.js";import"./chunk-3NBOT4LS.js";import"./chunk-HA6CO5NZ.js";import{c as d}from"./chunk-675OFXLW.js";import{ia as t,kd as m,vb as r}from"./chunk-CKNHTRCL.js";var M=[{path:"",loadComponent:()=>import("./chunk-3NUILNOV.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[a],imports:[m,n,p,d,u,l,f]})}return o})();export{R as SetupWizardModule};
@@ -1,20 +0,0 @@
1
- import{a as ee}from"./chunk-XP7D2PRA.js";import{a as Z,b as ne}from"./chunk-3ANQRJ75.js";import{a as W,b as Y}from"./chunk-NSCP3SOQ.js";import{a as X}from"./chunk-JF5AT3NK.js";import{m as J,n as K,o as U}from"./chunk-N4F42HDL.js";import{c as N,e as F,l as q,y as z}from"./chunk-YLEC7AUG.js";import{b as G}from"./chunk-T3GI7KUT.js";import{b as Q}from"./chunk-YTJNIFE4.js";import{h as M,k as V}from"./chunk-3NBOT4LS.js";import{a as k,b as T}from"./chunk-675OFXLW.js";import{Bb as y,Cc as s,Dc as d,Ec as O,Lb as C,Mb as v,Rb as m,Tb as I,Ub as j,Vb as H,Wb as r,Xb as a,Yb as w,ac as _,dc as h,ec as l,g as oe,h as S,ib as n,id as L,na as u,ob as A,oc as b,pc as x,qc as E,tc as R,ub as $,uc as P,vc as B,w as D,xa as f,ya as g}from"./chunk-CKNHTRCL.js";var ie=oe(ne(),1);function ae(o,p){o&1&&(r(0,"div",6),w(1,"i",13),a())}function se(o,p){if(o&1){let e=_();r(0,"li",18),b(1),s(2,"date"),r(3,"button",19),s(4,"translate"),h("click",function(){let t=f(e).$implicit,c=l(3);return g(c.restore(t.id))}),w(5,"i",20),a()()}if(o&2){let e=p.$implicit;n(),E(" ",O(2,2,e.timestamp,"medium")," "),n(2),C("aria-label",d(4,5,"config.restore.copy_to_editor"))}}function le(o,p){if(o&1&&(r(0,"ul",16),j(1,se,6,7,"li",18,I),a()),o&2){let e=l(2);n(),H(e.backupList)}}function de(o,p){o&1&&(r(0,"p",17),b(1),s(2,"translate"),a()),o&2&&(n(),x(d(2,1,"config.restore.no_backups")))}function ce(o,p){if(o&1&&(r(0,"div",14),w(1,"i",15),a(),r(2,"p",14),b(3),s(4,"translate"),a(),y(5,le,3,0,"ul",16)(6,de,3,3,"p",17)),o&2){let e=l();n(3),x(d(4,3,"config.restore.title_restore_homebridge_backup")),n(2),m(e.backupList&&e.backupList.length?5:-1),n(),m(!e.backupList||!e.backupList.length?6:-1)}}function me(o,p){if(o&1){let e=_();r(0,"button",21),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.$activeModal.dismiss("Dismiss"))}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function pe(o,p){if(o&1){let e=_();r(0,"button",21),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.$activeModal.dismiss("Dismiss"))}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_close")),n(2),E(" ",d(3,4,"form.button_close")," "))}function fe(o,p){if(o&1){let e=_();r(0,"button",22),s(1,"translate"),h("click",function(){f(e);let t=l();return g(t.deleteAllBackups())}),b(2),s(3,"translate"),a()}o&2&&(C("aria-label",d(1,2,"form.button_remove")),n(2),E(" ",d(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=u(J);$api=u(V);$toastr=u(M);$translate=u(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:19,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-danger","mr-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-history","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box"],[1,"text-center","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ml-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-danger","mr-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),b(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),r(7,"span",4),b(8,"\xD7"),a()()(),r(9,"div",5),y(10,ae,2,0,"div",6)(11,ce,7,5),a(),r(12,"div",7)(13,"div",8),y(14,me,4,6,"button",9),a(),r(15,"div",10),y(16,pe,4,6,"button",9),a(),r(17,"div",11),y(18,fe,4,6,"button",12),a()()()),i&2&&(n(3),x(d(4,7,"form.button_restore")),n(2),C("aria-label",d(6,9,"form.button_close")),n(5),m(t.loading?10:-1),n(),m(t.loading?-1:11),n(3),m(!t.loading&&t.backupList.length?14:-1),n(2),m(t.loading||!t.loading&&!t.backupList.length?16:-1),n(2),m(!t.loading&&t.backupList.length?18:-1))},dependencies:[L,T],encapsulation:2})}return o})();function ge(o,p){if(o&1){let e=_();r(0,"button",13),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onExportConfig())}),w(3,"i",14),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_download")),C("aria-label",d(2,4,"form.button_download")))}function ue(o,p){if(o&1){let e=_();r(0,"button",15),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onCancelRestore())}),w(3,"i",16),a()}if(o&2){let e=l();v("disabled",e.saveInProgress)("ngbTooltip",d(1,3,"form.button_cancel")),C("aria-label",d(2,5,"form.button_cancel"))}}function he(o,p){if(o&1){let e=_();r(0,"button",13),s(1,"translate"),s(2,"translate"),h("click",function(){f(e);let t=l();return g(t.onRestore())}),w(3,"i",17),a()}o&2&&(v("ngbTooltip",d(1,2,"form.button_restore")),C("aria-label",d(2,4,"form.button_restore")))}function _e(o,p){o&1&&w(0,"i",8)}function be(o,p){o&1&&w(0,"i",9)}function Ce(o,p){if(o&1){let e=_();r(0,"ngx-monaco-editor",18),h("onInit",function(t){f(e);let c=l();return g(c.onEditorInit(t))})("keydown.control.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())})("keydown.meta.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function ye(o,p){if(o&1){let e=_();r(0,"ngx-monaco-diff-editor",19),h("onInit",function(t){f(e);let c=l();return g(c.onInitDiffEditor(t))})("keydown.control.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())})("keydown.meta.s",function(t){f(e);let c=l();return t.preventDefault(),g(c.onSave())}),a()}if(o&2){let e=l();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function we(o,p){if(o&1){let e=_();r(0,"textarea",20),B("ngModelChange",function(t){f(e);let c=l();return P(c.homebridgeConfig,t)||(c.homebridgeConfig=t),g(t)}),b(1," "),a()}if(o&2){let e=l();R("ngModel",e.homebridgeConfig)}}var Ke=(()=>{class o{$api=u(V);$md=u(X);$modal=u(K);$monacoEditor=u(ee);$route=u(G);$renderer=u(A);$settings=u(Q);$toastr=u(M);$translate=u(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;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.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()}})}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 S(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 i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.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}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield D(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,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:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
2
- `).map(i=>` ${i}`).join(`
3
- `),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,c=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:c,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
4
- This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
5
- You should change this pin if you need to re-pair your instance with HomeKit.
6
- Example: 0E:89:49:64:91:86`,default:"0E:89:49:64:91:86",pattern:"^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$"},port:{type:"number",description:`The port Homebridge listens on.
7
- If running more than one instance of Homebridge on the same server make sure each instance is given a unique port.`,default:51173,minimum:1025,maximum:65534},pin:{type:"string",description:`The Homebridge instance pin.
8
- This is used when pairing Homebridge to HomeKit.
9
- Example: 630-27-655`,default:"630-27-655",pattern:"^([0-9]{3}-[0-9]{2}-[0-9]{3})$"},manufacturer:{type:"string",description:"The bridge manufacturer to be displayed in HomeKit"},firmwareRevision:{type:"string",description:"The bridge firmware version to be displayed in HomeKit"},model:{type:"string",description:"The bridge model to be displayed in HomeKit"},bind:{description:`A string or an array of strings with the name(s) of the network interface(s) Homebridge should bind to.
10
-
11
- Requires Homebridge v1.3 or later.`,type:["string","array"],items:{type:"string",description:"Network Interface name that Homebridge should bind to."}}},default:{name:"Homebridge",username:"0E:89:49:64:91:86",port:51173,pin:"6302-7655"}},mdns:{type:"object",properties:{interface:{type:"string",description:`The interface or IP address of the interface you want Homebridge to listen on. This is useful if your server has multiple interfaces.
12
-
13
- Depreciated as of Homebridge v1.3.0 - use bridge.bind instead.`},legacyAdvertiser:{type:"boolean",description:"Set to `false` to use the new mdns library, ciao."}},default:{legacyAdvertiser:!1}},plugins:{type:"array",description:"An array of plugins that should be selectively enabled. Remove this array to enable all plugins.",items:{type:"string",description:`The full plugin npm package name.
14
- Example: homebridge-dummy`},default:["homebridge-config-ui-x"]},disabledPlugins:{type:"array",description:`An array of plugins that should be disabled.
15
-
16
- Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full plugin npm package name.
17
- Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have its config entered in this array.
18
- Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
19
- Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have its config entered in this array.
20
- Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}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()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-right"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),b(4),s(5,"translate"),a()(),r(6,"div",4),y(7,ge,4,6,"button",5)(8,ue,4,7,"button",6)(9,he,4,6,"button",5),r(10,"button",7),s(11,"translate"),s(12,"translate"),h("click",function(){return t.onSave()}),y(13,_e,1,0,"i",8)(14,be,1,0,"i",9),a()()(),y(15,Ce,1,2,"ngx-monaco-editor",10)(16,ye,1,3,"ngx-monaco-diff-editor",11)(17,we,2,1,"textarea",12),a()),i&2&&(n(4),x(d(5,12,"menu.config_json_editor")),n(3),m(t.originalConfig?-1:7),n(),m(t.originalConfig?8:-1),n(),m(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",d(11,14,"form.button_save")),C("aria-label",d(12,16,"form.button_save")),n(3),m(t.saveInProgress?-1:13),n(),m(t.saveInProgress?14:-1),n(),m(!t.isMobile&&!t.originalConfig?15:-1),n(),m(!t.isMobile&&t.originalConfig?16:-1),n(),m(t.isMobile?17:-1))},dependencies:[U,W,Y,z,N,F,q,T],encapsulation:2})}return o})();export{Ke as a};
@@ -1 +0,0 @@
1
- import{l as rn}from"./chunk-HA6CO5NZ.js";import{$ as br,A as Se,Aa as bt,Ab as _r,B as Sr,Ba as Or,C as St,Ca as It,Cb as zr,Ea as Er,Fa as oe,Ga as At,Gc as Qe,H as X,Hb as Fr,Ib as Ot,Ic as Ke,Ja as Ur,Jb as qr,K as ne,Ka as Dt,Kb as Br,L as ie,Lb as Vr,Lc as Ze,N as Ct,O as se,P as Cr,Pc as Zr,T as He,Ta as xr,Tc as Yr,U as Q,V as Rt,Vc as Xr,W as Rr,Wc as Re,X as wr,Yb as Hr,Yc as Jr,Zc as en,_c as we,a as h,aa as N,b as T,ba as Ir,ca as I,dc as Wr,ea as A,fb as Pr,ha as w,hc as Gr,i as gr,ia as Ar,j as vr,ja as Dr,jb as L,jc as Qr,ka as M,kb as jr,kc as Kr,l as mt,la as wt,m as yt,ma as F,n as W,na as p,o as x,oa as Mr,ob as Mt,od as tn,p as G,pa as Tr,pb as Nr,q as D,r as f,s as ye,sb as Lr,t as mr,ta as Ce,tb as Tt,u as yr,ua as _,ub as $r,vb as kr,wa as We,wb as Ge,x as S,y as Ve,z as O}from"./chunk-CKNHTRCL.js";var g="primary",Le=Symbol("RouteTitle"),jt=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function de(t){return new jt(t)}function Yn(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let i={};for(let s=0;s<n.length;s++){let o=n[s],u=t[s];if(o[0]===":")i[o.substring(1)]=u;else if(o!==u.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Xn(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],r[e]))return!1;return!0}function z(t,r){let e=t?Nt(t):void 0,n=r?Nt(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let s=0;s<e.length;s++)if(i=e[s],!gn(t[i],r[i]))return!1;return!0}function Nt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function gn(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,s)=>n[s]===i)}else return t===r}function vn(t){return t.length>0?t[t.length-1]:null}function Z(t){return mr(t)?t:Fr(t)?D(Promise.resolve(t)):f(t)}var Jn={exact:yn,subset:Sn},mn={exact:ei,subset:ti,ignored:()=>!0};function nn(t,r,e){return Jn[e.paths](t.root,r.root,e.matrixParams)&&mn[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function ei(t,r){return z(t,r)}function yn(t,r,e){if(!ee(t.segments,r.segments)||!Je(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!yn(t.children[n],r.children[n],e))return!1;return!0}function ti(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>gn(t[e],r[e]))}function Sn(t,r,e){return Cn(t,r,r.segments,e)}function Cn(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ee(i,e)||r.hasChildren()||!Je(i,e,n))}else if(t.segments.length===e.length){if(!ee(t.segments,e)||!Je(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Sn(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!ee(t.segments,i)||!Je(t.segments,i,n)||!t.children[g]?!1:Cn(t.children[g],r,s,n)}}function Je(t,r,e){return r.every((n,i)=>mn[e](t[i].parameters,n.parameters))}var B=class{root;queryParams;fragment;_queryParamMap;constructor(r=new y([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){return ii.serialize(this)}},y=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return et(this)}},J=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){var r;return(r=this._parameterMap)!=null||(this._parameterMap=de(this.parameters)),this._parameterMap}toString(){return wn(this)}};function ri(t,r){return ee(t,r)&&t.every((e,n)=>z(e.parameters,r[n].parameters))}function ee(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function ni(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===g&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==g&&(e=e.concat(r(i,n)))}),e}var $e=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>new fe,providedIn:"root"})}return t})(),fe=class{parse(r){let e=new $t(r);return new B(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${be(r.root,!0)}`,n=ai(r.queryParams),i=typeof r.fragment=="string"?`#${si(r.fragment)}`:"";return`${e}${n}${i}`}},ii=new fe;function et(t){return t.segments.map(r=>wn(r)).join("/")}function be(t,r){if(!t.hasChildren())return et(t);if(r){let e=t.children[g]?be(t.children[g],!1):"",n=[];return Object.entries(t.children).forEach(([i,s])=>{i!==g&&n.push(`${i}:${be(s,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=ni(t,(n,i)=>i===g?[be(t.children[g],!1)]:[`${i}:${be(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[g]!=null?`${et(t)}/${e[0]}`:`${et(t)}/(${e.join("//")})`}}function Rn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ye(t){return Rn(t).replace(/%3B/gi,";")}function si(t){return encodeURI(t)}function Lt(t){return Rn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function tt(t){return decodeURIComponent(t)}function sn(t){return tt(t.replace(/\+/g,"%20"))}function wn(t){return`${Lt(t.path)}${oi(t.parameters)}`}function oi(t){return Object.entries(t).map(([r,e])=>`;${Lt(r)}=${Lt(e)}`).join("")}function ai(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Ye(e)}=${Ye(i)}`).join("&"):`${Ye(e)}=${Ye(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var ui=/^[^\/()?;#]+/;function Et(t){let r=t.match(ui);return r?r[0]:""}var ci=/^[^\/()?;=#]+/;function li(t){let r=t.match(ci);return r?r[0]:""}var hi=/^[^=?&#]+/;function di(t){let r=t.match(hi);return r?r[0]:""}var fi=/^[^&#]+/;function pi(t){let r=t.match(fi);return r?r[0]:""}var $t=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new y([],{}):new y([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[g]=new y(r,e)),n}parseSegment(){let r=Et(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new A(4009,!1);return this.capture(r),new J(tt(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=li(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=Et(this.remaining);i&&(n=i,this.capture(n))}r[tt(e)]=tt(n)}parseQueryParam(r){let e=di(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let o=pi(this.remaining);o&&(n=o,this.capture(n))}let i=sn(e),s=sn(n);if(r.hasOwnProperty(i)){let o=r[i];Array.isArray(o)||(o=[o],r[i]=o),o.push(s)}else r[i]=s}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=Et(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new A(4010,!1);let s;n.indexOf(":")>-1?(s=n.slice(0,n.indexOf(":")),this.capture(s),this.capture(":")):r&&(s=g);let o=this.parseChildren();e[s]=Object.keys(o).length===1?o[g]:new y([],o),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new A(4011,!1)}};function bn(t){return t.segments.length>0?new y([],{[g]:t}):t}function In(t){let r={};for(let[n,i]of Object.entries(t.children)){let s=In(i);if(n===g&&s.segments.length===0&&s.hasChildren())for(let[o,u]of Object.entries(s.children))r[o]=u;else(s.segments.length>0||s.hasChildren())&&(r[n]=s)}let e=new y(t.segments,r);return gi(e)}function gi(t){if(t.numberOfChildren===1&&t.children[g]){let r=t.children[g];return new y(t.segments.concat(r.segments),r.children)}return t}function te(t){return t instanceof B}function vi(t,r,e=null,n=null){let i=An(t);return Dn(i,r,e,n)}function An(t){let r;function e(s){let o={};for(let a of s.children){let c=e(a);o[a.outlet]=c}let u=new y(s.url,o);return s===t&&(r=u),u}let n=e(t.root),i=bn(n);return r!=null?r:i}function Dn(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return Ut(i,i,i,e,n);let s=mi(r);if(s.toRoot())return Ut(i,i,new y([],{}),e,n);let o=yi(s,i,t),u=o.processChildren?De(o.segmentGroup,o.index,s.commands):Tn(o.segmentGroup,o.index,s.commands);return Ut(i,o.segmentGroup,u,e,n)}function rt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Oe(t){return typeof t=="object"&&t!=null&&t.outlets}function Ut(t,r,e,n,i){let s={};n&&Object.entries(n).forEach(([a,c])=>{s[a]=Array.isArray(c)?c.map(l=>`${l}`):`${c}`});let o;t===r?o=e:o=Mn(t,r,e);let u=bn(In(o));return new B(u,s,i)}function Mn(t,r,e){let n={};return Object.entries(t.children).forEach(([i,s])=>{s===r?n[i]=e:n[i]=Mn(s,r,e)}),new y(t.segments,n)}var nt=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&rt(n[0]))throw new A(4003,!1);let i=n.find(Oe);if(i&&i!==vn(n))throw new A(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function mi(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new nt(!0,0,t);let r=0,e=!1,n=t.reduce((i,s,o)=>{if(typeof s=="object"&&s!=null){if(s.outlets){let u={};return Object.entries(s.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(s.segmentPath)return[...i,s.segmentPath]}return typeof s!="string"?[...i,s]:o===0?(s.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?e=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,s]},[]);return new nt(e,r,n)}var ce=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function yi(t,r,e){if(t.isAbsolute)return new ce(r,!0,0);if(!e)return new ce(r,!1,NaN);if(e.parent===null)return new ce(e,!0,0);let n=rt(t.commands[0])?0:1,i=e.segments.length-1+n;return Si(e,i,t.numberOfDoubleDots)}function Si(t,r,e){let n=t,i=r,s=e;for(;s>i;){if(s-=i,n=n.parent,!n)throw new A(4005,!1);i=n.segments.length}return new ce(n,!1,i-s)}function Ci(t){return Oe(t[0])?t[0].outlets:{[g]:t}}function Tn(t,r,e){if(t!=null||(t=new y([],{})),t.segments.length===0&&t.hasChildren())return De(t,r,e);let n=Ri(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let s=new y(t.segments.slice(0,n.pathIndex),{});return s.children[g]=new y(t.segments.slice(n.pathIndex),t.children),De(s,0,i)}else return n.match&&i.length===0?new y(t.segments,{}):n.match&&!t.hasChildren()?kt(t,r,e):n.match?De(t,0,i):kt(t,r,e)}function De(t,r,e){if(e.length===0)return new y(t.segments,{});{let n=Ci(e),i={};if(Object.keys(n).some(s=>s!==g)&&t.children[g]&&t.numberOfChildren===1&&t.children[g].segments.length===0){let s=De(t.children[g],r,e);return new y(t.segments,s.children)}return Object.entries(n).forEach(([s,o])=>{typeof o=="string"&&(o=[o]),o!==null&&(i[s]=Tn(t.children[s],r,o))}),Object.entries(t.children).forEach(([s,o])=>{n[s]===void 0&&(i[s]=o)}),new y(t.segments,i)}}function Ri(t,r,e){let n=0,i=r,s={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return s;let o=t.segments[i],u=e[n];if(Oe(u))break;let a=`${u}`,c=n<e.length-1?e[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!an(a,c,o))return s;n+=2}else{if(!an(a,{},o))return s;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function kt(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let s=e[i];if(Oe(s)){let a=wi(s.outlets);return new y(n,a)}if(i===0&&rt(e[0])){let a=t.segments[r];n.push(new J(a.path,on(e[0]))),i++;continue}let o=Oe(s)?s.outlets[g]:`${s}`,u=i<e.length-1?e[i+1]:null;o&&u&&rt(u)?(n.push(new J(o,on(u))),i+=2):(n.push(new J(o,{})),i++)}return new y(n,{})}function wi(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=kt(new y([],{}),0,n))}),r}function on(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function an(t,r,e){return t==e.path&&z(r,e.parameters)}var Me="imperative",C=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(C||{}),P=class{id;url;constructor(r,e){this.id=r,this.url=e}},pe=class extends P{type=C.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},k=class extends P{urlAfterRedirects;type=C.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},U=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(U||{}),it=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(it||{}),q=class extends P{reason;code;type=C.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},K=class extends P{reason;code;type=C.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},Ee=class extends P{error;target;type=C.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},st=class extends P{urlAfterRedirects;state;type=C.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},_t=class extends P{urlAfterRedirects;state;type=C.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},zt=class extends P{urlAfterRedirects;state;shouldActivate;type=C.GuardsCheckEnd;constructor(r,e,n,i,s){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Ft=class extends P{urlAfterRedirects;state;type=C.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},qt=class extends P{urlAfterRedirects;state;type=C.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Bt=class{route;type=C.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Vt=class{route;type=C.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Ht=class{snapshot;type=C.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Wt=class{snapshot;type=C.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Gt=class{snapshot;type=C.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qt=class{snapshot;type=C.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ot=class{routerEvent;position;anchor;type=C.Scroll;constructor(r,e,n){this.routerEvent=r,this.position=e,this.anchor=n}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},Ue=class{},ge=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function bi(t,r){var e;return t.providers&&!t._injector&&(t._injector=Tt(t.providers,r,`Route: ${t.path}`)),(e=t._injector)!=null?e:r}function $(t){return t.outlet||g}function Ii(t,r){let e=t.filter(n=>$(n)===r);return e.push(...t.filter(n=>$(n)!==r)),e}function ke(t){var r;if(!t)return null;if((r=t.routeConfig)!=null&&r._injector)return t.routeConfig._injector;for(let e=t.parent;e;e=e.parent){let n=e.routeConfig;if(n!=null&&n._loadedInjector)return n._loadedInjector;if(n!=null&&n._injector)return n._injector}return null}var Kt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){var r,e;return(e=ke((r=this.route)==null?void 0:r.snapshot))!=null?e:this.rootInjector}constructor(r){this.rootInjector=r,this.children=new _e(this.rootInjector)}},_e=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Kt(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(F(Ce))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),at=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=Zt(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=Zt(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=Yt(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return Yt(r,this._root).map(e=>e.value)}};function Zt(t,r){if(t===r.value)return r;for(let e of r.children){let n=Zt(t,e);if(n)return n}return null}function Yt(t,r){if(t===r.value)return[r];for(let e of r.children){let n=Yt(t,e);if(n.length)return n.unshift(r),n}return[]}var E=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var ut=class extends at{snapshot;constructor(r,e){super(r),this.snapshot=e,or(this,r)}toString(){return this.snapshot.toString()}};function On(t){let r=Ai(t),e=new x([new J("",{})]),n=new x({}),i=new x({}),s=new x({}),o=new x(""),u=new re(e,n,s,o,i,g,t,r.root);return u.snapshot=r.root,new ut(new E(u,[]),r)}function Ai(t){let r={},e={},n={},i="",s=new le([],r,n,i,e,g,t,null,{});return new lt("",new E(s,[]))}var re=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,s,o,u,a){var c,l;this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=s,this.outlet=o,this.component=u,this._futureSnapshot=a,this.title=(l=(c=this.dataSubject)==null?void 0:c.pipe(S(v=>v[Le])))!=null?l:f(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=this.params.pipe(S(e=>de(e)))),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=this.queryParams.pipe(S(e=>de(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function ct(t,r,e="emptyOnly"){var s,o;let n,{routeConfig:i}=t;return r!==null&&(e==="always"||(i==null?void 0:i.path)===""||!r.component&&!((s=r.routeConfig)!=null&&s.loadComponent))?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i==null?void 0:i.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),(o=t._resolvedData)!=null?o:{})},i&&Un(i)&&(n.resolve[Le]=i.title),n}var le=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){var r;return(r=this.data)==null?void 0:r[Le]}constructor(r,e,n,i,s,o,u,a,c){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=s,this.outlet=o,this.component=u,this.routeConfig=a,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){var r;return(r=this._paramMap)!=null||(this._paramMap=de(this.params)),this._paramMap}get queryParamMap(){var r;return(r=this._queryParamMap)!=null||(this._queryParamMap=de(this.queryParams)),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},lt=class extends at{url;constructor(r,e){super(e),this.url=r,or(this,e)}toString(){return En(this._root)}};function or(t,r){r.value._routerState=t,r.children.forEach(e=>or(t,e))}function En(t){let r=t.children.length>0?` { ${t.children.map(En).join(", ")} } `:"";return`${t.value}${r}`}function xt(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(r.params,e.params)||t.paramsSubject.next(e.params),Xn(r.url,e.url)||t.urlSubject.next(e.url),z(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Xt(t,r){let e=z(t.params,r.params)&&ri(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||Xt(t.parent,r.parent))}function Un(t){return typeof t.title=="string"||t.title===null}var Di=new M(""),Mi=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=g;activateEvents=new oe;deactivateEvents=new oe;attachEvents=new oe;detachEvents=new oe;routerOutletData=Ur(void 0);parentContexts=p(_e);location=p(Nr);changeDetector=p(Ke);inputBinder=p(gt,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){var e;this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),(e=this.inputBinder)==null||e.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){var n;return((n=this.parentContexts.getContext(e))==null?void 0:n.outlet)===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e!=null&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new A(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new A(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new A(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){var i;this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),(i=this.inputBinder)==null||i.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){var c;if(this.isActivated)throw new A(4013,!1);this._activatedRoute=e;let i=this.location,o=e.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new Jt(e,u,i.injector,this.routerOutletData);this.activated=i.createComponent(o,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),(c=this.inputBinder)==null||c.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=Ge({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[We]})}return t})(),Jt=class t{route;childContexts;parent;outletData;__ngOutletInjector(r){return new t(this.route,this.childContexts,r,this.outletData)}constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===re?this.route:r===_e?this.childContexts:r===Di?this.outletData:this.parent.get(r,e)}},gt=new M(""),un=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){var n;(n=this.outletDataSubscriptions.get(e))==null||n.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=Ve([n.queryParams,n.params,n.data]).pipe(N(([s,o,u],a)=>(u=h(h(h({},s),o),u),a===0?f(u):Promise.resolve(u)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let o=Zr(n.component);if(!o){this.unsubscribeFromRouteData(e);return}for(let{templateName:u}of o.inputs)e.activatedComponentRef.setInput(u,s[u])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ti(t,r,e){let n=xe(t,r._root,e?e._root:void 0);return new ut(n,r)}function xe(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Oi(t,r,e);return new E(n,i)}else{if(t.shouldAttach(r.value)){let s=t.retrieve(r.value);if(s!==null){let o=s.route;return o.value._futureSnapshot=r.value,o.children=r.children.map(u=>xe(t,u)),o}}let n=Ei(r.value),i=r.children.map(s=>xe(t,s));return new E(n,i)}}function Oi(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return xe(t,n,i);return xe(t,n)})}function Ei(t){return new re(new x(t.url),new x(t.params),new x(t.queryParams),new x(t.fragment),new x(t.data),t.outlet,t.component,t)}var Pe=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},xn="ngNavigationCancelingError";function ht(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=te(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=Pn(!1,U.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function Pn(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[xn]=!0,e.cancellationCode=r,e}function Ui(t){return jn(t)&&te(t.url)}function jn(t){return!!t&&t[xn]}var xi=(t,r,e,n)=>S(i=>(new er(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),er=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,s){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=s}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),xt(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{let o=s.value.outlet;this.deactivateRoutes(s,i[o],n),delete i[o]}),Object.values(i).forEach(s=>{this.deactivateRouteAndItsChildren(s,n)})}deactivateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(i===s)if(i.component){let o=n.getContext(i.outlet);o&&this.deactivateChildRoutes(r,e,o.children)}else this.deactivateChildRoutes(r,e,n);else s&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);if(n&&n.outlet){let o=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:o,route:r,contexts:u})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,s=ue(r);for(let o of Object.values(s))this.deactivateRouteAndItsChildren(o,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=ue(e);r.children.forEach(s=>{this.activateRoutes(s,i[s.value.outlet],n),this.forwardEvent(new Qt(s.value.snapshot))}),r.children.length&&this.forwardEvent(new Wt(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,s=e?e.value:null;if(xt(i),i===s)if(i.component){let o=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,o.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let o=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),o.children.onOutletReAttached(u.contexts),o.attachRef=u.componentRef,o.route=u.route.value,o.outlet&&o.outlet.attach(u.componentRef,u.route.value),xt(u.route.value),this.activateChildRoutes(r,null,o.children)}else o.attachRef=null,o.route=i,o.outlet&&o.outlet.activateWith(i,o.injector),this.activateChildRoutes(r,null,o.children)}else this.activateChildRoutes(r,null,n)}},dt=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},he=class{component;route;constructor(r,e){this.component=r,this.route=e}};function Pi(t,r,e){let n=t._root,i=r?r._root:null;return Ie(n,i,e,[n.value])}function ji(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function me(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!Dr(t)?t:r.get(t):n}function Ie(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=ue(r);return t.children.forEach(o=>{Ni(o,s[o.value.outlet],e,n.concat([o.value]),i),delete s[o.value.outlet]}),Object.entries(s).forEach(([o,u])=>Te(u,e.getContext(o),i)),i}function Ni(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let s=t.value,o=r?r.value:null,u=e?e.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){let a=Li(o,s,s.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new dt(n)):(s.data=o.data,s._resolvedData=o._resolvedData),s.component?Ie(t,r,u?u.children:null,n,i):Ie(t,r,e,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new he(u.outlet.component,o))}else o&&Te(r,u,i),i.canActivateChecks.push(new dt(n)),s.component?Ie(t,null,u?u.children:null,n,i):Ie(t,null,e,n,i);return i}function Li(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!ee(t.url,r.url);case"pathParamsOrQueryParamsChange":return!ee(t.url,r.url)||!z(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Xt(t,r)||!z(t.queryParams,r.queryParams);case"paramsChange":default:return!Xt(t,r)}}function Te(t,r,e){let n=ue(t),i=t.value;Object.entries(n).forEach(([s,o])=>{i.component?r?Te(o,r.children.getContext(s),e):Te(o,null,e):Te(o,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new he(r.outlet.component,i)):e.canDeactivateChecks.push(new he(null,i)):e.canDeactivateChecks.push(new he(null,i))}function ze(t){return typeof t=="function"}function $i(t){return typeof t=="boolean"}function ki(t){return t&&ze(t.canLoad)}function _i(t){return t&&ze(t.canActivate)}function zi(t){return t&&ze(t.canActivateChild)}function Fi(t){return t&&ze(t.canDeactivate)}function qi(t){return t&&ze(t.canMatch)}function Nn(t){return t instanceof yr||(t==null?void 0:t.name)==="EmptyError"}var Xe=Symbol("INITIAL_VALUE");function ve(){return N(t=>Ve(t.map(r=>r.pipe(se(1),br(Xe)))).pipe(S(r=>{for(let e of r)if(e!==!0){if(e===Xe)return Xe;if(e===!1||Bi(e))return e}return!0}),X(r=>r!==Xe),se(1)))}function Bi(t){return te(t)||t instanceof Pe}function Vi(t,r){return O(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:s,canDeactivateChecks:o}}=e;return o.length===0&&s.length===0?f(T(h({},e),{guardsResult:!0})):Hi(o,n,i,t).pipe(O(u=>u&&$i(u)?Wi(n,s,t,r):f(u)),S(u=>T(h({},e),{guardsResult:u})))})}function Hi(t,r,e,n){return D(t).pipe(O(i=>Yi(i.component,i.route,e,r,n)),Q(i=>i!==!0,!0))}function Wi(t,r,e,n){return D(r).pipe(ie(i=>Sr(Qi(i.route.parent,n),Gi(i.route,n),Zi(t,i.path,e),Ki(t,i.route,e))),Q(i=>i!==!0,!0))}function Gi(t,r){return t!==null&&r&&r(new Gt(t)),f(!0)}function Qi(t,r){return t!==null&&r&&r(new Ht(t)),f(!0)}function Ki(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return f(!0);let i=n.map(s=>St(()=>{var c;let o=(c=ke(r))!=null?c:e,u=me(s,o),a=_i(u)?u.canActivate(r,t):_(o,()=>u(r,t));return Z(a).pipe(Q())}));return f(i).pipe(ve())}function Zi(t,r,e){let n=r[r.length-1],s=r.slice(0,r.length-1).reverse().map(o=>ji(o)).filter(o=>o!==null).map(o=>St(()=>{let u=o.guards.map(a=>{var d;let c=(d=ke(o.node))!=null?d:e,l=me(a,c),v=zi(l)?l.canActivateChild(n,t):_(c,()=>l(n,t));return Z(v).pipe(Q())});return f(u).pipe(ve())}));return f(s).pipe(ve())}function Yi(t,r,e,n,i){let s=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!s||s.length===0)return f(!0);let o=s.map(u=>{var v;let a=(v=ke(r))!=null?v:i,c=me(u,a),l=Fi(c)?c.canDeactivate(t,r,e,n):_(a,()=>c(t,r,e,n));return Z(l).pipe(Q())});return f(o).pipe(ve())}function Xi(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=ki(u)?u.canLoad(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}function Ln(t){return vr(I(r=>{if(typeof r!="boolean")throw ht(t,r)}),S(r=>r===!0))}function Ji(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return f(!0);let s=i.map(o=>{let u=me(o,t),a=qi(u)?u.canMatch(r,e):_(t,()=>u(r,e));return Z(a)});return f(s).pipe(ve(),Ln(n))}var je=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},Ne=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function ae(t){return ye(new je(t))}function es(t){return ye(new A(4e3,!1))}function ts(t){return ye(Pn(!1,U.GuardRejected))}var tr=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return f(n);if(i.numberOfChildren>1||!i.children[g])return es(`${r.redirectTo}`);i=i.children[g]}}applyRedirectCommands(r,e,n,i,s){if(typeof e!="string"){let u=e,{queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,params:m,data:b,title:R}=i,j=_(s,()=>u({params:m,data:b,queryParams:a,fragment:c,routeConfig:l,url:v,outlet:d,title:R}));if(j instanceof B)throw new Ne(j);e=j}let o=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),r,n);if(e[0]==="/")throw new Ne(o);return o}applyRedirectCreateUrlTree(r,e,n,i){let s=this.createSegmentGroup(r,e.root,n,i);return new B(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"&&s[0]===":"){let u=s.substring(1);n[i]=e[u]}else n[i]=s}),n}createSegmentGroup(r,e,n,i){let s=this.createSegments(r,e.segments,n,i),o={};return Object.entries(e.children).forEach(([u,a])=>{o[u]=this.createSegmentGroup(r,a,n,i)}),new y(s,o)}createSegments(r,e,n,i){return e.map(s=>s.path[0]===":"?this.findPosParam(r,s,i):this.findOrReturn(s,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new A(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}},rr={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function rs(t,r,e,n,i){let s=$n(t,r,e);return s.matched?(n=bi(r,n),Ji(n,r,e,i).pipe(S(o=>o===!0?s:h({},rr)))):f(s)}function $n(t,r,e){var u,a;if(r.path==="**")return ns(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},rr):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Yn)(e,t,r);if(!i)return h({},rr);let s={};Object.entries((u=i.posParams)!=null?u:{}).forEach(([c,l])=>{s[c]=l.path});let o=i.consumed.length>0?h(h({},s),i.consumed[i.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:o,positionalParamSegments:(a=i.posParams)!=null?a:{}}}function ns(t){return{matched:!0,parameters:t.length>0?vn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function cn(t,r,e,n){return e.length>0&&os(t,e,n)?{segmentGroup:new y(r,ss(n,new y(e,t.children))),slicedSegments:[]}:e.length===0&&as(t,e,n)?{segmentGroup:new y(t.segments,is(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new y(t.segments,t.children),slicedSegments:e}}function is(t,r,e,n){let i={};for(let s of e)if(vt(t,r,s)&&!n[$(s)]){let o=new y([],{});i[$(s)]=o}return h(h({},n),i)}function ss(t,r){let e={};e[g]=r;for(let n of t)if(n.path===""&&$(n)!==g){let i=new y([],{});e[$(n)]=i}return e}function os(t,r,e){return e.some(n=>vt(t,r,n)&&$(n)!==g)}function as(t,r,e){return e.some(n=>vt(t,r,n))}function vt(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function us(t,r,e){return r.length===0&&!t.children[e]}var nr=class{};function cs(t,r,e,n,i,s,o="emptyOnly"){return new ir(t,r,e,n,i,o,s).recognize()}var ls=31,ir=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,s,o,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=s,this.paramsInheritanceStrategy=o,this.urlSerializer=u,this.applyRedirects=new tr(this.urlSerializer,this.urlTree)}noMatchError(r){return new A(4002,`'${r.segmentGroup}'`)}recognize(){let r=cn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(S(({children:e,rootSnapshot:n})=>{let i=new E(n,e),s=new lt("",i),o=vi(n,[],this.urlTree.queryParams,this.urlTree.fragment);return o.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(o),{state:s,tree:o}}))}match(r){let e=new le([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),g,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,g,e).pipe(S(n=>({children:n,rootSnapshot:e})),ne(n=>{if(n instanceof Ne)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof je?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,s){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,s):this.processSegment(r,e,n,n.segments,i,!0,s).pipe(S(o=>o instanceof E?[o]:[]))}processChildren(r,e,n,i){let s=[];for(let o of Object.keys(n.children))o==="primary"?s.unshift(o):s.push(o);return D(s).pipe(ie(o=>{let u=n.children[o],a=Ii(e,o);return this.processSegmentGroup(r,a,u,o,i)}),wr((o,u)=>(o.push(...u),o)),Ct(null),Rr(),O(o=>{if(o===null)return ae(n);let u=kn(o);return hs(u),f(u)}))}processSegment(r,e,n,i,s,o,u){return D(e).pipe(ie(a=>{var c;return this.processSegmentAgainstRoute((c=a._injector)!=null?c:r,e,a,n,i,s,o,u).pipe(ne(l=>{if(l instanceof je)return f(null);throw l}))}),Q(a=>!!a),ne(a=>{if(Nn(a))return us(n,i,s)?f(new nr):ae(n);throw a}))}processSegmentAgainstRoute(r,e,n,i,s,o,u,a){return $(n)!==o&&(o===g||!vt(i,s,n))?ae(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,s,o,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,s,o,a):ae(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,s,o,u){var j,H;let{matched:a,parameters:c,consumedSegments:l,positionalParamSegments:v,remainingSegments:d}=$n(e,i,s);if(!a)return ae(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>ls&&(this.allowRedirects=!1));let m=new le(s,c,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(i),$(i),(H=(j=i.component)!=null?j:i._loadedComponent)!=null?H:null,i,hn(i)),b=ct(m,u,this.paramsInheritanceStrategy);m.params=Object.freeze(b.params),m.data=Object.freeze(b.data);let R=this.applyRedirects.applyRedirectCommands(l,i.redirectTo,v,m,r);return this.applyRedirects.lineralizeSegments(i,R).pipe(O(Y=>this.processSegment(r,n,e,Y.concat(d),o,!1,u)))}matchSegmentAgainstRoute(r,e,n,i,s,o){let u=rs(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(N(a=>{var c;return a.matched?(r=(c=n._injector)!=null?c:r,this.getChildConfig(r,n,i).pipe(N(({routes:l})=>{var dr,fr,pr;let v=(dr=n._loadedInjector)!=null?dr:r,{parameters:d,consumedSegments:m,remainingSegments:b}=a,R=new le(m,d,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,ln(n),$(n),(pr=(fr=n.component)!=null?fr:n._loadedComponent)!=null?pr:null,n,hn(n)),j=ct(R,o,this.paramsInheritanceStrategy);R.params=Object.freeze(j.params),R.data=Object.freeze(j.data);let{segmentGroup:H,slicedSegments:Y}=cn(e,m,b,l);if(Y.length===0&&H.hasChildren())return this.processChildren(v,l,H,R).pipe(S(Be=>new E(R,Be)));if(l.length===0&&Y.length===0)return f(new E(R,[]));let Zn=$(n)===s;return this.processSegment(v,l,H,Y,Zn?g:s,!0,R).pipe(S(Be=>new E(R,Be instanceof E?[Be]:[])))}))):ae(e)}))}getChildConfig(r,e,n){return e.children?f({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?f({routes:e._loadedRoutes,injector:e._loadedInjector}):Xi(r,e,n,this.urlSerializer).pipe(O(i=>i?this.configLoader.loadChildren(r,e).pipe(I(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):ts(e))):f({routes:[],injector:r})}};function hs(t){t.sort((r,e)=>r.value.outlet===g?-1:e.value.outlet===g?1:r.value.outlet.localeCompare(e.value.outlet))}function ds(t){let r=t.value.routeConfig;return r&&r.path===""}function kn(t){let r=[],e=new Set;for(let n of t){if(!ds(n)){r.push(n);continue}let i=r.find(s=>n.value.routeConfig===s.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=kn(n.children);r.push(new E(n.value,i))}return r.filter(n=>!e.has(n))}function ln(t){return t.data||{}}function hn(t){return t.resolve||{}}function fs(t,r,e,n,i,s){return O(o=>cs(t,r,e,n,o.extractedUrl,i,s).pipe(S(({state:u,tree:a})=>T(h({},o),{targetSnapshot:u,urlAfterRedirects:a}))))}function ps(t,r){return O(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return f(e);let s=new Set(i.map(a=>a.route)),o=new Set;for(let a of s)if(!o.has(a))for(let c of _n(a))o.add(c);let u=0;return D(o).pipe(ie(a=>s.has(a)?gs(a,n,t,r):(a.data=ct(a,a.parent,t).resolve,f(void 0))),I(()=>u++),Rt(1),O(a=>u===o.size?f(e):G))})}function _n(t){let r=t.children.map(e=>_n(e)).flat();return[t,...r]}function gs(t,r,e,n){let i=t.routeConfig,s=t._resolve;return(i==null?void 0:i.title)!==void 0&&!Un(i)&&(s[Le]=i.title),vs(s,t,r,n).pipe(S(o=>(t._resolvedData=o,t.data=ct(t,t.parent,e).resolve,null)))}function vs(t,r,e,n){let i=Nt(t);if(i.length===0)return f({});let s={};return D(i).pipe(O(o=>ms(t[o],r,e,n).pipe(Q(),I(u=>{if(u instanceof Pe)throw ht(new fe,u);s[o]=u}))),Rt(1),Cr(s),ne(o=>Nn(o)?G:ye(o)))}function ms(t,r,e,n){var u;let i=(u=ke(r))!=null?u:n,s=me(t,i),o=s.resolve?s.resolve(r,e):_(i,()=>s(r,e));return Z(o)}function Pt(t){return N(r=>{let e=t(r);return e?D(e).pipe(S(()=>r)):f(r)})}var zn=(()=>{class t{buildTitle(e){var s;let n,i=e.root;for(;i!==void 0;)n=(s=this.getResolvedTitleForRoute(i))!=null?s:n,i=i.children.find(o=>o.outlet===g);return n}getResolvedTitleForRoute(e){return e.data[Le]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ys),providedIn:"root"})}return t})(),ys=(()=>{class t extends zn{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(F(rn))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Fe=new M("",{providedIn:"root",factory:()=>({})}),Ss=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=$r({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(n,i){n&1&&Hr(0,"router-outlet")},dependencies:[Mi],encapsulation:2})}return t})();function ar(t){let r=t.children&&t.children.map(ar),e=r?T(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==g&&(e.component=Ss),e}var ft=new M(""),ur=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=p(Qe);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return f(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=Z(e.loadComponent()).pipe(S(Fn),I(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),He(()=>{this.componentLoaders.delete(e)})),i=new yt(n,()=>new W).pipe(mt());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return f({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let s=Cs(n,this.compiler,e,this.onLoadEndListener).pipe(He(()=>{this.childrenLoaders.delete(n)})),o=new yt(s,()=>new W).pipe(mt());return this.childrenLoaders.set(n,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Cs(t,r,e,n){return Z(t.loadChildren()).pipe(S(Fn),O(i=>i instanceof Lr||Array.isArray(i)?f(i):D(r.compileModuleAsync(i))),S(i=>{n&&n(t);let s,o,u=!1;return Array.isArray(i)?(o=i,u=!0):(s=i.create(e).injector,o=s.get(ft,[],{optional:!0,self:!0}).flat()),{routes:o.map(ar),injector:s}}))}function Rs(t){return t&&typeof t=="object"&&"default"in t}function Fn(t){return Rs(t)?t.default:t}var cr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(ws),providedIn:"root"})}return t})(),ws=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),qn=new M(""),Bn=new M("");function bs(t,r,e){let n=t.get(Bn),i=t.get(Yr);return t.get(At).runOutsideAngular(()=>{if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(c=>setTimeout(c));let s,o=new Promise(c=>{s=c}),u=i.startViewTransition(()=>(s(),Is(t))),{onViewTransitionCreated:a}=n;return a&&_(t,()=>a({transition:u,from:r,to:e})),o})}function Is(t){return new Promise(r=>{xr({read:()=>setTimeout(r)},{injector:t})})}var Vn=new M(""),lr=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new W;transitionAbortSubject=new W;configLoader=p(ur);environmentInjector=p(Ce);urlSerializer=p($e);rootContexts=p(_e);location=p(we);inputBindingEnabled=p(gt,{optional:!0})!==null;titleStrategy=p(zn);options=p(Fe,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=p(cr);createViewTransition=p(qn,{optional:!0});navigationErrorHandler=p(Vn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>f(void 0);rootComponentType=null;constructor(){let e=i=>this.events.next(new Bt(i)),n=i=>this.events.next(new Vt(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e}complete(){var e;(e=this.transitions)==null||e.complete()}handleNavigationRequest(e){var i;let n=++this.navigationId;(i=this.transitions)==null||i.next(T(h(h({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new x({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Me,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(s=>s.id!==0),S(s=>T(h({},s),{extractedUrl:this.urlHandlingStrategy.extract(s.rawUrl)})),N(s=>{let o=!1,u=!1;return f(s).pipe(N(a=>{var v;if(this.navigationId>s.id)return this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),G;this.currentTransition=s,this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?T(h({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=(v=a.extras.onSameUrlNavigation)!=null?v:e.onSameUrlNavigation;if(!c&&l!=="reload"){let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.rawUrl),d,it.IgnoredSameUrlNavigation)),a.resolve(!1),G}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return f(a).pipe(N(d=>{var b,R;let m=(b=this.transitions)==null?void 0:b.getValue();return this.events.next(new pe(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),m!==((R=this.transitions)==null?void 0:R.getValue())?G:Promise.resolve(d)}),fs(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),I(d=>{s.targetSnapshot=d.targetSnapshot,s.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation=T(h({},this.currentNavigation),{finalUrl:d.urlAfterRedirects});let m=new st(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(m)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:d,extractedUrl:m,source:b,restoredState:R,extras:j}=a,H=new pe(d,this.urlSerializer.serialize(m),b,R);this.events.next(H);let Y=On(this.rootComponentType).snapshot;return this.currentTransition=s=T(h({},a),{targetSnapshot:Y,urlAfterRedirects:m,extras:T(h({},j),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=m,f(s)}else{let d="";return this.events.next(new K(a.id,this.urlSerializer.serialize(a.extractedUrl),d,it.IgnoredByUrlHandlingStrategy)),a.resolve(!1),G}}),I(a=>{let c=new _t(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),S(a=>(this.currentTransition=s=T(h({},a),{guards:Pi(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),s)),Vi(this.environmentInjector,a=>this.events.next(a)),I(a=>{if(s.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw ht(this.urlSerializer,a.guardsResult);let c=new zt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",U.GuardRejected),!1)),Pt(a=>{if(a.guards.canActivateChecks.length)return f(a).pipe(I(c=>{let l=new Ft(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),N(c=>{let l=!1;return f(c).pipe(ps(this.paramsInheritanceStrategy,this.environmentInjector),I({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(c,"",U.NoDataFromResolver)}}))}),I(c=>{let l=new qt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}))}),Pt(a=>{let c=l=>{var d;let v=[];(d=l.routeConfig)!=null&&d.loadComponent&&!l.routeConfig._loadedComponent&&v.push(this.configLoader.loadComponent(l.routeConfig).pipe(I(m=>{l.component=m}),S(()=>{})));for(let m of l.children)v.push(...c(m));return v};return Ve(c(a.targetSnapshot.root)).pipe(Ct(null),se(1))}),Pt(()=>this.afterPreactivation()),N(()=>{var v;let{currentSnapshot:a,targetSnapshot:c}=s,l=(v=this.createViewTransition)==null?void 0:v.call(this,this.environmentInjector,a.root,c.root);return l?D(l).pipe(S(()=>s)):f(s)}),S(a=>{let c=Ti(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=s=T(h({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,s}),I(()=>{this.events.next(new Ue)}),xi(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),se(1),I({next:a=>{var c;o=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new k(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),(c=this.titleStrategy)==null||c.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),Ir(this.transitionAbortSubject.pipe(I(a=>{throw a}))),He(()=>{var a;!o&&!u&&this.cancelNavigationTransition(s,"",U.SupersededByNewNavigation),((a=this.currentTransition)==null?void 0:a.id)===s.id&&(this.currentNavigation=null,this.currentTransition=null)}),ne(a=>{var c;if(u=!0,jn(a))this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),a.message,a.cancellationCode)),Ui(a)?this.events.next(new ge(a.url,a.navigationBehaviorOptions)):s.resolve(!1);else{let l=new Ee(s.id,this.urlSerializer.serialize(s.extractedUrl),a,(c=s.targetSnapshot)!=null?c:void 0);try{let v=_(this.environmentInjector,()=>{var d;return(d=this.navigationErrorHandler)==null?void 0:d.call(this,l)});if(v instanceof Pe){let{message:d,cancellationCode:m}=ht(this.urlSerializer,v);this.events.next(new q(s.id,this.urlSerializer.serialize(s.extractedUrl),d,m)),this.events.next(new ge(v.redirectTo,v.navigationBehaviorOptions))}else throw this.events.next(l),a}catch(v){this.options.resolveNavigationPromiseOnError?s.resolve(!1):s.reject(v)}}return G}))}))}cancelNavigationTransition(e,n,i){let s=new q(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(s),e.resolve(!1)}isUpdatingInternalState(){var e,n;return((e=this.currentTransition)==null?void 0:e.extractedUrl.toString())!==((n=this.currentTransition)==null?void 0:n.currentUrlTree.toString())}isUpdatedBrowserUrl(){var i,s,o,u;let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=(o=(i=this.currentNavigation)==null?void 0:i.targetBrowserUrl)!=null?o:(s=this.currentNavigation)==null?void 0:s.extractedUrl;return e.toString()!==(n==null?void 0:n.toString())&&!((u=this.currentNavigation)!=null&&u.extras.skipLocationChange)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function As(t){return t!==Me}var Ds=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ms),providedIn:"root"})}return t})(),sr=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},Ms=(()=>{class t extends sr{static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=w({token:t,factory:()=>p(Ts),providedIn:"root"})}return t})(),Ts=(()=>{class t extends Hn{location=p(we);urlSerializer=p($e);options=p(Fe,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";urlHandlingStrategy=p(cr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new B;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){var e,n;return this.canceledNavigationResolution!=="computed"?this.currentPageId:(n=(e=this.restoredState())==null?void 0:e.\u0275routerPageId)!=null?n:this.currentPageId}routerState=On(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){var i,s;if(e instanceof pe)this.stateMemento=this.createStateMemento();else if(e instanceof K)this.rawUrlTree=n.initialUrl;else if(e instanceof st){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let o=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl((i=n.targetBrowserUrl)!=null?i:o,n)}}else e instanceof Ue?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl((s=n.targetBrowserUrl)!=null?s:this.rawUrlTree,n)):e instanceof q&&(e.code===U.GuardRejected||e.code===U.NoDataFromResolver)?this.restoreHistory(n):e instanceof Ee?this.restoreHistory(n,!0):e instanceof k&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=e instanceof B?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let s=this.browserPageId,o=h(h({},n.extras.state),this.generateNgRouterState(n.id,s));this.location.replaceState(i,"",o)}else{let s=h(h({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",s)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,s=this.currentPageId-i;s!==0?this.location.historyGo(s):this.currentUrlTree===e.finalUrl&&s===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){var n;this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,(n=e.finalUrl)!=null?n:this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=bt(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ae=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Ae||{});function Wn(t,r){t.events.pipe(X(e=>e instanceof k||e instanceof q||e instanceof Ee||e instanceof K),S(e=>e instanceof k||e instanceof K?Ae.COMPLETE:(e instanceof q?e.code===U.Redirect||e.code===U.SupersededByNewNavigation:!1)?Ae.REDIRECTING:Ae.FAILED),X(e=>e!==Ae.REDIRECTING),se(1)).subscribe(()=>{r()})}var Os={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Es={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},V=(()=>{var r,e;class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=p(zr);stateManager=p(Hn);options=p(Fe,{optional:!0})||{};pendingTasks=p(Er);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=p(lr);urlSerializer=p($e);location=p(we);urlHandlingStrategy=p(cr);_events=new W;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=p(Ds);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=(e=(r=p(ft,{optional:!0}))==null?void 0:r.flat())!=null?e:[];componentInputBindingEnabled=!!p(gt,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:i=>{this.console.warn(i)}}),this.subscribeToNavigationEvents()}eventsSubscription=new gr;subscribeToNavigationEvents(){let i=this.navigationTransitions.events.subscribe(s=>{try{let o=this.navigationTransitions.currentTransition,u=this.navigationTransitions.currentNavigation;if(o!==null&&u!==null){if(this.stateManager.handleRouterEvent(s,u),s instanceof q&&s.code!==U.Redirect&&s.code!==U.SupersededByNewNavigation)this.navigated=!0;else if(s instanceof k)this.navigated=!0;else if(s instanceof ge){let a=s.navigationBehaviorOptions,c=this.urlHandlingStrategy.merge(s.url,o.currentRawUrl),l=h({browserUrl:o.extras.browserUrl,info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:o.extras.replaceUrl||this.urlUpdateStrategy==="eager"||As(o.source)},a);this.scheduleNavigation(c,Me,null,l,{resolve:o.resolve,reject:o.reject,promise:o.promise})}}xs(s)&&this._events.next(s)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(i)}resetRootComponentType(i){this.routerState.root.component=i,this.navigationTransitions.rootComponentType=i}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Me,this.stateManager.restoredState())}setUpLocationChangeListener(){var i;(i=this.nonRouterCurrentEntryChangeSubscription)!=null||(this.nonRouterCurrentEntryChangeSubscription=this.stateManager.registerNonRouterCurrentEntryChangeListener((s,o)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(s,"popstate",o)},0)}))}navigateToSyncWithBrowser(i,s,o){let u={replaceUrl:!0},a=o!=null&&o.navigationId?o:null;if(o){let l=h({},o);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(u.state=l)}let c=this.parseUrl(i);this.scheduleNavigation(c,s,a,u)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(i){this.config=i.map(ar),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(i,s={}){let{relativeTo:o,queryParams:u,fragment:a,queryParamsHandling:c,preserveFragment:l}=s,v=l?this.currentUrlTree.fragment:a,d=null;switch(c!=null?c:this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),u);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=u||null}d!==null&&(d=this.removeEmptyProps(d));let m;try{let b=o?o.snapshot:this.routerState.snapshot.root;m=An(b)}catch{(typeof i[0]!="string"||i[0][0]!=="/")&&(i=[]),m=this.currentUrlTree.root}return Dn(m,i,d,v!=null?v:null)}navigateByUrl(i,s={skipLocationChange:!1}){let o=te(i)?i:this.parseUrl(i),u=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(u,Me,null,s)}navigate(i,s={skipLocationChange:!1}){return Us(i),this.navigateByUrl(this.createUrlTree(i,s),s)}serializeUrl(i){return this.urlSerializer.serialize(i)}parseUrl(i){try{return this.urlSerializer.parse(i)}catch{return this.urlSerializer.parse("/")}}isActive(i,s){let o;if(s===!0?o=h({},Os):s===!1?o=h({},Es):o=s,te(i))return nn(this.currentUrlTree,i,o);let u=this.parseUrl(i);return nn(this.currentUrlTree,u,o)}removeEmptyProps(i){return Object.entries(i).reduce((s,[o,u])=>(u!=null&&(s[o]=u),s),{})}scheduleNavigation(i,s,o,u,a){if(this.disposed)return Promise.resolve(!1);let c,l,v;a?(c=a.resolve,l=a.reject,v=a.promise):v=new Promise((m,b)=>{c=m,l=b});let d=this.pendingTasks.add();return Wn(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:s,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:i,extras:u,resolve:c,reject:l,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(m=>Promise.reject(m))}static \u0275fac=function(s){return new(s||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Us(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new A(4008,!1)}function xs(t){return!(t instanceof Ue)&&!(t instanceof ge)}var dn=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new W;constructor(e,n,i,s,o,u){var c;this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=s,this.el=o,this.locationStrategy=u;let a=(c=o.nativeElement.tagName)==null?void 0:c.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=e.events.subscribe(l=>{l instanceof k&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(te(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,s,o){let u=this.urlTree;if(u===null||this.isAnchorElement&&(e!==0||n||i||s||o||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){var e;(e=this.subscription)==null||e.unsubscribe()}updateHref(){var i;let e=this.urlTree;this.href=e!==null&&this.locationStrategy?(i=this.locationStrategy)==null?void 0:i.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:Pr(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,s=this.el.nativeElement;n!==null?i.setAttribute(s,e,n):i.removeAttribute(s,e)}get urlTree(){return this.routerLinkInput===null?null:te(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(n){return new(n||t)(L(V),L(re),Or("tabindex"),L(Mt),L(Dt),L(Re))};static \u0275dir=Ge({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&Wr("click",function(o){return i.onClick(o.button,o.ctrlKey,o.shiftKey,o.altKey,o.metaKey)}),n&2&&Vr("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ze],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ze],replaceUrl:[2,"replaceUrl","replaceUrl",Ze],routerLink:"routerLink"},features:[_r,We]})}return t})(),Ro=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new oe;constructor(e,n,i,s,o){this.router=e,this.element=n,this.renderer=i,this.cdr=s,this.link=o,this.routerEventsSubscription=e.events.subscribe(u=>{u instanceof k&&this.update()})}ngAfterContentInit(){f(this.links.changes,f(null)).pipe(Se()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var n;(n=this.linkInputChangesSubscription)==null||n.unsubscribe();let e=[...this.links.toArray(),this.link].filter(i=>!!i).map(i=>i.onChanges);this.linkInputChangesSubscription=D(e).pipe(Se()).subscribe(i=>{this._isActive!==this.isLinkActive(this.router)(i)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){var e;this.routerEventsSubscription.unsubscribe(),(e=this.linkInputChangesSubscription)==null||e.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=Ps(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let s=i.urlTree;return s?e.isActive(s,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(L(V),L(Dt),L(Mt),L(Ke),L(dn,8))};static \u0275dir=Ge({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,s){if(n&1&&Gr(s,dn,5),n&2){let o;Qr(o=Kr())&&(i.links=o)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[We]})}return t})();function Ps(t){return!!t.paths}var pt=class{};var js=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,s,o){this.router=e,this.injector=i,this.preloadingStrategy=s,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(X(e=>e instanceof k),ie(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){var s,o,u;let i=[];for(let a of n){a.providers&&!a._injector&&(a._injector=Tt(a.providers,e,`Route: ${a.path}`));let c=(s=a._injector)!=null?s:e,l=(o=a._loadedInjector)!=null?o:c;(a.loadChildren&&!a._loadedRoutes&&a.canLoad===void 0||a.loadComponent&&!a._loadedComponent)&&i.push(this.preloadConfig(c,a)),(a.children||a._loadedRoutes)&&i.push(this.processRoutes(l,(u=a.children)!=null?u:a._loadedRoutes))}return D(i).pipe(Se())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=f(null);let s=i.pipe(O(o=>{var u;return o===null?f(void 0):(n._loadedRoutes=o.routes,n._loadedInjector=o.injector,this.processRoutes((u=o.injector)!=null?u:e,o.routes))}));if(n.loadComponent&&!n._loadedComponent){let o=this.loader.loadComponent(n);return D([s,o]).pipe(Se())}else return s})}static \u0275fac=function(n){return new(n||t)(F(V),F(Qe),F(Ce),F(pt),F(ur))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Gn=new M(""),Ns=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource="imperative";restoredId=0;store={};constructor(e,n,i,s,o={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=s,this.options=o,o.scrollPositionRestoration||(o.scrollPositionRestoration="disabled"),o.anchorScrolling||(o.anchorScrolling="disabled")}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof pe?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof k?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof K&&e.code===it.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ot&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new ot(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})},0)})}ngOnDestroy(){var e,n;(e=this.routerEventsSubscription)==null||e.unsubscribe(),(n=this.scrollEventsSubscription)==null||n.unsubscribe()}static \u0275fac=function(n){jr()};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})();function Ls(t){return t.routerState.root}function qe(t,r){return{\u0275kind:t,\u0275providers:r}}function $s(){let t=p(It);return r=>{var s,o;let e=t.get(Br);if(r!==e.components[0])return;let n=t.get(V),i=t.get(Qn);t.get(hr)===1&&n.initialNavigation(),(s=t.get(Kn,null,wt.Optional))==null||s.setUpPreloading(),(o=t.get(Gn,null,wt.Optional))==null||o.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Qn=new M("",{factory:()=>new W}),hr=new M("",{providedIn:"root",factory:()=>1});function ks(){return qe(2,[{provide:hr,useValue:0},{provide:Ot,multi:!0,deps:[It],useFactory:r=>{let e=r.get(Xr,Promise.resolve());return()=>e.then(()=>new Promise(n=>{let i=r.get(V),s=r.get(Qn);Wn(i,()=>{n(!0)}),r.get(lr).afterPreactivation=()=>(n(!0),s.closed?f(void 0):s),i.initialNavigation()}))}}])}function _s(){return qe(3,[{provide:Ot,multi:!0,useFactory:()=>{let r=p(V);return()=>{r.setUpLocationChangeListener()}}},{provide:hr,useValue:2}])}var Kn=new M("");function zs(t){return qe(0,[{provide:Kn,useExisting:js},{provide:pt,useExisting:t}])}function Fs(){return qe(8,[un,{provide:gt,useExisting:un}])}function qs(t){let r=[{provide:qn,useValue:bs},{provide:Bn,useValue:h({skipNextTransition:!!(t!=null&&t.skipInitialTransition)},t)}];return qe(9,r)}var fn=new M("ROUTER_FORROOT_GUARD"),Bs=[we,{provide:$e,useClass:fe},V,_e,{provide:re,useFactory:Ls,deps:[V]},ur,[]],wo=(()=>{class t{constructor(e){}static forRoot(e,n){return{ngModule:t,providers:[Bs,[],{provide:ft,multi:!0,useValue:e},{provide:fn,useFactory:Gs,deps:[[V,new Mr,new Tr]]},n!=null&&n.errorHandler?{provide:Vn,useValue:n.errorHandler}:[],{provide:Fe,useValue:n||{}},n!=null&&n.useHash?Hs():Ws(),Vs(),n!=null&&n.preloadingStrategy?zs(n.preloadingStrategy).\u0275providers:[],n!=null&&n.initialNavigation?Qs(n):[],n!=null&&n.bindToComponentInputs?Fs().\u0275providers:[],n!=null&&n.enableViewTransitions?qs().\u0275providers:[],Ks()]}}static forChild(e){return{ngModule:t,providers:[{provide:ft,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)(F(fn,8))};static \u0275mod=kr({type:t});static \u0275inj=Ar({})}return t})();function Vs(){return{provide:Gn,useFactory:()=>{let t=p(tn),r=p(At),e=p(Fe),n=p(lr),i=p($e);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Ns(i,n,t,r,e)}}}function Hs(){return{provide:Re,useClass:en}}function Ws(){return{provide:Re,useClass:Jr}}function Gs(t){return"guarded"}function Qs(t){return[t.initialNavigation==="disabled"?_s().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ks().\u0275providers:[]]}var pn=new M("");function Ks(){return[{provide:pn,useFactory:$s},{provide:qr,multi:!0,useExisting:pn}]}export{k as a,re as b,Mi as c,V as d,dn as e,Ro as f,wo as g};
@@ -1 +0,0 @@
1
- import{f as a}from"./chunk-WBSQUODA.js";import"./chunk-FN5IQFDD.js";import"./chunk-FAJ5V6VJ.js";import"./chunk-PZ2IXNJQ.js";import"./chunk-XQNHUDX7.js";import"./chunk-23M23WV2.js";import"./chunk-NEL5H4ZP.js";import"./chunk-3ANQRJ75.js";import"./chunk-NSCP3SOQ.js";import"./chunk-5KLZWFYX.js";import"./chunk-JF5AT3NK.js";import"./chunk-WJQ5NIPP.js";import"./chunk-C2XBPNOQ.js";import"./chunk-474BOAR2.js";import"./chunk-RP5TYXWG.js";import"./chunk-7BCHGXO4.js";import"./chunk-WONZP2FV.js";import"./chunk-XFK2EZ3K.js";import"./chunk-EEDUUZ6J.js";import"./chunk-N4F42HDL.js";import"./chunk-YLEC7AUG.js";import"./chunk-TFXCOLWH.js";import"./chunk-T3GI7KUT.js";import"./chunk-MW5FLUTC.js";import"./chunk-YTJNIFE4.js";import"./chunk-3NBOT4LS.js";import"./chunk-HA6CO5NZ.js";import"./chunk-675OFXLW.js";import"./chunk-CKNHTRCL.js";export{a as StatusComponent};