nuxeo-development-framework 2.0.7 → 2.0.8
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/bundles/nuxeo-development-framework.umd.js +54 -14
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +3 -3
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +3 -3
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +29 -3
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +20 -6
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +54 -14
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -28,6 +28,7 @@ export class DynamicFormTextItemComponent {
|
|
|
28
28
|
this.autoComplete_propertyName = '';
|
|
29
29
|
this.autoComplete_propertyKey = '';
|
|
30
30
|
this.autoCompleteValueKey = '';
|
|
31
|
+
this.autoCompleteType = 'percentage';
|
|
31
32
|
/** input type */
|
|
32
33
|
this.type = 'text';
|
|
33
34
|
/** is Editable */
|
|
@@ -182,7 +183,19 @@ export class DynamicFormTextItemComponent {
|
|
|
182
183
|
pageSize: 40,
|
|
183
184
|
pageProvider: this.autoComplete_pageProvider,
|
|
184
185
|
};
|
|
185
|
-
params[this.autoComplete_propertyName] = (val) ? `%${val}%` : '';
|
|
186
|
+
// params[this.autoComplete_propertyName] = (val) ? `%${val}%` : '';
|
|
187
|
+
if (this.autoCompleteType == "caseSensitive" && val) {
|
|
188
|
+
let result = this.ToCaseInsensitive(val);
|
|
189
|
+
params[this.autoComplete_propertyName] = result;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
if (this.autoCompleteType == "percentage" && val) {
|
|
193
|
+
params[this.autoComplete_propertyName] = '%' + val + '%';
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
params[this.autoComplete_propertyName] = '';
|
|
197
|
+
}
|
|
198
|
+
}
|
|
186
199
|
this.dynamicFormUpdateService
|
|
187
200
|
.getTextBoxSuggestionResults(this.autoComplete_pageProvider, params, this.autoComplete_propertyKey, this.autoCompleteValueKey)
|
|
188
201
|
.subscribe((data) => {
|
|
@@ -200,10 +213,21 @@ export class DynamicFormTextItemComponent {
|
|
|
200
213
|
}
|
|
201
214
|
}
|
|
202
215
|
}
|
|
216
|
+
ToCaseInsensitive(orginalText) {
|
|
217
|
+
let result = "";
|
|
218
|
+
let orginalTextLowerCase = orginalText.toLowerCase();
|
|
219
|
+
for (let i = 0; i < orginalTextLowerCase.length; i++) {
|
|
220
|
+
if (orginalTextLowerCase.charAt(i) >= 'a' && orginalTextLowerCase.charAt(i) <= 'z')
|
|
221
|
+
result = result + "[" + orginalTextLowerCase.charAt(i) + orginalTextLowerCase.charAt(i).toUpperCase() + "]";
|
|
222
|
+
else
|
|
223
|
+
result = result + orginalText.charAt(i);
|
|
224
|
+
}
|
|
225
|
+
return ".*" + result + ".*";
|
|
226
|
+
}
|
|
203
227
|
}
|
|
204
228
|
DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
|
|
205
229
|
DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
206
|
-
DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : editedValue }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option.title)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
230
|
+
DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : editedValue }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option.title)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
207
231
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
|
|
208
232
|
type: Component,
|
|
209
233
|
args: [{
|
|
@@ -228,6 +252,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
228
252
|
type: Input
|
|
229
253
|
}], autoCompleteValueKey: [{
|
|
230
254
|
type: Input
|
|
255
|
+
}], autoCompleteType: [{
|
|
256
|
+
type: Input
|
|
231
257
|
}], type: [{
|
|
232
258
|
type: Input
|
|
233
259
|
}], property: [{
|
|
@@ -250,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
250
276
|
type: ViewChild,
|
|
251
277
|
args: ['editorInput']
|
|
252
278
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQStDdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQTlDdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUVuQyxpQkFBaUI7UUFFakIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQU9kLGtCQUFrQjtRQUVsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLHlCQUF5QjtRQUNoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixrQkFBa0I7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBa0I7UUFFbEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsMkJBQTJCO1FBRTNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUXJCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFVN0IsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBNEkzQixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQWhKdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUMsaUJBQWlCLENBQUM7SUFDdkUsQ0FBQztJQUlELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBcUIsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLDRCQUE0QjtRQUU1QiwrQ0FBK0M7SUFDakQsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNUOztrQ0FFMEI7SUFDNUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUNELFdBQVcsQ0FBQyxVQUFtQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFOztZQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGFBQWEsMENBQUUsS0FBSyxFQUFFLENBQUM7YUFDMUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlDO1FBQ3JDLDJCQUEyQjtRQUUzQjs7a0NBRTBCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWlDO1FBQ3RDLDJCQUEyQjtRQUMzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQzdDLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQscUJBQXFCLENBQ25CLFFBQWtDLEVBQ2xDLEtBQWE7UUFFYixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsS0FBSyxVQUFVLEVBQUU7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELHlCQUF5QjtRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9DLElBQUksTUFBTSxHQUFHO2dCQUNYLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2dCQUNaLFlBQVksRUFBRSxJQUFJLENBQUMseUJBQXlCO2FBQzdDLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyx3QkFBd0I7aUJBQzFCLDJCQUEyQixDQUMxQixJQUFJLENBQUMseUJBQXlCLEVBQzlCLE1BQU0sRUFDTixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN2RCxDQUFDO2dCQUNGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFDdEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7YUFDM0I7U0FDRjtJQUNILENBQUM7O0FBblBNLDhDQUFpQixHQUFHLElBQUksQ0FBQzt5SEFGckIsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsNHFCQ3BDekMscWpGQW9FQTsyRkRoQ2EsNEJBQTRCO2tCQU54QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQW1ESSxJQUFJOzswQkFBSSxRQUFROzRDQTlDVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQUlFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcblxyXG4gIC8qKiBpbnB1dCB0eXBlICovXHJcbiAgQElucHV0KClcclxuICB0eXBlID0gJ3RleHQnO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbDtcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKVxyXG4gIGxhYmVsO1xyXG4gIC8qKiBpcyBFZGl0YWJsZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZWRpdGFibGUgPSB0cnVlO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc3BsYXlFbXB0eSA9IHRydWU7XHJcbiAgLyoqIHNob3VsZCBwcmV2ZW50IHNwYWNlICovXHJcbiAgQElucHV0KClcclxuICBwcmV2ZW50U3BhY2UgPSBmYWxzZTtcclxuICAvKiogRE9NIGVsZW1lbnQgSWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGlkO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbSh0aXRsZSkge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHRpdGxlO1xyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gZmFsc2U7XHJcbiAgICB0aGlzLmRvY3VtZW50TGlzdCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgZG9jdW1lbnRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGRlbGF5ZWRBY3Rpb247XHJcbiAgd2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpIHtcclxuICAgIGlmICh0aGlzLmRlbGF5ZWRBY3Rpb24pIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXllZEFjdGlvbik7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGUpIHtcclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdID0gKHZhbCkgPyBgJSR7dmFsfSVgIDogJyc7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5LFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZUtleVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdCA9IGRhdGEuZmlsdGVyKChvcHRpb24pID0+XHJcbiAgICAgICAgICAgIG9wdGlvbi50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRMaXN0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIGlmICghdGhpcy5kb2N1bWVudExpc3QubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IGVkaXRlZFZhbHVlIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGVkVmFsdWVcIlxyXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIm5hdGl2ZUF1dG9Db21wbGV0ZVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGtleXVwKT1cIndhaXRVbnRpbFVzZXJGaW5pc2hUeXBpbmcoKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lZGl0aW5wdXQtJ1wiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib3Blbk9wdGlvbnModHJ1ZSlcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudExpc3QubGVuZ3RoICE9PSAwXCIgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInN1Z2dlc3Rpb25zLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2QtYmxvY2snOiBzaG93c3VnZ2VzdGVkT3B0aW9ucyB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRvY3VtZW50TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShvcHRpb24udGl0bGUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24udGl0bGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnBhdHRlcm5cIj5cclxuICAgICAgICAgICAgICB7eyBcIndyb25nIHBhdHRlcm5cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5taW5cIj5cclxuICAgICAgICAgICAgICB7eyBcIlZBTElEQVRPUlMuTUlOXCIgfCB0cmFuc2xhdGUgfX0ge3sgY29udHJvbC5lcnJvcnMubWluLm1pbiB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjcmVhZE9ubHk+XHJcbiAgICAgICAge3sgZWRpdGVkVmFsdWUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQWdEdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQS9DdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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LENBQUM7eUhBRnJCLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGt0QkNwQ3pDLHFqRkFvRUE7MkZEaENhLDRCQUE0QjtrQkFOeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDckQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzswQkFvREksSUFBSTs7MEJBQUksUUFBUTs0Q0EvQ1YsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSUUsV0FBVztzQkFEbEIsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIHRleHQgZmllbGQgaW5wdXQgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBUZXh0IEZpZWxkXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtXHJcbiAqICAgIFtob3Jpem9udGFsQWxpZ25dPVwiZmFsc2VcIlxyXG4gKiAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgIFtwbGFjZWhvbGRlcl09XCInUEFUSC5UTy5QTEFDRUhPTERFUi5TVFJJTkcnXCJcclxuICogPjwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbT5cclxuICovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVRleHRJdGVtQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBzdGF0aWMgREVGQVVMVF9TRVBBUkFUT1IgPSAnLCAnO1xyXG5cclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGUgPSBmYWxzZTsgLy8gdG8gZ2V0IHN1Z2dlc3Rpb25zIGZyb20gYmFja2VuZCB3aGVuIHVzZXIgdHlwZSBzb21lIGxldHRlcnNcclxuICBASW5wdXQoKSBuYXRpdmVBdXRvQ29tcGxldGUgPSAnb2ZmJzsgLy8gdG8gZ2V0IHN1Z2dlc3Rpb25zIGZyb20gYnJvd3NlciBuYXRpdmVseVxyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVmFsdWVLZXkgPSAnJztcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVUeXBlID0ncGVyY2VudGFnZSc7XHJcblxyXG4gIC8qKiBpbnB1dCB0eXBlICovXHJcbiAgQElucHV0KClcclxuICB0eXBlID0gJ3RleHQnO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbDtcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKVxyXG4gIGxhYmVsO1xyXG4gIC8qKiBpcyBFZGl0YWJsZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZWRpdGFibGUgPSB0cnVlO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc3BsYXlFbXB0eSA9IHRydWU7XHJcbiAgLyoqIHNob3VsZCBwcmV2ZW50IHNwYWNlICovXHJcbiAgQElucHV0KClcclxuICBwcmV2ZW50U3BhY2UgPSBmYWxzZTtcclxuICAvKiogRE9NIGVsZW1lbnQgSWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGlkO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbSh0aXRsZSkge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHRpdGxlO1xyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gZmFsc2U7XHJcbiAgICB0aGlzLmRvY3VtZW50TGlzdCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgZG9jdW1lbnRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGRlbGF5ZWRBY3Rpb247XHJcbiAgd2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpIHtcclxuICAgIGlmICh0aGlzLmRlbGF5ZWRBY3Rpb24pIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXllZEFjdGlvbik7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGUpIHtcclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdID0gKHZhbCkgPyBgJSR7dmFsfSVgIDogJyc7XHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJjYXNlU2Vuc2l0aXZlXCIgJiYgdmFsKXtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5Ub0Nhc2VJbnNlbnNpdGl2ZSh2YWwpO1xyXG4gICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPXJlc3VsdDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVUeXBlPT1cInBlcmNlbnRhZ2VcIiAmJiB2YWwpe1xyXG5cclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSclJyt2YWwrJyUnO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09ICcnXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5LFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZUtleVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdCA9IGRhdGEuZmlsdGVyKChvcHRpb24pID0+XHJcbiAgICAgICAgICAgIG9wdGlvbi50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRMaXN0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIGlmICghdGhpcy5kb2N1bWVudExpc3QubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgVG9DYXNlSW5zZW5zaXRpdmUgKG9yZ2luYWxUZXh0KXtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgbGV0IG9yZ2luYWxUZXh0TG93ZXJDYXNlID0gb3JnaW5hbFRleHQudG9Mb3dlckNhc2UoKTtcclxuICAgIGZvcihsZXQgaT0wO2k8b3JnaW5hbFRleHRMb3dlckNhc2UubGVuZ3RoO2krKyl7XHJcbiAgICAgIGlmKG9yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKSA+PSAnYScgJiYgb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpIDw9ICd6JylcclxuICAgICAgIHJlc3VsdCA9IHJlc3VsdCtcIltcIitvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkrb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpLnRvVXBwZXJDYXNlKCkrXCJdXCI7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSByZXN1bHQrb3JnaW5hbFRleHQuY2hhckF0KGkpO1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIHJldHVybiBcIi4qXCIrcmVzdWx0K1wiLipcIjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1wcm9wZXJ0eS12YWx1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBmb3I9XCJmb3JtR3JvdXBJbnB1dFNtYWxsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1vbmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9wZW5PcHRpb25zKGZhbHNlKVwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LWZpbGxlZCcgOiBlZGl0ZWRWYWx1ZSB9XCJcclxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiYWxsb3dTcGFjZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgI2VkaXRvcklucHV0XHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRlZFZhbHVlXCJcclxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJuYXRpdmVBdXRvQ29tcGxldGVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZWRpdGlucHV0LSdcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PcHRpb25zKHRydWUpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG9jdW1lbnRMaXN0Lmxlbmd0aCAhPT0gMFwiIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkLWJsb2NrJzogc2hvd3N1Z2dlc3RlZE9wdGlvbnMgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkb2N1bWVudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uLnRpdGxlKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5wYXR0ZXJuXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJ3cm9uZyBwYXR0ZXJuXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMubWluXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJWQUxJREFUT1JTLk1JTlwiIHwgdHJhbnNsYXRlIH19IHt7IGNvbnRyb2wuZXJyb3JzLm1pbi5taW4gfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxyXG4gICAgICAgIHt7IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -46,12 +46,26 @@ export class DynamicFormUpdateService {
|
|
|
46
46
|
})
|
|
47
47
|
.pipe(map((data) => {
|
|
48
48
|
let results = [];
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
if (pageProvider == "PP_Correspondence_RelationSeach") {
|
|
50
|
+
data.entries.map((item) => {
|
|
51
|
+
results.push({
|
|
52
|
+
// title: item.title,
|
|
53
|
+
title: item.properties["corr:referenceNumber"] !== null ? item.properties["corr:referenceNumber"] + " - " + item.properties["corr:subject"] : item.properties["corr:subject"],
|
|
54
|
+
id: item.uid,
|
|
55
|
+
filter: item.title,
|
|
56
|
+
number: item.properties["corr:referenceNumber"],
|
|
57
|
+
subject: item.properties["corr:subject"]
|
|
58
|
+
});
|
|
53
59
|
});
|
|
54
|
-
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
let myInternalResult = data.aggregations[autoCompleteValueKey];
|
|
63
|
+
myInternalResult.buckets.map((item) => {
|
|
64
|
+
results.push({
|
|
65
|
+
title: item.key
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
55
69
|
return results;
|
|
56
70
|
}), catchError((err) => {
|
|
57
71
|
throw err;
|
|
@@ -66,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
66
80
|
providedIn: 'root'
|
|
67
81
|
}]
|
|
68
82
|
}], ctorParameters: function () { return [{ type: i1.CallApiService }]; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFhakQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVcsRUFBRSxLQUFLO0lBQ3JELE1BQU0sWUFBWSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFeEQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFLLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFO1FBQzdELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNaLENBQUM7QUFLRCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQXFCLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBSjVDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFDakQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUcxQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWtDLEVBQUUsUUFBYTtRQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixNQUFNLEVBQUUsUUFBUTtZQUNoQixPQUFPLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7U0FDdEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxRQUFrQyxFQUFFLFFBQWE7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxRQUFrQztRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixNQUFNLEVBQUUsUUFBUTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsWUFBWSxFQUFHLE1BQU0sRUFBRyxHQUFHLEVBQUcsb0JBQW9CO1FBQzdFLE9BQVEsSUFBSSxDQUFDLE9BQU87YUFDaEIsS0FBSyxpQkFFRixZQUFZLEVBQUUsWUFBWSxJQUN2QixNQUFNLEdBRVg7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsR0FBRzthQUN0QjtTQUNGLENBQ0Y7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLElBQUcsWUFBWSxJQUFFLGlDQUFpQyxFQUFDO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUNYLHNCQUFzQjt3QkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7d0JBQzdLLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRzt3QkFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUs7d0JBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO3dCQUMvQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7cUJBQ3pDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFJO2dCQUNILElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUMvRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0JBQ2IsS0FBSyxFQUFHLElBQUksQ0FBQyxHQUFHO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBRUwsQ0FBQzs7cUhBekVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtQmFzZUl0ZW1Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU5vdGlmaWNhdGlvbiB7XHJcbiAgdGFyZ2V0OiBhbnk7XHJcbiAgY2hhbmdlZDogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrTm90aWZpY2F0aW9uIHtcclxuICB0YXJnZXQ6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUtleVRvT2JqZWN0KGtleTogc3RyaW5nLCB2YWx1ZSk6IE9iamVjdCB7XHJcbiAgY29uc3Qgb2JqZWN0TGV2ZWxzOiBzdHJpbmdbXSA9IGtleS5zcGxpdCgnLicpLnJldmVyc2UoKTtcclxuXHJcbiAgcmV0dXJuIG9iamVjdExldmVscy5yZWR1Y2U8e30+KChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpID0+IHtcclxuICAgIHJldHVybiB7IFtjdXJyZW50VmFsdWVdOiBwcmV2aW91c1ZhbHVlIH07XHJcbiAgfSwgdmFsdWUpO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2Uge1xyXG5cclxuICBpdGVtVXBkYXRlZCQgPSBuZXcgU3ViamVjdDxVcGRhdGVOb3RpZmljYXRpb24+KCk7XHJcbiAgaXRlbUNsaWNrZWQkID0gbmV3IFN1YmplY3Q8Q2xpY2tOb3RpZmljYXRpb24+KCk7XHJcbiAgdmFsaWRhdGUkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgY2FsbEFwaTogQ2FsbEFwaVNlcnZpY2Upe1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHByb3BlcnR5OiBEeW5hbWljRm9ybUJhc2VJdGVtTW9kZWwsIG5ld1ZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaXRlbVVwZGF0ZWQkLm5leHQoe1xyXG4gICAgICB0YXJnZXQ6IHByb3BlcnR5LFxyXG4gICAgICBjaGFuZ2VkOiB0cmFuc2Zvcm1LZXlUb09iamVjdChwcm9wZXJ0eS5rZXksIG5ld1ZhbHVlKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnZhbGlkYXRlJC5uZXh0KHtcclxuICAgICAgdGFyZ2V0OiBwcm9wZXJ0eSxcclxuICAgICAgY2hhbmdlZDogbmV3VmFsdWVcclxuICAgIH0pO1xyXG4gIH1cclxuICB2YWxpZGF0ZShwcm9wZXJ0eTogRHluYW1pY0Zvcm1CYXNlSXRlbU1vZGVsLCBuZXdWYWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRlJC5uZXh0KHtcclxuICAgICAgdGFyZ2V0OiBwcm9wZXJ0eSxcclxuICAgICAgY2hhbmdlZDogbmV3VmFsdWVcclxuICAgIH0pO1xyXG4gIH1cclxuICBjbGlja2VkKHByb3BlcnR5OiBEeW5hbWljRm9ybUJhc2VJdGVtTW9kZWwpIHtcclxuICAgIHRoaXMuaXRlbUNsaWNrZWQkLm5leHQoe1xyXG4gICAgICB0YXJnZXQ6IHByb3BlcnR5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhwYWdlUHJvdmlkZXIgLCBwYXJhbXMgLCBrZXkgLCBhdXRvQ29tcGxldGVWYWx1ZUtleSl7XHJcbiAgIHJldHVybiAgdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IHBhZ2VQcm92aWRlcixcclxuICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgXCJYLU5YcHJvcGVydGllc1wiOiBcIipcIixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgICAgaWYocGFnZVByb3ZpZGVyPT1cIlBQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2hcIil7XHJcbiAgICAgICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXN1bHRzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgLy8gIHRpdGxlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6cmVmZXJlbmNlTnVtYmVyXCJdICE9PSBudWxsID8gaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpyZWZlcmVuY2VOdW1iZXJcIl0gKyBcIiAtIFwiICsgaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpzdWJqZWN0XCJdIDogaXRlbS5wcm9wZXJ0aWVzW1wiY29ycjpzdWJqZWN0XCJdLFxyXG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiBpdGVtLnByb3BlcnRpZXNbXCJjb3JyOnJlZmVyZW5jZU51bWJlclwiXSxcclxuICAgICAgICAgICAgICAgIHN1YmplY3Q6IGl0ZW0ucHJvcGVydGllc1tcImNvcnI6c3ViamVjdFwiXVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBsZXQgbXlJbnRlcm5hbFJlc3VsdCA9IGRhdGEuYWdncmVnYXRpb25zW2F1dG9Db21wbGV0ZVZhbHVlS2V5XTtcclxuICAgICAgICAgICAgbXlJbnRlcm5hbFJlc3VsdC5idWNrZXRzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgdGl0bGUgOiBpdGVtLmtleVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -76,7 +76,7 @@ export class FilterComponent {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FilterComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FilterComponent, selector: "cts-filter", inputs: { fields: "fields", filterTitle: "filterTitle" }, outputs: { onFiltering: "onFiltering" }, ngImport: i0, template: "<div class=\"filter-wrapper\">\r\n <div class=\"filter-title\">\r\n <!-- {{filterTitle | translate}} -->\r\n </div>\r\n <div class=\"iner-filter-wrapper\" *ngIf=\"filterForm\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"single-control-wrapper\" *ngFor=\"let field of fields\">\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'text'\">\r\n <app-dynamic-form-textitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'dropdown'\">\r\n <app-dynamic-form-vocabulary-item\r\n [shwoAllValues]=\"false\"\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n [placeholder]=\"field.placeholder | translate\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'rang'\">\r\n <cts-dynamic-form-hijri-dateitem [label]=\"field.label\" [formControlName]=\"field.formControlName\"[range]=\"true\" [vertical]=\"false\" >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'department'\">\r\n <app-dynamic-form-department\r\n [label]=\"field.label\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-department>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'toggle'\">\r\n <cts-dynamic-form-slide-toggleitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n\r\n </div>\r\n\r\n </form>\r\n \r\n </div>\r\n <div class=\"form-actions\">\r\n <button class=\"my-button mx-2\" type=\"button\" (click)=\"filter()\"> {{'FILTER' | translate}}</button>\r\n <button class=\"my-button reset mx-2\" type=\"button\" (click)=\"reset()\"> {{'reset' | translate}}</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.filter-wrapper .filter-title{font-size:18px;font-weight:bold;margin-bottom:15px}.filter-wrapper .iner-filter-wrapper{height:320px;overflow:auto;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;padding:15px 15px 0}.filter-wrapper .iner-filter-wrapper .single-control-wrapper{margin-bottom:15px}.filter-wrapper .form-actions{display:flex;justify-content:flex-start;align-content:center;padding:10px 15px}.filter-wrapper .form-actions .filter{border:none;background-color:transparent;font-weight:bold;width:80px;height:40px;background-image:linear-gradient(to bottom,#0dbab5,#2e62df);color:#fff;border-radius:5px}\n"], components: [{ type: i2.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id"] }, { type: i3.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i4.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i5.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty"], outputs: ["onSelecting", "actionClicked"] }, { type: i6.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
|
|
79
|
+
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FilterComponent, selector: "cts-filter", inputs: { fields: "fields", filterTitle: "filterTitle" }, outputs: { onFiltering: "onFiltering" }, ngImport: i0, template: "<div class=\"filter-wrapper\">\r\n <div class=\"filter-title\">\r\n <!-- {{filterTitle | translate}} -->\r\n </div>\r\n <div class=\"iner-filter-wrapper\" *ngIf=\"filterForm\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"single-control-wrapper\" *ngFor=\"let field of fields\">\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'text'\">\r\n <app-dynamic-form-textitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'dropdown'\">\r\n <app-dynamic-form-vocabulary-item\r\n [shwoAllValues]=\"false\"\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n [placeholder]=\"field.placeholder | translate\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'rang'\">\r\n <cts-dynamic-form-hijri-dateitem [label]=\"field.label\" [formControlName]=\"field.formControlName\"[range]=\"true\" [vertical]=\"false\" >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'department'\">\r\n <app-dynamic-form-department\r\n [label]=\"field.label\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-department>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'toggle'\">\r\n <cts-dynamic-form-slide-toggleitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n\r\n </div>\r\n\r\n </form>\r\n \r\n </div>\r\n <div class=\"form-actions\">\r\n <button class=\"my-button mx-2\" type=\"button\" (click)=\"filter()\"> {{'FILTER' | translate}}</button>\r\n <button class=\"my-button reset mx-2\" type=\"button\" (click)=\"reset()\"> {{'reset' | translate}}</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.filter-wrapper .filter-title{font-size:18px;font-weight:bold;margin-bottom:15px}.filter-wrapper .iner-filter-wrapper{height:320px;overflow:auto;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;padding:15px 15px 0}.filter-wrapper .iner-filter-wrapper .single-control-wrapper{margin-bottom:15px}.filter-wrapper .form-actions{display:flex;justify-content:flex-start;align-content:center;padding:10px 15px}.filter-wrapper .form-actions .filter{border:none;background-color:transparent;font-weight:bold;width:80px;height:40px;background-image:linear-gradient(to bottom,#0dbab5,#2e62df);color:#fff;border-radius:5px}\n"], components: [{ type: i2.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id"] }, { type: i3.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i4.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i5.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty"], outputs: ["onSelecting", "actionClicked"] }, { type: i6.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FilterComponent, decorators: [{
|
|
81
81
|
type: Component,
|
|
82
82
|
args: [{
|