@openai/agents-openai 0.0.5 → 0.0.7

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.
@@ -3,10 +3,14 @@ import logger from "./logger.mjs";
3
3
  import { z } from '@openai/zod/v3';
4
4
  import { HEADERS } from "./defaults.mjs";
5
5
  import { CodeInterpreterStatus, FileSearchStatus, ImageGenerationStatus, WebSearchStatus, } from "./tools.mjs";
6
+ import { camelOrSnakeToSnakeCase } from "./utils/providerData.mjs";
6
7
  const HostedToolChoice = z.enum([
7
8
  'file_search',
8
9
  'web_search_preview',
9
10
  'computer_use_preview',
11
+ 'code_interpreter',
12
+ 'image_generation',
13
+ 'mcp',
10
14
  ]);
11
15
  const DefaultToolChoice = z.enum(['auto', 'required', 'none']);
12
16
  function getToolChoice(toolChoice) {
@@ -77,8 +81,8 @@ function converTool(tool) {
77
81
  return {
78
82
  tool: {
79
83
  type: 'web_search_preview',
80
- user_location: tool.providerData.userLocation,
81
- search_context_size: tool.providerData.searchContextSize,
84
+ user_location: tool.providerData.user_location,
85
+ search_context_size: tool.providerData.search_context_size,
82
86
  },
83
87
  include: undefined,
84
88
  };
@@ -87,12 +91,16 @@ function converTool(tool) {
87
91
  return {
88
92
  tool: {
89
93
  type: 'file_search',
90
- vector_store_ids: tool.providerData.vectorStoreId,
91
- max_num_results: tool.providerData.maxNumResults,
92
- ranking_options: tool.providerData.rankingOptions,
94
+ vector_store_ids: tool.providerData.vector_store_ids ||
95
+ // for backwards compatibility
96
+ (typeof tool.providerData.vector_store_id === 'string'
97
+ ? [tool.providerData.vector_store_id]
98
+ : tool.providerData.vector_store_id),
99
+ max_num_results: tool.providerData.max_num_results,
100
+ ranking_options: tool.providerData.ranking_options,
93
101
  filters: tool.providerData.filters,
94
102
  },
95
- include: tool.providerData.includeSearchResults
103
+ include: tool.providerData.include_search_results
96
104
  ? ['file_search_call.results']
97
105
  : undefined,
98
106
  };
@@ -111,18 +119,31 @@ function converTool(tool) {
111
119
  tool: {
112
120
  type: 'image_generation',
113
121
  background: tool.providerData.background,
114
- input_image_mask: tool.providerData.inputImageMask,
122
+ input_image_mask: tool.providerData.input_image_mask,
115
123
  model: tool.providerData.model,
116
124
  moderation: tool.providerData.moderation,
117
- output_compression: tool.providerData.outputCompression,
118
- output_format: tool.providerData.outputFormat,
119
- partial_images: tool.providerData.partialImages,
125
+ output_compression: tool.providerData.output_compression,
126
+ output_format: tool.providerData.output_format,
127
+ partial_images: tool.providerData.partial_images,
120
128
  quality: tool.providerData.quality,
121
129
  size: tool.providerData.size,
122
130
  },
123
131
  include: undefined,
124
132
  };
125
133
  }
134
+ else if (tool.providerData?.type === 'mcp') {
135
+ return {
136
+ tool: {
137
+ type: 'mcp',
138
+ server_label: tool.providerData.server_label,
139
+ server_url: tool.providerData.server_url,
140
+ allowed_tools: tool.providerData.allowed_tools,
141
+ headers: tool.providerData.headers,
142
+ require_approval: convertMCPRequireApproval(tool.providerData.require_approval),
143
+ },
144
+ include: undefined,
145
+ };
146
+ }
126
147
  else if (tool.providerData) {
127
148
  return {
128
149
  tool: tool.providerData,
@@ -132,6 +153,18 @@ function converTool(tool) {
132
153
  }
133
154
  throw new Error(`Unsupported tool type: ${JSON.stringify(tool)}`);
134
155
  }
156
+ function convertMCPRequireApproval(requireApproval) {
157
+ if (requireApproval === 'never' || requireApproval === undefined) {
158
+ return 'never';
159
+ }
160
+ if (requireApproval === 'always') {
161
+ return 'always';
162
+ }
163
+ return {
164
+ never: { tool_names: requireApproval.never?.tool_names },
165
+ always: { tool_names: requireApproval.always?.tool_names },
166
+ };
167
+ }
135
168
  function getHandoffTool(handoff) {
136
169
  return {
137
170
  name: handoff.toolName,
@@ -146,7 +179,7 @@ function getInputMessageContent(entry) {
146
179
  return {
147
180
  type: 'input_text',
148
181
  text: entry.text,
149
- ...entry.providerData,
182
+ ...camelOrSnakeToSnakeCase(entry.providerData),
150
183
  };
151
184
  }
152
185
  else if (entry.type === 'input_image') {
@@ -162,7 +195,7 @@ function getInputMessageContent(entry) {
162
195
  }
163
196
  return {
164
197
  ...imageEntry,
165
- ...entry.providerData,
198
+ ...camelOrSnakeToSnakeCase(entry.providerData),
166
199
  };
167
200
  }
168
201
  else if (entry.type === 'input_file') {
@@ -177,7 +210,7 @@ function getInputMessageContent(entry) {
177
210
  }
178
211
  return {
179
212
  ...fileEntry,
180
- ...entry.providerData,
213
+ ...camelOrSnakeToSnakeCase(entry.providerData),
181
214
  };
182
215
  }
183
216
  throw new UserError(`Unsupported input content type: ${JSON.stringify(entry)}`);
@@ -188,14 +221,14 @@ function getOutputMessageContent(entry) {
188
221
  type: 'output_text',
189
222
  text: entry.text,
190
223
  annotations: [],
191
- ...entry.providerData,
224
+ ...camelOrSnakeToSnakeCase(entry.providerData),
192
225
  };
193
226
  }
194
227
  if (entry.type === 'refusal') {
195
228
  return {
196
229
  type: 'refusal',
197
230
  refusal: entry.refusal,
198
- ...entry.providerData,
231
+ ...camelOrSnakeToSnakeCase(entry.providerData),
199
232
  };
200
233
  }
201
234
  throw new UserError(`Unsupported output content type: ${JSON.stringify(entry)}`);
@@ -206,7 +239,7 @@ function getMessageItem(item) {
206
239
  id: item.id,
207
240
  role: 'system',
208
241
  content: item.content,
209
- ...item.providerData,
242
+ ...camelOrSnakeToSnakeCase(item.providerData),
210
243
  };
211
244
  }
212
245
  if (item.role === 'user') {
@@ -215,14 +248,14 @@ function getMessageItem(item) {
215
248
  id: item.id,
216
249
  role: 'user',
217
250
  content: item.content,
218
- ...item.providerData,
251
+ ...camelOrSnakeToSnakeCase(item.providerData),
219
252
  };
220
253
  }
221
254
  return {
222
255
  id: item.id,
223
256
  role: 'user',
224
257
  content: item.content.map(getInputMessageContent),
225
- ...item.providerData,
258
+ ...camelOrSnakeToSnakeCase(item.providerData),
226
259
  };
227
260
  }
228
261
  if (item.role === 'assistant') {
@@ -232,7 +265,7 @@ function getMessageItem(item) {
232
265
  role: 'assistant',
233
266
  content: item.content.map(getOutputMessageContent),
234
267
  status: item.status,
235
- ...item.providerData,
268
+ ...camelOrSnakeToSnakeCase(item.providerData),
236
269
  };
237
270
  return assistantMessage;
238
271
  }
@@ -268,7 +301,7 @@ function getInputItems(input) {
268
301
  call_id: item.callId,
269
302
  arguments: item.arguments,
270
303
  status: item.status,
271
- ...item.providerData,
304
+ ...camelOrSnakeToSnakeCase(item.providerData),
272
305
  };
273
306
  return entry;
274
307
  }
@@ -281,7 +314,8 @@ function getInputItems(input) {
281
314
  id: item.id,
282
315
  call_id: item.callId,
283
316
  output: item.output.text,
284
- ...item.providerData,
317
+ status: item.status,
318
+ ...camelOrSnakeToSnakeCase(item.providerData),
285
319
  };
286
320
  return entry;
287
321
  }
