homebridge-unifi-protect 6.18.0 → 6.19.0

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 (108) hide show
  1. package/dist/devices/index.d.ts +11 -0
  2. package/dist/devices/index.js +16 -0
  3. package/dist/devices/index.js.map +1 -0
  4. package/dist/{protect-camera-package.js → devices/protect-camera-package.js} +2 -4
  5. package/dist/devices/protect-camera-package.js.map +1 -0
  6. package/dist/{protect-camera.d.ts → devices/protect-camera.d.ts} +2 -3
  7. package/dist/{protect-camera.js → devices/protect-camera.js} +11 -27
  8. package/dist/devices/protect-camera.js.map +1 -0
  9. package/dist/{protect-chime.d.ts → devices/protect-chime.d.ts} +1 -1
  10. package/dist/devices/protect-chime.js.map +1 -0
  11. package/dist/{protect-device.d.ts → devices/protect-device.d.ts} +5 -3
  12. package/dist/{protect-device.js → devices/protect-device.js} +21 -19
  13. package/dist/devices/protect-device.js.map +1 -0
  14. package/dist/{protect-doorbell.d.ts → devices/protect-doorbell.d.ts} +1 -1
  15. package/dist/{protect-doorbell.js → devices/protect-doorbell.js} +5 -5
  16. package/dist/devices/protect-doorbell.js.map +1 -0
  17. package/dist/{protect-light.d.ts → devices/protect-light.d.ts} +1 -1
  18. package/dist/{protect-light.js → devices/protect-light.js} +1 -1
  19. package/dist/devices/protect-light.js.map +1 -0
  20. package/dist/{protect-liveviews.d.ts → devices/protect-liveviews.d.ts} +1 -1
  21. package/dist/{protect-liveviews.js → devices/protect-liveviews.js} +1 -1
  22. package/dist/devices/protect-liveviews.js.map +1 -0
  23. package/dist/{protect-nvr-systeminfo.d.ts → devices/protect-nvr-systeminfo.d.ts} +1 -1
  24. package/dist/{protect-nvr-systeminfo.js → devices/protect-nvr-systeminfo.js} +1 -1
  25. package/dist/devices/protect-nvr-systeminfo.js.map +1 -0
  26. package/dist/{protect-securitysystem.d.ts → devices/protect-securitysystem.d.ts} +1 -1
  27. package/dist/{protect-securitysystem.js → devices/protect-securitysystem.js} +2 -2
  28. package/dist/devices/protect-securitysystem.js.map +1 -0
  29. package/dist/{protect-sensor.d.ts → devices/protect-sensor.d.ts} +1 -1
  30. package/dist/{protect-sensor.js → devices/protect-sensor.js} +8 -8
  31. package/dist/devices/protect-sensor.js.map +1 -0
  32. package/dist/{protect-viewer.d.ts → devices/protect-viewer.d.ts} +1 -1
  33. package/dist/{protect-viewer.js → devices/protect-viewer.js} +4 -5
  34. package/dist/devices/protect-viewer.js.map +1 -0
  35. package/dist/ffmpeg/index.d.ts +6 -0
  36. package/dist/ffmpeg/index.js +11 -0
  37. package/dist/ffmpeg/index.js.map +1 -0
  38. package/dist/{protect-ffmpeg-codecs.d.ts → ffmpeg/protect-ffmpeg-codecs.d.ts} +1 -1
  39. package/dist/ffmpeg/protect-ffmpeg-codecs.js.map +1 -0
  40. package/dist/{protect-ffmpeg-exec.d.ts → ffmpeg/protect-ffmpeg-exec.d.ts} +5 -2
  41. package/dist/{protect-ffmpeg-exec.js → ffmpeg/protect-ffmpeg-exec.js} +13 -1
  42. package/dist/ffmpeg/protect-ffmpeg-exec.js.map +1 -0
  43. package/dist/{protect-ffmpeg-options.d.ts → ffmpeg/protect-ffmpeg-options.d.ts} +1 -1
  44. package/dist/{protect-ffmpeg-options.js → ffmpeg/protect-ffmpeg-options.js} +1 -1
  45. package/dist/ffmpeg/protect-ffmpeg-options.js.map +1 -0
  46. package/dist/{protect-ffmpeg-record.d.ts → ffmpeg/protect-ffmpeg-record.d.ts} +1 -1
  47. package/dist/{protect-ffmpeg-record.js → ffmpeg/protect-ffmpeg-record.js} +7 -3
  48. package/dist/ffmpeg/protect-ffmpeg-record.js.map +1 -0
  49. package/dist/{protect-ffmpeg-stream.d.ts → ffmpeg/protect-ffmpeg-stream.d.ts} +1 -1
  50. package/dist/ffmpeg/protect-ffmpeg-stream.js.map +1 -0
  51. package/dist/{protect-ffmpeg.d.ts → ffmpeg/protect-ffmpeg.d.ts} +3 -3
  52. package/dist/ffmpeg/protect-ffmpeg.js.map +1 -0
  53. package/dist/{protect-nvr-events.d.ts → protect-events.d.ts} +3 -4
  54. package/dist/{protect-nvr-events.js → protect-events.js} +4 -4
  55. package/dist/protect-events.js.map +1 -0
  56. package/dist/protect-mqtt.d.ts +3 -2
  57. package/dist/protect-mqtt.js +16 -6
  58. package/dist/protect-mqtt.js.map +1 -1
  59. package/dist/protect-nvr.d.ts +4 -8
  60. package/dist/protect-nvr.js +79 -129
  61. package/dist/protect-nvr.js.map +1 -1
  62. package/dist/protect-options.js +1 -0
  63. package/dist/protect-options.js.map +1 -1
  64. package/dist/protect-platform.d.ts +1 -1
  65. package/dist/protect-platform.js +1 -1
  66. package/dist/protect-platform.js.map +1 -1
  67. package/dist/protect-record.d.ts +4 -2
  68. package/dist/protect-record.js +31 -28
  69. package/dist/protect-record.js.map +1 -1
  70. package/dist/protect-snapshot.d.ts +21 -0
  71. package/dist/protect-snapshot.js +192 -0
  72. package/dist/protect-snapshot.js.map +1 -0
  73. package/dist/protect-stream.d.ts +3 -7
  74. package/dist/protect-stream.js +7 -86
  75. package/dist/protect-stream.js.map +1 -1
  76. package/dist/protect-timeshift.d.ts +3 -2
  77. package/dist/protect-timeshift.js +31 -30
  78. package/dist/protect-timeshift.js.map +1 -1
  79. package/dist/protect-types.d.ts +2 -6
  80. package/dist/protect-types.js +2 -0
  81. package/dist/protect-types.js.map +1 -1
  82. package/dist/settings.d.ts +2 -6
  83. package/dist/settings.js +4 -12
  84. package/dist/settings.js.map +1 -1
  85. package/package.json +11 -11
  86. package/dist/protect-camera-package.js.map +0 -1
  87. package/dist/protect-camera.js.map +0 -1
  88. package/dist/protect-chime.js.map +0 -1
  89. package/dist/protect-device.js.map +0 -1
  90. package/dist/protect-doorbell.js.map +0 -1
  91. package/dist/protect-ffmpeg-codecs.js.map +0 -1
  92. package/dist/protect-ffmpeg-exec.js.map +0 -1
  93. package/dist/protect-ffmpeg-options.js.map +0 -1
  94. package/dist/protect-ffmpeg-record.js.map +0 -1
  95. package/dist/protect-ffmpeg-stream.js.map +0 -1
  96. package/dist/protect-ffmpeg.js.map +0 -1
  97. package/dist/protect-light.js.map +0 -1
  98. package/dist/protect-liveviews.js.map +0 -1
  99. package/dist/protect-nvr-events.js.map +0 -1
  100. package/dist/protect-nvr-systeminfo.js.map +0 -1
  101. package/dist/protect-securitysystem.js.map +0 -1
  102. package/dist/protect-sensor.js.map +0 -1
  103. package/dist/protect-viewer.js.map +0 -1
  104. /package/dist/{protect-camera-package.d.ts → devices/protect-camera-package.d.ts} +0 -0
  105. /package/dist/{protect-chime.js → devices/protect-chime.js} +0 -0
  106. /package/dist/{protect-ffmpeg-codecs.js → ffmpeg/protect-ffmpeg-codecs.js} +0 -0
  107. /package/dist/{protect-ffmpeg-stream.js → ffmpeg/protect-ffmpeg-stream.js} +0 -0
  108. /package/dist/{protect-ffmpeg.js → ffmpeg/protect-ffmpeg.js} +0 -0
