@tilde-nlp/ngx-common 6.1.92 → 6.1.93
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/esm2022/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.mjs
CHANGED
|
@@ -21,17 +21,17 @@ import * as i11 from "@angular/material/progress-spinner";
|
|
|
21
21
|
import * as i12 from "../../shared/llm-textarea/llm-textarea.component";
|
|
22
22
|
import * as i13 from "@ngx-translate/core";
|
|
23
23
|
const _c0 = (a0, a1) => ({ limit: a0, subscriptionUrl: a1 });
|
|
24
|
-
function
|
|
24
|
+
function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template(rf, ctx) { if (rf & 1) {
|
|
25
25
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
26
|
-
i0.ɵɵelementStart(0, "lib-tld-notification-message",
|
|
27
|
-
i0.ɵɵlistener("closeClicked", function
|
|
26
|
+
i0.ɵɵelementStart(0, "lib-tld-notification-message", 15);
|
|
27
|
+
i0.ɵɵlistener("closeClicked", function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template_lib_tld_notification_message_closeClicked_0_listener() { const message_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.closeMessage(message_r3)); });
|
|
28
28
|
i0.ɵɵelementEnd();
|
|
29
29
|
} if (rf & 2) {
|
|
30
30
|
const message_r3 = ctx.$implicit;
|
|
31
31
|
i0.ɵɵproperty("message", message_r3);
|
|
32
32
|
} }
|
|
33
|
-
function
|
|
34
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
33
|
+
function LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵelementStart(0, "mat-option", 18);
|
|
35
35
|
i0.ɵɵtext(1);
|
|
36
36
|
i0.ɵɵpipe(2, "uppercase");
|
|
37
37
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -42,15 +42,15 @@ function LLMTextareaWithActionsComponent_mat_form_field_8_For_6_Template(rf, ctx
|
|
|
42
42
|
i0.ɵɵadvance();
|
|
43
43
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "LLM.USE_CASE." + i0.ɵɵpipeBind1(2, 2, useCase_r6)), " ");
|
|
44
44
|
} }
|
|
45
|
-
function
|
|
45
|
+
function LLMTextareaWithActionsComponent_mat_form_field_7_Template(rf, ctx) { if (rf & 1) {
|
|
46
46
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
47
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
47
|
+
i0.ɵɵelementStart(0, "mat-form-field", 16)(1, "mat-label");
|
|
48
48
|
i0.ɵɵtext(2);
|
|
49
49
|
i0.ɵɵpipe(3, "translate");
|
|
50
50
|
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
52
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
53
|
-
i0.ɵɵrepeaterCreate(5,
|
|
51
|
+
i0.ɵɵelementStart(4, "mat-select", 17);
|
|
52
|
+
i0.ɵɵtwoWayListener("ngModelChange", function LLMTextareaWithActionsComponent_mat_form_field_7_Template_mat_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.selectedUseCase, $event) || (ctx_r3.selectedUseCase = $event); return i0.ɵɵresetView($event); });
|
|
53
|
+
i0.ɵɵrepeaterCreate(5, LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template, 4, 6, "mat-option", 18, i0.ɵɵrepeaterTrackByIndex);
|
|
54
54
|
i0.ɵɵelementEnd()();
|
|
55
55
|
} if (rf & 2) {
|
|
56
56
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
@@ -62,17 +62,17 @@ function LLMTextareaWithActionsComponent_mat_form_field_8_Template(rf, ctx) { if
|
|
|
62
62
|
i0.ɵɵadvance();
|
|
63
63
|
i0.ɵɵrepeater(ctx_r3.useCases);
|
|
64
64
|
} }
|
|
65
|
-
function
|
|
66
|
-
i0.ɵɵelement(0, "div",
|
|
65
|
+
function LLMTextareaWithActionsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelement(0, "div", 19);
|
|
67
67
|
i0.ɵɵpipe(1, "translate");
|
|
68
68
|
} if (rf & 2) {
|
|
69
69
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
70
70
|
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, ctx_r3.localizationKey + "LIMIT", i0.ɵɵpureFunction2(4, _c0, ctx_r3.quotaLeft, ctx_r3.subscriptionUrl)), i0.ɵɵsanitizeHtml);
|
|
71
71
|
} }
|
|
72
|
-
function
|
|
72
|
+
function LLMTextareaWithActionsComponent_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
73
73
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
74
|
-
i0.ɵɵelementStart(0, "button",
|
|
75
|
-
i0.ɵɵlistener("click", function
|
|
74
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
75
|
+
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.cancel()); });
|
|
76
76
|
i0.ɵɵtext(1);
|
|
77
77
|
i0.ɵɵpipe(2, "translate");
|
|
78
78
|
i0.ɵɵelementEnd();
|
|
@@ -81,8 +81,8 @@ function LLMTextareaWithActionsComponent_button_13_Template(rf, ctx) { if (rf &
|
|
|
81
81
|
i0.ɵɵadvance();
|
|
82
82
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r3.localizationKey + "CANCEL"), " ");
|
|
83
83
|
} }
|
|
84
|
-
function
|
|
85
|
-
i0.ɵɵelementStart(0, "button",
|
|
84
|
+
function LLMTextareaWithActionsComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "button", 21);
|
|
86
86
|
i0.ɵɵtext(1);
|
|
87
87
|
i0.ɵɵpipe(2, "translate");
|
|
88
88
|
i0.ɵɵelementEnd();
|
|
@@ -92,7 +92,7 @@ function LLMTextareaWithActionsComponent_ng_template_14_Template(rf, ctx) { if (
|
|
|
92
92
|
i0.ɵɵadvance();
|
|
93
93
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, ctx_r3.localizationKey + "CLOSE"), " ");
|
|
94
94
|
} }
|
|
95
|
-
function
|
|
95
|
+
function LLMTextareaWithActionsComponent_span_16_Template(rf, ctx) { if (rf & 1) {
|
|
96
96
|
i0.ɵɵelementStart(0, "span");
|
|
97
97
|
i0.ɵɵtext(1);
|
|
98
98
|
i0.ɵɵpipe(2, "translate");
|
|
@@ -102,15 +102,15 @@ function LLMTextareaWithActionsComponent_span_17_Template(rf, ctx) { if (rf & 1)
|
|
|
102
102
|
i0.ɵɵadvance();
|
|
103
103
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, !ctx_r3.isSummarized ? "LLM.SUMMARY_MODAL.ACTION" : "LLM.SUMMARY_MODAL.REGENERATE"), " ");
|
|
104
104
|
} }
|
|
105
|
-
function
|
|
105
|
+
function LLMTextareaWithActionsComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
|
|
106
106
|
i0.ɵɵtext(0);
|
|
107
107
|
i0.ɵɵpipe(1, "translate");
|
|
108
108
|
} if (rf & 2) {
|
|
109
109
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
110
110
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, ctx_r3.localizationKey + "ACTION"), " ");
|
|
111
111
|
} }
|
|
112
|
-
function
|
|
113
|
-
i0.ɵɵelement(0, "mat-spinner",
|
|
112
|
+
function LLMTextareaWithActionsComponent_mat_spinner_19_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵelement(0, "mat-spinner", 22);
|
|
114
114
|
} if (rf & 2) {
|
|
115
115
|
i0.ɵɵproperty("diameter", 20);
|
|
116
116
|
} }
|
|
@@ -277,35 +277,34 @@ export class LLMTextareaWithActionsComponent {
|
|
|
277
277
|
};
|
|
278
278
|
}
|
|
279
279
|
static { this.ɵfac = function LLMTextareaWithActionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMTextareaWithActionsComponent)(i0.ɵɵdirectiveInject(i1.LLMService), i0.ɵɵdirectiveInject(i2.LLMHelperService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
|
|
280
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls:
|
|
280
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls: 20, vars: 22, consts: [["closeButton", ""], ["rephraseAction", ""], ["mat-dialog-title", ""], ["mat-dialog-content", ""], [3, "innerHTML"], [3, "message", "closeClicked", 4, "ngFor", "ngForOf"], ["color", "accent", "class", "w-full llm-writing-style-select", "appearance", "outline", 4, "ngIf"], [3, "textEditEvent", "copyEvent", "dislikeEvent", "text", "disabled", "actionButtonsDisabled"], ["mat-dialog-actions", "", 1, "llm-actions-wrapper"], ["class", "quota-left-message", 3, "innerHTML", 4, "ngIf"], [1, "llm-actions"], ["mat-button", "", "color", "accent", 3, "click", 4, "ngIf", "ngIfElse"], ["mat-flat-button", "", "color", "accent", 3, "click", "disabled"], [4, "ngIf", "ngIfElse"], ["color", "primary-accent-darker", 3, "diameter", 4, "ngIf"], [3, "closeClicked", "message"], ["color", "accent", "appearance", "outline", 1, "w-full", "llm-writing-style-select"], [3, "ngModelChange", "disabled", "ngModel"], [3, "value"], [1, "quota-left-message", 3, "innerHTML"], ["mat-button", "", "color", "accent", 3, "click"], ["mat-button", "", "color", "accent", 3, "mat-dialog-close"], ["color", "primary-accent-darker", 3, "diameter"]], template: function LLMTextareaWithActionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
281
281
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
282
282
|
i0.ɵɵelementStart(0, "h1", 2);
|
|
283
283
|
i0.ɵɵtext(1);
|
|
284
284
|
i0.ɵɵpipe(2, "translate");
|
|
285
285
|
i0.ɵɵelementEnd();
|
|
286
|
-
i0.ɵɵelementStart(3, "div", 3)
|
|
287
|
-
i0.ɵɵ
|
|
288
|
-
i0.ɵɵpipe(
|
|
289
|
-
i0.ɵɵ
|
|
290
|
-
i0.ɵɵ
|
|
291
|
-
i0.ɵɵ
|
|
292
|
-
i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
|
|
286
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
287
|
+
i0.ɵɵelement(4, "p", 4);
|
|
288
|
+
i0.ɵɵpipe(5, "translate");
|
|
289
|
+
i0.ɵɵtemplate(6, LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template, 1, 1, "lib-tld-notification-message", 5)(7, LLMTextareaWithActionsComponent_mat_form_field_7_Template, 7, 5, "mat-form-field", 6);
|
|
290
|
+
i0.ɵɵelementStart(8, "lib-llm-textarea", 7);
|
|
291
|
+
i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
|
|
293
292
|
i0.ɵɵelementEnd()();
|
|
294
|
-
i0.ɵɵelementStart(
|
|
295
|
-
i0.ɵɵtemplate(
|
|
296
|
-
i0.ɵɵelementStart(
|
|
297
|
-
i0.ɵɵtemplate(
|
|
298
|
-
i0.ɵɵelementStart(
|
|
299
|
-
i0.ɵɵlistener("click", function
|
|
300
|
-
i0.ɵɵtemplate(
|
|
293
|
+
i0.ɵɵelementStart(9, "div", 8);
|
|
294
|
+
i0.ɵɵtemplate(10, LLMTextareaWithActionsComponent_div_10_Template, 2, 7, "div", 9);
|
|
295
|
+
i0.ɵɵelementStart(11, "div", 10);
|
|
296
|
+
i0.ɵɵtemplate(12, LLMTextareaWithActionsComponent_button_12_Template, 3, 3, "button", 11)(13, LLMTextareaWithActionsComponent_ng_template_13_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
297
|
+
i0.ɵɵelementStart(15, "button", 12);
|
|
298
|
+
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.getEditedText()); });
|
|
299
|
+
i0.ɵɵtemplate(16, LLMTextareaWithActionsComponent_span_16_Template, 3, 3, "span", 13)(17, LLMTextareaWithActionsComponent_ng_template_17_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(19, LLMTextareaWithActionsComponent_mat_spinner_19_Template, 1, 1, "mat-spinner", 14);
|
|
301
300
|
i0.ɵɵelementEnd()()();
|
|
302
301
|
} if (rf & 2) {
|
|
303
|
-
const closeButton_r8 = i0.ɵɵreference(
|
|
304
|
-
const rephraseAction_r9 = i0.ɵɵreference(
|
|
302
|
+
const closeButton_r8 = i0.ɵɵreference(14);
|
|
303
|
+
const rephraseAction_r9 = i0.ɵɵreference(18);
|
|
305
304
|
i0.ɵɵadvance();
|
|
306
305
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 18, ctx.localizationKey + "TITLE"));
|
|
307
|
-
i0.ɵɵadvance(
|
|
308
|
-
i0.ɵɵ
|
|
306
|
+
i0.ɵɵadvance(3);
|
|
307
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 20, ctx.localizationKey + "DESCRIPTION"), i0.ɵɵsanitizeHtml);
|
|
309
308
|
i0.ɵɵadvance(2);
|
|
310
309
|
i0.ɵɵproperty("ngForOf", ctx.messages);
|
|
311
310
|
i0.ɵɵadvance();
|
|
@@ -329,10 +328,10 @@ export class LLMTextareaWithActionsComponent {
|
|
|
329
328
|
}
|
|
330
329
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMTextareaWithActionsComponent, [{
|
|
331
330
|
type: Component,
|
|
332
|
-
args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p
|
|
331
|
+
args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p [innerHTML]=\"localizationKey + 'DESCRIPTION' | translate\"></p>\r\n\r\n <lib-tld-notification-message *ngFor=\"let message of messages\" [message]=\"message\" (closeClicked)=\"closeMessage(message)\"></lib-tld-notification-message>\r\n\r\n <mat-form-field *ngIf=\"showUseCase\" color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.USE_CASES_LABEL' | translate }}</mat-label>\r\n <mat-select [disabled]=\"isLoading\" [(ngModel)]=\"selectedUseCase\">\r\n @for (useCase of useCases; track $index) {\r\n\r\n <mat-option [value]=\"useCase\">\r\n {{ 'LLM.USE_CASE.' + (useCase | uppercase) | translate }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n\r\n <lib-llm-textarea [class.rephrase]=\"llmActionType === llmActions.REPHRASE\" [text]=\"editedText !== '' ? editedText : initialText\" [disabled]=\"isLoading || !quotaLeft\" [actionButtonsDisabled]=\"!isEdited\" (textEditEvent)=\"textEditEvent($event)\" (copyEvent)=\"copyPlausibleEvent()\" (dislikeEvent)=\"dislikePlausibleEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"remainingQuotaMessageVisible\" class=\"quota-left-message\" [innerHTML]=\"localizationKey + 'LIMIT' | translate: { limit: quotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!remainingQuotaMessageVisible\" class=\"llm-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ localizationKey + \"CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ localizationKey + \"CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n\r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"getEditedText()\"\r\n [disabled]=\"isDisabled\"\r\n >\r\n <span *ngIf=\"llmActionType === llmActions.SUMMARY; else rephraseAction\">\r\n {{\r\n (!isSummarized\r\n ? \"LLM.SUMMARY_MODAL.ACTION\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </span>\r\n\r\n <ng-template #rephraseAction>\r\n {{ localizationKey + \"ACTION\" | translate }}\r\n </ng-template>\r\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"20\" color=\"primary-accent-darker\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{margin:0 2.25rem 0 0!important;font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}:host ::ng-deep .text-container{margin-right:0!important}:host ::ng-deep tld-close-button{top:1px!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}:host ::ng-deep .llm-textarea{min-height:240px!important}:host ::ng-deep .rephrase .llm-textarea{min-height:100px!important}:host ::ng-deep .desktop .llm-textarea{min-height:460px!important}:host ::ng-deep .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions{display:flex;justify-content:end}.w-full{width:100%}:host ::ng-deep .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner{margin-left:.5rem}.quota-left-message{margin-bottom:12px}\n"] }]
|
|
333
332
|
}], () => [{ type: i1.LLMService }, { type: i2.LLMHelperService }, { type: undefined, decorators: [{
|
|
334
333
|
type: Inject,
|
|
335
334
|
args: [MAT_DIALOG_DATA]
|
|
336
335
|
}] }], null); })();
|
|
337
336
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMTextareaWithActionsComponent, { className: "LLMTextareaWithActionsComponent", filePath: "lib\\llm\\components\\llm-textarea-with-actions\\llm-textarea-with-actions.component.ts", lineNumber: 20 }); })();
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUHBFLHdEQUEwSDtJQUF2QyxxUkFBZ0IsK0JBQXFCLEtBQUM7SUFBQyxpQkFBK0I7OztJQUExRixvQ0FBbUI7OztJQU81RSxzQ0FBOEI7SUFDNUIsWUFDRjs7O0lBQUEsaUJBQWE7OztJQUZELGtDQUFpQjtJQUMzQixjQUNGO0lBREUseUdBQ0Y7Ozs7SUFOSixBQURGLDBDQUFnSCxnQkFDbkc7SUFBQSxZQUF1Qzs7SUFBQSxpQkFBWTtJQUM5RCxzQ0FBaUU7SUFBOUIsNlVBQTZCO0lBQzlELDBJQUtDO0lBRUwsQUFERSxpQkFBYSxFQUNFOzs7SUFUSixlQUF1QztJQUF2QyxpRUFBdUM7SUFDdEMsZUFBc0I7SUFBdEIsMkNBQXNCO0lBQUMsc0RBQTZCO0lBQzlELGNBS0M7SUFMRCw4QkFLQzs7O0lBU0wsMEJBQXVMOzs7O0lBQWxILDJLQUEyRzs7OztJQUc5SyxrQ0FBeUY7SUFBbkIsK0xBQVMsZUFBUSxLQUFDO0lBQ3RGLFlBQ0Y7O0lBQUEsaUJBQVM7OztJQURQLGNBQ0Y7SUFERSx3RkFDRjs7O0lBR0Usa0NBQTREO0lBQzFELFlBQ0Y7O0lBQUEsaUJBQVM7OztJQUZ5Qix1Q0FBeUI7SUFDekQsY0FDRjtJQURFLHVGQUNGOzs7SUFTQSw0QkFBd0U7SUFDdEUsWUFNRjs7SUFBQSxpQkFBTzs7O0lBTkwsY0FNRjtJQU5FLHlJQU1GOzs7SUFHRSxZQUNGOzs7O0lBREUsd0ZBQ0Y7OztJQUNBLGtDQUEyRjs7SUFBNUQsNkJBQWU7O0FEbkNwRCxNQUFNLE9BQU8sK0JBQStCO0lBb0MxQyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixnQkFBa0MsRUFDVCxJQUFhO1FBRnRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNULFNBQUksR0FBSixJQUFJLENBQVM7UUFsQ3pELHlCQUFvQixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFVL0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFNaEIscUJBQWdCLEdBQStDLEVBQUUsQ0FBQztRQUVqRSxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQStDLEVBQUUsQ0FBQztRQUVqRCxhQUFRLEdBQTBCLEVBQUUsQ0FBQztRQUU5QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQVVoQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUF5QixDQUFDO1lBQ3pHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO2FBQ0ksSUFBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQXdCLENBQUM7WUFDdEcsSUFBSSxDQUFDLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQXdCO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVyRyxJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBc0I7UUFDNUMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1SCxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFaEgsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQzdCLHdCQUF3QixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5RixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdEksQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQXdCLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLElBQUksQ0FBQyxhQUFhLFNBQVMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7WUFDOUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1lBRTFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4SSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7WUFDN0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQWtCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM3RSxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxJQUFJLEdBQ04sSUFBSSxDQUFDLGtCQUFrQixLQUFLLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsYUFBYSxLQUFLLFVBQVUsQ0FBQyxRQUFRO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFxQyxFQUFFLENBQUM7WUFDL0osQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFvQyxFQUFFLENBQUMsQ0FBQztRQUVsSSxPQUFPLE1BQU07YUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzlDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTztZQUNMLElBQUksRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixDQUFDO2dCQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQXdCLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ2hHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUMvQyxPQUFPO2dCQUNULENBQUM7Z0JBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDL0MsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO2dJQS9OVSwrQkFBK0IsdUdBMkNoQyxlQUFlO29FQTNDZCwrQkFBK0I7O1lDbkI1Qyw2QkFBcUI7WUFBQSxZQUEyQzs7WUFBQSxpQkFBSztZQUVuRSxBQURGLDhCQUF3QixRQUNuQjtZQUFBLFlBQWlEOztZQUFBLGlCQUFJO1lBSXhELEFBRkEsa0lBQTBILHlGQUVWO1lBY2hILDJDQUE4VDtZQUF6QyxBQUFuQyxBQUF4QyxrTEFBaUIseUJBQXFCLEtBQUMsdUpBQWMsd0JBQW9CLEtBQUMsNkpBQWlCLDJCQUF1QixLQUFDO1lBQy9ULEFBRGdVLGlCQUFtQixFQUM3VTtZQUNOLCtCQUFvRDtZQUNsRCxrRkFBaUw7WUFFakwsK0JBQXdFO1lBS3RFLEFBSkEseUZBQXlGLHNIQUkvRDtZQU0xQixtQ0FLQztZQUZDLG1KQUFTLG1CQUFlLEtBQUM7WUFlekIsQUFIQSxBQVRBLHFGQUF3RSxzSEFTM0Msc0ZBR2dEO1lBR25GLEFBREUsQUFERSxpQkFBUyxFQUNMLEVBQ0Y7Ozs7WUF6RGUsY0FBMkM7WUFBM0MsMEVBQTJDO1lBRTNELGVBQWlEO1lBQWpELGdGQUFpRDtZQUVGLGVBQVc7WUFBWCxzQ0FBVztZQUU1QyxjQUFpQjtZQUFqQixzQ0FBaUI7WUFjaEIsY0FBd0Q7WUFBeEQseUVBQXdEO1lBQTRGLEFBQXJDLEFBQXRELCtFQUFxRCw2Q0FBcUMsd0NBQW9DO1lBR25NLGVBQWtDO1lBQWxDLHVEQUFrQztZQUVuQyxjQUE4QztZQUE5QywyREFBOEM7WUFDeEMsY0FBaUI7WUFBQSxBQUFqQixvQ0FBaUIsNEJBQWdCO1lBY3hDLGVBQXVCO1lBQXZCLHlDQUF1QjtZQUVoQixjQUE0QztZQUFBLEFBQTVDLG1FQUE0QywrQkFBbUI7WUFZeEQsZUFBZTtZQUFmLG9DQUFlOzs7aUZEbkN0QiwrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSwrQkFBK0I7O3NCQStDdEMsTUFBTTt1QkFBQyxlQUFlOztrRkEzQ2QsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTExNUmVwaHJhc2VVc2VDYXNlLCBMTE1TZXJ2aWNlLCBMTE1TdW1tYXJ5VXNlQ2FzZSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LXNlcnZpY2VzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFUlJPUl9DT0RFUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9ub3RpZmljYXRpb24tbWVzc2FnZSc7XHJcbmltcG9ydCB7IFBsYXVzaWJsZUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3BsYXVzaWJsZSc7XHJcbmltcG9ydCB7IExMTUFjdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLWFjdGlvbnMuZW51bSc7XHJcbmltcG9ydCB7IExMTURhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBMTE1Xcml0aW5nU3R5bGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLXdyaXRpbmctc3R5bGUuZW51bSc7XHJcbmltcG9ydCB7IExMTUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0taGVscGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTExNVGV4dGFyZWFXaXRoQWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcclxuICBpc1N1bW1hcml6ZWQhOiBib29sZWFuO1xyXG4gIGlzRWRpdGVkITogYm9vbGVhbjtcclxuICByZW1haW5pbmdRdW90YU1lc3NhZ2VWaXNpYmxlITogYm9vbGVhbjtcclxuICBxdW90YUxlZnQhOiBudW1iZXI7XHJcbiAgbWF4Q2hhckxlbmd0aCE6IG51bWJlcjtcclxuICBzdWJzY3JpcHRpb25VcmwhOiBzdHJpbmc7XHJcbiAgcHJldmlvdXNXcml0aW5nU3R5bGUhOiBMTE1Xcml0aW5nU3R5bGU7XHJcbiAgc2VsZWN0ZWRXcml0aW5nU3R5bGUgPSBMTE1Xcml0aW5nU3R5bGUuR0VORVJBTDtcclxuXHJcbiAgcmVhY2hlZFF1b3RhTWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcbiAgZXhjZWVkZWRMaW1pdE1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIHJlcXVlc3RUaW1lb3V0TWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcbiAgZGVmYXVsdEVycm9yTWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcblxyXG4gIHN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgaW5pdGlhbFRleHQhOiBzdHJpbmc7XHJcbiAgZWRpdGVkVGV4dCA9ICcnO1xyXG4gIG1hbnVhbGx5RWRpdGVkVGV4dCA9ICcnO1xyXG5cclxuICBsb2NhbGl6YXRpb25LZXkhOiBzdHJpbmc7XHJcbiAgbGxtQWN0aW9uVHlwZSE6IExMTUFjdGlvbnM7XHJcbiAgc2VsZWN0ZWRVc2VDYXNlITogTExNU3VtbWFyeVVzZUNhc2UgfCBMTE1SZXBocmFzZVVzZUNhc2U7XHJcblxyXG4gIHByaXZhdGUgc2F2ZWRSZXBocmFzaW5nczogeyBzdHlsZTogTExNV3JpdGluZ1N0eWxlLCB0ZXh0OiBzdHJpbmcgfVtdID0gW107XHJcblxyXG4gIHJlYWRvbmx5IGxsbUFjdGlvbnMgPSBMTE1BY3Rpb25zO1xyXG4gIHJlYWRvbmx5IHdyaXRpbmdTdHlsZXMgPSBPYmplY3QudmFsdWVzKExMTVdyaXRpbmdTdHlsZSk7XHJcbiAgdXNlQ2FzZXM6IExMTVN1bW1hcnlVc2VDYXNlW10gfCBMTE1SZXBocmFzZVVzZUNhc2VbXSA9IFtdO1xyXG5cclxuICByZWFkb25seSBtZXNzYWdlczogTm90aWZpY2F0aW9uTWVzc2FnZVtdID0gW107XHJcblxyXG4gIHNob3dVc2VDYXNlID0gZmFsc2U7XHJcblxyXG4gIGdldCBpc0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nIHx8ICF0aGlzLmluaXRpYWxUZXh0IHx8IHRoaXMucXVvdGFMZWZ0IDwgMTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1TZXJ2aWNlOiBMTE1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1IZWxwZXJTZXJ2aWNlOiBMTE1IZWxwZXJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgcmVhZG9ubHkgZGF0YTogTExNRGF0YVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsVGV4dCgpO1xyXG4gICAgaWYodGhpcy5sbG1BY3Rpb25UeXBlID09PSBMTE1BY3Rpb25zLlJFUEhSQVNFKSB7XHJcbiAgICAgIHRoaXMudXNlQ2FzZXMgID0gdGhpcy5kYXRhLnJlcGhyYXNlVXNlQ2FzZXMgPz8gT2JqZWN0LnZhbHVlcyhMTE1SZXBocmFzZVVzZUNhc2UpIGFzIExMTVJlcGhyYXNlVXNlQ2FzZVtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlQ2FzZSA9IHRoaXMudXNlQ2FzZXNbMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5TVU1NQVJZKSB7XHJcbiAgICAgIHRoaXMudXNlQ2FzZXMgID0gdGhpcy5kYXRhLnN1bW1hcnlVc2VDYXNlcyA/PyBPYmplY3QudmFsdWVzKExMTVN1bW1hcnlVc2VDYXNlKSBhcyBMTE1TdW1tYXJ5VXNlQ2FzZVtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlQ2FzZSA9IExMTVN1bW1hcnlVc2VDYXNlLkdlbmVyYWw7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93VXNlQ2FzZSA9ICh0aGlzLmxsbUFjdGlvblR5cGU9PT0gIExMTUFjdGlvbnMuUkVQSFJBU0UgJiYgdGhpcy5kYXRhLnNob3dVc2VDYXNlUmVwaHJhc2UpIHx8ICh0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuU1VNTUFSWSAmJiB0aGlzLmRhdGEuc2hvd1VzZUNhc2VTdW1tYXJ5KTtcclxuICB9XHJcblxyXG4gIGNsb3NlTWVzc2FnZShtc2c6IE5vdGlmaWNhdGlvbk1lc3NhZ2UpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tZXNzYWdlcz8uZmluZEluZGV4KChtZXNzYWdlKSA9PiBKU09OLnN0cmluZ2lmeShtZXNzYWdlKSA9PT0gSlNPTi5zdHJpbmdpZnkobXNnKSk7XHJcblxyXG4gICAgaWYgKGluZGV4IHx8IGluZGV4ID09PSAwKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrUmVwaHJhc2VkVGV4dFNhdmVzKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSkge1xyXG4gICAgICB0aGlzLnByZXZpb3VzV3JpdGluZ1N0eWxlID0gdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkV3JpdGluZ1N0eWxlU2F2ZSA9IHRoaXMuc2F2ZWRSZXBocmFzaW5ncy5maW5kKChyZXBocmFzaW5nKSA9PiByZXBocmFzaW5nLnN0eWxlID09PSB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlKTtcclxuICAgIGNvbnN0IHByZXZpb3VzV3JpdGluZ1N0eWxlU2F2ZSA9IHRoaXMuc2F2ZWRSZXBocmFzaW5ncy5maW5kKChzYXZlKSA9PiBzYXZlLnN0eWxlID09PSB0aGlzLnByZXZpb3VzV3JpdGluZ1N0eWxlKTtcclxuXHJcbiAgICBpZiAocHJldmlvdXNXcml0aW5nU3R5bGVTYXZlKSB7XHJcbiAgICAgIHByZXZpb3VzV3JpdGluZ1N0eWxlU2F2ZS50ZXh0ID0gdGhpcy5lZGl0ZWRUZXh0ICE9PSAnJyA/IHRoaXMuZWRpdGVkVGV4dCA6IHRoaXMuaW5pdGlhbFRleHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNhdmVkUmVwaHJhc2luZ3MucHVzaCh7IHN0eWxlOiB0aGlzLnByZXZpb3VzV3JpdGluZ1N0eWxlLCB0ZXh0OiB0aGlzLmVkaXRlZFRleHQgIT09ICcnID8gdGhpcy5lZGl0ZWRUZXh0IDogdGhpcy5pbml0aWFsVGV4dCB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVkaXRlZFRleHQgPSBzZWxlY3RlZFdyaXRpbmdTdHlsZVNhdmU/LnRleHQgPz8gdGhpcy5pbml0aWFsVGV4dDtcclxuICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gJyc7XHJcblxyXG4gICAgdGhpcy5jaGVja1RleHRMaW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdGVkVGV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5sbG1BY3Rpb25UeXBlID09PSBMTE1BY3Rpb25zLlJFUEhSQVNFKSB7XHJcbiAgICAgIHRoaXMud3JpdGluZ1N0eWxlUGxhdXNpYmxlRXZlbnQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VtbWFyeVBsYXVzaWJsZUV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldFJlcXVlc3QoKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICB0ZXh0RWRpdEV2ZW50KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tYW51YWxseUVkaXRlZFRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5pbml0aWFsVGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLmVkaXRlZFRleHQgPSAnJztcclxuXHJcbiAgICB0aGlzLmNoZWNrVGV4dExpbWl0KCk7XHJcbiAgfVxyXG5cclxuICBjb3B5UGxhdXNpYmxlRXZlbnQoKTogdm9pZCB7XHJcbiAgICBQbGF1c2libGVIZWxwZXIuY3VzdG9tRXZlbnQodGhpcy5sbG1BY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCksIHsgYWN0aW9uOiAnY29weScgfSk7XHJcbiAgfVxyXG5cclxuICBkaXNsaWtlUGxhdXNpYmxlRXZlbnQoKTogdm9pZCB7XHJcbiAgICBQbGF1c2libGVIZWxwZXIuY3VzdG9tRXZlbnQodGhpcy5sbG1BY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCksIHsgYWN0aW9uOiAnZGlzbGlrZScgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEluaXRpYWxUZXh0KCkge1xyXG4gICAgdGhpcy5kYXRhLnRleHQuc3Vic2NyaWJlKCh0ZXh0KSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbFRleHQgPSB0ZXh0O1xyXG4gICAgICB0aGlzLmxsbUFjdGlvblR5cGUgPSB0aGlzLmRhdGEuYWN0aW9uO1xyXG4gICAgICB0aGlzLmxvY2FsaXphdGlvbktleSA9IGBMTE0uJHt0aGlzLmxsbUFjdGlvblR5cGV9X01PREFMLmBcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25VcmwgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5zdWJzY3JpcHRpb25Vcmw7XHJcbiAgICAgIHRoaXMubWF4Q2hhckxlbmd0aCA9IHRoaXMubGxtSGVscGVyU2VydmljZS5sbG1Db25maWd1cmF0aW9uLm1heENoYXJMZW5ndGg7XHJcblxyXG4gICAgICB0aGlzLnJlZnJlc2hRdW90YSgpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tUZXh0TGltaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsaW1pdCA9IHRoaXMubWF4Q2hhckxlbmd0aDtcclxuICAgIGNvbnN0IHRleHRzID0gW3RoaXMuaW5pdGlhbFRleHQsIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0LCB0aGlzLmVkaXRlZFRleHRdO1xyXG4gICAgY29uc3QgbG9uZ2VzdFRleHQgPSB0aGlzLmVkaXRlZFRleHQgJiYgIXRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID8gdGhpcy5lZGl0ZWRUZXh0IDogdGV4dHMucmVkdWNlKChhLCBiKSA9PiBhLmxlbmd0aCA+IGIubGVuZ3RoID8gYSA6IGIpO1xyXG5cclxuICAgIGlmIChsb25nZXN0VGV4dC5sZW5ndGggPiBsaW1pdCkge1xyXG4gICAgICBpZiAodGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmV4Y2VlZGVkTGltaXRNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldEV4Y2VlZGVkTGltaXRNZXNzYWdlKGxvbmdlc3RUZXh0Lmxlbmd0aCk7XHJcbiAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh0aGlzLmV4Y2VlZGVkTGltaXRNZXNzYWdlKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbG9zZU1lc3NhZ2UodGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdyaXRpbmdTdHlsZVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IHdyaXRpbmdTdHlsZTogdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VtbWFyeVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ3N1bW1hcnknIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVtYWluaW5nUXVvdGEoZGVjcmVhc2UpLnN1YnNjcmliZSgocmVtYWluaW5nUXVvdGEpID0+IHtcclxuICAgICAgdGhpcy5xdW90YUxlZnQgPSByZW1haW5pbmdRdW90YTtcclxuICAgICAgdGhpcy5zZXRRdW90YU1lc3NhZ2UoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1b3RhTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnF1b3RhTGVmdCA8PSB0aGlzLmxsbUhlbHBlclNlcnZpY2UudHJpYWxSZXF1ZXN0Q291bnQpIHtcclxuICAgICAgdGhpcy5yZW1haW5pbmdRdW90YU1lc3NhZ2VWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5xdW90YUxlZnQgPCAxKSB7XHJcbiAgICAgIHRoaXMucmVhY2hlZFF1b3RhTWVzc2FnZSA9IHRoaXMubGxtSGVscGVyU2VydmljZS5nZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk7XHJcbiAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh0aGlzLnJlYWNoZWRRdW90YU1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0KCk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICBsZXQgdGV4dCA9XHJcbiAgICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ICE9PSAnJ1xyXG4gICAgICAgID8gdGhpcy5tYW51YWxseUVkaXRlZFRleHRcclxuICAgICAgICA6IHRoaXMuaW5pdGlhbFRleHQ7XHJcblxyXG4gICAgaWYgKHRleHQubGVuZ3RoID4gdGhpcy5tYXhDaGFyTGVuZ3RoKSB7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0aGlzLm1heENoYXJMZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1ldGhvZCA9XHJcbiAgICAgIHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRVxyXG4gICAgICAgID8gdGhpcy5sbG1TZXJ2aWNlLnJlcGhyYXNlKHsgdGV4dDogdGV4dCwgbGFuZ3VhZ2U6IHRoaXMuZGF0YS5sYW5ndWFnZSwgc3R5bGU6IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUsIHVzZUNhc2U6IHRoaXMuc2VsZWN0ZWRVc2VDYXNlIGFzIExMTVJlcGhyYXNlVXNlQ2FzZSB9KVxyXG4gICAgICAgIDogdGhpcy5sbG1TZXJ2aWNlLnN1bW1hcml6ZSh7IHRleHQ6IHRleHQsIGxhbmd1YWdlOiB0aGlzLmRhdGEubGFuZ3VhZ2UsIHVzZUNhc2U6IHRoaXMuc2VsZWN0ZWRVc2VDYXNlIGFzIExMTVN1bW1hcnlVc2VDYXNlIH0pO1xyXG5cclxuICAgIHJldHVybiBtZXRob2RcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSh0aGlzLmdldFJlcXVlc3RDYWxsYmFjaygpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVxdWVzdENhbGxiYWNrKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5sbG1BY3Rpb25UeXBlID09PSB0aGlzLmxsbUFjdGlvbnMuU1VNTUFSWSkge1xyXG4gICAgICAgICAgdGhpcy5pc1N1bW1hcml6ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lZGl0ZWRUZXh0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgdGhpcy5tYW51YWxseUVkaXRlZFRleHQgPSAnJztcclxuICAgICAgICB0aGlzLmRlZmF1bHRFcnJvck1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0RGVmYXVsdEVycm9yTWVzc2FnZSgpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMuZGVmYXVsdEVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZU1lc3NhZ2UodGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuaXNFZGl0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFF1b3RhKHRydWUpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tUZXh0TGltaXQoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSBFUlJPUl9DT0RFUy5USU1FT1VUKSB7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RUaW1lb3V0TWVzc2FnZSA9IHRoaXMubGxtSGVscGVyU2VydmljZS5nZXRSZXF1ZXN0VGltZW91dE1lc3NhZ2UodGhpcy5sbG1BY3Rpb25UeXBlKTtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh0aGlzLnJlcXVlc3RUaW1lb3V0TWVzc2FnZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5kZWZhdWx0RXJyb3JNZXNzYWdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57eyBsb2NhbGl6YXRpb25LZXkgKyBcIlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cD57eyBsb2NhbGl6YXRpb25LZXkgKyBcIkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzXCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiIChjbG9zZUNsaWNrZWQpPVwiY2xvc2VNZXNzYWdlKG1lc3NhZ2UpXCI+PC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG5cclxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJzaG93VXNlQ2FzZVwiIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJ3LWZ1bGwgbGxtLXdyaXRpbmctc3R5bGUtc2VsZWN0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgIDxtYXQtbGFiZWw+e3sgJ0xMTS5VU0VfQ0FTRVNfTEFCRUwnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFVzZUNhc2VcIj5cclxuICAgICAgQGZvciAodXNlQ2FzZSBvZiB1c2VDYXNlczsgdHJhY2sgJGluZGV4KSB7XHJcblxyXG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ1c2VDYXNlXCI+XHJcbiAgICAgICAgICB7eyAnTExNLlVTRV9DQVNFLicgKyAodXNlQ2FzZSB8IHVwcGVyY2FzZSkgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHJcblxyXG4gIDxsaWItbGxtLXRleHRhcmVhIFtjbGFzcy5yZXBocmFzZV09XCJsbG1BY3Rpb25UeXBlID09PSBsbG1BY3Rpb25zLlJFUEhSQVNFXCIgW3RleHRdPVwiZWRpdGVkVGV4dCAhPT0gJycgPyBlZGl0ZWRUZXh0IDogaW5pdGlhbFRleHRcIiBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICFxdW90YUxlZnRcIiBbYWN0aW9uQnV0dG9uc0Rpc2FibGVkXT1cIiFpc0VkaXRlZFwiICh0ZXh0RWRpdEV2ZW50KT1cInRleHRFZGl0RXZlbnQoJGV2ZW50KVwiIChjb3B5RXZlbnQpPVwiY29weVBsYXVzaWJsZUV2ZW50KClcIiAoZGlzbGlrZUV2ZW50KT1cImRpc2xpa2VQbGF1c2libGVFdmVudCgpXCI+PC9saWItbGxtLXRleHRhcmVhPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImxsbS1hY3Rpb25zLXdyYXBwZXJcIiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiAqbmdJZj1cInJlbWFpbmluZ1F1b3RhTWVzc2FnZVZpc2libGVcIiBjbGFzcz1cInF1b3RhLWxlZnQtbWVzc2FnZVwiIFtpbm5lckhUTUxdPVwibG9jYWxpemF0aW9uS2V5ICsgJ0xJTUlUJyB8IHRyYW5zbGF0ZTogeyBsaW1pdDogcXVvdGFMZWZ0LCBzdWJzY3JpcHRpb25Vcmw6IHN1YnNjcmlwdGlvblVybCB9XCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgW2NsYXNzLnctZnVsbF09XCIhcmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZVwiIGNsYXNzPVwibGxtLWFjdGlvbnNcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpc0xvYWRpbmc7IGVsc2UgY2xvc2VCdXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IGxvY2FsaXphdGlvbktleSArIFwiQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cImdldEVkaXRlZFRleHQoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJsbG1BY3Rpb25UeXBlID09PSBsbG1BY3Rpb25zLlNVTU1BUlk7IGVsc2UgcmVwaHJhc2VBY3Rpb25cIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgKCFpc1N1bW1hcml6ZWRcclxuICAgICAgICAgICAgPyBcIkxMTS5TVU1NQVJZX01PREFMLkFDVElPTlwiXHJcbiAgICAgICAgICAgIDogXCJMTE0uU1VNTUFSWV9NT0RBTC5SRUdFTkVSQVRFXCJcclxuICAgICAgICAgICkgfCB0cmFuc2xhdGVcclxuICAgICAgICB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlcGhyYXNlQWN0aW9uPlxyXG4gICAgICAgIHt7IGxvY2FsaXphdGlvbktleSArIFwiQUNUSU9OXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgW2RpYW1ldGVyXT1cIjIwXCIgY29sb3I9XCJwcmltYXJ5LWFjY2VudC1kYXJrZXJcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUHBFLHdEQUEwSDtJQUF2QyxxUkFBZ0IsK0JBQXFCLEtBQUM7SUFBQyxpQkFBK0I7OztJQUExRixvQ0FBbUI7OztJQU81RSxzQ0FBOEI7SUFDNUIsWUFDRjs7O0lBQUEsaUJBQWE7OztJQUZELGtDQUFpQjtJQUMzQixjQUNGO0lBREUseUdBQ0Y7Ozs7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QUE1QyxtRUFBNEMsK0JBQW1CO1lBWXhELGVBQWU7WUFBZixvQ0FBZTs7O2lGRG5DdEIsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsK0JBQStCOztzQkErQ3RDLE1BQU07dUJBQUMsZUFBZTs7a0ZBM0NkLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IExMTVJlcGhyYXNlVXNlQ2FzZSwgTExNU2VydmljZSwgTExNU3VtbWFyeVVzZUNhc2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ERVMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBQbGF1c2libGVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9wbGF1c2libGUnO1xyXG5pbXBvcnQgeyBMTE1BY3Rpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1hY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgTExNV3JpdGluZ1N0eWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS13cml0aW5nLXN0eWxlLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGxtLWhlbHBlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgaXNTdW1tYXJpemVkITogYm9vbGVhbjtcclxuICBpc0VkaXRlZCE6IGJvb2xlYW47XHJcbiAgcmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgcXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIG1heENoYXJMZW5ndGghOiBudW1iZXI7XHJcbiAgc3Vic2NyaXB0aW9uVXJsITogc3RyaW5nO1xyXG4gIHByZXZpb3VzV3JpdGluZ1N0eWxlITogTExNV3JpdGluZ1N0eWxlO1xyXG4gIHNlbGVjdGVkV3JpdGluZ1N0eWxlID0gTExNV3JpdGluZ1N0eWxlLkdFTkVSQUw7XHJcblxyXG4gIHJlYWNoZWRRdW90YU1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGV4Y2VlZGVkTGltaXRNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuICByZXF1ZXN0VGltZW91dE1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGRlZmF1bHRFcnJvck1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG5cclxuICBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGluaXRpYWxUZXh0ITogc3RyaW5nO1xyXG4gIGVkaXRlZFRleHQgPSAnJztcclxuICBtYW51YWxseUVkaXRlZFRleHQgPSAnJztcclxuXHJcbiAgbG9jYWxpemF0aW9uS2V5ITogc3RyaW5nO1xyXG4gIGxsbUFjdGlvblR5cGUhOiBMTE1BY3Rpb25zO1xyXG4gIHNlbGVjdGVkVXNlQ2FzZSE6IExMTVN1bW1hcnlVc2VDYXNlIHwgTExNUmVwaHJhc2VVc2VDYXNlO1xyXG5cclxuICBwcml2YXRlIHNhdmVkUmVwaHJhc2luZ3M6IHsgc3R5bGU6IExMTVdyaXRpbmdTdHlsZSwgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICByZWFkb25seSBsbG1BY3Rpb25zID0gTExNQWN0aW9ucztcclxuICByZWFkb25seSB3cml0aW5nU3R5bGVzID0gT2JqZWN0LnZhbHVlcyhMTE1Xcml0aW5nU3R5bGUpO1xyXG4gIHVzZUNhc2VzOiBMTE1TdW1tYXJ5VXNlQ2FzZVtdIHwgTExNUmVwaHJhc2VVc2VDYXNlW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBzaG93VXNlQ2FzZSA9IGZhbHNlO1xyXG5cclxuICBnZXQgaXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyB8fCAhdGhpcy5pbml0aWFsVGV4dCB8fCB0aGlzLnF1b3RhTGVmdCA8IDE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtSGVscGVyU2VydmljZTogTExNSGVscGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IExMTURhdGFcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFRleHQoKTtcclxuICAgIGlmKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5yZXBocmFzZVVzZUNhc2VzID8/IE9iamVjdC52YWx1ZXMoTExNUmVwaHJhc2VVc2VDYXNlKSBhcyBMTE1SZXBocmFzZVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSB0aGlzLnVzZUNhc2VzWzBdO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuU1VNTUFSWSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5zdW1tYXJ5VXNlQ2FzZXMgPz8gT2JqZWN0LnZhbHVlcyhMTE1TdW1tYXJ5VXNlQ2FzZSkgYXMgTExNU3VtbWFyeVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSBMTE1TdW1tYXJ5VXNlQ2FzZS5HZW5lcmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd1VzZUNhc2UgPSAodGhpcy5sbG1BY3Rpb25UeXBlPT09ICBMTE1BY3Rpb25zLlJFUEhSQVNFICYmIHRoaXMuZGF0YS5zaG93VXNlQ2FzZVJlcGhyYXNlKSB8fCAodGhpcy5sbG1BY3Rpb25UeXBlID09PSBMTE1BY3Rpb25zLlNVTU1BUlkgJiYgdGhpcy5kYXRhLnNob3dVc2VDYXNlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU1lc3NhZ2UobXNnOiBOb3RpZmljYXRpb25NZXNzYWdlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubWVzc2FnZXM/LmZpbmRJbmRleCgobWVzc2FnZSkgPT4gSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkgPT09IEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG5cclxuICAgIGlmIChpbmRleCB8fCBpbmRleCA9PT0gMCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1JlcGhyYXNlZFRleHRTYXZlcyhldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSA9IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZFdyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgocmVwaHJhc2luZykgPT4gcmVwaHJhc2luZy5zdHlsZSA9PT0gdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSk7XHJcbiAgICBjb25zdCBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgoc2F2ZSkgPT4gc2F2ZS5zdHlsZSA9PT0gdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSk7XHJcblxyXG4gICAgaWYgKHByZXZpb3VzV3JpdGluZ1N0eWxlU2F2ZSkge1xyXG4gICAgICBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUudGV4dCA9IHRoaXMuZWRpdGVkVGV4dCAhPT0gJycgPyB0aGlzLmVkaXRlZFRleHQgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlZFJlcGhyYXNpbmdzLnB1c2goeyBzdHlsZTogdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSwgdGV4dDogdGhpcy5lZGl0ZWRUZXh0ICE9PSAnJyA/IHRoaXMuZWRpdGVkVGV4dCA6IHRoaXMuaW5pdGlhbFRleHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gc2VsZWN0ZWRXcml0aW5nU3R5bGVTYXZlPy50ZXh0ID8/IHRoaXMuaW5pdGlhbFRleHQ7XHJcbiAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA9ICcnO1xyXG5cclxuICAgIHRoaXMuY2hlY2tUZXh0TGltaXQoKTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRlZFRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLndyaXRpbmdTdHlsZVBsYXVzaWJsZUV2ZW50KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN1bW1hcnlQbGF1c2libGVFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXRSZXF1ZXN0KCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgdGV4dEVkaXRFdmVudCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuaW5pdGlhbFRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gJyc7XHJcblxyXG4gICAgdGhpcy5jaGVja1RleHRMaW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY29weVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2NvcHknIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzbGlrZVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2Rpc2xpa2UnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsVGV4dCgpIHtcclxuICAgIHRoaXMuZGF0YS50ZXh0LnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRpYWxUZXh0ID0gdGV4dDtcclxuICAgICAgdGhpcy5sbG1BY3Rpb25UeXBlID0gdGhpcy5kYXRhLmFjdGlvbjtcclxuICAgICAgdGhpcy5sb2NhbGl6YXRpb25LZXkgPSBgTExNLiR7dGhpcy5sbG1BY3Rpb25UeXBlfV9NT0RBTC5gXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgICB0aGlzLm1heENoYXJMZW5ndGggPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5tYXhDaGFyTGVuZ3RoO1xyXG5cclxuICAgICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVGV4dExpbWl0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGltaXQgPSB0aGlzLm1heENoYXJMZW5ndGg7XHJcbiAgICBjb25zdCB0ZXh0cyA9IFt0aGlzLmluaXRpYWxUZXh0LCB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCwgdGhpcy5lZGl0ZWRUZXh0XTtcclxuICAgIGNvbnN0IGxvbmdlc3RUZXh0ID0gdGhpcy5lZGl0ZWRUZXh0ICYmICF0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA/IHRoaXMuZWRpdGVkVGV4dCA6IHRleHRzLnJlZHVjZSgoYSwgYikgPT4gYS5sZW5ndGggPiBiLmxlbmd0aCA/IGEgOiBiKTtcclxuXHJcbiAgICBpZiAobG9uZ2VzdFRleHQubGVuZ3RoID4gbGltaXQpIHtcclxuICAgICAgaWYgKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmV4Y2VlZGVkTGltaXRNZXNzYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSA9IHRoaXMubGxtSGVscGVyU2VydmljZS5nZXRFeGNlZWRlZExpbWl0TWVzc2FnZShsb25nZXN0VGV4dC5sZW5ndGgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3cml0aW5nU3R5bGVQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyB3cml0aW5nU3R5bGU6IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1bW1hcnlQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyBhY3Rpb246ICdzdW1tYXJ5JyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFF1b3RhKGRlY3JlYXNlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlbWFpbmluZ1F1b3RhKGRlY3JlYXNlKS5zdWJzY3JpYmUoKHJlbWFpbmluZ1F1b3RhKSA9PiB7XHJcbiAgICAgIHRoaXMucXVvdGFMZWZ0ID0gcmVtYWluaW5nUXVvdGE7XHJcbiAgICAgIHRoaXMuc2V0UXVvdGFNZXNzYWdlKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRRdW90YU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5xdW90YUxlZnQgPD0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLnRyaWFsUmVxdWVzdENvdW50KSB7XHJcbiAgICAgIHRoaXMucmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVvdGFMZWZ0IDwgMSkge1xyXG4gICAgICB0aGlzLnJlYWNoZWRRdW90YU1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVhY2hlZFF1b3RhTWVzc2FnZSgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVxdWVzdCgpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgbGV0IHRleHQgPVxyXG4gICAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCAhPT0gJydcclxuICAgICAgICA/IHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0XHJcbiAgICAgICAgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG5cclxuICAgIGlmICh0ZXh0Lmxlbmd0aCA+IHRoaXMubWF4Q2hhckxlbmd0aCkge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGhpcy5tYXhDaGFyTGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtZXRob2QgPVxyXG4gICAgICB0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuUkVQSFJBU0VcclxuICAgICAgICA/IHRoaXMubGxtU2VydmljZS5yZXBocmFzZSh7IHRleHQ6IHRleHQsIGxhbmd1YWdlOiB0aGlzLmRhdGEubGFuZ3VhZ2UsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1SZXBocmFzZVVzZUNhc2UgfSlcclxuICAgICAgICA6IHRoaXMubGxtU2VydmljZS5zdW1tYXJpemUoeyB0ZXh0OiB0ZXh0LCBsYW5ndWFnZTogdGhpcy5kYXRhLmxhbmd1YWdlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1TdW1tYXJ5VXNlQ2FzZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbWV0aG9kXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5nZXRSZXF1ZXN0Q2FsbGJhY2soKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlcXVlc3RDYWxsYmFjaygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gdGhpcy5sbG1BY3Rpb25zLlNVTU1BUlkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTdW1tYXJpemVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWRpdGVkVGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0RXJyb3JNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldERlZmF1bHRFcnJvck1lc3NhZ2UoKTtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmRlZmF1bHRFcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMucmVxdWVzdFRpbWVvdXRNZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmlzRWRpdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hRdW90YSh0cnVlKTtcclxuICAgICAgICB0aGlzLmNoZWNrVGV4dExpbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gRVJST1JfQ09ERVMuVElNRU9VVCkge1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVxdWVzdFRpbWVvdXRNZXNzYWdlKHRoaXMubGxtQWN0aW9uVHlwZSk7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKHRoaXMuZGVmYXVsdEVycm9yTWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgbG9jYWxpemF0aW9uS2V5ICsgXCJUSVRMRVwiIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgW2lubmVySFRNTF09XCJsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+PC9wPlxyXG5cclxuICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiAoY2xvc2VDbGlja2VkKT1cImNsb3NlTWVzc2FnZShtZXNzYWdlKVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwic2hvd1VzZUNhc2VcIiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwidy1mdWxsIGxsbS13cml0aW5nLXN0eWxlLXNlbGVjdFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8bWF0LWxhYmVsPnt7ICdMTE0uVVNFX0NBU0VTX0xBQkVMJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgW2Rpc2FibGVkXT1cImlzTG9hZGluZ1wiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRVc2VDYXNlXCI+XHJcbiAgICAgIEBmb3IgKHVzZUNhc2Ugb2YgdXNlQ2FzZXM7IHRyYWNrICRpbmRleCkge1xyXG5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidXNlQ2FzZVwiPlxyXG4gICAgICAgICAge3sgJ0xMTS5VU0VfQ0FTRS4nICsgKHVzZUNhc2UgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbY2xhc3MucmVwaHJhc2VdPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5SRVBIUkFTRVwiIFt0ZXh0XT1cImVkaXRlZFRleHQgIT09ICcnID8gZWRpdGVkVGV4dCA6IGluaXRpYWxUZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhcXVvdGFMZWZ0XCIgW2FjdGlvbkJ1dHRvbnNEaXNhYmxlZF09XCIhaXNFZGl0ZWRcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0RWRpdEV2ZW50KCRldmVudClcIiAoY29weUV2ZW50KT1cImNvcHlQbGF1c2libGVFdmVudCgpXCIgKGRpc2xpa2VFdmVudCk9XCJkaXNsaWtlUGxhdXNpYmxlRXZlbnQoKVwiPjwvbGliLWxsbS10ZXh0YXJlYT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsbG0tYWN0aW9ucy13cmFwcGVyXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgKm5nSWY9XCJyZW1haW5pbmdRdW90YU1lc3NhZ2VWaXNpYmxlXCIgY2xhc3M9XCJxdW90YS1sZWZ0LW1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cImxvY2FsaXphdGlvbktleSArICdMSU1JVCcgfCB0cmFuc2xhdGU6IHsgbGltaXQ6IHF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LWZ1bGxdPVwiIXJlbWFpbmluZ1F1b3RhTWVzc2FnZVZpc2libGVcIiBjbGFzcz1cImxsbS1hY3Rpb25zXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGNsb3NlQnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgXCJDTE9TRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJnZXRFZGl0ZWRUZXh0KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5TVU1NQVJZOyBlbHNlIHJlcGhyYXNlQWN0aW9uXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgICghaXNTdW1tYXJpemVkXHJcbiAgICAgICAgICAgID8gXCJMTE0uU1VNTUFSWV9NT0RBTC5BQ1RJT05cIlxyXG4gICAgICAgICAgICA6IFwiTExNLlNVTU1BUllfTU9EQUwuUkVHRU5FUkFURVwiXHJcbiAgICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZXBocmFzZUFjdGlvbj5cclxuICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkFDVElPTlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1wiIFtkaWFtZXRlcl09XCIyMFwiIGNvbG9yPVwicHJpbWFyeS1hY2NlbnQtZGFya2VyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -6940,17 +6940,17 @@ class LLMTextareaComponent {
|
|
|
6940
6940
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMTextareaComponent, { className: "LLMTextareaComponent", filePath: "lib\\llm\\shared\\llm-textarea\\llm-textarea.component.ts", lineNumber: 11 }); })();
|
|
6941
6941
|
|
|
6942
6942
|
const _c0$1 = (a0, a1) => ({ limit: a0, subscriptionUrl: a1 });
|
|
6943
|
-
function
|
|
6943
|
+
function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template(rf, ctx) { if (rf & 1) {
|
|
6944
6944
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
6945
|
-
i0.ɵɵelementStart(0, "lib-tld-notification-message",
|
|
6946
|
-
i0.ɵɵlistener("closeClicked", function
|
|
6945
|
+
i0.ɵɵelementStart(0, "lib-tld-notification-message", 15);
|
|
6946
|
+
i0.ɵɵlistener("closeClicked", function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template_lib_tld_notification_message_closeClicked_0_listener() { const message_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.closeMessage(message_r3)); });
|
|
6947
6947
|
i0.ɵɵelementEnd();
|
|
6948
6948
|
} if (rf & 2) {
|
|
6949
6949
|
const message_r3 = ctx.$implicit;
|
|
6950
6950
|
i0.ɵɵproperty("message", message_r3);
|
|
6951
6951
|
} }
|
|
6952
|
-
function
|
|
6953
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
6952
|
+
function LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
6953
|
+
i0.ɵɵelementStart(0, "mat-option", 18);
|
|
6954
6954
|
i0.ɵɵtext(1);
|
|
6955
6955
|
i0.ɵɵpipe(2, "uppercase");
|
|
6956
6956
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -6961,15 +6961,15 @@ function LLMTextareaWithActionsComponent_mat_form_field_8_For_6_Template(rf, ctx
|
|
|
6961
6961
|
i0.ɵɵadvance();
|
|
6962
6962
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "LLM.USE_CASE." + i0.ɵɵpipeBind1(2, 2, useCase_r6)), " ");
|
|
6963
6963
|
} }
|
|
6964
|
-
function
|
|
6964
|
+
function LLMTextareaWithActionsComponent_mat_form_field_7_Template(rf, ctx) { if (rf & 1) {
|
|
6965
6965
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
6966
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
6966
|
+
i0.ɵɵelementStart(0, "mat-form-field", 16)(1, "mat-label");
|
|
6967
6967
|
i0.ɵɵtext(2);
|
|
6968
6968
|
i0.ɵɵpipe(3, "translate");
|
|
6969
6969
|
i0.ɵɵelementEnd();
|
|
6970
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
6971
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
6972
|
-
i0.ɵɵrepeaterCreate(5,
|
|
6970
|
+
i0.ɵɵelementStart(4, "mat-select", 17);
|
|
6971
|
+
i0.ɵɵtwoWayListener("ngModelChange", function LLMTextareaWithActionsComponent_mat_form_field_7_Template_mat_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.selectedUseCase, $event) || (ctx_r3.selectedUseCase = $event); return i0.ɵɵresetView($event); });
|
|
6972
|
+
i0.ɵɵrepeaterCreate(5, LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template, 4, 6, "mat-option", 18, i0.ɵɵrepeaterTrackByIndex);
|
|
6973
6973
|
i0.ɵɵelementEnd()();
|
|
6974
6974
|
} if (rf & 2) {
|
|
6975
6975
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
@@ -6981,17 +6981,17 @@ function LLMTextareaWithActionsComponent_mat_form_field_8_Template(rf, ctx) { if
|
|
|
6981
6981
|
i0.ɵɵadvance();
|
|
6982
6982
|
i0.ɵɵrepeater(ctx_r3.useCases);
|
|
6983
6983
|
} }
|
|
6984
|
-
function
|
|
6985
|
-
i0.ɵɵelement(0, "div",
|
|
6984
|
+
function LLMTextareaWithActionsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
6985
|
+
i0.ɵɵelement(0, "div", 19);
|
|
6986
6986
|
i0.ɵɵpipe(1, "translate");
|
|
6987
6987
|
} if (rf & 2) {
|
|
6988
6988
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
6989
6989
|
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, ctx_r3.localizationKey + "LIMIT", i0.ɵɵpureFunction2(4, _c0$1, ctx_r3.quotaLeft, ctx_r3.subscriptionUrl)), i0.ɵɵsanitizeHtml);
|
|
6990
6990
|
} }
|
|
6991
|
-
function
|
|
6991
|
+
function LLMTextareaWithActionsComponent_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
6992
6992
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
6993
|
-
i0.ɵɵelementStart(0, "button",
|
|
6994
|
-
i0.ɵɵlistener("click", function
|
|
6993
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
6994
|
+
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.cancel()); });
|
|
6995
6995
|
i0.ɵɵtext(1);
|
|
6996
6996
|
i0.ɵɵpipe(2, "translate");
|
|
6997
6997
|
i0.ɵɵelementEnd();
|
|
@@ -7000,8 +7000,8 @@ function LLMTextareaWithActionsComponent_button_13_Template(rf, ctx) { if (rf &
|
|
|
7000
7000
|
i0.ɵɵadvance();
|
|
7001
7001
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r3.localizationKey + "CANCEL"), " ");
|
|
7002
7002
|
} }
|
|
7003
|
-
function
|
|
7004
|
-
i0.ɵɵelementStart(0, "button",
|
|
7003
|
+
function LLMTextareaWithActionsComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
7004
|
+
i0.ɵɵelementStart(0, "button", 21);
|
|
7005
7005
|
i0.ɵɵtext(1);
|
|
7006
7006
|
i0.ɵɵpipe(2, "translate");
|
|
7007
7007
|
i0.ɵɵelementEnd();
|
|
@@ -7011,7 +7011,7 @@ function LLMTextareaWithActionsComponent_ng_template_14_Template(rf, ctx) { if (
|
|
|
7011
7011
|
i0.ɵɵadvance();
|
|
7012
7012
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, ctx_r3.localizationKey + "CLOSE"), " ");
|
|
7013
7013
|
} }
|
|
7014
|
-
function
|
|
7014
|
+
function LLMTextareaWithActionsComponent_span_16_Template(rf, ctx) { if (rf & 1) {
|
|
7015
7015
|
i0.ɵɵelementStart(0, "span");
|
|
7016
7016
|
i0.ɵɵtext(1);
|
|
7017
7017
|
i0.ɵɵpipe(2, "translate");
|
|
@@ -7021,15 +7021,15 @@ function LLMTextareaWithActionsComponent_span_17_Template(rf, ctx) { if (rf & 1)
|
|
|
7021
7021
|
i0.ɵɵadvance();
|
|
7022
7022
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, !ctx_r3.isSummarized ? "LLM.SUMMARY_MODAL.ACTION" : "LLM.SUMMARY_MODAL.REGENERATE"), " ");
|
|
7023
7023
|
} }
|
|
7024
|
-
function
|
|
7024
|
+
function LLMTextareaWithActionsComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
|
|
7025
7025
|
i0.ɵɵtext(0);
|
|
7026
7026
|
i0.ɵɵpipe(1, "translate");
|
|
7027
7027
|
} if (rf & 2) {
|
|
7028
7028
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
7029
7029
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, ctx_r3.localizationKey + "ACTION"), " ");
|
|
7030
7030
|
} }
|
|
7031
|
-
function
|
|
7032
|
-
i0.ɵɵelement(0, "mat-spinner",
|
|
7031
|
+
function LLMTextareaWithActionsComponent_mat_spinner_19_Template(rf, ctx) { if (rf & 1) {
|
|
7032
|
+
i0.ɵɵelement(0, "mat-spinner", 22);
|
|
7033
7033
|
} if (rf & 2) {
|
|
7034
7034
|
i0.ɵɵproperty("diameter", 20);
|
|
7035
7035
|
} }
|
|
@@ -7196,35 +7196,34 @@ class LLMTextareaWithActionsComponent {
|
|
|
7196
7196
|
};
|
|
7197
7197
|
}
|
|
7198
7198
|
static { this.ɵfac = function LLMTextareaWithActionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMTextareaWithActionsComponent)(i0.ɵɵdirectiveInject(i1$5.LLMService), i0.ɵɵdirectiveInject(LLMHelperService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
|
|
7199
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls:
|
|
7199
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls: 20, vars: 22, consts: [["closeButton", ""], ["rephraseAction", ""], ["mat-dialog-title", ""], ["mat-dialog-content", ""], [3, "innerHTML"], [3, "message", "closeClicked", 4, "ngFor", "ngForOf"], ["color", "accent", "class", "w-full llm-writing-style-select", "appearance", "outline", 4, "ngIf"], [3, "textEditEvent", "copyEvent", "dislikeEvent", "text", "disabled", "actionButtonsDisabled"], ["mat-dialog-actions", "", 1, "llm-actions-wrapper"], ["class", "quota-left-message", 3, "innerHTML", 4, "ngIf"], [1, "llm-actions"], ["mat-button", "", "color", "accent", 3, "click", 4, "ngIf", "ngIfElse"], ["mat-flat-button", "", "color", "accent", 3, "click", "disabled"], [4, "ngIf", "ngIfElse"], ["color", "primary-accent-darker", 3, "diameter", 4, "ngIf"], [3, "closeClicked", "message"], ["color", "accent", "appearance", "outline", 1, "w-full", "llm-writing-style-select"], [3, "ngModelChange", "disabled", "ngModel"], [3, "value"], [1, "quota-left-message", 3, "innerHTML"], ["mat-button", "", "color", "accent", 3, "click"], ["mat-button", "", "color", "accent", 3, "mat-dialog-close"], ["color", "primary-accent-darker", 3, "diameter"]], template: function LLMTextareaWithActionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7200
7200
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
7201
7201
|
i0.ɵɵelementStart(0, "h1", 2);
|
|
7202
7202
|
i0.ɵɵtext(1);
|
|
7203
7203
|
i0.ɵɵpipe(2, "translate");
|
|
7204
7204
|
i0.ɵɵelementEnd();
|
|
7205
|
-
i0.ɵɵelementStart(3, "div", 3)
|
|
7206
|
-
i0.ɵɵ
|
|
7207
|
-
i0.ɵɵpipe(
|
|
7208
|
-
i0.ɵɵ
|
|
7209
|
-
i0.ɵɵ
|
|
7210
|
-
i0.ɵɵ
|
|
7211
|
-
i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_9_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
|
|
7205
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
7206
|
+
i0.ɵɵelement(4, "p", 4);
|
|
7207
|
+
i0.ɵɵpipe(5, "translate");
|
|
7208
|
+
i0.ɵɵtemplate(6, LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template, 1, 1, "lib-tld-notification-message", 5)(7, LLMTextareaWithActionsComponent_mat_form_field_7_Template, 7, 5, "mat-form-field", 6);
|
|
7209
|
+
i0.ɵɵelementStart(8, "lib-llm-textarea", 7);
|
|
7210
|
+
i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
|
|
7212
7211
|
i0.ɵɵelementEnd()();
|
|
7213
|
-
i0.ɵɵelementStart(
|
|
7214
|
-
i0.ɵɵtemplate(
|
|
7215
|
-
i0.ɵɵelementStart(
|
|
7216
|
-
i0.ɵɵtemplate(
|
|
7217
|
-
i0.ɵɵelementStart(
|
|
7218
|
-
i0.ɵɵlistener("click", function
|
|
7219
|
-
i0.ɵɵtemplate(
|
|
7212
|
+
i0.ɵɵelementStart(9, "div", 8);
|
|
7213
|
+
i0.ɵɵtemplate(10, LLMTextareaWithActionsComponent_div_10_Template, 2, 7, "div", 9);
|
|
7214
|
+
i0.ɵɵelementStart(11, "div", 10);
|
|
7215
|
+
i0.ɵɵtemplate(12, LLMTextareaWithActionsComponent_button_12_Template, 3, 3, "button", 11)(13, LLMTextareaWithActionsComponent_ng_template_13_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
7216
|
+
i0.ɵɵelementStart(15, "button", 12);
|
|
7217
|
+
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.getEditedText()); });
|
|
7218
|
+
i0.ɵɵtemplate(16, LLMTextareaWithActionsComponent_span_16_Template, 3, 3, "span", 13)(17, LLMTextareaWithActionsComponent_ng_template_17_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(19, LLMTextareaWithActionsComponent_mat_spinner_19_Template, 1, 1, "mat-spinner", 14);
|
|
7220
7219
|
i0.ɵɵelementEnd()()();
|
|
7221
7220
|
} if (rf & 2) {
|
|
7222
|
-
const closeButton_r8 = i0.ɵɵreference(
|
|
7223
|
-
const rephraseAction_r9 = i0.ɵɵreference(
|
|
7221
|
+
const closeButton_r8 = i0.ɵɵreference(14);
|
|
7222
|
+
const rephraseAction_r9 = i0.ɵɵreference(18);
|
|
7224
7223
|
i0.ɵɵadvance();
|
|
7225
7224
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 18, ctx.localizationKey + "TITLE"));
|
|
7226
|
-
i0.ɵɵadvance(
|
|
7227
|
-
i0.ɵɵ
|
|
7225
|
+
i0.ɵɵadvance(3);
|
|
7226
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 20, ctx.localizationKey + "DESCRIPTION"), i0.ɵɵsanitizeHtml);
|
|
7228
7227
|
i0.ɵɵadvance(2);
|
|
7229
7228
|
i0.ɵɵproperty("ngForOf", ctx.messages);
|
|
7230
7229
|
i0.ɵɵadvance();
|
|
@@ -7248,7 +7247,7 @@ class LLMTextareaWithActionsComponent {
|
|
|
7248
7247
|
}
|
|
7249
7248
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMTextareaWithActionsComponent, [{
|
|
7250
7249
|
type: Component,
|
|
7251
|
-
args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p
|
|
7250
|
+
args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p [innerHTML]=\"localizationKey + 'DESCRIPTION' | translate\"></p>\r\n\r\n <lib-tld-notification-message *ngFor=\"let message of messages\" [message]=\"message\" (closeClicked)=\"closeMessage(message)\"></lib-tld-notification-message>\r\n\r\n <mat-form-field *ngIf=\"showUseCase\" color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.USE_CASES_LABEL' | translate }}</mat-label>\r\n <mat-select [disabled]=\"isLoading\" [(ngModel)]=\"selectedUseCase\">\r\n @for (useCase of useCases; track $index) {\r\n\r\n <mat-option [value]=\"useCase\">\r\n {{ 'LLM.USE_CASE.' + (useCase | uppercase) | translate }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n\r\n <lib-llm-textarea [class.rephrase]=\"llmActionType === llmActions.REPHRASE\" [text]=\"editedText !== '' ? editedText : initialText\" [disabled]=\"isLoading || !quotaLeft\" [actionButtonsDisabled]=\"!isEdited\" (textEditEvent)=\"textEditEvent($event)\" (copyEvent)=\"copyPlausibleEvent()\" (dislikeEvent)=\"dislikePlausibleEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"remainingQuotaMessageVisible\" class=\"quota-left-message\" [innerHTML]=\"localizationKey + 'LIMIT' | translate: { limit: quotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!remainingQuotaMessageVisible\" class=\"llm-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ localizationKey + \"CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ localizationKey + \"CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n\r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"getEditedText()\"\r\n [disabled]=\"isDisabled\"\r\n >\r\n <span *ngIf=\"llmActionType === llmActions.SUMMARY; else rephraseAction\">\r\n {{\r\n (!isSummarized\r\n ? \"LLM.SUMMARY_MODAL.ACTION\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </span>\r\n\r\n <ng-template #rephraseAction>\r\n {{ localizationKey + \"ACTION\" | translate }}\r\n </ng-template>\r\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"20\" color=\"primary-accent-darker\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{margin:0 2.25rem 0 0!important;font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}:host ::ng-deep .text-container{margin-right:0!important}:host ::ng-deep tld-close-button{top:1px!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}:host ::ng-deep .llm-textarea{min-height:240px!important}:host ::ng-deep .rephrase .llm-textarea{min-height:100px!important}:host ::ng-deep .desktop .llm-textarea{min-height:460px!important}:host ::ng-deep .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions{display:flex;justify-content:end}.w-full{width:100%}:host ::ng-deep .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner{margin-left:.5rem}.quota-left-message{margin-bottom:12px}\n"] }]
|
|
7252
7251
|
}], () => [{ type: i1$5.LLMService }, { type: LLMHelperService }, { type: undefined, decorators: [{
|
|
7253
7252
|
type: Inject,
|
|
7254
7253
|
args: [MAT_DIALOG_DATA]
|