homebridge-config-ui-x 5.0.0-beta.4 → 5.0.0-beta.40

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 (302) hide show
  1. package/CHANGELOG.md +224 -20
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +38 -18
  5. package/dist/bin/fork.js +17 -7
  6. package/dist/bin/fork.js.map +1 -1
  7. package/dist/bin/hb-service.d.ts +2 -2
  8. package/dist/bin/hb-service.js +68 -57
  9. package/dist/bin/hb-service.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +18 -7
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -0
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +3 -0
  22. package/dist/core/config/config.service.js +2 -1
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +25 -14
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +7 -6
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +17 -17
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +3 -3
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +6 -6
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  50. package/dist/modules/log/log.service.js +3 -3
  51. package/dist/modules/log/log.service.js.map +1 -1
  52. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  53. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  54. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  55. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  56. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +2 -2
  57. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  58. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  59. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  60. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  61. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  62. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  63. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  64. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  65. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  66. package/dist/modules/plugins/plugins.controller.js +4 -4
  67. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  68. package/dist/modules/plugins/plugins.service.d.ts +3 -1
  69. package/dist/modules/plugins/plugins.service.js +116 -60
  70. package/dist/modules/plugins/plugins.service.js.map +1 -1
  71. package/dist/modules/server/server.controller.d.ts +22 -2
  72. package/dist/modules/server/server.controller.js +96 -18
  73. package/dist/modules/server/server.controller.js.map +1 -1
  74. package/dist/modules/server/server.service.d.ts +24 -6
  75. package/dist/modules/server/server.service.js +186 -59
  76. package/dist/modules/server/server.service.js.map +1 -1
  77. package/dist/modules/status/status.controller.js +3 -3
  78. package/dist/modules/status/status.controller.js.map +1 -1
  79. package/dist/modules/status/status.gateway.d.ts +1 -0
  80. package/dist/modules/status/status.service.d.ts +1 -0
  81. package/dist/modules/status/status.service.js +5 -4
  82. package/dist/modules/status/status.service.js.map +1 -1
  83. package/dist/modules/users/users.controller.js +7 -7
  84. package/dist/modules/users/users.controller.js.map +1 -1
  85. package/dist/self-check.js +6 -6
  86. package/dist/self-check.js.map +1 -1
  87. package/package.json +38 -37
  88. package/public/3rdpartylicenses.txt +87 -61
  89. package/public/assets/hap-icons/airpurifier.svg +49 -16
  90. package/public/assets/hap-icons/airquality.svg +24 -13
  91. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  92. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  93. package/public/assets/hap-icons/door-closed.svg +32 -2
  94. package/public/assets/hap-icons/door-open.svg +48 -2
  95. package/public/assets/hap-icons/fan-off.svg +24 -13
  96. package/public/assets/hap-icons/fan-on.svg +24 -13
  97. package/public/assets/hap-icons/garagedoor.svg +24 -13
  98. package/public/assets/hap-icons/humidity.svg +24 -13
  99. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  100. package/public/assets/hap-icons/leaksensor.svg +52 -2
  101. package/public/assets/hap-icons/light.svg +47 -28
  102. package/public/assets/hap-icons/lightbulb.svg +24 -13
  103. package/public/assets/hap-icons/lock-locked.svg +24 -13
  104. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  105. package/public/assets/hap-icons/motionsensor.svg +100 -2
  106. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  107. package/public/assets/hap-icons/outlet.svg +24 -13
  108. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  109. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  110. package/public/assets/hap-icons/smokesensor.svg +42 -9
  111. package/public/assets/hap-icons/speaker.svg +29 -13
  112. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  113. package/public/assets/hap-icons/switch.svg +24 -13
  114. package/public/assets/hap-icons/television.svg +15 -4
  115. package/public/assets/hap-icons/temperature.svg +24 -13
  116. package/public/assets/hap-icons/unknown.svg +24 -13
  117. package/public/assets/hap-icons/valve-generic.svg +27 -16
  118. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  119. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  120. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  121. package/public/assets/hap-icons/window-closed.svg +85 -2
  122. package/public/assets/hap-icons/window-open.svg +136 -2
  123. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  124. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  125. package/public/assets/homebridge-color-round.svg +36 -1
  126. package/public/assets/homebridge-logo.svg +11 -1
  127. package/public/assets/mask-icon.svg +5 -1
  128. package/public/{chunk-WHJOLAED.js → chunk-2ARSC6O4.js} +1 -1
  129. package/public/{chunk-WNWWUCCZ.js → chunk-2BBAYFXG.js} +1 -1
  130. package/public/{chunk-WHJSVGC7.js → chunk-2MYACURS.js} +1 -1
  131. package/public/{chunk-76SU4XMO.js → chunk-44LZWM2S.js} +1 -1
  132. package/public/chunk-4ECWVXWO.js +1 -0
  133. package/public/chunk-4NHYE2FR.js +1 -0
  134. package/public/chunk-53FTBKZ2.js +1 -0
  135. package/public/chunk-54CRHY6E.js +1 -0
  136. package/public/{chunk-JZZQRLNW.js → chunk-5CH326YZ.js} +1 -1
  137. package/public/chunk-5OK3UPY6.js +1 -0
  138. package/public/chunk-6D5CGXDI.js +1 -0
  139. package/public/chunk-6E2DKPOC.js +20 -0
  140. package/public/chunk-6EMRSQU4.js +1 -0
  141. package/public/chunk-6IMEZ7FY.js +1 -0
  142. package/public/chunk-6WX6Z5CR.js +1 -0
  143. package/public/chunk-6YPC2AEN.js +5 -0
  144. package/public/chunk-7G5DYE67.js +1 -0
  145. package/public/chunk-7J7D4RFK.js +1 -0
  146. package/public/{chunk-OE6MK722.js → chunk-AOWW4OIM.js} +1 -1
  147. package/public/chunk-BFQLKNRB.js +1 -0
  148. package/public/chunk-BWUSBIAD.js +1 -0
  149. package/public/chunk-DF45VVYA.js +1 -0
  150. package/public/chunk-DMDV5FDH.js +1 -0
  151. package/public/chunk-ELHNJFMR.js +1 -0
  152. package/public/chunk-EPP37PKN.js +1 -0
  153. package/public/{chunk-NW6AFAD7.js → chunk-FFBZNIV4.js} +1 -1
  154. package/public/{chunk-QE7DO6J3.js → chunk-FLTVAPLJ.js} +2 -2
  155. package/public/chunk-FRLSQQFD.js +1 -0
  156. package/public/{chunk-VAW3X7MD.js → chunk-G5GZAWHN.js} +5 -5
  157. package/public/{chunk-MK5BZOUV.js → chunk-GJMAX2VB.js} +2 -2
  158. package/public/{chunk-BKUGARB4.js → chunk-GOHZ4DC4.js} +1 -1
  159. package/public/{chunk-EA5J2VEJ.js → chunk-GQS3624Y.js} +1 -1
  160. package/public/chunk-H7Z4IBKG.js +1 -0
  161. package/public/chunk-HZCDB2XT.js +1 -0
  162. package/public/chunk-I3H24QH7.js +1 -0
  163. package/public/chunk-I6GEQFAT.js +1 -0
  164. package/public/chunk-IH7FZAXF.js +1 -0
  165. package/public/chunk-IHTWEI6M.js +1 -0
  166. package/public/chunk-JZMQ5FID.js +1 -0
  167. package/public/chunk-KA5TFBDD.js +1 -0
  168. package/public/chunk-KXPEHDL7.js +1 -0
  169. package/public/chunk-LKGOWE5W.js +8 -0
  170. package/public/chunk-M5W2I2BE.js +1 -0
  171. package/public/chunk-MDCNYIS7.js +1 -0
  172. package/public/chunk-MOAVQNSZ.js +1 -0
  173. package/public/chunk-NZL2QIFO.js +2 -0
  174. package/public/chunk-O22A7NB6.js +1 -0
  175. package/public/chunk-O5XTXPP3.js +1 -0
  176. package/public/chunk-OXVPJJQX.js +1 -0
  177. package/public/chunk-P2P3GCNU.js +1 -0
  178. package/public/chunk-P6BRMZWX.js +1 -0
  179. package/public/chunk-PMMW3JTB.js +1 -0
  180. package/public/{chunk-CGQI6VDR.js → chunk-POPRPNGN.js} +1 -1
  181. package/public/chunk-PSPML5VW.js +1 -0
  182. package/public/chunk-PTWEXIAR.js +1 -0
  183. package/public/chunk-PYFJNWPU.js +1 -0
  184. package/public/chunk-PYUYYML6.js +1 -0
  185. package/public/chunk-Q3MPBSDZ.js +1 -0
  186. package/public/chunk-QH4HLTWE.js +1 -0
  187. package/public/chunk-QW6PJ27Z.js +1 -0
  188. package/public/chunk-R472JQFQ.js +1 -0
  189. package/public/chunk-RXML52B3.js +14 -0
  190. package/public/chunk-SLPB5ZSZ.js +1 -0
  191. package/public/chunk-SM4YBIEF.js +1 -0
  192. package/public/chunk-SSMNJVEP.js +1 -0
  193. package/public/chunk-SYEG3RCH.js +1 -0
  194. package/public/chunk-T7WHHJXM.js +1 -0
  195. package/public/chunk-U3FAOEAT.js +1 -0
  196. package/public/{chunk-7EUQWCP5.js → chunk-UFFY2L3W.js} +1 -1
  197. package/public/{chunk-6TCHCTXZ.js → chunk-V5R6RQCC.js} +1 -1
  198. package/public/chunk-VRNVEPFN.js +7 -0
  199. package/public/chunk-W27OUA7Y.js +1 -0
  200. package/public/chunk-WBTQONWJ.js +5 -0
  201. package/public/chunk-WKPZS7OX.js +1 -0
  202. package/public/chunk-WNR5LBIY.js +32 -0
  203. package/public/chunk-XRLB2LD5.js +1 -0
  204. package/public/chunk-XTCHYX2M.js +1 -0
  205. package/public/chunk-XXIHDRQS.js +1 -0
  206. package/public/chunk-Y5Y7DDHQ.js +1 -0
  207. package/public/chunk-YHMNHDNW.js +1 -0
  208. package/public/chunk-YPQN2F2L.js +1 -0
  209. package/public/{chunk-CCUID66K.js → chunk-ZDFTIT3A.js} +1 -1
  210. package/public/chunk-ZYAECXAT.js +6 -0
  211. package/public/index.html +2 -2
  212. package/public/main-NRSJXXDK.js +1 -0
  213. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  214. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  215. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  216. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  217. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  218. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  219. package/public/styles-5ZGAUY5X.css +1 -0
  220. package/scripts/upgrade-install-plugin.sh +1 -1
  221. package/public/chunk-2FJGS2P4.js +0 -1
  222. package/public/chunk-2PVYUZMG.js +0 -1
  223. package/public/chunk-2VTFU3NZ.js +0 -6
  224. package/public/chunk-3FUV2YFB.js +0 -1
  225. package/public/chunk-3IX3CLER.js +0 -1
  226. package/public/chunk-43QJK3CH.js +0 -1
  227. package/public/chunk-4AYTHKYE.js +0 -1
  228. package/public/chunk-4JQFZGIU.js +0 -1
  229. package/public/chunk-5L7KCDO7.js +0 -1
  230. package/public/chunk-5SGGTYVP.js +0 -1
  231. package/public/chunk-64I555F6.js +0 -1
  232. package/public/chunk-6F552PS2.js +0 -14
  233. package/public/chunk-6GDRRHLT.js +0 -1
  234. package/public/chunk-7C3EOONK.js +0 -1
  235. package/public/chunk-7I2U653A.js +0 -1
  236. package/public/chunk-A6RDT6EE.js +0 -32
  237. package/public/chunk-ACHJ26XR.js +0 -1
  238. package/public/chunk-AMGSXBKP.js +0 -1
  239. package/public/chunk-AX2NKG76.js +0 -1
  240. package/public/chunk-BPMSJ2VF.js +0 -1
  241. package/public/chunk-CDC5JJGR.js +0 -5
  242. package/public/chunk-CNIFYHFS.js +0 -1
  243. package/public/chunk-DPHWZNEL.js +0 -1
  244. package/public/chunk-DXCU4YH5.js +0 -1
  245. package/public/chunk-ENTRCZRC.js +0 -1
  246. package/public/chunk-F3LCRXOB.js +0 -1
  247. package/public/chunk-FUOZMXIE.js +0 -1
  248. package/public/chunk-GNMMNSKZ.js +0 -1
  249. package/public/chunk-GONTC5RL.js +0 -1
  250. package/public/chunk-HC4ULUF5.js +0 -1
  251. package/public/chunk-HSJSWZHD.js +0 -1
  252. package/public/chunk-JAM2DL6O.js +0 -1
  253. package/public/chunk-JLUPHWBK.js +0 -1
  254. package/public/chunk-KQJ7ONUG.js +0 -1
  255. package/public/chunk-LAAC3HKW.js +0 -1
  256. package/public/chunk-MOTRKWPN.js +0 -1
  257. package/public/chunk-N3JMUDBI.js +0 -1
  258. package/public/chunk-NZNNTHFQ.js +0 -1
  259. package/public/chunk-ODPNK7TG.js +0 -1
  260. package/public/chunk-ORPWYWCL.js +0 -5
  261. package/public/chunk-OURFK6JB.js +0 -1
  262. package/public/chunk-PEPJOU6R.js +0 -1
  263. package/public/chunk-PWJLSQWP.js +0 -8
  264. package/public/chunk-QHPDGSZ6.js +0 -1
  265. package/public/chunk-RFBKWUOP.js +0 -20
  266. package/public/chunk-S22XAG5G.js +0 -1
  267. package/public/chunk-S23B67SO.js +0 -1
  268. package/public/chunk-S3ABXPGO.js +0 -1
  269. package/public/chunk-SUCUQYZ3.js +0 -1
  270. package/public/chunk-TCSXGQNF.js +0 -1
  271. package/public/chunk-TXOB7R5K.js +0 -7
  272. package/public/chunk-U4TY4QYN.js +0 -1
  273. package/public/chunk-UG5DK2RQ.js +0 -2
  274. package/public/chunk-UNXETFMR.js +0 -1
  275. package/public/chunk-VF4E7Q42.js +0 -1
  276. package/public/chunk-VOPS522V.js +0 -1
  277. package/public/chunk-VVFRD7PI.js +0 -1
  278. package/public/chunk-WWTMEHKF.js +0 -1
  279. package/public/chunk-X6HR3FKR.js +0 -1
  280. package/public/chunk-Y6NAMXTD.js +0 -1
  281. package/public/chunk-YAOIYDRH.js +0 -1
  282. package/public/chunk-ZOOTYXXF.js +0 -1
  283. package/public/chunk-ZT23DWNL.js +0 -1
  284. package/public/chunk-ZTCVXHR7.js +0 -1
  285. package/public/chunk-ZUBSOVIF.js +0 -1
  286. package/public/main-XXZ7MAPQ.js +0 -1
  287. package/public/media/01-RQ3S2L53.png +0 -0
  288. package/public/media/02-VNCG2I2A.png +0 -0
  289. package/public/media/03-HI42L4ZG.png +0 -0
  290. package/public/media/04-FJLL55LZ.png +0 -0
  291. package/public/media/05-V3EO6SPT.png +0 -0
  292. package/public/media/06-EOJZCQZN.png +0 -0
  293. package/public/media/07-KMKB5PBD.png +0 -0
  294. package/public/media/08-UQJRF6B2.png +0 -0
  295. package/public/media/09-2DJQFRHH.png +0 -0
  296. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  297. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  298. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  299. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  300. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  301. package/public/scripts-6GVLYD7F.js +0 -62
  302. package/public/styles-EG5MFQEM.css +0 -1
