@mxtommy/kip 3.10.0 → 3.10.3

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 (486) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +39 -59
  3. package/dist/out-tsc/kip-plugin/src/index.js +223 -0
  4. package/dist/out-tsc/kip-plugin/src/index.js.map +1 -0
  5. package/dist/out-tsc/kip-plugin/src/openApi.json +367 -0
  6. package/dist/out-tsc/package.json +118 -0
  7. package/dist/out-tsc/schematics/widget/index.js +70 -0
  8. package/dist/out-tsc/schematics/widget/index.js.map +1 -0
  9. package/dist/out-tsc/src/app/app.component.js +286 -0
  10. package/dist/out-tsc/src/app/app.component.js.map +1 -0
  11. package/dist/out-tsc/src/app/app.component.spec.js +26 -0
  12. package/dist/out-tsc/src/app/app.component.spec.js.map +1 -0
  13. package/dist/out-tsc/src/app/app.routes.js +35 -0
  14. package/dist/out-tsc/src/app/app.routes.js.map +1 -0
  15. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js +60 -0
  16. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js.map +1 -0
  17. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js +150 -0
  18. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js.map +1 -0
  19. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js +361 -0
  20. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js.map +1 -0
  21. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js +19 -0
  22. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js.map +1 -0
  23. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js +33 -0
  24. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js.map +1 -0
  25. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js +19 -0
  26. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js.map +1 -0
  27. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js +183 -0
  28. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js.map +1 -0
  29. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js +19 -0
  30. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js.map +1 -0
  31. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js +28 -0
  32. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js.map +1 -0
  33. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js +19 -0
  34. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js.map +1 -0
  35. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js +130 -0
  36. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js.map +1 -0
  37. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js +21 -0
  38. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js.map +1 -0
  39. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js +82 -0
  40. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js.map +1 -0
  41. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js +168 -0
  42. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js.map +1 -0
  43. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js +21 -0
  44. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js.map +1 -0
  45. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js +24 -0
  46. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js.map +1 -0
  47. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js +19 -0
  48. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js.map +1 -0
  49. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js +45 -0
  50. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js.map +1 -0
  51. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js +19 -0
  52. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js.map +1 -0
  53. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js +25 -0
  54. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js.map +1 -0
  55. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js +19 -0
  56. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js.map +1 -0
  57. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js +31 -0
  58. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js.map +1 -0
  59. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js +19 -0
  60. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js.map +1 -0
  61. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js +100 -0
  62. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js.map +1 -0
  63. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js +19 -0
  64. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js.map +1 -0
  65. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js +60 -0
  66. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js.map +1 -0
  67. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js +21 -0
  68. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js.map +1 -0
  69. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js +32 -0
  70. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js.map +1 -0
  71. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js +21 -0
  72. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js.map +1 -0
  73. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js +51 -0
  74. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js.map +1 -0
  75. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js +19 -0
  76. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js.map +1 -0
  77. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js +228 -0
  78. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js.map +1 -0
  79. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js +21 -0
  80. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js.map +1 -0
  81. package/dist/out-tsc/src/app/core/components/options/display/display.component.js +142 -0
  82. package/dist/out-tsc/src/app/core/components/options/display/display.component.js.map +1 -0
  83. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js +21 -0
  84. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js.map +1 -0
  85. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js +66 -0
  86. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js.map +1 -0
  87. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js +21 -0
  88. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js.map +1 -0
  89. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js +255 -0
  90. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js.map +1 -0
  91. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js +21 -0
  92. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js.map +1 -0
  93. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js +44 -0
  94. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js.map +1 -0
  95. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js +21 -0
  96. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js.map +1 -0
  97. package/dist/out-tsc/src/app/core/components/options/units/units.component.js +55 -0
  98. package/dist/out-tsc/src/app/core/components/options/units/units.component.js.map +1 -0
  99. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js +21 -0
  100. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js.map +1 -0
  101. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js +31 -0
  102. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js.map +1 -0
  103. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js +19 -0
  104. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js.map +1 -0
  105. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js +63 -0
  106. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js.map +1 -0
  107. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js +19 -0
  108. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js.map +1 -0
  109. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js +75 -0
  110. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js.map +1 -0
  111. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js +19 -0
  112. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js.map +1 -0
  113. package/dist/out-tsc/src/app/core/components/settings/settings.component.js +56 -0
  114. package/dist/out-tsc/src/app/core/components/settings/settings.component.js.map +1 -0
  115. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js +19 -0
  116. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js.map +1 -0
  117. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js +28 -0
  118. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js.map +1 -0
  119. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js +19 -0
  120. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js.map +1 -0
  121. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js +336 -0
  122. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js.map +1 -0
  123. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js +19 -0
  124. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js.map +1 -0
  125. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js +2 -0
  126. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js.map +1 -0
  127. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js +77 -0
  128. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js.map +1 -0
  129. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js +19 -0
  130. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js.map +1 -0
  131. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js +29 -0
  132. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js.map +1 -0
  133. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js +19 -0
  134. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js.map +1 -0
  135. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js +34 -0
  136. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js.map +1 -0
  137. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js +19 -0
  138. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js.map +1 -0
  139. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js +70 -0
  140. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js.map +1 -0
  141. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js +19 -0
  142. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js.map +1 -0
  143. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js +61 -0
  144. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js.map +1 -0
  145. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js +19 -0
  146. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js.map +1 -0
  147. package/dist/out-tsc/src/app/core/directives/gesture.directive.js +457 -0
  148. package/dist/out-tsc/src/app/core/directives/gesture.directive.js.map +1 -0
  149. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js +43 -0
  150. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js.map +1 -0
  151. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js +7 -0
  152. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js.map +1 -0
  153. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js +8 -0
  154. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js.map +1 -0
  155. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js +2 -0
  156. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js.map +1 -0
  157. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js +2 -0
  158. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js.map +1 -0
  159. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js +11 -0
  160. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js.map +1 -0
  161. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js +45 -0
  162. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js.map +1 -0
  163. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js +7 -0
  164. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js.map +1 -0
  165. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js +24 -0
  166. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js.map +1 -0
  167. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js +8 -0
  168. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js.map +1 -0
  169. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js +20 -0
  170. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js.map +1 -0
  171. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js +8 -0
  172. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js.map +1 -0
  173. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js +22 -0
  174. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js.map +1 -0
  175. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js +199 -0
  176. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js.map +1 -0
  177. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js +13 -0
  178. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js.map +1 -0
  179. package/dist/out-tsc/src/app/core/services/app-service.js +249 -0
  180. package/dist/out-tsc/src/app/core/services/app-service.js.map +1 -0
  181. package/dist/out-tsc/src/app/core/services/app-service.spec.js +13 -0
  182. package/dist/out-tsc/src/app/core/services/app-service.spec.js.map +1 -0
  183. package/dist/out-tsc/src/app/core/services/app-settings.service.js +566 -0
  184. package/dist/out-tsc/src/app/core/services/app-settings.service.js.map +1 -0
  185. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js +13 -0
  186. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js.map +1 -0
  187. package/dist/out-tsc/src/app/core/services/authentication.service.js +308 -0
  188. package/dist/out-tsc/src/app/core/services/authentication.service.js.map +1 -0
  189. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js +13 -0
  190. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js.map +1 -0
  191. package/dist/out-tsc/src/app/core/services/canvas.service.js +566 -0
  192. package/dist/out-tsc/src/app/core/services/canvas.service.js.map +1 -0
  193. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js +13 -0
  194. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js.map +1 -0
  195. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js +325 -0
  196. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js.map +1 -0
  197. package/dist/out-tsc/src/app/core/services/dashboard.service.js +273 -0
  198. package/dist/out-tsc/src/app/core/services/dashboard.service.js.map +1 -0
  199. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js +13 -0
  200. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js.map +1 -0
  201. package/dist/out-tsc/src/app/core/services/data-set.service.js +515 -0
  202. package/dist/out-tsc/src/app/core/services/data-set.service.js.map +1 -0
  203. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js +13 -0
  204. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js.map +1 -0
  205. package/dist/out-tsc/src/app/core/services/data.service.js +425 -0
  206. package/dist/out-tsc/src/app/core/services/data.service.js.map +1 -0
  207. package/dist/out-tsc/src/app/core/services/data.service.spec.js +13 -0
  208. package/dist/out-tsc/src/app/core/services/data.service.spec.js.map +1 -0
  209. package/dist/out-tsc/src/app/core/services/dialog.service.js +73 -0
  210. package/dist/out-tsc/src/app/core/services/dialog.service.js.map +1 -0
  211. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js +13 -0
  212. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js.map +1 -0
  213. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js +106 -0
  214. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js.map +1 -0
  215. package/dist/out-tsc/src/app/core/services/notifications.service.js +322 -0
  216. package/dist/out-tsc/src/app/core/services/notifications.service.js.map +1 -0
  217. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js +10 -0
  218. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js.map +1 -0
  219. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js +125 -0
  220. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js.map +1 -0
  221. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js +13 -0
  222. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js.map +1 -0
  223. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js +283 -0
  224. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js.map +1 -0
  225. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js +486 -0
  226. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js.map +1 -0
  227. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js +13 -0
  228. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js.map +1 -0
  229. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js +121 -0
  230. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js.map +1 -0
  231. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js +13 -0
  232. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js.map +1 -0
  233. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js +232 -0
  234. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js.map +1 -0
  235. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js +10 -0
  236. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js.map +1 -0
  237. package/dist/out-tsc/src/app/core/services/storage.service.js +390 -0
  238. package/dist/out-tsc/src/app/core/services/storage.service.js.map +1 -0
  239. package/dist/out-tsc/src/app/core/services/storage.service.spec.js +13 -0
  240. package/dist/out-tsc/src/app/core/services/storage.service.spec.js.map +1 -0
  241. package/dist/out-tsc/src/app/core/services/timers.service.js +107 -0
  242. package/dist/out-tsc/src/app/core/services/timers.service.js.map +1 -0
  243. package/dist/out-tsc/src/app/core/services/timers.service.spec.js +13 -0
  244. package/dist/out-tsc/src/app/core/services/timers.service.spec.js.map +1 -0
  245. package/dist/out-tsc/src/app/core/services/uiEvent.service.js +256 -0
  246. package/dist/out-tsc/src/app/core/services/uiEvent.service.js.map +1 -0
  247. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js +13 -0
  248. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js.map +1 -0
  249. package/dist/out-tsc/src/app/core/services/units.service.js +630 -0
  250. package/dist/out-tsc/src/app/core/services/units.service.js.map +1 -0
  251. package/dist/out-tsc/src/app/core/services/widget.service.js +405 -0
  252. package/dist/out-tsc/src/app/core/services/widget.service.js.map +1 -0
  253. package/dist/out-tsc/src/app/core/services/widget.service.spec.js +13 -0
  254. package/dist/out-tsc/src/app/core/services/widget.service.spec.js.map +1 -0
  255. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js +30 -0
  256. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js.map +1 -0
  257. package/dist/out-tsc/src/app/core/utils/base-widget.component.js +291 -0
  258. package/dist/out-tsc/src/app/core/utils/base-widget.component.js.map +1 -0
  259. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js +88 -0
  260. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js.map +1 -0
  261. package/dist/out-tsc/src/app/core/utils/dataScales.util.js +127 -0
  262. package/dist/out-tsc/src/app/core/utils/dataScales.util.js.map +1 -0
  263. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js +138 -0
  264. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js.map +1 -0
  265. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js +55 -0
  266. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js.map +1 -0
  267. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js +303 -0
  268. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js.map +1 -0
  269. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js +34 -0
  270. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js.map +1 -0
  271. package/dist/out-tsc/src/app/core/utils/uuid.util.js +17 -0
  272. package/dist/out-tsc/src/app/core/utils/uuid.util.js.map +1 -0
  273. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js +87 -0
  274. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js.map +1 -0
  275. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js +49 -0
  276. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js.map +1 -0
  277. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js +19 -0
  278. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js.map +1 -0
  279. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js +100 -0
  280. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js.map +1 -0
  281. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js +19 -0
  282. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js.map +1 -0
  283. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js +54 -0
  284. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js.map +1 -0
  285. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js +19 -0
  286. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js.map +1 -0
  287. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js +89 -0
  288. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js.map +1 -0
  289. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js +19 -0
  290. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js.map +1 -0
  291. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js +1760 -0
  292. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js.map +1 -0
  293. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js +19 -0
  294. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js.map +1 -0
  295. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js +327 -0
  296. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js.map +1 -0
  297. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js +21 -0
  298. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js.map +1 -0
  299. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js +268 -0
  300. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js.map +1 -0
  301. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js +21 -0
  302. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js.map +1 -0
  303. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js +81 -0
  304. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js.map +1 -0
  305. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js +19 -0
  306. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js.map +1 -0
  307. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js +266 -0
  308. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js.map +1 -0
  309. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js +19 -0
  310. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js.map +1 -0
  311. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js +309 -0
  312. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js.map +1 -0
  313. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js +21 -0
  314. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js.map +1 -0
  315. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js +512 -0
  316. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js.map +1 -0
  317. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js +19 -0
  318. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js.map +1 -0
  319. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js +227 -0
  320. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js.map +1 -0
  321. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js +21 -0
  322. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js.map +1 -0
  323. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js +163 -0
  324. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js.map +1 -0
  325. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js +19 -0
  326. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js.map +1 -0
  327. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js +97 -0
  328. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js.map +1 -0
  329. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js +19 -0
  330. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js.map +1 -0
  331. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js +122 -0
  332. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js.map +1 -0
  333. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js +19 -0
  334. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js.map +1 -0
  335. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js +389 -0
  336. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js.map +1 -0
  337. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js +21 -0
  338. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js.map +1 -0
  339. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js +76 -0
  340. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js.map +1 -0
  341. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js +21 -0
  342. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js.map +1 -0
  343. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js +429 -0
  344. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js.map +1 -0
  345. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js +21 -0
  346. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js.map +1 -0
  347. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js +1128 -0
  348. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js.map +1 -0
  349. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js +21 -0
  350. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js.map +1 -0
  351. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js +140 -0
  352. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js.map +1 -0
  353. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js +19 -0
  354. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js.map +1 -0
  355. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js +678 -0
  356. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js.map +1 -0
  357. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js +19 -0
  358. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js.map +1 -0
  359. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js +177 -0
  360. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js.map +1 -0
  361. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js +21 -0
  362. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js.map +1 -0
  363. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js +146 -0
  364. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js.map +1 -0
  365. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js +19 -0
  366. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js.map +1 -0
  367. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js +301 -0
  368. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js.map +1 -0
  369. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js +19 -0
  370. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js.map +1 -0
  371. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js +413 -0
  372. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js.map +1 -0
  373. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js +21 -0
  374. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js.map +1 -0
  375. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js +360 -0
  376. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js.map +1 -0
  377. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js +21 -0
  378. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js.map +1 -0
  379. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js +119 -0
  380. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js.map +1 -0
  381. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js +21 -0
  382. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js.map +1 -0
  383. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js +205 -0
  384. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js.map +1 -0
  385. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js +15 -0
  386. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js.map +1 -0
  387. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js +196 -0
  388. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js.map +1 -0
  389. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js +21 -0
  390. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js.map +1 -0
  391. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js +173 -0
  392. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js.map +1 -0
  393. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js +21 -0
  394. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js.map +1 -0
  395. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js +128 -0
  396. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js.map +1 -0
  397. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js +19 -0
  398. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js.map +1 -0
  399. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js +21 -0
  400. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js.map +1 -0
  401. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js +78 -0
  402. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js.map +1 -0
  403. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js +303 -0
  404. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js.map +1 -0
  405. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js +21 -0
  406. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js.map +1 -0
  407. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js +177 -0
  408. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js.map +1 -0
  409. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js +21 -0
  410. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js.map +1 -0
  411. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js +275 -0
  412. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js.map +1 -0
  413. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js +21 -0
  414. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js.map +1 -0
  415. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js +319 -0
  416. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js.map +1 -0
  417. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js +21 -0
  418. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js.map +1 -0
  419. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js +365 -0
  420. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js.map +1 -0
  421. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js +21 -0
  422. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js.map +1 -0
  423. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js +321 -0
  424. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js.map +1 -0
  425. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js +21 -0
  426. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js.map +1 -0
  427. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js +189 -0
  428. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js.map +1 -0
  429. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js +21 -0
  430. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js.map +1 -0
  431. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js +248 -0
  432. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js.map +1 -0
  433. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js +19 -0
  434. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js.map +1 -0
  435. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js +138 -0
  436. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js.map +1 -0
  437. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js +21 -0
  438. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js.map +1 -0
  439. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js +43 -0
  440. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js.map +1 -0
  441. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js +21 -0
  442. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js.map +1 -0
  443. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js +483 -0
  444. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js.map +1 -0
  445. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js +21 -0
  446. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js.map +1 -0
  447. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js +1067 -0
  448. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js.map +1 -0
  449. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js +19 -0
  450. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js.map +1 -0
  451. package/dist/out-tsc/src/default-config/config.blank.const.js +35 -0
  452. package/dist/out-tsc/src/default-config/config.blank.const.js.map +1 -0
  453. package/dist/out-tsc/src/default-config/config.blank.notification.const.js +22 -0
  454. package/dist/out-tsc/src/default-config/config.blank.notification.const.js.map +1 -0
  455. package/dist/out-tsc/src/default-config/config.blank.units.const.js +24 -0
  456. package/dist/out-tsc/src/default-config/config.blank.units.const.js.map +1 -0
  457. package/dist/out-tsc/src/default-config/config.demo.const.js +739 -0
  458. package/dist/out-tsc/src/default-config/config.demo.const.js.map +1 -0
  459. package/dist/out-tsc/src/environments/environment.js +8 -0
  460. package/dist/out-tsc/src/environments/environment.js.map +1 -0
  461. package/dist/out-tsc/src/environments/environment.prod.js +4 -0
  462. package/dist/out-tsc/src/environments/environment.prod.js.map +1 -0
  463. package/dist/out-tsc/src/main.js +111 -0
  464. package/dist/out-tsc/src/main.js.map +1 -0
  465. package/dist/out-tsc/src/polyfills.js +67 -0
  466. package/dist/out-tsc/src/polyfills.js.map +1 -0
  467. package/dist/out-tsc/src/test-setup.js +1 -0
  468. package/dist/out-tsc/src/test-setup.js.map +1 -0
  469. package/dist/out-tsc/src/test-shims/steelseries-shim.js +44 -0
  470. package/dist/out-tsc/src/test-shims/steelseries-shim.js.map +1 -0
  471. package/dist/out-tsc/src/test.js +84 -0
  472. package/dist/out-tsc/src/test.js.map +1 -0
  473. package/images/ActionSidenav.png +0 -0
  474. package/images/KipBrightness-1024.png +0 -0
  475. package/images/KipNightMode-1024.png +0 -0
  476. package/images/Options.png +0 -0
  477. package/images/exterior_user_installs.png +0 -0
  478. package/package.json +1 -1
  479. package/plugin/index.js +2 -1
  480. package/public/{chunk-YPVFGYWU.js → chunk-4APSKT6I.js} +1 -1
  481. package/public/{chunk-CCEKSCJH.js → chunk-HHR4WMHS.js} +1 -1
  482. package/public/{chunk-TTNX7JB6.js → chunk-JDDRJMPN.js} +1 -1
  483. package/public/{chunk-TSNRNW3D.js → chunk-MRF22PVK.js} +1 -1
  484. package/public/{chunk-G5U7W6LL.js → chunk-RNSD64U3.js} +1 -1
  485. package/public/index.html +1 -1
  486. package/public/{main-JN6ENHFX.js → main-5QLZ4ZUU.js} +2 -2
