@ibgib/web-gib 0.0.5 → 0.0.6
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/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts +2 -2
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts.map +1 -1
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs +160 -87
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs.map +1 -1
- package/dist/witness/agent/gemini/gemini-helpers.d.mts +10 -3
- package/dist/witness/agent/gemini/gemini-helpers.d.mts.map +1 -1
- package/dist/witness/agent/gemini/gemini-helpers.mjs +7 -3
- package/dist/witness/agent/gemini/gemini-helpers.mjs.map +1 -1
- package/dist/witness/agent/gemini/gemini-types.d.mts +20 -12
- package/dist/witness/agent/gemini/gemini-types.d.mts.map +1 -1
- package/dist/witness/agent/gemini/gemini-types.mjs.map +1 -1
- package/package.json +2 -2
- package/src/witness/agent/gemini/agent-witness-gemini-v1.mts +188 -94
- package/src/witness/agent/gemini/gemini-helpers.mts +15 -5
- package/src/witness/agent/gemini/gemini-types.mts +38 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GoogleGenAI } from '@google/genai';
|
|
2
2
|
import { Ib } from '@ibgib/ts-gib/dist/types.mjs';
|
|
3
3
|
import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
|
|
4
4
|
import { CommentIbGib_V1 } from '@ibgib/core-gib/dist/common/comment/comment-types.mjs';
|
|
@@ -6,7 +6,7 @@ import { AddTextsOpts, AgentWitnessData_V1, AgentWitnessRel8ns_V1, PromptOneOffO
|
|
|
6
6
|
import { PromptAPIResult_Gemini, PromptInfoEntryGemini, PromptInfoGemini } from './gemini-types.mjs';
|
|
7
7
|
import { FunctionInfoIbGib_V1 } from '../function-info/function-info-one-file.mjs';
|
|
8
8
|
import { AgentWitness_V1 } from '../agent-one-file.mjs';
|
|
9
|
-
export declare class AgentWitnessGemini_V1 extends AgentWitness_V1<
|
|
9
|
+
export declare class AgentWitnessGemini_V1 extends AgentWitness_V1<GoogleGenAI, PromptInfoGemini, PromptAPIResult_Gemini> {
|
|
10
10
|
protected lc: string;
|
|
11
11
|
protected validateThis(): Promise<string[]>;
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-witness-gemini-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-witness-gemini-v1.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAQA,OAAO,EACqC,WAAW,EAEtD,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,EAAE,EAA8B,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAgC,MAAM,iCAAiC,CAAC;AAIzF,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAOxF,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAwB,qBAAqB,EAC9E,gBAAgB,EACnB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAA4B,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAK7G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,qBAAa,qBACT,SAAQ,eAAe,CAAC,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;IAK9E,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;cAEhC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA2B1D;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,EAAE,CAAC;KAAE,GAAG,YAAY;IAanE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuJxD,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA+EpC,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;cA+N7E,wCAAwC,CAAC,EACrD,YAAY,GACf,EAAE;QACC,YAAY,EAAE,eAAe,CAAC;KACjC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAgGrB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA4IhF;;;;;;;;;;OAUG;IACG,qBAAqB,CAAC,EACxB,eAAe,EAClB,EAAE;QACC;;;WAGG;QACH,eAAe,EAAE,eAAe,CAAA;KACnC,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmDnC;;;OAGG;IACY,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6FxG;AAyBD,wBAAgB,mCAAmC,CAAC,EAChD,qBAAqB,EACxB,EAAE;IACC,qBAAqB,EAAE,MAAM,CAAC;CACjC,GAAG,MAAM,CAiBT"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GoogleGenAI, FunctionCallingConfigMode, } from '@google/genai';
|
|
2
2
|
import { clone, delay, extractErrorMsg, getTimestampInTicks, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
3
3
|
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
4
4
|
import { ROOT_ADDR } from '@ibgib/ts-gib/dist/V1/constants.mjs';
|
|
5
5
|
import { getGibInfo } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
|
|
6
6
|
import { createCommentIbGib, parseCommentIb } from '@ibgib/core-gib/dist/common/comment/comment-helper.mjs';
|
|
7
|
+
import { execInSpaceWithLocking } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
|
|
8
|
+
import { appendToTimeline } from '@ibgib/core-gib/dist/timeline/timeline-api.mjs';
|
|
7
9
|
import { GLOBAL_LOG_A_LOT } from '../../../constants.mjs';
|
|
8
10
|
import { getAllFunctionInfos, getDeprecatedFunctionInfoNames } from '../../../api/api-index.mjs';
|
|
9
11
|
import { getAddlMetadataTextForAgentText, parseAddlMetadataTextForAgentText, validateAgentWitnessCommentIbGib } from '../agent-helpers.mjs';
|
|
@@ -11,14 +13,12 @@ import { getFunctionCallAndResponseParts, isFunctionCallRequestComment, isPrompt
|
|
|
11
13
|
import { FUNCTION_INFO_REL8N_NAME } from '../function-info/function-info-one-file.mjs';
|
|
12
14
|
import { agentIbGibDtoToWitness } from './gemini-agent-factory.mjs';
|
|
13
15
|
import { getAgentsSvc } from '../agents-service-v1.mjs';
|
|
14
|
-
import { GEMINI_BACKUP_MODEL_STR,
|
|
16
|
+
import { GEMINI_BACKUP_MODEL_STR, GEMINI_ERROR_STATUS_MODEL_OVERLOADED, GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED, GEMINI_MAX_TRY_COUNT } from './gemini-constants.mjs';
|
|
15
17
|
import { AGENT_REL8N_NAME, TextSource } from '../agent-constants.mjs';
|
|
16
|
-
// import { appendToTimeline, getLockScope, mut8Timeline, Rel8nInfo } from '../../../api/timeline/timeline-api.mjs';
|
|
17
|
-
import { execInSpaceWithLocking } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
|
|
18
|
-
import { appendToTimeline } from '@ibgib/core-gib/dist/timeline/timeline-api.mjs';
|
|
19
18
|
import { AgentWitness_V1 } from '../agent-one-file.mjs';
|
|
20
19
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
21
20
|
export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
21
|
+
// extends AgentWitness_V1<GoogleGenerativeAI, PromptInfoGemini, PromptAPIResult_Gemini> {
|
|
22
22
|
// witness(arg: IbGib_V1): Promise<IbGib_V1 | undefined> {
|
|
23
23
|
// throw new Error('Method not implemented.');
|
|
24
24
|
// }
|
|
@@ -252,7 +252,8 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
252
252
|
text: getTextPartForCurrentContextTjpAddr({
|
|
253
253
|
currentContextTjpAddr
|
|
254
254
|
})
|
|
255
|
-
}
|
|
255
|
+
} // see genai migration note at top of this file
|
|
256
|
+
// } satisfies TextPart
|
|
256
257
|
],
|
|
257
258
|
}
|
|
258
259
|
});
|
|
@@ -335,7 +336,8 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
335
336
|
text: 'no api key entered so no LLM chat happening. enter a gemini api key and donate/invest!',
|
|
336
337
|
}; /* <<<< returns early */
|
|
337
338
|
}
|
|
338
|
-
this._genAI ??= new
|
|
339
|
+
this._genAI ??= new GoogleGenAI({ apiKey });
|
|
340
|
+
// this._genAI ??= new GoogleGenerativeAI(apiKey);
|
|
339
341
|
const functionDeclarations = Array.from(this.availableFunctions.values()).map((x) => ({
|
|
340
342
|
name: x.nameOrId,
|
|
341
343
|
description: x.schema?.description,
|
|
@@ -375,6 +377,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
375
377
|
// this.transientDecompressionPromptText = undefined;
|
|
376
378
|
// }
|
|
377
379
|
let result = undefined;
|
|
380
|
+
// let result: GenerateContentResult | undefined = undefined;
|
|
378
381
|
/**
|
|
379
382
|
* need to be able to call this function with retries with different
|
|
380
383
|
* models, depending on error code received when generating text.
|
|
@@ -388,32 +391,65 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
388
391
|
* @param modelStr to use
|
|
389
392
|
* @param isRetry if true, this indicates this is aleady a retry and should throw if fails
|
|
390
393
|
*/
|
|
394
|
+
// const fnGoModel = async (modelStr: string) => {
|
|
395
|
+
// if (!this._genAI) { throw new Error(`(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)`); }
|
|
396
|
+
// const genModel = this._genAI.getGenerativeModel({
|
|
397
|
+
// model: modelStr,
|
|
398
|
+
// systemInstruction: systemPromptEntriesToSystemInstructionContent({ systemPromptEntries }),
|
|
399
|
+
// tools: [{ functionDeclarations }],
|
|
400
|
+
// toolConfig: {
|
|
401
|
+
// functionCallingConfig: {
|
|
402
|
+
// // mode: FunctionCallingMode.AUTO, // can be either text or function call, this is the default
|
|
403
|
+
// mode:
|
|
404
|
+
// info.overrideFunctionCallingMode ??
|
|
405
|
+
// FunctionCallingMode.ANY, // MANDATES a function call. If this is not used, the model gets confused, but maybe this will be fixed after we get better function response feedback in place.
|
|
406
|
+
// },
|
|
407
|
+
// },
|
|
408
|
+
// });
|
|
409
|
+
// /**
|
|
410
|
+
// * We start a "chat", _BUT ONLY TO USE THE HISTORY MECHANISM_.
|
|
411
|
+
// * Really we use this as a one-off, but we do not know how to mimic
|
|
412
|
+
// * the "history" so that the model understands to only respond to
|
|
413
|
+
// * the most recent prompt.
|
|
414
|
+
// */
|
|
415
|
+
// const chat = genModel.startChat({
|
|
416
|
+
// history: chatPromptHistoryParts.map(x => x.content),
|
|
417
|
+
// });
|
|
418
|
+
// result = await chat.sendMessage(chatPromptCurrent.content.parts);
|
|
419
|
+
// return result;
|
|
420
|
+
// }
|
|
421
|
+
// interface ChatConfigParams {
|
|
422
|
+
// model: string;
|
|
423
|
+
// history: Content[];
|
|
424
|
+
// config: GenerateContentConfig;
|
|
425
|
+
// }
|
|
391
426
|
const fnGoModel = async (modelStr) => {
|
|
392
427
|
if (!this._genAI) {
|
|
393
428
|
throw new Error(`(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)`);
|
|
394
429
|
}
|
|
395
|
-
const
|
|
430
|
+
const historyContents = chatPromptHistoryParts.map(x => x.content);
|
|
431
|
+
const chatConfig = {
|
|
396
432
|
model: modelStr,
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
433
|
+
history: historyContents,
|
|
434
|
+
config: {
|
|
435
|
+
systemInstruction: systemPromptEntriesToSystemInstructionContent({ systemPromptEntries }),
|
|
436
|
+
tools: [{ functionDeclarations }],
|
|
437
|
+
toolConfig: {
|
|
438
|
+
functionCallingConfig: {
|
|
439
|
+
mode: info.overrideFunctionCallingMode ?? FunctionCallingConfigMode.ANY,
|
|
440
|
+
},
|
|
404
441
|
},
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
result = await chat.sendMessage(chatPromptCurrent.content.parts);
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
const chat = this._genAI.chats.create(chatConfig);
|
|
445
|
+
// The 'sendMessage' method requires a `message` property in its parameters object.
|
|
446
|
+
// The message content itself can be a string or Part[] (PartListUnion).
|
|
447
|
+
// Prepare the message parameters:
|
|
448
|
+
const messageParams = {
|
|
449
|
+
message: chatPromptCurrent.content.parts, // Cast to Part[] to satisfy the type
|
|
450
|
+
};
|
|
451
|
+
// The result is typed as GenerateContentResponse
|
|
452
|
+
const result = await chat.sendMessage(messageParams);
|
|
417
453
|
return result;
|
|
418
454
|
};
|
|
419
455
|
let tryCount = 0;
|
|
@@ -425,7 +461,10 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
425
461
|
break;
|
|
426
462
|
}
|
|
427
463
|
catch (error) {
|
|
428
|
-
|
|
464
|
+
const errorMessage = error.message;
|
|
465
|
+
const status = error.status ?? '[STATUS?]';
|
|
466
|
+
// if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) {
|
|
467
|
+
if (errorMessage.includes(`${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}`)) {
|
|
429
468
|
// model is overloaded, try using the backup
|
|
430
469
|
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: a5cd7d174183518058da57cc6d0d8a25)`);
|
|
431
470
|
modelStr = GEMINI_BACKUP_MODEL_STR;
|
|
@@ -440,13 +479,27 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
440
479
|
throw new Error(`couldn't get result from model (E: ede013a53f875d99a96a2e257c7e7125)`);
|
|
441
480
|
}
|
|
442
481
|
// const result = await genModel.generateContent(finalChatPrompt);
|
|
443
|
-
const enhancedResult = result.response;
|
|
444
|
-
const functionCalls = enhancedResult.functionCalls();
|
|
482
|
+
// const enhancedResult = result.response as EnhancedGenerateContentResponse;
|
|
483
|
+
// const functionCalls = enhancedResult.functionCalls();
|
|
484
|
+
// The 'result' IS the GenerateContentResponse object directly.
|
|
485
|
+
const response = result;
|
|
486
|
+
// Function calls are no longer accessed via a method, but by manually scanning the 'candidates' structure.
|
|
487
|
+
// We need a way to extract the function calls from the parts array manually.
|
|
488
|
+
const functionCalls = [];
|
|
489
|
+
const parts = response.candidates?.[0]?.content?.parts || [];
|
|
490
|
+
for (const part of parts) {
|
|
491
|
+
if (part.functionCall) {
|
|
492
|
+
functionCalls.push(part.functionCall);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
445
495
|
if (!functionCalls || functionCalls.length === 0) {
|
|
446
496
|
if (logalot) {
|
|
447
497
|
console.warn(`${lc} no function calls in response, returning text. (W: 3a4b8c940983b9e28e3f04c01a09bb25)`);
|
|
448
498
|
}
|
|
449
|
-
|
|
499
|
+
if (!response.text) {
|
|
500
|
+
throw new Error(`response generated no function calls and no response.text (E: 6123b8cacfb834105ad3160cfc4ef825)`);
|
|
501
|
+
}
|
|
502
|
+
return { text: response.text };
|
|
450
503
|
}
|
|
451
504
|
if (logalot) {
|
|
452
505
|
console.log(`${lc} Gemini function calls:`);
|
|
@@ -502,6 +555,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
502
555
|
// one containing info for a part of the function call entry and a
|
|
503
556
|
// part for the function response entry.
|
|
504
557
|
const functionInfoIbGibs = await this.getFunctionInfoIbGibs({ fcrCommentIbGib: commentIbGib });
|
|
558
|
+
// const functionCallParts: Part[] = [];
|
|
505
559
|
const functionCallParts = [];
|
|
506
560
|
const functionResponseParts = [];
|
|
507
561
|
for (let functionInfoIbGib of functionInfoIbGibs) {
|
|
@@ -550,7 +604,12 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
550
604
|
// text: commentIbGib.data.text,
|
|
551
605
|
content: {
|
|
552
606
|
role: textSourceToGeminiRole(textSrc),
|
|
553
|
-
parts: [
|
|
607
|
+
parts: [
|
|
608
|
+
{
|
|
609
|
+
text: commentIbGib.data.text
|
|
610
|
+
} // see genai migration note at top of this file
|
|
611
|
+
// } satisfies TextPart
|
|
612
|
+
],
|
|
554
613
|
}
|
|
555
614
|
}];
|
|
556
615
|
}
|
|
@@ -591,7 +650,7 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
591
650
|
console.error(`${lc} apiKey falsy. did you set this.fnGetAPIKey (E: genuuid)`);
|
|
592
651
|
return undefined; /* <<<< returns early */
|
|
593
652
|
}
|
|
594
|
-
this._genAI ??= new
|
|
653
|
+
this._genAI ??= new GoogleGenAI({ apiKey });
|
|
595
654
|
/**
|
|
596
655
|
* need to be able to call this function with retries with different
|
|
597
656
|
* models, depending on error code received when generating text.
|
|
@@ -607,28 +666,32 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
607
666
|
*/
|
|
608
667
|
const fnGoModel = async (modelStr) => {
|
|
609
668
|
if (!this._genAI) {
|
|
610
|
-
throw new Error(`(UNEXPECTED) this._genAI falsy? (E:
|
|
669
|
+
throw new Error(`(UNEXPECTED) this._genAI falsy? (E: fbe235713d48f0d8e87cd0b88ec54825)`);
|
|
611
670
|
}
|
|
612
|
-
const
|
|
671
|
+
const chatConfig = {
|
|
613
672
|
model: modelStr,
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
// const chat = genModel.startChat({
|
|
623
|
-
// history: chatPromptHistoryParts.map(x => x.content),
|
|
624
|
-
// });
|
|
625
|
-
const result = await genModel.generateContent(text);
|
|
626
|
-
if (result.response) {
|
|
627
|
-
return result.response.text();
|
|
673
|
+
config: {
|
|
674
|
+
systemInstruction: systemInstructions,
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
const chat = this._genAI.chats.create(chatConfig);
|
|
678
|
+
const response = await chat.sendMessage({ message: text });
|
|
679
|
+
if (response.text) {
|
|
680
|
+
return response.text;
|
|
628
681
|
}
|
|
629
682
|
else {
|
|
630
|
-
throw new Error(`
|
|
683
|
+
throw new Error(`response.text empty/falsy, potentially blocked by safety settings (E: a21a78c9471f27a42c07d1c859187825)`);
|
|
631
684
|
}
|
|
685
|
+
// const genModel = this._genAI.getGenerativeModel({
|
|
686
|
+
// model: modelStr,
|
|
687
|
+
// systemInstruction: systemInstructions,
|
|
688
|
+
// });
|
|
689
|
+
// const result = await genModel.generateContent(text);
|
|
690
|
+
// if (result.response) {
|
|
691
|
+
// return result.response.text();
|
|
692
|
+
// } else {
|
|
693
|
+
// throw new Error(`not implemented (E: bbf05fe00da23d5b16c223bd200eaa25)`);
|
|
694
|
+
// }
|
|
632
695
|
};
|
|
633
696
|
let result = undefined;
|
|
634
697
|
let tryCount = 0;
|
|
@@ -638,53 +701,63 @@ export class AgentWitnessGemini_V1 extends AgentWitness_V1 {
|
|
|
638
701
|
tryCount++;
|
|
639
702
|
retryDelayInSeconds++;
|
|
640
703
|
try {
|
|
641
|
-
|
|
704
|
+
debugger; // step through the new error mechanism and look for how to determine if the model is overloaded vs quota exceeded
|
|
705
|
+
// let x: ErrorDetails
|
|
642
706
|
result = await fnGoModel(modelStr);
|
|
643
707
|
break;
|
|
644
708
|
}
|
|
645
709
|
catch (error) {
|
|
646
|
-
if (error
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
if (modelStr === GEMINI_BACKUP_MODEL_STR) {
|
|
660
|
-
// nothing else to try, wait retry amount if possible
|
|
661
|
-
let errorDetails = error.errorDetails;
|
|
662
|
-
let retryInfo = errorDetails.find(x => x['@type'] === GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO);
|
|
663
|
-
retryDelayInSeconds = 30;
|
|
664
|
-
if (retryInfo && retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]) {
|
|
665
|
-
// get more accurate wait time
|
|
666
|
-
let retryStr = retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY];
|
|
667
|
-
// retryStr from testing is in seconds, e.g., "41s". IF it's longer than a minute, I don't know/care (too long)
|
|
668
|
-
if (retryStr.match(/^\d+s$/)) {
|
|
669
|
-
// valid retry str in seconds
|
|
670
|
-
retryDelayInSeconds = Number.parseInt(retryStr.substring(0, retryStr.length - 1));
|
|
671
|
-
if (Number.isNaN(retryDelayInSeconds)) {
|
|
672
|
-
retryDelayInSeconds = 30;
|
|
673
|
-
}
|
|
674
|
-
}
|
|
675
|
-
else {
|
|
676
|
-
retryDelayInSeconds = 30;
|
|
677
|
-
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. Could not find valid retryInfo (errorDetails with retry info with a ${GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY} with an "s"). So we'll just try waiting ${retryDelayInSeconds} seconds: ${extractErrorMsg(error)} (E: 986d9883fc72bf156f1691183e27ee25)`);
|
|
678
|
-
}
|
|
710
|
+
if (error instanceof Error) {
|
|
711
|
+
const errorMessage = error.message;
|
|
712
|
+
const status = error.status ?? '[STATUS?]';
|
|
713
|
+
// if (error.status && error.status === GEMINI_ERROR_STATUS_MODEL_OVERLOADED) // see migration notes at top of file
|
|
714
|
+
if (errorMessage.includes(`${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}`)) {
|
|
715
|
+
if (modelStr === GEMINI_BACKUP_MODEL_STR) {
|
|
716
|
+
// already is the backup model, so we just fail
|
|
717
|
+
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. we are already using the backup model, so SOL here. will try again... error (${status}): ${extractErrorMsg(error)} (E: 9bb63cb520b8bd3bb85d2ca20715c825)`);
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
// model is overloaded, try using the backup
|
|
721
|
+
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${GEMINI_ERROR_STATUS_MODEL_OVERLOADED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${status}): ${extractErrorMsg(error)} (E: b07a041bb97ea95b03cd6f9856f01525)`);
|
|
722
|
+
modelStr = GEMINI_BACKUP_MODEL_STR;
|
|
679
723
|
}
|
|
724
|
+
// else if (error.status && error.status === GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED)
|
|
725
|
+
}
|
|
726
|
+
else if (errorMessage.includes(`${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}`)) {
|
|
727
|
+
// quota exceeded, either try backup or wait for retry
|
|
728
|
+
debugger; // examine the error to see if we can manually parse out any information about retry
|
|
729
|
+
throw new Error('examine the error to see if we can manually parse out any information about retry (E: ea2c2e2ef1deadf968cd0558cdfd5a25)');
|
|
730
|
+
// if (modelStr === GEMINI_BACKUP_MODEL_STR) {
|
|
731
|
+
// // nothing else to try, wait retry amount if possible
|
|
732
|
+
// let errorDetails: ErrorDetails[] = error.errorDetails;
|
|
733
|
+
// let retryInfo = errorDetails.find(x => x['@type'] === GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO);
|
|
734
|
+
// retryDelayInSeconds = 30;
|
|
735
|
+
// if (retryInfo && retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]) {
|
|
736
|
+
// // get more accurate wait time
|
|
737
|
+
// let retryStr = retryInfo[GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY]! as string;
|
|
738
|
+
// // retryStr from testing is in seconds, e.g., "41s". IF it's longer than a minute, I don't know/care (too long)
|
|
739
|
+
// if (retryStr.match(/^\d+s$/)) {
|
|
740
|
+
// // valid retry str in seconds
|
|
741
|
+
// retryDelayInSeconds = Number.parseInt(retryStr.substring(0, retryStr.length - 1));
|
|
742
|
+
// if (Number.isNaN(retryDelayInSeconds)) {
|
|
743
|
+
// retryDelayInSeconds = 30;
|
|
744
|
+
// }
|
|
745
|
+
// } else {
|
|
746
|
+
// retryDelayInSeconds = 30;
|
|
747
|
+
// console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. Could not find valid retryInfo (errorDetails with retry info with a ${GEMINI_ERROR_DETAILS_TYPE_RETRY_INFO_RETRY_DELAY_KEY} with an "s"). So we'll just try waiting ${retryDelayInSeconds} seconds: ${extractErrorMsg(error)} (E: 986d9883fc72bf156f1691183e27ee25)`);
|
|
748
|
+
// }
|
|
749
|
+
// }
|
|
750
|
+
// } else {
|
|
751
|
+
// console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED}. will try using backup model (${GEMINI_BACKUP_MODEL_STR}) for this next call. error (${error.status}): ${extractErrorMsg(error)} (E: 637ed809c659f55738becab83fc01825)`);
|
|
752
|
+
// }
|
|
753
|
+
// modelStr = GEMINI_BACKUP_MODEL_STR;
|
|
680
754
|
}
|
|
681
755
|
else {
|
|
682
|
-
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model
|
|
756
|
+
console.error(`${lc}[fnGoModel][${modelStr}] error trying to get result from model. error (${status}): ${extractErrorMsg(error)} (E: a67d595c8ed313d458369d4d0b3e7f25)`);
|
|
683
757
|
}
|
|
684
|
-
modelStr = GEMINI_BACKUP_MODEL_STR;
|
|
685
758
|
}
|
|
686
759
|
else {
|
|
687
|
-
console.error(`${lc}[fnGoModel][${modelStr}] error
|
|
760
|
+
console.error(`${lc}[fnGoModel][${modelStr}] (UNEXPECTED) error is not instanceof Error? The expected error from the @google/genai lib is supposed to be an instance of Error according to Gemini migration AI. (E: 15df95701e78b35f783d250801092825)`);
|
|
688
761
|
}
|
|
689
762
|
}
|
|
690
763
|
if (tryCount > 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-witness-gemini-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAAA,OAAO,EAC8D,mBAAmB,EACvC,kBAAkB,GAClE,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAG7H,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAI5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAKjG,OAAO,EACH,+BAA+B,EAC/B,iCAAiC,EAAE,gCAAgC,EACtE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,+BAA+B,EAAE,4BAA4B,EAC7D,kBAAkB,EAAE,6CAA6C,EACjE,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAwB,MAAM,6CAA6C,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,oCAAoC,EAAE,oDAAoD,EAAE,oCAAoC,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClQ,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtE,oHAAoH;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAa,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,OAAO,qBACT,SAAQ,eAA6E;IACrF,0DAA0D;IAC1D,kDAAkD;IAClD,IAAI;IACM,EAAE,GAAW,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC;IAEtC,KAAK,CAAC,YAAY;QACjC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAE1C,kFAAkF;YAClF,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAA;gBACtG,+CAA+C;gBAC/C,6BAA6B;gBAC7B,gFAAgF;aACnF;iBAAM;gBACH,yCAAyC;gBACzC,uEAAuE;aAC1E;YAED,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAGD;;OAEG;IACO,uBAAuB,CAAe,EAAE,EAAE,EAAe;QAC/D,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC;QAC9D,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,IAAI,KAAK,CAAC,0OAA0O,CAAC,CAAC;SAC/P;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,IAAkB;QACtC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC/C,IAAI;YACA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC;;eAEG;YACH,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,KAAK;aAC3B,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,oIAAoI,CAAC,CAAA;gBACvJ,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,MAAM,wBAAwB,GAAsB,EAAE,CAAC;YACvD,MAAM,2BAA2B,GAAsB,EAAE,CAAC;YAC1D,MAAM,yBAAyB,GAAsB,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,yDAAyD;YACzD,mBAAmB;YACnB,4CAA4C;YAC5C,MAAM;YAEN,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,IAAI,CAAC;gBACnC,IAAI,IAAI,IAAI,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;iBAAE;gBACzI,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;iBAAE;gBACrK,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,YAAY,EAAE;oBACd,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,qEAAqE,CAAC,CAAC;qBAAE;oBACzG,2DAA2D;oBAC3D,yBAAyB;oBAEzB,2DAA2D;oBAC3D,uDAAuD;oBACvD,4BAA4B;oBAE5B,0DAA0D;oBAC1D,4DAA4D;oBAC5D,8DAA8D;oBAC9D,wDAAwD;oBACxD,0DAA0D;oBAC1D,2DAA2D;oBAC3D,MAAM;oBAEN,wDAAwD;iBAC3D;qBAAM;oBACH,8DAA8D;oBAC9D,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2EAA2E,CAAC,CAAC;qBAAE;oBAC/G,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;qBAAE;oBAC7I,MAAM,gBAAgB,GAClB,MAAM,kBAAkB,CAAC;wBACrB,IAAI;wBACJ,gBAAgB;wBAChB,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACP,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC;oBACzC,MAAM,SAAS,CAAC,gBAAgB,CAAC;wBAC7B,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACH,oCAAoC;oBACpC,+CAA+C;oBAC/C,+FAA+F;oBAC/F,2FAA2F;iBAC9F;gBACD,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iIAAiI,CAAC,CAAC;iBAAE;gBAC1K,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,gBAAgB,wCAAwC,CAAC,CAAC;iBAAE;gBAC/K,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE;oBACV,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAClD;qBAAM;oBACH,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAChD;aAEJ;YAED,uEAAuE;YACvE,yBAAyB;YAEzB,MAAM,kBAAkB,GAAgB,EAAE,CAAC;YAC3C,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,GAAG,CAAC,CAAC;aAC1F;YACD,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,CAAC;aACtF;YAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC3B,UAAU,EAAE,kBAAkB;gBAC9B,iBAAiB,EAAE;oBACf,SAAS,EAAE,gBAAgB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAK,CAAC,IAAI;iBACxB;gBACD,SAAS;gBACT,KAAK,EAAE,UAAU;aACpB,CAA0B,CAAC;YAE5B,+BAA+B;YAC/B,oBAAoB;YACpB,8BAA8B;YAC9B,2BAA2B;YAC3B,wFAAwF;YACxF,oFAAoF;YACpF,SAAS;YACT,iBAAiB;YACjB,sBAAsB;YACtB,gDAAgD;YAEhD,kDAAkD;YAClD,6BAA6B;YAC7B,yBAAyB;YACzB,MAAM;YAEN,0CAA0C;YAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,IAAI,EAAE,iFAAiF;aAC7G,CAAC,CAAC;YAEH,qCAAqC;YACrC,4BAA4B;YAC5B,yBAAyB;YACzB,MAAM;YAEN,uBAAuB;YACvB,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;YACjB,yBAAyB;YACzB,6BAA6B;YAC7B,MAAM;YAEN,OAAO,wBAAwB,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC5B,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QACxD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;aACjF;YACD,MAAM,mBAAmB,GAA4B,EAAE,CAAC;YACxD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACtC;YACD,MAAM,qBAAqB,GACvB,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;YACvD,IAAI,qBAAqB,KAAK,SAAS,EAAE;gBACrC,mBAAmB,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,UAAU,CAAC,SAAS;oBACzB,gCAAgC;oBAChC,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC;wBAClD,KAAK,EAAE;4BACH;gCACI,IAAI,EAAE,mCAAmC,CAAC;oCACtC,qBAAqB;iCACxB,CAAC;6BACc;yBACvB;qBACJ;iBACJ,CAAC,CAAA;aACL;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iNAAiN,CAAC,CAAC;aAAE;YACjR,MAAM,sBAAsB,GAA4B,EAAE,CAAC;YAC3D,MAAM,yBAAyB,GAC3B,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,MAAM,YAAY,IAAI,yBAAyB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACzC;YAED;;;;eAIG;YACH,IAAI,iBAAwC,CAAC;YAC7C,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,0FAA0F;YAC5J,MAAM,0BAA0B,GAC5B,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACpG,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,UAAU;gBACV,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;aACzD;iBAAM,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,MAAM;gBACN,sBAAsB,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,qBAAqB;gBACrF,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,0BAA0B;aACpF;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,iMAAiM,CAAC,CAAC;aACtN;YAED,MAAM,aAAa,GAAqB;gBACpC,GAAG,EAAE,QAAQ;gBACb,mBAAmB;gBACnB,sBAAsB;gBACtB,iBAAiB;aACpB,CAAC;YAEF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,uCAAuC,CAAC,CAAC;aAAE;YAErH,OAAO,aAAa,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEkB,KAAK,CAAC,WAAW,CAAC,IAAsB;QACvD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oIAAoI,CAAC,CAAC;aAAE;YAEzL,kBAAkB;YAElB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,wCAAwC,CAAC,CAAC;aAAE;YAE7G,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,wCAAwC,CAAC,CAAC;aAAE;YAEpH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAC;gBACxG,OAAO;oBACH,IAAI,EAAE,wFAAwF;iBACjG,CAAC,CAAC,wBAAwB;aAC9B;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW;gBAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU;aACnC,CAAC,CACL,CAAC;YAEF,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,EAAE;gBAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4HAA4H,CAAC,CAAC;aACpJ;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aACrC;YAED,qBAAqB;YAErB,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;YAGhF;;eAEG;YACH,MAAM,uBAAuB,GAAG,KAAK,CAAC,iBAAiB,CAA0B,CAAC;YAClF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,uBAAuB,CAAC,wCAAwC,CAAC,CAAA;aAAE;YAExJ,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6QAA6Q,CAAC,CAAC;aAAE;YAClT,+CAA+C;YAC/C,yDAAyD;YACzD,8CAA8C;YAC9C,8DAA8D;YAC9D,6BAA6B;YAC7B,UAAU;YACV,gDAAgD;YAChD,yCAAyC;YACzC,SAAS;YACT,uEAAuE;YACvE,iHAAiH;YAEjH,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI;YAEJ,IAAI,MAAM,GAAsC,SAAS,CAAC;YAE1D;;;;;;;;;;;;eAYG;YACH,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;iBAAE;gBAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC5C,KAAK,EAAE,QAAQ;oBACf,iBAAiB,EAAE,6CAA6C,CAAC,EAAE,mBAAmB,EAAE,CAAC;oBACzF,KAAK,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC;oBACjC,UAAU,EAAE;wBACR,qBAAqB,EAAE;4BACnB,8FAA8F;4BAC9F,IAAI,EACA,IAAI,CAAC,2BAA2B;gCAChC,mBAAmB,CAAC,GAAG,EAAE,gKAAgK;yBAChM;qBACJ;iBACJ,CAAC,CAAC;gBACH;;;;;mBAKG;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC;oBAC5B,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC;YAClB,CAAC,CAAA;YAED,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,IAAI;oBACA,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,oCAAoC,EAAE;wBACvE,4CAA4C;wBAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,yEAAyE,uBAAuB,gCAAgC,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBAC5P,QAAQ,GAAG,uBAAuB,CAAC;qBACtC;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;qBAClL;iBACJ;gBACD,MAAM,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC,0BAA0B;aACjD,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YACrD,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAEzG,kEAAkE;YAClE,MAAM,cAAc,GAAG,MAAM,CAAC,QAA2C,CAAC;YAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;YAErD,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,uFAAuF,CAAC,CAAC;iBAAE;gBAC5H,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;aAC3C;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC9B;YAED,OAAO;gBACH,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACpE,CAAC;SAEL;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAES,KAAK,CAAC,wCAAwC,CAAC,EACrD,YAAY,GAGf;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,GAAG,CAAC;QACrE,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,mFAAmF,gBAAgB,wCAAwC,CAAC,CAAC;aAChK;YAED,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,gBAAgB,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0KAA0K,CAAC,CAAC;aAAE;YACvN,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,iCAAiC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9H,IAAI,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mNAAmN,CAAC,CAAC;aAAE;YACvP,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;aAAE;YAC3H,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;aAAE;YAErI,MAAM,KAAK,GAAG,4BAA4B,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE;gBACP,kEAAkE;gBAClE,8BAA8B;gBAC9B,sEAAsE;gBACtE,6CAA6C;gBAC7C,kEAAkE;gBAClE,kEAAkE;gBAClE,wCAAwC;gBACxC,MAAM,kBAAkB,GACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;gBACxE,MAAM,iBAAiB,GAAuB,EAAE,CAAC;gBACjD,MAAM,qBAAqB,GAA2B,EAAE,CAAC;gBACzD,KAAK,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAA+B,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;qBAAE;oBACjG,IAAI,CAAC,QAAQ,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBAAE;oBACzG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE;wBAC3D,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;qBACtH;oBACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxC;gBAED,6DAA6D;gBAC7D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,qFAAqF;gBACrF,6DAA6D;gBAC7D,oEAAoE;gBAEpE,MAAM,iBAAiB,GAA0B;oBAC7C,GAAG,EAAE,UAAU,CAAC,EAAE;oBAClB,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,iBAAiB;qBAC3B;iBACJ,CAAC;gBACF,MAAM,qBAAqB,GAA0B;oBACjD,GAAG,EAAE,UAAU,CAAC,QAAQ;oBACxB,sBAAsB;oBACtB,OAAO,EAAE;wBACL,oDAAoD;wBACpD,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACjD,KAAK,EAAE,qBAAqB;qBAC/B;iBACJ,CAAC;gBAEF,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;aACrD;iBAAM;gBACH,wDAAwD;gBACxD,OAAO,CAAC;wBACJ,GAAG,EAAE,OAAO;wBACZ,gCAAgC;wBAChC,OAAO,EAAE;4BACL,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;4BACrC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAqB,CAAC;yBAC/D;qBACJ,CAAC,CAAC;aACN;SAGJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,IAAsB;QAC9C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;aAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAE7E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAClF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,eAAe,CAAC,CAAC;aAAE;YAEpF,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,eAAe,CAAC,CAAC;aAAE;YAE3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,0DAA0D,CAAC,CAAC;gBAC/E,OAAO,SAAS,CAAC,CAAC,wBAAwB;aAC7C;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAG/C;;;;;;;;;;;;eAYG;YACH,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;iBAAE;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC5C,KAAK,EAAE,QAAQ;oBACf,iBAAiB,EAAE,kBAAkB;iBACxC,CAAC,CAAC;gBACH;;;;;mBAKG;gBACH,oCAAoC;gBACpC,2DAA2D;gBAC3D,MAAM;gBACN,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACjB,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;iBACjC;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;iBAC5E;YACL,CAAC,CAAA;YAED,IAAI,MAAM,GAAuB,SAAS,CAAC;YAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,mBAAmB,EAAE,CAAC;gBACtB,IAAI;oBACA,IAAI,CAAe,CAAA;oBACnB,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,oCAAoC,EAAE;wBACvE,IAAI,QAAQ,KAAK,uBAAuB,EAAE;4BACtC,+CAA+C;4BAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kFAAkF,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBACtU;6BAAM;4BACH,4CAA4C;4BAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kCAAkC,uBAAuB,gCAAgC,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;4BAC1U,QAAQ,GAAG,uBAAuB,CAAC;yBACtC;qBACJ;yBAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,uCAAuC,EAAE;wBACjF,sDAAsD;wBACtD,IAAI,QAAQ,KAAK,uBAAuB,EAAE;4BACtC,qDAAqD;4BACrD,IAAI,YAAY,GAAmB,KAAK,CAAC,YAAY,CAAC;4BACtD,IAAI,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,oCAAoC,CAAC,CAAC;4BAC5F,mBAAmB,GAAG,EAAE,CAAC;4BACzB,IAAI,SAAS,IAAI,SAAS,CAAC,oDAAoD,CAAC,EAAE;gCAC9E,8BAA8B;gCAC9B,IAAI,QAAQ,GAAG,SAAS,CAAC,oDAAoD,CAAY,CAAC;gCAC1F,+GAA+G;gCAC/G,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oCAC1B,6BAA6B;oCAC7B,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oCAClF,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;wCACnC,mBAAmB,GAAG,EAAE,CAAC;qCAC5B;iCACJ;qCAAM;oCACH,mBAAmB,GAAG,EAAE,CAAC;oCACzB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,oFAAoF,uCAAuC,yEAAyE,oDAAoD,4CAA4C,mBAAmB,aAAa,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;iCACjb;6BACJ;yBACJ;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,oFAAoF,uCAAuC,kCAAkC,uBAAuB,gCAAgC,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBACnV;wBACD,QAAQ,GAAG,uBAAuB,CAAC;qBACtC;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;qBAClL;iBACJ;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACd,MAAM,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,0BAA0B;iBACtE;aACJ,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YAErD,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB,CAAC,EACxB,eAAe,EAOlB;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,qBAAqB,GAA2B,EAAE,CAAC;YAEvD,kBAAkB;YAClB,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;aAC5F;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uEAAuE,CAAC,CAAC;aACjG;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;aAAE;YAEhH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,oDAAoD;YACnG,IAAI,CAAC,UAAU,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAC7G,qBAAqB;YAErB,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAgB,CAAC;YACpG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAC;iBAAE;gBAClG,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,iBAAiB,wCAAwC,CAAC,CAAC;aAAE;YAEpH,iEAAiE;YACjE,sDAAsD;YACtD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;gBAC5C,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;gBAC/H,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uDAAuD,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,wCAAwC,CAAC,CAAC;aAC9M;YACD,qBAAqB,GAAG,mBAAmB,CAAC,MAAgC,CAAC;YAC7E,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;aAAE;YAEzK,OAAO,qBAAqB,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,YAAY,CAAC,GAAyD;QACjF,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACzC,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;aAAE;YAE1H,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,kHAAkH;YAElH,sBAAsB;YACtB,8CAA8C;YAC9C,8DAA8D;YAC9D,kCAAkC;YAClC,MAAM;YAEN,0CAA0C;YAC1C,6DAA6D;YAC7D,oCAAoC;YACpC,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAK,CAAC,0BAA0B,EAAE;oBAC1D,IAAI,CAAC,QAAQ,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,oJAAoJ,CAAC,CAAC;qBACzK;oBACD,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjD,IAAI,IAAI,EAAE;wBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACH,IAAI,8BAA8B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BACrD,IAAI,OAAO,EAAE;gCAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,QAAQ,0GAA0G,CAAC,CAAC;6BAAE;yBAChL;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,8EAA8E,QAAQ,iJAAiJ,CAAC,CAAC;yBAC1P;qBACJ;iBACJ;gBAED,iBAAiB;gBAEjB,uOAAuO;gBACvO,6CAA6C;gBAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;gBACpD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC9C,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE;wBAClE,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBAC7M;yBAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;wBACjF,MAAM,IAAI,KAAK,CAAC,mLAAmL,CAAC,CAAC;qBACxM;yBAAM;wBACH,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,MAA4B,CAAC;qBAClF;iBACJ;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC5C,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU;qBAC5C,CAAC,CAAC;oBACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE;wBAC9D,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBACzM;yBAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE;wBAC7E,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;qBACpM;yBAAM;wBACH,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,MAA4B,CAAC;qBAC9E;iBACJ;YACL,CAAC,CAAC;YAEF,4DAA4D;YAE5D,MAAM,sBAAsB,CAAC;gBACzB,KAAK,EAAE,OAAO;gBACd,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,GAAG;gBACf,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE,UAAU;gBACjB,gBAAgB,EAAE,mBAAmB,EAAE;gBACvC,EAAE;aACL,CAAC,CAAC;YAEH,iEAAiE;SACpE;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IAEL,CAAC;CAEJ;AAED,oDAAoD;AACpD,UAAU,CAAC,GAAG,EAAE;IACZ,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,eAAe,CAAC;QACtB,SAAS,EAAE,qBAAqB,CAAC,IAAI;QACrC,mBAAmB,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAqB,CAAC,IAAI,EAAE;gBAC1D,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACvC,UAAU,EAAE,GAA2B;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aACnC;iBAAM;gBACH,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC,CAAC,CAAC;AAGH,MAAM,UAAU,mCAAmC,CAAC,EAChD,qBAAqB,EAGxB;IACG,MAAM,EAAE,GAAG,IAAI,mCAAmC,CAAC,IAAI,GAAG,CAAC;IAC3D,IAAI;QACA,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;SAAE;QACxF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC9D,0BAA0B;QAC1B,kEAAkE;QAClE,kEAAkE;QAClE,sBAAsB;QACtB,IAAI;QACJ,OAAO,qCAAqC,qBAAqB,+aAA+a,CAAC;KACpf;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;KACf;YAAS;QACN,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;SAAE;KACnD;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent-witness-gemini-v1.mjs","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/agent-witness-gemini-v1.mts"],"names":[],"mappings":"AAQA,OAAO,EACqC,WAAW,EAC7B,yBAAyB,GAClD,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAG7H,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAa,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAKjG,OAAO,EACH,+BAA+B,EAC/B,iCAAiC,EAAE,gCAAgC,EACtE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,+BAA+B,EAAE,4BAA4B,EAC7D,kBAAkB,EAAE,6CAA6C,EACjE,sBAAsB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAwB,MAAM,6CAA6C,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAA8F,oCAAoC,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClQ,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,OAAO,qBACT,SAAQ,eAAsE;IAC9E,0FAA0F;IAC1F,0DAA0D;IAC1D,kDAAkD;IAClD,IAAI;IACM,EAAE,GAAW,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC;IAEtC,KAAK,CAAC,YAAY;QACjC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAE1C,kFAAkF;YAClF,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAA;gBACtG,+CAA+C;gBAC/C,6BAA6B;gBAC7B,gFAAgF;aACnF;iBAAM;gBACH,yCAAyC;gBACzC,uEAAuE;aAC1E;YAED,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAGD;;OAEG;IACO,uBAAuB,CAAe,EAAE,EAAE,EAAe;QAC/D,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC;QAC9D,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,IAAI,KAAK,CAAC,0OAA0O,CAAC,CAAC;SAC/P;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,IAAkB;QACtC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC/C,IAAI;YACA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC;;eAEG;YACH,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,KAAK;aAC3B,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,oIAAoI,CAAC,CAAA;gBACvJ,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,MAAM,wBAAwB,GAAsB,EAAE,CAAC;YACvD,MAAM,2BAA2B,GAAsB,EAAE,CAAC;YAC1D,MAAM,yBAAyB,GAAsB,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,yDAAyD;YACzD,mBAAmB;YACnB,4CAA4C;YAC5C,MAAM;YAEN,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC3B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACnC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,IAAI,CAAC;gBACnC,IAAI,IAAI,IAAI,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;iBAAE;gBACzI,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;iBAAE;gBACrK,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,YAAY,EAAE;oBACd,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,qEAAqE,CAAC,CAAC;qBAAE;oBACzG,2DAA2D;oBAC3D,yBAAyB;oBAEzB,2DAA2D;oBAC3D,uDAAuD;oBACvD,4BAA4B;oBAE5B,0DAA0D;oBAC1D,4DAA4D;oBAC5D,8DAA8D;oBAC9D,wDAAwD;oBACxD,0DAA0D;oBAC1D,2DAA2D;oBAC3D,MAAM;oBAEN,wDAAwD;iBAC3D;qBAAM;oBACH,8DAA8D;oBAC9D,IAAI,OAAO,EAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2EAA2E,CAAC,CAAC;qBAAE;oBAC/G,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;qBAAE;oBAC7I,MAAM,gBAAgB,GAClB,MAAM,kBAAkB,CAAC;wBACrB,IAAI;wBACJ,gBAAgB;wBAChB,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACP,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC;oBACzC,MAAM,SAAS,CAAC,gBAAgB,CAAC;wBAC7B,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,UAAU;qBACpB,CAAC,CAAC;oBACH,oCAAoC;oBACpC,+CAA+C;oBAC/C,+FAA+F;oBAC/F,2FAA2F;iBAC9F;gBACD,IAAI,CAAC,YAAY,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iIAAiI,CAAC,CAAC;iBAAE;gBAC1K,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,gBAAgB,wCAAwC,CAAC,CAAC;iBAAE;gBAC/K,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,QAAQ,EAAE;oBACV,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAClD;qBAAM;oBACH,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAChD;aAEJ;YAED,uEAAuE;YACvE,yBAAyB;YAEzB,MAAM,kBAAkB,GAAgB,EAAE,CAAC;YAC3C,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,GAAG,CAAC,CAAC;aAC1F;YACD,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,CAAC;aACtF;YAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC3B,UAAU,EAAE,kBAAkB;gBAC9B,iBAAiB,EAAE;oBACf,SAAS,EAAE,gBAAgB;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAK,CAAC,IAAI;iBACxB;gBACD,SAAS;gBACT,KAAK,EAAE,UAAU;aACpB,CAA0B,CAAC;YAE5B,+BAA+B;YAC/B,oBAAoB;YACpB,8BAA8B;YAC9B,2BAA2B;YAC3B,wFAAwF;YACxF,oFAAoF;YACpF,SAAS;YACT,iBAAiB;YACjB,sBAAsB;YACtB,gDAAgD;YAEhD,kDAAkD;YAClD,6BAA6B;YAC7B,yBAAyB;YACzB,MAAM;YAEN,0CAA0C;YAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACnC,KAAK,EAAE,IAAI;gBACX,iBAAiB,EAAE,IAAI,EAAE,iFAAiF;aAC7G,CAAC,CAAC;YAEH,qCAAqC;YACrC,4BAA4B;YAC5B,yBAAyB;YACzB,MAAM;YAEN,uBAAuB;YACvB,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;YACjB,yBAAyB;YACzB,6BAA6B;YAC7B,MAAM;YAEN,OAAO,wBAAwB,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;IACL,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC5B,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QACxD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;aACjF;YACD,MAAM,mBAAmB,GAA4B,EAAE,CAAC;YACxD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACtC;YACD,MAAM,qBAAqB,GACvB,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;YACvD,IAAI,qBAAqB,KAAK,SAAS,EAAE;gBACrC,mBAAmB,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,UAAU,CAAC,SAAS;oBACzB,gCAAgC;oBAChC,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC;wBAClD,KAAK,EAAE;4BACH;gCACI,IAAI,EAAE,mCAAmC,CAAC;oCACtC,qBAAqB;iCACxB,CAAC;6BACU,CAAC,+CAA+C;4BAChE,uBAAuB;yBAC1B;qBACJ;iBACJ,CAAC,CAAA;aACL;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iNAAiN,CAAC,CAAC;aAAE;YACjR,MAAM,sBAAsB,GAA4B,EAAE,CAAC;YAC3D,MAAM,yBAAyB,GAC3B,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,MAAM,YAAY,IAAI,yBAAyB,EAAE;gBAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpF,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;aACzC;YAED;;;;eAIG;YACH,IAAI,iBAAwC,CAAC;YAC7C,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,0FAA0F;YAC5J,MAAM,0BAA0B,GAC5B,MAAM,IAAI,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACpG,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,UAAU;gBACV,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;aACzD;iBAAM,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,MAAM;gBACN,sBAAsB,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,qBAAqB;gBACrF,iBAAiB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,0BAA0B;aACpF;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,iMAAiM,CAAC,CAAC;aACtN;YAED,MAAM,aAAa,GAAqB;gBACpC,GAAG,EAAE,QAAQ;gBACb,mBAAmB;gBACnB,sBAAsB;gBACtB,iBAAiB;aACpB,CAAC;YAEF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,uCAAuC,CAAC,CAAC;aAAE;YAErH,OAAO,aAAa,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEkB,KAAK,CAAC,WAAW,CAAC,IAAsB;QACvD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oIAAoI,CAAC,CAAC;aAAE;YAEzL,kBAAkB;YAElB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,wCAAwC,CAAC,CAAC;aAAE;YAE7G,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,wCAAwC,CAAC,CAAC;aAAE;YAEpH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,mFAAmF,CAAC,CAAC;gBACxG,OAAO;oBACH,IAAI,EAAE,wFAAwF;iBACjG,CAAC,CAAC,wBAAwB;aAC9B;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,kDAAkD;YAElD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW;gBAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU;aACnC,CAAC,CACL,CAAC;YAEF,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,EAAE;gBAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4HAA4H,CAAC,CAAC;aACpJ;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aACrC;YAED,qBAAqB;YAErB,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;YAGhF;;eAEG;YACH,MAAM,uBAAuB,GAAG,KAAK,CAAC,iBAAiB,CAA0B,CAAC;YAClF,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,uBAAuB,CAAC,wCAAwC,CAAC,CAAA;aAAE;YAExJ,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6QAA6Q,CAAC,CAAC;aAAE;YAClT,+CAA+C;YAC/C,yDAAyD;YACzD,8CAA8C;YAC9C,8DAA8D;YAC9D,6BAA6B;YAC7B,UAAU;YACV,gDAAgD;YAChD,yCAAyC;YACzC,SAAS;YACT,uEAAuE;YACvE,iHAAiH;YAEjH,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI;YAEJ,IAAI,MAAM,GAAwC,SAAS,CAAC;YAC5D,6DAA6D;YAE7D;;;;;;;;;;;;eAYG;YACH,kDAAkD;YAClD,sHAAsH;YACtH,wDAAwD;YACxD,2BAA2B;YAC3B,qGAAqG;YACrG,6CAA6C;YAC7C,wBAAwB;YACxB,uCAAuC;YACvC,iHAAiH;YACjH,wBAAwB;YACxB,0DAA0D;YAC1D,gNAAgN;YAChN,iBAAiB;YACjB,aAAa;YACb,UAAU;YACV,UAAU;YACV,qEAAqE;YACrE,0EAA0E;YAC1E,wEAAwE;YACxE,iCAAiC;YACjC,UAAU;YACV,wCAAwC;YACxC,+DAA+D;YAC/D,UAAU;YACV,wEAAwE;YACxE,qBAAqB;YACrB,IAAI;YACJ,+BAA+B;YAC/B,qBAAqB;YACrB,0BAA0B;YAC1B,qCAAqC;YACrC,IAAI;YAEJ,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;iBAC5F;gBAED,MAAM,eAAe,GAAc,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAE9E,MAAM,UAAU,GAAyB;oBACrC,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE;wBACJ,iBAAiB,EAAE,6CAA6C,CAAC,EAAE,mBAAmB,EAAE,CAAC;wBACzF,KAAK,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC;wBACjC,UAAU,EAAE;4BACR,qBAAqB,EAAE;gCACnB,IAAI,EAAE,IAAI,CAAC,2BAA2B,IAAI,yBAAyB,CAAC,GAAG;6BAC1E;yBACJ;qBACJ;iBACJ,CAAC;gBAEF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAElD,mFAAmF;gBACnF,wEAAwE;gBAExE,kCAAkC;gBAClC,MAAM,aAAa,GAA0B;oBACzC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAe,EAAE,qCAAqC;iBAC5F,CAAC;gBAEF,iDAAiD;gBACjD,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAE9E,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,IAAI;oBACA,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBACnC,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,IAAI,WAAW,CAAC;oBAEpD,+EAA+E;oBAC/E,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;wBAClE,4CAA4C;wBAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,yEAAyE,uBAAuB,gCAAgC,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBAC5P,QAAQ,GAAG,uBAAuB,CAAC;qBACtC;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,KAAK,CAAC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;qBAClL;iBACJ;gBACD,MAAM,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC,0BAA0B;aACjD,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YACrD,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAEzG,kEAAkE;YAClE,6EAA6E;YAC7E,wDAAwD;YAExD,+DAA+D;YAC/D,MAAM,QAAQ,GAA4B,MAAM,CAAC;YAEjD,2GAA2G;YAE3G,6EAA6E;YAC7E,MAAM,aAAa,GAAmB,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzC;aACJ;YAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,uFAAuF,CAAC,CAAC;iBAAE;gBAC5H,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;iBAAE;gBAC3I,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAClC;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC9B;YAED,OAAO;gBACH,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACpE,CAAC;SAEL;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAES,KAAK,CAAC,wCAAwC,CAAC,EACrD,YAAY,GAGf;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,GAAG,CAAC;QACrE,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACzF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,mFAAmF,gBAAgB,wCAAwC,CAAC,CAAC;aAChK;YAED,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,gBAAgB,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0KAA0K,CAAC,CAAC;aAAE;YACvN,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,iCAAiC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9H,IAAI,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mNAAmN,CAAC,CAAC;aAAE;YACvP,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;aAAE;YAC3H,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;aAAE;YAErI,MAAM,KAAK,GAAG,4BAA4B,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE;gBACP,kEAAkE;gBAClE,8BAA8B;gBAC9B,sEAAsE;gBACtE,6CAA6C;gBAC7C,kEAAkE;gBAClE,kEAAkE;gBAClE,wCAAwC;gBACxC,MAAM,kBAAkB,GACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;gBACxE,wCAAwC;gBACxC,MAAM,iBAAiB,GAAuB,EAAE,CAAC;gBACjD,MAAM,qBAAqB,GAA2B,EAAE,CAAC;gBACzD,KAAK,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;oBAC9C,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,+BAA+B,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,IAAI,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;qBAAE;oBACjG,IAAI,CAAC,QAAQ,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBAAE;oBACzG,IAAI,IAAI,CAAC,YAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE;wBAC5D,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;qBACtH;oBACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxC;gBAED,6DAA6D;gBAC7D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,qFAAqF;gBACrF,6DAA6D;gBAC7D,oEAAoE;gBAEpE,MAAM,iBAAiB,GAA0B;oBAC7C,GAAG,EAAE,UAAU,CAAC,EAAE;oBAClB,OAAO,EAAE;wBACL,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,iBAAiB;qBAC3B;iBACJ,CAAC;gBACF,MAAM,qBAAqB,GAA0B;oBACjD,GAAG,EAAE,UAAU,CAAC,QAAQ;oBACxB,sBAAsB;oBACtB,OAAO,EAAE;wBACL,oDAAoD;wBACpD,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACjD,KAAK,EAAE,qBAAqB;qBAC/B;iBACJ,CAAC;gBAEF,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;aACrD;iBAAM;gBACH,wDAAwD;gBACxD,OAAO,CAAC;wBACJ,GAAG,EAAE,OAAO;wBACZ,gCAAgC;wBAChC,OAAO,EAAE;4BACL,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;4BACrC,KAAK,EAAE;gCACH;oCACI,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI;iCAChB,CAAC,+CAA+C;gCAChE,uBAAuB;6BAC1B;yBACJ;qBACJ,CAAC,CAAC;aACN;SAGJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,IAAsB;QAC9C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;aAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAE7E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAAE;YAClF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,eAAe,CAAC,CAAC;aAAE;YAEpF,oEAAoE;YACpE,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,KAAK,eAAe,CAAC,CAAC;aAAE;YAE3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,0DAA0D,CAAC,CAAC;gBAC/E,OAAO,SAAS,CAAC,CAAC,wBAAwB;aAC7C;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5C;;;;;;;;;;;;eAYG;YACH,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;iBAAE;gBAC/G,MAAM,UAAU,GAAyB;oBACrC,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE;wBACJ,iBAAiB,EAAE,kBAAkB;qBACxC;iBACJ,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACf,OAAO,QAAQ,CAAC,IAAI,CAAC;iBACxB;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAC;iBAE9H;gBACD,oDAAoD;gBACpD,uBAAuB;gBACvB,6CAA6C;gBAC7C,MAAM;gBACN,uDAAuD;gBACvD,yBAAyB;gBACzB,qCAAqC;gBACrC,WAAW;gBACX,gFAAgF;gBAChF,IAAI;YACR,CAAC,CAAA;YAED,IAAI,MAAM,GAAuB,SAAS,CAAC;YAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,GAAG;gBACC,QAAQ,EAAE,CAAC;gBACX,mBAAmB,EAAE,CAAC;gBACtB,IAAI;oBACA,QAAQ,CAAC,CAAC,kHAAkH;oBAC5H,sBAAsB;oBACtB,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM;iBACT;gBAAC,OAAO,KAAK,EAAE;oBACZ,IAAI,KAAK,YAAY,KAAK,EAAE;wBACxB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;wBACnC,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,IAAI,WAAW,CAAC;wBAEpD,mHAAmH;wBACnH,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;4BAClE,IAAI,QAAQ,KAAK,uBAAuB,EAAE;gCACtC,+CAA+C;gCAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kFAAkF,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;6BAChU;iCAAM;gCACH,4CAA4C;gCAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,iFAAiF,oCAAoC,kCAAkC,uBAAuB,gCAAgC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gCACpU,QAAQ,GAAG,uBAAuB,CAAC;6BACtC;4BACD,sFAAsF;yBACzF;6BAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,uCAAuC,EAAE,CAAC,EAAE;4BAC5E,sDAAsD;4BACtD,QAAQ,CAAC,CAAC,oFAAoF;4BAC9F,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;4BAE3I,8CAA8C;4BAC9C,4DAA4D;4BAC5D,6DAA6D;4BAC7D,mGAAmG;4BACnG,gCAAgC;4BAChC,0FAA0F;4BAC1F,yCAAyC;4BACzC,qGAAqG;4BACrG,0HAA0H;4BAC1H,0CAA0C;4BAC1C,4CAA4C;4BAC5C,iGAAiG;4BACjG,uDAAuD;4BACvD,4CAA4C;4BAC5C,gBAAgB;4BAChB,mBAAmB;4BACnB,wCAAwC;4BACxC,6bAA6b;4BAC7b,YAAY;4BACZ,QAAQ;4BACR,WAAW;4BACX,uVAAuV;4BACvV,IAAI;4BACJ,sCAAsC;yBACzC;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,mDAAmD,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC5K;qBACJ;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,QAAQ,4MAA4M,CAAC,CAAC;qBAC3P;iBACJ;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACd,MAAM,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,0BAA0B;iBACtE;aACJ,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,oBAAoB,EAAE;YAErD,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB,CAAC,EACxB,eAAe,EAOlB;QACG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YAExF,IAAI,qBAAqB,GAA2B,EAAE,CAAC;YAEvD,kBAAkB;YAClB,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;aAC5F;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uEAAuE,CAAC,CAAC;aACjG;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;aAAE;YAEhH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,oDAAoD;YACnG,IAAI,CAAC,UAAU,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAAE;YAC7G,qBAAqB;YAErB,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAgB,CAAC;YACpG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,IAAI,OAAO,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,6DAA6D,CAAC,CAAC;iBAAE;gBAClG,OAAO,EAAE,CAAC,CAAC,wBAAwB;aACtC;YAED,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,iBAAiB,wCAAwC,CAAC,CAAC;aAAE;YAEpH,iEAAiE;YACjE,sDAAsD;YACtD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;gBAC5C,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;gBAC/H,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uDAAuD,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,wCAAwC,CAAC,CAAC;aAC9M;YACD,qBAAqB,GAAG,mBAAmB,CAAC,MAAgC,CAAC;YAC7E,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;aAAE;YAEzK,OAAO,qBAAqB,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,YAAY,CAAC,GAAyD;QACjF,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;QACzC,IAAI;YACA,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;aAAE;YACxF,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;aAAE;YAE1H,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;aAAE;YAC3G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,kHAAkH;YAElH,sBAAsB;YACtB,8CAA8C;YAC9C,8DAA8D;YAC9D,kCAAkC;YAClC,MAAM;YAEN,0CAA0C;YAC1C,6DAA6D;YAC7D,oCAAoC;YACpC,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAK,CAAC,0BAA0B,EAAE;oBAC1D,IAAI,CAAC,QAAQ,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,oJAAoJ,CAAC,CAAC;qBACzK;oBACD,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjD,IAAI,IAAI,EAAE;wBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACH,IAAI,8BAA8B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BACrD,IAAI,OAAO,EAAE;gCAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,QAAQ,0GAA0G,CAAC,CAAC;6BAAE;yBAChL;6BAAM;4BACH,OAAO,CAAC,KAAK,CAAC,8EAA8E,QAAQ,iJAAiJ,CAAC,CAAC;yBAC1P;qBACJ;iBACJ;gBAED,iBAAiB;gBAEjB,uOAAuO;gBACvO,6CAA6C;gBAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;gBACpD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC9C,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE;wBAClE,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBAC7M;yBAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;wBACjF,MAAM,IAAI,KAAK,CAAC,mLAAmL,CAAC,CAAC;qBACxM;yBAAM;wBACH,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,MAA4B,CAAC;qBAClF;iBACJ;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC;wBAC5C,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU;qBAC5C,CAAC,CAAC;oBACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE;wBAC9D,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,IAAI,qDAAqD,CAAC,wCAAwC,CAAC,CAAC;qBACzM;yBAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE;wBAC7E,MAAM,IAAI,KAAK,CAAC,+KAA+K,CAAC,CAAC;qBACpM;yBAAM;wBACH,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,MAA4B,CAAC;qBAC9E;iBACJ;YACL,CAAC,CAAC;YAEF,4DAA4D;YAE5D,MAAM,sBAAsB,CAAC;gBACzB,KAAK,EAAE,OAAO;gBACd,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,GAAG;gBACf,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE,UAAU;gBACjB,gBAAgB,EAAE,mBAAmB,EAAE;gBACvC,EAAE;aACL,CAAC,CAAC;YAEH,iEAAiE;SACpE;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,OAAO,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aAAE;SACnD;IAEL,CAAC;CAEJ;AAED,oDAAoD;AACpD,UAAU,CAAC,GAAG,EAAE;IACZ,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,eAAe,CAAC;QACtB,SAAS,EAAE,qBAAqB,CAAC,IAAI;QACrC,mBAAmB,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;iBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAqB,CAAC,IAAI,EAAE;gBAC1D,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACvC,UAAU,EAAE,GAA2B;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aACnC;iBAAM;gBACH,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAA;aAC7B;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC,CAAC,CAAC;AAGH,MAAM,UAAU,mCAAmC,CAAC,EAChD,qBAAqB,EAGxB;IACG,MAAM,EAAE,GAAG,IAAI,mCAAmC,CAAC,IAAI,GAAG,CAAC;IAC3D,IAAI;QACA,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;SAAE;QACxF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC9D,0BAA0B;QAC1B,kEAAkE;QAClE,kEAAkE;QAClE,sBAAsB;QACtB,IAAI;QACJ,OAAO,qCAAqC,qBAAqB,+aAA+a,CAAC;KACpf;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;KACf;YAAS;QACN,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;SAAE;KACnD;AACL,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @module gemini-helpers.mts
|
|
3
|
+
*
|
|
4
|
+
* ## MIGRATION to @google/genai
|
|
5
|
+
*
|
|
6
|
+
* See migration notes in agent-witness-gemini.mts.
|
|
7
|
+
*/
|
|
8
|
+
import { FunctionCallPart, FunctionResponsePart } from "./gemini-types.mjs";
|
|
9
|
+
import { Content, FunctionCall } from "@google/genai";
|
|
2
10
|
import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
|
|
3
11
|
import { APIFunctionInfo } from "../../../api/api-types.mjs";
|
|
4
12
|
import { PromptInfo } from "../agent-types.mjs";
|
|
@@ -20,7 +28,6 @@ export declare function geminiFunctionCallToAPIFunctionInfo({ functionCall, }: {
|
|
|
20
28
|
/**
|
|
21
29
|
* Takes 0 or more entries and combines them into a single {@link Content}
|
|
22
30
|
* object that Gemini API expects for `systemInstruction` when using the fn
|
|
23
|
-
* {@link GoogleGenerativeAI.getGenerativeModel} (@see {@link ModelParams}).
|
|
24
31
|
*
|
|
25
32
|
* @param entries for system instruction, probably from {@link AgentWitnessGemini_V1.systemPromptParts}
|
|
26
33
|
* @returns undefined if no entries, else single Gemini API Content object with role === "user" and combined parts from {@link systemPromptEntries}
|
|
@@ -46,7 +53,7 @@ export declare function isFunctionCallRequestComment({ ibGib }: {
|
|
|
46
53
|
*
|
|
47
54
|
* @param {object} arg - Arguments object.
|
|
48
55
|
* @param {FunctionInfoIbGib_V1} arg.functionInfoIbGib - The FunctionInfoIbGib_V1 instance containing function call details.
|
|
49
|
-
* @returns {{ call:
|
|
56
|
+
* @returns {{ call: Part; response: Part }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
|
|
50
57
|
* @throws {Error} If there's an error during the process, such as missing function name or arguments.
|
|
51
58
|
*/
|
|
52
59
|
export declare function getFunctionCallAndResponseParts({ functionInfoIbGib, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-helpers.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/gemini-helpers.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gemini-helpers.d.mts","sourceRoot":"","sources":["../../../../src/witness/agent/gemini/gemini-helpers.mts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAG,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAqC,UAAU,EAAG,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAwC,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAInF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAe9D;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,gBAAgB,CAE7E;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,EAChD,YAAY,GACf,EAAE;IACC,YAAY,EAAE,YAAY,CAAA;CAC7B,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAWvC;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,CAAC,EAC1D,mBAAmB,GACtB,EAAE;IACC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;CAChD,GAAG,OAAO,GAAG,SAAS,CAwBtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CA0CpF;AAGD;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,iBAAiB,GACpB,EAAE;IACC,iBAAiB,EAAE,oBAAoB,CAAC;CAC3C,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CA8C7D"}
|
|
@@ -38,6 +38,9 @@ export function isPromptInfoGemini(info) {
|
|
|
38
38
|
*/
|
|
39
39
|
export function geminiFunctionCallToAPIFunctionInfo({ functionCall, }) {
|
|
40
40
|
const lc = `[${geminiFunctionCallToAPIFunctionInfo.name}]`;
|
|
41
|
+
if (!functionCall.name) {
|
|
42
|
+
throw new Error(`(UNEXPECTED) functionCall.name is falsy? (E: b2c638cf22f88493d823e7e9915fd625)`);
|
|
43
|
+
}
|
|
41
44
|
const functionInfo = getAllFunctionInfos().get(functionCall.name);
|
|
42
45
|
if (!functionInfo) {
|
|
43
46
|
throw new Error(`${lc} no APIFunctionInfo found matching name: ${functionCall.name} (E: 7c5c7c17988a666a86e72299630c7f25)`);
|
|
@@ -50,7 +53,6 @@ export function geminiFunctionCallToAPIFunctionInfo({ functionCall, }) {
|
|
|
50
53
|
/**
|
|
51
54
|
* Takes 0 or more entries and combines them into a single {@link Content}
|
|
52
55
|
* object that Gemini API expects for `systemInstruction` when using the fn
|
|
53
|
-
* {@link GoogleGenerativeAI.getGenerativeModel} (@see {@link ModelParams}).
|
|
54
56
|
*
|
|
55
57
|
* @param entries for system instruction, probably from {@link AgentWitnessGemini_V1.systemPromptParts}
|
|
56
58
|
* @returns undefined if no entries, else single Gemini API Content object with role === "user" and combined parts from {@link systemPromptEntries}
|
|
@@ -71,7 +73,9 @@ export function systemPromptEntriesToSystemInstructionContent({ systemPromptEntr
|
|
|
71
73
|
}
|
|
72
74
|
const sysInstructionContent = {
|
|
73
75
|
role: "user",
|
|
74
|
-
parts: systemPromptEntries
|
|
76
|
+
parts: systemPromptEntries
|
|
77
|
+
.filter(entry => !!entry.content.parts)
|
|
78
|
+
.flatMap(entry => entry.content.parts),
|
|
75
79
|
};
|
|
76
80
|
if (logalot) {
|
|
77
81
|
console.log(`${lc} sysInstructionContent: ${pretty(sysInstructionContent)} (I: 011e5b865c23eb0b640df3f464ac2525)`);
|
|
@@ -159,7 +163,7 @@ export function isFunctionCallRequestComment({ ibGib }) {
|
|
|
159
163
|
*
|
|
160
164
|
* @param {object} arg - Arguments object.
|
|
161
165
|
* @param {FunctionInfoIbGib_V1} arg.functionInfoIbGib - The FunctionInfoIbGib_V1 instance containing function call details.
|
|
162
|
-
* @returns {{ call:
|
|
166
|
+
* @returns {{ call: Part; response: Part }} - An object containing both FunctionCallPart and FunctionResponsePart objects.
|
|
163
167
|
* @throws {Error} If there's an error during the process, such as missing function name or arguments.
|
|
164
168
|
*/
|
|
165
169
|
export function getFunctionCallAndResponseParts({ functionInfoIbGib, }) {
|