@fastybird/smart-panel-backend 0.5.0-alpha.1 → 0.5.0-alpha.2

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 (354) hide show
  1. package/dist/app.constants.js.map +1 -1
  2. package/dist/app.module.js +9 -17
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/common/filters/bad-request-exception.filter.js +0 -6
  5. package/dist/common/filters/bad-request-exception.filter.js.map +1 -1
  6. package/dist/common/filters/global-error.filter.js +2 -6
  7. package/dist/common/filters/global-error.filter.js.map +1 -1
  8. package/dist/common/filters/internal-server-error-exception.filter.js +0 -5
  9. package/dist/common/filters/internal-server-error-exception.filter.js.map +1 -1
  10. package/dist/common/filters/not-found-exception.filter.d.ts +4 -0
  11. package/dist/common/filters/not-found-exception.filter.js +22 -3
  12. package/dist/common/filters/not-found-exception.filter.js.map +1 -1
  13. package/dist/common/filters/query-failed-exception.filter.js +0 -5
  14. package/dist/common/filters/query-failed-exception.filter.js.map +1 -1
  15. package/dist/common/filters/unprocessable-entity-exception.filter.js +0 -5
  16. package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
  17. package/dist/common/services/app-instance-holder.service.d.ts +1 -2
  18. package/dist/common/services/app-instance-holder.service.js.map +1 -1
  19. package/dist/common/utils/config.utils.d.ts +0 -1
  20. package/dist/common/utils/config.utils.js +1 -11
  21. package/dist/common/utils/config.utils.js.map +1 -1
  22. package/dist/main.js +19 -5
  23. package/dist/main.js.map +1 -1
  24. package/dist/migrations/1000000000000-InitialSetup.js +8 -0
  25. package/dist/migrations/1000000000000-InitialSetup.js.map +1 -1
  26. package/dist/migrations/1000000000002-AddTokenLastUsedAt.d.ts +6 -0
  27. package/dist/migrations/1000000000002-AddTokenLastUsedAt.js +15 -0
  28. package/dist/migrations/1000000000002-AddTokenLastUsedAt.js.map +1 -0
  29. package/dist/modules/auth/auth.module.js +17 -1
  30. package/dist/modules/auth/auth.module.js.map +1 -1
  31. package/dist/modules/auth/controllers/auth.controller.js +6 -0
  32. package/dist/modules/auth/controllers/auth.controller.js.map +1 -1
  33. package/dist/modules/auth/controllers/tokens.controller.d.ts +10 -3
  34. package/dist/modules/auth/controllers/tokens.controller.js +96 -7
  35. package/dist/modules/auth/controllers/tokens.controller.js.map +1 -1
  36. package/dist/modules/auth/dto/create-personal-token.dto.d.ts +8 -0
  37. package/dist/modules/auth/dto/create-personal-token.dto.js +75 -0
  38. package/dist/modules/auth/dto/create-personal-token.dto.js.map +1 -0
  39. package/dist/modules/auth/dto/register.dto.d.ts +1 -1
  40. package/dist/modules/auth/dto/register.dto.js +13 -11
  41. package/dist/modules/auth/dto/register.dto.js.map +1 -1
  42. package/dist/modules/auth/entities/auth.entity.d.ts +1 -0
  43. package/dist/modules/auth/entities/auth.entity.js +13 -0
  44. package/dist/modules/auth/entities/auth.entity.js.map +1 -1
  45. package/dist/modules/auth/guards/auth.guard.js +7 -17
  46. package/dist/modules/auth/guards/auth.guard.js.map +1 -1
  47. package/dist/modules/auth/services/auth.service.js +1 -1
  48. package/dist/modules/auth/services/auth.service.js.map +1 -1
  49. package/dist/modules/auth/services/tokens.service.d.ts +10 -0
  50. package/dist/modules/auth/services/tokens.service.js +35 -0
  51. package/dist/modules/auth/services/tokens.service.js.map +1 -1
  52. package/dist/modules/buddy/buddy.module.js +2 -1
  53. package/dist/modules/buddy/buddy.module.js.map +1 -1
  54. package/dist/modules/buddy/buddy.utils.d.ts +8 -0
  55. package/dist/modules/buddy/buddy.utils.js +49 -0
  56. package/dist/modules/buddy/buddy.utils.js.map +1 -1
  57. package/dist/modules/buddy/controllers/buddy-suggestions.controller.js +2 -2
  58. package/dist/modules/buddy/controllers/buddy-suggestions.controller.js.map +1 -1
  59. package/dist/modules/buddy/entities/buddy-conversation.entity.js +3 -3
  60. package/dist/modules/buddy/entities/buddy-conversation.entity.js.map +1 -1
  61. package/dist/modules/buddy/entities/buddy-message.entity.js +2 -2
  62. package/dist/modules/buddy/entities/buddy-message.entity.js.map +1 -1
  63. package/dist/modules/buddy/entities/buddy-suggestion.entity.d.ts +19 -0
  64. package/dist/modules/buddy/entities/buddy-suggestion.entity.js +93 -0
  65. package/dist/modules/buddy/entities/buddy-suggestion.entity.js.map +1 -0
  66. package/dist/modules/buddy/platforms/llm-provider.platform.d.ts +6 -0
  67. package/dist/modules/buddy/platforms/openai-sdk.utils.d.ts +2 -1
  68. package/dist/modules/buddy/platforms/openai-sdk.utils.js +12 -1
  69. package/dist/modules/buddy/platforms/openai-sdk.utils.js.map +1 -1
  70. package/dist/modules/buddy/services/buddy-conversation.service.js +23 -8
  71. package/dist/modules/buddy/services/buddy-conversation.service.js.map +1 -1
  72. package/dist/modules/buddy/services/heartbeat.service.js +1 -1
  73. package/dist/modules/buddy/services/heartbeat.service.js.map +1 -1
  74. package/dist/modules/buddy/services/llm-provider.service.js +2 -10
  75. package/dist/modules/buddy/services/llm-provider.service.js.map +1 -1
  76. package/dist/modules/buddy/services/module-reset.service.d.ts +3 -1
  77. package/dist/modules/buddy/services/module-reset.service.js +6 -1
  78. package/dist/modules/buddy/services/module-reset.service.js.map +1 -1
  79. package/dist/modules/buddy/services/pattern-detector.service.d.ts +4 -1
  80. package/dist/modules/buddy/services/pattern-detector.service.js +10 -3
  81. package/dist/modules/buddy/services/pattern-detector.service.js.map +1 -1
  82. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.d.ts +4 -1
  83. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js +10 -4
  84. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js.map +1 -1
  85. package/dist/modules/buddy/services/stt-provider.service.js +2 -10
  86. package/dist/modules/buddy/services/stt-provider.service.js.map +1 -1
  87. package/dist/modules/buddy/services/suggestion-engine.service.d.ts +19 -13
  88. package/dist/modules/buddy/services/suggestion-engine.service.js +170 -103
  89. package/dist/modules/buddy/services/suggestion-engine.service.js.map +1 -1
  90. package/dist/modules/buddy/services/tts-provider.service.js +2 -10
  91. package/dist/modules/buddy/services/tts-provider.service.js.map +1 -1
  92. package/dist/modules/config/services/config.service.js +1 -1
  93. package/dist/modules/config/services/config.service.js.map +1 -1
  94. package/dist/modules/devices/services/devices.service.js.map +1 -1
  95. package/dist/modules/extensions/controllers/actions.controller.d.ts +9 -4
  96. package/dist/modules/extensions/controllers/actions.controller.js +63 -10
  97. package/dist/modules/extensions/controllers/actions.controller.js.map +1 -1
  98. package/dist/modules/extensions/extensions.module.js +3 -1
  99. package/dist/modules/extensions/extensions.module.js.map +1 -1
  100. package/dist/modules/extensions/extensions.openapi.d.ts +3 -3
  101. package/dist/modules/extensions/extensions.openapi.js +2 -0
  102. package/dist/modules/extensions/extensions.openapi.js.map +1 -1
  103. package/dist/modules/extensions/models/action.model.d.ts +13 -0
  104. package/dist/modules/extensions/models/action.model.js +89 -3
  105. package/dist/modules/extensions/models/action.model.js.map +1 -1
  106. package/dist/modules/extensions/models/actions-response.model.d.ts +4 -1
  107. package/dist/modules/extensions/models/actions-response.model.js +19 -1
  108. package/dist/modules/extensions/models/actions-response.model.js.map +1 -1
  109. package/dist/modules/extensions/models/extension.model.js +5 -0
  110. package/dist/modules/extensions/models/extension.model.js.map +1 -1
  111. package/dist/modules/extensions/models/service-status.model.js +7 -0
  112. package/dist/modules/extensions/models/service-status.model.js.map +1 -1
  113. package/dist/modules/extensions/services/action-audit.service.d.ts +21 -0
  114. package/dist/modules/extensions/services/action-audit.service.js +49 -0
  115. package/dist/modules/extensions/services/action-audit.service.js.map +1 -0
  116. package/dist/modules/extensions/services/base-managed-plugin.service.d.ts +11 -0
  117. package/dist/modules/extensions/services/base-managed-plugin.service.js +28 -0
  118. package/dist/modules/extensions/services/base-managed-plugin.service.js.map +1 -0
  119. package/dist/modules/extensions/services/extension-action-registry.service.d.ts +6 -1
  120. package/dist/modules/extensions/services/extension-action-registry.service.js +22 -3
  121. package/dist/modules/extensions/services/extension-action-registry.service.js.map +1 -1
  122. package/dist/modules/extensions/services/extension-action.interface.d.ts +3 -0
  123. package/dist/modules/extensions/services/extension-action.interface.js +3 -1
  124. package/dist/modules/extensions/services/extension-action.interface.js.map +1 -1
  125. package/dist/modules/platform/dto/system-info.dto.d.ts +2 -0
  126. package/dist/modules/platform/dto/system-info.dto.js +7 -0
  127. package/dist/modules/platform/dto/system-info.dto.js.map +1 -1
  128. package/dist/modules/platform/platforms/abstract.platform.d.ts +44 -0
  129. package/dist/modules/platform/platforms/abstract.platform.js +267 -0
  130. package/dist/modules/platform/platforms/abstract.platform.js.map +1 -1
  131. package/dist/modules/platform/platforms/docker.platform.d.ts +2 -0
  132. package/dist/modules/platform/platforms/docker.platform.js +3 -0
  133. package/dist/modules/platform/platforms/docker.platform.js.map +1 -1
  134. package/dist/modules/platform/platforms/generic.platform.d.ts +2 -1
  135. package/dist/modules/platform/platforms/generic.platform.js +17 -15
  136. package/dist/modules/platform/platforms/generic.platform.js.map +1 -1
  137. package/dist/modules/platform/platforms/home-assistant.platform.d.ts +4 -0
  138. package/dist/modules/platform/platforms/home-assistant.platform.js +21 -0
  139. package/dist/modules/platform/platforms/home-assistant.platform.js.map +1 -1
  140. package/dist/modules/platform/platforms/raspberry.platform.js +22 -40
  141. package/dist/modules/platform/platforms/raspberry.platform.js.map +1 -1
  142. package/dist/modules/platform/services/platform.service.d.ts +2 -0
  143. package/dist/modules/platform/services/platform.service.js +7 -0
  144. package/dist/modules/platform/services/platform.service.js.map +1 -1
  145. package/dist/modules/stats/controllers/prometheus.controller.js +0 -2
  146. package/dist/modules/stats/controllers/prometheus.controller.js.map +1 -1
  147. package/dist/modules/storage/models/config.model.js +2 -4
  148. package/dist/modules/storage/models/config.model.js.map +1 -1
  149. package/dist/modules/storage/services/storage.service.d.ts +4 -10
  150. package/dist/modules/storage/services/storage.service.js +21 -60
  151. package/dist/modules/storage/services/storage.service.js.map +1 -1
  152. package/dist/modules/storage/storage.constants.d.ts +2 -0
  153. package/dist/modules/storage/storage.constants.js +3 -1
  154. package/dist/modules/storage/storage.constants.js.map +1 -1
  155. package/dist/modules/storage/storage.module.js +1 -3
  156. package/dist/modules/storage/storage.module.js.map +1 -1
  157. package/dist/modules/swagger/commands/serve-swagger.command.d.ts +14 -0
  158. package/dist/modules/swagger/commands/serve-swagger.command.js +60 -0
  159. package/dist/modules/swagger/commands/serve-swagger.command.js.map +1 -0
  160. package/dist/modules/swagger/swagger.module.js +2 -0
  161. package/dist/modules/swagger/swagger.module.js.map +1 -1
  162. package/dist/modules/system/models/system.model.d.ts +3 -1
  163. package/dist/modules/system/models/system.model.js +26 -0
  164. package/dist/modules/system/models/system.model.js.map +1 -1
  165. package/dist/modules/system/scripts/update-worker.sh +304 -0
  166. package/dist/modules/system/services/system-command.service.d.ts +7 -1
  167. package/dist/modules/system/services/system-command.service.js +24 -4
  168. package/dist/modules/system/services/system-command.service.js.map +1 -1
  169. package/dist/modules/system/services/system.service.js +4 -1
  170. package/dist/modules/system/services/system.service.js.map +1 -1
  171. package/dist/modules/system/services/update-executor.service.d.ts +4 -0
  172. package/dist/modules/system/services/update-executor.service.js +104 -1
  173. package/dist/modules/system/services/update-executor.service.js.map +1 -1
  174. package/dist/modules/system/system.constants.d.ts +7 -0
  175. package/dist/modules/system/system.constants.js +9 -1
  176. package/dist/modules/system/system.constants.js.map +1 -1
  177. package/dist/modules/system/system.module.js +6 -3
  178. package/dist/modules/system/system.module.js.map +1 -1
  179. package/dist/modules/users/controllers/users.controller.js +9 -0
  180. package/dist/modules/users/controllers/users.controller.js.map +1 -1
  181. package/dist/modules/users/dto/create-user.dto.js +1 -0
  182. package/dist/modules/users/dto/create-user.dto.js.map +1 -1
  183. package/dist/modules/users/dto/update-user.dto.d.ts +1 -0
  184. package/dist/modules/users/dto/update-user.dto.js +15 -1
  185. package/dist/modules/users/dto/update-user.dto.js.map +1 -1
  186. package/dist/modules/users/services/users.service.d.ts +1 -0
  187. package/dist/modules/users/services/users.service.js +12 -2
  188. package/dist/modules/users/services/users.service.js.map +1 -1
  189. package/dist/modules/websocket/dto/client-user.dto.js +25 -0
  190. package/dist/modules/websocket/dto/client-user.dto.js.map +1 -1
  191. package/dist/modules/websocket/dto/ws-client.dto.js +26 -0
  192. package/dist/modules/websocket/dto/ws-client.dto.js.map +1 -1
  193. package/dist/modules/websocket/gateway/websocket.gateway.js +7 -2
  194. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  195. package/dist/modules/websocket/services/command-event-registry.service.d.ts +3 -1
  196. package/dist/modules/websocket/services/command-event-registry.service.js +5 -4
  197. package/dist/modules/websocket/services/command-event-registry.service.js.map +1 -1
  198. package/dist/plugins/buddy-openai/platforms/openai.provider.js +1 -0
  199. package/dist/plugins/buddy-openai/platforms/openai.provider.js.map +1 -1
  200. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +2 -0
  201. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
  202. package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js +22 -2
  203. package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js.map +1 -1
  204. package/dist/plugins/devices-home-assistant/models/config.model.d.ts +1 -0
  205. package/dist/plugins/devices-home-assistant/models/config.model.js +12 -0
  206. package/dist/plugins/devices-home-assistant/models/config.model.js.map +1 -1
  207. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.d.ts +3 -1
  208. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js +14 -2
  209. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js.map +1 -1
  210. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.d.ts +10 -0
  211. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js +47 -0
  212. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js.map +1 -0
  213. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.d.ts +3 -1
  214. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js +8 -2
  215. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js.map +1 -1
  216. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.d.ts +5 -1
  217. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js +35 -12
  218. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js.map +1 -1
  219. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +9 -7
  220. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +64 -24
  221. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  222. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +1 -0
  223. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  224. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +4 -0
  225. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +83 -11
  226. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  227. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +6 -0
  228. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +42 -0
  229. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  230. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.d.ts +6 -1
  231. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +42 -2
  232. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
  233. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.d.ts +1 -0
  234. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js +24 -6
  235. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js.map +1 -1
  236. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js +12 -0
  237. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js.map +1 -1
  238. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js +2 -0
  239. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js.map +1 -1
  240. package/dist/plugins/devices-shelly-ng/models/config.model.d.ts +1 -0
  241. package/dist/plugins/devices-shelly-ng/models/config.model.js +18 -6
  242. package/dist/plugins/devices-shelly-ng/models/config.model.js.map +1 -1
  243. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +14 -7
  244. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +91 -14
  245. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  246. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.d.ts +5 -0
  247. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js +3 -0
  248. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js.map +1 -1
  249. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +28 -0
  250. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +197 -0
  251. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -0
  252. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.d.ts +6 -2
  253. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js +68 -20
  254. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js.map +1 -1
  255. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +3 -6
  256. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +7 -20
  257. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
  258. package/dist/plugins/devices-wled/services/wled.service.d.ts +3 -6
  259. package/dist/plugins/devices-wled/services/wled.service.js +3 -20
  260. package/dist/plugins/devices-wled/services/wled.service.js.map +1 -1
  261. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +3 -6
  262. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +3 -20
  263. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
  264. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.d.ts → plugins/influx-v1/dto/update-config.dto.d.ts} +1 -1
  265. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js → plugins/influx-v1/dto/update-config.dto.js} +3 -3
  266. package/dist/plugins/influx-v1/dto/update-config.dto.js.map +1 -0
  267. package/dist/plugins/influx-v1/influx-v1.constants.js.map +1 -0
  268. package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.openapi.d.ts +1 -1
  269. package/dist/plugins/influx-v1/influx-v1.openapi.js +7 -0
  270. package/dist/plugins/influx-v1/influx-v1.openapi.js.map +1 -0
  271. package/dist/plugins/influx-v1/influx-v1.plugin.d.ts +15 -0
  272. package/dist/{modules/storage/plugins/influx-v1/influx-v1.module.js → plugins/influx-v1/influx-v1.plugin.js} +24 -43
  273. package/dist/plugins/influx-v1/influx-v1.plugin.js.map +1 -0
  274. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.d.ts → plugins/influx-v1/models/config.model.d.ts} +1 -1
  275. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.js → plugins/influx-v1/models/config.model.js} +3 -3
  276. package/dist/plugins/influx-v1/models/config.model.js.map +1 -0
  277. package/dist/plugins/influx-v1/services/influx-v1-managed.service.d.ts +20 -0
  278. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js +128 -0
  279. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js.map +1 -0
  280. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.d.ts → plugins/influx-v1/services/influx-v1.storage.d.ts} +3 -3
  281. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.js → plugins/influx-v1/services/influx-v1.storage.js} +9 -9
  282. package/dist/plugins/influx-v1/services/influx-v1.storage.js.map +1 -0
  283. package/dist/plugins/influx-v2/dto/update-config.dto.d.ts +8 -0
  284. package/dist/plugins/influx-v2/dto/update-config.dto.js +82 -0
  285. package/dist/plugins/influx-v2/dto/update-config.dto.js.map +1 -0
  286. package/dist/plugins/influx-v2/influx-v2.constants.d.ts +4 -0
  287. package/dist/plugins/influx-v2/influx-v2.constants.js +8 -0
  288. package/dist/plugins/influx-v2/influx-v2.constants.js.map +1 -0
  289. package/dist/plugins/influx-v2/influx-v2.openapi.d.ts +2 -0
  290. package/dist/plugins/influx-v2/influx-v2.openapi.js +7 -0
  291. package/dist/plugins/influx-v2/influx-v2.openapi.js.map +1 -0
  292. package/dist/plugins/influx-v2/influx-v2.plugin.d.ts +15 -0
  293. package/dist/plugins/influx-v2/influx-v2.plugin.js +76 -0
  294. package/dist/plugins/influx-v2/influx-v2.plugin.js.map +1 -0
  295. package/dist/plugins/influx-v2/models/config.model.d.ts +9 -0
  296. package/dist/plugins/influx-v2/models/config.model.js +93 -0
  297. package/dist/plugins/influx-v2/models/config.model.js.map +1 -0
  298. package/dist/plugins/influx-v2/services/influx-v2-managed.service.d.ts +20 -0
  299. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js +132 -0
  300. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js.map +1 -0
  301. package/dist/plugins/influx-v2/services/influx-v2.storage.d.ts +33 -0
  302. package/dist/plugins/influx-v2/services/influx-v2.storage.js +230 -0
  303. package/dist/plugins/influx-v2/services/influx-v2.storage.js.map +1 -0
  304. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.d.ts → plugins/memory-storage/dto/update-config.dto.d.ts} +1 -1
  305. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.js → plugins/memory-storage/dto/update-config.dto.js} +5 -5
  306. package/dist/plugins/memory-storage/dto/update-config.dto.js.map +1 -0
  307. package/dist/{modules/storage/plugins/memory/memory.constants.js → plugins/memory-storage/memory-storage.constants.js} +1 -1
  308. package/dist/plugins/memory-storage/memory-storage.constants.js.map +1 -0
  309. package/dist/{modules/storage/plugins/memory/memory.openapi.d.ts → plugins/memory-storage/memory-storage.openapi.d.ts} +1 -1
  310. package/dist/plugins/memory-storage/memory-storage.openapi.js +7 -0
  311. package/dist/plugins/memory-storage/memory-storage.openapi.js.map +1 -0
  312. package/dist/plugins/memory-storage/memory-storage.plugin.d.ts +15 -0
  313. package/dist/{modules/storage/plugins/memory/memory.module.js → plugins/memory-storage/memory-storage.plugin.js} +29 -28
  314. package/dist/plugins/memory-storage/memory-storage.plugin.js.map +1 -0
  315. package/dist/{modules/storage/plugins/memory/memory.config.model.d.ts → plugins/memory-storage/models/config.model.d.ts} +1 -1
  316. package/dist/{modules/storage/plugins/memory/memory.config.model.js → plugins/memory-storage/models/config.model.js} +5 -5
  317. package/dist/plugins/memory-storage/models/config.model.js.map +1 -0
  318. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.d.ts +1 -1
  319. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.js +4 -4
  320. package/dist/plugins/memory-storage/services/in-memory-timeseries.store.js.map +1 -0
  321. package/dist/plugins/memory-storage/services/influxql-parser.js.map +1 -0
  322. package/dist/plugins/memory-storage/services/memory-storage-managed.service.d.ts +14 -0
  323. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js +87 -0
  324. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js.map +1 -0
  325. package/dist/{modules/storage/plugins/memory/memory.plugin.d.ts → plugins/memory-storage/services/memory-storage.storage.d.ts} +3 -3
  326. package/dist/{modules/storage/plugins/memory/memory.plugin.js → plugins/memory-storage/services/memory-storage.storage.js} +8 -8
  327. package/dist/plugins/memory-storage/services/memory-storage.storage.js.map +1 -0
  328. package/dist/plugins/simulator/services/simulator-actions.service.js +3 -0
  329. package/dist/plugins/simulator/services/simulator-actions.service.js.map +1 -1
  330. package/dist/tsconfig.build.tsbuildinfo +1 -1
  331. package/package.json +6 -2
  332. package/dist/modules/storage/plugins/influx-v1/influx-v1.config.model.js.map +0 -1
  333. package/dist/modules/storage/plugins/influx-v1/influx-v1.constants.js.map +0 -1
  334. package/dist/modules/storage/plugins/influx-v1/influx-v1.module.d.ts +0 -17
  335. package/dist/modules/storage/plugins/influx-v1/influx-v1.module.js.map +0 -1
  336. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js +0 -7
  337. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js.map +0 -1
  338. package/dist/modules/storage/plugins/influx-v1/influx-v1.plugin.js.map +0 -1
  339. package/dist/modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js.map +0 -1
  340. package/dist/modules/storage/plugins/memory/in-memory-timeseries.store.js.map +0 -1
  341. package/dist/modules/storage/plugins/memory/influxql-parser.js.map +0 -1
  342. package/dist/modules/storage/plugins/memory/memory.config.model.js.map +0 -1
  343. package/dist/modules/storage/plugins/memory/memory.constants.js.map +0 -1
  344. package/dist/modules/storage/plugins/memory/memory.module.d.ts +0 -13
  345. package/dist/modules/storage/plugins/memory/memory.module.js.map +0 -1
  346. package/dist/modules/storage/plugins/memory/memory.openapi.js +0 -7
  347. package/dist/modules/storage/plugins/memory/memory.openapi.js.map +0 -1
  348. package/dist/modules/storage/plugins/memory/memory.plugin.js.map +0 -1
  349. package/dist/modules/storage/plugins/memory/memory.update-config.dto.js.map +0 -1
  350. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.d.ts +0 -0
  351. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.js +0 -0
  352. /package/dist/{modules/storage/plugins/memory/memory.constants.d.ts → plugins/memory-storage/memory-storage.constants.d.ts} +0 -0
  353. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.d.ts +0 -0
  354. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.js +0 -0
