@piserve-tech/form-submission 1.3.137 → 1.3.139
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/form-fields/file-picker-fields/file-picker-fields.component.mjs +24 -7
- package/esm2022/form-submission/submit-form/submit-form.component.mjs +8 -10
- package/fesm2022/piserve-tech-form-submission.mjs +34 -20
- package/fesm2022/piserve-tech-form-submission.mjs.map +1 -1
- package/form-fields/file-picker-fields/file-picker-fields.component.d.ts +5 -1
- package/package.json +5 -5
|
@@ -2,12 +2,14 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../../services/validation.service";
|
|
4
4
|
import * as i2 from "../../services/element-tracker.service";
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "@
|
|
5
|
+
import * as i3 from "../../services/data.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@piserve-tech/file-upload";
|
|
7
8
|
export class FilePickerFieldsComponent {
|
|
8
|
-
constructor(validationService, tracker) {
|
|
9
|
+
constructor(validationService, tracker, dataService) {
|
|
9
10
|
this.validationService = validationService;
|
|
10
11
|
this.tracker = tracker;
|
|
12
|
+
this.dataService = dataService;
|
|
11
13
|
this.question = {};
|
|
12
14
|
this.inLine = false;
|
|
13
15
|
this.answerChange = new EventEmitter();
|
|
@@ -29,7 +31,11 @@ export class FilePickerFieldsComponent {
|
|
|
29
31
|
this.attachments = [];
|
|
30
32
|
this.avatarPicker = false;
|
|
31
33
|
this.elementId = '';
|
|
34
|
+
this.apiUrl = '';
|
|
32
35
|
this.selectedFiles = [];
|
|
36
|
+
this.dataService.apiUrl$.subscribe((data) => {
|
|
37
|
+
this.apiUrl = data + '/api/cdn/preview?url=';
|
|
38
|
+
});
|
|
33
39
|
}
|
|
34
40
|
handleFileTypeNotAllowed(fileType) {
|
|
35
41
|
this.validationFailed = true;
|
|
@@ -88,6 +94,17 @@ export class FilePickerFieldsComponent {
|
|
|
88
94
|
this.files = this.question.answer;
|
|
89
95
|
}
|
|
90
96
|
this.attachments = this.question?.attachments;
|
|
97
|
+
this.convertUrl();
|
|
98
|
+
}
|
|
99
|
+
convertUrl() {
|
|
100
|
+
if (this.attachments) {
|
|
101
|
+
this.attachments = this.attachments.map(attachment => {
|
|
102
|
+
return {
|
|
103
|
+
...attachment,
|
|
104
|
+
fileUrl: this.apiUrl + attachment.fileUrl.replace(/\//g, "%2F")
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
}
|
|
91
108
|
}
|
|
92
109
|
convertToBytes(size, unit) {
|
|
93
110
|
const units = {
|
|
@@ -135,13 +152,13 @@ export class FilePickerFieldsComponent {
|
|
|
135
152
|
this.tracker.unregisterElement(this.elementId);
|
|
136
153
|
}
|
|
137
154
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilePickerFieldsComponent, deps: [{ token: i1.ValidationService }, { token: i2.ElementTrackerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: { question: "question", inLine: "inLine" }, outputs: { answerChange: "answerChange", inlineDeleteFiles: "inlineDeleteFiles" }, ngImport: i0, template: "<div [ngClass]=\"{ 'mb-4': !inLine }\" class=\"px-3\" [id]=\"'question-' + question.id\">\n <div class=\"input-wrapper mb-2\" *ngIf=\"!inLine\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <lib-docUpload\n [totalSize]=\"totalFileSize\"\n [fileAllowed]=\"fileTypes\"\n [multiple]=\"multiFileUploads\"\n [fileSize]=\"fileSize\"\n [avatarPicker]=\"avatarPicker\"\n (fileTypeNotAllowed)=\"handleFileTypeNotAllowed($event)\"\n (fileSizeAllowed)=\"handleFileSize($event)\"\n (finalArray)=\"handleFinalArray($event)\"\n [attachments] = \"attachments\"\n (deleteFiles)=\"deleteFiles($event)\"\n [files]=\"files\"\n ></lib-docUpload>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n {{ errorMessage }}\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}::ng-deep .timepicker-overlay{z-index:1000!important}::ng-deep .timepicker-backdrop-overlay{z-index:1000!important}.fileInput{position:relative;height:44px;width:111px;background:#d3d3d3;border-radius:6px;padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.fileInput input{opacity:0;position:absolute;left:0;top:0;width:100%;height:inherit}.invalid-question{border:2px solid #f44336;border-radius:4px;padding:8px;margin-bottom:4px}.error-message{color:#f44336;font-size:.8em;margin-top:4px;padding:0 8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type:
|
|
155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilePickerFieldsComponent, deps: [{ token: i1.ValidationService }, { token: i2.ElementTrackerService }, { token: i3.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: { question: "question", inLine: "inLine" }, outputs: { answerChange: "answerChange", inlineDeleteFiles: "inlineDeleteFiles" }, ngImport: i0, template: "<div [ngClass]=\"{ 'mb-4': !inLine }\" class=\"px-3\" [id]=\"'question-' + question.id\">\n <div class=\"input-wrapper mb-2\" *ngIf=\"!inLine\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <lib-docUpload\n [totalSize]=\"totalFileSize\"\n [fileAllowed]=\"fileTypes\"\n [multiple]=\"multiFileUploads\"\n [fileSize]=\"fileSize\"\n [avatarPicker]=\"avatarPicker\"\n (fileTypeNotAllowed)=\"handleFileTypeNotAllowed($event)\"\n (fileSizeAllowed)=\"handleFileSize($event)\"\n (finalArray)=\"handleFinalArray($event)\"\n [attachments] = \"attachments\"\n (deleteFiles)=\"deleteFiles($event)\"\n [files]=\"files\"\n ></lib-docUpload>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n {{ errorMessage }}\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}::ng-deep .timepicker-overlay{z-index:1000!important}::ng-deep .timepicker-backdrop-overlay{z-index:1000!important}.fileInput{position:relative;height:44px;width:111px;background:#d3d3d3;border-radius:6px;padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.fileInput input{opacity:0;position:absolute;left:0;top:0;width:100%;height:inherit}.invalid-question{border:2px solid #f44336;border-radius:4px;padding:8px;margin-bottom:4px}.error-message{color:#f44336;font-size:.8em;margin-top:4px;padding:0 8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DocUploadComponent, selector: "lib-docUpload", inputs: ["totalSize", "fileAllowed", "multiple", "avatarPicker", "attachments", "files", "fileSize"], outputs: ["fileTypeNotAllowed", "fileSizeAllowed", "finalArray", "deleteFiles"] }] }); }
|
|
140
157
|
}
|
|
141
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilePickerFieldsComponent, decorators: [{
|
|
142
159
|
type: Component,
|
|
143
160
|
args: [{ selector: 'lib-file-picker-fields', template: "<div [ngClass]=\"{ 'mb-4': !inLine }\" class=\"px-3\" [id]=\"'question-' + question.id\">\n <div class=\"input-wrapper mb-2\" *ngIf=\"!inLine\">\n <div [innerHTML]=\"question.questionNumber\"></div>\n <label>{{ question.question }}</label\n > \n <span class=\"text-danger\" *ngIf=\"required\">*</span>\n <div\n class=\"svg-wrapper mb-2 hintIcon\"\n [attr.data-title]=\"hint\"\n *ngIf=\"hint\"\n >\n <svg\n class=\"hintSvg\"\n viewBox=\"0 0 30 30\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M15 26.25V26.25C8.78625 26.25 3.75 21.2138 3.75 15V15C3.75 8.78625 8.78625 3.75 15 3.75V3.75C21.2138 3.75 26.25 8.78625 26.25 15V15C26.25 21.2138 21.2138 26.25 15 26.25Z\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M15 16.5623V16.2498C15 15.2285 15.6312 14.6748 16.2637 14.2498C16.8812 13.8335 17.5 13.291 17.5 12.291C17.5 10.9098 16.3813 9.79102 15 9.79102C13.6187 9.79102 12.5 10.9098 12.5 12.291\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14.9988 20C14.8263 20 14.6863 20.14 14.6875 20.3125C14.6875 20.485 14.8275 20.625 15 20.625C15.1725 20.625 15.3125 20.485 15.3125 20.3125C15.3125 20.14 15.1725 20 14.9988 20\"\n stroke=\"#323232\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n <lib-docUpload\n [totalSize]=\"totalFileSize\"\n [fileAllowed]=\"fileTypes\"\n [multiple]=\"multiFileUploads\"\n [fileSize]=\"fileSize\"\n [avatarPicker]=\"avatarPicker\"\n (fileTypeNotAllowed)=\"handleFileTypeNotAllowed($event)\"\n (fileSizeAllowed)=\"handleFileSize($event)\"\n (finalArray)=\"handleFinalArray($event)\"\n [attachments] = \"attachments\"\n (deleteFiles)=\"deleteFiles($event)\"\n [files]=\"files\"\n ></lib-docUpload>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n {{ errorMessage }}\n </div>\n <div *ngIf=\"validationFailed\" class=\"text-danger\">\n <svg\n class=\"validationSvg\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.001 16.75C12.139 16.75 12.251 16.638 12.25 16.5C12.25 16.362 12.138 16.25 12 16.25C11.862 16.25 11.75 16.362 11.75 16.5C11.75 16.638 11.862 16.75 12.001 16.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 21C7.029 21 3 16.971 3 12C3 7.029 7.029 3 12 3C16.971 3 21 7.029 21 12C21 16.971 16.971 21 12 21Z\"\n fill=\"#FF0000\"\n stroke=\"#FF0000\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M12 12.75L12 7.75\"\n stroke=\"white\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"white\" />\n </svg>\n {{ validationMessage }}\n </div>\n</div>\n", styles: [".input-wrapper{display:flex;align-items:flex-start}.svg-wrapper{margin-inline-start:auto;z-index:999}.hintIcon{position:relative;cursor:pointer}.hintIcon:hover:before{content:attr(data-title);position:absolute;top:calc(100% + 2px);right:0;padding:4px 8px;border-radius:4px;background-color:#1d252d;color:#8e9aa0;font-size:14px;min-width:300px;word-wrap:break-word;word-break:break-word;text-align:center;white-space:normal}.hintIcon:hover:after{content:\"\";position:absolute;top:calc(100% - 26px);left:50%;border:solid transparent;border-width:18px;border-bottom-color:#1d252d;transform:translate(-50%)}.height{height:42px}.invalid{border-color:red}.hintSvg{width:30px;height:30px;fill:none}.validationSvg{width:24px;height:24px;fill:none}::ng-deep html lib-formSubmission{font-family:var(--library-font-family)!important;font-size:var(--library-font-size)!important}::ng-deep .timepicker-overlay{z-index:1000!important}::ng-deep .timepicker-backdrop-overlay{z-index:1000!important}.fileInput{position:relative;height:44px;width:111px;background:#d3d3d3;border-radius:6px;padding:0 16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.fileInput input{opacity:0;position:absolute;left:0;top:0;width:100%;height:inherit}.invalid-question{border:2px solid #f44336;border-radius:4px;padding:8px;margin-bottom:4px}.error-message{color:#f44336;font-size:.8em;margin-top:4px;padding:0 8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}\n"] }]
|
|
144
|
-
}], ctorParameters: function () { return [{ type: i1.ValidationService }, { type: i2.ElementTrackerService }]; }, propDecorators: { question: [{
|
|
161
|
+
}], ctorParameters: function () { return [{ type: i1.ValidationService }, { type: i2.ElementTrackerService }, { type: i3.DataService }]; }, propDecorators: { question: [{
|
|
145
162
|
type: Input
|
|
146
163
|
}], inLine: [{
|
|
147
164
|
type: Input
|
|
@@ -150,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
150
167
|
}], inlineDeleteFiles: [{
|
|
151
168
|
type: Output
|
|
152
169
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvZm9ybS1maWVsZHMvZmlsZS1waWNrZXItZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBZXZFLE1BQU0sT0FBTyx5QkFBeUI7SUF5QnBDLFlBQ1ksaUJBQW9DLEVBQ3BDLE9BQThCO1FBRDlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUExQmpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN2QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV0RCxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFDakMsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLHFCQUFnQixHQUFXLENB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QUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxnRUFBZ0U7U0FDakU7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7K0dBNUpVLHlCQUF5QjttR0FBekIseUJBQXlCLHFNQ2Z0QywyNEdBNkZBOzs0RkQ5RWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3Qjs0SUFLekIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWxlbWVudC10cmFja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWxpZGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0dGFjaG1lbnQge1xuICBmaWxlSWQ6IHN0cmluZztcbiAgZmlsZU5hbWU6IHN0cmluZztcbiAgZmlsZVVybDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZmlsZS1waWNrZXItZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtcGlja2VyLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtcGlja2VyLWZpZWxkcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlUGlja2VyRmllbGRzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9O1xuICBASW5wdXQoKSBpbkxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGFuc3dlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW5saW5lRGVsZXRlRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb3VudDogbnVtYmVyID0gMDtcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGludDogc3RyaW5nID0gJyc7XG4gIG11bHRpRmlsZVVwbG9hZHM6IGJvb2xlYW4gPSB0cnVlO1xuICBmaWxlVHlwZXM6IHN0cmluZ1tdID0gW107XG4gIGZpbGVTaXplOiBudW1iZXIgPSAwO1xuICBmaWxlU2l6ZVVuaXQ6IHN0cmluZyA9ICcnO1xuICB0b3RhbEZpbGVTaXplOiBudW1iZXIgPSAwO1xuICBpbml0aWFsRmlsZVNpemU6IG51bWJlciA9IDA7XG4gIGluaXRpYWxUb3RhbFNpemU6IG51bWJlciA9IDA7XG4gIGRyYWdBbmREcm9wOiBib29sZWFuID0gZmFsc2U7XG4gIHByZXZpZXdVcGxvYWRlZEZpbGVzOiBib29sZWFuID0gdHJ1ZTtcbiAgdmFsaWRhdGlvbkZhaWxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50W10gPSBbXTtcblxuICBhdmF0YXJQaWNrZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZXM6IGFueTtcbiAgcHJpdmF0ZSBlbGVtZW50SWQ6IHN0cmluZz0nJztcbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZSxcbiAgICAgIHByaXZhdGUgdHJhY2tlcjogRWxlbWVudFRyYWNrZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gIGhhbmRsZUZpbGVUeXBlTm90QWxsb3dlZChmaWxlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJ0ZpbGUgdHlwZSBub3QgYWxsb3dlZCc7XG4gICAgdGhpcy5jbGVhclZhbGlkYXRpb25NZXNzYWdlQWZ0ZXJUaW1lb3V0KCk7XG4gIH1cblxuICBoYW5kbGVGaWxlU2l6ZShldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICBpZiAoZXZlbnQgPT09ICdGaWxlIHNpemUgZXhjZWVkcyB0aGUgbGltaXQnKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYCR7ZXZlbnR9ICR7dGhpcy5pbml0aWFsRmlsZVNpemV9ICR7dGhpcy5maWxlU2l6ZVVuaXR9YDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnVG90YWwgc2l6ZSBleGNlZWRzIHRoZSBsaW1pdCcpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBgJHtldmVudH0gJHt0aGlzLmluaXRpYWxUb3RhbFNpemV9ICR7dGhpcy5maWxlU2l6ZVVuaXR9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9IGV2ZW50O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyVmFsaWRhdGlvbk1lc3NhZ2VBZnRlclRpbWVvdXQoKTtcbiAgfVxuXG4gIGNsZWFyVmFsaWRhdGlvbk1lc3NhZ2VBZnRlclRpbWVvdXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcbiAgICB9LCA1MDAwKTsgLy8gVGltZW91dCBzZXQgdG8gNSBzZWNvbmRzXG4gIH1cblxuICBoYW5kbGVGaW5hbEFycmF5KGZpbGVUeXBlOiBhbnlbXSk6IHZvaWQge1xuICAgIGNvbnN0IGV4dHJhY3RlZERhdGEgPSBmaWxlVHlwZS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgIG5hbWU6IGl0ZW0uX2ZpbGUubmFtZSxcbiAgICAgIHNpemU6IGl0ZW0uX2ZpbGUuc2l6ZSxcbiAgICAgIHR5cGU6IGl0ZW0uX2ZpbGUudHlwZSxcbiAgICB9KSk7XG4gICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGV4dHJhY3RlZERhdGEpO1xuICAgIHRoaXMucXVlc3Rpb24uYW5zd2VyID0gZmlsZVR5cGU7XG4gICAgdGhpcy5hbnN3ZXJDaGFuZ2UuZW1pdCh0aGlzLnF1ZXN0aW9uLmFuc3dlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbHVlQXNzaWduZWQoKTtcbiAgfVxuXG4gIHZhbHVlQXNzaWduZWQoKSB7XG4gICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMucXVlc3Rpb24ucmVxdWlyZWQ7XG4gICAgdGhpcy5oaW50ID0gdGhpcy5xdWVzdGlvbi5oaW50O1xuICAgIHRoaXMubXVsdGlGaWxlVXBsb2FkcyA9XG4gICAgICB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UubXVsdGlGaWxlVXBsb2FkcztcbiAgICB0aGlzLmRyYWdBbmREcm9wID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRyYWdBbmREcm9wO1xuICAgIHRoaXMucHJldmlld1VwbG9hZGVkRmlsZXMgPVxuICAgICAgdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLnByZXZpZXdVcGxvYWRlZEZpbGVzO1xuICAgIHRoaXMuZmlsZVR5cGVzID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uLmZpbGVUeXBlcztcbiAgICB0aGlzLmZpbGVTaXplVW5pdCA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5maWxlU2l6ZVVuaXQ7XG4gICAgdGhpcy5hdmF0YXJQaWNrZXIgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuYXZhdGFyUGlja2VyO1xuICAgIHRoaXMuaW5pdGlhbEZpbGVTaXplID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uPy5maWxlU2l6ZTtcbiAgICB0aGlzLmZpbGVTaXplID0gdGhpcy5jb252ZXJ0VG9CeXRlcyhcbiAgICAgIHRoaXMuaW5pdGlhbEZpbGVTaXplLFxuICAgICAgdGhpcy5maWxlU2l6ZVVuaXRcbiAgICApO1xuICAgIHRoaXMuaW5pdGlhbFRvdGFsU2l6ZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbj8udG90YWxGaWxlU2l6ZTtcbiAgICB0aGlzLnRvdGFsRmlsZVNpemUgPSB0aGlzLmNvbnZlcnRUb0J5dGVzKFxuICAgICAgdGhpcy5pbml0aWFsVG90YWxTaXplLFxuICAgICAgdGhpcy5maWxlU2l6ZVVuaXRcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24uYW5zd2VyKSB7XG4gICAgICB0aGlzLmZpbGVzID0gdGhpcy5xdWVzdGlvbi5hbnN3ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMucXVlc3Rpb24/LmF0dGFjaG1lbnRzO1xuICB9XG4gIGNvbnZlcnRUb0J5dGVzKHNpemU6IG51bWJlciwgdW5pdDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCB1bml0czogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHtcbiAgICAgIEI6IDEsXG4gICAgICBLQjogMTAyNCxcbiAgICAgIE1COiAxMDI0ICogMTAyNCxcbiAgICAgIEdCOiAxMDI0ICogMTAyNCAqIDEwMjQsXG4gICAgfTtcbiAgICByZXR1cm4gc2l6ZSAqICh1bml0c1t1bml0LnRvVXBwZXJDYXNlKCldIHx8IDEpO1xuICB9XG5cbiAgc2VsZWN0ZWRGaWxlITogRmlsZTtcbiAgc2VsZWN0ZWRGaWxlczogYW55ID0gW107XG5cbiAgb25GaWxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMucHVzaCh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gICAgdGhpcy5xdWVzdGlvbi5hbnN3ZXIgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XG4gICAgdGhpcy5hbnN3ZXJDaGFuZ2UuZW1pdCh0aGlzLnF1ZXN0aW9uLmFuc3dlcik7XG4gIH1cblxuICBkZWxldGVGaWxlcyhldmVudDogYW55KSB7XG4gICAgdGhpcy5xdWVzdGlvbi5kZWxldGVGaWxlcyA9IGV2ZW50O1xuICAgIHRoaXMucXVlc3Rpb24uYXR0YWNobWVudHMgPSB0aGlzLnF1ZXN0aW9uLmF0dGFjaG1lbnRzLmZpbHRlcihcbiAgICAgIChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuICFldmVudC5pbmNsdWRlcyhpdGVtLmZpbGVJZCk7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmlubGluZURlbGV0ZUZpbGVzLmVtaXQodGhpcy5xdWVzdGlvbi5kZWxldGVGaWxlcyk7XG4gIH1cblxuICBoYW5kbGVWYWxpZGF0aW9uKGlzVmFsaWQ6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyA9ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJykge1xuICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmNsZWFySW52YWxpZCh0aGlzLnF1ZXN0aW9uLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy52YWxpZGF0aW9uU2VydmljZS5zZXRJbnZhbGlkKHRoaXMucXVlc3Rpb24uaWQsIG1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXRFcnJvck1lc3NhZ2UodGhpcy5xdWVzdGlvbi5pZCk7XG4gIH1cblxuICBnZXQgZXJyb3JNZXNzYWdlKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZSh0aGlzLnF1ZXN0aW9uLmlkKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmVsZW1lbnRJZCA9IGBxdWVzdGlvbi0ke3RoaXMucXVlc3Rpb24uaWR9YDtcbiAgICB0aGlzLnRyYWNrZXIucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxlbWVudElkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmVsZW1lbnRJZCkge1xuICAgICAgdGhpcy50cmFja2VyLnVucmVnaXN0ZXJFbGVtZW50KHRoaXMuZWxlbWVudElkKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnbWItNCc6ICFpbkxpbmUgfVwiIGNsYXNzPVwicHgtM1wiIFtpZF09XCIncXVlc3Rpb24tJyArIHF1ZXN0aW9uLmlkXCI+XG4gIDxkaXYgIGNsYXNzPVwiaW5wdXQtd3JhcHBlciBtYi0yXCIgKm5nSWY9XCIhaW5MaW5lXCI+XG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cInF1ZXN0aW9uLnF1ZXN0aW9uTnVtYmVyXCI+PC9kaXY+XG4gICAgJm5ic3A7Jm5ic3A7IDxsYWJlbD57eyBxdWVzdGlvbi5xdWVzdGlvbiB9fTwvbGFiZWxcbiAgICA+Jm5ic3A7XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3ZnLXdyYXBwZXIgbWItMiBoaW50SWNvblwiXG4gICAgICBbYXR0ci5kYXRhLXRpdGxlXT1cImhpbnRcIlxuICAgICAgKm5nSWY9XCJoaW50XCJcbiAgICA+XG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiaGludFN2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMzAgMzBcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTE1IDI2LjI1VjI2LjI1QzguNzg2MjUgMjYuMjUgMy43NSAyMS4yMTM4IDMuNzUgMTVWMTVDMy43NSA4Ljc4NjI1IDguNzg2MjUgMy43NSAxNSAzLjc1VjMuNzVDMjEuMjEzOCAzLjc1IDI2LjI1IDguNzg2MjUgMjYuMjUgMTVWMTVDMjYuMjUgMjEuMjEzOCAyMS4yMTM4IDI2LjI1IDE1IDI2LjI1WlwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNSAxNi41NjIzVjE2LjI0OThDMTUgMTUuMjI4NSAxNS42MzEyIDE0LjY3NDggMTYuMjYzNyAxNC4yNDk4QzE2Ljg4MTIgMTMuODMzNSAxNy41IDEzLjI5MSAxNy41IDEyLjI5MUMxNy41IDEwLjkwOTggMTYuMzgxMyA5Ljc5MTAyIDE1IDkuNzkxMDJDMTMuNjE4NyA5Ljc5MTAyIDEyLjUgMTAuOTA5OCAxMi41IDEyLjI5MVwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNC45OTg4IDIwQzE0LjgyNjMgMjAgMTQuNjg2MyAyMC4xNCAxNC42ODc1IDIwLjMxMjVDMTQuNjg3NSAyMC40ODUgMTQuODI3NSAyMC42MjUgMTUgMjAuNjI1QzE1LjE3MjUgMjAuNjI1IDE1LjMxMjUgMjAuNDg1IDE1LjMxMjUgMjAuMzEyNUMxNS4zMTI1IDIwLjE0IDE1LjE3MjUgMjAgMTQuOTk4OCAyMFwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzMyMzIzMlwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxsaWItZG9jVXBsb2FkXG4gICAgW3RvdGFsU2l6ZV09XCJ0b3RhbEZpbGVTaXplXCJcbiAgICBbZmlsZUFsbG93ZWRdPVwiZmlsZVR5cGVzXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlGaWxlVXBsb2Fkc1wiXG4gICAgW2ZpbGVTaXplXT1cImZpbGVTaXplXCJcbiAgICBbYXZhdGFyUGlja2VyXT1cImF2YXRhclBpY2tlclwiXG4gICAgKGZpbGVUeXBlTm90QWxsb3dlZCk9XCJoYW5kbGVGaWxlVHlwZU5vdEFsbG93ZWQoJGV2ZW50KVwiXG4gICAgKGZpbGVTaXplQWxsb3dlZCk9XCJoYW5kbGVGaWxlU2l6ZSgkZXZlbnQpXCJcbiAgICAoZmluYWxBcnJheSk9XCJoYW5kbGVGaW5hbEFycmF5KCRldmVudClcIlxuICAgIFthdHRhY2htZW50c10gPSBcImF0dGFjaG1lbnRzXCJcbiAgICAoZGVsZXRlRmlsZXMpPVwiZGVsZXRlRmlsZXMoJGV2ZW50KVwiXG4gICAgW2ZpbGVzXT1cImZpbGVzXCJcbiAgPjwvbGliLWRvY1VwbG9hZD5cbiAgPGRpdiAqbmdJZj1cImlzSW52YWxpZFwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxuICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInZhbGlkYXRpb25GYWlsZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJ2YWxpZGF0aW9uU3ZnXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMi4wMDEgMTYuNzVDMTIuMTM5IDE2Ljc1IDEyLjI1MSAxNi42MzggMTIuMjUgMTYuNUMxMi4yNSAxNi4zNjIgMTIuMTM4IDE2LjI1IDEyIDE2LjI1QzExLjg2MiAxNi4yNSAxMS43NSAxNi4zNjIgMTEuNzUgMTYuNUMxMS43NSAxNi42MzggMTEuODYyIDE2Ljc1IDEyLjAwMSAxNi43NVwiXG4gICAgICAgIHN0cm9rZT1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTIgMjFDNy4wMjkgMjEgMyAxNi45NzEgMyAxMkMzIDcuMDI5IDcuMDI5IDMgMTIgM0MxNi45NzEgMyAyMSA3LjAyOSAyMSAxMkMyMSAxNi45NzEgMTYuOTcxIDIxIDEyIDIxWlwiXG4gICAgICAgIGZpbGw9XCIjRkYwMDAwXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGMDAwMFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMiAxMi43NUwxMiA3Ljc1XCJcbiAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTZcIiByPVwiMVwiIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgPC9zdmc+XG4gICAge3sgdmFsaWRhdGlvbk1lc3NhZ2UgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXItZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tc3VibWlzc2lvbi9zcmMvZm9ybS1maWVsZHMvZmlsZS1waWNrZXItZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL2Zvcm0tZmllbGRzL2ZpbGUtcGlja2VyLWZpZWxkcy9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQWdCdkUsTUFBTSxPQUFPLHlCQUF5QjtJQTBCcEMsWUFDWSxpQkFBb0MsRUFDcEMsT0FBOEIsRUFDOUIsV0FBd0I7UUFGeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQTVCM0IsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXRELFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNqQyxjQUFTLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFDMUIs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QUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7K0dBOUtVLHlCQUF5QjttR0FBekIseUJBQXlCLHFNQ2hCdEMsMjRHQTZGQTs7NEZEN0VhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0I7c0tBS3pCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRUcmFja2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VsZW1lbnQtdHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50IHtcbiAgZmlsZUlkOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG4gIGZpbGVVcmw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpbGUtcGlja2VyLWZpZWxkcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXBpY2tlci1maWVsZHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVBpY2tlckZpZWxkc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgaW5MaW5lOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBhbnN3ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGlubGluZURlbGV0ZUZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY291bnQ6IG51bWJlciA9IDA7XG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGhpbnQ6IHN0cmluZyA9ICcnO1xuICBtdWx0aUZpbGVVcGxvYWRzOiBib29sZWFuID0gdHJ1ZTtcbiAgZmlsZVR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuICBmaWxlU2l6ZTogbnVtYmVyID0gMDtcbiAgZmlsZVNpemVVbml0OiBzdHJpbmcgPSAnJztcbiAgdG90YWxGaWxlU2l6ZTogbnVtYmVyID0gMDtcbiAgaW5pdGlhbEZpbGVTaXplOiBudW1iZXIgPSAwO1xuICBpbml0aWFsVG90YWxTaXplOiBudW1iZXIgPSAwO1xuICBkcmFnQW5kRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2aWV3VXBsb2FkZWRGaWxlczogYm9vbGVhbiA9IHRydWU7XG4gIHZhbGlkYXRpb25GYWlsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBhdHRhY2htZW50czogQXR0YWNobWVudFtdID0gW107XG5cbiAgYXZhdGFyUGlja2VyOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbGVzOiBhbnk7XG4gIHByaXZhdGUgZWxlbWVudElkOiBzdHJpbmc9Jyc7XG4gIGFwaVVybDpzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZSxcbiAgICAgIHByaXZhdGUgdHJhY2tlcjogRWxlbWVudFRyYWNrZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VcbiAgICApIHtcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpVXJsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5hcGlVcmwgPSBkYXRhKycvYXBpL2Nkbi9wcmV2aWV3P3VybD0nO1xuICAgICAgfSk7XG4gICAgfVxuXG4gIGhhbmRsZUZpbGVUeXBlTm90QWxsb3dlZChmaWxlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJ0ZpbGUgdHlwZSBub3QgYWxsb3dlZCc7XG4gICAgdGhpcy5jbGVhclZhbGlkYXRpb25NZXNzYWdlQWZ0ZXJUaW1lb3V0KCk7XG4gIH1cblxuICBoYW5kbGVGaWxlU2l6ZShldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRmFpbGVkID0gdHJ1ZTtcbiAgICBpZiAoZXZlbnQgPT09ICdGaWxlIHNpemUgZXhjZWVkcyB0aGUgbGltaXQnKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gYCR7ZXZlbnR9ICR7dGhpcy5pbml0aWFsRmlsZVNpemV9ICR7dGhpcy5maWxlU2l6ZVVuaXR9YDtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnVG90YWwgc2l6ZSBleGNlZWRzIHRoZSBsaW1pdCcpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBgJHtldmVudH0gJHt0aGlzLmluaXRpYWxUb3RhbFNpemV9ICR7dGhpcy5maWxlU2l6ZVVuaXR9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZSA9IGV2ZW50O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyVmFsaWRhdGlvbk1lc3NhZ2VBZnRlclRpbWVvdXQoKTtcbiAgfVxuXG4gIGNsZWFyVmFsaWRhdGlvbk1lc3NhZ2VBZnRlclRpbWVvdXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgICB0aGlzLnZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcbiAgICB9LCA1MDAwKTsgLy8gVGltZW91dCBzZXQgdG8gNSBzZWNvbmRzXG4gIH1cblxuICBoYW5kbGVGaW5hbEFycmF5KGZpbGVUeXBlOiBhbnlbXSk6IHZvaWQge1xuICAgIGNvbnN0IGV4dHJhY3RlZERhdGEgPSBmaWxlVHlwZS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgIG5hbWU6IGl0ZW0uX2ZpbGUubmFtZSxcbiAgICAgIHNpemU6IGl0ZW0uX2ZpbGUuc2l6ZSxcbiAgICAgIHR5cGU6IGl0ZW0uX2ZpbGUudHlwZSxcbiAgICB9KSk7XG4gICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGV4dHJhY3RlZERhdGEpO1xuICAgIHRoaXMucXVlc3Rpb24uYW5zd2VyID0gZmlsZVR5cGU7XG4gICAgdGhpcy5hbnN3ZXJDaGFuZ2UuZW1pdCh0aGlzLnF1ZXN0aW9uLmFuc3dlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbHVlQXNzaWduZWQoKTtcbiAgfVxuXG4gIHZhbHVlQXNzaWduZWQoKSB7XG4gICAgdGhpcy5jb3VudCA9IHRoaXMucXVlc3Rpb24uY291bnQ7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHRoaXMucXVlc3Rpb24ucmVxdWlyZWQ7XG4gICAgdGhpcy5oaW50ID0gdGhpcy5xdWVzdGlvbi5oaW50O1xuICAgIHRoaXMubXVsdGlGaWxlVXBsb2FkcyA9XG4gICAgICB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UubXVsdGlGaWxlVXBsb2FkcztcbiAgICB0aGlzLmRyYWdBbmREcm9wID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLmRyYWdBbmREcm9wO1xuICAgIHRoaXMucHJldmlld1VwbG9hZGVkRmlsZXMgPVxuICAgICAgdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC5hcHBlYXJhbmNlLnByZXZpZXdVcGxvYWRlZEZpbGVzO1xuICAgIHRoaXMuZmlsZVR5cGVzID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uLmZpbGVUeXBlcztcbiAgICB0aGlzLmZpbGVTaXplVW5pdCA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbi5maWxlU2l6ZVVuaXQ7XG4gICAgdGhpcy5hdmF0YXJQaWNrZXIgPSB0aGlzLnF1ZXN0aW9uLmZvcm1FbGVtZW50LmFwcGVhcmFuY2UuYXZhdGFyUGlja2VyO1xuICAgIHRoaXMuaW5pdGlhbEZpbGVTaXplID0gdGhpcy5xdWVzdGlvbi5mb3JtRWxlbWVudC52YWxpZGF0aW9uPy5maWxlU2l6ZTtcbiAgICB0aGlzLmZpbGVTaXplID0gdGhpcy5jb252ZXJ0VG9CeXRlcyhcbiAgICAgIHRoaXMuaW5pdGlhbEZpbGVTaXplLFxuICAgICAgdGhpcy5maWxlU2l6ZVVuaXRcbiAgICApO1xuICAgIHRoaXMuaW5pdGlhbFRvdGFsU2l6ZSA9IHRoaXMucXVlc3Rpb24uZm9ybUVsZW1lbnQudmFsaWRhdGlvbj8udG90YWxGaWxlU2l6ZTtcbiAgICB0aGlzLnRvdGFsRmlsZVNpemUgPSB0aGlzLmNvbnZlcnRUb0J5dGVzKFxuICAgICAgdGhpcy5pbml0aWFsVG90YWxTaXplLFxuICAgICAgdGhpcy5maWxlU2l6ZVVuaXRcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucXVlc3Rpb24uYW5zd2VyKSB7XG4gICAgICB0aGlzLmZpbGVzID0gdGhpcy5xdWVzdGlvbi5hbnN3ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMucXVlc3Rpb24/LmF0dGFjaG1lbnRzO1xuICAgIHRoaXMuY29udmVydFVybCgpO1xuICB9XG5cbiAgY29udmVydFVybCgpe1xuICAgIGlmKHRoaXMuYXR0YWNobWVudHMpeyAgICAgIFxuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuYXR0YWNobWVudHMubWFwKGF0dGFjaG1lbnQgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmF0dGFjaG1lbnQsXG4gICAgICAgICAgZmlsZVVybDogdGhpcy5hcGlVcmwrYXR0YWNobWVudC5maWxlVXJsLnJlcGxhY2UoL1xcLy9nLCBcIiUyRlwiKVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29udmVydFRvQnl0ZXMoc2l6ZTogbnVtYmVyLCB1bml0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHVuaXRzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICAgICAgQjogMSxcbiAgICAgIEtCOiAxMDI0LFxuICAgICAgTUI6IDEwMjQgKiAxMDI0LFxuICAgICAgR0I6IDEwMjQgKiAxMDI0ICogMTAyNCxcbiAgICB9O1xuICAgIHJldHVybiBzaXplICogKHVuaXRzW3VuaXQudG9VcHBlckNhc2UoKV0gfHwgMSk7XG4gIH1cblxuICBzZWxlY3RlZEZpbGUhOiBGaWxlO1xuICBzZWxlY3RlZEZpbGVzOiBhbnkgPSBbXTtcblxuICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcy5wdXNoKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgICB0aGlzLnF1ZXN0aW9uLmFuc3dlciA9IHRoaXMuc2VsZWN0ZWRGaWxlcztcbiAgICB0aGlzLmFuc3dlckNoYW5nZS5lbWl0KHRoaXMucXVlc3Rpb24uYW5zd2VyKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGVzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnF1ZXN0aW9uLmRlbGV0ZUZpbGVzID0gZXZlbnQ7XG4gICAgdGhpcy5xdWVzdGlvbi5hdHRhY2htZW50cyA9IHRoaXMucXVlc3Rpb24uYXR0YWNobWVudHMuZmlsdGVyKFxuICAgICAgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gIWV2ZW50LmluY2x1ZGVzKGl0ZW0uZmlsZUlkKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuaW5saW5lRGVsZXRlRmlsZXMuZW1pdCh0aGlzLnF1ZXN0aW9uLmRlbGV0ZUZpbGVzKTtcbiAgfVxuXG4gIGhhbmRsZVZhbGlkYXRpb24oaXNWYWxpZDogYm9vbGVhbiwgbWVzc2FnZTogc3RyaW5nID0gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnKSB7XG4gICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuY2xlYXJJbnZhbGlkKHRoaXMucXVlc3Rpb24uaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLnNldEludmFsaWQodGhpcy5xdWVzdGlvbi5pZCwgbWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldEVycm9yTWVzc2FnZSh0aGlzLnF1ZXN0aW9uLmlkKTtcbiAgfVxuXG4gIGdldCBlcnJvck1lc3NhZ2UoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKHRoaXMucXVlc3Rpb24uaWQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZWxlbWVudElkID0gYHF1ZXN0aW9uLSR7dGhpcy5xdWVzdGlvbi5pZH1gO1xuICAgIHRoaXMudHJhY2tlci5yZWdpc3RlckVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudElkKSB7XG4gICAgICB0aGlzLnRyYWNrZXIudW5yZWdpc3RlckVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICdtYi00JzogIWluTGluZSB9XCIgY2xhc3M9XCJweC0zXCIgW2lkXT1cIidxdWVzdGlvbi0nICsgcXVlc3Rpb24uaWRcIj5cbiAgPGRpdiAgY2xhc3M9XCJpbnB1dC13cmFwcGVyIG1iLTJcIiAqbmdJZj1cIiFpbkxpbmVcIj5cbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwicXVlc3Rpb24ucXVlc3Rpb25OdW1iZXJcIj48L2Rpdj5cbiAgICAmbmJzcDsmbmJzcDsgPGxhYmVsPnt7IHF1ZXN0aW9uLnF1ZXN0aW9uIH19PC9sYWJlbFxuICAgID4mbmJzcDtcbiAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdmctd3JhcHBlciBtYi0yIGhpbnRJY29uXCJcbiAgICAgIFthdHRyLmRhdGEtdGl0bGVdPVwiaGludFwiXG4gICAgICAqbmdJZj1cImhpbnRcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJoaW50U3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAzMCAzMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNMTUgMjYuMjVWMjYuMjVDOC43ODYyNSAyNi4yNSAzLjc1IDIxLjIxMzggMy43NSAxNVYxNUMzLjc1IDguNzg2MjUgOC43ODYyNSAzLjc1IDE1IDMuNzVWMy43NUMyMS4yMTM4IDMuNzUgMjYuMjUgOC43ODYyNSAyNi4yNSAxNVYxNUMyNi4yNSAyMS4yMTM4IDIxLjIxMzggMjYuMjUgMTUgMjYuMjVaXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDE2LjU2MjNWMTYuMjQ5OEMxNSAxNS4yMjg1IDE1LjYzMTIgMTQuNjc0OCAxNi4yNjM3IDE0LjI0OThDMTYuODgxMiAxMy44MzM1IDE3LjUgMTMuMjkxIDE3LjUgMTIuMjkxQzE3LjUgMTAuOTA5OCAxNi4zODEzIDkuNzkxMDIgMTUgOS43OTEwMkMxMy42MTg3IDkuNzkxMDIgMTIuNSAxMC45MDk4IDEyLjUgMTIuMjkxXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE0Ljk5ODggMjBDMTQuODI2MyAyMCAxNC42ODYzIDIwLjE0IDE0LjY4NzUgMjAuMzEyNUMxNC42ODc1IDIwLjQ4NSAxNC44Mjc1IDIwLjYyNSAxNSAyMC42MjVDMTUuMTcyNSAyMC42MjUgMTUuMzEyNSAyMC40ODUgMTUuMzEyNSAyMC4zMTI1QzE1LjMxMjUgMjAuMTQgMTUuMTcyNSAyMCAxNC45OTg4IDIwXCJcbiAgICAgICAgICBzdHJva2U9XCIjMzIzMjMyXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGxpYi1kb2NVcGxvYWRcbiAgICBbdG90YWxTaXplXT1cInRvdGFsRmlsZVNpemVcIlxuICAgIFtmaWxlQWxsb3dlZF09XCJmaWxlVHlwZXNcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aUZpbGVVcGxvYWRzXCJcbiAgICBbZmlsZVNpemVdPVwiZmlsZVNpemVcIlxuICAgIFthdmF0YXJQaWNrZXJdPVwiYXZhdGFyUGlja2VyXCJcbiAgICAoZmlsZVR5cGVOb3RBbGxvd2VkKT1cImhhbmRsZUZpbGVUeXBlTm90QWxsb3dlZCgkZXZlbnQpXCJcbiAgICAoZmlsZVNpemVBbGxvd2VkKT1cImhhbmRsZUZpbGVTaXplKCRldmVudClcIlxuICAgIChmaW5hbEFycmF5KT1cImhhbmRsZUZpbmFsQXJyYXkoJGV2ZW50KVwiXG4gICAgW2F0dGFjaG1lbnRzXSA9IFwiYXR0YWNobWVudHNcIlxuICAgIChkZWxldGVGaWxlcyk9XCJkZWxldGVGaWxlcygkZXZlbnQpXCJcbiAgICBbZmlsZXNdPVwiZmlsZXNcIlxuICA+PC9saWItZG9jVXBsb2FkPlxuICA8ZGl2ICpuZ0lmPVwiaXNJbnZhbGlkXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAge3sgZXJyb3JNZXNzYWdlIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidmFsaWRhdGlvbkZhaWxlZFwiIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInZhbGlkYXRpb25TdmdcIlxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyLjAwMSAxNi43NUMxMi4xMzkgMTYuNzUgMTIuMjUxIDE2LjYzOCAxMi4yNSAxNi41QzEyLjI1IDE2LjM2MiAxMi4xMzggMTYuMjUgMTIgMTYuMjVDMTEuODYyIDE2LjI1IDExLjc1IDE2LjM2MiAxMS43NSAxNi41QzExLjc1IDE2LjYzOCAxMS44NjIgMTYuNzUgMTIuMDAxIDE2Ljc1XCJcbiAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMiAyMUM3LjAyOSAyMSAzIDE2Ljk3MSAzIDEyQzMgNy4wMjkgNy4wMjkgMyAxMiAzQzE2Ljk3MSAzIDIxIDcuMDI5IDIxIDEyQzIxIDE2Ljk3MSAxNi45NzEgMjEgMTIgMjFaXCJcbiAgICAgICAgZmlsbD1cIiNGRjAwMDBcIlxuICAgICAgICBzdHJva2U9XCIjRkYwMDAwXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEyIDEyLjc1TDEyIDcuNzVcIlxuICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxNlwiIHI9XCIxXCIgZmlsbD1cIndoaXRlXCIgLz5cbiAgICA8L3N2Zz5cbiAgICB7eyB2YWxpZGF0aW9uTWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|