@@ -292,9 +326,10 @@ function getInputItems(input) {
292
326
  summary: item.content.map((content) => ({
293
327
  type: 'summary_text',
294
328
  text: content.text,
295
- ...content.providerData,
329
+ ...camelOrSnakeToSnakeCase(content.providerData),
296
330
  })),
297
- ...item.providerData,
331
+ encrypted_content: item.providerData?.encryptedContent,
332
+ ...camelOrSnakeToSnakeCase(item.providerData),
298
333
  };
299
334
  return entry;
300
335
  }
@@ -306,7 +341,7 @@ function getInputItems(input) {
306
341
  action: item.action,
307
342
  status: item.status,
308
343
  pending_safety_checks: [],
309
- ...item.providerData,
344
+ ...camelOrSnakeToSnakeCase(item.providerData),
310
345
  };
311
346
  return entry;
312
347
  }
@@ -316,7 +351,9 @@ function getInputItems(input) {
316
351
  id: item.id,
317
352
  call_id: item.callId,
318
353
  output: buildResponseOutput(item),
319
- ...item.providerData,
354
+ status: item.providerData?.status,
355
+ acknowledged_safety_checks: item.providerData?.acknowledgedSafetyChecks,
356
+ ...camelOrSnakeToSnakeCase(item.providerData),
320
357
  };
