oh-my-codex 0.18.12 → 0.18.13

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 (95) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +7 -0
  4. package/dist/autopilot/__tests__/ralplan-gate.test.js +621 -0
  5. package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
  6. package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
  7. package/dist/autopilot/ralplan-gate.js +32 -18
  8. package/dist/autopilot/ralplan-gate.js.map +1 -1
  9. package/dist/cli/__tests__/doctor-invalid-config.test.js +35 -0
  10. package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
  11. package/dist/cli/__tests__/index.test.js +54 -1
  12. package/dist/cli/__tests__/index.test.js.map +1 -1
  13. package/dist/cli/__tests__/resume.test.js +217 -1
  14. package/dist/cli/__tests__/resume.test.js.map +1 -1
  15. package/dist/cli/__tests__/session-search-help.test.js +3 -2
  16. package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
  17. package/dist/cli/__tests__/session-search.test.js +64 -2
  18. package/dist/cli/__tests__/session-search.test.js.map +1 -1
  19. package/dist/cli/__tests__/setup-install-mode.test.js +6 -5
  20. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  21. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +74 -0
  22. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  23. package/dist/cli/__tests__/setup-scope.test.js +45 -0
  24. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  25. package/dist/cli/__tests__/update.test.js +5 -2
  26. package/dist/cli/__tests__/update.test.js.map +1 -1
  27. package/dist/cli/doctor.d.ts.map +1 -1
  28. package/dist/cli/doctor.js +9 -1
  29. package/dist/cli/doctor.js.map +1 -1
  30. package/dist/cli/index.d.ts +9 -1
  31. package/dist/cli/index.d.ts.map +1 -1
  32. package/dist/cli/index.js +209 -7
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/cli/project-runtime-codex-homes.d.ts +6 -0
  35. package/dist/cli/project-runtime-codex-homes.d.ts.map +1 -0
  36. package/dist/cli/project-runtime-codex-homes.js +27 -0
  37. package/dist/cli/project-runtime-codex-homes.js.map +1 -0
  38. package/dist/cli/session-search.d.ts.map +1 -1
  39. package/dist/cli/session-search.js +8 -1
  40. package/dist/cli/session-search.js.map +1 -1
  41. package/dist/cli/setup.d.ts +1 -0
  42. package/dist/cli/setup.d.ts.map +1 -1
  43. package/dist/cli/setup.js +168 -4
  44. package/dist/cli/setup.js.map +1 -1
  45. package/dist/cli/update.d.ts.map +1 -1
  46. package/dist/cli/update.js +2 -0
  47. package/dist/cli/update.js.map +1 -1
  48. package/dist/config/__tests__/codex-hooks.test.js +38 -24
  49. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  50. package/dist/config/codex-hooks.d.ts +6 -0
  51. package/dist/config/codex-hooks.d.ts.map +1 -1
  52. package/dist/config/codex-hooks.js +34 -49
  53. package/dist/config/codex-hooks.js.map +1 -1
  54. package/dist/pipeline/__tests__/orchestrator.test.js +125 -0
  55. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  56. package/dist/pipeline/__tests__/stages.test.js +109 -0
  57. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  58. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  59. package/dist/pipeline/orchestrator.js +7 -0
  60. package/dist/pipeline/orchestrator.js.map +1 -1
  61. package/dist/ralplan/__tests__/consensus-gate.test.js +440 -1
  62. package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
  63. package/dist/ralplan/consensus-gate.d.ts +2 -0
  64. package/dist/ralplan/consensus-gate.d.ts.map +1 -1
  65. package/dist/ralplan/consensus-gate.js +173 -71
  66. package/dist/ralplan/consensus-gate.js.map +1 -1
  67. package/dist/scripts/__tests__/codex-native-hook.test.js +273 -0
  68. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  69. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  70. package/dist/scripts/codex-native-hook.js +56 -12
  71. package/dist/scripts/codex-native-hook.js.map +1 -1
  72. package/dist/scripts/codex-native-pre-post.d.ts +1 -0
  73. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  74. package/dist/scripts/codex-native-pre-post.js +130 -0
  75. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  76. package/dist/session-history/__tests__/search.test.js +166 -0
  77. package/dist/session-history/__tests__/search.test.js.map +1 -1
  78. package/dist/session-history/search.d.ts +7 -0
  79. package/dist/session-history/search.d.ts.map +1 -1
  80. package/dist/session-history/search.js +83 -24
  81. package/dist/session-history/search.js.map +1 -1
  82. package/dist/sidecar/__tests__/collector.test.js +60 -0
  83. package/dist/sidecar/__tests__/collector.test.js.map +1 -1
  84. package/dist/sidecar/collector.d.ts.map +1 -1
  85. package/dist/sidecar/collector.js +3 -6
  86. package/dist/sidecar/collector.js.map +1 -1
  87. package/dist/verification/__tests__/ci-rust-gates.test.js +4 -2
  88. package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
  89. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +71 -3
  90. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -1
  91. package/package.json +1 -1
  92. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  93. package/src/scripts/__tests__/codex-native-hook.test.ts +363 -0
  94. package/src/scripts/codex-native-hook.ts +68 -18
  95. package/src/scripts/codex-native-pre-post.ts +137 -0
