survery-lib 0.2.2 → 2.1.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/esm2022/lib/components/question-boolean-template/question-boolean-template.component.mjs +17 -17
- package/esm2022/lib/components/question-cascade-template/question-cascade-template.component.mjs +9 -9
- package/esm2022/lib/components/question-check-box-template/question-check-box-template.component.mjs +18 -18
- package/esm2022/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.mjs +16 -17
- package/esm2022/lib/components/question-dropdown-template/question-dropdown-template.component.mjs +13 -14
- package/esm2022/lib/components/question-feedback-template/question-feedback-template.component.mjs +129 -0
- package/esm2022/lib/components/question-matrix-template/question-matrix-template.component.mjs +13 -14
- package/esm2022/lib/components/question-radio-button-template/question-radio-button-template.component.mjs +17 -17
- package/esm2022/lib/components/question-text-template/question-text-template.component.mjs +18 -19
- package/esm2022/lib/pipes/find-question.pipe.mjs +1 -1
- package/esm2022/lib/services/survey-lib.service.mjs +34 -21
- package/esm2022/lib/survery-lib.component.mjs +5 -4
- package/esm2022/lib/survery-lib.module.mjs +12 -8
- package/esm2022/lib/usecases/check-rule-exps.usecase.mjs +3 -3
- package/esm2022/shared/dtos/survey-answer.dto.mjs +1 -1
- package/esm2022/shared/enums/evaluation-type.enum.mjs +6 -0
- package/esm2022/shared/enums/input-type.enum.mjs +3 -1
- package/esm2022/shared/enums/question-type.enum.mjs +2 -1
- package/esm2022/shared/form-interfaces/question-boolean-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-cascade.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-check-box-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-dropdown-multi-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-dropdown-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-feedback-template.form-interface.mjs +2 -0
- package/esm2022/shared/form-interfaces/question-matrix-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-radio-button-template.form-interface.mjs +1 -1
- package/esm2022/shared/form-interfaces/question-text-template.form-interface.mjs +1 -1
- package/fesm2022/survery-lib.mjs +268 -130
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/components/question-boolean-template/question-boolean-template.component.d.ts +3 -14
- package/lib/components/question-cascade-template/question-cascade-template.component.d.ts +4 -6
- package/lib/components/question-check-box-template/question-check-box-template.component.d.ts +4 -15
- package/lib/components/question-dropdown-multi-template/question-dropdown-multi-template.component.d.ts +3 -14
- package/lib/components/question-dropdown-template/question-dropdown-template.component.d.ts +2 -12
- package/lib/components/question-feedback-template/question-feedback-template.component.d.ts +27 -0
- package/lib/components/question-matrix-template/question-matrix-template.component.d.ts +3 -10
- package/lib/components/question-radio-button-template/question-radio-button-template.component.d.ts +3 -14
- package/lib/components/question-text-template/question-text-template.component.d.ts +2 -17
- package/lib/survery-lib.module.d.ts +7 -5
- package/package.json +2 -2
- package/shared/dtos/survey-answer.dto.d.ts +3 -0
- package/shared/enums/evaluation-type.enum.d.ts +4 -0
- package/shared/enums/input-type.enum.d.ts +3 -1
- package/shared/enums/question-type.enum.d.ts +2 -1
- package/shared/form-interfaces/question-boolean-template.form-interface.d.ts +13 -12
- package/shared/form-interfaces/question-cascade.form-interface.d.ts +5 -4
- package/shared/form-interfaces/question-check-box-template.form-interface.d.ts +13 -12
- package/shared/form-interfaces/question-dropdown-multi-template.form-interface.d.ts +13 -12
- package/shared/form-interfaces/question-dropdown-template.form-interface.d.ts +9 -8
- package/shared/form-interfaces/question-feedback-template.form-interface.d.ts +15 -0
- package/shared/form-interfaces/question-matrix-template.form-interface.d.ts +9 -8
- package/shared/form-interfaces/question-radio-button-template.form-interface.d.ts +13 -12
- package/shared/form-interfaces/question-text-template.form-interface.d.ts +13 -12
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
3
3
|
import { QuestionTypeEnum } from '../../../shared/enums/question-type.enum';
|
|
4
4
|
import { debounceTime, filter, map, pairwise } from 'rxjs';
|
|
5
5
|
import { v4 as guidGenerator } from 'uuid';
|
|
6
6
|
import { surveyActions } from '../../core/states/survey-store/survey.action';
|
|
7
7
|
import { questionSelectors } from '../../core/states/survey-store/question.selector';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
10
|
import * as i2 from "../../services/survey-lib.service";
|
|
11
11
|
import * as i3 from "@ngrx/store";
|
|
12
12
|
import * as i4 from "@angular/common";
|
|
@@ -31,9 +31,9 @@ export class QuestionRadioButtonTemplateComponent {
|
|
|
31
31
|
});
|
|
32
32
|
value.questionAllInfo.surveyAnswers.forEach(surveryAnswer => {
|
|
33
33
|
this.fCtrls.answerArray.push(this._formBuilder.group({
|
|
34
|
-
id:
|
|
35
|
-
title:
|
|
36
|
-
isSelected:
|
|
34
|
+
id: new FormControl(surveryAnswer.answerId),
|
|
35
|
+
title: new FormControl(surveryAnswer.answerTitle),
|
|
36
|
+
isSelected: new FormControl(false)
|
|
37
37
|
}));
|
|
38
38
|
});
|
|
39
39
|
if (value.isRequired == true) {
|
|
@@ -48,14 +48,14 @@ export class QuestionRadioButtonTemplateComponent {
|
|
|
48
48
|
this._Store = _Store;
|
|
49
49
|
this.elemId = guidGenerator();
|
|
50
50
|
this.rForm = this._formBuilder.group({
|
|
51
|
-
id:
|
|
52
|
-
name:
|
|
53
|
-
title:
|
|
54
|
-
typeId:
|
|
55
|
-
description:
|
|
56
|
-
answer:
|
|
57
|
-
isDisabled:
|
|
58
|
-
isShow:
|
|
51
|
+
id: new FormControl(null),
|
|
52
|
+
name: new FormControl(null),
|
|
53
|
+
title: new FormControl(null),
|
|
54
|
+
typeId: new FormControl(null),
|
|
55
|
+
description: new FormControl(null),
|
|
56
|
+
answer: new FormControl(null),
|
|
57
|
+
isDisabled: new FormControl(false),
|
|
58
|
+
isShow: new FormControl(true),
|
|
59
59
|
answerArray: this._formBuilder.array([])
|
|
60
60
|
});
|
|
61
61
|
}
|
|
@@ -94,18 +94,18 @@ export class QuestionRadioButtonTemplateComponent {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
onChangeAnswer(item) {
|
|
97
|
-
this.fCtrls.answer.setValue(item.id);
|
|
97
|
+
this.fCtrls.answer.setValue(item.value.id);
|
|
98
98
|
}
|
|
99
99
|
convertToFormControl(element) {
|
|
100
100
|
return element;
|
|
101
101
|
}
|
|
102
102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionRadioButtonTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: { setQuestion: "setQuestion" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"radio-button-quastion\">\r\n <div class=\"form-check form-check-radio form-check-inline\" \r\n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\r\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionRadioButtonTemplateComponent, selector: "lib-question-radio-button-template", inputs: { setQuestion: "setQuestion" }, ngImport: i0, template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"radio-button-quastion\">\r\n <div class=\"form-check form-check-radio form-check-inline\" \r\n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\r\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item)\" [disabled]=\"fCtrls.isDisabled.value\"\r\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
104
104
|
}
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionRadioButtonTemplateComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
|
-
args: [{ selector: 'lib-question-radio-button-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"radio-button-quastion\">\r\n <div class=\"form-check form-check-radio form-check-inline\" \r\n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\r\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item
|
|
107
|
+
args: [{ selector: 'lib-question-radio-button-template', template: "<div class=\"quastion\" [attr.id]=\"'question_'+fCtrls.id.value\" [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"radio-button-quastion\">\r\n <div class=\"form-check form-check-radio form-check-inline\" \r\n *ngFor=\"let item of fCtrls.answerArray.controls;let i = index\">\r\n <input class=\"form-check-input\" type=\"radio\" (change)=\"onChangeAnswer(item)\" [disabled]=\"fCtrls.isDisabled.value\"\r\n name=\"{{elemId}}__radio-btn-option\" id=\"{{elemId}}__radio-btn_{{i}}\" [checked]=\"item.value.isSelected == true? true : null\">\r\n <label class=\"form-check-label\" for=\"{{elemId}}__radio-btn_{{i}}\" [innerHTML]=\"item.value.title\"></label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
108
108
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }, { type: i3.Store }]; }, propDecorators: { setQuestion: [{
|
|
109
109
|
type: Input
|
|
110
110
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTTVFLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxFQUFFLElBQUksYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBT3JGLE1BQU0sT0FBTyxvQ0FBb0M7SUFLL0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxXQUFX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Q0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDM0U7YUFDRjtZQUVELG9CQUFvQjtZQUNwQixJQUFJLFFBQVEsRUFBRSxVQUFVLElBQUksUUFBUSxFQUFFLFVBQVUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUN2RDtZQUVELGdCQUFnQjtZQUNoQixJQUFJLFFBQVEsRUFBRSxNQUFNLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFOUMsSUFBSSxRQUFRLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRTtvQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNuQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTJEO1FBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQVk7UUFDL0IsT0FBTyxPQUFzQixDQUFDO0lBQ2hDLENBQUM7OEdBdkdVLG9DQUFvQztrR0FBcEMsb0NBQW9DLGtIQzFCakQsNGdDQWNBOzsyRkRZYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0Usb0NBQW9DO3FKQWlCakMsV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAbmctc3RhY2svZm9ybXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlBbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2VyLmR0byc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtcclxuICBBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZSxcclxuICBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlXHJcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblRleHRUZW1wbGF0ZUZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdjQgYXMgZ3VpZEdlbmVyYXRvciB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgU3VydmV5TGliU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N1cnZleS1saWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBlbGVtSWQgPSBndWlkR2VuZXJhdG9yKCkgYXMgc3RyaW5nO1xyXG4gIHN1cnZleVF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uUmFkaW9CdXR0b25UZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xyXG4gICAgaWYgKCF0aGlzLnN1cnZleVF1ZXN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3VydmV5UXVlc3Rpb24gPSB2YWx1ZS5xdWVzdGlvbkFsbEluZm87XHJcbiAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgaWQ6IHZhbHVlLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgbmFtZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICB0aXRsZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgdHlwZUlkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1JlYWRPbmx5LFxyXG4gICAgICAgIGlzU2hvdzogdmFsdWUucXVlc3Rpb25BbGxJbmZvLmlzVmlzYWJsZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzLmZvckVhY2goc3VydmVyeUFuc3dlciA9PiB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkucHVzaCh0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICAgICAgaWQ6IFtzdXJ2ZXJ5QW5zd2VyLmFuc3dlcklkXSxcclxuICAgICAgICAgIHRpdGxlOiBbc3VydmVyeUFuc3dlci5hbnN3ZXJUaXRsZV0sXHJcbiAgICAgICAgICBpc1NlbGVjdGVkOiBbZmFsc2VdXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UgLFxyXG4gICAgcHJpdmF0ZSBfU3RvcmU6U3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlkOiBbbnVsbF0sXHJcbiAgICAgIG5hbWU6IFtudWxsXSxcclxuICAgICAgdGl0bGU6IFtudWxsXSxcclxuICAgICAgdHlwZUlkOiBbbnVsbF0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBbbnVsbF0sXHJcbiAgICAgIGFuc3dlcjogW251bGxdLFxyXG4gICAgICBpc0Rpc2FibGVkOiBbZmFsc2VdLFxyXG4gICAgICBpc1Nob3c6IFt0cnVlXSxcclxuICAgICAgYW5zd2VyQXJyYXk6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEFuc3dlckNoaWxkT2ZRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlPihbXSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudmFsdWVDaGFuZ2VzLnBpcGUoKS5waXBlKGRlYm91bmNlVGltZSgyMDApKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICBxdWVzdGlvbklkOiBmb3JtVmFsdWUuaWQsXHJcbiAgICAgICAgYW5zd2VyOiB2YWx1ZSxcclxuICAgICAgICBpc1ZhbGlkOiB0aGlzLmZDdHJscy5hbnN3ZXIudmFsaWRcclxuICAgICAgfSkpXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9TdG9yZS5zZWxlY3QocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucykucGlwZShtYXAoYXJyID0+IGFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkpXHJcbiAgICAucGlwZShmaWx0ZXIoeCA9PiB4ICE9IG51bGwpLCBwYWlyd2lzZSgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IHZhbHVlWzBdO1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlWzFdO1xyXG5cclxuICAgICAgLy91cGRhdGVkIGFuc3dlclxyXG4gICAgICBpZiAob2xkVmFsdWU/LmFuc3dlcklkICE9IG5ld1ZhbHVlPy5hbnN3ZXJJZCkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShuZXdWYWx1ZT8uYW5zd2VySWQse2VtaXRFdmVudDpmYWxzZX0pO1xyXG5cclxuICAgICAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkudmFsdWUuZmluZEluZGV4KHggPT4geC5pZCA9PSBuZXdWYWx1ZT8uYW5zd2VySWQpO1xyXG4gICAgICAgIGlmIChncm91cEluZGV4ID4gLTEpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LmF0KGdyb3VwSW5kZXgpLmNvbnRyb2xzLmlzU2VsZWN0ZWQuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvL3VwZGF0ZWQgaXNEaXNhYmxlZFxyXG4gICAgICBpZiAob2xkVmFsdWU/LmlzRGlzYWJsZWQgIT0gbmV3VmFsdWU/LmlzRGlzYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKG5ld1ZhbHVlPy5pc0Rpc2FibGVkKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy91cGRhdGVkIGlzU2hvd1xyXG4gICAgICBpZiAob2xkVmFsdWU/LmlzU2hvdyAhPSBuZXdWYWx1ZT8uaXNTaG93KSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuaXNTaG93LnNldFZhbHVlKG5ld1ZhbHVlPy5pc1Nob3cpO1xyXG5cclxuICAgICAgICBpZiAobmV3VmFsdWU/LmlzU2hvdyA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUFuc3dlcihpdGVtOiBBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZSkge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKGl0ZW0uaWQpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycrZkN0cmxzLmlkLnZhbHVlXCIgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1xdWVzdGlvbic6IGZDdHJscy5hbnN3ZXIuaW52YWxpZCAgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInN1cnZleVF1ZXN0aW9uPy5xdWVzdGlvblRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cInN1cnZleVF1ZXN0aW9uLmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJyYWRpby1idXR0b24tcXVhc3Rpb25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLWNoZWNrLXJhZGlvIGZvcm0tY2hlY2staW5saW5lXCIgXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgIGZDdHJscy5hbnN3ZXJBcnJheS5jb250cm9scztsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIiAoY2hhbmdlKT1cIm9uQ2hhbmdlQW5zd2VyKGl0ZW0udmFsdWUpXCIgIFtkaXNhYmxlZF09XCJmQ3RybHMuaXNEaXNhYmxlZC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuLW9wdGlvblwiIGlkPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuX3t7aX19XCIgW2NoZWNrZWRdPVwiaXRlbS52YWx1ZS5pc1NlbGVjdGVkID09IHRydWU/IHRydWUgOiBudWxsXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJ7e2VsZW1JZH19X19yYWRpby1idG5fe3tpfX1cIiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUudGl0bGVcIj48L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU01RSxPQUFPLEVBQUUsWUFBWSxFQUF3QixNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUszQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7OztBQU9yRixNQUFNLE9BQU8sb0NBQW9DO0lBSy9DLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVE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RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlBbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2VyLmR0byc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtcclxuICBBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZSxcclxuICBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlXHJcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblRleHRUZW1wbGF0ZUZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdjQgYXMgZ3VpZEdlbmVyYXRvciB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgU3VydmV5TGliU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N1cnZleS1saWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBlbGVtSWQgPSBndWlkR2VuZXJhdG9yKCkgYXMgc3RyaW5nO1xyXG4gIHN1cnZleVF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uUmFkaW9CdXR0b25UZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xyXG4gICAgaWYgKCF0aGlzLnN1cnZleVF1ZXN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3VydmV5UXVlc3Rpb24gPSB2YWx1ZS5xdWVzdGlvbkFsbEluZm87XHJcbiAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgaWQ6IHZhbHVlLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgbmFtZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICB0aXRsZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgdHlwZUlkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1JlYWRPbmx5LFxyXG4gICAgICAgIGlzU2hvdzogdmFsdWUucXVlc3Rpb25BbGxJbmZvLmlzVmlzYWJsZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzLmZvckVhY2goc3VydmVyeUFuc3dlciA9PiB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkucHVzaCh0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbChzdXJ2ZXJ5QW5zd2VyLmFuc3dlcklkKSxcclxuICAgICAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2woc3VydmVyeUFuc3dlci5hbnN3ZXJUaXRsZSksXHJcbiAgICAgICAgICBpc1NlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UgLFxyXG4gICAgcHJpdmF0ZSBfU3RvcmU6U3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2woIG51bGwpLFxyXG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woIG51bGwpLFxyXG4gICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKCBudWxsKSxcclxuICAgICAgdHlwZUlkOiAgbmV3IEZvcm1Db250cm9sKCBudWxsKSxcclxuICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCggbnVsbCksXHJcbiAgICAgIGFuc3dlcjogIG5ldyBGb3JtQ29udHJvbCggbnVsbCksXHJcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbCggZmFsc2UpLFxyXG4gICAgICBpc1Nob3c6IG5ldyBGb3JtQ29udHJvbCggdHJ1ZSksXHJcbiAgICAgIGFuc3dlckFycmF5OiB0aGlzLl9mb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA8IEFuc3dlckNoaWxkT2ZRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj4oW10pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnZhbHVlQ2hhbmdlcy5waXBlKCkucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgcXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgIGFuc3dlcjogdmFsdWUsXHJcbiAgICAgICAgaXNWYWxpZDogdGhpcy5mQ3RybHMuYW5zd2VyLnZhbGlkXHJcbiAgICAgIH0pKVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUobWFwKGFyciA9PiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxyXG4gICAgLnBpcGUoZmlsdGVyKHggPT4geCAhPSBudWxsKSwgcGFpcndpc2UoKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB2YWx1ZVswXTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZVsxXTtcclxuXHJcbiAgICAgIC8vdXBkYXRlZCBhbnN3ZXJcclxuICAgICAgaWYgKG9sZFZhbHVlPy5hbnN3ZXJJZCAhPSBuZXdWYWx1ZT8uYW5zd2VySWQpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUobmV3VmFsdWU/LmFuc3dlcklkLHtlbWl0RXZlbnQ6ZmFsc2V9KTtcclxuXHJcbiAgICAgICAgY29uc3QgZ3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LnZhbHVlLmZpbmRJbmRleCh4ID0+IHguaWQgPT0gbmV3VmFsdWU/LmFuc3dlcklkKTtcclxuICAgICAgICBpZiAoZ3JvdXBJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXJBcnJheS5hdChncm91cEluZGV4KS5jb250cm9scy5pc1NlbGVjdGVkLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy91cGRhdGVkIGlzRGlzYWJsZWRcclxuICAgICAgaWYgKG9sZFZhbHVlPy5pc0Rpc2FibGVkICE9IG5ld1ZhbHVlPy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuaXNEaXNhYmxlZC5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNEaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vdXBkYXRlZCBpc1Nob3dcclxuICAgICAgaWYgKG9sZFZhbHVlPy5pc1Nob3cgIT0gbmV3VmFsdWU/LmlzU2hvdykge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNTaG93KTtcclxuXHJcbiAgICAgICAgaWYgKG5ld1ZhbHVlPy5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VBbnN3ZXIoaXRlbTogRm9ybUdyb3VwPCBBbnN3ZXJDaGlsZE9mUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZT4pIHtcclxuICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShpdGVtLnZhbHVlLmlkKTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb0Zvcm1Db250cm9sKGVsZW1lbnQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuYW5zd2VyLmludmFsaWQgICwgJ2Qtbm9uZSc6ZkN0cmxzLmlzU2hvdy52YWx1ZSAhPSB0cnVlfVwiPlxyXG4gICAgPGgzIGNsYXNzPVwicXVhc3Rpb24tdGl0bGUgXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzdXJ2ZXlRdWVzdGlvbj8ucXVlc3Rpb25UaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uLXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1yYWRpbyBmb3JtLWNoZWNrLWlubGluZVwiIFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mICBmQ3RybHMuYW5zd2VyQXJyYXkuY29udHJvbHM7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUFuc3dlcihpdGVtKVwiICBbZGlzYWJsZWRdPVwiZkN0cmxzLmlzRGlzYWJsZWQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bi1vcHRpb25cIiBpZD1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bl97e2l9fVwiIFtjaGVja2VkXT1cIml0ZW0udmFsdWUuaXNTZWxlY3RlZCA9PSB0cnVlPyB0cnVlIDogbnVsbFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuX3t7aX19XCIgW2lubmVySFRNTF09XCJpdGVtLnZhbHVlLnRpdGxlXCI+PC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
|
3
3
|
import { QuestionTypeEnum } from '../../../shared/enums/question-type.enum';
|
|
4
4
|
import { debounceTime, distinctUntilChanged, filter, map, pairwise } from 'rxjs';
|
|
5
5
|
import { InputTypeEnum } from '../../../shared/enums/input-type.enum';
|
|
@@ -7,13 +7,12 @@ import { PhoneValidator } from '../../validators/phone.validator';
|
|
|
7
7
|
import { surveyActions } from '../../core/states/survey-store/survey.action';
|
|
8
8
|
import { questionSelectors } from '../../core/states/survey-store/question.selector';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@
|
|
10
|
+
import * as i1 from "@angular/forms";
|
|
11
11
|
import * as i2 from "../../services/survey-lib.service";
|
|
12
12
|
import * as i3 from "@ngrx/store";
|
|
13
13
|
import * as i4 from "@angular/common";
|
|
14
|
-
import * as i5 from "
|
|
15
|
-
import * as i6 from "../../
|
|
16
|
-
import * as i7 from "../../pipes/text-box-type-attr.pipe";
|
|
14
|
+
import * as i5 from "../../directives/masked-for-min-max.directive";
|
|
15
|
+
import * as i6 from "../../pipes/text-box-type-attr.pipe";
|
|
17
16
|
export class QuestionTextTemplateComponent {
|
|
18
17
|
get fCtrls() {
|
|
19
18
|
return this.rForm.controls;
|
|
@@ -91,18 +90,18 @@ export class QuestionTextTemplateComponent {
|
|
|
91
90
|
this._Store = _Store;
|
|
92
91
|
this.isArabicLang = false;
|
|
93
92
|
this.rForm = this._formBuilder.group({
|
|
94
|
-
id:
|
|
95
|
-
name:
|
|
96
|
-
title:
|
|
97
|
-
typeId:
|
|
98
|
-
description:
|
|
99
|
-
surveyAnswerId:
|
|
100
|
-
answer:
|
|
101
|
-
isDisabled:
|
|
102
|
-
isShow:
|
|
103
|
-
inputTypeId:
|
|
104
|
-
inputMin:
|
|
105
|
-
inputMax:
|
|
93
|
+
id: new FormControl(null),
|
|
94
|
+
name: new FormControl(null),
|
|
95
|
+
title: new FormControl(null),
|
|
96
|
+
typeId: new FormControl(null),
|
|
97
|
+
description: new FormControl(null),
|
|
98
|
+
surveyAnswerId: new FormControl(null),
|
|
99
|
+
answer: new FormControl(null),
|
|
100
|
+
isDisabled: new FormControl(false),
|
|
101
|
+
isShow: new FormControl(true),
|
|
102
|
+
inputTypeId: new FormControl(null),
|
|
103
|
+
inputMin: new FormControl(null),
|
|
104
|
+
inputMax: new FormControl(null),
|
|
106
105
|
});
|
|
107
106
|
}
|
|
108
107
|
ngOnInit() {
|
|
@@ -163,7 +162,7 @@ export class QuestionTextTemplateComponent {
|
|
|
163
162
|
this.fCtrls.answer.updateValueAndValidity();
|
|
164
163
|
}
|
|
165
164
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", setQuestion: "setQuestion", isDisabled: "isDisabled" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small >{{questionMinMaxIndicator}}</small>\r\n </p> \r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type:
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", setQuestion: "setQuestion", isDisabled: "isDisabled" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small >{{questionMinMaxIndicator}}</small>\r\n </p> \r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]" }, { kind: "pipe", type: i6.TextBoxTypeAttrPipe, name: "textBoxTypeAttr" }] }); }
|
|
167
166
|
}
|
|
168
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, decorators: [{
|
|
169
168
|
type: Component,
|
|
@@ -175,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
175
174
|
}], isDisabled: [{
|
|
176
175
|
type: Input
|
|
177
176
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7O0FBT3JGLE1BQU0sT0FBTyw2QkFBNkI7SUFPeEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxTQUFTLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtZQUU1RCxJQUFJLFNBQVMsQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO2dCQUM1RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRO29CQUM5RyxDQUFDLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxRQUFRLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3JGO2lCQUNJLElBQUksU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUNBQXFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQ2xGLENBQUMsQ0FBQywwQ0FBMEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3BFO2lCQUNJLElBQUksU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsc0NBQXNDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQ25GLENBQUMsQ0FBQywwQ0FBMEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3BFO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxJQUFhLFdBQVcsQ0FBQyxLQUF3QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFFNUMsSUFBSSxDQUFDLFVBQVUsR0FBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO1lBRTNELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO2dCQUNwQixFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFlBQVk7Z0JBQ3hDLEtBQUssRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWE7Z0JBQzFDLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLGNBQWM7Z0JBQzVDLFdBQVcsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLG1CQUFtQjtnQkFDdEQsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsVUFBVTtnQkFDNUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUzthQUN4QyxDQUFDLENBQUM7WUFFSCxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUFJLFNBQVMsRUFBRTtnQkFDN0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEY7WUFFRCxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFFeEQsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtvQkFDOUUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO3dCQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNyRztvQkFFRCxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7d0JBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3JHO29CQUVELElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO3dCQUN0SCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUN0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bnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sU3RhY2ssIFZhbGlkYXRvcnNNb2RlbCB9IGZyb20gJ0BuZy1zdGFjay9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblRleHRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHN1cnZleVF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZT47XHJcbiAgY3VzdG9tUGF0dGVybnM6IG51bGw7XHJcbiAgaXNUZXh0QXJlYTpib29sZWFuO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uTWluTWF4SW5kaWNhdG9yKCkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgIGlmIChmb3JtVmFsdWUuaW5wdXRNYXggIT0gbnVsbCB8fCBmb3JtVmFsdWUuaW5wdXRNaW4gIT0gbnVsbCkge1xyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsICYmIGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYCDZitis2Kgg2KPZhiDYqtmD2YjZhiDYp9mE2YLZitmF2Kkg2KfZhNmF2K/YrtmE2Kkg2YXZhiBgICsgZm9ybVZhbHVlLmlucHV0TWluICsgJyDYpdmE2YkgJyArIGZvcm1WYWx1ZS5pbnB1dE1heFxyXG4gICAgICAgICAgOiBgdGhlIHZhbHVlIGVudGVyZWQgbXVzdCBiZSBmcm9tICR7Zm9ybVZhbHVlLmlucHV0TWlufSB0byAke2Zvcm1WYWx1ZS5pbnB1dE1heH1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YLZhCDZgtmK2YXYqSDZhNmE2YXYr9iu2YQg2KrYs9in2YjZiiAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gXHJcbiAgICAgICAgICA6IGB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgaW5wdXQgbXVzdCBiZSAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YPYqNixINmC2YrZhdipINmE2YTZhdiv2K7ZhCDYqtiz2KfZiNmKICR7Zm9ybVZhbHVlLmlucHV0TWF4fWBcclxuICAgICAgICAgIDogYHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBpbnB1dCBtdXN0IGJlICR7Zm9ybVZhbHVlLmlucHV0TWF4fWA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAoIXRoaXMuc3VydmV5UXVlc3Rpb24pIHtcclxuICAgICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbiA9IHZhbHVlLnF1ZXN0aW9uQWxsSW5mbztcclxuXHJcbiAgICAgIHRoaXMuaXNUZXh0QXJlYSA9ICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNBZHZhbmNlVGV4dEFyZWE7XHJcblxyXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxyXG4gICAgICAgIG5hbWU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgIHR5cGVJZDogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSxcclxuICAgICAgICBpc1Nob3c6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1Zpc2FibGVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IG51bGwgJiYgdmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLnN1cnZleUFuc3dlcklkLnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5pbnB1dFR5cGVJZC5zZXRWYWx1ZSh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5OdW1iZXIpIHtcclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmlucHV0TWluLnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKV0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmlucHV0TWF4LnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWF4KHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KV0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsIHx8IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuaW5wdXRUeXBlSWQuc2V0VmFsdWUoSW5wdXRUeXBlRW51bS5UZXh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5FbWFpbCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMuZW1haWxdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5QaG9uZSkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1Bob25lVmFsaWRhdG9yXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRvZ2dsZUVuYWJsZUFuc3dlcih2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy50b2dnbGVFbmFibGVBbnN3ZXIodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSAsXHJcbiAgICBwcml2YXRlIF9TdG9yZTpTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpZDogW251bGxdLFxyXG4gICAgICBuYW1lOiBbbnVsbF0sXHJcbiAgICAgIHRpdGxlOiBbbnVsbF0sXHJcbiAgICAgIHR5cGVJZDogW251bGxdLFxyXG4gICAgICBkZXNjcmlwdGlvbjogW251bGxdLFxyXG4gICAgICBzdXJ2ZXlBbnN3ZXJJZDogW251bGxdLFxyXG4gICAgICBhbnN3ZXI6IFtudWxsXSxcclxuICAgICAgaXNEaXNhYmxlZDogW2ZhbHNlXSxcclxuICAgICAgaXNTaG93OiBbdHJ1ZV0sXHJcbiAgICAgIGlucHV0VHlwZUlkOiBbbnVsbF0sXHJcbiAgICAgIGlucHV0TWluOiBbbnVsbF0sXHJcbiAgICAgIGlucHV0TWF4OiBbbnVsbF1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudmFsdWVDaGFuZ2VzLnBpcGUoKS5waXBlKGRlYm91bmNlVGltZSgyMDApLGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgIGlmIChmb3JtVmFsdWUuaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5FbWFpbCkge1xyXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSB0aGlzLmZDdHJscy5hbnN3ZXIuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIGlmICghaXNSZXF1aXJlZCkge1xyXG4gICAgICAgICAgaWYgKHZhbHVlPy50cmltKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMuZW1haWxdKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgICAgYW5zd2VyOiB2YWx1ZSxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRoaXMuZkN0cmxzLmFuc3dlci52YWxpZFxyXG4gICAgICAgIH0pKVxyXG4gICAgICB9LCAxMDApO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX1N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5wYWdlUXVlc3Rpb25zKS5waXBlKG1hcChhcnIgPT4gYXJyLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gdGhpcy5mQ3RybHMuaWQudmFsdWUpKSlcclxuICAgIC5waXBlKGZpbHRlcih4ID0+IHggIT0gbnVsbCksIHBhaXJ3aXNlKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGNvbnN0IG9sZFZhbHVlID0gdmFsdWVbMF07XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdmFsdWVbMV07XHJcblxyXG4gICAgICAvL3VwZGF0ZWQgYW5zd2VyXHJcbiAgICAgIGlmIChvbGRWYWx1ZT8uYW5zd2VyVGV4dCAhPSBuZXdWYWx1ZT8uYW5zd2VyVGV4dCkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShuZXdWYWx1ZT8uYW5zd2VyVGV4dCx7ZW1pdEV2ZW50OmZhbHNlfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vdXBkYXRlZCBpc0Rpc2FibGVkXHJcbiAgICAgIGlmIChvbGRWYWx1ZT8uaXNEaXNhYmxlZCAhPSBuZXdWYWx1ZT8uaXNEaXNhYmxlZCkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmlzRGlzYWJsZWQuc2V0VmFsdWUobmV3VmFsdWU/LmlzRGlzYWJsZWQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL3VwZGF0ZWQgaXNTaG93XHJcbiAgICAgIGlmIChvbGRWYWx1ZT8uaXNTaG93ICE9IG5ld1ZhbHVlPy5pc1Nob3cpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUobmV3VmFsdWU/LmlzU2hvdyk7XHJcblxyXG4gICAgICAgIGlmIChuZXdWYWx1ZT8uaXNTaG93ID09IGZhbHNlKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb0Zvcm1Db250cm9sKGVsZW1lbnQ6IGFueSkge1xyXG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUVuYWJsZUFuc3dlcihpc1JlYWRPbmx5OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNSZWFkT25seSA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5kaXNhYmxlKClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5lbmFibGUoKVxyXG4gICAgfVxyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiIFtmb3JtR3JvdXBdPVwickZvcm1cIiBbYXR0ci5pZF09XCIncXVlc3Rpb25fJytmQ3RybHMuaWQudmFsdWVcIlxyXG4gICAgW25nQ2xhc3NdPVwieydpbnZhbGlkLXF1ZXN0aW9uJzogZkN0cmxzLmFuc3dlci5pbnZhbGlkICwgJ2Qtbm9uZSc6ZkN0cmxzLmlzU2hvdy52YWx1ZSAhPSB0cnVlfVwiPlxyXG4gICAgPGgzIGNsYXNzPVwicXVhc3Rpb24tdGl0bGUgXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzdXJ2ZXlRdWVzdGlvbj8ucXVlc3Rpb25UaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8cCAqbmdJZj1cInF1ZXN0aW9uTWluTWF4SW5kaWNhdG9yXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICA8c21hbGwgPnt7cXVlc3Rpb25NaW5NYXhJbmRpY2F0b3J9fTwvc21hbGw+XHJcbiAgICAgICAgPC9wPiBcclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RleHRBcmVhID09IGZhbHNlIGVsc2UgdGV4dEFyZWFUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBsaWJNYXNrZWRGb3JNaW5NYXggIFthdHRyLm1pbl09XCJmQ3RybHMuaW5wdXRNaW4udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIubWF4XT1cImZDdHJscy5pbnB1dE1heC52YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJjb252ZXJ0VG9Gb3JtQ29udHJvbChmQ3RybHMuYW5zd2VyKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFthdHRyLnR5cGVdPVwiZkN0cmxzLmlucHV0VHlwZUlkLnZhbHVlIHwgdGV4dEJveFR5cGVBdHRyXCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0QXJlYVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByb3dzPVwiMlwiIFtmb3JtQ29udHJvbF09XCJjb252ZXJ0VG9Gb3JtQ29udHJvbChmQ3RybHMuYW5zd2VyKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7O0FBT3JGLE1BQU0sT0FBTyw2QkFBNkI7SUFPeEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixD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LElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtvQkFDOUUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO3dCQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNyRztvQkFFRCxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7d0JBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3JHO29CQUVELElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO3dCQUN0SCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxD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QyxTQUFTOytCQUNFLDRCQUE0QjtxSkF5QzdCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFxRE8sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvblRleHRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHN1cnZleVF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZT47XHJcbiAgY3VzdG9tUGF0dGVybnM6IG51bGw7XHJcbiAgaXNUZXh0QXJlYTpib29sZWFuO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uTWluTWF4SW5kaWNhdG9yKCkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgIGlmIChmb3JtVmFsdWUuaW5wdXRNYXggIT0gbnVsbCB8fCBmb3JtVmFsdWUuaW5wdXRNaW4gIT0gbnVsbCkge1xyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsICYmIGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYCDZitis2Kgg2KPZhiDYqtmD2YjZhiDYp9mE2YLZitmF2Kkg2KfZhNmF2K/YrtmE2Kkg2YXZhiBgICsgZm9ybVZhbHVlLmlucHV0TWluICsgJyDYpdmE2YkgJyArIGZvcm1WYWx1ZS5pbnB1dE1heFxyXG4gICAgICAgICAgOiBgdGhlIHZhbHVlIGVudGVyZWQgbXVzdCBiZSBmcm9tICR7Zm9ybVZhbHVlLmlucHV0TWlufSB0byAke2Zvcm1WYWx1ZS5pbnB1dE1heH1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YLZhCDZgtmK2YXYqSDZhNmE2YXYr9iu2YQg2KrYs9in2YjZiiAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gXHJcbiAgICAgICAgICA6IGB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgaW5wdXQgbXVzdCBiZSAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YPYqNixINmC2YrZhdipINmE2YTZhdiv2K7ZhCDYqtiz2KfZiNmKICR7Zm9ybVZhbHVlLmlucHV0TWF4fWBcclxuICAgICAgICAgIDogYHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBpbnB1dCBtdXN0IGJlICR7Zm9ybVZhbHVlLmlucHV0TWF4fWA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAoIXRoaXMuc3VydmV5UXVlc3Rpb24pIHtcclxuICAgICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbiA9IHZhbHVlLnF1ZXN0aW9uQWxsSW5mbztcclxuXHJcbiAgICAgIHRoaXMuaXNUZXh0QXJlYSA9ICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNBZHZhbmNlVGV4dEFyZWE7XHJcblxyXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxyXG4gICAgICAgIG5hbWU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgIHR5cGVJZDogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSxcclxuICAgICAgICBpc1Nob3c6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1Zpc2FibGVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IG51bGwgJiYgdmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLnN1cnZleUFuc3dlcklkLnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5pbnB1dFR5cGVJZC5zZXRWYWx1ZSh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5OdW1iZXIpIHtcclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmlucHV0TWluLnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKV0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZkN0cmxzLmlucHV0TWF4LnNldFZhbHVlKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KTtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWF4KHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KV0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsIHx8IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuaW5wdXRUeXBlSWQuc2V0VmFsdWUoSW5wdXRUeXBlRW51bS5UZXh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5FbWFpbCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMuZW1haWxdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodmFsdWUucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5QaG9uZSkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1Bob25lVmFsaWRhdG9yXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRvZ2dsZUVuYWJsZUFuc3dlcih2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy50b2dnbGVFbmFibGVBbnN3ZXIodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSAsXHJcbiAgICBwcml2YXRlIF9TdG9yZTpTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBuYW1lOm5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdGl0bGU6bmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICB0eXBlSWQ6bmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBzdXJ2ZXlBbnN3ZXJJZDpuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGFuc3dlcjpuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGlzU2hvdzpuZXcgRm9ybUNvbnRyb2wodHJ1ZSksXHJcbiAgICAgIGlucHV0VHlwZUlkOm5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgaW5wdXRNaW46bmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBpbnB1dE1heDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZkN0cmxzLmFuc3dlci52YWx1ZUNoYW5nZXMucGlwZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IHRoaXMuZkN0cmxzLmFuc3dlci5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgaWYgKCFpc1JlcXVpcmVkKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWU/LnRyaW0oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiBmb3JtVmFsdWUuaWQsXHJcbiAgICAgICAgICBhbnN3ZXI6IHZhbHVlLFxyXG4gICAgICAgICAgaXNWYWxpZDogdGhpcy5mQ3RybHMuYW5zd2VyLnZhbGlkXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUobWFwKGFyciA9PiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxyXG4gICAgLnBpcGUoZmlsdGVyKHggPT4geCAhPSBudWxsKSwgcGFpcndpc2UoKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB2YWx1ZVswXTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZVsxXTtcclxuXHJcbiAgICAgIC8vdXBkYXRlZCBhbnN3ZXJcclxuICAgICAgaWYgKG9sZFZhbHVlPy5hbnN3ZXJUZXh0ICE9IG5ld1ZhbHVlPy5hbnN3ZXJUZXh0KSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG5ld1ZhbHVlPy5hbnN3ZXJUZXh0LHtlbWl0RXZlbnQ6ZmFsc2V9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy91cGRhdGVkIGlzRGlzYWJsZWRcclxuICAgICAgaWYgKG9sZFZhbHVlPy5pc0Rpc2FibGVkICE9IG5ld1ZhbHVlPy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuaXNEaXNhYmxlZC5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNEaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vdXBkYXRlZCBpc1Nob3dcclxuICAgICAgaWYgKG9sZFZhbHVlPy5pc1Nob3cgIT0gbmV3VmFsdWU/LmlzU2hvdykge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNTaG93KTtcclxuXHJcbiAgICAgICAgaWYgKG5ld1ZhbHVlPy5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRW5hYmxlQW5zd2VyKGlzUmVhZE9ubHk6IGJvb2xlYW4pIHtcclxuICAgIGlmIChpc1JlYWRPbmx5ID09IHRydWUpIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmRpc2FibGUoKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmVuYWJsZSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2Zvcm1Hcm91cF09XCJyRm9ybVwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuYW5zd2VyLmludmFsaWQgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInN1cnZleVF1ZXN0aW9uPy5xdWVzdGlvblRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cInN1cnZleVF1ZXN0aW9uLmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgIDxwICpuZ0lmPVwicXVlc3Rpb25NaW5NYXhJbmRpY2F0b3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgIDxzbWFsbCA+e3txdWVzdGlvbk1pbk1heEluZGljYXRvcn19PC9zbWFsbD5cclxuICAgICAgICA8L3A+IFxyXG4gICAgPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGV4dEFyZWEgPT0gZmFsc2UgZWxzZSB0ZXh0QXJlYVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGxpYk1hc2tlZEZvck1pbk1heCAgW2F0dHIubWluXT1cImZDdHJscy5pbnB1dE1pbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5tYXhdPVwiZkN0cmxzLmlucHV0TWF4LnZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImNvbnZlcnRUb0Zvcm1Db250cm9sKGZDdHJscy5hbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW2F0dHIudHlwZV09XCJmQ3RybHMuaW5wdXRUeXBlSWQudmFsdWUgfCB0ZXh0Qm94VHlwZUF0dHJcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RleHRBcmVhVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJvd3M9XCIyXCIgW2Zvcm1Db250cm9sXT1cImNvbnZlcnRUb0Zvcm1Db250cm9sKGZDdHJscy5hbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+Il19
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
16
16
|
name: 'findQuestion'
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1xdWVzdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9waXBlcy9maW5kLXF1ZXN0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsU0FBUyxDQUFDLEdBQXdCLEVBQUUsVUFBZTtRQUNqRCxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLENBQUE7U0FDakQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBUFUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gJy4uL2NvcmUvc3RhdGVzL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5JztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZmluZFF1ZXN0aW9uJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmluZFF1ZXN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0oYXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdLCBxdWVzdGlvbklkOiBhbnkpOiBRdWVzdGlvbk5ncnhNb2RlbCB7XHJcbiAgICBpZiAoYXJyKSB7XHJcbiAgICAgIHJldHVybiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBxdWVzdGlvbklkKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -3,6 +3,8 @@ import { Subject } from 'rxjs';
|
|
|
3
3
|
import { v4 as guidGenerator } from 'uuid';
|
|
4
4
|
import { surveyActions } from '../core/states/survey-store/survey.action';
|
|
5
5
|
import { QuestionTypeEnum } from '../../shared/enums/question-type.enum';
|
|
6
|
+
import { InputTypeEnum } from '../../shared/enums/input-type.enum';
|
|
7
|
+
import { EvaluationTypeEnum } from '../../shared/enums/evaluation-type.enum';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@ngrx/store";
|
|
8
10
|
export class SurveyLibService {
|
|
@@ -40,7 +42,8 @@ export class SurveyLibService {
|
|
|
40
42
|
}
|
|
41
43
|
setsurveyAnswers(model) {
|
|
42
44
|
model.defaultAnswers.forEach(answer => {
|
|
43
|
-
if (answer.QuestionType == QuestionTypeEnum.TextInput
|
|
45
|
+
if (answer.QuestionType == QuestionTypeEnum.TextInput ||
|
|
46
|
+
answer.QuestionType == QuestionTypeEnum.FeedBack) {
|
|
44
47
|
this._Store.dispatch(surveyActions.updateQuestionAnswer({
|
|
45
48
|
questionId: answer.QuestionId,
|
|
46
49
|
answer: answer.AnswerText,
|
|
@@ -68,25 +71,35 @@ export class SurveyLibService {
|
|
|
68
71
|
this.reloadSurveySubject.next(guidGenerator());
|
|
69
72
|
}
|
|
70
73
|
addQuestion(question, pageIndex, questionGroupId) {
|
|
71
|
-
var questionArr = [
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
74
|
+
var questionArr = [];
|
|
75
|
+
var questionNgrxModel = {
|
|
76
|
+
surveyPageId: pageIndex,
|
|
77
|
+
questionId: question.questionId,
|
|
78
|
+
questionType: question.questionTypeId,
|
|
79
|
+
inputTypeId: question.surveyAnswers[0].inputTypeId,
|
|
80
|
+
isMatrixGroup: question.questionTypeId == QuestionTypeEnum.Matrix,
|
|
81
|
+
answerId: null,
|
|
82
|
+
answerIdArr: null,
|
|
83
|
+
answerText: null,
|
|
84
|
+
isRequired: question.isRequired,
|
|
85
|
+
isValid: null,
|
|
86
|
+
isDisabled: question.isReadOnly,
|
|
87
|
+
isShow: question.isVisable,
|
|
88
|
+
isDisabled_default: question.isReadOnly,
|
|
89
|
+
isShow_default: question.isVisable,
|
|
90
|
+
questionGroupId: questionGroupId,
|
|
91
|
+
parentQuestionId: null,
|
|
92
|
+
questionAllInfo: question
|
|
93
|
+
};
|
|
94
|
+
if (question.questionTypeId == QuestionTypeEnum.FeedBack) {
|
|
95
|
+
if (question.surveyAnswers[0].evaluationTypeId == EvaluationTypeEnum.Stars) {
|
|
96
|
+
questionNgrxModel.inputTypeId = InputTypeEnum.Stars;
|
|
97
|
+
}
|
|
98
|
+
else if (question.surveyAnswers[0].evaluationTypeId == EvaluationTypeEnum.Pagination) {
|
|
99
|
+
questionNgrxModel.inputTypeId = InputTypeEnum.Pagination;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
questionArr.push(questionNgrxModel);
|
|
90
103
|
if (question.questionTypeId == QuestionTypeEnum.Matrix) {
|
|
91
104
|
question.surveySubQuestions.forEach(subQuestion => {
|
|
92
105
|
questionArr.push({
|
|
@@ -121,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
121
134
|
providedIn: 'root'
|
|
122
135
|
}]
|
|
123
136
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUloRCxPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQU16RSxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxZQUFvQixNQUFhO1FBQWIsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQU56Qix3QkFBbUIsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQU1oQyxDQUFDO0lBRXRDLGFBQWEsQ0FBQyxNQUFpQjtRQUM3QixJQUFJLFdBQVcsR0FBd0IsRUFBRSxDQUFDO1FBQzFDLElBQUksZ0JBQWdCLEdBQTZCLEVBQUUsQ0FBQztRQUVwRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtvQkFDdEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtvQkFDMUMsd0JB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QWUsRUFBRSxRQUFRO2lCQUMxQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0F6SFUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3VydmV5RHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LmR0byc7XHJcbmltcG9ydCB7IHN1cnZleUFuc3dlcnNTdWJqZWN0RHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlcnMtc3ViamVjdC5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMYW5ndWFnZUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1sYW5ndWFnZS5kdG8nO1xyXG5pbXBvcnQgeyB2NCBhcyBndWlkR2VuZXJhdG9yIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gJy4uL2NvcmUvc3RhdGVzL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5JztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsIH0gZnJvbSAnLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmV5TGliU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgcmVsb2FkU3VydmV5U3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICBnZXQgcmVsb2FkU3VydmV5T2JzcnYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWxvYWRTdXJ2ZXlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfU3RvcmU6IFN0b3JlKSB7IH1cclxuXHJcbiAgc2V0U3VydmV5RGF0YShzdXJ2ZXk6IFN1cnZleUR0bykge1xyXG4gICAgdmFyIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdID0gW107XHJcbiAgICB2YXIgcXVlc3Rpb25Hcm91cEFycjogUXVlc3Rpb25Hcm91cE5ncnhNb2RlbFtdID0gW107XHJcblxyXG4gICAgc3VydmV5LnN1cnZleVBhZ2VzLmZvckVhY2goKHBhZ2UsIHBhZ2VJbmRleCkgPT4ge1xyXG4gICAgICBwYWdlLnN1cnZleVF1ZXN0aW9uR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xyXG4gICAgICAgIHF1ZXN0aW9uR3JvdXBBcnIucHVzaCh7XHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IGdyb3VwLnF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgICAgIHF1ZXN0aW9uR3JvdXBOYW1lOiBncm91cC5xdWVzdGlvbkdyb3VwTmFtZSxcclxuICAgICAgICAgIHF1ZXN0aW9uR3JvdXBEZXNjcmlwdGlvbjogZ3JvdXAucXVlc3Rpb25Hcm91cERlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgc3VydmV5UGFnZUlkOiBwYWdlLnBhZ2VJZFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBncm91cC5zdXJ2ZXlRdWVzdGlvbnMuZm9yRWFjaChxdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICB2YXIgbmV3UXVlc3Rpb25zID0gdGhpcy5hZGRRdWVzdGlvbihxdWVzdGlvbiwgcGFnZS5wYWdlSWQsIGdyb3VwLnF1ZXN0aW9uR3JvdXBJZClcclxuICAgICAgICAgIHF1ZXN0aW9uQXJyLnB1c2goLi4ubmV3UXVlc3Rpb25zKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdmFyIHBhZ2VJZEFyciA9IHN1cnZleS5zdXJ2ZXlQYWdlcy5tYXAoeCA9PiB4LnBhZ2VJZCk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5sb2FkU3VydmV5KHtcclxuICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQXJyLFxyXG4gICAgICBydWxlQXJyOiBzdXJ2ZXkuc3VydmV5UnVsZXMsXHJcbiAgICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBcnIsXHJcbiAgICAgIHNlbGVjdGVkUGFnZUlkOiBNYXRoLm1pbiguLi5wYWdlSWRBcnIpXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzZXRzdXJ2ZXlBbnN3ZXJzKG1vZGVsOiBzdXJ2ZXlBbnN3ZXJzU3ViamVjdER0bykge1xyXG5cclxuICAgIG1vZGVsLmRlZmF1bHRBbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcclxuICAgICBcclxuICAgICAgaWYgKGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQpIHtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOmFuc3dlci5RdWVzdGlvbklkICxcclxuICAgICAgICAgIGFuc3dlcjogYW5zd2VyLkFuc3dlclRleHQgLFxyXG4gICAgICAgICAgaXNWYWxpZCA6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94IFxyXG4gICAgICAgIHx8IGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93bk11bHRpKSB7XHJcbiAgICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgICAgcXVlc3Rpb25JZDphbnN3ZXIuUXVlc3Rpb25JZCAsXHJcbiAgICAgICAgICAgIGFuc3dlcjogYW5zd2VyLkFuc3dlcklkQXJyICxcclxuICAgICAgICAgICAgaXNWYWxpZCA6IHRydWVcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6YW5zd2VyLlF1ZXN0aW9uSWQgLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VySWQgLFxyXG4gICAgICAgICAgaXNWYWxpZCA6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZXRSZWxvYWRTdXJ2ZXkoKSB7XHJcbiAgICB0aGlzLnJlbG9hZFN1cnZleVN1YmplY3QubmV4dChndWlkR2VuZXJhdG9yKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVzdGlvbihxdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG8sIHBhZ2VJbmRleDogbnVtYmVyLCBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcik6IFF1ZXN0aW9uTmdyeE1vZGVsW10ge1xyXG4gICAgdmFyIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdID0gW3tcclxuICAgICAgc3VydmV5UGFnZUlkOiBwYWdlSW5kZXgsXHJcbiAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgIGlucHV0VHlwZUlkOiBxdWVzdGlvbi5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkLFxyXG4gICAgICBpc01hdHJpeEdyb3VwOiBxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCxcclxuICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICBpc0Rpc2FibGVkOiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICBpc1Nob3dfZGVmYXVsdDogcXVlc3Rpb24uaXNWaXNhYmxlLFxyXG4gICAgICBxdWVzdGlvbkdyb3VwSWQ6IHF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgcGFyZW50UXVlc3Rpb25JZDogbnVsbCxcclxuICAgICAgcXVlc3Rpb25BbGxJbmZvOiBxdWVzdGlvblxyXG4gICAgfV07XHJcblxyXG4gICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZUlkID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4KSB7XHJcbiAgICAgIHF1ZXN0aW9uLnN1cnZleVN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICBxdWVzdGlvbkFyci5wdXNoKHtcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZUluZGV4LFxyXG4gICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBpbnB1dFR5cGVJZDogcXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgIGlzTWF0cml4R3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBxdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHF1ZXN0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVzdGlvbkFycjtcclxuICB9XHJcbn1cclxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUloRCxPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFLN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBb0IsTUFBYTtRQUFiLFdBQU0sR0FBTixNQUFNLENBQU87UUFOekIsd0JBQW1CLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7SUFNaEMsQ0FBQztJQUV0QyxhQUFhLENBQUMsTUFBaUI7UUFDN0IsSUFBSSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLGdCQUFnQixHQUE2QixFQUFFLENBQUM7UUFFcEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsZ0JBQWdCLENBQUMs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RUFBRTtnQkFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDZixZQUFZLEVBQUUsU0FBUztvQkFDdkIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO29CQUNsQyxZQUFZLEVBQUUsUUFBUSxDQUFDLGNBQWM7b0JBQ3JDLFdBQVcsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7b0JBQ2xELGFBQWEsRUFBRSxLQUFLO29CQUNwQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxXQUFXLEVBQUUsSUFBSTtvQkFDakIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtvQkFDL0IsT0FBTyxFQUFFLElBQUk7b0JBQ2IsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO29CQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVM7b0JBQzFCLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxVQUFVO29CQUN2QyxjQUFjLEVBQUUsUUFBUSxDQUFDLFNBQVM7b0JBQ2xDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxVQUFVO29CQUNyQyxlQUFlLEVBQUUsZUFBZTtvQkFDaEMsZUFBZSxFQUFFLFFBQVE7aUJBQzFCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQXZJVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXkuZHRvJztcclxuaW1wb3J0IHsgc3VydmV5QW5zd2Vyc1N1YmplY3REdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2Vycy1zdWJqZWN0LmR0byc7XHJcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWxhbmd1YWdlLmR0byc7XHJcbmltcG9ydCB7IHY0IGFzIGd1aWRHZW5lcmF0b3IgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LmFjdGlvbic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eSc7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRXZhbHVhdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2V2YWx1YXRpb24tdHlwZS5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1cnZleUxpYlNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlbG9hZFN1cnZleVN1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgZ2V0IHJlbG9hZFN1cnZleU9ic3J2KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVsb2FkU3VydmV5U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1N0b3JlOiBTdG9yZSkgeyB9XHJcblxyXG4gIHNldFN1cnZleURhdGEoc3VydmV5OiBTdXJ2ZXlEdG8pIHtcclxuICAgIHZhciBxdWVzdGlvbkFycjogUXVlc3Rpb25OZ3J4TW9kZWxbXSA9IFtdO1xyXG4gICAgdmFyIHF1ZXN0aW9uR3JvdXBBcnI6IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWxbXSA9IFtdO1xyXG5cclxuICAgIHN1cnZleS5zdXJ2ZXlQYWdlcy5mb3JFYWNoKChwYWdlLCBwYWdlSW5kZXgpID0+IHtcclxuICAgICAgcGFnZS5zdXJ2ZXlRdWVzdGlvbkdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICBxdWVzdGlvbkdyb3VwQXJyLnB1c2goe1xyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBncm91cC5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwTmFtZTogZ3JvdXAucXVlc3Rpb25Hcm91cE5hbWUsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwRGVzY3JpcHRpb246IGdyb3VwLnF1ZXN0aW9uR3JvdXBEZXNjcmlwdGlvbixcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZS5wYWdlSWRcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZ3JvdXAuc3VydmV5UXVlc3Rpb25zLmZvckVhY2gocXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgdmFyIG5ld1F1ZXN0aW9ucyA9IHRoaXMuYWRkUXVlc3Rpb24ocXVlc3Rpb24sIHBhZ2UucGFnZUlkLCBncm91cC5xdWVzdGlvbkdyb3VwSWQpXHJcbiAgICAgICAgICBxdWVzdGlvbkFyci5wdXNoKC4uLm5ld1F1ZXN0aW9ucyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHZhciBwYWdlSWRBcnIgPSBzdXJ2ZXkuc3VydmV5UGFnZXMubWFwKHggPT4geC5wYWdlSWQpO1xyXG5cclxuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMubG9hZFN1cnZleSh7XHJcbiAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFycixcclxuICAgICAgcnVsZUFycjogc3VydmV5LnN1cnZleVJ1bGVzLFxyXG4gICAgICBxdWVzdGlvbkdyb3VwQXJyOiBxdWVzdGlvbkdyb3VwQXJyLFxyXG4gICAgICBzZWxlY3RlZFBhZ2VJZDogTWF0aC5taW4oLi4ucGFnZUlkQXJyKVxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgc2V0c3VydmV5QW5zd2Vycyhtb2RlbDogc3VydmV5QW5zd2Vyc1N1YmplY3REdG8pIHtcclxuXHJcbiAgICBtb2RlbC5kZWZhdWx0QW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcblxyXG4gICAgICBpZiAoYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCB8fFxyXG4gICAgICAgIGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG5cclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGFuc3dlci5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VyVGV4dCxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94XHJcbiAgICAgICAgfHwgYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkRyb3BEb3duTXVsdGkpIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGFuc3dlci5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VySWRBcnIsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0cnVlXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogYW5zd2VyLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBhbnN3ZXI6IGFuc3dlci5BbnN3ZXJJZCxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZXRSZWxvYWRTdXJ2ZXkoKSB7XHJcbiAgICB0aGlzLnJlbG9hZFN1cnZleVN1YmplY3QubmV4dChndWlkR2VuZXJhdG9yKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVzdGlvbihxdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG8sIHBhZ2VJbmRleDogbnVtYmVyLCBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcik6IFF1ZXN0aW9uTmdyeE1vZGVsW10ge1xyXG4gICAgdmFyIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdID0gW107XHJcblxyXG4gICAgdmFyIHF1ZXN0aW9uTmdyeE1vZGVsOiBRdWVzdGlvbk5ncnhNb2RlbCA9IHtcclxuICAgICAgc3VydmV5UGFnZUlkOiBwYWdlSW5kZXgsXHJcbiAgICAgIHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgIGlucHV0VHlwZUlkOiBxdWVzdGlvbi5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkLFxyXG4gICAgICBpc01hdHJpeEdyb3VwOiBxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCxcclxuICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICBpc0Rpc2FibGVkOiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICBpc1Nob3dfZGVmYXVsdDogcXVlc3Rpb24uaXNWaXNhYmxlLFxyXG4gICAgICBxdWVzdGlvbkdyb3VwSWQ6IHF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgcGFyZW50UXVlc3Rpb25JZDogbnVsbCxcclxuICAgICAgcXVlc3Rpb25BbGxJbmZvOiBxdWVzdGlvblxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG4gICAgICBpZiAocXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5ldmFsdWF0aW9uVHlwZUlkID09IEV2YWx1YXRpb25UeXBlRW51bS5TdGFycykge1xyXG4gICAgICAgIHF1ZXN0aW9uTmdyeE1vZGVsLmlucHV0VHlwZUlkID0gSW5wdXRUeXBlRW51bS5TdGFyc1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIGlmIChxdWVzdGlvbi5zdXJ2ZXlBbnN3ZXJzWzBdLmV2YWx1YXRpb25UeXBlSWQgPT0gRXZhbHVhdGlvblR5cGVFbnVtLlBhZ2luYXRpb24pIHtcclxuICAgICAgICBxdWVzdGlvbk5ncnhNb2RlbC5pbnB1dFR5cGVJZCA9IElucHV0VHlwZUVudW0uUGFnaW5hdGlvblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcXVlc3Rpb25BcnIucHVzaChxdWVzdGlvbk5ncnhNb2RlbCk7XHJcblxyXG4gICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZUlkID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4KSB7XHJcbiAgICAgIHF1ZXN0aW9uLnN1cnZleVN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICBxdWVzdGlvbkFyci5wdXNoKHtcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZUluZGV4LFxyXG4gICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBpbnB1dFR5cGVJZDogcXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgIGlzTWF0cml4R3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBxdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHF1ZXN0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVzdGlvbkFycjtcclxuICB9XHJcbn1cclxuIl19
|