zigbee-herdsman 4.5.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +18 -0
  3. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  4. package/dist/controller/helpers/zclFrameConverter.js +2 -14
  5. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  6. package/dist/controller/model/device.js +3 -5
  7. package/dist/controller/model/device.js.map +1 -1
  8. package/dist/controller/model/endpoint.d.ts +1 -1
  9. package/dist/controller/model/endpoint.d.ts.map +1 -1
  10. package/dist/controller/model/endpoint.js +67 -43
  11. package/dist/controller/model/endpoint.js.map +1 -1
  12. package/dist/controller/model/group.d.ts.map +1 -1
  13. package/dist/controller/model/group.js +28 -17
  14. package/dist/controller/model/group.js.map +1 -1
  15. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  16. package/dist/zspec/zcl/buffaloZcl.js +5 -5
  17. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  18. package/dist/zspec/zcl/definition/tstype.d.ts +1 -2
  19. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  20. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  21. package/dist/zspec/zcl/utils.js +8 -30
  22. package/dist/zspec/zcl/utils.js.map +1 -1
  23. package/dist/zspec/zcl/zclFrame.d.ts +1 -1
  24. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  25. package/dist/zspec/zcl/zclFrame.js +8 -6
  26. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/controller/helpers/zclFrameConverter.ts +4 -12
  29. package/src/controller/model/device.ts +5 -5
  30. package/src/controller/model/endpoint.ts +86 -49
  31. package/src/controller/model/group.ts +33 -18
  32. package/src/zspec/zcl/buffaloZcl.ts +6 -4
  33. package/src/zspec/zcl/definition/tstype.ts +1 -2
  34. package/src/zspec/zcl/utils.ts +8 -35
  35. package/src/zspec/zcl/zclFrame.ts +10 -8
  36. package/test/controller.test.ts +352 -1360
  37. package/test/requests.bench.ts +5 -0
  38. package/test/zcl.test.ts +11 -15
  39. package/test/zspec/zcl/frame.test.ts +25 -25
  40. package/test/zspec/zcl/utils.test.ts +6 -14
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "4.5.0"
2
+ ".": "5.0.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.0.1](https://github.com/Koenkk/zigbee-herdsman/compare/v5.0.0...v5.0.1) (2025-07-26)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Improve perf with ZCL getters, align manuf code behavior ([#1456](https://github.com/Koenkk/zigbee-herdsman/issues/1456)) ([a909f87](https://github.com/Koenkk/zigbee-herdsman/commit/a909f876c26081fa858976827fa08efcac116f3d))
9
+
10
+ ## [5.0.0](https://github.com/Koenkk/zigbee-herdsman/compare/v4.5.0...v5.0.0) (2025-07-25)
11
+
12
+
13
+ ### ⚠ BREAKING CHANGES
14
+
15
+ * Remove unnecessary throwing ([#1455](https://github.com/Koenkk/zigbee-herdsman/issues/1455))
16
+
17
+ ### Bug Fixes
18
+
19
+ * Remove unnecessary throwing ([#1455](https://github.com/Koenkk/zigbee-herdsman/issues/1455)) ([e7087d5](https://github.com/Koenkk/zigbee-herdsman/commit/e7087d51f2214ed30076328ce5c06dca5f3f8261))
20
+
3
21
  ## [4.5.0](https://github.com/Koenkk/zigbee-herdsman/compare/v4.4.1...v4.5.0) (2025-07-21)
4
22
 
5
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"zclFrameConverter.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/zclFrameConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAU,cAAc,EAAC,MAAM,mCAAmC,CAAC;AAE/E,UAAU,QAAQ;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAqBD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,cAAc,GAAG,QAAQ,CAa/H;AAID,iBAAS,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAazI;AAED,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,CAAC"}
1
+ {"version":3,"file":"zclFrameConverter.d.ts","sourceRoot":"","sources":["../../../src/controller/helpers/zclFrameConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAU,cAAc,EAAC,MAAM,mCAAmC,CAAC;AAE/E,UAAU,QAAQ;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAqBD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,cAAc,GAAG,QAAQ,CAS/H;AAID,iBAAS,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CASzI;AAED,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,CAAC"}
@@ -52,13 +52,7 @@ function attributeKeyValue(frame, deviceManufacturerID, customClusters) {
52
52
  const payload = {};
53
53
  const cluster = getCluster(frame, deviceManufacturerID, customClusters);
54
54
  for (const item of frame.payload) {
55
- try {
56
- const attribute = cluster.getAttribute(item.attrId);
57
- payload[attribute.name] = item.attrData;
58
- }
59
- catch {
60
- payload[item.attrId] = item.attrData;
61
- }
55
+ payload[cluster.getAttribute(item.attrId)?.name ?? item.attrId] = item.attrData;
62
56
  }
63
57
  return payload;
64
58
  }
@@ -66,13 +60,7 @@ function attributeList(frame, deviceManufacturerID, customClusters) {
66
60
  const payload = [];
67
61
  const cluster = getCluster(frame, deviceManufacturerID, customClusters);
68
62
  for (const item of frame.payload) {
69
- try {
70
- const attribute = cluster.getAttribute(item.attrId);
71
- payload.push(attribute.name);
72
- }
73
- catch {
74
- payload.push(item.attrId);
75
- }
63
+ payload.push(cluster.getAttribute(item.attrId)?.name ?? item.attrId);
76
64
  }
77
65
  return payload;
78
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zclFrameConverter.js","sourceRoot":"","sources":["../../../src/controller/helpers/zclFrameConverter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DQ,8CAAiB;AAAE,sCAAa;AA1DxC,qDAAuC;AAOvC,4EAA4E;AAC5E,2EAA2E;AAC3E,oDAAoD;AACpD,iEAAiE;AACjE,4CAA4C;AAC5C,SAAS,UAAU,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IAC1G,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,IAAI,KAAK,EAAE,OAAO,IAAI,oBAAoB,KAAK,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpH,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAQD,SAAS,iBAAiB,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IACjH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAsB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAID,SAAS,aAAa,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IAC7G,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAA0B,EAAE,CAAC;QAClD,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"zclFrameConverter.js","sourceRoot":"","sources":["../../../src/controller/helpers/zclFrameConverter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDQ,8CAAiB;AAAE,sCAAa;AAlDxC,qDAAuC;AAOvC,4EAA4E;AAC5E,2EAA2E;AAC3E,oDAAoD;AACpD,iEAAiE;AACjE,4CAA4C;AAC5C,SAAS,UAAU,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IAC1G,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,IAAI,KAAK,EAAE,OAAO,IAAI,oBAAoB,KAAK,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpH,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAQD,SAAS,iBAAiB,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IACjH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAsB,EAAE,CAAC;QAC9C,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpF,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAID,SAAS,aAAa,CAAC,KAAgB,EAAE,oBAAwC,EAAE,cAA8B;IAC7G,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAA0B,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -372,11 +372,9 @@ class Device extends entity_1.default {
372
372
  if (frame.cluster.name in attributes) {
373
373
  const response = {};
374
374
  for (const entry of frame.payload) {
375
- if (frame.cluster.hasAttribute(entry.attrId)) {
376
- const name = frame.cluster.getAttribute(entry.attrId).name;
377
- if (name in attributes[frame.cluster.name].attributes) {
378
- response[name] = attributes[frame.cluster.name].attributes[name];
379
- }
375
+ const name = frame.cluster.getAttribute(entry.attrId)?.name;
376
+ if (name && name in attributes[frame.cluster.name].attributes) {
377
+ response[name] = attributes[frame.cluster.name].attributes[name];
380
378
  }
381
379
  }
382
380
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAiC;AAIjC,uCAAiC;AACjC,+CAA0C;AAC1C,mDAAqC;AACrC,6CAAmD;AAEnD,qDAAuC;AAEvC,qDAAuC;AAEvC,2GAAmF;AAEnF,0DAAkC;AAClC,sDAA8B;AAE9B;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,qCAAqC,CAAC,CAAC,OAAO,EAAE,CAAC;AAEjF,MAAM,EAAE,GAAG,sBAAsB,CAAC;AAkBlC,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,4CAA0B,CAAA;IAC1B,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;AACrB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,MAAa,MAAO,SAAQ,gBAA0B;IAClD,iEAAiE;IAChD,EAAE,CAAS;IACpB,mBAAmB,CAAU;IAC7B,SAAS,CAAU;IACnB,UAAU,CAAa;IACvB,gBAAgB,CAAU;IAC1B,SAAS,CAAS;IAClB,eAAe,CAAiB;IAChC,SAAS,CAAU;IACnB,eAAe,CAAU;IACzB,iBAAiB,CAAU;IAC3B,QAAQ,CAAU;IAClB,eAAe,CAAS;IACxB,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,aAAa,CAAU;IACvB,KAAK,CAAa;IAClB,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,oBAAoB,CAAU;IAC9B,mBAAmB,CAAsB;IACzC,kCAAkC,CAAU;IAC5C,gBAAgB,CAAU;IAC1B,sBAAsB,CAAS;IAC/B,eAAe,GAAmB,EAAE,CAAC;IACrC,cAAc,CAAY;IAElC,kBAAkB;IAClB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,QAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IACD,IAAI,kBAAkB,CAAC,kBAA0B;QAC7C,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAClD,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,IAAgB;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,QAAgB;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,IAAI,eAAe,CAAC,eAAuB;QACvC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACD,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,IAAI,gBAAgB,CAAC,gBAAoC;QACrD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,OAAe;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACD,IAAI,cAAc,CAAC,cAAsB;QACrC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,QAAQ,CAAC,oBAAoB,GAAG,cAAc,CAAC;QACnD,CAAC;IACL,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAI,WAAW,CAAC,WAAmB;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACnH,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACD,IAAI,eAAe,CAAC,eAAuB;QACvC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IACD,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,IAAI,YAAY,CAAC,YAAoB;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,UAAkB;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAI,WAAW,CAAC,WAAmB;QAC/B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IACD,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IACD,IAAI,mBAAmB,CAAC,mBAA4B;QAChD,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IACpD,CAAC;IACD,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IACD,IAAI,kBAAkB,CAAC,kBAAkD;QACrE,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAClD,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IACD,IAAI,eAAe,CAAC,eAAmC;QACnD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACD,IAAI,qBAAqB,CAAC,qBAA6B;QACnD,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACxD,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IACD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEM,IAAI,CAAW;IAEtB,qGAAqG;IACrG,iCAAiC;IACzB,MAAM,CAAU,OAAO,GAAmC,IAAI,GAAG,EAAE,CAAC;IACpE,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,MAAM,CAAU,cAAc,GAAmC,IAAI,GAAG,EAAE,CAAC;IAC3E,MAAM,CAAU,cAAc,GAAkD,IAAI,GAAG,EAAE,CAAC;IAE3F,MAAM,CAAU,6BAA6B,GAchD;QACA,OAAO,EAAE;YACL,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,OAAO,GAAG,CAAW,CAAC;YAC5B,CAAC;SACJ;QACD,gBAAgB,EAAE;YACd,GAAG,EAAE,kBAAkB;YACvB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,gBAAgB,GAAG,CAAW,CAAC;YACrC,CAAC;SACJ;QACD,WAAW,EAAE;YACT,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,WAAW,GAAG,CAAW,CAAC;YAChC,CAAC;SACJ;QACD,UAAU,EAAE;YACR,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,UAAU,GAAG,CAAW,CAAC;YAC/B,CAAC;SACJ;QACD,UAAU,EAAE;YACR,GAAG,EAAE,oBAAoB;YACzB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,kBAAkB,GAAG,CAAW,CAAC;YACvC,CAAC;SACJ;QACD,YAAY,EAAE;YACV,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,YAAY,GAAG,CAAW,CAAC;YACjC,CAAC;SACJ;QACD,SAAS,EAAE;YACP,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,eAAe,GAAG,CAAW,CAAC;YACpC,CAAC;SACJ;QACD,QAAQ,EAAE;YACN,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,QAAQ,GAAG,CAAW,CAAC;YAC7B,CAAC;SACJ;QACD,SAAS,EAAE;YACP,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,CAAC,CAAkB,EAAE,CAAS,EAAQ,EAAE;gBACzC,CAAC,CAAC,eAAe,GAAG,CAAW,CAAC;YACpC,CAAC;SACJ;KACJ,CAAC;IAEF,YACI,EAAU,EACV,IAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,cAAkC,EAClC,SAAqB,EACrB,gBAAoC,EACpC,WAA+B,EAC/B,OAA2B,EAC3B,kBAAsC,EACtC,YAAgC,EAChC,UAA8B,EAC9B,eAAmC,EACnC,QAA4B,EAC5B,eAAmC,EACnC,cAA8B,EAC9B,IAAc,EACd,QAA4B,EAC5B,eAAmC,EACnC,qBAA6B,EAC7B,aAAmC;QAEnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAEM,cAAc,CAAC,EAAU;QAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,8BAA8B,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,iBAAiB,CAAC,QAAgB;QACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,EAAE,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,8GAA8G;IACvG,uBAAuB,CAAC,UAAkB;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEM,eAAe;QAClB,qFAAqF;QACrF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IAEM,cAAc;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAEO,0BAA0B;QAC9B,wFAAwF;QACxF,2DAA2D;QAC3D,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACtE,CAAC;IAEO,kBAAkB;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,WAAqC,EAAE,KAAgB,EAAE,QAAkB;QAC9F,6BAA6B;QAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1F,eAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,iCAAiC,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,EAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,EAAC,sBAAsB,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9F,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YAC9D,MAAM,UAAU,GAA4B;gBACxC,GAAG,QAAQ,CAAC,QAAQ;gBACpB,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,UAAU,EAAE,CAAC,EAAE,6BAA6B;wBAC5C,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;wBAClD,SAAS,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;wBACrD,WAAW,EAAE,IAAI;wBACjB,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,qBAAqB;qBAC7D;iBACJ;aACJ,CAAC;YAEF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAE9B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;oBAE5D,IAAI,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACrE,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,yBAAyB,EAAE,QAAQ,EAAE;wBAC5F,WAAW,EAAE,WAAW,CAAC,mBAAmB;qBAC/C,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,eAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,QAAQ,YAAa,KAAe,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC/F,CAAC;YACL,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1F,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnE,MAAM,OAAO,GAAG;wBACZ,gBAAgB,EAAE,IAAI;wBACtB,eAAe,EAAE,CAAC;qBACrB,CAAC;oBACF,eAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,uBAAuB,EAAE,EAAE,CAAC,CAAC;oBACxE,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;oBAE3F,sFAAsF;oBACtF,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;wBACtC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;wBACtG,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,qBAAqB;wBAC7E,IAAI,CAAC,0BAA0B,EAAE,CAAC;wBAClC,eAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,wCAAwC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC1H,CAAC;oBAED,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtF,oEAAoE;oBACpE,8BAA8B;oBAC9B,eAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,sBAAsB,EAAE,EAAE,CAAC,CAAC;oBACvE,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gBAC5F,CAAC;qBAAM,CAAC;oBACJ,MAAM,OAAO,GAAG;wBACZ,gBAAgB,EAAE,KAAK;wBACvB,eAAe,EAAE,CAAC;qBACrB,CAAC;oBACF,eAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,uBAAuB,EAAE,EAAE,CAAC,CAAC;oBACxE,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gBAC/F,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,QAAQ,YAAa,KAAe,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7G,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC;QACvF,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;QAChE,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC;QAChF,oBAAoB;QACpB,MAAM,0BAA0B,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;QACzI,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,kCAAkC,KAAK,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC;QAE5G,IACI,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,CAAC,WAAW,CAAC,YAAY;YACzB,CAAC,sBAAsB;YACvB,CAAC,iBAAiB;YAClB,CAAC,kBAAkB;YACnB,CAAC,IAAI,CAAC,oBAAoB;YAC1B,CAAC,gBAAgB;YACjB,CAAC,0BAA0B,EAC7B,CAAC;YACC,IAAI,CAAC;gBACD,IAAI,CAAC,kCAAkC,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACjF,uFAAuF;gBACvF,6FAA6F;gBAC7F,0DAA0D;gBAC1D,+CAA+C;gBAC/C,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ;oBACnC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB;oBAChC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC,gBAAgB;wBACtE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB;wBAChC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAEvC,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC;YAC/H,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,QAAQ,YAAY,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IAEH;;OAEG;IACI,MAAM,CAAC,UAAU;QACpB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,KAAoB;QACjD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,kBAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QAED,6EAA6E;QAC7E,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrG,iFAAiF;YACjF,qBAAqB,GAAG,QAAQ,CAAC;QACrC,CAAC;QACD,wHAAwH;QACxH,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACtC,0FAA0F;YAC1F,qBAAqB,GAAG,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,eAAe;QACzE,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,wCAAwC,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5G,+CAA+C;QAC/C,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;YACpG,eAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,MAAM,KAAK,CAAC,kBAAkB,OAAO,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,OAAO,IAAI,MAAM,CACb,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,IAAI,EACV,QAAQ,EACR,cAAc,EACd,KAAK,CAAC,OAAO,EACb,SAAS,EACT,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,eAAe,EACrB,qBAAqB,EACrB,KAAK,CAAC,aAAa,CACtB,CAAC;IACN,CAAC;IAEO,eAAe;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACzD,CAAC;QAED,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM;YACN,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,kBAAkB;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,mGAAmG;YACnG,kBAAkB,EAAE,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,UAAU;YACrE,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;YAChH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC;IACN,CAAC;IAEM,IAAI,CAAC,aAAa,GAAG,IAAI;QAC5B,yEAAyE;QACzE,gBAAM,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAEO,MAAM,CAAC,2BAA2B;QACtC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC7B,yEAAyE;YACzE,KAAK,MAAM,KAAK,IAAI,gBAAM,CAAC,QAAS,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBACvH,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAE/C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACrC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,gBAAiC,EAAE,cAAc,GAAG,KAAK;QACxE,OAAO,OAAO,gBAAgB,KAAK,QAAQ;YACvC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,cAAc,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,QAAgB,EAAE,cAAc,GAAG,KAAK;QAC7D,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAErC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjI,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,cAAsB,EAAE,cAAc,GAAG,KAAK;QACzE,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAgB;QACjC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG;QACb,MAAM,CAAC,2BAA2B,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,CAAC,WAAW,CAAC,SAAsC;QAC7D,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,MAAM,MAAM,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAEM,QAAQ;QACX,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAExC,yEAAyE;YACzE,gBAAM,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,kBAAkB,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,MAAM,CAChB,IAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,cAAkC,EAClC,gBAAoC,EACpC,WAA+B,EAC/B,OAA2B,EAC3B,cAA8B,EAC9B,aAAmC;QAEnC,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAErC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,kBAAkB,CAAC,CAAC;QAC7E,CAAC;QAED,yEAAyE;QACzE,MAAM,EAAE,GAAG,gBAAM,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,EAAE,EACF,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,EAAE,EACF,SAAS,EACT,SAAS,EACT,CAAC,EACD,aAAa,CAChB,CAAC;QAEF,yEAAyE;QACzE,gBAAM,CAAC,QAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IAEI,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK;QACtC,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,kDAAkD,IAAI,CAAC,QAAQ,GAAG,CAAC;YACnF,eAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC;QACjD,eAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC1C,eAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC;gBACjD,eAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,QAAQ,yBAAyB,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3G,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC;gBAC7C,eAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,QAAQ,iBAAiB,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3F,GAAG,GAAG,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAEO,eAAe;QACnB,eAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,gBAAgB,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAE7G,2GAA2G;QAC3G,6DAA6D;QAC7D,+FAA+F;QAC/F,qDAAqD;QACrD,4DAA4D;QAC5D,oDAAoD;QACpD,mFAAmF;QACnF,+FAA+F;QAC/F,IACI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACnC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EACnI,CAAC;YACC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;YACnD,eAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,iGAAiG;QACjG,oGAAoG;QACpG,iBAAiB;QACjB,MAAM,MAAM,GAOR;YACA,SAAS,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,SAAS;aACzB;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,MAAM;gBACxB,WAAW,EAAE,SAAS;aACzB;YACD,aAAa,EAAE;gBACX,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,QAAQ;gBAC1B,WAAW,EAAE,SAAS;aACzB;YACD,UAAU,EAAE,EAAE,EAAE,iEAAiE;YACjF,kBAAkB,EAAE,EAAE;YACtB,MAAM,EAAE,EAAE,EAAE,qDAAqD;YACjE,WAAW,EAAE,EAAE,EAAE,8GAA8G;YAC/H,WAAW,EAAE,EAAE,EAAE,8GAA8G;SAClI,CAAC;QAEF,IAAI,KAAyB,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAK,GAAG,GAAG,CAAC;gBACZ,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,eAAM,CAAC,KAAK,CAAC,wDAAwD,KAAK,iCAAiC,EAAE,EAAE,CAAC,CAAC;YACjH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,CAAC;YACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC;YAC1D,eAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAoB;QAChD,MAAM,iBAAiB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QAExG,IAAI,WAAW,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAClC,MAAM;gBACV,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;wBACzB,eAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,QAAQ,yBAAyB,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvG,OAAO;oBACX,CAAC;oBAED,wFAAwF;oBACxF,eAAM,CAAC,KAAK,CAAC,mDAAmD,IAAI,CAAC,QAAQ,cAAc,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClH,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,eAAM,CAAC,KAAK,CAAC,iDAAiD,IAAI,CAAC,QAAQ,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC7D,4EAA4E;YAC5E,oDAAoD;YACpD,eAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACnE,4GAA4G;YAC5G,gFAAgF;YAChF,iCAAiC;YACjC,oDAAoD;YACpD,eAAM,CAAC,KAAK,CAAC,yFAAyF,EAAE,EAAE,CAAC,CAAC;YAC5G,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,kBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gBAE3G,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,8DAA8D,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC;QAED,+GAA+G;QAC/G,qDAAqD;QACrD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACV,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAM,CAAC,KAAK,CAAC,oDAAoD,IAAI,CAAC,QAAQ,cAAc,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9H,CAAC;QACL,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2DAA2D,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClG,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YACxC,eAAM,CAAC,KAAK,CAAC,mDAAmD,QAAQ,CAAC,EAAE,aAAa,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;YAE9G,kBAAkB;YAClB,wHAAwH;YACxH,IAAI,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,6BAA6B,EAAE,CAAC;oBACrD,MAAM,IAAI,GAAG,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;oBAEvD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACD,IAAI,MAAgB,CAAC;4BAErB,IAAI,CAAC;gCACD,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;4BAC/E,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACb,oFAAoF;gCACpF,yBAAyB;gCACzB,oEAAoE;gCACpE,oFAAoF;gCACpF,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;oCAC5D,eAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,GAAG,yDAAyD,EAAE,EAAE,CAAC,CAAC;oCACzG,MAAM,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC;oCAClB,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gCAC/E,CAAC;qCAAM,CAAC;oCACJ,MAAM,KAAK,CAAC;gCAChB,CAAC;4BACL,CAAC;4BAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;4BAC5B,eAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,GAAG,iBAAiB,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;wBACpF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,eAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,GAAG,oBAAoB,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;wBACrH,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,eAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,QAAQ,eAAe,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAE7F,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gBAC7G,eAAM,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAE/F,sDAAsD;gBACtD,IAAI,WAAW,CAAC,SAAS,KAAK,CAAC,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACjF,eAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;oBAE9D,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;oBACjG,eAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;oBAEvD,qCAAqC;oBACrC,4FAA4F;oBAC5F,6CAA6C;oBAC7C,kFAAkF;oBAClF,uDAAuD;oBACvD,2EAA2E;oBAC3E,MAAM,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;oBAChB,eAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,yCAAyC,EAAE,EAAE,CAAC,CAAC;oBACnF,MAAM,OAAO,GAAG,EAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;oBAC/C,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,EAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;oBAEnH,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;wBAC5C,MAAM,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;wBAChB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;wBAC5G,eAAM,CAAC,KAAK,CAAC,4CAA4C,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC1G,IAAI,UAAU,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;4BAC7B,QAAQ,GAAG,IAAI,CAAC;4BAChB,MAAM;wBACV,CAAC;oBACL,CAAC;oBAED,IAAI,QAAQ,EAAE,CAAC;wBACX,eAAM,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,QAAQ,eAAe,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC3G,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,4EAA4E,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACnH,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,eAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACL,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAClG,eAAM,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,QAAQ,eAAe,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC;gBACtG,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,qBAAqB;gBAC7E,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACtC,CAAC;YACD,qBAAqB;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,2CAA2C,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,oBAAoB;IACxB,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC;QACxD,yEAAyE;QACzE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnH,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEjH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAyC,QAAQ,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,+GAA+G;QAC/G,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,gBAAgB,CAAC;QAEvD,QAAQ,cAAc,CAAC,WAAW,EAAE,CAAC;YACjC,KAAK,GAAG;gBACJ,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;gBAC3B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzB,MAAM;QACd,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,+CAA+C,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;QAElF,wFAAwF;QACxF,qDAAqD;QACrD,IAAI,cAAc,CAAC,UAAU,CAAC,uBAAuB,GAAG,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAChF,oDAAoD;YACpD,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAElI,eAAM,CAAC,IAAI,CACP,WAAW,IAAI,CAAC,QAAQ,oCAAoC,GAAG,oDAAoD,KAAK,CAAC,eAAe,IAAI,EAC5I,EAAE,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC;QACzD,yEAAyE;QACzE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAEnH,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEjH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAA0C,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpC,0CAA0C;QAC1C,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;YAClD,+EAA+E;YAC/E,uGAAuG;YACvG,wGAAwG;YACxG,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtH,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,qBAAqB;QAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC;QACxD,yEAAyE;QACzE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,QAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAEhI,yEAAyE;QACzE,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACtH,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC/B,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,GAAG,CAAC,SAAS,CAAC,QAAQ,EACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC9B,IAAI,EACJ,SAAS,EACT,sCAA4B,CAAC,IAAI,EAAE,EACnC,SAAS,EACT,EAAE,EACF,OAAO,EACP,IAAI,CAAC,cAAc,CACtB,CAAC;YAEF,yEAAyE;YACzE,MAAM,gBAAM,CAAC,OAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,wBAAgB,CAAC,eAAe,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC;YAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;YACvC,yEAAyE;YACzE,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EACrC,SAAS,EACT,IAAI,CAAC,QAAiB,EACtB,GAAG,CAAC,iBAAiB,CAAC,cAAc,CACvC,CAAC;YACF,yEAAyE;YACzE,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAEjH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAA+B,QAAQ,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACrB,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,2BAA2B,EAAE,CAAC;QAC3C,CAAC;QAED,yEAAyE;QACzE,IAAI,gBAAM,CAAC,QAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,yEAAyE;YACzE,gBAAM,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErC,4CAA4C;QAC5C,4EAA4E;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;QAClG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CACb,kBAAQ,CAAC,MAAM,CACX,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,CAChB,CACJ,CAAC;QACN,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC;QAClD,2EAA2E;QAC3E,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,EAAE,UAAkB,EAAuD,EAAE;YAC9F,yEAAyE;YACzE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1G,yEAAyE;YACzE,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAEjH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAmC,QAAQ,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,KAAK,CAAC,KAAK;oBACrB,cAAc,EAAE,KAAK,CAAC,UAAU;oBAChC,WAAW,EAAE,KAAK,CAAC,GAAG;oBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,IAAI,cAAc,GAAG,UAAU,CAAC;QAEhC,OAAO,SAAS,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAC7B,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,cAAc,IAAI,UAAU,CAAC;QACjC,CAAC;QAED,OAAO,EAAC,SAAS,EAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC;QACtD,+EAA+E;QAC/E,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,EAAE,UAAkB,EAAuD,EAAE;YAC9F,yEAAyE;YACzE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1G,yEAAyE;YACzE,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAEjH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAuC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC;oBACP,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,cAAc;iBAChC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,IAAI,cAAc,GAAG,UAAU,CAAC;QAEhC,OAAO,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACzB,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,cAAc,IAAI,UAAU,CAAC;QACjC,CAAC;QAED,OAAO,EAAC,KAAK,EAAC,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI;QACpC,yEAAyE;QACzE,sEAAsE;QACtE,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAC,eAAe,EAAC,CAAC,CAAC;IACvE,CAAC;IAEM,gBAAgB,CAAC,IAAY,EAAE,OAA0B;QAC5D,IAAA,qBAAM,EACF,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7E,gEAAgE,CACnE,CAAC;QACF,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,0BAA0B;YAC1B,IAAA,qBAAM,EAAC,eAAe,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,sBAAsB,OAAO,CAAC,EAAE,uCAAuC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;YACxI,OAAO,GAAG;gBACN,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,UAAU,EAAE,EAAC,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAC;gBAClE,QAAQ,EAAE,EAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAC;gBAC5D,gBAAgB,EAAE,EAAC,GAAG,eAAe,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAC;aACvF,CAAC;QACN,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACzC,CAAC;;AA7uCL,wBA8uCC;AAED,kBAAe,MAAM,CAAC"}
@@ -130,7 +130,7 @@ export declare class Endpoint extends Entity {
130
130
  removeFromGroup(group: Group | number): Promise<void>;
131
131
  removeFromAllGroups(): Promise<void>;
132
132
  removeFromAllGroupsDatabase(): void;
133
- zclCommand(clusterKey: number | string, commandKey: number | string, payload: KeyValue, options?: Options, logPayload?: KeyValue, checkStatus?: boolean, frameType?: Zcl.FrameType): Promise<undefined | Zcl.Frame>;
133
+ zclCommand(clusterKey: number | string | ZclTypes.Cluster, commandKey: number | string | ZclTypes.Command, payload: KeyValue, options?: Options, logPayload?: KeyValue, checkStatus?: boolean, frameType?: Zcl.FrameType): Promise<undefined | Zcl.Frame>;
134
134
  zclCommandBroadcast(endpoint: number, destination: BroadcastAddress, clusterKey: number | string, commandKey: number | string, payload: unknown, options?: Options): Promise<void>;
135
135
  }
136
136
  export default Endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -83,9 +83,12 @@ class Endpoint extends entity_1.default {
83
83
  const device = this.getDevice();
84
84
  return this._configuredReportings.map((entry, index) => {
85
85
  const cluster = Zcl.Utils.getCluster(entry.cluster, entry.manufacturerCode, device.customClusters);
86
- const attribute = cluster.hasAttribute(entry.attrId)
87
- ? cluster.getAttribute(entry.attrId)
88
- : { ID: entry.attrId, name: `attr${index}`, type: Zcl.DataType.UNKNOWN, manufacturerCode: undefined };
86
+ const attribute = cluster.getAttribute(entry.attrId) ?? {
87
+ ID: entry.attrId,
88
+ name: `attr${index}`,
89
+ type: Zcl.DataType.UNKNOWN,
90
+ manufacturerCode: undefined,
91
+ };
89
92
  return {
90
93
  cluster,
91
94
  attribute,
@@ -186,17 +189,21 @@ class Endpoint extends entity_1.default {
186
189
  }
187
190
  saveClusterAttributeKeyValue(clusterKey, list) {
188
191
  const cluster = this.getCluster(clusterKey);
189
- if (!this.clusters[cluster.name])
192
+ if (!this.clusters[cluster.name]) {
190
193
  this.clusters[cluster.name] = { attributes: {} };
191
- for (const [attribute, value] of Object.entries(list)) {
192
- this.clusters[cluster.name].attributes[attribute] = value;
194
+ }
195
+ for (const attribute in list) {
196
+ this.clusters[cluster.name].attributes[attribute] = list[attribute];
193
197
  }
194
198
  }
195
199
  getClusterAttributeValue(clusterKey, attributeKey) {
196
200
  const cluster = this.getCluster(clusterKey);
197
- const attribute = cluster.getAttribute(attributeKey);
198
201
  if (this.clusters[cluster.name] && this.clusters[cluster.name].attributes) {
199
- return this.clusters[cluster.name].attributes[attribute.name];
202
+ // XXX: used to throw (behavior changed in #1455)
203
+ const attribute = cluster.getAttribute(attributeKey);
204
+ if (attribute) {
205
+ return this.clusters[cluster.name].attributes[attribute.name];
206
+ }
200
207
  }
201
208
  return undefined;
202
209
  }
@@ -250,11 +257,11 @@ class Endpoint extends entity_1.default {
250
257
  throw new Zcl.StatusError(invalid);
251
258
  }
252
259
  async report(clusterKey, attributes, options) {
253
- const cluster = this.getCluster(clusterKey);
260
+ const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
254
261
  const payload = [];
255
262
  for (const [nameOrID, value] of Object.entries(attributes)) {
256
- if (cluster.hasAttribute(nameOrID)) {
257
- const attribute = cluster.getAttribute(nameOrID);
263
+ const attribute = cluster.getAttribute(nameOrID);
264
+ if (attribute) {
258
265
  payload.push({ attrId: attribute.ID, attrData: value, dataType: attribute.type });
259
266
  }
260
267
  else if (!Number.isNaN(Number(nameOrID))) {
@@ -264,16 +271,16 @@ class Endpoint extends entity_1.default {
264
271
  throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
265
272
  }
266
273
  }
267
- await this.zclCommand(clusterKey, "report", payload, options, attributes);
274
+ await this.zclCommand(cluster, "report", payload, options, attributes);
268
275
  }
269
276
  async write(clusterKey, attributes, options) {
270
- const cluster = this.getCluster(clusterKey);
277
+ const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
271
278
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
272
279
  optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, Object.keys(attributes), optionsWithDefaults.manufacturerCode, "write");
273
280
  const payload = [];
274
281
  for (const [nameOrID, value] of Object.entries(attributes)) {
275
- if (cluster.hasAttribute(nameOrID)) {
276
- const attribute = cluster.getAttribute(nameOrID);
282
+ const attribute = cluster.getAttribute(nameOrID);
283
+ if (attribute) {
277
284
  payload.push({ attrId: attribute.ID, attrData: value, dataType: attribute.type });
278
285
  }
279
286
  else if (!Number.isNaN(Number(nameOrID))) {
@@ -283,16 +290,16 @@ class Endpoint extends entity_1.default {
283
290
  throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
284
291
  }
285
292
  }
286
- await this.zclCommand(clusterKey, optionsWithDefaults.writeUndiv ? "writeUndiv" : "write", payload, optionsWithDefaults, attributes, true);
293
+ await this.zclCommand(cluster, optionsWithDefaults.writeUndiv ? "writeUndiv" : "write", payload, optionsWithDefaults, attributes, true);
287
294
  }
288
295
  async writeResponse(clusterKey, transactionSequenceNumber, attributes, options) {
289
296
  (0, node_assert_1.default)(options?.transactionSequenceNumber === undefined, "Use parameter");
290
- const cluster = this.getCluster(clusterKey);
297
+ const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
291
298
  const payload = [];
292
299
  for (const [nameOrID, value] of Object.entries(attributes)) {
293
300
  if (value.status !== undefined) {
294
- if (cluster.hasAttribute(nameOrID)) {
295
- const attribute = cluster.getAttribute(nameOrID);
301
+ const attribute = cluster.getAttribute(nameOrID);
302
+ if (attribute) {
296
303
  payload.push({ attrId: attribute.ID, status: value.status });
297
304
  }
298
305
  else if (!Number.isNaN(Number(nameOrID))) {
@@ -306,18 +313,29 @@ class Endpoint extends entity_1.default {
306
313
  throw new Error(`Missing attribute 'status'`);
307
314
  }
308
315
  }
309
- await this.zclCommand(clusterKey, "writeRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
316
+ await this.zclCommand(cluster, "writeRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
310
317
  }
311
318
  async read(clusterKey, attributes, options) {
312
319
  const device = this.getDevice();
313
- const cluster = this.getCluster(clusterKey, device);
320
+ const cluster = this.getCluster(clusterKey, device, options?.manufacturerCode);
314
321
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
315
322
  optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, attributes, optionsWithDefaults.manufacturerCode, "read");
316
323
  const payload = [];
317
324
  for (const attribute of attributes) {
318
- payload.push({ attrId: typeof attribute === "number" ? attribute : cluster.getAttribute(attribute).ID });
325
+ if (typeof attribute === "number") {
326
+ payload.push({ attrId: attribute });
327
+ }
328
+ else {
329
+ const attr = cluster.getAttribute(attribute);
330
+ if (attr) {
331
+ payload.push({ attrId: attr.ID });
332
+ }
333
+ else {
334
+ logger_1.logger.warning(`Ignoring unknown attribute ${attribute} in cluster ${cluster.name}`, NS);
335
+ }
336
+ }
319
337
  }
320
- const resultFrame = await this.zclCommand(clusterKey, "read", payload, optionsWithDefaults, attributes, true);
338
+ const resultFrame = await this.zclCommand(cluster, "read", payload, optionsWithDefaults, attributes, true);
321
339
  if (resultFrame) {
322
340
  return ZclFrameConverter.attributeKeyValue(resultFrame, device.manufacturerID, device.customClusters);
323
341
  }
@@ -325,11 +343,11 @@ class Endpoint extends entity_1.default {
325
343
  }
326
344
  async readResponse(clusterKey, transactionSequenceNumber, attributes, options) {
327
345
  (0, node_assert_1.default)(options?.transactionSequenceNumber === undefined, "Use parameter");
328
- const cluster = this.getCluster(clusterKey);
346
+ const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
329
347
  const payload = [];
330
348
  for (const [nameOrID, value] of Object.entries(attributes)) {
331
- if (cluster.hasAttribute(nameOrID)) {
332
- const attribute = cluster.getAttribute(nameOrID);
349
+ const attribute = cluster.getAttribute(nameOrID);
350
+ if (attribute) {
333
351
  payload.push({ attrId: attribute.ID, attrData: value, dataType: attribute.type, status: 0 });
334
352
  }
335
353
  else if (!Number.isNaN(Number(nameOrID))) {
@@ -339,7 +357,7 @@ class Endpoint extends entity_1.default {
339
357
  throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
340
358
  }
341
359
  }
342
- await this.zclCommand(clusterKey, "readRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
360
+ await this.zclCommand(cluster, "readRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
343
361
  }
344
362
  async updateSimpleDescriptor() {
345
363
  const clusterId = Zdo.ClusterId.SIMPLE_DESCRIPTOR_REQUEST;
@@ -466,7 +484,7 @@ class Endpoint extends entity_1.default {
466
484
  await this.zclCommand(clusterID, "defaultRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber });
467
485
  }
468
486
  async configureReporting(clusterKey, items, options) {
469
- const cluster = this.getCluster(clusterKey);
487
+ const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
470
488
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
471
489
  optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, items, optionsWithDefaults.manufacturerCode, "configureReporting");
472
490
  const payload = items.map((item) => {
@@ -476,10 +494,12 @@ class Endpoint extends entity_1.default {
476
494
  dataType = item.attribute.type;
477
495
  attrId = item.attribute.ID;
478
496
  }
479
- else if (cluster.hasAttribute(item.attribute)) {
497
+ else {
480
498
  const attribute = cluster.getAttribute(item.attribute);
481
- dataType = attribute.type;
482
- attrId = attribute.ID;
499
+ if (attribute) {
500
+ dataType = attribute.type;
501
+ attrId = attribute.ID;
502
+ }
483
503
  }
484
504
  return {
485
505
  direction: Zcl.Direction.CLIENT_TO_SERVER,
@@ -490,7 +510,7 @@ class Endpoint extends entity_1.default {
490
510
  repChange: item.reportableChange,
491
511
  };
492
512
  });
493
- await this.zclCommand(clusterKey, "configReport", payload, optionsWithDefaults, items, true);
513
+ await this.zclCommand(cluster, "configReport", payload, optionsWithDefaults, items, true);
494
514
  for (const e of payload) {
495
515
  this._configuredReportings = this._configuredReportings.filter((c) => !(c.attrId === e.attrId &&
496
516
  c.cluster === cluster.ID &&
@@ -523,11 +543,11 @@ class Endpoint extends entity_1.default {
523
543
  async commandResponse(clusterKey, commandKey, payload, options, transactionSequenceNumber) {
524
544
  (0, node_assert_1.default)(options?.transactionSequenceNumber === undefined, "Use parameter");
525
545
  const device = this.getDevice();
526
- const cluster = this.getCluster(clusterKey, device);
546
+ const cluster = this.getCluster(clusterKey, device, options?.manufacturerCode);
527
547
  const command = cluster.getCommandResponse(commandKey);
528
548
  transactionSequenceNumber = transactionSequenceNumber || zclTransactionSequenceNumber_1.default.next();
529
549
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
530
- const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, transactionSequenceNumber, command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
550
+ const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, transactionSequenceNumber, command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);
531
551
  const createLogMessage = () => `CommandResponse ${this.deviceIeeeAddress}/${this.ID} ` +
532
552
  `${cluster.name}.${command.name}(${JSON.stringify(payload)}, ${JSON.stringify(optionsWithDefaults)})`;
533
553
  logger_1.logger.debug(createLogMessage, NS);
@@ -599,8 +619,8 @@ class Endpoint extends entity_1.default {
599
619
  attributeID = nameOrID;
600
620
  }
601
621
  // we fall back to caller|cluster provided manufacturerCode
602
- if (cluster.hasAttribute(attributeID)) {
603
- const attribute = cluster.getAttribute(attributeID);
622
+ const attribute = cluster.getAttribute(attributeID);
623
+ if (attribute) {
604
624
  return attribute.manufacturerCode === undefined ? fallbackManufacturerCode : attribute.manufacturerCode;
605
625
  }
606
626
  // unknown attribute, we should not fail on this here
@@ -615,11 +635,11 @@ class Endpoint extends entity_1.default {
615
635
  await this.command("genGroups", "add", { groupid: group.groupID, groupname: "" });
616
636
  group.addMember(this);
617
637
  }
618
- getCluster(clusterKey, device = undefined) {
638
+ getCluster(clusterKey, device = undefined, manufacturerCode = undefined) {
619
639
  if (!device) {
620
640
  device = this.getDevice();
621
641
  }
622
- return Zcl.Utils.getCluster(clusterKey, device.manufacturerID, device.customClusters);
642
+ return Zcl.Utils.getCluster(clusterKey, manufacturerCode ?? device.manufacturerID, device.customClusters);
623
643
  }
624
644
  /**
625
645
  * Remove endpoint from a group, accepts both a Group and number as parameter.
@@ -645,11 +665,15 @@ class Endpoint extends entity_1.default {
645
665
  }
646
666
  async zclCommand(clusterKey, commandKey, payload, options, logPayload, checkStatus = false, frameType = Zcl.FrameType.GLOBAL) {
647
667
  const device = this.getDevice();
648
- const cluster = this.getCluster(clusterKey, device);
649
- const command = frameType === Zcl.FrameType.GLOBAL ? Zcl.Utils.getGlobalCommand(commandKey) : cluster.getCommand(commandKey);
668
+ const cluster = typeof clusterKey === "object" ? clusterKey : this.getCluster(clusterKey, device, options?.manufacturerCode);
669
+ const command = typeof commandKey === "object"
670
+ ? commandKey
671
+ : frameType === Zcl.FrameType.GLOBAL
672
+ ? Zcl.Utils.getGlobalCommand(commandKey)
673
+ : cluster.getCommand(commandKey);
650
674
  const hasResponse = frameType === Zcl.FrameType.GLOBAL ? true : command.response !== undefined;
651
675
  const optionsWithDefaults = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
652
- const frame = Zcl.Frame.create(frameType, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
676
+ const frame = Zcl.Frame.create(frameType, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);
653
677
  const createLogMessage = () => `ZCL command ${this.deviceIeeeAddress}/${this.ID} ` +
654
678
  `${cluster.name}.${command.name}(${JSON.stringify(logPayload ? logPayload : payload)}, ${JSON.stringify(optionsWithDefaults)})`;
655
679
  logger_1.logger.debug(createLogMessage, NS);
@@ -673,11 +697,11 @@ class Endpoint extends entity_1.default {
673
697
  }
674
698
  async zclCommandBroadcast(endpoint, destination, clusterKey, commandKey, payload, options) {
675
699
  const device = this.getDevice();
676
- const cluster = this.getCluster(clusterKey, device);
700
+ const cluster = this.getCluster(clusterKey, device, options?.manufacturerCode);
677
701
  const command = cluster.getCommand(commandKey);
678
702
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
679
703
  const sourceEndpoint = optionsWithDefaults.srcEndpoint ?? this.ID;
680
- const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, true, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
704
+ const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, true, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);
681
705
  logger_1.logger.debug(() => `ZCL command broadcast ${this.deviceIeeeAddress}/${sourceEndpoint} to ${destination}/${endpoint} ` +
682
706
  `${cluster.name}.${command.name}(${JSON.stringify({ payload, optionsWithDefaults })})`, NS);
683
707
  // if endpoint===0xFF ("broadcast endpoint"), deliver to all endpoints supporting cluster, should be avoided whenever possible