@@ -1,16 +1,10 @@
1
1
  import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_CONTROLLER_REFRESH_INTERVAL, PROTECT_CONTROLLER_RETRY_INTERVAL, PROTECT_M3U_PLAYLIST_PORT } from "./settings.js";
2
2
  import { ProtectApi } from "unifi-protect";
3
+ import { ProtectCamera, ProtectChime, ProtectDoorbell, ProtectLight, ProtectLiveviews, ProtectNvrSystemInfo, ProtectSensor, ProtectViewer } from "./devices/index.js";
4
+ import { ProtectDeviceCategories } from "./protect-types.js";
3
5
  import { getOptionFloat, getOptionNumber, getOptionValue, isOptionEnabled } from "./protect-options.js";
4
- import { ProtectCamera } from "./protect-camera.js";
5
- import { ProtectChime } from "./protect-chime.js";
6
- import { ProtectDoorbell } from "./protect-doorbell.js";
7
- import { ProtectLight } from "./protect-light.js";
8
- import { ProtectLiveviews } from "./protect-liveviews.js";
6
+ import { ProtectEvents } from "./protect-events.js";
9
7
  import { ProtectMqtt } from "./protect-mqtt.js";
10
- import { ProtectNvrEvents } from "./protect-nvr-events.js";
11
- import { ProtectNvrSystemInfo } from "./protect-nvr-systeminfo.js";
12
- import { ProtectSensor } from "./protect-sensor.js";
13
- import { ProtectViewer } from "./protect-viewer.js";
14
8
  import http from "node:http";
15
9
  import util from "node:util";
