bitrix24-tasks-mcp-server 1.1.0 → 1.4.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.
- package/README.md +55 -2
- package/build/bitrix24/client.d.ts +123 -0
- package/build/bitrix24/client.d.ts.map +1 -1
- package/build/bitrix24/client.js +697 -7
- package/build/bitrix24/client.js.map +1 -1
- package/build/bitrix24/taskChat.d.ts +36 -0
- package/build/bitrix24/taskChat.d.ts.map +1 -0
- package/build/bitrix24/taskChat.js +108 -0
- package/build/bitrix24/taskChat.js.map +1 -0
- package/build/bitrix24/taskComments.d.ts +21 -0
- package/build/bitrix24/taskComments.d.ts.map +1 -0
- package/build/bitrix24/taskComments.js +67 -0
- package/build/bitrix24/taskComments.js.map +1 -0
- package/build/bitrix24/taskFiles.d.ts +9 -1
- package/build/bitrix24/taskFiles.d.ts.map +1 -1
- package/build/bitrix24/taskFiles.js +79 -3
- package/build/bitrix24/taskFiles.js.map +1 -1
- package/build/index.js +23 -8
- package/build/index.js.map +1 -1
- package/build/tools/index.d.ts +3 -0
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +235 -0
- package/build/tools/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -67,21 +67,71 @@ Required webhook scopes:
|
|
|
67
67
|
- `task`
|
|
68
68
|
- `tasks_extended`
|
|
69
69
|
- `sonet_group`
|
|
70
|
-
- `disk` (required for attaching images/files to tasks)
|
|
70
|
+
- `disk` (required for attaching images/files to tasks and comments)
|
|
71
|
+
- `im` (required for task chat comments on the new task card)
|
|
71
72
|
|
|
72
73
|
Optional environment variables:
|
|
73
74
|
|
|
74
75
|
- `BITRIX24_DISK_FOLDER_ID` — target folder ID for uploads. If omitted, the webhook user's disk storage root folder is used.
|
|
75
76
|
|
|
76
|
-
## Attaching
|
|
77
|
+
## Attaching and downloading task files
|
|
77
78
|
|
|
78
79
|
Bitrix24 stores task attachments on Disk. The MCP uploads a local file with `disk.folder.uploadfile`, then attaches it to the task with `tasks.task.files.attach` (fallback: `UF_TASK_WEBDAV_FILES` on `tasks.task.update`).
|
|
79
80
|
|
|
81
|
+
Download uses `task.item.getfiles` (primary; works with the task webhook scope) and falls back to `disk.file.get` when needed. File IDs are collected from:
|
|
82
|
+
|
|
83
|
+
- `UF_TASK_WEBDAV_FILES` (tokens like `n186771`)
|
|
84
|
+
- `[disk file id=n186771]` / `[disk file id=151641]` markers in the task description (`n` prefix = FILE_ID, without prefix = ATTACHMENT_ID)
|
|
85
|
+
|
|
80
86
|
Tools:
|
|
81
87
|
|
|
88
|
+
- `bitrix24_get_task_files` — download files attached to a task (returns metadata; images also returned as MCP image content)
|
|
82
89
|
- `bitrix24_attach_files_to_task` — attach one or more local files to an existing task
|
|
83
90
|
- `bitrix24_create_task` — optional `filePaths` array to attach files right after task creation
|
|
84
91
|
|
|
92
|
+
Example — fetch task comments (auto: chat API, then legacy):
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"taskId": "100173",
|
|
97
|
+
"preferApi": "auto",
|
|
98
|
+
"limit": 50,
|
|
99
|
+
"includeAttachments": true,
|
|
100
|
+
"imagesOnly": true
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Example — post comment with local files:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"taskId": "100173",
|
|
109
|
+
"text": "См. вложение",
|
|
110
|
+
"filePaths": ["/absolute/path/to/screenshot.png"],
|
|
111
|
+
"preferApi": "auto"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Required webhook scopes for comments: `task`, `im`, `disk`.
|
|
116
|
+
|
|
117
|
+
Example — fetch images from task `100173`:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"taskId": "100173",
|
|
122
|
+
"imagesOnly": true
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Optional: save all files to a local folder:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"taskId": "100173",
|
|
131
|
+
"saveToDirectory": "/tmp/bitrix24-task-100173"
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
85
135
|
Example MCP call:
|
|
86
136
|
|
|
87
137
|
```json
|
|
@@ -116,11 +166,14 @@ Local development in Cursor (`~/.cursor/mcp.json`):
|
|
|
116
166
|
- `bitrix24_create_task` supports optional `checklist` parameter to add checklist items during task creation
|
|
117
167
|
- `bitrix24_create_task` supports optional `parentTaskId` for parent/subtask linkage
|
|
118
168
|
- `bitrix24_get_task` - Get task by ID
|
|
169
|
+
- `bitrix24_get_task_comments` - Get task comments via task chat (`im.dialog.messages.get`) or legacy `task.commentitem.getlist`, with attachment download
|
|
170
|
+
- `bitrix24_add_task_comment` - Post comment via chat (`tasks.task.chat.message.send` / `im.disk.file.commit`) or legacy `task.commentitem.add`
|
|
119
171
|
- `bitrix24_list_tasks` - List tasks (by default only tasks of current webhook user)
|
|
120
172
|
- `bitrix24_get_latest_tasks` - Get latest tasks by creation date
|
|
121
173
|
- `bitrix24_get_tasks_from_date_range` - Get tasks created in a date range
|
|
122
174
|
- `bitrix24_update_task` - Update an existing task
|
|
123
175
|
- `bitrix24_update_task` supports `parentTaskId` to change parent linkage
|
|
176
|
+
- `bitrix24_get_task_files` - Download task attachments from Bitrix24 Disk (images returned as MCP image content)
|
|
124
177
|
- `bitrix24_attach_files_to_task` - Upload local files and attach them to a task
|
|
125
178
|
- `bitrix24_create_task` supports optional `filePaths` to attach files during creation
|
|
126
179
|
- `bitrix24_add_task_checklist_item` - Add checklist item to task
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { BitrixCommentAttachment, BitrixTaskComment } from './taskComments.js';
|
|
2
|
+
import { TaskChatRef, TaskCommentsApiMode } from './taskChat.js';
|
|
3
|
+
export type { TaskCommentsApiMode };
|
|
4
|
+
export interface RestRequestOptions {
|
|
5
|
+
useApiV3?: boolean;
|
|
6
|
+
}
|
|
1
7
|
export interface BitrixTask {
|
|
2
8
|
ID?: string;
|
|
3
9
|
TITLE?: string;
|
|
@@ -28,6 +34,71 @@ export interface TaskFileAttachmentResult {
|
|
|
28
34
|
diskObjectId: string;
|
|
29
35
|
attachmentId?: string;
|
|
30
36
|
}
|
|
37
|
+
export interface BitrixDiskFile {
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
size?: number;
|
|
41
|
+
downloadUrl?: string;
|
|
42
|
+
detailUrl?: string;
|
|
43
|
+
mimeType: string;
|
|
44
|
+
isImage: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface TaskAttachedFile {
|
|
47
|
+
attachmentId: string;
|
|
48
|
+
fileId?: string;
|
|
49
|
+
name: string;
|
|
50
|
+
size?: number;
|
|
51
|
+
downloadUrl?: string;
|
|
52
|
+
viewUrl?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface TaskFileDownloadResult {
|
|
55
|
+
diskFileId: string;
|
|
56
|
+
attachmentId?: string;
|
|
57
|
+
fileId?: string;
|
|
58
|
+
fileName: string;
|
|
59
|
+
mimeType: string;
|
|
60
|
+
size?: number;
|
|
61
|
+
isImage: boolean;
|
|
62
|
+
downloadUrl?: string;
|
|
63
|
+
viewUrl?: string;
|
|
64
|
+
savedPath?: string;
|
|
65
|
+
base64?: string;
|
|
66
|
+
error?: string;
|
|
67
|
+
commentId?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface GetTaskFilesOptions {
|
|
70
|
+
diskFileIds?: string[];
|
|
71
|
+
includeContent?: boolean;
|
|
72
|
+
imagesOnly?: boolean;
|
|
73
|
+
saveToDirectory?: string;
|
|
74
|
+
}
|
|
75
|
+
export type TaskCommentsPreferApi = 'auto' | 'chat' | 'legacy';
|
|
76
|
+
export interface GetTaskCommentsOptions {
|
|
77
|
+
preferApi?: TaskCommentsPreferApi;
|
|
78
|
+
order?: Record<string, 'asc' | 'desc' | 'ASC' | 'DESC'>;
|
|
79
|
+
filter?: Record<string, unknown>;
|
|
80
|
+
commentIds?: string[];
|
|
81
|
+
includeAttachments?: boolean;
|
|
82
|
+
includeContent?: boolean;
|
|
83
|
+
imagesOnly?: boolean;
|
|
84
|
+
saveToDirectory?: string;
|
|
85
|
+
attachmentIds?: string[];
|
|
86
|
+
includeSystemMessages?: boolean;
|
|
87
|
+
limit?: number;
|
|
88
|
+
lastId?: number;
|
|
89
|
+
firstId?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface SendTaskCommentOptions {
|
|
92
|
+
preferApi?: TaskCommentsPreferApi;
|
|
93
|
+
text?: string;
|
|
94
|
+
filePaths?: string[];
|
|
95
|
+
diskFolderId?: string;
|
|
96
|
+
authorId?: string;
|
|
97
|
+
}
|
|
98
|
+
export interface TaskCommentWithAttachments extends BitrixTaskComment {
|
|
99
|
+
attachments: BitrixCommentAttachment[];
|
|
100
|
+
downloadedFiles: TaskFileDownloadResult[];
|
|
101
|
+
}
|
|
31
102
|
export interface BitrixProject {
|
|
32
103
|
ID?: string;
|
|
33
104
|
NAME?: string;
|
|
@@ -58,7 +129,11 @@ export declare class Bitrix24Client {
|
|
|
58
129
|
private lastRequestTime;
|
|
59
130
|
private readonly RATE_LIMIT_DELAY;
|
|
60
131
|
constructor(webhookUrl?: string);
|
|
132
|
+
getPortalOrigin(): string;
|
|
133
|
+
private buildMethodUrl;
|
|
134
|
+
private extractApiError;
|
|
61
135
|
private enforceRateLimit;
|
|
136
|
+
callRest(method: string, params?: Record<string, any>, options?: RestRequestOptions): Promise<any>;
|
|
62
137
|
private makeRequest;
|
|
63
138
|
private appendFormValue;
|
|
64
139
|
createTask(task: BitrixTask): Promise<string>;
|
|
@@ -107,6 +182,54 @@ export declare class Bitrix24Client {
|
|
|
107
182
|
attached: TaskFileAttachmentResult[];
|
|
108
183
|
errors: string[];
|
|
109
184
|
}>;
|
|
185
|
+
private normalizeTaskAttachedFile;
|
|
186
|
+
listTaskAttachedFiles(taskId: string): Promise<TaskAttachedFile[]>;
|
|
187
|
+
private matchesRequestedFileId;
|
|
188
|
+
private selectTaskAttachedFiles;
|
|
189
|
+
getDiskFile(diskFileId: string): Promise<BitrixDiskFile>;
|
|
190
|
+
private resolveDownloadUrl;
|
|
191
|
+
downloadDiskFileContent(downloadUrl: string): Promise<Buffer>;
|
|
192
|
+
collectTaskDiskFileIds(task: Record<string, unknown>): string[];
|
|
193
|
+
private downloadTaskAttachedFile;
|
|
194
|
+
getTaskFiles(taskId: string, options?: GetTaskFilesOptions): Promise<{
|
|
195
|
+
taskId: string;
|
|
196
|
+
diskFileIds: string[];
|
|
197
|
+
files: TaskFileDownloadResult[];
|
|
198
|
+
errors: string[];
|
|
199
|
+
}>;
|
|
200
|
+
resolveTaskChat(taskId: string): Promise<TaskChatRef | null>;
|
|
201
|
+
listTaskComments(taskId: string, options?: {
|
|
202
|
+
order?: Record<string, 'asc' | 'desc' | 'ASC' | 'DESC'>;
|
|
203
|
+
filter?: Record<string, unknown>;
|
|
204
|
+
}): Promise<BitrixTaskComment[]>;
|
|
205
|
+
getTaskComment(taskId: string, commentId: string): Promise<BitrixTaskComment | null>;
|
|
206
|
+
private fetchTaskCommentRawItems;
|
|
207
|
+
private downloadChatFileAttachment;
|
|
208
|
+
private getTaskCommentsFromChat;
|
|
209
|
+
private getTaskCommentsLegacy;
|
|
210
|
+
private sendTaskCommentViaChat;
|
|
211
|
+
private sendTaskCommentLegacy;
|
|
212
|
+
sendTaskComment(taskId: string, options: SendTaskCommentOptions): Promise<{
|
|
213
|
+
success: boolean;
|
|
214
|
+
apiMode: TaskCommentsApiMode;
|
|
215
|
+
taskId: string;
|
|
216
|
+
chatId?: string;
|
|
217
|
+
messageId?: string;
|
|
218
|
+
commentId?: string;
|
|
219
|
+
uploadedDiskFileIds: string[];
|
|
220
|
+
errors: string[];
|
|
221
|
+
}>;
|
|
222
|
+
private matchesRequestedAttachmentId;
|
|
223
|
+
private selectCommentAttachments;
|
|
224
|
+
private downloadCommentAttachment;
|
|
225
|
+
getTaskComments(taskId: string, options?: GetTaskCommentsOptions): Promise<{
|
|
226
|
+
taskId: string;
|
|
227
|
+
apiMode: TaskCommentsApiMode;
|
|
228
|
+
chatId?: string;
|
|
229
|
+
dialogId?: string;
|
|
230
|
+
comments: TaskCommentWithAttachments[];
|
|
231
|
+
errors: string[];
|
|
232
|
+
}>;
|
|
110
233
|
createProject(project: BitrixProject): Promise<string>;
|
|
111
234
|
getProject(id: string): Promise<BitrixProject | null>;
|
|
112
235
|
updateProject(id: string, project: Partial<BitrixProject>): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bitrix24/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bitrix24/client.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAOL,WAAW,EACX,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoBD,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;gBAE5B,UAAU,GAAE,MAA6B;IAIrD,eAAe,IAAI,MAAM;IAKzB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,eAAe;YAqBT,gBAAgB;IAWxB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,GAAG,CAAC;YAID,WAAW;IA4DzB,OAAO,CAAC,eAAe;IA2BjB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAKxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE,SAAS,CAAC,MAAM,GAAE;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmD9B,OAAO,CAAC,aAAa;YAoBP,mBAAmB;IAqC3B,cAAc,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IASzD,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBrG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC3C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QACxB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAab,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,GACrC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAU3B,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QACxB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;KAC1B,GACA,OAAO,CAAC,OAAO,CAAC;IAUb,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAetD,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAUtG,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzG,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzD,gBAAgB,CAAC,MAAM,EAAE;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBvB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgC7F,OAAO,CAAC,uBAAuB;IAWzB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiB7G,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgBtE,OAAO,CAAC,yBAAyB;IAqB3B,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAWxE,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,uBAAuB;IAmBzB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkB9D,OAAO,CAAC,kBAAkB;IAapB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBnE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE;YAIjD,wBAAwB;IAqChC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC;QAC7E,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAChC,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IA6EI,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAkC5D,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7B,GACL,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBzB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAc5E,wBAAwB;YAwBxB,0BAA0B;YAkB1B,uBAAuB;YAuGvB,qBAAqB;YAuErB,sBAAsB;YAoEtB,qBAAqB;IA+C7B,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IA6DF,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,wBAAwB;YAmBlB,yBAAyB;IAqBjC,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,mBAAmB,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAgDI,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4BrD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5E,YAAY,CAAC,MAAM,GAAE;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAkC3B,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QACnD,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAwC9D,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAI9B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAI7B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmBhD,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAmBpE,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBnC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;CAkF1C;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|