@jigyasudham/veto 1.4.4 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/AGENTS.md +134 -0
  2. package/README.md +28 -146
  3. package/dist/adapters/index.d.ts +3 -2
  4. package/dist/adapters/index.d.ts.map +1 -1
  5. package/dist/adapters/index.js +128 -5
  6. package/dist/adapters/index.js.map +1 -1
  7. package/dist/agents/executor.d.ts +2 -0
  8. package/dist/agents/executor.d.ts.map +1 -1
  9. package/dist/agents/executor.js +50 -3
  10. package/dist/agents/executor.js.map +1 -1
  11. package/dist/agents/llm-runner.d.ts +11 -0
  12. package/dist/agents/llm-runner.d.ts.map +1 -0
  13. package/dist/agents/llm-runner.js +252 -0
  14. package/dist/agents/llm-runner.js.map +1 -0
  15. package/dist/agents/local-llm.d.ts +14 -0
  16. package/dist/agents/local-llm.d.ts.map +1 -0
  17. package/dist/agents/local-llm.js +51 -0
  18. package/dist/agents/local-llm.js.map +1 -0
  19. package/dist/agents/manifest.d.ts +13 -0
  20. package/dist/agents/manifest.d.ts.map +1 -0
  21. package/dist/agents/manifest.js +55 -0
  22. package/dist/agents/manifest.js.map +1 -0
  23. package/dist/agents/quality/clone-detector.d.ts +16 -0
  24. package/dist/agents/quality/clone-detector.d.ts.map +1 -0
  25. package/dist/agents/quality/clone-detector.js +72 -0
  26. package/dist/agents/quality/clone-detector.js.map +1 -0
  27. package/dist/agents/research/cost-analyzer.js +1 -1
  28. package/dist/agents/research/cost-analyzer.js.map +1 -1
  29. package/dist/agents/types.d.ts +15 -0
  30. package/dist/agents/types.d.ts.map +1 -1
  31. package/dist/agents/validate.d.ts +11 -0
  32. package/dist/agents/validate.d.ts.map +1 -0
  33. package/dist/agents/validate.js +54 -0
  34. package/dist/agents/validate.js.map +1 -0
  35. package/dist/cli.js +339 -22
  36. package/dist/cli.js.map +1 -1
  37. package/dist/council/llm-council.d.ts.map +1 -1
  38. package/dist/council/llm-council.js +10 -9
  39. package/dist/council/llm-council.js.map +1 -1
  40. package/dist/council/types.d.ts +2 -0
  41. package/dist/council/types.d.ts.map +1 -1
  42. package/dist/memory/config.d.ts +1 -0
  43. package/dist/memory/config.d.ts.map +1 -1
  44. package/dist/memory/config.js +2 -0
  45. package/dist/memory/config.js.map +1 -1
  46. package/dist/memory/local.d.ts +12 -1
  47. package/dist/memory/local.d.ts.map +1 -1
  48. package/dist/memory/local.js +56 -2
  49. package/dist/memory/local.js.map +1 -1
  50. package/dist/memory/schema.d.ts +28 -43
  51. package/dist/memory/schema.d.ts.map +1 -1
  52. package/dist/memory/schema.js +31 -0
  53. package/dist/memory/schema.js.map +1 -1
  54. package/dist/memory/sync.d.ts +13 -0
  55. package/dist/memory/sync.d.ts.map +1 -1
  56. package/dist/memory/sync.js +113 -0
  57. package/dist/memory/sync.js.map +1 -1
  58. package/dist/repo-map/ignore.d.ts +8 -0
  59. package/dist/repo-map/ignore.d.ts.map +1 -0
  60. package/dist/repo-map/ignore.js +65 -0
  61. package/dist/repo-map/ignore.js.map +1 -0
  62. package/dist/repo-map/index.d.ts +29 -0
  63. package/dist/repo-map/index.d.ts.map +1 -0
  64. package/dist/repo-map/index.js +240 -0
  65. package/dist/repo-map/index.js.map +1 -0
  66. package/dist/router/context-compressor.d.ts +1 -1
  67. package/dist/router/context-compressor.d.ts.map +1 -1
  68. package/dist/router/context-compressor.js +9 -3
  69. package/dist/router/context-compressor.js.map +1 -1
  70. package/dist/router/index.d.ts +8 -3
  71. package/dist/router/index.d.ts.map +1 -1
  72. package/dist/router/index.js +20 -4
  73. package/dist/router/index.js.map +1 -1
  74. package/dist/router/learning-updater.d.ts +41 -0
  75. package/dist/router/learning-updater.d.ts.map +1 -1
  76. package/dist/router/learning-updater.js +62 -0
  77. package/dist/router/learning-updater.js.map +1 -1
  78. package/dist/router/model-selector.d.ts +4 -1
  79. package/dist/router/model-selector.d.ts.map +1 -1
  80. package/dist/router/model-selector.js +24 -28
  81. package/dist/router/model-selector.js.map +1 -1
  82. package/dist/router/rate-monitor.d.ts +2 -1
  83. package/dist/router/rate-monitor.d.ts.map +1 -1
  84. package/dist/router/rate-monitor.js +3 -0
  85. package/dist/router/rate-monitor.js.map +1 -1
  86. package/dist/server.js +3124 -1655
  87. package/dist/server.js.map +1 -1
  88. package/dist/tools/definitions.d.ts +1205 -171
  89. package/dist/tools/definitions.d.ts.map +1 -1
  90. package/dist/tools/definitions.js +678 -4
  91. package/dist/tools/definitions.js.map +1 -1
  92. package/dist/watcher/index.d.ts +1 -0
  93. package/dist/watcher/index.d.ts.map +1 -1
  94. package/dist/watcher/index.js +7 -6
  95. package/dist/watcher/index.js.map +1 -1
  96. package/dist/workflow/pipeline.d.ts +12 -2
  97. package/dist/workflow/pipeline.d.ts.map +1 -1
  98. package/dist/workflow/pipeline.js +395 -16
  99. package/dist/workflow/pipeline.js.map +1 -1
  100. package/package.json +9 -4
