zigbee-herdsman-converters 23.36.0 → 23.37.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.
@@ -1 +1 @@
1
- {"version":3,"file":"zemismart.d.ts","sourceRoot":"","sources":["../../src/devices/zemismart.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,oBAAoB,EAAS,MAAM,cAAc,CAAC;AAM/D,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAykB7C,CAAC"}
1
+ {"version":3,"file":"zemismart.d.ts","sourceRoot":"","sources":["../../src/devices/zemismart.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,oBAAoB,EAAS,MAAM,cAAc,CAAC;AAiE/D,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAyhB7C,CAAC"}
@@ -43,6 +43,64 @@ const reporting = __importStar(require("../lib/reporting"));
43
43
  const tuya = __importStar(require("../lib/tuya"));
44
44
  const e = exposes.presets;
45
45
  const ea = exposes.access;
46
+ const valueConverterLocal = {
47
+ indiciatorStatus: tuya.valueConverterBasic.lookup({
48
+ off: tuya.enum(0),
49
+ on_off_status: tuya.enum(1),
50
+ switch_position: tuya.enum(2),
51
+ }),
52
+ delayOffSchedule: tuya.valueConverterBasic.lookup({
53
+ red: tuya.enum(0),
54
+ blue: tuya.enum(1),
55
+ green: tuya.enum(2),
56
+ white: tuya.enum(3),
57
+ yellow: tuya.enum(4),
58
+ magenta: tuya.enum(5),
59
+ cyan: tuya.enum(6),
60
+ warmwhite: tuya.enum(7),
61
+ warmyellow: tuya.enum(8),
62
+ }),
63
+ relayStatus: tuya.valueConverterBasic.lookup({
64
+ power_off: tuya.enum(0),
65
+ power_on: tuya.enum(1),
66
+ restart_memory: tuya.enum(2),
67
+ }),
68
+ switchColor: tuya.valueConverterBasic.lookup({
69
+ red: tuya.enum(0),
70
+ blue: tuya.enum(1),
71
+ green: tuya.enum(2),
72
+ white: tuya.enum(3),
73
+ yellow: tuya.enum(4),
74
+ magenta: tuya.enum(5),
75
+ cyan: tuya.enum(6),
76
+ warmwhite: tuya.enum(7),
77
+ warmyellow: tuya.enum(8),
78
+ }),
79
+ name: {
80
+ to: (v, meta) => {
81
+ const stringValue = String(v ?? "");
82
+ const limitedString = stringValue.slice(0, 12);
83
+ return limitedString.split("").map((char) => char.charCodeAt(0));
84
+ },
85
+ from: (v, meta) => {
86
+ return Object.values(v)
87
+ .map((code) => String.fromCharCode(code))
88
+ .join("");
89
+ },
90
+ },
91
+ cycleSchedule: {
92
+ to: (v, meta) => {
93
+ const stringValue = String(v ?? "");
94
+ const limitedString = stringValue.slice(0, 12);
95
+ return limitedString.split("").map((char) => char.charCodeAt(0));
96
+ },
97
+ from: (v, meta) => {
98
+ return Object.values(v)
99
+ .map((code) => String.fromCharCode(code))
100
+ .join("");
101
+ },
102
+ },
103
+ };
46
104
  exports.definitions = [
47
105
  {
48
106
  fingerprint: tuya.fingerprint("TS0601", ["_TZE200_1vxgqfba"]),
@@ -320,7 +378,7 @@ exports.definitions = [
320
378
  },
321
379
  },
322
380
  {
323
- fingerprint: tuya.fingerprint("TS0601", ["_TZE200_9mahtqtg", "_TZE200_r731zlxk"]),
381
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE200_9mahtqtg", "_TZE200_r731zlxk", "_TZE204_r731zlxk"]),
324
382
  model: "TB26-6",
325
383
  vendor: "Zemismart",
326
384
  description: "6-gang smart wall switch",
@@ -384,6 +442,93 @@ exports.definitions = [
384
442
  description: "Smart 20A outlet",
385
443
  extend: [m.identify(), tuya.modernExtend.tuyaOnOff({ indicatorMode: true, onOffCountdown: true, childLock: true })],
386
444
  },
445
+ {
446
+ fingerprint: tuya.fingerprint("TS0601", ["_TZE284_3ctwoaip"]),
447
+ model: "ZMS-206EU-2",
448
+ vendor: "Zemismart",
449
+ description: "Smart screen switch 2 gang",
450
+ fromZigbee: [tuya.fz.datapoints],
451
+ toZigbee: [tuya.tz.datapoints],
452
+ onEvent: tuya.onEventSetTime,
453
+ configure: tuya.configureMagicPacket,
454
+ exposes: [
455
+ tuya.exposes.backlightModeOffOn().withAccess(ea.STATE_SET),
456
+ e.switch(),
457
+ e.switch().withEndpoint("l1"),
458
+ e.switch().withEndpoint("l2"),
459
+ e
460
+ .numeric("backlight_brightness", ea.STATE_SET)
461
+ .withDescription("Brightness of the light")
462
+ .withUnit("%")
463
+ .withValueMin(0)
464
+ .withValueMax(100)
465
+ .withValueStep(1),
466
+ e.child_lock(),
467
+ e
468
+ .enum("switch_color_on", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
469
+ .withDescription("Switch lightcolor when on"),
470
+ e
471
+ .enum("switch_color_off", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
472
+ .withDescription("Switch lightcolor when off"),
473
+ e.enum("indicator_status", ea.STATE_SET, ["off", "on_off_status", "switch_position"]).withDescription("Indicator Light Status"),
474
+ e
475
+ .enum("delay_off_schedule", ea.STATE_SET, ["red", "blue", "green", "white", "yellow", "magenta", "cyan", "warm_white", "warm_yellow"])
476
+ .withDescription("Switch lightcolor while delayed"),
477
+ e.text("name", ea.STATE_SET).withEndpoint("l1").withDescription("Name for Switch 1"),
478
+ e.text("name", ea.STATE_SET).withEndpoint("l2").withDescription("Name for Switch 2"),
479
+ e
480
+ .enum("relay_status", ea.STATE_SET, ["power_on", "power_off", "restart_memory"])
481
+ .withEndpoint("l1")
482
+ .withDescription("Relay Status for Switch 1"),
483
+ e
484
+ .enum("relay_status", ea.STATE_SET, ["power_on", "power_off", "restart_memory"])
485
+ .withEndpoint("l2")
486
+ .withDescription("Relay Status for Switch 2"),
487
+ e
488
+ .numeric("countdown", ea.STATE_SET)
489
+ .withEndpoint("l1")
490
+ .withDescription("Countdown for Switch 1")
491
+ .withUnit("s")
492
+ .withValueMin(0)
493
+ .withValueMax(43200)
494
+ .withValueStep(1),
495
+ e
496
+ .numeric("countdown", ea.STATE_SET)
497
+ .withEndpoint("l2")
498
+ .withDescription("Countdown for Switch 2")
499
+ .withUnit("s")
500
+ .withValueMin(0)
501
+ .withValueMax(43200)
502
+ .withValueStep(1),
503
+ ],
504
+ endpoint: (device) => {
505
+ return { l1: 1, l2: 1 };
506
+ },
507
+ meta: {
508
+ multiEndpoint: true,
509
+ tuyaDatapoints: [
510
+ [1, "state_l1", tuya.valueConverter.onOff, { skip: tuya.skip.stateOnAndBrightnessPresent }],
511
+ [2, "state_l2", tuya.valueConverter.onOff, { skip: tuya.skip.stateOnAndBrightnessPresent }],
512
+ [7, "countdown_l1", tuya.valueConverter.raw],
513
+ [8, "countdown_l2", tuya.valueConverter.raw],
514
+ [13, "state", tuya.valueConverter.onOff, { skip: tuya.skip.stateOnAndBrightnessPresent }],
515
+ [14, "relay_status", tuya.valueConverter.raw],
516
+ [15, "indicator_status", valueConverterLocal.indiciatorStatus],
517
+ [16, "backlight_mode", tuya.valueConverter.onOff],
518
+ [19, "delay_off_schedule", valueConverterLocal.delayOffSchedule],
519
+ [24, "test_bit", tuya.valueConverter.raw],
520
+ [29, "relay_status_l1", valueConverterLocal.relayStatus],
521
+ [30, "relay_status_l2", valueConverterLocal.relayStatus],
522
+ [101, "child_lock", tuya.valueConverter.lockUnlock],
523
+ [102, "backlight_brightness", tuya.valueConverter.raw],
524
+ [103, "switch_color_off", valueConverterLocal.switchColor],
525
+ [104, "switch_color_on", valueConverterLocal.switchColor],
526
+ [105, "name_l1", valueConverterLocal.name],
527
+ [106, "name_l2", valueConverterLocal.name],
528
+ [209, "cycle_schedule", valueConverterLocal.cycleSchedule],
529
+ ],
530
+ },
531
+ },
387
532
  {
388
533
  fingerprint: tuya.fingerprint("TS0601", ["_TZE204_k7v0eqke", "_TZE204_iyki9kjp"]),
389
534
  model: "ZMS-206EU-3",
@@ -471,158 +616,23 @@ exports.definitions = [
471
616
  [9, "countdown_l3", tuya.valueConverter.raw],
472
617
  [13, "state", tuya.valueConverter.onOff, { skip: tuya.skip.stateOnAndBrightnessPresent }],
473
618
  [14, "relay_status", tuya.valueConverter.raw],
474
- [
475
- 15,
476
- "indicator_status",
477
- tuya.valueConverterBasic.lookup({
478
- off: tuya.enum(0),
479
- on_off_status: tuya.enum(1),
480
- switch_position: tuya.enum(2),
481
- }),
482
- ],
619
+ [15, "indicator_status", valueConverterLocal.indiciatorStatus],
483
620
  [16, "backlight_mode", tuya.valueConverter.onOff],
484
- [
485
- 19,
486
- "delay_off_schedule",
487
- tuya.valueConverterBasic.lookup({
488
- red: tuya.enum(0),
489
- blue: tuya.enum(1),
490
- green: tuya.enum(2),
491
- white: tuya.enum(3),
492
- yellow: tuya.enum(4),
493
- magenta: tuya.enum(5),
494
- cyan: tuya.enum(6),
495
- warmwhite: tuya.enum(7),
496
- warmyellow: tuya.enum(8),
497
- }),
498
- ],
621
+ [19, "delay_off_schedule", valueConverterLocal.delayOffSchedule],
499
622
  [24, "test_bit", tuya.valueConverter.raw],
500
- [
501
- 29,
502
- "relay_status_l1",
503
- tuya.valueConverterBasic.lookup({
504
- power_off: tuya.enum(0),
505
- power_on: tuya.enum(1),
506
- restart_memory: tuya.enum(2),
507
- }),
508
- ],
509
- [
510
- 30,
511
- "relay_status_l2",
512
- tuya.valueConverterBasic.lookup({
513
- power_off: tuya.enum(0),
514
- power_on: tuya.enum(1),
515
- restart_memory: tuya.enum(2),
516
- }),
517
- ],
518
- [
519
- 31,
520
- "relay_status_l3",
521
- tuya.valueConverterBasic.lookup({
522
- power_off: tuya.enum(0),
523
- power_on: tuya.enum(1),
524
- restart_memory: tuya.enum(2),
525
- }),
526
- ],
623
+ [29, "relay_status_l1", valueConverterLocal.relayStatus],
624
+ [30, "relay_status_l2", valueConverterLocal.relayStatus],
625
+ [31, "relay_status_l3", valueConverterLocal.relayStatus],
527
626
  [101, "child_lock", tuya.valueConverter.lockUnlock],
528
627
  [102, "backlight_brightness", tuya.valueConverter.raw],
529
- [
530
- 103,
531
- "switch_color_off",
532
- tuya.valueConverterBasic.lookup({
533
- red: tuya.enum(0),
534
- blue: tuya.enum(1),
535
- green: tuya.enum(2),
536
- white: tuya.enum(3),
537
- yellow: tuya.enum(4),
538
- magenta: tuya.enum(5),
539
- cyan: tuya.enum(6),
540
- warmwhite: tuya.enum(7),
541
- warmyellow: tuya.enum(8),
542
- }),
543
- ],
544
- [
545
- 104,
546
- "switch_color_on",
547
- tuya.valueConverterBasic.lookup({
548
- red: tuya.enum(0),
549
- blue: tuya.enum(1),
550
- green: tuya.enum(2),
551
- white: tuya.enum(3),
552
- yellow: tuya.enum(4),
553
- magenta: tuya.enum(5),
554
- cyan: tuya.enum(6),
555
- warmwhite: tuya.enum(7),
556
- warmyellow: tuya.enum(8),
557
- }),
558
- ],
559
- [
560
- 105,
561
- "name_l1",
562
- {
563
- to: (v, meta) => {
564
- const stringValue = String(v ?? "");
565
- const limitedString = stringValue.slice(0, 12);
566
- return limitedString.split("").map((char) => char.charCodeAt(0));
567
- },
568
- from: (v, meta) => {
569
- return Object.values(v)
570
- .map((code) => String.fromCharCode(code))
571
- .join("");
572
- },
573
- },
574
- ],
575
- [
576
- 106,
577
- "name_l2",
578
- {
579
- to: (v, meta) => {
580
- const stringValue = String(v ?? "");
581
- const limitedString = stringValue.slice(0, 12);
582
- return limitedString.split("").map((char) => char.charCodeAt(0));
583
- },
584
- from: (v, meta) => {
585
- return Object.values(v)
586
- .map((code) => String.fromCharCode(code))
587
- .join("");
588
- },
589
- },
590
- ],
591
- [
592
- 107,
593
- "name_l3",
594
- {
595
- to: (v, meta) => {
596
- const stringValue = String(v ?? "");
597
- const limitedString = stringValue.slice(0, 12);
598
- return limitedString.split("").map((char) => char.charCodeAt(0));
599
- },
600
- from: (v, meta) => {
601
- return Object.values(v)
602
- .map((code) => String.fromCharCode(code))
603
- .join("");
604
- },
605
- },
606
- ],
607
- [
608
- 209,
609
- "cycle_schedule",
610
- {
611
- to: (v, meta) => {
612
- const stringValue = String(v ?? "");
613
- const limitedString = stringValue.slice(0, 12);
614
- return limitedString.split("").map((char) => char.charCodeAt(0));
615
- },
616
- from: (v, meta) => {
617
- return Object.values(v)
618
- .map((code) => String.fromCharCode(code))
619
- .join("");
620
- },
621
- },
622
- ],
628
+ [103, "switch_color_off", valueConverterLocal.switchColor],
629
+ [104, "switch_color_on", valueConverterLocal.switchColor],
630
+ [105, "name_l1", valueConverterLocal.name],
631
+ [106, "name_l2", valueConverterLocal.name],
632
+ [107, "name_l3", valueConverterLocal.name],
633
+ [209, "cycle_schedule", valueConverterLocal.cycleSchedule],
623
634
  ],
624
635
  },
625
- whiteLabel: [tuya.whitelabel("Zemismart", "ZMS-206US-3", "Smart screen switch 3 gang US", ["_TZE204_iyki9kjp"])],
626
636
  },
627
637
  ];
628
638
  //# sourceMappingURL=zemismart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zemismart.js","sourceRoot":"","sources":["../../src/devices/zemismart.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,2DAA6C;AAC7C,wDAA0C;AAC1C,sDAAwC;AACxC,uDAAyC;AACzC,4DAA8C;AAC9C,kDAAoC;AAGpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;AAE1B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;AAEb,QAAA,WAAW,GAA2B;IAC/C;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAC9D,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAClE,OAAO,EAAE;YACL,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YACzH,CAAC;iBACI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;iBAC1E,eAAe,CAAC,sBAAsB,CAAC;iBACvC,YAAY,CAAC,QAAQ,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YACxH,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,oCAAoC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YACzI,CAAC;iBACI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAC3D,eAAe,CAAC,qCAAqC,CAAC;iBACtD,YAAY,CAAC,QAAQ,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,oCAAoC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;SAC5I;QACD,IAAI,EAAE;YACF,4BAA4B;YAC5B,cAAc,EAAE;gBACZ,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;gBACjE,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;gBAC7E,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBACvF,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBACxF,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBACvF,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;aACzH;SACJ;KACJ;IACD;QACI,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;KAClE;IACD;QACI,WAAW,EAAE,CAAC,iBAAiB,CAAC;QAChC,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;KAClE;IACD;QACI,WAAW,EAAE,CAAC,QAAQ,CAAC;QACvB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAAC;QACjE,QAAQ,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC;QACvD,OAAO,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;QAC3B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAChF,qEAAqE;YACrE,oDAAoD;QACxD,CAAC;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACjF,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAC,CAAC,CAAC;QAC/E,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;QAC3B,QAAQ,EAAE,GAAG,EAAE;YACX,OAAO,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;QAC1C,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC7D,KAAK,MAAM,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;KACJ;IACD;QACI,WAAW,EAAE,CAAC,iBAAiB,CAAC;QAChC,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,+CAA+C;QAC5D,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACtB;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,IAAI,CAAC,cAAc;QAC5B,OAAO,EAAE;YACL,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,MAAM,CAAC;gBACL,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;aACpB,CAAC;SACL;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrG,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,oDAAoD;QACjE,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAC,CAAC,CAAC;QACzF,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;QAC3B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;YAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrG,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,eAAe;QAC5B,gFAAgF;QAChF,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC,2BAA2B,EAAE,KAAK,EAAC,CAAC;QAC3D,SAAS,EAAE,IAAI,CAAC,oBAAoB;QACpC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAChC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAC9B,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,OAAO,EAAE;YACL,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,4BAA4B,CAAC;YAC7G,CAAC;iBACI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;iBAC/E,eAAe,CAAC,kFAAkF,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC;SACrG;QACD,IAAI,EAAE;YACF,cAAc,EAAE;gBACZ;oBACI,CAAC;oBACD,OAAO;oBACP,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,OAAO,CAAC,YAAY;wBAChB,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;wBAC/D,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CACtE;iBACJ;gBACD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;gBACjE;oBACI,CAAC;oBACD,YAAY;oBACZ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CACzH;iBACJ;gBACD,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACxC;oBACI,GAAG;oBACH,SAAS;oBACT,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,EAAE,CACR,OAAO,CAAC,YAAY;wBAChB,CAAC,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;wBAC1E,CAAC,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAClF,IAAI,CACP;iBACJ;gBACD;oBACI,GAAG;oBACH,eAAe;oBACf,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,EAAE,CACR,OAAO,CAAC,YAAY;wBAChB,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;wBAClG,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAC1G,IAAI,CACP;iBACJ;gBACD,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;aAC5C;SACJ;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACjF,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QACpC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QAClC,OAAO,EAAE;YACL,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC;YACtD,CAAC;iBACI,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC;iBACzC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACrH,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAChG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACtF,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1E,oFAAoF;YACpF,wCAAwC;YACxC,+GAA+G;YAC/G,kFAAkF;YAClF,uDAAuD;YACvD,oDAAoD;YACpD,qFAAqF;SACxF;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACjF,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QACpC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;QAClC,OAAO,EAAE;YACL,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACtF,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC7E;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC1D,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC;QACtG,OAAO,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAC,WAAW,EAAE,sBAAsB,EAAC,CAAC,CAAC;KACtE;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrG,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;SACjE;QACD,UAAU,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;QAC3D,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACvC,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;QACxC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;YAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;YAC5C,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACjF,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC;SACjE;QACD,UAAU,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;QAC3D,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACvC,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;QACtD,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;YAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1G,oGAAoG;YACpG,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;YAC5C,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,kCAAkC;QAC/C,MAAM,EAAE;YACJ,CAAC,CAAC,eAAe,CAAC,EAAC,SAAS,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,QAAQ,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAC,CAAC;SACrH;KACJ;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,kCAAkC;QAC/C,MAAM,EAAE;YACJ,CAAC,CAAC,eAAe,CAAC,EAAC,SAAS,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,EAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAC,CAAC;SACnI;QACD,SAAS,EAAE,IAAI,CAAC,oBAAoB;KACvC;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC7D,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KACpH;IACD;QACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACjF,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,4BAA4B;QACzC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAChC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,oEAAoE;QAClG,SAAS,EAAE,IAAI,CAAC,oBAAoB;QACpC,OAAO,EAAE;YACL,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC;YAC1D,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7B,CAAC;iBACI,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,SAAS,CAAC;iBAC7C,eAAe,CAAC,yBAAyB,CAAC;iBAC1C,QAAQ,CAAC,GAAG,CAAC;iBACb,YAAY,CAAC,CAAC,CAAC;iBACf,YAAY,CAAC,GAAG,CAAC;iBACjB,aAAa,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,UAAU,EAAE;YACd,CAAC;iBACI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBAClI,eAAe,CAAC,2BAA2B,CAAC;YACjD,CAAC;iBACI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBACnI,eAAe,CAAC,4BAA4B,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,wBAAwB,CAAC;YAC/H,CAAC;iBACI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBACrI,eAAe,CAAC,iCAAiC,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC;YACpF,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC;YACpF,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC;YACpF,CAAC;iBACI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;iBAC/E,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,2BAA2B,CAAC;YACjD,CAAC;iBACI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;iBAC/E,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,2BAA2B,CAAC;YACjD,CAAC;iBACI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;iBAC/E,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,2BAA2B,CAAC;YACjD,CAAC;iBACI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC;iBAClC,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,wBAAwB,CAAC;iBACzC,QAAQ,CAAC,GAAG,CAAC;iBACb,YAAY,CAAC,CAAC,CAAC;iBACf,YAAY,CAAC,KAAK,CAAC;iBACnB,aAAa,CAAC,CAAC,CAAC;YACrB,CAAC;iBACI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC;iBAClC,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,wBAAwB,CAAC;iBACzC,QAAQ,CAAC,GAAG,CAAC;iBACb,YAAY,CAAC,CAAC,CAAC;iBACf,YAAY,CAAC,KAAK,CAAC;iBACnB,aAAa,CAAC,CAAC,CAAC;YACrB,CAAC;iBACI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC;iBAClC,YAAY,CAAC,IAAI,CAAC;iBAClB,eAAe,CAAC,wBAAwB,CAAC;iBACzC,QAAQ,CAAC,GAAG,CAAC;iBACb,YAAY,CAAC,CAAC,CAAC;iBACf,YAAY,CAAC,KAAK,CAAC;iBACnB,aAAa,CAAC,CAAC,CAAC;SACxB;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;QACjC,CAAC;QACD,IAAI,EAAE;YACF,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE;gBACZ,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAC,CAAC;gBACzF,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAC,CAAC;gBACzF,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAC,CAAC;gBACzF,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC5C,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAC,CAAC;gBACvF,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC7C;oBACI,EAAE;oBACF,kBAAkB;oBAClB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACjB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC3B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAChC,CAAC;iBACL;gBACD,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBACjD;oBACI,EAAE;oBACF,oBAAoB;oBACpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC3B,CAAC;iBACL;gBACD,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACzC;oBACI,EAAE;oBACF,iBAAiB;oBACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC/B,CAAC;iBACL;gBACD;oBACI,EAAE;oBACF,iBAAiB;oBACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC/B,CAAC;iBACL;gBACD;oBACI,EAAE;oBACF,iBAAiB;oBACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC/B,CAAC;iBACL;gBACD,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;gBACnD,CAAC,GAAG,EAAE,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACtD;oBACI,GAAG;oBACH,kBAAkB;oBAClB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC3B,CAAC;iBACL;gBACD;oBACI,GAAG;oBACH,iBAAiB;oBACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;wBAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBAC3B,CAAC;iBACL;gBACD;oBACI,GAAG;oBACH,SAAS;oBACT;wBACI,EAAE,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iCAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iCACxC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;qBACJ;iBACJ;gBACD;oBACI,GAAG;oBACH,SAAS;oBACT;wBACI,EAAE,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iCAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iCACxC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;qBACJ;iBACJ;gBACD;oBACI,GAAG;oBACH,SAAS;oBACT;wBACI,EAAE,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iCAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iCACxC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;qBACJ;iBACJ;gBACD;oBACI,GAAG;oBACH,gBAAgB;oBAChB;wBACI,EAAE,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrE,CAAC;wBACD,IAAI,EAAE,CAAC,CAAS,EAAE,IAAa,EAAE,EAAE;4BAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iCAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iCACxC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClB,CAAC;qBACJ;iBACJ;aACJ;SACJ;QACD,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;KACnH;CACJ,CAAC"}
1
+ {"version":3,"file":"zemismart.js","sourceRoot":"","sources":["../../src/devices/zemismart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ikea.d.ts","sourceRoot":"","sources":["../../src/lib/ikea.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAKpC,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAGzC,OAAO,KAAK,EAAwB,QAAQ,EAAoC,YAAY,EAAW,KAAK,EAAS,MAAM,cAAc,CAAC;AAkB1I,eAAO,MAAM,mBAAmB;;CAA0D,CAAC;AAqD3F,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG;IAAC,SAAS,CAAC,EAAE,IAAI,GAAG;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAC,CAAA;CAAC,gBAkDpH;AAED,wBAAgB,WAAW,IAAI,YAAY,CAiE1C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAYnD;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAqBlD;AAED,wBAAgB,eAAe,IAAI,YAAY,CAmP9C;AAED,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,gBAWpD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GAAG,YAAY,CAalF;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CA2C/C;AAED,wBAAgB,0BAA0B,IAAI,YAAY,CAqBzD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAenD;AAED,wBAAgB,wBAAwB,IAAI,YAAY,CAiCvD;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAoB/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,YAAY,CA0D1H;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAC,GAAG,YAAY,CAiDvF;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAqChD;AAED,wBAAgB,2CAA2C,IAAI,YAAY,CAkB1E;AAED,wBAAgB,mDAAmD,IAAI,YAAY,CAYlF;AAKD,wBAAgB,uCAAuC,IAAI,YAAY,CAQtE"}
1
+ {"version":3,"file":"ikea.d.ts","sourceRoot":"","sources":["../../src/lib/ikea.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAKpC,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAGzC,OAAO,KAAK,EAAwB,QAAQ,EAAoC,YAAY,EAAW,KAAK,EAAS,MAAM,cAAc,CAAC;AAkB1I,eAAO,MAAM,mBAAmB;;CAA0D,CAAC;AAqD3F,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG;IAAC,SAAS,CAAC,EAAE,IAAI,GAAG;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAC,CAAA;CAAC,gBAoDpH;AAED,wBAAgB,WAAW,IAAI,YAAY,CAiE1C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAYnD;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAqBlD;AAED,wBAAgB,eAAe,IAAI,YAAY,CAmP9C;AAED,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,gBAWpD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GAAG,YAAY,CAalF;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CA2C/C;AAED,wBAAgB,0BAA0B,IAAI,YAAY,CAqBzD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAenD;AAED,wBAAgB,wBAAwB,IAAI,YAAY,CAiCvD;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAoB/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,YAAY,CA0D1H;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAC,GAAG,YAAY,CAiDvF;AAED,wBAAgB,iBAAiB,IAAI,YAAY,CAqChD;AAED,wBAAgB,2CAA2C,IAAI,YAAY,CAkB1E;AAED,wBAAgB,mDAAmD,IAAI,YAAY,CAYlF;AAKD,wBAAgB,uCAAuC,IAAI,YAAY,CAQtE"}
package/dist/lib/ikea.js CHANGED
@@ -131,14 +131,16 @@ function ikeaLight(args) {
131
131
  if (result.toZigbee) {
132
132
  // add unfreeze support for color lights
133
133
  result.toZigbee = result.toZigbee.map((orig) => {
134
- if (orig.key?.some((k) => keysNeedingUnfreeze.has(k))) {
134
+ // As of 2025-04, it looks like all IKEA WS/CWS lights are affected by the freezing bug:
135
+ const affectedByFreezingBug = true;
136
+ if (orig.options && affectedByFreezingBug) {
135
137
  const origOptions = orig.options;
136
138
  return {
137
139
  ...orig,
138
140
  options: typeof origOptions === "function"
139
141
  ? (def) => [...origOptions(def), exposes_1.options.unfreeze_support()]
140
142
  : [...origOptions, exposes_1.options.unfreeze_support()],
141
- convertSet: ikea_bulb_unfreeze(orig.convertSet),
143
+ convertSet: trackFreezing(orig.convertSet),
142
144
  };
143
145
  }
144
146
  return orig;
@@ -823,48 +825,57 @@ const unfreezeMechanisms = {
823
825
  await entity.command("genLevelCtrl", "stop", {}, {});
824
826
  },
825
827
  };
826
- // zigbee commands which will freeze an IKEA light
827
- const willFreeze = (payload, transition, value) =>
828
- // any color command with a transition will freeze the light...
829
- transition > 0 &&
830
- ("color" in payload ||
831
- "color_temp" in payload ||
832
- "color_temp_move" in payload ||
833
- "color_temp_percent" in payload ||
834
- "color_temp_startup" in payload ||
835
- "color_temp_step" in payload ||
836
- "colortemp_move" in payload) &&
837
- // ...except for 'stop' commands:
838
- // aka { rate: 1, movemode: 0 }, which are generated
839
- // in light_colortemp_move() from these arguments:
840
- value !== "stop" &&
841
- value !== 0;
828
+ const STOP_VALUES = ["stop", "0", 0];
829
+ // Payloads that can freeze and unfreeze the lights:
830
+ const COLOR_CHANGE = /(^|_)(color(temp(erature)?)?|hue|saturation)($|_)/;
831
+ const willFreeze = (key, transition, value) =>
832
+ // Any color change command with a transition will freeze the light...
833
+ COLOR_CHANGE.test(key) &&
834
+ transition > 0 &&
835
+ // ...except if it's a move/step and we're stopping:
836
+ !STOP_VALUES.some((stop) => value === stop);
837
+ const UNFREEZE_DEPENDS_ON_LIGHT = /(color_temp)/; // CWS lights do not support this
838
+ const UNFREEZE_ALWAYS = /^(brightness_(move|step))|(color_temp_step)$/;
839
+ const UNFREEZE_WITH_STOP = /^(color_temp_move)$/;
840
+ const willUnfreeze = (key, value) => {
841
+ if (UNFREEZE_DEPENDS_ON_LIGHT.test(key)) {
842
+ return false; // be pessimistic and assume the light won't support it
843
+ }
844
+ if (UNFREEZE_ALWAYS.test(key)) {
845
+ return true; // otherwise those will unfreeze
846
+ }
847
+ if (UNFREEZE_WITH_STOP.test(key) && STOP_VALUES.some((stop) => value === stop)) {
848
+ return true; // and also those, if value matches
849
+ }
850
+ return false;
851
+ };
842
852
  // Certain IKEA lights will freeze when given a brightness or temperature change with a transition
843
853
  // We track if a light is frozen and if so, before issuing further commands, we send a command known to unfreeze the light
844
854
  // https://github.com/Koenkk/zigbee2mqtt/issues/18574
845
- //
846
- // These are keys for whom we need to unfreeze the light before issuing a corresponding command to said light
847
- const keysNeedingUnfreeze = new Set(["state", "brightness", "brightness_percent", "color_temp", "color_temp_percent"]);
848
- const ikea_bulb_unfreeze = (next) => {
855
+ const trackFreezing = (next) => {
849
856
  const converter = async (entity, key, value, meta) => {
850
- if (!keysNeedingUnfreeze.has(key) || meta.options.unfreeze_support === false) {
857
+ if (meta.options.unfreeze_support === false) {
851
858
  return await next(entity, key, value, meta);
852
859
  }
853
860
  const id = "deviceIeeeAddress" in entity ? entity.deviceIeeeAddress : entity.groupID;
854
861
  const now = Date.now();
862
+ // unfreeze if necessary before sending the desired commands:
855
863
  const wasFrozenUntil = globalStore.getValue(entity, "frozenUntil");
856
- if (wasFrozenUntil != null && now <= wasFrozenUntil) {
857
- logger_1.logger.debug(`${id}: light is frozen until ${new Date(wasFrozenUntil).toISOString()}, unfreezing via "genLevelCtrl"`, NS);
858
- // hardcoded to a single unfreeze mechanism for now
864
+ const isFrozenNow = wasFrozenUntil != null && now <= wasFrozenUntil;
865
+ const needsUnfreezing = isFrozenNow && !willUnfreeze(key, value);
866
+ if (needsUnfreezing) {
867
+ // hardcoded to a single unfreeze mechanism for now:
868
+ logger_1.logger.debug(`${id}: light frozen until ${new Date(wasFrozenUntil).toISOString()}, unfreezing via "genLevelCtrl"`, NS);
859
869
  await unfreezeMechanisms.genLevelCtrl(entity);
860
870
  }
871
+ // at this point the light is not frozen, send the desired commands:
861
872
  const ret = await next(entity, key, value, meta);
873
+ // track if the command has frozen the light:
862
874
  const transition = (0, utils_1.getTransition)(entity, key, meta);
863
- if (willFreeze(meta.message, transition.time, value)) {
864
- // remember that the light is now frozen
875
+ if (willFreeze(key, transition.time, value)) {
865
876
  const millis = transition.time * 100;
866
877
  const frozenUntil = Date.now() + millis;
867
- logger_1.logger.debug(`${id}: marking light as frozen until ${new Date(frozenUntil).toISOString()} because of "${key}"`, NS);
878
+ logger_1.logger.debug(`${id}: marking light as frozen until ${new Date(frozenUntil).toISOString()} because of "${key}" with transition`, NS);
868
879
  globalStore.putValue(entity, "frozenUntil", frozenUntil);
869
880
  }
870
881
  else if (wasFrozenUntil != null) {