homebridge-eufy-security 2.2.0-beta.9 → 2.2.1

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 (87) hide show
  1. package/CHANGELOG.md +14 -31
  2. package/README.md +25 -26
  3. package/dist/accessories/CameraAccessory.d.ts +13 -23
  4. package/dist/accessories/CameraAccessory.d.ts.map +1 -1
  5. package/dist/accessories/CameraAccessory.js +112 -324
  6. package/dist/accessories/CameraAccessory.js.map +1 -1
  7. package/dist/accessories/Device.d.ts.map +1 -1
  8. package/dist/accessories/Device.js +0 -15
  9. package/dist/accessories/Device.js.map +1 -1
  10. package/dist/accessories/DoorbellCameraAccessory.d.ts.map +1 -1
  11. package/dist/accessories/DoorbellCameraAccessory.js +4 -12
  12. package/dist/accessories/DoorbellCameraAccessory.js.map +1 -1
  13. package/dist/accessories/StationAccessory.d.ts +0 -1
  14. package/dist/accessories/StationAccessory.d.ts.map +1 -1
  15. package/dist/accessories/StationAccessory.js +0 -26
  16. package/dist/accessories/StationAccessory.js.map +1 -1
  17. package/dist/config.d.ts +0 -2
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/controller/LocalLivestreamManager.d.ts +5 -2
  20. package/dist/controller/LocalLivestreamManager.d.ts.map +1 -1
  21. package/dist/controller/LocalLivestreamManager.js +47 -4
  22. package/dist/controller/LocalLivestreamManager.js.map +1 -1
  23. package/dist/controller/SnapshotManager.d.ts +0 -1
  24. package/dist/controller/SnapshotManager.d.ts.map +1 -1
  25. package/dist/controller/SnapshotManager.js +1 -23
  26. package/dist/controller/SnapshotManager.js.map +1 -1
  27. package/dist/controller/streamingDelegate.d.ts +2 -4
  28. package/dist/controller/streamingDelegate.d.ts.map +1 -1
  29. package/dist/controller/streamingDelegate.js +54 -12
  30. package/dist/controller/streamingDelegate.js.map +1 -1
  31. package/dist/platform.d.ts +0 -3
  32. package/dist/platform.d.ts.map +1 -1
  33. package/dist/platform.js +11 -34
  34. package/dist/platform.js.map +1 -1
  35. package/dist/utils/configTypes.d.ts +2 -8
  36. package/dist/utils/configTypes.d.ts.map +1 -1
  37. package/dist/utils/ffmpeg.d.ts +2 -28
  38. package/dist/utils/ffmpeg.d.ts.map +1 -1
  39. package/dist/utils/ffmpeg.js +29 -308
  40. package/dist/utils/ffmpeg.js.map +1 -1
  41. package/homebridge-ui/public/3rdpartylicenses.txt +5 -190
  42. package/homebridge-ui/public/assets/devices/4g_lte_starlight_large.jpg +0 -0
  43. package/homebridge-ui/public/assets/devices/garage_camera_t8452_large.jpg +0 -0
  44. package/homebridge-ui/public/assets/devices/smartdrop_t8790_large.jpg +0 -0
  45. package/homebridge-ui/public/assets/devices/smartsafe_s10_t7400_large.jpg +0 -0
  46. package/homebridge-ui/public/assets/devices/smartsafe_s12_t7401_large.jpg +0 -0
  47. package/homebridge-ui/public/assets/devices/walllight_s100_large.jpg +0 -0
  48. package/homebridge-ui/public/index.html +2 -2
  49. package/homebridge-ui/public/main.135fd7fee02d0e10.js +1 -0
  50. package/homebridge-ui/public/styles.e73a5b881049ed9e.css +5 -0
  51. package/homebridge-ui/server.js +19 -17
  52. package/homebridge-ui/server.js.map +1 -1
  53. package/package.json +5 -5
  54. package/dist/controller/recordingDelegate.d.ts +0 -29
  55. package/dist/controller/recordingDelegate.d.ts.map +0 -1
  56. package/dist/controller/recordingDelegate.js +0 -182
  57. package/dist/controller/recordingDelegate.js.map +0 -1
  58. package/dist/utils/EufyClientInteractor.d.ts +0 -36
  59. package/dist/utils/EufyClientInteractor.d.ts.map +0 -1
  60. package/dist/utils/EufyClientInteractor.js +0 -357
  61. package/dist/utils/EufyClientInteractor.js.map +0 -1
  62. package/dist/utils/experimental.d.ts +0 -4
  63. package/dist/utils/experimental.d.ts.map +0 -1
  64. package/dist/utils/experimental.js +0 -49
  65. package/dist/utils/experimental.js.map +0 -1
  66. package/dist/utils/interfaces.d.ts +0 -13
  67. package/dist/utils/interfaces.d.ts.map +0 -1
  68. package/dist/utils/interfaces.js +0 -12
  69. package/dist/utils/interfaces.js.map +0 -1
  70. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts +0 -36
  71. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts.map +0 -1
  72. package/homebridge-ui/plugin/utils/EufyClientInteractor.js +0 -357
  73. package/homebridge-ui/plugin/utils/EufyClientInteractor.js.map +0 -1
  74. package/homebridge-ui/plugin/utils/experimental.d.ts +0 -4
  75. package/homebridge-ui/plugin/utils/experimental.d.ts.map +0 -1
  76. package/homebridge-ui/plugin/utils/experimental.js +0 -49
  77. package/homebridge-ui/plugin/utils/experimental.js.map +0 -1
  78. package/homebridge-ui/plugin/utils/interfaces.d.ts +0 -13
  79. package/homebridge-ui/plugin/utils/interfaces.d.ts.map +0 -1
  80. package/homebridge-ui/plugin/utils/interfaces.js +0 -12
  81. package/homebridge-ui/plugin/utils/interfaces.js.map +0 -1
  82. package/homebridge-ui/plugin/utils/logger.d.ts +0 -12
  83. package/homebridge-ui/plugin/utils/logger.d.ts.map +0 -1
  84. package/homebridge-ui/plugin/utils/logger.js +0 -36
  85. package/homebridge-ui/plugin/utils/logger.js.map +0 -1
  86. package/homebridge-ui/public/main.3b6cc7e30d4f0a21.js +0 -1
  87. package/homebridge-ui/public/styles.e02689e7df4304da.css +0 -6
