@camera.ui/server 2.0.23 → 2.0.24

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 (146) hide show
  1. package/dist/interface/assets/{404-junY0N5P.js → 404-CRIhzt2J.js} +1 -1
  2. package/dist/interface/assets/{About-Dwc0TTLa.js → About-CvY4xvAU.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-wZGtsPD-.js → Adminpanel-4ilp8plp.js} +1 -1
  4. package/dist/interface/assets/{Automation-Dj6xmGae.js → Automation-uaWWTeTZ.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-Ccnxyslc.js → AutomationImport-RNgRv6Uc.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-DmbxA0ml.js → AutomationStore-D8plMzVI.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DcbvD8g5.js → AutomationStoreDetail-BO-9XCRn.js} +2 -2
  8. package/dist/interface/assets/{Automations-C9JJO6dy.js → Automations-PHMVe6wG.js} +2 -2
  9. package/dist/interface/assets/{Camera-D_j0J3kB.js → Camera-Akukeq4_.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole--hGg9Ye6.js → CameraConsole-BnKiGukm.js} +1 -1
  11. package/dist/interface/assets/{Cameras-B2Tizr4Q.js → Cameras-BuHNAHpD.js} +1 -1
  12. package/dist/interface/assets/{Camview-Bh2UCnGC.js → Camview-dF8o0iy2.js} +1 -1
  13. package/dist/interface/assets/{Config-Dn_s2M7r.js → Config-iq-YI9Vg.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionCameraControl-DQEYHVN5.js → ConfigActionCameraControl-C2qva2mT.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-C0mbjCCj.js → ConfigActionDelay-C02w0yBx.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-Bf58WHcw.js → ConfigActionHttp-DVf26mYG.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-CDXVFrOz.js → ConfigActionImageInput-BTlFV7kK.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-lH7MQqWr.js → ConfigActionMqtt-CD9RW5Lq.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-CAkr6NJX.js → ConfigActionNotification-CjbIPrEb.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotificationControl-CiL-4Ytw.js → ConfigActionNotificationControl-BCdKNvgC.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionOutput-ILAxBT-r.js → ConfigActionOutput-wV9RFDQO.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-B2d4mZiK.js → ConfigActionPlugin-DijuNALK.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-BxMdsmRa.js → ConfigActionSensor-C9q3sRuI.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-CXVQBSzv.js → ConfigActionSnapshot-B79IJLFV.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-CABnlnMv.js → ConfigActionVariable-Do94c7oi.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-Cxu7TSdJ.js → ConfigConditionIfElse-BtbZhnCM.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-rB7I04Gb.js → ConfigConditionSensorState-D1V_FhNU.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-CU0hLo1h.js → ConfigConditionSwitch-C74dDt3R.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-DfeEvxIU.js → ConfigConditionTime-5IrJQgAV.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-wXiyU3Sc.js → ConfigSensorValueInput-BcbzMf0g.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-DFJpuWrs.js → ConfigTriggerDetection-ld9Upgoc.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerGeofence-CZwesOD8.js → ConfigTriggerGeofence-DbfBc1AM.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerManual-aibwYUtf.js → ConfigTriggerManual-t-J-HbqF.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-CUNgifGb.js → ConfigTriggerMqtt-i57J8-Nq.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-8Y_OBcB1.js → ConfigTriggerSchedule-Dv7wIG3G.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-Bu-YtGnX.js → ConfigTriggerSensor-Ba2lCSGc.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-CXNvmC4S.js → ConfigTriggerSystem-BWs3rP_W.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-CkZ-_ABi.js → ConfigTriggerWebhook-CpQakeYG.js} +1 -1
  39. package/dist/interface/assets/{Console-CG8eRDA4.js → Console-BTb5Yc32.js} +1 -1
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-Ux0g-E3w.js → CuiAutomationRunsDialog-DX0xpNxx.js} +1 -1
  41. package/dist/interface/assets/CuiBottomSheet-Bu0PtwX-.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-C-ZN_uXE.js → CuiBottomSheet-DIg-nl0p.js} +1 -1
  43. package/dist/interface/assets/{CuiCameraPipCard-B-B6Ppsd.js → CuiCameraPipCard-q3yeptLd.js} +1 -1
  44. package/dist/interface/assets/{CuiCameraRecordings-DqVdR9uS.js → CuiCameraRecordings-BWN8gBl4.js} +1 -1
  45. package/dist/interface/assets/{CuiCameraShares-DstoVjf9.js → CuiCameraShares-BggG5Ic_.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraTable-BHaCRB65.js → CuiCameraTable-BCrE4TMJ.js} +1 -1
  47. package/dist/interface/assets/{CuiDataTable-CTT9IFeR.js → CuiDataTable-Dk8LJl5S.js} +1 -1
  48. package/dist/interface/assets/{CuiLightControl-B_JIzm9t.js → CuiLightControl-CaIl2eCO.js} +1 -1
  49. package/dist/interface/assets/{CuiList-CDed3qXV.js → CuiList-Cjbxtb1E.js} +1 -1
  50. package/dist/interface/assets/{CuiPluginCard-7aXQznrX.js → CuiPluginCard-cvZkF8Cz.js} +2 -2
  51. package/dist/interface/assets/{CuiPluginCategoryChip-C2Y8x73q.js → CuiPluginCategoryChip-DsEuwQrw.js} +1 -1
  52. package/dist/interface/assets/{CuiPluginOAuthButton-CCzRlZP6.js → CuiPluginOAuthButton-Bbwly_xJ.js} +2 -2
  53. package/dist/interface/assets/{CuiPluginTrustBadge-C8qBdLCg.js → CuiPluginTrustBadge-BC6F9f-3.js} +1 -1
  54. package/dist/interface/assets/{CuiQRCode-D52Fcu61.js → CuiQRCode-DKHFwuhr.js} +1 -1
  55. package/dist/interface/assets/{CuiRecordingsGrid-CfuihmlY.js → CuiRecordingsGrid-DSf7RXci.js} +1 -1
  56. package/dist/interface/assets/{CuiSchema-DTIuxROi.js → CuiSchema-Dda4lNPz.js} +1 -1
  57. package/dist/interface/assets/{CuiTopNavbarItem-CoTQmfY7.js → CuiTopNavbarItem-BZawroJz.js} +1 -1
  58. package/dist/interface/assets/{Faces-EtBPS1Ve.js → Faces-CvQCD53E.js} +1 -1
  59. package/dist/interface/assets/{FirstSteps-CC0BPH40.js → FirstSteps-Dg0Bvjs2.js} +1 -1
  60. package/dist/interface/assets/{Instances-dSYERqIc.js → Instances-DisNu3zt.js} +1 -1
  61. package/dist/interface/assets/{Logs-B8d6dEt7.js → Logs-DSSDjAY-.js} +1 -1
  62. package/dist/interface/assets/Menu-CJ-MMxvd.js +1 -0
  63. package/dist/interface/assets/{OAuthDeviceFlow-YhwV_FSL.js → OAuthDeviceFlow-CKTokRaq.js} +1 -1
  64. package/dist/interface/assets/{Plugin-Brb6wfq-.js → Plugin-7daLGUVo.js} +1 -1
  65. package/dist/interface/assets/{PluginConsole-CfyZQVq5.js → PluginConsole-CcRMneFa.js} +1 -1
  66. package/dist/interface/assets/{PluginDetail-DVRnnauk.js → PluginDetail-B1-NdurE.js} +2 -2
  67. package/dist/interface/assets/{PluginSchema-i6UJfMnh.js → PluginSchema-CP0JWUSD.js} +1 -1
  68. package/dist/interface/assets/{PluginSearch-PDx47aUx.js → PluginSearch-BHN0J_JP.js} +2 -2
  69. package/dist/interface/assets/PluginSearch-Cx_lzDqC.js +1 -0
  70. package/dist/interface/assets/{Plugins-CukJohcb.js → Plugins-DnMPdcQF.js} +1 -1
  71. package/dist/interface/assets/{Recordings-m6jxYvRI.js → Recordings-Dxs3srmh.js} +1 -1
  72. package/dist/interface/assets/{SensorEdit-BJAijbmc.js → SensorEdit-Dq2nV1Wf.js} +1 -1
  73. package/dist/interface/assets/{SensorHistory-DW00ZuHR.js → SensorHistory-BeCbNWJh.js} +1 -1
  74. package/dist/interface/assets/{Sensors-Lfafn19i.js → Sensors-D9DLdMaD.js} +2 -2
  75. package/dist/interface/assets/{Settings-DHT8KXi2.js → Settings-DCHoD7r8.js} +1 -1
  76. package/dist/interface/assets/{SettingsAccount-DOd4JeGd.js → SettingsAccount-BrhnlNuF.js} +1 -1
  77. package/dist/interface/assets/SettingsAccount-djLxmQ9r.js +1 -0
  78. package/dist/interface/assets/{SettingsAppearance-11UFhRDY.js → SettingsAppearance-Bq-xM16S.js} +1 -1
  79. package/dist/interface/assets/SettingsAppearance-JKbe5xiH.js +1 -0
  80. package/dist/interface/assets/{SettingsBackup-CBBZV_nU.js → SettingsBackup-CjlVk3hF.js} +1 -1
  81. package/dist/interface/assets/{SettingsList-Dx9DHGq9.js → SettingsList-C4mMOKJh.js} +1 -1
  82. package/dist/interface/assets/{SettingsMqtt-BglQ_GeN.js → SettingsMqtt-DoYFVHoD.js} +1 -1
  83. package/dist/interface/assets/{SettingsNotifications-96czeGDD.js → SettingsNotifications-Cmr9Bvy0.js} +1 -1
  84. package/dist/interface/assets/{SettingsPermissions-CU4OVllA.js → SettingsPermissions-D33G-1kM.js} +1 -1
  85. package/dist/interface/assets/{SettingsRecordings-BrnU9hrb.js → SettingsRecordings-DYiuW0rA.js} +1 -1
  86. package/dist/interface/assets/{SettingsRemote-CwJw_9HX.js → SettingsRemote-CROA1Oa7.js} +1 -1
  87. package/dist/interface/assets/{SettingsSystem-B3nne5fS.js → SettingsSystem-rgucO68X.js} +2 -2
  88. package/dist/interface/assets/{SettingsUsers-CoYyAxxn.js → SettingsUsers-2uMPOpyC.js} +1 -1
  89. package/dist/interface/assets/{Terminal-DMAHgufw.js → Terminal-BMFWoJ_k.js} +1 -1
  90. package/dist/interface/assets/{VariableInput-BzWLKBgd.js → VariableInput-Cx9tgiM4.js} +1 -1
  91. package/dist/interface/assets/{VariableSuggestions-BdxcP_dn.js → VariableSuggestions-DV_QjTtU.js} +1 -1
  92. package/dist/interface/assets/{VersionsHandler-Dvy5Lv-E.js → VersionsHandler-v4hH23M_.js} +1 -1
  93. package/dist/interface/assets/{VirtualSensorCreate-BXz0lWNm.js → VirtualSensorCreate-DhuGE1Mf.js} +1 -1
  94. package/dist/interface/assets/{Workers-DqeKkdpa.js → Workers-DyJXudfY.js} +1 -1
  95. package/dist/interface/assets/{api-DmxTF6VE.js → api-BKU9IS3U.js} +1 -1
  96. package/dist/interface/assets/{api-milc5VEE.js → api-Cc-rMHwl.js} +2 -2
  97. package/dist/interface/assets/{auth-DwSrX8QL.js → auth-B4latCDR.js} +1 -1
  98. package/dist/interface/assets/{automations-yVPQAmFo.js → automations-BFkAMu3Y.js} +1 -1
  99. package/dist/interface/assets/{cameras.schema-JAiaenSf.js → cameras.schema-BtaT3B32.js} +1 -1
  100. package/dist/interface/assets/cloudHandoff-CPrXpD0L.js +1 -0
  101. package/dist/interface/assets/{config-BE0DnCXx.js → config-B_lj3Myj.js} +1 -1
  102. package/dist/interface/assets/{flowSchema-BQp77LdP.js → flowSchema-CyZseAPD.js} +1 -1
  103. package/dist/interface/assets/{main-CqhwDjRG.js → main-C4qjk6s5.js} +2 -2
  104. package/dist/interface/assets/{mqtt-D_shY0Ks.js → mqtt-CFw_CCq8.js} +1 -1
  105. package/dist/interface/assets/{notifications-BuSNpaOJ.js → notifications-0_glcRlR.js} +1 -1
  106. package/dist/interface/assets/{plugins-7pWXkYgo.js → plugins-ICpmsguj.js} +1 -1
  107. package/dist/interface/assets/{round-restart-alt-DKWwojYm.js → round-restart-alt-CxUkNgtt.js} +1 -1
  108. package/dist/interface/assets/{sensors-CLQG1mQt.js → sensors-Bh5GuQ78.js} +1 -1
  109. package/dist/interface/assets/{server-Bv5NVJ0G.js → server-DbpDC3pc.js} +1 -1
  110. package/dist/interface/assets/{theme-DsxRUmCC.js → theme-DlMdsvGC.js} +1 -1
  111. package/dist/interface/assets/{types-CoXm85So.js → types-C1VwkReu.js} +1 -1
  112. package/dist/interface/assets/{types-BazOcNe_.js → types-CggzoTPX.js} +1 -1
  113. package/dist/interface/assets/{useAppVersion-oPpW7jcN.js → useAppVersion-CCxZnwIP.js} +1 -1
  114. package/dist/interface/assets/{useBackupRestore-b0Niqql7.js → useBackupRestore-DQQc_D6D.js} +1 -1
  115. package/dist/interface/assets/{useCameraOptions-uf9Kog6z.js → useCameraOptions-DVlhUpbE.js} +1 -1
  116. package/dist/interface/assets/{useElectron-Dg8tFzam.js → useElectron-KnqvZz0q.js} +1 -1
  117. package/dist/interface/assets/{useLogsSocket-9jJ-oJIm.js → useLogsSocket-CUQwZ6wm.js} +1 -1
  118. package/dist/interface/assets/{usePermissions-xL0VlbyD.js → usePermissions-C3D3JcPH.js} +1 -1
  119. package/dist/interface/assets/{useServerRestart-3AZOTz7i.js → useServerRestart-CqZRPCpR.js} +1 -1
  120. package/dist/interface/assets/{useStreamStatus-Dg-Djura.js → useStreamStatus-CVJFHRLZ.js} +1 -1
  121. package/dist/interface/assets/{useUserOptions-BQnM3gdi.js → useUserOptions-drl3-JUC.js} +1 -1
  122. package/dist/interface/assets/{vendor-cameraui-BqkrW4Bb.js → vendor-cameraui-Cgb5z6NJ.js} +1 -1
  123. package/dist/interface/assets/{vendor-core-BQegq2Q6.js → vendor-core-BJsSXMFQ.js} +1 -1
  124. package/dist/interface/assets/{vendor-primevue-DYzLjOFZ.js → vendor-primevue-CyD8V_Ft.js} +1 -1
  125. package/dist/interface/index.html +20 -20
  126. package/dist/interface/sw.js +1 -1
  127. package/dist/server/package.json +1 -1
  128. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +7 -5
  129. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
  130. package/dist/server/src/plugins/runtime/node/storage.js +8 -5
  131. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
  132. package/dist/server/src/plugins/runtime/node/storageController.d.ts +1 -3
  133. package/dist/server/src/plugins/runtime/node/storageController.js +7 -24
  134. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
  135. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +8 -5
  136. package/dist/server/src/plugins/runtime/python/storage.py +11 -6
  137. package/dist/server/src/plugins/runtime/python/storage_controller.py +6 -37
  138. package/dist/server/src/sensors/registry.js +7 -1
  139. package/dist/server/src/sensors/registry.js.map +1 -1
  140. package/package.json +1 -1
  141. package/dist/interface/assets/CuiBottomSheet-RUyuBxJZ.js +0 -1
  142. package/dist/interface/assets/Menu-CejIVz_7.js +0 -1
  143. package/dist/interface/assets/PluginSearch-C1YL9q00.js +0 -1
  144. package/dist/interface/assets/SettingsAccount-vrwV9rtP.js +0 -1
  145. package/dist/interface/assets/SettingsAppearance-BaDwC_h_.js +0 -1
  146. package/dist/interface/assets/cloudHandoff-QtPEpiS4.js +0 -1
@@ -1076,7 +1076,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1076
1076
  stroke: dt('progressspinner.color.four');
1077
1077
  }
1078
1078
  }
