@pie-players/pie-assessment-toolkit 0.3.37 → 0.3.39

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 (58) hide show
  1. package/dist/components/ItemToolBar.custom-element.js +8939 -1870
  2. package/dist/components/PieAssessmentToolkit.custom-element.js +13519 -1745
  3. package/dist/components/SectionToolBar.custom-element.js +13119 -142
  4. package/dist/policy/core/PolicySource.d.ts +2 -2
  5. package/dist/policy/core/PolicySource.js +1 -1
  6. package/dist/policy/core/ToolPolicyEngine.d.ts +15 -17
  7. package/dist/policy/core/ToolPolicyEngine.d.ts.map +1 -1
  8. package/dist/policy/core/ToolPolicyEngine.js +21 -21
  9. package/dist/policy/core/ToolPolicyEngine.js.map +1 -1
  10. package/dist/policy/core/compose-decision.d.ts +5 -5
  11. package/dist/policy/core/compose-decision.d.ts.map +1 -1
  12. package/dist/policy/core/compose-decision.js +40 -38
  13. package/dist/policy/core/compose-decision.js.map +1 -1
  14. package/dist/policy/core/decision-types.d.ts +10 -10
  15. package/dist/policy/core/decision-types.d.ts.map +1 -1
  16. package/dist/policy/core/{qti-inputs.d.ts → pnp-policy-inputs.d.ts} +23 -23
  17. package/dist/policy/core/pnp-policy-inputs.d.ts.map +1 -0
  18. package/dist/policy/core/{qti-inputs.js → pnp-policy-inputs.js} +25 -25
  19. package/dist/policy/core/pnp-policy-inputs.js.map +1 -0
  20. package/dist/policy/core/policy-source-tag.d.ts +6 -6
  21. package/dist/policy/core/policy-source-tag.js +3 -3
  22. package/dist/policy/core/provenance.d.ts +11 -11
  23. package/dist/policy/core/provenance.d.ts.map +1 -1
  24. package/dist/policy/core/provenance.js +4 -4
  25. package/dist/policy/engine.d.ts +5 -5
  26. package/dist/policy/engine.d.ts.map +1 -1
  27. package/dist/policy/engine.js +2 -2
  28. package/dist/policy/internal.d.ts +4 -4
  29. package/dist/policy/internal.d.ts.map +1 -1
  30. package/dist/policy/internal.js +4 -4
  31. package/dist/policy/internal.js.map +1 -1
  32. package/dist/policy/sources/{QtiPolicySource.d.ts → PnpPolicySource.d.ts} +25 -25
  33. package/dist/policy/sources/PnpPolicySource.d.ts.map +1 -0
  34. package/dist/policy/sources/{QtiPolicySource.js → PnpPolicySource.js} +28 -27
  35. package/dist/policy/sources/PnpPolicySource.js.map +1 -0
  36. package/dist/services/PNPToolResolver.d.ts.map +1 -1
  37. package/dist/services/PNPToolResolver.js +14 -15
  38. package/dist/services/PNPToolResolver.js.map +1 -1
  39. package/dist/services/ToolkitCoordinator.d.ts +55 -50
  40. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  41. package/dist/services/ToolkitCoordinator.js +92 -72
  42. package/dist/services/ToolkitCoordinator.js.map +1 -1
  43. package/dist/services/interfaces.d.ts +24 -16
  44. package/dist/services/interfaces.d.ts.map +1 -1
  45. package/dist/services/interfaces.js.map +1 -1
  46. package/dist/services/pnp-provenance.d.ts +1 -1
  47. package/dist/services/pnp-provenance.d.ts.map +1 -1
  48. package/dist/services/pnp-provenance.js +1 -0
  49. package/dist/services/pnp-provenance.js.map +1 -1
  50. package/dist/services/tools-config-normalizer.d.ts +14 -15
  51. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  52. package/dist/services/tools-config-normalizer.js +5 -5
  53. package/dist/services/tools-config-normalizer.js.map +1 -1
  54. package/package.json +8 -8
  55. package/dist/policy/core/qti-inputs.d.ts.map +0 -1
  56. package/dist/policy/core/qti-inputs.js.map +0 -1
  57. package/dist/policy/sources/QtiPolicySource.d.ts.map +0 -1
  58. package/dist/policy/sources/QtiPolicySource.js.map +0 -1
@@ -27,7 +27,7 @@ import { buildRuntimeTTSConfig, resolveTTSBackend, } from "./tts-runtime-config.
27
27
  import { ToolProviderRegistry } from "./tool-providers/index.js";
28
28
  import { createPackagedToolRegistry } from "./createDefaultToolRegistry.js";
29
29
  import { ToolPolicyEngine, } from "../policy/engine.js";