@@ -9,27 +9,25 @@ export const RALPLAN_CONSENSUS_BLOCKED_REASONS = {
9
9
  };
10
10
  export function buildRalplanConsensusGateFromSources(sources, options = {}) {
11
11
  let nativeBlockedEvidence = null;
12
+ let validEvidence = null;
12
13
  let invalidCompleteEvidence = null;
13
14
  for (const candidate of sources) {
14
- const evidence = extractSequentialConsensusEvidence(candidate.value);
15
- if (evidence) {
15
+ const evidence = resolveConsensusEvidence(candidate.value);
16
+ const candidateOptions = {
17
+ ...options,
18
+ sessionId: options.sessionId ?? candidate.sessionId,
19
+ };
20
+ if (evidence?.kind === 'invalid') {
21
+ invalidCompleteEvidence ??= { ...evidence, source: candidate.source };
22
+ continue;
23
+ }
24
+ if (evidence?.kind === 'valid') {
16
25
  if (options.requireNativeSubagents
17
- && !hasTrackerBackedNativeRalplanLanes(evidence, options)) {
18
- nativeBlockedEvidence ??= { ...evidence, source: candidate.source };
26
+ && !hasTrackerBackedNativeRalplanLanes(evidence, candidateOptions)) {
27
+ nativeBlockedEvidence ??= { ...evidence, source: candidate.source, options: candidateOptions };
19
28
  continue;
20
29
  }
21
- return {
22
- complete: true,
23
- sequence: ['architect-review', 'critic-review'],
24
- ralplan_architect_review: evidence.ralplan_architect_review,
25
- ralplan_critic_review: evidence.ralplan_critic_review,
26
- source: candidate.source,
27
- blockedReason: null,
28
- };
29
- }
30
- const invalidEvidence = extractInvalidCompleteConsensusEvidence(candidate.value);
31
- if (invalidEvidence) {
32
- invalidCompleteEvidence ??= { ...invalidEvidence, source: candidate.source };
30
+ validEvidence ??= { ...evidence, source: candidate.source };
33
31
  }
34
32
  }
35
33
  if (invalidCompleteEvidence) {
@@ -43,6 +41,16 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
43
41
  blockedDetails: invalidCompleteEvidence.blockedDetails,
44
42
  };
45
43
  }
44
+ if (validEvidence) {
45
+ return {
46
+ complete: true,
47
+ sequence: ['architect-review', 'critic-review'],
48
+ ralplan_architect_review: validEvidence.ralplan_architect_review,
49
+ ralplan_critic_review: validEvidence.ralplan_critic_review,
50
+ source: validEvidence.source,
51
+ blockedReason: null,
52
+ };
53
+ }
46
54
  if (nativeBlockedEvidence) {
47
55
  return {
48
56
  complete: false,
@@ -52,8 +60,9 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
52
60
  source: nativeBlockedEvidence.source,
53
61
  blockedReason: RALPLAN_CONSENSUS_BLOCKED_REASONS.nativeSubagentEvidenceMissing,
54
62
  blockedDetails: [
55
- trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_architect_review, 'architect', options),
56
- trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_critic_review, 'critic', options),
63
+ trackerBackedNativeReviewPairProblem(nativeBlockedEvidence, nativeBlockedEvidence.options),
64
+ trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_architect_review, 'architect', nativeBlockedEvidence.options),
65
+ trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_critic_review, 'critic', nativeBlockedEvidence.options),
57
66
  ].filter((detail) => Boolean(detail)),
58
67
  };
59
68
  }
@@ -67,12 +76,22 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
67
76
  };
68
77
  }
