homebridge 2.0.0-beta.30 → 2.0.0-beta.32
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/dist/api.d.ts +267 -3
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +92 -0
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +4 -2
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +1 -3
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +29 -2
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +294 -4
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +19 -0
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +38 -3
- package/dist/childBridgeService.js.map +1 -1
- package/dist/externalPortService.d.ts +27 -6
- package/dist/externalPortService.d.ts.map +1 -1
- package/dist/externalPortService.js +73 -7
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +47 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +20 -0
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts +6 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +8 -0
- package/dist/logger.js.map +1 -1
- package/dist/matter/index.d.ts +123 -0
- package/dist/matter/index.d.ts.map +1 -0
- package/dist/matter/index.js +19 -0
- package/dist/matter/index.js.map +1 -0
- package/dist/matter/matterAccessoryCache.d.ts +96 -0
- package/dist/matter/matterAccessoryCache.d.ts.map +1 -0
- package/dist/matter/matterAccessoryCache.js +192 -0
- package/dist/matter/matterAccessoryCache.js.map +1 -0
- package/dist/matter/matterBehaviors.d.ts +194 -0
- package/dist/matter/matterBehaviors.d.ts.map +1 -0
- package/dist/matter/matterBehaviors.js +665 -0
- package/dist/matter/matterBehaviors.js.map +1 -0
- package/dist/matter/matterConfigValidator.d.ts +81 -0
- package/dist/matter/matterConfigValidator.d.ts.map +1 -0
- package/dist/matter/matterConfigValidator.js +240 -0
- package/dist/matter/matterConfigValidator.js.map +1 -0
- package/dist/matter/matterErrorHandler.d.ts +106 -0
- package/dist/matter/matterErrorHandler.d.ts.map +1 -0
- package/dist/matter/matterErrorHandler.js +495 -0
- package/dist/matter/matterErrorHandler.js.map +1 -0
- package/dist/matter/matterLogFormatter.d.ts +19 -0
- package/dist/matter/matterLogFormatter.d.ts.map +1 -0
- package/dist/matter/matterLogFormatter.js +144 -0
- package/dist/matter/matterLogFormatter.js.map +1 -0
- package/dist/matter/matterNetworkMonitor.d.ts +68 -0
- package/dist/matter/matterNetworkMonitor.d.ts.map +1 -0
- package/dist/matter/matterNetworkMonitor.js +249 -0
- package/dist/matter/matterNetworkMonitor.js.map +1 -0
- package/dist/matter/matterServer.d.ts +656 -0
- package/dist/matter/matterServer.d.ts.map +1 -0
- package/dist/matter/matterServer.js +1692 -0
- package/dist/matter/matterServer.js.map +1 -0
- package/dist/matter/matterServerHelpers.d.ts +81 -0
- package/dist/matter/matterServerHelpers.d.ts.map +1 -0
- package/dist/matter/matterServerHelpers.js +323 -0
- package/dist/matter/matterServerHelpers.js.map +1 -0
- package/dist/matter/matterSharedTypes.d.ts +170 -0
- package/dist/matter/matterSharedTypes.d.ts.map +1 -0
- package/dist/matter/matterSharedTypes.js +52 -0
- package/dist/matter/matterSharedTypes.js.map +1 -0
- package/dist/matter/matterStorage.d.ts +128 -0
- package/dist/matter/matterStorage.d.ts.map +1 -0
- package/dist/matter/matterStorage.js +415 -0
- package/dist/matter/matterStorage.js.map +1 -0
- package/dist/matter/matterTypes.d.ts +843 -0
- package/dist/matter/matterTypes.d.ts.map +1 -0
- package/dist/matter/matterTypes.js +222 -0
- package/dist/matter/matterTypes.js.map +1 -0
- package/dist/server.d.ts +23 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +392 -7
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +1 -0
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +3 -0
- package/dist/user.js.map +1 -1
- package/package.json +16 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matter Types for Homebridge Plugin API
|
|
3
|
+
*
|
|
4
|
+
* This module provides types and interfaces for plugin developers
|
|
5
|
+
* to create Matter-compatible accessories.
|
|
6
|
+
*/
|
|
7
|
+
// Import Matter.js clusters and device types
|
|
8
|
+
import * as clusters from '@matter/main/clusters';
|
|
9
|
+
import * as devices from '@matter/main/devices';
|
|
10
|
+
/**
|
|
11
|
+
* Matter Accessory Event Types
|
|
12
|
+
*
|
|
13
|
+
* Events that can be emitted by Matter accessories during their lifecycle.
|
|
14
|
+
* These events follow the same pattern as HAP's AccessoryEventTypes to provide
|
|
15
|
+
* a consistent plugin development experience across both protocols.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* Listen for when a Matter accessory is ready
|
|
20
|
+
* const accessory: MatterAccessory = { ... };
|
|
21
|
+
* api.matter.publishExternalAccessories('plugin-name', [accessory]);
|
|
22
|
+
*
|
|
23
|
+
* const internal = accessory as any;
|
|
24
|
+
* internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
|
|
25
|
+
* console.log(`Accessory ready on port ${port}`);
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @group Matter Accessory
|
|
30
|
+
*/
|
|
31
|
+
export var MatterAccessoryEventTypes;
|
|
32
|
+
(function (MatterAccessoryEventTypes) {
|
|
33
|
+
/**
|
|
34
|
+
* Emitted when the Matter server is ready and the accessory is available on the network.
|
|
35
|
+
* This is the main event to listen for to know when an external accessory is ready.
|
|
36
|
+
*
|
|
37
|
+
* **HAP Equivalent:** `AccessoryEventTypes.ADVERTISED`
|
|
38
|
+
*
|
|
39
|
+
* @param port - The port number the Matter server is listening on
|
|
40
|
+
*/
|
|
41
|
+
MatterAccessoryEventTypes["READY"] = "ready";
|
|
42
|
+
/**
|
|
43
|
+
* Emitted when a controller has commissioned (paired with) this accessory.
|
|
44
|
+
* This means a user has successfully added the accessory to their Matter controller
|
|
45
|
+
* (e.g., Apple Home, Google Home, Amazon Alexa).
|
|
46
|
+
*
|
|
47
|
+
* **HAP Equivalent:** `AccessoryEventTypes.PAIRED`
|
|
48
|
+
*/
|
|
49
|
+
MatterAccessoryEventTypes["COMMISSIONED"] = "commissioned";
|
|
50
|
+
/**
|
|
51
|
+
* Emitted when a controller has decommissioned (unpaired from) this accessory.
|
|
52
|
+
* This typically happens when a user removes the accessory from their controller app.
|
|
53
|
+
*
|
|
54
|
+
* **HAP Equivalent:** `AccessoryEventTypes.UNPAIRED`
|
|
55
|
+
*/
|
|
56
|
+
MatterAccessoryEventTypes["DECOMMISSIONED"] = "decommissioned";
|
|
57
|
+
})(MatterAccessoryEventTypes || (MatterAccessoryEventTypes = {}));
|
|
58
|
+
/**
|
|
59
|
+
* Matter error type enum (for error handler categorization)
|
|
60
|
+
*/
|
|
61
|
+
export var MatterErrorType;
|
|
62
|
+
(function (MatterErrorType) {
|
|
63
|
+
MatterErrorType["INITIALIZATION"] = "INITIALIZATION";
|
|
64
|
+
MatterErrorType["NETWORK"] = "NETWORK";
|
|
65
|
+
MatterErrorType["COMMISSIONING"] = "COMMISSIONING";
|
|
66
|
+
MatterErrorType["DEVICE_SYNC"] = "DEVICE_SYNC";
|
|
67
|
+
MatterErrorType["SERVER"] = "SERVER";
|
|
68
|
+
MatterErrorType["STORAGE"] = "STORAGE";
|
|
69
|
+
MatterErrorType["CONFIGURATION"] = "CONFIGURATION";
|
|
70
|
+
MatterErrorType["DEVICE_ERROR"] = "DEVICE_ERROR";
|
|
71
|
+
MatterErrorType["UNKNOWN"] = "UNKNOWN";
|
|
72
|
+
})(MatterErrorType || (MatterErrorType = {}));
|
|
73
|
+
/**
|
|
74
|
+
* Matter error types
|
|
75
|
+
*/
|
|
76
|
+
export class MatterError extends Error {
|
|
77
|
+
code;
|
|
78
|
+
details;
|
|
79
|
+
type;
|
|
80
|
+
timestamp;
|
|
81
|
+
recoverable;
|
|
82
|
+
constructor(message, code, details) {
|
|
83
|
+
super(message);
|
|
84
|
+
this.code = code;
|
|
85
|
+
this.details = details;
|
|
86
|
+
this.name = 'MatterError';
|
|
87
|
+
this.type = details?.type ?? MatterErrorType.UNKNOWN;
|
|
88
|
+
this.timestamp = new Date();
|
|
89
|
+
this.recoverable = details?.recoverable ?? true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export class MatterCommissioningError extends MatterError {
|
|
93
|
+
constructor(message, details) {
|
|
94
|
+
super(message, 'COMMISSIONING_ERROR', { ...details, type: MatterErrorType.COMMISSIONING });
|
|
95
|
+
this.name = 'MatterCommissioningError';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export class MatterStorageError extends MatterError {
|
|
99
|
+
constructor(message, details) {
|
|
100
|
+
super(message, 'STORAGE_ERROR', { ...details, type: MatterErrorType.STORAGE });
|
|
101
|
+
this.name = 'MatterStorageError';
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export class MatterDeviceError extends MatterError {
|
|
105
|
+
constructor(message, details) {
|
|
106
|
+
super(message, 'DEVICE_ERROR', { ...details, type: MatterErrorType.DEVICE_ERROR });
|
|
107
|
+
this.name = 'MatterDeviceError';
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export class MatterNetworkError extends MatterError {
|
|
111
|
+
constructor(message, details) {
|
|
112
|
+
super(message, 'NETWORK_ERROR', { ...details, type: MatterErrorType.NETWORK });
|
|
113
|
+
this.name = 'MatterNetworkError';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Export Matter.js clusters for direct access
|
|
117
|
+
export { clusters };
|
|
118
|
+
// Export raw devices namespace (for advanced use)
|
|
119
|
+
export { devices };
|
|
120
|
+
/**
|
|
121
|
+
* Friendly device type names for the Plugin API
|
|
122
|
+
* Maps simplified names to actual Matter.js device types
|
|
123
|
+
*/
|
|
124
|
+
export const deviceTypes = {
|
|
125
|
+
// Lighting
|
|
126
|
+
OnOffLight: devices.OnOffLightDevice,
|
|
127
|
+
DimmableLight: devices.DimmableLightDevice,
|
|
128
|
+
ColorTemperatureLight: devices.ColorTemperatureLightDevice,
|
|
129
|
+
ExtendedColorLight: devices.ExtendedColorLightDevice,
|
|
130
|
+
// Switches & Outlets
|
|
131
|
+
OnOffSwitch: devices.OnOffLightSwitchDevice,
|
|
132
|
+
OnOffOutlet: devices.OnOffPlugInUnitDevice,
|
|
133
|
+
DimmableOutlet: devices.DimmablePlugInUnitDevice,
|
|
134
|
+
// Sensors
|
|
135
|
+
TemperatureSensor: devices.TemperatureSensorDevice,
|
|
136
|
+
HumiditySensor: devices.HumiditySensorDevice,
|
|
137
|
+
LightSensor: devices.LightSensorDevice,
|
|
138
|
+
MotionSensor: devices.OccupancySensorDevice,
|
|
139
|
+
ContactSensor: devices.ContactSensorDevice,
|
|
140
|
+
LeakSensor: devices.WaterLeakDetectorDevice,
|
|
141
|
+
SmokeSensor: devices.SmokeCoAlarmDevice,
|
|
142
|
+
// HVAC
|
|
143
|
+
Thermostat: devices.ThermostatDevice.with(devices.ThermostatRequirements.ThermostatServer.with('Heating', 'Cooling')),
|
|
144
|
+
Fan: devices.FanDevice,
|
|
145
|
+
// Security
|
|
146
|
+
DoorLock: devices.DoorLockDevice,
|
|
147
|
+
// Window Coverings (features will be auto-detected based on accessory attributes)
|
|
148
|
+
WindowCovering: devices.WindowCoveringDevice,
|
|
149
|
+
// Appliances
|
|
150
|
+
// RVC optional clusters (RvcCleanMode, ServiceArea) are added dynamically in matterServer
|
|
151
|
+
// based on whether they're defined in the accessory configuration
|
|
152
|
+
RoboticVacuumCleaner: devices.RoboticVacuumCleanerDevice,
|
|
153
|
+
// Other
|
|
154
|
+
GenericSwitch: devices.GenericSwitchDevice,
|
|
155
|
+
Pump: devices.PumpDevice,
|
|
156
|
+
RoomAirConditioner: devices.RoomAirConditionerDevice,
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Matter Cluster Names
|
|
160
|
+
* Commonly used cluster names for type safety and autocomplete
|
|
161
|
+
* Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* With autocomplete and type safety:
|
|
166
|
+
* api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
|
|
167
|
+
* api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
export const clusterNames = {
|
|
171
|
+
// Control Clusters
|
|
172
|
+
OnOff: 'onOff',
|
|
173
|
+
LevelControl: 'levelControl',
|
|
174
|
+
ColorControl: 'colorControl',
|
|
175
|
+
DoorLock: 'doorLock',
|
|
176
|
+
WindowCovering: 'windowCovering',
|
|
177
|
+
Thermostat: 'thermostat',
|
|
178
|
+
FanControl: 'fanControl',
|
|
179
|
+
// Sensor Clusters
|
|
180
|
+
TemperatureMeasurement: 'temperatureMeasurement',
|
|
181
|
+
RelativeHumidityMeasurement: 'relativeHumidityMeasurement',
|
|
182
|
+
IlluminanceMeasurement: 'illuminanceMeasurement',
|
|
183
|
+
OccupancySensing: 'occupancySensing',
|
|
184
|
+
BooleanState: 'booleanState',
|
|
185
|
+
SmokeCoAlarm: 'smokeCoAlarm',
|
|
186
|
+
// Robotic Vacuum Cleaner Clusters
|
|
187
|
+
RvcRunMode: 'rvcRunMode',
|
|
188
|
+
RvcOperationalState: 'rvcOperationalState',
|
|
189
|
+
RvcCleanMode: 'rvcCleanMode',
|
|
190
|
+
ServiceArea: 'serviceArea',
|
|
191
|
+
// Pump & Other
|
|
192
|
+
PumpConfigurationAndControl: 'pumpConfigurationAndControl',
|
|
193
|
+
// Identification
|
|
194
|
+
Identify: 'identify',
|
|
195
|
+
// Device Information (read-only, set during registration)
|
|
196
|
+
BasicInformation: 'basicInformation',
|
|
197
|
+
BridgedDeviceBasicInformation: 'bridgedDeviceBasicInformation',
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Check if endpoint has state property (runtime check)
|
|
201
|
+
*/
|
|
202
|
+
export function hasEndpointState(endpoint) {
|
|
203
|
+
return 'state' in endpoint && typeof endpoint.state === 'object';
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Safely update endpoint state
|
|
207
|
+
* Uses the Endpoint's set method to update cluster attributes
|
|
208
|
+
*/
|
|
209
|
+
export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
210
|
+
if (!hasEndpointState(endpoint)) {
|
|
211
|
+
throw new Error('Endpoint does not support state updates');
|
|
212
|
+
}
|
|
213
|
+
const updateObject = { [cluster]: attributes };
|
|
214
|
+
await endpoint.set(updateObject);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Type-safe cluster access for WindowCovering
|
|
218
|
+
*/
|
|
219
|
+
export function getWindowCoveringCluster(accessory) {
|
|
220
|
+
return accessory.clusters?.windowCovering;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=matterTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -32,6 +32,8 @@ export declare class Server {
|
|
|
32
32
|
private readonly externalPortService;
|
|
33
33
|
private readonly config;
|
|
34
34
|
private readonly childBridges;
|
|
35
|
+
private matterServer?;
|
|
36
|
+
private readonly externalMatterServers;
|
|
35
37
|
private serverStatus;
|
|
36
38
|
constructor(options?: HomebridgeOptions);
|
|
37
39
|
/**
|
|
@@ -40,8 +42,28 @@ export declare class Server {
|
|
|
40
42
|
*/
|
|
41
43
|
private setServerStatus;
|
|
42
44
|
start(): Promise<void>;
|
|
43
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Initialize Matter server for main bridge if enabled
|
|
47
|
+
*/
|
|
48
|
+
private initializeMatterServer;
|
|
49
|
+
teardown(): Promise<void>;
|
|
44
50
|
private publishBridge;
|
|
51
|
+
private handlePublishExternalAccessories;
|
|
52
|
+
/**
|
|
53
|
+
* Handle external Matter accessories - each gets its own dedicated Matter server
|
|
54
|
+
* This is required for devices like Robotic Vacuum Cleaners that Apple Home
|
|
55
|
+
* requires to be on their own bridge.
|
|
56
|
+
*/
|
|
57
|
+
private handlePublishExternalMatterAccessories;
|
|
58
|
+
private handleRegisterPlatformAccessories;
|
|
59
|
+
private handleUnregisterPlatformAccessories;
|
|
60
|
+
private handleRegisterMatterPlatformAccessories;
|
|
61
|
+
private handleUnregisterMatterPlatformAccessories;
|
|
62
|
+
private handleUpdateMatterAccessoryState;
|
|
63
|
+
/**
|
|
64
|
+
* Restore cached Matter accessories (matching HAP pattern)
|
|
65
|
+
*/
|
|
66
|
+
private restoreCachedMatterAccessories;
|
|
45
67
|
private static loadConfig;
|
|
46
68
|
private loadAccessories;
|
|
47
69
|
private loadPlatforms;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,iBAAiB;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAGD,0BAAkB,YAAY;IAC5B;;OAEG;IACH,OAAO,YAAY;IAEnB;;OAEG;IACH,EAAE,OAAO;IAET;;OAEG;IACH,IAAI,SAAS;CACd;AAED,qBAAa,MAAM;IAwBf,OAAO,CAAC,OAAO;IAvBjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAIzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6C;IAG1E,OAAO,CAAC,YAAY,CAAC,CAAc;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAG7E,OAAO,CAAC,YAAY,CAAqC;gBAG/C,OAAO,GAAE,iBAAsB;IAmEzC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsCV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCnC;;OAEG;YACW,sBAAsB;IAuGvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gCAAgC;IAMxC;;;;OAIG;YACW,sCAAsC;IAiGpD,OAAO,CAAC,iCAAiC;IAKzC,OAAO,CAAC,mCAAmC;IAK3C,OAAO,CAAC,uCAAuC;IAU/C,OAAO,CAAC,yCAAyC;IAUjD,OAAO,CAAC,gCAAgC;IAUxC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA8CtC,OAAO,CAAC,MAAM,CAAC,UAAU;IAiJzB,OAAO,CAAC,eAAe;IAoGvB,OAAO,CAAC,aAAa;IA4FrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyCjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAuClC,OAAO,CAAC,cAAc;CAqBvB"}
|