@homebridge-plugins/homebridge-smarthq 0.5.0-beta.0 → 0.5.0-beta.10
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/.github/ISSUE_TEMPLATE/config.yml +1 -1
- package/.github/copilot-instructions.md +90 -0
- package/.github/scripts/branch-helper.sh +41 -0
- package/.github/workflows/beta-release.yml +1 -1
- package/.github/workflows/release.yml +53 -17
- package/CHANGELOG.md +563 -18
- package/README.md +15 -0
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +9 -5
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -1
- package/dist/devices/advantium.d.ts +10 -0
- package/dist/devices/advantium.d.ts.map +1 -0
- package/dist/devices/advantium.js +75 -0
- package/dist/devices/advantium.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +1 -0
- package/dist/devices/airConditioner.d.ts.map +1 -1
- package/dist/devices/airConditioner.js +38 -7
- package/dist/devices/airConditioner.js.map +1 -1
- package/dist/devices/beverageCenter.d.ts +10 -0
- package/dist/devices/beverageCenter.d.ts.map +1 -0
- package/dist/devices/beverageCenter.js +125 -0
- package/dist/devices/beverageCenter.js.map +1 -0
- package/dist/devices/clothesDryer.d.ts +10 -0
- package/dist/devices/clothesDryer.d.ts.map +1 -0
- package/dist/devices/clothesDryer.js +84 -0
- package/dist/devices/clothesDryer.js.map +1 -0
- package/dist/devices/clothesWasher.d.ts +10 -0
- package/dist/devices/clothesWasher.d.ts.map +1 -0
- package/dist/devices/clothesWasher.js +84 -0
- package/dist/devices/clothesWasher.js.map +1 -0
- package/dist/devices/coffeeMaker.d.ts +10 -0
- package/dist/devices/coffeeMaker.d.ts.map +1 -0
- package/dist/devices/coffeeMaker.js +79 -0
- package/dist/devices/coffeeMaker.js.map +1 -0
- package/dist/devices/device.d.ts +12 -0
- package/dist/devices/device.d.ts.map +1 -1
- package/dist/devices/device.js +61 -1
- package/dist/devices/device.js.map +1 -1
- package/dist/devices/dishwasher.d.ts +0 -3
- package/dist/devices/dishwasher.d.ts.map +1 -1
- package/dist/devices/dishwasher.js +49 -29
- package/dist/devices/dishwasher.js.map +1 -1
- package/dist/devices/hood.d.ts +34 -0
- package/dist/devices/hood.d.ts.map +1 -0
- package/dist/devices/hood.js +306 -0
- package/dist/devices/hood.js.map +1 -0
- package/dist/devices/microwave.d.ts +10 -0
- package/dist/devices/microwave.d.ts.map +1 -0
- package/dist/devices/microwave.js +84 -0
- package/dist/devices/microwave.js.map +1 -0
- package/dist/devices/oven.d.ts +0 -2
- package/dist/devices/oven.d.ts.map +1 -1
- package/dist/devices/oven.js +78 -43
- package/dist/devices/oven.js.map +1 -1
- package/dist/devices/refrigerator.d.ts +0 -2
- package/dist/devices/refrigerator.d.ts.map +1 -1
- package/dist/devices/refrigerator.js +112 -29
- package/dist/devices/refrigerator.js.map +1 -1
- package/dist/devices/waterFilter.d.ts +10 -0
- package/dist/devices/waterFilter.d.ts.map +1 -0
- package/dist/devices/waterFilter.js +67 -0
- package/dist/devices/waterFilter.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +10 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +95 -0
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/devices/waterSoftener.d.ts +10 -0
- package/dist/devices/waterSoftener.d.ts.map +1 -0
- package/dist/devices/waterSoftener.js +67 -0
- package/dist/devices/waterSoftener.js.map +1 -0
- package/dist/getAccessToken.d.ts.map +1 -1
- package/dist/getAccessToken.js +6 -0
- package/dist/getAccessToken.js.map +1 -1
- package/dist/platform.d.ts +10 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +393 -0
- package/dist/platform.js.map +1 -1
- package/dist/platform.test.d.ts +2 -0
- package/dist/platform.test.d.ts.map +1 -0
- package/dist/platform.test.js +80 -0
- package/dist/platform.test.js.map +1 -0
- package/dist/settings.d.ts +13 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +3 -0
- package/dist/settings.js.map +1 -1
- package/docs/assets/highlight.css +7 -0
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +248 -226
- package/docs/classes/SmartHQPlatform.html +45 -56
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +22 -12
- package/docs/interfaces/DeviceOptions.html +2 -3
- package/docs/interfaces/SmartHQPlatformConfig.html +6 -17
- package/docs/interfaces/SmartHqContext.html +6 -4
- package/docs/interfaces/SmartHqERDResponse.html +7 -8
- package/docs/interfaces/credentials.html +3 -4
- package/docs/interfaces/devicesConfig.html +7 -8
- package/docs/interfaces/options.html +7 -8
- package/docs/media/copilot-instructions.md +90 -0
- package/docs/modules.html +1 -2
- package/docs/variables/API_URL.html +1 -2
- package/docs/variables/ERD_CODES.html +1 -2
- package/docs/variables/ERD_TYPES.html +1 -2
- package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -2
- package/docs/variables/LOGIN_URL.html +2 -3
- package/docs/variables/OAUTH2_CLIENT_ID.html +1 -2
- package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -2
- package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -2
- package/docs/variables/PLATFORM_NAME.html +2 -3
- package/docs/variables/PLUGIN_NAME.html +2 -3
- package/docs/variables/SECURE_URL.html +2 -3
- package/docs/variables/default.html +1 -0
- package/package.json +21 -28
- package/typedoc.json +0 -4
- package/vitest.config.ts +6 -5
- package/.github/workflows/build.yml +0 -18
- package/.github/workflows/changerelease.yml +0 -11
- package/.github/workflows/labeler.yml +0 -9
- package/.github/workflows/release-drafter.yml +0 -14
- package/docs/assets/dmt/dmt-component-data.js +0 -1
- package/docs/assets/dmt/dmt-components.css +0 -20
- package/docs/assets/dmt/dmt-components.js +0 -67
- package/docs/assets/dmt/dmt-search.cmp +0 -0
- package/docs/assets/dmt/dmt-theme.css +0 -1
- package/docs/functions/default.html +0 -2
package/dist/platform.js
CHANGED
|
@@ -4,10 +4,20 @@ import { SmartHQIceMaker } from './devices/OpalIceMaker/index.js';
|
|
|
4
4
|
import axios from 'axios';
|
|
5
5
|
import pkg from 'lodash';
|
|
6
6
|
import ws from 'ws';
|
|
7
|
+
import { SmartHQAdvantium } from './devices/advantium.js';
|
|
7
8
|
import { SmartHQAirConditioner } from './devices/airConditioner.js';
|
|
9
|
+
import { SmartHQBeverageCenter } from './devices/beverageCenter.js';
|
|
10
|
+
import { SmartHQClothesDryer } from './devices/clothesDryer.js';
|
|
11
|
+
import { SmartHQClothesWasher } from './devices/clothesWasher.js';
|
|
12
|
+
import { SmartHQCoffeeMaker } from './devices/coffeeMaker.js';
|
|
8
13
|
import { SmartHQDishWasher } from './devices/dishwasher.js';
|
|
14
|
+
import { SmartHQHood } from './devices/hood.js';
|
|
15
|
+
import { SmartHQMicrowave } from './devices/microwave.js';
|
|
9
16
|
import { SmartHQOven } from './devices/oven.js';
|
|
10
17
|
import { SmartHQRefrigerator } from './devices/refrigerator.js';
|
|
18
|
+
import { SmartHQWaterFilter } from './devices/waterFilter.js';
|
|
19
|
+
import { SmartHQWaterHeater } from './devices/waterHeater.js';
|
|
20
|
+
import { SmartHQWaterSoftener } from './devices/waterSoftener.js';
|
|
11
21
|
import getAccessToken, { refreshAccessToken } from './getAccessToken.js';
|
|
12
22
|
import { API_URL, ERD_CODES, ERD_TYPES, KEEPALIVE_TIMEOUT, PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
|
|
13
23
|
const { find } = pkg;
|
|
@@ -112,17 +122,24 @@ export class SmartHQPlatform {
|
|
|
112
122
|
}
|
|
113
123
|
}
|
|
114
124
|
async startRefreshTokenLogic() {
|
|
125
|
+
if (!this.tokenSet) {
|
|
126
|
+
throw new Error('Token set is undefined');
|
|
127
|
+
}
|
|
115
128
|
if (this.tokenSet.refresh_token) {
|
|
116
129
|
try {
|
|
117
130
|
this.tokenSet = await refreshAccessToken(this.tokenSet.refresh_token);
|
|
118
131
|
}
|
|
119
132
|
catch (e) {
|
|
120
133
|
await this.errorLog(`Failed to refresh Access Token, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
|
|
134
|
+
throw e; // Re-throw to stop execution
|
|
121
135
|
}
|
|
122
136
|
}
|
|
123
137
|
else {
|
|
124
138
|
throw new Error('Refresh token is undefined');
|
|
125
139
|
}
|
|
140
|
+
if (!this.tokenSet.access_token) {
|
|
141
|
+
throw new Error('Access token is undefined after refresh');
|
|
142
|
+
}
|
|
126
143
|
axios.defaults.headers.common = {
|
|
127
144
|
Authorization: `Bearer ${this.tokenSet.access_token}`,
|
|
128
145
|
};
|
|
@@ -148,12 +165,14 @@ export class SmartHQPlatform {
|
|
|
148
165
|
}
|
|
149
166
|
catch (e) {
|
|
150
167
|
await this.errorLog(`discoverDevices, Failed to get Access Token, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
|
|
168
|
+
return; // Stop execution if authentication fails
|
|
151
169
|
}
|
|
152
170
|
try {
|
|
153
171
|
await this.startRefreshTokenLogic();
|
|
154
172
|
}
|
|
155
173
|
catch (e) {
|
|
156
174
|
await this.errorLog(`discoverDevices, Failed to start Refresh Token Logic, Error Message: ${e.message ?? e}, Submit Bugs Here: https://bit.ly/smarthq-bug-report`);
|
|
175
|
+
return; // Stop execution if token refresh setup fails
|
|
157
176
|
}
|
|
158
177
|
try {
|
|
159
178
|
const wssData = await axios.get('/websocket');
|
|
@@ -222,9 +241,41 @@ export class SmartHQPlatform {
|
|
|
222
241
|
await this.createSmartHQIceMaker(userId, device, details, features);
|
|
223
242
|
break;
|
|
224
243
|
case 'Air Conditioner':
|
|
244
|
+
case 'Portable AC':
|
|
225
245
|
case 'Split Air Conditioner':
|
|
226
246
|
await this.createSmartHQAirConditioner(userId, device, details, features);
|
|
227
247
|
break;
|
|
248
|
+
case 'Hood':
|
|
249
|
+
await this.createSmartHQHood(userId, device, details, features);
|
|
250
|
+
break;
|
|
251
|
+
case 'Clothes Washer':
|
|
252
|
+
await this.createSmartHQClothesWasher(userId, device, details, features);
|
|
253
|
+
break;
|
|
254
|
+
case 'Clothes Dryer':
|
|
255
|
+
await this.createSmartHQClothesDryer(userId, device, details, features);
|
|
256
|
+
break;
|
|
257
|
+
case 'Whole Home Water Filter':
|
|
258
|
+
await this.createSmartHQWaterFilter(userId, device, details, features);
|
|
259
|
+
break;
|
|
260
|
+
case 'Whole Home Water Softener':
|
|
261
|
+
await this.createSmartHQWaterSoftener(userId, device, details, features);
|
|
262
|
+
break;
|
|
263
|
+
case 'Whole Home Water Heater':
|
|
264
|
+
await this.createSmartHQWaterHeater(userId, device, details, features);
|
|
265
|
+
break;
|
|
266
|
+
case 'Advantium':
|
|
267
|
+
await this.createSmartHQAdvantium(userId, device, details, features);
|
|
268
|
+
break;
|
|
269
|
+
case 'Microwave':
|
|
270
|
+
await this.createSmartHQMicrowave(userId, device, details, features);
|
|
271
|
+
break;
|
|
272
|
+
case 'Coffee Maker':
|
|
273
|
+
case 'Espresso Maker':
|
|
274
|
+
await this.createSmartHQCoffeeMaker(userId, device, details, features);
|
|
275
|
+
break;
|
|
276
|
+
case 'Beverage Center':
|
|
277
|
+
await this.createSmartHQBeverageCenter(userId, device, details, features);
|
|
278
|
+
break;
|
|
228
279
|
default:
|
|
229
280
|
await this.warnLog(`Device Type Not Supported: ${device.type}`);
|
|
230
281
|
break;
|
|
@@ -473,6 +524,348 @@ export class SmartHQPlatform {
|
|
|
473
524
|
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
474
525
|
}
|
|
475
526
|
}
|
|
527
|
+
async createSmartHQHood(userId, device, details, features) {
|
|
528
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
529
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
530
|
+
if (existingAccessory) {
|
|
531
|
+
if (!device.hide_device) {
|
|
532
|
+
existingAccessory.context.device = device;
|
|
533
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
534
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
535
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
536
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
537
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
538
|
+
new SmartHQHood(this, existingAccessory, device);
|
|
539
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
540
|
+
}
|
|
541
|
+
else {
|
|
542
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
546
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
547
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
548
|
+
accessory.context.device = device;
|
|
549
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
550
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
551
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
552
|
+
new SmartHQHood(this, accessory, device);
|
|
553
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
554
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
555
|
+
this.accessories.push(accessory);
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
async createSmartHQClothesWasher(userId, device, details, features) {
|
|
562
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
563
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
564
|
+
if (existingAccessory) {
|
|
565
|
+
if (!device.hide_device) {
|
|
566
|
+
existingAccessory.context.device = device;
|
|
567
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
568
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
569
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
570
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
571
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
572
|
+
// create the accessory handler for the restored accessory
|
|
573
|
+
new SmartHQClothesWasher(this, existingAccessory, device);
|
|
574
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
575
|
+
}
|
|
576
|
+
else {
|
|
577
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
581
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
582
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
583
|
+
accessory.context.device = device;
|
|
584
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
585
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
586
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
587
|
+
new SmartHQClothesWasher(this, accessory, device);
|
|
588
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
589
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
590
|
+
this.accessories.push(accessory);
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
async createSmartHQClothesDryer(userId, device, details, features) {
|
|
597
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
598
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
599
|
+
if (existingAccessory) {
|
|
600
|
+
if (!device.hide_device) {
|
|
601
|
+
existingAccessory.context.device = device;
|
|
602
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
603
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
604
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
605
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
606
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
607
|
+
// create the accessory handler for the restored accessory
|
|
608
|
+
new SmartHQClothesDryer(this, existingAccessory, device);
|
|
609
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
616
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
617
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
618
|
+
accessory.context.device = device;
|
|
619
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
620
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
621
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
622
|
+
new SmartHQClothesDryer(this, accessory, device);
|
|
623
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
624
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
625
|
+
this.accessories.push(accessory);
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
async createSmartHQWaterFilter(userId, device, details, features) {
|
|
632
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
633
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
634
|
+
if (existingAccessory) {
|
|
635
|
+
if (!device.hide_device) {
|
|
636
|
+
existingAccessory.context.device = device;
|
|
637
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
638
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
639
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
640
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
641
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
642
|
+
new SmartHQWaterFilter(this, existingAccessory, device);
|
|
643
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
644
|
+
}
|
|
645
|
+
else {
|
|
646
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
650
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
651
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
652
|
+
accessory.context.device = device;
|
|
653
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
654
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
655
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
656
|
+
new SmartHQWaterFilter(this, accessory, device);
|
|
657
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
658
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
659
|
+
this.accessories.push(accessory);
|
|
660
|
+
}
|
|
661
|
+
else {
|
|
662
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
async createSmartHQWaterSoftener(userId, device, details, features) {
|
|
666
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
667
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
668
|
+
if (existingAccessory) {
|
|
669
|
+
if (!device.hide_device) {
|
|
670
|
+
existingAccessory.context.device = device;
|
|
671
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
672
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
673
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
674
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
675
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
676
|
+
new SmartHQWaterSoftener(this, existingAccessory, device);
|
|
677
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
678
|
+
}
|
|
679
|
+
else {
|
|
680
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
684
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
685
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
686
|
+
accessory.context.device = device;
|
|
687
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
688
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
689
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
690
|
+
new SmartHQWaterSoftener(this, accessory, device);
|
|
691
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
692
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
693
|
+
this.accessories.push(accessory);
|
|
694
|
+
}
|
|
695
|
+
else {
|
|
696
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
async createSmartHQWaterHeater(userId, device, details, features) {
|
|
700
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
701
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
702
|
+
if (existingAccessory) {
|
|
703
|
+
if (!device.hide_device) {
|
|
704
|
+
existingAccessory.context.device = device;
|
|
705
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
706
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
707
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
708
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
709
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
710
|
+
new SmartHQWaterHeater(this, existingAccessory, device);
|
|
711
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
718
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
719
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
720
|
+
accessory.context.device = device;
|
|
721
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
722
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
723
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
724
|
+
new SmartHQWaterHeater(this, accessory, device);
|
|
725
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
726
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
727
|
+
this.accessories.push(accessory);
|
|
728
|
+
}
|
|
729
|
+
else {
|
|
730
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
async createSmartHQAdvantium(userId, device, details, features) {
|
|
734
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
735
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
736
|
+
if (existingAccessory) {
|
|
737
|
+
if (!device.hide_device) {
|
|
738
|
+
existingAccessory.context.device = device;
|
|
739
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
740
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
741
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
742
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
743
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
744
|
+
new SmartHQAdvantium(this, existingAccessory, device);
|
|
745
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
752
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
753
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
754
|
+
accessory.context.device = device;
|
|
755
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
756
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
757
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
758
|
+
new SmartHQAdvantium(this, accessory, device);
|
|
759
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
760
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
761
|
+
this.accessories.push(accessory);
|
|
762
|
+
}
|
|
763
|
+
else {
|
|
764
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
async createSmartHQMicrowave(userId, device, details, features) {
|
|
768
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
769
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
770
|
+
if (existingAccessory) {
|
|
771
|
+
if (!device.hide_device) {
|
|
772
|
+
existingAccessory.context.device = device;
|
|
773
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
774
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
775
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
776
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
777
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
778
|
+
new SmartHQMicrowave(this, existingAccessory, device);
|
|
779
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
780
|
+
}
|
|
781
|
+
else {
|
|
782
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
786
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
787
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
788
|
+
accessory.context.device = device;
|
|
789
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
790
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
791
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
792
|
+
new SmartHQMicrowave(this, accessory, device);
|
|
793
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
794
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
795
|
+
this.accessories.push(accessory);
|
|
796
|
+
}
|
|
797
|
+
else {
|
|
798
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
async createSmartHQCoffeeMaker(userId, device, details, features) {
|
|
802
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
803
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
804
|
+
if (existingAccessory) {
|
|
805
|
+
if (!device.hide_device) {
|
|
806
|
+
existingAccessory.context.device = device;
|
|
807
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
808
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
809
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
810
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
811
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
812
|
+
new SmartHQCoffeeMaker(this, existingAccessory, device);
|
|
813
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
820
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
821
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
822
|
+
accessory.context.device = device;
|
|
823
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
824
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
825
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
826
|
+
new SmartHQCoffeeMaker(this, accessory, device);
|
|
827
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
828
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
829
|
+
this.accessories.push(accessory);
|
|
830
|
+
}
|
|
831
|
+
else {
|
|
832
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
async createSmartHQBeverageCenter(userId, device, details, features) {
|
|
836
|
+
const uuid = this.api.hap.uuid.generate(device.applianceId);
|
|
837
|
+
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
838
|
+
if (existingAccessory) {
|
|
839
|
+
if (!device.hide_device) {
|
|
840
|
+
existingAccessory.context.device = device;
|
|
841
|
+
existingAccessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
842
|
+
existingAccessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
843
|
+
existingAccessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
844
|
+
this.api.updatePlatformAccessories([existingAccessory]);
|
|
845
|
+
this.infoLog(`Restoring existing accessory from cache: ${existingAccessory.displayName}`);
|
|
846
|
+
new SmartHQBeverageCenter(this, existingAccessory, device);
|
|
847
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
848
|
+
}
|
|
849
|
+
else {
|
|
850
|
+
this.unregisterPlatformAccessories(existingAccessory);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
else if (!device.hide_device && !existingAccessory) {
|
|
854
|
+
this.infoLog(`Adding new accessory: ${device.nickname}`);
|
|
855
|
+
const accessory = new this.api.platformAccessory(device.nickname, uuid);
|
|
856
|
+
accessory.context.device = device;
|
|
857
|
+
accessory.context = { device: { brand: 'GE', ...details, ...features }, userId };
|
|
858
|
+
accessory.displayName = await this.validateAndCleanDisplayName(device.nickname, 'nickname', device.nickname);
|
|
859
|
+
accessory.context.device.firmware = device.firmware ?? await this.getVersion();
|
|
860
|
+
new SmartHQBeverageCenter(this, accessory, device);
|
|
861
|
+
this.debugLog(`${device.nickname} uuid: ${device.applianceId}`);
|
|
862
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
863
|
+
this.accessories.push(accessory);
|
|
864
|
+
}
|
|
865
|
+
else {
|
|
866
|
+
this.debugErrorLog(`Unable to Register new device: ${JSON.stringify(device.nickname)}`);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
476
869
|
async unregisterPlatformAccessories(existingAccessory) {
|
|
477
870
|
// remove platform accessories when no longer present
|
|
478
871
|
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [existingAccessory]);
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,cAAc,EAAE,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE5G,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;AAEpB,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;AAEhC;;;;GAIG;AACH,MAAM,OAAO,eAAe;IACnB,WAAW,CAAqC;IACvC,GAAG,CAAK;IACR,GAAG,CAAS;IACT,GAAG,CAAK;IACpB,MAAM,CAAwB;IAE9B,OAAO,CAA8B;IACrC,cAAc,CAAqC;IAClD,QAAQ,CAAW;IAE3B,cAAc,CAAwB;IACtC,eAAe,CAAqB;IACpC,mBAAmB,CAAyB;IAC5C,gBAAgB,CAAsB;IACtC,kBAAkB,CAAwB;IAC1C,SAAS,CAAU;IACnB,OAAO,CAAS;IAEhB,YACE,GAAY,EACZ,MAA6B,EAC7B,GAAQ;QAER,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,0BAA0B;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAA0B;YAC9C,OAAO,EAAE,MAAM,CAAC,OAA0B;YAC1C,OAAO,EAAE,MAAM,CAAC,OAAkB;YAClC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAA;QAED,uBAAuB;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,UAAU,EAAE,CAAA;QAEjB,mCAAmC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAA;QACjD,IAAI,CAAC,QAAQ,CAAC,mCAAmC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhE,oBAAoB;QACpB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;gBACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAClC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,OAAO,sFAAsF,CAAC,CAAA;gBACrJ,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAA;YAClD,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,yCAAyC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC3C,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACjD,oEAAoE;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;YACrF,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,OAAO,CAAC,iCAAiC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;QAEtE,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAA8C,CAAC,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACtC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YACvE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAC9I,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG;YAC9B,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;SACtD,CAAA;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAA;QAC9F,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAA;YAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAC3J,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACrC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,wEAAwE,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;YACpK,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAE7C,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAEhD,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;oBACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBAE7C,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBAEpG,IAAI,CAAC,SAAS,EAAE,CAAC;4BACf,IAAI,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAA;4BAC/E,OAAM;wBACR,CAAC;wBAED,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;4BACtD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;4BAElD,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,gBAAgB,EAAE,CAAC;gCAChD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;gCACxD,IAAI,OAAO,EAAE,CAAC;oCACZ,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;gCAC/E,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBACnC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;oBAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;gBAC/C,CAAC,CAAC,CAAA;gBAEF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACzB,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE,WAAW;wBACnB,SAAS,EAAE,CAAC,oBAAoB,CAAC;qBAClC,CAAC,CACH,CAAA;oBAED,WAAW,CACT,GAAG,EAAE,CACH,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,gBAAgB;wBACtB,EAAE,EAAE,gBAAgB;wBACpB,MAAM,EAAE,MAAM;qBACf,CAAC,CACH,EACH,iBAAiB,CAClB,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAC7J,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;gBAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBAChE,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC;wBAC7C,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,UAAU,CAAC;qBACtD,CAAC,CAAA;oBACF,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAClD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAK,YAAY;4BACf,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BACrE,MAAK;wBACP,KAAK,MAAM;4BACT,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BAC/D,MAAK;wBACP,KAAK,cAAc;4BACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BACvE,MAAK;wBACP,KAAK,uBAAuB;4BAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BACnE,MAAK;wBACP,KAAK,iBAAiB,CAAC;wBACvB,KAAK,uBAAuB;4BAC1B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;4BACzE,MAAK;wBACP;4BACE,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;4BAC/D,MAAK;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAC3J,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACjJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,MAAW,EAAE,MAAW,EAAE,OAAY,EAAE,QAAa;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE3D,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;gBACxF,iBAAiB,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACpH,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,4CAA4C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;gBACzF,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;gBACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEvF,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;YAChF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5G,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9E,4DAA4D;YAC5D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/D,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAW,EAAE,MAAW,EAAE,OAAY,EAAE,QAAa;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE3D,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;gBACxF,iBAAiB,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACpH,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,4CAA4C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;gBACzF,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;gBAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEvF,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;YAChF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5G,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9E,4DAA4D;YAC5D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/D,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,MAAW,EAAE,MAAW,EAAE,OAAY,EAAE,QAAa;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE3D,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;gBACxF,iBAAiB,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACpH,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,oBAAoB;gBACpB,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;gBACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEvF,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;YAChF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5G,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9E,4DAA4D;YAC5D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/D,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAW,EAAE,MAAW,EAAE,OAAY,EAAE,QAAa;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE3D,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;gBACxF,iBAAiB,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACpH,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,4CAA4C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;gBACzF,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;gBACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEvF,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;YAChF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5G,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9E,4DAA4D;YAC5D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/D,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,MAAW,EAAE,MAAW,EAAE,OAAY,EAAE,QAAa;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE3D,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,wGAAwG;gBACxG,iBAAiB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACzC,iBAAiB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;gBACxF,iBAAiB,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACpH,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtF,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBACvD,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,4CAA4C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;gBACzF,0DAA0D;gBAC1D,+CAA+C;gBAC/C,IAAI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;gBAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEvF,+DAA+D;YAC/D,wFAAwF;YACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACjC,SAAS,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAA;YAChF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5G,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9E,4DAA4D;YAC5D,8DAA8D;YAC9D,+CAA+C;YAC/C,IAAI,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/D,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,6BAA6B,CAAC,iBAAoC;QAC7E,qDAAqD;QACrD,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACvF,MAAM,IAAI,CAAC,OAAO,CAAC,2CAA2C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU;eAC1G,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3G,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAO,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,cAAc;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QACzG,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,qCAAqC,CAAA;QAClI,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAA;QAClE,aAAa;QACb,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/G,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,oCAAoC,CAAA;QACjI,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,aAAa,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACnE,WAAW;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,kCAAkC,CAAA;QACtH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,cAAc,GAA0B;gBAC5C,QAAQ,EAAE,SAAS;aACpB,CAAA;YACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YAC9F,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1G,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;YACvG,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;YACjG,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACtC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAClG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QAChF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,4CAA4C,CAAA;YACjE,MAAM,mBAAmB,GAAG,mBAAmB,CAAA;YAC/C,MAAM,sBAAsB,GAAG,mCAAmC,CAAA;YAElE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,2BAA2B,WAAW,qBAAqB,IAAI,sBAAsB,KAAK,qPAAqP,CAAC,CAAA;gBAE7V,4BAA4B;gBAC5B,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,KAAK,CAAA;oBACpB,IAAI,CAAC,OAAO,CAAC,qCAAqC,IAAI,iIAAiI,CAAC,CAAA;oBACxL,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;oBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,MAAM,aAAa,KAAK,GAAG,CAAC,CAAA;gBAC/D,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,KAAK,CAAA;oBACpB,IAAI,CAAC,OAAO,CAAC,wDAAwD,IAAI,gIAAgI,CAAC,CAAA;oBAC1M,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;oBACjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,MAAM,aAAa,KAAK,GAAG,CAAC,CAAA;gBAC/D,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAG,GAAU;QAC5B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAG,GAAU;QACjC,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,GAAU;QAC9B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,GAAU;QAC/B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU,CAAA;IACxH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.test.d.ts","sourceRoot":"","sources":["../src/platform.test.ts"],"names":[],"mappings":""}
|