@@ -0,0 +1,72 @@
1
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
2
+ import { join, extname } from 'node:path';
3
+ import { createHash } from 'node:crypto';
4
+ export async function detectClones(options) {
5
+ const { project_dir, extensions = ['.ts', '.js', '.tsx', '.jsx'], min_lines = 6 } = options;
6
+ const files = [];
7
+ function walk(dir) {
8
+ const entries = readdirSync(dir);
9
+ for (const entry of entries) {
10
+ const full = join(dir, entry);
11
+ if (entry === 'node_modules' || entry === '.git' || entry === 'dist')
12
+ continue;
13
+ const stat = statSync(full);
14
+ if (stat.isDirectory()) {
15
+ walk(full);
16
+ }
17
+ else if (extensions.includes(extname(full))) {
18
+ files.push(full);
19
+ }
20
+ }
21
+ }
22
+ try {
23
+ walk(project_dir);
24
+ }
25
+ catch (err) {
26
+ return [];
27
+ }
28
+ const chunkMap = new Map();
29
+ const snippetMap = new Map();
30
+ for (const file of files) {
31
+ const content = readFileSync(file, 'utf8');
32
+ const lines = content.split('\n');
33
+ for (let i = 0; i <= lines.length - min_lines; i++) {
34
+ const chunk = lines.slice(i, i + min_lines).map(l => l.trim()).filter(l => l.length > 0);
35
+ if (chunk.length < min_lines / 2)
36
+ continue; // too many empty lines
37
+ const chunkStr = chunk.join('\n');
38
+ const hash = createHash('md5').update(chunkStr).digest('hex');
39
+ if (!chunkMap.has(hash)) {
40
+ chunkMap.set(hash, []);
41
+ snippetMap.set(hash, chunkStr);
42
+ }
43
+ chunkMap.get(hash).push({ file: file.replace(project_dir, ''), start_line: i + 1, end_line: i + min_lines });
44
+ }
45
+ }
46
+ const findings = [];
47
+ for (const [hash, occurrences] of chunkMap.entries()) {
48
+ if (occurrences.length > 1) {
49
+ // Filter out overlapping occurrences in the same file
50
+ const uniqueOccurrences = occurrences.filter((occ, index) => {
51
+ return !occurrences.some((other, otherIndex) => {
52
+ return index !== otherIndex &&
53
+ occ.file === other.file &&
54
+ occ.start_line >= other.start_line &&
55
+ occ.end_line <= other.end_line &&
56
+ (occ.end_line - occ.start_line) < (other.end_line - other.start_line);
57
+ });
58
+ });
59
+ if (uniqueOccurrences.length > 1) {
60
+ findings.push({
61
+ hash,
62
+ lines: min_lines,
63
+ occurrences: uniqueOccurrences,
64
+ code_snippet: snippetMap.get(hash),
65
+ });
66
+ }
67
+ }
68
+ }
69
+ // Sort by occurrence count descending
70
+ return findings.sort((a, b) => b.occurrences.length - a.occurrences.length).slice(0, 20);
71
+ }
72
+ //# sourceMappingURL=clone-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-detector.js","sourceRoot":"","sources":["../../../src/agents/quality/clone-detector.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export function plan(task, context) {
3
3
  const isTokenCost = t.includes('token') || t.includes('ai cost') || t.includes('api cost') || t.includes('llm');
