@event4u/agent-config 9.34.0 → 9.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +91 -0
  3. package/CONTRIBUTING.md +23 -14
  4. package/dist/agent-src/commands/roadmap/next.md +37 -5
  5. package/dist/agent-src/scripts/roadmap_gates.ts +119 -4
  6. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +25 -0
  7. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  8. package/dist/agent-src/templates/scripts/memory_lookup.ts +1 -2
  9. package/dist/agent-src/templates/scripts/memory_signal.ts +2 -4
  10. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_gate.ts +35 -5
  11. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/staged_confirmation.ts +252 -0
  12. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/staged_confirmation_store.ts +307 -0
  13. package/dist/cli/registry.js +2 -2
  14. package/dist/cli/registry.js.map +1 -1
  15. package/dist/cli-delegate/{chunk-REMEZSVP.js → chunk-2TGMGLBL.js} +2 -2
  16. package/dist/cli-delegate/{chunk-YPAWXXXR.js → chunk-55RI5UXK.js} +17 -0
  17. package/dist/cli-delegate/{chunk-MA4GFWDY.js → chunk-H6F2CQFI.js} +1 -1
  18. package/dist/cli-delegate/{chunk-UVKNIJH2.js → chunk-ZAXH3ZWU.js} +3 -0
  19. package/dist/cli-delegate/cmd_conformance.js +2 -2
  20. package/dist/cli-delegate/cmd_doctor.js +2 -2
  21. package/dist/cli-delegate/cmd_export.js +2 -2
  22. package/dist/cli-delegate/cmd_handoff.js +1 -1
  23. package/dist/cli-delegate/cmd_prune.js +2 -2
  24. package/dist/cli-delegate/cmd_settings_migrate.js +2 -2
  25. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  26. package/dist/cli-delegate/cmd_sync.js +2 -2
  27. package/dist/cli-delegate/cmd_uninstall.js +2 -2
  28. package/dist/cli-delegate/cmd_validate.js +2 -2
  29. package/dist/discovery/deprecation-report.md +1 -1
  30. package/dist/discovery/discovery-manifest.json +4 -4
  31. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  32. package/dist/discovery/discovery-manifest.summary.md +1 -1
  33. package/dist/discovery/dormancy-report.md +1 -1
  34. package/dist/discovery/orphan-report.md +1 -1
  35. package/dist/discovery/packs.json +2 -2
  36. package/dist/discovery/trust-report.md +1 -1
  37. package/dist/discovery/workspaces.json +2 -2
  38. package/dist/hooks/dispatch.js +259 -78
  39. package/dist/install/install.mjs +3 -0
  40. package/dist/mcp/registry-manifest.json +2 -2
  41. package/dist/mcp/server.json +2 -2
  42. package/dist/mcp/server.mjs +74 -2
  43. package/dist/server/schemas/settings.js +1 -0
  44. package/dist/server/schemas/settings.js.map +1 -1
  45. package/docs/contracts/settings-classes.md +3 -2
  46. package/package.json +1 -1
  47. package/src/agent-src/scripts/roadmap_gates.ts +119 -4
  48. package/src/agent-src/templates/scripts/memory_lookup.ts +1 -2
  49. package/src/agent-src/templates/scripts/memory_signal.ts +2 -4
  50. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_gate.ts +35 -5
  51. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/staged_confirmation.ts +252 -0
  52. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/staged_confirmation_store.ts +307 -0
  53. package/src/config/agent-settings.template.yml +11 -2
  54. package/src/config/quorum-attendance-budget.json +10 -2
  55. package/src/scripts/_dispatch.bash +6 -2
  56. package/src/scripts/_lib/session_register.ts +67 -1
  57. package/src/scripts/ai_council/config.ts +60 -0
  58. package/src/scripts/ai_council/events_log.ts +103 -4
  59. package/src/scripts/ai_council/quorum.ts +83 -6
  60. package/src/scripts/council_cli.ts +36 -1
  61. package/src/scripts/hooks/turn_end_gate_hook.ts +172 -11
  62. package/src/scripts/lint_framework_leakage.ts +195 -28
  63. package/src/scripts/lint_framework_leakage_allowlist.json +94 -86
  64. package/src/scripts/memory_lookup.ts +1 -2
  65. package/src/scripts/schemas/command.schema.json +4 -0
  66. package/src/scripts/schemas/skill.schema.json +4 -0
  67. package/src/scripts/session_register_hook.ts +238 -18
  68. package/src/scripts/sessions_cli.ts +377 -12
  69. package/src/server/schemas/settings.ts +3 -0
@@ -15076,6 +15076,9 @@ var settingsSchema = external_exports.object({
15076
15076
  ),
15077
15077
  language: external_exports.boolean().default(true).describe(
15078
15078
  "Detector B of the turn-end gate: refuse a turn whose reply is not in the pinned language (19 measured occurrences). Fenced code, inline code, quoted tool output, tables, URLs and paths are stripped first, and the remainder is then scored LEAD-FIRST by the same classifier that sets the pin \u2014 so the verdict usually comes from the reply opening, not from all of it. Sharing that classifier is deliberate: it stops the pin and the detector disagreeing about a turn. Accepted opt-in spellings for the switches below include YAML true/false and yes/no/on/off. Inert while hooks.turn_end_gate.enabled is false."
15079
+ ),
15080
+ verification: external_exports.boolean().default(true).describe(
15081
+ "Detector C of the turn-end gate: refuse a turn that changed a file and then ran nothing that could have checked it \u2014 no test, type-check, lint or build call follows the LAST edit. Ordering is the point: a run before the final edit did not exercise it, which is the freshness clause verify-before-complete states. Read off the turn tool calls, not the prose, because a reply cannot say whether an edit was verified. Deliberately narrow on what counts as verification \u2014 a missed detection costs one unguarded turn, a false refusal teaches you to switch the gate off. No fire rate is quoted: none has been measured yet. Inert while hooks.turn_end_gate.enabled is false."
15079
15082
  )
15080
15083
  }).default({})