69
78
  export function buildRalplanConsensusGateForCwd(cwd, options = {}) {
79
+ const localStateCandidates = readLocalRalplanConsensusStateCandidates(cwd, options.sessionId)
80
+ .map((candidate) => ({
81
+ ...candidate,
82
+ value: options.artifacts
83
+ ? withParentReturnToRalplanContext(candidate.value, options.artifacts)
84
+ : candidate.value,
85
+ }));
70
86
  return buildRalplanConsensusGateFromSources([
71
87
  ...(options.artifacts ? [
72
88
  { source: 'stage-context-artifacts', value: options.artifacts },
73
- { source: 'stage-context-ralplan-artifact', value: options.artifacts.ralplan },
89
+ {
90
+ source: 'stage-context-ralplan-artifact',
91
+ value: withParentReturnToRalplanContext(options.artifacts.ralplan, options.artifacts),
92
+ },
74
93
  ] : []),
75
- ...readLocalRalplanConsensusStateCandidates(cwd, options.sessionId),
94
+ ...localStateCandidates,
76
95
  ], {
77
96
  cwd,
78
97
  sessionId: options.sessionId,
@@ -93,59 +112,66 @@ export function readLocalRalplanConsensusStateCandidates(cwd, sessionId) {
93
112
  ? uniquePaths(sessionIdList.flatMap((id) => [
94
113
  join(scopedStateDir, 'sessions', id),
95
114
  join(localStateDir, 'sessions', id),
96
- ]))
97
- : [localStateDir];
98
- const paths = stateRoots.flatMap((dir) => [
99
- join(dir, 'ralplan-state.json'),
100
- join(dir, 'autopilot-state.json'),
115
+ ])).map((dir) => ({
116
+ dir,
117
+ sessionId: sessionIdFromStateRoot(dir),
118
+ }))
119
+ : [{ dir: localStateDir }];
120
+ const paths = stateRoots.flatMap(({ dir, sessionId }) => [
121
+ { path: join(dir, 'ralplan-state.json'), sessionId },
122
+ { path: join(dir, 'autopilot-state.json'), sessionId },
101
123
  ]);
102
- return paths.flatMap((path) => {
124
+ return paths.flatMap(({ path, sessionId }) => {
103
125
  const state = readJsonState(path);
104
126
  if (!state)
105
127
  return [];
106
- return [{ source: path, value: state }];
128
+ return [{ source: path, value: state, sessionId }];
107
129
  });
108
130
  }
109
- function extractSequentialConsensusEvidence(value) {
131
+ function resolveConsensusEvidence(value) {
110
132
  if (!value || typeof value !== 'object')
111
133
  return null;
112
134
  const record = value;
113
- const gate = record.ralplanConsensusGate ?? record.ralplan_consensus_gate;
114
- if (gate && typeof gate === 'object') {
115
- const gateRecord = gate;
116
- const architectReview = asRecord(gateRecord.ralplan_architect_review ?? gateRecord.architectReview ?? gateRecord.architect_review);
117
- const criticReview = asRecord(gateRecord.ralplan_critic_review ?? gateRecord.criticReview ?? gateRecord.critic_review);
118
- if (gateRecord.complete === true
119
- && hasArchitectThenCriticSequence(gateRecord)
120
- && isApproveReview(architectReview, 'architect')
121
- && isApproveReview(criticReview, 'critic')
122
- && isCriticNotBeforeArchitect(architectReview, criticReview)) {
123
- return { ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
124
- }
125
- }
126
- const handoffArtifactsAreStale = isReturnToRalplanCycle(record);
135
+ const returnToRalplanCycle = isReturnToRalplanCycle(record);
136
+ const advancedReviewCycle = explicitFreshnessReviewCycle(record);
137
+ const staleReturnToRalplanCycle = returnToRalplanCycle && advancedReviewCycle === null;
138
+ const directGate = resolveDirectGate(record);
139
+ if (directGate?.kind === 'invalid')
140
+ return directGate;
141
+ if (directGate
142
+ && (!returnToRalplanCycle
143
+ || (advancedReviewCycle !== null && reviewsCarryFreshnessCycle(directGate, advancedReviewCycle))))
144
+ return directGate;
145
+ const handoffArtifactsAreStale = staleReturnToRalplanCycle;
127
146
  const topLevelHandoffArtifacts = handoffArtifactsAreStale ? null : asRecord(record.handoff_artifacts);
128
147
  if (topLevelHandoffArtifacts) {
129
- const evidence = extractSequentialConsensusEvidence(topLevelHandoffArtifacts);
148
+ const evidence = resolveConsensusEvidence(withParentReturnToRalplanContext(topLevelHandoffArtifacts, record));
130
149
  if (evidence)
131
150
  return evidence;
132
151
  }
133
152
  const stateRecord = asRecord(record.state);
134
- const stateHandoffArtifacts = handoffArtifactsAreStale || (stateRecord && isReturnToRalplanCycle(stateRecord))
153
+ const stateHasOwnReturnLoopContext = stateRecord !== null && isReturnToRalplanCycle(stateRecord);
154
+ const stateHandoffArtifacts = handoffArtifactsAreStale && !stateHasOwnReturnLoopContext
135
155
  ? null
136
156
  : asRecord(stateRecord?.handoff_artifacts);
137
157
  if (stateHandoffArtifacts) {
138
- const evidence = extractSequentialConsensusEvidence(stateHandoffArtifacts);
158
+ const stateContext = stateHasOwnReturnLoopContext ? stateRecord : record;
159
+ const evidence = resolveConsensusEvidence(withParentReturnToRalplanContext(stateHandoffArtifacts, stateContext));
139
160
  if (evidence)
140
161
  return evidence;
141
162
  }
163
+ if (returnToRalplanCycle && advancedReviewCycle === null)
164
+ return null;
142
165
  const directArchitectReview = asRecord(record.ralplan_architect_review);
143
166
  const directCriticReview = asRecord(record.ralplan_critic_review);
144
167
  if (hasArchitectThenCriticSequence(record)
145
168
  && isApproveReview(directArchitectReview, 'architect')
146
169
  && isApproveReview(directCriticReview, 'critic')
147
- && isCriticNotBeforeArchitect(directArchitectReview, directCriticReview)) {
170
+ && isCriticNotBeforeArchitect(directArchitectReview, directCriticReview)
171
+ && (!returnToRalplanCycle
172
+ || (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(directArchitectReview, directCriticReview, advancedReviewCycle)))) {
148
173
  return {
174
+ kind: 'valid',
149
175
  ralplan_architect_review: directArchitectReview,
150
176
  ralplan_critic_review: directCriticReview,
151
177
  };
@@ -157,8 +183,10 @@ function extractSequentialConsensusEvidence(value) {
157
183
  const criticReview = asRecord(latestReviewEntry.ralplan_critic_review ?? latestReviewEntry.critic_review ?? latestReviewEntry.criticReview);
158
184
  if (isApproveReview(architectReview, 'architect')
159
185
  && isApproveReview(criticReview, 'critic')
160
- && isCriticNotBeforeArchitect(architectReview, criticReview)) {
161
- return { ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
186
+ && isCriticNotBeforeArchitect(architectReview, criticReview)
187
+ && (!returnToRalplanCycle
188
+ || (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(architectReview, criticReview, advancedReviewCycle)))) {
189
+ return { kind: 'valid', ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
162
190
  }
163
191
  }
164
192
  const architectReviews = Array.isArray(record.architectReviews) ? record.architectReviews : [];
@@ -168,31 +196,45 @@ function extractSequentialConsensusEvidence(value) {
168
196
  const criticReview = asRecord(criticReviews.at(-1));
169
197
  if (isApproveReview(architectReview, 'architect')
170
198
  && isApproveReview(criticReview, 'critic')
171
- && isCriticNotBeforeArchitect(architectReview, criticReview)) {
172
- return { ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
199
+ && isCriticNotBeforeArchitect(architectReview, criticReview)
200
+ && (!returnToRalplanCycle
201
+ || (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(architectReview, criticReview, advancedReviewCycle)))) {
202
+ return { kind: 'valid', ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
173
203
  }
174
204
  }
175
205
  return null;
176
206
  }
177
- function extractInvalidCompleteConsensusEvidence(value) {
178
- if (!value || typeof value !== 'object')
179
- return null;
180
- const record = value;
207
+ function resolveDirectGate(record) {
181
208
  const gate = record.ralplanConsensusGate ?? record.ralplan_consensus_gate;
182
209
  if (gate && typeof gate === 'object') {
183
210
  const gateRecord = gate;
184
211
  const architectReview = asRecord(gateRecord.ralplan_architect_review ?? gateRecord.architectReview ?? gateRecord.architect_review);
185
212
  const criticReview = asRecord(gateRecord.ralplan_critic_review ?? gateRecord.criticReview ?? gateRecord.critic_review);
186
- if (gateRecord.complete === true && hasArchitectThenCriticSequence(gateRecord)) {
213
+ if (gateRecord.complete === true
214
+ && hasArchitectThenCriticSequence(gateRecord)
215
+ && isApproveReview(architectReview, 'architect')
216
+ && isApproveReview(criticReview, 'critic')
217
+ && isCriticNotBeforeArchitect(architectReview, criticReview)) {
218
+ return {
219
+ kind: 'valid',
220
+ ralplan_architect_review: architectReview,
221
+ ralplan_critic_review: criticReview,
222
+ };
223
+ }
224
+ if (gateRecord.complete === true) {
187
225
  const blockedDetails = [
188
226
  ...reviewApprovalProblems(architectReview, 'architect'),
189
227
  ...reviewApprovalProblems(criticReview, 'critic'),
190
228
  ];
229
+ if (!hasArchitectThenCriticSequence(gateRecord)) {
230
+ blockedDetails.push('consensus review sequence is not architect-review then critic-review');
231
+ }
191
232
  if (!isCriticNotBeforeArchitect(architectReview, criticReview)) {
192
233
  blockedDetails.push('critic review is ordered before architect review');
193
234
  }
194
235
  if (blockedDetails.length > 0) {
195
236
  return {
237
+ kind: 'invalid',
196
238
  ralplan_architect_review: architectReview,
197
239
  ralplan_critic_review: criticReview,
198
240
  blockedDetails,
@@ -200,14 +242,52 @@ function extractInvalidCompleteConsensusEvidence(value) {
200
242
  }
201
243
  }
202
244
  }
203
- const stateHandoffArtifacts = asRecord(asRecord(record.state)?.handoff_artifacts);
204
- if (stateHandoffArtifacts) {
205
- const evidence = extractInvalidCompleteConsensusEvidence(stateHandoffArtifacts);
206
- if (evidence)
207
- return evidence;
208
- }
209
245
  return null;
210
246
  }
247
+ export function withParentReturnToRalplanContext(value, parent) {
248
+ const reason = parent.return_to_ralplan_reason ?? parent.returnToRalplanReason;
249
+ if (typeof reason !== 'string' || reason.trim() === '' || !value || typeof value !== 'object' || Array.isArray(value)) {
250
+ return value;
251
+ }
252
+ const record = value;
253
+ const parentReviewCycle = numericValue(parent.return_to_ralplan_parent_review_cycle
254
+ ?? parent.returnToRalplanParentReviewCycle
255
+ ?? parent.review_cycle
256
+ ?? parent.reviewCycle);
257
+ const inheritedReviewCycle = record.review_cycle ?? record.reviewCycle ?? parent.review_cycle ?? parent.reviewCycle;
258
+ return {
259
+ ...record,
260
+ review_cycle: inheritedReviewCycle,
261
+ current_phase: parent.current_phase ?? parent.currentPhase ?? 'ralplan',
262
+ return_to_ralplan_reason: reason,
263
+ return_to_ralplan_parent_review_cycle: parentReviewCycle,
264
+ };
265
+ }
266
+ function explicitFreshnessReviewCycle(record) {
267
+ const parentReviewCycle = numericValue(record.return_to_ralplan_parent_review_cycle ?? record.returnToRalplanParentReviewCycle);
268
+ const candidateReviewCycle = numericValue(record.review_cycle ?? record.reviewCycle);
269
+ return parentReviewCycle !== null
270
+ && candidateReviewCycle !== null
271
+ && candidateReviewCycle > parentReviewCycle
272
+ ? candidateReviewCycle
273
+ : null;
274
+ }
275
+ function reviewsCarryFreshnessCycle(evidence, reviewCycle) {
276
+ return evidence.kind === 'valid'
277
+ && reviewPairCarriesFreshnessCycle(evidence.ralplan_architect_review, evidence.ralplan_critic_review, reviewCycle);
278
+ }
279
+ function reviewPairCarriesFreshnessCycle(architectReview, criticReview, reviewCycle) {
280
+ return reviewCarriesFreshnessCycle(architectReview, reviewCycle)
281
+ && reviewCarriesFreshnessCycle(criticReview, reviewCycle);
282
+ }
283
+ function reviewCarriesFreshnessCycle(review, reviewCycle) {
284
+ const cycle = numericValue(review?.review_cycle ?? review?.reviewCycle);
285
+ return cycle !== null && cycle >= reviewCycle;
286
+ }
287
+ function numericValue(value) {
288
+ const parsed = typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : Number.NaN;
289
+ return Number.isFinite(parsed) ? parsed : null;
290
+ }
211
291
  function asRecord(value) {
212
292
  return value && typeof value === 'object' ? value : null;
213
293
  }
@@ -288,9 +368,7 @@ function reviewOrderValue(review) {
288
368
  return null;
289
369
  }
290
370
  function hasTrackerBackedNativeRalplanLanes(evidence, options) {
291
- const architectThreadId = nativeReviewThreadId(evidence.ralplan_architect_review);
292
- const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
293
- if (!architectThreadId || !criticThreadId || architectThreadId === criticThreadId)
371
+ if (trackerBackedNativeReviewPairProblem(evidence, options))
294
372
  return false;
295
373
  return isTrackerBackedNativeReview(evidence.ralplan_architect_review, 'architect', options)
296
374
  && isTrackerBackedNativeReview(evidence.ralplan_critic_review, 'critic', options);
@@ -298,9 +376,27 @@ function hasTrackerBackedNativeRalplanLanes(evidence, options) {
298
376
  function nativeReviewThreadId(review) {
299
377
  return typeof review?.thread_id === 'string' ? review.thread_id.trim() : '';
300
378
  }
379
+ function trackerBackedNativeReviewPairProblem(evidence, options) {
380
+ const architectThreadId = nativeReviewThreadId(evidence.ralplan_architect_review);
381
+ const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
382
+ if (architectThreadId && criticThreadId && architectThreadId === criticThreadId) {
383
+ return 'architect and critic reviews must reference distinct native subagent tracker threads';
384
+ }
385
+ const transitionSessionId = typeof options.sessionId === 'string' ? options.sessionId.trim() : '';
386
+ const architectSessionId = transitionSessionId || nativeReviewSessionId(evidence.ralplan_architect_review);
387
+ const criticSessionId = transitionSessionId || nativeReviewSessionId(evidence.ralplan_critic_review);
388
+ if (!architectSessionId || !criticSessionId)
389
+ return null;
390
+ return architectSessionId === criticSessionId
391
+ ? null
392
+ : `architect and critic reviews must resolve to the same native subagent tracker session; architect session_id=${architectSessionId}, critic session_id=${criticSessionId}`;
393
+ }
301
394
  function isTrackerBackedNativeReview(review, agentRole, options) {
302
395
  return trackerBackedNativeReviewProblem(review, agentRole, options) === null;
303
396
  }
397
+ function nativeReviewSessionId(review) {
398
+ return typeof review?.session_id === 'string' ? review.session_id.trim() : '';
399
+ }
304
400
  function trackerBackedNativeReviewProblem(review, agentRole, options) {
305
401
  const issues = [];
306
402
  if (!review)
@@ -316,18 +412,15 @@ function trackerBackedNativeReviewProblem(review, agentRole, options) {
316
412
  : '';
317
413
  const reviewSessionId = typeof review.session_id === 'string' ? review.session_id.trim() : '';
318
414
  const threadId = typeof review.thread_id === 'string' ? review.thread_id.trim() : '';
319
- const artifactPath = typeof review.artifact_path === 'string' ? review.artifact_path.trim() : '';
320
415
  const trackerPath = typeof review.tracker_path === 'string' ? review.tracker_path.trim() : '';
321
416
  if (!sessionId)
322
417
  issues.push(`${agentRole} review cannot resolve session_id`);
323
- if (!reviewSessionId || reviewSessionId !== sessionId)
324
- issues.push(`${agentRole} review session_id=${reviewSessionId || 'missing'} does not match ${sessionId || 'missing'}`);
418
+ if (reviewSessionId && reviewSessionId !== sessionId)
419
+ issues.push(`${agentRole} review session_id=${reviewSessionId} does not match ${sessionId || 'missing'}`);
325
420
  if (!threadId)
326
421
  issues.push(`${agentRole} review missing thread_id`);
327
- if (!artifactPath)
328
- issues.push(`${agentRole} review missing artifact_path`);
329
- if (!trackerPath || !trackerPath.endsWith('subagent-tracking.json'))
330
- issues.push(`${agentRole} review missing subagent-tracking.json tracker_path`);
422
+ if (trackerPath && !trackerPath.endsWith('subagent-tracking.json'))
423
+ issues.push(`${agentRole} review tracker_path=${trackerPath} is not subagent-tracking.json`);
331
424
  const cwd = typeof options.cwd === 'string' ? options.cwd.trim() : '';
332
425
  if (!cwd)
333
426
  issues.push(`${agentRole} review cannot resolve cwd for tracker lookup`);
@@ -348,6 +441,9 @@ function trackerBackedNativeReviewProblem(review, agentRole, options) {
348
441
  return `${agentRole} tracker thread ${threadId} is the session leader`;
349
442
  if (thread.kind !== 'subagent')
350
443
  return `${agentRole} tracker thread ${threadId} has kind=${String(thread.kind || 'missing')}`;
444
+ const completedAt = typeof thread.completed_at === 'string' ? thread.completed_at.trim() : '';
445
+ if (!completedAt)
446
+ return `${agentRole} tracker thread ${threadId} is not completed`;
351
447
  return null;
352
448
  }
353
449
  function currentSessionNativeLeaderThreadId(cwd) {
@@ -399,6 +495,12 @@ function readLocalCurrentSessionIds(cwd) {
399
495
  function localBaseStateDir(cwd) {
400
496
  return join(resolveWorkingDirectoryForState(cwd), '.omx', 'state');
401
497
  }
498
+ function sessionIdFromStateRoot(path) {
499
+ const normalized = path.replace(/\\/g, '/');
500
+ const match = /\/sessions\/([^/]+)$/.exec(normalized);
501
+ const sessionId = match?.[1];
502
+ return sessionId && validateLocalSessionId(sessionId).length > 0 ? sessionId : undefined;
503
+ }
402
504
  function uniquePaths(paths) {
403
505
  return [...new Set(paths)];
404
506
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,6BAA6B,EAAE,4CAA4C;IAC3E,kBAAkB,EAAE,wCAAwC;IAC5D,yBAAyB,EAAE,mDAAmD;CACtE,CAAC;AAsCX,MAAM,UAAU,oCAAoC,CAClD,OAAiC,EACjC,UAAiD,EAAE;IAEnD,IAAI,qBAAqB,GAKd,IAAI,CAAC;IAChB,IAAI,aAAa,GAIN,IAAI,CAAC;IAChB,IAAI,uBAAuB,GAKhB,IAAI,CAAC;IAEhB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG;YACvB,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;SACpD,CAAC;QACF,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,uBAAuB,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YACtE,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,IACE,OAAO,CAAC,sBAAsB;mBAC3B,CAAC,kCAAkC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAClE,CAAC;gBACD,qBAAqB,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBAC/F,SAAS;YACX,CAAC;YACD,aAAa,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,uBAAuB,CAAC,wBAAwB;YAC1E,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;YACpE,MAAM,EAAE,uBAAuB,CAAC,MAAM;YACtC,aAAa,EAAE,iCAAiC,CAAC,kBAAkB;YACnE,cAAc,EAAE,uBAAuB,CAAC,cAAc;SACvD,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;YAChE,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;YAC1D,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;YAC/C,wBAAwB,EAAE,qBAAqB,CAAC,wBAAwB;YACxE,qBAAqB,EAAE,qBAAqB,CAAC,qBAAqB;YAClE,MAAM,EAAE,qBAAqB,CAAC,MAAM;YACpC,aAAa,EAAE,iCAAiC,CAAC,6BAA6B;YAC9E,cAAc,EAAE;gBACd,oCAAoC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBAC1F,gCAAgC,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBAC5H,gCAAgC,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC;aACvH,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;QAC/C,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,iCAAiC,CAAC,yBAAyB;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,GAAW,EACX,UAAyG,EAAE;IAE3G,MAAM,oBAAoB,GAAG,wCAAwC,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;SAC1F,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,SAAS;QACZ,KAAK,EAAE,OAAO,CAAC,SAAS;YACtB,CAAC,CAAC,gCAAgC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC,SAAS,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC;IACN,OAAO,oCAAoC,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACtB,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;YAC/D;gBACE,MAAM,EAAE,gCAAgC;gBACxC,KAAK,EAAE,gCAAgC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;aACtF;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,oBAAoB;KACxB,EAAE;QACD,GAAG;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;KACvD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAW,EACX,UAAyG,EAAE;IAE3G,OAAO,+BAA+B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,GAAW,EACX,SAAkB;IAElB,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,CAAC;IAChD,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,eAAe,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,UAAU,GAA+C,aAAa,CAAC,MAAM,GAAG,CAAC;QACrF,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC;SACpC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG;YACH,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC;SACvC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACvD,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE;QACpD,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,EAAE,SAAS,EAAE;KACvD,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,yBAAyB,GAAG,oBAAoB,IAAI,mBAAmB,KAAK,IAAI,CAAC;IACvF,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IACtD,IACE,UAAU;WACP,CACD,CAAC,oBAAoB;eAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CACjG;QACD,OAAO,UAAU,CAAC;IAEpB,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;IAC3D,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtG,IAAI,wBAAwB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9G,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,4BAA4B,GAAG,WAAW,KAAK,IAAI,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACjG,MAAM,qBAAqB,GAAG,wBAAwB,IAAI,CAAC,4BAA4B;QACrF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC7C,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,4BAA4B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC;QACjH,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,oBAAoB,IAAI,mBAAmB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtE,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClE,IACE,8BAA8B,CAAC,MAAM,CAAC;WACnC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC;WACnD,eAAe,CAAC,kBAAkB,EAAE,QAAQ,CAAC;WAC7C,0BAA0B,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;WACrE,CACD,CAAC,oBAAoB;eAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,wBAAwB,EAAE,qBAAqB;YAC/C,qBAAqB,EAAE,kBAAkB;SAC1C,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,QAAQ,CAC9B,iBAAiB,CAAC,wBAAwB,IAAI,iBAAiB,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,eAAe,CACtH,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAC3B,iBAAiB,CAAC,qBAAqB,IAAI,iBAAiB,CAAC,aAAa,IAAI,iBAAiB,CAAC,YAAY,CAC7G,CAAC;QACF,IACE,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC1C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC;eACzD,CACD,CAAC,oBAAoB;mBAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,eAAe,EACf,YAAY,EACZ,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAChH,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IACE,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC1C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC;eACzD,CACD,CAAC,oBAAoB;mBAClB,CAAC,mBAAmB,KAAK,IAAI,IAAI,+BAA+B,CACjE,eAAe,EACf,YAAY,EACZ,mBAAmB,CACpB,CAAC,CACH,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,CAAC;IAC1E,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAA+B,CAAC;QACnD,MAAM,eAAe,GAAG,QAAQ,CAC9B,UAAU,CAAC,wBAAwB,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,gBAAgB,CACjG,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAC3B,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,CACxF,CAAC;QACF,IACE,UAAU,CAAC,QAAQ,KAAK,IAAI;eACzB,8BAA8B,CAAC,UAAU,CAAC;eAC1C,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC;eAC7C,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC;eACvC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC,EAC5D,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,wBAAwB,EAAE,eAAe;gBACzC,qBAAqB,EAAE,YAAY;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG;gBACrB,GAAG,sBAAsB,CAAC,eAAe,EAAE,WAAW,CAAC;gBACvD,GAAG,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC;aAClD,CAAC;YACF,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,wBAAwB,EAAE,eAAe;oBACzC,qBAAqB,EAAE,YAAY;oBACnC,cAAc;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAc,EAAE,MAA+B;IAC9F,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAC/E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,iBAAiB,GAAG,YAAY,CACpC,MAAM,CAAC,qCAAqC;WACvC,MAAM,CAAC,gCAAgC;WACvC,MAAM,CAAC,YAAY;WACnB,MAAM,CAAC,WAAW,CACxB,CAAC;IACF,MAAM,oBAAoB,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC;IACpH,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS;QACvE,wBAAwB,EAAE,MAAM;QAChC,qCAAqC,EAAE,iBAAiB;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAA+B;IACnE,MAAM,iBAAiB,GAAG,YAAY,CACpC,MAAM,CAAC,qCAAqC,IAAI,MAAM,CAAC,gCAAgC,CACxF,CAAC;IACF,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACrF,OAAO,iBAAiB,KAAK,IAAI;WAC5B,oBAAoB,KAAK,IAAI;WAC7B,oBAAoB,GAAG,iBAAiB;QAC3C,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA6B,EAAE,WAAmB;IACpF,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO;WAC3B,+BAA+B,CAChC,QAAQ,CAAC,wBAAwB,EACjC,QAAQ,CAAC,qBAAqB,EAC9B,WAAW,CACZ,CAAC;AACN,CAAC;AAED,SAAS,+BAA+B,CACtC,eAA+C,EAC/C,YAA4C,EAC5C,WAAmB;IAEnB,OAAO,2BAA2B,CAAC,eAAe,EAAE,WAAW,CAAC;WAC3D,2BAA2B,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAsC,EAAE,WAAmB;IAC9F,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,WAAW,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1G,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,KAAqC,EAAE,SAAiC;IAC/F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,uBAAuB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAqC,EAAE,SAAiC;IACtG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,SAAS,oBAAoB,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/H,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+BAA+B,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,kCAAkC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CAAC,KAA8B;IACrE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AACxF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA8B;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;AAC3F,CAAC;AAED,SAAS,0BAA0B,CACjC,eAA+C,EAC/C,YAA4C;IAE5C,IAAI,CAAC,eAAe,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,cAAc,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,cAAc,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,IAAI,cAAc,CAAC;AAC1F,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAClG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CACzC,QAGC,EACD,OAA8C;IAE9C,IAAI,oCAAoC,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,OAAO,2BAA2B,CAAC,QAAQ,CAAC,wBAAwB,EAAE,WAAW,EAAE,OAAO,CAAC;WACtF,2BAA2B,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsC;IAClE,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAGC,EACD,OAA8C;IAE9C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5E,IAAI,iBAAiB,IAAI,cAAc,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QAChF,OAAO,sFAAsF,CAAC;IAChG,CAAC;IAED,MAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,kBAAkB,GAAG,mBAAmB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC3G,MAAM,eAAe,GAAG,mBAAmB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACrG,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,kBAAkB,KAAK,eAAe;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,+GAA+G,kBAAkB,uBAAuB,eAAe,EAAE,CAAC;AAChL,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAsC,EACtC,SAAiC,EACjC,OAA8C;IAE9C,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsC;IACnE,OAAO,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,gCAAgC,CACvC,MAAsC,EACtC,SAAiC,EACjC,OAA8C;IAE9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,SAAS,oBAAoB,CAAC;IACrD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACjI,IAAI,MAAM,CAAC,eAAe,KAAK,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+BAA+B,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACxJ,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QACjF,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YAC1B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,mCAAmC,CAAC,CAAC;IAC7E,IAAI,eAAe,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,sBAAsB,eAAe,mBAAmB,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IAChK,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,wBAAwB,WAAW,gCAAgC,CAAC,CAAC;IACjK,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,CAAC,GAAG;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,+CAA+C,CAAC,CAAC;IAEnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,SAAS,oBAAoB,SAAS,kBAAkB,mBAAmB,6EAA6E,CAAC;IACjL,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,kBAAkB,mBAAmB,wEAAwE,CAAC;IACzK,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,qBAAqB,GAAG,kCAAkC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,IACE,CAAC,qBAAqB,IAAI,qBAAqB,KAAK,QAAQ,CAAC;WAC1D,CAAC,cAAc,IAAI,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;QAChF,OAAO,GAAG,SAAS,mBAAmB,QAAQ,wBAAwB,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;IAC9H,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,SAAS,mBAAmB,QAAQ,mBAAmB,CAAC;IACpF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CAAC,GAAuB;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,YAAY,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvH,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtJ,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI;YACF,QAAQ;YACR,UAAU;YACV,OAAO;YACP,SAAS;YACT,UAAU;YACV,iBAAiB;YACjB,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;YACf,SAAS;YACT,WAAW;YACX,QAAQ;YACR,mBAAmB;SACpB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,EAAE,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,OAAO,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAC/E,OAAO,YAAY,KAAK,SAAS;WAC5B,OAAO,MAAM,KAAK,QAAQ;WAC1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}