@camera.ui/server 0.0.37 → 0.0.39

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 (199) hide show
  1. package/dist/interface/@intlify.DA2Uxele.0.0.39.js +15 -0
  2. package/dist/interface/{@mdi.D-fmakQN.0.0.37.js → @mdi.CbjpODVZ.0.0.39.js} +1 -1
  3. package/dist/interface/{@tanstack.D5ZKYefg.0.0.37.js → @tanstack.BoiFrtzX.0.0.39.js} +1 -1
  4. package/dist/interface/{@vee-validate.DpG8QsqL.0.0.37.js → @vee-validate.DOPySfe9.0.0.39.js} +2 -2
  5. package/dist/interface/@vue.BSUQIjRR.0.0.39.js +17 -0
  6. package/dist/interface/{@vueform.C6NN0mBz.0.0.37.js → @vueform.DURVfBZu.0.0.39.js} +1 -1
  7. package/dist/interface/@vueuse.BbKS6Mm_.0.0.39.js +1 -0
  8. package/dist/interface/Account.D_eFRBoi.0.0.39.js +1 -0
  9. package/dist/interface/{Adminpanel.BmSSX2A9.0.0.37.js → Adminpanel.BW13-FSk.0.0.39.js} +2 -2
  10. package/dist/interface/Appearance.BAartkPK.0.0.39.js +1 -0
  11. package/dist/interface/{Backup.BDUctm1r.0.0.37.js → Backup.B8qRu2Lk.0.0.39.js} +1 -1
  12. package/dist/interface/Camera.WCQluB3X.0.0.39.js +1 -0
  13. package/dist/interface/{Cameras.JKMVM9Ep.0.0.37.js → Cameras.BimRRXnv.0.0.39.js} +1 -1
  14. package/dist/interface/{Camview.DxPHHBEX.0.0.37.js → Camview.jUT1KeFE.0.0.39.js} +1 -1
  15. package/dist/interface/{Config.DRsC2KyU.0.0.37.js → Config.D7fPANlt.0.0.39.js} +1 -1
  16. package/dist/interface/{Console.BBH1-Fk4.0.0.37.js → Console.DtTYQDtc.0.0.39.js} +2 -2
  17. package/dist/interface/FirstSteps.DvFz9Ipp.0.0.39.js +1 -0
  18. package/dist/interface/{NewCamera.BOyCk1gD.0.0.37.js → NewCamera.C2Tj9HIr.0.0.39.js} +2 -2
  19. package/dist/interface/Plugin.DJZOCVcC.0.0.39.js +1 -0
  20. package/dist/interface/{Plugins.CGf2IoWP.0.0.37.js → Plugins.0GLzbC2l.0.0.39.js} +1 -1
  21. package/dist/interface/Recordings.BmGJwKCj.0.0.39.js +1 -0
  22. package/dist/interface/Recordings.CGm8tQJ2.0.0.39.js +1 -0
  23. package/dist/interface/Settings.CHyfykI9.0.0.39.js +1 -0
  24. package/dist/interface/{System.BRVXLh0E.0.0.37.js → System.CcBINQYZ.0.0.39.js} +1 -1
  25. package/dist/interface/{User.B_n3MeLX.0.0.37.js → User.CMafVfud.0.0.39.js} +1 -1
  26. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.CUSWcFz9.0.0.37.js → VConfigEditor.vue_vue_type_script_setup_true_lang.DxUPvg7f.0.0.39.js} +2 -2
  27. package/dist/interface/VConsole.DDRPOT5i.0.0.39.js +1 -0
  28. package/dist/interface/VPlayer.B6FnraDr.0.0.39.js +4 -0
  29. package/dist/interface/{VPluginCard.B2DJNLvJ.0.0.37.js → VPluginCard.a7_GwM_6.0.0.39.js} +2 -2
  30. package/dist/interface/ace-builds.DKOJbQcN.0.0.39.js +970 -0
  31. package/dist/interface/{apexcharts.CF6FNCyu.0.0.37.js → apexcharts.BNnNkoic.0.0.39.js} +1 -1
  32. package/dist/interface/assets/{Account.0.0.37.BrvbC5Bl.css → Account.0.0.39.Bnw6Lbtd.css} +1 -1
  33. package/dist/interface/assets/{Camera.0.0.37.DurX54CO.css → Camera.0.0.39.Br9s6-lM.css} +1 -1
  34. package/dist/interface/assets/FirstSteps.0.0.39.Mu8VPl13.css +1 -0
  35. package/dist/interface/assets/NewCamera.0.0.39.C5BFv264.css +1 -0
  36. package/dist/interface/assets/{Plugin.0.0.37.DJbgaQc1.css → Plugin.0.0.39.Dr_p_vTx.css} +1 -1
  37. package/dist/interface/assets/VPlayer.0.0.39.yTIux4rl.css +1 -0
  38. package/dist/interface/assets/main.0.0.39.OJngntGT.css +1 -0
  39. package/dist/interface/assets/{vuetify.0.0.37.CgGsw6iO.css → vuetify.0.0.39.BMU5FWcv.css} +2 -2
  40. package/dist/interface/{axios.C-n2IhIP.0.0.37.js → axios.A8B9OaBI.0.0.39.js} +1 -1
  41. package/dist/interface/{backup.CqtNpJy-.0.0.37.js → backup.zxQT-QUB.0.0.39.js} +1 -1
  42. package/dist/interface/{dnd-core.DIQ_L4XD.0.0.37.js → dnd-core.DzbP3L03.0.0.39.js} +1 -1
  43. package/dist/interface/{draggabilly.8moxjF16.0.0.37.js → draggabilly.CZQEJIZA.0.0.39.js} +2 -2
  44. package/dist/interface/{engine.io-client.xF2IQK2w.0.0.37.js → engine.io-client.CF43lzPG.0.0.39.js} +1 -1
  45. package/dist/interface/{ev-emitter.CysgHE5H.0.0.37.js → ev-emitter.MaUUfWbo.0.0.39.js} +1 -1
  46. package/dist/interface/{fast-deep-equal.BmBCrSIY.0.0.37.js → fast-deep-equal.MattxcKw.0.0.39.js} +1 -1
  47. package/dist/interface/{highlight.js.Cse3vZID.0.0.37.js → highlight.js.CTUlL8NK.0.0.39.js} +1 -1
  48. package/dist/interface/index.html +32 -32
  49. package/dist/interface/{linkify-it.CSPzmHRc.0.0.37.js → linkify-it.CEUGOmX8.0.0.39.js} +1 -1
  50. package/dist/interface/main.Cn0OSGo3.0.0.39.js +5 -0
  51. package/dist/interface/{markdown-it.DKtKp3TO.0.0.37.js → markdown-it.BoMkMmpx.0.0.39.js} +1 -1
  52. package/dist/interface/{nprogress.CED_wbjE.0.0.37.js → nprogress.IoWBc-2H.0.0.39.js} +2 -2
  53. package/dist/interface/pinia.C6nkSx2n.0.0.39.js +5 -0
  54. package/dist/interface/{plugins.BqhbtRxC.0.0.37.js → plugins.BX6fkkXi.0.0.39.js} +1 -1
  55. package/dist/interface/{qrcode.Bsu6D8yQ.0.0.37.js → qrcode.DcxA8kpR.0.0.39.js} +1 -1
  56. package/dist/interface/react-dnd-touch-backend.BZ7RUPLh.0.0.39.js +1 -0
  57. package/dist/interface/redux.BFxtlG_c.0.0.39.js +1 -0
  58. package/dist/interface/rxjs.DSklvEf_.0.0.39.js +3 -0
  59. package/dist/interface/{socket.io-client.Ow5-keu6.0.0.37.js → socket.io-client.B1p1jCy1.0.0.39.js} +1 -1
  60. package/dist/interface/{socket.io-parser.B6LzUK7d.0.0.37.js → socket.io-parser.D--34e4A.0.0.39.js} +1 -1
  61. package/dist/interface/sw.js +1 -1
  62. package/dist/interface/{system.Bpf8vRhg.0.0.37.js → system.urUBVKEs.0.0.39.js} +1 -1
  63. package/dist/interface/{unidragger.DMP6wAil.0.0.37.js → unidragger.Cau04amP.0.0.39.js} +1 -1
  64. package/dist/interface/vee-validate.DTyH9YVQ.0.0.39.js +5 -0
  65. package/dist/interface/vue-i18n.DMLEf9uA.0.0.39.js +5 -0
  66. package/dist/interface/{vue-inline-svg.BCJeuRwm.0.0.37.js → vue-inline-svg.DlaAtqUH.0.0.39.js} +1 -1
  67. package/dist/interface/{vue-router.BGFfPf6E.0.0.37.js → vue-router.Dg3VWoln.0.0.39.js} +2 -2
  68. package/dist/interface/{vue3-apexcharts.C-OnUlah.0.0.37.js → vue3-apexcharts.CZjjRQ6m.0.0.39.js} +1 -1
  69. package/dist/interface/{vue3-dnd.ICmeDuU6.0.0.37.js → vue3-dnd.DI0vFvcT.0.0.39.js} +1 -1
  70. package/dist/interface/vue3-toastify.BuRDCgSx.0.0.39.js +1 -0
  71. package/dist/interface/{vuetify.D-J5mJoH.0.0.37.js → vuetify.BVIToxfp.0.0.39.js} +3 -3
  72. package/dist/interface/zod.Bn-rxnIN.0.0.39.js +1 -0
  73. package/dist/server/package.json +17 -17
  74. package/dist/server/requirements.txt +3 -3
  75. package/dist/server/src/api/controllers/plugins.controller.js +6 -0
  76. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  77. package/dist/server/src/api/database/index.d.ts +1 -2
  78. package/dist/server/src/api/database/index.js +2 -10
  79. package/dist/server/src/api/database/index.js.map +1 -1
  80. package/dist/server/src/api/database/migration.d.ts +9 -7
  81. package/dist/server/src/api/database/migration.js +25 -17
  82. package/dist/server/src/api/database/migration.js.map +1 -1
  83. package/dist/server/src/api/database/types.d.ts +2 -10
  84. package/dist/server/src/api/schemas/cameras.schema.d.ts +27 -27
  85. package/dist/server/src/api/schemas/cameras.schema.js +4 -3
  86. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  87. package/dist/server/src/api/services/cameras.service.js +6 -1
  88. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  89. package/dist/server/src/api/types/index.d.ts +1 -1
  90. package/dist/server/src/api/websocket/go2rtc.d.ts +21 -0
  91. package/dist/server/src/api/websocket/go2rtc.js +88 -0
  92. package/dist/server/src/api/websocket/go2rtc.js.map +1 -0
  93. package/dist/server/src/api/websocket/index.js +2 -2
  94. package/dist/server/src/api/websocket/index.js.map +1 -1
  95. package/dist/server/src/{nats/websocket.d.ts → api/websocket/nsp/proxy.d.ts} +2 -2
  96. package/dist/server/src/{nats/websocket.js → api/websocket/nsp/proxy.js} +5 -96
  97. package/dist/server/src/api/websocket/nsp/proxy.js.map +1 -0
  98. package/dist/server/src/api.d.ts +1 -0
  99. package/dist/server/src/api.js +18 -9
  100. package/dist/server/src/api.js.map +1 -1
  101. package/dist/server/src/camera/controller.d.ts +5 -3
  102. package/dist/server/src/camera/controller.js +51 -24
  103. package/dist/server/src/camera/controller.js.map +1 -1
  104. package/dist/server/src/camera/frameWorker.d.ts +3 -0
  105. package/dist/server/src/camera/frameWorker.js +29 -28
  106. package/dist/server/src/camera/frameWorker.js.map +1 -1
  107. package/dist/server/src/nats/index.d.ts +2 -2
  108. package/dist/server/src/nats/index.js.map +1 -1
  109. package/dist/server/src/nats/proxy/cameraDevice.js +1 -7
  110. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  111. package/dist/server/src/nats/proxy/deviceManager.js +1 -1
  112. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  113. package/dist/server/src/nats/types.d.ts +1 -1
  114. package/dist/server/src/plugins/index.d.ts +3 -0
  115. package/dist/server/src/plugins/index.js +54 -2
  116. package/dist/server/src/plugins/index.js.map +1 -1
  117. package/dist/server/src/plugins/plugin.d.ts +0 -1
  118. package/dist/server/src/plugins/plugin.js +3 -45
  119. package/dist/server/src/plugins/plugin.js.map +1 -1
  120. package/dist/server/src/plugins/schema.d.ts +34 -0
  121. package/dist/server/src/plugins/schema.js +420 -0
  122. package/dist/server/src/plugins/schema.js.map +1 -0
  123. package/dist/server/src/plugins/types.js +1 -1
  124. package/dist/server/src/plugins/types.js.map +1 -1
  125. package/dist/server/src/plugins/worker.js +1 -0
  126. package/dist/server/src/plugins/worker.js.map +1 -1
  127. package/package.json +17 -17
  128. package/dist/interface/@intlify.DXtFJcML.0.0.37.js +0 -15
  129. package/dist/interface/@vue.wgkVo4Dv.0.0.37.js +0 -17
  130. package/dist/interface/@vueuse.2HamOLJn.0.0.37.js +0 -1
  131. package/dist/interface/Account.clIfYsvc.0.0.37.js +0 -1
  132. package/dist/interface/Appearance.B_iIiX13.0.0.37.js +0 -1
  133. package/dist/interface/Camera.BQVfYqjf.0.0.37.js +0 -1
  134. package/dist/interface/FirstSteps.ACVl1YUc.0.0.37.js +0 -1
  135. package/dist/interface/Plugin.DSNa-dsJ.0.0.37.js +0 -1
  136. package/dist/interface/Recordings.BJ9wI939.0.0.37.js +0 -1
  137. package/dist/interface/Recordings.Cor_fP4L.0.0.37.js +0 -1
  138. package/dist/interface/Settings.BHnUj2BW.0.0.37.js +0 -1
  139. package/dist/interface/VConsole.BdUmxW2o.0.0.37.js +0 -1
  140. package/dist/interface/VPlayer.BiSpL_6T.0.0.37.js +0 -4
  141. package/dist/interface/ace-builds.CmFXyO5f.0.0.37.js +0 -970
  142. package/dist/interface/assets/FirstSteps.0.0.37.BHh3CorE.css +0 -1
  143. package/dist/interface/assets/NewCamera.0.0.37.Cq8GzeJ7.css +0 -1
  144. package/dist/interface/assets/VPlayer.0.0.37.BIILD8eX.css +0 -1
  145. package/dist/interface/assets/main.0.0.37.DRl1YTPA.css +0 -1
  146. package/dist/interface/main.D1Ojc9KP.0.0.37.js +0 -5
  147. package/dist/interface/pinia.x1QvUQ-r.0.0.37.js +0 -5
  148. package/dist/interface/react-dnd-touch-backend.CQubJErw.0.0.37.js +0 -1
  149. package/dist/interface/redux.CuxFRhX_.0.0.37.js +0 -1
  150. package/dist/interface/rxjs.Bcmqey9I.0.0.37.js +0 -3
  151. package/dist/interface/vee-validate.Dkt6nyxl.0.0.37.js +0 -5
  152. package/dist/interface/vue-i18n.DPS4cZ2Y.0.0.37.js +0 -5
  153. package/dist/interface/vue3-toastify.CPeE4NhL.0.0.37.js +0 -1
  154. package/dist/interface/zod.DnW1_kUe.0.0.37.js +0 -1
  155. package/dist/server/src/nats/websocket.js.map +0 -1
  156. /package/dist/interface/{@babel.l0sNRNKZ.0.0.37.js → @babel.l0sNRNKZ.0.0.39.js} +0 -0
  157. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.37.js → @react-dnd.CcwRs9xb.0.0.39.js} +0 -0
  158. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.37.js → @socket.io.Dkula2eQ.0.0.39.js} +0 -0
  159. /package/dist/interface/{@turf.l0sNRNKZ.0.0.37.js → @turf.l0sNRNKZ.0.0.39.js} +0 -0
  160. /package/dist/interface/{@xterm.CQrBDCzr.0.0.37.js → @xterm.CD6WS-S3.0.0.39.js} +0 -0
  161. /package/dist/interface/assets/{@vueform.0.0.37.CroAHJs8.css → @vueform.0.0.39.CroAHJs8.css} +0 -0
  162. /package/dist/interface/assets/{@xterm.0.0.37.CFbL2ovg.css → @xterm.0.0.39.CFbL2ovg.css} +0 -0
  163. /package/dist/interface/assets/{Adminpanel.0.0.37.a3t1v3MB.css → Adminpanel.0.0.39.a3t1v3MB.css} +0 -0
  164. /package/dist/interface/assets/{Backup.0.0.37.CX0rT0QJ.css → Backup.0.0.39.CX0rT0QJ.css} +0 -0
  165. /package/dist/interface/assets/{Cameras.0.0.37.Buf1Dgce.css → Cameras.0.0.39.Buf1Dgce.css} +0 -0
  166. /package/dist/interface/assets/{Camview.0.0.37.B7Cja2ry.css → Camview.0.0.39.B7Cja2ry.css} +0 -0
  167. /package/dist/interface/assets/{Config.0.0.37.DNGo2krN.css → Config.0.0.39.DNGo2krN.css} +0 -0
  168. /package/dist/interface/assets/{Console.0.0.37.Bh8l9QnM.css → Console.0.0.39.Bh8l9QnM.css} +0 -0
  169. /package/dist/interface/assets/{Plugins.0.0.37.DXSoO9M1.css → Plugins.0.0.39.DXSoO9M1.css} +0 -0
  170. /package/dist/interface/assets/{Settings.0.0.37.CVmui2kE.css → Settings.0.0.39.CVmui2kE.css} +0 -0
  171. /package/dist/interface/assets/{User.0.0.37.BiGtIFqt.css → User.0.0.39.BiGtIFqt.css} +0 -0
  172. /package/dist/interface/assets/{VConsole.0.0.37.BCqKHpmJ.css → VConsole.0.0.39.BCqKHpmJ.css} +0 -0
  173. /package/dist/interface/assets/{VPluginCard.0.0.37.C8Lj6X-J.css → VPluginCard.0.0.39.C8Lj6X-J.css} +0 -0
  174. /package/dist/interface/assets/{highlight.0.0.37.Ch2EwETz.css → highlight.0.0.39.Ch2EwETz.css} +0 -0
  175. /package/dist/interface/assets/{logo-256.0.0.37.BCQk9H1-.png → logo-256.0.0.39.BCQk9H1-.png} +0 -0
  176. /package/dist/interface/assets/{logo-512.0.0.37.DLKVOU2S.png → logo-512.0.0.39.DLKVOU2S.png} +0 -0
  177. /package/dist/interface/assets/{logo.0.0.37.DmEiRk0z.png → logo.0.0.39.DmEiRk0z.png} +0 -0
  178. /package/dist/interface/assets/{mode-json.0.0.37.Br7xisR1.js → mode-json.0.0.39.Br7xisR1.js} +0 -0
  179. /package/dist/interface/assets/{mode-yaml.0.0.37.CIYL8U3d.js → mode-yaml.0.0.39.CIYL8U3d.js} +0 -0
  180. /package/dist/interface/assets/{vue3-toastify.0.0.37.DHXAGmwn.css → vue3-toastify.0.0.39.DHXAGmwn.css} +0 -0
  181. /package/dist/interface/{birpc.l0sNRNKZ.0.0.37.js → birpc.l0sNRNKZ.0.0.39.js} +0 -0
  182. /package/dist/interface/{compare-versions.DqEOhma6.0.0.37.js → compare-versions.DqEOhma6.0.0.39.js} +0 -0
  183. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.37.js → dijkstrajs.D_NXgYpA.0.0.39.js} +0 -0
  184. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.37.js → engine.io-parser.BiEtp6m2.0.0.39.js} +0 -0
  185. /package/dist/interface/{entities.C20TfXL6.0.0.37.js → entities.C20TfXL6.0.0.39.js} +0 -0
  186. /package/dist/interface/{get-size.D1dS-IaP.0.0.37.js → get-size.D1dS-IaP.0.0.39.js} +0 -0
  187. /package/dist/interface/{hookable.B8xFkYCm.0.0.37.js → hookable.B8xFkYCm.0.0.39.js} +0 -0
  188. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.37.js → mdurl.k9Sl0PQj.0.0.39.js} +0 -0
  189. /package/dist/interface/{perfect-debounce.Cp2ysxOb.0.0.37.js → perfect-debounce.Cp2ysxOb.0.0.39.js} +0 -0
  190. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.37.js → point-in-polygon-hao.l0sNRNKZ.0.0.39.js} +0 -0
  191. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.37.js → punycode.js.Dj65hjkv.0.0.39.js} +0 -0
  192. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.37.js → react-dnd-html5-backend.1HQjlkwI.0.0.39.js} +0 -0
  193. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.37.js → sweepline-intersections.l0sNRNKZ.0.0.39.js} +0 -0
  194. /package/dist/interface/{tslib.9k7AwCpt.0.0.37.js → tslib.9k7AwCpt.0.0.39.js} +0 -0
  195. /package/dist/interface/{types.Cz9TaZAP.0.0.37.js → types.Cz9TaZAP.0.0.39.js} +0 -0
  196. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.37.js → uc.micro.kMc2yuuw.0.0.39.js} +0 -0
  197. /package/dist/interface/{utils.mAKpSMLY.0.0.37.js → utils.mAKpSMLY.0.0.39.js} +0 -0
  198. /package/dist/interface/{uuid.Ch9TGLTe.0.0.37.js → uuid.Ch9TGLTe.0.0.39.js} +0 -0
  199. /package/dist/interface/{vue.l0sNRNKZ.0.0.37.js → vue.l0sNRNKZ.0.0.39.js} +0 -0