4
4
  const isInfra = t.includes('hosting') || t.includes('server') || t.includes('cloud') || t.includes('infra');
5
5
  const approach = isTokenCost
6
- ? 'Analyse AI token costs across all three platforms. Track tokens-per-task, cost-per-tier, and cost trajectory over time. Identify the top 3 cost drivers and recommend routing adjustments. A 20% reduction in average tier without quality loss is typically achievable via better router threshold calibration.'
6
+ ? 'Analyse AI token costs across all four platforms. Track tokens-per-task, cost-per-tier, and cost trajectory over time. Identify the top 3 cost drivers and recommend routing adjustments. A 20% reduction in average tier without quality loss is typically achievable via better router threshold calibration.'
7
7
  : isInfra
8
8
  ? 'Analyse infrastructure costs by service. Identify idle resources, over-provisioned instances, and services that could be consolidated. Compare reserved vs. on-demand pricing for predictable workloads. Document the cost-per-feature to identify which features have disproportionate infrastructure cost.'
9
9
  : 'Track the three cost categories in this project: AI token spend, infrastructure, and developer time. Developer time is almost always the largest cost and the most under-tracked. Quantify each category, identify the top driver, and recommend the highest-ROI reduction.';
@@ -1 +1 @@
1
- {"version":3,"file":"cost-analyzer.js","sourceRoot":"","sources":["../../../src/agents/research/cost-analyzer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAgB;IACjD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,kTAAkT;QACpT,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,8SAA8S;YAChT,CAAC,CAAC,6QAA6Q,CAAC;IAElR,OAAO;QACL,KAAK,EAAE,eAAkC;QACzC,IAAI;QACJ,IAAI,EAAE,CAAC;QACP,QAAQ;QACR,KAAK,EAAE;YACL,uFAAuF;YACvF,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,2EAA2E;YAC3E,gGAAgG;YAChG,kDAAkD;YAClD,0EAA0E;YAC1E,kFAAkF;YAClF,2FAA2F;SAC5F;QACD,SAAS,EAAE;YACT,yCAAyC;YACzC,+CAA+C;YAC/C,wDAAwD;YACxD,wDAAwD;YACxD,6DAA6D;YAC7D,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,+EAA+E;YAC/E,0FAA0F;YAC1F,2FAA2F;YAC3F,2EAA2E;YAC3E,gGAAgG;SACjG;QACD,QAAQ,EAAE;YACR,2CAA2C;YAC3C,wFAAwF;YACxF,yFAAyF;YACzF,oFAAoF;SACrF;QACD,iBAAiB,EAAE,WAAW;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cost-analyzer.js","sourceRoot":"","sources":["../../../src/agents/research/cost-analyzer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAgB;IACjD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,iTAAiT;QACnT,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,8SAA8S;YAChT,CAAC,CAAC,6QAA6Q,CAAC;IAElR,OAAO;QACL,KAAK,EAAE,eAAkC;QACzC,IAAI;QACJ,IAAI,EAAE,CAAC;QACP,QAAQ;QACR,KAAK,EAAE;YACL,uFAAuF;YACvF,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,2EAA2E;YAC3E,gGAAgG;YAChG,kDAAkD;YAClD,0EAA0E;YAC1E,kFAAkF;YAClF,2FAA2F;SAC5F;QACD,SAAS,EAAE;YACT,yCAAyC;YACzC,+CAA+C;YAC/C,wDAAwD;YACxD,wDAAwD;YACxD,6DAA6D;YAC7D,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,+EAA+E;YAC/E,0FAA0F;YAC1F,2FAA2F;YAC3F,2EAA2E;YAC3E,gGAAgG;SACjG;QACD,QAAQ,EAAE;YACR,2CAA2C;YAC3C,wFAAwF;YACxF,yFAAyF;YACzF,oFAAoF;SACrF;QACD,iBAAiB,EAAE,WAAW;KAC/B,CAAC;AACJ,CAAC"}
@@ -49,6 +49,15 @@ export interface AgentTask {
49
49
  code?: string;
50
50
  context?: string;
51
51
  project_dir?: string;
52
+ llm_backed?: boolean;
53
+ model?: string;
54
+ }
55
+ export interface AgenticAgentPrompt {
56
+ mode: 'agentic';
57
+ agent: WorkerAgentType;
58
+ instruction: string;
59
+ output_prompt: string;
60
+ schema: string;
52
61
  }
53
62
  export interface AgentResult {
54
63
  id: string;
@@ -57,6 +66,12 @@ export interface AgentResult {
57
66
  analysis?: AgentAnalysis;
58
67
  output: AgentOutput;
59
68
  duration_ms: number;
69
+ llm_backed?: boolean;
70
+ llm_upgrade?: {
71
+ available: true;
72
+ instruction: string;
73
+ prompt: AgenticAgentPrompt;
74
+ };
60
75
  error?: string;
61
76
  }
62
77
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AgentPlan, AgentAnalysis, WorkerAgentType } from './types.js';
2
+ /**
3
+ * Validates and sanitizes an AgentPlan. Returns null if the value is not
4
+ * recoverable. Otherwise returns a clean plan using Zod.
5
+ */
6
+ export declare function validateAgentPlan(raw: unknown, agentType: WorkerAgentType): AgentPlan | null;
7
+ /**
8
+ * Validates and sanitizes an AgentAnalysis. Returns null if not recoverable.
9
+ */
10
+ export declare function validateAgentAnalysis(raw: unknown, agentType: WorkerAgentType): AgentAnalysis | null;
11
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/agents/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAiC,eAAe,EAAE,MAAM,YAAY,CAAC;AAmC3G;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAI5F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI,CAOpG"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ const findingSchema = z.object({
3
+ severity: z.enum(['critical', 'high', 'medium', 'low', 'info']).default('info').catch('info'),
4
+ category: z.string().default('general').catch('general'),
5
+ description: z.string().default('No description').catch('No description'),
6
+ fix: z.string().default('No fix provided').catch('No fix provided'),
7
+ location: z.string().optional().catch(undefined),
8
+ cwe: z.string().optional().catch(undefined),
9
+ owasp: z.string().optional().catch(undefined)
10
+ });
11
+ const planSchema = z.object({
12
+ agent: z.string().catch(''),
13
+ task: z.string().catch(''),
14
+ tier: z.union([z.literal(1), z.literal(2), z.literal(3)]).default(2).catch(2),
15
+ approach: z.string().default('').catch(''),
16
+ steps: z.array(z.string()).default([]).catch([]),
17
+ checklist: z.array(z.string()).default([]).catch([]),
18
+ pitfalls: z.array(z.string()).default([]).catch([]),
19
+ patterns: z.array(z.string()).default([]).catch([]),
20
+ duration_estimate: z.string().default('unknown').catch('unknown')
21
+ });
22
+ const analysisSchema = z.object({
23
+ agent: z.string().catch(''),
24
+ subject: z.string().default('').catch(''),
25
+ findings: z.array(findingSchema).default([]).catch([]),
26
+ score: z.number().min(0).max(100).default(70).catch(70),
27
+ verdict: z.enum(['approved', 'approved_with_warnings', 'needs_revision', 'rejected']).default('approved_with_warnings').catch('approved_with_warnings'),
28
+ summary: z.string().default('').catch(''),
29
+ critical_count: z.number().optional().catch(undefined),
30
+ high_count: z.number().optional().catch(undefined)
31
+ });
32
+ /**
33
+ * Validates and sanitizes an AgentPlan. Returns null if the value is not
34
+ * recoverable. Otherwise returns a clean plan using Zod.
35
+ */
36
+ export function validateAgentPlan(raw, agentType) {
37
+ const parsed = planSchema.safeParse(raw);
38
+ if (!parsed.success)
39
+ return null;
40
+ return { ...parsed.data, agent: agentType };
41
+ }
42
+ /**
43
+ * Validates and sanitizes an AgentAnalysis. Returns null if not recoverable.
44
+ */
45
+ export function validateAgentAnalysis(raw, agentType) {
46
+ const parsed = analysisSchema.safeParse(raw);
47
+ if (!parsed.success)
48
+ return null;
49
+ const data = parsed.data;
50
+ const critical_count = data.critical_count ?? data.findings.filter(f => f.severity === 'critical').length;
51
+ const high_count = data.high_count ?? data.findings.filter(f => f.severity === 'high').length;
52
+ return { ...data, agent: agentType, critical_count, high_count };
53
+ }
54
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/agents/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACzE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;CAClE,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IACvJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACnD,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,SAA0B;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAe,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY,EAAE,SAA0B;IAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC9F,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAmB,CAAC;AACpF,CAAC"}