@@ -4,6 +4,7 @@ import { DeviceConnectivityService } from '../../../modules/devices/services/dev
4
4
  import { DevicesService } from '../../../modules/devices/services/devices.service';
5
5
  import { MapperService } from '../mappers/mapper.service';
6
6
  import { HomeAssistantDiscoveredDeviceModel, HomeAssistantDiscoveredHelperModel, HomeAssistantStateModel } from '../models/home-assistant.model';
7
+ import { HaSupervisorService } from './ha-supervisor.service';
7
8
  import { VirtualPropertyService } from './virtual-property.service';
8
9
  export declare class HomeAssistantHttpService {
9
10
  private readonly configService;
@@ -12,9 +13,10 @@ export declare class HomeAssistantHttpService {
12
13
  private readonly homeAssistantMapperService;
13
14
  private readonly deviceConnectivityService;
14
15
  private readonly virtualPropertyService;
16
+ private readonly supervisorService;
15
17
  private readonly logger;
16
18
  private pluginConfig;
17
- constructor(configService: ConfigService, devicesService: DevicesService, channelsPropertiesService: ChannelsPropertiesService, homeAssistantMapperService: MapperService, deviceConnectivityService: DeviceConnectivityService, virtualPropertyService: VirtualPropertyService);
19
+ constructor(configService: ConfigService, devicesService: DevicesService, channelsPropertiesService: ChannelsPropertiesService, homeAssistantMapperService: MapperService, deviceConnectivityService: DeviceConnectivityService, virtualPropertyService: VirtualPropertyService, supervisorService: HaSupervisorService);
18
20
  getDiscoveredDevice(id: string): Promise<HomeAssistantDiscoveredDeviceModel>;
19
21
  getDiscoveredDevices(): Promise<HomeAssistantDiscoveredDeviceModel[]>;
20
22
  getDiscoveredHelper(entityId: string): Promise<HomeAssistantDiscoveredHelperModel>;
@@ -32,6 +34,8 @@ export declare class HomeAssistantHttpService {
32
34
  private get apiKey();
33
35
  private get hostname();
34
36
  private get baseUrl();
37
+ private readonly HTTP_TIMEOUT_MS;
38
+ private fetchWithTimeout;
35
39
  private ensureApiKey;
36
40
  private toDiscoveredDeviceModel;
37
41
  private toStateModel;
@@ -32,20 +32,23 @@ const update_channel_property_dto_1 = require("../dto/update-channel-property.dt
32
32
  const devices_home_assistant_entity_1 = require("../entities/devices-home-assistant.entity");
33
33
  const mapper_service_1 = require("../mappers/mapper.service");
34
34
  const home_assistant_model_1 = require("../models/home-assistant.model");
35
+ const ha_supervisor_service_1 = require("./ha-supervisor.service");
35
36
  const virtual_property_service_1 = require("./virtual-property.service");
36
37
  const DISCOVERED_DEVICES_TEMPLATE = "{% set virtual_device_domains = ['climate', 'humidifier', 'water_heater'] %}{% set auxiliary_domains = ['sensor', 'binary_sensor'] %}{% set devices = states | map(attribute='entity_id') | map('device_id') | unique | reject('eq', None) | list %}{% set ns = namespace(list=[]) %}{% for device in devices %}{% set entities = device_entities(device) | list %}{% if entities %}{% set domains = entities | map('regex_replace', '\\\\..*', '') | list %}{% set has_virtual = domains | select('in', virtual_device_domains) | list | length > 0 %}{% set non_aux_domains = domains | reject('in', virtual_device_domains) | reject('in', auxiliary_domains) | list %}{% set is_pure_virtual = has_virtual and non_aux_domains | length == 0 %}{% if not is_pure_virtual %}{% set ns.list = ns.list + [{'id': device, 'name': device_attr(device, 'name'), 'entities': entities}] %}{% endif %}{% endif %}{% endfor %}{{ ns.list | tojson }}";
37
38
  const DISCOVERED_DEVICE_TEMPLATE = "{% set target_device = device_id %}{% set entities = device_entities(target_device) | list %}{% if entities %}{{ [{'id': target_device, 'name': device_attr(target_device, 'name'), 'entities': entities}] | tojson }}{% else %}{{ [] | tojson }}{% endif %}";
38
39
  const DISCOVERED_HELPERS_TEMPLATE = "{% set helper_domains = ['input_boolean', 'input_number', 'input_select', 'input_text', 'input_datetime', 'input_button', 'timer', 'climate', 'sensor', 'binary_sensor', 'switch', 'light', 'fan', 'cover', 'lock', 'humidifier', 'water_heater', 'vacuum'] %}{% set virtual_device_domains = ['climate', 'humidifier', 'water_heater'] %}{% set ns = namespace(list=[]) %}{% for state in states %}{% set domain = state.entity_id.split('.')[0] %}{% if domain in helper_domains %}{% set dev_id = device_id(state.entity_id) %}{% if dev_id is none or dev_id == '' or domain in virtual_device_domains %}{% set ns.list = ns.list + [{'entity_id': state.entity_id, 'name': state.attributes.friendly_name | default(state.entity_id), 'domain': domain}] %}{% endif %}{% endif %}{% endfor %}{{ ns.list | tojson }}";
39
40
  let HomeAssistantHttpService = class HomeAssistantHttpService {
40
- constructor(configService, devicesService, channelsPropertiesService, homeAssistantMapperService, deviceConnectivityService, virtualPropertyService) {
41
+ constructor(configService, devicesService, channelsPropertiesService, homeAssistantMapperService, deviceConnectivityService, virtualPropertyService, supervisorService) {
41
42
  this.configService = configService;
42
43
  this.devicesService = devicesService;
43
44
  this.channelsPropertiesService = channelsPropertiesService;
44
45
  this.homeAssistantMapperService = homeAssistantMapperService;
45
46
  this.deviceConnectivityService = deviceConnectivityService;
46
47
  this.virtualPropertyService = virtualPropertyService;
48
+ this.supervisorService = supervisorService;
47
49
  this.logger = (0, extension_logger_service_1.createExtensionLogger)(devices_home_assistant_constants_1.DEVICES_HOME_ASSISTANT_PLUGIN_NAME, 'HomeAssistantHttpService');
48
50
  this.pluginConfig = null;
51
+ this.HTTP_TIMEOUT_MS = 15_000;
49
52
  }
50
53
  async getDiscoveredDevice(id) {
51
54
  this.ensureApiKey();
@@ -473,14 +476,33 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
473
476
  return this.config.enabled === true;
474
477
  }
475
478
  get apiKey() {
479
+ if (this.supervisorService.isInSupervisorMode()) {
480
+ return this.supervisorService.getSupervisorToken();
481
+ }
476
482
  return this.config.apiKey;
477
483
  }
478
484
  get hostname() {
479
485
  return this.config.hostname;
480
486
  }
481
487
  get baseUrl() {
488
+ if (this.supervisorService.isInSupervisorMode()) {
489
+ return this.supervisorService.getSupervisorApiUrl();
490
+ }
491
+ if (this.hostname.startsWith('http://') || this.hostname.startsWith('https://')) {
492
+ return this.hostname.replace(/\/+$/, '');
493
+ }
482
494
  return `http://${this.hostname}`;
483
495
  }
496
+ async fetchWithTimeout(url, init) {
497
+ const controller = new AbortController();
498
+ const timeoutId = setTimeout(() => controller.abort(), this.HTTP_TIMEOUT_MS);
499
+ try {
500
+ return await fetch(url, { ...init, signal: controller.signal });
501
+ }
502
+ finally {
503
+ clearTimeout(timeoutId);
504
+ }
505
+ }
484
506
  ensureApiKey() {
485
507
  if (this.apiKey === null) {
486
508
  this.logger.warn('Missing API key for Home Assistant HTTP service');
@@ -512,8 +534,8 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
512
534
  }
513
535
  async fetchSingleHaDevice(id) {
514
536
  try {
515
- const url = new URL('/api/template', this.baseUrl);
516
- const response = await fetch(url, {
537
+ const url = new URL(`${this.baseUrl}/api/template`);
538
+ const response = await this.fetchWithTimeout(url, {
517
539
  method: 'POST',
518
540
  headers: {
519
541
  Authorization: `Bearer ${this.apiKey}`,
@@ -555,8 +577,8 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
555
577
  }
556
578
  async fetchListHaDevices() {
557
579
  try {
558
- const url = new URL('/api/template', this.baseUrl);
559
- const response = await fetch(url, {
580
+ const url = new URL(`${this.baseUrl}/api/template`);
581
+ const response = await this.fetchWithTimeout(url, {
560
582
  method: 'POST',
561
583
  headers: {
562
584
  Authorization: `Bearer ${this.apiKey}`,
@@ -592,8 +614,8 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
592
614
  }
593
615
  async fetchSingleHaState(entityId) {
594
616
  try {
595
- const url = new URL(`/api/states/${entityId}`, this.baseUrl);
596
- const response = await fetch(url, {
617
+ const url = new URL(`${this.baseUrl}/api/states/${entityId}`);
618
+ const response = await this.fetchWithTimeout(url, {
597
619
  method: 'GET',
598
620
  headers: {
599
621
  Authorization: `Bearer ${this.apiKey}`,
@@ -626,8 +648,8 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
626
648
  }
627
649
  async fetchListHaStates() {
628
650
  try {
629
- const url = new URL('/api/states', this.baseUrl);
630
- const response = await fetch(url, {
651
+ const url = new URL(`${this.baseUrl}/api/states`);
652
+ const response = await this.fetchWithTimeout(url, {
631
653
  method: 'GET',
632
654
  headers: {
633
655
  Authorization: `Bearer ${this.apiKey}`,
@@ -660,8 +682,8 @@ let HomeAssistantHttpService = class HomeAssistantHttpService {
660
682
  }
661
683
  async fetchListHaHelpers() {
662
684
  try {
663
- const url = new URL('/api/template', this.baseUrl);
664
- const response = await fetch(url, {
685
+ const url = new URL(`${this.baseUrl}/api/template`);
686
+ const response = await this.fetchWithTimeout(url, {
665
687
  method: 'POST',
666
688
  headers: {
667
689
  Authorization: `Bearer ${this.apiKey}`,
@@ -727,6 +749,7 @@ exports.HomeAssistantHttpService = HomeAssistantHttpService = __decorate([
727
749
  channels_properties_service_1.ChannelsPropertiesService,
728
750
  mapper_service_1.MapperService,
729
751
  device_connectivity_service_1.DeviceConnectivityService,
730
- virtual_property_service_1.VirtualPropertyService])
752
+ virtual_property_service_1.VirtualPropertyService,
753
+ ha_supervisor_service_1.HaSupervisorService])
731
754
  ], HomeAssistantHttpService);
732
755
  //# sourceMappingURL=home-assistant.http.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-assistant.http.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/home-assistant.http.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA2C;AAE3C,2CAA4C;AAC5C,yDAAgD;AAChD,+CAAwD;AAExD,8FAAgH;AAChH,2EAAmE;AACnE,+EAA8F;AAC9F,oFAAgF;AAChF,kFAAgH;AAChH,+GAA0G;AAC1G,+GAA0G;AAC1G,uFAAmF;AACnF,0FAI6C;AAC7C,4FAI8C;AAC9C,sGAA+F;AAC/F,sGAA+F;AAC/F,8EAAwE;AACxE,oFAA2F;AAC3F,6FAImD;AACnD,8DAA0D;AAE1D,yEAIwC;AAExC,yEAAoE;AAKpE,MAAM,2BAA2B,GAChC,k5BAAk5B,CAAC;AAEp5B,MAAM,0BAA0B,GAC/B,8PAA8P,CAAC;AAMhQ,MAAM,2BAA2B,GAChC,0xBAA0xB,CAAC;AAGrxB,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAQpC,YACkB,aAA4B,EAC5B,cAA8B,EAC9B,yBAAoD,EACpD,0BAAyC,EACzC,yBAAoD,EACpD,sBAA8C;QAL9C,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,+BAA0B,GAA1B,0BAA0B,CAAe;QACzC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,2BAAsB,GAAtB,sBAAsB,CAAwB;QAb/C,WAAM,GAA2B,IAAA,gDAAqB,EACtE,qEAAkC,EAClC,0BAA0B,CAC1B,CAAC;QAEM,iBAAY,GAAoC,IAAI,CAAC;IAS1D,CAAC;IAEJ,KAAK,CAAC,mBAAmB,CAAC,EAAU;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAEzD,WAAW,CAAC,eAAe;oBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAEtF,WAAW,CAAC,MAAM,GAAG,MAAM;qBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE3C,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBAC5E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,uFAAuF,CACvF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,6DAA6D,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAEzD,WAAW,CAAC,eAAe;wBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAEtF,WAAW,CAAC,MAAM,GAAG,MAAM;yBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;yBAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBAE3C,OAAO,WAAW,CAAC;gBACpB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;gBAC3E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,sFAAsF,CACtF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,4DAA4D,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;YAE5E,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,yEAAqC,CAAC,wCAAwC,QAAQ,YAAY,CAAC,CAAC;gBAC/G,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAGzD,WAAW,CAAC,eAAe;oBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAGrF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACX,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC9C,CAAC;gBAED,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,yEAAqC,EAAE,CAAC;gBAC5D,MAAM,KAAK,CAAC;YACb,CAAC;YAED,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBAC5E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,uFAAuF,CACvF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,6DAA6D,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAGzD,WAAW,CAAC,eAAe;wBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAG7F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,KAAK,EAAE,CAAC;wBACX,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC9C,CAAC;oBAED,OAAO,WAAW,CAAC;gBACpB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;gBAC3E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,sFAAsF,CACtF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,4DAA4D,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBAC9D,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,2EAA2E,CAC3E,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,sDAAsD,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE9C,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBACxE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,mFAAmF,CACnF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,yDAAyD,CAAC,CAAC;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAEhF,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClE,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC;gBACnF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CACrC,SAAS,EACT,8DAA2B,CAC3B;aACD,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACtF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAE3D,OAAO;YACR,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4C,CAAC;YAE/E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC1C,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;YAEnE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,SAAS;gBACV,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAED,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAED,KAAK,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;gBAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,SAAS;gBACV,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAE3F,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;oBAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;wBAC3C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,QAAQ,CAAC,EAAE,EACX,IAAA,4BAAU,EAAC,mEAAqC,EAAE;4BACjD,GAAG,IAAA,mCAAe,EAAC,QAAQ,CAAC;4BAC5B,KAAK;yBACL,CAAC,CACF,CAAC;oBACH,CAAC;gBACF,CAAC;gBAGD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,OAAO,YAAY,0DAA0B;oBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;oBACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAClC,CAAC;gBAEF,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAEzE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CACpC,CAAC,QAAQ,EAAE,EAAE,CACZ,QAAQ,CAAC,QAAQ,KAAK,oCAAgB,CAAC,MAAM;oBAC7C,QAAQ,CAAC,OAAO,YAAY,0DAA0B;oBACtD,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,mCAAe,CAAC,kBAAkB;oBAChE,QAAQ,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;oBAC5D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CACzC,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CACzF,CAAC;oBAEF,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAe,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAe,CAAC,SAAS;qBAC3E,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,eAAe,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,EAC5F,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACvB,CAAC;gBACH,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBACrF,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,QAAQ,sBAAsB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7G,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAG1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC/C,QAAQ,EACR,8DAA2B,CAC3B,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChF,OAAO;YACR,CAAC;YAGD,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3F,OAAO;YACR,CAAC;YAGD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,UAAU,wBAAwB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxG,OAAO;YACR,CAAC;YAGD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3F,OAAO;YACR,CAAC;YAGD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAC9D,SAAS,EACT,8DAA2B,CAC3B,CAAC;YAEF,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,OAAO,YAAY,0DAA0B;gBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;gBACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CACjC,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/F,OAAO;YACR,CAAC;YAGD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAEzF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,QAAQ,CAAC,EAAE,EACX,IAAA,4BAAU,EAAC,mEAAqC,EAAE;wBACjD,GAAG,IAAA,mCAAe,EAAC,QAAQ,CAAC;wBAC5B,KAAK;qBACL,CAAC,CACF,CAAC;gBACH,CAAC;YACF,CAAC;YAGD,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YAGvE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CACzF,CAAC;YAEF,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBACjE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAe,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAe,CAAC,SAAS;aAC3E,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iBAAiB,MAAM,CAAC,IAAI,KAAK,QAAQ,+BAA+B,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,EAClH,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,EAAE,EAAE;gBACxE,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,0BAA0B;QAC/B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,6BAA6B,CAAC,CAAC;YAEzF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,mCAAe,CAAC,YAAY;qBACnC,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;oBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,EAAE,kBAAkB,EAAE;wBACrF,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;gBAC1E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,uBAAuB;QAC5B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,0BAA0B,CAAC,CAAC;YAEtF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,mCAAe,CAAC,SAAS;qBAChC,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;oBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,EAAE,eAAe,EAAE;wBAClF,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACvE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMO,KAAK,CAAC,2BAA2B,CACxC,UAAgD,EAChD,MAA+B;QAG/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgD,CAAC;QAClF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,YAAY,0DAA0B,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACV,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAEtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACrC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAGD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAGjG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACV,CAAC;YAGD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAEnF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACV,CAAC;YAGD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAGlE,MAAM,OAAO,GAA2B;gBACvC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAwB;gBAClE,WAAW,EAAG,KAAK,EAAE,UAAU,EAAE,YAAuB,IAAI,IAAI;gBAChE,KAAK,EAAE,KAAK;oBACX,CAAC,CAAC;wBACA,QAAQ,EAAE,KAAK,CAAC,SAAS;wBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,WAAW,EAAE,KAAK,CAAC,YAAY;wBAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;wBACjC,WAAW,EAAE,KAAK,CAAC,YAAY;qBAC/B;oBACF,CAAC,CAAC,SAAS;gBACZ,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,QAAQ,EAAE,CAAC,CAAC,SAAS;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,WAAW,EAAE,CAAC,CAAC,YAAY;oBAC3B,YAAY,EAAE,CAAC,CAAC,aAAa;oBAC7B,WAAW,EAAE,CAAC,CAAC,YAAY;iBAC3B,CAAC,CAAC;aACH,CAAC;YAGF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE1F,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,SAAS;gBACV,CAAC;gBAGD,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC1C,SAAS;gBACV,CAAC;gBAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAE9F,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,WAAW,CAAC,EAAE,EACd,IAAA,4BAAU,EAAC,mEAAqC,EAAE;wBACjD,GAAG,IAAA,mCAAe,EAAC,WAAW,CAAC;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACrB,CAAC,CACF,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,mCAAmC,WAAW,CAAC,QAAQ,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,QAAQ,EAAE,CACrH,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,+BAA+B;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAY,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CACrD,qEAAkC,CAClC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAY,OAAO;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,IAAY,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAY,QAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAY,OAAO;QAClB,OAAO,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAEpE,MAAM,IAAI,2EAAuC,CAAC,qBAAqB,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,GAAqC;QACpE,OAAO,IAAA,4BAAU,EAChB,yDAAkC,EAClC;YACC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,IAAI;SACrB,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAA0B;QAC9C,OAAO,IAAA,4BAAU,EAChB,8CAAuB,EACvB;YACC,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,WAAW,EAAE,GAAG,CAAC,YAAY;SAC7B,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAC3C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE;wBACV,SAAS,EAAE,EAAE;qBACb;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,2BAA2B;iBACrC,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAChD,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;aACD,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,4BAAU,EAAC,gDAAqB,EAAE,IAAc,EAAE;gBAC/D,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAChD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;aACD,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,4BAAU,EAAC,gDAAqB,EAAE,IAAgB,EAAE;gBAClE,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CACvF,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAChD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,2BAA2B;iBACrC,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,GAAqC;QACpE,OAAO,IAAA,4BAAU,EAChB,yDAAkC,EAClC;YACC,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,IAAI;SACX,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;CACD,CAAA;AAn9BY,4DAAwB;AAmP9B;IADL,IAAA,eAAI,EAAC,yBAAc,CAAC,eAAe,CAAC;;;;0DAkHpC;AAgSD;IADC,IAAA,uBAAO,EAAC,4BAAqB,CAAC,cAAc,CAAC;;;;+EAG7C;mCAtoBW,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAUqB,8BAAa;QACZ,gCAAc;QACH,uDAAyB;QACxB,8BAAa;QACd,uDAAyB;QAC5B,iDAAsB;GAdpD,wBAAwB,CAm9BpC"}
1
+ {"version":3,"file":"home-assistant.http.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/home-assistant.http.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA2C;AAE3C,2CAA4C;AAC5C,yDAAgD;AAChD,+CAAwD;AAExD,8FAAgH;AAChH,2EAAmE;AACnE,+EAA8F;AAC9F,oFAAgF;AAChF,kFAAgH;AAChH,+GAA0G;AAC1G,+GAA0G;AAC1G,uFAAmF;AACnF,0FAI6C;AAC7C,4FAI8C;AAC9C,sGAA+F;AAC/F,sGAA+F;AAC/F,8EAAwE;AACxE,oFAA2F;AAC3F,6FAImD;AACnD,8DAA0D;AAE1D,yEAIwC;AAExC,mEAA8D;AAC9D,yEAAoE;AAKpE,MAAM,2BAA2B,GAChC,k5BAAk5B,CAAC;AAEp5B,MAAM,0BAA0B,GAC/B,8PAA8P,CAAC;AAMhQ,MAAM,2BAA2B,GAChC,0xBAA0xB,CAAC;AAGrxB,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAQpC,YACkB,aAA4B,EAC5B,cAA8B,EAC9B,yBAAoD,EACpD,0BAAyC,EACzC,yBAAoD,EACpD,sBAA8C,EAC9C,iBAAsC;QANtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,+BAA0B,GAA1B,0BAA0B,CAAe;QACzC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,sBAAiB,GAAjB,iBAAiB,CAAqB;QAdvC,WAAM,GAA2B,IAAA,gDAAqB,EACtE,qEAAkC,EAClC,0BAA0B,CAC1B,CAAC;QAEM,iBAAY,GAAoC,IAAI,CAAC;QAyqB5C,oBAAe,GAAG,MAAM,CAAC;IA/pBvC,CAAC;IAEJ,KAAK,CAAC,mBAAmB,CAAC,EAAU;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAEzD,WAAW,CAAC,eAAe;oBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAEtF,WAAW,CAAC,MAAM,GAAG,MAAM;qBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;qBAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE3C,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBAC5E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,uFAAuF,CACvF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,6DAA6D,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAEzD,WAAW,CAAC,eAAe;wBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAEtF,WAAW,CAAC,MAAM,GAAG,MAAM;yBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;yBAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBAE3C,OAAO,WAAW,CAAC;gBACpB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;gBAC3E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,sFAAsF,CACtF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,4DAA4D,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;YAE5E,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,yEAAqC,CAAC,wCAAwC,QAAQ,YAAY,CAAC,CAAC;gBAC/G,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAGzD,WAAW,CAAC,eAAe;oBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAGrF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACX,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC9C,CAAC;gBAED,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,yEAAqC,EAAE,CAAC;gBAC5D,MAAM,KAAK,CAAC;YACb,CAAC;YAED,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBAC5E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,uFAAuF,CACvF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,6DAA6D,CAAC,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;gBAE/G,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAGzD,WAAW,CAAC,eAAe;wBAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAG7F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,KAAK,EAAE,CAAC;wBACX,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC9C,CAAC;oBAED,OAAO,WAAW,CAAC;gBACpB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;gBAC3E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,sFAAsF,CACtF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,4DAA4D,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBAC9D,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,2EAA2E,CAC3E,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,sDAAsD,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE9C,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBACxE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,IAAI,iEAA6B,CACtC,mFAAmF,CACnF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,yEAAqC,CAAC,yDAAyD,CAAC,CAAC;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAEhF,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClE,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC;gBACnF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CACrC,SAAS,EACT,8DAA2B,CAC3B;aACD,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACtF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAE3D,OAAO;YACR,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4C,CAAC;YAE/E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC1C,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;YAEnE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,SAAS;gBACV,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAED,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAED,KAAK,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;gBAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,SAAS;gBACV,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAE3F,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;oBAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;wBAC3C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,QAAQ,CAAC,EAAE,EACX,IAAA,4BAAU,EAAC,mEAAqC,EAAE;4BACjD,GAAG,IAAA,mCAAe,EAAC,QAAQ,CAAC;4BAC5B,KAAK;yBACL,CAAC,CACF,CAAC;oBACH,CAAC;gBACF,CAAC;gBAGD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,OAAO,YAAY,0DAA0B;oBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;oBACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAClC,CAAC;gBAEF,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAEzE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CACpC,CAAC,QAAQ,EAAE,EAAE,CACZ,QAAQ,CAAC,QAAQ,KAAK,oCAAgB,CAAC,MAAM;oBAC7C,QAAQ,CAAC,OAAO,YAAY,0DAA0B;oBACtD,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,mCAAe,CAAC,kBAAkB;oBAChE,QAAQ,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;oBAC5D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CACzC,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CACzF,CAAC;oBAEF,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAe,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAe,CAAC,SAAS;qBAC3E,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,eAAe,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,EAC5F,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACvB,CAAC;gBACH,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBACrF,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,QAAQ,sBAAsB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7G,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAG1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC/C,QAAQ,EACR,8DAA2B,CAC3B,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChF,OAAO;YACR,CAAC;YAGD,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3F,OAAO;YACR,CAAC;YAGD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,UAAU,wBAAwB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxG,OAAO;YACR,CAAC;YAGD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3F,OAAO;YACR,CAAC;YAGD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAC9D,SAAS,EACT,8DAA2B,CAC3B,CAAC;YAEF,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,OAAO,YAAY,0DAA0B;gBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,YAAY,yDAAyB;gBACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CACjC,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/F,OAAO;YACR,CAAC;YAGD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAEzF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBAClC,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,QAAQ,CAAC,EAAE,EACX,IAAA,4BAAU,EAAC,mEAAqC,EAAE;wBACjD,GAAG,IAAA,mCAAe,EAAC,QAAQ,CAAC;wBAC5B,KAAK;qBACL,CAAC,CACF,CAAC;gBACH,CAAC;YACF,CAAC;YAGD,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YAGvE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CACzF,CAAC;YAEF,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBACjE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAe,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAe,CAAC,SAAS;aAC3E,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iBAAiB,MAAM,CAAC,IAAI,KAAK,QAAQ,+BAA+B,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,EAClH,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,EAAE,EAAE;gBACxE,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,0BAA0B;QAC/B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,6BAA6B,CAAC,CAAC;YAEzF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,mCAAe,CAAC,YAAY;qBACnC,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;oBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,EAAE,kBAAkB,EAAE;wBACrF,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;gBAC1E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,uBAAuB;QAC5B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAA4B,8DAA2B,CAAC,CAAC;YAE1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,0BAA0B,CAAC,CAAC;YAEtF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;wBAClE,KAAK,EAAE,mCAAe,CAAC,SAAS;qBAChC,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;oBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,EAAE,eAAe,EAAE;wBAClF,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACvE,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAMO,KAAK,CAAC,2BAA2B,CACxC,UAAgD,EAChD,MAA+B;QAG/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgD,CAAC;QAClF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;QAEtE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,YAAY,0DAA0B,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACV,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAEtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACrC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAGD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAGjG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACV,CAAC;YAGD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAEnF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACV,CAAC;YAGD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAGlE,MAAM,OAAO,GAA2B;gBACvC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAwB;gBAClE,WAAW,EAAG,KAAK,EAAE,UAAU,EAAE,YAAuB,IAAI,IAAI;gBAChE,KAAK,EAAE,KAAK;oBACX,CAAC,CAAC;wBACA,QAAQ,EAAE,KAAK,CAAC,SAAS;wBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,WAAW,EAAE,KAAK,CAAC,YAAY;wBAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;wBACjC,WAAW,EAAE,KAAK,CAAC,YAAY;qBAC/B;oBACF,CAAC,CAAC,SAAS;gBACZ,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,QAAQ,EAAE,CAAC,CAAC,SAAS;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,WAAW,EAAE,CAAC,CAAC,YAAY;oBAC3B,YAAY,EAAE,CAAC,CAAC,aAAa;oBAC7B,WAAW,EAAE,CAAC,CAAC,YAAY;iBAC3B,CAAC,CAAC;aACH,CAAC;YAGF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE1F,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,SAAS;gBACV,CAAC;gBAGD,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC1C,SAAS;gBACV,CAAC;gBAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAE9F,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAC1C,WAAW,CAAC,EAAE,EACd,IAAA,4BAAU,EAAC,mEAAqC,EAAE;wBACjD,GAAG,IAAA,mCAAe,EAAC,WAAW,CAAC;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACrB,CAAC,CACF,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,mCAAmC,WAAW,CAAC,QAAQ,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,QAAQ,EAAE,CACrH,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAGD,+BAA+B;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAY,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CACrD,qEAAkC,CAClC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAY,OAAO;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,IAAY,MAAM;QACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAY,QAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAY,OAAO;QAClB,IAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAQO,KAAK,CAAC,gBAAgB,CAAC,GAAiB,EAAE,IAAkB;QACnE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7E,IAAI,CAAC;YACJ,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAEpE,MAAM,IAAI,2EAAuC,CAAC,qBAAqB,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,GAAqC;QACpE,OAAO,IAAA,4BAAU,EAChB,yDAAkC,EAClC;YACC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,IAAI;SACrB,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAA0B;QAC9C,OAAO,IAAA,4BAAU,EAChB,8CAAuB,EACvB;YACC,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,WAAW,EAAE,GAAG,CAAC,YAAY;SAC7B,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAC3C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE;wBACV,SAAS,EAAE,EAAE;qBACb;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,2BAA2B;iBACrC,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAChD,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,QAAQ,EAAE,CAAC,CAAC;YAE9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACjD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;aACD,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,4BAAU,EAAC,gDAAqB,EAAE,IAAc,EAAE;gBAC/D,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAChD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACjD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;aACD,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,4BAAU,EAAC,gDAAqB,EAAE,IAAgB,EAAE;gBAClE,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CACvF,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEtG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAChD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,QAAQ,EAAE,2BAA2B;iBACrC,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,uEAAgC,EAAE,IAAgB,EAAE;gBAC9E,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvG,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBACjD,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,GAAqC;QACpE,OAAO,IAAA,4BAAU,EAChB,yDAAkC,EAClC;YACC,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,eAAe,EAAE,IAAI;YACrB,KAAK,EAAE,IAAI;SACX,EACD;YACC,uBAAuB,EAAE,KAAK;SAC9B,CACD,CAAC;IACH,CAAC;CACD,CAAA;AAj/BY,4DAAwB;AAoP9B;IADL,IAAA,eAAI,EAAC,yBAAc,CAAC,eAAe,CAAC;;;;0DAkHpC;AAgSD;IADC,IAAA,uBAAO,EAAC,4BAAqB,CAAC,cAAc,CAAC;;;;+EAG7C;mCAvoBW,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAUqB,8BAAa;QACZ,gCAAc;QACH,uDAAyB;QACxB,8BAAa;QACd,uDAAyB;QAC5B,iDAAsB;QAC3B,2CAAmB;GAf5C,wBAAwB,CAi/BpC"}
@@ -1,35 +1,36 @@
1
1
  import { ConfigService } from '../../../modules/config/services/config.service';
2
- import { ConfigChangeResult, IManagedPluginService, ServiceState } from '../../../modules/extensions/services/managed-plugin-service.interface';
2
+ import { BaseManagedPluginService } from '../../../modules/extensions/services/base-managed-plugin.service';
3
+ import { ConfigChangeResult } from '../../../modules/extensions/services/managed-plugin-service.interface';
3
4
  import { HomeAssistantStateChangedEventDto } from '../dto/home-assistant-state.dto';
4
5
  import { HomeAssistantDeviceRegistryResultModel, HomeAssistantEntityRegistryResultModel } from '../models/home-assistant.model';
6
+ import { HaSupervisorService } from './ha-supervisor.service';
5
7
  import { HomeAssistantHttpService } from './home-assistant.http.service';
6
8
  export interface WsEventService {
7
9
  get event(): string;
8
10
  handle(event: HomeAssistantStateChangedEventDto): Promise<void>;
9
11
  }
10
- export declare class HomeAssistantWsService implements IManagedPluginService {
12
+ export declare class HomeAssistantWsService extends BaseManagedPluginService {
11
13
  private readonly configService;
12
14
  private readonly homeAssistantHttpService;
15
+ private readonly supervisorService;
13
16
  private readonly logger;
14
17
  readonly pluginName = "devices-home-assistant-plugin";
15
18
  readonly serviceId = "connector";
16
19
  private readonly RESPONSE_TIMEOUT_MS;
17
20
  private ws;
18
21
  private pluginConfig;
19
- private state;
20
22
  private nextId;
21
23
  private retryCount;
22
24
  private reconnectTimeout;
25
+ private pingInterval;
23
26
  private eventsHandlers;
24
27
  private responses;
25
28
  private connectionResolver;
26
29
  private intentionalDisconnect;
27
- private startStopLock;
28
- constructor(configService: ConfigService, homeAssistantHttpService: HomeAssistantHttpService);
30
+ constructor(configService: ConfigService, homeAssistantHttpService: HomeAssistantHttpService, supervisorService: HaSupervisorService);
29
31
  registerEventsHandler(event: string, handler: WsEventService): void;
30
32
  start(): Promise<void>;
31
33
  stop(): Promise<void>;
32
- getState(): ServiceState;
33
34
  onConfigChanged(): Promise<ConfigChangeResult>;
34
35
  private connectAndAuthenticate;
35
36
  private connect;
@@ -45,6 +46,7 @@ export declare class HomeAssistantWsService implements IManagedPluginService {
45
46
  private scheduleReconnect;
46
47
  private handleMessage;
47
48
  private subscribeToStates;
48
- private withLock;
49
+ private startPing;
50
+ private stopPing;
49
51
  private waitUntil;
50
52
  }
@@ -19,30 +19,33 @@ const common_1 = require("@nestjs/common");
19
19
  const logger_1 = require("../../../common/logger");
20
20
  const transform_utils_1 = require("../../../common/utils/transform.utils");
21
21
  const config_service_1 = require("../../../modules/config/services/config.service");
22
+ const base_managed_plugin_service_1 = require("../../../modules/extensions/services/base-managed-plugin.service");
22
23
  const devices_home_assistant_constants_1 = require("../devices-home-assistant.constants");
23
24
  const devices_home_assistant_exceptions_1 = require("../devices-home-assistant.exceptions");
24
25
  const home_assistant_state_dto_1 = require("../dto/home-assistant-state.dto");
25
26
  const home_assistant_model_1 = require("../models/home-assistant.model");
27
+ const ha_supervisor_service_1 = require("./ha-supervisor.service");
26
28
  const home_assistant_http_service_1 = require("./home-assistant.http.service");
27
- let HomeAssistantWsService = class HomeAssistantWsService {
28
- constructor(configService, homeAssistantHttpService) {
29
+ let HomeAssistantWsService = class HomeAssistantWsService extends base_managed_plugin_service_1.BaseManagedPluginService {
30
+ constructor(configService, homeAssistantHttpService, supervisorService) {
31
+ super();
29
32
  this.configService = configService;
30
33
  this.homeAssistantHttpService = homeAssistantHttpService;
34
+ this.supervisorService = supervisorService;
31
35
  this.logger = (0, logger_1.createExtensionLogger)(devices_home_assistant_constants_1.DEVICES_HOME_ASSISTANT_PLUGIN_NAME, 'WsService');
32
36
  this.pluginName = devices_home_assistant_constants_1.DEVICES_HOME_ASSISTANT_PLUGIN_NAME;
33
37
  this.serviceId = 'connector';
34
38
  this.RESPONSE_TIMEOUT_MS = 10000;
35
39
  this.ws = null;
36
40
  this.pluginConfig = null;
37
- this.state = 'stopped';
38
41
  this.nextId = 1;
39
42
  this.retryCount = 0;
40
43
  this.reconnectTimeout = null;
44
+ this.pingInterval = null;
41
45
  this.eventsHandlers = new Map();
42
46
  this.responses = new Map();
43
47
  this.connectionResolver = null;
44
48
  this.intentionalDisconnect = false;
45
- this.startStopLock = Promise.resolve();
46
49
  }
47
50
  registerEventsHandler(event, handler) {
48
51
  if (this.eventsHandlers.has(event)) {
@@ -114,9 +117,6 @@ let HomeAssistantWsService = class HomeAssistantWsService {
114
117
  this.state = 'stopped';
115
118
  });
116
119
  }
117
- getState() {
118
- return this.state;
119
- }
120
120
  onConfigChanged() {
121
121
  if (this.state === 'started' && this.pluginConfig) {
122
122
  const oldConfig = this.pluginConfig;
@@ -157,8 +157,12 @@ let HomeAssistantWsService = class HomeAssistantWsService {
157
157
  }
158
158
  connect() {
159
159
  this.intentionalDisconnect = false;
160
- const url = new URL('/api/websocket', this.baseUrl);
161
- this.ws = new ws_1.default(url);
160
+ const wsPath = this.supervisorService.isInSupervisorMode() ? '/websocket' : '/api/websocket';
161
+ const url = new URL(`${this.baseUrl}${wsPath}`);
162
+ const options = this.supervisorService.isInSupervisorMode()
163
+ ? { headers: { Authorization: `Bearer ${this.apiKey}` } }
164
+ : {};
165
+ this.ws = new ws_1.default(url, options);
162
166
  this.ws.on('open', () => {
163
167
  this.logger.log('WebSocket connection to Home Assistant instance opened');
164
168
  this.retryCount = 0;
@@ -169,6 +173,7 @@ let HomeAssistantWsService = class HomeAssistantWsService {
169
173
  })();
170
174
  });
171
175
  this.ws.on('close', () => {
176
+ this.stopPing();
172
177
  if (this.connectionResolver) {
173
178
  this.connectionResolver.reject(new Error('WebSocket connection closed before authentication completed'));
174
179
  }
@@ -191,10 +196,16 @@ let HomeAssistantWsService = class HomeAssistantWsService {
191
196
  }
192
197
  disconnect() {
193
198
  this.intentionalDisconnect = true;
199
+ this.stopPing();
194
200
  if (this.connectionResolver) {
195
201
  this.connectionResolver.reject(new Error('Connection aborted - service is being stopped'));
196
202
  this.connectionResolver = null;
197
203
  }
204
+ for (const [, { timeout, reject }] of this.responses) {
205
+ clearTimeout(timeout);
206
+ reject(new Error('Connection closed'));
207
+ }
208
+ this.responses.clear();
198
209
  this.ws?.close();
199
210
  this.ws = null;
200
211
  }
@@ -285,12 +296,24 @@ let HomeAssistantWsService = class HomeAssistantWsService {
285
296
  return this.pluginConfig;
286
297
  }
287
298
  get apiKey() {
299
+ if (this.supervisorService.isInSupervisorMode()) {
300
+ return this.supervisorService.getSupervisorToken();
301
+ }
288
302
  return this.config.apiKey;
289
303
  }
290
304
  get hostname() {
291
305
  return this.config.hostname;
292
306
  }
293
307
  get baseUrl() {
308
+ if (this.supervisorService.isInSupervisorMode()) {
309
+ return this.supervisorService.getSupervisorWsUrl();
310
+ }
311
+ if (this.hostname.startsWith('http://')) {
312
+ return this.hostname.replace(/\/+$/, '').replace(/^http:\/\//, 'ws://');
313
+ }
314
+ if (this.hostname.startsWith('https://')) {
315
+ return this.hostname.replace(/\/+$/, '').replace(/^https:\/\//, 'wss://');
316
+ }
294
317
  return `ws://${this.hostname}`;
295
318
  }
296
319
  scheduleReconnect() {
@@ -299,12 +322,23 @@ let HomeAssistantWsService = class HomeAssistantWsService {
299
322
  if (!this.reconnectTimeout) {
300
323
  this.reconnectTimeout = setTimeout(() => {
301
324
  this.reconnectTimeout = null;
302
- this.connect();
325
+ if (this.state === 'started' && !this.intentionalDisconnect) {
326
+ this.connect();
327
+ }
303
328
  }, delay);
304
329
  }
305
330
  }
306
331
  async handleMessage(data) {
307
- const msg = JSON.parse(data);
332
+ let msg;
333
+ try {
334
+ msg = JSON.parse(data);
335
+ }
336
+ catch (error) {
337
+ this.logger.error('Failed to parse WebSocket message', {
338
+ message: error instanceof Error ? error.message : String(error),
339
+ });
340
+ return;
341
+ }
308
342
  if ('id' in msg && msg.id && typeof msg.id === 'number' && this.responses.has(msg.id)) {
309
343
  const { resolve } = this.responses.get(msg.id);
310
344
  this.responses.delete(msg.id);
@@ -324,6 +358,7 @@ let HomeAssistantWsService = class HomeAssistantWsService {
324
358
  this.connectionResolver.resolve();
325
359
  }
326
360
  this.subscribeToStates();
361
+ this.startPing();
327
362
  this.homeAssistantHttpService.markAllDevicesConnected().catch((err) => {
328
363
  this.logger.warn(`Failed to mark devices as connected: ${err?.message ?? 'unknown error'}`);
329
364
  });
@@ -361,18 +396,22 @@ let HomeAssistantWsService = class HomeAssistantWsService {
361
396
  event_type: 'state_changed',
362
397
  }));
363
398
  }
364
- async withLock(fn) {
365
- const previousLock = this.startStopLock;
366
- let releaseLock = () => { };
367
- this.startStopLock = new Promise((resolve) => {
368
- releaseLock = resolve;
369
- });
370
- try {
371
- await previousLock;
372
- return await fn();
373
- }
374
- finally {
375
- releaseLock();
399
+ startPing() {
400
+ this.stopPing();
401
+ this.pingInterval = setInterval(() => {
402
+ if (!this.isConnected()) {
403
+ return;
404
+ }
405
+ this.send({ type: 'ping' }).catch(() => {
406
+ this.logger.warn('HA WebSocket ping timed out, connection may be dead');
407
+ this.ws?.terminate();
408
+ });
409
+ }, 30_000);
410
+ }
411
+ stopPing() {
412
+ if (this.pingInterval) {
413
+ clearInterval(this.pingInterval);
414
+ this.pingInterval = null;
376
415
  }
377
416
  }
378
417
  async waitUntil(...states) {
@@ -392,6 +431,7 @@ exports.HomeAssistantWsService = HomeAssistantWsService;
392
431
  exports.HomeAssistantWsService = HomeAssistantWsService = __decorate([
393
432
  (0, common_1.Injectable)(),
394
433
  __metadata("design:paramtypes", [config_service_1.ConfigService,
395
- home_assistant_http_service_1.HomeAssistantHttpService])
434
+ home_assistant_http_service_1.HomeAssistantHttpService,
435
+ ha_supervisor_service_1.HaSupervisorService])
396
436
  ], HomeAssistantWsService);
397
437
  //# sourceMappingURL=home-assistant.ws.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-assistant.ws.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/home-assistant.ws.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"home-assistant.ws.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/home-assistant.ws.service.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,7 @@ let StateChangedEventService = class StateChangedEventService {
68
68
  return;
69
69
  }
70
70
  this.debounceTimers.set(entityId, setTimeout(() => {
71
+ this.debounceTimers.delete(entityId);
71
72
  void (async () => {
72
73
  this.logger.debug(`[STATE CHANGED] Processing state for ${entityId}, ` +
73
74
  `state=${event.data.new_state.state}, ` +