mcp-paike 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,30 +5,7 @@ interface ToolResult {
5
5
  }>;
6
6
  isError?: boolean;
7
7
  }
8
- export declare const listAchievementTypesTool: {
9
- name: string;
10
- description: string;
11
- inputSchema: {
12
- type: "object";
13
- properties: {
14
- category: {
15
- type: string;
16
- enum: string[];
17
- description: string;
18
- };
19
- isActive: {
20
- type: string;
21
- description: string;
22
- };
23
- };
24
- required: never[];
25
- };
26
- handler: (args: {
27
- category?: string;
28
- isActive?: boolean;
29
- }) => Promise<ToolResult>;
30
- };
31
- export declare const getStudentAchievementsTool: {
8
+ export declare const getStudentGrowthRecordsTool: {
32
9
  name: string;
33
10
  description: string;
34
11
  inputSchema: {
@@ -61,18 +38,23 @@ export declare const getStudentAchievementsTool: {
61
38
  endDate?: string;
62
39
  }) => Promise<ToolResult>;
63
40
  };
64
- export declare const listAchievementsByTypeTool: {
41
+ export declare const listGrowthRecordsTool: {
65
42
  name: string;
66
43
  description: string;
67
44
  inputSchema: {
68
45
  type: "object";
69
46
  properties: {
70
- achievementTypeId: {
47
+ studentName: {
48
+ type: string;
49
+ description: string;
50
+ };
51
+ title: {
71
52
  type: string;
72
53
  description: string;
73
54
  };
74
- level: {
55
+ category: {
75
56
  type: string;
57
+ enum: string[];
76
58
  description: string;
77
59
  };
78
60
  isPublic: {
@@ -96,11 +78,12 @@ export declare const listAchievementsByTypeTool: {
96
78
  description: string;
97
79
  };
98
80
  };
99
- required: string[];
81
+ required: never[];
100
82
  };
101
83
  handler: (args: {
102
- achievementTypeId: string;
103
- level?: string;
84
+ studentName?: string;
85
+ title?: string;
86
+ category?: string;
104
87
  isPublic?: boolean;
105
88
  startDate?: string;
106
89
  endDate?: string;
@@ -108,29 +91,7 @@ export declare const listAchievementsByTypeTool: {
108
91
  pageSize?: number;
109
92
  }) => Promise<ToolResult>;
110
93
  };
111
- export declare const achievementTools: ({
112
- name: string;
113
- description: string;
114
- inputSchema: {
115
- type: "object";
116
- properties: {
117
- category: {
118
- type: string;
119
- enum: string[];
120
- description: string;
121
- };
122
- isActive: {
123
- type: string;
124
- description: string;
125
- };
126
- };
127
- required: never[];
128
- };
129
- handler: (args: {
130
- category?: string;
131
- isActive?: boolean;
132
- }) => Promise<ToolResult>;
133
- } | {
94
+ export declare const growthRecordTools: ({
134
95
  name: string;
135
96
  description: string;
136
97
  inputSchema: {
@@ -168,12 +129,17 @@ export declare const achievementTools: ({
168
129
  inputSchema: {
169
130
  type: "object";
170
131
  properties: {
171
- achievementTypeId: {
132
+ studentName: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ title: {
172
137
  type: string;
173
138
  description: string;
174
139
  };
175
- level: {
140
+ category: {
176
141
  type: string;
142
+ enum: string[];
177
143
  description: string;
178
144
  };
179
145
  isPublic: {
@@ -197,11 +163,12 @@ export declare const achievementTools: ({
197
163
  description: string;
198
164
  };
199
165
  };
200
- required: string[];
166
+ required: never[];
201
167
  };
202
168
  handler: (args: {
203
- achievementTypeId: string;
204
- level?: string;
169
+ studentName?: string;
170
+ title?: string;
171
+ category?: string;
205
172
  isPublic?: boolean;
206
173
  startDate?: string;
207
174
  endDate?: string;
@@ -210,4 +177,4 @@ export declare const achievementTools: ({
210
177
  }) => Promise<ToolResult>;
211
178
  })[];
212
179
  export {};
213
- //# sourceMappingURL=achievements.d.ts.map
180
+ //# sourceMappingURL=growthRecords.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"growthRecords.d.ts","sourceRoot":"","sources":["../../src/tools/growthRecords.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAYD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BhB;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC,UAAU,CAAC;CAqExB,CAAC;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2CV;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,UAAU,CAAC;CA+ExB,CAAC;AASF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;oBAzNN;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmHD;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,UAAU,CAAC;IAwF4D,CAAC"}
@@ -0,0 +1,224 @@
1
+ import { apiClient } from '../api/client.js';
2
+ import { logger } from '../utils/logger.js';
3
+ // Category label mapping (matches backend constants)
4
+ const CATEGORY_LABELS = {
5
+ COMPETITION: '竞赛类',
6
+ CERTIFICATION: '考级类',
7
+ COURSE: '课程类',
8
+ PROJECT: '项目类',
9
+ OTHER: '其他',
10
+ };
11
+ // Get student growth records
12
+ export const getStudentGrowthRecordsTool = {
13
+ name: 'get_student_growth_records',
14
+ description: '查询学员成长记录 - 按学员ID查询,支持按大类筛选',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {
18
+ studentId: {
19
+ type: 'string',
20
+ description: '学员ID,必填',
21
+ },
22
+ category: {
23
+ type: 'string',
24
+ enum: ['COMPETITION', 'CERTIFICATION', 'COURSE', 'PROJECT', 'OTHER'],
25
+ description: '大类筛选: COMPETITION(竞赛类), CERTIFICATION(考级类), COURSE(课程类), PROJECT(项目类), OTHER(其他)',
26
+ },
27
+ startDate: {
28
+ type: 'string',
29
+ description: '开始日期 (YYYY-MM-DD)',
30
+ },
31
+ endDate: {
32
+ type: 'string',
33
+ description: '结束日期 (YYYY-MM-DD)',
34
+ },
35
+ },
36
+ required: ['studentId'],
37
+ },
38
+ handler: async (args) => {
39
+ try {
40
+ logger.debug('查询学员成长记录', args);
41
+ const params = {
42
+ studentId: args.studentId,
43
+ };
44
+ if (args.category)
45
+ params.category = args.category;
46
+ if (args.startDate)
47
+ params.startDate = args.startDate;
48
+ if (args.endDate)
49
+ params.endDate = args.endDate;
50
+ const result = await apiClient.get('/api/growth-records', params);
51
+ const records = result.items || [];
52
+ if (records.length === 0) {
53
+ return {
54
+ content: [{ type: 'text', text: '该学员暂无成长记录' }],
55
+ };
56
+ }
57
+ // Get student name from first record
58
+ const studentName = records[0]?.student?.name || '未知学员';
59
+ let output = `学员成长记录\n==================================\n`;
60
+ output += `学员: ${studentName}\n`;
61
+ output += `记录数量: ${result.total || records.length} 条\n`;
62
+ for (let i = 0; i < records.length; i++) {
63
+ const r = records[i];
64
+ const categoryLabel = r.category === 'OTHER' && r.customCategory
65
+ ? r.customCategory
66
+ : CATEGORY_LABELS[r.category] || r.category || '';
67
+ output += `\n${i + 1}. ${r.title} [${categoryLabel}]\n`;
68
+ if (r.level) {
69
+ output += ` 等级: ${r.level}\n`;
70
+ }
71
+ output += ` 获得日期: ${formatDate(r.achievedAt)}\n`;
72
+ if (r.issuingOrg) {
73
+ output += ` 颁发机构: ${r.issuingOrg}\n`;
74
+ }
75
+ output += ` 可用于宣传: ${r.isPublic ? '是' : '否'}\n`;
76
+ if (r.attachments && r.attachments.length > 0) {
77
+ output += ` 附件: ${r.attachments.length}个\n`;
78
+ }
79
+ }
80
+ return {
81
+ content: [{ type: 'text', text: output }],
82
+ };
83
+ }
84
+ catch (error) {
85
+ logger.error('查询学员成长记录失败:', error.message);
86
+ if (error.message?.includes('404')) {
87
+ return {
88
+ content: [{ type: 'text', text: '未找到学员,请检查学员ID是否正确' }],
89
+ isError: true,
90
+ };
91
+ }
92
+ return {
93
+ content: [{ type: 'text', text: `查询失败: ${error.message}` }],
94
+ isError: true,
95
+ };
96
+ }
97
+ },
98
+ };
99
+ // List growth records with optional filters
100
+ export const listGrowthRecordsTool = {
101
+ name: 'list_growth_records',
102
+ description: '查询成长记录列表 - 支持按学员姓名、标题、大类等筛选',
103
+ inputSchema: {
104
+ type: 'object',
105
+ properties: {
106
+ studentName: {
107
+ type: 'string',
108
+ description: '学员姓名搜索',
109
+ },
110
+ title: {
111
+ type: 'string',
112
+ description: '标题搜索',
113
+ },
114
+ category: {
115
+ type: 'string',
116
+ enum: ['COMPETITION', 'CERTIFICATION', 'COURSE', 'PROJECT', 'OTHER'],
117
+ description: '大类筛选: COMPETITION(竞赛类), CERTIFICATION(考级类), COURSE(课程类), PROJECT(项目类), OTHER(其他)',
118
+ },
119
+ isPublic: {
120
+ type: 'boolean',
121
+ description: '是否只显示可用于宣传的记录',
122
+ },
123
+ startDate: {
124
+ type: 'string',
125
+ description: '开始日期 (YYYY-MM-DD)',
126
+ },
127
+ endDate: {
128
+ type: 'string',
129
+ description: '结束日期 (YYYY-MM-DD)',
130
+ },
131
+ page: {
132
+ type: 'number',
133
+ description: '页码,默认1',
134
+ },
135
+ pageSize: {
136
+ type: 'number',
137
+ description: '每页数量,默认20',
138
+ },
139
+ },
140
+ required: [],
141
+ },
142
+ handler: async (args) => {
143
+ try {
144
+ logger.debug('查询成长记录列表', args);
145
+ const params = {
146
+ page: Math.max(1, args.page || 1),
147
+ pageSize: Math.min(100, Math.max(1, args.pageSize || 20)),
148
+ };
149
+ if (args.studentName)
150
+ params.studentName = args.studentName;
151
+ if (args.title)
152
+ params.title = args.title;
153
+ if (args.category)
154
+ params.category = args.category;
155
+ if (args.isPublic !== undefined)
156
+ params.isPublic = args.isPublic;
157
+ if (args.startDate)
158
+ params.startDate = args.startDate;
159
+ if (args.endDate)
160
+ params.endDate = args.endDate;
161
+ const result = await apiClient.get('/api/growth-records', params);
162
+ const records = result.items || [];
163
+ if (records.length === 0) {
164
+ return {
165
+ content: [{ type: 'text', text: '暂无匹配的成长记录' }],
166
+ };
167
+ }
168
+ let output = `成长记录列表\n==================================\n`;
169
+ output += `共 ${result.total} 条记录 (第 ${result.page}/${result.totalPages} 页)\n`;
170
+ // Group by category for better display
171
+ const grouped = {};
172
+ for (const r of records) {
173
+ const cat = r.category || 'OTHER';
174
+ if (!grouped[cat])
175
+ grouped[cat] = [];
176
+ grouped[cat].push(r);
177
+ }
178
+ for (const [category, items] of Object.entries(grouped)) {
179
+ output += `\n【${CATEGORY_LABELS[category] || category}】${items.length}条\n`;
180
+ for (const r of items) {
181
+ const studentName = r.student?.name || '未知学员';
182
+ const displayCategory = r.category === 'OTHER' && r.customCategory
183
+ ? r.customCategory
184
+ : '';
185
+ output += `\n • ${studentName} - ${r.title}`;
186
+ if (displayCategory) {
187
+ output += ` (${displayCategory})`;
188
+ }
189
+ output += `\n`;
190
+ if (r.level) {
191
+ output += ` 等级: ${r.level} | `;
192
+ }
193
+ else {
194
+ output += ` `;
195
+ }
196
+ output += `日期: ${formatDate(r.achievedAt)}`;
197
+ if (r.isPublic) {
198
+ output += ` | 可宣传`;
199
+ }
200
+ output += `\n`;
201
+ }
202
+ }
203
+ return {
204
+ content: [{ type: 'text', text: output }],
205
+ };
206
+ }
207
+ catch (error) {
208
+ logger.error('查询成长记录列表失败:', error.message);
209
+ return {
210
+ content: [{ type: 'text', text: `查询失败: ${error.message}` }],
211
+ isError: true,
212
+ };
213
+ }
214
+ },
215
+ };
216
+ // Helper function
217
+ function formatDate(dateStr) {
218
+ if (!dateStr)
219
+ return '-';
220
+ return new Date(dateStr).toLocaleDateString('zh-CN');
221
+ }
222
+ // Export all growth record tools
223
+ export const growthRecordTools = [getStudentGrowthRecordsTool, listGrowthRecordsTool];
224
+ //# sourceMappingURL=growthRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"growthRecords.js","sourceRoot":"","sources":["../../src/tools/growthRecords.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAQA,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAaD,cAAM,YAAY;IAChB,OAAO,CAAC,KAAK,CAAgC;;IAQ7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,WAAW,IAAI,IAAI,EAAE;IAIrB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;IAchD,YAAY,IAAI,MAAM,EAAE;CAGzB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAC/C,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AASA,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAcD,cAAM,YAAY;IAChB,OAAO,CAAC,KAAK,CAAgC;;IAQ7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,WAAW,IAAI,IAAI,EAAE;IAIrB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;IAchD,YAAY,IAAI,MAAM,EAAE;CAGzB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAC/C,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
@@ -4,7 +4,8 @@ import { classTools } from './classes.js';
4
4
  import { sessionTools } from './sessions.js';
5
5
  import { attendanceTools } from './attendances.js';
6
6
  import { financeTools } from './finance.js';
7
- import { achievementTools } from './achievements.js';
7
+ import { growthRecordTools } from './growthRecords.js';
8
+ import { leadTools } from './leads.js';
8
9
  // Combine all tools
9
10
  const allTools = [
10
11
  ...authTools,
@@ -13,7 +14,8 @@ const allTools = [
13
14
  ...sessionTools,
14
15
  ...attendanceTools,
15
16
  ...financeTools,
16
- ...achievementTools,
17
+ ...growthRecordTools,
18
+ ...leadTools,
17
19
  ];
18
20
  class ToolRegistry {
19
21
  tools = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAmBrD,oBAAoB;AACpB,MAAM,QAAQ,GAAW;IACvB,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,gBAAgB;CACpB,CAAC;AAEF,MAAM,YAAY;IACR,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE7C;QACE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,QAAuB;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YAEpC,+CAA+C;YAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBAClC,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,aAAa,CAAC;YAC5D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmBvC,oBAAoB;AACpB,MAAM,QAAQ,GAAW;IACvB,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,iBAAiB;IACpB,GAAG,SAAS;CACb,CAAC;AAEF,MAAM,YAAY;IACR,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE7C;QACE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,QAAuB;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACrD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YAEpC,+CAA+C;YAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBAClC,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,aAAa,CAAC;YAC5D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}