@fantasticit/sumi 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +18 -18
  2. package/dist/adapters.d.ts +1 -0
  3. package/dist/adapters.js +83 -5
  4. package/dist/adapters.js.map +1 -1
  5. package/dist/fix.js +10 -3
  6. package/dist/fix.js.map +1 -1
  7. package/dist/trace.d.ts +16 -0
  8. package/dist/trace.js +30 -0
  9. package/dist/trace.js.map +1 -0
  10. package/dist/visualize-page.d.ts +1 -1
  11. package/dist/visualize-page.js +2 -2
  12. package/dist/visualize.js +52 -8
  13. package/dist/visualize.js.map +1 -1
  14. package/node_modules/@sumi/create/dist/bin.d.ts +2 -0
  15. package/node_modules/@sumi/create/dist/bin.js +52 -0
  16. package/node_modules/@sumi/create/dist/bin.js.map +1 -0
  17. package/node_modules/@sumi/create/package.json +1 -1
  18. package/node_modules/@sumi/create/template/control/flows/check.flow.yaml +28 -0
  19. package/node_modules/@sumi/create/template/control/rubrics/behavior.yaml +17 -0
  20. package/node_modules/@sumi/create/template/control/rubrics/clean-code.yaml +9 -0
  21. package/node_modules/@sumi/create/template/control/rubrics/device-acceptance.yaml +10 -0
  22. package/node_modules/@sumi/create/template/control/rubrics/domain.yaml +9 -0
  23. package/node_modules/@sumi/create/template/control/rubrics/omission.yaml +13 -0
  24. package/node_modules/@sumi/kernel/dist/brief.d.ts +2 -0
  25. package/node_modules/@sumi/kernel/dist/brief.js.map +1 -1
  26. package/node_modules/@sumi/kernel/dist/engine.js +29 -13
  27. package/node_modules/@sumi/kernel/dist/engine.js.map +1 -1
  28. package/node_modules/@sumi/kernel/dist/registry.d.ts +6 -0
  29. package/node_modules/@sumi/kernel/dist/registry.js +7 -1
  30. package/node_modules/@sumi/kernel/dist/registry.js.map +1 -1
  31. package/node_modules/@sumi/kernel/dist/scope.d.ts +4 -2
  32. package/node_modules/@sumi/kernel/dist/scope.js +12 -39
  33. package/node_modules/@sumi/kernel/dist/scope.js.map +1 -1
  34. package/node_modules/@sumi/kernel/dist/step-cache.d.ts +19 -0
  35. package/node_modules/@sumi/kernel/dist/step-cache.js +185 -0
  36. package/node_modules/@sumi/kernel/dist/step-cache.js.map +1 -0
  37. package/node_modules/@sumi/kernel/package.json +2 -2
  38. package/node_modules/@sumi/plugin-sdk/README.md +3 -1
  39. package/node_modules/@sumi/plugin-sdk/dist/git.d.ts +16 -1
  40. package/node_modules/@sumi/plugin-sdk/dist/git.js +45 -5
  41. package/node_modules/@sumi/plugin-sdk/dist/git.js.map +1 -1
  42. package/node_modules/@sumi/plugin-sdk/dist/index.d.ts +1 -0
  43. package/node_modules/@sumi/plugin-sdk/dist/index.js +1 -0
  44. package/node_modules/@sumi/plugin-sdk/dist/index.js.map +1 -1
  45. package/node_modules/@sumi/plugin-sdk/dist/protocol.d.ts +7 -0
  46. package/node_modules/@sumi/plugin-sdk/dist/protocol.js.map +1 -1
  47. package/node_modules/@sumi/plugin-sdk/dist/snapshot.d.ts +2 -0
  48. package/node_modules/@sumi/plugin-sdk/dist/snapshot.js +60 -0
  49. package/node_modules/@sumi/plugin-sdk/dist/snapshot.js.map +1 -0
  50. package/node_modules/@sumi/plugin-sdk/dist/trace.d.ts +1 -1
  51. package/node_modules/@sumi/plugin-sdk/dist/trace.js +15 -5
  52. package/node_modules/@sumi/plugin-sdk/dist/trace.js.map +1 -1
  53. package/node_modules/@sumi/plugin-sdk/dist/validate.js +11 -1
  54. package/node_modules/@sumi/plugin-sdk/dist/validate.js.map +1 -1
  55. package/node_modules/@sumi/plugin-sdk/package.json +1 -1
  56. package/node_modules/@sumi/plugins-core/README.md +14 -10
  57. package/node_modules/@sumi/plugins-core/dist/fix/lint.js +3 -3
  58. package/node_modules/@sumi/plugins-core/dist/fix/lint.js.map +1 -1
  59. package/node_modules/@sumi/plugins-core/dist/lib.d.ts +6 -2
  60. package/node_modules/@sumi/plugins-core/dist/lib.js +12 -7
  61. package/node_modules/@sumi/plugins-core/dist/lib.js.map +1 -1
  62. package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js +198 -29
  63. package/node_modules/@sumi/plugins-core/dist/plugins/test-affected.js.map +1 -1
  64. package/node_modules/@sumi/plugins-core/dist/test-batches.d.ts +16 -0
  65. package/node_modules/@sumi/plugins-core/dist/test-batches.js +83 -0
  66. package/node_modules/@sumi/plugins-core/dist/test-batches.js.map +1 -0
  67. package/node_modules/@sumi/plugins-core/dist/test-checkpoints.d.ts +27 -0
  68. package/node_modules/@sumi/plugins-core/dist/test-checkpoints.js +121 -0
  69. package/node_modules/@sumi/plugins-core/dist/test-checkpoints.js.map +1 -0
  70. package/node_modules/@sumi/plugins-core/dist/tool-batches.d.ts +11 -0
  71. package/node_modules/@sumi/plugins-core/dist/tool-batches.js +41 -0
  72. package/node_modules/@sumi/plugins-core/dist/tool-batches.js.map +1 -0
  73. package/node_modules/@sumi/plugins-core/dist/vitest-runner.js +20 -4
  74. package/node_modules/@sumi/plugins-core/dist/vitest-runner.js.map +1 -1
  75. package/node_modules/@sumi/plugins-core/package.json +2 -2
  76. package/node_modules/@sumi/plugins-core/sumi-plugins.yaml +4 -0
  77. package/node_modules/@sumi/plugins-governance/README.md +9 -6
  78. package/node_modules/@sumi/plugins-governance/dist/checkout.d.ts +1 -2
  79. package/node_modules/@sumi/plugins-governance/dist/checkout.js +6 -6
  80. package/node_modules/@sumi/plugins-governance/dist/checkout.js.map +1 -1
  81. package/node_modules/@sumi/plugins-governance/dist/commands/gate.js +61 -5
  82. package/node_modules/@sumi/plugins-governance/dist/commands/gate.js.map +1 -1
  83. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js +20 -11
  84. package/node_modules/@sumi/plugins-governance/dist/commands/pr-report.js.map +1 -1
  85. package/node_modules/@sumi/plugins-governance/dist/gate-cache.js +42 -5
  86. package/node_modules/@sumi/plugins-governance/dist/gate-cache.js.map +1 -1
  87. package/node_modules/@sumi/plugins-governance/dist/hooks.d.ts +2 -0
  88. package/node_modules/@sumi/plugins-governance/dist/hooks.js +4 -0
  89. package/node_modules/@sumi/plugins-governance/dist/hooks.js.map +1 -0
  90. package/node_modules/@sumi/plugins-governance/dist/plugins/protected-paths.js +7 -4
  91. package/node_modules/@sumi/plugins-governance/dist/plugins/protected-paths.js.map +1 -1
  92. package/node_modules/@sumi/plugins-governance/dist/pr-base.d.ts +9 -0
  93. package/node_modules/@sumi/plugins-governance/dist/pr-base.js +28 -0
  94. package/node_modules/@sumi/plugins-governance/dist/pr-base.js.map +1 -1
  95. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.d.ts +16 -4
  96. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js +47 -9
  97. package/node_modules/@sumi/plugins-governance/dist/pr-report-publish.js.map +1 -1
  98. package/node_modules/@sumi/plugins-governance/dist/pr-report-sections.js +3 -1
  99. package/node_modules/@sumi/plugins-governance/dist/pr-report-sections.js.map +1 -1
  100. package/node_modules/@sumi/plugins-governance/dist/protected.js +7 -9
  101. package/node_modules/@sumi/plugins-governance/dist/protected.js.map +1 -1
  102. package/node_modules/@sumi/plugins-governance/dist/semantic.js +2 -17
  103. package/node_modules/@sumi/plugins-governance/dist/semantic.js.map +1 -1
  104. package/node_modules/@sumi/plugins-governance/instructions/push.md +6 -4
  105. package/node_modules/@sumi/plugins-governance/package.json +2 -2
  106. package/node_modules/@sumi/plugins-openspec/package.json +4 -4
  107. package/node_modules/@sumi/plugins-precedent/dist/model.js +2 -15
  108. package/node_modules/@sumi/plugins-precedent/dist/model.js.map +1 -1
  109. package/node_modules/@sumi/plugins-precedent/dist/plugins/harvest.js +28 -3
  110. package/node_modules/@sumi/plugins-precedent/dist/plugins/harvest.js.map +1 -1
  111. package/node_modules/@sumi/plugins-precedent/package.json +3 -3
  112. package/node_modules/@sumi/plugins-review/README.md +18 -11
  113. package/node_modules/@sumi/plugins-review/dist/commands/host-model-hook.js +4 -1
  114. package/node_modules/@sumi/plugins-review/dist/commands/host-model-hook.js.map +1 -1
  115. package/node_modules/@sumi/plugins-review/dist/commands/model-recheck.js +25 -10
  116. package/node_modules/@sumi/plugins-review/dist/commands/model-recheck.js.map +1 -1
  117. package/node_modules/@sumi/plugins-review/dist/commands/submit.js +8 -1
  118. package/node_modules/@sumi/plugins-review/dist/commands/submit.js.map +1 -1
  119. package/node_modules/@sumi/plugins-review/dist/dispute.d.ts +9 -0
  120. package/node_modules/@sumi/plugins-review/dist/dispute.js +91 -0
  121. package/node_modules/@sumi/plugins-review/dist/dispute.js.map +1 -0
  122. package/node_modules/@sumi/plugins-review/dist/index.d.ts +1 -0
  123. package/node_modules/@sumi/plugins-review/dist/index.js +1 -0
  124. package/node_modules/@sumi/plugins-review/dist/index.js.map +1 -1
  125. package/node_modules/@sumi/plugins-review/dist/model-execution.d.ts +2 -1
  126. package/node_modules/@sumi/plugins-review/dist/model-execution.js +49 -18
  127. package/node_modules/@sumi/plugins-review/dist/model-execution.js.map +1 -1
  128. package/node_modules/@sumi/plugins-review/dist/model-independence.d.ts +2 -1
  129. package/node_modules/@sumi/plugins-review/dist/model-independence.js +13 -4
  130. package/node_modules/@sumi/plugins-review/dist/model-independence.js.map +1 -1
  131. package/node_modules/@sumi/plugins-review/dist/plugins/independent-recheck.js +77 -20
  132. package/node_modules/@sumi/plugins-review/dist/plugins/independent-recheck.js.map +1 -1
  133. package/node_modules/@sumi/plugins-review/dist/plugins/rubric.js +131 -22
  134. package/node_modules/@sumi/plugins-review/dist/plugins/rubric.js.map +1 -1
  135. package/node_modules/@sumi/plugins-review/dist/plugins/validation.d.ts +1 -0
  136. package/node_modules/@sumi/plugins-review/dist/plugins/validation.js +35 -0
  137. package/node_modules/@sumi/plugins-review/dist/plugins/validation.js.map +1 -0
  138. package/node_modules/@sumi/plugins-review/dist/recheck.d.ts +10 -5
  139. package/node_modules/@sumi/plugins-review/dist/recheck.js +51 -10
  140. package/node_modules/@sumi/plugins-review/dist/recheck.js.map +1 -1
  141. package/node_modules/@sumi/plugins-review/dist/review-evidence.d.ts +3 -0
  142. package/node_modules/@sumi/plugins-review/dist/review-evidence.js +58 -0
  143. package/node_modules/@sumi/plugins-review/dist/review-evidence.js.map +1 -0
  144. package/node_modules/@sumi/plugins-review/dist/review.d.ts +74 -1
  145. package/node_modules/@sumi/plugins-review/dist/review.js +320 -9
  146. package/node_modules/@sumi/plugins-review/dist/review.js.map +1 -1
  147. package/node_modules/@sumi/plugins-review/dist/submission.js +45 -4
  148. package/node_modules/@sumi/plugins-review/dist/submission.js.map +1 -1
  149. package/node_modules/@sumi/plugins-review/dist/upgrade-command.d.ts +1 -0
  150. package/node_modules/@sumi/plugins-review/dist/upgrade-command.js +14 -0
  151. package/node_modules/@sumi/plugins-review/dist/upgrade-command.js.map +1 -0
  152. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-plan.d.ts +13 -0
  153. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-plan.js +531 -0
  154. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-plan.js.map +1 -0
  155. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-render.d.ts +33 -0
  156. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-render.js +187 -0
  157. package/node_modules/@sumi/plugins-review/dist/upgrade-flow-render.js.map +1 -0
  158. package/node_modules/@sumi/plugins-review/dist/upgrade.d.ts +26 -0
  159. package/node_modules/@sumi/plugins-review/dist/upgrade.js +68 -0
  160. package/node_modules/@sumi/plugins-review/dist/upgrade.js.map +1 -0
  161. package/node_modules/@sumi/plugins-review/dist/validation-receipt.d.ts +8 -0
  162. package/node_modules/@sumi/plugins-review/dist/validation-receipt.js +210 -0
  163. package/node_modules/@sumi/plugins-review/dist/validation-receipt.js.map +1 -0
  164. package/node_modules/@sumi/plugins-review/package.json +5 -4
  165. package/node_modules/@sumi/plugins-review/sumi-plugins.yaml +8 -1
  166. package/package.json +10 -10
