@copilotkitnext/angular 0.0.20 → 0.0.21-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +6 -26
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +36 -34
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +1 -1
- package/dist/esm2022/lib/render-tool-calls.mjs +3 -2
- package/dist/fesm2022/copilotkitnext-angular.mjs +41 -58
- package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
- package/dist/lib/agent.d.ts +16 -1
- package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +32 -2
- package/dist/lib/components/chat/copilot-chat-message-view.d.ts +112 -7
- package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +16 -1
- package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +17 -2
- package/dist/lib/components/chat/copilot-chat-user-message.d.ts +18 -2
- package/dist/lib/components/chat/copilot-chat-user-message.types.d.ts +1 -7
- package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +16 -1
- package/dist/lib/components/chat/copilot-chat-view.d.ts +48 -3
- package/dist/lib/components/chat/copilot-chat.d.ts +16 -1
- package/dist/lib/render-tool-calls.d.ts +16 -1
- package/package.json +7 -7
- package/vitest.config.mts.timestamp-1760727629337-603c9e5c1f334.mjs +0 -49
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, input, output, ChangeDetectionStrategy, ViewEncapsulation, computed
|
|
1
|
+
import { Component, input, output, ChangeDetectionStrategy, ViewEncapsulation, computed } from "@angular/core";
|
|
2
2
|
import { CommonModule } from "@angular/common";
|
|
3
3
|
import { LucideAngularModule, ChevronLeft, ChevronRight } from "lucide-angular";
|
|
4
4
|
import { cn } from "../../utils";
|
|
@@ -57,23 +57,13 @@ export class CopilotChatUserMessageBranchNavigation {
|
|
|
57
57
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CopilotChatUserMessageBranchNavigation, isStandalone: true, selector: "copilot-chat-user-message-branch-navigation", inputs: { currentBranch: { classPropertyName: "currentBranch", publicName: "currentBranch", isSignal: true, isRequired: false, transformFunction: null }, numberOfBranches: { classPropertyName: "numberOfBranches", publicName: "numberOfBranches", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { switchToBranch: "switchToBranch" }, ngImport: i0, template: `
|
|
58
58
|
@if (showNavigation()) {
|
|
59
59
|
<div [class]="computedClass()">
|
|
60
|
-
<button
|
|
61
|
-
type="button"
|
|
62
|
-
[class]="buttonClass"
|
|
63
|
-
[disabled]="!canGoPrev()"
|
|
64
|
-
(click)="handlePrevious()"
|
|
65
|
-
>
|
|
60
|
+
<button type="button" [class]="buttonClass" [disabled]="!canGoPrev()" (click)="handlePrevious()">
|
|
66
61
|
<lucide-angular [img]="ChevronLeftIcon" [size]="20"></lucide-angular>
|
|
67
62
|
</button>
|
|
68
63
|
<span class="text-sm text-muted-foreground px-0 font-medium">
|
|
69
64
|
{{ currentBranch() + 1 }}/{{ numberOfBranches() }}
|
|
70
65
|
</span>
|
|
71
|
-
<button
|
|
72
|
-
type="button"
|
|
73
|
-
[class]="buttonClass"
|
|
74
|
-
[disabled]="!canGoNext()"
|
|
75
|
-
(click)="handleNext()"
|
|
76
|
-
>
|
|
66
|
+
<button type="button" [class]="buttonClass" [disabled]="!canGoNext()" (click)="handleNext()">
|
|
77
67
|
<lucide-angular [img]="ChevronRightIcon" [size]="20"></lucide-angular>
|
|
78
68
|
</button>
|
|
79
69
|
</div>
|
|
@@ -91,23 +81,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
91
81
|
template: `
|
|
92
82
|
@if (showNavigation()) {
|
|
93
83
|
<div [class]="computedClass()">
|
|
94
|
-
<button
|
|
95
|
-
type="button"
|
|
96
|
-
[class]="buttonClass"
|
|
97
|
-
[disabled]="!canGoPrev()"
|
|
98
|
-
(click)="handlePrevious()"
|
|
99
|
-
>
|
|
84
|
+
<button type="button" [class]="buttonClass" [disabled]="!canGoPrev()" (click)="handlePrevious()">
|
|
100
85
|
<lucide-angular [img]="ChevronLeftIcon" [size]="20"></lucide-angular>
|
|
101
86
|
</button>
|
|
102
87
|
<span class="text-sm text-muted-foreground px-0 font-medium">
|
|
103
88
|
{{ currentBranch() + 1 }}/{{ numberOfBranches() }}
|
|
104
89
|
</span>
|
|
105
|
-
<button
|
|
106
|
-
type="button"
|
|
107
|
-
[class]="buttonClass"
|
|
108
|
-
[disabled]="!canGoNext()"
|
|
109
|
-
(click)="handleNext()"
|
|
110
|
-
>
|
|
90
|
+
<button type="button" [class]="buttonClass" [disabled]="!canGoNext()" (click)="handleNext()">
|
|
111
91
|
<lucide-angular [img]="ChevronRightIcon" [size]="20"></lucide-angular>
|
|
112
92
|
</button>
|
|
113
93
|
</div>
|
|
@@ -115,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
115
95
|
`,
|
|
116
96
|
}]
|
|
117
97
|
}] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUF5QmpDLE1BQU0sT0FBTyxzQ0FBc0M7SUFDakQsYUFBYSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqQyxnQkFBZ0IsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsT0FBTyxHQUFHLEtBQUssRUFBZSxDQUFDO0lBQy9CLFVBQVUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFDekMsY0FBYyxHQUFHLE1BQU0sRUFBK0MsQ0FBQztJQUU5RCxlQUFlLEdBQUcsV0FBVyxDQUFDO0lBQzlCLGdCQUFnQixHQUFHLFlBQVksQ0FBQztJQUVoQyxXQUFXLEdBQUcsRUFBRTtJQUN2QixpQkFBaUI7SUFDakIseUNBQXlDO0lBQ3pDLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLDZDQUE2QztJQUM3QyxZQUFZO0lBQ1osc0RBQXNEO0lBQ3RELG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsaURBQWlELENBQ2xELENBQUM7SUFFRixjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTdELFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXJELFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRS9FLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzVCLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUc7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixXQUFXLEVBQUUsUUFBUTtnQkFDckIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRzthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzt3R0F6RFUsc0NBQXNDOzRGQUF0QyxzQ0FBc0MsZ3RCQWhCdkM7Ozs7Ozs7Ozs7Ozs7O0dBY1QsMkRBakJTLFlBQVksOEJBQUUsbUJBQW1COzs0RkFtQmhDLHNDQUFzQztrQkF0QmxELFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztvQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29tcHV0ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSwgQ2hldnJvbkxlZnQsIENoZXZyb25SaWdodCB9IGZyb20gXCJsdWNpZGUtYW5ndWxhclwiO1xuaW1wb3J0IHsgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlc1wiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJyYW5jaC1uYXZpZ2F0aW9uXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEx1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKHNob3dOYXZpZ2F0aW9uKCkpIHtcbiAgICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3MoKVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBbZGlzYWJsZWRdPVwiIWNhbkdvUHJldigpXCIgKGNsaWNrKT1cImhhbmRsZVByZXZpb3VzKClcIj5cbiAgICAgICAgICA8bHVjaWRlLWFuZ3VsYXIgW2ltZ109XCJDaGV2cm9uTGVmdEljb25cIiBbc2l6ZV09XCIyMFwiPjwvbHVjaWRlLWFuZ3VsYXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHB4LTAgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICB7eyBjdXJyZW50QnJhbmNoKCkgKyAxIH19L3t7IG51bWJlck9mQnJhbmNoZXMoKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzc109XCJidXR0b25DbGFzc1wiIFtkaXNhYmxlZF09XCIhY2FuR29OZXh0KClcIiAoY2xpY2spPVwiaGFuZGxlTmV4dCgpXCI+XG4gICAgICAgICAgPGx1Y2lkZS1hbmd1bGFyIFtpbWddPVwiQ2hldnJvblJpZ2h0SWNvblwiIFtzaXplXT1cIjIwXCI+PC9sdWNpZGUtYW5ndWxhcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIHtcbiAgY3VycmVudEJyYW5jaCA9IGlucHV0PG51bWJlcj4oMCk7XG4gIG51bWJlck9mQnJhbmNoZXMgPSBpbnB1dDxudW1iZXI+KDEpO1xuICBtZXNzYWdlID0gaW5wdXQ8VXNlck1lc3NhZ2U+KCk7XG4gIGlucHV0Q2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHN3aXRjaFRvQnJhbmNoID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHM+KCk7XG5cbiAgcmVhZG9ubHkgQ2hldnJvbkxlZnRJY29uID0gQ2hldnJvbkxlZnQ7XG4gIHJlYWRvbmx5IENoZXZyb25SaWdodEljb24gPSBDaGV2cm9uUmlnaHQ7XG5cbiAgcmVhZG9ubHkgYnV0dG9uQ2xhc3MgPSBjbihcbiAgICAvLyBGbGV4IGNlbnRlcmluZ1xuICAgIFwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCIsXG4gICAgLy8gQ3Vyc29yXG4gICAgXCJjdXJzb3ItcG9pbnRlclwiLFxuICAgIC8vIEJhY2tncm91bmQgYW5kIHRleHRcbiAgICBcInAtMCB0ZXh0LVtyZ2IoOTMsOTMsOTMpXSBob3ZlcjpiZy1bI0U4RThFOF1cIixcbiAgICAvLyBEYXJrIG1vZGVcbiAgICBcImRhcms6dGV4dC1bcmdiKDI0MywyNDMsMjQzKV0gZGFyazpob3ZlcjpiZy1bIzMwMzAzMF1cIixcbiAgICAvLyBTaGFwZSBhbmQgc2l6aW5nXG4gICAgXCJoLTYgdy02IHJvdW5kZWQtbWRcIixcbiAgICAvLyBJbnRlcmFjdGlvbnNcbiAgICBcInRyYW5zaXRpb24tY29sb3JzXCIsXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICBcImRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkXCIsXG4gICk7XG5cbiAgc2hvd05hdmlnYXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA+IDEpO1xuXG4gIGNhbkdvUHJldiA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3VycmVudEJyYW5jaCgpID4gMCk7XG5cbiAgY2FuR29OZXh0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jdXJyZW50QnJhbmNoKCkgPCB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSAtIDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIGNuKFwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIiwgdGhpcy5pbnB1dENsYXNzKCkpO1xuICB9KTtcblxuICBoYW5kbGVQcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYW5Hb1ByZXYoKSkge1xuICAgICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmN1cnJlbnRCcmFuY2goKSAtIDE7XG4gICAgICB0aGlzLnN3aXRjaFRvQnJhbmNoLmVtaXQoe1xuICAgICAgICBicmFuY2hJbmRleDogbmV3SW5kZXgsXG4gICAgICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlcygpLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVOZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbkdvTmV4dCgpKSB7XG4gICAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMuY3VycmVudEJyYW5jaCgpICsgMTtcbiAgICAgIHRoaXMuc3dpdGNoVG9CcmFuY2guZW1pdCh7XG4gICAgICAgIGJyYW5jaEluZGV4OiBuZXdJbmRleCxcbiAgICAgICAgbnVtYmVyT2ZCcmFuY2hlczogdGhpcy5udW1iZXJPZkJyYW5jaGVzKCksXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -8,6 +8,27 @@ import { CopilotChatUserMessageBranchNavigation } from "./copilot-chat-user-mess
|
|
|
8
8
|
import { cn } from "../../utils";
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/common";
|
|
11
|
+
function flattenUserMessageContent(content) {
|
|
12
|
+
if (!content) {
|
|
13
|
+
return "";
|
|
14
|
+
}
|
|
15
|
+
if (typeof content === "string") {
|
|
16
|
+
return content;
|
|
17
|
+
}
|
|
18
|
+
return content
|
|
19
|
+
.map((part) => {
|
|
20
|
+
if (part &&
|
|
21
|
+
typeof part === "object" &&
|
|
22
|
+
"type" in part &&
|
|
23
|
+
part.type === "text" &&
|
|
24
|
+
typeof part.text === "string") {
|
|
25
|
+
return part.text;
|
|
26
|
+
}
|
|
27
|
+
return "";
|
|
28
|
+
})
|
|
29
|
+
.filter((text) => text.length > 0)
|
|
30
|
+
.join("\n");
|
|
31
|
+
}
|
|
11
32
|
export class CopilotChatUserMessage {
|
|
12
33
|
// Capture templates from content projection
|
|
13
34
|
messageRendererTemplate;
|
|
@@ -49,8 +70,9 @@ export class CopilotChatUserMessage {
|
|
|
49
70
|
showBranchNavigation = computed(() => (this.numberOfBranches() ?? 1) > 1);
|
|
50
71
|
computedClass = computed(() => cn("flex flex-col items-end group pt-10", this.inputClass()));
|
|
51
72
|
// Context for slots (reactive via signals)
|
|
73
|
+
flattenedContent = computed(() => flattenUserMessageContent(this.message()?.content));
|
|
52
74
|
messageRendererContext = computed(() => ({
|
|
53
|
-
content: this.
|
|
75
|
+
content: this.flattenedContent(),
|
|
54
76
|
}));
|
|
55
77
|
// Output maps for slots
|
|
56
78
|
copyButtonOutputs = { clicked: () => this.handleCopy() };
|
|
@@ -87,10 +109,7 @@ export class CopilotChatUserMessage {
|
|
|
87
109
|
>
|
|
88
110
|
</copilot-slot>
|
|
89
111
|
} @else {
|
|
90
|
-
<copilot-chat-user-message-renderer
|
|
91
|
-
[content]="message()?.content || ''"
|
|
92
|
-
[inputClass]="messageRendererClass()"
|
|
93
|
-
>
|
|
112
|
+
<copilot-chat-user-message-renderer [content]="flattenedContent()" [inputClass]="messageRendererClass()">
|
|
94
113
|
</copilot-chat-user-message-renderer>
|
|
95
114
|
}
|
|
96
115
|
|
|
@@ -107,23 +126,21 @@ export class CopilotChatUserMessage {
|
|
|
107
126
|
<div class="flex items-center gap-1 justify-end">
|
|
108
127
|
<!-- Additional toolbar items -->
|
|
109
128
|
@if (additionalToolbarItems()) {
|
|
110
|
-
<ng-container
|
|
111
|
-
[ngTemplateOutlet]="additionalToolbarItems() || null"
|
|
112
|
-
></ng-container>
|
|
129
|
+
<ng-container [ngTemplateOutlet]="additionalToolbarItems() || null"></ng-container>
|
|
113
130
|
}
|
|
114
131
|
|
|
115
132
|
<!-- Copy button -->
|
|
116
133
|
@if (copyButtonTemplate || copyButtonComponent()) {
|
|
117
134
|
<copilot-slot
|
|
118
135
|
[slot]="copyButtonTemplate || copyButtonComponent()"
|
|
119
|
-
[context]="{ content:
|
|
136
|
+
[context]="{ content: flattenedContent() }"
|
|
120
137
|
[outputs]="copyButtonOutputs"
|
|
121
138
|
[defaultComponent]="CopilotChatUserMessageCopyButton"
|
|
122
139
|
>
|
|
123
140
|
</copilot-slot>
|
|
124
141
|
} @else {
|
|
125
142
|
<copilot-chat-user-message-copy-button
|
|
126
|
-
[content]="
|
|
143
|
+
[content]="flattenedContent()"
|
|
127
144
|
[inputClass]="copyButtonClass()"
|
|
128
145
|
(clicked)="handleCopy()"
|
|
129
146
|
>
|
|
@@ -141,10 +158,7 @@ export class CopilotChatUserMessage {
|
|
|
141
158
|
>
|
|
142
159
|
</copilot-slot>
|
|
143
160
|
} @else {
|
|
144
|
-
<copilot-chat-user-message-edit-button
|
|
145
|
-
[inputClass]="editButtonClass()"
|
|
146
|
-
(clicked)="handleEdit()"
|
|
147
|
-
>
|
|
161
|
+
<copilot-chat-user-message-edit-button [inputClass]="editButtonClass()" (clicked)="handleEdit()">
|
|
148
162
|
</copilot-chat-user-message-edit-button>
|
|
149
163
|
}
|
|
150
164
|
}
|
|
@@ -153,9 +167,7 @@ export class CopilotChatUserMessage {
|
|
|
153
167
|
@if (showBranchNavigation()) {
|
|
154
168
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
155
169
|
<copilot-slot
|
|
156
|
-
[slot]="
|
|
157
|
-
branchNavigationTemplate || branchNavigationComponent()
|
|
158
|
-
"
|
|
170
|
+
[slot]="branchNavigationTemplate || branchNavigationComponent()"
|
|
159
171
|
[context]="branchNavigationContext()"
|
|
160
172
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
161
173
|
>
|
|
@@ -198,10 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
198
210
|
>
|
|
199
211
|
</copilot-slot>
|
|
200
212
|
} @else {
|
|
201
|
-
<copilot-chat-user-message-renderer
|
|
202
|
-
[content]="message()?.content || ''"
|
|
203
|
-
[inputClass]="messageRendererClass()"
|
|
204
|
-
>
|
|
213
|
+
<copilot-chat-user-message-renderer [content]="flattenedContent()" [inputClass]="messageRendererClass()">
|
|
205
214
|
</copilot-chat-user-message-renderer>
|
|
206
215
|
}
|
|
207
216
|
|
|
@@ -218,23 +227,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
218
227
|
<div class="flex items-center gap-1 justify-end">
|
|
219
228
|
<!-- Additional toolbar items -->
|
|
220
229
|
@if (additionalToolbarItems()) {
|
|
221
|
-
<ng-container
|
|
222
|
-
[ngTemplateOutlet]="additionalToolbarItems() || null"
|
|
223
|
-
></ng-container>
|
|
230
|
+
<ng-container [ngTemplateOutlet]="additionalToolbarItems() || null"></ng-container>
|
|
224
231
|
}
|
|
225
232
|
|
|
226
233
|
<!-- Copy button -->
|
|
227
234
|
@if (copyButtonTemplate || copyButtonComponent()) {
|
|
228
235
|
<copilot-slot
|
|
229
236
|
[slot]="copyButtonTemplate || copyButtonComponent()"
|
|
230
|
-
[context]="{ content:
|
|
237
|
+
[context]="{ content: flattenedContent() }"
|
|
231
238
|
[outputs]="copyButtonOutputs"
|
|
232
239
|
[defaultComponent]="CopilotChatUserMessageCopyButton"
|
|
233
240
|
>
|
|
234
241
|
</copilot-slot>
|
|
235
242
|
} @else {
|
|
236
243
|
<copilot-chat-user-message-copy-button
|
|
237
|
-
[content]="
|
|
244
|
+
[content]="flattenedContent()"
|
|
238
245
|
[inputClass]="copyButtonClass()"
|
|
239
246
|
(clicked)="handleCopy()"
|
|
240
247
|
>
|
|
@@ -252,10 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
252
259
|
>
|
|
253
260
|
</copilot-slot>
|
|
254
261
|
} @else {
|
|
255
|
-
<copilot-chat-user-message-edit-button
|
|
256
|
-
[inputClass]="editButtonClass()"
|
|
257
|
-
(clicked)="handleEdit()"
|
|
258
|
-
>
|
|
262
|
+
<copilot-chat-user-message-edit-button [inputClass]="editButtonClass()" (clicked)="handleEdit()">
|
|
259
263
|
</copilot-chat-user-message-edit-button>
|
|
260
264
|
}
|
|
261
265
|
}
|
|
@@ -264,9 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
264
268
|
@if (showBranchNavigation()) {
|
|
265
269
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
266
270
|
<copilot-slot
|
|
267
|
-
[slot]="
|
|
268
|
-
branchNavigationTemplate || branchNavigationComponent()
|
|
269
|
-
"
|
|
271
|
+
[slot]="branchNavigationTemplate || branchNavigationComponent()"
|
|
270
272
|
[context]="branchNavigationContext()"
|
|
271
273
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
272
274
|
>
|
|
@@ -303,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
303
305
|
type: ContentChild,
|
|
304
306
|
args: ["branchNavigation", { read: TemplateRef }]
|
|
305
307
|
}] } });
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVd2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQTZIakMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyw0Q0FBNEM7SUFFNUMsdUJBQXVCLENBQXVDO0lBRTlELGVBQWUsQ0FBMEM7SUFFekQsa0JBQWtCLENBQWtDO0lBRXBELGtCQUFrQixDQUFrQztJQUVwRCx3QkFBd0IsQ0FBd0M7SUFFaEUsd0NBQXdDO0lBQ3hDLG9CQUFvQixHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUNuRCxZQUFZLEdBQUcsS0FBSyxFQUFzQixDQUFDO0lBQzNDLGVBQWUsR0FBRyxLQUFLLEVBQXNCLENBQUM7SUFDOUMsZUFBZSxHQUFHLEtBQUssRUFBc0IsQ0FBQztJQUM5QyxxQkFBcUIsR0FB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QUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBR2pELHdCQUF3QjtzQkFEdkIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIGNvbXB1dGVkLFxuICBUeXBlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb3BpbG90U2xvdCB9IGZyb20gXCIuLi8uLi9zbG90cy9jb3BpbG90LXNsb3RcIjtcbmltcG9ydCB7XG4gIHR5cGUgVXNlck1lc3NhZ2UsXG4gIHR5cGUgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uRWRpdE1lc3NhZ2VQcm9wcyxcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzLFxuICB0eXBlIE1lc3NhZ2VSZW5kZXJlckNvbnRleHQsXG4gIHR5cGUgQ29weUJ1dHRvbkNvbnRleHQsXG4gIHR5cGUgRWRpdEJ1dHRvbkNvbnRleHQsXG4gIHR5cGUgQnJhbmNoTmF2aWdhdGlvbkNvbnRleHQsXG4gIHR5cGUgVXNlck1lc3NhZ2VUb29sYmFyQ29udGV4dCxcbn0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlclwiO1xuaW1wb3J0IHtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b24sXG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJ1dHRvbnNcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS10b29sYmFyXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiB9IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlclxuICAgICAgICAgIFtjb250ZW50XT1cIm1lc3NhZ2UoKT8uY29udGVudCB8fCAnJ1wiXG4gICAgICAgICAgW2lucHV0Q2xhc3NdPVwibWVzc2FnZVJlbmRlcmVyQ2xhc3MoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFRvb2xiYXIgLS0+XG4gICAgICBAaWYgKHRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgIFtzbG90XT1cInRvb2xiYXJUZW1wbGF0ZSB8fCB0b29sYmFyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cInRvb2xiYXJDb250ZXh0KClcIlxuICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyIFtpbnB1dENsYXNzXT1cInRvb2xiYXJDbGFzcygpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgdG9vbGJhciBpdGVtcyAtLT5cbiAgICAgICAgICAgIEBpZiAoYWRkaXRpb25hbFRvb2xiYXJJdGVtcygpKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRpdGlvbmFsVG9vbGJhckl0ZW1zKCkgfHwgbnVsbFwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBDb3B5IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAoY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgW3Nsb3RdPVwiY29weUJ1dHRvblRlbXBsYXRlIHx8IGNvcHlCdXR0b25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwieyBjb250ZW50OiBtZXNzYWdlKCk/LmNvbnRlbnQgfHwgJycgfVwiXG4gICAgICAgICAgICAgICAgW291dHB1dHNdPVwiY29weUJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvblxuICAgICAgICAgICAgICAgIFtjb250ZW50XT1cIm1lc3NhZ2UoKT8uY29udGVudFwiXG4gICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiY29weUJ1dHRvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUNvcHkoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWNvcHktYnV0dG9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEVkaXQgYnV0dG9uIC0tPlxuICAgICAgICAgICAgQGlmICh0cnVlKSB7XG4gICAgICAgICAgICAgIEBpZiAoZWRpdEJ1dHRvblRlbXBsYXRlIHx8IGVkaXRCdXR0b25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cImVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwie31cIlxuICAgICAgICAgICAgICAgICAgW291dHB1dHNdPVwiZWRpdEJ1dHRvbk91dHB1dHNcIlxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtZWRpdC1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImhhbmRsZUVkaXQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1lZGl0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIEJyYW5jaCBuYXZpZ2F0aW9uIC0tPlxuICAgICAgICAgICAgQGlmIChzaG93QnJhbmNoTmF2aWdhdGlvbigpKSB7XG4gICAgICAgICAgICAgIEBpZiAoYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICAgICAgICAgIFtzbG90XT1cIlxuICAgICAgICAgICAgICAgICAgICBicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiYnJhbmNoTmF2aWdhdGlvbkNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1zbG90PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblxuICAgICAgICAgICAgICAgICAgW2N1cnJlbnRCcmFuY2hdPVwiYnJhbmNoSW5kZXhWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFtudW1iZXJPZkJyYW5jaGVzXT1cIm51bWJlck9mQnJhbmNoZXNWYWx1ZSgpXCJcbiAgICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2UoKSFcIlxuICAgICAgICAgICAgICAgICAgW2lucHV0Q2xhc3NdPVwiYnJhbmNoTmF2aWdhdGlvbkNsYXNzKClcIlxuICAgICAgICAgICAgICAgICAgKHN3aXRjaFRvQnJhbmNoKT1cImhhbmRsZVN3aXRjaFRvQnJhbmNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnJhbmNoLW5hdmlnYXRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RDaGF0VXNlck1lc3NhZ2Uge1xuICAvLyBDYXB0dXJlIHRlbXBsYXRlcyBmcm9tIGNvbnRlbnQgcHJvamVjdGlvblxuICBAQ29udGVudENoaWxkKFwibWVzc2FnZVJlbmRlcmVyXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbWVzc2FnZVJlbmRlcmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcInRvb2xiYXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICB0b29sYmFyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImNvcHlCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBjb3B5QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDb3B5QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJlZGl0QnV0dG9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZWRpdEJ1dHRvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8RWRpdEJ1dHRvbkNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiYnJhbmNoTmF2aWdhdGlvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGJyYW5jaE5hdmlnYXRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PjtcblxuICAvLyBQcm9wcyBmb3IgdHdlYWtpbmcgZGVmYXVsdCBjb21wb25lbnRzXG4gIG1lc3NhZ2VSZW5kZXJlckNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvcHlCdXR0b25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgLy8gQ29tcG9uZW50IGlucHV0cyBmb3Igb3ZlcnJpZGVzXG4gIG1lc3NhZ2VSZW5kZXJlckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgdG9vbGJhckNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgZWRpdEJ1dHRvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBSZWd1bGFyIGlucHV0c1xuICBtZXNzYWdlID0gaW5wdXQ8VXNlck1lc3NhZ2U+KCk7XG4gIGJyYW5jaEluZGV4ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBudW1iZXJPZkJyYW5jaGVzID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBhZGRpdGlvbmFsVG9vbGJhckl0ZW1zID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4oKTtcbiAgaW5wdXRDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBPdXRwdXQgZXZlbnRzXG4gIGVkaXRNZXNzYWdlID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPbkVkaXRNZXNzYWdlUHJvcHM+KCk7XG4gIHN3aXRjaFRvQnJhbmNoID0gb3V0cHV0PENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHM+KCk7XG5cbiAgLy8gRGVyaXZlZCB2YWx1ZXNcbiAgYnJhbmNoSW5kZXhWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYnJhbmNoSW5kZXgoKSA/PyAwKTtcbiAgbnVtYmVyT2ZCcmFuY2hlc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5udW1iZXJPZkJyYW5jaGVzKCkgPz8gMSk7XG5cbiAgLy8gRGVmYXVsdCBjb21wb25lbnRzXG4gIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VSZW5kZXJlcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhcjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUNvcHlCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24gPSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbjtcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUJyYW5jaE5hdmlnYXRpb24gPVxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIGNuKFwiZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgZ3JvdXAgcHQtMTBcIiwgdGhpcy5pbnB1dENsYXNzKCkpXG4gICk7XG5cbiAgLy8gQ29udGV4dCBmb3Igc2xvdHMgKHJlYWN0aXZlIHZpYSBzaWduYWxzKVxuICBtZXNzYWdlUmVuZGVyZXJDb250ZXh0ID0gY29tcHV0ZWQ8TWVzc2FnZVJlbmRlcmVyQ29udGV4dD4oKCkgPT4gKHtcbiAgICBjb250ZW50OiB0aGlzLm1lc3NhZ2UoKT8uY29udGVudCB8fCBcIlwiLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKFxuICAgIHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3dpdGNoVG9CcmFuY2guZW1pdChwcm9wcyk7XG4gIH1cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUVSLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUdqQyxTQUFTLHlCQUF5QixDQUFDLE9BQWdDO0lBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFDRSxJQUFJO1lBQ0osT0FBTyxJQUFJLEtBQUssUUFBUTtZQUN4QixNQUFNLElBQUksSUFBSTtZQUNiLElBQTJCLENBQUMs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQsMEdBbkdDLFlBQVksc01BQ1osV0FBVyxxSEFDWCw4QkFBOEIsa0hBQzlCLGdDQUFnQyxnS0FDaEMsZ0NBQWdDLHFKQUNoQyw2QkFBNkIsdUdBQzdCLHNDQUFzQzs7NEZBdUc3QixzQkFBc0I7a0JBakhsQyxTQUFTO2lDQUNJLElBQUksWUFDTiwyQkFBMkIsV0FDNUI7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDhCQUE4Qjt3QkFDOUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0Isc0NBQXNDO3FCQUN2QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxZQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQ7d0RBYUQsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUdqRCxrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHakQsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgY29tcHV0ZWQsXG4gIFR5cGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvcGlsb3RTbG90IH0gZnJvbSBcIi4uLy4uL3Nsb3RzL2NvcGlsb3Qtc2xvdFwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzLFxuICB0eXBlIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VPblN3aXRjaFRvQnJhbmNoUHJvcHMsXG4gIHR5cGUgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCxcbiAgdHlwZSBDb3B5QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBFZGl0QnV0dG9uQ29udGV4dCxcbiAgdHlwZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCxcbiAgdHlwZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0LFxufSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlUmVuZGVyZXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXJlbmRlcmVyXCI7XG5pbXBvcnQge1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbixcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZUVkaXRCdXR0b24sXG59IGZyb20gXCIuL2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtYnV0dG9uc1wiO1xuaW1wb3J0IHsgQ29waWxvdENoYXRVc2VyTWVzc2FnZVRvb2xiYXIgfSBmcm9tIFwiLi9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLXRvb2xiYXJcIjtcbmltcG9ydCB7IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uIH0gZnJvbSBcIi4vY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFVzZXJNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jb3JlXCI7XG5cbmZ1bmN0aW9uIGZsYXR0ZW5Vc2VyTWVzc2FnZUNvbnRlbnQoY29udGVudD86IFVzZXJNZXNzYWdlW1wiY29udGVudFwiXSk6IHN0cmluZyB7XG4gIGlmICghY29udGVudCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudFxuICAgIC5tYXAoKHBhcnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFydCAmJlxuICAgICAgICB0eXBlb2YgcGFydCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBcInR5cGVcIiBpbiBwYXJ0ICYmXG4gICAgICAgIChwYXJ0IGFzIHsgdHlwZT86IHVua25vd24gfSkudHlwZSA9PT0gXCJ0ZXh0XCIgJiZcbiAgICAgICAgdHlwZW9mIChwYXJ0IGFzIHsgdGV4dD86IHVua25vd24gfSkudGV4dCA9PT0gXCJzdHJpbmdcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAocGFydCBhcyB7IHRleHQ6IHN0cmluZyB9KS50ZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfSlcbiAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0Lmxlbmd0aCA+IDApXG4gICAgLmpvaW4oXCJcXG5cIik7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlXCIsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29waWxvdFNsb3QsXG4gICAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyLFxuICAgIENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENsYXNzKClcIiBbYXR0ci5kYXRhLW1lc3NhZ2UtaWRdPVwibWVzc2FnZSgpPy5pZFwiPlxuICAgICAgPCEtLSBNZXNzYWdlIFJlbmRlcmVyIC0tPlxuICAgICAgQGlmIChtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZSB8fCBtZXNzYWdlUmVuZGVyZXJDb21wb25lbnQoKSkge1xuICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgW3Nsb3RdPVwibWVzc2FnZVJlbmRlcmVyVGVtcGxhdGUgfHwgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50KClcIlxuICAgICAgICAgIFtjb250ZXh0XT1cIm1lc3NhZ2VSZW5kZXJlckNvbnRleHQoKVwiXG4gICAgICAgICAgW2RlZmF1bHRDb21wb25lbnRdPVwiQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvcGlsb3Qtc2xvdD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Y29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlciBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIiBbaW5wdXRDbGFzc109XCJtZXNzYWdlUmVuZGVyZXJDbGFzcygpXCI+XG4gICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1yZW5kZXJlcj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUb29sYmFyIC0tPlxuICAgICAgQGlmICh0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpKSB7XG4gICAgICAgIDxjb3BpbG90LXNsb3RcbiAgICAgICAgICBbc2xvdF09XCJ0b29sYmFyVGVtcGxhdGUgfHwgdG9vbGJhckNvbXBvbmVudCgpXCJcbiAgICAgICAgICBbY29udGV4dF09XCJ0b29sYmFyQ29udGV4dCgpXCJcbiAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhclwiXG4gICAgICAgID5cbiAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciBbaW5wdXRDbGFzc109XCJ0b29sYmFyQ2xhc3MoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBqdXN0aWZ5LWVuZFwiPlxuICAgICAgICAgICAgPCEtLSBBZGRpdGlvbmFsIHRvb2xiYXIgaXRlbXMgLS0+XG4gICAgICAgICAgICBAaWYgKGFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZGl0aW9uYWxUb29sYmFySXRlbXMoKSB8fCBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQ29weSBidXR0b24gLS0+XG4gICAgICAgICAgICBAaWYgKGNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgIFtzbG90XT1cImNvcHlCdXR0b25UZW1wbGF0ZSB8fCBjb3B5QnV0dG9uQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInsgY29udGVudDogZmxhdHRlbmVkQ29udGVudCgpIH1cIlxuICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImNvcHlCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdENvbXBvbmVudF09XCJDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGNvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UtY29weS1idXR0b25cbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJmbGF0dGVuZWRDb250ZW50KClcIlxuICAgICAgICAgICAgICAgIFtpbnB1dENsYXNzXT1cImNvcHlCdXR0b25DbGFzcygpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJoYW5kbGVDb3B5KClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1jb3B5LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBFZGl0IGJ1dHRvbiAtLT5cbiAgICAgICAgICAgIEBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICBAaWYgKGVkaXRCdXR0b25UZW1wbGF0ZSB8fCBlZGl0QnV0dG9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8Y29waWxvdC1zbG90XG4gICAgICAgICAgICAgICAgICBbc2xvdF09XCJlZGl0QnV0dG9uVGVtcGxhdGUgfHwgZWRpdEJ1dHRvbkNvbXBvbmVudCgpXCJcbiAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cInt9XCJcbiAgICAgICAgICAgICAgICAgIFtvdXRwdXRzXT1cImVkaXRCdXR0b25PdXRwdXRzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uIFtpbnB1dENsYXNzXT1cImVkaXRCdXR0b25DbGFzcygpXCIgKGNsaWNrZWQpPVwiaGFuZGxlRWRpdCgpXCI+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWVkaXQtYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gQnJhbmNoIG5hdmlnYXRpb24gLS0+XG4gICAgICAgICAgICBAaWYgKHNob3dCcmFuY2hOYXZpZ2F0aW9uKCkpIHtcbiAgICAgICAgICAgICAgQGlmIChicmFuY2hOYXZpZ2F0aW9uVGVtcGxhdGUgfHwgYnJhbmNoTmF2aWdhdGlvbkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICAgICAgPGNvcGlsb3Qtc2xvdFxuICAgICAgICAgICAgICAgICAgW3Nsb3RdPVwiYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlIHx8IGJyYW5jaE5hdmlnYXRpb25Db21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCgpXCJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29tcG9uZW50XT1cIkNvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jb3BpbG90LXNsb3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxjb3BpbG90LWNoYXQtdXNlci1tZXNzYWdlLWJyYW5jaC1uYXZpZ2F0aW9uXG4gICAgICAgICAgICAgICAgICBbY3VycmVudEJyYW5jaF09XCJicmFuY2hJbmRleFZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW251bWJlck9mQnJhbmNoZXNdPVwibnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKClcIlxuICAgICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZSgpIVwiXG4gICAgICAgICAgICAgICAgICBbaW5wdXRDbGFzc109XCJicmFuY2hOYXZpZ2F0aW9uQ2xhc3MoKVwiXG4gICAgICAgICAgICAgICAgICAoc3dpdGNoVG9CcmFuY2gpPVwiaGFuZGxlU3dpdGNoVG9CcmFuY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS1icmFuY2gtbmF2aWdhdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29waWxvdENoYXRVc2VyTWVzc2FnZSB7XG4gIC8vIENhcHR1cmUgdGVtcGxhdGVzIGZyb20gY29udGVudCBwcm9qZWN0aW9uXG4gIEBDb250ZW50Q2hpbGQoXCJtZXNzYWdlUmVuZGVyZXJcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtZXNzYWdlUmVuZGVyZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPE1lc3NhZ2VSZW5kZXJlckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwidG9vbGJhclwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRvb2xiYXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+O1xuICBAQ29udGVudENoaWxkKFwiY29weUJ1dHRvblwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGNvcHlCdXR0b25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPENvcHlCdXR0b25Db250ZXh0PjtcbiAgQENvbnRlbnRDaGlsZChcImVkaXRCdXR0b25cIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBlZGl0QnV0dG9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxFZGl0QnV0dG9uQ29udGV4dD47XG4gIEBDb250ZW50Q2hpbGQoXCJicmFuY2hOYXZpZ2F0aW9uXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgYnJhbmNoTmF2aWdhdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8QnJhbmNoTmF2aWdhdGlvbkNvbnRleHQ+O1xuXG4gIC8vIFByb3BzIGZvciB0d2Vha2luZyBkZWZhdWx0IGNvbXBvbmVudHNcbiAgbWVzc2FnZVJlbmRlcmVyQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHRvb2xiYXJDbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgY29weUJ1dHRvbkNsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ2xhc3MgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGJyYW5jaE5hdmlnYXRpb25DbGFzcyA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAvLyBDb21wb25lbnQgaW5wdXRzIGZvciBvdmVycmlkZXNcbiAgbWVzc2FnZVJlbmRlcmVyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICB0b29sYmFyQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBjb3B5QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBlZGl0QnV0dG9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBicmFuY2hOYXZpZ2F0aW9uQ29tcG9uZW50ID0gaW5wdXQ8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIFJlZ3VsYXIgaW5wdXRzXG4gIG1lc3NhZ2UgPSBpbnB1dDxVc2VyTWVzc2FnZT4oKTtcbiAgYnJhbmNoSW5kZXggPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIG51bWJlck9mQnJhbmNoZXMgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KCk7XG4gIGFkZGl0aW9uYWxUb29sYmFySXRlbXMgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkPigpO1xuICBpbnB1dENsYXNzID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIC8vIE91dHB1dCBldmVudHNcbiAgZWRpdE1lc3NhZ2UgPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uRWRpdE1lc3NhZ2VQcm9wcz4oKTtcbiAgc3dpdGNoVG9CcmFuY2ggPSBvdXRwdXQ8Q29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcz4oKTtcblxuICAvLyBEZXJpdmVkIHZhbHVlc1xuICBicmFuY2hJbmRleFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5icmFuY2hJbmRleCgpID8/IDApO1xuICBudW1iZXJPZkJyYW5jaGVzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKTtcblxuICAvLyBEZWZhdWx0IGNvbXBvbmVudHNcbiAgQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyID0gQ29waWxvdENoYXRVc2VyTWVzc2FnZVJlbmRlcmVyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlVG9vbGJhciA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VUb29sYmFyO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQ29weUJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VDb3B5QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlRWRpdEJ1dHRvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VFZGl0QnV0dG9uO1xuICBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlQnJhbmNoTmF2aWdhdGlvbiA9IENvcGlsb3RDaGF0VXNlck1lc3NhZ2VCcmFuY2hOYXZpZ2F0aW9uO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlc1xuICBzaG93QnJhbmNoTmF2aWdhdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm51bWJlck9mQnJhbmNoZXMoKSA/PyAxKSA+IDEpO1xuXG4gIGNvbXB1dGVkQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiBjbihcImZsZXggZmxleC1jb2wgaXRlbXMtZW5kIGdyb3VwIHB0LTEwXCIsIHRoaXMuaW5wdXRDbGFzcygpKSk7XG5cbiAgLy8gQ29udGV4dCBmb3Igc2xvdHMgKHJlYWN0aXZlIHZpYSBzaWduYWxzKVxuICBmbGF0dGVuZWRDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4gZmxhdHRlblVzZXJNZXNzYWdlQ29udGVudCh0aGlzLm1lc3NhZ2UoKT8uY29udGVudCkpO1xuXG4gIG1lc3NhZ2VSZW5kZXJlckNvbnRleHQgPSBjb21wdXRlZDxNZXNzYWdlUmVuZGVyZXJDb250ZXh0PigoKSA9PiAoe1xuICAgIGNvbnRlbnQ6IHRoaXMuZmxhdHRlbmVkQ29udGVudCgpLFxuICB9KSk7XG5cbiAgLy8gT3V0cHV0IG1hcHMgZm9yIHNsb3RzXG4gIGNvcHlCdXR0b25PdXRwdXRzID0geyBjbGlja2VkOiAoKSA9PiB0aGlzLmhhbmRsZUNvcHkoKSB9O1xuICBlZGl0QnV0dG9uT3V0cHV0cyA9IHsgY2xpY2tlZDogKCkgPT4gdGhpcy5oYW5kbGVFZGl0KCkgfTtcblxuICBicmFuY2hOYXZpZ2F0aW9uQ29udGV4dCA9IGNvbXB1dGVkPEJyYW5jaE5hdmlnYXRpb25Db250ZXh0PigoKSA9PiAoe1xuICAgIGN1cnJlbnRCcmFuY2g6IHRoaXMuYnJhbmNoSW5kZXhWYWx1ZSgpLFxuICAgIG51bWJlck9mQnJhbmNoZXM6IHRoaXMubnVtYmVyT2ZCcmFuY2hlc1ZhbHVlKCksXG4gICAgb25Td2l0Y2hUb0JyYW5jaDogKHByb3BzKSA9PiB0aGlzLmhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzKSxcbiAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UoKSEsXG4gIH0pKTtcblxuICB0b29sYmFyQ29udGV4dCA9IGNvbXB1dGVkPFVzZXJNZXNzYWdlVG9vbGJhckNvbnRleHQ+KCgpID0+ICh7XG4gICAgY2hpbGRyZW46IG51bGwsIC8vIFdpbGwgYmUgcG9wdWxhdGVkIGJ5IHRoZSB0b29sYmFyIGNvbnRlbnRcbiAgfSkpO1xuXG4gIGhhbmRsZUNvcHkoKTogdm9pZCB7XG4gICAgLy8gQ29weSBpcyBoYW5kbGVkIGJ5IHRoZSBidXR0b24gY29tcG9uZW50IGl0c2VsZlxuICAgIC8vIFRoaXMgaXMganVzdCBmb3IgYW55IGFkZGl0aW9uYWwgbG9naWMgaWYgbmVlZGVkXG4gIH1cblxuICBoYW5kbGVFZGl0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1lc3NhZ2UuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSgpISB9KTtcbiAgfVxuXG4gIGhhbmRsZVN3aXRjaFRvQnJhbmNoKHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zd2l0Y2hUb0JyYW5jaC5lbWl0KHByb3BzKTtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdC1jaGF0LXVzZXItbWVzc2FnZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NvcGlsb3QtY2hhdC11c2VyLW1lc3NhZ2UudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlck1lc3NhZ2UgfSBmcm9tIFwiQGFnLXVpL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25FZGl0TWVzc2FnZVByb3BzIHtcbiAgbWVzc2FnZTogVXNlck1lc3NhZ2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29waWxvdENoYXRVc2VyTWVzc2FnZU9uU3dpdGNoVG9CcmFuY2hQcm9wcyB7XG4gIG1lc3NhZ2U6IFVzZXJNZXNzYWdlO1xuICBicmFuY2hJbmRleDogbnVtYmVyO1xuICBudW1iZXJPZkJyYW5jaGVzOiBudW1iZXI7XG59XG5cbi8vIENvbnRleHQgaW50ZXJmYWNlcyBmb3Igc2xvdHNcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVJlbmRlcmVyQ29udGV4dCB7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3B5QnV0dG9uQ29udGV4dCB7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvcGllZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEJ1dHRvbkNvbnRleHQge1xuICAvLyBFbXB0eSBjb250ZXh0IC0gY2xpY2sgaGFuZGxlZCB2aWEgb3V0cHV0cyBtYXBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmFuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIGN1cnJlbnRCcmFuY2g6IG51bWJlcjtcbiAgbnVtYmVyT2ZCcmFuY2hlczogbnVtYmVyO1xuICBvblN3aXRjaFRvQnJhbmNoPzogKHByb3BzOiBDb3BpbG90Q2hhdFVzZXJNZXNzYWdlT25Td2l0Y2hUb0JyYW5jaFByb3BzKSA9PiB2b2lkO1xuICBtZXNzYWdlOiBVc2VyTWVzc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTWVzc2FnZVRvb2xiYXJDb250ZXh0IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG59XG4iXX0=
|
|
@@ -86,7 +86,8 @@ export class RenderToolCalls {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
#getToolMessage(toolCallId) {
|
|
89
|
-
|
|
89
|
+
const message = this.messages().find((m) => m.role === "tool" && m.toolCallId === toolCallId);
|
|
90
|
+
return message;
|
|
90
91
|
}
|
|
91
92
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderToolCalls, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
92
93
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RenderToolCalls, isStandalone: true, selector: "copilot-render-tool-calls", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -134,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
134
135
|
`,
|
|
135
136
|
}]
|
|
136
137
|
}] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRvb2wtY2FsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlbmRlci10b29sLWNhbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUF3Q3JELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUM3QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFDLElBQVk7UUFJakMsTUFBTSxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sRUFBZ0MsQ0FBQyxPQUFPLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUUvRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM3QixDQUFDLFNB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VUFBVTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFRO2dCQUN4QixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO2dCQUNMLElBQUk7Z0JBQ0osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQztJQUN2RixDQUFDO3dHQXJHVSxlQUFlOzRGQUFmLGVBQWUsa2VBbkJoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsNERBbEJTLGlCQUFpQjs7NEZBb0JoQixlQUFlO2tCQXZCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBc3Npc3RhbnRNZXNzYWdlLCBNZXNzYWdlLCBUb29sQ2FsbCB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuaW1wb3J0IHtcbiAgRnJvbnRlbmRUb29sQ29uZmlnLFxuICBIdW1hbkluVGhlTG9vcFRvb2xDYWxsLFxuICBIdW1hbkluVGhlTG9vcENvbmZpZyxcbiAgQW5ndWxhclRvb2xDYWxsLFxuICBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbn0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IHBhcnRpYWxKU09OUGFyc2UgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuaW1wb3J0IHsgSHVtYW5JblRoZUxvb3AgfSBmcm9tIFwiLi9odW1hbi1pbi10aGUtbG9vcFwiO1xuXG50eXBlIFJlbmRlcmVyVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcInJlbmRlcmVyXCI7XG4gIGNvbmZpZzogUmVuZGVyVG9vbENhbGxDb25maWc7XG59O1xudHlwZSBDbGllbnRUb29sQ2FsbEhhbmRsZXIgPSB7XG4gIHR5cGU6IFwiY2xpZW50VG9vbFwiO1xuICBjb25maWc6IEZyb250ZW5kVG9vbENvbmZpZztcbn07XG50eXBlIEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcImh1bWFuSW5UaGVMb29wVG9vbFwiO1xuICBjb25maWc6IEh1bWFuSW5UaGVMb29wQ29uZmlnO1xufTtcblxudHlwZSBUb29sQ2FsbEhhbmRsZXIgPSBSZW5kZXJlclRvb2xDYWxsSGFuZGxlciB8IENsaWVudFRvb2xDYWxsSGFuZGxlciB8IEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1yZW5kZXItdG9vbC1jYWxsc1wiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDb21wb25lbnRPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBmb3IgKHRvb2xDYWxsIG9mIG1lc3NhZ2UoKS50b29sQ2FsbHMgPz8gW107IHRyYWNrIHRvb2xDYWxsLmlkKSB7XG4gICAgICBAbGV0IHJlbmRlckNvbmZpZyA9IHBpY2tSZW5kZXJlcih0b29sQ2FsbC5mdW5jdGlvbi5uYW1lKTtcbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlICE9PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJyZW5kZXJDb25maWcuY29uZmlnLmNvbXBvbmVudDsgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZFRvb2xDYWxsKHRvb2xDYWxsKSB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlID09PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50O1xuICAgICAgICAgICAgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZEh1bWFuSW5UaGVMb29wVG9vbENhbGwodG9vbENhbGwpIH1cbiAgICAgICAgICBcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyVG9vbENhbGxzIHtcbiAgcmVhZG9ubHkgI2NvcGlsb3RLaXQgPSBpbmplY3QoQ29waWxvdEtpdCk7XG4gIHJlYWRvbmx5ICNoaXRsID0gaW5qZWN0KEh1bWFuSW5UaGVMb29wKTtcbiAgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0LnJlcXVpcmVkPEFzc2lzdGFudE1lc3NhZ2U+KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2VzID0gaW5wdXQucmVxdWlyZWQ8TWVzc2FnZVtdPigpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHBpY2tSZW5kZXJlcihuYW1lOiBzdHJpbmcpOiBUb29sQ2FsbEhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHR5cGUgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCA9IEFzc2lzdGFudE1lc3NhZ2UgJiB7XG4gICAgICBhZ2VudElkPzogc3RyaW5nO1xuICAgIH07XG4gICAgY29uc3QgbWVzc2FnZUFnZW50SWQgPSAodGhpcy5tZXNzYWdlKCkgYXMgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCkuYWdlbnRJZDtcbiAgICBjb25zdCByZW5kZXJlcnMgPSB0aGlzLiNjb3BpbG90S2l0LnRvb2xDYWxsUmVuZGVyQ29uZmlncygpO1xuICAgIGNvbnN0IGNsaWVudFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5jbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MoKTtcbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5odW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzKCk7XG5cbiAgICBjb25zdCByZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuXG4gICAgaWYgKHJlbmRlcmVyKSByZXR1cm4geyB0eXBlOiBcInJlbmRlcmVyXCIsIGNvbmZpZzogcmVuZGVyZXIgfTtcblxuICAgIGNvbnN0IGNsaWVudFRvb2wgPSBjbGllbnRUb29scy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuICAgIGlmIChjbGllbnRUb29sKSByZXR1cm4geyB0eXBlOiBcImNsaWVudFRvb2xcIiwgY29uZmlnOiBjbGllbnRUb29sIH07XG5cbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2wgPSBodW1hbkluVGhlTG9vcFRvb2xzLmZpbmQoXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSAmJiAoY2FuZGlkYXRlLmFnZW50SWQgPT09IHVuZGVmaW5lZCB8fCBjYW5kaWRhdGUuYWdlbnRJZCA9PT0gbWVzc2FnZUFnZW50SWQpLFxuICAgICk7XG4gICAgaWYgKGh1bWFuSW5UaGVMb29wVG9vbCkgcmV0dXJuIHsgdHlwZTogXCJodW1hbkluVGhlTG9vcFRvb2xcIiwgY29uZmlnOiBodW1hbkluVGhlTG9vcFRvb2wgfTtcblxuICAgIGNvbnN0IHN0YXJSZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZS5uYW1lID09PSBcIipcIik7XG4gICAgaWYgKHN0YXJSZW5kZXJlcikgcmV0dXJuIHsgdHlwZTogXCJyZW5kZXJlclwiLCBjb25maWc6IHN0YXJSZW5kZXJlciB9O1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4odG9vbENhbGw6IFRvb2xDYWxsKTogQW5ndWxhclRvb2xDYWxsPEFyZ3M+IHtcbiAgICBjb25zdCBhcmdzID0gcGFydGlhbEpTT05QYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbC5pZCk7XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCIsXG4gICAgICAgIHJlc3VsdDogbWVzc2FnZS5jb250ZW50ISxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgdG9vbENhbGw6IFRvb2xDYWxsLFxuICApOiBIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3M+IHtcbiAgICBjb25zdCBhcmdzID0gcGFydGlhbEpTT05QYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbC5pZCk7XG4gICAgY29uc3QgcmVzcG9uZCA9IChyZXN1bHQ6IHVua25vd24pID0+IHtcbiAgICAgIHRoaXMuI2hpdGwuYWRkUmVzdWx0KHRvb2xDYWxsLmlkLCB0b29sQ2FsbC5mdW5jdGlvbi5uYW1lLCByZXN1bHQpO1xuICAgIH07XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCIsXG4gICAgICAgIHJlc3VsdDogbWVzc2FnZS5jb250ZW50ISxcbiAgICAgICAgcmVzcG9uZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHJlc3BvbmQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCIsXG4gICAgICAgIHJlc3VsdDogdW5kZWZpbmVkLFxuICAgICAgICByZXNwb25kLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAjZ2V0VG9vbE1lc3NhZ2UodG9vbENhbGxJZDogc3RyaW5nKTogTWVzc2FnZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMoKS5maW5kKChtKSA9PiBtLnJvbGUgPT09IFwidG9vbFwiICYmIG0udG9vbENhbGxJZCA9PT0gdG9vbENhbGxJZCk7XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRvb2wtY2FsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlbmRlci10b29sLWNhbGxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUF3Q3JELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUM3QyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFDLElBQVk7UUFJakMsTUFBTSxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sRUFBZ0MsQ0FBQyxPQUFPLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUUvRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUM3QixDQUFDLFNB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VUFBVTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFRO2dCQUN4QixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO2dCQUNMLElBQUk7Z0JBQ0osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQWtCO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBRWhILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0dBdkdVLGVBQWU7NEZBQWYsZUFBZSxrZUFuQmhCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVCw0REFsQlMsaUJBQWlCOzs0RkFvQmhCLGVBQWU7a0JBdkIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFzc2lzdGFudE1lc3NhZ2UsIE1lc3NhZ2UsIFRvb2xDYWxsLCBUb29sTWVzc2FnZSB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuaW1wb3J0IHtcbiAgRnJvbnRlbmRUb29sQ29uZmlnLFxuICBIdW1hbkluVGhlTG9vcFRvb2xDYWxsLFxuICBIdW1hbkluVGhlTG9vcENvbmZpZyxcbiAgQW5ndWxhclRvb2xDYWxsLFxuICBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbn0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IHBhcnRpYWxKU09OUGFyc2UgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuaW1wb3J0IHsgSHVtYW5JblRoZUxvb3AgfSBmcm9tIFwiLi9odW1hbi1pbi10aGUtbG9vcFwiO1xuXG50eXBlIFJlbmRlcmVyVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcInJlbmRlcmVyXCI7XG4gIGNvbmZpZzogUmVuZGVyVG9vbENhbGxDb25maWc7XG59O1xudHlwZSBDbGllbnRUb29sQ2FsbEhhbmRsZXIgPSB7XG4gIHR5cGU6IFwiY2xpZW50VG9vbFwiO1xuICBjb25maWc6IEZyb250ZW5kVG9vbENvbmZpZztcbn07XG50eXBlIEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyID0ge1xuICB0eXBlOiBcImh1bWFuSW5UaGVMb29wVG9vbFwiO1xuICBjb25maWc6IEh1bWFuSW5UaGVMb29wQ29uZmlnO1xufTtcblxudHlwZSBUb29sQ2FsbEhhbmRsZXIgPSBSZW5kZXJlclRvb2xDYWxsSGFuZGxlciB8IENsaWVudFRvb2xDYWxsSGFuZGxlciB8IEh1bWFuSW5UaGVMb29wVG9vbENhbGxIYW5kbGVyO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29waWxvdC1yZW5kZXItdG9vbC1jYWxsc1wiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDb21wb25lbnRPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBmb3IgKHRvb2xDYWxsIG9mIG1lc3NhZ2UoKS50b29sQ2FsbHMgPz8gW107IHRyYWNrIHRvb2xDYWxsLmlkKSB7XG4gICAgICBAbGV0IHJlbmRlckNvbmZpZyA9IHBpY2tSZW5kZXJlcih0b29sQ2FsbC5mdW5jdGlvbi5uYW1lKTtcbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlICE9PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJyZW5kZXJDb25maWcuY29uZmlnLmNvbXBvbmVudDsgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZFRvb2xDYWxsKHRvb2xDYWxsKSB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVuZGVyQ29uZmlnICYmIHJlbmRlckNvbmZpZy50eXBlID09PSBcImh1bWFuSW5UaGVMb29wVG9vbFwiICYmIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50KSB7XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgIHJlbmRlckNvbmZpZy5jb25maWcuY29tcG9uZW50O1xuICAgICAgICAgICAgaW5wdXRzOiB7IHRvb2xDYWxsOiBidWlsZEh1bWFuSW5UaGVMb29wVG9vbENhbGwodG9vbENhbGwpIH1cbiAgICAgICAgICBcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUmVuZGVyVG9vbENhbGxzIHtcbiAgcmVhZG9ubHkgI2NvcGlsb3RLaXQgPSBpbmplY3QoQ29waWxvdEtpdCk7XG4gIHJlYWRvbmx5ICNoaXRsID0gaW5qZWN0KEh1bWFuSW5UaGVMb29wKTtcbiAgcmVhZG9ubHkgbWVzc2FnZSA9IGlucHV0LnJlcXVpcmVkPEFzc2lzdGFudE1lc3NhZ2U+KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2VzID0gaW5wdXQucmVxdWlyZWQ8TWVzc2FnZVtdPigpO1xuICByZWFkb25seSBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHBpY2tSZW5kZXJlcihuYW1lOiBzdHJpbmcpOiBUb29sQ2FsbEhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHR5cGUgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCA9IEFzc2lzdGFudE1lc3NhZ2UgJiB7XG4gICAgICBhZ2VudElkPzogc3RyaW5nO1xuICAgIH07XG4gICAgY29uc3QgbWVzc2FnZUFnZW50SWQgPSAodGhpcy5tZXNzYWdlKCkgYXMgQXNzaXN0YW50TWVzc2FnZVdpdGhBZ2VudCkuYWdlbnRJZDtcbiAgICBjb25zdCByZW5kZXJlcnMgPSB0aGlzLiNjb3BpbG90S2l0LnRvb2xDYWxsUmVuZGVyQ29uZmlncygpO1xuICAgIGNvbnN0IGNsaWVudFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5jbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MoKTtcbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2xzID0gdGhpcy4jY29waWxvdEtpdC5odW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzKCk7XG5cbiAgICBjb25zdCByZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuXG4gICAgaWYgKHJlbmRlcmVyKSByZXR1cm4geyB0eXBlOiBcInJlbmRlcmVyXCIsIGNvbmZpZzogcmVuZGVyZXIgfTtcblxuICAgIGNvbnN0IGNsaWVudFRvb2wgPSBjbGllbnRUb29scy5maW5kKFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgY2FuZGlkYXRlLm5hbWUgPT09IG5hbWUgJiYgKGNhbmRpZGF0ZS5hZ2VudElkID09PSB1bmRlZmluZWQgfHwgY2FuZGlkYXRlLmFnZW50SWQgPT09IG1lc3NhZ2VBZ2VudElkKSxcbiAgICApO1xuICAgIGlmIChjbGllbnRUb29sKSByZXR1cm4geyB0eXBlOiBcImNsaWVudFRvb2xcIiwgY29uZmlnOiBjbGllbnRUb29sIH07XG5cbiAgICBjb25zdCBodW1hbkluVGhlTG9vcFRvb2wgPSBodW1hbkluVGhlTG9vcFRvb2xzLmZpbmQoXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSAmJiAoY2FuZGlkYXRlLmFnZW50SWQgPT09IHVuZGVmaW5lZCB8fCBjYW5kaWRhdGUuYWdlbnRJZCA9PT0gbWVzc2FnZUFnZW50SWQpLFxuICAgICk7XG4gICAgaWYgKGh1bWFuSW5UaGVMb29wVG9vbCkgcmV0dXJuIHsgdHlwZTogXCJodW1hbkluVGhlTG9vcFRvb2xcIiwgY29uZmlnOiBodW1hbkluVGhlTG9vcFRvb2wgfTtcblxuICAgIGNvbnN0IHN0YXJSZW5kZXJlciA9IHJlbmRlcmVycy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZS5uYW1lID09PSBcIipcIik7XG4gICAgaWYgKHN0YXJSZW5kZXJlcikgcmV0dXJuIHsgdHlwZTogXCJyZW5kZXJlclwiLCBjb25maWc6IHN0YXJSZW5kZXJlciB9O1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4odG9vbENhbGw6IFRvb2xDYWxsKTogQW5ndWxhclRvb2xDYWxsPEFyZ3M+IHtcbiAgICBjb25zdCBhcmdzID0gcGFydGlhbEpTT05QYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLiNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbC5pZCk7XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJncyxcbiAgICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCIsXG4gICAgICAgIHJlc3VsdDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNMb2FkaW5nKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHN0YXR1czogXCJpbi1wcm9ncmVzc1wiLFxuICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHN0YXR1czogXCJleGVjdXRpbmdcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEh1bWFuSW5UaGVMb29wVG9vbENhbGw8QXJncyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICB0b29sQ2FsbDogVG9vbENhbGwsXG4gICk6IEh1bWFuSW5UaGVMb29wVG9vbENhbGw8QXJncz4ge1xuICAgIGNvbnN0IGFyZ3MgPSBwYXJ0aWFsSlNPTlBhcnNlKHRvb2xDYWxsLmZ1bmN0aW9uLmFyZ3VtZW50cyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuI2dldFRvb2xNZXNzYWdlKHRvb2xDYWxsLmlkKTtcbiAgICBjb25zdCByZXNwb25kID0gKHJlc3VsdDogdW5rbm93bikgPT4ge1xuICAgICAgdGhpcy4jaGl0bC5hZGRSZXN1bHQodG9vbENhbGwuaWQsIHRvb2xDYWxsLmZ1bmN0aW9uLm5hbWUsIHJlc3VsdCk7XG4gICAgfTtcblxuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBzdGF0dXM6IFwiY29tcGxldGVcIixcbiAgICAgICAgcmVzdWx0OiBtZXNzYWdlLmNvbnRlbnQhLFxuICAgICAgICByZXNwb25kLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNMb2FkaW5nKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHN0YXR1czogXCJpbi1wcm9ncmVzc1wiLFxuICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgcmVzcG9uZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHN0YXR1czogXCJleGVjdXRpbmdcIixcbiAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgIHJlc3BvbmQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gICNnZXRUb29sTWVzc2FnZSh0b29sQ2FsbElkOiBzdHJpbmcpOiBUb29sTWVzc2FnZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXMoKS5maW5kKChtKTogbSBpcyBUb29sTWVzc2FnZSA9PiBtLnJvbGUgPT09IFwidG9vbFwiICYmIG0udG9vbENhbGxJZCA9PT0gdG9vbENhbGxJZCk7XG5cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
|