1079
- `,classes:{root:`p-progressspinner`,spin:`p-progressspinner-spin`,circle:`p-progressspinner-circle`}}),jb={name:`ProgressSpinner`,extends:{name:`BaseProgressSpinner`,extends:dy,props:{strokeWidth:{type:String,default:`2`},fill:{type:String,default:`none`},animationDuration:{type:String,default:`2s`}},style:Ab,provide:function(){return{$pcProgressSpinner:this,$parentInstance:this}}},inheritAttrs:!1,computed:{svgStyle:function(){return{"animation-duration":this.animationDuration}}}},Mb=[`fill`,`stroke-width`];function Nb(e,t,n,r,i,a){return O(),z(`div`,q({class:e.cx(`root`),role:`progressbar`},e.ptmi(`root`)),[(O(),z(`svg`,q({class:e.cx(`spin`),viewBox:`25 25 50 50`,style:a.svgStyle},e.ptm(`spin`)),[R(`circle`,q({class:e.cx(`circle`),cx:`50`,cy:`50`,r:`20`,fill:e.fill,"stroke-width":e.strokeWidth,strokeMiterlimit:`10`},e.ptm(`circle`)),null,16,Mb)],16))],16)}jb.render=Nb;function Pb(e={}){let{releaseDelay:t=1e3,onRelease:n}=e,r=new Map,i=new Map;function a(e){let t=i.get(e);t&&(clearTimeout(t),i.delete(e))}function o(e){let t=r.get(e);if(t){try{n?.(e,t.value)}catch{}r.delete(e)}i.delete(e)}function s(e,t){a(e);let n=r.get(e);if(n)return n.refCount++,n.value;let i=t();return r.set(e,{value:i,refCount:1}),i}function c(e){let n=r.get(e);if(n&&(n.refCount--,n.refCount<=0)){let n=setTimeout(()=>{let t=r.get(e);t&&t.refCount<=0?o(e):i.delete(e)},t);i.set(e,n)}}function l(e){return r.get(e)?.value}function u(e){return r.has(e)}function d(e){a(e),o(e)}function f(){for(let e of i.keys())a(e);for(let e of r.keys())o(e)}function p(e){return r.get(e)?.refCount??0}function m(e){for(let[t,n]of r)e(n.value,t)}return{acquire:s,release:c,get:l,has:u,forceRelease:d,clear:f,getRefCount:p,forEachValue:m}}function Fb(){let e=ge(kS);if(!e)throw Error(`[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.`);return e}function Ib(e){return e.replace(/ /g,`_`).toLowerCase()}function Lb(e,t){return`cui_${Ib(e)}_${Ib(t)}`}var Rb=class{static coreManagerNamespaces(){return{coreManagerSubject:`coreManager.subscriber`,coreManagerRpc:`coreManager.rpc`}}static deviceManagerNamespaces(){return{deviceManagerSubject:`deviceManager.subscriber`,deviceManagerRpc:`deviceManager.rpc`}}static discoveryManagerNamespaces(){return{discoveryManagerSubject:`discoveryManager.subscriber`,discoveryManagerRpc:`discoveryManager.rpc`}}static pluginNamespaces(e){return{pluginDeviceManagerSubject:`plugin.${e}.deviceManager.subscriber`,pluginChildRpc:`plugin.${e}.child.rpc`,pluginChild:`plugin.${e}.child`,pluginStorageRpc:`plugin.${e}.storage.rpc`,pluginConfigStoreRpc:`plugin.${e}.configstore.rpc`}}static pluginFileServeRpc(e){return`plugin.${e}.fileserve.rpc`}static cameraNamespaces(e){return{cameraSubject:`camera.${e}.subscriber`,cameraControllerRpc:`camera.${e}.controller.rpc`}}static frameWorkerNamespaces(e){return{frameWorkerChildRpc:`camera.${e}.frameWorker.child.rpc`,frameWorkerChild:`camera.${e}.frameWorker.child`}}static pluginCameraNamespaces(e,t){return{cameraInterfacesRpc:`plugin.${e}.camera.${t}.cameraInterfaces.rpc`,cameraStorageRpc:`plugin.${e}.camera.${t}.cameraStorage.rpc`,cameraImplRpc:`plugin.${e}.camera.${t}.impl.rpc`}}static pluginSensorNamespaces(e,t){return{sensorStorageRpc:`plugin.${e}.sensor.${t}.storage.rpc`}}static sensorRegistryNamespaces(){return{sensorsSubject:`sensors.subject`,sensorsRpc:`sensors.rpc`}}static sensorCameraViewNamespaces(e){return{sensorWriteSubject:`camera.${e}.sensors.writes`}}static sensorEventNamespaces(e){return{sensorSubject:`sensor.${e}.subject`}}static sensorProviderNamespaces(e,t){return{sensorRpc:`plugin.${e}.sensor.${t}.rpc`}}static legacySensorNamespaces(e){return{sensorSubject:`camera.${e}.sensors.subject`,sensorRpc:`camera.${e}.sensors.rpc`}}static frameWorkerDetectionNamespaces(e){return{detectionRpc:`camera.${e}.frameWorker.detection.rpc`}}static detectionEventNamespaces(e){return{detectionEventSubject:`camera.${e}.events.subject`}}static terminalManagerNamespaces(){return{terminalManagerSubject:`terminalManager.subscriber`,terminalManagerRpc:`terminalManager.rpc`}}static downloadManagerNamespaces(){return{downloadManagerRpc:`downloadManager.rpc`}}static notificationManagerNamespaces(){return{notificationsPublishSubject:`notifications.publish`}}static workerAgentRpc(e){return`worker.${e}.rpc`}static workerManagerRpc(){return`workers.manager.rpc`}static workerSync(e){return`worker.${e}.sync`}static workerDisconnect(){return`workers.disconnect`}static workerLogs(){return`workers.logs`}},zb=3,Bb=3e4;async function Vb(e,t,n={}){let r=n.maxRetries??zb,i=n.awaitConnect??!0,a=n.connectTimeoutMs??Bb,o=n.retryDelayMs??Hb,s=n.shouldRetry??Ub,c=n.signal,l;for(let n=0;n<=r;n++){if(c?.aborted)throw Kb();let u=e.value;if(!u){if(!i)throw Error(`rpc: not connected`);u=await Wb(e,a,c)}try{return await t(u)}catch(e){if(l=e,n>=r||!s(e,n))throw e;await Gb(o(n),c)}}throw l??Error(`rpc: max retries exceeded`)}function Hb(e){return Math.min(100*2**e,1e3)}function Ub(e){if(!(e instanceof Error))return!1;let t=e.code;if(t===`TIMEOUT`||t===`CONNECTION_CLOSED`)return!0;let n=e.message.toLowerCase();return!!(n.includes(`not connected`)||n.includes(`connection closed`)||n.includes(`no responders`)||n.includes(`connection refused`)||n.includes(`socket`)||n.includes(`timed out`)||n.includes(`timeout`))}async function Wb(e,t,n){return e.value?e.value:new Promise((r,i)=>{let a=setTimeout(()=>{s(),n?.removeEventListener(`abort`,o),i(Error(`rpc: connect timeout`))},t),o=()=>{clearTimeout(a),s(),i(Kb())};n?.addEventListener(`abort`,o,{once:!0});let s=G(e,e=>{e&&(clearTimeout(a),s(),n?.removeEventListener(`abort`,o),r(e))})})}async function Gb(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Kb());return}let i=setTimeout(()=>{t?.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),r(Kb())};t?.addEventListener(`abort`,a,{once:!0})})}function Kb(){if(typeof DOMException<`u`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}var qb=5e3,Jb=new Map,Yb=new Map,Xb=new Map,Zb=new Map;function Qb(e){Zb.get(e)?.forEach(e=>e())}function $b(e){setTimeout(()=>URL.revokeObjectURL(e),qb)}function ex(e,t,n){let r=Xb.get(e);r&&($b(r),Xb.delete(e)),Jb.set(e,t),n!==void 0&&Yb.set(e,n),Qb(e)}function tx(e){return Jb.get(e)}function nx(e,t){return Zb.has(e)||Zb.set(e,new Set),Zb.get(e).add(t),()=>{Zb.get(e)?.delete(t)}}function rx(e){let t=Jb.get(e);if(!t)return;let n=Xb.get(e);return n||(n=URL.createObjectURL(new Blob([t],{type:`image/jpeg`})),Xb.set(e,n)),n}function ix(){for(let e of Xb.values())URL.revokeObjectURL(e);Xb.clear(),Jb.clear(),Yb.clear()}function ax(e){let{isConnected:t}=Fb(),n=sx(),r=V(),i=B(!1),a=B(!1),o=W(()=>{if(!r.value)return;let t=U(e);return rx(typeof t==`string`?t:t._id)}),s=W(()=>{if(!r.value)return;let t=U(e),n=typeof t==`string`?t:t._id;return Yb.get(n)});function c(e){Zb.has(e)||Zb.set(e,new Set);let t=()=>{r.value=Jb.get(e)};return Zb.get(e).add(t),()=>{Zb.get(e)?.delete(t)}}let l,u,d;async function f(t){if(u!==t&&d!==t){d=t;try{if(!await dx(n,t))return;let r=U(e);if((typeof r==`string`?r:r._id)!==t||u===t){fx(t);return}p(),u=t}catch{}finally{d=void 0}}}function p(){u&&=(fx(u),void 0)}async function m(e){if(!t.value||!e)return;let o=Jb.get(e);if(o){r.value=o,a.value=!0;return}i.value=!0;try{let t=await dx(n,e);try{if(t){let n=await t.fetchSnapshot();n&&(ex(e,n),r.value=n)}}finally{t&&fx(e)}}catch{}finally{i.value=!1,a.value=!0}}function h(e){return typeof e==`object`&&e?.disabled===!0}async function g(){let o=U(e),s=typeof o==`string`?o:o._id;if(!(!s||!t.value)&&!h(o)){i.value=!0;try{let e=await dx(n,s);try{if(e){let t=await e.fetchSnapshot(void 0,!0);t&&(ex(s,t),r.value=t)}}finally{e&&fx(s)}}catch{}finally{i.value=!1,a.value=!0}}}return G([t,()=>U(e),()=>h(U(e))],async([e,t,n])=>{l?.(),l=void 0;let i=typeof t==`string`?t:t._id;e&&i&&!n?(l=c(i),await f(i),await m(i)):i?(p(),r.value=Jb.get(i),a.value=!0):(p(),r.value=void 0)},{immediate:!0}),Hl(()=>{l?.(),p()}),{snapshot:r,snapshotSrc:o,snapshotTimestamp:s,isLoading:W(()=>i.value||!a.value),refresh:g}}async function ox(e,t){let n=Rb.cameraNamespaces(t._id),r=Rb.sensorRegistryNamespaces(),i=`rpc`in e&&`value`in e.rpc?e:void 0,a=i?i.rpc:V(e),o,s,c=V(t),l=B(!1),u=B(!1),d=V(tx(t._id)),f=B(!1),p=B({}),m=nx(t._id,()=>{d.value=tx(t._id)}),h=W(()=>c.value.name),g=W(()=>c.value.room),_=W(()=>c.value.nativeId),v=W(()=>c.value.disabled),y=W(()=>c.value.detectionSettings?.snooze??!1),b=W(()=>c.value.isCloud),x=W(()=>JSON.parse(JSON.stringify(c.value.sources)).map(e=>({...e,snapshot:async t=>te(e._id,t),probeStream:async(t,n=!1)=>ne(e._id,t,n)}))),S=W(()=>x.value.find(e=>e.role===`high-resolution`)),C=W(()=>x.value.find(e=>e.role===`mid-resolution`)),w=W(()=>x.value.find(e=>e.role===`low-resolution`)),T=W(()=>S.value??C.value??w.value),E=W(()=>x.value.find(e=>e.role===`snapshot`)??x.value.find(e=>e.useForSnapshot)),D=W(()=>{let e=new Set;for(let t of Object.values(p.value))e.add(t.type);return e}),O=W(()=>Array.from(D.value)),k=W(()=>D.value.has(mm.Light)),A=W(()=>D.value.has(mm.Siren)),j=W(()=>D.value.has(mm.Doorbell)),M=W(()=>D.value.has(mm.Battery)),N=W(()=>D.value.has(mm.Audio)),P=W(()=>D.value.has(mm.Motion)),ee=W(()=>D.value.has(mm.Object)),F=W(()=>D.value.has(mm.PTZ));async function te(e,r){f.value=!0;try{try{let i=await Vb(a,t=>t.createProxy(n.cameraControllerRpc).snapshotWithMeta(e,r));return i&&i.data.byteLength>0?(ex(t._id,i.data,Date.now()-i.ageMs),i.data):void 0}catch{let i=await Vb(a,t=>t.createProxy(n.cameraControllerRpc).snapshot(e,r));if(i&&i.byteLength>0)return ex(t._id,i,r?Date.now():void 0),i}}finally{f.value=!1}}async function ne(e,t,r=!1){return Vb(a,i=>i.createProxy(n.cameraControllerRpc).probeStream(e,t,r))}async function re(e){return Vb(a,t=>t.createProxy(n.cameraControllerRpc).streamUrl(e))}async function I(){let e=await Vb(a,e=>e.createProxy(n.cameraControllerRpc).refreshStates());c.value=e.camera,l.value=e.cameraState,u.value=e.frameWorkerState,p.value=e.sensorStates}async function L(e){switch(e.type){case`removed`:await oe();break;case`updated`:c.value=e.data;break;case`cameraState`:l.value=e.data;break;case`frameWorkerState`:u.value=e.data;break;case`snapshot:updated`:ex(t._id,e.data.snapshot,Date.now())}}function ie(e){if(e.type===`sensor:added`){let n=e.data;if(!n.sensor.assignedCameraIds.includes(t._id)||!n.sensor.connected)return;p.value={...p.value,[n.sensor.id]:n.state}}else if(e.type===`sensor:deleted`){let t=e.data,n={...p.value};delete n[t.sensorId],p.value=n}else if(e.type===`sensor:connected:changed`){let t=e.data;if(t.connected)I().catch(()=>{});else{let e={...p.value};delete e[t.sensorId],p.value=e}}else if(e.type===`sensor:assignment:changed`){let n=e.data;if(n.cameraId!==t._id)return;if(n.assigned)I().catch(()=>{});else{let e={...p.value};delete e[n.sensorId],p.value=e}}}async function ae(){o?.(),s?.(),o=await Vb(a,e=>e.subscribe(n.cameraSubject,L)),s=await Vb(a,e=>e.subscribe(r.sensorsSubject,ie)),await I()}async function oe(){o?.(),o=void 0,s?.(),s=void 0,m()}async function se(e,t){let n=x.value.find(e=>e.useForSnapshot),r=x.value.find(e=>e.role===`snapshot`),i=e??r?._id??n?._id??w.value?._id??C.value?._id??S.value?._id??T.value?._id;return i?te(i,t):Promise.resolve(void 0)}async function ce(e,t,n=!1){let r=e??T.value?._id;return r?ne(r,t,n):Promise.resolve(void 0)}return await ae(),{id:t._id,name:h,room:g,nativeId:_,disabled:v,snooze:y,isCloud:b,connected:l,frameWorkerConnected:u,sources:x,streamSource:T,snapshotSource:E,highResolutionSource:S,midResolutionSource:C,lowResolutionSource:w,capabilities:O,hasLight:k,hasSiren:A,hasDoorbell:j,hasBattery:M,hasAudioSensor:N,hasMotionSensor:P,hasObjectSensor:ee,hasPtz:F,camera:c,snapshot:d,snapshotLoading:f,fetchSnapshot:se,probeStream:ce,streamUrl:re,refreshStates:I,reconnect:ae,close:oe}}function sx(){let e=Fb(),t=Rb.deviceManagerNamespaces();async function n(n){let r=await Vb(e.rpc,e=>e.createProxy(t.deviceManagerRpc).getCamera(n,`@camera.ui/browser`));if(r)return ox(e,r)}return{getCamera:n}}var cx=Pb({releaseDelay:1e3,onRelease:(e,t)=>t.close()}),lx=new Map;function ux(){cx.clear(),lx.clear()}async function dx(e,t){if(cx.has(t))return cx.acquire(t,()=>{throw Error(`Should not create - already cached`)});let n=lx.get(t);if(n){let e=await n;return e?cx.acquire(t,()=>e):void 0}let r=e.getCamera(t);lx.set(t,r);try{let e=await r;return e?cx.acquire(t,()=>e):void 0}finally{lx.delete(t)}}function fx(e){cx.release(e)}function px(){cx.forEachValue(e=>{e.reconnect().catch(()=>{})})}function mx(e){let{isConnected:t}=Fb(),n=sx(),r=V(),i=B(!1),a=B(!1),o=B(),s;async function c(c){if(!t.value||!c)return;if(s&&s!==c&&(cx.release(s),r.value=void 0,s=void 0),cx.has(c)){let e=cx.acquire(c,()=>{throw Error(`Should not create - already cached`)});s=c,r.value=e,a.value=!0;return}let l=lx.get(c);if(l){i.value=!0;try{let t=await l;if(t&&cx.has(c)&&U(e)===c){let e=cx.acquire(c,()=>t);s=c,r.value=e}}catch(e){o.value=e instanceof Error?e:Error(String(e))}finally{i.value=!1,a.value=!0}return}i.value=!0,o.value=void 0;let u=n.getCamera(c);lx.set(c,u);try{let t=await u;if(t){if(cx.acquire(c,()=>t),U(e)!==c){cx.release(c);return}s=c,r.value=t}}catch(e){o.value=e instanceof Error?e:Error(String(e))}finally{lx.delete(c),i.value=!1,a.value=!0}}async function l(){let t=U(e);t&&(s&&=(cx.getRefCount(s)<=1?cx.forceRelease(s):cx.release(s),r.value=void 0,void 0),await c(t))}return G([t,()=>U(e)],async([e,t])=>{e&&t?await c(t):!e&&s&&(cx.release(s),r.value=void 0,s=void 0)},{immediate:!0}),Hl(()=>{s&&=(cx.release(s),r.value=void 0,void 0)}),{camera:r,isLoading:W(()=>i.value||!a.value),error:o,refresh:l}}var hx=Pb({releaseDelay:1e3}),gx=new Map,_x=new Set;function vx(){hx.clear(),gx.clear();for(let e of _x)try{e()}catch{}}function yx(e){let{rpc:t,isConnected:n}=Fb(),r=V(),i=B(),a=B(!1),o=B(!1),s=B(),c;function l(e){if(hx.has(e))return hx.acquire(e,()=>{throw Error(`Should not create - already cached`)})}function u(e){hx.release(e)}async function d(d){if(!n.value||!d)return;c&&c!==d&&(u(c),r.value=void 0,i.value=void 0,c=void 0);let f=l(d);if(f){c=d,r.value=f.proxy,i.value=f.contract,o.value=!0;return}let p=gx.get(d);if(p){a.value=!0;try{if(await p&&U(e)===d){let e=l(d);e&&(c=d,r.value=e.proxy,i.value=e.contract)}}catch(e){s.value=e instanceof Error?e:Error(String(e))}finally{a.value=!1,o.value=!0}return}a.value=!0,s.value=void 0;let m=Vb(t,async e=>{let t=Rb.coreManagerNamespaces(),n=await e.createProxy(t.coreManagerRpc).getPlugin(d);if(!n)throw Error(`Plugin "${d}" not found`);let r=Rb.pluginNamespaces(n.id);return{proxy:e.createProxy(r.pluginChildRpc),contract:n.contract}});gx.set(d,m);try{let t=await m;if(t){if(hx.acquire(d,()=>t),U(e)!==d){hx.release(d);return}c=d,r.value=t.proxy,i.value=t.contract}}catch(e){s.value=e instanceof Error?e:Error(String(e)),r.value=void 0,i.value=void 0}finally{gx.delete(d),a.value=!1,o.value=!0}}async function f(){let t=U(e);t&&(c&&=(hx.getRefCount(c)<=1?hx.forceRelease(c):hx.release(c),r.value=void 0,i.value=void 0,void 0),await d(t))}let p=()=>{c&&=(r.value=void 0,i.value=void 0,void 0)};return _x.add(p),G([n,()=>U(e),t],async([e,t,n],a)=>{let o=a?.[2];c&&o&&o!==n&&(u(c),r.value=void 0,i.value=void 0,c=void 0),e&&t&&n?await d(t):(!e||!n)&&c&&(u(c),r.value=void 0,i.value=void 0,c=void 0)},{immediate:!0}),Hl(()=>{_x.delete(p),c&&=(u(c),r.value=void 0,i.value=void 0,void 0)}),{plugin:r,contract:i,isLoading:W(()=>a.value||!o.value),error:s,refresh:f}}function bx(e){if(e)return typeof e==`string`?e:e.id}function xx(e){return t=>t.type===e}var Sx=xx(mm.Light),Cx=xx(mm.Siren),wx=xx(mm.Battery),Tx=xx(mm.Doorbell),Ex=xx(mm.Contact),Dx=xx(mm.Motion),Ox=xx(mm.Object),kx=xx(mm.Audio),Ax=xx(mm.Face),jx=xx(mm.LicensePlate);mm.Classifier,mm.PTZ;var Mx=xx(mm.Switch),Nx=xx(mm.Lock),Px=xx(mm.SecuritySystem),Fx=xx(mm.Temperature),Ix=xx(mm.Humidity),Lx=xx(mm.Occupancy),Rx=xx(mm.Smoke),zx=xx(mm.Leak),Bx=xx(mm.Garage);function Vx(e,t,n){let r=B(t.displayName??e.displayName??e.name),i=B(t.capabilities??e.capabilities??[]),a=B([...e.assignedCameraIds]),o=B(e.exposed),s=B(e.connected),c=Ve({...t.properties}),l=[];return{id:e.id,type:e.type,name:e.name,displayName:r,nativeId:e.nativeId,pluginId:e.pluginId,assignedCameraIds:a,exposed:o,connected:s,capabilities:i,properties:c,getProperty(e){return c[e]},async setProperty(t,r){let i=`plugin.${e.pluginId}.sensor.${e.id}.rpc`;await Vb(n,e=>e.createProxy(i).updateValue(t,r))},async setDisplayName(t){let r=Rb.sensorRegistryNamespaces();await Vb(n,n=>n.createProxy(r.sensorsRpc).setDisplayName(e.id,t))},hasCapability(e){return i.value.includes(e)},onCapabilitiesChanged(e){return l.push(e),()=>{let t=l.indexOf(e);t!==-1&&l.splice(t,1)}},_notifyCapabilitiesChanged(){for(let e of l)e(i.value)}}}function Hx(e){let{sensorsSubject:t,sensorsRpc:n}=Rb.sensorRegistryNamespaces(),r=`rpc`in e&&`value`in e.rpc?e:void 0,i=r?r.rpc:V(e),a=V(new Map),o,s=new Map,c=B(!1),l;function u(e,t){let n=a.value.get(e);if(n){if(t.type===`property:changed`){let e=t.data;n.properties[e.property]=e.value}else if(t.type===`sensor:displayName:changed`){let e=t.data;n.displayName.value=e.displayName}else if(t.type===`sensor:capabilities:changed`){let e=t.data;n.capabilities.value=e.capabilities,n._notifyCapabilitiesChanged()}}}async function d(e){if(s.has(e))return;let t=Rb.sensorEventNamespaces(e),n=await Vb(i,n=>n.subscribe(t.sensorSubject,t=>u(e,t)));s.set(e,n)}function f(e){let t=s.get(e);t&&(t(),s.delete(e))}function p(e){if(e.type===`sensor:added`){let t=e.data;if(a.value.has(t.sensor.id))return;let n=Vx(t.sensor,t.state,i),r=new Map(a.value);r.set(t.sensor.id,n),a.value=r,d(t.sensor.id)}else if(e.type===`sensor:deleted`){let t=e.data;f(t.sensorId);let n=new Map(a.value);n.delete(t.sensorId),a.value=n}else if(e.type===`sensor:connected:changed`){let t=e.data,n=a.value.get(t.sensorId);n&&(n.connected.value=t.connected)}else if(e.type===`sensor:assignment:changed`){let t=e.data,n=a.value.get(t.sensorId);if(!n)return;let r=new Set(n.assignedCameraIds.value);t.assigned?r.add(t.cameraId):r.delete(t.cameraId),n.assignedCameraIds.value=[...r]}else if(e.type===`sensor:exposed:changed`){let t=e.data,n=a.value.get(t.sensorId);n&&(n.exposed.value=t.exposed)}}async function m(){o?.(),o=void 0;for(let e of s.values())e();s.clear(),a.value=new Map;let e=[];o=await Vb(i,n=>n.subscribe(t,t=>{e?e.push(t):p(t)}));let[r,l]=await Vb(i,async e=>{let t=e.createProxy(n);return Promise.all([t.getSensors(),t.getSensorStates()])}),u=new Map;for(let e of r){let t=Vx(e,l[e.id]??{properties:{},capabilities:[],type:e.type},i);u.set(e.id,t)}a.value=u;for(let e of u.keys())await d(e);let f=e;e=void 0;for(let e of f)p(e);c.value=!0}function h(){let e=m().finally(()=>{l===e&&(l=void 0)});return l=e,e}async function g(){if(!c.value)return l||h(),l}async function _(){if(c.value=!1,l){let e=l.catch(()=>{}).then(()=>m()).finally(()=>{l===e&&(l=void 0)});return l=e,e}return h()}function v(){o?.(),o=void 0;for(let e of s.values())e();s.clear(),a.value.clear(),c.value=!1,l=void 0}let y=W(()=>Array.from(a.value.values()));return{sensors:y,isInitialized:W(()=>c.value),getSensor(e){return a.value.get(e)},getSensorsByType(e){return y.value.filter(t=>t.type===e)},hasSensorType(e){return y.value.some(t=>t.type===e)},async setDisplayName(e,t){await Vb(i,r=>r.createProxy(n).setDisplayName(e,t))},ensureInitialized:g,reconnect:_,close:v}}var Ux=Pb({releaseDelay:1e3,onRelease:(e,t)=>t.manager.close()});function Wx(){Ux.clear()}function Gx(){Ux.forEachValue(e=>{e.initPromise=e.manager.reconnect()})}var Kx=`sensors`;function qx(e){return Ux.acquire(Kx,()=>({manager:Hx(e)}))}function Jx(){Ux.release(Kx)}function Yx(){return{acquired:!1,cachedManager:void 0}}function Xx(e,t){return e.sensors.value.filter(e=>e.assignedCameraIds.value.includes(t))}async function Zx(e,t,n,r,i){if(!(!t.rpc.value||!n)){r.value=!0,i.value=void 0;try{let n=qx(t);return e.acquired=!0,e.cachedManager=n.manager,n.initPromise||=n.manager.ensureInitialized(),await n.initPromise,n.manager}catch(e){i.value=e instanceof Error?e:Error(String(e));return}finally{r.value=!1}}}function Qx(e){e.acquired&&(Jx(),e.acquired=!1,e.cachedManager=void 0)}function $x(e){let t=Fb(),{isConnected:n}=t,r=V([]),i=V(),a=B(!1),o=B(!1),s=B(),c=Yx();G([n,()=>bx(U(e))],async([e,n])=>{if(e&&n){let l=await Zx(c,t,e,a,s);i.value=l,r.value=l?Xx(l,n):[],o.value=!0}else Qx(c),r.value=[],i.value=void 0},{immediate:!0});let l=W(()=>{if(!i.value)return[];let t=bx(U(e));return t?Xx(i.value,t):[]});return Hl(()=>{Qx(c),r.value=[]}),{sensors:l,isLoading:W(()=>a.value||!o.value),error:s}}function eS(){let e=Fb(),{isConnected:t}=e,n=V(),r=B(!1),i=B(!1),a=B(),o=Yx();G([t],async([t])=>{t?(n.value=await Zx(o,e,t,r,a),i.value=!0):(Qx(o),n.value=void 0)},{immediate:!0});let s=W(()=>n.value?.sensors.value??[]);return Hl(()=>{Qx(o)}),{sensors:s,isLoading:W(()=>r.value||!i.value),error:a}}function tS(e,t){let n=Fb(),{isConnected:r}=n,i=V(),a=V(),o=B(!1),s=B(!1),c=B(),l=Yx();return G([r,()=>bx(U(e))],async([e,r])=>{if(e&&r){let u=await Zx(l,n,e,o,c);a.value=u,i.value=u?Xx(u,r).find(e=>e.type===t):void 0,s.value=!0}else Qx(l),i.value=void 0},{immediate:!0}),G(()=>{if(!a.value)return;let n=bx(U(e));if(n)return Xx(a.value,n).find(e=>e.type===t)?.id},()=>{if(a.value){let n=bx(U(e));i.value=n?Xx(a.value,n).find(e=>e.type===t):void 0}}),Hl(()=>{Qx(l),i.value=void 0}),{sensor:i,isLoading:W(()=>o.value||!s.value),error:c}}function nS(e){return tS(e,mm.Motion)}function rS(e){return tS(e,mm.Object)}function iS(e){return tS(e,mm.Face)}function aS(e){return tS(e,mm.LicensePlate)}function oS(e){return tS(e,mm.PTZ)}function sS(e){let t=Fb(),{isConnected:n}=t,r=V([]),i=V(),a=B(!1),o=B(!1),s=B(),c=Yx();G([n,()=>bx(U(e))],async([e,n])=>{if(e&&n){let l=await Zx(c,t,e,a,s);i.value=l,r.value=l?Xx(l,n).filter(e=>e.type===mm.Classifier):[],o.value=!0}else Qx(c),r.value=[],i.value=void 0},{immediate:!0});let l=W(()=>{if(!i.value)return[];let t=bx(U(e));return t?Xx(i.value,t).filter(e=>e.type===mm.Classifier):[]});return Hl(()=>{Qx(c),r.value=[]}),{sensors:l,isLoading:W(()=>a.value||!o.value),error:s}}var cS=new Map;function lS(){cS.clear()}async function uS(e,t){let n=cS.get(t);if(n)return n;let r=Rb.coreManagerNamespaces(),i=await Vb(e,e=>e.createProxy(r.coreManagerRpc).getPlugin(t));if(i)return cS.set(t,i.id),i.id}function dS(e){let t=V(),n=B(!1),r=B();async function i(){n.value=!0,r.value=void 0;try{return t.value=await e.getConfig(),t.value}catch(e){r.value=e instanceof Error?e:Error(String(e));return}finally{n.value=!1}}async function a(t,a){n.value=!0,r.value=void 0;try{await e.setValue(t,a),await i()}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function o(t){n.value=!0,r.value=void 0;try{await e.setConfig(t),await i()}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function s(t,a){n.value=!0,r.value=void 0;try{let n=await e.submitValue(t,a);return(!n?.toast||n.toast.type!==`error`)&&await i(),n}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}return{proxy:e,config:t,isLoading:n,error:r,getConfig:i,setValue:a,setConfig:o,submitValue:s}}var fS=Pb({releaseDelay:1e3});function pS(e){return`plugin:${e}`}function mS(e,t){return`plugin:${e}:camera:${t}`}function hS(e,t){return`plugin:${e}:sensor:${t}`}function gS(e,t){return fS.acquire(e,()=>dS(t()))}function _S(e){fS.release(e)}function vS(){fS.clear(),lS()}function yS(){return{currentStorageKey:void 0,cachedStorage:void 0}}function bS(e,t,n){e.currentStorageKey&&=(_S(e.currentStorageKey),void 0),t.value=!1,e.cachedStorage=void 0,n.value=void 0}var xS=[2e3,5e3,1e4,15e3];function SS(e){return new Promise(t=>setTimeout(t,e))}function CS(e,t,n,r){let i;function a(){return i??=o().finally(()=>i=void 0),i}async function o(){let i=e.cachedStorage;if(i){n.value=!0;try{let n=await i.getConfig();for(let t of xS){if(!i.error.value||e.cachedStorage!==i||(await SS(t),e.cachedStorage!==i))break;n=await i.getConfig()}return e.cachedStorage===i?(t.value=i.config.value,r.value=i.error.value,n):n}finally{n.value=!1}}}async function s(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await o.setValue(i,a),e.cachedStorage===o&&(t.value=o.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function c(i){let a=e.cachedStorage;if(!a)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await a.setConfig(i),e.cachedStorage===a&&(t.value=a.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function l(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{let n=await o.submitValue(i,a);return e.cachedStorage===o&&(t.value=o.config.value),n}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}return{getConfig:a,setValue:s,setConfig:c,submitValue:l}}function wS(e){let{rpc:t,isConnected:n}=Fb(),r=V(),i=B(!1),a=B(!1),o=B(),s=B(!1),c=yS(),l=CS(c,r,i,o);async function u(e){if(!t.value||!n.value)return!1;try{let n=await uS(t,e);if(!n)throw Error(`Plugin "${e}" not found`);let r=pS(n);return c.currentStorageKey&&c.currentStorageKey!==r&&_S(c.currentStorageKey),c.currentStorageKey=r,c.cachedStorage=gS(r,()=>{let e=Rb.pluginNamespaces(n);return t.value.createProxy(e.pluginStorageRpc)}),s.value=!0,!0}catch(e){return o.value=e instanceof Error?e:Error(String(e)),s.value=!1,!1}}async function d(){if(!c.cachedStorage){let t=U(e);if(!t||!await u(t))return}return l.getConfig()}return G([n,()=>U(e)],async([e,t])=>{e&&t?(await u(t),l.getConfig()):bS(c,s,r),a.value=!0},{immediate:!0}),Hl(()=>bS(c,s,r)),{config:r,isLoading:W(()=>i.value||!a.value),error:o,isConnected:s,getConfig:d,setValue:l.setValue,setConfig:l.setConfig,submitValue:l.submitValue}}function TS(e,t){let{rpc:n,isConnected:r}=Fb(),i=V(),a=B(!1),o=B(!1),s=B(),c=B(!1),l=yS(),u=CS(l,i,a,s);async function d(e,t){if(!n.value||!r.value)return!1;try{let r=await uS(n,t);if(!r)throw Error(`Plugin "${t}" not found`);let i=mS(r,e);return l.currentStorageKey&&l.currentStorageKey!==i&&_S(l.currentStorageKey),l.currentStorageKey=i,l.cachedStorage=gS(i,()=>{let t=Rb.pluginCameraNamespaces(r,e);return n.value.createProxy(t.cameraStorageRpc)}),c.value=!0,!0}catch(e){return s.value=e instanceof Error?e:Error(String(e)),c.value=!1,!1}}async function f(){let n=bx(U(e)),r=U(t);if(!(!n||!r)&&!(!l.cachedStorage&&!await d(n,r)))return u.getConfig()}return G([r,()=>bx(U(e)),()=>U(t)],async([e,t,n])=>{e&&t&&n?(await d(t,n),u.getConfig()):bS(l,c,i),o.value=!0},{immediate:!0}),Hl(()=>bS(l,c,i)),{config:i,isLoading:W(()=>a.value||!o.value),error:s,isConnected:c,getConfig:f,setValue:u.setValue,setConfig:u.setConfig,submitValue:u.submitValue}}function ES(e,t){let{rpc:n,isConnected:r}=Fb(),i=V(),a=B(!1),o=B(!1),s=B(),c=B(!1),l=yS(),u=CS(l,i,a,s);function d(e,t){if(!n.value||!r.value)return!1;try{let r=hS(t,e);return l.currentStorageKey&&l.currentStorageKey!==r&&_S(l.currentStorageKey),l.currentStorageKey=r,l.cachedStorage=gS(r,()=>{let r=Rb.pluginSensorNamespaces(t,e);return n.value.createProxy(r.sensorStorageRpc)}),c.value=!0,!0}catch(e){return s.value=e instanceof Error?e:Error(String(e)),c.value=!1,!1}}async function f(){let n=U(e),r=U(t);if(!(!n||!r)&&!(!l.cachedStorage&&!d(n,r)))return u.getConfig()}return G([r,()=>U(e),()=>U(t)],([e,t,n])=>{e&&t&&n?(d(t,n),u.getConfig()):bS(l,c,i),o.value=!0},{immediate:!0}),Hl(()=>bS(l,c,i)),{config:i,isLoading:W(()=>a.value||!o.value),error:s,isConnected:c,getConfig:f,setValue:u.setValue,setConfig:u.setConfig,submitValue:u.submitValue}}function DS(){vx(),ux(),vS(),Wx(),ix()}function OS(){vx(),px(),Gx()}var kS=Symbol(`camera-ui`),AS=new Lt(`plugin`);function jS(e){return`rpc`in e&&`isConnected`in e}var MS=4e3;function NS(e){let{natsTransport:t,target:n,wsTransport:r}=e,i=t.getClient()!==null,a=t.getClient(),o=null,s=V(t.getClient()??void 0),c=B(t.getClient()?.isConnected??!1),l=B(void 0),u=W(()=>n.value?.endpoint.url),d=W(()=>n.value?.tokens.access),f=W(()=>{let e=n.value;if(e?.tokens.proxySession)return{session:e.tokens.proxySession}}),p=new Map;function m(e,t){let n=p.get(e);n||(n=new Set,p.set(e,n)),n.add(t)}function h(e,t){p.get(e)?.delete(t)}function g(e){let t=p.get(e);if(t)for(let e of t)try{e()}catch(e){AS.warn(`context listener threw:`,e)}}return t.subscribeClient(e=>{if(e){o!==null&&(clearTimeout(o),o=null);let t=c.value,n=e!==a;a=e,s.value=e,c.value=!0,l.value=void 0,(!t||n)&&(OS(),i&&g(`reconnected`),i=!0)}else{if(s.value=void 0,o!==null||!c.value)return;o=setTimeout(()=>{o=null,c.value=!1,g(`disconnected`)},MS)}}),t.on(`auth-error`,e=>{l.value=Error(e.message??`auth-error`)}),t.on(`down`,e=>{l.value||=Error(e.reason)}),t.on(`up`,()=>{l.value=void 0}),Ae({rpc:s,target:Xe(n),isConnected:Xe(c),endpoint:u,token:d,extraProxyQuery:f,error:Xe(l),wsTransport:r,on:m,off:h})}function PS(e){return{install(t){let n=jS(e)?e:NS(e);t.provide(kS,n)}}}var FS={standbyTimeout:5e3,activityTimeout:5e3};function IS(e){let{initialMode:t=`always-on`,config:n={},onStreamStart:r,onStreamStop:i,isStreamPlaying:a}=e,o={...FS,...n},s=B(t),c=B(!1),l=B(!1),u,d;function f(){u&&=(clearTimeout(u),void 0)}function p(){d&&=(clearTimeout(d),void 0)}function m(){f(),p()}function h(){c.value||(c.value=!0,i())}function g(){c.value&&(c.value=!1,r())}function _(){switch(m(),s.value){case`always-on`:c.value=!1,a()||r();break;case`standby`:c.value||(a()||r(),v());break;case`activity`:l.value?(c.value=!1,a()||r()):u=setTimeout(()=>{s.value===`activity`&&!l.value&&h()},o.activityTimeout)}}function v(){p(),d=setTimeout(()=>{s.value===`standby`&&h()},o.standbyTimeout)}function y(e){s.value!==e&&(s.value=e,_())}function b(e){s.value===`activity`&&(e?(l.value=!0,f(),(c.value||!a())&&g()):(l.value=!1,f(),u=setTimeout(()=>{l.value||h()},o.activityTimeout)))}function x(){if(c.value)switch(g(),s.value){case`standby`:v();break;case`activity`:f(),l.value||(u=setTimeout(()=>{h()},o.activityTimeout))}}function S(){s.value===`standby`&&!c.value&&v()}function C(){m()}return{mode:s,inStandby:c,hasActivity:l,setMode:y,reportActivity:b,resumeFromStandby:x,resetIdleTimer:S,dispose:C}}var LS=3e4,RS=new Lt(`TabVisibility`),zS=B(typeof document>`u`||document.visibilityState===`visible`),BS=null,VS=new Set,HS=new Set,US=new Set,WS=!1;function GS(e){RS.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);try{e.cb()}catch(e){RS.error(`onTabPaused listener threw:`,e)}}function KS(e){RS.debug(`paused listener scheduled in ${e.delayMs}ms`),e.timer=setTimeout(()=>{if(e.timer=null,zS.value){RS.debug(`paused listener skipped — tab visible before delay`);return}GS(e)},e.delayMs)}function qS(){for(let e of HS)e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}function JS(){WS||typeof document>`u`||(WS=!0,document.addEventListener(`visibilitychange`,()=>{let e=document.visibilityState===`visible`;if(!e&&zS.value){zS.value=!1,BS=Date.now(),RS.debug(`tab → hidden (hidden=${VS.size} paused=${HS.size})`);for(let e of VS)try{e.cb()}catch(e){RS.error(`onTabHidden listener threw:`,e)}for(let e of HS)KS(e)}else if(e&&!zS.value){qS();let e=BS==null?0:Date.now()-BS;BS=null,zS.value=!0,RS.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${US.size})`);for(let{cb:t}of US)try{t({hiddenMs:e})}catch(e){RS.error(`onTabVisible listener threw:`,e)}}}))}function YS(){JS();let e=W(()=>zS.value);function t(e){let t={cb:e};VS.add(t);let n=()=>{VS.delete(t)};return Hl(n),n}function n(e,t={}){let n={cb:e,delayMs:t.delayMs??LS,timer:null};HS.add(n);let r=()=>{n.timer!==null&&(clearTimeout(n.timer),n.timer=null),HS.delete(n)};return Hl(r),r}function r(e){let t={cb:e};US.add(t);let n=()=>{US.delete(t)};return Hl(n),n}return{isVisible:e,onTabHidden:t,onTabPaused:n,onTabVisible:r}}var XS={WEBRTC:{RECONNECT_DELAY:1e3,CONNECT_TIMEOUT:1e4,WS_CONNECT_TIMEOUT:5e3,ICE_SERVERS:[{urls:`stun:stun.l.google.com:19302`}]},MSE:{BUFFER_SIZE:2097152,BUFFER_WINDOW:5},CODECS:{DEFAULT:[`avc1.640029`,`avc1.64002A`,`avc1.640033`,`hvc1.1.6.L153.B0`,`mp4a.40.2`,`mp4a.40.5`,`flac`,`opus`],WEBRTC_VIDEO:[`H264`,`VP8`,`VP9`],WEBRTC_AUDIO:[`opus`,`G722`,`PCMU`,`PCMA`]}},ZS=`hvc1.1.6.L153.B0`;function QS(){return navigator.userAgent.match(/version\/(\d+)/i)}function $S(){let e=[...XS.CODECS.DEFAULT],t=QS();if(t?.[1]){let n=parseInt(t[1],10);if(n<13){let t=e.indexOf(`mp4a.40.2`);t>-1&&e.splice(t)}else if(n<14){let t=e.indexOf(`flac`);t>-1&&e.splice(t)}else{let t=e.indexOf(`opus`);t>-1&&e.splice(t)}}return e}function eC(e,t){return e.filter(e=>t(`video/mp4; codecs="${e}"`)).join(`,`)}function tC(e){return XS.CODECS.WEBRTC_AUDIO.includes(e)}function nC(e){return XS.CODECS.WEBRTC_VIDEO.includes(e)?!0:e===`H265`&&sC()}var rC,iC;function aC(e){if(e===`auto`)return aC(`webrtc`)||aC(`mse`);if(e===`mse`)return rC===void 0&&(rC=!!uC()?.isTypeSupported(`video/mp4; codecs="${ZS}"`)),rC;if(iC===void 0)try{iC=!!(RTCRtpReceiver?.getCapabilities(`video`)?.codecs)?.some(e=>e.mimeType.toLowerCase().includes(`h265`)||e.mimeType.toLowerCase().includes(`hevc`))}catch{iC=!1}return iC}function oC(e){e===`mse`?rC=!1:iC=!1}function sC(){return aC(`webrtc`)}function cC(e){let t=e.audio.filter(e=>e.direction===`sendonly`),n=e.video.filter(e=>e.direction===`sendonly`),r=t.length===0||t.some(e=>tC(e.codec)),i=n.length===0||n.some(e=>nC(e.codec)),a=[];return r||a.push(...t.map(e=>e.codec)),i||a.push(...n.map(e=>e.codec)),{compatible:r&&i,audioCompatible:r,videoCompatible:i,incompatibleCodecs:a}}function lC(){return`ManagedMediaSource`in window}function uC(){if(lC())return window.ManagedMediaSource;if(`MediaSource`in window)return window.MediaSource}function dC(e,t){return new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}function fC(e){let{videoElement:t,onReady:n,onFirstData:r,onError:i,signal:a}=e,o=null,s=null,c=null,l=!1,u=!1,d=new Uint8Array(XS.MSE.BUFFER_SIZE),f=0,p=[],m=$S();function h(){if(a.aborted)return;let e=uC();if(!e){i(Error(`MediaSource not supported`));return}o=new e;let n=lC(),r=t.src;return o.addEventListener(`sourceopen`,()=>{a.aborted||!n&&r&&r.startsWith(`blob:`)&&r!==t.src&&URL.revokeObjectURL(r)},{once:!0}),n?(t.disableRemotePlayback=!0,t.srcObject=o):(c=URL.createObjectURL(o),t.src=c,t.srcObject=null),eC(m,e.isTypeSupported.bind(e))}function g(e){if(a.aborted||!o)return;if(o.readyState!==`open`){o.addEventListener(`sourceopen`,()=>{a.aborted||g(e)},{once:!0});return}f=0,d=new Uint8Array(XS.MSE.BUFFER_SIZE);let t=uC();if(t&&!t.isTypeSupported(e)){i(Error(`MIME type not supported: ${e}`));return}try{if(s=o.addSourceBuffer(e),s.mode=`segments`,s.addEventListener(`updateend`,_),l=!0,p.length>0){for(let e of p)v(e);p.length=0}n()}catch(e){i(e instanceof Error?e:Error(String(e)))}}function _(){if(!(a.aborted||!s||!o)){if(!s.updating&&f>0)try{let e=d.slice(0,f);s.appendBuffer(e),f=0}catch(e){y(e)||i(e instanceof Error?e:Error(String(e)))}if(!s.updating&&s.buffered?.length){let e=s.buffered.end(s.buffered.length-1),n=e-XS.MSE.BUFFER_WINDOW,i=s.buffered.start(0);if(u||(u=!0,r()),n>i)try{s.remove(i,n),o.setLiveSeekableRange(n,e)}catch{}t.currentTime<n&&(t.currentTime=n);let a=e-t.currentTime;a>1?t.playbackRate=1.1:a<.1?t.playbackRate=.9:t.playbackRate=1}}}function v(e){if(!a.aborted){if(!s){p.push(e);return}if(o?.readyState===`closed`){i(Error(`MediaSource closed`));return}if(s.updating||f>0){let t=new Uint8Array(e);if(f+t.byteLength>d.byteLength){f=0,i(Error(`MSE pending buffer overflow`));return}d.set(t,f),f+=t.byteLength}else try{s.appendBuffer(e)}catch(t){if(y(t)){let t=new Uint8Array(e);t.byteLength<=d.byteLength&&(d.set(t,0),f=t.byteLength)}}}}function y(e){if(e?.name!==`QuotaExceededError`||!s||s.updating||!s.buffered?.length)return!1;try{let e=s.buffered.start(0),t=s.buffered.end(s.buffered.length-1),n=Math.max(e+1,t-XS.MSE.BUFFER_WINDOW);return n<=e?!1:(s.remove(e,n),!0)}catch{return!1}}function b(){if(s){if(s.removeEventListener(`updateend`,_),o?.readyState===`open`)try{o.removeSourceBuffer(s)}catch{}s=null}if(o?.readyState===`open`)try{o.endOfStream()}catch{}o=null,c&&=(URL.revokeObjectURL(c),null),l=!1,u=!1,f=0,p.length=0}return a.addEventListener(`abort`,b,{once:!0}),{get mediaSource(){return o},get sourceBuffer(){return s},get isReady(){return l},setup:h,initializeBuffer:g,appendBuffer:v,close:b}}async function pC(e){try{await e.play()}catch{e.muted||(e.muted=!0,await pC(e))}}function mC(e,t,n){let r=new RTCPeerConnection({bundlePolicy:`max-bundle`,iceServers:[...XS.WEBRTC.ICE_SERVERS]});return r.onicecandidate=r=>{if(e.aborted||n&&r.candidate?.protocol===`udp`)return;let i=r.candidate?.toJSON().candidate??``;i&&t(i)},r}async function hC(e,t,n){t.aborted||!e||await e.setRemoteDescription({type:`answer`,sdp:n})}async function gC(e,t,n,r){t.aborted||!e||r&&n.includes(` udp `)||await e.addIceCandidate({candidate:n,sdpMid:`0`})}async function _C(e,t,n){if(!(t.aborted||!e))try{await e.sender.replaceTrack(n)}catch{}}function vC(e){e.micTransceiver&&=(e.micTransceiver.sender.replaceTrack(null).catch(()=>{}),null),e.pc&&=(e.pc.getTransceivers().forEach(e=>e.sender?.track?.stop()),e.pc.close(),null),e.isConnected=!1}function yC(e){let{mode:t,onConnected:n,onDisconnected:r,onFailed:i,onCandidate:a,signal:o}=e,s={pc:null,micTransceiver:null,isConnected:!1},c=t===`webrtc/tcp`;function l(){let e=mC(o,a,c);return e.onconnectionstatechange=()=>{if(o.aborted)return;let t=e.connectionState;if(t===`connected`){s.isConnected=!0;let t=new MediaStream(e.getTransceivers().filter(e=>e.currentDirection===`recvonly`).map(e=>e.receiver.track));n(t)}else t===`failed`?(s.isConnected=!1,i()):t===`disconnected`&&(s.isConnected=!1,r())},e.addTransceiver(`video`,{direction:`recvonly`}),e.addTransceiver(`audio`,{direction:`recvonly`}),s.micTransceiver=e.addTransceiver(`audio`,{direction:`sendonly`}),e}async function u(){if(o.aborted)return;s.pc=l();let e=await s.pc.createOffer();return await s.pc.setLocalDescription(e),e.sdp}function d(){vC(s)}return o.addEventListener(`abort`,d,{once:!0}),{get pc(){return s.pc},get micTransceiver(){return s.micTransceiver},get isConnected(){return s.isConnected},createOffer:u,handleAnswer:e=>hC(s.pc,o,e),handleCandidate:e=>gC(s.pc,o,e,c),setMicrophoneTrack:e=>_C(s.micTransceiver,o,e),close:d}}function bC(e){let{onConnected:t,onDisconnected:n,onCandidate:r,signal:i}=e,a={pc:null,micTransceiver:null,isConnected:!1};function o(){let e=mC(i,r,!1);return e.onconnectionstatechange=()=>{if(i.aborted)return;let r=e.connectionState;r===`connected`?(a.isConnected=!0,t()):(r===`disconnected`||r===`failed`)&&(a.isConnected=!1,n())},a.micTransceiver=e.addTransceiver(`audio`,{direction:`sendonly`}),e}async function s(){if(i.aborted)return;a.pc=o();let e=await a.pc.createOffer();return await a.pc.setLocalDescription(e),e.sdp}function c(){vC(a)}return i.addEventListener(`abort`,c,{once:!0}),{get isConnected(){return a.isConnected},createOffer:s,handleAnswer:e=>hC(a.pc,i,e),handleCandidate:e=>gC(a.pc,i,e,!1),setMicrophoneTrack:e=>_C(a.micTransceiver,i,e),close:c}}async function xC(e,t){switch(t.type){case`webrtc/answer`:await e.handleAnswer(t.value);break;case`webrtc/candidate`:t.value&&await e.handleCandidate(t.value)}}var SC=new Lt(`StreamConnection`),CC=class{status;activeMode;requestedMode;activeResolution;requestedResolution;degradedFrom;degradeReason;source;hasVideo;hasAudio;hasBackchannel;isPlaying;error;probeInfo;muted;paused;nativeWidth;nativeHeight;camera;videoElement;containerElement;target;isReady;effectiveMode;triedSourceIds=new Set;options;wsTransport;scope=s(!0);connectionGeneration=0;abortController=new AbortController;probedSourceId;wasPausedByVisibility=!1;wsHandle;webrtcHandler;mseHandler;firstFrameCallbackId;backchannelHandler;pendingMicTrack=null;lastMediaStream=null;stopWatchers=[];mseMonitorInterval;offTabVisible;offTabPaused;onVideoPauseBound;onVideoPlayBound;onVideoResizeBound;startWsConnectTimeout;stopWsConnectTimeout;startConnectTimeout;stopConnectTimeout;startMseConnectTimeout;stopMseConnectTimeout;startReconnectTimeout;stopReconnectTimeout;constructor(e){this.options=e;let t=Fb();if(!t.wsTransport)throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");this.target=t.target,this.wsTransport=t.wsTransport;let{autoStart:n=!0}=e;this.status=B(`idle`),this.activeMode=B(`webrtc`),this.activeResolution=B(`low-resolution`),this.degradedFrom=B(null),this.degradeReason=B(null),this.source=V(),this.hasVideo=B(!1),this.hasAudio=B(!1),this.hasBackchannel=B(!1),this.isPlaying=B(!1),this.error=B(),this.probeInfo=V(),this.muted=B(!0),this.paused=B(!1),this.nativeWidth=B(0),this.nativeHeight=B(0),this.requestedMode=B(U(e.mode)??`auto`),this.requestedResolution=B(U(e.resolution)??`high-resolution`),this.camera=W(()=>U(e.camera)),this.videoElement=W(()=>U(e.videoElement)),this.containerElement=W(()=>U(e.containerElement)),this.isReady=W(()=>!!this.camera.value&&!!this.videoElement.value&&!!this.target.value),this.effectiveMode=W(()=>this.requestedMode.value===`auto`?this.activeMode.value:this.requestedMode.value),this.scope.run(()=>{let{onTabPaused:e,onTabVisible:t}=YS(),r=Mu(()=>{this.wsHandle?.readyState===WebSocket.CONNECTING&&(this.disconnectWebSocket(),!this.abortController.signal.aborted&&this.status.value!==`closed`&&this.restart())},XS.WEBRTC.WS_CONNECT_TIMEOUT,{immediate:!1}),i=Mu(()=>{this.webrtcHandler&&!this.webrtcHandler.isConnected?this.requestedMode.value===`auto`?(this.webrtcHandler.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.mseHandler?.isReady?this.status.value=`connected`:this.startMSE()):(this.markSourceUndecodable(),this.restart()):this.status.value===`connected`&&!this.isPlaying.value&&!this.abortController.signal.aborted&&this.sourceLikelyH265()&&this.handleNoFramesWhileConnected()},XS.WEBRTC.CONNECT_TIMEOUT,{immediate:!1}),a=Mu(()=>{this.abortController.signal.aborted||this.status.value===`connected`||this.status.value===`closed`||this.mseHandler&&!this.mseHandler.isReady&&(this.markSourceUndecodable(),this.restart())},XS.WEBRTC.CONNECT_TIMEOUT,{immediate:!1}),o=Mu(()=>{this.abortController.signal.aborted||this.restart()},XS.WEBRTC.RECONNECT_DELAY,{immediate:!1});this.startWsConnectTimeout=r.start,this.stopWsConnectTimeout=r.stop,this.startConnectTimeout=i.start,this.stopConnectTimeout=i.stop,this.startMseConnectTimeout=a.start,this.stopMseConnectTimeout=a.stop,this.startReconnectTimeout=o.start,this.stopReconnectTimeout=o.stop,this.setupWatchers(),this.offTabPaused=e(()=>{if(SC.debug(`onTabPaused fired — status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`),this.status.value===`idle`||this.status.value===`closed`){SC.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`);return}this.wasPausedByVisibility=!0,this.stop(),SC.debug(`onTabPaused — stop() done, wasPausedByVisibility=true`)}),this.offTabVisible=t(()=>{if(SC.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`),!this.wasPausedByVisibility){SC.debug(`onTabVisible — not paused by visibility, no-op`);return}this.wasPausedByVisibility=!1,this.startWhenReady()}),n&&Lu(this.isReady,()=>{(this.status.value===`idle`||this.status.value===`closed`)&&this.start()},{immediate:!0})})}async start(){if(SC.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`),this.status.value!==`idle`&&this.status.value!==`closed`){SC.debug(`start() — skipped, status is ${this.status.value}`);return}if(!this.isReady.value){SC.debug(`start() — skipped, isReady=false`);return}this.cleanup(),this.abortController=new AbortController;let e=++this.connectionGeneration;this.triedSourceIds.clear(),this.status.value=`connecting`,this.error.value=void 0,this.isPlaying.value=!1;try{let t=this.initializeSource();if(t===`unsupported`){SC.debug(`start() — no source with a playable codec`),this.setUnsupported();return}if(!t){SC.debug(`start() — no streaming source available`),this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}for(let t=0;t<3;t++){let t=this.source.value?._id,n=await this.probeStream();if(e!==this.connectionGeneration){SC.debug(`start() — generation stale after probe, aborting`);return}n&&t&&this.probeSaysUnplayable(n)&&this.triedSourceIds.add(t);let r=this.initializeSource();if(r===`unsupported`){this.setUnsupported();return}if(!r){this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}if(!n||this.source.value?._id===t)break}SC.debug(`start() — connecting WebSocket`),this.connectWebSocket()}catch(t){if(e!==this.connectionGeneration)return;SC.debug(`start() — error:`,t),this.error.value=t instanceof Error?t:Error(String(t)),this.status.value=`error`}}stop(){if(this.status.value===`closed`){SC.debug(`stop() — already closed, no-op`);return}SC.debug(`stop() — was ${this.status.value}, transitioning to closed`),++this.connectionGeneration,this.status.value=`closed`,this.cleanup()}async setMode(e){if(this.requestedMode.value!==e){if(this.requestedMode.value=e,this.activeMode.value=e===`auto`?`webrtc`:e,this.status.value===`unsupported`){this.stop(),await this.start();return}this.status.value===`connected`&&await this.restart()}}async setResolution(e){if(this.requestedResolution.value===e)return;if(this.requestedResolution.value=e,this.status.value===`unsupported`){this.stop(),await this.start();return}let t=this.getSourceForResolution(e);t&&t!==`unsupported`&&t.source._id!==this.source.value?._id&&(this.source.value=t.source,this.activeResolution.value=t.effectiveResolution,this.degradedFrom.value=t.degradedFrom,this.degradeReason.value=t.degradedFrom?`codec`:null,this.status.value===`connected`&&await this.restart())}async setMicrophone(e){if(this.webrtcHandler){await this.webrtcHandler.setMicrophoneTrack(e);return}this.activeMode.value===`mse`&&this.hasBackchannel.value&&(this.pendingMicTrack=e,e&&!this.backchannelHandler?await this.startBackchannel():!e&&this.backchannelHandler?this.closeBackchannel():this.backchannelHandler?.isConnected&&await this.backchannelHandler.setMicrophoneTrack(e))}setMuted(e){this.muted.value=e;let t=this.videoElement.value;t&&(t.muted=e)}async play(){this.paused.value=!1;let e=this.videoElement.value;if(e)try{await e.play()}catch{if(!e.muted){e.muted=!0,this.muted.value=!0;try{await e.play()}catch{}}}}pause(){this.paused.value=!0;let e=this.videoElement.value;e&&e.pause()}destroy(){for(let e of this.stopWatchers)e();this.stopWatchers=[],this.offTabVisible?.(),this.offTabVisible=void 0,this.offTabPaused?.(),this.offTabPaused=void 0;let e=this.videoElement.value;e&&(this.onVideoPauseBound&&e.removeEventListener(`pause`,this.onVideoPauseBound),this.onVideoPlayBound&&e.removeEventListener(`play`,this.onVideoPlayBound),this.onVideoResizeBound&&e.removeEventListener(`resize`,this.onVideoResizeBound)),this.stop(),this.scope.stop()}async restart(){this.status.value=`reconnecting`,this.isPlaying.value=!1,this.cleanup(),this.abortController=new AbortController;let e=++this.connectionGeneration;try{await dC(1e3,this.abortController.signal)}catch{return}if(e===this.connectionGeneration){if(!this.isReady.value){this.status.value=`idle`;return}try{let e=this.initializeSource();if(e===`unsupported`){this.setUnsupported();return}if(!e){this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}this.connectWebSocket()}catch(t){if(e!==this.connectionGeneration)return;this.error.value=t instanceof Error?t:Error(String(t)),this.status.value=`error`}}}startWhenReady(){if(this.isReady.value){SC.debug(`startWhenReady — already ready, calling start() now`),this.start();return}SC.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);let e=G(this.isReady,t=>{t&&(SC.debug(`startWhenReady — isReady → true, calling start()`),e(),this.start())});this.stopWatchers.push(e)}setupWatchers(){let e=G(()=>this.target.value?.endpoint.url??null,(e,t)=>{!e||!t||e===t||this.status.value!==`idle`&&this.status.value!==`closed`&&this.restart()});this.stopWatchers.push(e);let t=G(()=>this.camera.value?.sources.value,()=>{this.status.value===`unsupported`&&(this.stop(),this.start())});this.stopWatchers.push(t);let n=G(()=>U(this.options.mode),e=>{e!==void 0&&e!==this.requestedMode.value&&this.setMode(e)});this.stopWatchers.push(n);let r=G(()=>U(this.options.resolution),e=>{e!==void 0&&e!==this.requestedResolution.value&&this.setResolution(e)});this.stopWatchers.push(r);let i=G(this.videoElement,(e,t)=>{t&&(this.onVideoPauseBound&&t.removeEventListener(`pause`,this.onVideoPauseBound),this.onVideoPlayBound&&t.removeEventListener(`play`,this.onVideoPlayBound),this.onVideoResizeBound&&t.removeEventListener(`resize`,this.onVideoResizeBound)),e&&(this.onVideoPauseBound=()=>{this.paused.value||e.play().catch(()=>{})},this.onVideoPlayBound=()=>{this.paused.value=!1},this.onVideoResizeBound=()=>{e.videoWidth>0&&e.videoHeight>0&&(this.nativeWidth.value=e.videoWidth,this.nativeHeight.value=e.videoHeight)},e.addEventListener(`pause`,this.onVideoPauseBound),e.addEventListener(`play`,this.onVideoPlayBound),e.addEventListener(`resize`,this.onVideoResizeBound),e.videoWidth>0&&e.videoHeight>0&&(this.nativeWidth.value=e.videoWidth,this.nativeHeight.value=e.videoHeight))},{immediate:!0});this.stopWatchers.push(i);let a=G(this.activeMode,e=>{this.stopMseMonitor(),e===`mse`&&(this.mseMonitorInterval=setInterval(()=>this.monitorMseBuffer(),1e3))},{immediate:!0});this.stopWatchers.push(a);let o=G([this.camera,this.videoElement,()=>this.target.value],([e,t,n],[r,i])=>{if(e!==r)this.status.value===`connected`?e&&t&&n&&this.restart():this.status.value===`unsupported`&&e&&t&&n&&(this.stop(),this.start());else if(t!==i&&t){if(t.srcObject instanceof MediaStream){let e=t.srcObject;if(e.active&&e.getTracks().some(e=>e.readyState===`live`)){pC(t),this.lastMediaStream=e;return}}if(this.status.value===`connected`&&this.activeMode.value!==`mse`){let e=this.lastMediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,pC(t)):this.restart()}else if(this.status.value===`connected`&&this.activeMode.value===`mse`)this.restart();else if(this.status.value===`connecting`||this.status.value===`reconnecting`){let e=G(()=>this.isPlaying.value,t=>{let n=this.videoElement.value;t&&n?.srcObject instanceof MediaStream?(pC(n),e()):t&&n&&!n.srcObject&&this.lastMediaStream?.active&&(n.srcObject=this.lastMediaStream,pC(n),e())},{immediate:!0});this.stopWatchers.push(e)}}});this.stopWatchers.push(o)}isSourcePlayable(e){if(this.triedSourceIds.has(e._id))return!1;if(e.videoCodec!==`H265`)return!0;let t=this.requestedMode.value;return aC(t===`auto`?`auto`:t===`mse`?`mse`:`webrtc`)}getSourceForResolution(e){let t=this.camera.value;if(!t)return;let n=[`high-resolution`,`mid-resolution`,`low-resolution`],r=Math.max(0,n.indexOf(e)),i=!1;for(let a=r;a<n.length;a++){let r=t.sources.value.find(e=>e.role===n[a]);if(r){if(!this.isSourcePlayable(r)){i=!0;continue}return{source:r,effectiveResolution:n[a],degradedFrom:i?e:null}}}let a=t.streamSource.value;if(a&&this.isSourcePlayable(a))return{source:a,effectiveResolution:a.role??`low-resolution`,degradedFrom:i?e:null};if(i||a)return`unsupported`}initializeSource(){let e=this.getSourceForResolution(this.requestedResolution.value);return e?e===`unsupported`?`unsupported`:(this.source.value=e.source,this.activeResolution.value=e.effectiveResolution,this.degradedFrom.value=e.degradedFrom,this.degradeReason.value=e.degradedFrom?`codec`:null,this.probedSourceId&&this.probedSourceId!==e.source._id&&(this.probeInfo.value=void 0,this.probedSourceId=void 0,this.hasVideo.value=!1,this.hasAudio.value=!1,this.hasBackchannel.value=!1),!0):!1}setUnsupported(){let e=this.camera.value?.sources.value.find(e=>e.videoCodec)?.videoCodec??`H265`;this.error.value=Error(`${e} cannot be played on this device`),this.status.value=`unsupported`}probeSaysUnplayable(e){let t=e.video.filter(e=>e.direction===`sendonly`);if(!t.length||!t.every(e=>e.codec===`H265`))return!1;let n=this.requestedMode.value;return!aC(n===`auto`?`auto`:n===`mse`?`mse`:`webrtc`)}sourceLikelyH265(){let e=this.source.value;if(!e)return!1;if(e.videoCodec===`H265`)return!0;if(e.videoCodec!==void 0)return!1;let t=this.probeInfo.value?.video.filter(e=>e.direction===`sendonly`)??[];return t.length>0&&t.every(e=>e.codec===`H265`)}markSourceUndecodable(){let e=this.source.value;!e||!this.sourceLikelyH265()||this.triedSourceIds.add(e._id)}handleNoFramesWhileConnected(){oC(this.activeMode.value===`mse`?`mse`:`webrtc`),this.markSourceUndecodable(),this.restart()}async probeStream(){let e=this.camera.value,t=this.source.value;if(!(!e||!t||this.abortController.signal.aborted))try{let n=await e.probeStream(t._id,{video:!0,audio:[`pcma`,`opus`],microphone:!0});return n&&!this.abortController.signal.aborted&&(this.probeInfo.value=n,this.probedSourceId=t._id,this.hasBackchannel.value=n.audio.some(e=>e.direction===`recvonly`),this.hasAudio.value=n.audio.filter(e=>e.direction===`sendonly`).length>0,this.hasVideo.value=n.video.filter(e=>e.direction===`sendonly`).length>0),n}catch{return}}connectWebSocket(){this.disconnectWebSocket();let e=this.camera.value;if(this.abortController.signal.aborted||!e||!this.source.value||!this.target.value)return;let t=this.source.value.name??this.source.value.role??this.source.value._id,n=Lb(e.name.value,t);this.startWsConnectTimeout(),this.wsHandle=this.wsTransport.open({path:`/api/go2rtc`,query:{src:n},binaryType:`arraybuffer`}),this.wsHandle.on(`open`,()=>this.handleWsOpen()),this.wsHandle.on(`close`,()=>this.handleWsClose()),this.wsHandle.on(`message`,e=>this.handleWsMessage(e)),this.wsHandle.on(`error`,()=>{})}disconnectWebSocket(){this.stopWsConnectTimeout(),this.wsHandle&&=(this.wsHandle.dispose(),void 0)}sendWsMessage(e){this.wsHandle?.readyState===WebSocket.OPEN&&this.wsHandle.send(JSON.stringify(e))}handleWsOpen(){if(this.abortController.signal.aborted)return;this.stopWsConnectTimeout(),this.status.value=`connecting`;let e=this.effectiveMode.value;e===`webrtc`||e===`webrtc/tcp`?this.startWebRTC(e):e===`mse`?this.startMSE():this.requestedMode.value===`auto`&&this.startAutoMode()}handleWsClose(){this.status.value!==`closed`&&!this.abortController.signal.aborted&&this.startReconnectTimeout()}handleWsMessage(e){if(!this.abortController.signal.aborted)if(typeof e.data==`string`){let t;try{t=JSON.parse(e.data)}catch{return}this.handleMessage(t)}else this.mseHandler&&(this.mseHandler.appendBuffer(e.data),this.handleFirstFrame())}handleMessage(e){switch(e.type){case`webrtc/answer`:case`webrtc/candidate`:this.webrtcHandler?xC(this.webrtcHandler,e):this.backchannelHandler&&xC(this.backchannelHandler,e);break;case`mse`:this.mseHandler&&typeof e.value==`string`&&this.mseHandler.initializeBuffer(e.value);break;case`error`:this.requestedMode.value!==`auto`&&(this.error.value=Error(e.value),this.status.value=`error`)}}async startWebRTC(e){if(this.abortController.signal.aborted)return;this.startConnectTimeout(),this.webrtcHandler=yC({mode:e,signal:this.abortController.signal,onConnected:e=>this.handleWebRTCConnected(e),onDisconnected:()=>this.handleWebRTCDisconnected(),onFailed:()=>this.handleWebRTCFailed(),onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e})});let t=await this.webrtcHandler.createOffer();t&&!this.abortController.signal.aborted&&this.sendWsMessage({type:`webrtc/offer`,value:t})}handleWebRTCConnected(e){if(this.abortController.signal.aborted)return;let t=this.videoElement.value;t&&(this.activeMode.value=this.requestedMode.value===`auto`?`webrtc`:this.requestedMode.value,this.lastMediaStream=e,t.srcObject=e,t.muted=this.muted.value,pC(t),this.status.value=`connected`,this.handleFirstFrameWebRTC(e),this.requestedMode.value===`auto`&&this.mseHandler&&(this.mseHandler.close(),this.mseHandler=void 0,this.stopMseConnectTimeout()))}handleWebRTCDisconnected(){this.status.value!==`closed`&&!this.abortController.signal.aborted&&(this.status.value=`reconnecting`,this.requestedMode.value===`auto`&&this.mseHandler?.isReady?(this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.status.value=`connected`):this.restart())}handleWebRTCFailed(){this.abortController.signal.aborted||(this.stopConnectTimeout(),this.requestedMode.value===`auto`?(this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.mseHandler?.isReady?this.status.value=`connected`:this.startMSE()):(this.error.value=Error(`WebRTC connection failed`),this.status.value=`error`))}startMSE(){if(this.mseHandler)return;let e=this.videoElement.value;if(this.abortController.signal.aborted||!e)return;this.mseHandler=fC({videoElement:e,signal:this.abortController.signal,onReady:()=>this.handleMSEReady(),onFirstData:()=>this.handleMSEFirstData(),onError:e=>{this.requestedMode.value===`auto`?this.activeMode.value===`mse`&&this.status.value===`connected`&&(SC.debug(`MSE error while active in auto mode — restarting:`,e),this.restart()):(this.error.value=e,this.status.value=`error`)}});let t=this.mseHandler.setup();t&&(this.sendWsMessage({type:`mse`,value:t}),this.startMseConnectTimeout())}handleMSEReady(){this.abortController.signal.aborted||(this.stopMseConnectTimeout(),this.requestedMode.value===`auto`&&this.webrtcHandler?.isConnected||(this.activeMode.value=`mse`,this.status.value=`connected`))}handleMSEFirstData(){if(this.abortController.signal.aborted)return;let e=this.videoElement.value;e&&pC(e)}async startAutoMode(){if(this.abortController.signal.aborted)return;let e=this.probeInfo.value??await this.probeStream();if(e&&!cC(e).compatible){this.activeMode.value=`mse`,this.startMSE();return}this.startMSE(),this.startWebRTC(`webrtc`)}handleFirstFrame(){!this.isPlaying.value&&!this.abortController.signal.aborted&&(this.stopConnectTimeout(),this.isPlaying.value=!0)}monitorMseBuffer(){let e=this.videoElement.value;if(!(!e||this.activeMode.value!==`mse`||!this.isPlaying.value)&&e.buffered.length>0){let t=e.buffered.end(e.buffered.length-1);t-e.currentTime>1&&(e.currentTime=t)}}stopMseMonitor(){this.mseMonitorInterval!==void 0&&(clearInterval(this.mseMonitorInterval),this.mseMonitorInterval=void 0)}handleFirstFrameWebRTC(e){let t=this.videoElement.value;if(this.isPlaying.value||this.abortController.signal.aborted||!t)return;if(!e.getVideoTracks()[0]){this.handleFirstFrame();return}let n=t;if(typeof n.requestVideoFrameCallback==`function`)this.firstFrameCallbackId=n.requestVideoFrameCallback(()=>{this.abortController.signal.aborted||this.handleFirstFrame()});else{let e=()=>{this.abortController.signal.aborted||(t.readyState>=2&&t.videoWidth>0?this.handleFirstFrame():this.firstFrameCallbackId=requestAnimationFrame(e))};this.firstFrameCallbackId=requestAnimationFrame(e)}}cleanup(){this.abortController.abort(),this.stopConnectTimeout(),this.stopWsConnectTimeout(),this.stopMseConnectTimeout(),this.stopReconnectTimeout(),this.stopMseMonitor(),this.lastMediaStream=null,this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.mseHandler?.close(),this.mseHandler=void 0,this.closeBackchannel(),this.disconnectWebSocket();let e=this.videoElement.value;this.firstFrameCallbackId!==void 0&&(e&&`cancelVideoFrameCallback`in e?e.cancelVideoFrameCallback(this.firstFrameCallbackId):cancelAnimationFrame(this.firstFrameCallbackId),this.firstFrameCallbackId=void 0),e&&(e.style.display=``,e.pause(),e.srcObject=null,e.removeAttribute(`src`),e.load())}async startBackchannel(){if(this.abortController.signal.aborted||!this.wsHandle||this.wsHandle.readyState!==WebSocket.OPEN)return;this.backchannelHandler=bC({signal:this.abortController.signal,onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e}),onConnected:async()=>{this.pendingMicTrack&&this.backchannelHandler&&await this.backchannelHandler.setMicrophoneTrack(this.pendingMicTrack)},onDisconnected:()=>{this.backchannelHandler=void 0}});let e=await this.backchannelHandler.createOffer();e&&!this.abortController.signal.aborted&&this.sendWsMessage({type:`webrtc/offer`,value:e})}closeBackchannel(){this.backchannelHandler?.close(),this.backchannelHandler=void 0,this.pendingMicTrack=null}};function wC(e){return new CC(e)}var TC=class{streams=new Map;releaseTimers=new Map;releaseDelay;DEFAULT_RELEASE_DELAY=2e3;constructor(e={}){this.releaseDelay=e.releaseDelay??this.DEFAULT_RELEASE_DELAY}has(e){return this.streams.has(e)}getRefCount(e){return this.streams.get(e)?.refCount??0}get(e){return this.streams.get(e)}acquire(e,t){this.cancelRelease(e);let n=this.streams.get(e);if(n)return n.refCount++,t&&n.consumerContainerRefs.add(t),n}register(e,t,n,r,i,a){this.cancelRelease(e);let o={stream:t,videoElementRef:n,cameraDeviceRef:r,containerElementRef:i,consumerContainerRefs:new Set([i]),sharedVideoElement:a,mediaStream:null,refCount:1};return this.streams.set(e,o),o}updateContainerElement(e,t){let n=this.streams.get(e);n&&(n.containerElementRef.value=t)}updateSharedVideoElement(e,t){let n=this.streams.get(e);n&&(n.sharedVideoElement=t)}updateMediaStream(e,t){let n=this.streams.get(e);n&&(n.mediaStream=t)}release(e,t,n){let r=this.streams.get(e);if(r){if(r.refCount--,n){r.consumerContainerRefs.delete(n);let e=r.sharedVideoElement,t=n.value,i=e?.parentElement??null;if(r.refCount>0&&e&&(i===t||i===null||!i.isConnected)){let n=this.pickVisibleConsumer(r,t);n&&(r.containerElementRef=n.ref,e.parentElement!==n.el&&(n.el.appendChild(e),e.play().catch(()=>{})))}}if(r.refCount<=0){let t=setTimeout(()=>{this.doRelease(e)},this.releaseDelay);this.releaseTimers.set(e,t)}}}forceRelease(e){this.cancelRelease(e),this.doRelease(e)}clear(){for(let e of this.releaseTimers.values())clearTimeout(e);this.releaseTimers.clear();for(let[e,t]of this.streams)EC(t.stream),this.streams.delete(e)}getDebugInfo(){return Array.from(this.streams.entries()).map(([e,t])=>({cameraName:e,refCount:t.refCount,mode:t.stream.activeMode.value,resolution:t.stream.activeResolution.value}))}pickVisibleConsumer(e,t){let n;for(let r of e.consumerContainerRefs){let e=r.value;if(!(!e||e===t||!e.isConnected)){if(e.checkVisibility?.()??e.offsetParent!==null)return{ref:r,el:e};n??={ref:r,el:e}}}return n}cancelRelease(e){let t=this.releaseTimers.get(e);t&&(clearTimeout(t),this.releaseTimers.delete(e))}doRelease(e){let t=this.streams.get(e);t&&(t.refCount<=0&&(EC(t.stream),this.streams.delete(e)),this.releaseTimers.delete(e))}};function EC(e){let t=e;typeof t.destroy==`function`?t.destroy():t.stop()}var DC=new TC,OC=new WeakMap,kC=[],AC=V(null);function jC(){AC.value=kC[kC.length-1]??null}function MC(){return W(()=>AC.value)}function NC(e,t={}){let n=t.mode??`fit`,r=B(!1),i=V(null);G(()=>U(e),e=>{i.value=e??null},{immediate:!0});function a(e){e.key===`Escape`&&r.value&&s()}async function o(){let e=i.value;if(!e||r.value)return;let t=document.createElement(`div`);t.className=`cui-fullscreen cui-fullscreen-${n}`,PC(t,n);let o={wrapper:t,parent:e.parentElement,next:e.nextSibling,bodyOverflow:document.body.style.overflow,htmlOverflow:document.documentElement.style.overflow};OC.set(e,o),e.setAttribute(`data-cui-fullscreen`,n),document.body.appendChild(t),t.appendChild(e),document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.addEventListener(`keydown`,a),kC.push(t),jC(),r.value=!0}async function s(){let e=i.value;if(!e||!r.value)return;let t=OC.get(e);if(!t)return;OC.delete(e),e.removeAttribute(`data-cui-fullscreen`),t.parent&&(t.next&&t.next.parentNode===t.parent?t.parent.insertBefore(e,t.next):t.parent.appendChild(e)),t.wrapper.remove(),document.body.style.overflow=t.bodyOverflow,document.documentElement.style.overflow=t.htmlOverflow,document.removeEventListener(`keydown`,a);let n=kC.indexOf(t.wrapper);n!==-1&&kC.splice(n,1),jC(),r.value=!1}async function c(){r.value?await s():await o()}return Hl(()=>{r.value&&i.value&&s(),document.removeEventListener(`keydown`,a)}),{isFullscreen:W(()=>r.value),isSupported:W(()=>!0),enter:o,exit:s,toggle:c}}function PC(e,t){let n={position:`fixed`,top:`0`,right:`0`,bottom:`0`,left:`0`,zIndex:`2147483647`,margin:`0`,background:`black`,paddingTop:`env(safe-area-inset-top)`,paddingRight:`env(safe-area-inset-right)`,paddingBottom:`env(safe-area-inset-bottom)`,paddingLeft:`env(safe-area-inset-left)`,boxSizing:`border-box`};t===`fit`?Object.assign(e.style,n,{display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`hidden`}):Object.assign(e.style,n,{display:`block`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,overscrollBehavior:`contain`})}var FC=75,IC=500,LC=0,RC=0;function zC(){let e=performance.now();e-RC>IC&&(LC=0);let t=LC*FC;return LC++,RC=e,t}function BC(e){return!e||!e.isConnected?!1:e.checkVisibility?.()??e.offsetParent!==null}function VC(e){let{activityConfig:t,autoStart:n=!0,isolated:r=!1}=e,i=()=>U(n),a=e.startDelay??zC(),o=[],{isConnected:s}=Fb(),c=W(()=>U(e.camera)),l=W(()=>typeof c.value==`string`),u=W(()=>{let e=c.value;return typeof e==`string`?e:e.name.value}),{camera:d,isLoading:f}=mx(W(()=>l.value?u.value:``)),p=W(()=>l.value&&f.value),m=W(()=>l.value?d.value:c.value),h,g,_,v=V(),y=V(),b=V(),x=V(),S=V(),C=V(),w=B(!1),T=B(!1),E=B(!1),D=B(0),O=B(0),k=B(!1),j=B(a<=0);a>0&&(h=setTimeout(()=>{j.value=!0},a)),G(m,e=>{C.value=e},{immediate:!0});let M=W(()=>C.value?.disabled.value===!0),N=W(()=>S.value?.status.value??`idle`),P=W(()=>S.value?.isPlaying.value??!1),ee=W(()=>S.value?.activeMode.value??`webrtc`),F=W(()=>S.value?.activeResolution.value??`low-resolution`),te=W(()=>S.value?.degradedFrom.value??null),ne=W(()=>N.value===`unsupported`),re=W(()=>S.value?.hasAudio.value??!1),I=W(()=>S.value?.hasBackchannel.value??!1),L=W(()=>S.value?.error.value),ie=W(()=>N.value===`reconnecting`),ae=W(()=>p.value||!P.value&&N.value!==`error`&&N.value!==`unsupported`),oe=W(()=>re.value&&N.value===`connected`),se=W(()=>!!(typeof navigator<`u`&&navigator.mediaDevices)&&I.value),ce=W(()=>S.value?.muted.value??!0),le=W(()=>S.value?.paused.value??!1),ue=W(()=>typeof document<`u`&&document.pictureInPictureEnabled&&!!b.value),de=W(()=>b.value),fe=W(()=>y.value??v.value),pe=IS({initialMode:U(e.activityMode)??`always-on`,config:t,onStreamStart:()=>{M.value||S.value?.start()},onStreamStop:()=>{if(w.value){let e=_??u.value;if(e&&DC.getRefCount(e)>1)return}S.value?.stop()},isStreamPlaying:()=>P.value}),{isFullscreen:R,toggle:me}=NC(fe);function he(){return g=wC({camera:C,videoElement:x,containerElement:v,mode:W(()=>U(e.mode)??`auto`),resolution:W(()=>U(e.resolution)??`high-resolution`),autoStart:!1}),g}let ge=he();function _e(){let e=document.createElement(`video`);return e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.disablePictureInPicture=!1,e.preload=`auto`,e.poster=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`,e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.inset=`0`,e.style.objectFit=`fill`,e}function ve(e,t){e.parentElement&&e.parentElement!==t&&e.parentElement.removeChild(e),e.parentElement!==t&&t.appendChild(e)}function z(){if(r)return;let e=v.value,t=b.value;if(!e||!t||t.parentElement===e||!BC(e)||BC(t.parentElement))return;ve(t,e),t.play().catch(()=>{});let n=u.value,i=n?DC.get(n):void 0;i&&(i.containerElementRef=v)}function ye(){k.value=!0}function be(){k.value=!1}function xe(){if(T.value)return;let e=v.value,t=m.value;if(!e||!t||!s.value)return;T.value=!0,w.value=!1,S.value=ge;let n=_e();b.value=n,x.value=n,i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&ge.start()}function Se(){if(T.value)return;if(r){xe();return}let e=v.value,t=u.value,n=m.value;if(!e||!t||!s.value)return;let a=DC.acquire(t,v);if(a){T.value=!0,_=t,w.value=!0,S.value=a.stream,n&&a.cameraDeviceRef&&(a.cameraDeviceRef.value=n);let r=a.sharedVideoElement;r||(r=_e(),a.sharedVideoElement=r,DC.updateSharedVideoElement(t,r)),a.mediaStream?.active&&(r.srcObject=a.mediaStream),e&&(a.containerElementRef=v),b.value=r,a.videoElementRef.value=r,Te(a.stream,r,t),i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&(a.stream.activeMode.value===`mse`?r.play().catch(()=>{}):Ce(a,r,t))}else if(n){T.value=!0,_=t,w.value=!1,S.value=ge;let e=_e();b.value=e,x.value=e,DC.register(t,ge,x,C,v,e),i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&ge.start();let n=G(()=>ge.isPlaying.value,n=>{n&&e.srcObject instanceof MediaStream&&DC.updateMediaStream(t,e.srcObject)},{immediate:!0});o.push(n);let r=G(()=>ge.status.value,n=>{n===`connected`&&e.srcObject instanceof MediaStream&&DC.updateMediaStream(t,e.srcObject)});o.push(r)}}function Ce(e,t,n){if(!e)return;let r=e.stream,i=r.activeMode.value,a=r.status.value,o=e.mediaStream?.active&&e.mediaStream.getTracks().some(e=>e.readyState===`live`);i===`mse`?(DC.updateMediaStream(n,null),r.restart()):o&&e.mediaStream?(t.srcObject=e.mediaStream,t.play().catch(()=>{})):a===`idle`||a===`closed`?(r.start(),we(r,t,n)):(a===`connected`&&r.restart(),we(r,t,n))}function we(e,t,n){let r=G([()=>e.isPlaying.value,()=>e.status.value],([e,i])=>{if(i===`connected`||e){let e=DC.get(n)?.mediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,t.play().catch(()=>{}),r()):t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}),r())}},{immediate:!0});o.push(r)}function Te(e,t,n){let r=e.status.value!==`connected`,i=G(()=>e.status.value,e=>{e===`reconnecting`||e===`connecting`?r=!0:e===`connected`&&r&&(r=!1,setTimeout(()=>{t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},100))},{immediate:!0});o.push(i);let a=G(()=>e.isPlaying.value,r=>{r&&e.activeMode.value!==`mse`&&t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},{immediate:!0});o.push(a)}async function Ee(){M.value||(pe.inStandby.value?pe.resumeFromStandby():await S.value?.start())}function H(){S.value?.stop()}async function De(){await S.value?.restart()}function Oe(){M.value||pe.resumeFromStandby()}async function ke(e){let t=u.value;t&&DC.updateMediaStream(t,null),await S.value?.setMode(e)}async function Ae(e){await S.value?.setResolution(e)}async function je(e){await S.value?.setMicrophone(e)}function Me(e){pe.setMode(e)}function Ne(e){pe.reportActivity(e)}function Pe(e){S.value?.setMuted(e);let t=b.value;t&&(t.muted=e)}async function Fe(){await S.value?.play()}function Ie(){S.value?.pause()}function Le(){document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&b.value&&b.value.requestPictureInPicture()}function Re(){let e=b.value;if(!e||e.videoWidth===0)return null;let t=document.createElement(`canvas`);return t.width=e.videoWidth,t.height=e.videoHeight,t.getContext(`2d`)?.drawImage(e,0,0),t.toDataURL(`image/png`)}function ze(){if(E.value)return;E.value=!0,h&&=(clearTimeout(h),void 0),S.value?.setMuted(!0);let e=b.value;e&&(e.muted=!0);for(let e of o)e();if(o.length=0,r)g?.destroy();else{let e=_,t=b.value;e&&T.value&&DC.release(e,t,v),(!T.value||S.value!==ge)&&g?.destroy()}pe.dispose()}function Be(t){let n=U(e.canvasStyle),r=U(e.canvasClass);if(n)if(typeof n==`string`)t.style.cssText+=`;`+n;else if(Array.isArray(n))for(let e of n)typeof e==`string`?t.style.cssText+=`;`+e:e&&Object.assign(t.style,e);else Object.assign(t.style,n);if(r)if(typeof r==`string`)t.className=r;else if(Array.isArray(r))t.className=r.filter(Boolean).join(` `);else for(let[e,n]of Object.entries(r))t.classList.toggle(e,!!n)}if(!r&&typeof IntersectionObserver<`u`){let e,t=G(v,t=>{e?.disconnect(),e=void 0,t&&(e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&z()}),e.observe(t))},{immediate:!0});o.push(()=>{t(),e?.disconnect()})}if(e.canvasStyle!==void 0||e.canvasClass!==void 0){let e,t=G(v,t=>{if(e?.(),e=void 0,!t)return;Array.from(t.querySelectorAll(`canvas`)).forEach(e=>{Be(e)});let n=new MutationObserver(e=>{for(let t of e)Array.from(t.addedNodes).forEach(e=>{e instanceof HTMLCanvasElement?Be(e):e instanceof HTMLElement&&Array.from(e.querySelectorAll(`canvas`)).forEach(e=>Be(e))})});n.observe(t,{childList:!0,subtree:!0}),e=()=>n.disconnect()},{immediate:!0});o.push(()=>{t(),e?.()})}if(e.videoStyle!==void 0||e.videoClass!==void 0){let t=G([b,()=>U(e.videoStyle),()=>U(e.videoClass)],([e,t,n])=>{if(e){if(t)if(typeof t==`string`)e.style.cssText+=`;`+t;else if(Array.isArray(t))for(let n of t)typeof n==`string`?e.style.cssText+=`;`+n:n&&Object.assign(e.style,n);else Object.assign(e.style,t);if(n)if(typeof n==`string`)e.className=n;else if(Array.isArray(n))e.className=n.filter(Boolean).join(` `);else for(let[t,r]of Object.entries(n))e.classList.toggle(t,r)}},{immediate:!0});o.push(t)}let Ve=G([()=>S.value?.nativeWidth.value,()=>S.value?.nativeHeight.value],([e,t])=>{e&&e>0&&(D.value=e),t&&t>0&&(O.value=t)});o.push(Ve);let He=G(b,(e,t)=>{t&&(t.removeEventListener(`enterpictureinpicture`,ye),t.removeEventListener(`leavepictureinpicture`,be)),e&&(e.addEventListener(`enterpictureinpicture`,ye),e.addEventListener(`leavepictureinpicture`,be))},{immediate:!0});return o.push(He),G([v,b],([e,t])=>{e&&t&&ve(t,e)},{immediate:!0}),G(()=>U(e.activityMode),e=>{e&&e!==pe.mode.value&&pe.setMode(e)}),G([v,m,s,j],()=>{T.value?j.value&&i()&&pe.mode.value===`always-on`&&!P.value&&N.value===`idle`&&!M.value&&S.value?.start():Se()},{immediate:!0}),G(M,(e,t)=>{T.value&&(!t&&e?S.value?.stop():t&&!e&&i()&&S.value?.restart())}),A(ze),Hl(ze),{status:N,isPlaying:P,activeMode:ee,activeResolution:F,degradedFrom:te,unsupported:ne,hasAudio:re,hasBackchannel:I,error:L,isReconnecting:ie,activityMode:pe.mode,inStandby:pe.inStandby,hasActivity:pe.hasActivity,isBusy:ae,hasSound:oe,hasIntercom:se,videoElement:b,containerElement:v,fullscreenElement:y,renderElement:de,stream:S,muted:ce,paused:le,nativeWidth:D,nativeHeight:O,isPip:k,supportsPip:ue,isFullscreen:R,start:Ee,stop:H,restart:De,resumeFromStandby:Oe,setMode:ke,setResolution:Ae,setMicrophone:je,setActivityMode:Me,reportActivity:Ne,setMuted:Pe,play:Fe,pause:Ie,togglePip:Le,isCameraDisabled:M,toggleFullscreen:me,captureScreenshot:Re}}function HC(){let e=Fb(),t=Rb.coreManagerNamespaces(),n=e=>e.createProxy(t.coreManagerRpc);return{getFFmpegPath:()=>Vb(e.rpc,e=>n(e).getFFmpegPath()),getServerAddresses:()=>Vb(e.rpc,e=>n(e).getServerAddresses()),getPluginsByInterface:t=>Vb(e.rpc,e=>n(e).getPluginsByInterface(t)),getCloudServerId:()=>Vb(e.rpc,e=>n(e).getCloudServerId())}}var UC=1500,WC=3e4,GC=new Map;function KC(e){let t=Fb(),n=B({status:`disconnected`}),r=B(null),i=null,a=n=>Vb(t.rpc,async r=>{let i=await uS(t.rpc,e);if(!i)throw Error(`Plugin "${e}" not found`);return n(r.createProxy(Rb.pluginNamespaces(i).pluginChildRpc))});async function o(){n.value=await a(e=>e.getOAuthState()),r.value||=await a(e=>e.getOAuthMetadata())}function s(e){i&&clearInterval(i),i=setInterval(()=>{o().catch(()=>void 0)},e)}return G(()=>n.value.status,e=>{s(e===`awaiting_user`||e===`polling`?UC:WC)},{immediate:!0}),o().catch(()=>void 0),{state:n,metadata:r,call:a,refresh:o}}function qC(e){GC.has(e)||GC.set(e,KC(e));let{state:t,metadata:n,call:r,refresh:i}=GC.get(e);async function a(e){t.value=await r(t=>t.startDeviceFlow(e))}async function o(e){t.value=await r(t=>t.startAuthCodeFlow(e))}async function s(){(t.value.status===`awaiting_user`||t.value.status===`polling`)&&await r(e=>e.cancelDeviceFlow?.()??e.cancelAuthCodeFlow?.()??Promise.resolve()),await i()}async function c(){await r(e=>e.disconnect()),await i()}return{state:t,metadata:n,startDeviceFlow:a,startAuthCodeFlow:o,cancel:s,disconnect:c,refresh:i}}function JC(){let e=Fb(),{rpc:t,isConnected:n}=e,r=Rb.terminalManagerNamespaces(),i=V(),a=B(!1),o=B(!1),s=B(),c=B({cols:80,rows:24}),l,u,d=0,f=e=>e.createProxy(r.terminalManagerRpc);async function p(e){if(!(o.value||a.value)){o.value=!0,s.value=void 0,u=e;try{let n=await Vb(t,t=>f(t).createSession({cols:e?.cols??80,rows:e?.rows??24,cwd:e?.cwd,shell:e?.shell,env:e?.env}));i.value=n.sessionId,c.value=n.dimensions,a.value=!0,l=new AbortController;let r=++d;m(n.sessionId,e,r)}catch(t){s.value=t instanceof Error?t:Error(String(t)),e?.onError?.(s.value)}finally{o.value=!1}}}async function m(e,n,r){try{let i=t.value;if(!i)return;for await(let t of f(i).generateOutput(e)){if(r!==d||l?.signal.aborted)break;n?.onData?.(t)}}catch(e){r===d&&!l?.signal.aborted&&(s.value=e instanceof Error?e:Error(String(e)),n?.onError?.(s.value))}finally{r===d&&!l?.signal.aborted&&(a.value=!1,n?.onClose?.())}}async function h(e){if(!(!i.value||!a.value))try{await Vb(t,t=>f(t).writeInput(i.value,e))}catch(e){s.value=e instanceof Error?e:Error(String(e)),u?.onError?.(s.value)}}async function g(e){if(!(!i.value||!a.value))try{await Vb(t,t=>f(t).resize(i.value,e)),c.value=e}catch(e){s.value=e instanceof Error?e:Error(String(e)),u?.onError?.(s.value)}}async function _(){if(l?.abort(),d++,i.value)try{await Vb(t,e=>f(e).closeSession(i.value),{awaitConnect:!1,maxRetries:0})}catch{}i.value=void 0,a.value=!1,u=void 0}function v(){if(!i.value&&!a.value)return;let e=u;l?.abort(),d++,i.value=void 0,a.value=!1,u=void 0,e?.onClose?.(),e&&p(e)}return e.on(`reconnected`,v),Hl(()=>{e.off(`reconnected`,v),_()}),{sessionId:Xe(i),isConnected:Xe(a),isConnecting:Xe(o),isClientConnected:Xe(n),error:Xe(s),dimensions:Xe(c),connect:p,write:h,resize:g,close:_}}var YC=xv.extend({name:`skeleton`,style:`
1079
+ `,classes:{root:`p-progressspinner`,spin:`p-progressspinner-spin`,circle:`p-progressspinner-circle`}}),jb={name:`ProgressSpinner`,extends:{name:`BaseProgressSpinner`,extends:dy,props:{strokeWidth:{type:String,default:`2`},fill:{type:String,default:`none`},animationDuration:{type:String,default:`2s`}},style:Ab,provide:function(){return{$pcProgressSpinner:this,$parentInstance:this}}},inheritAttrs:!1,computed:{svgStyle:function(){return{"animation-duration":this.animationDuration}}}},Mb=[`fill`,`stroke-width`];function Nb(e,t,n,r,i,a){return O(),z(`div`,q({class:e.cx(`root`),role:`progressbar`},e.ptmi(`root`)),[(O(),z(`svg`,q({class:e.cx(`spin`),viewBox:`25 25 50 50`,style:a.svgStyle},e.ptm(`spin`)),[R(`circle`,q({class:e.cx(`circle`),cx:`50`,cy:`50`,r:`20`,fill:e.fill,"stroke-width":e.strokeWidth,strokeMiterlimit:`10`},e.ptm(`circle`)),null,16,Mb)],16))],16)}jb.render=Nb;function Pb(e={}){let{releaseDelay:t=1e3,onRelease:n}=e,r=new Map,i=new Map;function a(e){let t=i.get(e);t&&(clearTimeout(t),i.delete(e))}function o(e){let t=r.get(e);if(t){try{n?.(e,t.value)}catch{}r.delete(e)}i.delete(e)}function s(e,t){a(e);let n=r.get(e);if(n)return n.refCount++,n.value;let i=t();return r.set(e,{value:i,refCount:1}),i}function c(e){let n=r.get(e);if(n&&(n.refCount--,n.refCount<=0)){let n=setTimeout(()=>{let t=r.get(e);t&&t.refCount<=0?o(e):i.delete(e)},t);i.set(e,n)}}function l(e){return r.get(e)?.value}function u(e){return r.has(e)}function d(e){a(e),o(e)}function f(){for(let e of i.keys())a(e);for(let e of r.keys())o(e)}function p(e){return r.get(e)?.refCount??0}function m(e){for(let[t,n]of r)e(n.value,t)}return{acquire:s,release:c,get:l,has:u,forceRelease:d,clear:f,getRefCount:p,forEachValue:m}}function Fb(){let e=ge(kS);if(!e)throw Error(`[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.`);return e}function Ib(e){return e.replace(/ /g,`_`).toLowerCase()}function Lb(e,t){return`cui_${Ib(e)}_${Ib(t)}`}var Rb=class{static coreManagerNamespaces(){return{coreManagerSubject:`coreManager.subscriber`,coreManagerRpc:`coreManager.rpc`}}static deviceManagerNamespaces(){return{deviceManagerSubject:`deviceManager.subscriber`,deviceManagerRpc:`deviceManager.rpc`}}static discoveryManagerNamespaces(){return{discoveryManagerSubject:`discoveryManager.subscriber`,discoveryManagerRpc:`discoveryManager.rpc`}}static pluginNamespaces(e){return{pluginDeviceManagerSubject:`plugin.${e}.deviceManager.subscriber`,pluginChildRpc:`plugin.${e}.child.rpc`,pluginChild:`plugin.${e}.child`,pluginStorageRpc:`plugin.${e}.storage.rpc`,pluginConfigStoreRpc:`plugin.${e}.configstore.rpc`}}static pluginFileServeRpc(e){return`plugin.${e}.fileserve.rpc`}static cameraNamespaces(e){return{cameraSubject:`camera.${e}.subscriber`,cameraControllerRpc:`camera.${e}.controller.rpc`}}static frameWorkerNamespaces(e){return{frameWorkerChildRpc:`camera.${e}.frameWorker.child.rpc`,frameWorkerChild:`camera.${e}.frameWorker.child`}}static pluginCameraNamespaces(e,t){return{cameraInterfacesRpc:`plugin.${e}.camera.${t}.cameraInterfaces.rpc`,cameraStorageRpc:`plugin.${e}.camera.${t}.cameraStorage.rpc`,cameraImplRpc:`plugin.${e}.camera.${t}.impl.rpc`}}static pluginSensorNamespaces(e,t){return{sensorStorageRpc:`plugin.${e}.sensor.${t}.storage.rpc`}}static sensorRegistryNamespaces(){return{sensorsSubject:`sensors.subject`,sensorsRpc:`sensors.rpc`}}static sensorCameraViewNamespaces(e){return{sensorWriteSubject:`camera.${e}.sensors.writes`}}static sensorEventNamespaces(e){return{sensorSubject:`sensor.${e}.subject`}}static sensorProviderNamespaces(e,t){return{sensorRpc:`plugin.${e}.sensor.${t}.rpc`}}static legacySensorNamespaces(e){return{sensorSubject:`camera.${e}.sensors.subject`,sensorRpc:`camera.${e}.sensors.rpc`}}static frameWorkerDetectionNamespaces(e){return{detectionRpc:`camera.${e}.frameWorker.detection.rpc`}}static detectionEventNamespaces(e){return{detectionEventSubject:`camera.${e}.events.subject`}}static terminalManagerNamespaces(){return{terminalManagerSubject:`terminalManager.subscriber`,terminalManagerRpc:`terminalManager.rpc`}}static downloadManagerNamespaces(){return{downloadManagerRpc:`downloadManager.rpc`}}static notificationManagerNamespaces(){return{notificationsPublishSubject:`notifications.publish`}}static workerAgentRpc(e){return`worker.${e}.rpc`}static workerManagerRpc(){return`workers.manager.rpc`}static workerSync(e){return`worker.${e}.sync`}static workerDisconnect(){return`workers.disconnect`}static workerLogs(){return`workers.logs`}},zb=3,Bb=3e4;async function Vb(e,t,n={}){let r=n.maxRetries??zb,i=n.awaitConnect??!0,a=n.connectTimeoutMs??Bb,o=n.retryDelayMs??Hb,s=n.shouldRetry??Ub,c=n.signal,l;for(let n=0;n<=r;n++){if(c?.aborted)throw Kb();let u=e.value;if(!u){if(!i)throw Error(`rpc: not connected`);u=await Wb(e,a,c)}try{return await t(u)}catch(e){if(l=e,n>=r||!s(e,n))throw e;await Gb(o(n),c)}}throw l??Error(`rpc: max retries exceeded`)}function Hb(e){return Math.min(100*2**e,1e3)}function Ub(e){if(!(e instanceof Error))return!1;let t=e.code;if(t===`TIMEOUT`||t===`CONNECTION_CLOSED`)return!0;let n=e.message.toLowerCase();return!!(n.includes(`not connected`)||n.includes(`connection closed`)||n.includes(`no responders`)||n.includes(`connection refused`)||n.includes(`socket`)||n.includes(`timed out`)||n.includes(`timeout`))}async function Wb(e,t,n){return e.value?e.value:new Promise((r,i)=>{let a=setTimeout(()=>{s(),n?.removeEventListener(`abort`,o),i(Error(`rpc: connect timeout`))},t),o=()=>{clearTimeout(a),s(),i(Kb())};n?.addEventListener(`abort`,o,{once:!0});let s=G(e,e=>{e&&(clearTimeout(a),s(),n?.removeEventListener(`abort`,o),r(e))})})}async function Gb(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Kb());return}let i=setTimeout(()=>{t?.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),r(Kb())};t?.addEventListener(`abort`,a,{once:!0})})}function Kb(){if(typeof DOMException<`u`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}var qb=5e3,Jb=new Map,Yb=new Map,Xb=new Map,Zb=new Map;function Qb(e){Zb.get(e)?.forEach(e=>e())}function $b(e){setTimeout(()=>URL.revokeObjectURL(e),qb)}function ex(e,t,n){let r=Xb.get(e);r&&($b(r),Xb.delete(e)),Jb.set(e,t),n!==void 0&&Yb.set(e,n),Qb(e)}function tx(e){return Jb.get(e)}function nx(e,t){return Zb.has(e)||Zb.set(e,new Set),Zb.get(e).add(t),()=>{Zb.get(e)?.delete(t)}}function rx(e){let t=Jb.get(e);if(!t)return;let n=Xb.get(e);return n||(n=URL.createObjectURL(new Blob([t],{type:`image/jpeg`})),Xb.set(e,n)),n}function ix(){for(let e of Xb.values())URL.revokeObjectURL(e);Xb.clear(),Jb.clear(),Yb.clear()}function ax(e){let{isConnected:t}=Fb(),n=sx(),r=V(),i=B(!1),a=B(!1),o=W(()=>{if(!r.value)return;let t=U(e);return rx(typeof t==`string`?t:t._id)}),s=W(()=>{if(!r.value)return;let t=U(e),n=typeof t==`string`?t:t._id;return Yb.get(n)});function c(e){Zb.has(e)||Zb.set(e,new Set);let t=()=>{r.value=Jb.get(e)};return Zb.get(e).add(t),()=>{Zb.get(e)?.delete(t)}}let l,u,d;async function f(t){if(u!==t&&d!==t){d=t;try{if(!await dx(n,t))return;let r=U(e);if((typeof r==`string`?r:r._id)!==t||u===t){fx(t);return}p(),u=t}catch{}finally{d=void 0}}}function p(){u&&=(fx(u),void 0)}async function m(e){if(!t.value||!e)return;let o=Jb.get(e);if(o){r.value=o,a.value=!0;return}i.value=!0;try{let t=await dx(n,e);try{if(t){let n=await t.fetchSnapshot();n&&(ex(e,n),r.value=n)}}finally{t&&fx(e)}}catch{}finally{i.value=!1,a.value=!0}}function h(e){return typeof e==`object`&&e?.disabled===!0}async function g(){let o=U(e),s=typeof o==`string`?o:o._id;if(!(!s||!t.value)&&!h(o)){i.value=!0;try{let e=await dx(n,s);try{if(e){let t=await e.fetchSnapshot(void 0,!0);t&&(ex(s,t),r.value=t)}}finally{e&&fx(s)}}catch{}finally{i.value=!1,a.value=!0}}}return G([t,()=>U(e),()=>h(U(e))],async([e,t,n])=>{l?.(),l=void 0;let i=typeof t==`string`?t:t._id;e&&i&&!n?(l=c(i),await f(i),await m(i)):i?(p(),r.value=Jb.get(i),a.value=!0):(p(),r.value=void 0)},{immediate:!0}),Hl(()=>{l?.(),p()}),{snapshot:r,snapshotSrc:o,snapshotTimestamp:s,isLoading:W(()=>i.value||!a.value),refresh:g}}async function ox(e,t){let n=Rb.cameraNamespaces(t._id),r=Rb.sensorRegistryNamespaces(),i=`rpc`in e&&`value`in e.rpc?e:void 0,a=i?i.rpc:V(e),o,s,c=V(t),l=B(!1),u=B(!1),d=V(tx(t._id)),f=B(!1),p=B({}),m=nx(t._id,()=>{d.value=tx(t._id)}),h=W(()=>c.value.name),g=W(()=>c.value.room),_=W(()=>c.value.nativeId),v=W(()=>c.value.disabled),y=W(()=>c.value.detectionSettings?.snooze??!1),b=W(()=>c.value.isCloud),x=W(()=>JSON.parse(JSON.stringify(c.value.sources)).map(e=>({...e,snapshot:async t=>te(e._id,t),probeStream:async(t,n=!1)=>ne(e._id,t,n)}))),S=W(()=>x.value.find(e=>e.role===`high-resolution`)),C=W(()=>x.value.find(e=>e.role===`mid-resolution`)),w=W(()=>x.value.find(e=>e.role===`low-resolution`)),T=W(()=>S.value??C.value??w.value),E=W(()=>x.value.find(e=>e.role===`snapshot`)??x.value.find(e=>e.useForSnapshot)),D=W(()=>{let e=new Set;for(let t of Object.values(p.value))e.add(t.type);return e}),O=W(()=>Array.from(D.value)),k=W(()=>D.value.has(mm.Light)),A=W(()=>D.value.has(mm.Siren)),j=W(()=>D.value.has(mm.Doorbell)),M=W(()=>D.value.has(mm.Battery)),N=W(()=>D.value.has(mm.Audio)),P=W(()=>D.value.has(mm.Motion)),ee=W(()=>D.value.has(mm.Object)),F=W(()=>D.value.has(mm.PTZ));async function te(e,r){f.value=!0;try{try{let i=await Vb(a,t=>t.createProxy(n.cameraControllerRpc).snapshotWithMeta(e,r));return i&&i.data.byteLength>0?(ex(t._id,i.data,Date.now()-i.ageMs),i.data):void 0}catch{let i=await Vb(a,t=>t.createProxy(n.cameraControllerRpc).snapshot(e,r));if(i&&i.byteLength>0)return ex(t._id,i,r?Date.now():void 0),i}}finally{f.value=!1}}async function ne(e,t,r=!1){return Vb(a,i=>i.createProxy(n.cameraControllerRpc).probeStream(e,t,r))}async function re(e){return Vb(a,t=>t.createProxy(n.cameraControllerRpc).streamUrl(e))}async function I(){let e=await Vb(a,e=>e.createProxy(n.cameraControllerRpc).refreshStates());c.value=e.camera,l.value=e.cameraState,u.value=e.frameWorkerState,p.value=e.sensorStates}async function L(e){switch(e.type){case`removed`:await oe();break;case`updated`:c.value=e.data;break;case`cameraState`:l.value=e.data;break;case`frameWorkerState`:u.value=e.data;break;case`snapshot:updated`:ex(t._id,e.data.snapshot,Date.now())}}function ie(e){if(e.type===`sensor:added`){let n=e.data;if(!n.sensor.assignedCameraIds.includes(t._id)||!n.sensor.connected)return;p.value={...p.value,[n.sensor.id]:n.state}}else if(e.type===`sensor:deleted`){let t=e.data,n={...p.value};delete n[t.sensorId],p.value=n}else if(e.type===`sensor:connected:changed`){let t=e.data;if(t.connected)I().catch(()=>{});else{let e={...p.value};delete e[t.sensorId],p.value=e}}else if(e.type===`sensor:assignment:changed`){let n=e.data;if(n.cameraId!==t._id)return;if(n.assigned)I().catch(()=>{});else{let e={...p.value};delete e[n.sensorId],p.value=e}}}async function ae(){o?.(),s?.(),o=await Vb(a,e=>e.subscribe(n.cameraSubject,L)),s=await Vb(a,e=>e.subscribe(r.sensorsSubject,ie)),await I()}async function oe(){o?.(),o=void 0,s?.(),s=void 0,m()}async function se(e,t){let n=x.value.find(e=>e.useForSnapshot),r=x.value.find(e=>e.role===`snapshot`),i=e??r?._id??n?._id??w.value?._id??C.value?._id??S.value?._id??T.value?._id;return i?te(i,t):Promise.resolve(void 0)}async function ce(e,t,n=!1){let r=e??T.value?._id;return r?ne(r,t,n):Promise.resolve(void 0)}return await ae(),{id:t._id,name:h,room:g,nativeId:_,disabled:v,snooze:y,isCloud:b,connected:l,frameWorkerConnected:u,sources:x,streamSource:T,snapshotSource:E,highResolutionSource:S,midResolutionSource:C,lowResolutionSource:w,capabilities:O,hasLight:k,hasSiren:A,hasDoorbell:j,hasBattery:M,hasAudioSensor:N,hasMotionSensor:P,hasObjectSensor:ee,hasPtz:F,camera:c,snapshot:d,snapshotLoading:f,fetchSnapshot:se,probeStream:ce,streamUrl:re,refreshStates:I,reconnect:ae,close:oe}}function sx(){let e=Fb(),t=Rb.deviceManagerNamespaces();async function n(n){let r=await Vb(e.rpc,e=>e.createProxy(t.deviceManagerRpc).getCamera(n,`@camera.ui/browser`));if(r)return ox(e,r)}return{getCamera:n}}var cx=Pb({releaseDelay:1e3,onRelease:(e,t)=>t.close()}),lx=new Map;function ux(){cx.clear(),lx.clear()}async function dx(e,t){if(cx.has(t))return cx.acquire(t,()=>{throw Error(`Should not create - already cached`)});let n=lx.get(t);if(n){let e=await n;return e?cx.acquire(t,()=>e):void 0}let r=e.getCamera(t);lx.set(t,r);try{let e=await r;return e?cx.acquire(t,()=>e):void 0}finally{lx.delete(t)}}function fx(e){cx.release(e)}function px(){cx.forEachValue(e=>{e.reconnect().catch(()=>{})})}function mx(e){let{isConnected:t}=Fb(),n=sx(),r=V(),i=B(!1),a=B(!1),o=B(),s;async function c(c){if(!t.value||!c)return;if(s&&s!==c&&(cx.release(s),r.value=void 0,s=void 0),cx.has(c)){let e=cx.acquire(c,()=>{throw Error(`Should not create - already cached`)});s=c,r.value=e,a.value=!0;return}let l=lx.get(c);if(l){i.value=!0;try{let t=await l;if(t&&cx.has(c)&&U(e)===c){let e=cx.acquire(c,()=>t);s=c,r.value=e}}catch(e){o.value=e instanceof Error?e:Error(String(e))}finally{i.value=!1,a.value=!0}return}i.value=!0,o.value=void 0;let u=n.getCamera(c);lx.set(c,u);try{let t=await u;if(t){if(cx.acquire(c,()=>t),U(e)!==c){cx.release(c);return}s=c,r.value=t}}catch(e){o.value=e instanceof Error?e:Error(String(e))}finally{lx.delete(c),i.value=!1,a.value=!0}}async function l(){let t=U(e);t&&(s&&=(cx.getRefCount(s)<=1?cx.forceRelease(s):cx.release(s),r.value=void 0,void 0),await c(t))}return G([t,()=>U(e)],async([e,t])=>{e&&t?await c(t):!e&&s&&(cx.release(s),r.value=void 0,s=void 0)},{immediate:!0}),Hl(()=>{s&&=(cx.release(s),r.value=void 0,void 0)}),{camera:r,isLoading:W(()=>i.value||!a.value),error:o,refresh:l}}var hx=Pb({releaseDelay:1e3}),gx=new Map,_x=new Set;function vx(){hx.clear(),gx.clear();for(let e of _x)try{e()}catch{}}function yx(e){let{rpc:t,isConnected:n}=Fb(),r=V(),i=B(),a=B(!1),o=B(!1),s=B(),c;function l(e){if(hx.has(e))return hx.acquire(e,()=>{throw Error(`Should not create - already cached`)})}function u(e){hx.release(e)}async function d(d){if(!n.value||!d)return;c&&c!==d&&(u(c),r.value=void 0,i.value=void 0,c=void 0);let f=l(d);if(f){c=d,r.value=f.proxy,i.value=f.contract,o.value=!0;return}let p=gx.get(d);if(p){a.value=!0;try{if(await p&&U(e)===d){let e=l(d);e&&(c=d,r.value=e.proxy,i.value=e.contract)}}catch(e){s.value=e instanceof Error?e:Error(String(e))}finally{a.value=!1,o.value=!0}return}a.value=!0,s.value=void 0;let m=Vb(t,async e=>{let t=Rb.coreManagerNamespaces(),n=await e.createProxy(t.coreManagerRpc).getPlugin(d);if(!n)throw Error(`Plugin "${d}" not found`);let r=Rb.pluginNamespaces(n.id);return{proxy:e.createProxy(r.pluginChildRpc),contract:n.contract}});gx.set(d,m);try{let t=await m;if(t){if(hx.acquire(d,()=>t),U(e)!==d){hx.release(d);return}c=d,r.value=t.proxy,i.value=t.contract}}catch(e){s.value=e instanceof Error?e:Error(String(e)),r.value=void 0,i.value=void 0}finally{gx.delete(d),a.value=!1,o.value=!0}}async function f(){let t=U(e);t&&(c&&=(hx.getRefCount(c)<=1?hx.forceRelease(c):hx.release(c),r.value=void 0,i.value=void 0,void 0),await d(t))}let p=()=>{c&&=(r.value=void 0,i.value=void 0,void 0)};return _x.add(p),G([n,()=>U(e),t],async([e,t,n],a)=>{let o=a?.[2];c&&o&&o!==n&&(u(c),r.value=void 0,i.value=void 0,c=void 0),e&&t&&n?await d(t):(!e||!n)&&c&&(u(c),r.value=void 0,i.value=void 0,c=void 0)},{immediate:!0}),Hl(()=>{_x.delete(p),c&&=(u(c),r.value=void 0,i.value=void 0,void 0)}),{plugin:r,contract:i,isLoading:W(()=>a.value||!o.value),error:s,refresh:f}}function bx(e){if(e)return typeof e==`string`?e:e.id}function xx(e){return t=>t.type===e}var Sx=xx(mm.Light),Cx=xx(mm.Siren),wx=xx(mm.Battery),Tx=xx(mm.Doorbell),Ex=xx(mm.Contact),Dx=xx(mm.Motion),Ox=xx(mm.Object),kx=xx(mm.Audio),Ax=xx(mm.Face),jx=xx(mm.LicensePlate);mm.Classifier,mm.PTZ;var Mx=xx(mm.Switch),Nx=xx(mm.Lock),Px=xx(mm.SecuritySystem),Fx=xx(mm.Temperature),Ix=xx(mm.Humidity),Lx=xx(mm.Occupancy),Rx=xx(mm.Smoke),zx=xx(mm.Leak),Bx=xx(mm.Garage);function Vx(e,t,n){let r=B(t.displayName??e.displayName??e.name),i=B(t.capabilities??e.capabilities??[]),a=B([...e.assignedCameraIds]),o=B(e.exposed),s=B(e.connected),c=Ve({...t.properties}),l=[];return{id:e.id,type:e.type,name:e.name,displayName:r,nativeId:e.nativeId,pluginId:e.pluginId,assignedCameraIds:a,exposed:o,connected:s,capabilities:i,properties:c,getProperty(e){return c[e]},async setProperty(t,r){let i=`plugin.${e.pluginId}.sensor.${e.id}.rpc`;await Vb(n,e=>e.createProxy(i).updateValue(t,r))},async setDisplayName(t){let r=Rb.sensorRegistryNamespaces();await Vb(n,n=>n.createProxy(r.sensorsRpc).setDisplayName(e.id,t))},hasCapability(e){return i.value.includes(e)},onCapabilitiesChanged(e){return l.push(e),()=>{let t=l.indexOf(e);t!==-1&&l.splice(t,1)}},_notifyCapabilitiesChanged(){for(let e of l)e(i.value)}}}function Hx(e){let{sensorsSubject:t,sensorsRpc:n}=Rb.sensorRegistryNamespaces(),r=`rpc`in e&&`value`in e.rpc?e:void 0,i=r?r.rpc:V(e),a=V(new Map),o,s=new Map,c=B(!1),l;function u(e,t){let n=a.value.get(e);if(n){if(t.type===`property:changed`){let e=t.data;n.properties[e.property]=e.value}else if(t.type===`sensor:displayName:changed`){let e=t.data;n.displayName.value=e.displayName}else if(t.type===`sensor:capabilities:changed`){let e=t.data;n.capabilities.value=e.capabilities,n._notifyCapabilitiesChanged()}}}async function d(e){if(s.has(e))return;let t=Rb.sensorEventNamespaces(e),n=await Vb(i,n=>n.subscribe(t.sensorSubject,t=>u(e,t)));s.set(e,n)}function f(e){let t=s.get(e);t&&(t(),s.delete(e))}function p(e){if(e.type===`sensor:added`){let t=e.data;if(a.value.has(t.sensor.id))return;let n=Vx(t.sensor,t.state,i),r=new Map(a.value);r.set(t.sensor.id,n),a.value=r,d(t.sensor.id)}else if(e.type===`sensor:deleted`){let t=e.data;f(t.sensorId);let n=new Map(a.value);n.delete(t.sensorId),a.value=n}else if(e.type===`sensor:connected:changed`){let t=e.data,n=a.value.get(t.sensorId);n&&(n.connected.value=t.connected)}else if(e.type===`sensor:assignment:changed`){let t=e.data,n=a.value.get(t.sensorId);if(!n)return;let r=new Set(n.assignedCameraIds.value);t.assigned?r.add(t.cameraId):r.delete(t.cameraId),n.assignedCameraIds.value=[...r]}else if(e.type===`sensor:exposed:changed`){let t=e.data,n=a.value.get(t.sensorId);n&&(n.exposed.value=t.exposed)}}async function m(){o?.(),o=void 0;for(let e of s.values())e();s.clear(),a.value=new Map;let e=[];o=await Vb(i,n=>n.subscribe(t,t=>{e?e.push(t):p(t)}));let[r,l]=await Vb(i,async e=>{let t=e.createProxy(n);return Promise.all([t.getSensors(),t.getSensorStates()])}),u=new Map;for(let e of r){let t=Vx(e,l[e.id]??{properties:{},capabilities:[],type:e.type},i);u.set(e.id,t)}a.value=u;for(let e of u.keys())await d(e);let f=e;e=void 0;for(let e of f)p(e);c.value=!0}function h(){let e=m().finally(()=>{l===e&&(l=void 0)});return l=e,e}async function g(){if(!c.value)return l||h(),l}async function _(){if(c.value=!1,l){let e=l.catch(()=>{}).then(()=>m()).finally(()=>{l===e&&(l=void 0)});return l=e,e}return h()}function v(){o?.(),o=void 0;for(let e of s.values())e();s.clear(),a.value.clear(),c.value=!1,l=void 0}let y=W(()=>Array.from(a.value.values()));return{sensors:y,isInitialized:W(()=>c.value),getSensor(e){return a.value.get(e)},getSensorsByType(e){return y.value.filter(t=>t.type===e)},hasSensorType(e){return y.value.some(t=>t.type===e)},async setDisplayName(e,t){await Vb(i,r=>r.createProxy(n).setDisplayName(e,t))},ensureInitialized:g,reconnect:_,close:v}}var Ux=Pb({releaseDelay:1e3,onRelease:(e,t)=>t.manager.close()});function Wx(){Ux.clear()}function Gx(){Ux.forEachValue(e=>{e.initPromise=e.manager.reconnect()})}var Kx=`sensors`;function qx(e){return Ux.acquire(Kx,()=>({manager:Hx(e)}))}function Jx(){Ux.release(Kx)}function Yx(){return{acquired:!1,cachedManager:void 0}}function Xx(e,t){return e.sensors.value.filter(e=>e.assignedCameraIds.value.includes(t))}async function Zx(e,t,n,r,i){if(!(!t.rpc.value||!n)){r.value=!0,i.value=void 0;try{let n=qx(t);return e.acquired=!0,e.cachedManager=n.manager,n.initPromise||=n.manager.ensureInitialized(),await n.initPromise,n.manager}catch(e){i.value=e instanceof Error?e:Error(String(e));return}finally{r.value=!1}}}function Qx(e){e.acquired&&(Jx(),e.acquired=!1,e.cachedManager=void 0)}function $x(e){let t=Fb(),{isConnected:n}=t,r=V([]),i=V(),a=B(!1),o=B(!1),s=B(),c=Yx();G([n,()=>bx(U(e))],async([e,n])=>{if(e&&n){let l=await Zx(c,t,e,a,s);i.value=l,r.value=l?Xx(l,n):[],o.value=!0}else Qx(c),r.value=[],i.value=void 0},{immediate:!0});let l=W(()=>{if(!i.value)return[];let t=bx(U(e));return t?Xx(i.value,t):[]});return Hl(()=>{Qx(c),r.value=[]}),{sensors:l,isLoading:W(()=>a.value||!o.value),error:s}}function eS(){let e=Fb(),{isConnected:t}=e,n=V(),r=B(!1),i=B(!1),a=B(),o=Yx();G([t],async([t])=>{t?(n.value=await Zx(o,e,t,r,a),i.value=!0):(Qx(o),n.value=void 0)},{immediate:!0});let s=W(()=>n.value?.sensors.value??[]);return Hl(()=>{Qx(o)}),{sensors:s,isLoading:W(()=>r.value||!i.value),error:a}}function tS(e,t){let n=Fb(),{isConnected:r}=n,i=V(),a=V(),o=B(!1),s=B(!1),c=B(),l=Yx();return G([r,()=>bx(U(e))],async([e,r])=>{if(e&&r){let u=await Zx(l,n,e,o,c);a.value=u,i.value=u?Xx(u,r).find(e=>e.type===t):void 0,s.value=!0}else Qx(l),i.value=void 0},{immediate:!0}),G(()=>{if(!a.value)return;let n=bx(U(e));if(n)return Xx(a.value,n).find(e=>e.type===t)?.id},()=>{if(a.value){let n=bx(U(e));i.value=n?Xx(a.value,n).find(e=>e.type===t):void 0}}),Hl(()=>{Qx(l),i.value=void 0}),{sensor:i,isLoading:W(()=>o.value||!s.value),error:c}}function nS(e){return tS(e,mm.Motion)}function rS(e){return tS(e,mm.Object)}function iS(e){return tS(e,mm.Face)}function aS(e){return tS(e,mm.LicensePlate)}function oS(e){return tS(e,mm.PTZ)}function sS(e){let t=Fb(),{isConnected:n}=t,r=V([]),i=V(),a=B(!1),o=B(!1),s=B(),c=Yx();G([n,()=>bx(U(e))],async([e,n])=>{if(e&&n){let l=await Zx(c,t,e,a,s);i.value=l,r.value=l?Xx(l,n).filter(e=>e.type===mm.Classifier):[],o.value=!0}else Qx(c),r.value=[],i.value=void 0},{immediate:!0});let l=W(()=>{if(!i.value)return[];let t=bx(U(e));return t?Xx(i.value,t).filter(e=>e.type===mm.Classifier):[]});return Hl(()=>{Qx(c),r.value=[]}),{sensors:l,isLoading:W(()=>a.value||!o.value),error:s}}var cS=new Map;function lS(){cS.clear()}async function uS(e,t){let n=cS.get(t);if(n)return n;let r=Rb.coreManagerNamespaces(),i=await Vb(e,e=>e.createProxy(r.coreManagerRpc).getPlugin(t));if(i)return cS.set(t,i.id),i.id}function dS(e){let t=V(),n=B(!1),r=B();async function i(){n.value=!0,r.value=void 0;try{return t.value=await e.getConfig(),t.value}catch(e){r.value=e instanceof Error?e:Error(String(e));return}finally{n.value=!1}}async function a(t,a){n.value=!0,r.value=void 0;try{await e.setValue(t,a),await i()}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function o(t){n.value=!0,r.value=void 0;try{await e.setConfig(t),await i()}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function s(t,a){n.value=!0,r.value=void 0;try{let n=await e.submitValue(t,a);return(!n?.toast||n.toast.type!==`error`)&&await i(),n}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}return{proxy:e,config:t,isLoading:n,error:r,getConfig:i,setValue:a,setConfig:o,submitValue:s}}var fS=Pb({releaseDelay:1e3});function pS(e){return`plugin:${e}`}function mS(e,t){return`plugin:${e}:camera:${t}`}function hS(e,t){return`plugin:${e}:sensor:${t}`}function gS(e,t){return fS.acquire(e,()=>dS(t()))}function _S(e){fS.release(e)}function vS(){fS.clear(),lS()}function yS(){return{currentStorageKey:void 0,cachedStorage:void 0}}function bS(e,t,n){e.currentStorageKey&&=(_S(e.currentStorageKey),void 0),t.value=!1,e.cachedStorage=void 0,n.value=void 0}var xS=[2e3,5e3,1e4,15e3];function SS(e){return new Promise(t=>setTimeout(t,e))}function CS(e,t,n,r){let i,a;function o(){if(!i||a!==e.cachedStorage){a=e.cachedStorage;let t=s().finally(()=>{i===t&&(i=void 0,a=void 0)});i=t}return i}async function s(){let i=e.cachedStorage;if(i){n.value=!0;try{let n=await i.getConfig();for(let t of xS){if(!i.error.value||e.cachedStorage!==i||(await SS(t),e.cachedStorage!==i))break;n=await i.getConfig()}return e.cachedStorage===i?(t.value=i.config.value,r.value=i.error.value,n):n}finally{n.value=!1}}}async function c(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await o.setValue(i,a),e.cachedStorage===o&&(t.value=o.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function l(i){let a=e.cachedStorage;if(!a)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await a.setConfig(i),e.cachedStorage===a&&(t.value=a.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function u(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{let n=await o.submitValue(i,a);return e.cachedStorage===o&&(t.value=o.config.value),n}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}return{getConfig:o,setValue:c,setConfig:l,submitValue:u}}function wS(e){let{rpc:t,isConnected:n}=Fb(),r=V(),i=B(!1),a=B(!1),o=B(),s=B(!1),c=yS(),l=CS(c,r,i,o);async function u(e){if(!t.value||!n.value)return!1;try{let n=await uS(t,e);if(!n)throw Error(`Plugin "${e}" not found`);let r=pS(n);return c.currentStorageKey&&c.currentStorageKey!==r&&_S(c.currentStorageKey),c.currentStorageKey=r,c.cachedStorage=gS(r,()=>{let e=Rb.pluginNamespaces(n);return t.value.createProxy(e.pluginStorageRpc)}),s.value=!0,!0}catch(e){return o.value=e instanceof Error?e:Error(String(e)),s.value=!1,!1}}async function d(){if(!c.cachedStorage){let t=U(e);if(!t||!await u(t))return}return l.getConfig()}return G([n,()=>U(e)],async([e,t])=>{e&&t?(await u(t),l.getConfig()):bS(c,s,r),a.value=!0},{immediate:!0}),Hl(()=>bS(c,s,r)),{config:r,isLoading:W(()=>i.value||!a.value),error:o,isConnected:s,getConfig:d,setValue:l.setValue,setConfig:l.setConfig,submitValue:l.submitValue}}function TS(e,t){let{rpc:n,isConnected:r}=Fb(),i=V(),a=B(!1),o=B(!1),s=B(),c=B(!1),l=yS(),u=CS(l,i,a,s);async function d(e,t){if(!n.value||!r.value)return!1;try{let r=await uS(n,t);if(!r)throw Error(`Plugin "${t}" not found`);let i=mS(r,e);return l.currentStorageKey&&l.currentStorageKey!==i&&_S(l.currentStorageKey),l.currentStorageKey=i,l.cachedStorage=gS(i,()=>{let t=Rb.pluginCameraNamespaces(r,e);return n.value.createProxy(t.cameraStorageRpc)}),c.value=!0,!0}catch(e){return s.value=e instanceof Error?e:Error(String(e)),c.value=!1,!1}}async function f(){let n=bx(U(e)),r=U(t);if(!(!n||!r)&&!(!l.cachedStorage&&!await d(n,r)))return u.getConfig()}return G([r,()=>bx(U(e)),()=>U(t)],async([e,t,n])=>{e&&t&&n?(await d(t,n),u.getConfig()):bS(l,c,i),o.value=!0},{immediate:!0}),Hl(()=>bS(l,c,i)),{config:i,isLoading:W(()=>a.value||!o.value),error:s,isConnected:c,getConfig:f,setValue:u.setValue,setConfig:u.setConfig,submitValue:u.submitValue}}function ES(e,t){let{rpc:n,isConnected:r}=Fb(),i=V(),a=B(!1),o=B(!1),s=B(),c=B(!1),l=yS(),u=CS(l,i,a,s);function d(e,t){if(!n.value||!r.value)return!1;try{let r=hS(t,e);return l.currentStorageKey&&l.currentStorageKey!==r&&_S(l.currentStorageKey),l.currentStorageKey=r,l.cachedStorage=gS(r,()=>{let r=Rb.pluginSensorNamespaces(t,e);return n.value.createProxy(r.sensorStorageRpc)}),c.value=!0,!0}catch(e){return s.value=e instanceof Error?e:Error(String(e)),c.value=!1,!1}}async function f(){let n=U(e),r=U(t);if(!(!n||!r)&&!(!l.cachedStorage&&!d(n,r)))return u.getConfig()}return G([r,()=>U(e),()=>U(t)],([e,t,n])=>{e&&t&&n?(d(t,n),u.getConfig()):bS(l,c,i),o.value=!0},{immediate:!0}),Hl(()=>bS(l,c,i)),{config:i,isLoading:W(()=>a.value||!o.value),error:s,isConnected:c,getConfig:f,setValue:u.setValue,setConfig:u.setConfig,submitValue:u.submitValue}}function DS(){vx(),ux(),vS(),Wx(),ix()}function OS(){vx(),px(),Gx()}var kS=Symbol(`camera-ui`),AS=new Lt(`plugin`);function jS(e){return`rpc`in e&&`isConnected`in e}var MS=4e3;function NS(e){let{natsTransport:t,target:n,wsTransport:r}=e,i=t.getClient()!==null,a=t.getClient(),o=null,s=V(t.getClient()??void 0),c=B(t.getClient()?.isConnected??!1),l=B(void 0),u=W(()=>n.value?.endpoint.url),d=W(()=>n.value?.tokens.access),f=W(()=>{let e=n.value;if(e?.tokens.proxySession)return{session:e.tokens.proxySession}}),p=new Map;function m(e,t){let n=p.get(e);n||(n=new Set,p.set(e,n)),n.add(t)}function h(e,t){p.get(e)?.delete(t)}function g(e){let t=p.get(e);if(t)for(let e of t)try{e()}catch(e){AS.warn(`context listener threw:`,e)}}return t.subscribeClient(e=>{if(e){o!==null&&(clearTimeout(o),o=null);let t=c.value,n=e!==a;a=e,s.value=e,c.value=!0,l.value=void 0,(!t||n)&&(OS(),i&&g(`reconnected`),i=!0)}else{if(s.value=void 0,o!==null||!c.value)return;o=setTimeout(()=>{o=null,c.value=!1,g(`disconnected`)},MS)}}),t.on(`auth-error`,e=>{l.value=Error(e.message??`auth-error`)}),t.on(`down`,e=>{l.value||=Error(e.reason)}),t.on(`up`,()=>{l.value=void 0}),Ae({rpc:s,target:Xe(n),isConnected:Xe(c),endpoint:u,token:d,extraProxyQuery:f,error:Xe(l),wsTransport:r,on:m,off:h})}function PS(e){return{install(t){let n=jS(e)?e:NS(e);t.provide(kS,n)}}}var FS={standbyTimeout:5e3,activityTimeout:5e3};function IS(e){let{initialMode:t=`always-on`,config:n={},onStreamStart:r,onStreamStop:i,isStreamPlaying:a}=e,o={...FS,...n},s=B(t),c=B(!1),l=B(!1),u,d;function f(){u&&=(clearTimeout(u),void 0)}function p(){d&&=(clearTimeout(d),void 0)}function m(){f(),p()}function h(){c.value||(c.value=!0,i())}function g(){c.value&&(c.value=!1,r())}function _(){switch(m(),s.value){case`always-on`:c.value=!1,a()||r();break;case`standby`:c.value||(a()||r(),v());break;case`activity`:l.value?(c.value=!1,a()||r()):u=setTimeout(()=>{s.value===`activity`&&!l.value&&h()},o.activityTimeout)}}function v(){p(),d=setTimeout(()=>{s.value===`standby`&&h()},o.standbyTimeout)}function y(e){s.value!==e&&(s.value=e,_())}function b(e){s.value===`activity`&&(e?(l.value=!0,f(),(c.value||!a())&&g()):(l.value=!1,f(),u=setTimeout(()=>{l.value||h()},o.activityTimeout)))}function x(){if(c.value)switch(g(),s.value){case`standby`:v();break;case`activity`:f(),l.value||(u=setTimeout(()=>{h()},o.activityTimeout))}}function S(){s.value===`standby`&&!c.value&&v()}function C(){m()}return{mode:s,inStandby:c,hasActivity:l,setMode:y,reportActivity:b,resumeFromStandby:x,resetIdleTimer:S,dispose:C}}var LS=3e4,RS=new Lt(`TabVisibility`),zS=B(typeof document>`u`||document.visibilityState===`visible`),BS=null,VS=new Set,HS=new Set,US=new Set,WS=!1;function GS(e){RS.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);try{e.cb()}catch(e){RS.error(`onTabPaused listener threw:`,e)}}function KS(e){RS.debug(`paused listener scheduled in ${e.delayMs}ms`),e.timer=setTimeout(()=>{if(e.timer=null,zS.value){RS.debug(`paused listener skipped — tab visible before delay`);return}GS(e)},e.delayMs)}function qS(){for(let e of HS)e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}function JS(){WS||typeof document>`u`||(WS=!0,document.addEventListener(`visibilitychange`,()=>{let e=document.visibilityState===`visible`;if(!e&&zS.value){zS.value=!1,BS=Date.now(),RS.debug(`tab → hidden (hidden=${VS.size} paused=${HS.size})`);for(let e of VS)try{e.cb()}catch(e){RS.error(`onTabHidden listener threw:`,e)}for(let e of HS)KS(e)}else if(e&&!zS.value){qS();let e=BS==null?0:Date.now()-BS;BS=null,zS.value=!0,RS.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${US.size})`);for(let{cb:t}of US)try{t({hiddenMs:e})}catch(e){RS.error(`onTabVisible listener threw:`,e)}}}))}function YS(){JS();let e=W(()=>zS.value);function t(e){let t={cb:e};VS.add(t);let n=()=>{VS.delete(t)};return Hl(n),n}function n(e,t={}){let n={cb:e,delayMs:t.delayMs??LS,timer:null};HS.add(n);let r=()=>{n.timer!==null&&(clearTimeout(n.timer),n.timer=null),HS.delete(n)};return Hl(r),r}function r(e){let t={cb:e};US.add(t);let n=()=>{US.delete(t)};return Hl(n),n}return{isVisible:e,onTabHidden:t,onTabPaused:n,onTabVisible:r}}var XS={WEBRTC:{RECONNECT_DELAY:1e3,CONNECT_TIMEOUT:1e4,WS_CONNECT_TIMEOUT:5e3,ICE_SERVERS:[{urls:`stun:stun.l.google.com:19302`}]},MSE:{BUFFER_SIZE:2097152,BUFFER_WINDOW:5},CODECS:{DEFAULT:[`avc1.640029`,`avc1.64002A`,`avc1.640033`,`hvc1.1.6.L153.B0`,`mp4a.40.2`,`mp4a.40.5`,`flac`,`opus`],WEBRTC_VIDEO:[`H264`,`VP8`,`VP9`],WEBRTC_AUDIO:[`opus`,`G722`,`PCMU`,`PCMA`]}},ZS=`hvc1.1.6.L153.B0`;function QS(){return navigator.userAgent.match(/version\/(\d+)/i)}function $S(){let e=[...XS.CODECS.DEFAULT],t=QS();if(t?.[1]){let n=parseInt(t[1],10);if(n<13){let t=e.indexOf(`mp4a.40.2`);t>-1&&e.splice(t)}else if(n<14){let t=e.indexOf(`flac`);t>-1&&e.splice(t)}else{let t=e.indexOf(`opus`);t>-1&&e.splice(t)}}return e}function eC(e,t){return e.filter(e=>t(`video/mp4; codecs="${e}"`)).join(`,`)}function tC(e){return XS.CODECS.WEBRTC_AUDIO.includes(e)}function nC(e){return XS.CODECS.WEBRTC_VIDEO.includes(e)?!0:e===`H265`&&sC()}var rC,iC;function aC(e){if(e===`auto`)return aC(`webrtc`)||aC(`mse`);if(e===`mse`)return rC===void 0&&(rC=!!uC()?.isTypeSupported(`video/mp4; codecs="${ZS}"`)),rC;if(iC===void 0)try{iC=!!(RTCRtpReceiver?.getCapabilities(`video`)?.codecs)?.some(e=>e.mimeType.toLowerCase().includes(`h265`)||e.mimeType.toLowerCase().includes(`hevc`))}catch{iC=!1}return iC}function oC(e){e===`mse`?rC=!1:iC=!1}function sC(){return aC(`webrtc`)}function cC(e){let t=e.audio.filter(e=>e.direction===`sendonly`),n=e.video.filter(e=>e.direction===`sendonly`),r=t.length===0||t.some(e=>tC(e.codec)),i=n.length===0||n.some(e=>nC(e.codec)),a=[];return r||a.push(...t.map(e=>e.codec)),i||a.push(...n.map(e=>e.codec)),{compatible:r&&i,audioCompatible:r,videoCompatible:i,incompatibleCodecs:a}}function lC(){return`ManagedMediaSource`in window}function uC(){if(lC())return window.ManagedMediaSource;if(`MediaSource`in window)return window.MediaSource}function dC(e,t){return new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}function fC(e){let{videoElement:t,onReady:n,onFirstData:r,onError:i,signal:a}=e,o=null,s=null,c=null,l=!1,u=!1,d=new Uint8Array(XS.MSE.BUFFER_SIZE),f=0,p=[],m=$S();function h(){if(a.aborted)return;let e=uC();if(!e){i(Error(`MediaSource not supported`));return}o=new e;let n=lC(),r=t.src;return o.addEventListener(`sourceopen`,()=>{a.aborted||!n&&r&&r.startsWith(`blob:`)&&r!==t.src&&URL.revokeObjectURL(r)},{once:!0}),n?(t.disableRemotePlayback=!0,t.srcObject=o):(c=URL.createObjectURL(o),t.src=c,t.srcObject=null),eC(m,e.isTypeSupported.bind(e))}function g(e){if(a.aborted||!o)return;if(o.readyState!==`open`){o.addEventListener(`sourceopen`,()=>{a.aborted||g(e)},{once:!0});return}f=0,d=new Uint8Array(XS.MSE.BUFFER_SIZE);let t=uC();if(t&&!t.isTypeSupported(e)){i(Error(`MIME type not supported: ${e}`));return}try{if(s=o.addSourceBuffer(e),s.mode=`segments`,s.addEventListener(`updateend`,_),l=!0,p.length>0){for(let e of p)v(e);p.length=0}n()}catch(e){i(e instanceof Error?e:Error(String(e)))}}function _(){if(!(a.aborted||!s||!o)){if(!s.updating&&f>0)try{let e=d.slice(0,f);s.appendBuffer(e),f=0}catch(e){y(e)||i(e instanceof Error?e:Error(String(e)))}if(!s.updating&&s.buffered?.length){let e=s.buffered.end(s.buffered.length-1),n=e-XS.MSE.BUFFER_WINDOW,i=s.buffered.start(0);if(u||(u=!0,r()),n>i)try{s.remove(i,n),o.setLiveSeekableRange(n,e)}catch{}t.currentTime<n&&(t.currentTime=n);let a=e-t.currentTime;a>1?t.playbackRate=1.1:a<.1?t.playbackRate=.9:t.playbackRate=1}}}function v(e){if(!a.aborted){if(!s){p.push(e);return}if(o?.readyState===`closed`){i(Error(`MediaSource closed`));return}if(s.updating||f>0){let t=new Uint8Array(e);if(f+t.byteLength>d.byteLength){f=0,i(Error(`MSE pending buffer overflow`));return}d.set(t,f),f+=t.byteLength}else try{s.appendBuffer(e)}catch(t){if(y(t)){let t=new Uint8Array(e);t.byteLength<=d.byteLength&&(d.set(t,0),f=t.byteLength)}}}}function y(e){if(e?.name!==`QuotaExceededError`||!s||s.updating||!s.buffered?.length)return!1;try{let e=s.buffered.start(0),t=s.buffered.end(s.buffered.length-1),n=Math.max(e+1,t-XS.MSE.BUFFER_WINDOW);return n<=e?!1:(s.remove(e,n),!0)}catch{return!1}}function b(){if(s){if(s.removeEventListener(`updateend`,_),o?.readyState===`open`)try{o.removeSourceBuffer(s)}catch{}s=null}if(o?.readyState===`open`)try{o.endOfStream()}catch{}o=null,c&&=(URL.revokeObjectURL(c),null),l=!1,u=!1,f=0,p.length=0}return a.addEventListener(`abort`,b,{once:!0}),{get mediaSource(){return o},get sourceBuffer(){return s},get isReady(){return l},setup:h,initializeBuffer:g,appendBuffer:v,close:b}}async function pC(e){try{await e.play()}catch{e.muted||(e.muted=!0,await pC(e))}}function mC(e,t,n){let r=new RTCPeerConnection({bundlePolicy:`max-bundle`,iceServers:[...XS.WEBRTC.ICE_SERVERS]});return r.onicecandidate=r=>{if(e.aborted||n&&r.candidate?.protocol===`udp`)return;let i=r.candidate?.toJSON().candidate??``;i&&t(i)},r}async function hC(e,t,n){t.aborted||!e||await e.setRemoteDescription({type:`answer`,sdp:n})}async function gC(e,t,n,r){t.aborted||!e||r&&n.includes(` udp `)||await e.addIceCandidate({candidate:n,sdpMid:`0`})}async function _C(e,t,n){if(!(t.aborted||!e))try{await e.sender.replaceTrack(n)}catch{}}function vC(e){e.micTransceiver&&=(e.micTransceiver.sender.replaceTrack(null).catch(()=>{}),null),e.pc&&=(e.pc.getTransceivers().forEach(e=>e.sender?.track?.stop()),e.pc.close(),null),e.isConnected=!1}function yC(e){let{mode:t,onConnected:n,onDisconnected:r,onFailed:i,onCandidate:a,signal:o}=e,s={pc:null,micTransceiver:null,isConnected:!1},c=t===`webrtc/tcp`;function l(){let e=mC(o,a,c);return e.onconnectionstatechange=()=>{if(o.aborted)return;let t=e.connectionState;if(t===`connected`){s.isConnected=!0;let t=new MediaStream(e.getTransceivers().filter(e=>e.currentDirection===`recvonly`).map(e=>e.receiver.track));n(t)}else t===`failed`?(s.isConnected=!1,i()):t===`disconnected`&&(s.isConnected=!1,r())},e.addTransceiver(`video`,{direction:`recvonly`}),e.addTransceiver(`audio`,{direction:`recvonly`}),s.micTransceiver=e.addTransceiver(`audio`,{direction:`sendonly`}),e}async function u(){if(o.aborted)return;s.pc=l();let e=await s.pc.createOffer();return await s.pc.setLocalDescription(e),e.sdp}function d(){vC(s)}return o.addEventListener(`abort`,d,{once:!0}),{get pc(){return s.pc},get micTransceiver(){return s.micTransceiver},get isConnected(){return s.isConnected},createOffer:u,handleAnswer:e=>hC(s.pc,o,e),handleCandidate:e=>gC(s.pc,o,e,c),setMicrophoneTrack:e=>_C(s.micTransceiver,o,e),close:d}}function bC(e){let{onConnected:t,onDisconnected:n,onCandidate:r,signal:i}=e,a={pc:null,micTransceiver:null,isConnected:!1};function o(){let e=mC(i,r,!1);return e.onconnectionstatechange=()=>{if(i.aborted)return;let r=e.connectionState;r===`connected`?(a.isConnected=!0,t()):(r===`disconnected`||r===`failed`)&&(a.isConnected=!1,n())},a.micTransceiver=e.addTransceiver(`audio`,{direction:`sendonly`}),e}async function s(){if(i.aborted)return;a.pc=o();let e=await a.pc.createOffer();return await a.pc.setLocalDescription(e),e.sdp}function c(){vC(a)}return i.addEventListener(`abort`,c,{once:!0}),{get isConnected(){return a.isConnected},createOffer:s,handleAnswer:e=>hC(a.pc,i,e),handleCandidate:e=>gC(a.pc,i,e,!1),setMicrophoneTrack:e=>_C(a.micTransceiver,i,e),close:c}}async function xC(e,t){switch(t.type){case`webrtc/answer`:await e.handleAnswer(t.value);break;case`webrtc/candidate`:t.value&&await e.handleCandidate(t.value)}}var SC=new Lt(`StreamConnection`),CC=class{status;activeMode;requestedMode;activeResolution;requestedResolution;degradedFrom;degradeReason;source;hasVideo;hasAudio;hasBackchannel;isPlaying;error;probeInfo;muted;paused;nativeWidth;nativeHeight;camera;videoElement;containerElement;target;isReady;effectiveMode;triedSourceIds=new Set;options;wsTransport;scope=s(!0);connectionGeneration=0;abortController=new AbortController;probedSourceId;wasPausedByVisibility=!1;wsHandle;webrtcHandler;mseHandler;firstFrameCallbackId;backchannelHandler;pendingMicTrack=null;lastMediaStream=null;stopWatchers=[];mseMonitorInterval;offTabVisible;offTabPaused;onVideoPauseBound;onVideoPlayBound;onVideoResizeBound;startWsConnectTimeout;stopWsConnectTimeout;startConnectTimeout;stopConnectTimeout;startMseConnectTimeout;stopMseConnectTimeout;startReconnectTimeout;stopReconnectTimeout;constructor(e){this.options=e;let t=Fb();if(!t.wsTransport)throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");this.target=t.target,this.wsTransport=t.wsTransport;let{autoStart:n=!0}=e;this.status=B(`idle`),this.activeMode=B(`webrtc`),this.activeResolution=B(`low-resolution`),this.degradedFrom=B(null),this.degradeReason=B(null),this.source=V(),this.hasVideo=B(!1),this.hasAudio=B(!1),this.hasBackchannel=B(!1),this.isPlaying=B(!1),this.error=B(),this.probeInfo=V(),this.muted=B(!0),this.paused=B(!1),this.nativeWidth=B(0),this.nativeHeight=B(0),this.requestedMode=B(U(e.mode)??`auto`),this.requestedResolution=B(U(e.resolution)??`high-resolution`),this.camera=W(()=>U(e.camera)),this.videoElement=W(()=>U(e.videoElement)),this.containerElement=W(()=>U(e.containerElement)),this.isReady=W(()=>!!this.camera.value&&!!this.videoElement.value&&!!this.target.value),this.effectiveMode=W(()=>this.requestedMode.value===`auto`?this.activeMode.value:this.requestedMode.value),this.scope.run(()=>{let{onTabPaused:e,onTabVisible:t}=YS(),r=Mu(()=>{this.wsHandle?.readyState===WebSocket.CONNECTING&&(this.disconnectWebSocket(),!this.abortController.signal.aborted&&this.status.value!==`closed`&&this.restart())},XS.WEBRTC.WS_CONNECT_TIMEOUT,{immediate:!1}),i=Mu(()=>{this.webrtcHandler&&!this.webrtcHandler.isConnected?this.requestedMode.value===`auto`?(this.webrtcHandler.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.mseHandler?.isReady?this.status.value=`connected`:this.startMSE()):(this.markSourceUndecodable(),this.restart()):this.status.value===`connected`&&!this.isPlaying.value&&!this.abortController.signal.aborted&&this.sourceLikelyH265()&&this.handleNoFramesWhileConnected()},XS.WEBRTC.CONNECT_TIMEOUT,{immediate:!1}),a=Mu(()=>{this.abortController.signal.aborted||this.status.value===`connected`||this.status.value===`closed`||this.mseHandler&&!this.mseHandler.isReady&&(this.markSourceUndecodable(),this.restart())},XS.WEBRTC.CONNECT_TIMEOUT,{immediate:!1}),o=Mu(()=>{this.abortController.signal.aborted||this.restart()},XS.WEBRTC.RECONNECT_DELAY,{immediate:!1});this.startWsConnectTimeout=r.start,this.stopWsConnectTimeout=r.stop,this.startConnectTimeout=i.start,this.stopConnectTimeout=i.stop,this.startMseConnectTimeout=a.start,this.stopMseConnectTimeout=a.stop,this.startReconnectTimeout=o.start,this.stopReconnectTimeout=o.stop,this.setupWatchers(),this.offTabPaused=e(()=>{if(SC.debug(`onTabPaused fired — status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`),this.status.value===`idle`||this.status.value===`closed`){SC.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`);return}this.wasPausedByVisibility=!0,this.stop(),SC.debug(`onTabPaused — stop() done, wasPausedByVisibility=true`)}),this.offTabVisible=t(()=>{if(SC.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`),!this.wasPausedByVisibility){SC.debug(`onTabVisible — not paused by visibility, no-op`);return}this.wasPausedByVisibility=!1,this.startWhenReady()}),n&&Lu(this.isReady,()=>{(this.status.value===`idle`||this.status.value===`closed`)&&this.start()},{immediate:!0})})}async start(){if(SC.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`),this.status.value!==`idle`&&this.status.value!==`closed`){SC.debug(`start() — skipped, status is ${this.status.value}`);return}if(!this.isReady.value){SC.debug(`start() — skipped, isReady=false`);return}this.cleanup(),this.abortController=new AbortController;let e=++this.connectionGeneration;this.triedSourceIds.clear(),this.status.value=`connecting`,this.error.value=void 0,this.isPlaying.value=!1;try{let t=this.initializeSource();if(t===`unsupported`){SC.debug(`start() — no source with a playable codec`),this.setUnsupported();return}if(!t){SC.debug(`start() — no streaming source available`),this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}for(let t=0;t<3;t++){let t=this.source.value?._id,n=await this.probeStream();if(e!==this.connectionGeneration){SC.debug(`start() — generation stale after probe, aborting`);return}n&&t&&this.probeSaysUnplayable(n)&&this.triedSourceIds.add(t);let r=this.initializeSource();if(r===`unsupported`){this.setUnsupported();return}if(!r){this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}if(!n||this.source.value?._id===t)break}SC.debug(`start() — connecting WebSocket`),this.connectWebSocket()}catch(t){if(e!==this.connectionGeneration)return;SC.debug(`start() — error:`,t),this.error.value=t instanceof Error?t:Error(String(t)),this.status.value=`error`}}stop(){if(this.status.value===`closed`){SC.debug(`stop() — already closed, no-op`);return}SC.debug(`stop() — was ${this.status.value}, transitioning to closed`),++this.connectionGeneration,this.status.value=`closed`,this.cleanup()}async setMode(e){if(this.requestedMode.value!==e){if(this.requestedMode.value=e,this.activeMode.value=e===`auto`?`webrtc`:e,this.status.value===`unsupported`){this.stop(),await this.start();return}this.status.value===`connected`&&await this.restart()}}async setResolution(e){if(this.requestedResolution.value===e)return;if(this.requestedResolution.value=e,this.status.value===`unsupported`){this.stop(),await this.start();return}let t=this.getSourceForResolution(e);t&&t!==`unsupported`&&t.source._id!==this.source.value?._id&&(this.source.value=t.source,this.activeResolution.value=t.effectiveResolution,this.degradedFrom.value=t.degradedFrom,this.degradeReason.value=t.degradedFrom?`codec`:null,this.status.value===`connected`&&await this.restart())}async setMicrophone(e){if(this.webrtcHandler){await this.webrtcHandler.setMicrophoneTrack(e);return}this.activeMode.value===`mse`&&this.hasBackchannel.value&&(this.pendingMicTrack=e,e&&!this.backchannelHandler?await this.startBackchannel():!e&&this.backchannelHandler?this.closeBackchannel():this.backchannelHandler?.isConnected&&await this.backchannelHandler.setMicrophoneTrack(e))}setMuted(e){this.muted.value=e;let t=this.videoElement.value;t&&(t.muted=e)}async play(){this.paused.value=!1;let e=this.videoElement.value;if(e)try{await e.play()}catch{if(!e.muted){e.muted=!0,this.muted.value=!0;try{await e.play()}catch{}}}}pause(){this.paused.value=!0;let e=this.videoElement.value;e&&e.pause()}destroy(){for(let e of this.stopWatchers)e();this.stopWatchers=[],this.offTabVisible?.(),this.offTabVisible=void 0,this.offTabPaused?.(),this.offTabPaused=void 0;let e=this.videoElement.value;e&&(this.onVideoPauseBound&&e.removeEventListener(`pause`,this.onVideoPauseBound),this.onVideoPlayBound&&e.removeEventListener(`play`,this.onVideoPlayBound),this.onVideoResizeBound&&e.removeEventListener(`resize`,this.onVideoResizeBound)),this.stop(),this.scope.stop()}async restart(){this.status.value=`reconnecting`,this.isPlaying.value=!1,this.cleanup(),this.abortController=new AbortController;let e=++this.connectionGeneration;try{await dC(1e3,this.abortController.signal)}catch{return}if(e===this.connectionGeneration){if(!this.isReady.value){this.status.value=`idle`;return}try{let e=this.initializeSource();if(e===`unsupported`){this.setUnsupported();return}if(!e){this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}this.connectWebSocket()}catch(t){if(e!==this.connectionGeneration)return;this.error.value=t instanceof Error?t:Error(String(t)),this.status.value=`error`}}}startWhenReady(){if(this.isReady.value){SC.debug(`startWhenReady — already ready, calling start() now`),this.start();return}SC.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);let e=G(this.isReady,t=>{t&&(SC.debug(`startWhenReady — isReady → true, calling start()`),e(),this.start())});this.stopWatchers.push(e)}setupWatchers(){let e=G(()=>this.target.value?.endpoint.url??null,(e,t)=>{!e||!t||e===t||this.status.value!==`idle`&&this.status.value!==`closed`&&this.restart()});this.stopWatchers.push(e);let t=G(()=>this.camera.value?.sources.value,()=>{this.status.value===`unsupported`&&(this.stop(),this.start())});this.stopWatchers.push(t);let n=G(()=>U(this.options.mode),e=>{e!==void 0&&e!==this.requestedMode.value&&this.setMode(e)});this.stopWatchers.push(n);let r=G(()=>U(this.options.resolution),e=>{e!==void 0&&e!==this.requestedResolution.value&&this.setResolution(e)});this.stopWatchers.push(r);let i=G(this.videoElement,(e,t)=>{t&&(this.onVideoPauseBound&&t.removeEventListener(`pause`,this.onVideoPauseBound),this.onVideoPlayBound&&t.removeEventListener(`play`,this.onVideoPlayBound),this.onVideoResizeBound&&t.removeEventListener(`resize`,this.onVideoResizeBound)),e&&(this.onVideoPauseBound=()=>{this.paused.value||e.play().catch(()=>{})},this.onVideoPlayBound=()=>{this.paused.value=!1},this.onVideoResizeBound=()=>{e.videoWidth>0&&e.videoHeight>0&&(this.nativeWidth.value=e.videoWidth,this.nativeHeight.value=e.videoHeight)},e.addEventListener(`pause`,this.onVideoPauseBound),e.addEventListener(`play`,this.onVideoPlayBound),e.addEventListener(`resize`,this.onVideoResizeBound),e.videoWidth>0&&e.videoHeight>0&&(this.nativeWidth.value=e.videoWidth,this.nativeHeight.value=e.videoHeight))},{immediate:!0});this.stopWatchers.push(i);let a=G(this.activeMode,e=>{this.stopMseMonitor(),e===`mse`&&(this.mseMonitorInterval=setInterval(()=>this.monitorMseBuffer(),1e3))},{immediate:!0});this.stopWatchers.push(a);let o=G([this.camera,this.videoElement,()=>this.target.value],([e,t,n],[r,i])=>{if(e!==r)this.status.value===`connected`?e&&t&&n&&this.restart():this.status.value===`unsupported`&&e&&t&&n&&(this.stop(),this.start());else if(t!==i&&t){if(t.srcObject instanceof MediaStream){let e=t.srcObject;if(e.active&&e.getTracks().some(e=>e.readyState===`live`)){pC(t),this.lastMediaStream=e;return}}if(this.status.value===`connected`&&this.activeMode.value!==`mse`){let e=this.lastMediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,pC(t)):this.restart()}else if(this.status.value===`connected`&&this.activeMode.value===`mse`)this.restart();else if(this.status.value===`connecting`||this.status.value===`reconnecting`){let e=G(()=>this.isPlaying.value,t=>{let n=this.videoElement.value;t&&n?.srcObject instanceof MediaStream?(pC(n),e()):t&&n&&!n.srcObject&&this.lastMediaStream?.active&&(n.srcObject=this.lastMediaStream,pC(n),e())},{immediate:!0});this.stopWatchers.push(e)}}});this.stopWatchers.push(o)}isSourcePlayable(e){if(this.triedSourceIds.has(e._id))return!1;if(e.videoCodec!==`H265`)return!0;let t=this.requestedMode.value;return aC(t===`auto`?`auto`:t===`mse`?`mse`:`webrtc`)}getSourceForResolution(e){let t=this.camera.value;if(!t)return;let n=[`high-resolution`,`mid-resolution`,`low-resolution`],r=Math.max(0,n.indexOf(e)),i=!1;for(let a=r;a<n.length;a++){let r=t.sources.value.find(e=>e.role===n[a]);if(r){if(!this.isSourcePlayable(r)){i=!0;continue}return{source:r,effectiveResolution:n[a],degradedFrom:i?e:null}}}let a=t.streamSource.value;if(a&&this.isSourcePlayable(a))return{source:a,effectiveResolution:a.role??`low-resolution`,degradedFrom:i?e:null};if(i||a)return`unsupported`}initializeSource(){let e=this.getSourceForResolution(this.requestedResolution.value);return e?e===`unsupported`?`unsupported`:(this.source.value=e.source,this.activeResolution.value=e.effectiveResolution,this.degradedFrom.value=e.degradedFrom,this.degradeReason.value=e.degradedFrom?`codec`:null,this.probedSourceId&&this.probedSourceId!==e.source._id&&(this.probeInfo.value=void 0,this.probedSourceId=void 0,this.hasVideo.value=!1,this.hasAudio.value=!1,this.hasBackchannel.value=!1),!0):!1}setUnsupported(){let e=this.camera.value?.sources.value.find(e=>e.videoCodec)?.videoCodec??`H265`;this.error.value=Error(`${e} cannot be played on this device`),this.status.value=`unsupported`}probeSaysUnplayable(e){let t=e.video.filter(e=>e.direction===`sendonly`);if(!t.length||!t.every(e=>e.codec===`H265`))return!1;let n=this.requestedMode.value;return!aC(n===`auto`?`auto`:n===`mse`?`mse`:`webrtc`)}sourceLikelyH265(){let e=this.source.value;if(!e)return!1;if(e.videoCodec===`H265`)return!0;if(e.videoCodec!==void 0)return!1;let t=this.probeInfo.value?.video.filter(e=>e.direction===`sendonly`)??[];return t.length>0&&t.every(e=>e.codec===`H265`)}markSourceUndecodable(){let e=this.source.value;!e||!this.sourceLikelyH265()||this.triedSourceIds.add(e._id)}handleNoFramesWhileConnected(){oC(this.activeMode.value===`mse`?`mse`:`webrtc`),this.markSourceUndecodable(),this.restart()}async probeStream(){let e=this.camera.value,t=this.source.value;if(!(!e||!t||this.abortController.signal.aborted))try{let n=await e.probeStream(t._id,{video:!0,audio:[`pcma`,`opus`],microphone:!0});return n&&!this.abortController.signal.aborted&&(this.probeInfo.value=n,this.probedSourceId=t._id,this.hasBackchannel.value=n.audio.some(e=>e.direction===`recvonly`),this.hasAudio.value=n.audio.filter(e=>e.direction===`sendonly`).length>0,this.hasVideo.value=n.video.filter(e=>e.direction===`sendonly`).length>0),n}catch{return}}connectWebSocket(){this.disconnectWebSocket();let e=this.camera.value;if(this.abortController.signal.aborted||!e||!this.source.value||!this.target.value)return;let t=this.source.value.name??this.source.value.role??this.source.value._id,n=Lb(e.name.value,t);this.startWsConnectTimeout(),this.wsHandle=this.wsTransport.open({path:`/api/go2rtc`,query:{src:n},binaryType:`arraybuffer`}),this.wsHandle.on(`open`,()=>this.handleWsOpen()),this.wsHandle.on(`close`,()=>this.handleWsClose()),this.wsHandle.on(`message`,e=>this.handleWsMessage(e)),this.wsHandle.on(`error`,()=>{})}disconnectWebSocket(){this.stopWsConnectTimeout(),this.wsHandle&&=(this.wsHandle.dispose(),void 0)}sendWsMessage(e){this.wsHandle?.readyState===WebSocket.OPEN&&this.wsHandle.send(JSON.stringify(e))}handleWsOpen(){if(this.abortController.signal.aborted)return;this.stopWsConnectTimeout(),this.status.value=`connecting`;let e=this.effectiveMode.value;e===`webrtc`||e===`webrtc/tcp`?this.startWebRTC(e):e===`mse`?this.startMSE():this.requestedMode.value===`auto`&&this.startAutoMode()}handleWsClose(){this.status.value!==`closed`&&!this.abortController.signal.aborted&&this.startReconnectTimeout()}handleWsMessage(e){if(!this.abortController.signal.aborted)if(typeof e.data==`string`){let t;try{t=JSON.parse(e.data)}catch{return}this.handleMessage(t)}else this.mseHandler&&(this.mseHandler.appendBuffer(e.data),this.handleFirstFrame())}handleMessage(e){switch(e.type){case`webrtc/answer`:case`webrtc/candidate`:this.webrtcHandler?xC(this.webrtcHandler,e):this.backchannelHandler&&xC(this.backchannelHandler,e);break;case`mse`:this.mseHandler&&typeof e.value==`string`&&this.mseHandler.initializeBuffer(e.value);break;case`error`:this.requestedMode.value!==`auto`&&(this.error.value=Error(e.value),this.status.value=`error`)}}async startWebRTC(e){if(this.abortController.signal.aborted)return;this.startConnectTimeout(),this.webrtcHandler=yC({mode:e,signal:this.abortController.signal,onConnected:e=>this.handleWebRTCConnected(e),onDisconnected:()=>this.handleWebRTCDisconnected(),onFailed:()=>this.handleWebRTCFailed(),onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e})});let t=await this.webrtcHandler.createOffer();t&&!this.abortController.signal.aborted&&this.sendWsMessage({type:`webrtc/offer`,value:t})}handleWebRTCConnected(e){if(this.abortController.signal.aborted)return;let t=this.videoElement.value;t&&(this.activeMode.value=this.requestedMode.value===`auto`?`webrtc`:this.requestedMode.value,this.lastMediaStream=e,t.srcObject=e,t.muted=this.muted.value,pC(t),this.status.value=`connected`,this.handleFirstFrameWebRTC(e),this.requestedMode.value===`auto`&&this.mseHandler&&(this.mseHandler.close(),this.mseHandler=void 0,this.stopMseConnectTimeout()))}handleWebRTCDisconnected(){this.status.value!==`closed`&&!this.abortController.signal.aborted&&(this.status.value=`reconnecting`,this.requestedMode.value===`auto`&&this.mseHandler?.isReady?(this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.status.value=`connected`):this.restart())}handleWebRTCFailed(){this.abortController.signal.aborted||(this.stopConnectTimeout(),this.requestedMode.value===`auto`?(this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.activeMode.value=`mse`,this.mseHandler?.isReady?this.status.value=`connected`:this.startMSE()):(this.error.value=Error(`WebRTC connection failed`),this.status.value=`error`))}startMSE(){if(this.mseHandler)return;let e=this.videoElement.value;if(this.abortController.signal.aborted||!e)return;this.mseHandler=fC({videoElement:e,signal:this.abortController.signal,onReady:()=>this.handleMSEReady(),onFirstData:()=>this.handleMSEFirstData(),onError:e=>{this.requestedMode.value===`auto`?this.activeMode.value===`mse`&&this.status.value===`connected`&&(SC.debug(`MSE error while active in auto mode — restarting:`,e),this.restart()):(this.error.value=e,this.status.value=`error`)}});let t=this.mseHandler.setup();t&&(this.sendWsMessage({type:`mse`,value:t}),this.startMseConnectTimeout())}handleMSEReady(){this.abortController.signal.aborted||(this.stopMseConnectTimeout(),this.requestedMode.value===`auto`&&this.webrtcHandler?.isConnected||(this.activeMode.value=`mse`,this.status.value=`connected`))}handleMSEFirstData(){if(this.abortController.signal.aborted)return;let e=this.videoElement.value;e&&pC(e)}async startAutoMode(){if(this.abortController.signal.aborted)return;let e=this.probeInfo.value??await this.probeStream();if(e&&!cC(e).compatible){this.activeMode.value=`mse`,this.startMSE();return}this.startMSE(),this.startWebRTC(`webrtc`)}handleFirstFrame(){!this.isPlaying.value&&!this.abortController.signal.aborted&&(this.stopConnectTimeout(),this.isPlaying.value=!0)}monitorMseBuffer(){let e=this.videoElement.value;if(!(!e||this.activeMode.value!==`mse`||!this.isPlaying.value)&&e.buffered.length>0){let t=e.buffered.end(e.buffered.length-1);t-e.currentTime>1&&(e.currentTime=t)}}stopMseMonitor(){this.mseMonitorInterval!==void 0&&(clearInterval(this.mseMonitorInterval),this.mseMonitorInterval=void 0)}handleFirstFrameWebRTC(e){let t=this.videoElement.value;if(this.isPlaying.value||this.abortController.signal.aborted||!t)return;if(!e.getVideoTracks()[0]){this.handleFirstFrame();return}let n=t;if(typeof n.requestVideoFrameCallback==`function`)this.firstFrameCallbackId=n.requestVideoFrameCallback(()=>{this.abortController.signal.aborted||this.handleFirstFrame()});else{let e=()=>{this.abortController.signal.aborted||(t.readyState>=2&&t.videoWidth>0?this.handleFirstFrame():this.firstFrameCallbackId=requestAnimationFrame(e))};this.firstFrameCallbackId=requestAnimationFrame(e)}}cleanup(){this.abortController.abort(),this.stopConnectTimeout(),this.stopWsConnectTimeout(),this.stopMseConnectTimeout(),this.stopReconnectTimeout(),this.stopMseMonitor(),this.lastMediaStream=null,this.webrtcHandler?.close(),this.webrtcHandler=void 0,this.mseHandler?.close(),this.mseHandler=void 0,this.closeBackchannel(),this.disconnectWebSocket();let e=this.videoElement.value;this.firstFrameCallbackId!==void 0&&(e&&`cancelVideoFrameCallback`in e?e.cancelVideoFrameCallback(this.firstFrameCallbackId):cancelAnimationFrame(this.firstFrameCallbackId),this.firstFrameCallbackId=void 0),e&&(e.style.display=``,e.pause(),e.srcObject=null,e.removeAttribute(`src`),e.load())}async startBackchannel(){if(this.abortController.signal.aborted||!this.wsHandle||this.wsHandle.readyState!==WebSocket.OPEN)return;this.backchannelHandler=bC({signal:this.abortController.signal,onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e}),onConnected:async()=>{this.pendingMicTrack&&this.backchannelHandler&&await this.backchannelHandler.setMicrophoneTrack(this.pendingMicTrack)},onDisconnected:()=>{this.backchannelHandler=void 0}});let e=await this.backchannelHandler.createOffer();e&&!this.abortController.signal.aborted&&this.sendWsMessage({type:`webrtc/offer`,value:e})}closeBackchannel(){this.backchannelHandler?.close(),this.backchannelHandler=void 0,this.pendingMicTrack=null}};function wC(e){return new CC(e)}var TC=class{streams=new Map;releaseTimers=new Map;releaseDelay;DEFAULT_RELEASE_DELAY=2e3;constructor(e={}){this.releaseDelay=e.releaseDelay??this.DEFAULT_RELEASE_DELAY}has(e){return this.streams.has(e)}getRefCount(e){return this.streams.get(e)?.refCount??0}get(e){return this.streams.get(e)}acquire(e,t){this.cancelRelease(e);let n=this.streams.get(e);if(n)return n.refCount++,t&&n.consumerContainerRefs.add(t),n}register(e,t,n,r,i,a){this.cancelRelease(e);let o={stream:t,videoElementRef:n,cameraDeviceRef:r,containerElementRef:i,consumerContainerRefs:new Set([i]),sharedVideoElement:a,mediaStream:null,refCount:1};return this.streams.set(e,o),o}updateContainerElement(e,t){let n=this.streams.get(e);n&&(n.containerElementRef.value=t)}updateSharedVideoElement(e,t){let n=this.streams.get(e);n&&(n.sharedVideoElement=t)}updateMediaStream(e,t){let n=this.streams.get(e);n&&(n.mediaStream=t)}release(e,t,n){let r=this.streams.get(e);if(r){if(r.refCount--,n){r.consumerContainerRefs.delete(n);let e=r.sharedVideoElement,t=n.value,i=e?.parentElement??null;if(r.refCount>0&&e&&(i===t||i===null||!i.isConnected)){let n=this.pickVisibleConsumer(r,t);n&&(r.containerElementRef=n.ref,e.parentElement!==n.el&&(n.el.appendChild(e),e.play().catch(()=>{})))}}if(r.refCount<=0){let t=setTimeout(()=>{this.doRelease(e)},this.releaseDelay);this.releaseTimers.set(e,t)}}}forceRelease(e){this.cancelRelease(e),this.doRelease(e)}clear(){for(let e of this.releaseTimers.values())clearTimeout(e);this.releaseTimers.clear();for(let[e,t]of this.streams)EC(t.stream),this.streams.delete(e)}getDebugInfo(){return Array.from(this.streams.entries()).map(([e,t])=>({cameraName:e,refCount:t.refCount,mode:t.stream.activeMode.value,resolution:t.stream.activeResolution.value}))}pickVisibleConsumer(e,t){let n;for(let r of e.consumerContainerRefs){let e=r.value;if(!(!e||e===t||!e.isConnected)){if(e.checkVisibility?.()??e.offsetParent!==null)return{ref:r,el:e};n??={ref:r,el:e}}}return n}cancelRelease(e){let t=this.releaseTimers.get(e);t&&(clearTimeout(t),this.releaseTimers.delete(e))}doRelease(e){let t=this.streams.get(e);t&&(t.refCount<=0&&(EC(t.stream),this.streams.delete(e)),this.releaseTimers.delete(e))}};function EC(e){let t=e;typeof t.destroy==`function`?t.destroy():t.stop()}var DC=new TC,OC=new WeakMap,kC=[],AC=V(null);function jC(){AC.value=kC[kC.length-1]??null}function MC(){return W(()=>AC.value)}function NC(e,t={}){let n=t.mode??`fit`,r=B(!1),i=V(null);G(()=>U(e),e=>{i.value=e??null},{immediate:!0});function a(e){e.key===`Escape`&&r.value&&s()}async function o(){let e=i.value;if(!e||r.value)return;let t=document.createElement(`div`);t.className=`cui-fullscreen cui-fullscreen-${n}`,PC(t,n);let o={wrapper:t,parent:e.parentElement,next:e.nextSibling,bodyOverflow:document.body.style.overflow,htmlOverflow:document.documentElement.style.overflow};OC.set(e,o),e.setAttribute(`data-cui-fullscreen`,n),document.body.appendChild(t),t.appendChild(e),document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.addEventListener(`keydown`,a),kC.push(t),jC(),r.value=!0}async function s(){let e=i.value;if(!e||!r.value)return;let t=OC.get(e);if(!t)return;OC.delete(e),e.removeAttribute(`data-cui-fullscreen`),t.parent&&(t.next&&t.next.parentNode===t.parent?t.parent.insertBefore(e,t.next):t.parent.appendChild(e)),t.wrapper.remove(),document.body.style.overflow=t.bodyOverflow,document.documentElement.style.overflow=t.htmlOverflow,document.removeEventListener(`keydown`,a);let n=kC.indexOf(t.wrapper);n!==-1&&kC.splice(n,1),jC(),r.value=!1}async function c(){r.value?await s():await o()}return Hl(()=>{r.value&&i.value&&s(),document.removeEventListener(`keydown`,a)}),{isFullscreen:W(()=>r.value),isSupported:W(()=>!0),enter:o,exit:s,toggle:c}}function PC(e,t){let n={position:`fixed`,top:`0`,right:`0`,bottom:`0`,left:`0`,zIndex:`2147483647`,margin:`0`,background:`black`,paddingTop:`env(safe-area-inset-top)`,paddingRight:`env(safe-area-inset-right)`,paddingBottom:`env(safe-area-inset-bottom)`,paddingLeft:`env(safe-area-inset-left)`,boxSizing:`border-box`};t===`fit`?Object.assign(e.style,n,{display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`hidden`}):Object.assign(e.style,n,{display:`block`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,overscrollBehavior:`contain`})}var FC=75,IC=500,LC=0,RC=0;function zC(){let e=performance.now();e-RC>IC&&(LC=0);let t=LC*FC;return LC++,RC=e,t}function BC(e){return!e||!e.isConnected?!1:e.checkVisibility?.()??e.offsetParent!==null}function VC(e){let{activityConfig:t,autoStart:n=!0,isolated:r=!1}=e,i=()=>U(n),a=e.startDelay??zC(),o=[],{isConnected:s}=Fb(),c=W(()=>U(e.camera)),l=W(()=>typeof c.value==`string`),u=W(()=>{let e=c.value;return typeof e==`string`?e:e.name.value}),{camera:d,isLoading:f}=mx(W(()=>l.value?u.value:``)),p=W(()=>l.value&&f.value),m=W(()=>l.value?d.value:c.value),h,g,_,v=V(),y=V(),b=V(),x=V(),S=V(),C=V(),w=B(!1),T=B(!1),E=B(!1),D=B(0),O=B(0),k=B(!1),j=B(a<=0);a>0&&(h=setTimeout(()=>{j.value=!0},a)),G(m,e=>{C.value=e},{immediate:!0});let M=W(()=>C.value?.disabled.value===!0),N=W(()=>S.value?.status.value??`idle`),P=W(()=>S.value?.isPlaying.value??!1),ee=W(()=>S.value?.activeMode.value??`webrtc`),F=W(()=>S.value?.activeResolution.value??`low-resolution`),te=W(()=>S.value?.degradedFrom.value??null),ne=W(()=>N.value===`unsupported`),re=W(()=>S.value?.hasAudio.value??!1),I=W(()=>S.value?.hasBackchannel.value??!1),L=W(()=>S.value?.error.value),ie=W(()=>N.value===`reconnecting`),ae=W(()=>p.value||!P.value&&N.value!==`error`&&N.value!==`unsupported`),oe=W(()=>re.value&&N.value===`connected`),se=W(()=>!!(typeof navigator<`u`&&navigator.mediaDevices)&&I.value),ce=W(()=>S.value?.muted.value??!0),le=W(()=>S.value?.paused.value??!1),ue=W(()=>typeof document<`u`&&document.pictureInPictureEnabled&&!!b.value),de=W(()=>b.value),fe=W(()=>y.value??v.value),pe=IS({initialMode:U(e.activityMode)??`always-on`,config:t,onStreamStart:()=>{M.value||S.value?.start()},onStreamStop:()=>{if(w.value){let e=_??u.value;if(e&&DC.getRefCount(e)>1)return}S.value?.stop()},isStreamPlaying:()=>P.value}),{isFullscreen:R,toggle:me}=NC(fe);function he(){return g=wC({camera:C,videoElement:x,containerElement:v,mode:W(()=>U(e.mode)??`auto`),resolution:W(()=>U(e.resolution)??`high-resolution`),autoStart:!1}),g}let ge=he();function _e(){let e=document.createElement(`video`);return e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.disablePictureInPicture=!1,e.preload=`auto`,e.poster=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`,e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.inset=`0`,e.style.objectFit=`fill`,e}function ve(e,t){e.parentElement&&e.parentElement!==t&&e.parentElement.removeChild(e),e.parentElement!==t&&t.appendChild(e)}function z(){if(r)return;let e=v.value,t=b.value;if(!e||!t||t.parentElement===e||!BC(e)||BC(t.parentElement))return;ve(t,e),t.play().catch(()=>{});let n=u.value,i=n?DC.get(n):void 0;i&&(i.containerElementRef=v)}function ye(){k.value=!0}function be(){k.value=!1}function xe(){if(T.value)return;let e=v.value,t=m.value;if(!e||!t||!s.value)return;T.value=!0,w.value=!1,S.value=ge;let n=_e();b.value=n,x.value=n,i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&ge.start()}function Se(){if(T.value)return;if(r){xe();return}let e=v.value,t=u.value,n=m.value;if(!e||!t||!s.value)return;let a=DC.acquire(t,v);if(a){T.value=!0,_=t,w.value=!0,S.value=a.stream,n&&a.cameraDeviceRef&&(a.cameraDeviceRef.value=n);let r=a.sharedVideoElement;r||(r=_e(),a.sharedVideoElement=r,DC.updateSharedVideoElement(t,r)),a.mediaStream?.active&&(r.srcObject=a.mediaStream),e&&(a.containerElementRef=v),b.value=r,a.videoElementRef.value=r,Te(a.stream,r,t),i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&(a.stream.activeMode.value===`mse`?r.play().catch(()=>{}):Ce(a,r,t))}else if(n){T.value=!0,_=t,w.value=!1,S.value=ge;let e=_e();b.value=e,x.value=e,DC.register(t,ge,x,C,v,e),i()&&j.value&&pe.mode.value===`always-on`&&!M.value&&ge.start();let n=G(()=>ge.isPlaying.value,n=>{n&&e.srcObject instanceof MediaStream&&DC.updateMediaStream(t,e.srcObject)},{immediate:!0});o.push(n);let r=G(()=>ge.status.value,n=>{n===`connected`&&e.srcObject instanceof MediaStream&&DC.updateMediaStream(t,e.srcObject)});o.push(r)}}function Ce(e,t,n){if(!e)return;let r=e.stream,i=r.activeMode.value,a=r.status.value,o=e.mediaStream?.active&&e.mediaStream.getTracks().some(e=>e.readyState===`live`);i===`mse`?(DC.updateMediaStream(n,null),r.restart()):o&&e.mediaStream?(t.srcObject=e.mediaStream,t.play().catch(()=>{})):a===`idle`||a===`closed`?(r.start(),we(r,t,n)):(a===`connected`&&r.restart(),we(r,t,n))}function we(e,t,n){let r=G([()=>e.isPlaying.value,()=>e.status.value],([e,i])=>{if(i===`connected`||e){let e=DC.get(n)?.mediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,t.play().catch(()=>{}),r()):t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}),r())}},{immediate:!0});o.push(r)}function Te(e,t,n){let r=e.status.value!==`connected`,i=G(()=>e.status.value,e=>{e===`reconnecting`||e===`connecting`?r=!0:e===`connected`&&r&&(r=!1,setTimeout(()=>{t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},100))},{immediate:!0});o.push(i);let a=G(()=>e.isPlaying.value,r=>{r&&e.activeMode.value!==`mse`&&t.srcObject instanceof MediaStream&&(DC.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},{immediate:!0});o.push(a)}async function Ee(){M.value||(pe.inStandby.value?pe.resumeFromStandby():await S.value?.start())}function H(){S.value?.stop()}async function De(){await S.value?.restart()}function Oe(){M.value||pe.resumeFromStandby()}async function ke(e){let t=u.value;t&&DC.updateMediaStream(t,null),await S.value?.setMode(e)}async function Ae(e){await S.value?.setResolution(e)}async function je(e){await S.value?.setMicrophone(e)}function Me(e){pe.setMode(e)}function Ne(e){pe.reportActivity(e)}function Pe(e){S.value?.setMuted(e);let t=b.value;t&&(t.muted=e)}async function Fe(){await S.value?.play()}function Ie(){S.value?.pause()}function Le(){document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&b.value&&b.value.requestPictureInPicture()}function Re(){let e=b.value;if(!e||e.videoWidth===0)return null;let t=document.createElement(`canvas`);return t.width=e.videoWidth,t.height=e.videoHeight,t.getContext(`2d`)?.drawImage(e,0,0),t.toDataURL(`image/png`)}function ze(){if(E.value)return;E.value=!0,h&&=(clearTimeout(h),void 0),S.value?.setMuted(!0);let e=b.value;e&&(e.muted=!0);for(let e of o)e();if(o.length=0,r)g?.destroy();else{let e=_,t=b.value;e&&T.value&&DC.release(e,t,v),(!T.value||S.value!==ge)&&g?.destroy()}pe.dispose()}function Be(t){let n=U(e.canvasStyle),r=U(e.canvasClass);if(n)if(typeof n==`string`)t.style.cssText+=`;`+n;else if(Array.isArray(n))for(let e of n)typeof e==`string`?t.style.cssText+=`;`+e:e&&Object.assign(t.style,e);else Object.assign(t.style,n);if(r)if(typeof r==`string`)t.className=r;else if(Array.isArray(r))t.className=r.filter(Boolean).join(` `);else for(let[e,n]of Object.entries(r))t.classList.toggle(e,!!n)}if(!r&&typeof IntersectionObserver<`u`){let e,t=G(v,t=>{e?.disconnect(),e=void 0,t&&(e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&z()}),e.observe(t))},{immediate:!0});o.push(()=>{t(),e?.disconnect()})}if(e.canvasStyle!==void 0||e.canvasClass!==void 0){let e,t=G(v,t=>{if(e?.(),e=void 0,!t)return;Array.from(t.querySelectorAll(`canvas`)).forEach(e=>{Be(e)});let n=new MutationObserver(e=>{for(let t of e)Array.from(t.addedNodes).forEach(e=>{e instanceof HTMLCanvasElement?Be(e):e instanceof HTMLElement&&Array.from(e.querySelectorAll(`canvas`)).forEach(e=>Be(e))})});n.observe(t,{childList:!0,subtree:!0}),e=()=>n.disconnect()},{immediate:!0});o.push(()=>{t(),e?.()})}if(e.videoStyle!==void 0||e.videoClass!==void 0){let t=G([b,()=>U(e.videoStyle),()=>U(e.videoClass)],([e,t,n])=>{if(e){if(t)if(typeof t==`string`)e.style.cssText+=`;`+t;else if(Array.isArray(t))for(let n of t)typeof n==`string`?e.style.cssText+=`;`+n:n&&Object.assign(e.style,n);else Object.assign(e.style,t);if(n)if(typeof n==`string`)e.className=n;else if(Array.isArray(n))e.className=n.filter(Boolean).join(` `);else for(let[t,r]of Object.entries(n))e.classList.toggle(t,r)}},{immediate:!0});o.push(t)}let Ve=G([()=>S.value?.nativeWidth.value,()=>S.value?.nativeHeight.value],([e,t])=>{e&&e>0&&(D.value=e),t&&t>0&&(O.value=t)});o.push(Ve);let He=G(b,(e,t)=>{t&&(t.removeEventListener(`enterpictureinpicture`,ye),t.removeEventListener(`leavepictureinpicture`,be)),e&&(e.addEventListener(`enterpictureinpicture`,ye),e.addEventListener(`leavepictureinpicture`,be))},{immediate:!0});return o.push(He),G([v,b],([e,t])=>{e&&t&&ve(t,e)},{immediate:!0}),G(()=>U(e.activityMode),e=>{e&&e!==pe.mode.value&&pe.setMode(e)}),G([v,m,s,j],()=>{T.value?j.value&&i()&&pe.mode.value===`always-on`&&!P.value&&N.value===`idle`&&!M.value&&S.value?.start():Se()},{immediate:!0}),G(M,(e,t)=>{T.value&&(!t&&e?S.value?.stop():t&&!e&&i()&&S.value?.restart())}),A(ze),Hl(ze),{status:N,isPlaying:P,activeMode:ee,activeResolution:F,degradedFrom:te,unsupported:ne,hasAudio:re,hasBackchannel:I,error:L,isReconnecting:ie,activityMode:pe.mode,inStandby:pe.inStandby,hasActivity:pe.hasActivity,isBusy:ae,hasSound:oe,hasIntercom:se,videoElement:b,containerElement:v,fullscreenElement:y,renderElement:de,stream:S,muted:ce,paused:le,nativeWidth:D,nativeHeight:O,isPip:k,supportsPip:ue,isFullscreen:R,start:Ee,stop:H,restart:De,resumeFromStandby:Oe,setMode:ke,setResolution:Ae,setMicrophone:je,setActivityMode:Me,reportActivity:Ne,setMuted:Pe,play:Fe,pause:Ie,togglePip:Le,isCameraDisabled:M,toggleFullscreen:me,captureScreenshot:Re}}function HC(){let e=Fb(),t=Rb.coreManagerNamespaces(),n=e=>e.createProxy(t.coreManagerRpc);return{getFFmpegPath:()=>Vb(e.rpc,e=>n(e).getFFmpegPath()),getServerAddresses:()=>Vb(e.rpc,e=>n(e).getServerAddresses()),getPluginsByInterface:t=>Vb(e.rpc,e=>n(e).getPluginsByInterface(t)),getCloudServerId:()=>Vb(e.rpc,e=>n(e).getCloudServerId())}}var UC=1500,WC=3e4,GC=new Map;function KC(e){let t=Fb(),n=B({status:`disconnected`}),r=B(null),i=null,a=n=>Vb(t.rpc,async r=>{let i=await uS(t.rpc,e);if(!i)throw Error(`Plugin "${e}" not found`);return n(r.createProxy(Rb.pluginNamespaces(i).pluginChildRpc))});async function o(){n.value=await a(e=>e.getOAuthState()),r.value||=await a(e=>e.getOAuthMetadata())}function s(e){i&&clearInterval(i),i=setInterval(()=>{o().catch(()=>void 0)},e)}return G(()=>n.value.status,e=>{s(e===`awaiting_user`||e===`polling`?UC:WC)},{immediate:!0}),o().catch(()=>void 0),{state:n,metadata:r,call:a,refresh:o}}function qC(e){GC.has(e)||GC.set(e,KC(e));let{state:t,metadata:n,call:r,refresh:i}=GC.get(e);async function a(e){t.value=await r(t=>t.startDeviceFlow(e))}async function o(e){t.value=await r(t=>t.startAuthCodeFlow(e))}async function s(){(t.value.status===`awaiting_user`||t.value.status===`polling`)&&await r(e=>e.cancelDeviceFlow?.()??e.cancelAuthCodeFlow?.()??Promise.resolve()),await i()}async function c(){await r(e=>e.disconnect()),await i()}return{state:t,metadata:n,startDeviceFlow:a,startAuthCodeFlow:o,cancel:s,disconnect:c,refresh:i}}function JC(){let e=Fb(),{rpc:t,isConnected:n}=e,r=Rb.terminalManagerNamespaces(),i=V(),a=B(!1),o=B(!1),s=B(),c=B({cols:80,rows:24}),l,u,d=0,f=e=>e.createProxy(r.terminalManagerRpc);async function p(e){if(!(o.value||a.value)){o.value=!0,s.value=void 0,u=e;try{let n=await Vb(t,t=>f(t).createSession({cols:e?.cols??80,rows:e?.rows??24,cwd:e?.cwd,shell:e?.shell,env:e?.env}));i.value=n.sessionId,c.value=n.dimensions,a.value=!0,l=new AbortController;let r=++d;m(n.sessionId,e,r)}catch(t){s.value=t instanceof Error?t:Error(String(t)),e?.onError?.(s.value)}finally{o.value=!1}}}async function m(e,n,r){try{let i=t.value;if(!i)return;for await(let t of f(i).generateOutput(e)){if(r!==d||l?.signal.aborted)break;n?.onData?.(t)}}catch(e){r===d&&!l?.signal.aborted&&(s.value=e instanceof Error?e:Error(String(e)),n?.onError?.(s.value))}finally{r===d&&!l?.signal.aborted&&(a.value=!1,n?.onClose?.())}}async function h(e){if(!(!i.value||!a.value))try{await Vb(t,t=>f(t).writeInput(i.value,e))}catch(e){s.value=e instanceof Error?e:Error(String(e)),u?.onError?.(s.value)}}async function g(e){if(!(!i.value||!a.value))try{await Vb(t,t=>f(t).resize(i.value,e)),c.value=e}catch(e){s.value=e instanceof Error?e:Error(String(e)),u?.onError?.(s.value)}}async function _(){if(l?.abort(),d++,i.value)try{await Vb(t,e=>f(e).closeSession(i.value),{awaitConnect:!1,maxRetries:0})}catch{}i.value=void 0,a.value=!1,u=void 0}function v(){if(!i.value&&!a.value)return;let e=u;l?.abort(),d++,i.value=void 0,a.value=!1,u=void 0,e?.onClose?.(),e&&p(e)}return e.on(`reconnected`,v),Hl(()=>{e.off(`reconnected`,v),_()}),{sessionId:Xe(i),isConnected:Xe(a),isConnecting:Xe(o),isClientConnected:Xe(n),error:Xe(s),dimensions:Xe(c),connect:p,write:h,resize:g,close:_}}var YC=xv.extend({name:`skeleton`,style:`
1080
1080
  .p-skeleton {
1081
1081
  display: block;
1082
1082
  overflow: hidden;
@@ -1 +1 @@
1
- import{Hr as e,Jr as t,Qr as n,Rr as r,Ur as i,Vr as a,Wr as o,_i as s,ai as c,fi as l,gi as u,ii as d,mi as f,ni as p,pi as m,qr as h,ui as g,zr as _}from"./vendor-cameraui-BqkrW4Bb.js";import{$n as v,An as ee,En as y,Mn as te,Pn as b,Tn as ne,ar as x,bn as S,cr as C,dr as w,er as re,fr as T,gn as ie,gr as E,hn as D,hr as ae,in as O,ir as k,jn as A,lr as oe,mr as j,nr as M,or as N,pr as se,qn as P,rr as F,ur as I,vn as L,yn as R}from"./vendor-CSg6_Jfu.js";var ce=typeof window<`u`,le,z=e=>le=e,ue=Symbol();function de(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var fe=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function pe(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function me(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){_e(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function he(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function B(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var V=typeof navigator==`object`?navigator:{userAgent:``},ge=/Macintosh/.test(V.userAgent)&&/AppleWebKit/.test(V.userAgent)&&!/Safari/.test(V.userAgent),_e=ce?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!ge?ve:`msSaveOrOpenBlob`in V?ye:be:()=>{};function ve(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?B(r):he(r.href)?me(e,t,n):(r.target=`_blank`,B(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){B(r)},0))}function ye(e,t=`download`,n){if(typeof e==`string`)if(he(e))me(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){B(t)})}else navigator.msSaveOrOpenBlob(pe(e,n),t)}function be(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return me(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(fe.HTMLElement))||`safari`in fe,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||ge)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:xe}=Object;function Se(){let e=v(!0),t=e.run(()=>C({})),n=[],r=[],i=k({install(e){z(i),i._a=e,e.provide(ue,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ce=()=>{};function we(e,t,n,r=Ce){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&re()&&x(i),i}function H(e,...t){e.forEach(e=>{e(...t)})}var Te=e=>e(),Ee=Symbol(),De=Symbol();function Oe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=de(i)&&de(r)&&Object.hasOwn(e,n)&&!F(r)&&!M(r)?Oe(i,r):r}return e}var ke=Symbol();function Ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ke)}var{assign:U}=Object;function je(e){return!!(F(e)&&e.effect)}function Me(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),U(j(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=k(O(()=>{z(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Ne(e,l,t,n,r,!0),c}function Ne(e,t,n={},r,i,a){let o,s=U({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(Oe(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();ne().then(()=>{h===i&&(l=!0)}),u=!0,H(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{U(e,t)})}:Ce;function ee(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(Ee in t)return t[De]=n,t;let i=function(){z(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}H(f,{args:n,name:i[De],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw H(o,e),e}return l instanceof Promise?l.then(e=>(H(a,e),e)).catch(e=>(H(o,e),Promise.reject(e))):(H(a,l),l)};return i[Ee]=!0,i[De]=n,i},te={_p:r,$id:e,$onAction:we.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return Ce;let i=we(d,t,n.detached,()=>a()),a=o.run(()=>P(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},U({},c,n)));return i},$dispose:ee},b=N(te);r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Te)(()=>r._e.run(()=>(o=v()).run(()=>t({action:y}))));for(let t in x){let n=x[t];F(n)&&!je(n)||M(n)?a||(m&&Ae(n)&&(F(n)?n.value=m[t]:Oe(n,m[t])),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return U(b,x),U(T(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{U(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));U(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function Pe(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=R();return n||=o?S(ue,null):null,n&&z(n),n=le,n._s.has(e)||(i?Ne(e,t,r,n):Me(e,r,n)),n._s.get(e)}return a.$id=e,a}function Fe(e){let t=T(e),n={};for(let r in t){let i=t[r];i?.effect?n[r]=O({get:()=>e[r],set(t){e[r]=t}}):(F(i)||M(i))&&(n[r]=se(e,r))}return n}function Ie(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Le(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Ie(e.default)}var W=Object.assign;function Re(e,t){let n={};for(let r in t){let i=t[r];n[r]=K(i)?i.map(e):e(i)}return n}var G=()=>{},K=Array.isArray;function ze(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Be=Symbol(``);function q(e,t){return W(Error(),{type:e,[Be]:!0},t)}function J(e,t){return e instanceof Error&&Be in e&&(t==null||!!(e.type&t))}var Ve=Symbol(``),He=Symbol(``),Ue=Symbol(``),We=Symbol(``),Ge=Symbol(``);function Ke(){return S(Ue)}function qe(e){return S(We)}var Y=typeof document<`u`,Je=/#/g,Ye=/&/g,Xe=/\//g,Ze=/=/g,Qe=/\?/g,$e=/\+/g,et=/%5B/g,tt=/%5D/g,nt=/%5E/g,rt=/%60/g,it=/%7B/g,at=/%7C/g,ot=/%7D/g,st=/%20/g;function ct(e){return e==null?``:encodeURI(``+e).replace(at,`|`).replace(et,`[`).replace(tt,`]`)}function lt(e){return ct(e).replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function ut(e){return ct(e).replace($e,`%2B`).replace(st,`+`).replace(Je,`%23`).replace(Ye,`%26`).replace(rt,"`").replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function dt(e){return ut(e).replace(Ze,`%3D`)}function ft(e){return ct(e).replace(Je,`%23`).replace(Qe,`%3F`)}function pt(e){return ft(e).replace(Xe,`%2F`)}function mt(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var ht=/\/$/,gt=e=>e.replace(ht,``);function _t(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=wt(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:mt(o)}}function vt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function yt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function bt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&xt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!St(e[n],t[n]))return!1;return!0}function St(e,t){return K(e)?Ct(e,t):K(t)?Ct(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Ct(e,t){return K(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function wt(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function Tt(e){if(!e)if(Y){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),gt(e)}var Et=/^[^#]+#/;function Dt(e,t){return e.replace(Et,`#`)+t}function Ot(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var kt=()=>({left:window.scrollX,top:window.scrollY});function At(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Ot(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function jt(e,t){return(history.state?history.state.position-t:-1)+e}var Mt=new Map;function Nt(e,t){Mt.set(e,t)}function Pt(e){let t=Mt.get(e);return Mt.delete(e),t}function Ft(e){return typeof e==`string`||e&&typeof e==`object`}function It(e){return typeof e==`string`||typeof e==`symbol`}function Lt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace($e,` `),i=r.indexOf(`=`),a=mt(i<0?r:r.slice(0,i)),o=i<0?null:mt(r.slice(i+1));if(a in t){let e=t[a];K(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function Rt(e){let t=``;for(let n in e){let r=e[n];if(n=dt(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(K(r)?r.map(e=>e&&ut(e)):[r&&ut(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function zt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=K(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n){let r=e.value;if(!r)return;let i=r,a=()=>{i[t].delete(n)};te(a),ee(a),y(()=>{let r=e.value;r&&(i=r),i[t].add(n)}),i[t].add(n)}function Vt(e){Bt(S(Ve,{}),`leaveGuards`,e)}function Ht(e){Bt(S(Ve,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(q(4,{from:n,to:t})):e instanceof Error?c(e):Ft(e)?c(q(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ut(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(Ie(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Le(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function Wt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Gt=()=>location.protocol+`//`+location.host;function Kt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),yt(n,``)}return yt(n,e)+r+i}function qt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Kt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(W({},e.state,{scroll:kt()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Jt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?kt():null}}function Yt(e){let{history:t,location:n}=window,r={value:Kt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Gt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,W({},t.state,Jt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=W({},i.value,t.state,{forward:e,scroll:kt()});a(o.current,o,!0),a(e,W({},Jt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Xt(e){e=Tt(e);let t=Yt(e),n=qt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=W({location:``,base:e,go:r,createHref:Dt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Zt(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Xt(e)}var Qt={type:0,value:``},$t=/[a-zA-Z0-9_]/;function en(e){if(!e)return[[]];if(e===`/`)return[[Qt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:$t.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var tn=`[^/]+?`,nn={sensitive:!1,strict:!1,start:!0,end:!0},rn=/[.+*?^${}()[\]/\\]/g;function an(e,t){let n=W({},nn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(rn,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||tn;if(u!==tn){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(K(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=K(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function on(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function sn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=on(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(cn(r))return 1;if(cn(i))return-1}return i.length-r.length}function cn(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var ln={strict:!1,end:!0,sensitive:!1};function un(e,t,n){let r=W(an(en(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function dn(e,t){let n=[],r=new Map;t=ze(ln,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=pn(e);s.aliasOf=r&&r.record;let l=ze(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(pn(W({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=un(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!hn(d)&&o(e.name)),yn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:G}function o(e){if(It(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=_n(e,n);n.splice(t,0,e),e.record.name&&!hn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw q(1,{location:e});s=i.record.name,a=W(fn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&fn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw q(1,{location:e,currentLocation:t});s=i.record.name,a=W({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:gn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function fn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function pn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:mn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function mn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function hn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gn(e){return e.reduce((e,t)=>W(e,t.meta),{})}function _n(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;sn(e,t[i])<0?r=i:n=i+1}let i=vn(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function vn(e){let t=e;for(;t=t.parent;)if(yn(t)&&sn(e,t)===0)return t}function yn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function bn(e){let t=S(Ue),n=S(We),r=O(()=>{let n=E(e.to);return t.resolve(n)}),i=O(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=Tn(e[t-2]);return t>1&&Tn(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=O(()=>i.value>-1&&wn(n.params,r.value.params)),o=O(()=>i.value>-1&&i.value===n.matched.length-1&&xt(n.params,r.value.params));function s(n={}){if(Cn(n)){let n=t[E(e.replace)?`replace`:`push`](E(e.to)).catch(G);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:O(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function xn(e){return e.length===1?e[0]:e}var Sn=D({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:bn,setup(e,{slots:t}){let n=N(bn(e)),{options:r}=S(Ue),i=O(()=>({[En(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[En(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&xn(t.default(n));return e.custom?r:L(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Cn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!K(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Tn(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var En=(e,t,n)=>e??t??n,Dn=D({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=S(Ge),i=O(()=>e.route||r.value),a=S(He,0),o=O(()=>{let e=E(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=O(()=>i.value.matched[o.value]);b(He,O(()=>o.value+1)),b(Ve,s),b(Ge,i);let c=C();return P(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return On(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=L(l,W({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return On(n.default,{Component:f,route:r})||f}}});function On(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var kn=Dn;function An(e){let t=dn(e.routes,e),n=e.parseQuery||Lt,r=e.stringifyQuery||Rt,i=e.history,a=Q(),o=Q(),s=Q(),c=w(Z),l=Z;Y&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Re.bind(null,e=>``+e),d=Re.bind(null,pt),f=Re.bind(null,mt);function p(e,n){let r,i;return It(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=W({},a||c.value),typeof e==`string`){let r=_t(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return W(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=W({},e,{path:_t(n,e.path,a.path).path});else{let t=W({},e.params);for(let e in t)t[e]??delete t[e];o=W({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=vt(r,W({},e,{hash:lt(l),path:s.path})),m=i.createHref(p);return W({fullPath:p,hash:l,query:r===Rt?zt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?_t(n,e,c.value.path):W({},e)}function ee(e,t){if(l!==e)return q(8,{from:t,to:e})}function y(e){return x(e)}function te(e){return y(W(v(e),{replace:!0}))}function b(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),W({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function x(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=b(n,i);if(u)return x(W(v(u),{state:typeof u==`object`?W({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&bt(r,i,n)&&(f=q(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):re(d,i)).catch(e=>J(e)?J(e,2)?e:N(e):j(e,d,i)).then(e=>{if(e){if(J(e,2))return x(W({replace:s},v(e.to),{state:typeof e.to==`object`?W({},a,e.to.state):a,force:o}),t||d)}else e=ie(d,i,!0,s,a);return T(d,i,e),e})}function S(e,t){let n=ee(e,t);return n?Promise.reject(n):Promise.resolve()}function C(e){let t=I.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function re(e,t){let n,[r,i,s]=Wt(e,t);n=Ut(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=S.bind(null,e,t);return n.push(c),R(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),R(n)}).then(()=>{n=Ut(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),R(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(K(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(c),R(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ut(s,`beforeRouteEnter`,e,t,C),n.push(c),R(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),R(n)}).catch(e=>J(e,8)?e:Promise.reject(e))}function T(e,t,n){s.list().forEach(r=>C(()=>r(e,t,n)))}function ie(e,t,n,r,a){let o=ee(e,t);if(o)return o;let s=t===Z,l=Y?history.state:{};n&&(r||s?i.replace(e.fullPath,W({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),N()}let D;function ae(){D||=i.listen((e,t,n)=>{if(!L.listening)return;let r=_(e),a=b(r,L.currentRoute.value);if(a){x(W(a,{replace:!0,force:!0}),r).catch(G);return}l=r;let o=c.value;Y&&Nt(jt(o.fullPath,n.delta),kt()),re(r,o).catch(e=>J(e,12)?e:J(e,2)?(x(W(v(e.to),{force:!0}),r).then(e=>{J(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(G),Promise.reject()):(n.delta&&i.go(-n.delta,!1),j(e,r,o))).then(e=>{e||=ie(r,o,!1),e&&(n.delta&&!J(e,8)?i.go(-n.delta,!1):n.type===`pop`&&J(e,20)&&i.go(-1,!1)),T(r,o,e)}).catch(G)})}let O=Q(),k=Q(),A;function j(e,t,n){N(e);let r=k.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function M(){return A&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{O.add([e,t])})}function N(e){return A||(A=!e,ae(),O.list().forEach(([t,n])=>e?n(e):t()),O.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!Y||!a)return Promise.resolve();let o=!r&&Pt(jt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ne().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&At(e)).catch(e=>t===c.value&&j(e,t,n))}let P=e=>i.go(e),F,I=new Set,L={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:y,replace:te,go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:k.add,isReady:M,install(e){e.component(`RouterLink`,Sn),e.component(`RouterView`,kn),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>E(c)}),Y&&!F&&c.value===Z&&(F=!0,y(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ue,L),e.provide(We,oe(t)),e.provide(Ge,c);let n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(l=Z,D&&D(),D=null,c.value=Z,F=!1,A=!1),n()}}};function R(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return L}g({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)r(n,t.value,{target:e});else{let[i,a]=t.value;r(n,i,{target:e,...a})}}});var jn=g({mounted(e,t){typeof t.value==`function`?_(e,t.value,{modifiers:t.modifiers}):_(e,...t.value)}});g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value,{height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=a(e,r);P([i,o,s,c,l,u,d,f],()=>n({height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var Mn=g({mounted(t,n){let r=n.value;if(typeof r==`function`)P(e(t),e=>r(e));else{let[n,i]=r;P(e(t,i),e=>n(e))}}}),Nn=l?window:void 0;l&&window.document,l&&window.navigator,l&&window.location;function Pn(e){let t=ae(e);return t?.$el??t}function Fn(){let e=w(!1),t=ie();return t&&A(()=>{e.value=!0},t),e}function In(e){let t=Fn();return O(()=>(t.value,!!e()))}function Ln(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`MutationObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=u(ae(e)).map(Pn).filter(m);return new Set(t)}),e=>{c(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),d=()=>a?.takeRecords(),f=()=>{l(),c()};return s(f),{isSupported:o,stop:f,takeRecords:d}}function Rn(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`ResizeObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=ae(e);return Array.isArray(t)?t.map(e=>Pn(e)):[Pn(t)]}),e=>{if(c(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),u=()=>{c(),l()};return s(u),{isSupported:o,stop:u}}function zn(e,t={}){let{observeMutation:n=!1,onUpdated:r,window:i=Nn}=t,a=w(!1),o=w(!1);function s(e){a.value=e.scrollWidth>e.offsetWidth,o.value=e.scrollHeight>e.offsetHeight}let c=r,l=O(()=>{let t=Pn(e);if(!(!t||t instanceof SVGElement))return t}),u=()=>{let e=l.value;return!e||e instanceof SVGElement?[]:[e,...Array.from(e.children).filter(e=>e instanceof HTMLElement)]};if(Rn(u,(e,t)=>{let n=l.value;n&&s(n),c?.(e,t)},{window:i}),n){let e=r;Ln(u,(t,n)=>{let r=l.value;r&&s(r),e?.(t,n)},{window:i,...typeof n==`object`?n:{childList:!0,subtree:!0,characterData:!0}})}return{isXOverflowed:I(a),isYOverflowed:I(o),stop,update:()=>{let e=l.value;e&&i&&s(e)}}}g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value]:t.value,i=zn(e,r),{isXOverflowed:a,isYOverflowed:o}=i;P([a,o],()=>n(i),{immediate:!0})}}),g({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:a}=i(e,...typeof t.value==`function`?[]:t.value.slice(1));P([r,a],([e,t])=>n({width:e,height:t}),{immediate:!0})}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value;P(o(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=o(e,r);P(t.isVisible,()=>n(t),{immediate:!0})}else P(o(e,r),e=>n(e),{immediate:!0})}}}),g({mounted(e,t){typeof t.value==`function`?h(e,t.value):h(e,...t.value)}});var Bn=g({mounted(e,n){typeof n.value==`function`?t(e,n.value):t(e,...n.value)}});g({mounted(e,t){let[r,i]=typeof t.value==`function`?[t.value,{}]:t.value;P(f(N(n(e,i)),`stop`),e=>r(e))}}),g({mounted(e,t){typeof t.value==`function`?p(e,t.value):p(e,...t.value)}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=d(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=d(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function Vn(){let e=!1,t=w(!1);return g((n,r)=>{if(t.value=r.value,e)return;e=!0;let i=c(n,r.value);P(t,e=>i.value=e)})}Vn();export{Zt as a,Ht as c,Se as d,Pe as f,An as i,qe as l,Bn as n,Xt as o,Fe as p,jn as r,Vt as s,Mn as t,Ke as u};
1
+ import{Hr as e,Jr as t,Qr as n,Rr as r,Ur as i,Vr as a,Wr as o,_i as s,ai as c,fi as l,gi as u,ii as d,mi as f,ni as p,pi as m,qr as h,ui as g,zr as _}from"./vendor-cameraui-Cgb5z6NJ.js";import{$n as v,An as ee,En as y,Mn as te,Pn as b,Tn as ne,ar as x,bn as S,cr as C,dr as w,er as re,fr as T,gn as ie,gr as E,hn as D,hr as ae,in as O,ir as k,jn as A,lr as oe,mr as j,nr as M,or as N,pr as se,qn as P,rr as F,ur as I,vn as L,yn as R}from"./vendor-CSg6_Jfu.js";var ce=typeof window<`u`,le,z=e=>le=e,ue=Symbol();function de(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var fe=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function pe(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function me(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){_e(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function he(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function B(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var V=typeof navigator==`object`?navigator:{userAgent:``},ge=/Macintosh/.test(V.userAgent)&&/AppleWebKit/.test(V.userAgent)&&!/Safari/.test(V.userAgent),_e=ce?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!ge?ve:`msSaveOrOpenBlob`in V?ye:be:()=>{};function ve(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?B(r):he(r.href)?me(e,t,n):(r.target=`_blank`,B(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){B(r)},0))}function ye(e,t=`download`,n){if(typeof e==`string`)if(he(e))me(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){B(t)})}else navigator.msSaveOrOpenBlob(pe(e,n),t)}function be(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return me(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(fe.HTMLElement))||`safari`in fe,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||ge)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:xe}=Object;function Se(){let e=v(!0),t=e.run(()=>C({})),n=[],r=[],i=k({install(e){z(i),i._a=e,e.provide(ue,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ce=()=>{};function we(e,t,n,r=Ce){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&re()&&x(i),i}function H(e,...t){e.forEach(e=>{e(...t)})}var Te=e=>e(),Ee=Symbol(),De=Symbol();function Oe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=de(i)&&de(r)&&Object.hasOwn(e,n)&&!F(r)&&!M(r)?Oe(i,r):r}return e}var ke=Symbol();function Ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ke)}var{assign:U}=Object;function je(e){return!!(F(e)&&e.effect)}function Me(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),U(j(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=k(O(()=>{z(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Ne(e,l,t,n,r,!0),c}function Ne(e,t,n={},r,i,a){let o,s=U({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(Oe(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();ne().then(()=>{h===i&&(l=!0)}),u=!0,H(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{U(e,t)})}:Ce;function ee(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(Ee in t)return t[De]=n,t;let i=function(){z(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}H(f,{args:n,name:i[De],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw H(o,e),e}return l instanceof Promise?l.then(e=>(H(a,e),e)).catch(e=>(H(o,e),Promise.reject(e))):(H(a,l),l)};return i[Ee]=!0,i[De]=n,i},te={_p:r,$id:e,$onAction:we.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return Ce;let i=we(d,t,n.detached,()=>a()),a=o.run(()=>P(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},U({},c,n)));return i},$dispose:ee},b=N(te);r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Te)(()=>r._e.run(()=>(o=v()).run(()=>t({action:y}))));for(let t in x){let n=x[t];F(n)&&!je(n)||M(n)?a||(m&&Ae(n)&&(F(n)?n.value=m[t]:Oe(n,m[t])),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return U(b,x),U(T(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{U(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));U(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function Pe(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=R();return n||=o?S(ue,null):null,n&&z(n),n=le,n._s.has(e)||(i?Ne(e,t,r,n):Me(e,r,n)),n._s.get(e)}return a.$id=e,a}function Fe(e){let t=T(e),n={};for(let r in t){let i=t[r];i?.effect?n[r]=O({get:()=>e[r],set(t){e[r]=t}}):(F(i)||M(i))&&(n[r]=se(e,r))}return n}function Ie(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Le(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Ie(e.default)}var W=Object.assign;function Re(e,t){let n={};for(let r in t){let i=t[r];n[r]=K(i)?i.map(e):e(i)}return n}var G=()=>{},K=Array.isArray;function ze(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Be=Symbol(``);function q(e,t){return W(Error(),{type:e,[Be]:!0},t)}function J(e,t){return e instanceof Error&&Be in e&&(t==null||!!(e.type&t))}var Ve=Symbol(``),He=Symbol(``),Ue=Symbol(``),We=Symbol(``),Ge=Symbol(``);function Ke(){return S(Ue)}function qe(e){return S(We)}var Y=typeof document<`u`,Je=/#/g,Ye=/&/g,Xe=/\//g,Ze=/=/g,Qe=/\?/g,$e=/\+/g,et=/%5B/g,tt=/%5D/g,nt=/%5E/g,rt=/%60/g,it=/%7B/g,at=/%7C/g,ot=/%7D/g,st=/%20/g;function ct(e){return e==null?``:encodeURI(``+e).replace(at,`|`).replace(et,`[`).replace(tt,`]`)}function lt(e){return ct(e).replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function ut(e){return ct(e).replace($e,`%2B`).replace(st,`+`).replace(Je,`%23`).replace(Ye,`%26`).replace(rt,"`").replace(it,`{`).replace(ot,`}`).replace(nt,`^`)}function dt(e){return ut(e).replace(Ze,`%3D`)}function ft(e){return ct(e).replace(Je,`%23`).replace(Qe,`%3F`)}function pt(e){return ft(e).replace(Xe,`%2F`)}function mt(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var ht=/\/$/,gt=e=>e.replace(ht,``);function _t(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=wt(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:mt(o)}}function vt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function yt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function bt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&xt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!St(e[n],t[n]))return!1;return!0}function St(e,t){return K(e)?Ct(e,t):K(t)?Ct(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Ct(e,t){return K(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function wt(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function Tt(e){if(!e)if(Y){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),gt(e)}var Et=/^[^#]+#/;function Dt(e,t){return e.replace(Et,`#`)+t}function Ot(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var kt=()=>({left:window.scrollX,top:window.scrollY});function At(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Ot(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function jt(e,t){return(history.state?history.state.position-t:-1)+e}var Mt=new Map;function Nt(e,t){Mt.set(e,t)}function Pt(e){let t=Mt.get(e);return Mt.delete(e),t}function Ft(e){return typeof e==`string`||e&&typeof e==`object`}function It(e){return typeof e==`string`||typeof e==`symbol`}function Lt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace($e,` `),i=r.indexOf(`=`),a=mt(i<0?r:r.slice(0,i)),o=i<0?null:mt(r.slice(i+1));if(a in t){let e=t[a];K(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function Rt(e){let t=``;for(let n in e){let r=e[n];if(n=dt(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(K(r)?r.map(e=>e&&ut(e)):[r&&ut(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function zt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=K(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n){let r=e.value;if(!r)return;let i=r,a=()=>{i[t].delete(n)};te(a),ee(a),y(()=>{let r=e.value;r&&(i=r),i[t].add(n)}),i[t].add(n)}function Vt(e){Bt(S(Ve,{}),`leaveGuards`,e)}function Ht(e){Bt(S(Ve,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(q(4,{from:n,to:t})):e instanceof Error?c(e):Ft(e)?c(q(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ut(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(Ie(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Le(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function Wt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Gt=()=>location.protocol+`//`+location.host;function Kt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),yt(n,``)}return yt(n,e)+r+i}function qt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Kt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(W({},e.state,{scroll:kt()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Jt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?kt():null}}function Yt(e){let{history:t,location:n}=window,r={value:Kt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Gt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,W({},t.state,Jt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=W({},i.value,t.state,{forward:e,scroll:kt()});a(o.current,o,!0),a(e,W({},Jt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Xt(e){e=Tt(e);let t=Yt(e),n=qt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=W({location:``,base:e,go:r,createHref:Dt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Zt(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Xt(e)}var Qt={type:0,value:``},$t=/[a-zA-Z0-9_]/;function en(e){if(!e)return[[]];if(e===`/`)return[[Qt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:$t.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var tn=`[^/]+?`,nn={sensitive:!1,strict:!1,start:!0,end:!0},rn=/[.+*?^${}()[\]/\\]/g;function an(e,t){let n=W({},nn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(rn,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||tn;if(u!==tn){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(K(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=K(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function on(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function sn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=on(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(cn(r))return 1;if(cn(i))return-1}return i.length-r.length}function cn(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var ln={strict:!1,end:!0,sensitive:!1};function un(e,t,n){let r=W(an(en(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function dn(e,t){let n=[],r=new Map;t=ze(ln,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=pn(e);s.aliasOf=r&&r.record;let l=ze(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(pn(W({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=un(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!hn(d)&&o(e.name)),yn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:G}function o(e){if(It(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=_n(e,n);n.splice(t,0,e),e.record.name&&!hn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw q(1,{location:e});s=i.record.name,a=W(fn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&fn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw q(1,{location:e,currentLocation:t});s=i.record.name,a=W({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:gn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function fn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function pn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:mn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function mn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function hn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function gn(e){return e.reduce((e,t)=>W(e,t.meta),{})}function _n(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;sn(e,t[i])<0?r=i:n=i+1}let i=vn(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function vn(e){let t=e;for(;t=t.parent;)if(yn(t)&&sn(e,t)===0)return t}function yn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function bn(e){let t=S(Ue),n=S(We),r=O(()=>{let n=E(e.to);return t.resolve(n)}),i=O(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=Tn(e[t-2]);return t>1&&Tn(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=O(()=>i.value>-1&&wn(n.params,r.value.params)),o=O(()=>i.value>-1&&i.value===n.matched.length-1&&xt(n.params,r.value.params));function s(n={}){if(Cn(n)){let n=t[E(e.replace)?`replace`:`push`](E(e.to)).catch(G);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:O(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function xn(e){return e.length===1?e[0]:e}var Sn=D({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:bn,setup(e,{slots:t}){let n=N(bn(e)),{options:r}=S(Ue),i=O(()=>({[En(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[En(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&xn(t.default(n));return e.custom?r:L(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Cn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function wn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!K(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Tn(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var En=(e,t,n)=>e??t??n,Dn=D({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=S(Ge),i=O(()=>e.route||r.value),a=S(He,0),o=O(()=>{let e=E(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=O(()=>i.value.matched[o.value]);b(He,O(()=>o.value+1)),b(Ve,s),b(Ge,i);let c=C();return P(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return On(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=L(l,W({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return On(n.default,{Component:f,route:r})||f}}});function On(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var kn=Dn;function An(e){let t=dn(e.routes,e),n=e.parseQuery||Lt,r=e.stringifyQuery||Rt,i=e.history,a=Q(),o=Q(),s=Q(),c=w(Z),l=Z;Y&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Re.bind(null,e=>``+e),d=Re.bind(null,pt),f=Re.bind(null,mt);function p(e,n){let r,i;return It(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=W({},a||c.value),typeof e==`string`){let r=_t(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return W(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=W({},e,{path:_t(n,e.path,a.path).path});else{let t=W({},e.params);for(let e in t)t[e]??delete t[e];o=W({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=vt(r,W({},e,{hash:lt(l),path:s.path})),m=i.createHref(p);return W({fullPath:p,hash:l,query:r===Rt?zt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?_t(n,e,c.value.path):W({},e)}function ee(e,t){if(l!==e)return q(8,{from:t,to:e})}function y(e){return x(e)}function te(e){return y(W(v(e),{replace:!0}))}function b(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),W({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function x(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=b(n,i);if(u)return x(W(v(u),{state:typeof u==`object`?W({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&bt(r,i,n)&&(f=q(16,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):re(d,i)).catch(e=>J(e)?J(e,2)?e:N(e):j(e,d,i)).then(e=>{if(e){if(J(e,2))return x(W({replace:s},v(e.to),{state:typeof e.to==`object`?W({},a,e.to.state):a,force:o}),t||d)}else e=ie(d,i,!0,s,a);return T(d,i,e),e})}function S(e,t){let n=ee(e,t);return n?Promise.reject(n):Promise.resolve()}function C(e){let t=I.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function re(e,t){let n,[r,i,s]=Wt(e,t);n=Ut(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=S.bind(null,e,t);return n.push(c),R(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),R(n)}).then(()=>{n=Ut(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),R(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(K(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(c),R(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ut(s,`beforeRouteEnter`,e,t,C),n.push(c),R(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),R(n)}).catch(e=>J(e,8)?e:Promise.reject(e))}function T(e,t,n){s.list().forEach(r=>C(()=>r(e,t,n)))}function ie(e,t,n,r,a){let o=ee(e,t);if(o)return o;let s=t===Z,l=Y?history.state:{};n&&(r||s?i.replace(e.fullPath,W({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),N()}let D;function ae(){D||=i.listen((e,t,n)=>{if(!L.listening)return;let r=_(e),a=b(r,L.currentRoute.value);if(a){x(W(a,{replace:!0,force:!0}),r).catch(G);return}l=r;let o=c.value;Y&&Nt(jt(o.fullPath,n.delta),kt()),re(r,o).catch(e=>J(e,12)?e:J(e,2)?(x(W(v(e.to),{force:!0}),r).then(e=>{J(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(G),Promise.reject()):(n.delta&&i.go(-n.delta,!1),j(e,r,o))).then(e=>{e||=ie(r,o,!1),e&&(n.delta&&!J(e,8)?i.go(-n.delta,!1):n.type===`pop`&&J(e,20)&&i.go(-1,!1)),T(r,o,e)}).catch(G)})}let O=Q(),k=Q(),A;function j(e,t,n){N(e);let r=k.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function M(){return A&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{O.add([e,t])})}function N(e){return A||(A=!e,ae(),O.list().forEach(([t,n])=>e?n(e):t()),O.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!Y||!a)return Promise.resolve();let o=!r&&Pt(jt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ne().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&At(e)).catch(e=>t===c.value&&j(e,t,n))}let P=e=>i.go(e),F,I=new Set,L={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:y,replace:te,go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:k.add,isReady:M,install(e){e.component(`RouterLink`,Sn),e.component(`RouterView`,kn),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>E(c)}),Y&&!F&&c.value===Z&&(F=!0,y(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ue,L),e.provide(We,oe(t)),e.provide(Ge,c);let n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(l=Z,D&&D(),D=null,c.value=Z,F=!1,A=!1),n()}}};function R(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return L}g({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)r(n,t.value,{target:e});else{let[i,a]=t.value;r(n,i,{target:e,...a})}}});var jn=g({mounted(e,t){typeof t.value==`function`?_(e,t.value,{modifiers:t.modifiers}):_(e,...t.value)}});g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value,{height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=a(e,r);P([i,o,s,c,l,u,d,f],()=>n({height:i,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var Mn=g({mounted(t,n){let r=n.value;if(typeof r==`function`)P(e(t),e=>r(e));else{let[n,i]=r;P(e(t,i),e=>n(e))}}}),Nn=l?window:void 0;l&&window.document,l&&window.navigator,l&&window.location;function Pn(e){let t=ae(e);return t?.$el??t}function Fn(){let e=w(!1),t=ie();return t&&A(()=>{e.value=!0},t),e}function In(e){let t=Fn();return O(()=>(t.value,!!e()))}function Ln(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`MutationObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=u(ae(e)).map(Pn).filter(m);return new Set(t)}),e=>{c(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),d=()=>a?.takeRecords(),f=()=>{l(),c()};return s(f),{isSupported:o,stop:f,takeRecords:d}}function Rn(e,t,n={}){let{window:r=Nn,...i}=n,a,o=In(()=>r&&`ResizeObserver`in r),c=()=>{a&&=(a.disconnect(),void 0)},l=P(O(()=>{let t=ae(e);return Array.isArray(t)?t.map(e=>Pn(e)):[Pn(t)]}),e=>{if(c(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),u=()=>{c(),l()};return s(u),{isSupported:o,stop:u}}function zn(e,t={}){let{observeMutation:n=!1,onUpdated:r,window:i=Nn}=t,a=w(!1),o=w(!1);function s(e){a.value=e.scrollWidth>e.offsetWidth,o.value=e.scrollHeight>e.offsetHeight}let c=r,l=O(()=>{let t=Pn(e);if(!(!t||t instanceof SVGElement))return t}),u=()=>{let e=l.value;return!e||e instanceof SVGElement?[]:[e,...Array.from(e.children).filter(e=>e instanceof HTMLElement)]};if(Rn(u,(e,t)=>{let n=l.value;n&&s(n),c?.(e,t)},{window:i}),n){let e=r;Ln(u,(t,n)=>{let r=l.value;r&&s(r),e?.(t,n)},{window:i,...typeof n==`object`?n:{childList:!0,subtree:!0,characterData:!0}})}return{isXOverflowed:I(a),isYOverflowed:I(o),stop,update:()=>{let e=l.value;e&&i&&s(e)}}}g({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value]:t.value,i=zn(e,r),{isXOverflowed:a,isYOverflowed:o}=i;P([a,o],()=>n(i),{immediate:!0})}}),g({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:a}=i(e,...typeof t.value==`function`?[]:t.value.slice(1));P([r,a],([e,t])=>n({width:e,height:t}),{immediate:!0})}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value;P(o(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=o(e,r);P(t.isVisible,()=>n(t),{immediate:!0})}else P(o(e,r),e=>n(e),{immediate:!0})}}}),g({mounted(e,t){typeof t.value==`function`?h(e,t.value):h(e,...t.value)}});var Bn=g({mounted(e,n){typeof n.value==`function`?t(e,n.value):t(e,...n.value)}});g({mounted(e,t){let[r,i]=typeof t.value==`function`?[t.value,{}]:t.value;P(f(N(n(e,i)),`stop`),e=>r(e))}}),g({mounted(e,t){typeof t.value==`function`?p(e,t.value):p(e,...t.value)}}),g({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=d(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=d(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function Vn(){let e=!1,t=w(!1);return g((n,r)=>{if(t.value=r.value,e)return;e=!0;let i=c(n,r.value);P(t,e=>i.value=e)})}Vn();export{Zt as a,Ht as c,Se as d,Pe as f,An as i,qe as l,Bn as n,Xt as o,Fe as p,jn as r,Vt as s,Mn as t,Ke as u};
@@ -1,4 +1,4 @@
1
- import{$t as e,A as t,An as n,At as r,Bn as i,Bt as a,Cn as o,D as s,Dn as c,Dt as l,En as u,Et as d,Fn as f,Ft as p,Gt as m,Hn as h,Ht as g,In as _,It as v,Jt as y,Kt as b,Ln as ee,Lt as te,M as ne,Mn as re,Mt as x,N as ie,Nn as S,Nt as C,O as ae,On as oe,Ot as se,P as ce,Pn as le,Pt as ue,Qt as de,Rn as fe,Rt as pe,Sn as me,Tn as he,Tt as ge,Ut as _e,Vn as ve,Vt as ye,Wt as be,Xt as xe,Yt as Se,Zt as Ce,_n as we,an as Te,bn as w,cn as Ee,dn as De,en as Oe,fn as ke,gn as Ae,hn as je,in as T,j as Me,jn as Ne,jt as Pe,k as Fe,kn as Ie,kt as E,ln as Le,mn as Re,nn as D,on as O,pn as ze,qt as Be,rn as Ve,sn as He,tn as Ue,un as We,vn as Ge,wn as Ke,xn as qe,yn as Je,zn as Ye,zt as Xe}from"./vendor-cameraui-BqkrW4Bb.js";import{$t as Ze,Bn as Qe,Fn as k,In as A,Ln as j,Nn as M,Qt as $e,Rn as N,Xn as P,Zn as F,Zt as et,_n as tt,_r as I,an as L,bn as nt,br as R,cn as z,cr as rt,en as B,fn as V,in as it,ir as at,on as H,or as ot,pn as U,qn as st,qt as W,sn as G,un as K,vr as q,wn as J,yr as ct,zn as Y}from"./vendor-CSg6_Jfu.js";var lt={name:`EyeIcon`,extends:x};function ut(e){return mt(e)||pt(e)||ft(e)||dt()}function dt(){throw TypeError(`Invalid attempt to spread non-iterable instance.
1
+ import{$t as e,A as t,An as n,At as r,Bn as i,Bt as a,Cn as o,D as s,Dn as c,Dt as l,En as u,Et as d,Fn as f,Ft as p,Gt as m,Hn as h,Ht as g,In as _,It as v,Jt as y,Kt as b,Ln as ee,Lt as te,M as ne,Mn as re,Mt as x,N as ie,Nn as S,Nt as C,O as ae,On as oe,Ot as se,P as ce,Pn as le,Pt as ue,Qt as de,Rn as fe,Rt as pe,Sn as me,Tn as he,Tt as ge,Ut as _e,Vn as ve,Vt as ye,Wt as be,Xt as xe,Yt as Se,Zt as Ce,_n as we,an as Te,bn as w,cn as Ee,dn as De,en as Oe,fn as ke,gn as Ae,hn as je,in as T,j as Me,jn as Ne,jt as Pe,k as Fe,kn as Ie,kt as E,ln as Le,mn as Re,nn as D,on as O,pn as ze,qt as Be,rn as Ve,sn as He,tn as Ue,un as We,vn as Ge,wn as Ke,xn as qe,yn as Je,zn as Ye,zt as Xe}from"./vendor-cameraui-Cgb5z6NJ.js";import{$t as Ze,Bn as Qe,Fn as k,In as A,Ln as j,Nn as M,Qt as $e,Rn as N,Xn as P,Zn as F,Zt as et,_n as tt,_r as I,an as L,bn as nt,br as R,cn as z,cr as rt,en as B,fn as V,in as it,ir as at,on as H,or as ot,pn as U,qn as st,qt as W,sn as G,un as K,vr as q,wn as J,yr as ct,zn as Y}from"./vendor-CSg6_Jfu.js";var lt={name:`EyeIcon`,extends:x};function ut(e){return mt(e)||pt(e)||ft(e)||dt()}function dt(){throw TypeError(`Invalid attempt to spread non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ft(e,t){if(e){if(typeof e==`string`)return ht(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ht(e,t):void 0}}function pt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function mt(e){if(Array.isArray(e))return ht(e)}function ht(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function gt(e,t,n,r,i,a){return M(),z(`svg`,J({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),ut(t[0]||=[L(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M0.0535499 7.25213C0.208567 7.59162 2.40413 12.4 7 12.4C11.5959 12.4 13.7914 7.59162 13.9465 7.25213C13.9487 7.2471 13.9506 7.24304 13.952 7.24001C13.9837 7.16396 14 7.08239 14 7.00001C14 6.91762 13.9837 6.83605 13.952 6.76001C13.9506 6.75697 13.9487 6.75292 13.9465 6.74788C13.7914 6.4084 11.5959 1.60001 7 1.60001C2.40413 1.60001 0.208567 6.40839 0.0535499 6.74788C0.0512519 6.75292 0.0494023 6.75697 0.048 6.76001C0.0163137 6.83605 0 6.91762 0 7.00001C0 7.08239 0.0163137 7.16396 0.048 7.24001C0.0494023 7.24304 0.0512519 7.2471 0.0535499 7.25213ZM7 11.2C3.664 11.2 1.736 7.92001 1.264 7.00001C1.736 6.08001 3.664 2.80001 7 2.80001C10.336 2.80001 12.264 6.08001 12.736 7.00001C12.264 7.92001 10.336 11.2 7 11.2ZM5.55551 9.16182C5.98308 9.44751 6.48576 9.6 7 9.6C7.68891 9.59789 8.349 9.32328 8.83614 8.83614C9.32328 8.349 9.59789 7.68891 9.59999 7C9.59999 6.48576 9.44751 5.98308 9.16182 5.55551C8.87612 5.12794 8.47006 4.7947 7.99497 4.59791C7.51988 4.40112 6.99711 4.34963 6.49276 4.44995C5.98841 4.55027 5.52513 4.7979 5.16152 5.16152C4.7979 5.52513 4.55027 5.98841 4.44995 6.49276C4.34963 6.99711 4.40112 7.51988 4.59791 7.99497C4.7947 8.47006 5.12794 8.87612 5.55551 9.16182ZM6.2222 5.83594C6.45243 5.6821 6.7231 5.6 7 5.6C7.37065 5.6021 7.72553 5.75027 7.98762 6.01237C8.24972 6.27446 8.39789 6.62934 8.4 7C8.4 7.27689 8.31789 7.54756 8.16405 7.77779C8.01022 8.00802 7.79157 8.18746 7.53575 8.29343C7.27994 8.39939 6.99844 8.42711 6.72687 8.37309C6.4553 8.31908 6.20584 8.18574 6.01005 7.98994C5.81425 7.79415 5.68091 7.54469 5.6269 7.27312C5.57288 7.00155 5.6006 6.72006 5.70656 6.46424C5.81253 6.20842 5.99197 5.98977 6.2222 5.83594Z`,fill:`currentColor`},null,-1)]),16)}lt.render=gt;var _t={name:`RefreshIcon`,extends:x};function vt(e){return St(e)||xt(e)||bt(e)||yt()}function yt(){throw TypeError(`Invalid attempt to spread non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bt(e,t){if(e){if(typeof e==`string`)return Ct(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ct(e,t):void 0}}function xt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function St(e){if(Array.isArray(e))return Ct(e)}function Ct(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function wt(e,t,n,r,i,a){return M(),z(`svg`,J({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),vt(t[0]||=[L(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M6.77051 5.96336C6.84324 5.99355 6.92127 6.00891 7.00002 6.00854C7.07877 6.00891 7.1568 5.99355 7.22953 5.96336C7.30226 5.93317 7.36823 5.88876 7.42357 5.83273L9.82101 3.43529C9.93325 3.32291 9.99629 3.17058 9.99629 3.01175C9.99629 2.85292 9.93325 2.70058 9.82101 2.5882L7.42357 0.190763C7.3687 0.131876 7.30253 0.0846451 7.22901 0.0518865C7.15549 0.019128 7.07612 0.00151319 6.99564 9.32772e-05C6.91517 -0.00132663 6.83523 0.0134773 6.7606 0.0436218C6.68597 0.0737664 6.61817 0.118634 6.56126 0.175548C6.50435 0.232462 6.45948 0.300257 6.42933 0.374888C6.39919 0.449519 6.38439 0.529456 6.38581 0.609933C6.38722 0.690409 6.40484 0.769775 6.4376 0.843296C6.47036 0.916817 6.51759 0.982986 6.57647 1.03786L7.95103 2.41241H6.99998C5.46337 2.41241 3.98969 3.02283 2.90314 4.10938C1.81659 5.19593 1.20618 6.66961 1.20618 8.20622C1.20618 9.74283 1.81659 11.2165 2.90314 12.3031C3.98969 13.3896 5.46337 14 6.99998 14C8.53595 13.9979 10.0084 13.3868 11.0945 12.3007C12.1806 11.2146 12.7917 9.74218 12.7938 8.20622C12.7938 8.04726 12.7306 7.89481 12.6182 7.78241C12.5058 7.67001 12.3534 7.60686 12.1944 7.60686C12.0355 7.60686 11.883 7.67001 11.7706 7.78241C11.6582 7.89481 11.5951 8.04726 11.5951 8.20622C11.5951 9.11504 11.3256 10.0035 10.8207 10.7591C10.3157 11.5148 9.59809 12.1037 8.75845 12.4515C7.9188 12.7993 6.99489 12.8903 6.10353 12.713C5.21217 12.5357 4.3934 12.0981 3.75077 11.4554C3.10813 10.8128 2.67049 9.99404 2.49319 9.10268C2.31589 8.21132 2.40688 7.2874 2.75468 6.44776C3.10247 5.60811 3.69143 4.89046 4.44709 4.38554C5.20275 3.88063 6.09116 3.61113 6.99998 3.61113H7.95098L6.57647 4.98564C6.46423 5.09802 6.40119 5.25035 6.40119 5.40918C6.40119 5.56801 6.46423 5.72035 6.57647 5.83273C6.63181 5.88876 6.69778 5.93317 6.77051 5.96336Z`,fill:`currentColor`},null,-1)]),16)}_t.render=wt;var Tt={name:`SearchMinusIcon`,extends:x};function Et(e){return At(e)||kt(e)||Ot(e)||Dt()}function Dt(){throw TypeError(`Invalid attempt to spread non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ot(e,t){if(e){if(typeof e==`string`)return jt(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jt(e,t):void 0}}function kt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function At(e){if(Array.isArray(e))return jt(e)}function jt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Mt(e,t,n,r,i,a){return M(),z(`svg`,J({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),Et(t[0]||=[L(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M6.0208 12.0411C4.83005 12.0411 3.66604 11.688 2.67596 11.0265C1.68589 10.3649 0.914216 9.42464 0.458534 8.32452C0.00285271 7.22441 -0.116374 6.01388 0.11593 4.84601C0.348235 3.67813 0.921637 2.60537 1.76363 1.76338C2.60562 0.921393 3.67838 0.34799 4.84625 0.115686C6.01412 -0.116618 7.22466 0.00260857 8.32477 0.45829C9.42488 0.913972 10.3652 1.68564 11.0267 2.67572C11.6883 3.66579 12.0414 4.8298 12.0414 6.02056C12.0395 7.41563 11.5542 8.76029 10.6783 9.8305L13.8244 12.9765C13.9367 13.089 13.9997 13.2414 13.9997 13.4003C13.9997 13.5592 13.9367 13.7116 13.8244 13.8241C13.769 13.8801 13.703 13.9245 13.6302 13.9548C13.5575 13.985 13.4794 14.0003 13.4006 14C13.3218 14.0003 13.2437 13.985 13.171 13.9548C13.0982 13.9245 13.0322 13.8801 12.9768 13.8241L9.83082 10.678C8.76059 11.5539 7.4159 12.0393 6.0208 12.0411ZM6.0208 1.20731C5.07199 1.20731 4.14449 1.48867 3.35559 2.0158C2.56669 2.54292 1.95181 3.29215 1.58872 4.16874C1.22562 5.04532 1.13062 6.00989 1.31572 6.94046C1.50083 7.87104 1.95772 8.72583 2.62863 9.39674C3.29954 10.0676 4.15433 10.5245 5.0849 10.7096C6.01548 10.8947 6.98005 10.7997 7.85663 10.4367C8.73322 10.0736 9.48244 9.45868 10.0096 8.66978C10.5367 7.88088 10.8181 6.95337 10.8181 6.00457C10.8181 4.73226 10.3126 3.51206 9.41297 2.6124C8.51331 1.71274 7.29311 1.20731 6.0208 1.20731ZM4.00591 6.60422H8.00362C8.16266 6.60422 8.31518 6.54104 8.42764 6.42859C8.5401 6.31613 8.60328 6.1636 8.60328 6.00456C8.60328 5.84553 8.5401 5.693 8.42764 5.58054C8.31518 5.46809 8.16266 5.40491 8.00362 5.40491H4.00591C3.84687 5.40491 3.69434 5.46809 3.58189 5.58054C3.46943 5.693 3.40625 5.84553 3.40625 6.00456C3.40625 6.1636 3.46943 6.31613 3.58189 6.42859C3.69434 6.54104 3.84687 6.60422 4.00591 6.60422Z`,fill:`currentColor`},null,-1)]),16)}Tt.render=Mt;var Nt={name:`SearchPlusIcon`,extends:x};function Pt(e){return Rt(e)||Lt(e)||It(e)||Ft()}function Ft(){throw TypeError(`Invalid attempt to spread non-iterable instance.