15081
15084
  }),
@@ -3,13 +3,13 @@
3
3
  "artefact_count": 603,
4
4
  "scanner_version": "1eaf68b6e9c9"
5
5
  },
6
- "generated_at": "2026-08-11",
6
+ "generated_at": "2026-08-12",
7
7
  "package": {
8
8
  "description": "Governed skills, rules and commands for AI coding tools (Claude Code, Cursor, Windsurf, Copilot) \u2014 every claim machine-checked, including \"zero runtime daemon\".",
9
9
  "homepage": "https://event4u-app.github.io/agent-config",
10
10
  "name": "@event4u/agent-config",
11
11
  "repository": "https://github.com/event4u-app/agent-config",
12
- "version": "9.34.0"
12
+ "version": "9.35.0"
13
13
  },
14
14
  "registries": [
15
15
  {
@@ -9,12 +9,12 @@
9
9
  "transport": {
10
10
  "type": "stdio"
11
11
  },
12
- "version": "9.34.0"
12
+ "version": "9.35.0"
13
13
  }
14
14
  ],
15
15
  "repository": {
16
16
  "source": "github",
17
17
  "url": "https://github.com/event4u-app/agent-config"
18
18
  },
19
- "version": "9.34.0"
19
+ "version": "9.35.0"
20
20
  }