16
10
  export class ProtectNvr {
@@ -19,7 +13,6 @@ export class ProtectNvr {
19
13
  deviceRemovalQueue;
20
14
  configuredDevices;
21
15
  events;
22
- isEnabled;
23
16
  hap;
24
17
  liveviews;
25
18
  logApiErrors;
@@ -27,7 +20,6 @@ export class ProtectNvr {
27
20
  mqtt;
28
21
  name;
29
22
  nvrHksvErrors;
30
- nvrOptions;
31
23
  platform;
32
24
  systemInfo;
33
25
  ufp;
@@ -38,14 +30,12 @@ export class ProtectNvr {
38
30
  this.config = nvrOptions;
39
31
  this.configuredDevices = {};
40
32
  this.deviceRemovalQueue = {};
41
- this.isEnabled = false;
42
33
  this.hap = this.api.hap;
43
34
  this.liveviews = null;
44
35
  this.logApiErrors = true;
45
36
  this.mqtt = null;
46
37
  this.name = nvrOptions.name ?? nvrOptions.address;
47
38
  this.nvrHksvErrors = 0;
48
- this.nvrOptions = nvrOptions;
49
39
  this.platform = platform;
50
40
  this.systemInfo = null;
51
41
  this.ufp = {};
@@ -98,7 +88,7 @@ export class ProtectNvr {
98
88
  this.ufpApi = new ProtectApi(ufpLog);
99
89
  // Attempt to login to the Protect controller, retrying at reasonable intervals. This accounts for cases where the Protect controller or the network connection
100
90
  // may not be fully available when we startup.
101
- await this.retry(() => this.ufpApi.login(this.nvrOptions.address, this.nvrOptions.username, this.nvrOptions.password), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
91
+ await this.retry(() => this.ufpApi.login(this.config.address, this.config.username, this.config.password), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
102
92
  // Now, let's get the bootstrap configuration from the Protect controller.
103
93
  await this.bootstrapNvr();
104
94
  // Save the bootstrap to ease our device initialization below.
@@ -106,13 +96,11 @@ export class ProtectNvr {
106
96
  // Set our NVR configuration from the controller.
107
97
  this.ufp = bootstrap.nvr;
108
98
  // Assign our name if the user hasn't explicitly specified a preference.
109
- this.name = this.nvrOptions.name ?? (this.ufp.name ?? this.ufp.marketName);
99
+ this.name = this.config.name ?? (this.ufp.name ?? this.ufp.marketName);
110
100
  // We successfully logged in.
111
101
  this.log.info("Connected to %s (UniFi Protect %s running on UniFi OS %s).", this.config.address, this.ufp.version, this.ufp.firmwareVersion);
112
- // Mark this NVR as enabled or disabled.
113
- this.isEnabled = this.hasFeature("Device");
114
- // If the Protect controller is disabled, we're done.
115
- if (!this.isEnabled) {
102
+ // Now that we know the NVR configuration, check to see if this Protect controller is disabled.
103
+ if (!this.hasFeature("Device")) {
116
104
  this.ufpApi.logout();
117
105
  this.log.info("Disabling this UniFi Protect controller in HomeKit.");
118
106
  // Let's sleep for thirty seconds to give all the accessories a chance to load before disabling everything. Homebridge doesn't have a good mechanism to notify us
@@ -123,8 +111,8 @@ export class ProtectNvr {
123
111
  this.removeHomeKitAccessories(this.platform.accessories.filter(x => x.context.nvr === this.ufp.mac));
124
112
  return;
125
113
  }
126
- // Initialize our UniFi Protect realtime event handler.
127
- this.events = new ProtectNvrEvents(this);
114
+ // Initialize our UniFi Protect event handler.
115
+ this.events = new ProtectEvents(this);
128
116
  // Configure any NVR-specific settings.
129
117
  void this.configureNvr();
130
118
  // Initialize our liveviews.
@@ -157,15 +145,20 @@ export class ProtectNvr {
157
145
  };
158
146
  // Initialize our Protect controller device sync.
159
147
  syncUfpHomeKit();
148
+ // Bootstrap refresh loop.
149
+ const bootstrapRefresh = () => {
150
+ // Sleep until it's time to bootstrap again.
151
+ setTimeout(() => void this.bootstrapNvr(), PROTECT_CONTROLLER_REFRESH_INTERVAL * 1000);
152
+ };
160
153
  // Let's set a listener to wait for bootstrap events to occur so we can keep ourselves in sync with the Protect controller.
161
154
  this.ufpApi.on("bootstrap", () => {
162
155
  // Sync our device view.
163
156
  syncUfpHomeKit();
164
- // Sleep until it's time to bootstrap again.
165
- setTimeout(() => void this.bootstrapNvr(), PROTECT_CONTROLLER_REFRESH_INTERVAL * 1000);
157
+ // Refresh our bootstrap.
158
+ bootstrapRefresh();
166
159
  });
167
- // Fire off the first round of regular bootstrap updates to ensure we stay in sync.
168
- setTimeout(() => void this.bootstrapNvr(), PROTECT_CONTROLLER_REFRESH_INTERVAL * 1000);
160
+ // Kickoff our first round of bootstrap refreshes to ensure we stay in sync.
161
+ bootstrapRefresh();
169
162
  }
170
163
  // Configure NVR-specific settings.
171
164
  async configureNvr() {
@@ -181,11 +174,11 @@ export class ProtectNvr {
181
174
  // Configure a default doorbell message on the Protect doorbell.
182
175
  async configureDefaultDoorbellMessage() {
183
176
  // If we haven't configured a default doorbell message or we aren't an admin user, don't attempt to set the default doorbell message.
184
- if (!this.nvrOptions.defaultDoorbellMessage || !this.ufpApi.isAdminUser) {
177
+ if (!this.config.defaultDoorbellMessage || !this.ufpApi.isAdminUser) {
185
178
  return false;
186
179
  }
187
180
  // Set the default message.
188
- const newUfp = await this.ufpApi.updateDevice(this.ufp, { doorbellSettings: { defaultMessageText: this.nvrOptions.defaultDoorbellMessage } });
181
+ const newUfp = await this.ufpApi.updateDevice(this.ufp, { doorbellSettings: { defaultMessageText: this.config.defaultDoorbellMessage } });
189
182
  if (!newUfp) {
190
183
  this.log.error("Unable to set the default doorbell message. Please ensure this username has the Administrator role in UniFi Protect.");
191
184
  return false;
@@ -193,7 +186,7 @@ export class ProtectNvr {
193
186
  // Update our internal view of the NVR configuration.
194
187
  this.ufp = newUfp;
195
188
  // Inform the user.
196
- this.log.info("Default doorbell message set to: %s.", this.nvrOptions.defaultDoorbellMessage);
189
+ this.log.info("Default doorbell message set to: %s.", this.config.defaultDoorbellMessage);
197
190
  return true;
198
191
  }
199
192
  // Create instances of Protect device types in our plugin.
@@ -233,18 +226,10 @@ export class ProtectNvr {
233
226
  return true;
234
227
  break;
235
228
  default:
236
- this.log.error("Unknown device class `%s` detected for ``%s``", device.modelKey, device.name ?? device.marketName);
229
+ this.log.error("Unknown device class %s detected for %s.", device.modelKey, device.name ?? device.marketName);
237
230
  return false;
238
231
  }
239
232
  }
240
- // Discover UniFi Protect devices that may have been added to the NVR since we last checked.
241
- discoverDevices(devices) {
242
- // Iterate through the list of cameras that Protect has returned and sync them with what we show HomeKit.
243
- for (const device of devices) {
244
- this.addHomeKitDevice(device);
245
- }
246
- return true;
247
- }
248
233
  // Add a newly detected Protect device to HomeKit.
249
234
  addHomeKitDevice(device) {
250
235
  // If we have no MAC address, name, or this camera isn't being managed by this Protect controller, we're done.
@@ -252,26 +237,18 @@ export class ProtectNvr {
252
237
  return null;
253
238
  }
254
239
  // We only support certain devices.
255
- switch (device.modelKey) {
256
- case "camera":
257
- case "chime":
258
- case "light":
259
- case "sensor":
260
- case "viewer":
261
- break;
262
- default:
263
- // If we've already informed the user about this one, we're done.
264
- if (this.unsupportedDevices[device.mac]) {
265
- return null;
266
- }
267
- // Notify the user we see this device, but we aren't adding it to HomeKit.
268
- this.unsupportedDevices[device.mac] = true;
269
- this.log.info("UniFi Protect device type '%s' is not currently supported, ignoring: %s.", device.modelKey, this.ufpApi.getDeviceName(device));
240
+ if (!ProtectDeviceCategories.includes(device.modelKey)) {
241
+ // If we've already informed the user about this one, we're done.
242
+ if (this.unsupportedDevices[device.mac]) {
270
243
  return null;
271
- break;
244
+ }
245
+ // Notify the user we see this device, but we aren't adding it to HomeKit.
246
+ this.unsupportedDevices[device.mac] = true;
247
+ this.log.info("UniFi Protect device type %s is not currently supported, ignoring: %s.", device.modelKey, this.ufpApi.getDeviceName(device));
248
+ return null;
272
249
  }
273
- // Exclude or include certain devices based on configuration parameters.
274
- if (!this.hasFeature("Device", true, device)) {
250
+ // Enable or disable certain devices based on configuration parameters.
251
+ if (!this.hasFeature("Device", device)) {
275
252
  return null;
276
253
  }
277
254
  // Generate this device's unique identifier.
@@ -280,9 +257,14 @@ export class ProtectNvr {
280
257
  // See if we already know about this accessory or if it's truly new. If it is new, add it to HomeKit.
281
258
  if ((accessory = this.platform.accessories.find(x => x.UUID === uuid)) === undefined) {
282
259
  accessory = new this.api.platformAccessory(device.name ?? device.marketName, uuid);
283
- this.log.info("%s: Adding %s to HomeKit.", this.ufpApi.getFullName(device), device.modelKey);
260
+ this.log.info("%s: Adding %s to HomeKit%s.", this.ufpApi.getFullName(device), device.modelKey, this.hasFeature("Device.Standalone", device) ? " as a standalone device" : "");
284
261
  // Register this accessory with homebridge and add it to the accessory array so we can track it.
285
- this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
262
+ if (this.hasFeature("Device.Standalone", device)) {
263
+ this.api.publishExternalAccessories(PLUGIN_NAME, [accessory]);
264
+ }
265
+ else {
266
+ this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
267
+ }
286
268
  this.platform.accessories.push(accessory);
287
269
  this.api.updatePlatformAccessories(this.platform.accessories);
288
270
  }
@@ -301,21 +283,9 @@ export class ProtectNvr {
301
283
  if (!this.ufpApi.bootstrap) {
302
284
  return false;
303
285
  }
304
- if (this.ufpApi.bootstrap.cameras && !this.discoverDevices(this.ufpApi.bootstrap.cameras)) {
305
- this.log.error("Error discovering camera devices.");
306
- }
307
- if (this.ufpApi.bootstrap.chimes && !this.discoverDevices(this.ufpApi.bootstrap.chimes)) {
308
- this.log.error("Error discovering chime devices.");
309
- }
310
- if (this.ufpApi.bootstrap.lights && !this.discoverDevices(this.ufpApi.bootstrap.lights)) {
311
- this.log.error("Error discovering light devices.");
312
- }
313
- if (this.ufpApi.bootstrap.sensors && !this.discoverDevices(this.ufpApi.bootstrap.sensors)) {
314
- this.log.error("Error discovering sensor devices.");
315
- }
316
- if (this.ufpApi.bootstrap.viewers && !this.discoverDevices(this.ufpApi.bootstrap.viewers)) {
317
- this.log.error("Error discovering viewer devices.");
318
- }
286
+ // Iterate through the list of device categories we know about and add them to HomeKit.
287
+ ProtectDeviceCategories.map(category => this.ufpApi.bootstrap && this.ufpApi.bootstrap[category + "s"] &&
288
+ (this.ufpApi.bootstrap[category + "s"] ?? []).map(device => this.addHomeKitDevice(device)));
319
289
  // Remove Protect devices that are no longer found on this Protect NVR, but we still have in HomeKit.
320
290
  this.cleanupDevices();
321
291
  // Configure our liveview-based accessories.
@@ -330,7 +300,8 @@ export class ProtectNvr {
330
300
  }
331
301
  // Cleanup removed Protect devices from HomeKit.
332
302
  cleanupDevices() {
333
- for (const accessory of this.platform.accessories) {
303
+ const delayInterval = this.getFeatureNumber("Nvr.DelayDeviceRemoval");
304
+ for (const accessory of this.platform.accessories.filter(x => x.context.nvr === this.ufp.mac)) {
334
305
  const protectDevice = this.configuredDevices[accessory.UUID];
335
306
  // Check to see if we have an orphan - where we haven't configured this in the plugin, but the accessory still exists in HomeKit. One example of when this might
336
307
  // happen is when Homebridge might be shutdown and a camera is then removed. When we start back up, the camera still exists in HomeKit but not in Protect. We
@@ -340,8 +311,8 @@ export class ProtectNvr {
340
311
  if (("nvr" in accessory.context) && (accessory.context.nvr !== this.ufp.mac)) {
341
312
  continue;
342
313
  }
343
- // We only store MAC addresses on devices that exist on the Protect controller. Any other accessories created are ones we created ourselves
344
- // and are managed elsewhere.
314
+ // We only store MAC addresses on devices that exist on the Protect controller. Any other accessories created are ones we created ourselves and are managed
315
+ // elsewhere.
345
316
  if (!("mac" in accessory.context)) {
346
317
  // If it's not a package camera, we're done.
347
318
  if (!("packageCamera" in accessory.context)) {
@@ -357,7 +328,6 @@ export class ProtectNvr {
357
328
  }
358
329
  // For certain use cases, we may want to defer removal of a Protect device (e.g. in stacked NVR configurations) where Protect may lose track of devices for a
359
330
  // brief period of time. This prevents a potential back-and-forth where devices are removed momentarily only to be readded later.
360
- const delayInterval = this.getFeatureNumber("Nvr.DelayDeviceRemoval");
361
331
  if ((delayInterval !== undefined) && (delayInterval > 0)) {
362
332
  // Have we seen this device queued for removal previously? If not, let's add it to the queue and come back after our specified delay.
363
333
  if (!this.deviceRemovalQueue[accessory.UUID]) {
@@ -372,57 +342,29 @@ export class ProtectNvr {
372
342
  // Cleanup after ourselves.
373
343
  delete this.deviceRemovalQueue[accessory.UUID];
374
344
  }
375
- this.log.info("%s: Removing device from HomeKit.", accessory.displayName);
376
- // Unregister the accessory and delete it's remnants from HomeKit.
377
- this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
345
+ this.log.info("%s: Removing device from HomeKit.%s", accessory.displayName, accessory._associatedHAPAccessory.bridged ? "" : " You will need to manually delete the device in the Home app to complete the removal.");
346
+ // Unregister the accessory and delete it's remnants from HomeKit. We can only unregister bridged accessories - standalone acceossories are managed directly by
347
+ // users in the Home app.
348
+ if (accessory._associatedHAPAccessory.bridged) {
349
+ this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
350
+ }
378
351
  this.platform.accessories.splice(this.platform.accessories.indexOf(accessory), 1);
379
352
  this.api.updatePlatformAccessories(this.platform.accessories);
380
353
  continue;
381
354
  }
382
- // If we don't have the Protect bootstrap JSON available, we're done. We need to know what's on the Protect controller in order to determine what
383
- // to do with the accessories we know about.
355
+ // If we don't have the Protect bootstrap JSON available, we're done. We need to know what's on the Protect controller in order to determine what to do with the
356
+ // accessories we know about.
384
357
  if (!this.ufpApi.bootstrap) {
385
358
  continue;
386
359
  }
387
- // Check to see if the device still exists on the Protect controller and the user has not chosen to hide it.
388
- switch (protectDevice.ufp.modelKey) {
389
- case "camera":
390
- if (this.ufpApi.bootstrap.cameras.some((x) => x.mac === protectDevice.ufp.mac) && protectDevice.hasFeature("Device")) {
391
- // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
392
- delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
393
- continue;
394
- }
395
- break;
396
- case "chime":
397
- if (this.ufpApi.bootstrap.chimes.some((x) => x.mac === protectDevice.ufp.mac) && protectDevice.hasFeature("Device")) {
398
- // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
399
- delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
400
- continue;
401
- }
402
- break;
403
- case "light":
404
- if (this.ufpApi.bootstrap.lights.some((x) => x.mac === protectDevice.ufp.mac) && protectDevice.hasFeature("Device")) {
405
- // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
406
- delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
407
- continue;
408
- }
409
- break;
410
- case "sensor":
411
- if (this.ufpApi.bootstrap.sensors.some((x) => x.mac === protectDevice.ufp.mac) && protectDevice.hasFeature("Device")) {
412
- // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
413
- delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
414
- continue;
415
- }
416
- break;
417
- case "viewer":
418
- if (this.ufpApi.bootstrap.viewers.some((x) => x.mac === protectDevice.ufp.mac) && protectDevice.hasFeature("Device")) {
419
- // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
420
- delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
421
- continue;
422
- }
423
- break;
424
- default:
425
- break;
360
+ // Check to see if the device still exists on the Protect controller and the user has not chosen to hide it, or the user has chosen to make this a standalone
361
+ // accessory rather than a bridged one.
362
+ if (this.ufpApi.bootstrap[protectDevice.ufp.modelKey + "s"]?.some(x => x.mac === protectDevice.ufp.mac) &&
363
+ protectDevice.hints.enabled && ((accessory._associatedHAPAccessory.bridged && !protectDevice.hints.standalone) ||
364
+ (!accessory._associatedHAPAccessory.bridged && protectDevice.hints.standalone))) {
365
+ // In case we have previously queued a device for deletion, let's remove it from the queue since it's reappeared.
366
+ delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
367
+ continue;
426
368
  }
427
369
  // Process the device removal.
428
370
  this.removeHomeKitDevice(this.configuredDevices[accessory.UUID]);
@@ -454,8 +396,8 @@ export class ProtectNvr {
454
396
  if (("liveview" in protectDevice.accessory.context) || protectDevice.accessory.getService(this.hap.Service.SecuritySystem)) {
455
397
  return;
456
398
  }
457
- // For certain use cases, we may want to defer removal of a Protect device (e.g. in stacked NVR configurations) where Protect may lose track of devices for a
458
- // brief period of time. This prevents a potential back-and-forth where devices are removed momentarily only to be readded later.
399
+ // For certain use cases, we may want to defer removal of a Protect device (e.g. in stacked NVR configurations) where Protect may lose track of devices for a brief
400
+ // period of time. This prevents a potential back-and-forth where devices are removed momentarily only to be readded later.
459
401
  const delayInterval = this.getFeatureNumber("Nvr.DelayDeviceRemoval");
460
402
  if ((delayInterval !== undefined) && (delayInterval > 0)) {
461
403
  // Have we seen this device queued for removal previously? If not, let's add it to the queue and come back after our specified delay.
@@ -472,7 +414,9 @@ export class ProtectNvr {
472
414
  delete this.deviceRemovalQueue[protectDevice.accessory.UUID];
473
415
  }
474
416
  // Remove this device.
475
- this.log.info("%s: Removing %s from HomeKit.", protectDevice.ufp.name ? this.ufpApi.getDeviceName(protectDevice.ufp) : protectDevice.accessoryName, protectDevice.ufp.modelKey ? protectDevice.ufp.modelKey : "device");
417
+ this.log.info("%s: Removing %s from HomeKit.%s", protectDevice.ufp.name ? this.ufpApi.getDeviceName(protectDevice.ufp) : protectDevice.accessoryName, protectDevice.ufp.modelKey ? protectDevice.ufp.modelKey : "device", protectDevice.accessory._associatedHAPAccessory.bridged ? "" : " You will need to manually delete the device in the Home app to complete the removal.");
418
+ // Keep track of whether this was a standalone accessory or not to deal with the special case of a user transitioning between bridged and standalone devices.
419
+ const isStandalone = !protectDevice.accessory._associatedHAPAccessory.bridged;
476
420
  const deletingAccessories = [protectDevice.accessory];
477
421
  // Check to see if we're removing a camera device that has a package camera as well.
478
422
  if (protectDevice.ufp.modelKey === "camera") {
@@ -486,9 +430,13 @@ export class ProtectNvr {
486
430
  }
487
431
  // Cleanup our event handlers.
488
432
  protectDevice.cleanup();
489
- // Unregister the accessory and delete it's remnants from HomeKit and the plugin.
433
+ // Finally, remove it from our list of configured devices and HomeKit.
490
434
  delete this.configuredDevices[protectDevice.accessory.UUID];
491
435
  this.removeHomeKitAccessories(deletingAccessories);
436
+ // Add it back to HomeKit if we're really just transitioning between bridged and standalone devices.
437
+ if (protectDevice.hints.enabled && ((isStandalone && !protectDevice.hints.standalone) || (!isStandalone && protectDevice.hints.standalone))) {
438
+ this.addHomeKitDevice(protectDevice.ufp);
439
+ }
492
440
  }
493
441
  // Remove accessories from HomeKit and Homebridge.
494
442
  removeHomeKitAccessories(deletingAccessories) {
@@ -496,10 +444,12 @@ export class ProtectNvr {
496
444
  if (!deletingAccessories || (deletingAccessories.length <= 0)) {
497
445
  return;
498
446
  }
499
- // Unregister the accessories from Homebridge and HomeKit.
500
- this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, deletingAccessories);
501
447
  // Update our internal list of all the accessories we know about.
502
448
  for (const accessory of deletingAccessories) {
449
+ // Unregister the accessory from HomeKit if we have a bridged accessory. Unbridged accessories are managed directly by users in the Home app.
450
+ if (accessory._associatedHAPAccessory.bridged) {
451
+ this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
452
+ }
503
453
  this.platform.accessories.splice(this.platform.accessories.indexOf(accessory), 1);
504
454
  }
505
455
  // Tell Homebridge to save the updated list of accessories.
@@ -595,7 +545,7 @@ export class ProtectNvr {
595
545
  // Lookup a device by it's identifier and return it if it exists.
596
546
  deviceLookup(deviceId) {
597
547
  // Find the device.
598
- const foundDevice = Object.keys(this.configuredDevices).find(x => (this.configuredDevices[x].ufp).id === deviceId);
548
+ const foundDevice = Object.keys(this.configuredDevices).find(x => this.configuredDevices[x].ufp.id === deviceId);
599
549
  return foundDevice ? this.configuredDevices[foundDevice] : null;
600
550
  }
601
551
  // Utility function to return a floating point configuration parameter on a device.
@@ -607,8 +557,8 @@ export class ProtectNvr {
607
557
  return getOptionNumber(getOptionValue(this.platform.featureOptions, this.ufp, null, option));
608
558
  }
609
559
  // Utility for checking feature options on the NVR.
610
- hasFeature(option, defaultReturnValue, device = null) {
611
- return isOptionEnabled(this.platform.featureOptions, this.ufp, device, option, defaultReturnValue ?? this.platform.featureOptionDefault(option));
560
+ hasFeature(option, device = null) {
561
+ return isOptionEnabled(this.platform.featureOptions, this.ufp, device, option, this.platform.featureOptionDefault(option));
612
562
  }
613
563
  // Emulate a sleep function.
614
564
  sleep(sleepTimer) {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mCAAmC,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC9J,OAAO,EAAE,UAAU,EACI,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAqB,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,OAAO,UAAU;IAEb,GAAG,CAAM;IACV,MAAM,CAAoB;IACzB,kBAAkB,CAA8B;IACxC,iBAAiB,CAAsC;IAChE,MAAM,CAAoB;IACzB,SAAS,CAAU;IACnB,GAAG,CAAM;IACT,SAAS,CAA0B;IACpC,YAAY,CAAU;IACb,GAAG,CAAiB;IAC7B,IAAI,CAAqB;IACxB,IAAI,CAAS;IACd,aAAa,CAAS;IACtB,UAAU,CAAoB;IAC9B,QAAQ,CAAkB;IAC1B,UAAU,CAA8B;IACxC,GAAG,CAAmB;IACtB,MAAM,CAAc;IACnB,kBAAkB,CAA+B;IAEzD,YAAY,QAAyB,EAAE,UAA6B;QAElE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,EAAsB,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAE7B,yBAAyB;QACzB,IAAI,CAAC,GAAG,GAAG;YAET,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YAC9J,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YAClK,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YAChK,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;SACjK,CAAC;QAEF,sDAAsD;QACtD,IAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,EAAE,qCAAoB,GAAG,EAAE;YAElC,KAAI,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAEjE,IAAG,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAEzE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACrE,KAAM,aAA+B,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IAC5D,KAAK,CAAC,YAAY;QAExB,8DAA8D;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,iCAAiC,GAAG,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,KAAK;QAEhB,iFAAiF;QACjF,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,MAAM,MAAM,GAAG;YAEb,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YACpH,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE;gBAEzD,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBAErB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;YACtH,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAqB,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;SACvH,CAAC;QAEF,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAErC,+JAA+J;QAC/J,8CAA8C;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC,CAAC;QAEjK,0EAA0E;QAC1E,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,8DAA8D;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAgC,CAAC;QAE/D,iDAAiD;QACjD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAEzB,wEAAwE;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE3E,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4DAA4D,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7I,wCAAwC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE3C,qDAAqD;QACrD,IAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAEnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAErE,iKAAiK;YACjK,yDAAyD;YACzD,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAErB,gKAAgK;YAChK,qBAAqB;YACrB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEzC,uCAAuC;QACvC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAEzB,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5C,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEjD,8BAA8B;QAC9B,IAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAErC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,+CAA+C;QAC/C,IAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,SAAS,EAAE,CAAC;YAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,4CAA4C;QAC5C,KAAI,MAAM,MAAM,IAAI,CAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAE,EAAG,CAAC;YAE9I,yEAAyE;YACzE,IAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;gBAC5B,CAAE,MAAmC,CAAC,gBAAgB,IAAK,MAAmC,CAAC,UAAU,IAAI,CAAE,MAAmC,CAAC,SAAS,CAAC,EAAE,CAAC;gBAEhK,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAClI,CAAC;QAED,sDAAsD;QACtD,MAAM,cAAc,GAAG,GAAS,EAAE;YAEhC,4DAA4D;YAC5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAElC,+BAA+B;YAC/B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,iDAAiD;QACjD,cAAc,EAAE,CAAC;QAEjB,2HAA2H;QAC3H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAE/B,wBAAwB;YACxB,cAAc,EAAE,CAAC;YAEjB,4CAA4C;YAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,mCAAmC,GAAG,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,mFAAmF;QACnF,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,mCAAmC,GAAG,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,mCAAmC;IAC3B,KAAK,CAAC,YAAY;QAExB,gEAAgE;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5D,IAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;QACvI,CAAC;QAED,qDAAqD;QACrD,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,+BAA+B;QAE3C,qIAAqI;QACrI,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEvE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAE9I,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sHAAsH,CAAC,CAAC;YACvI,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAElB,mBAAmB;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAE9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAClD,gBAAgB,CAAC,SAA4B,EAAE,MAAgC;QAErF,IAAG,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,QAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEvB,KAAK,QAAQ;gBAEX,8CAA8C;gBAC9C,IAAI,MAA8B,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;oBAE3D,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,MAA6B,EAAE,SAAS,CAAC,CAAC;gBAC/G,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAA6B,EAAE,SAAS,CAAC,CAAC;gBAC7G,CAAC;gBAED,OAAO,IAAI,CAAC;gBAEZ,MAAM;YAER,KAAK,OAAO;gBAEV,iCAAiC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,MAA4B,EAAE,SAAS,CAAC,CAAC;gBAEzG,OAAO,IAAI,CAAC;gBAEZ,MAAM;YAER,KAAK,OAAO;gBAEV,iCAAiC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,MAA4B,EAAE,SAAS,CAAC,CAAC;gBAEzG,OAAO,IAAI,CAAC;gBAEZ,MAAM;YAER,KAAK,QAAQ;gBAEX,kCAAkC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAA6B,EAAE,SAAS,CAAC,CAAC;gBAE3G,OAAO,IAAI,CAAC;gBAEZ,MAAM;YAER,KAAK,QAAQ;gBAEX,kCAAkC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAA6B,EAAE,SAAS,CAAC,CAAC;gBAE3G,OAAO,IAAI,CAAC;gBAEZ,MAAM;YAER;gBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEnH,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,4FAA4F;IACpF,eAAe,CAAC,OAAmC;QAEzD,yGAAyG;QACzG,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAC3C,gBAAgB,CAAC,MAAgC;QAEtD,8GAA8G;QAC9G,IAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAE5F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,QAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEvB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBAEX,MAAM;YAER;gBAEE,iEAAiE;gBACjE,IAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAEvC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,0EAA0E;gBAC1E,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAE3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0EAA0E,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9I,OAAO,IAAI,CAAC;gBAEZ,MAAM;QACV,CAAC;QAED,wEAAwE;QACxE,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAE5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,SAAwC,CAAC;QAE7C,qGAAqG;QACrG,IAAG,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAEpF,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAEnF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE7F,gGAAgG;YAChG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,iEAAiE;QACjE,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAErC,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7D,6DAA6D;QAC7D,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,sFAAsF;IAC9E,0BAA0B;QAEhC,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAE1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAEzF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAEvF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QAED,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAEvF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QAED,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAEzF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAEzF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,qGAAqG;QACrG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,4CAA4C;QAC5C,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAErC,iCAAiC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;aACjG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAmB,CAAC,YAAY,EAAE,CAAC,CAAC;QAEzE,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;aACnJ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAmB,CAAC,aAAa,GAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAElI,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IACxC,cAAc;QAEpB,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE7D,gKAAgK;YAChK,6JAA6J;YAC7J,mCAAmC;YACnC,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,mFAAmF;gBACnF,IAAG,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAE5E,SAAS;gBACX,CAAC;gBAED,2IAA2I;gBAC3I,6BAA6B;gBAC7B,IAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBAEjC,4CAA4C;oBAC5C,IAAG,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;wBAE3C,SAAS;oBACX,CAAC;oBAED,IAAI,SAAS,CAAC,OAAO,CAAC,aAAwB,CAAC,MAAM,EAAE,CAAC;wBAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,aAAuB,CAAC,CAAC;wBAE/E,oIAAoI;wBACpI,IAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;4BAExD,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,6JAA6J;gBAC7J,iIAAiI;gBACjI,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;gBAEtE,IAAG,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;oBAExD,qIAAqI;oBACrI,IAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;wBAE5C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,EAAE,SAAS,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3I,SAAS;oBACX,CAAC;oBAED,6CAA6C;oBAC7C,IAAG,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBAEnF,SAAS;oBACX,CAAC;oBAED,2BAA2B;oBAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBAE1E,kEAAkE;gBAClE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAE,SAAS,CAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAE9D,SAAS;YACX,CAAC;YAED,iJAAiJ;YACjJ,4CAA4C;YAC5C,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAE1B,SAAS;YACX,CAAC;YAED,4GAA4G;YAC5G,QAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAElC,KAAK,QAAQ;oBAEX,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEzI,iHAAiH;wBACjH,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,MAAM;gBAER,KAAK,OAAO;oBAEV,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEvI,iHAAiH;wBACjH,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,MAAM;gBAER,KAAK,OAAO;oBAEV,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEvI,iHAAiH;wBACjH,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,MAAM;gBAER,KAAK,QAAQ;oBAEX,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEzI,iHAAiH;wBACjH,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,MAAM;gBAER,KAAK,QAAQ;oBAEX,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEzI,iHAAiH;wBACjH,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAED,MAAM;gBAER;oBACE,MAAM;YACV,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,oDAAoD;IAC7C,mBAAmB,CAAC,aAA4B;QAErD,gBAAgB;QAChB,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,OAAO;QACT,CAAC;QAED,mFAAmF;QACnF,IAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAExD,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAG,eAAe,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,aAAuB,CAAC,CAAC;YAE7F,6GAA6G;YAC7G,IAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAExD,OAAO;YACT,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAG,YAAY,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEnD,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,IAAG,CAAC,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAE1H,OAAO;QACT,CAAC;QAED,6JAA6J;QAC7J,iIAAiI;QACjI,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAEtE,IAAG,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;YAExD,qIAAqI;YACrI,IAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAE1D,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,EACnG,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAE/C,OAAO;YACT,CAAC;YAED,6CAA6C;YAC7C,IAAG,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAEjG,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAC3C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,EACnG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEtE,MAAM,mBAAmB,GAAG,CAAE,aAAa,CAAC,SAAS,CAAE,CAAC;QAExD,oFAAoF;QACpF,IAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAE3C,MAAM,eAAe,GAAG,aAAgC,CAAC;YAEzD,IAAG,eAAe,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;gBAEpD,8DAA8D;gBAC9D,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAClE,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACxC,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,aAAa,CAAC,OAAO,EAAE,CAAC;QAExB,iFAAiF;QACjF,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED,kDAAkD;IAC1C,wBAAwB,CAAC,mBAAwC;QAEvE,gBAAgB;QAChB,IAAG,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YAE7D,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAExF,iEAAiE;QACjE,KAAI,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;YAE3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,iFAAiF;IACzE,aAAa;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,yBAAyB,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEnC,qDAAqD;QACrD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAEzC,6CAA6C;YAC7C,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAErE,yBAAyB;YACzB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAE5B,yEAAyE;YACzE,IAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAEzB,mJAAmJ;gBACnJ,KAAI,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAE7H,IAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBAEnB,OAAO,CAAC,CAAC,CAAC;oBACZ,CAAC;oBAED,IAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBAEnB,OAAO,CAAC,CAAC;oBACX,CAAC;oBAED,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,EAAE,CAAC;oBAEH,wHAAwH;oBACxH,MAAM,YAAY,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAQ,EAAE;wBAElH,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oGAAoG,EAC7H,IAAI,EAAE,gHAAgH,CAAC,CAAC,CAAC;wBAE3H,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8FAA8F,EACvH,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;wBAEzC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4EAA4E,EACrG,gHAAgH,EAAE,IAAI,CAAC,CAAC,CAAC;wBAE3H,0IAA0I;wBAC1I,mHAAmH;wBACnH,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBACtI,CAAC,CAAC;oBAEF,2CAA2C;oBAC3C,YAAY,EAAE,CAAC;oBAEf,gEAAgE;oBAChE,IAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;wBAExC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBAEnG,IAAG,CAAC,cAAc,EAAE,CAAC;4BAEnB,SAAS;wBACX,CAAC;wBAED,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAE3B,oHAAoH;YACpH,IAAI,KAA+B,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAE1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8GAA8G,CAAC,CAAC;gBAE/H,UAAU,CAAC,GAAG,EAAE;oBAEd,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAE1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0EAA0E,EAAE,IAAI,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,+EAA+E;IACxE,KAAK,CAAC,kBAAkB;QAE7B,8CAA8C;QAC9C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEpB,6BAA6B;QAC7B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,8EAA8E;QAC9E,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEjD,4CAA4C;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAkB,CAAC;YAE9E,qFAAqF;YACrF,IAAG,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAE3G,SAAS;YACX,CAAC;YAED,gCAAgC;YAChC,4CAA4C;YAC5C,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,iEAAiE;IAC1D,YAAY,CAAC,QAAgB;QAElC,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAEnH,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,mFAAmF;IAC5E,eAAe,CAAC,MAAc;QAEnC,OAAO,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,6EAA6E;IACtE,gBAAgB,CAAC,MAAc;QAEpC,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,mDAAmD;IAC5C,UAAU,CAAC,MAAc,EAAE,kBAA4B,EAAE,SAA6D,IAAI;QAE/H,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnJ,CAAC;IAED,4BAA4B;IACrB,KAAK,CAAC,UAAkB;QAE7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,6CAA6C;IACrC,KAAK,CAAC,KAAK,CAAC,SAAiC,EAAE,aAAqB;QAE1E,wCAAwC;QACxC,IAAG,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;YAExB,4FAA4F;YAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export const featureOptions = {
30
30
  // Device options.
31
31
  "Device": [
32
32
  { default: true, description: "Make this device available in HomeKit.", name: "" },
33
+ { default: false, description: "Make this a standalone device in HomeKit that will need to be added to HomeKit through the Home app.", name: "Standalone" },
33
34
  { default: false, description: "Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit.", name: "SyncName" },
34
35
  { default: false, description: "Enable the status LED for this device in HomeKit.", hasProperty: ["ledSettings"], name: "StatusLed" }
35
36
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { API, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig } from "homebridge";
2
2
  import { ProtectOptions } from "./protect-options.js";
3
- import { FfmpegCodecs } from "./protect-ffmpeg-codecs.js";
3
+ import { FfmpegCodecs } from "./ffmpeg/index.js";
4
4
  import { RtpPortAllocator } from "./protect-rtp.js";
5
5
  export declare class ProtectPlatform implements DynamicPlatformPlugin {
6
6
  accessories: PlatformAccessory[];
@@ -1,6 +1,6 @@
1
1
  import { PROTECT_FFMPEG_OPTIONS, PROTECT_MQTT_TOPIC } from "./settings.js";
2
2
  import { featureOptionCategories, featureOptions } from "./protect-options.js";
3
- import { FfmpegCodecs } from "./protect-ffmpeg-codecs.js";
3
+ import { FfmpegCodecs } from "./ffmpeg/index.js";
4
4
  import { ProtectNvr } from "./protect-nvr.js";
5
5
  import { RtpPortAllocator } from "./protect-rtp.js";
6
6
  import ffmpegPath from "ffmpeg-for-homebridge";