@dbx-tools/shared-mastra 0.9.38 → 0.9.43
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/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/src/wire.d.ts +31 -19
- package/lib/src/wire.js +24 -37
- package/package.json +3 -3
- package/src/wire.ts +23 -36
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-mastra";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.43";
|
|
7
7
|
export * as feedback from "./src/feedback.ts";
|
|
8
8
|
export * as markers from "./src/markers.ts";
|
|
9
9
|
export * as override from "./src/override.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-mastra";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.43";
|
|
3
3
|
export * as feedback from "./src/feedback.ts";
|
|
4
4
|
export * as markers from "./src/markers.ts";
|
|
5
5
|
export * as override from "./src/override.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-mastra";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.43";
|
|
6
6
|
export * as feedback from "./src/feedback.js";
|
|
7
7
|
export * as markers from "./src/markers.js";
|
|
8
8
|
export * as override from "./src/override.js";
|
|
@@ -14,4 +14,4 @@ export { MODEL_OVERRIDE_HEADER, MODEL_OVERRIDE_QUERY, MODEL_OVERRIDE_BODY_FIELDS
|
|
|
14
14
|
export { MASTRA_ROUTES } from "./src/routes.js";
|
|
15
15
|
export { THREAD_ID_HEADER, THREAD_ID_QUERY } from "./src/thread.js";
|
|
16
16
|
export { MastraClientConfigSchema, DefaultModelResponseSchema, ServingEndpointsResponseSchema, MastraSuggestionsResponseSchema, ChartTypeSchema, ChartResultSchema, ChartSchema, StatementDataSchema, StartedEventSchema, AskGenieDoneEventSchema, MastraGenieErrorEventSchema, SummaryEventSchema, GenieAgentEventSchema, GenieWriterEventSchema, GENIE_PROGRESS_PART_TYPE, GenieProgressPartDataSchema, GenieDatasetDataSchema, GenieDatasetChartSchema, GenieDatasetSchema, GenieSummaryItemSchema, GenieAgentResultSchema } from "./src/wire.js";
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5TCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSwrQkFBK0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbWFzdHJhXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuNDNcIjtcbmV4cG9ydCAqIGFzIGZlZWRiYWNrIGZyb20gXCIuL3NyYy9mZWVkYmFjay50c1wiO1xuZXhwb3J0ICogYXMgbWFya2VycyBmcm9tIFwiLi9zcmMvbWFya2Vycy50c1wiO1xuZXhwb3J0ICogYXMgb3ZlcnJpZGUgZnJvbSBcIi4vc3JjL292ZXJyaWRlLnRzXCI7XG5leHBvcnQgKiBhcyByb3V0ZXMgZnJvbSBcIi4vc3JjL3JvdXRlcy50c1wiO1xuZXhwb3J0ICogYXMgdGhyZWFkIGZyb20gXCIuL3NyYy90aHJlYWQudHNcIjtcbmV4cG9ydCAqIGFzIHdpcmUgZnJvbSBcIi4vc3JjL3dpcmUudHNcIjtcbmV4cG9ydCB7IE1MRkxPV19UUkFDRV9JRF9IRUFERVIsIERFRkFVTFRfRkVFREJBQ0tfTkFNRSwgREVGQVVMVF9DT01NRU5UX05BTUUsIE1hc3RyYUZlZWRiYWNrVmFsdWVTY2hlbWEsIE1hc3RyYUZlZWRiYWNrUmVxdWVzdFNjaGVtYSwgTWFzdHJhRmVlZGJhY2tSZXNwb25zZVNjaGVtYSB9IGZyb20gXCIuL3NyYy9mZWVkYmFjay50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFGZWVkYmFja1ZhbHVlLCBNYXN0cmFGZWVkYmFja1JlcXVlc3QsIE1hc3RyYUZlZWRiYWNrUmVzcG9uc2UgfSBmcm9tIFwiLi9zcmMvZmVlZGJhY2sudHNcIjtcbmV4cG9ydCB0eXBlIHsgTWFya2VyVHlwZSwgUGFyc2VkTWFya2VyIH0gZnJvbSBcIi4vc3JjL21hcmtlcnMudHNcIjtcbmV4cG9ydCB7IE1PREVMX09WRVJSSURFX0hFQURFUiwgTU9ERUxfT1ZFUlJJREVfUVVFUlksIE1PREVMX09WRVJSSURFX0JPRFlfRklFTERTIH0gZnJvbSBcIi4vc3JjL292ZXJyaWRlLnRzXCI7XG5leHBvcnQgeyBNQVNUUkFfUk9VVEVTIH0gZnJvbSBcIi4vc3JjL3JvdXRlcy50c1wiO1xuZXhwb3J0IHsgVEhSRUFEX0lEX0hFQURFUiwgVEhSRUFEX0lEX1FVRVJZIH0gZnJvbSBcIi4vc3JjL3RocmVhZC50c1wiO1xuZXhwb3J0IHsgTWFzdHJhQ2xpZW50Q29uZmlnU2NoZW1hLCBEZWZhdWx0TW9kZWxSZXNwb25zZVNjaGVtYSwgU2VydmluZ0VuZHBvaW50c1Jlc3BvbnNlU2NoZW1hLCBNYXN0cmFTdWdnZXN0aW9uc1Jlc3BvbnNlU2NoZW1hLCBDaGFydFR5cGVTY2hlbWEsIENoYXJ0UmVzdWx0U2NoZW1hLCBDaGFydFNjaGVtYSwgU3RhdGVtZW50RGF0YVNjaGVtYSwgU3RhcnRlZEV2ZW50U2NoZW1hLCBBc2tHZW5pZURvbmVFdmVudFNjaGVtYSwgTWFzdHJhR2VuaWVFcnJvckV2ZW50U2NoZW1hLCBTdW1tYXJ5RXZlbnRTY2hlbWEsIEdlbmllQWdlbnRFdmVudFNjaGVtYSwgR2VuaWVXcml0ZXJFdmVudFNjaGVtYSwgR0VOSUVfUFJPR1JFU1NfUEFSVF9UWVBFLCBHZW5pZVByb2dyZXNzUGFydERhdGFTY2hlbWEsIEdlbmllRGF0YXNldERhdGFTY2hlbWEsIEdlbmllRGF0YXNldENoYXJ0U2NoZW1hLCBHZW5pZURhdGFzZXRTY2hlbWEsIEdlbmllU3VtbWFyeUl0ZW1TY2hlbWEsIEdlbmllQWdlbnRSZXN1bHRTY2hlbWEgfSBmcm9tIFwiLi9zcmMvd2lyZS50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFDbGllbnRDb25maWcsIERlZmF1bHRNb2RlbFJlc3BvbnNlLCBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2UsIE1hc3RyYVN1Z2dlc3Rpb25zUmVzcG9uc2UsIENoYXJ0VHlwZSwgQ2hhcnRSZXN1bHQsIENoYXJ0LCBTdGF0ZW1lbnREYXRhLCBTdGFydGVkRXZlbnQsIEFza0dlbmllRG9uZUV2ZW50LCBNYXN0cmFHZW5pZUVycm9yRXZlbnQsIFN1bW1hcnlFdmVudCwgR2VuaWVBZ2VudEV2ZW50LCBHZW5pZVdyaXRlckV2ZW50LCBHZW5pZVdyaXRlckV2ZW50VHlwZSwgR2VuaWVQcm9ncmVzc1BhcnREYXRhLCBHZW5pZURhdGFzZXREYXRhLCBHZW5pZURhdGFzZXRDaGFydCwgR2VuaWVEYXRhc2V0LCBHZW5pZVN1bW1hcnlJdGVtLCBHZW5pZVN1bW1hcnlJdGVtVHlwZSwgR2VuaWVBZ2VudFJlc3VsdCB9IGZyb20gXCIuL3NyYy93aXJlLnRzXCI7XG4iXX0=
|
package/lib/src/wire.d.ts
CHANGED
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
*
|
|
31
31
|
* @module
|
|
32
32
|
*/
|
|
33
|
-
import { genieModel } from "@dbx-tools/shared-genie";
|
|
34
33
|
import { z } from "zod";
|
|
35
34
|
/**
|
|
36
35
|
* JSON-safe descriptor published by the Mastra plugin's
|
|
@@ -111,10 +110,23 @@ export declare const ServingEndpointsResponseSchema: z.ZodObject<{
|
|
|
111
110
|
speed: z.ZodOptional<z.ZodNumber>;
|
|
112
111
|
cost: z.ZodOptional<z.ZodNumber>;
|
|
113
112
|
}, z.core.$strip>>;
|
|
114
|
-
class: z.ZodOptional<z.
|
|
113
|
+
class: z.ZodOptional<z.ZodEnum<{
|
|
114
|
+
"chat-thinking": "chat-thinking";
|
|
115
|
+
"chat-balanced": "chat-balanced";
|
|
116
|
+
"chat-fast": "chat-fast";
|
|
117
|
+
embedding: "embedding";
|
|
118
|
+
}>>;
|
|
115
119
|
serviceNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
116
120
|
modelServiceName: z.ZodOptional<z.ZodString>;
|
|
117
|
-
reasoningEfforts: z.ZodOptional<z.ZodArray<z.
|
|
121
|
+
reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
122
|
+
none: "none";
|
|
123
|
+
minimal: "minimal";
|
|
124
|
+
low: "low";
|
|
125
|
+
medium: "medium";
|
|
126
|
+
high: "high";
|
|
127
|
+
xhigh: "xhigh";
|
|
128
|
+
max: "max";
|
|
129
|
+
}>>>;
|
|
118
130
|
status: z.ZodOptional<z.ZodObject<{
|
|
119
131
|
deprecated: z.ZodDefault<z.ZodBoolean>;
|
|
120
132
|
}, z.core.$strip>>;
|
|
@@ -396,17 +408,17 @@ export declare const GenieWriterEventSchema: z.ZodUnion<readonly [z.ZodDiscrimin
|
|
|
396
408
|
statement_id: z.ZodOptional<z.ZodString>;
|
|
397
409
|
title: z.ZodOptional<z.ZodString>;
|
|
398
410
|
thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
399
|
-
thought_type: z.
|
|
411
|
+
thought_type: z.ZodString;
|
|
400
412
|
content: z.ZodString;
|
|
401
413
|
}, z.core.$strip>>>;
|
|
402
414
|
}, z.core.$strip>>;
|
|
403
415
|
text: z.ZodOptional<z.ZodObject<{
|
|
404
416
|
content: z.ZodOptional<z.ZodString>;
|
|
405
417
|
id: z.ZodOptional<z.ZodString>;
|
|
406
|
-
purpose: z.ZodOptional<z.
|
|
418
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
407
419
|
metadata: z.ZodOptional<z.ZodUnknown>;
|
|
408
420
|
}, z.core.$strip>>;
|
|
409
|
-
attachment_type: z.ZodOptional<z.
|
|
421
|
+
attachment_type: z.ZodOptional<z.ZodString>;
|
|
410
422
|
}, z.core.$strip>>>;
|
|
411
423
|
auto_regenerate_count: z.ZodOptional<z.ZodNumber>;
|
|
412
424
|
}, z.core.$strip>;
|
|
@@ -424,7 +436,7 @@ export declare const GenieWriterEventSchema: z.ZodUnion<readonly [z.ZodDiscrimin
|
|
|
424
436
|
attachment_id: z.ZodOptional<z.ZodString>;
|
|
425
437
|
type: z.ZodLiteral<"attachment">;
|
|
426
438
|
index: z.ZodNumber;
|
|
427
|
-
attachment_type: z.
|
|
439
|
+
attachment_type: z.ZodString;
|
|
428
440
|
}, z.core.$strip>, z.ZodObject<{
|
|
429
441
|
space_id: z.ZodString;
|
|
430
442
|
conversation_id: z.ZodOptional<z.ZodString>;
|
|
@@ -432,7 +444,7 @@ export declare const GenieWriterEventSchema: z.ZodUnion<readonly [z.ZodDiscrimin
|
|
|
432
444
|
attachment_id: z.ZodOptional<z.ZodString>;
|
|
433
445
|
type: z.ZodLiteral<"thinking">;
|
|
434
446
|
text: z.ZodString;
|
|
435
|
-
thought_type: z.
|
|
447
|
+
thought_type: z.ZodString;
|
|
436
448
|
}, z.core.$strip>, z.ZodObject<{
|
|
437
449
|
space_id: z.ZodString;
|
|
438
450
|
conversation_id: z.ZodOptional<z.ZodString>;
|
|
@@ -527,17 +539,17 @@ export declare const GenieWriterEventSchema: z.ZodUnion<readonly [z.ZodDiscrimin
|
|
|
527
539
|
statement_id: z.ZodOptional<z.ZodString>;
|
|
528
540
|
title: z.ZodOptional<z.ZodString>;
|
|
529
541
|
thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
530
|
-
thought_type: z.
|
|
542
|
+
thought_type: z.ZodString;
|
|
531
543
|
content: z.ZodString;
|
|
532
544
|
}, z.core.$strip>>>;
|
|
533
545
|
}, z.core.$strip>>;
|
|
534
546
|
text: z.ZodOptional<z.ZodObject<{
|
|
535
547
|
content: z.ZodOptional<z.ZodString>;
|
|
536
548
|
id: z.ZodOptional<z.ZodString>;
|
|
537
|
-
purpose: z.ZodOptional<z.
|
|
549
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
538
550
|
metadata: z.ZodOptional<z.ZodUnknown>;
|
|
539
551
|
}, z.core.$strip>>;
|
|
540
|
-
attachment_type: z.ZodOptional<z.
|
|
552
|
+
attachment_type: z.ZodOptional<z.ZodString>;
|
|
541
553
|
}, z.core.$strip>>>;
|
|
542
554
|
auto_regenerate_count: z.ZodOptional<z.ZodNumber>;
|
|
543
555
|
}, z.core.$strip>;
|
|
@@ -636,17 +648,17 @@ export declare const GenieProgressPartDataSchema: z.ZodObject<{
|
|
|
636
648
|
statement_id: z.ZodOptional<z.ZodString>;
|
|
637
649
|
title: z.ZodOptional<z.ZodString>;
|
|
638
650
|
thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
639
|
-
thought_type: z.
|
|
651
|
+
thought_type: z.ZodString;
|
|
640
652
|
content: z.ZodString;
|
|
641
653
|
}, z.core.$strip>>>;
|
|
642
654
|
}, z.core.$strip>>;
|
|
643
655
|
text: z.ZodOptional<z.ZodObject<{
|
|
644
656
|
content: z.ZodOptional<z.ZodString>;
|
|
645
657
|
id: z.ZodOptional<z.ZodString>;
|
|
646
|
-
purpose: z.ZodOptional<z.
|
|
658
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
647
659
|
metadata: z.ZodOptional<z.ZodUnknown>;
|
|
648
660
|
}, z.core.$strip>>;
|
|
649
|
-
attachment_type: z.ZodOptional<z.
|
|
661
|
+
attachment_type: z.ZodOptional<z.ZodString>;
|
|
650
662
|
}, z.core.$strip>>>;
|
|
651
663
|
auto_regenerate_count: z.ZodOptional<z.ZodNumber>;
|
|
652
664
|
}, z.core.$strip>;
|
|
@@ -664,7 +676,7 @@ export declare const GenieProgressPartDataSchema: z.ZodObject<{
|
|
|
664
676
|
attachment_id: z.ZodOptional<z.ZodString>;
|
|
665
677
|
type: z.ZodLiteral<"attachment">;
|
|
666
678
|
index: z.ZodNumber;
|
|
667
|
-
attachment_type: z.
|
|
679
|
+
attachment_type: z.ZodString;
|
|
668
680
|
}, z.core.$strip>, z.ZodObject<{
|
|
669
681
|
space_id: z.ZodString;
|
|
670
682
|
conversation_id: z.ZodOptional<z.ZodString>;
|
|
@@ -672,7 +684,7 @@ export declare const GenieProgressPartDataSchema: z.ZodObject<{
|
|
|
672
684
|
attachment_id: z.ZodOptional<z.ZodString>;
|
|
673
685
|
type: z.ZodLiteral<"thinking">;
|
|
674
686
|
text: z.ZodString;
|
|
675
|
-
thought_type: z.
|
|
687
|
+
thought_type: z.ZodString;
|
|
676
688
|
}, z.core.$strip>, z.ZodObject<{
|
|
677
689
|
space_id: z.ZodString;
|
|
678
690
|
conversation_id: z.ZodOptional<z.ZodString>;
|
|
@@ -767,17 +779,17 @@ export declare const GenieProgressPartDataSchema: z.ZodObject<{
|
|
|
767
779
|
statement_id: z.ZodOptional<z.ZodString>;
|
|
768
780
|
title: z.ZodOptional<z.ZodString>;
|
|
769
781
|
thoughts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
770
|
-
thought_type: z.
|
|
782
|
+
thought_type: z.ZodString;
|
|
771
783
|
content: z.ZodString;
|
|
772
784
|
}, z.core.$strip>>>;
|
|
773
785
|
}, z.core.$strip>>;
|
|
774
786
|
text: z.ZodOptional<z.ZodObject<{
|
|
775
787
|
content: z.ZodOptional<z.ZodString>;
|
|
776
788
|
id: z.ZodOptional<z.ZodString>;
|
|
777
|
-
purpose: z.ZodOptional<z.
|
|
789
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
778
790
|
metadata: z.ZodOptional<z.ZodUnknown>;
|
|
779
791
|
}, z.core.$strip>>;
|
|
780
|
-
attachment_type: z.ZodOptional<z.
|
|
792
|
+
attachment_type: z.ZodOptional<z.ZodString>;
|
|
781
793
|
}, z.core.$strip>>>;
|
|
782
794
|
auto_regenerate_count: z.ZodOptional<z.ZodNumber>;
|
|
783
795
|
}, z.core.$strip>;
|
package/lib/src/wire.js
CHANGED
|
@@ -242,20 +242,15 @@ export const StatementDataSchema = z.object({
|
|
|
242
242
|
export const StartedEventSchema = z.object({
|
|
243
243
|
type: z.literal("started"),
|
|
244
244
|
spaceId: z.string(),
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
* emit.
|
|
255
|
-
*/
|
|
256
|
-
messageId: z.string().optional(),
|
|
257
|
-
/** Question the Genie agent sent to Genie. */
|
|
258
|
-
content: z.string(),
|
|
245
|
+
conversationId: z
|
|
246
|
+
.string()
|
|
247
|
+
.optional()
|
|
248
|
+
.describe("Existing Genie conversation id for a follow-up turn. Absent on the first turn."),
|
|
249
|
+
messageId: z
|
|
250
|
+
.string()
|
|
251
|
+
.optional()
|
|
252
|
+
.describe("Genie message id once the first wire message event has arrived."),
|
|
253
|
+
content: z.string().describe("Question the Genie agent sent to Genie."),
|
|
259
254
|
});
|
|
260
255
|
/**
|
|
261
256
|
* Mastra-only lifecycle event: one `ask_genie` invocation
|
|
@@ -269,18 +264,13 @@ export const AskGenieDoneEventSchema = z.object({
|
|
|
269
264
|
spaceId: z.string(),
|
|
270
265
|
conversationId: z.string().optional(),
|
|
271
266
|
messageId: z.string().optional(),
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
* can react to ask-level completion without re-walking history.
|
|
280
|
-
* Treated as `z.custom<MessageStatus>` because the SDK is the
|
|
281
|
-
* source of truth for the enum values.
|
|
282
|
-
*/
|
|
283
|
-
status: z.custom((v) => typeof v === "string"),
|
|
267
|
+
answer: z.string().optional().describe("Genie's natural-language answer for the turn."),
|
|
268
|
+
statementIds: z
|
|
269
|
+
.array(z.string())
|
|
270
|
+
.describe("Statement ids for non-empty result sets produced by this turn."),
|
|
271
|
+
status: z
|
|
272
|
+
.custom((value) => typeof value === "string")
|
|
273
|
+
.describe("Terminal Genie wire status mirrored from the source result event."),
|
|
284
274
|
});
|
|
285
275
|
/**
|
|
286
276
|
* Mastra-only error event: terminal Genie agent / transport
|
|
@@ -314,16 +304,13 @@ export const MastraGenieErrorEventSchema = z.object({
|
|
|
314
304
|
export const SummaryEventSchema = z.object({
|
|
315
305
|
type: z.literal("summary"),
|
|
316
306
|
spaceId: z.string(),
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
* the per-chart events arrive.
|
|
325
|
-
*/
|
|
326
|
-
dataItems: z.number().int().nonnegative(),
|
|
307
|
+
items: z.number().int().nonnegative().describe("Total items in the agent's structured summary."),
|
|
308
|
+
textItems: z.number().int().nonnegative().describe("Text and prose items in the summary."),
|
|
309
|
+
dataItems: z
|
|
310
|
+
.number()
|
|
311
|
+
.int()
|
|
312
|
+
.nonnegative()
|
|
313
|
+
.describe("Data items the wrapper will hydrate into charts."),
|
|
327
314
|
});
|
|
328
315
|
/**
|
|
329
316
|
* Mastra-only event union. Each variant uses the same flat
|
|
@@ -451,4 +438,4 @@ export const GenieAgentResultSchema = z.object({
|
|
|
451
438
|
summary: z.array(GenieSummaryItemSchema),
|
|
452
439
|
error: z.string().optional(),
|
|
453
440
|
});
|
|
454
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qiw2RUFBNkU7QUFFN0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0MsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDeEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLGVBQWUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMzQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztDQUNoRCxDQUFDLENBQUM7QUFJSDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLENBQUM7QUFJSCwrRUFBK0U7QUFFL0U7Ozs7OztHQU1H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RSxDQUFDLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO0lBQ3hDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2lyZS1mb3JtYXQgY29udHJhY3QgZm9yIGBAZGJ4LXRvb2xzL2FwcGtpdC1tYXN0cmFgOiB0aGVcbiAqIGRlcGVuZGVuY3ktZnJlZSB6b2Qgc2NoZW1hcyArIGluZmVycmVkIHR5cGVzIGV2ZXJ5IGNvbnN1bWVyICh0aGVcbiAqIFJlYWN0IGNsaWVudCwgYnJvd3NlciBidW5kbGVzLCB0aGUgc2VydmVyIHBsdWdpbikgc2hhcmVzLlxuICpcbiAqIEtlcHQgZnJlZSBvZiBgcGdgLCBgZmFzdGVtYmVkYCwgYW5kIHRoZSBNYXN0cmEgcnVudGltZSBzbyB0aGVcbiAqIGNsaWVudCBjYW4gaW1wb3J0IHRoZXNlIHNjaGVtYXMgd2l0aG91dCBkcmFnZ2luZyBpbiBzZXJ2ZXItb25seVxuICogZGVwZW5kZW5jaWVzLiBUaHJlZSBsYXllcnMgbGl2ZSBoZXJlOlxuICpcbiAqICAgMS4gVGhlIGRlc2NyaXB0b3IgcHVibGlzaGVkIGJ5IGBNYXN0cmFQbHVnaW4uY2xpZW50Q29uZmlnKClgXG4gKiAgICAgIHBsdXMgdGhlIFJFU1QgcGF5bG9hZHMgaXRzIHJvdXRlcyByZXR1cm4gKG1vZGVscywgaGlzdG9yeSxcbiAqICAgICAgc3VnZ2VzdGlvbnMsIGNoYXJ0IGVtYmVkcywgc3RhdGVtZW50IGRhdGEpLiBUaGUgc2VydmVyXG4gKiAgICAgIGRlcml2ZXMgZXZlcnkgcGF0aCBmcm9tIHRoZSBwbHVnaW4gbW91bnQgYW5kIHB1Ymxpc2hlcyB0aGVcbiAqICAgICAgcmVzb2x2ZWQgcGF0aHMgc28gdGhlIGNsaWVudCBjb21wb3NlcyBVUkxzIHdpdGhvdXRcbiAqICAgICAgaGFyZC1jb2RpbmcgYC9hcGkvbWFzdHJhYCAtIHJlbmFtZSB0aGUgcGx1Z2luIGFuZCB0aGUgY2xpZW50XG4gKiAgICAgIGtlZXBzIHdvcmtpbmcuXG4gKiAgIDIuIFRoZSBgY3R4LndyaXRlcmAgZXZlbnQgdm9jYWJ1bGFyeTogdGhlIHdpcmUtZGVyaXZlZFxuICogICAgICB7QGxpbmsgR2VuaWVDaGF0RXZlbnR9cyBmcm9tIGBAZGJ4LXRvb2xzL2dlbmllLXNoYXJlZGAgcGx1c1xuICogICAgICB0aGUgTWFzdHJhLW9ubHkgYWdlbnQgbGlmZWN5Y2xlIGV2ZW50cywgdW5pZmllZCBhc1xuICogICAgICB7QGxpbmsgR2VuaWVXcml0ZXJFdmVudH0gc28gc3Vic2NyaWJlcnMgbmFycm93IGJvdGggaGFsdmVzXG4gKiAgICAgIHdpdGggYSBzaW5nbGUgYHN3aXRjaCAoZXZlbnQudHlwZSlgLlxuICogICAzLiBUaGUgR2VuaWUgYWdlbnQncyB3b3JrZmxvdyBvdXRwdXQgc2hhcGVzXG4gKiAgICAgICh7QGxpbmsgR2VuaWVBZ2VudFJlc3VsdH0gYW5kIGl0cyBzdW1tYXJ5IC8gZGF0YXNldCBpdGVtcykuXG4gKlxuICogVGhlIHJvdXRlIHNlZ21lbnRzIGxpdmUgaW4gdGhlIHNpYmxpbmcgYHJvdXRlcy50c2BcbiAqICh7QGxpbmsgTUFTVFJBX1JPVVRFU30pIGFuZCB0aGUgZW1iZWQtbWFya2VyIGdyYW1tYXIgaW4gYG1hcmtlcnMudHNgLFxuICogc28gdGhpcyBmaWxlIHN0YXlzIHB1cmVseSBkZWNsYXJhdGl2ZSAoc2NoZW1hcyArIGluZmVycmVkIHR5cGVzKS5cbiAqIFRoZSBicm93c2VyIGNsaWVudCB0aGF0IGRyaXZlcyB0aGVzZSByb3V0ZXMgKGBNYXN0cmFQbHVnaW5DbGllbnRgKVxuICogc2hpcHMgZnJvbSBgQGRieC10b29scy91aS1tYXN0cmFgLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBnZW5pZU1vZGVsLCB0eXBlIEdlbmllQ2hhdEV2ZW50LCB0eXBlIE1lc3NhZ2VTdGF0dXMgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZ2VuaWVcIjtcbmltcG9ydCB7IG1vZGVsIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLW1vZGVsXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNsaWVudCBjb25maWcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIEpTT04tc2FmZSBkZXNjcmlwdG9yIHB1Ymxpc2hlZCBieSB0aGUgTWFzdHJhIHBsdWdpbidzXG4gKiBgY2xpZW50Q29uZmlnKClgLlxuICpcbiAqIE9ubHkgdGhlIGlycmVkdWNpYmxlIGRhdGEgbGl2ZXMgaGVyZTogYGJhc2VQYXRoYCAodGhlIG9uZSBwYXRoIHRoZVxuICogY2xpZW50IGNhbid0IG90aGVyd2lzZSBrbm93LCBzaW5jZSBpdCBlbmNvZGVzIHRoZSBwbHVnaW4ncyBtb3VudFxuICogbmFtZSkgcGx1cyB0aGUgcnVudGltZSBhZ2VudCByb3N0ZXIuIEV2ZXJ5IGNvbmNyZXRlIGVuZHBvaW50IFVSTCBpc1xuICogZGVyaXZlZCBmcm9tIGBiYXNlUGF0aGAgYnkgdGhlIGJyb3dzZXIgY2xpZW50XG4gKiAoYE1hc3RyYVBsdWdpbkNsaWVudGApIHVzaW5nIHRoZSBzaGFyZWQge0BsaW5rIE1BU1RSQV9ST1VURVN9XG4gKiBzZWdtZW50cywgc28gdGhlcmUncyBub3RoaW5nIHRvIHB1Ymxpc2ggcGVyLXJvdXRlLlxuICpcbiAqIEZpZWxkczpcbiAqICAgLSBgYmFzZVBhdGhgOiBwbHVnaW4gbW91bnQgcGF0aC4gQWx3YXlzIGAvYXBpLzxwbHVnaW5OYW1lPmAuIEZlZWRcbiAqICAgICBpdCB0byBgbmV3IE1hc3RyYVBsdWdpbkNsaWVudChjb25maWcpYCAoZnJvbVxuICogICAgIGBAZGJ4LXRvb2xzL3VpLW1hc3RyYWApIHRvIGdldCBhIHR5cGVkIGNsaWVudCBvdmVyIGV2ZXJ5XG4gKiAgICAgcm91dGUgcGx1cyB0aGUgc3RhbmRhcmQgYWdlbnQgc3RyZWFtLlxuICogICAtIGBkZWZhdWx0QWdlbnRgOiBhZ2VudCBpZCB0aGUgY2xpZW50IGNvbnZlcnNlcyB3aXRoIHdoZW4gaXRcbiAqICAgICBkb2Vzbid0IG5hbWUgb25lLlxuICogICAtIGBhZ2VudHNgOiBldmVyeSByZWdpc3RlcmVkIGFnZW50IGlkIGluIHJlZ2lzdHJhdGlvbiBvcmRlci5cbiAqICAgLSBgZmVlZGJhY2tFbmFibGVkYDogd2hldGhlciB0aGUgc2VydmVyIGNhbiBsb2cgdXNlciBmZWVkYmFjayB0b1xuICogICAgIE1MZmxvdyAoTUxmbG93IHRyYWNpbmcgaXMgY29uZmlndXJlZCkuIERyaXZlcyB3aGV0aGVyIHRoZSBjaGF0IFVJXG4gKiAgICAgc3VyZmFjZXMgdGh1bWJzIC8gY29tbWVudCBjb250cm9scy4gRGVmYXVsdHMgdG8gYGZhbHNlYCBzbyBhXG4gKiAgICAgY29uZmlnIHB1Ymxpc2hlZCBieSBhbiBvbGRlciBzZXJ2ZXIgKHdpdGhvdXQgdGhlIGZpZWxkKSBwYXJzZXNcbiAqICAgICBjbGVhbmx5IHRvIFwib2ZmXCIuXG4gKiAgIC0gYGNoYXRBbHdheXNBdmFpbGFibGVgOiB3aGV0aGVyIHRoZSBhZ2VudHMnIERhdGFicmlja3MgY2FsbHMgcnVuIGFzIHRoZVxuICogICAgIGFwcCBzZXJ2aWNlIHByaW5jaXBhbCByYXRoZXIgdGhhbiBvbi1iZWhhbGYtb2YgdGhlIHNpZ25lZC1pbiB1c2VyLiBXaGVuXG4gKiAgICAgYHRydWVgIHRoZSBjaGF0IHdvcmtzIGZvciBhbnkgY2FsbGVyIHdobyBjYW4gb3BlbiB0aGUgYXBwLCBzbyBhIFVJIHRoYXRcbiAqICAgICBoaWRlcyBjaGF0IHdoZW4gdGhlIE9CTyB0b2tlbiBpcyBhYnNlbnQgc2hvdWxkIHNob3cgaXQgYW55d2F5LiBEZWZhdWx0c1xuICogICAgIHRvIGBmYWxzZWAgKHRoZSBPQk8gLyBgXCJ1c2VyXCJgIGlkZW50aXR5IG1vZGUpLCBzbyBhbiBvbGRlciBzZXJ2ZXIgd2l0aG91dFxuICogICAgIHRoZSBmaWVsZCBrZWVwcyB0aGUgT0JPLWdhdGVkIGJlaGF2aW9yLlxuICovXG5leHBvcnQgY29uc3QgTWFzdHJhQ2xpZW50Q29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICBiYXNlUGF0aDogei5zdHJpbmcoKSxcbiAgZGVmYXVsdEFnZW50OiB6LnN0cmluZygpLFxuICBhZ2VudHM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gIGZlZWRiYWNrRW5hYmxlZDogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGNoYXRBbHdheXNBdmFpbGFibGU6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxufSk7XG4vKiogQnJvd3Nlci1zYWZlIE1hc3RyYSBwbHVnaW4gZGVzY3JpcHRvciB1c2VkIHRvIGNvbnN0cnVjdCByb3V0ZSBhbmQgc3RyZWFtIGNsaWVudHMuICovXG5leHBvcnQgdHlwZSBNYXN0cmFDbGllbnRDb25maWcgPSB6LmluZmVyPHR5cGVvZiBNYXN0cmFDbGllbnRDb25maWdTY2hlbWE+O1xuXG4vKipcbiAqIEpTT04gcGF5bG9hZCByZXR1cm5lZCBieSBgR0VUICR7YmFzZVBhdGh9L2RlZmF1bHQtbW9kZWxbP2FnZW50SWQ9XWAuIFRoZVxuICogc3RhdGljIGRlZmF1bHQgbW9kZWwgdGhlIGFnZW50IHJlc29sdmVzIHRvIHdoZW4gdGhlIGNsaWVudCBwaW5zIG5vIG1vZGVsLFxuICogYXMgYm90aCB0aGUgcmF3IHNlcnZpbmctZW5kcG9pbnQgYG1vZGVsYCBpZCBhbmQgYSBgZGlzcGxheU5hbWVgICh0aGVcbiAqIGh1bWFuaXplZCBsYWJlbCB0aGUgcGlja2VyIHNob3dzKS4gQm90aCBhcmUgYG51bGxgIHdoZW4gdGhlIGFnZW50IGRlY2lkZXNcbiAqIGl0cyBtb2RlbCBkeW5hbWljYWxseSBhdCBjYWxsIHRpbWUgKG5vdGhpbmcgc3RhdGljIHRvIGFkdmVydGlzZSkuIExldHMgdGhlXG4gKiBwaWNrZXIgbGFiZWwgaXRzIGRlZmF1bHQgb3B0aW9uIFdJVEhPVVQgd2FpdGluZyBvbiB0aGUgYC9tb2RlbHNgIGNhdGFsb2d1ZSxcbiAqIHNvIGl0IG5ldmVyIGZsYXNoZXMgYSByYXcgaWQgb24gbG9hZC4gS2VwdCBvZmYgdGhlIHN0YXRpYyBib290c3RyYXBcbiAqIGBjbGllbnRDb25maWdgIG9uIHB1cnBvc2U6IGl0IGlzIHBlci1hZ2VudCBhbmQgY2FuIGJlIGR5bmFtaWMsIHNvIGl0IGlzXG4gKiBmZXRjaGVkIGxpa2UgYC9tb2RlbHNgLlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE1vZGVsUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGFnZW50SWQ6IHouc3RyaW5nKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIGRpc3BsYXlOYW1lOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbi8qKiBSZXNwb25zZSBpZGVudGlmeWluZyB0aGUgbW9kZWwgY3VycmVudGx5IHNlbGVjdGVkIGFzIHRoZSBwbHVnaW4gZGVmYXVsdC4gKi9cbmV4cG9ydCB0eXBlIERlZmF1bHRNb2RlbFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgRGVmYXVsdE1vZGVsUmVzcG9uc2VTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZGVsIGNhdGFsb2d1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogSlNPTiBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vbW9kZWxzYC4gV3JhcHMgdGhlIHNoYXJlZFxuICoge0BsaW5rIG1vZGVsLlNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWF9IChyZS1leHBvcnRlZCBmcm9tXG4gKiBgQGRieC10b29scy9zaGFyZWQtbW9kZWxgKSBzbyB0aGUgY2F0YWxvZ3VlXG4gKiBkZXNjcmlwdG9yIGhhcyBhIHNpbmdsZSBkZWZpbml0aW9uIHRoZSBjbGllbnQsIHNlcnZlciwgYW5kIHRoZVxuICogc3RhbmRhbG9uZSBgQGRieC10b29scy9tb2RlbGAgdG9vbGtpdCBhbGwgYWdyZWUgb24uXG4gKi9cbmV4cG9ydCBjb25zdCBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVuZHBvaW50czogei5hcnJheShtb2RlbC5TZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hKSxcbn0pO1xuLyoqIEF2YWlsYWJsZSBEYXRhYnJpY2tzIHNlcnZpbmcgZW5kcG9pbnRzIHJldHVybmVkIGJ5IHRoZSBNYXN0cmEgbW9kZWwgcm91dGUuICovXG5leHBvcnQgdHlwZSBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2VTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc3VnZ2VzdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogSlNPTiBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vc3VnZ2VzdGlvbnNgLlxuICpcbiAqIENhcnJpZXMgdGhlIGN1cmF0ZWQgc3RhcnRlciBxdWVzdGlvbnMgZm9yIGFuIGFnZW50J3MgR2VuaWUgc3BhY2UgLVxuICogdGhlIGBzYW1wbGVfcXVlc3Rpb25zYCBhbiBhdXRob3IgY29uZmlndXJlZCBvbiB0aGUgc3BhY2UsIHN1cmZhY2VkXG4gKiBhcyBvbmUtdGFwIHByb21wdHMgb24gdGhlIGNoYXQncyBlbXB0eSBzdGF0ZS4gYHF1ZXN0aW9uc2AgaXMgZW1wdHlcbiAqIHdoZW4gdGhlIGFnZW50IGhhcyBubyBHZW5pZSBzcGFjZSAob3IgdGhlIHNwYWNlIGRlZmluZXMgbm9uZSksIHNvXG4gKiB0aGUgY2xpZW50IHJlbmRlcnMgbm90aGluZyBpbiB0aGF0IGNhc2UgcmF0aGVyIHRoYW4gZmFsbGluZyBiYWNrIHRvXG4gKiBidWlsdC1pbiBleGFtcGxlIHByb21wdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNYXN0cmFTdWdnZXN0aW9uc1Jlc3BvbnNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBxdWVzdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG59KTtcbi8qKiBGb2xsb3ctdXAgcHJvbXB0cyBzdWdnZXN0ZWQgZm9yIHRoZSBjdXJyZW50IGFnZW50IGFuZCB0aHJlYWQgY29udGV4dC4gKi9cbmV4cG9ydCB0eXBlIE1hc3RyYVN1Z2dlc3Rpb25zUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBNYXN0cmFTdWdnZXN0aW9uc1Jlc3BvbnNlU2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNoYXJ0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiBBbGxvd2VkIGNoYXJ0IHR5cGVzIHRoZSBwbGFubmVyIGNhbiBwaWNrLiBEZWZpbmVkIGFzIGFcbiAqIGRpc2NyaW1pbmF0ZWQgbGl0ZXJhbCB1bmlvbiBzbyBlYWNoIHZhcmlhbnQgY2FycmllcyBpdHMgb3duXG4gKiBgLmRlc2NyaWJlKClgIGNsYXVzZSAtIHRoZSBzZXJ2ZXItc2lkZSBwbGFubmVyJ3MgcHJvbXB0XG4gKiBmb3JtYXR0ZXIgd2Fsa3MgYC5vcHRpb25zYCB0byBpbmxpbmUgdGhlIGRlc2NyaXB0aW9ucyBpbnRvIHRoZVxuICogbW9kZWwgaW5zdHJ1Y3Rpb25zLCBrZWVwaW5nIHRoZSBwcm9tcHQgaW4gbG9jay1zdGVwIHdpdGggdGhlXG4gKiBzY2hlbWEgYnkgY29uc3RydWN0aW9uLiBUaGUgcnVudGltZSB0eXBlIGlzIHRoZSBwbGFpbiBzdHJpbmdcbiAqIHVuaW9uIChgXCJiYXJcIiB8IFwibGluZVwiIHwgLi4uYCksIHNvIGNvbnN1bWVycyB0aGF0IGp1c3QgbmVlZCBhXG4gKiBkaXNjcmltaW5hdG9yIHZhbHVlIGJlaGF2ZSB0aGUgc2FtZSBhcyBpZiBpdCB3ZXJlIGFcbiAqIGB6LmVudW0oWy4uLl0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IENoYXJ0VHlwZVNjaGVtYSA9IHpcbiAgLnVuaW9uKFtcbiAgICB6XG4gICAgICAubGl0ZXJhbChcImJhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcImNvbXBhcmluZyBhIG51bWVyaWMgdmFsdWUgYWNyb3NzIGEgc21hbGwvbWVkaXVtIHNldCBvZiBkaXNjcmV0ZSBjYXRlZ29yaWVzICh0b3AtTiwgcmFua2luZywgZ3JvdXAtYnkpXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiaG9yaXpvbnRhbEJhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcInNhbWUgYXMgYmFyIGJ1dCBjYXRlZ29yaWVzIG9uIHRoZSB5LWF4aXMgLSBwcmVmZXIgd2hlbiBjYXRlZ29yeSBsYWJlbHMgYXJlIGxvbmcgb3IgdGhlcmUgYXJlIG1hbnkgY2F0ZWdvcmllc1wiLFxuICAgICAgKSxcbiAgICB6XG4gICAgICAubGl0ZXJhbChcImxpbmVcIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJvcmRlcmVkLWF4aXMgdHJlbmQgKHRpbWUgc2VyaWVzLCBzZXF1ZW5jZSwgcmFuaykgd2hlcmUgdGhlIHgtYXhpcyBoYXMgbmF0dXJhbCBvcmRlclwiLFxuICAgICAgKSxcbiAgICB6LmxpdGVyYWwoXCJhcmVhXCIpLmRlc2NyaWJlKFwic3RhY2tlZC10cmVuZCBlbXBoYXNpcyAtIGN1bXVsYXRpdmUgb3IgY29tcG9zaXRpb24gb3ZlciB0aW1lXCIpLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiY29tYm9cIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJtaXhlZCBiYXIgKyBsaW5lIChvciBhcmVhKSBzZXJpZXMgb24gc2hhcmVkIGNhdGVnb3JpZXMgLSBlLmcuIHZvbHVtZSBiYXJzIHdpdGggYSByYXRlL3RyZW5kIGxpbmU7IHNldCBlYWNoIHNlcmllcycgYHR5cGVgXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwid2F0ZXJmYWxsXCIpXG4gICAgICAuZGVzY3JpYmUoXG4gICAgICAgIFwiYnJpZGdlIC8gcnVubmluZy10b3RhbCBvZiBzaWduZWQgc3RlcCB2YWx1ZXMgKHN0YXJ0IC0+IGRlbHRhcyAtPiBlbmQpIGFjcm9zcyBvcmRlcmVkIGNhdGVnb3JpZXNcIixcbiAgICAgICksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJzY2F0dGVyXCIpXG4gICAgICAuZGVzY3JpYmUoXCJ0d28tbnVtZXJpYy1heGlzIGNvcnJlbGF0aW9ucyBiZXR3ZWVuIGZpZWxkcyAoZS5nLiBwcmljZSB2cy4gcXVhbnRpdHkpXCIpLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiaGVhdG1hcFwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcIm1hdHJpeCBpbnRlbnNpdHkgYWNyb3NzIHR3byBjYXRlZ29yeSBheGVzIC0geCBsYWJlbHMgaW4gYGNhdGVnb3JpZXNgLCBvbmUgc2VyaWVzIHBlciBtYXRyaXggcm93IGhvbGRpbmcgdGhhdCByb3cncyB2YWx1ZXNcIixcbiAgICAgICksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJyYWRhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcIm11bHRpLWRpbWVuc2lvbiBjb21wYXJpc29uIGFjcm9zcyBhIGZpeGVkIHNldCBvZiBheGVzIChvbmUgaW5kaWNhdG9yIHBlciBjYXRlZ29yeSwgb25lIG9yIG1vcmUgc2VyaWVzIG9mIHZhbHVlcylcIixcbiAgICAgICksXG4gICAgei5saXRlcmFsKFwicGllXCIpLmRlc2NyaWJlKFwicGFydHMtb2YtYS13aG9sZSB3aGVuIDItNyBjYXRlZ29yaWVzIHN1bSB0byBhIG1lYW5pbmdmdWwgdG90YWxcIiksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJmdW5uZWxcIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJvcmRlcmVkIHN0YWdlcyB0aGF0IHNocmluayAoY29udmVyc2lvbiwgcGlwZWxpbmUsIGF0dHJpdGlvbikgLSBge25hbWUsIHZhbHVlfWAgc2xpY2VzXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwidHJlZW1hcFwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcInBhcnRzLW9mLWEtd2hvbGUgYXMgbmVzdGVkIHJlY3RhbmdsZXMgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIH43IGNhdGVnb3JpZXMgb3IgYSBmbGF0IGhpZXJhcmNoeSBvZiBge25hbWUsIHZhbHVlfWAgc2xpY2VzXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiY3VzdG9tXCIpXG4gICAgICAuZGVzY3JpYmUoXG4gICAgICAgIFwiZXNjYXBlIGhhdGNoIGZvciBhIGNoYXJ0IG5vbmUgb2YgdGhlIGFib3ZlIGNhbiBleHByZXNzIChzYW5rZXksIGJveHBsb3QsIGNhbmRsZXN0aWNrLCBzdW5idXJzdCwgZ2F1Z2UsIG5ldHdvcmsgZ3JhcGgsIGNhbGVuZGFyLCBwYXJhbGxlbCwgLi4uKSAtIGhhbmQtd3JpdGUgdGhlIGNvbXBsZXRlIEVjaGFydHMgb3B0aW9uIGluc3RlYWQgb2YgYSBwbGFuXCIsXG4gICAgICApLFxuICBdKVxuICAuZGVzY3JpYmUoXCJUaGUgY2hhcnQgc2hhcGUgdGhhdCBiZXN0IG1hdGNoZXMgdGhlIGRhdGEgYW5kIGludGVudC5cIik7XG4vKiogU3VwcG9ydGVkIGNoYXJ0IGZhbWlseSBzZWxlY3RlZCBieSB0aGUgc2VydmVyLXNpZGUgY2hhcnQgcGxhbm5lci4gKi9cbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9IHouaW5mZXI8dHlwZW9mIENoYXJ0VHlwZVNjaGVtYT47XG5cbi8qKlxuICogUmVzb2x2ZWQgY2hhcnQgcGxhbiBhIHNldHRsZWQgY2hhcnQgZW50cnkgY2FycmllcyBvbiBpdHNcbiAqIGByZXN1bHRgIGZpZWxkLiBgb3B0aW9uYCBpcyB0aGUgZnVsbCBFY2hhcnRzIHNwZWM7IHBhc3NcbiAqIHN0cmFpZ2h0IGludG8gYDxSZWFjdEVDaGFydHMgb3B0aW9uPXsuLi59PmAuXG4gKi9cbmV4cG9ydCBjb25zdCBDaGFydFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY2hhcnRUeXBlOiBDaGFydFR5cGVTY2hlbWEsXG4gIG9wdGlvbjogelxuICAgIC5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJGdWxseS1yZXNvbHZlZCBFY2hhcnRzIGBFQ2hhcnRzT3B0aW9uYCBKU09OIGZvciB0aGlzIGNoYXJ0IC0gZHJvcCBkaXJlY3RseSBpbnRvIGFuIEVjaGFydHMgaW5zdGFuY2UgKG9yIGA8UmVhY3RFQ2hhcnRzIG9wdGlvbj17Li4ufSAvPmApIHdpdGhvdXQgZnVydGhlciBwcm9jZXNzaW5nLiBJbmNsdWRlcyB0aXRsZSAvIHRvb2x0aXAgLyBsZWdlbmQgLyBncmlkIC8gYXhpcyAvIHNlcmllcyBkZWZhdWx0cyBhbHJlYWR5IG1lcmdlZCBpbi5cIixcbiAgICApLFxufSk7XG4vKiogUmVuZGVyLXJlYWR5IGNoYXJ0IHBsYW4gc3RvcmVkIGJlaGluZCBhIGNoYXJ0IGVtYmVkIGlkZW50aWZpZXIuICovXG5leHBvcnQgdHlwZSBDaGFydFJlc3VsdCA9IHouaW5mZXI8dHlwZW9mIENoYXJ0UmVzdWx0U2NoZW1hPjtcblxuLyoqXG4gKiBXaXJlLWZvcm1hdCBBTkQgc2VydmVyLXNpZGUgY2FjaGUgc2hhcGUgZm9yIGEgY2hhcnQgZW50cnkuXG4gKiBUaHJlZSBsaWZlY3ljbGUgc3RhdGVzIGluZmVycmVkIGZyb20gdGhlIHR3byBvcHRpb25hbCBmaWVsZHNcbiAqIChubyBkaXNjcmltaW5hdG9yIG5lZWRlZCk6XG4gKlxuICogICAtIGByZXN1bHRgIHNldCAgICAgICAgICAgICAgICAgICAgLT4gY2hhcnQgaXMgcmVhZHkgdG8gcmVuZGVyXG4gKiAgIC0gYGVycm9yYCBzZXQgICAgICAgICAgICAgICAgICAgICAtPiBwbGFubmVyIC8gZGF0YSBmZXRjaCBmYWlsZWRcbiAqICAgLSBib3RoIGByZXN1bHRgIGFuZCBgZXJyb3JgIHVuc2V0IC0+IHN0aWxsIHByb2Nlc3NpbmdcbiAqXG4gKiBgb3B0aW9uYCBpcyB0eXBlZCBhcyBhIGdlbmVyaWMgcmVjb3JkIHNvIHRoaXMgcGFja2FnZSBzdGF5c1xuICogZGVwZW5kZW5jeS1mcmVlIG9mIGBlY2hhcnRzYC4gVGhlIHNlcnZlciAoYGNoYXJ0LnRzYCkgaW1wb3J0c1xuICogdGhpcyBzY2hlbWEgZGlyZWN0bHk7IHRoZSBkZW1vIGNsaWVudCBwb2xscyB0aGVcbiAqIGAvZW1iZWQvY2hhcnQvOmlkYCByb3V0ZSBhbmQgcGFyc2VzIHJlc3BvbnNlcyBhZ2FpbnN0IGl0LlxuICovXG5leHBvcnQgY29uc3QgQ2hhcnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNoYXJ0SWQ6IHpcbiAgICAuc3RyaW5nKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIk9wYXF1ZSBpZCBtaW50ZWQgYnkgdGhlIGNoYXJ0IHN1YnN5c3RlbS4gRW1iZWQgdmVyYmF0aW0gYXMgYFtjaGFydDo8Y2hhcnRJZD5dYCBpbiBhZ2VudCBwcm9zZTsgdGhlIGhvc3QgVUkgcmVzb2x2ZXMgaXQgYWdhaW5zdCB0aGlzIGNhY2hlIGVudHJ5LlwiLFxuICAgICksXG4gIGVycm9yOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIkVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgY2hhcnQgZmFpbGVkIChkYXRhIGZldGNoIGVycm9yLCBwbGFubmVyIGVycm9yLCBlbXB0eSBkYXRhc2V0KS4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYHJlc3VsdGA7IGFic2VudCBvbiBzdWNjZXNzIGFuZCB3aGlsZSBwcm9jZXNzaW5nLlwiLFxuICAgICksXG4gIHJlc3VsdDogQ2hhcnRSZXN1bHRTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIlJlc29sdmVkIGNoYXJ0IHBsYW4uIEFic2VudCB3aGlsZSBwcm9jZXNzaW5nIGFuZCB3aGVuIHRoZSBydW4gZXJyb3JlZC5cIixcbiAgKSxcbn0pO1xuLyoqIFBvbGxhYmxlIGNoYXJ0LWNhY2hlIGVudHJ5IHJlcHJlc2VudGluZyBwZW5kaW5nLCBzdWNjZXNzZnVsLCBvciBmYWlsZWQgcGxhbm5pbmcuICovXG5leHBvcnQgdHlwZSBDaGFydCA9IHouaW5mZXI8dHlwZW9mIENoYXJ0U2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzdGF0ZW1lbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiBXaXJlLWZvcm1hdCBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vZW1iZWQvZGF0YS86aWRgLlxuICpcbiAqIE1pcnJvcnMgdGhlIGFnZW50LXNpZGUgYGdldF9zdGF0ZW1lbnRgIHRvb2wncyBvdXRwdXQgc28gdGhlXG4gKiBob3N0IFVJIGFuZCB0aGUgTExNIHNlZSB0aGUgZXhhY3Qgc2FtZSBzaGFwZSBmb3IgdGhlIHNhbWVcbiAqIHN0YXRlbWVudDsgdGhlIHJvdXRlIGlzIHdoYXQgcmVzb2x2ZXMgYFtkYXRhOjxzdGF0ZW1lbnRfaWQ+XWBcbiAqIG1hcmtlcnMgdGhlIGFnZW50IGVtYmVkcyBpbiBwcm9zZS5cbiAqXG4gKiBGaWVsZHM6XG4gKiAgIC0gYGNvbHVtbnNgOiBjb2x1bW4gbmFtZXMgaW4gZGVjbGFyYXRpb24gb3JkZXIuXG4gKiAgIC0gYHJvd3NgOiByb3cgcmVjb3JkcyBrZXllZCBieSBjb2x1bW4gbmFtZS4gQ2VsbCB2YWx1ZXMgYXJlXG4gKiAgICAgZWl0aGVyIGNvZXJjZWQgbnVtYmVycyBvciB0aGUgb3JpZ2luYWwgc3RyaW5ncyAoR2VuaWUgL1xuICogICAgIFN0YXRlbWVudCBFeGVjdXRpb24gcmV0dXJucyBldmVyeSBjZWxsIGFzIGBzdHJpbmcgfCBudWxsYDtcbiAqICAgICBudW1lcmljLWxvb2tpbmcgY2VsbHMgYXJlIGNvZXJjZWQgc2VydmVyLXNpZGUgc28gdGhlIFVJXG4gKiAgICAgY2FuIGZvcm1hdCB3aXRoIGB0YWJ1bGFyLW51bXNgIHdpdGhvdXQgcmUtcGFyc2luZykuXG4gKiAgIC0gYHJvd0NvdW50YDogdG90YWwgcm93IGNvdW50IHVwc3RyZWFtIChpbmRlcGVuZGVudCBvZiB0aGVcbiAqICAgICBgbGltaXRgIGNhcCkuIENvbXBhcmUgYWdhaW5zdCBgcm93cy5sZW5ndGhgIHRvIGRldGVjdFxuICogICAgIHRydW5jYXRpb24gLSBgdHJ1bmNhdGVkYCBpcyB0aGUgcHJlY29tcHV0ZWQgZmxhZy5cbiAqICAgLSBgdHJ1bmNhdGVkYDogYHRydWVgIHdoZW4gdGhlIHNlcnZlciBjbGlwcGVkIHJvd3MgdG8gaG9ub3JcbiAqICAgICB0aGUgcm91dGUncyByb3cgY2FwOyB0aGUgVUkgc2hvdWxkIHN1cmZhY2UgYSBcInNob3dpbmcgTiBvZlxuICogICAgIE0gcm93c1wiIGFmZm9yZGFuY2UgaW4gdGhhdCBjYXNlLlxuICovXG5leHBvcnQgY29uc3QgU3RhdGVtZW50RGF0YVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29sdW1uczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgcm93czogei5hcnJheSh6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkpLFxuICByb3dDb3VudDogei5udW1iZXIoKSxcbiAgdHJ1bmNhdGVkOiB6LmJvb2xlYW4oKSxcbn0pO1xuLyoqIFRhYnVsYXIgc3RhdGVtZW50IHBheWxvYWQgcmVzb2x2ZWQgZnJvbSBhIGBbZGF0YTo8c3RhdGVtZW50X2lkPl1gIGVtYmVkIG1hcmtlci4gKi9cbmV4cG9ydCB0eXBlIFN0YXRlbWVudERhdGEgPSB6LmluZmVyPHR5cGVvZiBTdGF0ZW1lbnREYXRhU2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLSBtYXN0cmEtb25seSBnZW5pZS1hZ2VudCBldmVudHMgLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIE1hc3RyYS1vbmx5IGxpZmVjeWNsZSBldmVudDogdGhlIEdlbmllIHRvb2wgaW52b2NhdGlvbiBzdGFydGVkLlxuICogRW1pdHRlZCBpbW1lZGlhdGVseSB3aGVuIHRoZSBjYWxsaW5nIGFnZW50IGludm9rZXMgdGhlIEdlbmllXG4gKiB0b29sLCBiZWZvcmUgYW55IGlubmVyIGFnZW50IC8gd2lyZSBhY3Rpdml0eSwgc28gdGhlIFVJIGNhblxuICogcG9wIGEgXCJUaGlua2luZy4uLlwiIHBpbGwgdGhlIGluc3RhbnQgdGhlIG1vZGVsIGRlY2lkZXMgdG9cbiAqIGRlbGVnYXRlLiBgY29udmVyc2F0aW9uSWRgIC8gYG1lc3NhZ2VJZGAgYXJlIGFic2VudCBvbiB0aGlzXG4gKiBmaXJzdCBlbWl0IChubyBHZW5pZSByb3VuZC10cmlwIHlldCkuIEZpZWxkIG5hbWVzIGFyZVxuICogY2FtZWxDYXNlICh2cyB0aGUgc25ha2VfY2FzZSB3aXJlIGV2ZW50cykgdG8gbWlycm9yIHRoZVxuICogR2VuaWUgYWdlbnQncyBvd24gaW50ZXJuYWwgZGF0YSBwbHVtYmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0YXJ0ZWRFdmVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwic3RhcnRlZFwiKSxcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgLyoqXG4gICAqIEdlbmllIGNvbnZlcnNhdGlvbiBpZCwgcG9wdWxhdGVkIG9ubHkgd2hlbiB0aGlzIGBzdGFydGVkYFxuICAgKiBldmVudCBjb3JyZXNwb25kcyB0byBhIGZvbGxvdy11cCB0dXJuIG9uIGFuIGV4aXN0aW5nXG4gICAqIGNvbnZlcnNhdGlvbi4gQWJzZW50IG9uIHRoZSBmaXJzdCB0dXJuLlxuICAgKi9cbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgLyoqXG4gICAqIEdlbmllIG1lc3NhZ2UgaWQsIHBvcHVsYXRlZCBvbmx5IGFmdGVyIHRoZSBmaXJzdCB3aXJlXG4gICAqIGBtZXNzYWdlYCBldmVudCBsYW5kcy4gQWJzZW50IG9uIHRoZSBpbW1lZGlhdGUtb24taW52b2tlXG4gICAqIGVtaXQuXG4gICAqL1xuICBtZXNzYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgLyoqIFF1ZXN0aW9uIHRoZSBHZW5pZSBhZ2VudCBzZW50IHRvIEdlbmllLiAqL1xuICBjb250ZW50OiB6LnN0cmluZygpLFxufSk7XG4vKiogSW1tZWRpYXRlIGxpZmVjeWNsZSBldmVudCBlbWl0dGVkIHdoZW4gYW4gYGFza19nZW5pZWAgaW52b2NhdGlvbiBiZWdpbnMuICovXG5leHBvcnQgdHlwZSBTdGFydGVkRXZlbnQgPSB6LmluZmVyPHR5cGVvZiBTdGFydGVkRXZlbnRTY2hlbWE+O1xuXG4vKipcbiAqIE1hc3RyYS1vbmx5IGxpZmVjeWNsZSBldmVudDogb25lIGBhc2tfZ2VuaWVgIGludm9jYXRpb25cbiAqIGZpbmlzaGVkLiBDYXJyaWVzIHRoZSBoeWRyYXRlZCBgc3RhdGVtZW50SWRzYCAocm93cyBhcmUgZmV0Y2hlZFxuICogdmlhIGBnZXRTdGF0ZW1lbnRgIHNlcGFyYXRlbHkpIGFuZCBHZW5pZSdzIGZpbmFsIHByb3NlIGFuc3dlclxuICogc28gdGhlIFVJIGNhbiBtb3ZlIGZyb20gXCJ0aGlua2luZ1wiIHRvIFwiYW5zd2VyZWRcIiB3aXRob3V0XG4gKiB3YWl0aW5nIGZvciB0aGUgR2VuaWUgYWdlbnQncyB3aG9sZSByZWFzb25pbmcgbG9vcCB0byBlbmQuXG4gKi9cbmV4cG9ydCBjb25zdCBBc2tHZW5pZURvbmVFdmVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXNrX2dlbmllX2RvbmVcIiksXG4gIHNwYWNlSWQ6IHouc3RyaW5nKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1lc3NhZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAvKiogR2VuaWUncyBuYXR1cmFsLWxhbmd1YWdlIGFuc3dlciBmb3IgdGhlIHR1cm4sIGlmIGFueS4gKi9cbiAgYW5zd2VyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIC8qKiBTdGF0ZW1lbnQgaWRzIGZvciBhbnkgbm9uLWVtcHR5IHJlc3VsdCBzZXRzIHRoaXMgdHVybiBwcm9kdWNlZC4gKi9cbiAgc3RhdGVtZW50SWRzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAvKipcbiAgICogVGVybWluYWwgd2lyZSBzdGF0dXMgKGBDT01QTEVURURgIC8gYEZBSUxFRGAgLyBgQ0FOQ0VMTEVEYCkuXG4gICAqIE1pcnJvcnMgdGhlIHNvdXJjZSBgcmVzdWx0YCBldmVudCdzIHN0YXR1cyBzbyBzdWJzY3JpYmVyc1xuICAgKiBjYW4gcmVhY3QgdG8gYXNrLWxldmVsIGNvbXBsZXRpb24gd2l0aG91dCByZS13YWxraW5nIGhpc3RvcnkuXG4gICAqIFRyZWF0ZWQgYXMgYHouY3VzdG9tPE1lc3NhZ2VTdGF0dXM+YCBiZWNhdXNlIHRoZSBTREsgaXMgdGhlXG4gICAqIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlIGVudW0gdmFsdWVzLlxuICAgKi9cbiAgc3RhdHVzOiB6LmN1c3RvbTxNZXNzYWdlU3RhdHVzPigodikgPT4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCIpLFxufSk7XG4vKiogQ29tcGxldGlvbiBldmVudCBmb3Igb25lIGBhc2tfZ2VuaWVgIGludm9jYXRpb24sIGluY2x1ZGluZyBpdHMgdGVybWluYWwgc3RhdHVzLiAqL1xuZXhwb3J0IHR5cGUgQXNrR2VuaWVEb25lRXZlbnQgPSB6LmluZmVyPHR5cGVvZiBBc2tHZW5pZURvbmVFdmVudFNjaGVtYT47XG5cbi8qKlxuICogTWFzdHJhLW9ubHkgZXJyb3IgZXZlbnQ6IHRlcm1pbmFsIEdlbmllIGFnZW50IC8gdHJhbnNwb3J0XG4gKiBlcnJvci4gR2VuaWUncyBvd24gYEZBSUxFRGAgLyBgQ0FOQ0VMTEVEYCBjb21lIHRocm91Z2ggdGhlXG4gKiB3aXJlJ3MgYHJlc3VsdGAgZXZlbnQgLSB0aGlzIHZhcmlhbnQgaXMgZm9yIGZhaWx1cmVzIHRoZSB3aXJlXG4gKiBjYW4ndCByZXByZXNlbnQgKG5ldHdvcmssIEdlbmllIGFnZW50IGNyYXNoLCBwbGFubmVyIGVycm9yLFxuICogZXRjLikgcGx1cyBhIFVJLWZyaWVuZGx5IG1pcnJvciBvZiBgcmVzdWx0YCB3aGVuIHRoZSBzdGF0dXMgaXNcbiAqIG5vbi1gQ09NUExFVEVEYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1hc3RyYUdlbmllRXJyb3JFdmVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwiZXJyb3JcIiksXG4gIHNwYWNlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVycm9yOiB6LnN0cmluZygpLFxufSk7XG4vKiogTWFzdHJhLXNpZGUgZmFpbHVyZSBldmVudCBmb3IgZXJyb3JzIG91dHNpZGUgR2VuaWUncyBub3JtYWwgdGVybWluYWwgcmVzdWx0LiAqL1xuZXhwb3J0IHR5cGUgTWFzdHJhR2VuaWVFcnJvckV2ZW50ID0gei5pbmZlcjx0eXBlb2YgTWFzdHJhR2VuaWVFcnJvckV2ZW50U2NoZW1hPjtcblxuLyoqXG4gKiBNYXN0cmEtb25seSBsaWZlY3ljbGUgZXZlbnQ6IHRoZSBpbm5lciBHZW5pZSBhZ2VudCdzXG4gKiBzdHJ1Y3R1cmVkLW91dHB1dCBjb2VyY2lvbiBoYXMgbGFuZGVkLiBGaXJlcyBvbmNlIHBlciBHZW5pZVxuICogdG9vbCBpbnZvY2F0aW9uLCBBRlRFUiBgYWdlbnQuZ2VuZXJhdGUoLi4uKWAgY29tcGxldGVzIChpLmUuXG4gKiB0aGUgaW5uZXIgbG9vcCArIE1hc3RyYSdzIHN0cnVjdHVyaW5nIHBhc3MgaGF2ZSBib3RoXG4gKiBmaW5pc2hlZCkgYW5kIEJFRk9SRSB0aGUgd3JhcHBlciBoeWRyYXRlcyBlYWNoIGBkYXRhYCBpdGVtXG4gKiB3aXRoIGEgY2hhcnQuIFNpZ25hbHMgdG8gdGhlIGhvc3QgVUkgdGhhdCB0aGUgYWdlbnQgaGFzXG4gKiBzdG9wcGVkIHJlYXNvbmluZyBhbmQgaXMgbW92aW5nIGludG8gY2hhcnQgZ2VuZXJhdGlvbi5cbiAqXG4gKiBUaGUgc3RydWN0dXJpbmcgcGFzcyBpdHNlbGYgaXMgb3BhcXVlIChpdCBydW5zIGluc2lkZVxuICogTWFzdHJhJ3MgYGFnZW50LmdlbmVyYXRlKC4uLilgIHRvZ2V0aGVyIHdpdGggdGhlIHRvb2wgbG9vcClcbiAqIHNvIHRoaXMgaXMgdGhlIGVhcmxpZXN0IGhvb2sgd2UgY2FuIG9mZmVyOyB3ZSBjYW4ndCBmaXJlIGFcbiAqIFwic3VtbWFyeSBzdGFydGVkXCIgZXZlbnQgdGhlIHdheSB3ZSBmaXJlIGBzdGFydGVkYC5cbiAqL1xuZXhwb3J0IGNvbnN0IFN1bW1hcnlFdmVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwic3VtbWFyeVwiKSxcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgYWdlbnQncyBzdHJ1Y3R1cmVkIHN1bW1hcnkuICovXG4gIGl0ZW1zOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG4gIC8qKiBDb3VudCBvZiBgdGV4dGAgLyBwcm9zZSBpdGVtcyBpbiB0aGUgc3VtbWFyeS4gKi9cbiAgdGV4dEl0ZW1zOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG4gIC8qKlxuICAgKiBDb3VudCBvZiBgZGF0YWAgaXRlbXMgdGhlIHdyYXBwZXIgd2lsbCBoeWRyYXRlIGludG8gY2hhcnRzLlxuICAgKiBUaGUgaG9zdCBVSSBjYW4gdXNlIHRoaXMgdG8gc2VlZCBOIGNoYXJ0IHNrZWxldG9ucyBiZWZvcmVcbiAgICogdGhlIHBlci1jaGFydCBldmVudHMgYXJyaXZlLlxuICAgKi9cbiAgZGF0YUl0ZW1zOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCksXG59KTtcbi8qKiBMaWZlY3ljbGUgZXZlbnQgZW1pdHRlZCBiZWZvcmUgc3VtbWFyeSBkYXRhIGl0ZW1zIGFyZSBoeWRyYXRlZCBpbnRvIGNoYXJ0cy4gKi9cbmV4cG9ydCB0eXBlIFN1bW1hcnlFdmVudCA9IHouaW5mZXI8dHlwZW9mIFN1bW1hcnlFdmVudFNjaGVtYT47XG5cbi8qKlxuICogTWFzdHJhLW9ubHkgZXZlbnQgdW5pb24uIEVhY2ggdmFyaWFudCB1c2VzIHRoZSBzYW1lIGZsYXRcbiAqIGB7dHlwZSwgLi4uZmllbGRzfWAgc2hhcGUgYXMge0BsaW5rIEdlbmllQ2hhdEV2ZW50fSBzb1xuICogc3Vic2NyaWJlcnMgdW5pb24gYm90aCB3aXRoIGEgc2luZ2xlIGBzd2l0Y2ggKGV2ZW50LnR5cGUpYC5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllQWdlbnRFdmVudFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbXG4gIFN0YXJ0ZWRFdmVudFNjaGVtYSxcbiAgQXNrR2VuaWVEb25lRXZlbnRTY2hlbWEsXG4gIE1hc3RyYUdlbmllRXJyb3JFdmVudFNjaGVtYSxcbiAgU3VtbWFyeUV2ZW50U2NoZW1hLFxuXSk7XG4vKiogTWFzdHJhLW93bmVkIGxpZmVjeWNsZSBldmVudHMgbGF5ZXJlZCBvbiB0b3Agb2YgR2VuaWUncyB3aXJlIGV2ZW50IHN0cmVhbS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllQWdlbnRFdmVudCA9IHouaW5mZXI8dHlwZW9mIEdlbmllQWdlbnRFdmVudFNjaGVtYT47XG5cbi8qKlxuICogVGhlIHVuaWZpZWQgd3JpdGVyLWV2ZW50IHZvY2FidWxhcnkgc3Vic2NyaWJlcnMgc2VlIG9uXG4gKiBgY3R4LndyaXRlcmA6IHRoZSB3aXJlLWRlcml2ZWQge0BsaW5rIEdlbmllQ2hhdEV2ZW50fSB1bmlvblxuICogKipwbHVzKiogTWFzdHJhLW9ubHkgZXZlbnRzIGZyb20ge0BsaW5rIEdlbmllQWdlbnRFdmVudH0uIEVhY2hcbiAqIHZhcmlhbnQgaXMgYSBmbGF0IGB7dHlwZSwgLi4uZmllbGRzfWAgb2JqZWN0OyBjb25zdW1lcnMgbmFycm93XG4gKiBvbiBgdHlwZWAgYW5kIHJlYWQgZmllbGRzIGlubGluZSAtIHRoZXJlIGlzIG5vIHBheWxvYWQgd3JhcHBlclxuICogYW5kIG5vIHdyaXRlci1ib3VuZGFyeSB0cmFuc2xhdG9yLlxuICpcbiAqIENvbXBvc2VkIHZpYSBgei51bmlvbmAgKG5vdCBgei5kaXNjcmltaW5hdGVkVW5pb25gKSBiZWNhdXNlXG4gKiBib3RoIGhhbHZlcyBhcmUgdGhlbXNlbHZlcyBkaXNjcmltaW5hdGVkIHVuaW9ucyBvbiB0aGUgc2FtZVxuICogYHR5cGVgIGtleS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllV3JpdGVyRXZlbnRTY2hlbWEgPSB6LnVuaW9uKFtcbiAgZ2VuaWVNb2RlbC5HZW5pZUNoYXRFdmVudFNjaGVtYSxcbiAgR2VuaWVBZ2VudEV2ZW50U2NoZW1hLFxuXSk7XG4vKiogQ29tcGxldGUgZXZlbnQgdm9jYWJ1bGFyeSB3cml0dGVuIGJ5IHRoZSBNYXN0cmEgR2VuaWUgaW50ZWdyYXRpb24uICovXG5leHBvcnQgdHlwZSBHZW5pZVdyaXRlckV2ZW50ID0gei5pbmZlcjx0eXBlb2YgR2VuaWVXcml0ZXJFdmVudFNjaGVtYT47XG5cbi8qKiBEaXNjcmltaW5hdG9yIHR5cGUgZm9yIHtAbGluayBHZW5pZVdyaXRlckV2ZW50fS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllV3JpdGVyRXZlbnRUeXBlID0gR2VuaWVXcml0ZXJFdmVudFtcInR5cGVcIl07XG5cbi8qKiBOYXRpdmUgQUkgU0RLIGN1c3RvbSBkYXRhLXBhcnQgdHlwZSBjYXJyeWluZyBvbmUgR2VuaWUgcHJvZ3Jlc3MgZXZlbnQuICovXG5leHBvcnQgY29uc3QgR0VOSUVfUFJPR1JFU1NfUEFSVF9UWVBFID0gXCJkYXRhLWdlbmllLXByb2dyZXNzXCIgYXMgY29uc3Q7XG5cbi8qKlxuICogRGF0YSBhdHRhY2hlZCB0byB7QGxpbmsgR0VOSUVfUFJPR1JFU1NfUEFSVF9UWVBFfS4gYHRvb2xDYWxsSWRgIGFzc29jaWF0ZXNcbiAqIHByb2dyZXNzIHdpdGggdGhlIG5hdGl2ZSB0b29sIHBhcnQgdGhhdCBvd25zIHRoZSByZXF1ZXN0IGFuZCByZXN1bHQuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZVByb2dyZXNzUGFydERhdGFTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCksXG4gIGV2ZW50OiBHZW5pZVdyaXRlckV2ZW50U2NoZW1hLFxufSk7XG4vKiogVmFsaWRhdGVkIHBheWxvYWQgY2FycmllZCBieSBhIG5hdGl2ZSBHZW5pZSBwcm9ncmVzcyBkYXRhIHBhcnQuICovXG5leHBvcnQgdHlwZSBHZW5pZVByb2dyZXNzUGFydERhdGEgPSB6LmluZmVyPHR5cGVvZiBHZW5pZVByb2dyZXNzUGFydERhdGFTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHN1bW1hcnkgKyBkYXRhc2V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIFRhYnVsYXIgcGF5bG9hZCBlbWJlZGRlZCBpbiBldmVyeSB7QGxpbmsgR2VuaWVTdW1tYXJ5SXRlbX1cbiAqIGB2aXN1YWxpemVgIGRhdGFzZXQuIEFsd2F5cyBwcmVzZW50OiBoeWRyYXRlZCBieSB0aGUgd29ya2Zsb3cnc1xuICogYWdlbnQgc3RlcCBiZWZvcmUgdGhlIGZpbmFsaXplIHN0ZXAgcnVucywgc28gY29uc3VtZXJzIGNhbiByZW5kZXJcbiAqIGEgdGFibGUgZmFsbGJhY2sgcmVnYXJkbGVzcyBvZiBjaGFydC1wbGFubmVyIG91dGNvbWUuXG4gKlxuICogRmllbGRzOlxuICogICAtIGBjb2x1bW5zYDogY29sdW1uIG5hbWVzIGluIGRpc3BsYXkgb3JkZXIuXG4gKiAgIC0gYHJvd3NgOiB0YWJ1bGFyIHJvd3Mga2V5ZWQgYnkgY29sdW1uIG5hbWUuXG4gKiAgIC0gYHJvd0NvdW50YDogdG90YWwgcm93IGNvdW50IEdlbmllIHJlcG9ydGVkIChtYXkgZXhjZWVkXG4gKiAgICAgYHJvd3MubGVuZ3RoYCB3aGVuIHRoZSBzdGF0ZW1lbnQgd2FzIHRydW5jYXRlZCkuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZURhdGFzZXREYXRhU2NoZW1hID0gei5vYmplY3Qoe1xuICBjb2x1bW5zOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICByb3dzOiB6LmFycmF5KHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKSksXG4gIHJvd0NvdW50OiB6Lm51bWJlcigpLFxufSk7XG4vKiogSHlkcmF0ZWQgdGFidWxhciBkYXRhIHRoYXQgYWx3YXlzIGJhY2tzIGEgR2VuaWUgdmlzdWFsaXphdGlvbiBpdGVtLiAqL1xuZXhwb3J0IHR5cGUgR2VuaWVEYXRhc2V0RGF0YSA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldERhdGFTY2hlbWE+O1xuXG4vKipcbiAqIFNsaW0gY2hhcnQgcmVmZXJlbmNlIGF0dGFjaGVkIHRvIGEgdmlzdWFsaXplIGRhdGFzZXQuIE9ubHlcbiAqIHByZXNlbnQgd2hlbiBwbGFubmluZyBzdWNjZWVkZWQuXG4gKlxuICogYG9wdGlvbmAgaXMgaW50ZW50aW9uYWxseSBOT1QgaW5jbHVkZWQuIFRoZSByZXNvbHZlZCBFY2hhcnRzXG4gKiBzcGVjIGxpdmVzIG9mZi1iYW5kIGluIHRoZSBjaGFydCBjYWNoZTogdGhlIGhvc3QgVUkgZmV0Y2hlcyBpdFxuICogYnkgYGNoYXJ0SWRgIGZyb20gdGhlIHBsdWdpbidzIGVtYmVkIHJvdXRlIChkZXJpdmVkIGZyb21cbiAqIGBiYXNlUGF0aGAgKyB7QGxpbmsgTUFTVFJBX1JPVVRFU30uZW1iZWQsIGkuZS4gYC9lbWJlZC9jaGFydC86aWRgO1xuICogc2VlIHtAbGluayBDaGFydH0pLiBFbWJlZGRpbmcgdGhlIGZ1bGwgc3BlYyBpbmxpbmUgd291bGRcbiAqIGluZmxhdGUgZXZlcnkgZGF0YXNldCBieSBzZXZlcmFsIEtCIHBlciBjaGFydCBhbmQgcm91bmQtdHJpcFxuICogdGhyb3VnaCB0aGUgTExNIGNvbnRleHQgZm9yIHplcm8gYmVuZWZpdCAodGhlIG1vZGVsIG9ubHkgbmVlZHNcbiAqIHRoZSBgY2hhcnRJZGAgdG8gcGxhY2UgYSBgW2NoYXJ0OjxjaGFydElkPl1gIG1hcmtlciBpbiBpdHNcbiAqIHJlcGx5KS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllRGF0YXNldENoYXJ0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjaGFydElkOiB6LnN0cmluZygpLFxuICBjaGFydFR5cGU6IENoYXJ0VHlwZVNjaGVtYSxcbn0pO1xuLyoqIExpZ2h0d2VpZ2h0IHJlZmVyZW5jZSB0byBhIGNoYXJ0IHBsYW4gc3RvcmVkIGluIHRoZSBNYXN0cmEgY2hhcnQgY2FjaGUuICovXG5leHBvcnQgdHlwZSBHZW5pZURhdGFzZXRDaGFydCA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldENoYXJ0U2NoZW1hPjtcblxuLyoqXG4gKiBEYXRhc2V0IGJ1bmRsZSBhdHRhY2hlZCB0byBhIHtAbGluayBHZW5pZVN1bW1hcnlJdGVtfSBgdmlzdWFsaXplYFxuICogaXRlbS4gYGRhdGFgIGlzIGFsd2F5cyBwb3B1bGF0ZWQ7IGBjaGFydGAgaXMgYmVzdC1lZmZvcnQgYW5kXG4gKiBhYnNlbnQgd2hlbiB0aGUgd29ya2Zsb3cncyBjaGFydC1wbGFubmVyIGZhaWxlZCAodGltZW91dCxcbiAqIG1hbGZvcm1lZCBwbGFuLCBhYm9ydCkgc28gdGhlIGhvc3QgVUkgY2FuIHN0aWxsIHJlbmRlciB0aGVcbiAqIHVuZGVybHlpbmcgdGFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZURhdGFzZXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGRhdGE6IEdlbmllRGF0YXNldERhdGFTY2hlbWEsXG4gIGNoYXJ0OiBHZW5pZURhdGFzZXRDaGFydFNjaGVtYS5vcHRpb25hbCgpLFxufSk7XG4vKiogVmlzdWFsaXphdGlvbiBkYXRhc2V0IHdpdGggcmVxdWlyZWQgdGFibGUgZGF0YSBhbmQgYW4gb3B0aW9uYWwgcGxhbm5lZCBjaGFydC4gKi9cbmV4cG9ydCB0eXBlIEdlbmllRGF0YXNldCA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldFNjaGVtYT47XG5cbi8qKlxuICogT25lIGl0ZW0gaW5zaWRlIHRoZSBHZW5pZSB3b3JrZmxvdydzIGZpbmFsIHN1bW1hcnkuIFRoZVxuICogd29ya2Zsb3cgcHJvZHVjZXMgYSBtaXhlZCBzZXF1ZW5jZSBvZjpcbiAqXG4gKiAgIC0gYHN0cmluZ2A6IGEgbWFya2Rvd24gcGFyYWdyYXBoIChpbnRlcnByZXRhdGlvbiwgY2FsbG91dHMsXG4gKiAgICAgdHJhbnNpdGlvbnMgYmV0d2VlbiBkYXRhIGJsb2NrcykuXG4gKiAgIC0gYHZpc3VhbGl6ZWA6IGEgcmVxdWVzdCBmcm9tIHRoZSBhZ2VudCBzdGVwIHRvIHZpc3VhbGl6ZSBhXG4gKiAgICAgc3BlY2lmaWMgR2VuaWUgc3RhdGVtZW50IGF0IHRoaXMgcG9zaXRpb24gaW4gdGhlIHByb3NlLlxuICogICAgIFRoZSBmaW5hbGl6ZSBzdGVwIGh5ZHJhdGVzIGBkYXRhc2V0LmRhdGFgIChyb3dzIGZyb20gdGhlXG4gKiAgICAgbWF0Y2hpbmcgYHN0YXRlbWVudElkYCkgYW5kIGF0dGFjaGVzIGBkYXRhc2V0LmNoYXJ0YCBhZnRlclxuICogICAgIHJ1bm5pbmcgdGhlIGNoYXJ0LXBsYW5uZXIuIFRoZSBhZ2VudCBORVZFUiBwaWNrcyB0aGUgY2hhcnRcbiAqICAgICB0eXBlIC0gaXQgb25seSBtYXJrcyB3aGVyZSBhIHZpc3VhbGl6YXRpb24gYmVsb25ncy5cbiAqXG4gKiBUaGUgaG9zdCBVSSB3YWxrcyB0aGUgYXJyYXkgaW4gZGlzcGxheSBvcmRlciB0byBjb21wb3NlIHRoZVxuICogZmluYWwgYXNzaXN0YW50IG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZVN1bW1hcnlJdGVtU2NoZW1hID0gei5kaXNjcmltaW5hdGVkVW5pb24oXCJ0eXBlXCIsIFtcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInN0cmluZ1wiKSxcbiAgICB0ZXh0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInZpc3VhbGl6ZVwiKSxcbiAgICBzdGF0ZW1lbnRJZDogei5zdHJpbmcoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGF0YXNldDogR2VuaWVEYXRhc2V0U2NoZW1hLFxuICB9KSxcbl0pO1xuLyoqIE9yZGVyZWQgcHJvc2Ugb3IgdmlzdWFsaXphdGlvbiBpdGVtIGluIHRoZSBHZW5pZSBhZ2VudCdzIGZpbmFsIHN1bW1hcnkuICovXG5leHBvcnQgdHlwZSBHZW5pZVN1bW1hcnlJdGVtID0gei5pbmZlcjx0eXBlb2YgR2VuaWVTdW1tYXJ5SXRlbVNjaGVtYT47XG5cbi8qKiBEaXNjcmltaW5hdG9yIHR5cGUgZm9yIHtAbGluayBHZW5pZVN1bW1hcnlJdGVtfS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllU3VtbWFyeUl0ZW1UeXBlID0gR2VuaWVTdW1tYXJ5SXRlbVtcInR5cGVcIl07XG5cbi8qKlxuICogVGhlIEdlbmllIGFnZW50J3MgZmluYWwgb3V0cHV0IHNoYXBlIC0gd2hhdCB0aGUgY2FsbGluZyBhZ2VudCdzXG4gKiBHZW5pZSB0b29sIHJldHVybnMgdG8gdGhlIGNhbGxpbmcgTExNLiBUaGUgYHN1bW1hcnlgIGFycmF5IGlzXG4gKiB0aGUgdXNlci1mYWNpbmcgcmVuZGVyYWJsZTsgYGNvbnZlcnNhdGlvbklkYCBsZXRzIHRoZSBjYWxsaW5nXG4gKiBhZ2VudCAob3IgdGhlIFVJKSBmb2xsb3cgdXAgaW4gdGhlIHNhbWUgR2VuaWUgdGhyZWFkIG9uIHRoZVxuICogbmV4dCB0dXJuLlxuICovXG5leHBvcnQgY29uc3QgR2VuaWVBZ2VudFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3VtbWFyeTogei5hcnJheShHZW5pZVN1bW1hcnlJdGVtU2NoZW1hKSxcbiAgZXJyb3I6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuLyoqIEZpbmFsIHJlbmRlcmFibGUgb3V0cHV0IHJldHVybmVkIGJ5IHRoZSBHZW5pZSBhZ2VudCB0b29sIHRvIGl0cyBjYWxsZXIuICovXG5leHBvcnQgdHlwZSBHZW5pZUFnZW50UmVzdWx0ID0gei5pbmZlcjx0eXBlb2YgR2VuaWVBZ2VudFJlc3VsdFNjaGVtYT47XG4iXX0=
|
|
441
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBMkMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qiw2RUFBNkU7QUFFN0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0MsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDeEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLGVBQWUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMzQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztDQUNoRCxDQUFDLENBQUM7QUFJSDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLENBQUM7QUFJSCwrRUFBK0U7QUFFL0U7Ozs7OztHQU1H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R0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO0lBQ3hDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2lyZS1mb3JtYXQgY29udHJhY3QgZm9yIGBAZGJ4LXRvb2xzL2FwcGtpdC1tYXN0cmFgOiB0aGVcbiAqIGRlcGVuZGVuY3ktZnJlZSB6b2Qgc2NoZW1hcyArIGluZmVycmVkIHR5cGVzIGV2ZXJ5IGNvbnN1bWVyICh0aGVcbiAqIFJlYWN0IGNsaWVudCwgYnJvd3NlciBidW5kbGVzLCB0aGUgc2VydmVyIHBsdWdpbikgc2hhcmVzLlxuICpcbiAqIEtlcHQgZnJlZSBvZiBgcGdgLCBgZmFzdGVtYmVkYCwgYW5kIHRoZSBNYXN0cmEgcnVudGltZSBzbyB0aGVcbiAqIGNsaWVudCBjYW4gaW1wb3J0IHRoZXNlIHNjaGVtYXMgd2l0aG91dCBkcmFnZ2luZyBpbiBzZXJ2ZXItb25seVxuICogZGVwZW5kZW5jaWVzLiBUaHJlZSBsYXllcnMgbGl2ZSBoZXJlOlxuICpcbiAqICAgMS4gVGhlIGRlc2NyaXB0b3IgcHVibGlzaGVkIGJ5IGBNYXN0cmFQbHVnaW4uY2xpZW50Q29uZmlnKClgXG4gKiAgICAgIHBsdXMgdGhlIFJFU1QgcGF5bG9hZHMgaXRzIHJvdXRlcyByZXR1cm4gKG1vZGVscywgaGlzdG9yeSxcbiAqICAgICAgc3VnZ2VzdGlvbnMsIGNoYXJ0IGVtYmVkcywgc3RhdGVtZW50IGRhdGEpLiBUaGUgc2VydmVyXG4gKiAgICAgIGRlcml2ZXMgZXZlcnkgcGF0aCBmcm9tIHRoZSBwbHVnaW4gbW91bnQgYW5kIHB1Ymxpc2hlcyB0aGVcbiAqICAgICAgcmVzb2x2ZWQgcGF0aHMgc28gdGhlIGNsaWVudCBjb21wb3NlcyBVUkxzIHdpdGhvdXRcbiAqICAgICAgaGFyZC1jb2RpbmcgYC9hcGkvbWFzdHJhYCAtIHJlbmFtZSB0aGUgcGx1Z2luIGFuZCB0aGUgY2xpZW50XG4gKiAgICAgIGtlZXBzIHdvcmtpbmcuXG4gKiAgIDIuIFRoZSBgY3R4LndyaXRlcmAgZXZlbnQgdm9jYWJ1bGFyeTogdGhlIHdpcmUtZGVyaXZlZFxuICogICAgICB7QGxpbmsgR2VuaWVDaGF0RXZlbnR9cyBmcm9tIGBAZGJ4LXRvb2xzL2dlbmllLXNoYXJlZGAgcGx1c1xuICogICAgICB0aGUgTWFzdHJhLW9ubHkgYWdlbnQgbGlmZWN5Y2xlIGV2ZW50cywgdW5pZmllZCBhc1xuICogICAgICB7QGxpbmsgR2VuaWVXcml0ZXJFdmVudH0gc28gc3Vic2NyaWJlcnMgbmFycm93IGJvdGggaGFsdmVzXG4gKiAgICAgIHdpdGggYSBzaW5nbGUgYHN3aXRjaCAoZXZlbnQudHlwZSlgLlxuICogICAzLiBUaGUgR2VuaWUgYWdlbnQncyB3b3JrZmxvdyBvdXRwdXQgc2hhcGVzXG4gKiAgICAgICh7QGxpbmsgR2VuaWVBZ2VudFJlc3VsdH0gYW5kIGl0cyBzdW1tYXJ5IC8gZGF0YXNldCBpdGVtcykuXG4gKlxuICogVGhlIHJvdXRlIHNlZ21lbnRzIGxpdmUgaW4gdGhlIHNpYmxpbmcgYHJvdXRlcy50c2BcbiAqICh7QGxpbmsgTUFTVFJBX1JPVVRFU30pIGFuZCB0aGUgZW1iZWQtbWFya2VyIGdyYW1tYXIgaW4gYG1hcmtlcnMudHNgLFxuICogc28gdGhpcyBmaWxlIHN0YXlzIHB1cmVseSBkZWNsYXJhdGl2ZSAoc2NoZW1hcyArIGluZmVycmVkIHR5cGVzKS5cbiAqIFRoZSBicm93c2VyIGNsaWVudCB0aGF0IGRyaXZlcyB0aGVzZSByb3V0ZXMgKGBNYXN0cmFQbHVnaW5DbGllbnRgKVxuICogc2hpcHMgZnJvbSBgQGRieC10b29scy91aS1tYXN0cmFgLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBnZW5pZU1vZGVsLCB0eXBlIEdlbmllQ2hhdEV2ZW50LCB0eXBlIE1lc3NhZ2VTdGF0dXMgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZ2VuaWVcIjtcbmltcG9ydCB7IG1vZGVsIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLW1vZGVsXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNsaWVudCBjb25maWcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIEpTT04tc2FmZSBkZXNjcmlwdG9yIHB1Ymxpc2hlZCBieSB0aGUgTWFzdHJhIHBsdWdpbidzXG4gKiBgY2xpZW50Q29uZmlnKClgLlxuICpcbiAqIE9ubHkgdGhlIGlycmVkdWNpYmxlIGRhdGEgbGl2ZXMgaGVyZTogYGJhc2VQYXRoYCAodGhlIG9uZSBwYXRoIHRoZVxuICogY2xpZW50IGNhbid0IG90aGVyd2lzZSBrbm93LCBzaW5jZSBpdCBlbmNvZGVzIHRoZSBwbHVnaW4ncyBtb3VudFxuICogbmFtZSkgcGx1cyB0aGUgcnVudGltZSBhZ2VudCByb3N0ZXIuIEV2ZXJ5IGNvbmNyZXRlIGVuZHBvaW50IFVSTCBpc1xuICogZGVyaXZlZCBmcm9tIGBiYXNlUGF0aGAgYnkgdGhlIGJyb3dzZXIgY2xpZW50XG4gKiAoYE1hc3RyYVBsdWdpbkNsaWVudGApIHVzaW5nIHRoZSBzaGFyZWQge0BsaW5rIE1BU1RSQV9ST1VURVN9XG4gKiBzZWdtZW50cywgc28gdGhlcmUncyBub3RoaW5nIHRvIHB1Ymxpc2ggcGVyLXJvdXRlLlxuICpcbiAqIEZpZWxkczpcbiAqICAgLSBgYmFzZVBhdGhgOiBwbHVnaW4gbW91bnQgcGF0aC4gQWx3YXlzIGAvYXBpLzxwbHVnaW5OYW1lPmAuIEZlZWRcbiAqICAgICBpdCB0byBgbmV3IE1hc3RyYVBsdWdpbkNsaWVudChjb25maWcpYCAoZnJvbVxuICogICAgIGBAZGJ4LXRvb2xzL3VpLW1hc3RyYWApIHRvIGdldCBhIHR5cGVkIGNsaWVudCBvdmVyIGV2ZXJ5XG4gKiAgICAgcm91dGUgcGx1cyB0aGUgc3RhbmRhcmQgYWdlbnQgc3RyZWFtLlxuICogICAtIGBkZWZhdWx0QWdlbnRgOiBhZ2VudCBpZCB0aGUgY2xpZW50IGNvbnZlcnNlcyB3aXRoIHdoZW4gaXRcbiAqICAgICBkb2Vzbid0IG5hbWUgb25lLlxuICogICAtIGBhZ2VudHNgOiBldmVyeSByZWdpc3RlcmVkIGFnZW50IGlkIGluIHJlZ2lzdHJhdGlvbiBvcmRlci5cbiAqICAgLSBgZmVlZGJhY2tFbmFibGVkYDogd2hldGhlciB0aGUgc2VydmVyIGNhbiBsb2cgdXNlciBmZWVkYmFjayB0b1xuICogICAgIE1MZmxvdyAoTUxmbG93IHRyYWNpbmcgaXMgY29uZmlndXJlZCkuIERyaXZlcyB3aGV0aGVyIHRoZSBjaGF0IFVJXG4gKiAgICAgc3VyZmFjZXMgdGh1bWJzIC8gY29tbWVudCBjb250cm9scy4gRGVmYXVsdHMgdG8gYGZhbHNlYCBzbyBhXG4gKiAgICAgY29uZmlnIHB1Ymxpc2hlZCBieSBhbiBvbGRlciBzZXJ2ZXIgKHdpdGhvdXQgdGhlIGZpZWxkKSBwYXJzZXNcbiAqICAgICBjbGVhbmx5IHRvIFwib2ZmXCIuXG4gKiAgIC0gYGNoYXRBbHdheXNBdmFpbGFibGVgOiB3aGV0aGVyIHRoZSBhZ2VudHMnIERhdGFicmlja3MgY2FsbHMgcnVuIGFzIHRoZVxuICogICAgIGFwcCBzZXJ2aWNlIHByaW5jaXBhbCByYXRoZXIgdGhhbiBvbi1iZWhhbGYtb2YgdGhlIHNpZ25lZC1pbiB1c2VyLiBXaGVuXG4gKiAgICAgYHRydWVgIHRoZSBjaGF0IHdvcmtzIGZvciBhbnkgY2FsbGVyIHdobyBjYW4gb3BlbiB0aGUgYXBwLCBzbyBhIFVJIHRoYXRcbiAqICAgICBoaWRlcyBjaGF0IHdoZW4gdGhlIE9CTyB0b2tlbiBpcyBhYnNlbnQgc2hvdWxkIHNob3cgaXQgYW55d2F5LiBEZWZhdWx0c1xuICogICAgIHRvIGBmYWxzZWAgKHRoZSBPQk8gLyBgXCJ1c2VyXCJgIGlkZW50aXR5IG1vZGUpLCBzbyBhbiBvbGRlciBzZXJ2ZXIgd2l0aG91dFxuICogICAgIHRoZSBmaWVsZCBrZWVwcyB0aGUgT0JPLWdhdGVkIGJlaGF2aW9yLlxuICovXG5leHBvcnQgY29uc3QgTWFzdHJhQ2xpZW50Q29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICBiYXNlUGF0aDogei5zdHJpbmcoKSxcbiAgZGVmYXVsdEFnZW50OiB6LnN0cmluZygpLFxuICBhZ2VudHM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gIGZlZWRiYWNrRW5hYmxlZDogei5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGNoYXRBbHdheXNBdmFpbGFibGU6IHouYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxufSk7XG4vKiogQnJvd3Nlci1zYWZlIE1hc3RyYSBwbHVnaW4gZGVzY3JpcHRvciB1c2VkIHRvIGNvbnN0cnVjdCByb3V0ZSBhbmQgc3RyZWFtIGNsaWVudHMuICovXG5leHBvcnQgdHlwZSBNYXN0cmFDbGllbnRDb25maWcgPSB6LmluZmVyPHR5cGVvZiBNYXN0cmFDbGllbnRDb25maWdTY2hlbWE+O1xuXG4vKipcbiAqIEpTT04gcGF5bG9hZCByZXR1cm5lZCBieSBgR0VUICR7YmFzZVBhdGh9L2RlZmF1bHQtbW9kZWxbP2FnZW50SWQ9XWAuIFRoZVxuICogc3RhdGljIGRlZmF1bHQgbW9kZWwgdGhlIGFnZW50IHJlc29sdmVzIHRvIHdoZW4gdGhlIGNsaWVudCBwaW5zIG5vIG1vZGVsLFxuICogYXMgYm90aCB0aGUgcmF3IHNlcnZpbmctZW5kcG9pbnQgYG1vZGVsYCBpZCBhbmQgYSBgZGlzcGxheU5hbWVgICh0aGVcbiAqIGh1bWFuaXplZCBsYWJlbCB0aGUgcGlja2VyIHNob3dzKS4gQm90aCBhcmUgYG51bGxgIHdoZW4gdGhlIGFnZW50IGRlY2lkZXNcbiAqIGl0cyBtb2RlbCBkeW5hbWljYWxseSBhdCBjYWxsIHRpbWUgKG5vdGhpbmcgc3RhdGljIHRvIGFkdmVydGlzZSkuIExldHMgdGhlXG4gKiBwaWNrZXIgbGFiZWwgaXRzIGRlZmF1bHQgb3B0aW9uIFdJVEhPVVQgd2FpdGluZyBvbiB0aGUgYC9tb2RlbHNgIGNhdGFsb2d1ZSxcbiAqIHNvIGl0IG5ldmVyIGZsYXNoZXMgYSByYXcgaWQgb24gbG9hZC4gS2VwdCBvZmYgdGhlIHN0YXRpYyBib290c3RyYXBcbiAqIGBjbGllbnRDb25maWdgIG9uIHB1cnBvc2U6IGl0IGlzIHBlci1hZ2VudCBhbmQgY2FuIGJlIGR5bmFtaWMsIHNvIGl0IGlzXG4gKiBmZXRjaGVkIGxpa2UgYC9tb2RlbHNgLlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE1vZGVsUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGFnZW50SWQ6IHouc3RyaW5nKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gIGRpc3BsYXlOYW1lOiB6LnN0cmluZygpLm51bGxhYmxlKCksXG59KTtcbi8qKiBSZXNwb25zZSBpZGVudGlmeWluZyB0aGUgbW9kZWwgY3VycmVudGx5IHNlbGVjdGVkIGFzIHRoZSBwbHVnaW4gZGVmYXVsdC4gKi9cbmV4cG9ydCB0eXBlIERlZmF1bHRNb2RlbFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgRGVmYXVsdE1vZGVsUmVzcG9uc2VTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZGVsIGNhdGFsb2d1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogSlNPTiBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vbW9kZWxzYC4gV3JhcHMgdGhlIHNoYXJlZFxuICoge0BsaW5rIG1vZGVsLlNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWF9IChyZS1leHBvcnRlZCBmcm9tXG4gKiBgQGRieC10b29scy9zaGFyZWQtbW9kZWxgKSBzbyB0aGUgY2F0YWxvZ3VlXG4gKiBkZXNjcmlwdG9yIGhhcyBhIHNpbmdsZSBkZWZpbml0aW9uIHRoZSBjbGllbnQsIHNlcnZlciwgYW5kIHRoZVxuICogc3RhbmRhbG9uZSBgQGRieC10b29scy9tb2RlbGAgdG9vbGtpdCBhbGwgYWdyZWUgb24uXG4gKi9cbmV4cG9ydCBjb25zdCBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGVuZHBvaW50czogei5hcnJheShtb2RlbC5TZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hKSxcbn0pO1xuLyoqIEF2YWlsYWJsZSBEYXRhYnJpY2tzIHNlcnZpbmcgZW5kcG9pbnRzIHJldHVybmVkIGJ5IHRoZSBNYXN0cmEgbW9kZWwgcm91dGUuICovXG5leHBvcnQgdHlwZSBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBTZXJ2aW5nRW5kcG9pbnRzUmVzcG9uc2VTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc3VnZ2VzdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogSlNPTiBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vc3VnZ2VzdGlvbnNgLlxuICpcbiAqIENhcnJpZXMgdGhlIGN1cmF0ZWQgc3RhcnRlciBxdWVzdGlvbnMgZm9yIGFuIGFnZW50J3MgR2VuaWUgc3BhY2UgLVxuICogdGhlIGBzYW1wbGVfcXVlc3Rpb25zYCBhbiBhdXRob3IgY29uZmlndXJlZCBvbiB0aGUgc3BhY2UsIHN1cmZhY2VkXG4gKiBhcyBvbmUtdGFwIHByb21wdHMgb24gdGhlIGNoYXQncyBlbXB0eSBzdGF0ZS4gYHF1ZXN0aW9uc2AgaXMgZW1wdHlcbiAqIHdoZW4gdGhlIGFnZW50IGhhcyBubyBHZW5pZSBzcGFjZSAob3IgdGhlIHNwYWNlIGRlZmluZXMgbm9uZSksIHNvXG4gKiB0aGUgY2xpZW50IHJlbmRlcnMgbm90aGluZyBpbiB0aGF0IGNhc2UgcmF0aGVyIHRoYW4gZmFsbGluZyBiYWNrIHRvXG4gKiBidWlsdC1pbiBleGFtcGxlIHByb21wdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBNYXN0cmFTdWdnZXN0aW9uc1Jlc3BvbnNlU2NoZW1hID0gei5vYmplY3Qoe1xuICBxdWVzdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG59KTtcbi8qKiBGb2xsb3ctdXAgcHJvbXB0cyBzdWdnZXN0ZWQgZm9yIHRoZSBjdXJyZW50IGFnZW50IGFuZCB0aHJlYWQgY29udGV4dC4gKi9cbmV4cG9ydCB0eXBlIE1hc3RyYVN1Z2dlc3Rpb25zUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBNYXN0cmFTdWdnZXN0aW9uc1Jlc3BvbnNlU2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNoYXJ0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiBBbGxvd2VkIGNoYXJ0IHR5cGVzIHRoZSBwbGFubmVyIGNhbiBwaWNrLiBEZWZpbmVkIGFzIGFcbiAqIGRpc2NyaW1pbmF0ZWQgbGl0ZXJhbCB1bmlvbiBzbyBlYWNoIHZhcmlhbnQgY2FycmllcyBpdHMgb3duXG4gKiBgLmRlc2NyaWJlKClgIGNsYXVzZSAtIHRoZSBzZXJ2ZXItc2lkZSBwbGFubmVyJ3MgcHJvbXB0XG4gKiBmb3JtYXR0ZXIgd2Fsa3MgYC5vcHRpb25zYCB0byBpbmxpbmUgdGhlIGRlc2NyaXB0aW9ucyBpbnRvIHRoZVxuICogbW9kZWwgaW5zdHJ1Y3Rpb25zLCBrZWVwaW5nIHRoZSBwcm9tcHQgaW4gbG9jay1zdGVwIHdpdGggdGhlXG4gKiBzY2hlbWEgYnkgY29uc3RydWN0aW9uLiBUaGUgcnVudGltZSB0eXBlIGlzIHRoZSBwbGFpbiBzdHJpbmdcbiAqIHVuaW9uIChgXCJiYXJcIiB8IFwibGluZVwiIHwgLi4uYCksIHNvIGNvbnN1bWVycyB0aGF0IGp1c3QgbmVlZCBhXG4gKiBkaXNjcmltaW5hdG9yIHZhbHVlIGJlaGF2ZSB0aGUgc2FtZSBhcyBpZiBpdCB3ZXJlIGFcbiAqIGB6LmVudW0oWy4uLl0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IENoYXJ0VHlwZVNjaGVtYSA9IHpcbiAgLnVuaW9uKFtcbiAgICB6XG4gICAgICAubGl0ZXJhbChcImJhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcImNvbXBhcmluZyBhIG51bWVyaWMgdmFsdWUgYWNyb3NzIGEgc21hbGwvbWVkaXVtIHNldCBvZiBkaXNjcmV0ZSBjYXRlZ29yaWVzICh0b3AtTiwgcmFua2luZywgZ3JvdXAtYnkpXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiaG9yaXpvbnRhbEJhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcInNhbWUgYXMgYmFyIGJ1dCBjYXRlZ29yaWVzIG9uIHRoZSB5LWF4aXMgLSBwcmVmZXIgd2hlbiBjYXRlZ29yeSBsYWJlbHMgYXJlIGxvbmcgb3IgdGhlcmUgYXJlIG1hbnkgY2F0ZWdvcmllc1wiLFxuICAgICAgKSxcbiAgICB6XG4gICAgICAubGl0ZXJhbChcImxpbmVcIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJvcmRlcmVkLWF4aXMgdHJlbmQgKHRpbWUgc2VyaWVzLCBzZXF1ZW5jZSwgcmFuaykgd2hlcmUgdGhlIHgtYXhpcyBoYXMgbmF0dXJhbCBvcmRlclwiLFxuICAgICAgKSxcbiAgICB6LmxpdGVyYWwoXCJhcmVhXCIpLmRlc2NyaWJlKFwic3RhY2tlZC10cmVuZCBlbXBoYXNpcyAtIGN1bXVsYXRpdmUgb3IgY29tcG9zaXRpb24gb3ZlciB0aW1lXCIpLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiY29tYm9cIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJtaXhlZCBiYXIgKyBsaW5lIChvciBhcmVhKSBzZXJpZXMgb24gc2hhcmVkIGNhdGVnb3JpZXMgLSBlLmcuIHZvbHVtZSBiYXJzIHdpdGggYSByYXRlL3RyZW5kIGxpbmU7IHNldCBlYWNoIHNlcmllcycgYHR5cGVgXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwid2F0ZXJmYWxsXCIpXG4gICAgICAuZGVzY3JpYmUoXG4gICAgICAgIFwiYnJpZGdlIC8gcnVubmluZy10b3RhbCBvZiBzaWduZWQgc3RlcCB2YWx1ZXMgKHN0YXJ0IC0+IGRlbHRhcyAtPiBlbmQpIGFjcm9zcyBvcmRlcmVkIGNhdGVnb3JpZXNcIixcbiAgICAgICksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJzY2F0dGVyXCIpXG4gICAgICAuZGVzY3JpYmUoXCJ0d28tbnVtZXJpYy1heGlzIGNvcnJlbGF0aW9ucyBiZXR3ZWVuIGZpZWxkcyAoZS5nLiBwcmljZSB2cy4gcXVhbnRpdHkpXCIpLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiaGVhdG1hcFwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcIm1hdHJpeCBpbnRlbnNpdHkgYWNyb3NzIHR3byBjYXRlZ29yeSBheGVzIC0geCBsYWJlbHMgaW4gYGNhdGVnb3JpZXNgLCBvbmUgc2VyaWVzIHBlciBtYXRyaXggcm93IGhvbGRpbmcgdGhhdCByb3cncyB2YWx1ZXNcIixcbiAgICAgICksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJyYWRhclwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcIm11bHRpLWRpbWVuc2lvbiBjb21wYXJpc29uIGFjcm9zcyBhIGZpeGVkIHNldCBvZiBheGVzIChvbmUgaW5kaWNhdG9yIHBlciBjYXRlZ29yeSwgb25lIG9yIG1vcmUgc2VyaWVzIG9mIHZhbHVlcylcIixcbiAgICAgICksXG4gICAgei5saXRlcmFsKFwicGllXCIpLmRlc2NyaWJlKFwicGFydHMtb2YtYS13aG9sZSB3aGVuIDItNyBjYXRlZ29yaWVzIHN1bSB0byBhIG1lYW5pbmdmdWwgdG90YWxcIiksXG4gICAgelxuICAgICAgLmxpdGVyYWwoXCJmdW5uZWxcIilcbiAgICAgIC5kZXNjcmliZShcbiAgICAgICAgXCJvcmRlcmVkIHN0YWdlcyB0aGF0IHNocmluayAoY29udmVyc2lvbiwgcGlwZWxpbmUsIGF0dHJpdGlvbikgLSBge25hbWUsIHZhbHVlfWAgc2xpY2VzXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwidHJlZW1hcFwiKVxuICAgICAgLmRlc2NyaWJlKFxuICAgICAgICBcInBhcnRzLW9mLWEtd2hvbGUgYXMgbmVzdGVkIHJlY3RhbmdsZXMgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIH43IGNhdGVnb3JpZXMgb3IgYSBmbGF0IGhpZXJhcmNoeSBvZiBge25hbWUsIHZhbHVlfWAgc2xpY2VzXCIsXG4gICAgICApLFxuICAgIHpcbiAgICAgIC5saXRlcmFsKFwiY3VzdG9tXCIpXG4gICAgICAuZGVzY3JpYmUoXG4gICAgICAgIFwiZXNjYXBlIGhhdGNoIGZvciBhIGNoYXJ0IG5vbmUgb2YgdGhlIGFib3ZlIGNhbiBleHByZXNzIChzYW5rZXksIGJveHBsb3QsIGNhbmRsZXN0aWNrLCBzdW5idXJzdCwgZ2F1Z2UsIG5ldHdvcmsgZ3JhcGgsIGNhbGVuZGFyLCBwYXJhbGxlbCwgLi4uKSAtIGhhbmQtd3JpdGUgdGhlIGNvbXBsZXRlIEVjaGFydHMgb3B0aW9uIGluc3RlYWQgb2YgYSBwbGFuXCIsXG4gICAgICApLFxuICBdKVxuICAuZGVzY3JpYmUoXCJUaGUgY2hhcnQgc2hhcGUgdGhhdCBiZXN0IG1hdGNoZXMgdGhlIGRhdGEgYW5kIGludGVudC5cIik7XG4vKiogU3VwcG9ydGVkIGNoYXJ0IGZhbWlseSBzZWxlY3RlZCBieSB0aGUgc2VydmVyLXNpZGUgY2hhcnQgcGxhbm5lci4gKi9cbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9IHouaW5mZXI8dHlwZW9mIENoYXJ0VHlwZVNjaGVtYT47XG5cbi8qKlxuICogUmVzb2x2ZWQgY2hhcnQgcGxhbiBhIHNldHRsZWQgY2hhcnQgZW50cnkgY2FycmllcyBvbiBpdHNcbiAqIGByZXN1bHRgIGZpZWxkLiBgb3B0aW9uYCBpcyB0aGUgZnVsbCBFY2hhcnRzIHNwZWM7IHBhc3NcbiAqIHN0cmFpZ2h0IGludG8gYDxSZWFjdEVDaGFydHMgb3B0aW9uPXsuLi59PmAuXG4gKi9cbmV4cG9ydCBjb25zdCBDaGFydFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY2hhcnRUeXBlOiBDaGFydFR5cGVTY2hlbWEsXG4gIG9wdGlvbjogelxuICAgIC5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpXG4gICAgLmRlc2NyaWJlKFxuICAgICAgXCJGdWxseS1yZXNvbHZlZCBFY2hhcnRzIGBFQ2hhcnRzT3B0aW9uYCBKU09OIGZvciB0aGlzIGNoYXJ0IC0gZHJvcCBkaXJlY3RseSBpbnRvIGFuIEVjaGFydHMgaW5zdGFuY2UgKG9yIGA8UmVhY3RFQ2hhcnRzIG9wdGlvbj17Li4ufSAvPmApIHdpdGhvdXQgZnVydGhlciBwcm9jZXNzaW5nLiBJbmNsdWRlcyB0aXRsZSAvIHRvb2x0aXAgLyBsZWdlbmQgLyBncmlkIC8gYXhpcyAvIHNlcmllcyBkZWZhdWx0cyBhbHJlYWR5IG1lcmdlZCBpbi5cIixcbiAgICApLFxufSk7XG4vKiogUmVuZGVyLXJlYWR5IGNoYXJ0IHBsYW4gc3RvcmVkIGJlaGluZCBhIGNoYXJ0IGVtYmVkIGlkZW50aWZpZXIuICovXG5leHBvcnQgdHlwZSBDaGFydFJlc3VsdCA9IHouaW5mZXI8dHlwZW9mIENoYXJ0UmVzdWx0U2NoZW1hPjtcblxuLyoqXG4gKiBXaXJlLWZvcm1hdCBBTkQgc2VydmVyLXNpZGUgY2FjaGUgc2hhcGUgZm9yIGEgY2hhcnQgZW50cnkuXG4gKiBUaHJlZSBsaWZlY3ljbGUgc3RhdGVzIGluZmVycmVkIGZyb20gdGhlIHR3byBvcHRpb25hbCBmaWVsZHNcbiAqIChubyBkaXNjcmltaW5hdG9yIG5lZWRlZCk6XG4gKlxuICogICAtIGByZXN1bHRgIHNldCAgICAgICAgICAgICAgICAgICAgLT4gY2hhcnQgaXMgcmVhZHkgdG8gcmVuZGVyXG4gKiAgIC0gYGVycm9yYCBzZXQgICAgICAgICAgICAgICAgICAgICAtPiBwbGFubmVyIC8gZGF0YSBmZXRjaCBmYWlsZWRcbiAqICAgLSBib3RoIGByZXN1bHRgIGFuZCBgZXJyb3JgIHVuc2V0IC0+IHN0aWxsIHByb2Nlc3NpbmdcbiAqXG4gKiBgb3B0aW9uYCBpcyB0eXBlZCBhcyBhIGdlbmVyaWMgcmVjb3JkIHNvIHRoaXMgcGFja2FnZSBzdGF5c1xuICogZGVwZW5kZW5jeS1mcmVlIG9mIGBlY2hhcnRzYC4gVGhlIHNlcnZlciAoYGNoYXJ0LnRzYCkgaW1wb3J0c1xuICogdGhpcyBzY2hlbWEgZGlyZWN0bHk7IHRoZSBkZW1vIGNsaWVudCBwb2xscyB0aGVcbiAqIGAvZW1iZWQvY2hhcnQvOmlkYCByb3V0ZSBhbmQgcGFyc2VzIHJlc3BvbnNlcyBhZ2FpbnN0IGl0LlxuICovXG5leHBvcnQgY29uc3QgQ2hhcnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNoYXJ0SWQ6IHpcbiAgICAuc3RyaW5nKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIk9wYXF1ZSBpZCBtaW50ZWQgYnkgdGhlIGNoYXJ0IHN1YnN5c3RlbS4gRW1iZWQgdmVyYmF0aW0gYXMgYFtjaGFydDo8Y2hhcnRJZD5dYCBpbiBhZ2VudCBwcm9zZTsgdGhlIGhvc3QgVUkgcmVzb2x2ZXMgaXQgYWdhaW5zdCB0aGlzIGNhY2hlIGVudHJ5LlwiLFxuICAgICksXG4gIGVycm9yOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXG4gICAgICBcIkVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgY2hhcnQgZmFpbGVkIChkYXRhIGZldGNoIGVycm9yLCBwbGFubmVyIGVycm9yLCBlbXB0eSBkYXRhc2V0KS4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYHJlc3VsdGA7IGFic2VudCBvbiBzdWNjZXNzIGFuZCB3aGlsZSBwcm9jZXNzaW5nLlwiLFxuICAgICksXG4gIHJlc3VsdDogQ2hhcnRSZXN1bHRTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICBcIlJlc29sdmVkIGNoYXJ0IHBsYW4uIEFic2VudCB3aGlsZSBwcm9jZXNzaW5nIGFuZCB3aGVuIHRoZSBydW4gZXJyb3JlZC5cIixcbiAgKSxcbn0pO1xuLyoqIFBvbGxhYmxlIGNoYXJ0LWNhY2hlIGVudHJ5IHJlcHJlc2VudGluZyBwZW5kaW5nLCBzdWNjZXNzZnVsLCBvciBmYWlsZWQgcGxhbm5pbmcuICovXG5leHBvcnQgdHlwZSBDaGFydCA9IHouaW5mZXI8dHlwZW9mIENoYXJ0U2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzdGF0ZW1lbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiBXaXJlLWZvcm1hdCBwYXlsb2FkIHJldHVybmVkIGJ5IGBHRVQgJHtiYXNlUGF0aH0vZW1iZWQvZGF0YS86aWRgLlxuICpcbiAqIE1pcnJvcnMgdGhlIGFnZW50LXNpZGUgYGdldF9zdGF0ZW1lbnRgIHRvb2wncyBvdXRwdXQgc28gdGhlXG4gKiBob3N0IFVJIGFuZCB0aGUgTExNIHNlZSB0aGUgZXhhY3Qgc2FtZSBzaGFwZSBmb3IgdGhlIHNhbWVcbiAqIHN0YXRlbWVudDsgdGhlIHJvdXRlIGlzIHdoYXQgcmVzb2x2ZXMgYFtkYXRhOjxzdGF0ZW1lbnRfaWQ+XWBcbiAqIG1hcmtlcnMgdGhlIGFnZW50IGVtYmVkcyBpbiBwcm9zZS5cbiAqXG4gKiBGaWVsZHM6XG4gKiAgIC0gYGNvbHVtbnNgOiBjb2x1bW4gbmFtZXMgaW4gZGVjbGFyYXRpb24gb3JkZXIuXG4gKiAgIC0gYHJvd3NgOiByb3cgcmVjb3JkcyBrZXllZCBieSBjb2x1bW4gbmFtZS4gQ2VsbCB2YWx1ZXMgYXJlXG4gKiAgICAgZWl0aGVyIGNvZXJjZWQgbnVtYmVycyBvciB0aGUgb3JpZ2luYWwgc3RyaW5ncyAoR2VuaWUgL1xuICogICAgIFN0YXRlbWVudCBFeGVjdXRpb24gcmV0dXJucyBldmVyeSBjZWxsIGFzIGBzdHJpbmcgfCBudWxsYDtcbiAqICAgICBudW1lcmljLWxvb2tpbmcgY2VsbHMgYXJlIGNvZXJjZWQgc2VydmVyLXNpZGUgc28gdGhlIFVJXG4gKiAgICAgY2FuIGZvcm1hdCB3aXRoIGB0YWJ1bGFyLW51bXNgIHdpdGhvdXQgcmUtcGFyc2luZykuXG4gKiAgIC0gYHJvd0NvdW50YDogdG90YWwgcm93IGNvdW50IHVwc3RyZWFtIChpbmRlcGVuZGVudCBvZiB0aGVcbiAqICAgICBgbGltaXRgIGNhcCkuIENvbXBhcmUgYWdhaW5zdCBgcm93cy5sZW5ndGhgIHRvIGRldGVjdFxuICogICAgIHRydW5jYXRpb24gLSBgdHJ1bmNhdGVkYCBpcyB0aGUgcHJlY29tcHV0ZWQgZmxhZy5cbiAqICAgLSBgdHJ1bmNhdGVkYDogYHRydWVgIHdoZW4gdGhlIHNlcnZlciBjbGlwcGVkIHJvd3MgdG8gaG9ub3JcbiAqICAgICB0aGUgcm91dGUncyByb3cgY2FwOyB0aGUgVUkgc2hvdWxkIHN1cmZhY2UgYSBcInNob3dpbmcgTiBvZlxuICogICAgIE0gcm93c1wiIGFmZm9yZGFuY2UgaW4gdGhhdCBjYXNlLlxuICovXG5leHBvcnQgY29uc3QgU3RhdGVtZW50RGF0YVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29sdW1uczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgcm93czogei5hcnJheSh6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkpLFxuICByb3dDb3VudDogei5udW1iZXIoKSxcbiAgdHJ1bmNhdGVkOiB6LmJvb2xlYW4oKSxcbn0pO1xuLyoqIFRhYnVsYXIgc3RhdGVtZW50IHBheWxvYWQgcmVzb2x2ZWQgZnJvbSBhIGBbZGF0YTo8c3RhdGVtZW50X2lkPl1gIGVtYmVkIG1hcmtlci4gKi9cbmV4cG9ydCB0eXBlIFN0YXRlbWVudERhdGEgPSB6LmluZmVyPHR5cGVvZiBTdGF0ZW1lbnREYXRhU2NoZW1hPjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLSBtYXN0cmEtb25seSBnZW5pZS1hZ2VudCBldmVudHMgLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIE1hc3RyYS1vbmx5IGxpZmVjeWNsZSBldmVudDogdGhlIEdlbmllIHRvb2wgaW52b2NhdGlvbiBzdGFydGVkLlxuICogRW1pdHRlZCBpbW1lZGlhdGVseSB3aGVuIHRoZSBjYWxsaW5nIGFnZW50IGludm9rZXMgdGhlIEdlbmllXG4gKiB0b29sLCBiZWZvcmUgYW55IGlubmVyIGFnZW50IC8gd2lyZSBhY3Rpdml0eSwgc28gdGhlIFVJIGNhblxuICogcG9wIGEgXCJUaGlua2luZy4uLlwiIHBpbGwgdGhlIGluc3RhbnQgdGhlIG1vZGVsIGRlY2lkZXMgdG9cbiAqIGRlbGVnYXRlLiBgY29udmVyc2F0aW9uSWRgIC8gYG1lc3NhZ2VJZGAgYXJlIGFic2VudCBvbiB0aGlzXG4gKiBmaXJzdCBlbWl0IChubyBHZW5pZSByb3VuZC10cmlwIHlldCkuIEZpZWxkIG5hbWVzIGFyZVxuICogY2FtZWxDYXNlICh2cyB0aGUgc25ha2VfY2FzZSB3aXJlIGV2ZW50cykgdG8gbWlycm9yIHRoZVxuICogR2VuaWUgYWdlbnQncyBvd24gaW50ZXJuYWwgZGF0YSBwbHVtYmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0YXJ0ZWRFdmVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwic3RhcnRlZFwiKSxcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHpcbiAgICAuc3RyaW5nKClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5kZXNjcmliZShcIkV4aXN0aW5nIEdlbmllIGNvbnZlcnNhdGlvbiBpZCBmb3IgYSBmb2xsb3ctdXAgdHVybi4gQWJzZW50IG9uIHRoZSBmaXJzdCB0dXJuLlwiKSxcbiAgbWVzc2FnZUlkOiB6XG4gICAgLnN0cmluZygpXG4gICAgLm9wdGlvbmFsKClcbiAgICAuZGVzY3JpYmUoXCJHZW5pZSBtZXNzYWdlIGlkIG9uY2UgdGhlIGZpcnN0IHdpcmUgbWVzc2FnZSBldmVudCBoYXMgYXJyaXZlZC5cIiksXG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJRdWVzdGlvbiB0aGUgR2VuaWUgYWdlbnQgc2VudCB0byBHZW5pZS5cIiksXG59KTtcbi8qKiBJbW1lZGlhdGUgbGlmZWN5Y2xlIGV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBgYXNrX2dlbmllYCBpbnZvY2F0aW9uIGJlZ2lucy4gKi9cbmV4cG9ydCB0eXBlIFN0YXJ0ZWRFdmVudCA9IHouaW5mZXI8dHlwZW9mIFN0YXJ0ZWRFdmVudFNjaGVtYT47XG5cbi8qKlxuICogTWFzdHJhLW9ubHkgbGlmZWN5Y2xlIGV2ZW50OiBvbmUgYGFza19nZW5pZWAgaW52b2NhdGlvblxuICogZmluaXNoZWQuIENhcnJpZXMgdGhlIGh5ZHJhdGVkIGBzdGF0ZW1lbnRJZHNgIChyb3dzIGFyZSBmZXRjaGVkXG4gKiB2aWEgYGdldFN0YXRlbWVudGAgc2VwYXJhdGVseSkgYW5kIEdlbmllJ3MgZmluYWwgcHJvc2UgYW5zd2VyXG4gKiBzbyB0aGUgVUkgY2FuIG1vdmUgZnJvbSBcInRoaW5raW5nXCIgdG8gXCJhbnN3ZXJlZFwiIHdpdGhvdXRcbiAqIHdhaXRpbmcgZm9yIHRoZSBHZW5pZSBhZ2VudCdzIHdob2xlIHJlYXNvbmluZyBsb29wIHRvIGVuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFza0dlbmllRG9uZUV2ZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhc2tfZ2VuaWVfZG9uZVwiKSxcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFuc3dlcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiR2VuaWUncyBuYXR1cmFsLWxhbmd1YWdlIGFuc3dlciBmb3IgdGhlIHR1cm4uXCIpLFxuICBzdGF0ZW1lbnRJZHM6IHpcbiAgICAuYXJyYXkoei5zdHJpbmcoKSlcbiAgICAuZGVzY3JpYmUoXCJTdGF0ZW1lbnQgaWRzIGZvciBub24tZW1wdHkgcmVzdWx0IHNldHMgcHJvZHVjZWQgYnkgdGhpcyB0dXJuLlwiKSxcbiAgc3RhdHVzOiB6XG4gICAgLmN1c3RvbTxNZXNzYWdlU3RhdHVzPigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIilcbiAgICAuZGVzY3JpYmUoXCJUZXJtaW5hbCBHZW5pZSB3aXJlIHN0YXR1cyBtaXJyb3JlZCBmcm9tIHRoZSBzb3VyY2UgcmVzdWx0IGV2ZW50LlwiKSxcbn0pO1xuLyoqIENvbXBsZXRpb24gZXZlbnQgZm9yIG9uZSBgYXNrX2dlbmllYCBpbnZvY2F0aW9uLCBpbmNsdWRpbmcgaXRzIHRlcm1pbmFsIHN0YXR1cy4gKi9cbmV4cG9ydCB0eXBlIEFza0dlbmllRG9uZUV2ZW50ID0gei5pbmZlcjx0eXBlb2YgQXNrR2VuaWVEb25lRXZlbnRTY2hlbWE+O1xuXG4vKipcbiAqIE1hc3RyYS1vbmx5IGVycm9yIGV2ZW50OiB0ZXJtaW5hbCBHZW5pZSBhZ2VudCAvIHRyYW5zcG9ydFxuICogZXJyb3IuIEdlbmllJ3Mgb3duIGBGQUlMRURgIC8gYENBTkNFTExFRGAgY29tZSB0aHJvdWdoIHRoZVxuICogd2lyZSdzIGByZXN1bHRgIGV2ZW50IC0gdGhpcyB2YXJpYW50IGlzIGZvciBmYWlsdXJlcyB0aGUgd2lyZVxuICogY2FuJ3QgcmVwcmVzZW50IChuZXR3b3JrLCBHZW5pZSBhZ2VudCBjcmFzaCwgcGxhbm5lciBlcnJvcixcbiAqIGV0Yy4pIHBsdXMgYSBVSS1mcmllbmRseSBtaXJyb3Igb2YgYHJlc3VsdGAgd2hlbiB0aGUgc3RhdHVzIGlzXG4gKiBub24tYENPTVBMRVRFRGAuXG4gKi9cbmV4cG9ydCBjb25zdCBNYXN0cmFHZW5pZUVycm9yRXZlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcImVycm9yXCIpLFxuICBzcGFjZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1lc3NhZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlcnJvcjogei5zdHJpbmcoKSxcbn0pO1xuLyoqIE1hc3RyYS1zaWRlIGZhaWx1cmUgZXZlbnQgZm9yIGVycm9ycyBvdXRzaWRlIEdlbmllJ3Mgbm9ybWFsIHRlcm1pbmFsIHJlc3VsdC4gKi9cbmV4cG9ydCB0eXBlIE1hc3RyYUdlbmllRXJyb3JFdmVudCA9IHouaW5mZXI8dHlwZW9mIE1hc3RyYUdlbmllRXJyb3JFdmVudFNjaGVtYT47XG5cbi8qKlxuICogTWFzdHJhLW9ubHkgbGlmZWN5Y2xlIGV2ZW50OiB0aGUgaW5uZXIgR2VuaWUgYWdlbnQnc1xuICogc3RydWN0dXJlZC1vdXRwdXQgY29lcmNpb24gaGFzIGxhbmRlZC4gRmlyZXMgb25jZSBwZXIgR2VuaWVcbiAqIHRvb2wgaW52b2NhdGlvbiwgQUZURVIgYGFnZW50LmdlbmVyYXRlKC4uLilgIGNvbXBsZXRlcyAoaS5lLlxuICogdGhlIGlubmVyIGxvb3AgKyBNYXN0cmEncyBzdHJ1Y3R1cmluZyBwYXNzIGhhdmUgYm90aFxuICogZmluaXNoZWQpIGFuZCBCRUZPUkUgdGhlIHdyYXBwZXIgaHlkcmF0ZXMgZWFjaCBgZGF0YWAgaXRlbVxuICogd2l0aCBhIGNoYXJ0LiBTaWduYWxzIHRvIHRoZSBob3N0IFVJIHRoYXQgdGhlIGFnZW50IGhhc1xuICogc3RvcHBlZCByZWFzb25pbmcgYW5kIGlzIG1vdmluZyBpbnRvIGNoYXJ0IGdlbmVyYXRpb24uXG4gKlxuICogVGhlIHN0cnVjdHVyaW5nIHBhc3MgaXRzZWxmIGlzIG9wYXF1ZSAoaXQgcnVucyBpbnNpZGVcbiAqIE1hc3RyYSdzIGBhZ2VudC5nZW5lcmF0ZSguLi4pYCB0b2dldGhlciB3aXRoIHRoZSB0b29sIGxvb3ApXG4gKiBzbyB0aGlzIGlzIHRoZSBlYXJsaWVzdCBob29rIHdlIGNhbiBvZmZlcjsgd2UgY2FuJ3QgZmlyZSBhXG4gKiBcInN1bW1hcnkgc3RhcnRlZFwiIGV2ZW50IHRoZSB3YXkgd2UgZmlyZSBgc3RhcnRlZGAuXG4gKi9cbmV4cG9ydCBjb25zdCBTdW1tYXJ5RXZlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInN1bW1hcnlcIiksXG4gIHNwYWNlSWQ6IHouc3RyaW5nKCksXG4gIGl0ZW1zOiB6Lm51bWJlcigpLmludCgpLm5vbm5lZ2F0aXZlKCkuZGVzY3JpYmUoXCJUb3RhbCBpdGVtcyBpbiB0aGUgYWdlbnQncyBzdHJ1Y3R1cmVkIHN1bW1hcnkuXCIpLFxuICB0ZXh0SXRlbXM6IHoubnVtYmVyKCkuaW50KCkubm9ubmVnYXRpdmUoKS5kZXNjcmliZShcIlRleHQgYW5kIHByb3NlIGl0ZW1zIGluIHRoZSBzdW1tYXJ5LlwiKSxcbiAgZGF0YUl0ZW1zOiB6XG4gICAgLm51bWJlcigpXG4gICAgLmludCgpXG4gICAgLm5vbm5lZ2F0aXZlKClcbiAgICAuZGVzY3JpYmUoXCJEYXRhIGl0ZW1zIHRoZSB3cmFwcGVyIHdpbGwgaHlkcmF0ZSBpbnRvIGNoYXJ0cy5cIiksXG59KTtcbi8qKiBMaWZlY3ljbGUgZXZlbnQgZW1pdHRlZCBiZWZvcmUgc3VtbWFyeSBkYXRhIGl0ZW1zIGFyZSBoeWRyYXRlZCBpbnRvIGNoYXJ0cy4gKi9cbmV4cG9ydCB0eXBlIFN1bW1hcnlFdmVudCA9IHouaW5mZXI8dHlwZW9mIFN1bW1hcnlFdmVudFNjaGVtYT47XG5cbi8qKlxuICogTWFzdHJhLW9ubHkgZXZlbnQgdW5pb24uIEVhY2ggdmFyaWFudCB1c2VzIHRoZSBzYW1lIGZsYXRcbiAqIGB7dHlwZSwgLi4uZmllbGRzfWAgc2hhcGUgYXMge0BsaW5rIEdlbmllQ2hhdEV2ZW50fSBzb1xuICogc3Vic2NyaWJlcnMgdW5pb24gYm90aCB3aXRoIGEgc2luZ2xlIGBzd2l0Y2ggKGV2ZW50LnR5cGUpYC5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllQWdlbnRFdmVudFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbXG4gIFN0YXJ0ZWRFdmVudFNjaGVtYSxcbiAgQXNrR2VuaWVEb25lRXZlbnRTY2hlbWEsXG4gIE1hc3RyYUdlbmllRXJyb3JFdmVudFNjaGVtYSxcbiAgU3VtbWFyeUV2ZW50U2NoZW1hLFxuXSk7XG4vKiogTWFzdHJhLW93bmVkIGxpZmVjeWNsZSBldmVudHMgbGF5ZXJlZCBvbiB0b3Agb2YgR2VuaWUncyB3aXJlIGV2ZW50IHN0cmVhbS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllQWdlbnRFdmVudCA9IHouaW5mZXI8dHlwZW9mIEdlbmllQWdlbnRFdmVudFNjaGVtYT47XG5cbi8qKlxuICogVGhlIHVuaWZpZWQgd3JpdGVyLWV2ZW50IHZvY2FidWxhcnkgc3Vic2NyaWJlcnMgc2VlIG9uXG4gKiBgY3R4LndyaXRlcmA6IHRoZSB3aXJlLWRlcml2ZWQge0BsaW5rIEdlbmllQ2hhdEV2ZW50fSB1bmlvblxuICogKipwbHVzKiogTWFzdHJhLW9ubHkgZXZlbnRzIGZyb20ge0BsaW5rIEdlbmllQWdlbnRFdmVudH0uIEVhY2hcbiAqIHZhcmlhbnQgaXMgYSBmbGF0IGB7dHlwZSwgLi4uZmllbGRzfWAgb2JqZWN0OyBjb25zdW1lcnMgbmFycm93XG4gKiBvbiBgdHlwZWAgYW5kIHJlYWQgZmllbGRzIGlubGluZSAtIHRoZXJlIGlzIG5vIHBheWxvYWQgd3JhcHBlclxuICogYW5kIG5vIHdyaXRlci1ib3VuZGFyeSB0cmFuc2xhdG9yLlxuICpcbiAqIENvbXBvc2VkIHZpYSBgei51bmlvbmAgKG5vdCBgei5kaXNjcmltaW5hdGVkVW5pb25gKSBiZWNhdXNlXG4gKiBib3RoIGhhbHZlcyBhcmUgdGhlbXNlbHZlcyBkaXNjcmltaW5hdGVkIHVuaW9ucyBvbiB0aGUgc2FtZVxuICogYHR5cGVgIGtleS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllV3JpdGVyRXZlbnRTY2hlbWEgPSB6LnVuaW9uKFtcbiAgZ2VuaWVNb2RlbC5HZW5pZUNoYXRFdmVudFNjaGVtYSxcbiAgR2VuaWVBZ2VudEV2ZW50U2NoZW1hLFxuXSk7XG4vKiogQ29tcGxldGUgZXZlbnQgdm9jYWJ1bGFyeSB3cml0dGVuIGJ5IHRoZSBNYXN0cmEgR2VuaWUgaW50ZWdyYXRpb24uICovXG5leHBvcnQgdHlwZSBHZW5pZVdyaXRlckV2ZW50ID0gei5pbmZlcjx0eXBlb2YgR2VuaWVXcml0ZXJFdmVudFNjaGVtYT47XG5cbi8qKiBEaXNjcmltaW5hdG9yIHR5cGUgZm9yIHtAbGluayBHZW5pZVdyaXRlckV2ZW50fS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllV3JpdGVyRXZlbnRUeXBlID0gR2VuaWVXcml0ZXJFdmVudFtcInR5cGVcIl07XG5cbi8qKiBOYXRpdmUgQUkgU0RLIGN1c3RvbSBkYXRhLXBhcnQgdHlwZSBjYXJyeWluZyBvbmUgR2VuaWUgcHJvZ3Jlc3MgZXZlbnQuICovXG5leHBvcnQgY29uc3QgR0VOSUVfUFJPR1JFU1NfUEFSVF9UWVBFID0gXCJkYXRhLWdlbmllLXByb2dyZXNzXCIgYXMgY29uc3Q7XG5cbi8qKlxuICogRGF0YSBhdHRhY2hlZCB0byB7QGxpbmsgR0VOSUVfUFJPR1JFU1NfUEFSVF9UWVBFfS4gYHRvb2xDYWxsSWRgIGFzc29jaWF0ZXNcbiAqIHByb2dyZXNzIHdpdGggdGhlIG5hdGl2ZSB0b29sIHBhcnQgdGhhdCBvd25zIHRoZSByZXF1ZXN0IGFuZCByZXN1bHQuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZVByb2dyZXNzUGFydERhdGFTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCksXG4gIGV2ZW50OiBHZW5pZVdyaXRlckV2ZW50U2NoZW1hLFxufSk7XG4vKiogVmFsaWRhdGVkIHBheWxvYWQgY2FycmllZCBieSBhIG5hdGl2ZSBHZW5pZSBwcm9ncmVzcyBkYXRhIHBhcnQuICovXG5leHBvcnQgdHlwZSBHZW5pZVByb2dyZXNzUGFydERhdGEgPSB6LmluZmVyPHR5cGVvZiBHZW5pZVByb2dyZXNzUGFydERhdGFTY2hlbWE+O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHN1bW1hcnkgKyBkYXRhc2V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIFRhYnVsYXIgcGF5bG9hZCBlbWJlZGRlZCBpbiBldmVyeSB7QGxpbmsgR2VuaWVTdW1tYXJ5SXRlbX1cbiAqIGB2aXN1YWxpemVgIGRhdGFzZXQuIEFsd2F5cyBwcmVzZW50OiBoeWRyYXRlZCBieSB0aGUgd29ya2Zsb3cnc1xuICogYWdlbnQgc3RlcCBiZWZvcmUgdGhlIGZpbmFsaXplIHN0ZXAgcnVucywgc28gY29uc3VtZXJzIGNhbiByZW5kZXJcbiAqIGEgdGFibGUgZmFsbGJhY2sgcmVnYXJkbGVzcyBvZiBjaGFydC1wbGFubmVyIG91dGNvbWUuXG4gKlxuICogRmllbGRzOlxuICogICAtIGBjb2x1bW5zYDogY29sdW1uIG5hbWVzIGluIGRpc3BsYXkgb3JkZXIuXG4gKiAgIC0gYHJvd3NgOiB0YWJ1bGFyIHJvd3Mga2V5ZWQgYnkgY29sdW1uIG5hbWUuXG4gKiAgIC0gYHJvd0NvdW50YDogdG90YWwgcm93IGNvdW50IEdlbmllIHJlcG9ydGVkIChtYXkgZXhjZWVkXG4gKiAgICAgYHJvd3MubGVuZ3RoYCB3aGVuIHRoZSBzdGF0ZW1lbnQgd2FzIHRydW5jYXRlZCkuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZURhdGFzZXREYXRhU2NoZW1hID0gei5vYmplY3Qoe1xuICBjb2x1bW5zOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICByb3dzOiB6LmFycmF5KHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKSksXG4gIHJvd0NvdW50OiB6Lm51bWJlcigpLFxufSk7XG4vKiogSHlkcmF0ZWQgdGFidWxhciBkYXRhIHRoYXQgYWx3YXlzIGJhY2tzIGEgR2VuaWUgdmlzdWFsaXphdGlvbiBpdGVtLiAqL1xuZXhwb3J0IHR5cGUgR2VuaWVEYXRhc2V0RGF0YSA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldERhdGFTY2hlbWE+O1xuXG4vKipcbiAqIFNsaW0gY2hhcnQgcmVmZXJlbmNlIGF0dGFjaGVkIHRvIGEgdmlzdWFsaXplIGRhdGFzZXQuIE9ubHlcbiAqIHByZXNlbnQgd2hlbiBwbGFubmluZyBzdWNjZWVkZWQuXG4gKlxuICogYG9wdGlvbmAgaXMgaW50ZW50aW9uYWxseSBOT1QgaW5jbHVkZWQuIFRoZSByZXNvbHZlZCBFY2hhcnRzXG4gKiBzcGVjIGxpdmVzIG9mZi1iYW5kIGluIHRoZSBjaGFydCBjYWNoZTogdGhlIGhvc3QgVUkgZmV0Y2hlcyBpdFxuICogYnkgYGNoYXJ0SWRgIGZyb20gdGhlIHBsdWdpbidzIGVtYmVkIHJvdXRlIChkZXJpdmVkIGZyb21cbiAqIGBiYXNlUGF0aGAgKyB7QGxpbmsgTUFTVFJBX1JPVVRFU30uZW1iZWQsIGkuZS4gYC9lbWJlZC9jaGFydC86aWRgO1xuICogc2VlIHtAbGluayBDaGFydH0pLiBFbWJlZGRpbmcgdGhlIGZ1bGwgc3BlYyBpbmxpbmUgd291bGRcbiAqIGluZmxhdGUgZXZlcnkgZGF0YXNldCBieSBzZXZlcmFsIEtCIHBlciBjaGFydCBhbmQgcm91bmQtdHJpcFxuICogdGhyb3VnaCB0aGUgTExNIGNvbnRleHQgZm9yIHplcm8gYmVuZWZpdCAodGhlIG1vZGVsIG9ubHkgbmVlZHNcbiAqIHRoZSBgY2hhcnRJZGAgdG8gcGxhY2UgYSBgW2NoYXJ0OjxjaGFydElkPl1gIG1hcmtlciBpbiBpdHNcbiAqIHJlcGx5KS5cbiAqL1xuZXhwb3J0IGNvbnN0IEdlbmllRGF0YXNldENoYXJ0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjaGFydElkOiB6LnN0cmluZygpLFxuICBjaGFydFR5cGU6IENoYXJ0VHlwZVNjaGVtYSxcbn0pO1xuLyoqIExpZ2h0d2VpZ2h0IHJlZmVyZW5jZSB0byBhIGNoYXJ0IHBsYW4gc3RvcmVkIGluIHRoZSBNYXN0cmEgY2hhcnQgY2FjaGUuICovXG5leHBvcnQgdHlwZSBHZW5pZURhdGFzZXRDaGFydCA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldENoYXJ0U2NoZW1hPjtcblxuLyoqXG4gKiBEYXRhc2V0IGJ1bmRsZSBhdHRhY2hlZCB0byBhIHtAbGluayBHZW5pZVN1bW1hcnlJdGVtfSBgdmlzdWFsaXplYFxuICogaXRlbS4gYGRhdGFgIGlzIGFsd2F5cyBwb3B1bGF0ZWQ7IGBjaGFydGAgaXMgYmVzdC1lZmZvcnQgYW5kXG4gKiBhYnNlbnQgd2hlbiB0aGUgd29ya2Zsb3cncyBjaGFydC1wbGFubmVyIGZhaWxlZCAodGltZW91dCxcbiAqIG1hbGZvcm1lZCBwbGFuLCBhYm9ydCkgc28gdGhlIGhvc3QgVUkgY2FuIHN0aWxsIHJlbmRlciB0aGVcbiAqIHVuZGVybHlpbmcgdGFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZURhdGFzZXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGRhdGE6IEdlbmllRGF0YXNldERhdGFTY2hlbWEsXG4gIGNoYXJ0OiBHZW5pZURhdGFzZXRDaGFydFNjaGVtYS5vcHRpb25hbCgpLFxufSk7XG4vKiogVmlzdWFsaXphdGlvbiBkYXRhc2V0IHdpdGggcmVxdWlyZWQgdGFibGUgZGF0YSBhbmQgYW4gb3B0aW9uYWwgcGxhbm5lZCBjaGFydC4gKi9cbmV4cG9ydCB0eXBlIEdlbmllRGF0YXNldCA9IHouaW5mZXI8dHlwZW9mIEdlbmllRGF0YXNldFNjaGVtYT47XG5cbi8qKlxuICogT25lIGl0ZW0gaW5zaWRlIHRoZSBHZW5pZSB3b3JrZmxvdydzIGZpbmFsIHN1bW1hcnkuIFRoZVxuICogd29ya2Zsb3cgcHJvZHVjZXMgYSBtaXhlZCBzZXF1ZW5jZSBvZjpcbiAqXG4gKiAgIC0gYHN0cmluZ2A6IGEgbWFya2Rvd24gcGFyYWdyYXBoIChpbnRlcnByZXRhdGlvbiwgY2FsbG91dHMsXG4gKiAgICAgdHJhbnNpdGlvbnMgYmV0d2VlbiBkYXRhIGJsb2NrcykuXG4gKiAgIC0gYHZpc3VhbGl6ZWA6IGEgcmVxdWVzdCBmcm9tIHRoZSBhZ2VudCBzdGVwIHRvIHZpc3VhbGl6ZSBhXG4gKiAgICAgc3BlY2lmaWMgR2VuaWUgc3RhdGVtZW50IGF0IHRoaXMgcG9zaXRpb24gaW4gdGhlIHByb3NlLlxuICogICAgIFRoZSBmaW5hbGl6ZSBzdGVwIGh5ZHJhdGVzIGBkYXRhc2V0LmRhdGFgIChyb3dzIGZyb20gdGhlXG4gKiAgICAgbWF0Y2hpbmcgYHN0YXRlbWVudElkYCkgYW5kIGF0dGFjaGVzIGBkYXRhc2V0LmNoYXJ0YCBhZnRlclxuICogICAgIHJ1bm5pbmcgdGhlIGNoYXJ0LXBsYW5uZXIuIFRoZSBhZ2VudCBORVZFUiBwaWNrcyB0aGUgY2hhcnRcbiAqICAgICB0eXBlIC0gaXQgb25seSBtYXJrcyB3aGVyZSBhIHZpc3VhbGl6YXRpb24gYmVsb25ncy5cbiAqXG4gKiBUaGUgaG9zdCBVSSB3YWxrcyB0aGUgYXJyYXkgaW4gZGlzcGxheSBvcmRlciB0byBjb21wb3NlIHRoZVxuICogZmluYWwgYXNzaXN0YW50IG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBHZW5pZVN1bW1hcnlJdGVtU2NoZW1hID0gei5kaXNjcmltaW5hdGVkVW5pb24oXCJ0eXBlXCIsIFtcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInN0cmluZ1wiKSxcbiAgICB0ZXh0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInZpc3VhbGl6ZVwiKSxcbiAgICBzdGF0ZW1lbnRJZDogei5zdHJpbmcoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGF0YXNldDogR2VuaWVEYXRhc2V0U2NoZW1hLFxuICB9KSxcbl0pO1xuLyoqIE9yZGVyZWQgcHJvc2Ugb3IgdmlzdWFsaXphdGlvbiBpdGVtIGluIHRoZSBHZW5pZSBhZ2VudCdzIGZpbmFsIHN1bW1hcnkuICovXG5leHBvcnQgdHlwZSBHZW5pZVN1bW1hcnlJdGVtID0gei5pbmZlcjx0eXBlb2YgR2VuaWVTdW1tYXJ5SXRlbVNjaGVtYT47XG5cbi8qKiBEaXNjcmltaW5hdG9yIHR5cGUgZm9yIHtAbGluayBHZW5pZVN1bW1hcnlJdGVtfS4gKi9cbmV4cG9ydCB0eXBlIEdlbmllU3VtbWFyeUl0ZW1UeXBlID0gR2VuaWVTdW1tYXJ5SXRlbVtcInR5cGVcIl07XG5cbi8qKlxuICogVGhlIEdlbmllIGFnZW50J3MgZmluYWwgb3V0cHV0IHNoYXBlIC0gd2hhdCB0aGUgY2FsbGluZyBhZ2VudCdzXG4gKiBHZW5pZSB0b29sIHJldHVybnMgdG8gdGhlIGNhbGxpbmcgTExNLiBUaGUgYHN1bW1hcnlgIGFycmF5IGlzXG4gKiB0aGUgdXNlci1mYWNpbmcgcmVuZGVyYWJsZTsgYGNvbnZlcnNhdGlvbklkYCBsZXRzIHRoZSBjYWxsaW5nXG4gKiBhZ2VudCAob3IgdGhlIFVJKSBmb2xsb3cgdXAgaW4gdGhlIHNhbWUgR2VuaWUgdGhyZWFkIG9uIHRoZVxuICogbmV4dCB0dXJuLlxuICovXG5leHBvcnQgY29uc3QgR2VuaWVBZ2VudFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgc3BhY2VJZDogei5zdHJpbmcoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3VtbWFyeTogei5hcnJheShHZW5pZVN1bW1hcnlJdGVtU2NoZW1hKSxcbiAgZXJyb3I6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuLyoqIEZpbmFsIHJlbmRlcmFibGUgb3V0cHV0IHJldHVybmVkIGJ5IHRoZSBHZW5pZSBhZ2VudCB0b29sIHRvIGl0cyBjYWxsZXIuICovXG5leHBvcnQgdHlwZSBHZW5pZUFnZW50UmVzdWx0ID0gei5pbmZlcjx0eXBlb2YgR2VuaWVBZ2VudFJlc3VsdFNjaGVtYT47XG4iXX0=
|
package/package.json
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"typescript": "^5.9.3"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@dbx-tools/shared-genie": "^0.9.
|
|
26
|
-
"@dbx-tools/shared-model": "^0.9.
|
|
25
|
+
"@dbx-tools/shared-genie": "^0.9.43",
|
|
26
|
+
"@dbx-tools/shared-model": "^0.9.43",
|
|
27
27
|
"zod": "4.3.6"
|
|
28
28
|
},
|
|
29
29
|
"main": "./lib/index.js",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"./package.json": "./package.json"
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
|
-
"version": "0.9.
|
|
67
|
+
"version": "0.9.43",
|
|
68
68
|
"types": "./lib/index.d.ts",
|
|
69
69
|
"dbxToolsConfig": {
|
|
70
70
|
"tags": [
|
package/src/wire.ts
CHANGED
|
@@ -302,20 +302,15 @@ export type StatementData = z.infer<typeof StatementDataSchema>;
|
|
|
302
302
|
export const StartedEventSchema = z.object({
|
|
303
303
|
type: z.literal("started"),
|
|
304
304
|
spaceId: z.string(),
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
* emit.
|
|
315
|
-
*/
|
|
316
|
-
messageId: z.string().optional(),
|
|
317
|
-
/** Question the Genie agent sent to Genie. */
|
|
318
|
-
content: z.string(),
|
|
305
|
+
conversationId: z
|
|
306
|
+
.string()
|
|
307
|
+
.optional()
|
|
308
|
+
.describe("Existing Genie conversation id for a follow-up turn. Absent on the first turn."),
|
|
309
|
+
messageId: z
|
|
310
|
+
.string()
|
|
311
|
+
.optional()
|
|
312
|
+
.describe("Genie message id once the first wire message event has arrived."),
|
|
313
|
+
content: z.string().describe("Question the Genie agent sent to Genie."),
|
|
319
314
|
});
|
|
320
315
|
/** Immediate lifecycle event emitted when an `ask_genie` invocation begins. */
|
|
321
316
|
export type StartedEvent = z.infer<typeof StartedEventSchema>;
|
|
@@ -332,18 +327,13 @@ export const AskGenieDoneEventSchema = z.object({
|
|
|
332
327
|
spaceId: z.string(),
|
|
333
328
|
conversationId: z.string().optional(),
|
|
334
329
|
messageId: z.string().optional(),
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
* can react to ask-level completion without re-walking history.
|
|
343
|
-
* Treated as `z.custom<MessageStatus>` because the SDK is the
|
|
344
|
-
* source of truth for the enum values.
|
|
345
|
-
*/
|
|
346
|
-
status: z.custom<MessageStatus>((v) => typeof v === "string"),
|
|
330
|
+
answer: z.string().optional().describe("Genie's natural-language answer for the turn."),
|
|
331
|
+
statementIds: z
|
|
332
|
+
.array(z.string())
|
|
333
|
+
.describe("Statement ids for non-empty result sets produced by this turn."),
|
|
334
|
+
status: z
|
|
335
|
+
.custom<MessageStatus>((value) => typeof value === "string")
|
|
336
|
+
.describe("Terminal Genie wire status mirrored from the source result event."),
|
|
347
337
|
});
|
|
348
338
|
/** Completion event for one `ask_genie` invocation, including its terminal status. */
|
|
349
339
|
export type AskGenieDoneEvent = z.infer<typeof AskGenieDoneEventSchema>;
|
|
@@ -383,16 +373,13 @@ export type MastraGenieErrorEvent = z.infer<typeof MastraGenieErrorEventSchema>;
|
|
|
383
373
|
export const SummaryEventSchema = z.object({
|
|
384
374
|
type: z.literal("summary"),
|
|
385
375
|
spaceId: z.string(),
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
* the per-chart events arrive.
|
|
394
|
-
*/
|
|
395
|
-
dataItems: z.number().int().nonnegative(),
|
|
376
|
+
items: z.number().int().nonnegative().describe("Total items in the agent's structured summary."),
|
|
377
|
+
textItems: z.number().int().nonnegative().describe("Text and prose items in the summary."),
|
|
378
|
+
dataItems: z
|
|
379
|
+
.number()
|
|
380
|
+
.int()
|
|
381
|
+
.nonnegative()
|
|
382
|
+
.describe("Data items the wrapper will hydrate into charts."),
|
|
396
383
|
});
|
|
397
384
|
/** Lifecycle event emitted before summary data items are hydrated into charts. */
|
|
398
385
|
export type SummaryEvent = z.infer<typeof SummaryEventSchema>;
|