@@ -25418,9 +25418,19 @@ function evaluateQuorum(total, present, setting = "majority") {
25418
25418
  function isSoloConcluded(result) {
25419
25419
  return result.status === "concluded" && result.present === 1;
25420
25420
  }
25421
+ function wouldSoloFloorHold(result, minPresent = SOLO_FLOOR_MIN_PRESENT, configuredTotal) {
25422
+ if (result.status !== "concluded") {
25423
+ return false;
25424
+ }
25425
+ const ceiling = Math.max(result.total, configuredTotal ?? result.total);
25426
+ const floor = Math.min(Math.max(Math.trunc(minPresent), 1), ceiling);
25427
+ return result.present < floor;
25428
+ }
25429
+ var SOLO_FLOOR_MIN_PRESENT;
25421
25430
  var init_quorum = __esm({
25422
25431
  "src/scripts/ai_council/quorum.ts"() {
25423
25432
  "use strict";
25433
+ SOLO_FLOOR_MIN_PRESENT = 2;
25424
25434
  }
25425
25435
  });
25426
25436
 
@@ -25529,6 +25539,7 @@ function appendEvent(event, opts = {}) {
25529
25539
  }
25530
25540
  function appendQuorumEvent(input, opts = {}) {
25531
25541
  try {
25542
+ const minPresent = input.minPresent ?? SOLO_FLOOR_MIN_PRESENT;
25532
25543
  return appendEvent(
25533
25544
  {
25534
25545
  lens: input.lens,
@@ -25547,6 +25558,38 @@ function appendQuorumEvent(input, opts = {}) {
25547
25558
  // in `quorum.ts`, so a change to it cannot leave a consumer's
25548
25559
  // copy silently stale.
25549
25560
  solo: isSoloConcluded(input.result),
25561
+ // Declared class, never inferred — see `QuorumEventInput`.
25562
+ gate_class: input.gateClass ?? false,
25563
+ // The counterfactual, written on every line: would a
25564
+ // `min_present` floor have held this pass? Recorded as a FIELD
25565
+ // on `quorum_result` rather than as a new action, deliberately:
25566
+ // a new action is invisible to every consumer filtering
25567
+ // `action === 'quorum_result'`, which would split the
25568
+ // attendance population in two and silently move the
25569
+ // denominator of all four registered metrics. An additive
25570
+ // boolean moves no existing bucket.
25571
+ //
25572
+ // Mutually exclusive with `verdict: 'inconclusive'` by
25573
+ // construction (`wouldSoloFloorHold` returns false unless the
25574
+ // pass concluded), which is what makes "held by the floor" and
25575
+ // "threshold not met" readable apart from this line alone.
25576
+ // `configuredTotal` is passed, not omitted: post_run `total`
25577
+ // is the roster that CONSTRUCTED, so without it a pass that
25578
+ // lost a member at construction time reads total=1/present=1
25579
+ // and the floor cannot fire on it — the construction-degraded
25580
+ // solo case ADR-224 was actually decided on.
25581
+ //
25582
+ // `min_present` records the floor the counterfactual was
25583
+ // computed against, resolved ONCE below and used for both the
25584
+ // record and the predicate so the line can never disagree with
25585
+ // the boolean it explains — the one-definition discipline
25586
+ // `solo` follows by deferring to `isSoloConcluded`.
25587
+ min_present: minPresent,
25588
+ floor_would_hold: wouldSoloFloorHold(
25589
+ input.result,
25590
+ minPresent,
25591
+ input.configuredTotal
25592
+ ),
25550
25593
  absent: input.absent.map((a) => ({ member: a.member, reason: a.reason }))
25551
25594
  },
25552
25595
  opts
@@ -25644,7 +25687,7 @@ var init_events_log = __esm({
25644
25687
  "use strict";
25645
25688
  init_env_kill_switch();
25646
25689
  init_quorum();
25647
- SCHEMA_VERSION6 = 2;
25690
+ SCHEMA_VERSION6 = 4;
25648
25691
  _VALID_ACTIONS = /* @__PURE__ */ new Set([
25649
25692
  "proceed",
25650
25693
  "skip_necessity",
@@ -27835,6 +27878,9 @@ function _build_config(raw, source_path) {
27835
27878
  _asDict(_getOr(raw, "cli_call_budget", {}))
27836
27879
  );
27837
27880
  const quorum = _build_quorum(_get(raw, "quorum", "majority"));
27881
+ const quorum_min_present = _build_quorum_min_present(
27882
+ _get(raw, "quorum_min_present", SOLO_FLOOR_MIN_PRESENT)
27883
+ );
27838
27884
  const necessity_classifier = _build_necessity_classifier(
27839
27885
  _asDict(_getOr(raw, "necessity_classifier", {}))
27840
27886
  );
@@ -27883,6 +27929,7 @@ function _build_config(raw, source_path) {
27883
27929
  consensus_scoring: consensus,
27884
27930
  cli_call_budget,
27885
27931
  quorum,
27932
+ quorum_min_present,
27886
27933
  necessity_classifier,
27887
27934
  model_downgrade,
27888
27935
  debate,
@@ -28683,6 +28730,14 @@ function _build_quorum(raw) {
28683
28730
  `\`quorum\`=${_pyRepr6(raw)} must be 'majority' or an integer >= 1 (got ${_pyTypeName(raw)}).`
28684
28731
  );
28685
28732
  }
28733
+ function _build_quorum_min_present(raw) {
28734
+ if (_isInt(raw) && raw >= 1) {
28735
+ return raw;
28736
+ }
28737
+ throw new CouncilConfigError(
28738
+ `\`quorum_min_present\`=${_pyRepr6(raw)} must be an integer >= 1 (got ${_pyTypeName(raw)}).`
28739
+ );
28740
+ }
28686
28741
  function _build_advisor(name, cfg) {
28687
28742
  if (!_isDict(cfg)) {
28688
28743
  throw new CouncilConfigError(`advisors.${name}: must be a mapping.`);
@@ -28809,6 +28864,7 @@ var init_config = __esm({
28809
28864
  "use strict";
28810
28865
  import_yaml5 = __toESM(require_dist(), 1);
28811
28866
  init_user_global_paths();
28867
+ init_quorum();
28812
28868
  _VALID_PROVIDERS = /* @__PURE__ */ new Set([
28813
28869
  "anthropic",
28814
28870
  "openai",
@@ -44015,6 +44071,12 @@ function _synthesize_ai_council_block(cfg) {
44015
44071
  // configured `quorum: <k>`. Additive key — callers that never read
44016
44072
  // it observe no change.
44017
44073
  quorum: cfg.quorum,
44074
+ // Forwarded for the same reason `quorum` above had to be: a key that
44075
+ // `_build_config` validates and this block drops is a key the loader
44076
+ // enforces and the runtime never sees. That defect shipped once here
44077
+ // already; repeating it for the shadow floor would silently pin every
44078
+ // `floor_would_hold` to the default no matter what the operator set.
44079
+ quorum_min_present: cfg.quorum_min_present,
44018
44080
  necessity_classifier: {
44019
44081
  enabled: cfg.necessity_classifier.enabled,
44020
44082
  mode: cfg.necessity_classifier.mode,
@@ -44075,6 +44137,13 @@ function _quorum_setting_from(ai) {
44075
44137
  }
44076
44138
  return "majority";
44077
44139
  }
44140
+ function _quorum_min_present_from(ai) {
44141
+ const raw = ai["quorum_min_present"];
44142
+ if (typeof raw === "number" && Number.isInteger(raw) && raw >= 1) {
44143
+ return raw;
44144
+ }
44145
+ return SOLO_FLOOR_MIN_PRESENT;
44146
+ }
44078
44147
  function _emitQuorumEvent(phase, quorum, absent, ctx) {
44079
44148
  appendQuorumEvent({
44080
44149
  lens: ctx.lens ?? "",
@@ -44084,6 +44153,7 @@ function _emitQuorumEvent(phase, quorum, absent, ctx) {
44084
44153
  dispatch: ctx.dispatch ?? "full",
44085
44154
  configuredTotal: ctx.configuredTotal ?? quorum.total,
44086
44155
  result: quorum,
44156
+ ...ctx.minPresent !== void 0 ? { minPresent: ctx.minPresent } : {},
44087
44157
  absent: absent.map(
44088
44158
  (a) => ({
44089
44159
  member: String(a["member"] ?? ""),
@@ -44287,7 +44357,8 @@ function build_members(settings, opts = {}) {
44287
44357
  const present = total_enabled - absent_count;
44288
44358
  quorum_out.result = evaluateQuorum(total_enabled, present, _quorum_setting_from(ai));
44289
44359
  _emitQuorumEvent("pre_run", quorum_out.result, absent_entries, {
44290
- command: opts.command ?? "run"
44360
+ command: opts.command ?? "run",
44361
+ minPresent: _quorum_min_present_from(ai)
44291
44362
  });
44292
44363
  }
44293
44364
  if (members.length === 0) {
@@ -45530,6 +45601,7 @@ function cmd_run(args, opts = {}) {
45530
45601
  // and the solo-conclusion rate cannot make the one distinction it
45531
45602
  // exists for.
45532
45603
  dispatch: dispatch_shape,
45604
+ minPresent: _quorum_min_present_from(ai_cfg),
45533
45605
  ...configured_total !== null ? { configuredTotal: configured_total } : {},
45534
45606
  lens: question.mode,
45535
45607
  invocation: String(_getattr3(args, "invocation", "agent"))
@@ -273,6 +273,7 @@ export const settingsSchema = z.object({
273
273
  enabled: z.boolean().default(false).describe('Stop-slot turn-end gate (road-to-conformance-round5 Phase 3). Default off, and it is the only concern that can REFUSE a turn-end rather than a tool call — so it soaks behind an explicit opt-in before it binds. Round 5 measured the reason: both blocking carriers reached zero violations, neither advisory carrier did, and 19 wrong-language replies survived a pin that had fired 26-35 seconds earlier. A refused turn continues in the SAME turn and is never refused twice.'),
274
274
  promissory: z.boolean().default(true).describe('Detector A of the turn-end gate: refuse a turn whose closing paragraph promises work not yet performed while asking the user nothing (20 measured occurrences). No fire rate is quoted here on purpose: the measured rate moved twice while the instrument itself was being corrected, so a number in a shipped description would be a moving target. Re-derive it with `measure-turn-end-gate --store <transcript dir>` against your own corpus before arming the gate. Inert while hooks.turn_end_gate.enabled is false.'),
275
275
  language: z.boolean().default(true).describe('Detector B of the turn-end gate: refuse a turn whose reply is not in the pinned language (19 measured occurrences). Fenced code, inline code, quoted tool output, tables, URLs and paths are stripped first, and the remainder is then scored LEAD-FIRST by the same classifier that sets the pin — so the verdict usually comes from the reply opening, not from all of it. Sharing that classifier is deliberate: it stops the pin and the detector disagreeing about a turn. Accepted opt-in spellings for the switches below include YAML true/false and yes/no/on/off. Inert while hooks.turn_end_gate.enabled is false.'),
276
+ verification: z.boolean().default(true).describe('Detector C of the turn-end gate: refuse a turn that changed a file and then ran nothing that could have checked it — no test, type-check, lint or build call follows the LAST edit. Ordering is the point: a run before the final edit did not exercise it, which is the freshness clause verify-before-complete states. Read off the turn tool calls, not the prose, because a reply cannot say whether an edit was verified. Deliberately narrow on what counts as verification — a missed detection costs one unguarded turn, a false refusal teaches you to switch the gate off. No fire rate is quoted: none has been measured yet. Inert while hooks.turn_end_gate.enabled is false.'),
276
277
  }).default({}),
277
278
  }),
278
279
  decision_engine: z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/schemas/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAClG,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACrF,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACpD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC7E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAChE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACjD,oOAAoO,CACvO;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CACvC,kgBAAkgB,CACrgB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC/C,ogBAAogB,CACvgB;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,ocAAoc,CACvc;QACD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9E,yjBAAyjB,CAC5jB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClC,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC3D,2bAA2b,CAC9b;IACD,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrD,soBAAsoB,CACzoB;IACD,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAClD,wUAAwU,CAC3U;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,2LAA2L,CAC9L;YACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACzC,4IAA4I,CAC/I;YACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC1C,oJAAoJ,CACvJ;YACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtD,kKAAkK,CACrK;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qEAAqE,CACxE;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,6KAA6K,CAChL;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC;QACF,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CACrD,gNAAgN,CACnN;KACJ,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CACpD,moBAAmoB,CACtoB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAChC,6LAA6L,CAChM;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,4JAA4J,CAC/J;QACD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,8hBAA8hB,CACjiB;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,8LAA8L,CACjM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,mbAAmb,CACtb;QACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,oMAAoM,CACvM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,yLAAyL,CAC5L;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,qWAAqW,CACxW;QACD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC3C,qUAAqU,CACxU;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpC,sPAAsP,CACzP;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CACxE,wLAAwL,CAC3L;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1C,yLAAyL,CAC5L;QACD,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CACvE,yKAAyK,CAC5K;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAClE,gSAAgS,CACnS;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wPAAwP,CAC3P;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CACzD,4QAA4Q,CAC/Q;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,iMAAiM,CACpM;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC5C,yPAAyP,CAC5P;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qKAAqK,CACxK;QACD,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAChD,qMAAqM,CACxM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC7C,0LAA0L,CAC7L;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,gLAAgL,CACnL;YACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC/C,+KAA+K,CAClL;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChD,wHAAwH,CAC3H;SACJ,CAAC;KACL,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,+PAA+P,CAClQ;QACD,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC9D,2PAA2P,CAC9P;QACD,uBAAuB,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CACnE,+TAA+T,CAClU;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,0KAA0K,CAC7K;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,0dAA0d,CAC7d;QACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2TAA2T,CAC9T;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,8ZAA8Z,CACja;KACJ,CAAC;QACE,0EAA0E;QAC1E,qEAAqE;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;SACxE,OAAO,CAAC,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,0aAA0a,CAC7a;QACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wMAAwM,CAC3M;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAClD,6TAA6T,CAChU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,2eAA2e,CAC9e;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxD,+cAA+c,CACld;QACD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,oRAAoR,CACvR;QACD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3D,8VAA8V,CACjW;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC9F,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,yUAAyU,CAC5U;QACD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAChE,wTAAwT,CAC3T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,sVAAsV,CACzV;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,mNAAmN,CACtN;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,sJAAsJ,CACzJ;QACD,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtD,mKAAmK,CACtK;QACD,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1D,yJAAyJ,CAC5J;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC/E,4HAA4H,CAC/H;KACJ,CAAC,CAAC,OAAO,CAAC;QACP,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,KAAK;QACxB,qBAAqB,EAAE,KAAK;QAC5B,yBAAyB,EAAE,KAAK;QAChC,mBAAmB,EAAE,SAAS;KACjC,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC9D,kUAAkU,CACrU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8GAA8G,CACjH;QACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,2OAA2O,CAC9O;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,2HAA2H,CAC9H;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,6DAA6D,CAChE;YACD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtC,gFAAgF,CACnF;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,uHAAuH,CAC1H;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,6HAA6H,CAChI;YACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,oEAAoE,CACvE;YACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,mGAAmG,CACtG;YACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAClD,6DAA6D,CAChE;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,iJAAiJ,CACpJ;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,wMAAwM,CAC3M;QACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YAC/G,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;YACnH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;SAClH,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACnB,sHAAsH,CACzH;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,iMAAiM,CACpM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,yLAAyL,CAC5L;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1C,6PAA6P,CAChQ;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrD,yLAAyL,CAC5L;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrE,uaAAua,CAC1a;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,6MAA6M,CAChN;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,0PAA0P,CAC7P;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,0SAA0S,CAC7S;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC3D,iOAAiO,CACpO;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,2IAA2I,CAC9I;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,iSAAiS,CACpS;YACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,qRAAqR,CACxR;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAAC;IACnK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,gWAAgW,CACnW;QACD,gCAAgC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC7D,kGAAkG,CACrG;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,EAAE,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,oMAAoM,CACvM;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC5E,8cAA8c,CACjd;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,wMAAwM,CAC3M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC5D,uMAAuM,CAC1M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,wLAAwL,CAC3L;YACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACpD,2LAA2L,CAC9L;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,sJAAsJ,CACzJ;SACJ,CAAC;QACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,4LAA4L,CAC/L;YACD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/D,kaAAka,CACra;YACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,uTAAuT,CAC1T;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC5C,2VAA2V,CAC9V;YACD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,uPAAuP,CAC1P;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,oNAAoN,CACvN;SACJ,CAAC;KACL,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC7C,oSAAoS,CACvS;QACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1D,yMAAyM,CAC5M;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,6MAA6M,CAChN;QACD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxD,wYAAwY,CAC3Y;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,ycAAyc,CAC5c;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8aAA8a,CACjb;YACD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAC3D,kKAAkK,CACrK;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,kFAAkF,CACrF;gBACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yFAAyF,CAC5F;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/D,kGAAkG,CACrG;gBACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,6DAA6D,CAChE;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,uMAAuM,CAC1M;YACD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpD,+KAA+K,CAClL;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,0LAA0L,CAC7L;SACJ,CAAC;QACF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,2TAA2T,CAC9T;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,ohBAAohB,CACvhB;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,+cAA+c,CACld;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,uaAAua,CAC1a;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,udAAud,CAC1d;YACD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC1C,4fAA4f,CAC/f;YACD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACxC,+lBAA+lB,CAClmB;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,2KAA2K,CAC9K;QACD,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,mNAAmN,CACtN;QACD,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACjD,8LAA8L,CACjM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,6NAA6N,CAChO;QACD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,gNAAgN,CACnN;QACD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC7D,2MAA2M,CAC9M;QACD,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACvD,0LAA0L,CAC7L;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,oNAAoN,CACvN;KACJ,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,uRAAuR,CAC1R;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACzC,2IAA2I,CAC9I;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yTAAyT,CAC5T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;CAC/E,CAAC,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/server/schemas/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAClG,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACrF,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACpD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC7E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAChE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACjD,oOAAoO,CACvO;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CACvC,kgBAAkgB,CACrgB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC/C,ogBAAogB,CACvgB;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,ocAAoc,CACvc;QACD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9E,yjBAAyjB,CAC5jB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClC,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC3D,2bAA2b,CAC9b;IACD,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrD,soBAAsoB,CACzoB;IACD,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAClD,wUAAwU,CAC3U;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,2LAA2L,CAC9L;YACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACzC,4IAA4I,CAC/I;YACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC1C,oJAAoJ,CACvJ;YACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtD,kKAAkK,CACrK;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qEAAqE,CACxE;gBACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,6KAA6K,CAChL;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC;QACF,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CACrD,gNAAgN,CACnN;KACJ,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CACpD,moBAAmoB,CACtoB;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAChC,6LAA6L,CAChM;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,4JAA4J,CAC/J;QACD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,8hBAA8hB,CACjiB;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,8LAA8L,CACjM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,mbAAmb,CACtb;QACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,oMAAoM,CACvM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,yLAAyL,CAC5L;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,qWAAqW,CACxW;QACD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAC3C,qUAAqU,CACxU;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpC,sPAAsP,CACzP;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CACxE,wLAAwL,CAC3L;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1C,yLAAyL,CAC5L;QACD,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CACvE,yKAAyK,CAC5K;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAClE,gSAAgS,CACnS;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wPAAwP,CAC3P;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CACzD,4QAA4Q,CAC/Q;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,iMAAiM,CACpM;QACD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC5C,yPAAyP,CAC5P;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,qKAAqK,CACxK;QACD,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAChD,qMAAqM,CACxM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC7C,0LAA0L,CAC7L;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,gLAAgL,CACnL;YACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC/C,+KAA+K,CAClL;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChD,wHAAwH,CAC3H;SACJ,CAAC;KACL,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,+PAA+P,CAClQ;QACD,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC9D,2PAA2P,CAC9P;QACD,uBAAuB,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CACnE,+TAA+T,CAClU;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,0KAA0K,CAC7K;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,0dAA0d,CAC7d;QACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2TAA2T,CAC9T;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACjD,8ZAA8Z,CACja;KACJ,CAAC;QACE,0EAA0E;QAC1E,qEAAqE;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;SACxE,OAAO,CAAC,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,0aAA0a,CAC7a;QACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,wMAAwM,CAC3M;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAClD,6TAA6T,CAChU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,2eAA2e,CAC9e;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxD,+cAA+c,CACld;QACD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvD,oRAAoR,CACvR;QACD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3D,8VAA8V,CACjW;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC9F,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,yUAAyU,CAC5U;QACD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAChE,wTAAwT,CAC3T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC9C,sVAAsV,CACzV;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,mNAAmN,CACtN;QACD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,sJAAsJ,CACzJ;QACD,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtD,mKAAmK,CACtK;QACD,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1D,yJAAyJ,CAC5J;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC/E,4HAA4H,CAC/H;KACJ,CAAC,CAAC,OAAO,CAAC;QACP,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,KAAK;QACxB,qBAAqB,EAAE,KAAK;QAC5B,yBAAyB,EAAE,KAAK;QAChC,mBAAmB,EAAE,SAAS;KACjC,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC9D,kUAAkU,CACrU;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8GAA8G,CACjH;QACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,2OAA2O,CAC9O;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,2HAA2H,CAC9H;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,6DAA6D,CAChE;YACD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACtC,gFAAgF,CACnF;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,uHAAuH,CAC1H;YACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAChD,6HAA6H,CAChI;YACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACnD,oEAAoE,CACvE;YACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,mGAAmG,CACtG;YACD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAClD,6DAA6D,CAChE;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACzC,iJAAiJ,CACpJ;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,wMAAwM,CAC3M;QACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YAC/G,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;YACnH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;SAClH,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACnB,sHAAsH,CACzH;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,iMAAiM,CACpM;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACxC,yLAAyL,CAC5L;QACD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1C,6PAA6P,CAChQ;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrD,yLAAyL,CAC5L;QACD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrE,uaAAua,CAC1a;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACtC,6MAA6M,CAChN;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,0PAA0P,CAC7P;QACD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,0SAA0S,CAC7S;QACD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC3D,iOAAiO,CACpO;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,2IAA2I,CAC9I;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,iSAAiS,CACpS;YACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,qRAAqR,CACxR;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAAC;IACnK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnD,gWAAgW,CACnW;QACD,gCAAgC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC7D,kGAAkG,CACrG;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,EAAE,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,oMAAoM,CACvM;KACJ,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAC5E,8cAA8c,CACjd;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,wMAAwM,CAC3M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC5D,uMAAuM,CAC1M;YACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,wLAAwL,CAC3L;YACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACpD,2LAA2L,CAC9L;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,sJAAsJ,CACzJ;SACJ,CAAC;QACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,4LAA4L,CAC/L;YACD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/D,kaAAka,CACra;YACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,uTAAuT,CAC1T;YACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC5C,2VAA2V,CAC9V;YACD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,uPAAuP,CAC1P;YACD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/C,oNAAoN,CACvN;SACJ,CAAC;KACL,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC7C,oSAAoS,CACvS;QACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC1D,yMAAyM,CAC5M;QACD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACrD,6MAA6M,CAChN;QACD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxD,wYAAwY,CAC3Y;QACD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACrD,ycAAyc,CAC5c;KACJ,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,8aAA8a,CACjb;YACD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAC3D,kKAAkK,CACrK;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,kFAAkF,CACrF;gBACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yFAAyF,CAC5F;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC/D,2GAA2G,CAC9G;YACD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC/D,kGAAkG,CACrG;gBACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC3D,6DAA6D,CAChE;aACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtD,uMAAuM,CAC1M;YACD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACpD,+KAA+K,CAClL;YACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC1C,0LAA0L,CAC7L;SACJ,CAAC;QACF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,2TAA2T,CAC9T;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,ohBAAohB,CACvhB;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,+cAA+c,CACld;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,uaAAua,CAC1a;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACd,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACxC,udAAud,CAC1d;YACD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC1C,4fAA4f,CAC/f;YACD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACxC,+lBAA+lB,CAClmB;YACD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC5C,4pBAA4pB,CAC/pB;SACJ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjB,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,2KAA2K,CAC9K;QACD,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAClD,mNAAmN,CACtN;QACD,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACjD,8LAA8L,CACjM;QACD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACpD,6NAA6N,CAChO;QACD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACtC,gNAAgN,CACnN;QACD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC7D,2MAA2M,CAC9M;QACD,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CACvD,0LAA0L,CAC7L;KACJ,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACvC,6LAA6L,CAChM;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC3C,oNAAoN,CACvN;KACJ,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC7C,uRAAuR,CAC1R;QACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CACzC,2IAA2I,CAC9I;QACD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/C,yTAAyT,CAC5T;KACJ,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;CAC/E,CAAC,CAAC"}
@@ -180,8 +180,8 @@ dispatch runs, not WHETHER the layer exists, so they keep their own C rows.
180
180
  |---|---|
181
181
  | A — preference | 27 |
182
182
  | B — consent | 3 |
183
- | C — guarded | 111 |
184
- | **Total** | **141** |
183
+ | C — guarded | 112 |
184
+ | **Total** | **142** |
185
185
 
186
186
  The total is every leaf in the template, where *leaf* means anything that is not
187
187
  a **non-empty** map. An empty map (like the former `subagents.host_capabilities: {}`) is a real
@@ -328,6 +328,7 @@ Rows follow template order, so a diff against the template reads straight down.
328
328
  | `hooks.turn_end_gate.enabled` | C | `false` | arms the only concern that can REFUSE a turn-end; an agent must never be able to switch its own delivery gate on |
329
329
  | `hooks.turn_end_gate.promissory` | C | `true` | which refusal the turn-end gate may raise; inert while the master switch is off |
330
330
  | `hooks.turn_end_gate.language` | C | `true` | which refusal the turn-end gate may raise; inert while the master switch is off |
331
+ | `hooks.turn_end_gate.verification` | C | `true` | which refusal the turn-end gate may raise; inert while the master switch is off |
331
332
  | `decision_engine.surface_traces` | C | `false` | the decision engine’s own black box; the agent must not be able to close it |
332
333
  | `decision_engine.min_confidence` | C | `"off"` | the confidence gate |
333
334
  | `decision_engine.block_on_risk` | C | `"off"` | the risk-class gate |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@event4u/agent-config",
3
3
  "mcpName": "io.github.event4u-app/agent-config",
4
- "version": "9.34.0",
4
+ "version": "9.35.0",
5
5
  "description": "Governed skills, rules and commands for AI coding tools (Claude Code, Cursor, Windsurf, Copilot) — every claim machine-checked, including \"zero runtime daemon\".",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -46,6 +46,13 @@
46
46
  * ./agent-config gates --all # every open blocker, grouped by owner
47
47
  * ./agent-config gates --json # machine-readable
48
48
  * ./agent-config gates --reply # reply-close form; empty when none
49
+ * ./agent-config gates --pending # staged actions awaiting confirmation
50
+ *
51
+ * `--pending` reads a different source — the staged-confirmation store, not the
52
+ * roadmap tree — and stays out of `--reply` on purpose. ADR-222 fixes the
53
+ * reply-close form at exactly ONE decision rendered in full; folding a second
54
+ * source into it would silently change which decision "the one" is, and that
55
+ * contract is not this step's to move.
49
56
  */
50
57
 
51
58
  import * as path from 'node:path';
@@ -58,6 +65,8 @@ import {
58
65
  blocker_needs_user as needsUser,
59
66
  type Blocker,
60
67
  } from './update_roadmap_progress.js';
68
+ import { listPending } from '../templates/scripts/work_engine/hooks/builtin/staged_confirmation_store.js';
69
+ import type { StagedAction } from '../templates/scripts/work_engine/hooks/builtin/staged_confirmation.js';
61
70
 
62
71
  const _HERE = fileURLToPath(import.meta.url);
63
72
 
@@ -327,6 +336,89 @@ function renderJson(entries: readonly Entry[], all: boolean): string {
327
336
  );
328
337
  }
329
338
 
339
+ /**
340
+ * `--pending`: staged actions awaiting a human confirmation.
341
+ *
342
+ * A second source under the same verb, and the reason it belongs here rather
343
+ * than in a new command is the verb's own definition — "open decisions that
344
+ * need you, as actions". A staged irreversible action IS one, and the most
345
+ * literal kind: the roadmap blockers above are decisions a human owes a plan,
346
+ * this is a decision a human owes an action that is already loaded and waiting.
347
+ *
348
+ * Expired stages are counted, never listed as actionable. An expired stage
349
+ * cannot execute (`stageStatus` derives that from the clock, not from a sweep
350
+ * having run), so rendering it beside a live one would put two rows in front of
351
+ * the reader where only one is a decision.
352
+ */
353
+ function renderPending(root: string, now: number): string {
354
+ const rows = listPending(root, now);
355
+ const live = rows.filter((r) => r.status === 'pending');
356
+ const expired = rows.filter((r) => r.status === 'expired');
357
+ const lines: string[] = [];
358
+
359
+ if (live.length === 0) {
360
+ lines.push(
361
+ expired.length === 0
362
+ ? 'No staged actions awaiting confirmation.'
363
+ : `Nothing awaits your confirmation. ${expired.length} stage` +
364
+ `${expired.length !== 1 ? 's' : ''} expired unconfirmed — the action never fired.`,
365
+ );
366
+ return lines.join('\n') + '\n';
367
+ }
368
+
369
+ lines.push(
370
+ `${live.length} staged action${live.length !== 1 ? 's' : ''} await` +
371
+ `${live.length === 1 ? 's' : ''} your confirmation` +
372
+ (expired.length > 0 ? ` · ${expired.length} expired unconfirmed` : ''),
373
+ );
374
+ let n = 0;
375
+ for (const { stage } of live) {
376
+ n += 1;
377
+ lines.push(...renderStage(stage, n));
378
+ }
379
+ lines.push('');
380
+ return lines.join('\n') + '\n';
381
+ }
382
+
383
+ function renderStage(stage: StagedAction, index: number): string[] {
384
+ const head = `${index} · ${stage.action}`;
385
+ const tail = `token: ${stage.token}`;
386
+ const dashes = Math.max(3, WIDTH - head.length - tail.length - 6);
387
+ return [
388
+ '',
389
+ `── ${head} ${'─'.repeat(dashes)} ${tail}`.trimEnd(),
390
+ // The object is the first field on purpose: an approval that does not
391
+ // name the exact object is the thing non-destructive-by-default forbids,
392
+ // so it is what the reader must see before anything else.
393
+ ...field('Object:', stage.object),
394
+ ...field('Staged by:', stage.source),
395
+ ...field('Expires:', stage.expires_at),
396
+ ];
397
+ }
398
+
399
+ function renderPendingJson(root: string, now: number): string {
400
+ const rows = listPending(root, now);
401
+ return (
402
+ JSON.stringify(
403
+ {
404
+ awaitingYou: rows.filter((r) => r.status === 'pending').length,
405
+ expired: rows.filter((r) => r.status === 'expired').length,
406
+ staged: rows.map(({ stage, status }) => ({
407
+ token: stage.token,
408
+ action: stage.action,
409
+ object: stage.object,
410
+ source: stage.source,
411
+ stagedAt: stage.staged_at,
412
+ expiresAt: stage.expires_at,
413
+ status,
414
+ })),
415
+ },
416
+ null,
417
+ 2,
418
+ ) + '\n'
419
+ );
420
+ }
421
+
330
422
  function _isDir(p: string): boolean {
331
423
  try {
332
424
  return fs.statSync(p).isDirectory();
@@ -340,8 +432,8 @@ function _isDir(p: string): boolean {
340
432
  * `agents/roadmaps`, otherwise fall back to the git toplevel (monorepo
341
433
  * sub-project support).
342
434
  */
343
- function _resolveRepoRoot(start: string): string {
344
- if (_isDir(path.join(start, 'agents', 'roadmaps'))) {
435
+ function _resolveRepoRoot(start: string, marker = path.join('agents', 'roadmaps')): string {
436
+ if (_isDir(path.join(start, marker))) {
345
437
  return start;
346
438
  }
347
439
  try {
@@ -351,7 +443,7 @@ function _resolveRepoRoot(start: string): string {
351
443
  timeout: 10_000,
352
444
  });
353
445
  const top = (r.stdout || '').trim();
354
- if (r.status === 0 && top !== '' && _isDir(path.join(top, 'agents', 'roadmaps'))) {
446
+ if (r.status === 0 && top !== '' && _isDir(path.join(top, marker))) {
355
447
  return top;
356
448
  }
357
449
  } catch {
@@ -365,6 +457,18 @@ function main(argv?: readonly string[]): number {
365
457
  const all = args.includes('--all');
366
458
  const json = args.includes('--json');
367
459
  const reply = args.includes('--reply');
460
+ const pending = args.includes('--pending');
461
+
462
+ // `--pending` resolves against `agents/runtime/`, not `agents/roadmaps/`,
463
+ // and is answered BEFORE the roadmaps-directory exit below: a staged action
464
+ // is independent of whether this project plans in roadmaps at all, so
465
+ // "no roadmaps here" is not an answer to "what awaits my confirmation".
466
+ if (pending) {
467
+ const root = _resolveRepoRoot(process.cwd(), path.join('agents', 'runtime'));
468
+ const now = Date.now();
469
+ process.stdout.write(json ? renderPendingJson(root, now) : renderPending(root, now));
470
+ return 0;
471
+ }
368
472
 
369
473
  const repoRoot = _resolveRepoRoot(process.cwd());
370
474
  const roadmapRoot = path.join(repoRoot, 'agents', 'roadmaps');
@@ -412,5 +516,16 @@ if (_isCliEntry()) {
412
516
  process.exitCode = main();
413
517
  }
414
518
 
415
- export { main, needsUser, regroupTodo, wrap, collectEntries, render, renderJson, renderReply };
519
+ export {
520
+ main,
521
+ needsUser,
522
+ regroupTodo,
523
+ wrap,
524
+ collectEntries,
525
+ render,
526
+ renderJson,
527
+ renderReply,
528
+ renderPending,
529
+ renderPendingJson,
530
+ };
416
531
  export type { Entry };
@@ -388,8 +388,7 @@ function* _iter_knowledge_entries(): Generator<[string, Record<string, unknown>]
388
388
  /**
389
389
  * Naive relevance score: max over keys of (glob-match | substring).
390
390
  *
391
- * Good enough for the `absent` path where retrieval is best-effort.
392
- * The `present` path returns a real score from agent-memory.
391
+ * Retrieval is best-effort by design — this is the only scoring path.
393
392
  */
394
393
  export function _score(entry: Record<string, unknown>, keys: string[]): number {
395
394
  if (keys.length === 0) {
@@ -214,10 +214,8 @@ export interface SignalRecord {
214
214
  /**
215
215
  * Append a signal entry. Returns the written record, or null when skipped.
216
216
  *
217
- * On `present` backend, routing to the package is a no-op here today —
218
- * the package adapter is wired in `road-to-agent-memory-integration.md`
219
- * Phase 3. For now, the file path is the single source of truth so
220
- * merge-safety is preserved in every mode.
217
+ * The file path is the single source of truth: there is no external backend
218
+ * to route to, so merge-safety holds in every mode.
221
219
  */
222
220
  export function emit(
223
221
  entry_type: string,
@@ -41,6 +41,22 @@ type Any = unknown;
41
41
 
42
42
  const _BLOCK_REASON_PREFIX = 'decision_gate';
43
43
 
44
+ /**
45
+ * Stage an action for confirmation and return the surface lines that name it.
46
+ *
47
+ * An injected collaborator rather than a direct import of
48
+ * `staged_confirmation_store.js`, for two reasons. The gate is called from a
49
+ * hook bus with no repo root and no clock of its own, and — the load-bearing
50
+ * one — an absent stager keeps the `ask` path byte-identical to what ships
51
+ * today. The confirmation primitive is deliberately UNBOUND until blocker
52
+ * `confirmation-degraded-host-semantics` is decided (5 of 8 hosts have no
53
+ * `pre_tool_use` slot), so reaching it has to be an explicit opt-in and not a
54
+ * behaviour change that arrives with an upgrade.
55
+ */
56
+ export interface ConfirmationStager {
57
+ stage(input: { action: string; object: string; source: string }): readonly string[];
58
+ }
59
+
44
60
  /**
45
61
  * Evaluate decision-engine gates on every `AFTER_STEP`.
46
62
  *
@@ -49,9 +65,11 @@ const _BLOCK_REASON_PREFIX = 'decision_gate';
49
65
  */
50
66
  export class DecisionGateHook {
51
67
  private readonly _settings: DecisionEngineSettings;
68
+ private readonly _stager: ConfirmationStager | null;
52
69
 
53
- constructor(settings: DecisionEngineSettings) {
70
+ constructor(settings: DecisionEngineSettings, stager: ConfirmationStager | null = null) {
54
71
  this._settings = settings;
72
+ this._stager = stager;
55
73
  }
56
74
 
57
75
  /** Register the gate callback on `AFTER_STEP`. */
@@ -109,10 +127,22 @@ export class DecisionGateHook {
109
127
  DecisionGateHook._surface(decision, 'ask_timeout'),
110
128
  );
111
129
  }
112
- throw new HookHalt(
113
- `${_BLOCK_REASON_PREFIX}:${decision.gate_id}`,
114
- DecisionGateHook._surface(decision),
115
- );
130
+ // `stop` and `ask` share this exit: both halt, which is the policy —
131
+ // ask and action are strictly sequential, so an interactive gate does
132
+ // not act while it asks. What `ask` adds, and only when a stager is
133
+ // injected, is a token on the surface so the answer can be matched to
134
+ // THIS question and consumed exactly once. The halt reason is
135
+ // deliberately unchanged: it is the identity downstream readers match on.
136
+ let surface = DecisionGateHook._surface(decision);
137
+ if (action === 'ask' && this._stager !== null) {
138
+ const extra = this._stager.stage({
139
+ action: `work_engine:advance:${decision.gate_id}`,
140
+ object: `phase ${decision.phase}`,
141
+ source: _BLOCK_REASON_PREFIX,
142
+ });
143
+ surface = [...surface, '', ...extra];
144
+ }
145
+ throw new HookHalt(`${_BLOCK_REASON_PREFIX}:${decision.gate_id}`, surface);
116
146
  }
117
147
 
118
148
  // -- formatting helpers -------------------------------------------