@guava-ai/guava-sdk 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { type AgentSpeechEvent, type BotSessionEnded, type CallerSpeechEvent, type DTMFPressedEvent, type EscalateEvent } from "./events.ts";
1
+ import { type AgentSpeechEvent, type BotSessionEnded, type CallerSpeechEvent, type DTMFPressedEvent, type EscalateEvent, type OutboundCallFailed } from "./events.ts";
2
2
  import { HealthContext } from "./health.ts";
3
3
  import { Call, Client } from "./index.ts";
4
4
  import type { CallInfo } from "./socket/call-info.ts";
@@ -51,6 +51,7 @@ export declare class Agent {
51
51
  private _onSessionEnd?;
52
52
  private _onEscalate?;
53
53
  private _onDtmf?;
54
+ private _onOutboundFailed?;
54
55
  constructor(args?: {
55
56
  name?: string;
56
57
  organization?: string;
@@ -73,6 +74,7 @@ export declare class Agent {
73
74
  onSessionEnd(callback: (call: Call, event: BotSessionEnded) => Promise<void>): void;
74
75
  onEscalate(callback: (call: Call, event: EscalateEvent) => Promise<void>): void;
75
76
  onDtmf(callback: (call: Call, event: DTMFPressedEvent) => Promise<void>): void;
77
+ onOutboundFailed(callback: (event: OutboundCallFailed) => Promise<void>): void;
76
78
  get handlers(): {
77
79
  onCallReceived: (callInfo: CallInfo) => Promise<IncomingCallAction>;
78
80
  onCallStart: (call: Call) => Promise<void>;
@@ -90,6 +92,7 @@ export declare class Agent {
90
92
  listenWebrtc(webrtcCode?: string): Promise<void>;
91
93
  listenSip(sipCode: string): Promise<void>;
92
94
  callLocal(): Promise<void>;
95
+ private _invokeHandler;
93
96
  private _dispatchEvent;
94
97
  _initCall(callId: string, callInfo: CallInfo, variables?: Record<string, any>): Promise<Call>;
95
98
  _attachToCall(callId: string, callInfo: CallInfo, initialVariables?: Record<string, any>, testSession?: TestSession, route?: string): Promise<void>;
package/dist/src/agent.js CHANGED
@@ -182,6 +182,7 @@ let Agent = (() => {
182
182
  _onSessionEnd;
183
183
  _onEscalate;
184
184
  _onDtmf;
185
+ _onOutboundFailed;
185
186
  constructor(args) {
186
187
  this._name = args?.name;
187
188
  this._organization = args?.organization;
@@ -249,6 +250,9 @@ let Agent = (() => {
249
250
  onDtmf(callback) {
250
251
  this._onDtmf = callback;
251
252
  }
253
+ onOutboundFailed(callback) {
254
+ this._onOutboundFailed = callback;
255
+ }
252
256
  get handlers() {
253
257
  return {
254
258
  onCallReceived: (callInfo) => this._onCallReceived(callInfo),
@@ -372,15 +376,29 @@ let Agent = (() => {
372
376
  });
373
377
  await (0, webrtc_helper_ts_1.runWebrtcHelper)(webrtcCode, (0, utils_ts_1.getBaseUrl)());
374
378
  }
379
+ async _invokeHandler(call, name, informAgent, handler) {
380
+ try {
381
+ await handler();
382
+ }
383
+ catch (err) {
384
+ this._logger.error(`An error occurred in the ${name} handler.`, err);
385
+ if (informAgent) {
386
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
387
+ command_type: "expert-error",
388
+ message: `The expert encountered an error while processing ${name}`,
389
+ });
390
+ }
391
+ }
392
+ }
375
393
  async _dispatchEvent(call, event, testSession) {
376
394
  if (event.event_type === "caller-speech") {
377
395
  if (this._onCallerSpeech !== undefined) {
378
- await this._onCallerSpeech(call, event);
396
+ await this._invokeHandler(call, "onCallerSpeech", false, () => this._onCallerSpeech(call, event));
379
397
  }
380
398
  }
381
399
  else if (event.event_type === "agent-speech") {
382
400
  if (this._onAgentSpeech !== undefined) {
383
- await this._onAgentSpeech(call, event);
401
+ await this._invokeHandler(call, "onAgentSpeech", false, () => this._onAgentSpeech(call, event));
384
402
  }
385
403
  }
386
404
  else if (event.event_type === "task-done") {
@@ -400,20 +418,29 @@ let Agent = (() => {
400
418
  }
401
419
  else {
402
420
  this._logger.info(`Task ${event.task_id} completed.`);
403
- if (this._onTaskCompleteGeneric !== undefined) {
404
- await this._onTaskCompleteGeneric(call, event.task_id);
405
- }
406
- else if (event.task_id in this._onTaskCompleteHandlers) {
407
- await this._onTaskCompleteHandlers[event.task_id](call);
421
+ try {
422
+ if (this._onTaskCompleteGeneric !== undefined) {
423
+ await this._onTaskCompleteGeneric(call, event.task_id);
424
+ }
425
+ else if (event.task_id in this._onTaskCompleteHandlers) {
426
+ await this._onTaskCompleteHandlers[event.task_id](call);
427
+ }
428
+ else {
429
+ this._logger.warn(`No handler registered for completion of task '${event.task_id}'`);
430
+ }
408
431
  }
409
- else {
410
- this._logger.warn(`No handler registered for completion of task '${event.task_id}'`);
432
+ catch (err) {
433
+ this._logger.error(`An error occurred in the on_task_complete('${event.task_id}') handler.`, err);
434
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
435
+ command_type: "expert-error",
436
+ message: `The expert encountered an error while processing on_task_complete('${event.task_id}') - the task has failed.`,
437
+ });
411
438
  }
412
439
  }
413
440
  }
414
441
  else if (event.event_type === "agent-question") {
442
+ this._logger.info(`Received question from bot: ${event.question}`);
415
443
  if (this._onQuestion !== undefined) {
416
- this._logger.info(`Received question from bot: ${event.question}`);
417
444
  let answer;
418
445
  try {
419
446
  answer = await this._onQuestion(call, event.question);
@@ -439,34 +466,59 @@ let Agent = (() => {
439
466
  }
440
467
  else if (event.event_type === "action-item-done") {
441
468
  call._fieldValues[event.key] = event.payload;
469
+ if (event.key && event.payload) {
470
+ this._logger.info(`Field ${event.key} updated.`);
471
+ }
442
472
  }
443
473
  else if (event.event_type === "choice-query") {
444
474
  this._logger.info(`Received search query for field '${event.field_key}': ${event.query}`);
445
475
  const handler = this._searchQueryHandlers[event.field_key];
446
476
  if (handler === undefined) {
447
477
  this._logger.warn(`Search query arrived for field '${event.field_key}' with no handler attached.`);
478
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
479
+ command_type: "expert-error",
480
+ message: `The expert failed to handle on_search_query('${event.field_key}'). No results will be forthcoming.`,
481
+ });
448
482
  }
449
483
  else {
450
- const [matchedChoices, otherChoices] = await handler(call, event.query);
451
- await call.sendCommand(commands_ts_1.ChoiceResultCommand, {
452
- command_type: "choice-query-result",
453
- field_key: event.field_key,
454
- query_id: event.query_id,
455
- matched_choices: matchedChoices,
456
- other_choices: otherChoices,
457
- });
484
+ try {
485
+ const [matchedChoices, otherChoices] = await handler(call, event.query);
486
+ await call.sendCommand(commands_ts_1.ChoiceResultCommand, {
487
+ command_type: "choice-query-result",
488
+ field_key: event.field_key,
489
+ query_id: event.query_id,
490
+ matched_choices: matchedChoices,
491
+ other_choices: otherChoices,
492
+ });
493
+ }
494
+ catch (err) {
495
+ this._logger.error(`An error occurred in the on_search_query('${event.field_key}') handler.`, err);
496
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
497
+ command_type: "expert-error",
498
+ message: `The expert encountered an error while processing the on_search_query('${event.field_key}') handler. No results will be forthcoming.`,
499
+ });
500
+ }
458
501
  }
459
502
  }
460
503
  else if (event.event_type === "action-request") {
461
504
  this._logger.info(`Received action request ${event.intent_id}: ${event.intent_summary}`);
462
505
  let suggestions = [];
463
506
  if (this._onActionRequested !== undefined) {
464
- const result = await this._onActionRequested(call, event.intent_summary);
465
- if (Array.isArray(result)) {
466
- suggestions = result;
507
+ try {
508
+ const result = await this._onActionRequested(call, event.intent_summary);
509
+ if (Array.isArray(result)) {
510
+ suggestions = result;
511
+ }
512
+ else if (result !== null && result !== undefined) {
513
+ suggestions = [result];
514
+ }
467
515
  }
468
- else if (result !== null && result !== undefined) {
469
- suggestions = [result];
516
+ catch (err) {
517
+ this._logger.error("An error occurred in the onActionRequest handler.", err);
518
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
519
+ command_type: "expert-error",
520
+ message: "The expert encountered an error while processing the on_action_request handler.",
521
+ });
470
522
  }
471
523
  }
472
524
  await call.sendCommand(commands_ts_1.ActionSuggestionCommand, {
@@ -488,7 +540,16 @@ let Agent = (() => {
488
540
  onActionFunc = () => this._onActionHandlers[event.action_key](call);
489
541
  }
490
542
  if (onActionFunc !== undefined) {
491
- await onActionFunc();
543
+ try {
544
+ await onActionFunc();
545
+ }
546
+ catch (err) {
547
+ this._logger.error(`An error occurred in the on_action('${event.action_key}') handler.`, err);
548
+ await call.sendCommand(commands_ts_1.ExpertErrorCommand, {
549
+ command_type: "expert-error",
550
+ message: `The expert encountered an error while processing the on_action('${event.action_key}') handler.`,
551
+ });
552
+ }
492
553
  }
493
554
  else {
494
555
  this._logger.warn(`No handler registered for action '${event.action_key}'`);
@@ -499,16 +560,18 @@ let Agent = (() => {
499
560
  if (testSession) {
500
561
  testSession.terminationReason = event.termination_reason;
501
562
  }
502
- await this._onSessionEnd?.(call, event);
563
+ if (this._onSessionEnd !== undefined) {
564
+ await this._invokeHandler(call, "onSessionEnd", false, () => this._onSessionEnd(call, event));
565
+ }
503
566
  }
504
567
  else if (event.event_type === "dtmf") {
505
568
  if (this._onDtmf !== undefined) {
506
- await this._onDtmf(call, event);
569
+ await this._invokeHandler(call, "onDtmf", false, () => this._onDtmf(call, event));
507
570
  }
508
571
  }
509
572
  else if (event.event_type === "escalate") {
510
573
  if (this._onEscalate !== undefined) {
511
- await this._onEscalate(call, event);
574
+ await this._invokeHandler(call, "onEscalate", true, () => this._onEscalate(call, event));
512
575
  }
513
576
  else if (event.requested_by === "agent") {
514
577
  await call.sendInstruction("No escalation target set. Apologize for not being able to help, ask them to try calling another time, and hang up the call immediately.");
@@ -517,6 +580,12 @@ let Agent = (() => {
517
580
  await call.sendInstruction("Let them know there are no representatives available to take their call. Ask them if they would prefer to continue or to call another time.");
518
581
  }
519
582
  }
583
+ else if (event.event_type === "outbound-call-failed") {
584
+ this._logger.error(`Outbound call failed: ${event.error_reason}`);
585
+ if (this._onOutboundFailed !== undefined) {
586
+ await this._invokeHandler(call, "onOutboundFailed", false, () => this._onOutboundFailed(event));
587
+ }
588
+ }
520
589
  else if (event.event_type === "error") {
521
590
  this._logger.error(`The Guava agent reported an error: ${event.content}`);
522
591
  }
@@ -847,6 +916,7 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
847
916
  cloned._onSessionEnd = this._onSessionEnd;
848
917
  cloned._onEscalate = this._onEscalate;
849
918
  cloned._onDtmf = this._onDtmf;
919
+ cloned._onOutboundFailed = this._onOutboundFailed;
850
920
  return cloned;
851
921
  }
852
922
  async _serveCampaign(healthCtx, campaignCode) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2B;AAC3B,+CAOuB;AACvB,2CASqB;AACrB,mEAIiC;AACjC,2CAA6D;AAC7D,6CAA6C;AAC7C,yCAA0C;AAC1C,6CAA6D;AAE7D,kDAAyE;AACzE,0EAA4D;AAC5D,iDAAiD;AACjD,+CAA4C;AAC5C,uDAAuD;AACvD,qDAAmD;AACnD,uCAAyB;AACzB,yCAAsD;AACtD,yDAAqD;AAExC,QAAA,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;IAiBU,KAAK;4BADjB,8BAAe,CAAC,UAAU,EAAE;;;;;;;;YAC7B,6KAm6BC;;;YAn6BY,uDAAK;;QACR,KAAK,CAAU;QACf,aAAa,CAAU;QACvB,QAAQ,CAAU;QAClB,MAAM,CAAU;QAChB,qBAAqB,CAAU;QAC/B,OAAO,CAAS;QAExB,OAAO,GAAW,IAAI,iBAAM,EAAE,CAAC;QAEvB,eAAe,GAAwD,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1F,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACK,YAAY,CAAiC;QAC7C,eAAe,CAA2D;QAC1E,cAAc,CAA0D;QACxE,WAAW,CAAqD;QAChE,sBAAsB,CAAiD;QACvE,uBAAuB,GAAkD,EAAE,CAAC;QAC5E,oBAAoB,GAGxB,EAAE,CAAC;QACC,kBAAkB,CAG2C;QAC7D,gBAAgB,CAAoD;QACpE,iBAAiB,GAAkD,EAAE,CAAC;QACtE,mBAAmB,GAGvB,EAAE,CAAC;QACC,aAAa,CAAyD;QACtE,WAAW,CAAuD;QAClE,OAAO,CAA0D;QACjE,iBAAiB,CAAgD;QAEzE,YAAY,IAMX;YACC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,YAAY,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,OAAO,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC;YAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;YACtD,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAgB,GAAE,CAAC;QACpC,CAAC;QAED,cAAc,CAAC,QAA6D;YAC1E,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,QAAuC;YACjD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,cAAc,CAAC,QAAiE;YAC9E,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,aAAa,CAAC,QAAgE;YAC5E,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QACjC,CAAC;QAED,UAAU,CAAC,QAA2D;YACpE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAID,cAAc,CACZ,kBAA4E,EAC5E,QAAwC;YAExC,MAAM,MAAM,GAAG,qEAAqE,CAAC;YACrF,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvE,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,GAAG,QAAS,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClF,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC;YACnD,CAAC;QACH,CAAC;QAED,UAAU,CACR,QAAgB,EAChB,QAAyE;YAEzE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAChD,CAAC;QAED,aAAa,CACX,QAAgB,EAChB,QAAsE;YAEtE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACjD,CAAC;QAED,eAAe,CACb,QAGoE;YAEpE,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACrC,CAAC;QAID,QAAQ,CACN,mBAAgF,EAChF,QAAwC;YAExC,MAAM,MAAM,GAAG,iEAAiE,CAAC;YACjF,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,QAAS,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5E,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,YAAY,CAAC,QAA+D;YAC1E,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC;QAED,UAAU,CAAC,QAA6D;YACtE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAED,MAAM,CAAC,QAAgE;YACrE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAED,gBAAgB,CAAC,QAAsD;YACrE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACpC,CAAC;QAED,IAAI,QAAQ;YACV,OAAO;gBACL,cAAc,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;gBACtE,WAAW,EAAE,CAAC,IAAU,EAAE,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,cAAc,EAAE,CAAC,IAAU,EAAE,KAAwB,EAAE,EAAE;oBACvD,IAAI,CAAC,IAAI,CAAC,eAAe;wBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBACpF,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBACD,aAAa,EAAE,CAAC,IAAU,EAAE,KAAuB,EAAE,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,cAAc;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAClF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,UAAU,EAAE,CAAC,IAAU,EAAE,QAAgB,EAAE,EAAE;oBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;wBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,cAAc,EAAE,CAAC,MAAc,EAAE,IAAU,EAAE,EAAE;oBAC7C,IAAI,IAAI,CAAC,sBAAsB;wBAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAClF,IAAI,MAAM,IAAI,IAAI,CAAC,uBAAuB;wBACxC,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,IAAI,CAAC,CAAC;gBAChF,CAAC;gBACD,aAAa,EAAE,CAAC,QAAgB,EAAE,IAAU,EAAE,KAAa,EAAE,EAAE;oBAC7D,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,kDAAkD,QAAQ,IAAI,CAAC,CAAC;oBAClF,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC;gBACD,eAAe,EAAE,CAAC,IAAU,EAAE,aAAqB,EAAE,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,kBAAkB;wBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACxF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACtD,CAAC;gBACD,QAAQ,EAAE,CAAC,SAAiB,EAAE,IAAU,EAAE,EAAE;oBAC1C,IAAI,IAAI,CAAC,gBAAgB;wBAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACzE,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxF,MAAM,IAAI,KAAK,CAAC,8CAA8C,SAAS,IAAI,CAAC,CAAC;gBAC/E,CAAC;gBACD,YAAY,EAAE,CAAC,IAAU,EAAE,KAAsB,EAAE,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,aAAa;wBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBAChF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC;aACF,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,QAA6D;YACzE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACjD,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAW,CAAC;gBAC7E,MAAM,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,WAAmB;;;gBACnC,MAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;gBACtC,MAAY,OAAO,kCAAG,MAAM,IAAA,2BAAe,EAAC,SAAS,CAAC,OAAA,CAAC;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;;;;;;;;;;;SACtE;QAED,KAAK,CAAC,YAAY,CAAC,UAAmB;;;gBACpC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;oBACxE,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;gBACtC,MAAY,OAAO,kCAAG,MAAM,IAAA,2BAAe,EAAC,SAAS,CAAC,OAAA,CAAC;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;;;;;;;;;;;SACpE;QAED,KAAK,CAAC,SAAS,CAAC,OAAe;;;gBAC7B,MAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;gBACtC,MAAY,OAAO,kCAAG,MAAM,IAAA,2BAAe,EAAC,SAAS,CAAC,OAAA,CAAC;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;;;;;;;;;;;SAC9D;QAED,KAAK,CAAC,SAAS;YACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7D,mCAAmC;YACnC,IAAI,CAAC,cAAc,CAAC,IAAI,yBAAa,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,MAAM,IAAA,kCAAe,EAAC,UAAU,EAAE,IAAA,qBAAU,GAAE,CAAC,CAAC;QAClD,CAAC;QAEO,KAAK,CAAC,cAAc,CAC1B,IAAU,EACV,IAAY,EACZ,WAAoB,EACpB,OAA4B;YAE5B,IAAI,CAAC;gBACH,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;gBACrE,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;wBACzC,YAAY,EAAE,cAAc;wBAC5B,OAAO,EAAE,oDAAoD,IAAI,EAAE;qBACpE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAEO,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,KAAiB,EAAE,WAAyB;YACnF,IAAI,KAAK,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,CAC5D,IAAI,CAAC,eAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CACnC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAC3D,IAAI,CAAC,cAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACnD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;4BACpB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;4BACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;oBACtD,IAAI,CAAC;wBACH,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;4BAC9C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBACzD,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BACzD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,8CAA8C,KAAK,CAAC,OAAO,aAAa,EACxE,GAAG,CACJ,CAAC;wBACF,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;4BACzC,YAAY,EAAE,cAAc;4BAC5B,OAAO,EAAE,sEAAsE,KAAK,CAAC,OAAO,2BAA2B;yBACxH,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,IAAI,MAAc,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACxD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;wBACtE,MAAM,GAAG,2DAA2D,CAAC;oBACvE,CAAC;oBACD,MAAM,IAAI,CAAC,WAAW,CAAC,mCAAqB,EAAE;wBAC5C,YAAY,EAAE,iBAAiB;wBAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,8DAA8D,KAAK,CAAC,QAAQ,EAAE,CAC/E,CAAC;oBACF,MAAM,IAAI,CAAC,WAAW,CAAC,mCAAqB,EAAE;wBAC5C,YAAY,EAAE,iBAAiB;wBAC/B,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,MAAM,EAAE,0CAA0C;qBACnD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,kBAAkB,EAAE,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7C,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,mCAAmC,KAAK,CAAC,SAAS,6BAA6B,CAChF,CAAC;oBACF,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;wBACzC,YAAY,EAAE,cAAc;wBAC5B,OAAO,EAAE,gDAAgD,KAAK,CAAC,SAAS,qCAAqC;qBAC9G,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACxE,MAAM,IAAI,CAAC,WAAW,CAAC,iCAAmB,EAAE;4BAC1C,YAAY,EAAE,qBAAqB;4BACnC,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,eAAe,EAAE,cAAc;4BAC/B,aAAa,EAAE,YAAY;yBAC5B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,6CAA6C,KAAK,CAAC,SAAS,aAAa,EACzE,GAAG,CACJ,CAAC;wBACF,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;4BACzC,YAAY,EAAE,cAAc;4BAC5B,OAAO,EAAE,yEAAyE,KAAK,CAAC,SAAS,6CAA6C;yBAC/I,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzF,IAAI,WAAW,GAAsB,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;wBACzE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC1B,WAAW,GAAG,MAAM,CAAC;wBACvB,CAAC;6BAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACnD,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;wBAC7E,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;4BACzC,YAAY,EAAE,cAAc;4BAC5B,OAAO,EACL,iFAAiF;yBACpF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAuB,EAAE;oBAC9C,YAAY,EAAE,mBAAmB;oBACjC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;iBACpF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC5D,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,YAA+C,CAAC;gBACpD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACxC,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACtD,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,YAAY,EAAE,CAAC;oBACvB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,uCAAuC,KAAK,CAAC,UAAU,aAAa,EACpE,GAAG,CACJ,CAAC;wBACF,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAkB,EAAE;4BACzC,YAAY,EAAE,cAAc;4BAC5B,OAAO,EAAE,mEAAmE,KAAK,CAAC,UAAU,aAAa;yBAC1G,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,mBAAmB,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAChE,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBAC3D,CAAC;gBACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAC1D,IAAI,CAAC,aAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CACjC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5F,CAAC;qBAAM,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,eAAe,CACxB,yIAAyI,CAC1I,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,eAAe,CACxB,6IAA6I,CAC9I,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,CAC9D,IAAI,CAAC,iBAAkB,CAAC,KAAK,CAAC,CAC/B,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,QAAkB,EAClB,YAAiC,EAAE;YAEnC,MAAM,IAAI,GAAG,IAAI,eAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,UAAU,CAAC;gBACpB,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,aAAa;gBACpC,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,oCAAsB,EAAE;gBAC7C,YAAY,EAAE,kBAAkB;gBAChC,eAAe,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS;gBAC/C,aAAa,EAAE,KAAK;gBACpB,uBAAuB,EAAE,IAAI,CAAC,kBAAkB,KAAK,SAAS;gBAC9D,eAAe,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS;gBAC/C,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;aACpD,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,QAAkB,EAClB,mBAAwC,EAAE,EAC1C,WAAyB,EACzB,QAAgB,iBAAiB;;;gBAEjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC3E,MAAY,MAAM,kCAAG,MAAM,IAAI,uBAAW,CACxC,mBAAmB,MAAM,EAAE,EAC3B,GAAG,CAAC,QAAQ,EAAE,EACd,IAAI,CAAC,OAAO,EACZ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAyC,EAClD,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,2BAAe,EAAC,OAAO,CAAC,EACrC,KAAK,CACN,CAAC,OAAO,EAAE,OAAA,CAAC;gBAEZ,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACjC,IAAI,KAAK,KAAK,IAAI;4BAAE,SAAS;wBAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;wBACpD,IACE,KAAK,CAAC,UAAU,KAAK,mBAAmB;4BACxC,KAAK,CAAC,UAAU,KAAK,sBAAsB,EAC3C,CAAC;4BACD,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAC,YAAY,kCAAsB,CAAC;wBAAE,MAAM,CAAC,CAAC;gBACtD,CAAC;;;;;;;;;;;SACF;QAED,KAAK,CAAC,cAAc,CAAC,SAAwB,EAAE,IAAuB;YACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC1E,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC;;;oBACH,MAAY,MAAM,kCAAG,MAAM,IAAI,uBAAW,CAIxC,gBAAgB,EAChB,GAAG,CAAC,QAAQ,EAAE,EACd,IAAI,CAAC,OAAO,EACZ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAyC,EAClD,aAAa,CAAC,mBAAmB,CAClC,CAAC,OAAO,EAAE,OAAA,CAAC;oBAEZ,IAAI,CAAC;wBACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;4BAC/B,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC;gCACzB,KAAK,gBAAgB;oCACnB,SAAS,CAAC,KAAK,EAAE,CAAC;oCAClB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;wCAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,uCAAuC,EACvC,IAAI,CAAC,YAAY,EACjB,GAAG,CAAC,eAAe,CACpB,CAAC;oCACJ,CAAC;yCAAM,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;wCACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,mDAAmD,EACnD,IAAI,CAAC,WAAW,EAChB,GAAG,CAAC,eAAe,CACpB,CAAC;wCACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,4BAA4B,IAAI,CAAC,WAAW,EAAE,EAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CAAC;wCACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;oCACxD,CAAC;yCAAM,CAAC;wCACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,gDAAgD,EAChD,IAAI,CAAC,QAAQ,EACb,GAAG,CAAC,eAAe,CACpB,CAAC;oCACJ,CAAC;oCACD,MAAM;gCACR,KAAK,eAAe;oCAClB,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oCAClE,MAAM;gCACR,KAAK,aAAa,CAAC,CAAC,CAAC;oCACnB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;oCACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;oCAC7D,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wCACjE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oCAC1E,CAAC,CAAC,CAAC;oCACH,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,CAAC,CAAC,YAAY,kCAAsB,CAAC;4BAAE,MAAM,CAAC,CAAC;oBACtD,CAAC;;;;;;;;;;;aACF;oBAAS,CAAC;gBACT,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,QAAkB,EAClB,MAA6E,EAC7E,mBAAwC,EAAE;YAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,QAAgB,EAChB,YAAiC,EAAE;YAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAE5C,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;aACtC,CAAC,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;YAEnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAa;gBACzB,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,UAAU,IAAI,IAAI;gBAC/B,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;QAED;;;;;;;;;;;;;;;WAeG;QACH,KAAK,CAAC,IAAI,CACR,QAAiD,EACjD,YAAiC,EAAE;YAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAI,YAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7D,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACvD,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,4BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,wBAAW,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEtD,MAAM,YAAY,GAAa;gBAC7B,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CACtC,cAAc,CAAC,UAAU,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,CACZ,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,aAAa,CAAC;YACtB,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,KAAK,CAAC,QAAQ,CACZ,cAAsB,EACtB,YAAiC,EAAE;YAEnC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;wBAE5B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;4BACvD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gCACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;4BACxE,CAAC;wBACH,CAAC;wBACD,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;wBAErC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC3C,MAAM,MAAM,GAAG,GAAG,cAAc;;;;;EAKxC,UAAU,IAAI,gCAAgC;;gHAEgE,CAAC;wBAEvG,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,6BAAqB,CAAC,CAAC,CAAC;wBACzF,MAAM,MAAM,GAAG,6BAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAE5D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;4BAC1D,MAAM;wBACR,CAAC;wBAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;4BACvE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAK,GAAa,CAAC,OAAO,KAAK,+BAA+B,EAAE,CAAC;wBAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED,gDAAgD;QAChD,KAAK,CAAC,YAAY,CAChB,cAAsB,EACtB,YAAiC,EAAE;YAEnC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,IAAI,CAAC,YAAiC,EAAE;YAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;YACzB,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED;;;;;;WAMG;QACH,KAAK;YACH,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,UAAU,EAAE,IAAI,CAAC,qBAAqB;aACvC,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC9C,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACxC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC9C,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC5C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YAC5D,MAAM,CAAC,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrE,MAAM,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/D,MAAM,CAAC,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACpD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChD,MAAM,CAAC,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzD,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAClD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,SAAwB,EAAE,YAAoB;YACjE,IAAI,CAAC;;;oBACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;oBACxF,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAY,EAAC,WAAW,EAAE;wBACvD,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;qBACtC,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAiC,CAAC;oBAEjF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,qBAAqB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAEvF,MAAY,MAAM,kCAAG,MAAM,IAAI,uBAAW,CACxC,gBAAgB,EAChB,KAAK,CAAC,QAAQ,EAAE,EAChB,IAAI,CAAC,OAAO,EACZ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAyC,EAClD,2CAAyB,CAC1B,CAAC,OAAO,EAAE,OAAA,CAAC;oBAEZ,MAAM,WAAW,GAAoB,EAAE,CAAC;oBAExC,IAAI,CAAC;wBACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;4BAC/B,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC;gCACzB,KAAK,gBAAgB;oCACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oCACjF,SAAS,CAAC,KAAK,EAAE,CAAC;oCAClB,MAAM;gCACR,KAAK,0BAA0B,CAAC,CAAC,CAAC;oCAChC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;oCACtC,MAAM,IAAI,GAAG,YAA8C,CAAC;oCAC5D,MAAM,QAAQ,GAAI,IAAI,EAAE,YAAmC,IAAI,GAAG,CAAC;oCACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,gFAAgF,EAChF,OAAO,EACP,QAAQ,CACT,CAAC;oCACF,WAAW,CAAC,IAAI,CACd,CAAC,KAAK,IAAI,EAAE;wCACV,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;wCAC3D,MAAM,SAAS,GAAI,IAAI,EAAE,IAAgC,IAAI,EAAE,CAAC;wCAChE,MAAM,gBAAgB,GAAa;4CACjC,SAAS,EAAE,MAAM;4CACjB,WAAW,EAAE,IAAI;4CACjB,SAAS,EAAG,IAAI,EAAE,YAAuB,IAAI,EAAE;4CAC/C,SAAS,EAAE,IAAI;yCAChB,CAAC;wCACF,MAAM,IAAI,CAAC,aAAa,CACtB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,0BAA0B,CAC3B,CAAC;oCACJ,CAAC,CAAC,EAAE,CACL,CAAC;oCACF,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,CAAC,CAAC,YAAY,kCAAsB,CAAC;4BAAE,MAAM,CAAC,CAAC;wBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClE,CAAC;oBAED,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;aAChC;oBAAS,CAAC;gBACT,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED;;;;;;;;;;WAUG;QACH,KAAK,CAAC,cAAc,CAAC,YAAoB;;;gBACvC,MAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;gBACtC,MAAY,OAAO,kCAAG,MAAM,IAAA,2BAAe,EAAC,SAAS,CAAC,OAAA,CAAC;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;;;;;;;;;;;SACrD;QAED,sDAAsD;QACtD,mDAAmD;QACnD,KAAK,CAAC,YAAY,CAAC,WAAmB;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,iDAAiD;QACjD,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,QAAgB,EAAE,YAAiC,EAAE;YAC3F,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;;;;AAl6BU,sBAAK"}
@@ -142,6 +142,11 @@ export declare const SetAgentDTMFCommand: z.ZodObject<{
142
142
  enabled: z.ZodBoolean;
143
143
  }, z.core.$strict>;
144
144
  export type SetAgentDTMFCommand = z.input<typeof SetAgentDTMFCommand>;
145
+ export declare const ExpertErrorCommand: z.ZodObject<{
146
+ command_type: z.ZodLiteral<"expert-error">;
147
+ message: z.ZodString;
148
+ }, z.core.$strict>;
149
+ export type ExpertErrorCommand = z.input<typeof ExpertErrorCommand>;
145
150
  export declare const AnyCommand: z.ZodUnion<readonly [z.ZodObject<{
146
151
  command_type: z.ZodLiteral<"start-outbound">;
147
152
  from_number: z.ZodOptional<z.ZodE164>;
@@ -240,6 +245,9 @@ export declare const AnyCommand: z.ZodUnion<readonly [z.ZodObject<{
240
245
  }, z.core.$strict>, z.ZodObject<{
241
246
  command_type: z.ZodLiteral<"set-agent-dtmf">;
242
247
  enabled: z.ZodBoolean;
248
+ }, z.core.$strict>, z.ZodObject<{
249
+ command_type: z.ZodLiteral<"expert-error">;
250
+ message: z.ZodString;
243
251
  }, z.core.$strict>]>;
244
252
  export type Command = z.input<typeof AnyCommand>;
245
253
  export declare const InboundTunnelCommand: z.ZodObject<{
@@ -342,6 +350,9 @@ export declare const InboundTunnelCommand: z.ZodObject<{
342
350
  }, z.core.$strict>, z.ZodObject<{
343
351
  command_type: z.ZodLiteral<"set-agent-dtmf">;
344
352
  enabled: z.ZodBoolean;
353
+ }, z.core.$strict>, z.ZodObject<{
354
+ command_type: z.ZodLiteral<"expert-error">;
355
+ message: z.ZodString;
345
356
  }, z.core.$strict>]>;
346
357
  }, z.core.$strict>;
347
358
  export type InboundTunnelCommand = z.input<typeof InboundTunnelCommand>;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.InboundTunnelCommand = exports.AnyCommand = exports.SetAgentDTMFCommand = exports.RetryTaskCommand = exports.ChoiceResultCommand = exports.ActionSuggestionCommand = exports.ActionCandidate = exports.RegisteredHooksCommand = exports.TransferCommand = exports.SendInstructionCommand = exports.SetLanguageModeCommand = exports.Language = exports.SetPersona = exports.AnswerQuestionCommand = exports.ReadScriptCommand = exports.SetTaskCommand = exports.AcceptInboundCallCommand = exports.RejectInboundCallCommand = exports.ListenInboundCommand = exports.StartOutboundCallCommand = void 0;
36
+ exports.InboundTunnelCommand = exports.AnyCommand = exports.ExpertErrorCommand = exports.SetAgentDTMFCommand = exports.RetryTaskCommand = exports.ChoiceResultCommand = exports.ActionSuggestionCommand = exports.ActionCandidate = exports.RegisteredHooksCommand = exports.TransferCommand = exports.SendInstructionCommand = exports.SetLanguageModeCommand = exports.Language = exports.SetPersona = exports.AnswerQuestionCommand = exports.ReadScriptCommand = exports.SetTaskCommand = exports.AcceptInboundCallCommand = exports.RejectInboundCallCommand = exports.ListenInboundCommand = exports.StartOutboundCallCommand = void 0;
37
37
  const z = __importStar(require("zod"));
38
38
  const action_item_ts_1 = require("./action-item.js");
39
39
  exports.StartOutboundCallCommand = z.strictObject({
@@ -127,6 +127,10 @@ exports.SetAgentDTMFCommand = z.strictObject({
127
127
  command_type: z.literal("set-agent-dtmf"),
128
128
  enabled: z.boolean(),
129
129
  });
130
+ exports.ExpertErrorCommand = z.strictObject({
131
+ command_type: z.literal("expert-error"),
132
+ message: z.string(),
133
+ });
130
134
  exports.AnyCommand = z.union([
131
135
  exports.StartOutboundCallCommand,
132
136
  exports.ListenInboundCommand,
@@ -144,6 +148,7 @@ exports.AnyCommand = z.union([
144
148
  exports.ActionSuggestionCommand,
145
149
  exports.RetryTaskCommand,
146
150
  exports.SetAgentDTMFCommand,
151
+ exports.ExpertErrorCommand,
147
152
  ]);
148
153
  exports.InboundTunnelCommand = z.strictObject({
149
154
  call_id: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.25.0";
1
+ export declare const SDK_VERSION = "0.26.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.25.0";
4
+ exports.SDK_VERSION = "0.26.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,8 +1,9 @@
1
1
  # Examples
2
2
 
3
- - [example.test.ts](./example.test.ts) - Agent testing example demonstrating `agent.test()`, `agent.testRoleplay()`, `agent.patch()`, and `session.evaluate()` for unit testing handlers, scripted conversation flows, LLM-driven roleplay, and natural-language pass/fail evaluation.
4
- - [help-desk.ts](./help-desk.ts) - An inbound call agent for a furniture retailer that uses `DocumentQA` for RAG-based question answering and `IntentRecognizer` to classify caller intent and route to the appropriate department.
5
- - [polling-campaign.ts](./polling-campaign.ts) - Attaches a political polling agent to an existing Guava campaign via `attachCampaign()`, uses `reachPerson()` to confirm availability, then conducts a structured poll with text and multiple-choice fields.
6
- - [property-insurance.ts](./property-insurance.ts) - A simple inbound call agent that uses `DocumentQA` and RAG to answer questions about a property insurance policy.
7
- - [restaurant-waitlist.ts](./restaurant-waitlist.ts) - An inbound call agent that collects a caller's name, party size, and phone number to add them to a restaurant waitlist using a structured task checklist.
8
- - [scheduling-outbound.ts](./scheduling-outbound.ts) - An outbound call agent for a dental office that calls patients to schedule appointments, using `reachPerson()` for human detection and `DatetimeFilter` for searchable calendar slot availability.
3
+ - [agent-testing.test.ts](./agent-testing.test.ts) - Test suite for the help-desk agent demonstrating `agent.test()`, `agent.testRoleplay()`, `agent.patch()`, handler unit tests with `MockCall`, and LLM-evaluated assertions with `session.evaluate()`.
4
+ - [help-desk.ts](./help-desk.ts) - Inbound call agent for a furniture retailer that uses `DocumentQA` for RAG-backed question answering and `IntentRecognizer` to route callers to the correct department (sales, delivery, account management).
5
+ - [multiple-agents.ts](./multiple-agents.ts) - Demonstrates running two independent agents simultaneously on different connection types (phone and WebRTC) using a shared `Runner`.
6
+ - [polling-campaign.ts](./polling-campaign.ts) - Outbound campaign agent that conducts a non-partisan political opinion poll, uses `reachPerson` to confirm contact availability, and collects structured responses via a task checklist.
7
+ - [property-insurance.ts](./property-insurance.ts) - Inbound call agent for a property insurance company that uses `DocumentQA` to answer policy questions from a knowledge base.
8
+ - [restaurant-waitlist.ts](./restaurant-waitlist.ts) - Inbound call agent for a restaurant that collects caller name, party size, and phone number to add callers to a waitlist using a structured task.
9
+ - [scheduling-outbound.ts](./scheduling-outbound.ts) - Outbound call agent for a dental office that uses `reachPerson` to confirm contact availability, then schedules appointments using a searchable calendar-slot field backed by `DatetimeFilter`.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@guava-ai/guava-sdk",
3
3
  "description": "The official TypeScript SDK for building Guava voice agents.",
4
4
  "homepage": "https://docs.goguava.ai/typescript-sdk/",
5
- "version": "0.25.0",
5
+ "version": "0.26.0",
6
6
  "type": "commonjs",
7
7
  "main": "dist/src/index.js",
8
8
  "types": "dist/src/index.d.ts",
package/src/agent.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  AnswerQuestionCommand,
5
5
  ChoiceResultCommand,
6
6
  type Command,
7
+ ExpertErrorCommand,
7
8
  RegisteredHooksCommand,
8
9
  } from "./commands.ts";
9
10
  import {
@@ -13,6 +14,7 @@ import {
13
14
  type DTMFPressedEvent,
14
15
  type EscalateEvent,
15
16
  type GuavaEvent,
17
+ type OutboundCallFailed,
16
18
  decodeEventDict,
17
19
  } from "./events.ts";
18
20
  import {
@@ -91,6 +93,7 @@ export class Agent {
91
93
  private _onSessionEnd?: (call: Call, event: BotSessionEnded) => Promise<void>;
92
94
  private _onEscalate?: (call: Call, event: EscalateEvent) => Promise<void>;
93
95
  private _onDtmf?: (call: Call, event: DTMFPressedEvent) => Promise<void>;
96
+ private _onOutboundFailed?: (event: OutboundCallFailed) => Promise<void>;
94
97
 
95
98
  constructor(args?: {
96
99
  name?: string;
@@ -194,6 +197,10 @@ export class Agent {
194
197
  this._onDtmf = callback;
195
198
  }
196
199
 
200
+ onOutboundFailed(callback: (event: OutboundCallFailed) => Promise<void>): void {
201
+ this._onOutboundFailed = callback;
202
+ }
203
+
197
204
  get handlers() {
198
205
  return {
199
206
  onCallReceived: (callInfo: CallInfo) => this._onCallReceived(callInfo),
@@ -278,14 +285,37 @@ export class Agent {
278
285
  await runWebrtcHelper(webrtcCode, getBaseUrl());
279
286
  }
280
287
 
288
+ private async _invokeHandler(
289
+ call: Call,
290
+ name: string,
291
+ informAgent: boolean,
292
+ handler: () => Promise<void>,
293
+ ): Promise<void> {
294
+ try {
295
+ await handler();
296
+ } catch (err) {
297
+ this._logger.error(`An error occurred in the ${name} handler.`, err);
298
+ if (informAgent) {
299
+ await call.sendCommand(ExpertErrorCommand, {
300
+ command_type: "expert-error",
301
+ message: `The expert encountered an error while processing ${name}`,
302
+ });
303
+ }
304
+ }
305
+ }
306
+
281
307
  private async _dispatchEvent(call: Call, event: GuavaEvent, testSession?: TestSession) {
282
308
  if (event.event_type === "caller-speech") {
283
309
  if (this._onCallerSpeech !== undefined) {
284
- await this._onCallerSpeech(call, event);
310
+ await this._invokeHandler(call, "onCallerSpeech", false, () =>
311
+ this._onCallerSpeech!(call, event),
312
+ );
285
313
  }
286
314
  } else if (event.event_type === "agent-speech") {
287
315
  if (this._onAgentSpeech !== undefined) {
288
- await this._onAgentSpeech(call, event);
316
+ await this._invokeHandler(call, "onAgentSpeech", false, () =>
317
+ this._onAgentSpeech!(call, event),
318
+ );
289
319
  }
290
320
  } else if (event.event_type === "task-done") {
291
321
  const errors: string[] = [];
@@ -304,17 +334,28 @@ export class Agent {
304
334
  await call.retryTask(errors.join(" "));
305
335
  } else {
306
336
  this._logger.info(`Task ${event.task_id} completed.`);
307
- if (this._onTaskCompleteGeneric !== undefined) {
308
- await this._onTaskCompleteGeneric(call, event.task_id);
309
- } else if (event.task_id in this._onTaskCompleteHandlers) {
310
- await this._onTaskCompleteHandlers[event.task_id](call);
311
- } else {
312
- this._logger.warn(`No handler registered for completion of task '${event.task_id}'`);
337
+ try {
338
+ if (this._onTaskCompleteGeneric !== undefined) {
339
+ await this._onTaskCompleteGeneric(call, event.task_id);
340
+ } else if (event.task_id in this._onTaskCompleteHandlers) {
341
+ await this._onTaskCompleteHandlers[event.task_id](call);
342
+ } else {
343
+ this._logger.warn(`No handler registered for completion of task '${event.task_id}'`);
344
+ }
345
+ } catch (err) {
346
+ this._logger.error(
347
+ `An error occurred in the on_task_complete('${event.task_id}') handler.`,
348
+ err,
349
+ );
350
+ await call.sendCommand(ExpertErrorCommand, {
351
+ command_type: "expert-error",
352
+ message: `The expert encountered an error while processing on_task_complete('${event.task_id}') - the task has failed.`,
353
+ });
313
354
  }
314
355
  }
315
356
  } else if (event.event_type === "agent-question") {
357
+ this._logger.info(`Received question from bot: ${event.question}`);
316
358
  if (this._onQuestion !== undefined) {
317
- this._logger.info(`Received question from bot: ${event.question}`);
318
359
  let answer: string;
319
360
  try {
320
361
  answer = await this._onQuestion(call, event.question);
@@ -339,6 +380,9 @@ export class Agent {
339
380
  }
340
381
  } else if (event.event_type === "action-item-done") {
341
382
  call._fieldValues[event.key] = event.payload;
383
+ if (event.key && event.payload) {
384
+ this._logger.info(`Field ${event.key} updated.`);
385
+ }
342
386
  } else if (event.event_type === "choice-query") {
343
387
  this._logger.info(`Received search query for field '${event.field_key}': ${event.query}`);
344
388
  const handler = this._searchQueryHandlers[event.field_key];
@@ -346,25 +390,49 @@ export class Agent {
346
390
  this._logger.warn(
347
391
  `Search query arrived for field '${event.field_key}' with no handler attached.`,
348
392
  );
349
- } else {
350
- const [matchedChoices, otherChoices] = await handler(call, event.query);
351
- await call.sendCommand(ChoiceResultCommand, {
352
- command_type: "choice-query-result",
353
- field_key: event.field_key,
354
- query_id: event.query_id,
355
- matched_choices: matchedChoices,
356
- other_choices: otherChoices,
393
+ await call.sendCommand(ExpertErrorCommand, {
394
+ command_type: "expert-error",
395
+ message: `The expert failed to handle on_search_query('${event.field_key}'). No results will be forthcoming.`,
357
396
  });
397
+ } else {
398
+ try {
399
+ const [matchedChoices, otherChoices] = await handler(call, event.query);
400
+ await call.sendCommand(ChoiceResultCommand, {
401
+ command_type: "choice-query-result",
402
+ field_key: event.field_key,
403
+ query_id: event.query_id,
404
+ matched_choices: matchedChoices,
405
+ other_choices: otherChoices,
406
+ });
407
+ } catch (err) {
408
+ this._logger.error(
409
+ `An error occurred in the on_search_query('${event.field_key}') handler.`,
410
+ err,
411
+ );
412
+ await call.sendCommand(ExpertErrorCommand, {
413
+ command_type: "expert-error",
414
+ message: `The expert encountered an error while processing the on_search_query('${event.field_key}') handler. No results will be forthcoming.`,
415
+ });
416
+ }
358
417
  }
359
418
  } else if (event.event_type === "action-request") {
360
419
  this._logger.info(`Received action request ${event.intent_id}: ${event.intent_summary}`);
361
420
  let suggestions: SuggestedAction[] = [];
362
421
  if (this._onActionRequested !== undefined) {
363
- const result = await this._onActionRequested(call, event.intent_summary);
364
- if (Array.isArray(result)) {
365
- suggestions = result;
366
- } else if (result !== null && result !== undefined) {
367
- suggestions = [result];
422
+ try {
423
+ const result = await this._onActionRequested(call, event.intent_summary);
424
+ if (Array.isArray(result)) {
425
+ suggestions = result;
426
+ } else if (result !== null && result !== undefined) {
427
+ suggestions = [result];
428
+ }
429
+ } catch (err) {
430
+ this._logger.error("An error occurred in the onActionRequest handler.", err);
431
+ await call.sendCommand(ExpertErrorCommand, {
432
+ command_type: "expert-error",
433
+ message:
434
+ "The expert encountered an error while processing the on_action_request handler.",
435
+ });
368
436
  }
369
437
  }
370
438
  await call.sendCommand(ActionSuggestionCommand, {
@@ -384,7 +452,18 @@ export class Agent {
384
452
  onActionFunc = () => this._onActionHandlers[event.action_key](call);
385
453
  }
386
454
  if (onActionFunc !== undefined) {
387
- await onActionFunc();
455
+ try {
456
+ await onActionFunc();
457
+ } catch (err) {
458
+ this._logger.error(
459
+ `An error occurred in the on_action('${event.action_key}') handler.`,
460
+ err,
461
+ );
462
+ await call.sendCommand(ExpertErrorCommand, {
463
+ command_type: "expert-error",
464
+ message: `The expert encountered an error while processing the on_action('${event.action_key}') handler.`,
465
+ });
466
+ }
388
467
  } else {
389
468
  this._logger.warn(`No handler registered for action '${event.action_key}'`);
390
469
  }
@@ -393,14 +472,18 @@ export class Agent {
393
472
  if (testSession) {
394
473
  testSession.terminationReason = event.termination_reason;
395
474
  }
396
- await this._onSessionEnd?.(call, event);
475
+ if (this._onSessionEnd !== undefined) {
476
+ await this._invokeHandler(call, "onSessionEnd", false, () =>
477
+ this._onSessionEnd!(call, event),
478
+ );
479
+ }
397
480
  } else if (event.event_type === "dtmf") {
398
481
  if (this._onDtmf !== undefined) {
399
- await this._onDtmf(call, event);
482
+ await this._invokeHandler(call, "onDtmf", false, () => this._onDtmf!(call, event));
400
483
  }
401
484
  } else if (event.event_type === "escalate") {
402
485
  if (this._onEscalate !== undefined) {
403
- await this._onEscalate(call, event);
486
+ await this._invokeHandler(call, "onEscalate", true, () => this._onEscalate!(call, event));
404
487
  } else if (event.requested_by === "agent") {
405
488
  await call.sendInstruction(
406
489
  "No escalation target set. Apologize for not being able to help, ask them to try calling another time, and hang up the call immediately.",
@@ -410,6 +493,13 @@ export class Agent {
410
493
  "Let them know there are no representatives available to take their call. Ask them if they would prefer to continue or to call another time.",
411
494
  );
412
495
  }
496
+ } else if (event.event_type === "outbound-call-failed") {
497
+ this._logger.error(`Outbound call failed: ${event.error_reason}`);
498
+ if (this._onOutboundFailed !== undefined) {
499
+ await this._invokeHandler(call, "onOutboundFailed", false, () =>
500
+ this._onOutboundFailed!(event),
501
+ );
502
+ }
413
503
  } else if (event.event_type === "error") {
414
504
  this._logger.error(`The Guava agent reported an error: ${event.content}`);
415
505
  } else if (event.event_type === "warning") {
@@ -796,6 +886,7 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
796
886
  cloned._onSessionEnd = this._onSessionEnd;
797
887
  cloned._onEscalate = this._onEscalate;
798
888
  cloned._onDtmf = this._onDtmf;
889
+ cloned._onOutboundFailed = this._onOutboundFailed;
799
890
  return cloned;
800
891
  }
801
892
 
package/src/commands.ts CHANGED
@@ -133,6 +133,12 @@ export const SetAgentDTMFCommand = z.strictObject({
133
133
  });
134
134
  export type SetAgentDTMFCommand = z.input<typeof SetAgentDTMFCommand>;
135
135
 
136
+ export const ExpertErrorCommand = z.strictObject({
137
+ command_type: z.literal("expert-error"),
138
+ message: z.string(),
139
+ });
140
+ export type ExpertErrorCommand = z.input<typeof ExpertErrorCommand>;
141
+
136
142
  export const AnyCommand = z.union([
137
143
  StartOutboundCallCommand,
138
144
  ListenInboundCommand,
@@ -150,6 +156,7 @@ export const AnyCommand = z.union([
150
156
  ActionSuggestionCommand,
151
157
  RetryTaskCommand,
152
158
  SetAgentDTMFCommand,
159
+ ExpertErrorCommand,
153
160
  ]);
154
161
  export type Command = z.input<typeof AnyCommand>;
155
162
 
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.25.0";
1
+ export const SDK_VERSION = "0.26.0";