homebridge-eufy-security 2.2.4 → 2.3.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.
- package/CHANGELOG.md +39 -11
- package/README.md +26 -25
- package/dist/accessories/CameraAccessory.d.ts +55 -21
- package/dist/accessories/CameraAccessory.d.ts.map +1 -1
- package/dist/accessories/CameraAccessory.js +460 -214
- package/dist/accessories/CameraAccessory.js.map +1 -1
- package/dist/accessories/Device.d.ts +3 -3
- package/dist/accessories/Device.d.ts.map +1 -1
- package/dist/accessories/Device.js +15 -0
- package/dist/accessories/Device.js.map +1 -1
- package/dist/accessories/DoorbellCameraAccessory.d.ts +4 -1
- package/dist/accessories/DoorbellCameraAccessory.d.ts.map +1 -1
- package/dist/accessories/DoorbellCameraAccessory.js +65 -4
- package/dist/accessories/DoorbellCameraAccessory.js.map +1 -1
- package/dist/accessories/SmartLockAccessory.d.ts +2 -2
- package/dist/accessories/StationAccessory.d.ts +4 -0
- package/dist/accessories/StationAccessory.d.ts.map +1 -1
- package/dist/accessories/StationAccessory.js +64 -7
- package/dist/accessories/StationAccessory.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/controller/LocalLivestreamManager.d.ts +3 -8
- package/dist/controller/LocalLivestreamManager.d.ts.map +1 -1
- package/dist/controller/LocalLivestreamManager.js +4 -47
- package/dist/controller/LocalLivestreamManager.js.map +1 -1
- package/dist/controller/SnapshotManager.d.ts +1 -1
- package/dist/controller/SnapshotManager.d.ts.map +1 -1
- package/dist/controller/SnapshotManager.js +23 -1
- package/dist/controller/SnapshotManager.js.map +1 -1
- package/dist/controller/recordingDelegate.d.ts +29 -0
- package/dist/controller/recordingDelegate.d.ts.map +1 -0
- package/dist/controller/recordingDelegate.js +186 -0
- package/dist/controller/recordingDelegate.js.map +1 -0
- package/dist/controller/streamingDelegate.d.ts +6 -6
- package/dist/controller/streamingDelegate.d.ts.map +1 -1
- package/dist/controller/streamingDelegate.js +21 -60
- package/dist/controller/streamingDelegate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/platform.d.ts +6 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +112 -66
- package/dist/platform.js.map +1 -1
- package/dist/utils/EufyClientInteractor.d.ts +36 -0
- package/dist/utils/EufyClientInteractor.d.ts.map +1 -0
- package/dist/utils/EufyClientInteractor.js +357 -0
- package/dist/utils/EufyClientInteractor.js.map +1 -0
- package/dist/utils/Talkback.d.ts +0 -1
- package/dist/utils/Talkback.d.ts.map +1 -1
- package/dist/utils/configTypes.d.ts +15 -5
- package/dist/utils/configTypes.d.ts.map +1 -1
- package/dist/utils/experimental.d.ts +4 -0
- package/dist/utils/experimental.d.ts.map +1 -0
- package/dist/utils/experimental.js +49 -0
- package/dist/utils/experimental.js.map +1 -0
- package/dist/utils/ffmpeg.d.ts +30 -4
- package/dist/utils/ffmpeg.d.ts.map +1 -1
- package/dist/utils/ffmpeg.js +322 -30
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/interfaces.d.ts +13 -0
- package/dist/utils/interfaces.d.ts.map +1 -0
- package/dist/utils/interfaces.js +12 -0
- package/dist/utils/interfaces.js.map +1 -0
- package/homebridge-ui/configui/app/accessory.d.ts +1 -1
- package/homebridge-ui/configui/app/accessory.d.ts.map +1 -1
- package/homebridge-ui/configui/app/util/types.d.ts +2 -2
- package/homebridge-ui/configui/app/util/types.d.ts.map +1 -1
- package/homebridge-ui/configui/app/util/types.js +1 -1
- package/homebridge-ui/configui/app/util/types.js.map +1 -1
- package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts +36 -0
- package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts.map +1 -0
- package/homebridge-ui/plugin/utils/EufyClientInteractor.js +357 -0
- package/homebridge-ui/plugin/utils/EufyClientInteractor.js.map +1 -0
- package/homebridge-ui/plugin/utils/experimental.d.ts +4 -0
- package/homebridge-ui/plugin/utils/experimental.d.ts.map +1 -0
- package/homebridge-ui/plugin/utils/experimental.js +49 -0
- package/homebridge-ui/plugin/utils/experimental.js.map +1 -0
- package/homebridge-ui/plugin/utils/interfaces.d.ts +13 -0
- package/homebridge-ui/plugin/utils/interfaces.d.ts.map +1 -0
- package/homebridge-ui/plugin/utils/interfaces.js +12 -0
- package/homebridge-ui/plugin/utils/interfaces.js.map +1 -0
- package/homebridge-ui/plugin/utils/logger.d.ts +12 -0
- package/homebridge-ui/plugin/utils/logger.d.ts.map +1 -0
- package/homebridge-ui/plugin/utils/logger.js +36 -0
- package/homebridge-ui/plugin/utils/logger.js.map +1 -0
- package/homebridge-ui/public/3rdpartylicenses.txt +191 -6
- package/homebridge-ui/public/index.html +2 -2
- package/homebridge-ui/public/main.22a0c49e2138888f.js +1 -0
- package/homebridge-ui/public/polyfills.6050693665c0e882.js +1 -0
- package/homebridge-ui/public/styles.e02689e7df4304da.css +6 -0
- package/homebridge-ui/server.js +17 -1
- package/homebridge-ui/server.js.map +1 -1
- package/package.json +48 -46
- package/homebridge-ui/public/assets/devices/4g_lte_starlight_large.jpg +0 -0
- package/homebridge-ui/public/assets/devices/garage_camera_t8452_large.jpg +0 -0
- package/homebridge-ui/public/assets/devices/smartdrop_t8790_large.jpg +0 -0
- package/homebridge-ui/public/assets/devices/smartsafe_s10_t7400_large.jpg +0 -0
- package/homebridge-ui/public/assets/devices/smartsafe_s12_t7401_large.jpg +0 -0
- package/homebridge-ui/public/assets/devices/walllight_s100_large.jpg +0 -0
- package/homebridge-ui/public/main.0d25748cc9303f6b.js +0 -1
- package/homebridge-ui/public/polyfills.cdb21ff95fdea645.js +0 -1
- package/homebridge-ui/public/styles.021488511c20c432.css +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,29 +2,57 @@
|
|
|
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.
|
|
5
|
+
## 2.2.0-beta.17 - latest changes
|
|
6
6
|
|
|
7
7
|
### Changed
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- eufy-security-client library is now added as forked dependency to enable direct changes
|
|
10
10
|
|
|
11
11
|
### Fixed
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- Trying to fix login issue #250
|
|
14
|
+
- Fixed installation issues with previous betas
|
|
15
|
+
- Package size was dramatically reduced by removing cache files
|
|
14
16
|
|
|
15
|
-
## 2.
|
|
17
|
+
## 2.2.0 (Beta)
|
|
16
18
|
|
|
17
|
-
###
|
|
19
|
+
### Added
|
|
18
20
|
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
+
- HomeKit Secure Video (HKSV) Support (see #6)
|
|
22
|
+
- Experimental Mode
|
|
23
|
+
- Experimental Mode Option: Enabling RTSP streaming on all devices (e.g. Doorbells can now stream via RTSP)
|
|
24
|
+
- Plugin will show warnings if it encounters a captcha or 2FA request while logging in.
|
|
25
|
+
- 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.
|
|
26
|
+
- Added additional audio settings in advanced video configuration
|
|
27
|
+
- Setting to choose custom path to ffmpeg executable.
|
|
28
|
+
- Config UI will now warn the user if a setting might decrease battery life drastically
|
|
29
|
+
- Option to set connection method in eufy-security-client to 'local'
|
|
30
|
+
- Support for Homebase 3, Eufy Camera 3 and Eufy Camera 3C
|
|
31
|
+
- Setting to sync the guard modes of all stations.
|
|
32
|
+
- Setting to add a switch to turn indoor chime on/off on some doorbells
|
|
33
|
+
- Setting for mono/stereo talkback configuration (needed for certain devices)
|
|
21
34
|
|
|
22
35
|
### Changed
|
|
23
36
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
37
|
+
- 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)
|
|
38
|
+
- Removed livestream caching (a.k.a `useCachedLocalLivestream`) since the continued streaming could cause issues with HKSV and motion detection in general
|
|
39
|
+
- Overhauled design of advanced video config
|
|
40
|
+
- Improved verbose output for snapshot and ffmpeg processes
|
|
41
|
+
- Added explanatory description to snapshot handling method.
|
|
42
|
+
- Updated to latest dependency: eufy-security-client
|
|
43
|
+
- Warn the user if multiple cameras are connected through the same station and limit critical options for these cameras (snapshot method and HKSV)
|
|
44
|
+
- Log errors in command results from eufy-security-client library to homebridge
|
|
45
|
+
- Removed overhead in stream processing improve performance
|
|
46
|
+
- eufy-security-client library is now added as forked dependency to enable direct changes
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Switches to turn camera and motion on/off should now be removed from HomeKit if the user switches the configuration
|
|
51
|
+
- Bug where no snapshot was returned after an event
|
|
52
|
+
- Bug that caused a crash with node version prior to v14.18
|
|
53
|
+
- Talkback was not working properly due to wrong channel configuration (can now be chosen: mono/stereo) #196
|
|
26
54
|
|
|
27
|
-
## 2.1.0 (
|
|
55
|
+
## 2.1.0 (RC)
|
|
28
56
|
|
|
29
57
|
### Added
|
|
30
58
|
|
|
@@ -80,7 +108,7 @@ You can find the complete detailled changelog for every beta release [here](http
|
|
|
80
108
|
- Fix issue that streams were only rendered in 640x480 - see #46
|
|
81
109
|
- Fixed smartlocks - see #110
|
|
82
110
|
- Fixed occasional EPIPE Error when streaming - see #14
|
|
83
|
-
-
|
|
111
|
+
- Streams might have been aborted after 30-60 seconds due to stream backpressuring
|
|
84
112
|
|
|
85
113
|
## 2.0.1 (20.06.2022)
|
|
86
114
|
|
package/README.md
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
Homebridge plugin to control certain Eufy Security devices
|
|
9
9
|
|
|
10
|
-
[](https://www.npmjs.com/package/homebridge-eufy-security)
|
|
11
11
|
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
12
12
|
[](https://www.npmjs.com/package/homebridge-eufy-security)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
[](https://github.com/homebridge-eufy-security/plugin/wiki/
|
|
14
|
+
|
|
15
|
+
[](https://github.com/homebridge-eufy-security/plugin/wiki/Beta-Version)
|
|
16
16
|
[](https://discord.com/channels/432663330281226270/876907345962229791)
|
|
17
17
|
|
|
18
18
|
</span>
|
|
@@ -20,31 +20,32 @@ 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
|
|
24
|
-
- we support Eufy Security OTP validation by email
|
|
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
|
|
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.4
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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)
|
|
48
49
|
|
|
49
50
|
### Supporting
|
|
50
51
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
1
|
+
import { Service, PlatformAccessory, CharacteristicValue, CameraControllerOptions } from 'homebridge';
|
|
2
2
|
import { EufySecurityPlatform } from '../platform';
|
|
3
3
|
import { DeviceAccessory } from './Device';
|
|
4
|
-
import { Camera
|
|
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';
|
|
7
8
|
/**
|
|
8
9
|
* Platform Accessory
|
|
9
10
|
* An instance of this class is created for each accessory your platform registers
|
|
@@ -12,27 +13,60 @@ import { CameraConfig } from '../utils/configTypes';
|
|
|
12
13
|
export declare class CameraAccessory extends DeviceAccessory {
|
|
13
14
|
protected service: Service;
|
|
14
15
|
protected CameraService: Service;
|
|
15
|
-
protected cameraStatus: {
|
|
16
|
-
isEnabled: boolean;
|
|
17
|
-
timestamp: number;
|
|
18
|
-
};
|
|
19
16
|
readonly cameraConfig: CameraConfig;
|
|
20
17
|
protected streamingDelegate: StreamingDelegate | null;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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>;
|
|
27
25
|
private getCameraConfig;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
protected cameraSetup(accessory: PlatformAccessory): void;
|
|
27
|
+
handleEventSnapshotsActiveGet(): Promise<CharacteristicValue>;
|
|
28
|
+
/**
|
|
29
|
+
* Handle requests to set the "Event Snapshots Active" characteristic
|
|
30
|
+
*/
|
|
31
|
+
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
|
+
/**
|
|
38
|
+
* Handle requests to get the current value of the "HomeKit Camera Active" characteristic
|
|
39
|
+
*/
|
|
40
|
+
handleHomeKitCameraActiveGet(): Promise<CharacteristicValue>;
|
|
41
|
+
/**
|
|
42
|
+
* Handle requests to set the "HomeKit Camera Active" characteristic
|
|
43
|
+
*/
|
|
44
|
+
handleHomeKitCameraActiveSet(value: any): void;
|
|
45
|
+
/**
|
|
46
|
+
* Handle requests to get the current value of the "HomeKit Camera Active" characteristic
|
|
47
|
+
*/
|
|
48
|
+
handleHomeKitCameraOperatingModeIndicatorGet(): Promise<CharacteristicValue>;
|
|
49
|
+
/**
|
|
50
|
+
* Handle requests to set the "HomeKit Camera Active" characteristic
|
|
51
|
+
*/
|
|
52
|
+
handleHomeKitCameraOperatingModeIndicatorSet(value: any): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Handle requests to get the current value of the "HomeKit Camera Active" characteristic
|
|
55
|
+
*/
|
|
56
|
+
handleHomeKitNightVisionGet(): Promise<CharacteristicValue>;
|
|
57
|
+
/**
|
|
58
|
+
* Handle requests to set the "HomeKit Camera Active" characteristic
|
|
59
|
+
*/
|
|
60
|
+
handleHomeKitNightVisionSet(value: any): Promise<void>;
|
|
61
|
+
private motionFunction;
|
|
62
|
+
handleMotionDetectedGet(): Promise<CharacteristicValue>;
|
|
63
|
+
private onPropertyChange;
|
|
64
|
+
handleEnableGet(): Promise<CharacteristicValue>;
|
|
65
|
+
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>;
|
|
37
71
|
}
|
|
38
72
|
//# 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,
|
|
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;IA4RpB;;OAEG;IACU,mBAAmB;IAUhC,OAAO,CAAC,eAAe;IA0EvB,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"}
|