@@ -3,12 +3,12 @@ import { container } from 'tsyringe';
3
3
  import { authorize } from '../middlewares/socketAuth.middleware.js';
4
4
  import { AuthService } from '../services/auth.service.js';
5
5
  import { API_EVENT } from '../../api.js';
6
- import { WebsocketProxy } from '../../nats/websocket.js';
7
6
  import { LogsNamespace } from './nsp/logs.js';
8
7
  import { MainNamespace } from './nsp/main.js';
9
8
  import { MetricsNamespace } from './nsp/metrics.js';
10
9
  import { NotificationsNamespace } from './nsp/notifications.js';
11
10
  import { PluginsNamespace } from './nsp/plugins.js';
11
+ import { CameraUiProxy } from './nsp/proxy.js';
12
12
  import { ServerNamespace } from './nsp/server.js';
13
13
  import { StatusNamespace } from './nsp/status.js';
14
14
  export class SocketService {
@@ -40,7 +40,7 @@ export class SocketService {
40
40
  this.namespaces.set('/logs', new LogsNamespace(this.io));
41
41
  this.namespaces.set('/status', new StatusNamespace(this.io));
42
42
  this.namespaces.set('/plugins', new PluginsNamespace(this.io));
43
- this.namespaces.set('/proxy', new WebsocketProxy(this.io));
43
+ this.namespaces.set('/proxy', new CameraUiProxy(this.io));
44
44
  for (const [nsp, contructor] of this.namespaces) {
45
45
  contructor.nsp.use(authorize({ secret: this.configService.SECRETS.jwtAccessKey })).on('connection', (socket) => this.setupConnection(socket, nsp));
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/websocket/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/websocket/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { CameraDeviceListenerMessagePayload } from '@camera.ui/plugineer';
2
2
  import type { StateValues } from '@camera.ui/types';
3
3
  import type { Namespace, Server } from 'socket.io';
4
- import type { SocketNsp } from '../api/websocket/types.js';
5
- export declare class WebsocketProxy {
4
+ import type { SocketNsp } from '../types.js';
5
+ export declare class CameraUiProxy {
6
6
  nsp: Namespace;
7
7
  nspName: SocketNsp;
8
8
  private logger;
@@ -1,91 +1,7 @@
1
1
  import { container } from 'tsyringe';
2
- import { WebSocket } from 'ws';
3
- import { CamerasService } from '../api/services/cameras.service.js';
4
- class Go2RTCBridge {
5
- logger;
6
- socket;
7
- go2rtcApi;
8
- id;
9
- url;
10
- sourceName;
11
- ws;
12
- mode;
13
- constructor(id, sourceName, url, socket, logger) {
14
- this.logger = logger;
15
- this.socket = socket;
16
- this.id = id;
17
- this.url = url;
18
- this.sourceName = sourceName;
19
- this.go2rtcApi = container.resolve('go2rtcApi');
20
- }
21
- connect() {
22
- this.logger.trace('Opening new go2rtc websocket connection to', this.url);
23
- this.ws = new WebSocket(this.url);
24
- this.ws.binaryType = 'arraybuffer';
25
- this.ws.on('open', () => {
26
- this.logger.trace(`Websocket connection to ${this.url} opened`);
27
- this.socket.emit('ws-open', { id: this.id });
28
- });
29
- this.ws.on('close', () => {
30
- this.logger.trace(`Websocket connection to ${this.url} closed`);
31
- this.socket.emit('ws-close', { id: this.id });
32
- });
33
- this.ws.on('error', (error) => {
34
- this.logger.error(`Can not connect to go2rtc websocket: ${this.url}`, error);
35
- });
36
- this.ws.on('message', async (data) => {
37
- if (data instanceof Buffer) {
38
- const jsonString = data.toString('utf8');
39
- const msg = JSON.parse(jsonString);
40
- if (msg?.type === 'hls') {
41
- msg.wsURL = this.url;
42
- }
43
- else if (msg?.type === 'webrtc/answer') {
44
- this.sendStreamInfo();
45
- }
46
- this.socket.emit('ws-message', { id: this.id, data: msg });
47
- }
48
- else if (data instanceof ArrayBuffer) {
49
- const msg = {
50
- type: `${this.mode}-binary`,
51
- wsURL: this.url,
52
- value: data,
53
- };
54
- this.socket.emit('ws-message', { id: this.id, data: msg });
55
- }
56
- });
57
- }
58
- reconnect() {
59
- this.close(false);
60
- this.connect();
61
- }
62
- close(destroy) {
63
- this.ws?.removeAllListeners();
64
- this.ws?.once('error', () => { });
65
- this.ws?.close();
66
- if (destroy) {
67
- this.logger.trace(`Websocket connection to ${this.url} closed and removed`);
68
- }
69
- else {
70
- this.logger.trace(`Websocket connection to ${this.url} closed`);
71
- }
72
- }
73
- send(data) {
74
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
75
- this.ws.send(JSON.stringify(data));
76
- }
77
- }
78
- async sendStreamInfo() {
79
- try {
80
- const streamInfo = await this.go2rtcApi.streamsApi.getStreamInfo({ src: this.sourceName });
81
- this.socket.emit('ws-message', { id: this.id, data: { type: 'stream-info', value: streamInfo } });
82
- }
83
- catch {
84
- //
85
- }
86
- }
87
- }
88
- export class WebsocketProxy {
2
+ import { CamerasService } from '../../services/cameras.service.js';
3
+ import { Go2RTCBridge } from '../go2rtc.js';
4
+ export class CameraUiProxy {
89
5
  nsp;
90
6
  nspName = '/proxy';
91
7
  logger;
@@ -191,14 +107,7 @@ export class WebsocketProxy {
191
107
  async sendMessage(socket, message) {
192
108
  const bridge = this.bridges.get(`${socket.encodedToken}-${message.id}`);
193
109
  if (bridge) {
194
- if (!bridge.mode) {
195
- if (message.data.type === 'webrtc/candidate' || message.data.type === 'webrtc/offer') {
196
- bridge.mode = 'webrtc';
197
- }
198
- else {
199
- bridge.mode = message.data.type;
200
- }
201
- }
110
+ bridge.mode = message.data.type === 'webrtc/candidate' || message.data.type === 'webrtc/offer' ? 'webrtc' : message.data.type;
202
111
  bridge.send(message.data);
203
112
  }
204
113
  }
@@ -215,4 +124,4 @@ export class WebsocketProxy {
215
124
  return validStateNames.includes(value);
216
125
  }
217
126
  }
218
- //# sourceMappingURL=websocket.js.map
127
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/proxy.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export declare class CameraUiAPI extends EventEmitter {
20
20
  addCamera(camera: Camera): Promise<CameraController>;
21
21
  getCamera(cameraIdOrName: string): CameraController | undefined;
22
22
  getCameras(pluginId?: string): CameraController[];
23
+ resetCameraState(cameraId: string, extension: CameraExtension): void;
23
24
  updateCamera(camera: Camera): void;
24
25
  removeCamera(camera: Camera, extensions: CameraExtensions): Promise<void>;
25
26
  selectCamera(pluginId: string, camera: Camera, extension: CameraExtension): void;
@@ -46,6 +46,22 @@ export class CameraUiAPI extends EventEmitter {
46
46
  }
47
47
  return cameraController;
48
48
  }
49
+ resetCameraState(cameraId, extension) {
50
+ const cameraController = this.cameraControllers.get(cameraId);
51
+ if (cameraController) {
52
+ switch (extension) {
53
+ case 'audioDetection':
54
+ cameraController.updateState('audio', { state: false, db: 0 }, undefined, true);
55
+ break;
56
+ case 'motionDetection':
57
+ cameraController.updateState('motion', { state: false, detections: [] }, undefined, true);
58
+ break;
59
+ case 'objectDetection':
60
+ cameraController.updateState('object', { detections: [] }, undefined, true);
61
+ break;
62
+ }
63
+ }
64
+ }
49
65
  updateCamera(camera) {
50
66
  const cameraController = this.cameraControllers.get(camera._id);
51
67
  cameraController?.updateCamera(camera);
@@ -54,8 +70,7 @@ export class CameraUiAPI extends EventEmitter {
54
70
  const pluginsService = new PluginsService();
55
71
  const cameraController = this.cameraControllers.get(camera._id);
56
72
  if (cameraController) {
57
- cameraController.cleanup();
58
- await cameraController.frameWorker.close();
73
+ cameraController.stop();
59
74
  for (const [extension, pluginName] of Object.entries(extensions)) {
60
75
  if (extension !== 'plugins') {
61
76
  const pluginNames = [];
@@ -90,14 +105,8 @@ export class CameraUiAPI extends EventEmitter {
90
105
  if (camera.pluginId === pluginId) {
91
106
  return;
92
107
  }
108
+ this.resetCameraState(camera._id, extension);
93
109
  const proxyServer = container.resolve('proxy');
94
- const cameraController = this.cameraControllers.get(camera._id);
95
- if (extension === 'motionDetection') {
96
- cameraController?.updateState('motion', { state: false, detections: [] });
97
- }
98
- else if (extension === 'objectDetection') {
99
- cameraController?.updateState('object', { detections: [] });
100
- }
101
110
  proxyServer.publishCameraEvent(camera._id, 'removed', undefined, `${camera._id}.camera.${pluginId}`);
102
111
  proxyServer.publishDeviceManagerEvent(pluginId, 'cameraDeselected', { camera, extension });
103
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CameraDevice, CameraPrebufferInterface, CameraPTZInterface } from '@camera.ui/plugineer';
1
+ import { CameraDevice, CameraPTZInterface } from '@camera.ui/plugineer';
2
2
  import { FrameWorker } from './frameWorker.js';
3
3
  import type { Logger } from '@camera.ui/common/logger';
4
4
  import type { Camera, CameraConfigInputSettings, CameraDelegate, CameraDeviceInternalSource, CameraDeviceSource, MotionFrame, ProbeConfig, ProbeStream, SetValues, VideoFrame } from '@camera.ui/types';
@@ -12,6 +12,7 @@ export declare class CameraController extends CameraDevice {
12
12
  private objectTimeoutDuration;
13
13
  private audioTimeout?;
14
14
  private audioTimeoutDuration;
15
+ private blockMotionResetEvents;
15
16
  private proxyServer;
16
17
  private go2rtcApi;
17
18
  private configService;
@@ -20,7 +21,6 @@ export declare class CameraController extends CameraDevice {
20
21
  private truncateIntervalMs;
21
22
  protected cameraDelegate: CameraDelegate;
22
23
  protected ptzDelegate: CameraPTZInterface;
23
- protected prebufferDelegate: CameraPrebufferInterface;
24
24
  get logPath(): string;
25
25
  get streamSource(): CameraDeviceSource;
26
26
  get camera(): Camera;
@@ -32,13 +32,14 @@ export declare class CameraController extends CameraDevice {
32
32
  getMotionFrames(): AsyncIterableIterator<MotionFrame>;
33
33
  connect(): Promise<void>;
34
34
  disconnect(): Promise<void>;
35
- updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T]): Promise<void>;
35
+ updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T], frame?: undefined, override?: boolean): Promise<void>;
36
36
  probeStream(sourceId: string, probeConfig?: ProbeConfig, refresh?: boolean): Promise<ProbeStream | undefined>;
37
37
  addCameraSource(source: CameraConfigInputSettings): Promise<void>;
38
38
  updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>): Promise<void>;
39
39
  removeCameraSource(sourceId: string): Promise<void>;
40
40
  updateCamera(updatedCamera: Camera): void;
41
41
  cleanup(): void;
42
+ stop(): void;
42
43
  writeLog(...args: any[]): void;
43
44
  private subscribeToCameraState;
44
45
  private subscribeToCameraChanges;
@@ -52,6 +53,7 @@ export declare class CameraController extends CameraDevice {
52
53
  private isCameraEvent;
53
54
  private generateAudioStreamInfo;
54
55
  private generateVideoStreamInfo;
56
+ private clearTimers;
55
57
  private writeHeader;
56
58
  private closeLogStream;
57
59
  private removeLogStream;
@@ -1,6 +1,6 @@
1
1
  import { generateSdp, getAudioCodecProperties, getVideoCodecProperties, isSameAudioStreamInfo, isSameVideoStreamInfo, normalizeAudioCodecs, normalizeVideoCodecs, } from '@camera.ui/common/camera';
2
2
  import { createSourceName, isEqual } from '@camera.ui/common/utils';
3
- import { CameraDevice, CameraInterface, CameraPrebufferInterface, CameraPTZInterface, RTSPSession, WeriftSession } from '@camera.ui/plugineer';
3
+ import { CameraDevice, CameraInterface, CameraPTZInterface, FMP4Session, RTSPSession, WeriftSession } from '@camera.ui/plugineer';
4
4
  import { pathExists } from 'fs-extra/esm';
5
5
  import { createWriteStream, ftruncate, read, rmSync } from 'node:fs';
6
6
  import { open, stat } from 'node:fs/promises';
@@ -21,6 +21,7 @@ export class CameraController extends CameraDevice {
21
21
  objectTimeoutDuration = 5;
22
22
  audioTimeout;
23
23
  audioTimeoutDuration = 5;
24
+ blockMotionResetEvents = false;
24
25
  proxyServer;
25
26
  go2rtcApi;
26
27
  configService;
@@ -29,7 +30,6 @@ export class CameraController extends CameraDevice {
29
30
  truncateIntervalMs = 1000 * 60 * 60 * 2;
30
31
  cameraDelegate;
31
32
  ptzDelegate;
32
- prebufferDelegate;
33
33
  get logPath() {
34
34
  return join(this.configService.LOGS_PATH, `camera-${this.id}.log`);
35
35
  }
@@ -46,9 +46,6 @@ export class CameraController extends CameraDevice {
46
46
  .map((source) => {
47
47
  return {
48
48
  ...source,
49
- getPrebufferingState: (container) => {
50
- return this.prebufferDelegate.getPrebufferingState(source.name, container);
51
- },
52
49
  probeStream: (probeConfig, refresh = false) => {
53
50
  return this.probeStream(source._id, probeConfig, refresh);
54
51
  },
@@ -58,6 +55,9 @@ export class CameraController extends CameraDevice {
58
55
  createRTSPSession: (options) => {
59
56
  return new RTSPSession(this, source, options);
60
57
  },
58
+ createFMP4Session: () => {
59
+ return new FMP4Session(this, source);
60
+ },
61
61
  getInternalSource: (type) => {
62
62
  return this.internalSources.find((s) => s._id === `${source._id}-${type}`);
63
63
  },
@@ -80,6 +80,9 @@ export class CameraController extends CameraDevice {
80
80
  createRTSPSession: (options) => {
81
81
  return new RTSPSession(this, source, options);
82
82
  },
83
+ createFMP4Session: () => {
84
+ return new FMP4Session(this, source);
85
+ },
83
86
  type: source.name.endsWith(' AAC') ? 'aac' : source.name.endsWith(' OPUS') ? 'opus' : 'pcma',
84
87
  };
85
88
  });
@@ -97,13 +100,11 @@ export class CameraController extends CameraDevice {
97
100
  this.logger.logStream = this.logStream;
98
101
  this.frameWorker = new FrameWorker(this, this.proxyServer.server.endpoints, this.proxyServer.auth.server);
99
102
  this.cameraDelegate = new CameraInterface(this.proxyRequest.bind(this));
100
- this.prebufferDelegate = new CameraPrebufferInterface(this.proxyRequest.bind(this));
101
103
  this.ptzDelegate = new CameraPTZInterface(this.proxyRequest.bind(this));
102
104
  this.addSubscriptions(this.subscribeToCameraState(), this.subscribeToCameraChanges(), this.subscribeToStateChanges('light', this.lightState), this.subscribeToStateChanges('motion', this.motionState), this.subscribeToStateChanges('audio', this.audioState), this.subscribeToStateChanges('object', this.objectState), this.subscribeToStateChanges('doorbell', this.doorbellState), this.subscribeToStateChanges('siren', this.sirenState));
103
105
  this.api.setMaxListeners(this.api.getMaxListeners() + 1);
104
106
  this.api.once(API_EVENT.SHUTDOWN, () => {
105
- this.closeLogStream();
106
- this.frameWorker.close();
107
+ this.cleanup();
107
108
  });
108
109
  }
109
110
  setDelegate() {
@@ -121,8 +122,11 @@ export class CameraController extends CameraDevice {
121
122
  async disconnect() {
122
123
  this.cameraState.next(false);
123
124
  }
124
- async updateState(stateName, eventData) {
125
- super.updateStateInternal(stateName, eventData, false);
125
+ async updateState(stateName, eventData, frame, override) {
126
+ if (!override && stateName === 'motion' && this.blockMotionResetEvents && !eventData.state) {
127
+ eventData.state = true;
128
+ }
129
+ super.updateStateInternal(stateName, eventData);
126
130
  }
127
131
  async probeStream(sourceId, probeConfig, refresh = false) {
128
132
  let streamInfo = this.streamInfos.get(sourceId);
@@ -164,9 +168,15 @@ export class CameraController extends CameraDevice {
164
168
  super.updateCamera(updatedCamera);
165
169
  }
166
170
  cleanup() {
167
- this.removeLogStream();
171
+ this.frameWorker.close();
172
+ this.closeLogStream();
168
173
  this.removeAllListeners();
169
174
  this.unsubscribe();
175
+ this.clearTimers();
176
+ }
177
+ stop() {
178
+ this.cleanup();
179
+ this.removeLogStream();
170
180
  this.triggerProxyEvent('removed');
171
181
  }
172
182
  writeLog(...args) {
@@ -217,6 +227,7 @@ export class CameraController extends CameraDevice {
217
227
  case 'doorbell':
218
228
  this.doorbellStateChange(oldState, newState);
219
229
  break;
230
+ default:
220
231
  }
221
232
  },
222
233
  error: (error) => {
@@ -227,26 +238,37 @@ export class CameraController extends CameraDevice {
227
238
  motionStateChange(oldState, newState) {
228
239
  if (oldState.state !== newState.state) {
229
240
  this.logger.log('Motion state changed:', newState.state);
230
- }
231
- clearTimeout(this.motionTimeout);
232
- if (newState.state) {
233
- const timeout = this.activitySettings.motion.timeout;
234
- this.motionTimeout = setTimeout(async () => {
235
- this.logger.debug(`Motion timeout reached ${timeout}s, resetting motion state`);
236
- super.updateStateInternal('motion', { detections: [], state: false }, true);
237
- }, timeout * 1000);
241
+ clearTimeout(this.motionTimeout);
242
+ if (newState.state) {
243
+ this.blockMotionResetEvents = true;
244
+ const timeout = this.activitySettings.motion.timeout;
245
+ this.logger.trace(`Blocking motion reset events for ${timeout}s`);
246
+ this.motionTimeout = setTimeout(async () => {
247
+ this.logger.trace(`Motion timeout reached after ${timeout}s, unblocking motion reset events and resetting motion state`);
248
+ this.blockMotionResetEvents = false;
249
+ super.updateStateInternal('motion', { detections: [], state: false }, true);
250
+ }, timeout * 1000);
251
+ }
252
+ else {
253
+ if (this.blockMotionResetEvents) {
254
+ this.logger.trace('Overriding motion reset event block, unblocking motion reset events');
255
+ this.blockMotionResetEvents = false;
256
+ }
257
+ }
238
258
  }
239
259
  }
240
260
  objectStateChange(oldState, newState) {
241
- const oldLabels = oldState.detections.map((detection) => detection.label);
242
- const newLabels = newState.detections.map((detection) => detection.label);
243
- // check if labels changes
244
- if (!isEqual(oldLabels, newLabels, true)) {
261
+ const lastEventLabels = Array.from(new Set(oldState.lastEvent?.detections.map((detection) => detection.label).filter(Boolean)));
262
+ const oldLabels = Array.from(new Set(oldState.detections.map((detection) => detection.label).filter(Boolean)));
263
+ const newLabels = Array.from(new Set(newState.detections.map((detection) => detection.label).filter(Boolean)));
264
+ const equalLabels = isEqual(oldLabels, newLabels, true);
265
+ const equalLastEventLabels = isEqual(lastEventLabels, newLabels, true);
266
+ if (!equalLabels && !equalLastEventLabels) {
245
267
  if (newLabels.length) {
246
268
  this.logger.log('Objects detected:', newLabels.join(', '));
247
269
  }
248
270
  else {
249
- this.logger.log('No objects detected');
271
+ // this.logger.log('No objects detected');
250
272
  }
251
273
  }
252
274
  clearTimeout(this.objectTimeout);
@@ -367,6 +389,11 @@ export class CameraController extends CameraDevice {
367
389
  }
368
390
  return videoStreamInfos;
369
391
  }
392
+ clearTimers() {
393
+ clearTimeout(this.motionTimeout);
394
+ clearTimeout(this.objectTimeout);
395
+ clearTimeout(this.audioTimeout);
396
+ }
370
397
  writeHeader() {
371
398
  const date = new Date().toLocaleString('en-US');
372
399
  const content = `${date}: ${this.name}`;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClI,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqC/C,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChC,WAAW,CAAc;IACzB,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,SAAS,CAAe;IAEhC,aAAa,CAAkB;IAC/B,aAAa,CAAkB;IAC/B,qBAAqB,GAAG,CAAC,CAAC;IAC1B,YAAY,CAAkB;IAC9B,oBAAoB,GAAG,CAAC,CAAC;IACzB,sBAAsB,GAAG,KAAK,CAAC;IAE/B,WAAW,CAAc;IACzB,SAAS,CAAY;IACrB,aAAa,CAAgB;IAC7B,GAAG,CAAc;IAEjB,gBAAgB,CAAkB;IAClC,kBAAkB,GAAW,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE9C,cAAc,CAAiB;IAC/B,WAAW,CAAqB;IAE1C,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAE,CAAC;IAC9F,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,MAAM,OAAO,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjG,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;aACpC,GAAG,CAAC,CAAC,MAAM,EAAsB,EAAE;YAClC,OAAO;gBACL,GAAG,MAAM;gBACT,WAAW,EAAE,CAAC,WAAyB,EAAE,OAAO,GAAG,KAAK,EAAoC,EAAE;oBAC5F,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,mBAAmB,EAAE,CAAC,OAAgC,EAAiB,EAAE;oBACvE,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;gBACD,iBAAiB,EAAE,CAAC,OAA+B,EAAe,EAAE;oBAClE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;gBACD,iBAAiB,EAAE,GAAgB,EAAE;oBACnC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBACD,iBAAiB,EAAE,CAAC,IAAwB,EAA8B,EAAE;oBAC1E,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAE,CAAC;gBAC9E,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,OAAO,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjG,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aACnC,GAAG,CAAC,CAAC,MAAM,EAA8B,EAAE;YAC1C,OAAO;gBACL,GAAG,MAAM;gBACT,WAAW,EAAE,CAAC,WAAyB,EAAE,OAAO,GAAG,KAAK,EAAoC,EAAE;oBAC5F,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,mBAAmB,EAAE,CAAC,OAAgC,EAAiB,EAAE;oBACvE,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;gBACD,iBAAiB,EAAE,CAAC,OAA+B,EAAe,EAAE;oBAClE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;gBACD,iBAAiB,EAAE,GAAgB,EAAE;oBACnC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;aAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,MAAc,EAAE,MAAc;QACxC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAc,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAc,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAY,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvF,IAAI,CAAC,WAAW,EAAE,CAAC;QAElB,IAAI,CAAC,MAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1G,IAAI,CAAC,cAAc,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,sBAAsB,EAAE,EAC7B,IAAI,CAAC,wBAAwB,EAAE,EAC/B,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,EACtD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EACxD,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,EACtD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EACxD,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAC5D,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CACvD,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEM,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEM,eAAe;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,WAAW,CAA4B,SAAY,EAAE,SAAuB,EAAE,KAAiB,EAAE,QAAkB;QAC9H,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAE,SAA4B,CAAC,KAAK,EAAE,CAAC;YAC9G,SAA4B,CAAC,KAAK,GAAG,IAAI,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,SAAgB,EAAE,SAAgB,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,WAAyB,EAAE,OAAO,GAAG,KAAK;QACnF,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;QAC9I,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAEtF,MAAM,eAAe,GAAsB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzF,MAAM,eAAe,GAAsB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzF,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAE1D,UAAU,GAAG;gBACX,GAAG;gBACH,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,eAAe;aACvB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,eAAe,CAAC,MAAiC;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAkB,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAEM,kBAAkB,CAAC,QAAgB,EAAE,MAA0C;QACpF,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1G,CAAC;IAEM,kBAAkB,CAAC,QAAgB;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;IAEM,YAAY,CAAC,aAAqB;QACvC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ,CAAC,GAAG,IAAW;QAC5B,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAC,WAAW;aACpB,IAAI,CACH,QAAQ,EAAE,EACV,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACxD;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACrB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB;QAC9B,OAAO,IAAI,CAAC,aAAa;aACtB,IAAI,CACH,QAAQ,EAAE,EACV,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CACzE;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,uBAAuB,CAA8B,SAAY,EAAE,YAA6C;QACtH,OAAO,YAAY;aAChB,IAAI,CACH,QAAQ,EAAE,EACV,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CACH;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAEtD,QAAQ,SAAS,EAAE,CAAC;oBAClB,KAAK,QAAQ;wBACX,IAAI,CAAC,iBAAiB,CAAC,QAAuB,EAAE,QAAuB,CAAC,CAAC;wBACzE,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,CAAC,iBAAiB,CAAC,QAAuB,EAAE,QAAuB,CAAC,CAAC;wBACzE,MAAM;oBACR,KAAK,OAAO;wBACV,IAAI,CAAC,gBAAgB,CAAC,QAAsB,EAAE,QAAsB,CAAC,CAAC;wBACtE,MAAM;oBACR,KAAK,UAAU;wBACb,IAAI,CAAC,mBAAmB,CAAC,QAAyB,EAAE,QAAyB,CAAC,CAAC;wBAC/E,MAAM;oBACR,QAAQ;gBACV,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;YACxF,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB,CAAC,QAAqB,EAAE,QAAqB;QACpE,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEzD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEjC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;gBAErD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,GAAG,CAAC,CAAC;gBAElE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;oBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,8DAA8D,CAAC,CAAC;oBACzH,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9E,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;oBACzF,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAqB,EAAE,QAAqB;QACpE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/G,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAEvE,IAAI,CAAC,WAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,0CAA0C;YAC5C,CAAC;QACH,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC3C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBACzC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAoB,EAAE,QAAoB;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBACxC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,QAAuB,EAAE,QAAuB;QAC1E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAIO,iBAAiB,CACvB,SAAyE,EACzE,QAA4D,EAC5D,QAAkD;QAElD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAuD,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAuD,EAAE,QAAQ,CAAC,CAAC;QAClH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAgB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAW,EAAE,EAAO,EAAE,OAAc,EAAE;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACrF,CAAC;IAEO,aAAa,CAAC,SAAqD;QACzE,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,aAAa,CAAC;IAC3F,CAAC;IAEO,uBAAuB,CAAC,SAA2B;QACzD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAkG,CAAC;oBACvJ,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAA4B,CAAC;oBACtE,MAAM,SAAS,GAAG,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;oBACzE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBAEhE,IAAI,WAAoC,CAAC;oBAEzC,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;wBAC3E,WAAW,GAAG,MAAM,EAAE,KAAK,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;wBAC/E,WAAW,GAAG,QAAQ,EAAE,KAAK,CAAC;oBAChC,CAAC;oBAED,MAAM,OAAO,GAAwB,WAAW;wBAC9C,CAAC,CAAC;4BACE,KAAK,EAAE,WAAW,CAAC,UAAU;4BAC7B,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,IAAI,EAAE,WAAW,CAAC,WAAW;yBAC9B;wBACH,CAAC,CAAC,SAAS,CAAC;oBAEd,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAE3D,MAAM,IAAI,GAAoB;wBAC5B,KAAK;wBACL,WAAW;wBACX,UAAU;wBACV,SAAS;qBACV,CAAC;oBAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClH,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACtB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,uBAAuB,CAAC,SAA2B;QACzD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9B,cAAc;oBACd,6BAA6B;oBAC7B,qCAAqC;oBACrC,oCAAoC;oBACpC,KAAK;oBAEL,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAA6D,CAAC;oBAClH,MAAM,SAAS,GAAG,UAAU,CAAC;oBAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBAEhE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;oBAC/E,MAAM,WAAW,GAAG,QAAQ,EAAE,KAAK,CAAC;oBACpC,MAAM,OAAO,GAAwB,WAAW;wBAC9C,CAAC,CAAC;4BACE,KAAK,EAAE,WAAW,CAAC,UAAU;4BAC7B,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,IAAI,EAAE,WAAW,CAAC,WAAW;yBAC9B;wBACH,CAAC,CAAC,SAAS,CAAC;oBAEd,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAE3D,MAAM,IAAI,GAAoB;wBAC5B,KAAK;wBACL,WAAW;wBACX,UAAU;wBACV,SAAS;qBACV,CAAC;oBAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClH,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACtB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,WAAW;QACjB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,cAAc;QACpB,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,MAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;IAChD,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,QAAQ;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,UAAU;QAEvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,QAAQ,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;gBAC5B,uFAAuF;gBACvF,OAAO;YACT,CAAC;YAED,wEAAwE;YAExE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAC/E,MAAM,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACxC,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;oBAAS,CAAC;gBACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;YAED,wDAAwD;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
@@ -16,6 +16,7 @@ export declare class FrameWorker extends Subscribed {
16
16
  private configService;
17
17
  private socketService;
18
18
  private cameraController;
19
+ private logBuffer;
19
20
  private frameWorker?;
20
21
  private initialized;
21
22
  private stopped;
@@ -39,4 +40,6 @@ export declare class FrameWorker extends Subscribed {
39
40
  private onChildMessage;
40
41
  private setStatus;
41
42
  private createPythonPath;
43
+ private handleLogData;
44
+ private writeProcessLog;
42
45
  }