@@ -0,0 +1,121 @@
1
+ import { createHash, randomBytes } from 'node:crypto';
2
+ import { existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { dirname, join, resolve, sep } from 'node:path';
4
+ const hash = (value) => createHash('sha256').update(value).digest('hex');
5
+ const defaultEnvironment = ['CI', 'NODE_ENV', 'NODE_OPTIONS'];
6
+ function vitestPackage(entry) {
7
+ for (let dir = dirname(entry); dirname(dir) !== dir; dir = dirname(dir)) {
8
+ const manifest = join(dir, 'package.json');
9
+ if (!existsSync(manifest))
10
+ continue;
11
+ try {
12
+ const value = JSON.parse(readFileSync(manifest, 'utf8'));
13
+ if (value.name === 'vitest')
14
+ return hash(readFileSync(manifest));
15
+ }
16
+ catch {
17
+ return null;
18
+ }
19
+ }
20
+ return null;
21
+ }
22
+ /** 完整计划、运行器实现和运行环境均参与键;不同项目不能共享本地检查点。 */
23
+ export function batchKey(root, snapshot, plan, batch, runner, vitest, envNames = []) {
24
+ try {
25
+ const environment = [...new Set([...defaultEnvironment, ...envNames])].sort().map((name) => [name, process.env[name] ?? null]);
26
+ const installState = join(root, 'node_modules', '.modules.yaml');
27
+ const npmState = join(root, 'node_modules', '.package-lock.json');
28
+ const yarnState = join(root, '.yarn', 'install-state.gz');
29
+ const packageDigest = vitestPackage(vitest);
30
+ const state = [installState, npmState, yarnState].find(existsSync);
31
+ if (!packageDigest || !state)
32
+ return null;
33
+ return hash(JSON.stringify({
34
+ version: 6,
35
+ root: resolve(root),
36
+ snapshot,
37
+ plan,
38
+ batch,
39
+ runner: hash(readFileSync(runner)),
40
+ vitest: hash(readFileSync(vitest)),
41
+ vitestPackage: packageDigest,
42
+ installState: hash(readFileSync(state)),
43
+ runtime: [process.version, process.platform, process.arch],
44
+ environment,
45
+ }));
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ function location(root, key) {
52
+ return join(root, '.sumi', 'cache', 'test-batches', key);
53
+ }
54
+ export function loadBatch(root, key, snapshot, stepId, planEvidence) {
55
+ try {
56
+ const value = JSON.parse(readFileSync(location(root, key), 'utf8'));
57
+ if (value.key !== key || value.snapshot !== snapshot || value.stepId !== stepId || !value.sourceRun || typeof value.report !== 'string')
58
+ return null;
59
+ if (hash(value.report) !== value.reportDigest)
60
+ return null;
61
+ const runsDir = realpathSync(join(root, '.sumi', 'runs'));
62
+ const sourceRun = realpathSync(value.sourceRun);
63
+ if (dirname(sourceRun) !== runsDir)
64
+ return null;
65
+ const sourceDir = realpathSync(join(sourceRun, stepId));
66
+ if (!sourceDir.startsWith(`${sourceRun}${sep}`))
67
+ return null;
68
+ const sourceSnapshot = JSON.parse(readFileSync(join(sourceDir, 'test-snapshot.json'), 'utf8'));
69
+ if (sourceSnapshot.snapshot !== snapshot)
70
+ return null;
71
+ const names = readdirSync(sourceDir);
72
+ if (!names.some((name) => /^test-plan-\d+\.json$/.test(name) && readFileSync(join(sourceDir, name), 'utf8') === planEvidence))
73
+ return null;
74
+ if (!names.some((name) => /^vitest-\d+\.json$/.test(name) && hash(readFileSync(join(sourceDir, name))) === value.reportDigest))
75
+ return null;
76
+ return value;
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ export function saveBatch(root, key, snapshot, sourceRun, stepId, report, planEvidence) {
83
+ const target = location(root, key);
84
+ const parent = dirname(target);
85
+ const temp = join(parent, `.tmp-${randomBytes(8).toString('hex')}`);
86
+ try {
87
+ mkdirSync(parent, { recursive: true });
88
+ if (existsSync(target)) {
89
+ const previous = loadBatch(root, key, snapshot, stepId, planEvidence);
90
+ if (previous)
91
+ return;
92
+ rmSync(target, { force: true });
93
+ }
94
+ writeFileSync(temp, JSON.stringify({ key, snapshot, sourceRun, stepId, reportDigest: hash(report), report }));
95
+ renameSync(temp, target);
96
+ }
97
+ catch {
98
+ // 检查点不影响测试结论;下次会正常重跑。
99
+ }
100
+ finally {
101
+ rmSync(temp, { force: true });
102
+ }
103
+ }
104
+ /** 无论测试成功还是失败,合并报告前都必须证明计划文件恰好各执行一次。 */
105
+ export function reportCovers(report, files) {
106
+ if (!Array.isArray(report.testResults) || report.testResults.some((item) => !item || typeof item.name !== 'string'))
107
+ return false;
108
+ const actual = report.testResults.map((item) => resolve(item.name)).sort();
109
+ const expected = files.map((file) => resolve(file)).sort();
110
+ return actual.length === expected.length && actual.every((file, index) => file === expected[index]);
111
+ }
112
+ export function reportMatches(report, files) {
113
+ if (!reportCovers(report, files))
114
+ return false;
115
+ return (report.numFailedTests === 0 &&
116
+ report.testResults.every((item) => item.status === 'passed' &&
117
+ Array.isArray(item.assertionResults) &&
118
+ item.assertionResults.length > 0 &&
119
+ item.assertionResults.every((assertion) => assertion?.status === 'passed')));
120
+ }
121
+ //# sourceMappingURL=test-checkpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-checkpoints.js","sourceRoot":"","sources":["../src/test-checkpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Windows 的 .cmd shim 会经过命令解释器;给引号、转义和 shim 前缀保留余量。
3
+ * 所有平台共用该预算,使长列表行为可重复测试。
4
+ */
5
+ export declare const FILE_TOOL_COMMAND_BUDGET = 6000;
6
+ export declare function estimateCommandSize(command: string, args: string[]): number;
7
+ /**
8
+ * 保持原顺序把文件参数拆成可安全启动的批次。
9
+ * 固定参数或单个文件无法放入空批时直接拒绝,避免工具收到截断列表。
10
+ */
11
+ export declare function splitFileArguments(command: string, fixedArgs: string[], files: string[], budget?: number): string[][];
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Windows 的 .cmd shim 会经过命令解释器;给引号、转义和 shim 前缀保留余量。
3
+ * 所有平台共用该预算,使长列表行为可重复测试。
4
+ */
5
+ export const FILE_TOOL_COMMAND_BUDGET = 6_000;
6
+ const SHELL_OVERHEAD = 128;
7
+ /** 按 UTF-8 字节数的两倍保守估算参数经 shell 引号与转义后的占用。 */
8
+ function estimateArgumentSize(value) {
9
+ return Buffer.byteLength(value, 'utf8') * 2 + 8;
10
+ }
11
+ export function estimateCommandSize(command, args) {
12
+ return [command, ...args].reduce((size, value) => size + estimateArgumentSize(value), SHELL_OVERHEAD);
13
+ }
14
+ /**
15
+ * 保持原顺序把文件参数拆成可安全启动的批次。
16
+ * 固定参数或单个文件无法放入空批时直接拒绝,避免工具收到截断列表。
17
+ */
18
+ export function splitFileArguments(command, fixedArgs, files, budget = FILE_TOOL_COMMAND_BUDGET) {
19
+ if (!Number.isSafeInteger(budget) || budget <= 0)
20
+ throw new Error(`无效的命令参数安全预算:${budget}`);
21
+ const fixedSize = estimateCommandSize(command, fixedArgs);
22
+ if (fixedSize > budget)
23
+ throw new Error(`工具固定参数超过安全预算:${command}`);
24
+ if (files.length === 0)
25
+ return [[]];
26
+ const batches = [];
27
+ let batch = [];
28
+ for (const file of files) {
29
+ if (estimateCommandSize(command, [...fixedArgs, file]) > budget) {
30
+ throw new Error(`单个文件参数超过安全预算:${file}`);
31
+ }
32
+ if (batch.length > 0 && estimateCommandSize(command, [...fixedArgs, ...batch, file]) > budget) {
33
+ batches.push(batch);
34
+ batch = [];
35
+ }
36
+ batch.push(file);
37
+ }
38
+ batches.push(batch);
39
+ return batches;
40
+ }
41
+ //# sourceMappingURL=tool-batches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-batches.js","sourceRoot":"","sources":["../src/tool-batches.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6CAA6C;AAC7C,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAc;IACjE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;AACxG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAmB,EAAE,KAAe,EAAE,MAAM,GAAG,wBAAwB;IACzH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -192,6 +192,7 @@ catch (error) {
192
192
  let vitest;
193
193
  let selected;
194
194
  let whole;
195
+ let specifications = [];
195
196
  try {
196
197
  const { createVitest } = (await import(pathToFileURL(input.vitest).href));
197
198
  if (typeof createVitest !== 'function')
@@ -218,14 +219,22 @@ try {
218
219
  if (whole)
219
220
  vitest.config.related = undefined;
220
221
  }
221
- const specs = (await vitest.getRelevantTestSpecifications());
222
- selected = new Set(specs.map((s) => s.moduleId)).size;
222
+ specifications = (await vitest.getRelevantTestSpecifications());
223
+ selected = new Set(specifications.map((s) => s.moduleId)).size;
223
224
  }
224
225
  catch (error) {
225
226
  await vitest?.close().catch(() => { });
226
227
  fail(String(error?.stack ?? error));
227
228
  }
228
- writeFileSync(input.result, JSON.stringify({ selected, whole }));
229
+ writeFileSync(input.result, JSON.stringify({ selected, whole, files: [...new Set(specifications.map((s) => s.moduleId))].sort() }));
230
+ if (input.discover) {
231
+ await vitest.close();
232
+ process.exit(0);
233
+ }
234
+ if (input.testFiles && input.testFiles.some((file) => !specifications.some((spec) => spec.moduleId === file))) {
235
+ await vitest.close();
236
+ fail('批次包含不在相关测试集合中的文件');
237
+ }
229
238
  if (selected === 0) {
230
239
  writeFileSync(input.report, JSON.stringify({ numTotalTests: 0, numFailedTests: 0, testResults: [] }));
231
240
  await vitest.close();
@@ -233,7 +242,14 @@ if (selected === 0) {
233
242
  }
234
243
  let failed = true;
235
244
  try {
236
- await vitest.start();
245
+ if (input.testFiles && typeof vitest.init === 'function' && typeof vitest.runTestSpecifications === 'function') {
246
+ const requested = new Set(input.testFiles);
247
+ await vitest.init();
248
+ await vitest.runTestSpecifications(specifications.filter((spec) => requested.has(spec.moduleId)));
249
+ }
250
+ else {
251
+ await vitest.start(input.testFiles);
252
+ }
237
253
  const state = vitest.state;
238
254
  failed =
239
255
  Boolean(process.exitCode) ||
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-runner.js","sourceRoot":"","sources":["../src/vitest-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest-runner.js","sourceRoot":"","sources":["../src/vitest-runner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sumi/plugins-core",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "通用检查插件",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "./package.json": "./package.json"
14
14
  },
15
15
  "dependencies": {
16
- "@sumi/plugin-sdk": "0.8.0",
16
+ "@sumi/plugin-sdk": "0.9.1",
17
17
  "picomatch": "4.0.7",
18
18
  "yaml": "2.9.1"
19
19
  },
@@ -27,6 +27,7 @@ plugins:
27
27
  kind: check
28
28
  command: [node, ./dist/plugins/format.js]
29
29
  timeout: 120
30
+ cache: { env: [CI, NODE_ENV, NODE_OPTIONS], tools: [prettier] }
30
31
  fix: [node, ./dist/fix/format.js]
31
32
  - id: core/lint
32
33
  version: 0.1.0
@@ -35,6 +36,7 @@ plugins:
35
36
  kind: check
36
37
  command: [node, ./dist/plugins/lint.js]
37
38
  timeout: 300
39
+ cache: { env: [CI, NODE_ENV, NODE_OPTIONS], tools: [eslint] }
38
40
  fix: [node, ./dist/fix/lint.js]
39
41
  metrics: [{ name: warnings, direction: lower-is-better }]
40
42
  - id: core/typecheck
@@ -44,6 +46,7 @@ plugins:
44
46
  kind: check
45
47
  command: [node, ./dist/plugins/typecheck.js]
46
48
  timeout: 300
49
+ cache: { env: [CI, NODE_ENV, NODE_OPTIONS], tools: [typescript] }
47
50
  # 不得声明 triggers:内核先按 exclude 过滤再匹配 triggers,只改 exclude 路径时本步骤将不运行,插件自行求改动的逻辑执行不到
48
51
  - id: core/test-affected
49
52
  version: 0.1.0
@@ -68,6 +71,7 @@ plugins:
68
71
  kind: check
69
72
  command: [node, ./dist/plugins/layer-boundary.js]
70
73
  timeout: 60
74
+ cache: {}
71
75
  - id: core/control-docs
72
76
  version: 0.1.0
73
77
  description: 入口文档限长;规范性语句必须有执行者
@@ -10,7 +10,7 @@
10
10
  | --------------------- | ----------------------------------------------------- | ----- | ------------------------- | ------------- | ---- | ----- | --- |
11
11
  | `gov/protected-paths` | 列出本次改动中的 control 变更,提醒推送前需要人工确认 | check | 未声明 triggers / minTier | — | — | — | — |
12
12
 
13
- 这个插件的结论始终为 `pass`。它只为前 5 个受保护文件给出 `info` 级 finding,摘要中给出受保护文件的总数;`checked` 是本次检查过的全部文件。改动范围运行时,它检查内核给出的文件;全量运行且有基准时,它检查 `git diff --name-only <base>` 与未跟踪文件的并集。
13
+ 这个插件的结论始终为 `pass`。它只为前 5 个受保护文件给出 `info` 级 finding,摘要中给出受保护文件的总数;`checked` 是本次检查过的全部文件。有基准时,它自行求相对基准真正变化的文件:`git diff --name-only --no-renames <base>`(固定提交模式为 `<base> HEAD`)与未跟踪文件(固定提交模式不含)的并集,改动范围运行时再并入内核给出的文件,因此被删除或被重命名移走的受保护文件也会列出;没有基准时,它检查内核给出的文件。
14
14
 
15
15
  ## 命令与 hook
16
16
 
@@ -90,14 +90,14 @@ git branch --set-upstream-to=upstream/main main
90
90
  **control 变更**
91
91
 
92
92
  - 基准中没有项目配置时,视为首次接入(`enrollment`):需要确认被推送提交中的全部受保护文件。确认绑定的是这些文件内容的摘要。
93
- - 否则对基准与被推送提交之间变化的受保护文件发起 `control-change` 确认,绑定该 diff 的摘要,所以确认之后再修改会使确认失效。确认界面会展示语义摘要,帮助识别"弱化"。摘要包括:流程步骤的增删、必需性与 `when` 条件的变化,保护范围的增减,基线数值的变化,依赖版本的变化,以及其余受保护文件的列表。
93
+ - 否则对基准与被推送提交之间变化的受保护文件发起 `control-change` 确认,绑定这些文件差异的摘要(路径、模式与两侧内容对象,取自 `git diff --raw`,锁文件、快照再大也不把 diff 正文读进内存),所以确认之后再修改会使确认失效。变化文件按 `--no-renames` 列出:重命名同时计入旧路径与新路径,受保护文件被移出保护范围、或外部文件被移入保护范围,都算 control 变更,不受 `diff.renames` 等本地配置影响。确认界面会展示语义摘要,帮助识别"弱化"。摘要包括:流程步骤的增删、必需性与 `when` 条件的变化,保护范围的增减,基线数值的变化,依赖版本的变化,以及其余受保护文件的列表。
94
94
 
95
95
  **验收流程**
96
96
 
97
97
  0. 先判断人工确认:上述确认中有未完成的,立即拒绝并给出 `sumi approve <id>`,不运行检查;确认后重新推送才进入下面的步骤。
98
98
  1. 先清理本仓库中已无门禁使用的保留检出(见下方“检出的生命周期”),再在系统临时目录的唯一子目录 `sumi-gate-XXXXXX/<oid 前 12 位>` 中用 `git worktree add --detach` 检出被推送提交(位于 Git 内部目录之外)。被推送提交没有项目配置时,不创建检出,也不运行任何流程。
99
99
  2. 运行 `gate.prepare`。未配置时按锁文件推断:pnpm 为 `pnpm install --frozen-lockfile --prefer-offline`,yarn、bun 为 `install --frozen-lockfile`,只有 `package.json` 时为 `npm ci --prefer-offline`,没有 `package.json` 时不准备。准备失败,或准备过程改写了受检文件,都算不通过。
100
- 3. 在检出中运行 `sumi run <gate.flow> --commit <oid> --json [--base <基准>] [--tier <gate.tier>]`。推送门禁可以复用本机先前推送门禁的完整成功结果(键包含 head、base、流程、档位等身份),但不认工作区运行记录;PR 报告始终独立检出现场运行,不读写该缓存。已接受的评审结果仍可按内容复用。缓存命中时输出原运行信息;需要强制重跑用 `SUMI_GATE_NO_CACHE=1 git push`,项目永久关闭复用可设置 `gate.cache: false`。
100
+ 3. 在检出中运行 `sumi run <gate.flow> --commit <oid> --json [--base <基准>] [--tier <gate.tier>]`。推送门禁和 PR 报告可复用本机先前隔离门禁的完整成功结果(键包含 head、base、流程、档位等身份),但不认工作区运行记录;报告注明复用来源。已接受的评审结果仍可按内容复用。需要强制重跑可用 `SUMI_GATE_NO_CACHE=1 git push` 或 `sumi pr-report <PR 号> --force`,项目永久关闭复用可设置 `gate.cache: false`。
101
101
  4. 运行后受检文件被改写,算不通过。通过时删除检出;不通过时保留检出,提示其路径与清理策略:检出仅供排查,之后的运行会自动清理它,其中的改动会被丢弃,修复请在作者工作树中进行。
102
102
  5. 结论为 `pending`(例如评审未完成)时,门禁不派发评审,而是给出同范围的工作区命令 `sumi run <flow> [--tier …] --base <基准>`(无基准时为 `--all`),在工作区完成后再推送同一提交。
103
103
 
@@ -148,12 +148,13 @@ guard 只按工作区当前的项目配置判断受保护路径。相对路径
148
148
 
149
149
  ## pr-report
150
150
 
151
- `sumi pr-report <PR 号>` 的执行步骤:
151
+ `sumi pr-report <PR 号> [--force]` 的执行步骤:
152
152
 
153
153
  1. 用 `gh pr view` 取 PR 的头提交、GitHub 当前目标分支 head、目标分支名称和 URL。本地 `HEAD` 必须等于 PR 头提交。
154
- 2. 以头提交与 GitHub 返回的精确目标分支 head 的合并基础为基准,按与门禁相同的方式(独立检出、`gate.*` 配置)现场运行门禁流程。这个范围不依赖本地可能过期或属于 fork 的 `origin/<目标分支>`;若本地缺少精确目标提交,只从 PR URL 对应的基仓库补取目标分支,不改写本地分支和 remote tracking ref。
154
+ 2. 以头提交与 GitHub 返回的精确目标分支 head 的合并基础为基准,先查同 head、base、流程、档位、配置、build 和 control 身份的成功隔离门禁记录;命中时复用该结果并在报告注明原运行 ID 与时间,不重复完整测试。无可信记录、`gate.cache: false` 或指定 `--force` 时,在独立检出中现场运行。这个范围不依赖本地可能过期或属于 fork 的 `origin/<目标分支>`;若本地缺少精确目标提交,只从 PR URL 对应的基仓库补取目标分支,不改写本地分支和 remote tracking ref。
155
155
  3. 结论为 `pending` 时不发布,给出工作区命令。没有得到结论时也不发布。
156
156
  4. 生成评论:结论、范围、流程与档位、各步骤状态表(不含不适用的步骤)、各步骤的报告段落、error 级问题(最多 30 条)。评论以稳定标记 `<!-- sumi-pr-report -->` 开头,下一行用 `<!-- sumi-pr-report-head:<完整 OID> -->` 绑定当前 PR 头提交。同一 PR 上已有稳定标记的评论时,通过 `gh api` 更新它,否则用 `gh pr comment` 新建。正文先写入临时目录 `sumi-pr-report-*` 中的文件交给 gh,无论发布成功与否,命令结束前都删除该目录。
157
+ 5. 发布命令成功后再次从 GitHub 读取 PR head 与评论,确认 head 未变化且本次完整报告可见;带附件时允许 gh 在报告正文后追加附件。回读失败或不一致时退出码为 3,不宣称报告发布完成。
157
158
 
158
159
  ### 附加图片或视频
159
160
 
@@ -167,9 +168,11 @@ guard 只按工作区当前的项目配置判断受保护路径。相对路径
167
168
 
168
169
  找不到 `gh` 或 `gh` 调用失败时退出码为 3,参数不合法时也为 3。
169
170
 
171
+ 成功门禁缓存保存在 Git common dir,采用该仓库本机密钥校验记录完整性;升级前的旧格式与被改写记录均不复用。密钥与缓存都属于同一用户,不能抵御刻意读取密钥并伪造记录的本机进程。`--force` 可要求 PR 报告重新现场验收;它不会把工作区 `.sumi/runs` 当作放行证据。
172
+
170
173
  ### PR 报告强制收尾
171
174
 
172
- 用户要求创建 PR 或向已有 PR 分支推送时,当前 head 的报告是该工作流的必需产物;代理在 PR 可访问后直接运行 `sumi pr-report <PR 号>`,无需再次请求评论发布授权。PR 头提交变化后旧报告立即过期,必须重新发布。
175
+ 设备验收分两阶段:推送前的独立评审核查当时可取得的当前构建证据和真实服务只读结果,并明确记录推送后待验收路径;尚未推送的 head 没有报告,不单独构成推送前失败。推送后必须在匹配的真实 PR 上运行 `sumi pr-report <PR 号>`,核对 head/base、发布并回读评论。用户要求创建 PR 或向已有 PR 分支推送时,当前 head 的报告是必需产物;只有报告结论通过且本次完整评论回读成功,才可宣告该工作流完成;无需再次请求评论发布授权。PR 头提交变化后旧报告立即过期,必须重新发布。
173
176
 
174
177
  Claude Code、Codex 与 Cursor 由 `sumi update` 接入停止阶段 hook。hook 只读查询当前分支的开放 PR、完整 head OID 与报告评论:只有本地与 PR head 一致而报告缺失或过期时,才要求代理补报;同名分支但 head 不一致,以及登录、网络等无法自动解决的故障只诊断、不阻断。每个会话与本地 head 最多自动续跑一次;无法识别会话时不自动续跑。hook 本身不运行门禁,也不写 GitHub。它不能从分支名推断当前对话是否承担 PR 交付,不可替代上述 PR 工作流的报告要求。
175
178
 
@@ -64,12 +64,11 @@ export declare function retainedNotice(run: CheckoutRun): string | null;
64
64
  export declare function defaultPrepare(wt: string): string[];
65
65
  /**
66
66
  * 在提交 oid 的独立检出中执行门禁的环境准备,并按被检提交的门禁配置现场运行门禁流程。
67
- * 推送门禁与 PR 报告共用现场运行逻辑;缓存只供推送门禁复用,PR 报告须关闭缓存。
67
+ * 推送门禁与 PR 报告共用现场运行与成功缓存;force 忽略已有缓存现场重跑。
68
68
  * log 接收进度行(阶段开始与完成、耗时);流程中每个步骤的进度由 sumi run 直接写到继承的 stderr。
69
69
  */
70
70
  export declare function runGateFlow(root: string, oid: string, base: string | null, log?: (line: string) => void, options?: {
71
71
  force?: boolean;
72
- cache?: boolean;
73
72
  }): CheckoutRun;
74
73
  /** 与门禁同一范围的工作区命令:同一流程与档位、同一基准(无基准时为全量)。 */
75
74
  export declare function workspaceCommand(run: CheckoutRun, base: string | null): string;
@@ -1,11 +1,11 @@
1
- import { execFileSync } from 'node:child_process';
2
1
  import { existsSync, mkdtempSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
3
2
  import { tmpdir } from 'node:os';
4
3
  import { basename, dirname, join } from 'node:path';
5
- import { PROJECT_SUMI, spawnCommandSync } from '@sumi/plugin-sdk';
4
+ import { gitOutput, PROJECT_SUMI, spawnCommandSync } from '@sumi/plugin-sdk';
6
5
  import { configAt } from './protected.js';
7
6
  import { gateCacheKey, invalidateGateCache, readGateCache, writeGateCache } from './gate-cache.js';
8
- const git = (root, args, cwd = root) => execFileSync('git', args, { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true }).trim();
7
+ // status、worktree list 的输出随文件数与检出数增长,统一用带上限的 gitOutput,不因默认 1MB 上限崩溃。
8
+ const git = (root, args, cwd = root) => gitOutput(cwd, args).trim();
9
9
  const tryGit = (root, args) => {
10
10
  try {
11
11
  return git(root, args);
@@ -14,7 +14,7 @@ const tryGit = (root, args) => {
14
14
  return null;
15
15
  }
16
16
  };
17
- const trackedClean = (root, wt) => git(root, ['status', '--porcelain', '--untracked-files=no'], wt).split('\n').filter(Boolean);
17
+ const trackedClean = (root, wt) => git(root, ['status', '--porcelain', '--untracked-files=no', '--no-renames'], wt).split('\n').filter(Boolean);
18
18
  /** 检出父目录(mkdtemp 生成)与检出目录(提交前 12 位)的形状;不符合的目录一律不视为 Sumi 创建。 */
19
19
  const PARENT = /^sumi-gate-[A-Za-z0-9]{6}$/;
20
20
  const LEAF = /^[0-9a-f]{12}$/;
@@ -189,7 +189,7 @@ export function defaultPrepare(wt) {
189
189
  }
190
190
  /**
191
191
  * 在提交 oid 的独立检出中执行门禁的环境准备,并按被检提交的门禁配置现场运行门禁流程。
192
- * 推送门禁与 PR 报告共用现场运行逻辑;缓存只供推送门禁复用,PR 报告须关闭缓存。
192
+ * 推送门禁与 PR 报告共用现场运行与成功缓存;force 忽略已有缓存现场重跑。
193
193
  * log 接收进度行(阶段开始与完成、耗时);流程中每个步骤的进度由 sumi run 直接写到继承的 stderr。
194
194
  */
195
195
  export function runGateFlow(root, oid, base, log = () => { }, options = {}) {
@@ -200,7 +200,7 @@ export function runGateFlow(root, oid, base, log = () => { }, options = {}) {
200
200
  return { flow: 'check', wt: '', conclusion: 'pass', brief: '被检提交没有项目配置(尚未接入 sumi),不运行检查流程' };
201
201
  const gate = config.gate ?? {};
202
202
  const flow = gate.flow ?? 'check';
203
- const key = options.cache === false || gate.cache === false ? null : gateCacheKey(root, oid, base, flow, gate.tier);
203
+ const key = gate.cache === false ? null : gateCacheKey(root, oid, base, flow, gate.tier);
204
204
  const cached = key && !options.force ? readGateCache(root, key) : null;
205
205
  if (cached) {
206
206
  log(` 复用门禁运行 ${cached.runId}(${cached.startedAt}),跳过环境准备与检查`);
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../src/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgCnG,sEAAsE;AACtE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACtF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,EAAE;IAC9C,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE,CAChD,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAE/G,+DAA+D;AAC/D,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,6CAA6C;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAC5C,kCAAkC;AAClC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAOtC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAqB,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;QACjG,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,wCAAwC;AACxC,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,EAAU,EAAE,GAAW;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,OAAO,GAAG,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG;SACP,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;SAChF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACvF,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC/D,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC;SACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,EAAwC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;SACrC,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAW,EAAE,aAAa,GAAG,MAAM,EAAE;IACpF,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAuB,CAAC,IAAI,CAAC,CAAC;QAChI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,EAAU;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,SAAS,GAAG,CAAC,EAAE,gFAAgF,CAAC;AACzG,CAAC;AAID,sDAAsD;AACtD,SAAS,WAAW,CAAC,MAAqB;IACxC,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAChH,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACvF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACtF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACnF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,GAAW,EACX,IAAmB,EACnB,MAA8B,GAAG,EAAE,GAAE,CAAC,EACtC,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,2CAA2C;IAC3C,qCAAqC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC1G,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,YAAY,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,aAAa,CAAC,CAAC;QAC/D,OAAO;YACL,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,EAAE,EAAE,EAAE;YACN,UAAU,EAAE,MAAM;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;SAC3E,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,IACE,GAAG;YACH,GAAG,CAAC,UAAU,KAAK,MAAM;YACzB,CAAC,GAAG,CAAC,OAAO;YACZ,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAC5F,CAAC;YACD,IAAI,CAAC;gBACH,cAAc,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAChI,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,GAAG;YAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,0BAA0B;QAC1B,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAID,SAAS,iBAAiB,CACxB,IAAY,EACZ,GAAW,EACX,IAAmB,EACnB,IAAgB,EAChB,GAA+D,EAC/D,GAA2B;IAE3B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;QAC/B,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACtH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC9E,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAE/E,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IACrG,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,QAAQ,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAI,EAAE,IAAI,EAAE;QACrC,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;QAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACpC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;QAC3C,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8CAA8C;QAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACtG,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,2BAA2B,EAAE,CAAC;IACxF,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,kCAAkC;QAClC,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,GAAgB;QACvB,GAAG,GAAG;QACN,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS;YAC5F,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACxF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAChF,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM;QAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,IAAmB;IACpE,OAAO,GAAG,YAAY,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzH,CAAC"}