@@ -13,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ServerService = void 0;
16
+ const node_buffer_1 = require("node:buffer");
16
17
  const node_child_process_1 = require("node:child_process");
17
18
  const node_path_1 = require("node:path");
18
19
  const node_process_1 = __importDefault(require("node:process"));
19
20
  const hap_types_1 = require("@homebridge/hap-client/dist/hap-types");
20
21
  const common_1 = require("@nestjs/common");
21
- const buffer_shims_1 = require("buffer-shims");
22
22
  const fs_extra_1 = require("fs-extra");
23
23
  const node_cache_1 = __importDefault(require("node-cache"));
24
24
  const systeminformation_1 = require("systeminformation");
@@ -27,14 +27,12 @@ const config_service_1 = require("../../core/config/config.service");
27
27
  const homebridge_ipc_service_1 = require("../../core/homebridge-ipc/homebridge-ipc.service");
28
28
  const logger_service_1 = require("../../core/logger/logger.service");
29
29
  const accessories_service_1 = require("../accessories/accessories.service");
30
- const child_bridges_service_1 = require("../child-bridges/child-bridges.service");
31
30
  const config_editor_service_1 = require("../config-editor/config-editor.service");
32
31
  let ServerService = class ServerService {
33
- constructor(configService, configEditorService, accessoriesService, childBridgesService, homebridgeIpcService, logger) {
32
+ constructor(configService, configEditorService, accessoriesService, homebridgeIpcService, logger) {
34
33
  this.configService = configService;
35
34
  this.configEditorService = configEditorService;
36
35
  this.accessoriesService = accessoriesService;
37
- this.childBridgesService = childBridgesService;
38
36
  this.homebridgeIpcService = homebridgeIpcService;
39
37
  this.logger = logger;
40
38
  this.serverServiceCache = new node_cache_1.default({ stdTTL: 300 });
@@ -43,20 +41,73 @@ let ServerService = class ServerService {
43
41
  this.accessoryId = this.configService.homebridgeConfig.bridge.username.split(':').join('');
44
42
  this.accessoryInfoPath = (0, node_path_1.join)(this.configService.storagePath, 'persist', `AccessoryInfo.${this.accessoryId}.json`);
45
43
  }
44
+ async deleteSingleDeviceAccessories(id, cachedAccessoriesDir) {
45
+ const cachedAccessories = (0, node_path_1.join)(cachedAccessoriesDir, `cachedAccessories.${id}`);
46
+ const cachedAccessoriesBackup = (0, node_path_1.join)(cachedAccessoriesDir, `.cachedAccessories.${id}.bak`);
47
+ if (await (0, fs_extra_1.pathExists)(cachedAccessories)) {
48
+ await (0, fs_extra_1.unlink)(cachedAccessories);
49
+ this.logger.warn(`Bridge ${id} accessory removal: removed ${cachedAccessories}.`);
50
+ }
51
+ if (await (0, fs_extra_1.pathExists)(cachedAccessoriesBackup)) {
52
+ await (0, fs_extra_1.unlink)(cachedAccessoriesBackup);
53
+ this.logger.warn(`Bridge ${id} accessory removal: removed ${cachedAccessoriesBackup}.`);
54
+ }
55
+ }
56
+ async deleteSingleDevicePairing(id, resetPairingInfo) {
57
+ const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
58
+ const accessoryInfo = (0, node_path_1.join)(persistPath, `AccessoryInfo.${id}.json`);
59
+ const identifierCache = (0, node_path_1.join)(persistPath, `IdentifierCache.${id}.json`);
60
+ if (resetPairingInfo) {
61
+ try {
62
+ const configFile = await this.configEditorService.getConfigFile();
63
+ const username = id.match(/.{1,2}/g).join(':');
64
+ const pluginBlocks = configFile.accessories
65
+ .concat(configFile.platforms)
66
+ .concat([{ _bridge: configFile.bridge }])
67
+ .filter((block) => block._bridge?.username?.toUpperCase() === username.toUpperCase());
68
+ const pluginBlock = pluginBlocks.find((block) => block._bridge?.port);
69
+ const otherBlocks = pluginBlocks.filter((block) => !block._bridge?.port);
70
+ if (pluginBlock) {
71
+ pluginBlock._bridge.username = this.configEditorService.generateUsername();
72
+ pluginBlock._bridge.pin = this.configEditorService.generatePin();
73
+ otherBlocks.forEach((block) => {
74
+ block._bridge.username = pluginBlock._bridge.username;
75
+ });
76
+ this.logger.warn(`Bridge ${id} reset: new username: ${pluginBlock._bridge.username} and new pin: ${pluginBlock._bridge.pin}.`);
77
+ await this.configEditorService.updateConfigFile(configFile);
78
+ }
79
+ else {
80
+ this.logger.error(`Failed to reset username and pin for child bridge ${id} as the plugin block could not be found.`);
81
+ }
82
+ }
83
+ catch (e) {
84
+ this.logger.error(`Failed to reset username and pin for child bridge ${id} as ${e.message}.`);
85
+ }
86
+ }
87
+ if (await (0, fs_extra_1.pathExists)(accessoryInfo)) {
88
+ await (0, fs_extra_1.unlink)(accessoryInfo);
89
+ this.logger.warn(`Bridge ${id} reset: removed ${accessoryInfo}.`);
90
+ }
91
+ if (await (0, fs_extra_1.pathExists)(identifierCache)) {
92
+ await (0, fs_extra_1.unlink)(identifierCache);
93
+ this.logger.warn(`Bridge ${id} reset: removed ${identifierCache}.`);
94
+ }
95
+ await this.deleteDeviceAccessories(id);
96
+ }
46
97
  async restartServer() {
47
- this.logger.log('Homebridge restart request received');
98
+ this.logger.log('Homebridge restart request received.');
48
99
  if (this.configService.serviceMode && !(await this.configService.uiRestartRequired() || await this.nodeVersionChanged())) {
49
- this.logger.log('UI / Bridge settings have not changed; only restarting Homebridge process');
100
+ this.logger.log('UI/Bridge settings have not changed - only restarting Homebridge process.');
50
101
  this.homebridgeIpcService.restartHomebridge();
51
102
  this.accessoriesService.resetInstancePool();
52
103
  return { ok: true, command: 'SIGTERM', restartingUI: false };
53
104
  }
54
105
  setTimeout(() => {
55
106
  if (this.configService.ui.restart) {
56
- this.logger.log(`Executing restart command: ${this.configService.ui.restart}`);
107
+ this.logger.log(`Executing restart command ${this.configService.ui.restart}.`);
57
108
  (0, node_child_process_1.exec)(this.configService.ui.restart, (err) => {
58
109
  if (err) {
59
- this.logger.log('Restart command exited with an error. Failed to restart Homebridge.');
110
+ this.logger.log('Restart command exited with an error, failed to restart Homebridge.');
60
111
  }
61
112
  });
62
113
  }
@@ -72,23 +123,22 @@ let ServerService = class ServerService {
72
123
  const configFile = await this.configEditorService.getConfigFile();
73
124
  configFile.bridge.pin = this.configEditorService.generatePin();
74
125
  configFile.bridge.username = this.configEditorService.generateUsername();
75
- this.logger.warn(`Homebridge Reset: New Username: ${configFile.bridge.username}`);
76
- this.logger.warn(`Homebridge Reset: New Pin: ${configFile.bridge.pin}`);
126
+ this.logger.warn(`Homebridge bridge reset: new username ${configFile.bridge.username} and new pin ${configFile.bridge.pin}.`);
77
127
  await this.configEditorService.updateConfigFile(configFile);
78
128
  await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'accessories'));
79
129
  await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'persist'));
80
- this.logger.log('Homebridge Reset: "persist" directory removed.');
81
- this.logger.log('Homebridge Reset: "accessories" directory removed.');
130
+ this.logger.log('Homebridge bridge reset: accessories and persist directories were removed.');
82
131
  }
83
132
  async getDevicePairings() {
84
133
  const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
85
134
  const devices = (await (0, fs_extra_1.readdir)(persistPath))
86
135
  .filter(x => x.match(/AccessoryInfo\.([A-F,a-f0-9]+)\.json/));
136
+ const configFile = await this.configEditorService.getConfigFile();
87
137
  return Promise.all(devices.map(async (x) => {
88
- return await this.getDevicePairingById(x.split('.')[1]);
138
+ return await this.getDevicePairingById(x.split('.')[1], configFile);
89
139
  }));
90
140
  }
91
- async getDevicePairingById(deviceId) {
141
+ async getDevicePairingById(deviceId, configFile = null) {
92
142
  const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
93
143
  let device;
94
144
  try {
@@ -97,53 +147,87 @@ let ServerService = class ServerService {
97
147
  catch (e) {
98
148
  throw new common_1.NotFoundException();
99
149
  }
150
+ if (!configFile) {
151
+ configFile = await this.configEditorService.getConfigFile();
152
+ }
153
+ const username = deviceId.match(/.{1,2}/g).join(':');
154
+ const isMain = this.configService.homebridgeConfig.bridge.username.toUpperCase() === username.toUpperCase();
155
+ const pluginBlock = configFile.accessories
156
+ .concat(configFile.platforms)
157
+ .concat([{ _bridge: configFile.bridge }])
158
+ .find((block) => block._bridge?.username?.toUpperCase() === username.toUpperCase() && block._bridge?.port);
159
+ try {
160
+ device._category = Object.entries(hap_types_1.Categories).find(([, value]) => value === device.category)[0].toLowerCase();
161
+ }
162
+ catch (e) {
163
+ device._category = 'Other';
164
+ }
165
+ device.name = pluginBlock?._bridge.name || pluginBlock?.name || device.displayName;
100
166
  device._id = deviceId;
101
- device._username = device._id.match(/.{1,2}/g).join(':');
102
- device._main = this.configService.homebridgeConfig.bridge.username.toUpperCase() === device._username.toUpperCase();
167
+ device._username = username;
168
+ device._main = isMain;
103
169
  device._isPaired = device.pairedClients && Object.keys(device.pairedClients).length > 0;
104
170
  device._setupCode = this.generateSetupCode(device);
171
+ device._couldBeStale = !device._main && device._category === 'bridge' && !pluginBlock;
105
172
  delete device.signSk;
106
173
  delete device.signPk;
107
174
  delete device.configHash;
108
175
  delete device.pairedClients;
109
176
  delete device.pairedClientsPermission;
110
- try {
111
- device._category = Object.entries(hap_types_1.Categories).find(([, value]) => value === device.category)[0].toLowerCase();
112
- }
113
- catch (e) {
114
- device._category = 'Other';
115
- }
116
177
  return device;
117
178
  }
118
- async deleteDevicePairing(id) {
119
- if (this.configService.serviceMode) {
120
- this.childBridgesService.stopStartRestartChildBridge('stopChildBridge', id);
121
- await new Promise(res => setTimeout(res, 3000));
179
+ async deleteDevicePairing(id, resetPairingInfo) {
180
+ if (!this.configService.serviceMode) {
181
+ this.logger.error('The reset paired bridge command is only available in service mode.');
182
+ throw new common_1.BadRequestException('This command is only available in service mode.');
122
183
  }
123
- const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
124
- const accessoryInfo = (0, node_path_1.join)(persistPath, `AccessoryInfo.${id}.json`);
125
- const identifierCache = (0, node_path_1.join)(persistPath, `IdentifierCache.${id}.json`);
126
- if (await (0, fs_extra_1.pathExists)(accessoryInfo)) {
127
- await (0, fs_extra_1.unlink)(accessoryInfo);
128
- this.logger.warn(`Removed ${accessoryInfo}`);
184
+ this.logger.warn(`Shutting down Homebridge before resetting paired bridge ${id}...`);
185
+ await this.homebridgeIpcService.restartAndWaitForClose();
186
+ await this.deleteSingleDevicePairing(id, resetPairingInfo);
187
+ return { ok: true };
188
+ }
189
+ async deleteDevicesPairing(bridges) {
190
+ if (!this.configService.serviceMode) {
191
+ this.logger.error('The reset multiple paired bridges command is only available in service mode.');
192
+ throw new common_1.BadRequestException('This command is only available in service mode.');
129
193
  }
130
- if (await (0, fs_extra_1.pathExists)(identifierCache)) {
131
- await (0, fs_extra_1.unlink)(identifierCache);
132
- this.logger.warn(`Removed ${identifierCache}`);
194
+ this.logger.warn(`Shutting down Homebridge before resetting paired bridges ${bridges.map(x => x.id).join(', ')}...`);
195
+ await this.homebridgeIpcService.restartAndWaitForClose();
196
+ for (const { id, resetPairingInfo } of bridges) {
197
+ try {
198
+ await this.deleteSingleDevicePairing(id, resetPairingInfo);
199
+ }
200
+ catch (e) {
201
+ this.logger.error(`Failed to reset paired bridge ${id} as ${e.message}.`);
202
+ }
133
203
  }
134
- await this.deleteDeviceAccessories(id);
204
+ return { ok: true };
135
205
  }
136
206
  async deleteDeviceAccessories(id) {
207
+ if (!this.configService.serviceMode) {
208
+ this.logger.error('The remove bridge\'s accessories command is only available in service mode.');
209
+ throw new common_1.BadRequestException('This command is only available in service mode.');
210
+ }
211
+ this.logger.warn(`Shutting down Homebridge before removing accessories for paired bridge ${id}...`);
212
+ await this.homebridgeIpcService.restartAndWaitForClose();
137
213
  const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
138
- const cachedAccessories = (0, node_path_1.join)(cachedAccessoriesDir, `cachedAccessories.${id}`);
139
- const cachedAccessoriesBackup = (0, node_path_1.join)(cachedAccessoriesDir, `.cachedAccessories.${id}.bak`);
140
- if (await (0, fs_extra_1.pathExists)(cachedAccessories)) {
141
- await (0, fs_extra_1.unlink)(cachedAccessories);
142
- this.logger.warn(`Removed ${cachedAccessories}`);
214
+ await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir);
215
+ }
216
+ async deleteDevicesAccessories(bridges) {
217
+ if (!this.configService.serviceMode) {
218
+ this.logger.error('The remove bridges\' accessories command is only available in service mode.');
219
+ throw new common_1.BadRequestException('This command is only available in service mode.');
143
220
  }
144
- if (await (0, fs_extra_1.pathExists)(cachedAccessoriesBackup)) {
145
- await (0, fs_extra_1.unlink)(cachedAccessoriesBackup);
146
- this.logger.warn(`Removed ${cachedAccessoriesBackup}`);
221
+ this.logger.warn(`Shutting down Homebridge before removing accessories for paired bridges ${bridges.map(x => x.id).join(', ')}...`);
222
+ await this.homebridgeIpcService.restartAndWaitForClose();
223
+ const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
224
+ for (const { id } of bridges) {
225
+ try {
226
+ await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir);
227
+ }
228
+ catch (e) {
229
+ this.logger.error(`Failed to remove accessories for bridge ${id} as ${e.message}.`);
230
+ }
147
231
  }
148
232
  }
149
233
  async getCachedAccessories() {
@@ -161,31 +245,68 @@ let ServerService = class ServerService {
161
245
  return cachedAccessories;
162
246
  }
163
247
  async deleteCachedAccessory(uuid, cacheFile) {
164
- cacheFile = cacheFile || 'cachedAccessories';
165
248
  if (!this.configService.serviceMode) {
166
- this.logger.error('The reset accessories cache command is only available in service mode');
167
- throw new common_1.BadRequestException('This command is only available in service mode');
249
+ this.logger.error('The remove cached accessory command is only available in service mode.');
250
+ throw new common_1.BadRequestException('This command is only available in service mode.');
168
251
  }
252
+ cacheFile = cacheFile || 'cachedAccessories';
169
253
  const cachedAccessoriesPath = (0, node_path_1.resolve)(this.configService.storagePath, 'accessories', cacheFile);
170
- this.logger.warn(`Shutting down Homebridge before removing cached accessory: ${uuid}`);
254
+ this.logger.warn(`Shutting down Homebridge before removing cached accessory ${uuid}...`);
171
255
  await this.homebridgeIpcService.restartAndWaitForClose();
172
256
  const cachedAccessories = await (0, fs_extra_1.readJson)(cachedAccessoriesPath);
173
257
  const accessoryIndex = cachedAccessories.findIndex(x => x.UUID === uuid);
174
258
  if (accessoryIndex > -1) {
175
259
  cachedAccessories.splice(accessoryIndex, 1);
176
260
  await (0, fs_extra_1.writeJson)(cachedAccessoriesPath, cachedAccessories);
177
- this.logger.warn(`Removed cached accessory with UUID: ${uuid}`);
261
+ this.logger.warn(`Removed cached accessory with UUID ${uuid} from file ${cacheFile}.`);
178
262
  }
179
263
  else {
180
- this.logger.error(`Cannot find cached accessory with UUID: ${uuid}`);
264
+ this.logger.error(`Cannot find cached accessory with UUID ${uuid} from file ${cacheFile}.`);
181
265
  throw new common_1.NotFoundException();
182
266
  }
183
267
  return { ok: true };
184
268
  }
185
- async resetCachedAccessories() {
269
+ async deleteCachedAccessories(accessories) {
270
+ if (!this.configService.serviceMode) {
271
+ this.logger.error('The remove cached accessories command is only available in service mode.');
272
+ throw new common_1.BadRequestException('This command is only available in service mode.');
273
+ }
274
+ this.logger.warn(`Shutting down Homebridge before removing cached accessories ${accessories.map(x => x.uuid).join(', ')}.`);
275
+ await this.homebridgeIpcService.restartAndWaitForClose();
276
+ const accessoriesByCacheFile = new Map();
277
+ for (const { cacheFile, uuid } of accessories) {
278
+ const accessoryCacheFile = cacheFile || 'cachedAccessories';
279
+ if (!accessoriesByCacheFile.has(accessoryCacheFile)) {
280
+ accessoriesByCacheFile.set(accessoryCacheFile, []);
281
+ }
282
+ accessoriesByCacheFile.get(accessoryCacheFile).push({ uuid });
283
+ }
284
+ for (const [cacheFile, accessories] of accessoriesByCacheFile.entries()) {
285
+ const cachedAccessoriesPath = (0, node_path_1.resolve)(this.configService.storagePath, 'accessories', cacheFile);
286
+ const cachedAccessories = await (0, fs_extra_1.readJson)(cachedAccessoriesPath);
287
+ for (const { uuid } of accessories) {
288
+ try {
289
+ const accessoryIndex = cachedAccessories.findIndex(x => x.UUID === uuid);
290
+ if (accessoryIndex > -1) {
291
+ cachedAccessories.splice(accessoryIndex, 1);
292
+ this.logger.warn(`Removed cached accessory with UUID ${uuid} from file ${cacheFile}.`);
293
+ }
294
+ else {
295
+ this.logger.error(`Cannot find cached accessory with UUID ${uuid} from file ${cacheFile}.`);
296
+ }
297
+ }
298
+ catch (e) {
299
+ this.logger.error(`Failed to remove cached accessory with UUID ${uuid} from file ${cacheFile} as ${e.message}.`);
300
+ }
301
+ }
302
+ await (0, fs_extra_1.writeJson)(cachedAccessoriesPath, cachedAccessories);
303
+ }
304
+ return { ok: true };
305
+ }
306
+ async deleteAllCachedAccessories() {
186
307
  if (!this.configService.serviceMode) {
187
- this.logger.error('The reset accessories cache command is only available in service mode');
188
- throw new common_1.BadRequestException('This command is only available in service mode');
308
+ this.logger.error('The remove all cached accessories command is only available in service mode.');
309
+ throw new common_1.BadRequestException('This command is only available in service mode.');
189
310
  }
190
311
  const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
191
312
  const cachedAccessoryPaths = (await (0, fs_extra_1.readdir)(cachedAccessoriesDir))
@@ -195,16 +316,16 @@ let ServerService = class ServerService {
195
316
  await this.homebridgeIpcService.restartAndWaitForClose();
196
317
  this.logger.warn('Shutting down Homebridge before removing cached accessories');
197
318
  try {
198
- this.logger.log('Clearing Cached Homebridge Accessories...');
319
+ this.logger.log('Clearing all cached accessories...');
199
320
  for (const thisCachedAccessoriesPath of cachedAccessoryPaths) {
200
321
  if (await (0, fs_extra_1.pathExists)(thisCachedAccessoriesPath)) {
201
322
  await (0, fs_extra_1.unlink)(thisCachedAccessoriesPath);
202
- this.logger.warn(`Removed ${thisCachedAccessoriesPath}`);
323
+ this.logger.warn(`Removed ${thisCachedAccessoriesPath}.`);
203
324
  }
204
325
  }
205
326
  }
206
327
  catch (e) {
207
- this.logger.error(`Failed to clear Homebridge Accessories Cache at ${cachedAccessoriesPath}`);
328
+ this.logger.error(`Failed to clear all cached accessories at ${cachedAccessoriesPath} as ${e.message}.`);
208
329
  console.error(e);
209
330
  throw new common_1.InternalServerErrorException('Failed to clear Homebridge accessory cache - see logs.');
210
331
  }
@@ -224,7 +345,7 @@ let ServerService = class ServerService {
224
345
  }
225
346
  }
226
347
  generateSetupCode(accessoryInfo) {
227
- const buffer = (0, buffer_shims_1.alloc)(8);
348
+ const buffer = node_buffer_1.Buffer.allocUnsafe(8);
228
349
  let valueLow = Number.parseInt(accessoryInfo.pincode.replace(/-/g, ''), 10);
229
350
  const valueHigh = accessoryInfo.category >> 1;
230
351
  valueLow |= 1 << 28;
@@ -316,13 +437,20 @@ let ServerService = class ServerService {
316
437
  const config = await this.configEditorService.getConfigFile();
317
438
  return { port: config.bridge.port };
318
439
  }
440
+ async setHomebridgeName(name) {
441
+ if (!name || !(/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u).test(name)) {
442
+ throw new common_1.BadRequestException('Invalid name');
443
+ }
444
+ const config = await this.configEditorService.getConfigFile();
445
+ config.bridge.name = name;
446
+ await this.configEditorService.updateConfigFile(config);
447
+ }
319
448
  async setHomebridgePort(port) {
320
449
  if (!port || typeof port !== 'number' || !Number.isInteger(port) || port < 1025 || port > 65533) {
321
450
  throw new common_1.BadRequestException('Invalid port number');
322
451
  }
323
452
  const config = await this.configEditorService.getConfigFile();
324
453
  config.bridge.port = port;
325
- console.error('port', port);
326
454
  await this.configEditorService.updateConfigFile(config);
327
455
  }
328
456
  async nodeVersionChanged() {
@@ -347,7 +475,6 @@ exports.ServerService = ServerService = __decorate([
347
475
  __metadata("design:paramtypes", [config_service_1.ConfigService,
348
476
  config_editor_service_1.ConfigEditorService,
349
477
  accessories_service_1.AccessoriesService,
350
- child_bridges_service_1.ChildBridgesService,
351
478
  homebridge_ipc_service_1.HomebridgeIpcService,
352
479
  logger_service_1.Logger])
353
480
  ], ServerService);
@@ -1 +1 @@
1
- {"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,6CAAoC;AACpC,2DAAgD;AAChD,yCAAyC;AACzC,gEAAkC;AAElC,qEAAkE;AAClE,2CAMuB;AACvB,uCAOiB;AACjB,4DAAkC;AAClC,yDAAqD;AACrD,iDAAiD;AAEjD,qEAAkF;AAClF,6FAAuF;AACvF,qEAAyD;AACzD,4EAAuE;AACvE,kFAA4E;AAIrE,IAAM,aAAa,GAAnB,MAAM,aAAa;IASxB,YACmB,aAA4B,EAC5B,mBAAwC,EACxC,kBAAsC,EACtC,oBAA0C,EAC1C,MAAc;QAJd,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,WAAM,GAAN,MAAM,CAAQ;QAbzB,uBAAkB,GAAG,IAAI,oBAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAKpD,cAAS,GAAkB,IAAI,CAAA;QAC/B,WAAM,GAAY,KAAK,CAAA;QAS5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1F,IAAI,CAAC,iBAAiB,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,iBAAiB,IAAI,CAAC,WAAW,OAAO,CAAC,CAAA;IACpH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,EAAU,EAAE,oBAA4B;QAClF,MAAM,iBAAiB,GAAG,IAAA,gBAAI,EAAC,oBAAoB,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,uBAAuB,GAAG,IAAA,gBAAI,EAAC,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAA;QAE1F,IAAI,MAAM,IAAA,qBAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;YACxC,MAAM,IAAA,iBAAM,EAAC,iBAAiB,CAAC,CAAA;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,+BAA+B,iBAAiB,GAAG,CAAC,CAAA;QACnF,CAAC;QAED,IAAI,MAAM,IAAA,qBAAU,EAAC,uBAAuB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAA,iBAAM,EAAC,uBAAuB,CAAC,CAAA;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,+BAA+B,uBAAuB,GAAG,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,EAAU,EAAE,gBAAyB;QAC3E,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACnE,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;QAGvE,IAAI,gBAAgB,EAAE,CAAC;YAErB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;gBACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW;qBACxC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;qBAC5B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;qBACxC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;gBAE5F,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC1E,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAE7E,IAAI,WAAW,EAAE,CAAC;oBAEhB,WAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;oBAC1E,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAA;oBAGhE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;wBACjC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAA;oBACvD,CAAC,CAAC,CAAA;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,WAAW,CAAC,OAAO,CAAC,QAAQ,iBAAiB,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;oBAC9H,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;gBAC7D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,0CAA0C,CAAC,CAAA;gBACtH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;QAED,IAAI,MAAM,IAAA,qBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,IAAA,iBAAM,EAAC,aAAa,CAAC,CAAA;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,aAAa,GAAG,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,MAAM,IAAA,qBAAU,EAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAA,iBAAM,EAAC,eAAe,CAAC,CAAA;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,eAAe,GAAG,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC;IAKM,KAAK,CAAC,aAAa;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QAEvD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACzH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;YAE5F,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,CAAA;YAG7C,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAA;YAC3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QAC9D,CAAC;QAED,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC9E,IAAA,yBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC1C,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAA;oBACxF,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;gBAChD,sBAAO,CAAC,IAAI,CAAC,sBAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YACtC,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAA;QAEP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IACjF,CAAC;IAMM,KAAK,CAAC,wBAAwB;QAEnC,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,IAAI,CAAA;QAEpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAGjE,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAA;QAC9D,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;QAExE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,UAAU,CAAC,MAAM,CAAC,QAAQ,gBAAgB,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;QAG7H,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAG3D,MAAM,IAAA,iBAAM,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;QACpE,MAAM,IAAA,iBAAM,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;QAEhE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAA;IAC/F,CAAC;IAKM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAEnE,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,WAAW,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAA;QAE/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAEjE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACrE,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAOM,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;QACnE,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAEnE,IAAI,MAAW,CAAA;QACf,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,iBAAiB,QAAQ,OAAO,CAAC,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,0BAAiB,EAAE,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC3G,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW;aACvC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;aAC5B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;aACxC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEjH,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/G,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,SAAS,GAAG,OAAO,CAAA;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,IAAI,IAAI,MAAM,CAAC,WAAW,CAAA;QAClF,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAA;QACrB,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC3B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;QACrB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QACvF,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAA;QAGrF,OAAO,MAAM,CAAC,MAAM,CAAA;QACpB,OAAO,MAAM,CAAC,MAAM,CAAA;QACpB,OAAO,MAAM,CAAC,UAAU,CAAA;QACxB,OAAO,MAAM,CAAC,aAAa,CAAA;QAC3B,OAAO,MAAM,CAAC,uBAAuB,CAAA;QAErC,OAAO,MAAM,CAAA;IACf,CAAC;IAKM,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,gBAAyB;QACpE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;YACvF,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAA;QAGpF,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAGxD,MAAM,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAE1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAKM,KAAK,CAAC,oBAAoB,CAAC,OAAoD;QACpF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAA;YACjG,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAGpH,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,KAAK,MAAM,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC;gBAEH,MAAM,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAKM,KAAK,CAAC,uBAAuB,CAAC,EAAU;QAC7C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAA;YAChG,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,EAAE,KAAK,CAAC,CAAA;QAGnG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,MAAM,oBAAoB,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QAEhF,MAAM,IAAI,CAAC,6BAA6B,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAA;IACpE,CAAC;IAKM,KAAK,CAAC,wBAAwB,CAAC,OAAyB;QAC7D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAA;YAChG,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAGnI,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,MAAM,oBAAoB,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QAEhF,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,6BAA6B,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAA;YACpE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IAKM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,oBAAoB,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QAEhF,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,oBAAoB,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,CAAA;QAEzF,MAAM,iBAAiB,GAAG,EAAE,CAAA;QAE5B,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrD,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAA;YACjE,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAA;gBACxB,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAC,CAAC,CAAA;QAEH,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAKM,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,SAAiB;QAChE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;YAC3F,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,SAAS,GAAG,SAAS,IAAI,mBAAmB,CAAA;QAE5C,MAAM,qBAAqB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAE/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,IAAI,KAAK,CAAC,CAAA;QAGxF,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAQ,EAAC,qBAAqB,CAAe,CAAA;QAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAExE,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;YACxB,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;YAC3C,MAAM,IAAA,oBAAS,EAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,cAAc,SAAS,GAAG,CAAC,CAAA;QACxF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,IAAI,cAAc,SAAS,GAAG,CAAC,CAAA;YAC3F,MAAM,IAAI,0BAAiB,EAAE,CAAA;QAC/B,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAKM,KAAK,CAAC,uBAAuB,CAAC,WAAkD;QACrF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAA;YAC7F,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAG3H,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA8B,CAAA;QAGpE,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;YAC9C,MAAM,kBAAkB,GAAG,SAAS,IAAI,mBAAmB,CAAA;YAC3D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpD,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;YACpD,CAAC;YACD,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,CAAC;QAGD,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;YACxE,MAAM,qBAAqB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;YAC/F,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAQ,EAAC,qBAAqB,CAAe,CAAA;YAC7E,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;oBACxE,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;wBACxB,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;wBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,cAAc,SAAS,GAAG,CAAC,CAAA;oBACxF,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,IAAI,cAAc,SAAS,GAAG,CAAC,CAAA;oBAC7F,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,IAAI,cAAc,SAAS,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;gBAClH,CAAC;YACH,CAAC;YACD,MAAM,IAAA,oBAAS,EAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAKM,KAAK,CAAC,0BAA0B;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAA;YACjG,MAAM,IAAI,4BAAmB,CAAC,iDAAiD,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QAChF,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAA,kBAAO,EAAC,oBAAoB,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,KAAK,wBAAwB,CAAC;aACtH,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAO,EAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAA;QAE7C,MAAM,qBAAqB,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAA;QAGzG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAA;QAExD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QAE/E,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;YACrD,KAAK,MAAM,yBAAyB,IAAI,oBAAoB,EAAE,CAAC;gBAC7D,IAAI,MAAM,IAAA,qBAAU,EAAC,yBAAyB,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAA,iBAAM,EAAC,yBAAyB,CAAC,CAAA;oBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,yBAAyB,GAAG,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,qBAAqB,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA;YACxG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChB,MAAM,IAAI,qCAA4B,CAAC,wDAAwD,CAAC,CAAA;QAClG,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAKM,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YACtD,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;IACH,CAAC;IAKO,iBAAiB,CAAC,aAAkB;QAC1C,MAAM,MAAM,GAAG,oBAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACpC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC3E,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAA;QAE7C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnB,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAEjC,IAAI,aAAa,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAElC,IAAI,cAAc,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAE7G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpD,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;YACvC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,CAAA;IAC3D,CAAC;IAKM,KAAK,CAAC,2BAA2B;QACtC,IAAI,CAAC,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,oCAA2B,CAAC,uCAAuC,CAAC,CAAA;QACjF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE5D,OAAO;YACL,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,SAAS,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE;YACpC,QAAQ,EAAE,aAAa,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;SAC7F,CAAA;IACH,CAAC;IAKM,KAAK,CAAC,0BAA0B;QACrC,MAAM,SAAS,GAA8C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAI9G,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,MAAM,IAAA,qCAAiB,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE;YAClF,OAAO,CAAC,OAAO,CAAC,QAAQ;mBACnB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAKM,KAAK,CAAC,8BAA8B;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;QAC3B,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAKM,KAAK,CAAC,wBAAwB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAA;QAC1C,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;SACrC,CAAA;IACH,CAAC;IAKM,KAAK,CAAC,wBAAwB,CAAC,OAAiC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QAE7C,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAKM,KAAK,CAAC,8BAA8B,CAAC,QAAkB;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,GAAG,EAAgC,CAAA;QAClD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAKM,KAAK,CAAC,gBAAgB;QAC3B,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;QAEhF,IAAI,IAAI,GAAG,UAAU,EAAE,CAAA;QACvB,OAAO,MAAM,IAAA,qBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,GAAG,UAAU,EAAE,CAAA;QACrB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAA;IACjB,CAAC;IAKM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACrC,CAAC;IAKM,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAEzC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,4CAA4C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,4BAAmB,CAAC,cAAc,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAEzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAKM,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAEzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAChG,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAA;QAE7D,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAEzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAKO,KAAK,CAAC,kBAAkB;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,MAAM,GAAG,KAAK,CAAA;YAElB,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,sBAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAE7C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,sBAAO,CAAC,OAAO,CAAA;YACrD,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA9pBY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAWuB,8BAAa;QACP,2CAAmB;QACpB,wCAAkB;QAChB,6CAAoB;QAClC,uBAAM;GAdtB,aAAa,CA8pBzB"}
@@ -69,7 +69,7 @@ __decorate([
69
69
  __metadata("design:returntype", void 0)
70
70
  ], StatusController.prototype, "getServerMemoryInfo", null);
71
71
  __decorate([
72
- (0, swagger_1.ApiOperation)({ summary: 'Returns the current transmitted & received bytes per second.' }),
72
+ (0, swagger_1.ApiOperation)({ summary: 'Returns the current transmitted and received bytes per second.' }),
73
73
  (0, common_1.Get)('/network'),
74
74
  __metadata("design:type", Function),
75
75
  __metadata("design:paramtypes", []),
@@ -103,7 +103,7 @@ __decorate([
103
103
  __metadata("design:returntype", Promise)
104
104
  ], StatusController.prototype, "getChildBridges", null);
105
105
  __decorate([
106
- (0, swagger_1.ApiOperation)({ summary: 'Return the current Homebridge version / package information.' }),
106
+ (0, swagger_1.ApiOperation)({ summary: 'Return the current Homebridge version and package information.' }),
107
107
  (0, common_1.Get)('/homebridge-version'),
108
108
  __metadata("design:type", Function),
109
109
  __metadata("design:paramtypes", []),
@@ -124,7 +124,7 @@ __decorate([
124
124
  __metadata("design:returntype", Promise)
125
125
  ], StatusController.prototype, "getNodeJsVersionInfo", null);
126
126
  __decorate([
127
- (0, swagger_1.ApiOperation)({ summary: 'Returns throttled status for Raspberry Pi' }),
127
+ (0, swagger_1.ApiOperation)({ summary: 'Returns throttled status for Raspberry Pi.' }),
128
128
  (0, common_1.Get)('/rpi/throttled'),
129
129
  __metadata("design:type", Function),
130
130
  __metadata("design:paramtypes", []),
@@ -1 +1 @@
1
- {"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../src/modules/status/status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2D;AAC3D,+CAA4C;AAC5C,6CAAsE;AAEtE,kFAA4E;AAC5E,qDAAgD;AAMzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,aAA4B,EAC5B,mBAAwC;QADxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAIJ,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAA;IAC9C,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;IACjD,CAAC;IAID,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAA;IACpD,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;IACjD,CAAC;IAOK,AAAN,KAAK,CAAC,qBAAqB;QACzB,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;SACzD,CAAA;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IACnD,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAA;IAClD,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAA;IACrD,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAA;IAClD,CAAC;IAIK,AAAN,KAAK,CAAC,6BAA6B;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,CAAA;IAC3D,CAAC;CACF,CAAA;AAzEY,4CAAgB;AAQ3B;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC;IACtG,IAAA,YAAG,EAAC,MAAM,CAAC;;;;wDAGX;AAID;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uEAAuE,EAAE,CAAC;IAClG,IAAA,YAAG,EAAC,MAAM,CAAC;;;;2DAGX;AAID;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8DAA8D,EAAE,CAAC;IACzF,IAAA,YAAG,EAAC,UAAU,CAAC;;;;4DAGf;AAID;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;IACrE,IAAA,YAAG,EAAC,SAAS,CAAC;;;;2DAGd;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,uCAAuC;QAChD,WAAW,EAAE,6DAA6D;KAC3E,CAAC;IACD,IAAA,YAAG,EAAC,aAAa,CAAC;;;;6DAKlB;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,+DAA+D;QACxE,WAAW,EAAE,0DAA0D;KACxE,CAAC;IACD,IAAA,YAAG,EAAC,2BAA2B,CAAC;;;;uDAGhC;AAIK;IAFL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8DAA8D,EAAE,CAAC;IACzF,IAAA,YAAG,EAAC,qBAAqB,CAAC;;;;4DAG1B;AAIK;IAFL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;IACnF,IAAA,YAAG,EAAC,qBAAqB,CAAC;;;;+DAG1B;AAIK;IAFL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,qEAAqE,EAAE,CAAC;IAChG,IAAA,YAAG,EAAC,SAAS,CAAC;;;;4DAGd;AAIK;IAFL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACtE,IAAA,YAAG,EAAC,gBAAgB,CAAC;;;;qEAGrB;2BAxEU,gBAAgB;IAJ5B,IAAA,iBAAO,EAAC,eAAe,CAAC;IACxB,IAAA,uBAAa,GAAE;IACf,IAAA,kBAAS,EAAC,IAAA,oBAAS,GAAE,CAAC;IACtB,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAGe,8BAAa;QACP,2CAAmB;GAHhD,gBAAgB,CAyE5B"}
1
+ {"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../src/modules/status/status.controller.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export declare class StatusGateway {
62
62
  getHomebridgeStatus(): Promise<WsException | {
63
63
  status: import("./status.service").HomebridgeStatus;
64
64
  consolePort: number;
65
+ name: string;
65
66
  port: number;
66
67
  pin: string;
67
68
  setupUri: string;
@@ -73,6 +73,7 @@ export declare class StatusService {
73
73
  getHomebridgeStatus(): Promise<{
74
74
  status: HomebridgeStatus;
75
75
  consolePort: number;
76
+ name: string;
76
77
  port: number;
77
78
  pin: string;
78
79
  setupUri: string;
@@ -119,7 +119,7 @@ let StatusService = class StatusService {
119
119
  };
120
120
  }
121
121
  catch (e) {
122
- this.logger.error(`Failed to read temp from ${this.configService.ui.temp} - ${e.message}`);
122
+ this.logger.error(`Failed to read temp from ${this.configService.ui.temp} as ${e.message}.`);
123
123
  return this.getCpuTempAlt();
124
124
  }
125
125
  }
@@ -194,6 +194,7 @@ let StatusService = class StatusService {
194
194
  return {
195
195
  status: this.homebridgeStatus,
196
196
  consolePort: this.configService.ui.port,
197
+ name: this.configService.homebridgeConfig.bridge.name,
197
198
  port: this.configService.homebridgeConfig.bridge.port,
198
199
  pin: this.configService.homebridgeConfig.bridge.pin,
199
200
  setupUri: this.serverService.setupCode,
@@ -289,7 +290,7 @@ let StatusService = class StatusService {
289
290
  return glibcVersion;
290
291
  }
291
292
  catch (e) {
292
- this.logger.debug('Could not check glibc version:', e.message);
293
+ this.logger.debug(`Could not check glibc version as ${e.message}.`);
293
294
  return '';
294
295
  }
295
296
  }
@@ -382,7 +383,7 @@ let StatusService = class StatusService {
382
383
  return versionInformation;
383
384
  }
384
385
  catch (e) {
385
- this.logger.log('Failed to check for Node.js version updates - check your internet connection.');
386
+ this.logger.log(`Failed to check for Node.js version updates (check your internet connection) as ${e.message}.`);
386
387
  const versionInformation = {
387
388
  currentVersion: node_process_1.default.version,
388
389
  latestVersion: node_process_1.default.version,
@@ -412,7 +413,7 @@ let StatusService = class StatusService {
412
413
  }
413
414
  }
414
415
  catch (e) {
415
- this.logger.debug('Could not check vcgencmd get_throttled:', e.message);
416
+ this.logger.debug(`Could not check vcgencmd get_throttled as ${e.message}.`);
416
417
  }
417
418
  return output;
418
419
  }