321
358
  return entry;
322
359
  }
@@ -326,7 +363,7 @@ function getInputItems(input) {
326
363
  type: 'web_search_call',
327
364
  id: item.id,
328
365
  status: WebSearchStatus.parse(item.status ?? 'failed'),
329
- ...item.providerData,
366
+ ...camelOrSnakeToSnakeCase(item.providerData),
330
367
  };
331
368
  return entry;
332
369
  }
@@ -336,7 +373,8 @@ function getInputItems(input) {
336
373
  id: item.id,
337
374
  status: FileSearchStatus.parse(item.status ?? 'failed'),
338
375
  queries: item.providerData?.queries ?? [],
339
- ...item.providerData,
376
+ results: item.providerData?.results,
377
+ ...camelOrSnakeToSnakeCase(item.providerData),
340
378
  };
341
379
  return entry;
342
380
  }
@@ -347,7 +385,8 @@ function getInputItems(input) {
347
385
  code: item.providerData?.code ?? '',
348
386
  results: item.providerData?.results ?? [],
349
387
  status: CodeInterpreterStatus.parse(item.status ?? 'failed'),
350
- ...item.providerData,
388
+ container_id: item.providerData?.containerId,
389
+ ...camelOrSnakeToSnakeCase(item.providerData),
351
390
  };
352
391
  return entry;
353
392
  }
@@ -357,7 +396,62 @@ function getInputItems(input) {
357
396
  id: item.id,
358
397
  result: item.providerData?.result ?? null,
359
398
  status: ImageGenerationStatus.parse(item.status ?? 'failed'),
360
- ...item.providerData,
399
+ ...camelOrSnakeToSnakeCase(item.providerData),
400
+ };
401
+ return entry;
402
+ }
403
+ if (item.providerData?.type === 'mcp_list_tools' ||
404
+ item.name === 'mcp_list_tools') {
405
+ const providerData = item.providerData;
406
+ const entry = {
407
+ type: 'mcp_list_tools',
408
+ id: item.id,
409
+ tools: camelOrSnakeToSnakeCase(providerData.tools),
410
+ server_label: providerData.server_label,
411
+ error: providerData.error,
412
+ ...camelOrSnakeToSnakeCase(item.providerData),
413
+ };
414
+ return entry;
415
+ }
416
+ else if (item.providerData?.type === 'mcp_approval_request' ||
417
+ item.name === 'mcp_approval_request') {
418
+ const providerData = item.providerData;
419
+ const entry = {
420
+ type: 'mcp_approval_request',
421
+ id: providerData.id ?? item.id,
422
+ name: providerData.name,
423
+ arguments: providerData.arguments,
424
+ server_label: providerData.server_label,
425
+ ...camelOrSnakeToSnakeCase(item.providerData),
426
+ };
427
+ return entry;
428
+ }
429
+ else if (item.providerData?.type === 'mcp_approval_response' ||
430
+ item.name === 'mcp_approval_response') {
431
+ const providerData = item.providerData;
432
+ const entry = {
433
+ type: 'mcp_approval_response',
434
+ id: providerData.id,
435
+ approve: providerData.approve,
436
+ approval_request_id: providerData.approval_request_id,
437
+ reason: providerData.reason,
438
+ ...camelOrSnakeToSnakeCase(providerData),
439
+ };
440
+ return entry;
441
+ }
442
+ else if (item.providerData?.type === 'mcp_call' ||
443
+ item.name === 'mcp_call') {
444
+ const providerData = item.providerData;
445
+ const entry = {
446
+ type: 'mcp_call',
447
+ id: providerData.id ?? item.id,
448
+ name: providerData.name,
449
+ arguments: providerData.arguments,
450
+ server_label: providerData.server_label,
451
+ error: providerData.error,
452
+ // output, which can be a large text string, is optional here, so we don't include it
453
+ // output: item.output,
454
+ ...camelOrSnakeToSnakeCase(providerData),
361
455
  };
362
456
  return entry;
363
457
  }