package/CHANGELOG.md CHANGED
@@ -2,46 +2,29 @@
2
2
 
3
3
  You can find the complete detailled changelog for every beta release [here](https://github.com/homebridge-eufy-security/plugin/releases).
4
4
 
5
- ## 2.2.0-beta.9 - latest changes
5
+ ## 2.1.4 (2022-12-24)
6
6
 
7
- ### Fixed
7
+ ### Changed
8
8
 
9
- - Fixed support for Homebase 3, Eufy Cam 3 and Eufy Cam 3C
9
+ - Updated to latest eufy-security-client 2.4.0
10
10
 
11
- ## 2.2.0 (Beta)
11
+ ### Fixed
12
12
 
13
- ### Added
13
+ - Changed login process to use new v2 api (due to changes made by eufy recently)
14
14
 
15
- - HomeKit Secure Video (HKSV) Support (see #6)
16
- - Experimental Mode
17
- - Experimental Mode Option: Enabling RTSP streaming on all devices (e.g. Doorbells can now stream via RTSP)
18
- - Plugin will show warnings if it encounters a captcha or 2FA request while logging in.
19
- - Setting to crop image to requested resolution. This might help with streaming issues when the HomeKit Controller stops the stream due to wrong stream configuration.
20
- - Added additional audio settings in advanced video configuration
21
- - Setting to choose custom path to ffmpeg executable.
22
- - Config UI will now warn the user if a setting might decrease battery life drastically
23
- - Option to set connection method in eufy-security-client to 'local'
24
- - Support for Homebase 3, Eufy Camera 3 and Eufy Camera 3C
15
+ ## 2.1.3
25
16
 
26
- ### Changed
17
+ ### Fixed
27
18
 
28
- - If HomeKit Secure Video is enabled, motion detection will not work while a recording is active. This is due to technical limitations for now. (see #6)
29
- - Removed livestream caching (a.k.a `useCachedLocalLivestream`) since the continued streaming could cause issues with HKSV and motion detection in general
30
- - Overhauled design of advanced video config
31
- - Improved verbose output for snapshot and ffmpeg processes
32
- - Added explanatory description to snapshot handling method.
33
- - Updated to latest dependency: eufy-security-client
34
- - Warn the user if multiple cameras are connected through the same station and limit critical options for these cameras (snapshot method and HKSV)
35
- - Log errors in command results from eufy-security-client library to homebridge
36
- - Removed overhead in stream processing improve performance
19
+ - Due to active blocking of the plugin by eufy the login was temporarily not possible. Thanks to @baeuric and @schliemann (and of course @bropat) for the fix.
20
+ Learn more here: #201 and [this thread](https://github.com/bropat/eufy-security-client/issues/242)
37
21
 
38
- ### Fixed
22
+ ### Changed
39
23
 
40
- - Switches to turn camera and motion on/off should now be removed from HomeKit if the user switches the configuration
41
- - Bug where no snapshot was returned after an event
42
- - Bug that caused a crash with node version prior to v14.18
24
+ - New Login field "Device Name" which sets the device type with which the api calls to the eufy cloud are simulated. If left blank a random device will be chosen.
25
+ - Updated eufy-security-client to latest version 2.2.3
43
26
 
44
- ## 2.1.0 (RC)
27
+ ## 2.1.0 (2022-09-03)
45
28
 
46
29
  ### Added
47
30
 
@@ -97,7 +80,7 @@ You can find the complete detailled changelog for every beta release [here](http
97
80
  - Fix issue that streams were only rendered in 640x480 - see #46
98
81
  - Fixed smartlocks - see #110
99
82
  - Fixed occasional EPIPE Error when streaming - see #14
100
- - Streams might have been aborted after 30-60 seconds due to stream backpressuring
83
+ - Possible memory leak caused by not correctly released EventListeners
101
84
 
102
85
  ## 2.0.1 (20.06.2022)
103
86
 
package/README.md CHANGED
@@ -7,12 +7,12 @@
7
7
 
8
8
  Homebridge plugin to control certain Eufy Security devices
9
9
 
10
- [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/latest?label=latest)](https://www.npmjs.com/package/homebridge-eufy-security)
10
+ [![npm](https://img.shields.io/npm/v/homebridge-eufy-security?color=green)](https://www.npmjs.com/package/homebridge-eufy-security)
11
11
  [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
12
12
  [![npm](https://img.shields.io/npm/dt/homebridge-eufy-security)](https://www.npmjs.com/package/homebridge-eufy-security)
13
13
 
14
-
15
- [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/beta?label=beta)](https://github.com/homebridge-eufy-security/plugin/wiki/Beta-Version)
14
+ [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/rc?label=rc)](https://github.com/homebridge-eufy-security/plugin/wiki/RC---Beta-Version)
15
+ [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/beta?label=beta)](https://github.com/homebridge-eufy-security/plugin/wiki/RC---Beta-Version)
16
16
  [![Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=hb-discord)](https://discord.com/channels/432663330281226270/876907345962229791)
17
17
 
18
18
  </span>
@@ -20,32 +20,31 @@ Homebridge plugin to control certain Eufy Security devices
20
20
  ### Plugin Information
21
21
 
22
22
  - This plugin allows you to view and control your Eufy Security devices within HomeKit. The plugin:
23
- - requires your Eufy Security credentials (we recommend to use [Family/Guest Account](https://support.eufylife.com/s/article/Share-Your-eufySecurity-Devices-With-Your-Family) dedicated to the plugin)
24
- - we support Eufy Security OTP validation by email
23
+ - requires your Eufy Security credentials **(we highly recommend to use [Family/Guest Account](https://support.eufylife.com/s/article/Share-Your-eufySecurity-Devices-With-Your-Family) dedicated to the plugin)**
24
+ - we support Eufy Security OTP validation by email and captcha
25
25
 
26
26
  ### Prerequisites
27
27
 
28
- - To use this plugin, you will need to already have [Homebridge](https://homebridge.io) (at least v1.3.4) installed. Refer to the links for more information and installation instructions.
29
- - It is recommended to use the current LTS version of Node, currently v16, however Node v12 is also supported.
30
-
31
- ### Setup
32
-
33
- - [Installation](https://github.com/homebridge-eufy-security/plugin/wiki/Installation)
34
- - [Configuration](https://github.com/homebridge-eufy-security/plugin/wiki/Configuration)
35
- - [Beta Version](https://github.com/homebridge-eufy-security/plugin/wiki/Beta-Version)
36
- - [Node Version](https://github.com/homebridge-eufy-security/plugin/wiki/Node-Version)
37
- - [Uninstallation](https://github.com/homebridge-eufy-security/plugin/wiki/Uninstallation)
38
-
39
- ### Features
40
-
41
- - [Supported Devices](https://github.com/homebridge-eufy-security/plugin/wiki/Supported-Devices)
42
-
43
- ### Help
44
-
45
- - [Common Issues](https://github.com/homebridge-eufy-security/plugin/wiki/Common-Issues)
46
- - [Basic Troubleshooting](https://github.com/homebridge-eufy-security/plugin/wiki/Basic-Troubleshooting)
47
- - [Support Request](https://github.com/homebridge-eufy-security/plugin/issues/new/choose)
48
- - [Changelog](https://github.com/homebridge-eufy-security/plugin/blob/master/CHANGELOG.md)
28
+ - To use this plugin, you will need to already have [Homebridge](https://homebridge.io) (at least v1.4.1) installed. Refer to the links for more information and installation instructions.
29
+ - For configuration Homebridge UI is recommenend. If you have 2FA enabled it is mandatory.
30
+ - It is recommended to use the current LTS version of Node, currently v16.
31
+
32
+ #### Setup
33
+ * [Installation](https://github.com/homebridge-eufy-security/plugin/wiki/Installation-and-Configuration#installation)
34
+ * [Configuration](https://github.com/homebridge-eufy-security/plugin/wiki/Installation-and-Configuration#configuration)
35
+ * [Bridged and Unbridged Mode](https://github.com/homebridge-eufy-security/plugin/wiki/Bridged-and-Unbridged-Mode-and-Problems)
36
+ * [Beta Version](https://github.com/homebridge-eufy-security/plugin/wiki/Beta-Version)
37
+ * [Uninstallation](https://github.com/homebridge-eufy-security/plugin/wiki/Uninstallation)
38
+
39
+ #### Features
40
+ * [Streaming](https://github.com/homebridge-eufy-security/plugin/wiki/Streaming-Settings)
41
+ * [HomeKit Secure Video](https://github.com/homebridge-eufy-security/plugin/wiki/HomeKit-Secure-Video)
42
+
43
+ #### Help
44
+ * [Basic Troubleshooting](https://github.com/homebridge-eufy-security/plugin/wiki/Basic-Troubleshooting)
45
+ * [Common Issues](https://github.com/homebridge-eufy-security/plugin/wiki/Common-Issues)
46
+ * [Support Request](https://github.com/homebridge-eufy-security/plugin/issues/new/choose)
47
+ * [Changelog](https://github.com/homebridge-eufy-security/plugin/blob/master/CHANGELOG.md)
49
48
 
50
49
  ### Supporting
51
50
 
@@ -1,10 +1,9 @@
1
- import { Service, PlatformAccessory, CharacteristicValue, CameraControllerOptions } from 'homebridge';
1
+ import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
2
2
  import { EufySecurityPlatform } from '../platform';
3
3
  import { DeviceAccessory } from './Device';
4
4
  import { Camera } from 'eufy-security-client';
5
5
  import { StreamingDelegate } from '../controller/streamingDelegate';
6
6
  import { CameraConfig } from '../utils/configTypes';
7
- import { RecordingDelegate } from '../controller/recordingDelegate';
8
7
  /**
9
8
  * Platform Accessory
10
9
  * An instance of this class is created for each accessory your platform registers
@@ -15,25 +14,19 @@ export declare class CameraAccessory extends DeviceAccessory {
15
14
  protected CameraService: Service;
16
15
  readonly cameraConfig: CameraConfig;
17
16
  protected streamingDelegate: StreamingDelegate | null;
18
- protected recordingDelegate?: RecordingDelegate;
19
- protected cameraControllerOptions?: CameraControllerOptions;
20
- constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Camera, isDoorbell?: boolean);
21
- /**
22
- * Handle the setting of ExperimentalMode since it can not be achieve through the constructor since getStationById is async.
23
- */
24
- setExperimentalMode(): Promise<void>;
17
+ private motionTimeout?;
18
+ constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Camera);
19
+ private setupButtonService;
20
+ private setupEnableButton;
21
+ private setupMotionButton;
22
+ private setupLightButton;
25
23
  private getCameraConfig;
26
- protected cameraSetup(accessory: PlatformAccessory): void;
24
+ private cameraFunction;
27
25
  handleEventSnapshotsActiveGet(): Promise<CharacteristicValue>;
28
26
  /**
29
27
  * Handle requests to set the "Event Snapshots Active" characteristic
30
28
  */
31
29
  handleEventSnapshotsActiveSet(value: any): void;
32
- handlePeriodicSnapshotsActiveGet(): Promise<CharacteristicValue>;
33
- /**
34
- * Handle requests to set the "Periodic Snapshots Active" characteristic
35
- */
36
- handlePeriodicSnapshotsActiveSet(value: any): void;
37
30
  /**
38
31
  * Handle requests to get the current value of the "HomeKit Camera Active" characteristic
39
32
  */
@@ -58,15 +51,12 @@ export declare class CameraAccessory extends DeviceAccessory {
58
51
  * Handle requests to set the "HomeKit Camera Active" characteristic
59
52
  */
60
53
  handleHomeKitNightVisionSet(value: any): Promise<void>;
61
- private motionFunction;
54
+ private setupMotionFunction;
62
55
  handleMotionDetectedGet(): Promise<CharacteristicValue>;
63
- private onPropertyChange;
64
- handleEnableGet(): Promise<CharacteristicValue>;
56
+ private onDeviceMotionDetectedPushNotification;
65
57
  handleManuallyDisabledGet(): Promise<CharacteristicValue>;
66
- handleEnableSet(value: CharacteristicValue): Promise<void>;
67
- handleMotionOnGet(): Promise<CharacteristicValue>;
68
- handleMotionOnSet(value: CharacteristicValue): Promise<void>;
69
- handleLightOnGet(): Promise<CharacteristicValue>;
70
- handleLightOnSet(value: CharacteristicValue): Promise<void>;
58
+ private setupSwitchService;
59
+ private getPropertyValue;
60
+ private setPropertyValue;
71
61
  }
72
62
  //# sourceMappingURL=CameraAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EAEnB,uBAAuB,EAIxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAgE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAEjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC7D,SAAS,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEhD,SAAS,CAAC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;gBAG1D,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,UAAQ;IA6QpB;;OAEG;IACU,mBAAmB;IAUhC,OAAO,CAAC,eAAe;IA+CvB,SAAS,CAAC,WAAW,CACnB,SAAS,EAAE,iBAAiB;IAwD9B,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7D;;OAEG;IACH,6BAA6B,CAAC,KAAK,KAAA;IAInC,gCAAgC,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMhE;;OAEG;IACH,gCAAgC,CAAC,KAAK,KAAA;IAItC;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM5D;;OAEG;IACH,4BAA4B,CAAC,KAAK,KAAA;IAIlC;;OAEG;IACG,4CAA4C,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWlF;;OAEG;IACG,4CAA4C,CAAC,KAAK,KAAA;IAOxD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjE;;OAEG;IACG,2BAA2B,CAAC,KAAK,KAAA;IAOvC,OAAO,CAAC,cAAc;IAqBhB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkB7D,OAAO,CAAC,gBAAgB;IAsBlB,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWzD,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAS1C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjD,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IAM5C,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWhD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;CAKlD"}
1
+ {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAiD,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAEjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7D,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAGrC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAqCpB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,cAAc;IAiDtB,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7D;;OAEG;IACH,6BAA6B,CAAC,KAAK,KAAA;IAInC;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM5D;;OAEG;IACH,4BAA4B,CAAC,KAAK,KAAA;IAIlC;;OAEG;IACG,4CAA4C,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWlF;;OAEG;IACG,4CAA4C,CAAC,KAAK,KAAA;IAOxD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjE;;OAEG;IACG,2BAA2B,CAAC,KAAK,KAAA;IAOvC,OAAO,CAAC,mBAAmB;IAoCrB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW7D,OAAO,CAAC,sCAAsC;IAyBxC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/D,OAAO,CAAC,kBAAkB;YA4BZ,gBAAgB;YAWhB,gBAAgB;CAmB/B"}