@@ -0,0 +1,630 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DataService } from './data.service';
11
+ import { Injectable, inject } from '@angular/core';
12
+ import Qty from 'js-quantities';
13
+ import { AppSettingsService } from './app-settings.service';
14
+ let UnitsService = class UnitsService {
15
+ AppSettingsService = inject(AppSettingsService);
16
+ data = inject(DataService);
17
+ _defaultUnitsSub;
18
+ /**
19
+ * Definition of available Kip units to be used for conversion.
20
+ * Measure property has to match one Unit Conversion Function for proper operation.
21
+ * Description is human readable property.
22
+ */
23
+ _conversionList = [
24
+ { group: 'Unitless', units: [
25
+ { measure: 'unitless', description: "As-Is numeric value" },
26
+ { measure: ' ', description: "No unit label - As-Is numeric value" }
27
+ ] },
28
+ { group: 'Speed', units: [
29
+ { measure: 'knots', description: "Knots - Nautical miles per hour" },
30
+ { measure: 'kph', description: "kph - Kilometers per hour" },
31
+ { measure: 'mph', description: "mph - Miles per hour" },
32
+ { measure: 'm/s', description: "m/s - Meters per second (base)" }
33
+ ] },
34
+ { group: 'Flow', units: [
35
+ { measure: 'm3/s', description: "Cubic meters per second (base)" },
36
+ { measure: 'l/min', description: "Liters per minute" },
37
+ { measure: 'l/h', description: "Liters per hour" },
38
+ { measure: 'g/min', description: "Gallons per minute" },
39
+ { measure: 'g/h', description: "Gallons per hour" }
40
+ ] },
41
+ { group: 'Fuel Distance', units: [
42
+ { measure: 'm/m3', description: "Meters per cubic meter (base)" },
43
+ { measure: 'nm/l', description: "Nautical Miles per liter" },
44
+ { measure: 'nm/g', description: "Nautical Miles per gallon" },
45
+ { measure: 'km/l', description: "Kilometers per liter" },
46
+ { measure: 'mpg', description: "Miles per Gallon" },
47
+ ] },
48
+ { group: 'Energy Distance', units: [
49
+ { measure: 'm/J', description: "Meters per Joule (base)" },
50
+ { measure: 'nm/J', description: "Nautical Miles per Joule" },
51
+ { measure: 'km/J', description: "Kilometers per Joule" },
52
+ { measure: 'nm/kWh', description: "Nautical Miles per Kilowatt-hour" },
53
+ { measure: 'km/kWh', description: "Kilometers per Kilowatt-hour" },
54
+ ] },
55
+ { group: 'Temperature', units: [
56
+ { measure: 'K', description: "Kelvin (base)" },
57
+ { measure: 'celsius', description: "Celsius" },
58
+ { measure: 'fahrenheit', description: "Fahrenheit" }
59
+ ] },
60
+ { group: 'Length', units: [
61
+ { measure: 'm', description: "Meters (base)" },
62
+ { measure: 'mm', description: "Millimeters" },
63
+ { measure: 'fathom', description: "Fathoms" },
64
+ { measure: 'nm', description: "Nautical Miles" },
65
+ { measure: 'km', description: "Kilometers" },
66
+ { measure: 'mi', description: "Miles" },
67
+ { measure: 'feet', description: "Feet" },
68
+ { measure: 'inch', description: "Inches" },
69
+ ] },
70
+ { group: 'Volume', units: [
71
+ { measure: 'liter', description: "Liters (base)" },
72
+ { measure: 'm3', description: "Cubic Meters" },
73
+ { measure: 'gallon', description: "Gallons" },
74
+ ] },
75
+ { group: 'Current', units: [
76
+ { measure: 'A', description: "Amperes (base)" },
77
+ { measure: 'mA', description: "Milliamperes" }
78
+ ] },
79
+ { group: 'Potential', units: [
80
+ { measure: 'V', description: "Volts (base)" },
81
+ { measure: 'mV', description: "Millivolts" }
82
+ ] },
83
+ { group: 'Charge', units: [
84
+ { measure: 'C', description: "Coulomb (base)" },
85
+ { measure: 'Ah', description: "Ampere*Hours" },
86
+ ] },
87
+ { group: 'Power', units: [
88
+ { measure: 'W', description: "Watts (base)" },
89
+ { measure: 'mW', description: "Milliwatts" },
90
+ ] },
91
+ { group: 'Energy', units: [
92
+ { measure: 'J', description: "Joules (base)" },
93
+ { measure: 'kWh', description: "Kilowatt*Hours" },
94
+ ] },
95
+ { group: 'Resistance', units: [
96
+ { measure: 'ohm', description: "\u2126 (base)" },
97
+ { measure: 'kiloohm', description: "k\u2126" },
98
+ ] },
99
+ { group: 'Pressure', units: [
100
+ { measure: 'Pa', description: "Pa (base)" },
101
+ { measure: 'kPa', description: "kPa" },
102
+ { measure: 'hPa', description: "hPa" },
103
+ { measure: 'mbar', description: "mbar" },
104
+ { measure: 'bar', description: "Bars" },
105
+ { measure: 'psi', description: "psi" },
106
+ { measure: 'mmHg', description: "mmHg" },
107
+ { measure: 'inHg', description: "inHg" },
108
+ ] },
109
+ { group: 'Density', units: [{ measure: 'kg/m3', description: "Air density - kg/cubic meter (base)" }] },
110
+ { group: 'Time', units: [
111
+ { measure: 's', description: "Seconds (base)" },
112
+ { measure: 'Minutes', description: "Minutes" },
113
+ { measure: 'Hours', description: "Hours" },
114
+ { measure: 'Days', description: "Days" },
115
+ { measure: 'D HH:MM:SS', description: "Day Hour:Minute:sec" }
116
+ ] },
117
+ { group: 'Angular Velocity', units: [
118
+ { measure: 'rad/s', description: "Radians per second (base)" },
119
+ { measure: 'deg/s', description: "Degrees per second" },
120
+ { measure: 'deg/min', description: "Degrees per minute" },
121
+ ] },
122
+ { group: 'Angle', units: [
123
+ { measure: 'rad', description: "Radians (base)" },
124
+ { measure: 'deg', description: "Degrees" },
125
+ { measure: 'grad', description: "Gradians" },
126
+ ] },
127
+ { group: 'Frequency', units: [
128
+ { measure: 'rpm', description: "RPM - Rotations per minute" },
129
+ { measure: 'Hz', description: "Hz - Hertz (base)" },
130
+ { measure: 'KHz', description: "KHz - Kilohertz" },
131
+ { measure: 'MHz', description: "MHz - Megahertz" },
132
+ { measure: 'GHz', description: "GHz - Gigahertz" },
133
+ ] },
134
+ { group: 'Ratio', units: [
135
+ { measure: 'percent', description: "As percentage value" },
136
+ { measure: 'percentraw', description: "As ratio 0-1 with % sign" },
137
+ { measure: 'ratio', description: "Ratio 0-1 (base)" }
138
+ ] },
139
+ { group: 'Position', units: [
140
+ { measure: 'pdeg', description: "Position Degrees" },
141
+ { measure: 'latitudeMin', description: "Latitude in minutes" },
142
+ { measure: 'latitudeSec', description: "Latitude in seconds" },
143
+ { measure: 'longitudeMin', description: "Longitude in minutes" },
144
+ { measure: 'longitudeSec', description: "Longitude in seconds" },
145
+ ] },
146
+ ];
147
+ skBaseUnits = [
148
+ { unit: "s", properties: {
149
+ display: "s",
150
+ quantity: "Time",
151
+ quantityDisplay: "t",
152
+ description: "Elapsed time (interval) in seconds"
153
+ }
154
+ },
155
+ { unit: "Hz", properties: {
156
+ display: "Hz",
157
+ quantity: "Frequency",
158
+ quantityDisplay: "f",
159
+ description: "Frequency in Hertz"
160
+ }
161
+ },
162
+ { unit: "m3", properties: {
163
+ display: "m\u00b3",
164
+ quantity: "Volume",
165
+ quantityDisplay: "V",
166
+ description: "Volume in cubic meters"
167
+ }
168
+ },
169
+ { unit: "m3/s", properties: {
170
+ display: "m\u00b3/s",
171
+ quantity: "Flow",
172
+ quantityDisplay: "Q",
173
+ description: "Liquid or gas flow in cubic meters per second"
174
+ }
175
+ },
176
+ { unit: "kg/s", properties: {
177
+ display: "kg/s",
178
+ quantity: "Mass flow rate",
179
+ quantityDisplay: "\u1e41",
180
+ description: "Liquid or gas flow in kilograms per second"
181
+ }
182
+ },
183
+ { unit: "kg/m3", properties: {
184
+ display: "kg/m\u00b3",
185
+ quantity: "Density",
186
+ quantityDisplay: "\u03c1",
187
+ description: "Density in kg per cubic meter"
188
+ }
189
+ },
190
+ { unit: "deg", properties: {
191
+ display: "Position",
192
+ quantity: "Angle",
193
+ quantityDisplay: "\u2220",
194
+ description: "Latitude or longitude in decimal degrees"
195
+ }
196
+ },
197
+ { unit: "rad", properties: {
198
+ display: "\u00b0",
199
+ quantity: "Angle",
200
+ quantityDisplay: "\u2220",
201
+ description: "Angular arc in radians"
202
+ }
203
+ },
204
+ { unit: "rad/s", properties: {
205
+ display: "\u33ad/s",
206
+ quantity: "Rotation",
207
+ quantityDisplay: "\u03c9",
208
+ description: "Angular rate in radians per second"
209
+ }
210
+ },
211
+ { unit: "A", properties: {
212
+ display: "A",
213
+ quantity: "Current",
214
+ quantityDisplay: "I",
215
+ description: "Electrical current in ampere"
216
+ }
217
+ },
218
+ { unit: "C", properties: {
219
+ display: "C",
220
+ quantity: "Charge",
221
+ quantityDisplay: "Q",
222
+ description: "Electrical charge in Coulomb"
223
+ }
224
+ },
225
+ { unit: "V", properties: {
226
+ display: "V",
227
+ quantity: "Voltage",
228
+ quantityDisplay: "V",
229
+ description: "Electrical potential in volt"
230
+ }
231
+ },
232
+ { unit: "W", properties: {
233
+ display: "W",
234
+ quantity: "Power",
235
+ quantityDisplay: "P",
236
+ description: "Power in watt"
237
+ }
238
+ },
239
+ { unit: "Nm", properties: {
240
+ display: "Nm",
241
+ quantity: "Torque",
242
+ quantityDisplay: "\u03c4",
243
+ description: "Torque in Newton meter"
244
+ }
245
+ },
246
+ { unit: "J", properties: {
247
+ display: "J",
248
+ quantity: "Energy",
249
+ quantityDisplay: "E",
250
+ description: "Electrical energy in joule"
251
+ }
252
+ },
253
+ { unit: "ohm", properties: {
254
+ display: "\u2126",
255
+ quantity: "Resistance",
256
+ quantityDisplay: "R",
257
+ description: "Electrical resistance in ohm"
258
+ }
259
+ },
260
+ { unit: "m", properties: {
261
+ display: "m",
262
+ quantity: "Distance",
263
+ quantityDisplay: "d",
264
+ description: "Distance in meters"
265
+ }
266
+ },
267
+ { unit: "m/s", properties: {
268
+ display: "m/s",
269
+ quantity: "Speed",
270
+ quantityDisplay: "v",
271
+ description: "Speed in meters per second"
272
+ }
273
+ },
274
+ { unit: "m2", properties: {
275
+ display: "\u33a1",
276
+ quantity: "Area",
277
+ quantityDisplay: "A",
278
+ description: "(Surface) area in square meters"
279
+ }
280
+ },
281
+ { unit: "K", properties: {
282
+ display: "K",
283
+ quantity: "Temperature",
284
+ quantityDisplay: "T",
285
+ description: "Temperature in kelvin"
286
+ }
287
+ },
288
+ { unit: "Pa", properties: {
289
+ display: "Pa",
290
+ quantity: "Pressure",
291
+ quantityDisplay: "P",
292
+ description: "Pressure in pascal"
293
+ }
294
+ },
295
+ { unit: "kg", properties: {
296
+ display: "kg",
297
+ quantity: "Mass",
298
+ quantityDisplay: "m",
299
+ description: "Mass in kilogram"
300
+ }
301
+ },
302
+ { unit: "ratio", properties: {
303
+ display: "",
304
+ quantity: "Ratio",
305
+ quantityDisplay: "\u03c6",
306
+ description: "Relative value compared to reference or normal value. 0 = 0%, 1 = 100%, 1e-3 = 1 ppt"
307
+ }
308
+ },
309
+ { unit: "m/s2", properties: {
310
+ display: "m/s\u00b2",
311
+ quantity: "Acceleration",
312
+ quantityDisplay: "a",
313
+ description: "Acceleration in meters per second squared"
314
+ }
315
+ },
316
+ { unit: "rad/s2", properties: {
317
+ display: "rad/s\u00b2",
318
+ quantity: "Angular acceleration",
319
+ quantityDisplay: "a",
320
+ description: "Angular acceleration in radians per second squared"
321
+ }
322
+ },
323
+ { unit: "N", properties: {
324
+ display: "N",
325
+ quantity: "Force",
326
+ quantityDisplay: "F",
327
+ description: "Force in newton"
328
+ }
329
+ },
330
+ { unit: "T", properties: {
331
+ display: "T",
332
+ quantity: "Magnetic field",
333
+ quantityDisplay: "B",
334
+ description: "Magnetic field strength in tesla"
335
+ }
336
+ },
337
+ { unit: "Lux", properties: {
338
+ display: "lx",
339
+ quantity: "Light Intensity",
340
+ quantityDisplay: "Ev",
341
+ description: "Light Intensity in lux"
342
+ }
343
+ },
344
+ { unit: "Pa/s", properties: {
345
+ display: "Pa/s",
346
+ quantity: "Pressure rate",
347
+ quantityDisplay: "R",
348
+ description: "Pressure change rate in pascal per second"
349
+ }
350
+ },
351
+ { unit: "Pa.s", properties: {
352
+ display: "Pa s",
353
+ quantity: "Viscosity",
354
+ quantityDisplay: "\u03bc",
355
+ description: "Viscosity in pascal seconds"
356
+ }
357
+ }
358
+ ];
359
+ _defaultUnits = null;
360
+ constructor() {
361
+ this._defaultUnitsSub = this.AppSettingsService.getDefaultUnitsAsO().subscribe(appSettings => {
362
+ this._defaultUnits = appSettings;
363
+ });
364
+ }
365
+ unitConversionFunctions = {
366
+ 'unitless': function (v) { return v; },
367
+ ' ': function (v) { return v; },
368
+ // speed
369
+ 'knots': Qty.swiftConverter("m/s", "kn"),
370
+ 'kph': Qty.swiftConverter("m/s", "kph"),
371
+ 'm/s': function (v) { return v; },
372
+ 'mph': Qty.swiftConverter("m/s", "mph"),
373
+ // volume
374
+ "liter": Qty.swiftConverter('m^3', 'liter'),
375
+ "gallon": Qty.swiftConverter('m^3', 'gallon'),
376
+ "m3": function (v) { return v; },
377
+ // flow
378
+ 'm3/s': function (v) { return v; },
379
+ 'l/min': Qty.swiftConverter("m^3/s", "liter/minute"),
380
+ 'l/h': Qty.swiftConverter("m^3/s", "liter/hour"),
381
+ 'g/min': Qty.swiftConverter("m^3/s", "gallon/minute"),
382
+ 'g/h': Qty.swiftConverter("m^3/s", "gallon/hour"),
383
+ // fuel consumption
384
+ 'm/m3': function (v) { return v; },
385
+ 'nm/l': Qty.swiftConverter('m/m^3', 'naut-mile/liter'),
386
+ 'nm/g': Qty.swiftConverter('m/m^3', 'naut-mile/gallon'),
387
+ 'km/l': Qty.swiftConverter('m/m^3', 'km/liter'),
388
+ 'mpg': Qty.swiftConverter('m/m^3', 'mile/gallon'),
389
+ // energy consumption
390
+ 'm/J': function (v) { return v; },
391
+ 'nm/J': Qty.swiftConverter('m/J', 'naut-mile/J'),
392
+ 'km/J': Qty.swiftConverter('km/J', 'km/J'),
393
+ 'nm/kWh': Qty.swiftConverter('m/J', 'naut-mile/kWh'),
394
+ 'km/kWh': Qty.swiftConverter('m/J', 'km/kWh'),
395
+ // temp
396
+ "K": function (v) { return v; },
397
+ "celsius": Qty.swiftConverter("tempK", "tempC"),
398
+ "fahrenheit": Qty.swiftConverter("tempK", "tempF"),
399
+ // length
400
+ "m": function (v) { return v; },
401
+ "mm": function (v) { return v * 1000; },
402
+ "fathom": Qty.swiftConverter('m', 'fathom'),
403
+ "feet": Qty.swiftConverter('m', 'foot'),
404
+ "inch": Qty.swiftConverter('m', 'in'),
405
+ "km": Qty.swiftConverter('m', 'km'),
406
+ "nm": Qty.swiftConverter('m', 'nmi'),
407
+ "mi": Qty.swiftConverter('m', 'mi'),
408
+ // Potential
409
+ "V": function (v) { return v; },
410
+ "mV": function (v) { return v * 1000; },
411
+ // Current
412
+ "A": function (v) { return v; },
413
+ "mA": function (v) { return v * 1000; },
414
+ // charge
415
+ "C": function (v) { return v; },
416
+ "Ah": Qty.swiftConverter('C', 'Ah'),
417
+ // Power
418
+ "W": function (v) { return v; },
419
+ "mW": function (v) { return v * 1000; },
420
+ // Energy
421
+ "J": function (v) { return v; },
422
+ "kWh": Qty.swiftConverter('J', 'kWh'),
423
+ // Resistance
424
+ "ohm": function (v) { return v; },
425
+ "kiloohm": function (v) { return v / 1000; },
426
+ // pressure
427
+ "Pa": function (v) { return v; },
428
+ "bar": Qty.swiftConverter('Pa', 'bar'),
429
+ "psi": Qty.swiftConverter('Pa', 'psi'),
430
+ "mmHg": Qty.swiftConverter('Pa', 'mmHg'),
431
+ "inHg": Qty.swiftConverter('Pa', 'inHg'),
432
+ "hPa": Qty.swiftConverter('Pa', 'hPa'),
433
+ "kPa": Qty.swiftConverter('Pa', 'kPa'),
434
+ "mbar": Qty.swiftConverter('Pa', 'millibar'),
435
+ // Density - Description: Current outside air density
436
+ "kg/m3": function (v) { return v; },
437
+ // Time
438
+ "s": function (v) { return v; },
439
+ "Minutes": Qty.swiftConverter('s', 'minutes'),
440
+ "Hours": Qty.swiftConverter('s', 'hours'),
441
+ "Days": Qty.swiftConverter('s', 'days'),
442
+ "D HH:MM:SS": function (v) {
443
+ v = parseInt(v, 10);
444
+ const isNegative = v < 0; // Check if the value is negative
445
+ v = Math.abs(v); // Use the absolute value for calculations
446
+ const days = Math.floor(v / 86400);
447
+ const h = Math.floor((v % 86400) / 3600);
448
+ const m = Math.floor((v % 3600) / 60);
449
+ const s = Math.floor(v % 60);
450
+ let result = (isNegative ? '-' : '');
451
+ if (days > 0) {
452
+ result += days + 'd ' + h.toString() + ':' + m.toString().padStart(2, '0') + ':' + s.toString().padStart(2, '0');
453
+ }
454
+ else {
455
+ result += h.toString() + ':' +
456
+ m.toString().padStart(2, '0') + ':' +
457
+ s.toString().padStart(2, '0');
458
+ }
459
+ return result;
460
+ },
461
+ // angularVelocity
462
+ "rad/s": function (v) { return v; },
463
+ "deg/s": Qty.swiftConverter('rad/s', 'deg/s'),
464
+ "deg/min": Qty.swiftConverter('rad/s', 'deg/min'),
465
+ // frequency
466
+ "rpm": function (v) { return v * 60; },
467
+ "Hz": function (v) { return v; },
468
+ "KHz": function (v) { return v / 1000; },
469
+ "MHz": function (v) { return v / 1000000; },
470
+ "GHz": function (v) { return v / 1000000000; },
471
+ // angle
472
+ "rad": function (v) { return v; },
473
+ "deg": Qty.swiftConverter('rad', 'deg'),
474
+ "grad": Qty.swiftConverter('rad', 'grad'),
475
+ // ratio
476
+ 'percent': function (v) { return v * 100; },
477
+ 'percentraw': function (v) { return v; },
478
+ 'ratio': function (v) { return v; },
479
+ // Position Degrees lat/lon
480
+ 'pdeg': function (v) { return v; }, // Signal K uses degrees for lat/lon
481
+ 'latitudeMin': function (v) {
482
+ let degree = Math.trunc(v);
483
+ let s = 'N';
484
+ if (v < 0) {
485
+ s = 'S';
486
+ degree = degree * -1;
487
+ }
488
+ let r = (v % 1) * 60; // decimal part of input, * 60 to get minutes
489
+ if (s == 'S') {
490
+ r = r * -1;
491
+ }
492
+ return degree + '° ' + r.toFixed(2).padStart(5, '0') + '\' ' + s;
493
+ },
494
+ 'latitudeSec': function (v) {
495
+ let degree = Math.trunc(v);
496
+ let s = 'N';
497
+ if (v < 0) {
498
+ s = 'S';
499
+ degree = degree * -1;
500
+ }
501
+ let r = (v % 1) * 60; // decimal part of input, * 60 to get minutes
502
+ if (s == 'S') {
503
+ r = r * -1;
504
+ }
505
+ const minutes = Math.trunc(r);
506
+ const seconds = (r % 1) * 60;
507
+ return degree + '° ' + minutes + '\' ' + seconds.toFixed(2).padStart(5, '0') + '" ' + s;
508
+ },
509
+ 'longitudeMin': function (v) {
510
+ let degree = Math.trunc(v);
511
+ let s = 'E';
512
+ if (v < 0) {
513
+ s = 'W';
514
+ degree = degree * -1;
515
+ }
516
+ let r = (v % 1) * 60; // decimal part of input, * 60 to get minutes
517
+ if (s == 'W') {
518
+ r = r * -1;
519
+ }
520
+ return degree + '° ' + r.toFixed(2).padStart(5, '0') + '\' ' + s;
521
+ },
522
+ 'longitudeSec': function (v) {
523
+ let degree = Math.trunc(v);
524
+ let s = 'E';
525
+ if (v < 0) {
526
+ s = 'W';
527
+ degree = degree * -1;
528
+ }
529
+ let r = (v % 1) * 60; // decimal part of input, * 60 to get minutes
530
+ if (s == 'W') {
531
+ r = r * -1;
532
+ }
533
+ const minutes = Math.trunc(r);
534
+ const seconds = (r % 1) * 60;
535
+ return degree + '° ' + minutes + '\' ' + seconds.toFixed(2).padStart(5, '0') + '" ' + s;
536
+ },
537
+ };
538
+ /**
539
+ * Converts any number to the specified unit. The function does not validate if
540
+ * source and destination units are compatible, ie. kph to degrees will be converted
541
+ * but will return meaningless results.
542
+ *
543
+ * If the unit is not know, or or the value is null, Null will be returned.
544
+ *
545
+ * @param {string} unit The conversion type unit
546
+ * @param {number} value The source value
547
+ * @return {*} {number} The result of the conversion
548
+ * @memberof UnitsService
549
+ */
550
+ convertToUnit(unit, value) {
551
+ if (!(unit in this.unitConversionFunctions)) {
552
+ return null;
553
+ }
554
+ if (value === null) {
555
+ return null;
556
+ }
557
+ const num = +value; // sometime we get strings here. Weird! Lazy patch.
558
+ return this.unitConversionFunctions[unit](num);
559
+ }
560
+ /**
561
+ * Returns the list KIP base unit conversion settings applied before presentation.
562
+ * See KIP's Units Settings configuration.
563
+ *
564
+ * Ex: If a Signal K path's meta Units is set to 'm/s', could KIP automatically
565
+ * convert to say, 'knots' before presentation. Received Signal K data is always
566
+ * kept in native format.
567
+ *
568
+ * @return {*} {IUnitDefaults}
569
+ * @memberof UnitsService
570
+ */
571
+ getDefaults() {
572
+ return this._defaultUnits;
573
+ }
574
+ /**
575
+ * Return the list of possible conversions matrix by unit groups. Useful
576
+ * to present possible conversion or select a conversation units that are
577
+ * related.
578
+ *
579
+ * @return {*} {IUnitGroup[]} an array of units by groups
580
+ * @memberof UnitsService
581
+ */
582
+ getConversions() {
583
+ return this._conversionList;
584
+ }
585
+ /**
586
+ * Obtain a list of possible Kip value type conversions for a given path. ie,.: Speed conversion group
587
+ * (kph, Knots, etc.). The conversion list will be trimmed to only the conversions for the group in question.
588
+ * If a base value type (provided by server) for a path cannot be found,
589
+ * the full list is returned and with 'unitless' as the base. Same goes if the value type exists,
590
+ * but Kip does not handle it...yet.
591
+ *
592
+ * @param path The Signal K path of the value
593
+ * @return conversions Full list array or subset of list array
594
+ */
595
+ getConversionsForPath(path) {
596
+ const pathUnitType = this.data.getPathUnitType(path);
597
+ const UNITLESS = 'unitless';
598
+ let defaultUnit = "unitless";
599
+ if (pathUnitType === null || pathUnitType === 'RFC 3339 (UTC)') {
600
+ return { base: UNITLESS, conversions: this._conversionList };
601
+ }
602
+ else {
603
+ const groupList = this._conversionList.filter(unitGroup => {
604
+ if (unitGroup.group == 'Position' && (path.includes('position.latitude') || path.includes('position.longitude'))) {
605
+ return true;
606
+ }
607
+ const unitExists = unitGroup.units.find(unit => unit.measure == pathUnitType);
608
+ if (unitExists) {
609
+ defaultUnit = this._defaultUnits[unitGroup.group];
610
+ return true;
611
+ }
612
+ return false;
613
+ });
614
+ if (groupList.length > 0) {
615
+ return { base: defaultUnit, conversions: groupList };
616
+ }
617
+ console.log("[Units Service] Unit type: " + pathUnitType + ", found for path: " + path + "\nbut Kip does not support it.");
618
+ return { base: UNITLESS, conversions: this._conversionList };
619
+ }
620
+ }
621
+ ngOnDestroy() {
622
+ this._defaultUnitsSub?.unsubscribe();
623
+ }
624
+ };
625
+ UnitsService = __decorate([
626
+ Injectable(),
627
+ __metadata("design:paramtypes", [])
628
+ ], UnitsService);
629
+ export { UnitsService };
630
+ //# sourceMappingURL=units.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.service.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/units.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,GAAG,MAAM,eAAe,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AA8FrD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACf,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,gBAAgB,CAAe;IAEvC;;;;OAIG;IACc,eAAe,GAAiB;QAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC1B,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC3D,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,qCAAqC,EAAE;aACrE,EAAE;QACH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACvB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,iCAAiC,EAAC;gBACnE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAC;gBAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAC;gBACtD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAC;aACjE,EAAE;QACH,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBACtB,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,EAAC;gBACjE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAC;gBACrD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAC;gBACjD,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAC;gBACtD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAC;aACnD,EAAE;QACH,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;gBAC/B,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAC;gBAChE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAC;gBAC3D,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAC;gBAC5D,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAC;gBACvD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAC;aACnD,EAAE;QACH,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE;gBACjC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAC;gBACzD,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAC;gBAC3D,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAC;gBACvD,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAC;gBACrE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAC;aAClE,EAAE;QACH,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;gBAC7B,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC;gBAC7C,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;gBAC7C,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAC;aACnD,EAAE;QACJ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC;gBAC7C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAC;gBAC5C,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAC;gBAC5C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAC;gBAC/C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAC;gBAC3C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAC;gBACtC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAC;gBACvC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAC;aAC1C,EAAE;QACH,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAC;gBACjD,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAC;gBAC7C,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAC;aAC5C,EAAE;QACJ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;gBACzB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAC;gBAC9C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAC;aAC9C,EAAE;QACH,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC3B,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAC;gBAC5C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAC;aAC5C,EAAE;QACH,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAC;gBAC9C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAC;aAC9C,EAAE;QACH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACvB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAC;gBAC5C,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAC;aAC5C,EAAE;QACH,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACxB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC;gBAC7C,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAC;aACjD,EAAE;QACH,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC5B,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAC;gBAC/C,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;aAC9C,EAAE;QACH,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC1B,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE;gBAC3C,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBACtC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBACtC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBACxC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;gBACvC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBACtC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBACxC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;aACzC,EAAE;QACH,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,qCAAqC,EAAC,CAAE,EAAE;QACxG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBACtB,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBAC/C,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;gBAC9C,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC1C,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;gBACxC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAC;aAC7D,EAAE;QACH,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE;gBAClC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAC9D,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBACvD,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAC1D,EAAE;QACH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACvB,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBACjD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE;gBAC1C,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE;aAC7C,EAAE;QACH,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC3B,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC7D,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACnD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAClD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAClD,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE;aACnD,EAAE;QACH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACvB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC1D,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBAClE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE;aACtD,EAAE;QACH,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC1B,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC9D,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC9D,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAChE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACjE,EAAE;KACJ,CAAC;IAEc,WAAW,GACzB;QACE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,WAAW;gBACrB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,+CAA+C;aAC7D;SACF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,gBAAgB;gBAC1B,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,4CAA4C;aAC1D;SACF;QACD,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;gBACzB,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,SAAS;gBACnB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,0CAA0C;aACxD;SACF;QACD,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;gBACzB,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,SAAS;gBACnB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,SAAS;gBACnB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,eAAe;aAC7B;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,4BAA4B;aAC1C;SACF;QACD,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,YAAY;gBACtB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,UAAU;gBACpB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,4BAA4B;aAC1C;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,iCAAiC;aAC/C;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,aAAa;gBACvB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,uBAAuB;aACrC;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,UAAU;gBACpB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,kBAAkB;aAChC;SACF;QACD,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;gBACzB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,sFAAsF;aACpG;SACF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,cAAc;gBACxB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE;gBAC1B,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,sBAAsB;gBAChC,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,oDAAoD;aAClE;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,OAAO;gBACjB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,iBAAiB;aAC/B;SACF;QACD,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,gBAAgB;gBAC1B,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,kCAAkC;aAChD;SACF;QACD,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,iBAAiB;gBAC3B,eAAe,EAAE,IAAI;gBACrB,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,eAAe;gBACzB,eAAe,EAAE,GAAG;gBACpB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;gBACxB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,WAAW;gBACrB,eAAe,EAAE,QAAQ;gBACzB,WAAW,EAAE,6BAA6B;aAC3C;SACF;KACF,CAAC;IAEI,aAAa,GAAkB,IAAI,CAAC;IAE5C;QACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAC5E,WAAW,CAAC,EAAE;YACZ,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC,CACF,CAAC;IACN,CAAC;IAEO,uBAAuB,GAAG;QAChC,UAAU,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,SAAS;QACL,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC;QACxC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QACvC,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QAC3C,SAAS;QACL,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;QAC3C,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7C,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,QAAQ;QACJ,MAAM,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC;QACpD,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;QAChD,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC;QACrD,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC;QACrD,oBAAoB;QAChB,MAAM,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC;QACtD,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACvD,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC;QAC/C,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC;QACrD,sBAAsB;QAClB,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;QAChD,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1C,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;QACpD,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjD,QAAQ;QACJ,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/C,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;QACtD,UAAU;QACN,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,IAAI,CAAC,CAAC,CAAC;QACpC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC3C,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC;QACpC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;QACvC,aAAa;QACT,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,IAAI,CAAC,CAAC,CAAC;QACxC,WAAW;QACP,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,IAAI,CAAC,CAAC,CAAC;QACxC,SAAS;QACL,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;QACvC,QAAQ;QACJ,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,IAAI,CAAC,CAAC,CAAC;QACxC,SAAS;QACL,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC;QACzC,aAAa;QACT,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,SAAS,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,YAAY;QACR,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QACtC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;QACxC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QACtC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QACtC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;QAChD,qDAAqD;QACjD,OAAO,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ;QACJ,GAAG,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC;QAC7C,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;QACzC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC;QACvC,YAAY,EAAE,UAAS,CAAC;YACtB,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;YAC3D,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;YAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAE7B,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG;oBAClB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG;oBACnC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACL,mBAAmB;QACf,OAAO,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;QACrD,aAAa;QACT,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,IAAI,CAAC,CAAC,CAAC;QACrC,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,OAAO,CAAC,CAAC,CAAC;QACxC,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,SAAS;QACL,KAAK,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7C,UAAU;QACN,SAAS,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,CAAA,CAAC,CAAC;QACzC,YAAY,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC;QACtC,OAAO,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC;QACrC,2BAA2B;QACvB,MAAM,EAAE,UAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,oCAAoC;QACvE,aAAa,EAAE,UAAS,CAAC;YACrB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;YACnE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5B,OAAO,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACnE,CAAC;QACH,aAAa,EAAE,UAAS,CAAC;YACvB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;YACnE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAE7B,OAAO,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,cAAc,EAAE,UAAS,CAAC;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;YACnE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5B,OAAO,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,cAAc,EAAE,UAAS,CAAC;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,GAAG,GAAG,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;YACnE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAE7B,OAAO,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1F,CAAC;KACF,CAAA;IAED;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,IAAY,EAAE,KAAa;QAC9C,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACpC,MAAM,GAAG,GAAW,CAAC,KAAK,CAAC,CAAC,mDAAmD;QAC/E,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;OAUG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAAC,IAAY;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC5B,IAAI,WAAW,GAAG,UAAU,CAAC;QAE7B,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACxD,IAAI,SAAS,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;oBACjH,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;gBAC9E,IAAI,UAAU,EAAE,CAAC;oBACf,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;YACvD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,YAAY,GAAG,oBAAoB,GAAG,IAAI,GAAG,gCAAgC,CAAC,CAAC;YAC3H,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;CACF,CAAA;AA/lBY,YAAY;IAFxB,UAAU,EAAE;;GAEA,YAAY,CA+lBxB"}