30
- import { resolveDefaultQtiEnforcement } from "../policy/internal.js";
30
+ import { resolveDefaultPnpEnforcement } from "../policy/internal.js";
31
31
  const SECTION_ITEM_EVENT_TYPES = [
32
32
  "item-selected",
33
33
  "item-session-data-changed",
@@ -145,18 +145,18 @@ export class ToolkitCoordinator {
145
145
  */
146
146
  policyEngine;
147
147
  /**
148
- * Host-set override for QTI enforcement. `null` (the default) means
148
+ * Host-set override for PNP/profile enforcement. `null` (the default) means
149
149
  * "auto" — the coordinator infers the effective mode from the
150
- * QTI inputs the bound `AssessmentEntity` and `AssessmentItemRef`
151
- * actually carry (see {@link resolveEffectiveQtiEnforcement}).
150
+ * PNP/profile policy inputs the bound `AssessmentEntity` and `AssessmentItemRef`
151
+ * actually carry (see {@link resolveEffectivePnpEnforcement}).
152
152
  * `"on"` / `"off"` are explicit host opt-in / opt-out and stick
153
153
  * across subsequent assessment / item swaps until the host clears
154
- * the override by calling `setQtiEnforcement(null)`.
154
+ * the override by calling `setPnpEnforcement(null)`.
155
155
  */
156
- qtiEnforcementOverride = null;
156
+ pnpEnforcementOverride = null;
157
157
  /**
158
158
  * Last assessment passed to {@link updateAssessment}. Read by
159
- * {@link resolveEffectiveQtiEnforcement} to compute auto-mode.
159
+ * {@link resolveEffectivePnpEnforcement} to compute auto-mode.
160
160
  * The engine's own copy is the canonical record for decisions;
161
161
  * this mirror exists only so the auto-mode helper does not need
162
162
  * to round-trip through {@link policyEngine}'s frozen snapshot.
@@ -165,8 +165,8 @@ export class ToolkitCoordinator {
165
165
  /**
166
166
  * Last item reference passed to {@link updateCurrentItemRef}.
167
167
  * Mirrored alongside {@link boundAssessment} so
168
- * {@link resolveEffectiveQtiEnforcement} can detect item-level
169
- * QTI inputs (`requiredTools` / `restrictedTools` /
168
+ * {@link resolveEffectivePnpEnforcement} can detect item-level
169
+ * profile policy inputs (`requiredTools` / `restrictedTools` /
170
170
  * `toolParameters`) without round-tripping through the engine's
171
171
  * frozen snapshot.
172
172
  */
@@ -220,6 +220,7 @@ export class ToolkitCoordinator {
220
220
  this.toolRegistry = resolvedConfig.toolRegistry ?? createPackagedToolRegistry();
221
221
  this.hooks = resolvedConfig.hooks ?? {};
222
222
  this.lazyInit = config.lazyInit === true;
223
+ this.pnpEnforcementOverride = this.resolveConfiguredPnpEnforcement();
223
224
  // Use the host-provided framework-error bus if one was passed
224
225
  // (typical when embedded inside <pie-assessment-toolkit>, so
225
226
  // pre-coordinator failures from the CE flow through the same
@@ -239,11 +240,11 @@ export class ToolkitCoordinator {
239
240
  this.ttsService = new TTSService();
240
241
  this.setupStatePersistenceHooks();
241
242
  // M8 PR 2 — construct the unified ToolPolicyEngine seeded with
242
- // the validated tools config. QTI inputs (`assessment`,
243
- // `currentItemRef`) start `null`; `qtiEnforcement` is resolved
244
- // through {@link resolveEffectiveQtiEnforcement}, which flips
243
+ // the validated tools config. PNP/profile inputs (`assessment`,
244
+ // `currentItemRef`) start `null`; `pnpEnforcement` is resolved
245
+ // through {@link resolveEffectivePnpEnforcement}, which flips
245
246
  // to `"on"` only once the bound assessment or item carries
246
- // actual QTI material (PR 4). Hosts that only consume the
247
+ // actual profile material. Hosts that only consume the
247
248
  // engine for placement/policy gating get the pre-PR-2 behavior
248
249
  // bit-for-bit.
249
250
  this.policyEngine = new ToolPolicyEngine({
@@ -253,7 +254,7 @@ export class ToolkitCoordinator {
253
254
  tools: this.config.tools,
254
255
  assessment: null,
255
256
  currentItemRef: null,
256
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
257
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
257
258
  },
258
259
  });
259
260
  if (!this.lazyInit) {
@@ -1414,43 +1415,65 @@ export class ToolkitCoordinator {
1414
1415
  this._applyToolConfigChange(toolId, updates);
1415
1416
  }
1416
1417
  /**
1417
- * Update the enabled tools list for floating tools (calculator, graph, etc.).
1418
- * Used for PNP profile changes or dynamic tool configuration.
1418
+ * Update the enabled tool list for one placement level.
1419
1419
  *
1420
- * @param toolIds Array of tool IDs to enable
1420
+ * This is the generic placement companion to {@link updateToolConfig}:
1421
+ * it validates the next canonical tools config, keeps the policy
1422
+ * engine in lockstep, and emits the same policy-change event used by
1423
+ * live toolbars/debug panels. Section-level callers that still use
1424
+ * the legacy "floating tools" name can continue calling
1425
+ * {@link updateFloatingTools}.
1421
1426
  */
1422
- updateFloatingTools(toolIds) {
1427
+ updateToolPlacement(level, toolIds) {
1428
+ this.updateToolsPlacement({ [level]: [...toolIds] });
1429
+ }
1430
+ /**
1431
+ * Patch one or more placement levels in the canonical tools config.
1432
+ */
1433
+ updateToolsPlacement(partial) {
1423
1434
  if (!this.config.tools) {
1424
1435
  this.config.tools = normalizeAndValidateToolsConfig(undefined, {
1425
1436
  strictness: this.config.toolConfigStrictness ?? "error",
1426
- source: "ToolkitCoordinator.updateFloatingTools",
1437
+ source: "ToolkitCoordinator.updateToolsPlacement",
1427
1438
  toolRegistry: this.toolRegistry,
1428
1439
  }).config;
1429
1440
  }
1441
+ const currentPlacement = this.config.tools?.placement ?? {
1442
+ section: [],
1443
+ item: [],
1444
+ passage: [],
1445
+ };
1446
+ const nextPlacement = {
1447
+ section: [...(partial.section ?? currentPlacement.section ?? [])],
1448
+ item: [...(partial.item ?? currentPlacement.item ?? [])],
1449
+ passage: [...(partial.passage ?? currentPlacement.passage ?? [])],
1450
+ };
1430
1451
  const validated = normalizeAndValidateToolsConfig({
1431
1452
  ...this.config.tools,
1432
- placement: {
1433
- section: [...toolIds],
1434
- item: [...(this.config.tools?.placement?.item || [])],
1435
- passage: [...(this.config.tools?.placement?.passage || [])],
1436
- },
1453
+ placement: nextPlacement,
1437
1454
  }, {
1438
1455
  strictness: this.config.toolConfigStrictness ?? "error",
1439
- source: "ToolkitCoordinator.updateFloatingTools",
1456
+ source: "ToolkitCoordinator.updateToolsPlacement",
1440
1457
  toolRegistry: this.toolRegistry,
1441
1458
  });
1459
+ validated.config.placement = nextPlacement;
1442
1460
  this.config.tools = validated.config;
1443
- // M8 PR 2 — keep the policy engine in lockstep with the
1444
- // floating-tools placement update. See `updateToolConfig` for
1445
- // the same pattern.
1446
1461
  this.policyEngine.updateInputs({
1447
1462
  tools: this.config.tools,
1448
1463
  });
1449
- // Notify listener of change
1450
- if (this.floatingToolsChangeCallback) {
1451
- this.floatingToolsChangeCallback(toolIds);
1464
+ if (partial.section && this.floatingToolsChangeCallback) {
1465
+ this.floatingToolsChangeCallback(this.getFloatingTools());
1452
1466
  }
1453
1467
  }
1468
+ /**
1469
+ * Update the enabled tools list for floating tools (calculator, graph, etc.).
1470
+ * Used for PNP profile changes or dynamic tool configuration.
1471
+ *
1472
+ * @param toolIds Array of tool IDs to enable
1473
+ */
1474
+ updateFloatingTools(toolIds) {
1475
+ this.updateToolPlacement("section", toolIds);
1476
+ }
1454
1477
  /**
1455
1478
  * Get currently enabled floating tools (section-level placement).
1456
1479
  *
@@ -1465,16 +1488,16 @@ export class ToolkitCoordinator {
1465
1488
  * - **Provider veto** — `tools.providers[id].enabled === false`
1466
1489
  * removes the tool from the visible set. The legacy resolver
1467
1490
  * ignored this flag for floating tools.
1468
- * - **QTI gates** — when `qtiEnforcement` is `"on"` (set by host
1469
- * via {@link setQtiEnforcement}, or auto-promoted when the
1491
+ * - **PNP/profile gates** — when `pnpEnforcement` is `"on"` (set by host
1492
+ * via {@link setPnpEnforcement}, or auto-promoted when the
1470
1493
  * bound `AssessmentEntity` / current `AssessmentItemRef`
1471
- * carries QTI 6-level precedence material — see
1472
- * {@link resolveEffectiveQtiEnforcement}) **and an assessment
1473
- * is bound**, the QTI 6-level precedence (district block →
1494
+ * carries profile precedence material — see
1495
+ * {@link resolveEffectivePnpEnforcement}) **and an assessment
1496
+ * is bound**, the profile precedence (district block →
1474
1497
  * test-admin override → item restriction/requirement →
1475
1498
  * district requirement → PNP supports / prohibitions) is
1476
- * applied. `qtiEnforcement: "on"` without a bound assessment
1477
- * is a no-op for QTI gating.
1499
+ * applied. `pnpEnforcement: "on"` without a bound assessment
1500
+ * is a no-op for profile gating.
1478
1501
  * - **Custom `PolicySource`s** registered via
1479
1502
  * {@link registerPolicySource}.
1480
1503
  *
@@ -1531,7 +1554,7 @@ export class ToolkitCoordinator {
1531
1554
  * Subscribe to policy-engine change events. Fires whenever the
1532
1555
  * coordinator's bound inputs change (`updateToolConfig`,
1533
1556
  * `updateFloatingTools`, `updateAssessment`, `updateCurrentItemRef`,
1534
- * `setQtiEnforcement`) or a custom `PolicySource` is registered /
1557
+ * `setPnpEnforcement`) or a custom `PolicySource` is registered /
1535
1558
  * removed via {@link registerPolicySource}.
1536
1559
  *
1537
1560
  * The listener receives a `ToolPolicyChangeEvent` with the event
@@ -1549,17 +1572,17 @@ export class ToolkitCoordinator {
1549
1572
  return this.policyEngine.onPolicyChange(listener);
1550
1573
  }
1551
1574
  /**
1552
- * Bind (or clear) the active QTI assessment for policy decisions.
1575
+ * Bind (or clear) the active assessment for PNP/profile policy decisions.
1553
1576
  *
1554
- * Under auto-mode (no host override via {@link setQtiEnforcement}),
1555
- * the coordinator promotes the engine to `qtiEnforcement: "on"`
1556
- * iff the assessment carries any QTI 6-level precedence material
1577
+ * Under auto-mode (no host override via {@link setPnpEnforcement}),
1578
+ * the coordinator promotes the engine to `pnpEnforcement: "on"`
1579
+ * iff the assessment carries any profile precedence material
1557
1580
  * (`personalNeedsProfile`, `settings.districtPolicy`,
1558
1581
  * `settings.testAdministration`) or the currently-bound item ref
1559
- * carries item-level QTI inputs. A bare assessment record (just
1582
+ * carries item-level profile policy inputs. A bare assessment record (just
1560
1583
  * `id` / `name`, no PNP, no settings) keeps `"off"`.
1561
1584
  *
1562
- * The host override set via {@link setQtiEnforcement} is sticky
1585
+ * The host override set via {@link setPnpEnforcement} is sticky
1563
1586
  * across assessment swaps; calling with `null` clears the binding
1564
1587
  * and re-runs the auto-mode helper.
1565
1588
  */
@@ -1567,39 +1590,32 @@ export class ToolkitCoordinator {
1567
1590
  this.boundAssessment = assessment;
1568
1591
  this.policyEngine.updateInputs({
1569
1592
  assessment,
1570
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1593
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1571
1594
  });
1572
1595
  }
1573
1596
  /**
1574
1597
  * Bind (or clear) the current item reference for policy decisions.
1575
1598
  *
1576
- * Used by item-level QTI gates (item `requiredTools` /
1577
- * `restrictedTools` / `toolParameters`). Item-level QTI material
1578
- * also feeds {@link resolveEffectiveQtiEnforcement} — navigating
1579
- * to an item with QTI settings can flip auto-mode to `"on"` even
1580
- * when the parent assessment carries no QTI block of its own.
1599
+ * Used by item-level profile gates (item `requiredTools` /
1600
+ * `restrictedTools` / `toolParameters`). Item-level profile material
1601
+ * also feeds {@link resolveEffectivePnpEnforcement} — navigating
1602
+ * to an item with profile settings can flip auto-mode to `"on"` even
1603
+ * when the parent assessment carries no profile block of its own.
1581
1604
  */
1582
1605
  updateCurrentItemRef(itemRef) {
1583
1606
  this.boundCurrentItemRef = itemRef;
1584
1607
  this.policyEngine.updateInputs({
1585
1608
  currentItemRef: itemRef,
1586
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1609
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1587
1610
  });
1588
1611
  }
1589
1612
  /**
1590
- * Override the auto-mode QTI enforcement decision.
1591
- *
1592
- * Pass `"on"` to force QTI enforcement even when no QTI inputs
1593
- * are bound (useful for tests / fixtures). Pass `"off"` to opt
1594
- * out even when QTI inputs are present. Pass `null` to clear the
1595
- * override and return to auto-mode — `"on"` iff
1596
- * {@link resolveDefaultQtiEnforcement} reports any QTI material
1597
- * on the bound assessment or current item, otherwise `"off"`.
1613
+ * Override the auto-mode PNP/profile enforcement decision.
1598
1614
  */
1599
- setQtiEnforcement(mode) {
1600
- this.qtiEnforcementOverride = mode;
1615
+ setPnpEnforcement(mode) {
1616
+ this.pnpEnforcementOverride = mode;
1601
1617
  this.policyEngine.updateInputs({
1602
- qtiEnforcement: this.resolveEffectiveQtiEnforcement(),
1618
+ pnpEnforcement: this.resolveEffectivePnpEnforcement(),
1603
1619
  });
1604
1620
  }
1605
1621
  /**
@@ -1619,33 +1635,37 @@ export class ToolkitCoordinator {
1619
1635
  * {@link ToolPolicyEngine.registerPolicySource} — see that
1620
1636
  * method for the full contract (event ordering, idempotency of
1621
1637
  * the returned dispose function, and how registered sources
1622
- * compose with the built-in QTI source).
1638
+ * compose with the built-in PNP policy source).
1623
1639
  */
1624
1640
  registerPolicySource(source) {
1625
1641
  return this.policyEngine.registerPolicySource(source);
1626
1642
  }
1627
1643
  /**
1628
- * Compute the effective `qtiEnforcement` mode given the explicit
1644
+ * Compute the effective PNP/profile enforcement mode given the explicit
1629
1645
  * host override and the auto-mode helper.
1630
1646
  *
1631
1647
  * Auto-mode (no override) defers to
1632
- * {@link resolveDefaultQtiEnforcement}, which returns `"on"`
1648
+ * {@link resolveDefaultPnpEnforcement}, which returns `"on"`
1633
1649
  * exactly when the bound assessment or current item ref carries
1634
- * QTI 6-level precedence material (PNP, district policy, test
1650
+ * profile precedence material (PNP, district policy, test
1635
1651
  * administration, item-level required/restricted/parameters), and
1636
1652
  * `"off"` otherwise. Hosts that bind a bare assessment record
1637
1653
  * (just `id` / `name`) therefore keep the legacy floating-tools
1638
- * behavior — QTI gates engage the moment QTI material is present.
1654
+ * behavior — profile gates engage the moment profile material is present.
1639
1655
  */
1640
- resolveEffectiveQtiEnforcement() {
1641
- if (this.qtiEnforcementOverride !== null) {
1642
- return this.qtiEnforcementOverride;
1656
+ resolveEffectivePnpEnforcement() {
1657
+ if (this.pnpEnforcementOverride !== null) {
1658
+ return this.pnpEnforcementOverride;
1643
1659
  }
1644
- return resolveDefaultQtiEnforcement({
1660
+ return resolveDefaultPnpEnforcement({
1645
1661
  assessment: this.boundAssessment,
1646
1662
  currentItemRef: this.boundCurrentItemRef,
1647
1663
  });
1648
1664
  }
1665
+ resolveConfiguredPnpEnforcement() {
1666
+ const tools = this.config.tools;
1667
+ return tools?.pnpEnforcement ?? null;
1668
+ }
1649
1669
  /**
1650
1670
  * Apply tool configuration changes to underlying services.
1651
1671
  * Called after updateToolConfig().
@@ -1 +1 @@
1
- {"version":3,"file":"ToolkitCoordinator.js","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAMN,oBAAoB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,+BAA+B,EAC/B,6BAA6B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACN,oCAAoC,GAEpC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,iBAAiB,GAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAqC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACN,qBAAqB,EACrB,iBAAiB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EACN,gBAAgB,GAOhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAsSrE,MAAM,wBAAwB,GAAoC;IACjE,eAAe;IACf,2BAA2B;IAC3B,2BAA2B;IAC3B,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;CACnB,CAAC;AAEF,MAAM,0BAA0B,GAAsC;IACrE,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;IAC1B,gCAAgC;IAChC,eAAe;CACf,CAAC;AAkGF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,kBAAkB;IAC9B,qDAAqD;IAC5C,YAAY,CAAS;IAE9B,oBAAoB;IACX,MAAM,CAA2B;IAE1C,kDAAkD;IACzC,UAAU,CAAa;IACvB,eAAe,CAAkB;IACjC,oBAAoB,CAAuB;IAC3C,qBAAqB,CAAwB;IAC7C,eAAe,CAA+B;IAC9C,oBAAoB,CAAuB;IAC3C,KAAK,CAA0B;IAC/B,QAAQ,CAAU;IAE3B,qCAAqC;IAC7B,cAAc,GAAG,KAAK,CAAC;IACvB,cAAc,CAAiB;IAC/B,qBAAqB,CAAiB;IACtC,WAAW,GAAG,KAAK,CAAC;IACpB,gBAAgB,CAAiB;IACjC,uBAAuB,CAAiB;IACxC,wBAAwB,GAAG,KAAK,CAAC;IACxB,oBAAoB,GAAG,IAAI,GAAG,EAAoC,CAAC;IACnE,YAAY,CAAe;IAC3B,kBAAkB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAChE,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,6BAA6B,GAAG,IAAI,GAAG,EAGrD,CAAC;IACa,4BAA4B,GAAG,IAAI,GAAG,EAGpD,CAAC;IACa,mCAAmC,GAAG,IAAI,GAAG,EAE3D,CAAC;IACJ;;;;;;;;;;;OAWG;IACc,mBAAmB,GAAG,IAAI,GAAG,EAG3C,CAAC;IACJ;;;;;;OAMG;IACK,kBAAkB,GAAkB,IAAI,CAAC;IACjD;;;;OAIG;IACK,iCAAiC,GAAkB,IAAI,CAAC;IAC/C,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IACzD,iBAAiB,CAAoB;IACrC,qBAAqB,CAAU;IAEhD;;;;;;;;;;;;;OAaG;IACc,YAAY,CAAmB;IAEhD;;;;;;;;OAQG;IACK,sBAAsB,GAA8B,IAAI,CAAC;IAEjE;;;;;;OAMG;IACK,eAAe,GAA4B,IAAI,CAAC;IAExD;;;;;;;OAOG;IACK,mBAAmB,GAA6B,IAAI,CAAC;IAE7D,0CAA0C;IAClC,2BAA2B,GAClC,IAAI,CAAC;IAEE,MAAM,CAAC,aAAa,CAC3B,MAAgC;QAEhC,MAAM,UAAU,GAAG,6BAA6B,CAC/C,MAAM,CAAC,oBAAoB,CAC3B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,0BAA0B,EAAE,CAAC;QACzE,MAAM,UAAU,GACf,MAAM,CAAC,yBAAyB,KAAK,IAAI;YACxC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAY,CAAC;YAC3C,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,KAAY,EAAE;gBACrD,UAAU;gBACV,MAAM,EAAE,yBAAyB;gBACjC,YAAY;aACZ,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,gBAAgB,GAAoC;YACzD,YAAY,EAAE;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,SAAS;aAClB;YACD,iBAAiB,EAAE;gBAClB,OAAO,EAAE,IAAI;aACb;SACD,CAAC;QAEF,OAAO;YACN,GAAG,MAAM;YACT,oBAAoB,EAAE,UAAU;YAChC,YAAY;YACZ,KAAK,EAAE;gBACN,GAAG,UAAU;gBACb,SAAS,EAAE;oBACV,GAAG,gBAAgB;oBACnB,GAAG,UAAU,CAAC,SAAS;iBACvB;aACD;YACD,aAAa,EAAE;gBACd,QAAQ,EAAE,OAAO;gBACjB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE;aAC9C;SACD,CAAC;IACH,CAAC;IAED,YAAY,MAAgC;QAC3C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,IAAI,0BAA0B,EAAE,CAAC;QAChF,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;QAEzC,8DAA8D;QAC9D,6DAA6D;QAC7D,6DAA6D;QAC7D,iEAAiE;QACjE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAC7E,IAAI,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvD,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAE3C,0BAA0B;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,4BAA4B,CACtD,cAAc,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,EAC5C,cAAc,CAAC,aAAa,EAAE,QAAQ,IAAI,OAAO,CACjD,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,+DAA+D;QAC/D,wDAAwD;QACxD,+DAA+D;QAC/D,8DAA8D;QAC9D,2DAA2D;QAC3D,0DAA0D;QAC1D,+DAA+D;QAC/D,eAAe;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACxC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,uBAAuB,IAAI,CAAC,YAAY,EAAE;YACrD,MAAM,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAA6B;gBAChD,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI,CAAC,8BAA8B,EAAE;aACrD;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxC,OAAO,CAAC,KAAK,CACZ,mDAAmD,EACnD,GAAG,CACH,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;;;;;;OAOG;IACK,mCAAmC;QAC1C,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACzC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,CAAC;gBACJ,IAAI,CAAC,KAAK,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACX,oDAAoD,EACpD,SAAS,CACT,CAAC;YACH,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,aAAa,CAC1B,SAAiB,EACjB,OAAiC;QAEjC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChD,IAAI,CAAC;gBACJ,QAAQ,CAAC;oBACR,SAAS;oBACT,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;iBACrD,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;IACF,CAAC;IAEO,8BAA8B,CAAC,KAAsC;QAC5E,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;YACjE,IAAI,CAAC;gBACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CACX,oEAAoE,EACpE,KAAK,CACL,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAEO,WAAW,CAAC,KAAc,EAAE,OAA4B;QAC/D,MAAM,KAAK,GAAG,oCAAoC,CAAC;YAClD,KAAK;YACL,OAAO;SACP,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB,CAAC,QAAgC;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,KAA0B;QACrD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAEO,0BAA0B,CAAC,GAAyB;QAC3D,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;IACxE,CAAC;IAEO,+BAA+B;QACtC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC;gBACJ,IAAI,OAAO,MAAM,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC;gBAC/C,OAAO,MAAM,CAAC,YAAY,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,aAAa,GAAG,CAAC,OAAiC,EAAU,EAAE;YACnE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;YAC3D,OAAO,6BAA6B,YAAY,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3F,CAAC,CAAC;QACF,OAAO;YACN,KAAK,CAAC,WAAW,CAAC,OAAO;gBACxB,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxB,IAAI,CAAC;oBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO;gBACjC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,OAAO;gBACzB,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;SACD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACtC,OAAiC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,QAAQ,GAAsC;YACnD,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE;SACtE,CAAC;QACF,MAAM,QAAQ,GACb,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvE,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,0BAA0B;QACjC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,OAAO;YACtC,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC9B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACxC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE;oBACzD,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;iBACxB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAChD,CAAC;QACF,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAEO,0BAA0B;QACjC,OAAO,IAAI,CAAC,YAAY;aACtB,WAAW,EAAE;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAsB;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QAChE,IAAI,UAAU,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO;QAC1C,MAAM,UAAU,GACf,UAAU,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;YACtC,UAAU,EAAE,QAAQ,EAAE,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC;QACb,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GACf,UAAU,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5E,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU;YACV,UAAU;SACV,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU;SACV,CAAC,CAAC;QACH,MAAM,WAAW,GAChB,UAAU,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC;YACvC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;YACvC,QAAQ;YACR,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;YAC7B,WAAW;YACX,WAAW,EAAE,iBAAiB;SAC9B,CAAC,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAAC,IAGpC;QACA,OAAO,KAAK,EAAE,SAAiB,EAAE,OAAiC,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;gBACnC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,IAIhC;QACA,MAAM,YAAY,GACjB,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACrD,CAAC,CAAC,EAAE,GAAI,IAAI,CAAC,UAAsC,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,gBAAgB,GACrB,OAAO,YAAY,CAAC,WAAW,KAAK,UAAU;YAC7C,CAAC,CAAE,YAAY,CAAC,WAGY;YAC5B,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,CAAC;YAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAC;QACH,YAAY,CAAC,WAAW,GAAG,KAAK,EAAE,SAAiB,EAAE,OAAiC,EAAE,EAAE;YACzF,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC7B,UAAkB,EAClB,MAAuD;QAEvD,IAAI,CAAC;YACJ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,IAAI,GAA6B;gBACtC,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;aAC1C,CAAC;YACF,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,iCAAiC,EAAE;gBAC3D,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;aAC1C,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CACX,qDAAqD,UAAU,IAAI,EACnE,GAAG,CACH,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM,IAAI,GAA6B;gBACtC,UAAU;gBACV,YAAY,EAAE,QAAQ,CAAC,YAAY;aACnC,CAAC;YACF,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACrD,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACvE,OAAO,QAAQ,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChE,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,KAA8B;QAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEM,kBAAkB,CAAC,QAAkC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,IAG3B;QACA,MAAM,GAAG,GAAyB;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,sBAAsB,CAAC,IAAkC;QAC/D,8DAA8D;QAC9D,2DAA2D;QAC3D,yDAAyD;QACzD,8DAA8D;QAC9D,0DAA0D;QAC1D,gEAAgE;QAChE,+DAA+D;QAC/D,4DAA4D;QAC5D,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACd,yHAAyH,CACzH,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAChC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,MAAM,GAAG,GAA8B;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI;SACxB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACX,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC9B,4DAA4D;YAC5D,6DAA6D;YAC7D,2CAA2C;YAC3C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACF,CAAC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,4BAA4B,CACnC,GAA8B,EAC9B,UAAmC;QAEnC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE9B,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,OAAO;QAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAEvD,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC9B,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAC7E,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;QACF,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,eAAe,IAAI,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEO,yBAAyB,CAChC,QAAiD,EACjD,KAA6B;QAE7B,IAAI,CAAC;YACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACX,qDAAqD,EACrD,KAAK,CACL,CAAC;QACH,CAAC;IACF,CAAC;IAED;;;;;;;;;OASG;IACK,eAAe,CAAC,MAAc;QACrC,IAAI,IAAI,CAAC,kBAAkB,KAAK,MAAM;YAAE,OAAO;QAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,kEAAkE;QAClE,mEAAmE;QACnE,kDAAkD;QAClD,4DAA4D;QAC5D,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,iEAAiE;QACjE,sBAAsB;QACtB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEO,8BAA8B,CAAC,MAAc;QACpD,IAAI,IAAI,CAAC,iCAAiC,KAAK,MAAM;YAAE,OAAO;QAC9D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,+BAA+B,CAAC,MAAc;QACrD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,OAAO;QAC7C,IAAI,IAAI,CAAC,kBAAkB,KAAK,MAAM;YAAE,OAAO;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,MAAc;QAChD,IAAI,IAAI,CAAC,kBAAkB,KAAK,MAAM;YAAE,OAAO;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,gEAAgE;QAChE,oEAAoE;QACpE,qEAAqE;QACrE,6CAA6C;QAC7C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACF,CAAC;IAEO,0BAA0B,CACjC,IAAkE;QAElE,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,OAAO,CAAC,KAA6B,EAAW,EAAE;YACjD,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;gBACtC,IAAI,eAAe,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACxE,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC/B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;wBACtB,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAA6B;QACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,iBAAiB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,eAAe,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,gBAAgB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,8BAA8B,CACrC,UAAmC;QAEnC,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,YAAY,EAAE,iBAAiB,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,gBAAgB,GACrB,OAAO,YAAY,EAAE,gBAAgB,KAAK,QAAQ;YAClD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC7C,CAAC,CAAC,YAAY,CAAC,gBAAgB;YAC/B,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,eAAe,GACpB,OAAO,UAAU,CAAC,eAAe,KAAK,QAAQ;gBAC9C,UAAU,CAAC,eAAe;gBACzB,CAAC,CAAC,UAAU,CAAC,eAAe;gBAC5B,CAAC,CAAC,MAAM,CAAC;YACX,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM;gBAAE,SAAS;YACpD,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,SAAS;gBAChD,MAAM;gBACN,eAAe;gBACf,gBAAgB;gBAChB,SAAS;aACT,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,+BAA+B,CACtC,UAAmC;QAEnC,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC;QACpD,IAAI,YAAY,EAAE,eAAe,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,eAAe,GACpB,OAAO,YAAY,CAAC,eAAe,KAAK,QAAQ;YAChD,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,WAAW,GAChB,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ;YAC5C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC;YACvC,CAAC,CAAC,eAAe,CAAC;QACpB,OAAO;YACN,IAAI,EAAE,0BAA0B;YAChC,eAAe;YACf,WAAW;YACX,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,IAAsC;QAChE,OAAO,IAAI,CAAC,sBAAsB,CAAC;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,wBAAwB;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAmD;SAClE,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,+BAA+B,CACrC,IAAwC;QAExC,OAAO,IAAI,CAAC,sBAAsB,CAAC;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,0BAA0B;YACzD,QAAQ,EAAE,IAAI,CAAC,QAAmD;SAClE,CAAC,CAAC;IACJ,CAAC;IAEM,4BAA4B,CAClC,QAA0D;QAE1D,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,IAQzC;QACA,MAAM,GAAG,GAAyB;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,iCAAiC,GAAG,MAAM,CAAC;QAChD,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC;YACtE,MAAM;YACN,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC,CAAC;QACH,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAC;QAElD,MAAM,eAAe,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC;YACvD,IAAI;YACJ,GAAG;YACH,MAAM;SACN,CAAC;aACA,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC;QACX,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5D,OAAO,WAAW,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,IAK9C;QACA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACnC,iEAAiE;YACjE,qEAAqE;YACrE,+BAA+B;YAC/B,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,8DAA8D;QAC9D,iEAAiE;QACjE,gEAAgE;QAChE,wDAAwD;QACxD,+DAA+D;QAC/D,+DAA+D;QAC/D,mCAAmC;QACnC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAEO,8BAA8B,CAAC,IAGtC;QACA,OAAO;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,IAW5C;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC;YACnD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACtB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAqC;YAClD,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,uBAAuB;SAC1D,CAAC;QACF,MAAM,UAAU,GACf,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC,MAAM,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC5C,MAAM,UAAU,CAAC,2BAA2B,EAAE,CAAC;YAC9C,QAAQ,EAAE,WAAW;YACrB,OAAO;SACP,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,8BAA8B,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO;YACP,UAAU;SACV,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,IAK5C;QACA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,6DAA6D;QAC7D,+DAA+D;QAC/D,8DAA8D;QAC9D,8DAA8D;QAC9D,sBAAsB;QACtB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,8BAA8B,CAAC;YACnC,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,aAAa,CAAC,sCAAsC,EAAE;YAChE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;YACnC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;SAC7B,CAAC,CAAC;IACJ,CAAC;IAEO,gCAAgC,CACvC,GAAY,EACZ,IAA+C;QAE/C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,yBAAyB;YAChC,OAAO,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,IAKrC;QACA,MAAM,GAAG,GAAyB;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,8DAA8D;QAC9D,gEAAgE;QAChE,+DAA+D;QAC/D,8DAA8D;QAC9D,mCAAmC;QACnC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC;YACnD,GAAG;YACH,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,mCAAmC,CAAC;gBAC9C,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAC/C,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE;oBACR,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;iBACzB;aACD,CAAC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACV,MAAM,IAAI,CAAC,gCAAgC,CAAC;gBAC3C,MAAM;gBACN,GAAG;gBACH,OAAO;gBACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACvC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAAC,IAKjD;QACA,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,aAAa,CAAC,yCAAyC,EAAE;YACnE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;YACnC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;SAC7B,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,IAK9C;QACA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,8BAA8B,CAAC;YACnC,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;SACb,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,QAAQ,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,MAAsB;QACjD,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzC,OAAO,OAAO,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC;YACd,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAsB;QAClD,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAClC,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE;gBACR,OAAO,EAAE,eAAe;aACxB;SACD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE;YACtD,OAAO,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;YAC/C,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,eAAe;SACxB,CAAC,CAAC;QAEH,qDAAqD;QACrD,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC5D,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,aAAa,CAAC,8BAA8B,EAAE;oBACxD,QAAQ,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE;oBACjD,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,eAAe;oBACxB,QAAQ,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CACV,+DAA+D,CAC/D,CAAC;gBACF,OAAO;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,UAAU,GACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;oBAC/C,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,eAAe;oBACxB,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,SAAS,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;oBAClD,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,eAAe;oBACxB,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,UAAU,CAAC,OAAO;iBAC1B,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CACX,+FAA+F,EAC/F,UAAU,CACV,CAAC;YACH,CAAC;QACF,CAAC;QAED,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,8BAA8B,EAAE;gBACxD,QAAQ,EAAE,kBAAkB;aAC5B,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE;gBACjD,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,UAAU,GACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE;gBACtD,OAAO,EAAE,UAAU,CAAC,OAAO;aAC3B,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;gBAC/C,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;aAC3B,CAAC,CAAC;YACH,MAAM,UAAU,CAAC;QAClB,CAAC;IACF,CAAC;IAEO,oBAAoB,CAAC,MAAsB;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CACjC,QAAsB,EACtB,MAA0B;QAE1B,MAAM,mBAAmB,GAAG;YAC3B,GAAG,CAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAA6B,IAAI,EAAE,CAAC;YACtE,cAAc,EAAE,KAAK,EACpB,SAAiB,EACjB,OAAiC,EAChC,EAAE;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;oBACnC,MAAM,EAAE,KAAK;oBACb,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;iBAClB,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;QACF,MAAM,UAAU,GAAG;YAClB,GAAG,MAAM;YACT,eAAe,EAAE,mBAAmB;SACd,CAAC;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACrC,QAAsB,EACtB,SAAS,GAAG,IAAI;QAEhB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO;QAC9C,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,IAAI,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC;YAAE,OAAO;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,GAAG,EAAE;gBACnB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;YACX,CAAC,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACxC,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC5D,MAAM,EAAE,CAAC;YACV,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,eAAe,GAAG,GAAG,EAAE;gBAC5B,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC/B,IACC,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU;oBAC/C,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAC3C,CAAC;oBACF,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,EAAE,CAAC;YACV,CAAC,CAAC;YACF,IACC,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU;gBAC5C,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU,EAC9C,CAAC;gBACF,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;QACF,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,sCAAsC,EAAE;YAChE,UAAU,EAAE,eAAe,CAAC,MAAM;YAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC;SACtC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACf,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAC3B,IAAI,IAAI,CAAC,uBAAuB;YAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACtE,IAAI,CAAC,uBAAuB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnD,IAAI,SAAS,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACpC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE;oBACzD,YAAY,EAAE,IAAI,CAAC,YAAY;iBAC/B,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACrC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,aAAa;QACZ,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC;YACrE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnD,OAAO;YACN,GAAG,EAAE,IAAI,CAAC,cAAc;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;YAC1D,WAAW,EACV,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC/C,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,OAAO,KAAK,KAAK,CAAC;YACtD,SAAS;SACT,CAAC;IACH,CAAC;IAEO,yBAAyB;QAChC,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,CAAC,KAAwE;YACpF,EAAE,SAAS,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,YAAyC,CAAC;IAC5D,CAAC;IAEO,qBAAqB,CAAC,MAAc;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACd,2DAA2D,CAC3D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,IAAI,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,MAAc;QAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,UAAU,GAAI,IAAI,CAAC,MAAM,CAAC,KAAa,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;QACnE,oDAAoD;QACpD,OAAO,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,MAAc;QAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,CACJ,IAAI,CAAC,MAAM,CAAC,KAAwE;YACrF,EAAE,SAAS,EAAE,CAAC,MAAM,CAAoC,IAAI,IAAI,CACjE,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAc,EAAE,OAAoC;QACpE,gBAAgB;QAChB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,+BAA+B,CAAC,SAAS,EAAE;gBAC9D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,OAAO;gBACvD,MAAM,EAAE,qCAAqC;gBAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;aAC/B,CAAC,CAAC,MAAM,CAAC;QACX,CAAC;QACD,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,KAAa,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAa,CAAC,SAAS,GAAG,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,aAAa,GAAG;YACrB,GAAG,CAAE,IAAI,CAAC,MAAM,CAAC,KAAa,CAAC,SAAS,IAAI,EAAE,CAAC;YAC/C,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE;SACpC,CAAC;QACF,MAAM,SAAS,GAAG,+BAA+B,CAChD;YACC,GAAI,IAAI,CAAC,MAAM,CAAC,KAA8B;YAC9C,SAAS,EAAE,aAAa;SACxB,EACD;YACC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,OAAO;YACvD,MAAM,EAAE,qCAAqC;YAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CACD,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,6DAA6D;QAC7D,6DAA6D;QAC7D,gEAAgE;QAChE,oDAAoD;QACpD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAA6B;SAChD,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,aAAa,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvE,0CAA0C;QAC1C,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,OAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,+BAA+B,CAAC,SAAS,EAAE;gBAC9D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,OAAO;gBACvD,MAAM,EAAE,wCAAwC;gBAChD,YAAY,EAAE,IAAI,CAAC,YAAY;aAC/B,CAAC,CAAC,MAAM,CAAC;QACX,CAAC;QACD,MAAM,SAAS,GAAG,+BAA+B,CAChD;YACC,GAAI,IAAI,CAAC,MAAM,CAAC,KAA8B;YAC9C,SAAS,EAAE;gBACV,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;gBACrB,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;aAC3D;SACD,EACD;YACC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,OAAO;YACvD,MAAM,EAAE,wCAAwC;YAChD,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CACD,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,wDAAwD;QACxD,8DAA8D;QAC9D,oBAAoB;QACpB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAA6B;SAChD,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACtC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,gBAAgB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,QAAqC;QAC1D,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC;QAC5C,sCAAsC;QACtC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClC,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACzC,CAAC,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,uCAAuC;IACvC,EAAE;IACF,kEAAkE;IAClE,oEAAoE;IACpE,sEAAsE;IACtE,mEAAmE;IACnE,kEAAkE;IAClE,mEAAmE;IAEnE;;;;;;;OAOG;IACH,gBAAgB,CAAC,OAAkC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,QAAkC;QAChD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,UAAmC;QACnD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC9B,UAAU;YACV,cAAc,EAAE,IAAI,CAAC,8BAA8B,EAAE;SACrD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAiC;QACrD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC9B,cAAc,EAAE,OAAO;YACvB,cAAc,EAAE,IAAI,CAAC,8BAA8B,EAAE;SACrD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,IAA+B;QAChD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,8BAA8B,EAAE;SACrD,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,MAAoB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,8BAA8B;QACrC,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACpC,CAAC;QACD,OAAO,4BAA4B,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,cAAc,EAAE,IAAI,CAAC,mBAAmB;SACxC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAC7B,MAAc,EACd,QAAqC;QAErC,4CAA4C;QAC5C,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC1D,IAAI,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;gBAChD,KAAK,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE;oBACpC,IAAI,IAAI,CAAC,qBAAqB,KAAK,kBAAkB,EAAE,CAAC;wBACvD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;oBACxC,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,KAAK,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBACvC,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;wBACpD,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,kBAAkB;gBACtB,kEAAkE;gBAClE,MAAM;YAEP,sCAAsC;QACvC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACR,yBAAyB;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,eAAe,GAAG,IAAI;aAC1B,0BAA0B,EAAE;aAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,MAAM,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;CACD"}
1
+ {"version":3,"file":"ToolkitCoordinator.js","sourceRoot":"","sources":["../../src/services/ToolkitCoordinator.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@ import type { SectionControllerHandle, SectionItemEventSubscriptionArgs, Section
15
15
  import type { ThemeConfig } from "./ThemeProvider.js";
16
16
  import type { ZIndexLayer } from "./ToolCoordinator.js";
17
17
  import type { PlaybackState, TTSConfig } from "./TTSService.js";
18
- import type { ToolProviderConfig } from "./tools-config-normalizer.js";
18
+ import type { ToolPlacementConfig, ToolPlacementLevel, ToolProviderConfig } from "./tools-config-normalizer.js";
19
19
  import type { ToolProviderRegistry } from "./tool-providers/ToolProviderRegistry.js";
20
- import type { PolicySource, QtiEnforcementMode, ResolvedEngineInputs, ToolPolicyChangeListener, ToolPolicyDecision, ToolPolicyDecisionRequest } from "../policy/engine.js";
20
+ import type { PolicySource, PnpEnforcementMode, ResolvedEngineInputs, ToolPolicyChangeListener, ToolPolicyDecision, ToolPolicyDecisionRequest } from "../policy/engine.js";
21
21
  import type { AssessmentEntity, AssessmentItemRef } from "@pie-players/pie-players-shared/types";
22
22
  import type { ITTSProvider, TTSProviderCapabilities } from "@pie-players/pie-tts";
23
23
  export type { I18nServiceApi };
@@ -448,6 +448,14 @@ export interface ToolkitCoordinatorApi {
448
448
  * Update tool configuration
449
449
  */
450
450
  updateToolConfig(toolId: string, updates: Partial<ToolProviderConfig>): void;
451
+ /**
452
+ * Update the enabled tool list for one placement level.
453
+ */
454
+ updateToolPlacement(level: ToolPlacementLevel, toolIds: string[]): void;
455
+ /**
456
+ * Patch one or more placement levels in the canonical tools config.
457
+ */
458
+ updateToolsPlacement(partial: ToolPlacementConfig): void;
451
459
  /**
452
460
  * Register or update lifecycle hooks at runtime.
453
461
  */
@@ -549,41 +557,41 @@ export interface ToolkitCoordinatorApi {
549
557
  * Subscribe to policy-engine change events. Fires whenever the
550
558
  * coordinator's bound policy inputs change (`updateToolConfig`,
551
559
  * `updateFloatingTools`, `updateAssessment`, `updateCurrentItemRef`,
552
- * `setQtiEnforcement`) or a custom `PolicySource` is registered /
560
+ * `setPnpEnforcement`) or a custom `PolicySource` is registered /
553
561
  * removed. Listeners that need the new visible tool set should
554
562
  * call `decideToolPolicy(...)` with their level / scope.
555
563
  */
556
564
  onPolicyChange(listener: ToolPolicyChangeListener): () => void;
557
565
  /**
558
- * Bind (or clear) the active QTI assessment for policy decisions.
566
+ * Bind (or clear) the active assessment for PNP/profile policy decisions.
559
567
  *
560
- * Under auto-mode (no host override via {@link setQtiEnforcement}),
561
- * the engine flips to `qtiEnforcement: "on"` iff the assessment
562
- * carries QTI 6-level precedence material (`personalNeedsProfile`,
568
+ * Under auto-mode (no host override via {@link setPnpEnforcement}),
569
+ * the engine flips to `pnpEnforcement: "on"` iff the assessment
570
+ * carries profile precedence material (`personalNeedsProfile`,
563
571
  * `settings.districtPolicy`, `settings.testAdministration`) or the
564
- * currently-bound item ref carries item-level QTI inputs. A bare
572
+ * currently-bound item ref carries item-level profile inputs. A bare
565
573
  * assessment record (just `id` / `name`) keeps `"off"`.
566
574
  *
567
- * The host override set via {@link setQtiEnforcement} is sticky
575
+ * The host override set via {@link setPnpEnforcement} is sticky
568
576
  * across assessment swaps.
569
577
  */
570
578
  updateAssessment(assessment: AssessmentEntity | null): void;
571
579
  /**
572
580
  * Bind (or clear) the current item reference for policy decisions.
573
- * Used by item-level QTI gates (item `requiredTools` /
574
- * `restrictedTools` / `toolParameters`). Item-level QTI material
581
+ * Used by item-level profile gates (item `requiredTools` /
582
+ * `restrictedTools` / `toolParameters`). Item-level profile material
575
583
  * also feeds the auto-mode helper — navigating to an item with
576
- * QTI settings can flip auto-mode to `"on"` even when the parent
577
- * assessment carries no QTI block of its own.
584
+ * profile settings can flip auto-mode to `"on"` even when the parent
585
+ * assessment carries no profile block of its own.
578
586
  */
579
587
  updateCurrentItemRef(itemRef: AssessmentItemRef | null): void;
580
588
  /**
581
- * Override the auto-mode QTI enforcement decision. Pass `"on"` /
589
+ * Override the auto-mode PNP/profile enforcement decision. Pass `"on"` /
582
590
  * `"off"` to pin the mode, or `null` to clear the override and
583
591
  * return to auto-mode (`"on"` iff the bound assessment / item ref
584
- * carries QTI material, otherwise `"off"`).
592
+ * carries profile material, otherwise `"off"`).
585
593
  */
586
- setQtiEnforcement(mode: QtiEnforcementMode | null): void;
594
+ setPnpEnforcement(mode: PnpEnforcementMode | null): void;
587
595
  /**
588
596
  * Read the engine inputs currently driving decisions. Useful for
589
597
  * debugging / instrumentation; do not mutate.