@@ -366,7 +460,7 @@ function getInputItems(input) {
366
460
  if (item.type === 'unknown') {
367
461
  return {
368
462
  id: item.id,
369
- ...item.providerData,
463
+ ...camelOrSnakeToSnakeCase(item.providerData),
370
464
  };
371
465
  }
372
466
  const exhaustive = item;
@@ -385,7 +479,7 @@ function convertToMessageContentItem(item) {
385
479
  const { type, text, ...remainingItem } = item;
386
480
  return {
387
481
  type,
388
- text: text,
482
+ text,
389
483
  ...remainingItem,
390
484
  };
391
485
  }
@@ -393,7 +487,7 @@ function convertToMessageContentItem(item) {
393
487
  const { type, refusal, ...remainingItem } = item;
394
488
  return {
395
489
  type,
396
- refusal: refusal,
490
+ refusal,
397
491
  ...remainingItem,
398
492
  };
399
493
  }
@@ -402,73 +496,115 @@ function convertToMessageContentItem(item) {
402
496
  function convertToOutputItem(items) {
403
497
  return items.map((item) => {
404
498
  if (item.type === 'message') {
405
- const { id, type, role, content, status, ...remainingItem } = item;
499
+ const { id, type, role, content, status, ...providerData } = item;
406
500
  return {
407
- type,
408
501
  id,
502
+ type,
409
503
  role,
410
504
  content: content.map(convertToMessageContentItem),
411
505
  status,
412
- providerData: remainingItem,
506
+ providerData,
413
507
  };
414
508
  }
415
509
  else if (item.type === 'file_search_call' ||
416
510
  item.type === 'web_search_call' ||
417
511
  item.type === 'image_generation_call' ||
418
512
  item.type === 'code_interpreter_call') {
419
- const { id, type, status, ...remainingItem } = item;
420
- const outputData = 'result' in remainingItem && remainingItem.result !== null
421
- ? remainingItem.result // type: "image_generation_call"
422
- : undefined;
513
+ const { status, ...remainingItem } = item;
514
+ let outputData = undefined;
515
+ if ('result' in remainingItem && remainingItem.result !== null) {
516
+ // type: "image_generation_call"
517
+ outputData = remainingItem.result;
518
+ delete remainingItem.result;
519
+ }
423
520
  const output = {
424
521
  type: 'hosted_tool_call',
425
- id,
426
- name: type,
427
- status: status,
522
+ id: item.id,
523
+ name: item.type,
524
+ status,
428
525
  output: outputData,
429
526
  providerData: remainingItem,
430
527
  };
431
528
  return output;
432
529
  }
433
530
  else if (item.type === 'function_call') {
434
- const { id, call_id, name, status, arguments: args, ...remainingItem } = item;
531
+ const { call_id, name, status, arguments: args, ...providerData } = item;
435
532
  const output = {
436
533
  type: 'function_call',
437
- id: id,
534
+ id: item.id,
438
535
  callId: call_id,
439
- name: name,
440
- status: status,
536
+ name,
537
+ status,
441
538
  arguments: args,
442
- providerData: remainingItem,
539
+ providerData,
443
540
  };
444
541
  return output;
445
542
  }
446
543
  else if (item.type === 'computer_call') {
447
- const { id, call_id, status, action, ...remainingItem } = item;
544
+ const { call_id, status, action, ...providerData } = item;
448
545
  const output = {
449
546
  type: 'computer_call',
450
- id: id,
547
+ id: item.id,
451
548
  callId: call_id,
452
- status: status,
453
- action: action,
454
- providerData: remainingItem,
549
+ status,
550
+ action,
551
+ providerData,
552
+ };
553
+ return output;
554
+ }
555
+ else if (item.type === 'mcp_list_tools') {
556
+ const { ...providerData } = item;
557
+ const output = {
558
+ type: 'hosted_tool_call',
559
+ id: item.id,
560
+ name: item.type,
561
+ status: 'completed',
562
+ output: undefined,
563
+ providerData,
564
+ };
565
+ return output;
566
+ }
567
+ else if (item.type === 'mcp_approval_request') {
568
+ const { ...providerData } = item;
569
+ const output = {
570
+ type: 'hosted_tool_call',
571
+ id: item.id,
572
+ name: 'mcp_approval_request',
573
+ status: 'completed',
574
+ output: undefined,
575
+ providerData,
576
+ };
577
+ return output;
578
+ }
579
+ else if (item.type === 'mcp_call') {
580
+ // Avoiding to duplicate potentially large output data
581
+ const { output: outputData, ...providerData } = item;
582
+ const output = {
583
+ type: 'hosted_tool_call',
584
+ id: item.id,
585
+ name: item.type,
586
+ status: 'completed',
587
+ output: outputData || undefined,
588
+ providerData,
455
589
  };
456
590
  return output;
457
591
  }
458
592
  else if (item.type === 'reasoning') {
459
- const { id, summary, ...remainingItem } = item;
593
+ // Avoiding to duplicate potentially large summary data
594
+ const { summary, ...providerData } = item;
460
595
  const output = {
461
596
  type: 'reasoning',
462
- id: id,
597
+ id: item.id,
463
598
  content: summary.map((content) => {
599
+ // Avoiding to duplicate potentially large text
464
600
  const { text, ...remainingContent } = content;
465
601
  return {
466
602
  type: 'input_text',
467
- text: text,
603
+ text,
468
604
  providerData: remainingContent,
469
605
  };
470
606
  }),
471
- providerData: remainingItem,
607
+ providerData,
472
608
  };
473
609
  return output;
474
610
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openaiResponsesModel.mjs","sourceRoot":"","sources":["../src/openaiResponsesModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiResponsesModel.mjs","sourceRoot":"","sources":["../src/openaiResponsesModel.ts"],"names":[],"mappings":"OAAO,EAEL,KAAK,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAEhB,SAAS,GACV,MAAM,qBAAqB;OAYrB,MAAM;OAMN,EAAE,CAAC,EAAE,MAAM,gBAAgB;OAC3B,EAAE,OAAO,EAAE;OACX,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GAChB;OACM,EAAE,uBAAuB,EAAE;AAKlC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,aAAa;IACb,oBAAoB;IACpB,sBAAsB;IACtB,kBAAkB;IAClB,kBAAkB;IAClB,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D,SAAS,aAAa,CACpB,UAAoC;IAEpC,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACnE,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAgC;IAEhC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,KAAuB,EACvB,QAA6B;IAK7B,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACvE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAoB;IAKpB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;YACD,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACnC;YACD,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;oBAC1B,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;oBAC9C,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB;iBAC3D;gBACD,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YACrD,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,aAAa;oBACnB,gBAAgB,EACd,IAAI,CAAC,YAAY,CAAC,gBAAgB;wBAClC,8BAA8B;wBAC9B,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,KAAK,QAAQ;4BACpD,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;4BACrC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;oBACxC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe;oBAClD,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe;oBAClD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;iBACnC;gBACD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB;oBAC/C,CAAC,CAAC,CAAC,0BAA0B,CAAC;oBAC9B,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;iBACvC;gBACD,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;oBACxC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;oBACpD,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;oBAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;oBACxC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB;oBACxD,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;oBAC9C,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc;oBAChD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;oBAClC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;iBAC7B;gBACD,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;oBAC5C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;oBACxC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;oBAC9C,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;oBAClC,gBAAgB,EAAE,yBAAyB,CACzC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACnC;iBACF;gBACD,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,YAAgD;gBAC3D,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,yBAAyB,CAChC,eAA+D;IAE/D,IAAI,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE;QACxD,MAAM,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAA0B;IAChD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,WAAW,EAAE,OAAO,CAAC,eAAe;QACpC,UAAU,EAAE,OAAO,CAAC,eAAe;QACnC,MAAM,EAAE,OAAO,CAAC,gBAAgB;QAChC,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA2B;IAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,UAAU,GAAwC;YACtD,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,OAAO;YACL,GAAG,UAAU;YACb,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACvC,MAAM,SAAS,GAAuC;YACpD,IAAI,EAAE,YAAY;SACnB,CAAC;QACF,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,OAAO;YACL,GAAG,SAAS;YACZ,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,SAAS,CACjB,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAgC;IAEhC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,EAAE;YACf,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,SAAS,CACjB,oCAAoC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAA0B;IAK1B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACjD,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAA2C;YAC/D,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI,CAAC,EAAG;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;SAC9C,CAAC;QACF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,KAA4B;IAE5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK;aACf;SACF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAClC,MAAM,KAAK,GAA8C;gBACvD,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,SAAS,CACjB,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC/D,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAA0D;gBACnE,IAAI,EAAE,sBAAsB;gBAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,KAAK,GAA2C;gBACpD,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;iBACjD,CAAC,CAAC;gBACH,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB;gBACtD,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAClC,MAAM,KAAK,GAA8C;gBACvD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,qBAAqB,EAAE,EAAE;gBACzB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACzC,MAAM,KAAK,GAA0D;gBACnE,IAAI,EAAE,sBAAsB;gBAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC;gBACjC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM;gBACjC,0BAA0B,EAAE,IAAI,CAAC,YAAY,EAAE,wBAAwB;gBACvE,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aAC9C,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAA+C;oBACxD,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;oBACtD,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBAEF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAgD;oBACzD,IAAI,EAAE,kBAAkB;oBACxB,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;oBACvD,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE;oBACzC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO;oBACnC,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBAEF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAqD;oBAC9D,IAAI,EAAE,uBAAuB;oBAC7B,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;oBACnC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE;oBACzC,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;oBAC5D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW;oBAC5C,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBAEF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACnD,MAAM,KAAK,GAA2D;oBACpE,IAAI,EAAE,uBAAuB;oBAC7B,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,IAAI;oBACzC,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;oBAC5D,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBAEF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IACE,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,gBAAgB;gBAC5C,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAC9B,CAAC;gBACD,MAAM,YAAY,GAChB,IAAI,CAAC,YAA+C,CAAC;gBACvD,MAAM,KAAK,GAAoD;oBAC7D,IAAI,EAAE,gBAAgB;oBACtB,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,KAAK,EAAE,uBAAuB,CAAC,YAAY,CAAC,KAAK,CAAQ;oBACzD,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IACL,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,sBAAsB;gBAClD,IAAI,CAAC,IAAI,KAAK,sBAAsB,EACpC,CAAC;gBACD,MAAM,YAAY,GAChB,IAAI,CAAC,YAAqD,CAAC;gBAC7D,MAAM,KAAK,GAA0D;oBACnE,IAAI,EAAE,sBAAsB;oBAC5B,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,EAAG;oBAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC9C,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IACL,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,uBAAuB;gBACnD,IAAI,CAAC,IAAI,KAAK,uBAAuB,EACrC,CAAC;gBACD,MAAM,YAAY,GAChB,IAAI,CAAC,YAAsD,CAAC;gBAC9D,MAAM,KAAK,GAA2D;oBACpE,IAAI,EAAE,uBAAuB;oBAC7B,EAAE,EAAE,YAAY,CAAC,EAAE;oBACnB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;oBACrD,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,GAAG,uBAAuB,CAAC,YAAY,CAAC;iBACzC,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,IACL,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,UAAU;gBACtC,IAAI,CAAC,IAAI,KAAK,UAAU,EACxB,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAA0C,CAAC;gBACrE,MAAM,KAAK,GAA+C;oBACxD,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,EAAG;oBAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,qFAAqF;oBACrF,uBAAuB;oBACvB,GAAG,uBAAuB,CAAC,YAAY,CAAC;iBACzC,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,IAAI,SAAS,CACjB,wCAAwC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;aACb,CAAC;QACrC,CAAC;QAED,MAAM,UAAU,GAAG,IAAoB,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uDAAuD;AACvD,SAAS,mBAAmB,CAC1B,IAAqC;IAErC,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,IAA+D;IAE/D,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;QACjD,OAAO;YACL,IAAI;YACJ,OAAO;YACP,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA4C;IAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YAClE,OAAO;gBACL,EAAE;gBACF,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;gBACjD,MAAM;gBACN,YAAY;aACb,CAAC;QACJ,CAAC;aAAM,IACL,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAChC,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAC/B,IAAI,CAAC,IAAI,KAAK,uBAAuB;YACrC,IAAI,CAAC,IAAI,KAAK,uBAAuB,EACrC,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;YAC1C,IAAI,UAAU,GAAG,SAAS,CAAC;YAC3B,IAAI,QAAQ,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC/D,gCAAgC;gBAChC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;gBAClC,OAAQ,aAAqB,CAAC,MAAM,CAAC;YACvC,CAAC;YACD,MAAM,MAAM,GAAgC;gBAC1C,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM;gBACN,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,aAAa;aAC5B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YACzE,MAAM,MAAM,GAA8B;gBACxC,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,MAAM,EAAE,OAAO;gBACf,IAAI;gBACJ,MAAM;gBACN,SAAS,EAAE,IAAI;gBACf,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YAC1D,MAAM,MAAM,GAAiC;gBAC3C,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,MAAM,EAAE,OAAO;gBACf,MAAM;gBACN,MAAM;gBACN,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YACjC,MAAM,MAAM,GAAgC;gBAC1C,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,SAAS;gBACjB,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAChD,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YACjC,MAAM,MAAM,GAAgC;gBAC1C,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,SAAS;gBACjB,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,sDAAsD;YACtD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YACrD,MAAM,MAAM,GAAgC;gBAC1C,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,UAAU,IAAI,SAAS;gBAC/B,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,uDAAuD;YACvD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;YAC1C,MAAM,MAAM,GAA2B;gBACrC,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,IAAI,CAAC,EAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC/B,+CAA+C;oBAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC;oBAC9C,OAAO;wBACL,IAAI,EAAE,YAAY;wBAClB,IAAI;wBACJ,YAAY,EAAE,gBAAgB;qBAC/B,CAAC;gBACJ,CAAC,CAAC;gBACF,YAAY;aACb,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,YAAY,MAAc,EAAE,KAAa;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAaD,KAAK,CAAC,cAAc,CAClB,OAAqB,EACrB,MAAe;QAIf,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,iBAAiB,GAAwB,SAAS,CAAC;QACvD,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,aAAa,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YAED,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAC9D,CAAC;QAED,MAAM,WAAW,GAAG;YAClB,YAAY,EAAE,OAAO,CAAC,kBAAkB;YACxC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK;YACL,OAAO;YACP,KAAK;YACL,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;YAChD,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW;YAC9C,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;YACjC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;YAC5C,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;YAClD,WAAW,EAAE,UAA+B;YAC5C,mBAAmB,EAAE,iBAAiB;YACtC,MAAM;YACN,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK;YAClC,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY;SACtC,CAAC;QAEF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE;YAChE,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB;YAC5B,KAAK,EAAE,IAAI,KAAK,CAAC;gBACf,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC9C,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;gBAChD,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC9C,kBAAkB,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE;gBAC/D,mBAAmB,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE;aAClE,CAAC;YACF,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,UAAU,EAAE,QAAQ,CAAC,EAAE;SACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,mBAAmB,CACxB,OAAqB;QAErB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE1D,IAAI,aAAoD,CAAC;YACzD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACtC,MAAM;wBACJ,IAAI,EAAE,kBAAkB;wBACxB,YAAY,EAAE;4BACZ,GAAG,KAAK;yBACT;qBACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAC/C,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAC;oBAC9C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,QAAQ,CAAC;oBAC7D,MAAM;wBACJ,IAAI,EAAE,eAAe;wBACrB,QAAQ,EAAE;4BACR,EAAE,EAAE,EAAE;4BACN,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;4BACnC,KAAK,EAAE;gCACL,WAAW,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;gCACrC,YAAY,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;gCACvC,WAAW,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;gCACrC,kBAAkB,EAAE;oCAClB,GAAG,KAAK,EAAE,oBAAoB;iCAC/B;gCACD,mBAAmB,EAAE;oCACnB,GAAG,KAAK,EAAE,qBAAqB;iCAChC;6BACF;4BACD,YAAY,EAAE,iBAAiB;yBAChC;wBACD,YAAY,EAAE,cAAc;qBAC7B,CAAC;oBACF,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK;qBACb,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;oBACvD,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAC;oBAC3C,MAAM;wBACJ,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,KAAK;wBACZ,YAAY,EAAE,cAAc;qBAC7B,CAAC;gBACJ,CAAC;gBAED,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK;iBACb,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,IAAI,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE,0BAA0B;oBACnC,IAAI,EAAE;wBACJ,KAAK,EAAE,OAAO,CAAC,OAAO;4BACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BACf,CAAC,CAAC,KAAK,YAAY,KAAK;gCACtB,CAAC,CAAC,KAAK,CAAC,IAAI;gCACZ,CAAC,CAAC,SAAS;qBAChB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}