nuxeo-development-framework 5.9.1 → 5.9.3

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.
@@ -131,7 +131,7 @@ export class CorrespondenceRelationCreateFormComponent {
131
131
  }
132
132
  }
133
133
  CorrespondenceRelationCreateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationCreateFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CorrespondenceRelationService }, { token: i3.CustomToastrService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
134
- CorrespondenceRelationCreateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationCreateFormComponent, selector: "cts-correspondence-relation-create-form", viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <ng-autocomplete\r\n #auto\r\n [data]=\"documentList\"\r\n [searchKeyword]=\"'filter'\"\r\n (selected)=\"selectItem($event)\"\r\n (inputChanged)=\"onSearchInputChange($event)\"\r\n [customFilter]=\"disableFilter\"\r\n (closed)=\"keep_Autocomplete_Results_Open()\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]=\"1000\"\r\n [isLoading]=\"isLoading\"\r\n (inputCleared)=\"inputCleared()\"\r\n >\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{ item.title }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{ \"correspondence-relation.notfound\" | translate }}</div>\r\n </ng-template>\r\n\r\n <div class=\"chip-list\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .autocomplete-container .suggestions-container ul{max-height:150px!important}.correspondence-relation-container .autocomplete-container .suggestions-container{height:150px!important;margin-top:10px;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.correspondence-relation-container .search-container{position:relative}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:scroll;padding:10px;margin-bottom:10px;top:215px;position:absolute;width:100%}.correspondence-relation-container .chip-list .mat-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-chip.mat-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], components: [{ type: i5.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { type: i6.AutocompleteComponent, selector: "ng-autocomplete", inputs: ["data", "searchKeyword", "placeholder", "heading", "initialValue", "historyIdentifier", "historyHeading", "historyListMaxNumber", "notFoundText", "isLoading", "debounceTime", "disabled", "minQueryLength", "focusFirst", "customFilter", "selectedValueRender", "itemTemplate", "notFoundTemplate"], outputs: ["selected", "inputChanged", "inputFocused", "inputCleared", "opened", "closed", "scrolledToEnd"] }, { type: i7.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: i10.SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.MatChipRemove, selector: "[matChipRemove]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i12.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
134
+ CorrespondenceRelationCreateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CorrespondenceRelationCreateFormComponent, selector: "cts-correspondence-relation-create-form", viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <ng-autocomplete\r\n #auto\r\n [data]=\"documentList\"\r\n [searchKeyword]=\"'filter'\"\r\n (selected)=\"selectItem($event)\"\r\n (inputChanged)=\"onSearchInputChange($event)\"\r\n [customFilter]=\"disableFilter\"\r\n (closed)=\"keep_Autocomplete_Results_Open()\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]=\"1000\"\r\n [isLoading]=\"isLoading\"\r\n (inputCleared)=\"inputCleared()\"\r\n >\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{ item.title }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{ \"correspondence-relation.notfound\" | translate }}</div>\r\n </ng-template>\r\n\r\n <div class=\"chip-list\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .autocomplete-container .suggestions-container ul{max-height:150px!important}.correspondence-relation-container .autocomplete-container .suggestions-container{height:150px!important;margin-top:10px;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.correspondence-relation-container .search-container{position:relative}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:scroll;padding:10px;margin-bottom:10px;top:215px;position:absolute;width:100%}.correspondence-relation-container .chip-list .mat-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-chip.mat-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], components: [{ type: i5.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting", "onFetchingOptions"] }, { type: i6.AutocompleteComponent, selector: "ng-autocomplete", inputs: ["data", "searchKeyword", "placeholder", "heading", "initialValue", "historyIdentifier", "historyHeading", "historyListMaxNumber", "notFoundText", "isLoading", "debounceTime", "disabled", "minQueryLength", "focusFirst", "customFilter", "selectedValueRender", "itemTemplate", "notFoundTemplate"], outputs: ["selected", "inputChanged", "inputFocused", "inputCleared", "opened", "closed", "scrolledToEnd"] }, { type: i7.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: i10.SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.MatChipRemove, selector: "[matChipRemove]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i12.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationCreateFormComponent, decorators: [{
136
136
  type: Component,
137
137
  args: [{
@@ -125,7 +125,7 @@ export class AttachmentsListComponent {
125
125
  }
126
126
  }
127
127
  AttachmentsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AttachmentsListComponent, deps: [{ token: i1.NuxeoService }], target: i0.ɵɵFactoryTarget.Component });
128
- AttachmentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AttachmentsListComponent, selector: "cts-attachments-list", inputs: { ancestorId: "ancestorId", provider: "provider", items: "items", batchList: "batchList", dontDelete: "dontDelete", canDelete: "canDelete", item: "item", keepFileExtension: "keepFileExtension" }, outputs: { deleteSuccess: "deleteSuccess", documentsCount: "documentsCount", documentSelect: "documentSelect" }, usesOnChanges: true, ngImport: i0, template: "<ng-container>\r\n <div class=\"doc-list\">\r\n <ng-container>\r\n <form [formGroup]=\"attachmentForm\">\r\n <div formArrayName=\"attachmentCard\">\r\n <div\r\n class=\"doc-item\"\r\n *ngFor=\"\r\n let attachmentCardControl of attachmentForm.get('attachmentCard')[\r\n 'controls'\r\n ];\r\n let i = index\r\n \"\r\n >\r\n <!-- (click)=\"preview(item.uid)\" -->\r\n <div class=\"file-icon\">\r\n <mat-icon>file_copy</mat-icon>\r\n </div>\r\n <div\r\n [formGroupName]=\"i\"\r\n class=\"attachmentForm-container row no-gutters\"\r\n >\r\n <div class=\"formControl-wrapper col-12 col-xl-6\">\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{ 'Title' | translate }}\"\r\n class=\"textitem\"\r\n formControlName=\"title\"\r\n \r\n >\r\n </app-dynamic-form-textitem>\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{\r\n 'CREATE.ATTACHMENTS.REMARKS_PLACE_HOLDER' | translate\r\n }}\"\r\n class=\"textitem\"\r\n formControlName=\"remarks\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n <div class=\"formControl-wrapper col-12 col-xl-6\">\r\n <app-dynamic-form-vocabulary-item\r\n class=\"voc-form-control\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.TYPE' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceAttachmentType'\"\r\n formControlName=\"category\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n <app-dynamic-form-vocabulary-item\r\n class=\"voc-form-control\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.CLASSIFICATION' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceAttachClassification'\"\r\n formControlName=\"classification\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n <!-- <div class=\"formControl-toggleitem col-2 col-xl-2\">\r\n <cts-dynamic-form-slide-toggleitem\r\n label=\"{{ 'CREATE.ATTACHMENTS.ISOBJECT' | translate }}\"\r\n formControlName=\"isObject\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div> -->\r\n </div>\r\n <div class=\"btn-wrapper\">\r\n <button\r\n (click)=\"delInput(i)\"\r\n class=\"btn btn-outline-danger btn-no-border\"\r\n >\r\n <!-- deleteDocument($event, attachmentCardControl.value.item) -->\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<ng-template #spinner>\r\n <mat-spinner class=\"centered-spinner\"></mat-spinner>\r\n</ng-template>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.doc-item{display:flex;flex:1;padding-top:6px;padding-bottom:6px;justify-content:space-between;align-items:center;padding-inline-end:4px;cursor:pointer;border:1px solid;border-color:#d9dce2}.doc-item .item-content{display:flex;align-items:center;justify-content:space-between}.doc-item .file-icon{margin:4px;color:#465573;display:flex;align-items:center}.attachmentForm-container{width:100%;grid-row-gap:6px;row-gap:6px}.attachmentForm-container .formControl-wrapper{display:flex;align-items:center;justify-content:space-between;grid-column-gap:10px;column-gap:10px;padding-inline-end:5px;padding-inline-start:5px}.attachmentForm-container .formControl-wrapper .voc-form-control{width:50%}.attachmentForm-container .formControl-wrapper .textitem{width:100%}.attachmentForm-container .formControl-toggleitem{display:flex;align-items:center;justify-content:center}.btn-wrapper{display:flex;justify-content:flex-end}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i4.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { type: i5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
128
+ AttachmentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AttachmentsListComponent, selector: "cts-attachments-list", inputs: { ancestorId: "ancestorId", provider: "provider", items: "items", batchList: "batchList", dontDelete: "dontDelete", canDelete: "canDelete", item: "item", keepFileExtension: "keepFileExtension" }, outputs: { deleteSuccess: "deleteSuccess", documentsCount: "documentsCount", documentSelect: "documentSelect" }, usesOnChanges: true, ngImport: i0, template: "<ng-container>\r\n <div class=\"doc-list\">\r\n <ng-container>\r\n <form [formGroup]=\"attachmentForm\">\r\n <div formArrayName=\"attachmentCard\">\r\n <div\r\n class=\"doc-item\"\r\n *ngFor=\"\r\n let attachmentCardControl of attachmentForm.get('attachmentCard')[\r\n 'controls'\r\n ];\r\n let i = index\r\n \"\r\n >\r\n <!-- (click)=\"preview(item.uid)\" -->\r\n <div class=\"file-icon\">\r\n <mat-icon>file_copy</mat-icon>\r\n </div>\r\n <div\r\n [formGroupName]=\"i\"\r\n class=\"attachmentForm-container row no-gutters\"\r\n >\r\n <div class=\"formControl-wrapper col-12 col-xl-6\">\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{ 'Title' | translate }}\"\r\n class=\"textitem\"\r\n formControlName=\"title\"\r\n \r\n >\r\n </app-dynamic-form-textitem>\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{\r\n 'CREATE.ATTACHMENTS.REMARKS_PLACE_HOLDER' | translate\r\n }}\"\r\n class=\"textitem\"\r\n formControlName=\"remarks\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n <div class=\"formControl-wrapper col-12 col-xl-6\">\r\n <app-dynamic-form-vocabulary-item\r\n class=\"voc-form-control\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.TYPE' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceAttachmentType'\"\r\n formControlName=\"category\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n <app-dynamic-form-vocabulary-item\r\n class=\"voc-form-control\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.CLASSIFICATION' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceAttachClassification'\"\r\n formControlName=\"classification\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n <!-- <div class=\"formControl-toggleitem col-2 col-xl-2\">\r\n <cts-dynamic-form-slide-toggleitem\r\n label=\"{{ 'CREATE.ATTACHMENTS.ISOBJECT' | translate }}\"\r\n formControlName=\"isObject\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div> -->\r\n </div>\r\n <div class=\"btn-wrapper\">\r\n <button\r\n (click)=\"delInput(i)\"\r\n class=\"btn btn-outline-danger btn-no-border\"\r\n >\r\n <!-- deleteDocument($event, attachmentCardControl.value.item) -->\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n<ng-template #spinner>\r\n <mat-spinner class=\"centered-spinner\"></mat-spinner>\r\n</ng-template>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.doc-item{display:flex;flex:1;padding-top:6px;padding-bottom:6px;justify-content:space-between;align-items:center;padding-inline-end:4px;cursor:pointer;border:1px solid;border-color:#d9dce2}.doc-item .item-content{display:flex;align-items:center;justify-content:space-between}.doc-item .file-icon{margin:4px;color:#465573;display:flex;align-items:center}.attachmentForm-container{width:100%;grid-row-gap:6px;row-gap:6px}.attachmentForm-container .formControl-wrapper{display:flex;align-items:center;justify-content:space-between;grid-column-gap:10px;column-gap:10px;padding-inline-end:5px;padding-inline-start:5px}.attachmentForm-container .formControl-wrapper .voc-form-control{width:50%}.attachmentForm-container .formControl-wrapper .textitem{width:100%}.attachmentForm-container .formControl-toggleitem{display:flex;align-items:center;justify-content:center}.btn-wrapper{display:flex;justify-content:flex-end}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i4.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting", "onFetchingOptions"] }, { type: i5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AttachmentsListComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{
@@ -173,7 +173,7 @@ export class DynamicFieldsRendererComponent {
173
173
  }
174
174
  }
175
175
  DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", orgNameFilter: "orgNameFilter", ngoNameFilter: "ngoNameFilter", disableInitSecrecyLevel: "disableInitSecrecyLevel", mode: "mode", fields: "fields" }, outputs: { checkTextSpellCheckerField: "checkTextSpellCheckerField" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n\t<div class=\"renderer-container\">\r\n\t\t<div class=\"field-container\" *ngFor=\"let field of fields\">\r\n\t\t\t<div class=\"flex gap-x-2 items-center\" *permission=\"{ name: field.permission, entity: field.formControlName }\">\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel; else showLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #showLabel>\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ field.label | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\tid=\"{{ field.formControlName }}\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\tplaceholder=\" {{ field.placeholder | translate }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel; else showLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #showLabel>\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ field.label | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\tmin=\"1\"\r\n\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\tplaceholder=\" {{ field.placeholder | translate }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'textarea'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-dynamic-form-textarea\r\n\t\t\t\t\t\t[id]=\"field.formControlName\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[disabled]=\"field.disabled\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-dynamic-form-textarea>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<cts-dynamic-form-hijri-dateitem\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[minHijri]=\"field.minHijri\"\r\n\t\t\t\t\t\t[maxHijri]=\"field.maxHijri\"\r\n\t\t\t\t\t\t[minGreg]=\"field.minGreg\"\r\n\t\t\t\t\t\t[maxGreg]=\"field.maxGreg\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</cts-dynamic-form-hijri-dateitem>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'spellCheckerField'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ndf-spell-checker-text-field\r\n\t\t\t\t\t\t[id]=\"field.formControlName\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[placeholder]=\"field.placeholder\"\r\n\t\t\t\t\t\t[fieldType]=\"field.fieldType\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t(checkFromText)=\"checkTextOfSpellCheckField(field.formControlName)\"\r\n\t\t\t\t\t></ndf-spell-checker-text-field>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[bindLabel]=\"field.bindLabel\"\r\n\t\t\t\t\t\t[bindValue]=\"field.bindValue\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[multiple]=\"field.multiple\"\r\n\t\t\t\t\t\t[searchable]=\"field.searchable\"\r\n\t\t\t\t\t\t[closeOnSelect]=\"field.closeOnSelect\"\r\n\t\t\t\t\t\t[disabled]=\"field.disabled\"\r\n\t\t\t\t\t\t[hideSelectedItems]=\"field.hideSelectedItems\"\r\n\t\t\t\t\t\t[vocabularyType]=\"field.vocabularyType\"\r\n\t\t\t\t\t\t[onlyIds]=\"field.onlyIds\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-translated-vocabulary-select\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[arbBindLabel]=\"field.arbBindLabel\"\r\n\t\t\t\t\t\t[engBindLabel]=\"field.engBindLabel\"\r\n\t\t\t\t\t\t[bindValue]=\"field.bindValue\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[multiple]=\"field.multiple\"\r\n\t\t\t\t\t\t[searchable]=\"field.searchable\"\r\n\t\t\t\t\t\t[closeOnSelect]=\"field.closeOnSelect\"\r\n\t\t\t\t\t\t[hideSelectedItems]=\"field.hideSelectedItems\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[vocbularyId]=\"field.vocbularyId\"\r\n\t\t\t\t\t\t[useFilter]=\"field.useFilter\"\r\n\t\t\t\t\t\t[filter]=\"\r\n\t\t\t\t\t\t\tfield.filter === 'agencyName'\r\n\t\t\t\t\t\t\t\t? agencyNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'countryName'\r\n\t\t\t\t\t\t\t\t? countryNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'orgName'\r\n\t\t\t\t\t\t\t\t? orgNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'ngoName'\r\n\t\t\t\t\t\t\t\t? ngoNameFilter\r\n\t\t\t\t\t\t\t\t: {}\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t[params]=\"field.params || {}\"\r\n\t\t\t\t\t\t[getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-translated-vocabulary-select>\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"field.selectable\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\tfieldsCheckBox;\r\n\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\tcheckBoxTemplate: field.template,\r\n\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t></ng-container>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\r\n\t\t\t<!-- template in client -->\r\n\t\t\t<ng-container *ngIf=\"field.suggest\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\tsuggest;\r\n\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\tfield: field.label,\r\n\t\t\t\t\t\t\tsuggestName: field.suggest,\r\n\t\t\t\t\t\t\tcontrolName: field.formControlName,\r\n\t\t\t\t\t\t\ttemplate: field.suggestTemplate\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<ng-template #fieldsCheckBox let-checkBoxTemplate=\"checkBoxTemplate\" let-controlName=\"controlName\">\r\n\t<ng-container *ngTemplateOutlet=\"checkBoxTemplate; context: { controlName: controlName }\"> </ng-container>\r\n</ng-template>\r\n\r\n<!-- suggest -->\r\n<ng-template\r\n\t#suggest\r\n\tlet-field=\"field\"\r\n\tlet-suggestName=\"suggestName\"\r\n\tlet-controlName=\"controlName\"\r\n\tlet-template=\"template\"\r\n>\r\n\t<ng-container\r\n\t\t*ngTemplateOutlet=\"\r\n\t\t\ttemplate;\r\n\t\t\tcontext: {\r\n\t\t\t\tfield: field,\r\n\t\t\t\tsuggestName: suggestName,\r\n\t\t\t\tcontrolName: controlName\r\n\t\t\t}\r\n\t\t\"\r\n\t>\r\n\t</ng-container>\r\n</ng-template>\r\n<!-- suggest -->\r\n\r\n<!-- custom label -->\r\n<ng-template #customlabel let-controlName=\"controlName\" let-label=\"label\" let-template=\"template\">\r\n\t<ng-container\r\n\t\t*ngTemplateOutlet=\"\r\n\t\t\ttemplate;\r\n\t\t\tcontext: {\r\n\t\t\t\tlabel: label,\r\n\t\t\t\tcontrolName: controlName\r\n\t\t\t}\r\n\t\t\"\r\n\t>\r\n\t</ng-container>\r\n</ng-template>\r\n<!-- custom label -->\r\n", styles: [".single-field{width:100%}\n"], components: [{ type: i1.DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: ["property", "label", "editable", "disabled", "id", "placeholder", "displayEmpty", "horizontalAlign"] }, { type: i2.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder", "emitOnBlur"], outputs: ["valueChanged"] }, { type: i3.SpellCheckerTextFieldComponent, selector: "ndf-spell-checker-text-field", inputs: ["id", "placeholder", "fieldType", "label"], outputs: ["checkFromText"] }, { type: i4.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { type: i5.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
176
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", orgNameFilter: "orgNameFilter", ngoNameFilter: "ngoNameFilter", disableInitSecrecyLevel: "disableInitSecrecyLevel", mode: "mode", fields: "fields" }, outputs: { checkTextSpellCheckerField: "checkTextSpellCheckerField" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n\t<div class=\"renderer-container\">\r\n\t\t<div class=\"field-container\" *ngFor=\"let field of fields\">\r\n\t\t\t<div class=\"flex gap-x-2 items-center\" *permission=\"{ name: field.permission, entity: field.formControlName }\">\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel; else showLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #showLabel>\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ field.label | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\tid=\"{{ field.formControlName }}\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\tplaceholder=\" {{ field.placeholder | translate }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel; else showLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ng-template #showLabel>\r\n\t\t\t\t\t\t<div class=\"label-style\">\r\n\t\t\t\t\t\t\t{{ field.label | translate }}\r\n\t\t\t\t\t\t\t<span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\tmin=\"1\"\r\n\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\tclass=\"field-style\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\tplaceholder=\" {{ field.placeholder | translate }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'textarea'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-dynamic-form-textarea\r\n\t\t\t\t\t\t[id]=\"field.formControlName\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[disabled]=\"field.disabled\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-dynamic-form-textarea>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<cts-dynamic-form-hijri-dateitem\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[minHijri]=\"field.minHijri\"\r\n\t\t\t\t\t\t[maxHijri]=\"field.maxHijri\"\r\n\t\t\t\t\t\t[minGreg]=\"field.minGreg\"\r\n\t\t\t\t\t\t[maxGreg]=\"field.maxGreg\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</cts-dynamic-form-hijri-dateitem>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'spellCheckerField'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<ndf-spell-checker-text-field\r\n\t\t\t\t\t\t[id]=\"field.formControlName\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[placeholder]=\"field.placeholder\"\r\n\t\t\t\t\t\t[fieldType]=\"field.fieldType\"\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t(checkFromText)=\"checkTextOfSpellCheckField(field.formControlName)\"\r\n\t\t\t\t\t></ndf-spell-checker-text-field>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[bindLabel]=\"field.bindLabel\"\r\n\t\t\t\t\t\t[bindValue]=\"field.bindValue\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[multiple]=\"field.multiple\"\r\n\t\t\t\t\t\t[searchable]=\"field.searchable\"\r\n\t\t\t\t\t\t[closeOnSelect]=\"field.closeOnSelect\"\r\n\t\t\t\t\t\t[disabled]=\"field.disabled\"\r\n\t\t\t\t\t\t[hideSelectedItems]=\"field.hideSelectedItems\"\r\n\t\t\t\t\t\t[vocabularyType]=\"field.vocabularyType\"\r\n\t\t\t\t\t\t[onlyIds]=\"field.onlyIds\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n\t\t\t\t<div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n\t\t\t\t\t<ng-container *ngIf=\"field.customLabel\">\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\t\tcustomlabel;\r\n\t\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\t\tlabel: field.customLabel,\r\n\t\t\t\t\t\t\t\t\ttemplate: field.customLabelTemplate,\r\n\t\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<app-translated-vocabulary-select\r\n\t\t\t\t\t\t[label]=\"field.label\"\r\n\t\t\t\t\t\t[arbBindLabel]=\"field.arbBindLabel\"\r\n\t\t\t\t\t\t[engBindLabel]=\"field.engBindLabel\"\r\n\t\t\t\t\t\t[bindValue]=\"field.bindValue\"\r\n\t\t\t\t\t\tplaceholder=\"{{ field.placeholder | translate }}\"\r\n\t\t\t\t\t\t[multiple]=\"field.multiple\"\r\n\t\t\t\t\t\t[searchable]=\"field.searchable\"\r\n\t\t\t\t\t\t[closeOnSelect]=\"field.closeOnSelect\"\r\n\t\t\t\t\t\t[hideSelectedItems]=\"field.hideSelectedItems\"\r\n\t\t\t\t\t\t[formControlName]=\"field.formControlName\"\r\n\t\t\t\t\t\t[vocbularyId]=\"field.vocbularyId\"\r\n\t\t\t\t\t\t[useFilter]=\"field.useFilter\"\r\n\t\t\t\t\t\t[filter]=\"\r\n\t\t\t\t\t\t\tfield.filter === 'agencyName'\r\n\t\t\t\t\t\t\t\t? agencyNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'countryName'\r\n\t\t\t\t\t\t\t\t? countryNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'orgName'\r\n\t\t\t\t\t\t\t\t? orgNameFilter\r\n\t\t\t\t\t\t\t\t: field.filter === 'ngoName'\r\n\t\t\t\t\t\t\t\t? ngoNameFilter\r\n\t\t\t\t\t\t\t\t: {}\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t[params]=\"field.params || {}\"\r\n\t\t\t\t\t\t[getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</app-translated-vocabulary-select>\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"field.selectable\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\t\tfieldsCheckBox;\r\n\t\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\t\tcheckBoxTemplate: field.template,\r\n\t\t\t\t\t\t\t\tcontrolName: field.formControlName\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t></ng-container>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\r\n\t\t\t<!-- template in client -->\r\n\t\t\t<ng-container *ngIf=\"field.suggest\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\t\t\tsuggest;\r\n\t\t\t\t\t\tcontext: {\r\n\t\t\t\t\t\t\tfield: field.label,\r\n\t\t\t\t\t\t\tsuggestName: field.suggest,\r\n\t\t\t\t\t\t\tcontrolName: field.formControlName,\r\n\t\t\t\t\t\t\ttemplate: field.suggestTemplate\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<ng-template #fieldsCheckBox let-checkBoxTemplate=\"checkBoxTemplate\" let-controlName=\"controlName\">\r\n\t<ng-container *ngTemplateOutlet=\"checkBoxTemplate; context: { controlName: controlName }\"> </ng-container>\r\n</ng-template>\r\n\r\n<!-- suggest -->\r\n<ng-template\r\n\t#suggest\r\n\tlet-field=\"field\"\r\n\tlet-suggestName=\"suggestName\"\r\n\tlet-controlName=\"controlName\"\r\n\tlet-template=\"template\"\r\n>\r\n\t<ng-container\r\n\t\t*ngTemplateOutlet=\"\r\n\t\t\ttemplate;\r\n\t\t\tcontext: {\r\n\t\t\t\tfield: field,\r\n\t\t\t\tsuggestName: suggestName,\r\n\t\t\t\tcontrolName: controlName\r\n\t\t\t}\r\n\t\t\"\r\n\t>\r\n\t</ng-container>\r\n</ng-template>\r\n<!-- suggest -->\r\n\r\n<!-- custom label -->\r\n<ng-template #customlabel let-controlName=\"controlName\" let-label=\"label\" let-template=\"template\">\r\n\t<ng-container\r\n\t\t*ngTemplateOutlet=\"\r\n\t\t\ttemplate;\r\n\t\t\tcontext: {\r\n\t\t\t\tlabel: label,\r\n\t\t\t\tcontrolName: controlName\r\n\t\t\t}\r\n\t\t\"\r\n\t>\r\n\t</ng-container>\r\n</ng-template>\r\n<!-- custom label -->\r\n", styles: [".single-field{width:100%}\n"], components: [{ type: i1.DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: ["property", "label", "editable", "disabled", "id", "placeholder", "displayEmpty", "horizontalAlign"] }, { type: i2.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder", "emitOnBlur"], outputs: ["valueChanged"] }, { type: i3.SpellCheckerTextFieldComponent, selector: "ndf-spell-checker-text-field", inputs: ["id", "placeholder", "fieldType", "label"], outputs: ["checkFromText"] }, { type: i4.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting", "onFetchingOptions"] }, { type: i5.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
177
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{
@@ -114,7 +114,7 @@ export class DepartmentFormComponent extends BaseDialogComponent {
114
114
  }
115
115
  }
116
116
  DepartmentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.CustomToastrService }, { token: i3.DepartmentApiService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
117
- DepartmentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DepartmentFormComponent, selector: "cts-department-form", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], components: [{ type: i4.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i5.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i6.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { type: i7.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i10.TranslatePipe } });
117
+ DepartmentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DepartmentFormComponent, selector: "cts-department-form", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], components: [{ type: i4.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { type: i5.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i6.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting", "onFetchingOptions"] }, { type: i7.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i10.TranslatePipe } });
118
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentFormComponent, decorators: [{
119
119
  type: Component,
120
120
  args: [{
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
188
188
  }], onSelectItems: [{
189
189
  type: Output
190
190
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBR3pEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQTBEekMsWUFDUyxTQUEyQixFQUNQLE9BQWtCO1FBRHRDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQS9DL0MsMEJBQTBCO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsb0JBQW9CO1FBQ1gsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1Qiw2QkFBNkI7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsaUNBQWlDO1FBQ3hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNu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Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbi8qKlxyXG4gKiBBICBkcm9wZG93biBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIERyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW1cclxuICogICAgIFtkYXRhXT1cImFycmF5T2ZJdGVtc1wiXHJcbiAqICAgICBbYmluZExhYmVsXT1cIidiaW5kTGFiZWxQcm9wZXJ0eU5hbWUnXCJcclxuICogICAgIFtsYWJlbF09XCInUEFUSC5UTy5MQUJFTC5UUkFOU0xBVElPTidcIlxyXG4gKiAgICAgcGxhY2Vob2xkZXI9XCJQQVRILlRPLlBMQUNFSE9MREVSLlRSQU5TTEFUSU9OXCJcclxuICogICAgIFtjbG9zZU9uU2VsZWN0XT1cInRydWVcIlxyXG4gKiAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgID5cclxuICogPC9hcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tc2VsZWN0aXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIC8qKiBQcm9wZXJ0eSBuYW1lIHRvIGJpbmQgdmFsdWUgdG8gKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgLyoqIFByb3BlcnR5IG5hbWUgdG8gYmluZCBsYWJlbCB0byAqL1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDtcclxuICAvKiogSXRlbXMgYXJyYXkgKi9cclxuICBASW5wdXQoKSBkYXRhO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuICAvKiogY2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIGlzIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBjbG9zZSBvbiBzZWxlY3QgKi9cclxuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIGhpZGUgc2VsZWN0ZWQgaXRlbXMgKi9cclxuICBASW5wdXQoKSBoaWRlU2VsZWN0ZWRJdGVtcyA9IGZhbHNlO1xyXG4gIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBzaG93IGNsZWFyIGFjdGlvbiAqL1xyXG4gIEBJbnB1dCgpIGNsZWFyID0gdHJ1ZTtcclxuICAvKiogaXMgdm9jYWJ1bGFyeSBzZWxlY3QgKi9cclxuICBASW5wdXQoKSB2b2MgPSBmYWxzZTtcclxuICAvKiogdm9jYWJ1bGFyeSBpZCBmb3IgdHJhbnNsYXRpb24gKGZvciB2b2NhYnVsYXJ5IHNlbGVjdCBvbmx5KSAqL1xyXG4gIEBJbnB1dCgpIHZvY0lkOiBzdHJpbmc7XHJcbiAgLyoqIFNob3VsZCBzaG93IGxvYWRpbmcgaW5kaWNhdG9yICovXHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIC8qKiBldmVudCBlbWl0dGVkIHdpdGggc2VsZWN0ZWQgaXRlbXMgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWxlY3Rpb24gPSBbXTtcclxuXHJcbiAgYnVmZmVyID0gW107XHJcbiAgYnVmZmVyU2l6ZSA9IDUwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcblxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgcHVibGljIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xyXG4gICAgLypFbXB0eSovXHJcbiAgfTtcclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuICApIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3Rpb24pO1xyXG4gICAgdGhpcy5vblNlbGVjdEl0ZW1zLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25TY3JvbGxUb0VuZCgpIHtcclxuICAgLy8gdGhpcy5mZXRjaE1vcmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmJ1ZmZlclNpemUgKyBsZW4pO1xyXG4gICAgdGhpcy5idWZmZXIgPSB0aGlzLmRhdGEuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNoYW5nZXMuZGF0YSAmJlxyXG4gICAgICBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlICYmXHJcbiAgICAgIGNoYW5nZXMuZGF0YS5wcmV2aW91c1ZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kYXRhID0gWy4uLmNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuZGF0YTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY2hhbmdlcy5sb2FkaW5nICYmXHJcbiAgICAgIGNoYW5nZXMubG9hZGluZy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMubG9hZGluZy5wcmV2aW91c1ZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gY2hhbmdlcy5sb2FkaW5nLmN1cnJlbnRWYWx1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5idWZmZXIgPXRoaXMuZGF0YTtcclxuICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2ggPSAgKHRlcm06IHN0cmluZywgaXRlbTogYW55KSA9PiB7XHJcbiAgICBsZXQga2V5ID0gJyc7XHJcbiAgICB0aGlzLnZvYyA/IGtleSA9ICBcInZvY2FidWxhcnkuXCIgKyB0aGlzLnZvY0lkICsgXCIuXCIgKyBpdGVtLmlkIDoga2V5ID0gaXRlbS5sYWJlbDtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcclxuICAgICAgaWYodmFsdWUpe1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZXR1cm4gaXRlbS5sYWJlbC5pbmNsdWRlcyh0ZXJtKTtcclxuICAgICAgfVxyXG5cclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB9ZWxzZXsgIC8vYWRkZWQgdG8gYWxsb3cgcmVzZXRpbmcgdWkgd2hlbiByZXNldHRpbmcgZm9ybVxyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZuKGMpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuaGFuZGxlQ2xlYXJDbGljaygpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG14LTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1zZWxlY3RcclxuICBbaXRlbXNdPVwiYnVmZmVyXCJcclxuICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXHJcbiAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICBbY2xlYXJhYmxlXT1cImNsZWFyXCJcclxuICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICBbc2VhcmNoRm5dPVwib25TZWFyY2hcIlxyXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gIChzY3JvbGxUb0VuZCk9XCJvblNjcm9sbFRvRW5kKClcIlxyXG4gIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFsobmdNb2RlbCldPVwic2VsZWN0aW9uXCJcclxuPlxyXG4gIDwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgb3B0aW9ucyBpbiBzaW5nbGUgYW5kIG11bHRpIHNlbGVjdCAtLT5cclxuICA8bmctdGVtcGxhdGVcclxuICAgIG5nLW9wdGlvbi10bXBcclxuICAgIGxldC1pdGVtPVwiaXRlbVwiXHJcbiAgICBsZXQtaXRlbSQ9XCJpdGVtJFwiXHJcbiAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIm9wdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2stYm94LXdyYXBwZXJcIiAqbmdJZj1cIm11bHRpcGxlXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cIml0ZW0te3sgaW5kZXggfX1cIlxyXG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJpIGJpLWNoZWNrMiBpY29uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiF2b2NcIiBjbGFzcz1cImxhYmVsLXdyYXBwZXJcIj5cclxuICAgICAgICB7eyBpdGVtW2JpbmRMYWJlbF0gfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInZvY1wiIGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICAgIHt7IFwidm9jYWJ1bGFyeS5cIiArIHZvY0lkICsgXCIuXCIgKyBpdGVtW2JpbmRWYWx1ZV0gfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPCEtLSB0ZW1wbGF0ZSBmb3Igdmlld2luZyBzaW5nbGUgc2VsZWN0IHNlbGVjdGVkIHZhbHVlIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiF2b2NcIj5cclxuICAgICAge3sgKGJpbmRMYWJlbCA/IGl0ZW1bYmluZExhYmVsXSA6IGl0ZW0pIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cInZvY1wiPlxyXG4gICAgICB7eyBcInZvY2FidWxhcnkuXCIgKyB2b2NJZCArIFwiLlwiICsgaXRlbVtiaW5kVmFsdWVdIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPCEtLSB0ZW1wbGF0ZSBmb3Igdmlld2luZyBtdWx0aSBzZWxlY3Qgc2VsZWN0ZWQgdmFsdWVzIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5nLXZhbHVlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgPyBpdGVtcyA6IFtdXCI+XHJcbiAgICAgIDxzcGFuICAqbmdJZj1cIiF2b2NcIiBjbGFzcz1cIm5nLXZhbHVlLWxhYmVsXCI+XHJcbiAgICAgICAge3sgKGJpbmRMYWJlbCA/IGl0ZW1bYmluZExhYmVsXSA6IGl0ZW0pIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ2b2NcIj5cclxuICAgICAgICB7eyBcInZvY2FidWxhcnkuXCIgKyB2b2NJZCArIFwiLlwiICsgaXRlbVtiaW5kVmFsdWVdIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICAqbmdJZj1cImNsZWFyXCJcclxuICAgICAgICBjbGFzcz1cIm5nLXZhbHVlLWljb24gcmlnaHRcIlxyXG4gICAgICAgIChjbGljayk9XCJjbGVhcihpdGVtKVwiXHJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICA+w5c8L3NwYW5cclxuICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1zZWxlY3Q+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBR3pEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQTBEekMsWUFDUyxTQUEyQixFQUNQLE9BQWtCO1FBRHRDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQS9DL0MsMEJBQTBCO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsb0JBQW9CO1FBQ1gsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1Qiw2QkFBNkI7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsaUNBQWlDO1FBQ3hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNu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Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbi8qKlxyXG4gKiBBICBkcm9wZG93biBpbnB1dCB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIERyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW1cclxuICogICAgIFtkYXRhXT1cImFycmF5T2ZJdGVtc1wiXHJcbiAqICAgICBbYmluZExhYmVsXT1cIidiaW5kTGFiZWxQcm9wZXJ0eU5hbWUnXCJcclxuICogICAgIFtsYWJlbF09XCInUEFUSC5UTy5MQUJFTC5UUkFOU0xBVElPTidcIlxyXG4gKiAgICAgcGxhY2Vob2xkZXI9XCJQQVRILlRPLlBMQUNFSE9MREVSLlRSQU5TTEFUSU9OXCJcclxuICogICAgIFtjbG9zZU9uU2VsZWN0XT1cInRydWVcIlxyXG4gKiAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgID5cclxuICogPC9hcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tc2VsZWN0aXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQpIG5nU2VsZWN0Q29tcG9uZW50OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIC8qKiBQcm9wZXJ0eSBuYW1lIHRvIGJpbmQgdmFsdWUgdG8gKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU7XHJcbiAgLyoqIFByb3BlcnR5IG5hbWUgdG8gYmluZCBsYWJlbCB0byAqL1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDtcclxuICAvKiogSXRlbXMgYXJyYXkgKi9cclxuICBASW5wdXQoKSBkYXRhO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuICAvKiogY2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIGlzIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBjbG9zZSBvbiBzZWxlY3QgKi9cclxuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuICAvKiogc2hvdWxkIGhpZGUgc2VsZWN0ZWQgaXRlbXMgKi9cclxuICBASW5wdXQoKSBoaWRlU2VsZWN0ZWRJdGVtcyA9IGZhbHNlO1xyXG4gIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBzaG93IGNsZWFyIGFjdGlvbiAqL1xyXG4gIEBJbnB1dCgpIGNsZWFyID0gdHJ1ZTtcclxuICAvKiogaXMgdm9jYWJ1bGFyeSBzZWxlY3QgKi9cclxuICBASW5wdXQoKSB2b2MgPSBmYWxzZTtcclxuICAvKiogdm9jYWJ1bGFyeSBpZCBmb3IgdHJhbnNsYXRpb24gKGZvciB2b2NhYnVsYXJ5IHNlbGVjdCBvbmx5KSAqL1xyXG4gIEBJbnB1dCgpIHZvY0lkOiBzdHJpbmc7XHJcbiAgLyoqIFNob3VsZCBzaG93IGxvYWRpbmcgaW5kaWNhdG9yICovXHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gIC8qKiBldmVudCBlbWl0dGVkIHdpdGggc2VsZWN0ZWQgaXRlbXMgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWxlY3Rpb24gPSBbXTtcclxuXHJcbiAgYnVmZmVyID0gW107XHJcbiAgYnVmZmVyU2l6ZSA9IDUwO1xyXG4gIG51bWJlck9mSXRlbXNGcm9tRW5kQmVmb3JlRmV0Y2hpbmdNb3JlID0gMTA7XHJcblxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgcHVibGljIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge1xyXG4gICAgLypFbXB0eSovXHJcbiAgfTtcclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuICApIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3Rpb24pO1xyXG4gICAgdGhpcy5vblNlbGVjdEl0ZW1zLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25TY3JvbGxUb0VuZCgpIHtcclxuICAgLy8gdGhpcy5mZXRjaE1vcmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGxlbiA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcclxuICAgIGNvbnN0IG1vcmUgPSB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmJ1ZmZlclNpemUgKyBsZW4pO1xyXG4gICAgdGhpcy5idWZmZXIgPSB0aGlzLmRhdGEuY29uY2F0KG1vcmUpO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNoYW5nZXMuZGF0YSAmJlxyXG4gICAgICBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlICYmXHJcbiAgICAgIGNoYW5nZXMuZGF0YS5wcmV2aW91c1ZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kYXRhID0gWy4uLmNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuZGF0YTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY2hhbmdlcy5sb2FkaW5nICYmXHJcbiAgICAgIGNoYW5nZXMubG9hZGluZy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMubG9hZGluZy5wcmV2aW91c1ZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gY2hhbmdlcy5sb2FkaW5nLmN1cnJlbnRWYWx1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5idWZmZXIgPXRoaXMuZGF0YTtcclxuICAgIHRoaXMuYnVmZmVyLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2ggPSAgKHRlcm06IHN0cmluZywgaXRlbTogYW55KSA9PiB7XHJcbiAgICBsZXQga2V5ID0gJyc7XHJcbiAgICB0aGlzLnZvYyA/IGtleSA9ICBcInZvY2FidWxhcnkuXCIgKyB0aGlzLnZvY0lkICsgXCIuXCIgKyBpdGVtLmlkIDoga2V5ID0gaXRlbS5sYWJlbDtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcclxuICAgICAgaWYodmFsdWUpe1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZXR1cm4gaXRlbS5sYWJlbC5pbmNsdWRlcyh0ZXJtKTtcclxuICAgICAgfVxyXG5cclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB9ZWxzZXsgIC8vYWRkZWQgdG8gYWxsb3cgcmVzZXRpbmcgdWkgd2hlbiByZXNldHRpbmcgZm9ybVxyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZuKGMpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQuaGFuZGxlQ2xlYXJDbGljaygpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBteC0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctc2VsZWN0XHJcbiAgW2l0ZW1zXT1cImJ1ZmZlclwiXHJcbiAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcclxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgW2NsZWFyYWJsZV09XCJjbGVhclwiXHJcbiAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXHJcbiAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgW3NlYXJjaEZuXT1cIm9uU2VhcmNoXCJcclxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcclxuICAoY2hhbmdlKT1cImVtaXRTZWxlY3Rpb24oJGV2ZW50KVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbKG5nTW9kZWwpXT1cInNlbGVjdGlvblwiXHJcbj5cclxuICA8IS0tIHRlbXBsYXRlIGZvciB2aWV3aW5nIG9wdGlvbnMgaW4gc2luZ2xlIGFuZCBtdWx0aSBzZWxlY3QgLS0+XHJcbiAgPG5nLXRlbXBsYXRlXHJcbiAgICBuZy1vcHRpb24tdG1wXHJcbiAgICBsZXQtaXRlbT1cIml0ZW1cIlxyXG4gICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxyXG4gICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJvcHRpb24td3JhcHBlclwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNoZWNrLWJveC13cmFwcGVyXCIgKm5nSWY9XCJtdWx0aXBsZVwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgaWQ9XCJpdGVtLXt7IGluZGV4IH19XCJcclxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtJC5zZWxlY3RlZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiaSBiaS1jaGVjazIgaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCIhdm9jXCIgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCI+XHJcbiAgICAgICAge3sgaXRlbVtiaW5kTGFiZWxdIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ2b2NcIiBjbGFzcz1cImxhYmVsLXdyYXBwZXJcIj5cclxuICAgICAgICB7eyBcInZvY2FidWxhcnkuXCIgKyB2b2NJZCArIFwiLlwiICsgaXRlbVtiaW5kVmFsdWVdIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgc2luZ2xlIHNlbGVjdCBzZWxlY3RlZCB2YWx1ZSAtLT5cclxuICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCIhdm9jXCI+XHJcbiAgICAgIHt7IChiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJ2b2NcIj5cclxuICAgICAge3sgXCJ2b2NhYnVsYXJ5LlwiICsgdm9jSWQgKyBcIi5cIiArIGl0ZW1bYmluZFZhbHVlXSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgbXVsdGkgc2VsZWN0IHNlbGVjdGVkIHZhbHVlcyAtLT5cclxuICA8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJuZy12YWx1ZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zID8gaXRlbXMgOiBbXVwiPlxyXG4gICAgICA8c3BhbiAgKm5nSWY9XCIhdm9jXCIgY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPlxyXG4gICAgICAgIHt7IChiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwidm9jXCI+XHJcbiAgICAgICAge3sgXCJ2b2NhYnVsYXJ5LlwiICsgdm9jSWQgKyBcIi5cIiArIGl0ZW1bYmluZFZhbHVlXSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgKm5nSWY9XCJjbGVhclwiXHJcbiAgICAgICAgY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCJcclxuICAgICAgICAoY2xpY2spPVwiY2xlYXIoaXRlbSlcIlxyXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgPsOXPC9zcGFuXHJcbiAgICAgID5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctc2VsZWN0PlxyXG48bWF0LWVycm9yXHJcbiAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgIHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbWF0LWVycm9yPlxyXG4iXX0=
@@ -53,6 +53,8 @@ export class DynamicFormVocabularyItemComponent {
53
53
  this.emitVocabulryRecordOnSelect = false;
54
54
  /** Event emitted on value is selected */
55
55
  this.onSelecting = new EventEmitter();
56
+ /** Event emitted after finish fetching options */
57
+ this.onFetchingOptions = new EventEmitter();
56
58
  this.loading = false;
57
59
  // function related to value accessor
58
60
  this.propagateChange = () => { };
@@ -90,6 +92,7 @@ export class DynamicFormVocabularyItemComponent {
90
92
  ? res.filter((item) => !item.id.includes('archived') && !item.id.includes('draft'))
91
93
  : res.filter((item) => item.obsolete === 0);
92
94
  this.cdRef.detectChanges();
95
+ this.onFetchingOptions.emit(this.data);
93
96
  });
94
97
  }
95
98
  getCacheableVocabularyList(type) {
@@ -105,7 +108,15 @@ export class DynamicFormVocabularyItemComponent {
105
108
  }
106
109
  writeValue(value) {
107
110
  // if (value) { removed to allow reseting ui when resetting form
108
- this.selection = value;
111
+ if (this.data.some(item => item.id === value)) {
112
+ this.selection = value;
113
+ }
114
+ else {
115
+ this.selection = null;
116
+ if (this.propagateChange) {
117
+ this.propagateChange(null);
118
+ }
119
+ }
109
120
  // }
110
121
  }
111
122
  registerOnChange(fn) {
@@ -132,7 +143,7 @@ export class DynamicFormVocabularyItemComponent {
132
143
  }
133
144
  }
134
145
  DynamicFormVocabularyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormVocabularyItemComponent, deps: [{ token: i1.VocabularyApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
135
- DynamicFormVocabularyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: { onlyIds: "onlyIds", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", vocabularyType: "vocabularyType", label: "label", cacheable: "cacheable", shwoAllValues: "shwoAllValues", emitVocabulryRecordOnSelect: "emitVocabulryRecordOnSelect" }, outputs: { onSelecting: "onSelecting" }, viewQueries: [{ propertyName: "DynamicFormSelectItemComponent", first: true, predicate: DynamicFormSelectItemComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-selectitem\r\n [voc]=\"true\"\r\n [vocId]=\"vocabularyType\"\r\n [data]=\"data\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [disabled]=\"disabled\"\r\n [hideSelectedItems]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (onSelectItems)=\"getSelecteditems($event)\"\r\n [(ngModel)]=\"selection\"\r\n></app-dynamic-form-selectitem>\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 </ul>\r\n</mat-error>\r\n", styles: [""], components: [{ type: i3.DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: ["label", "bindValue", "bindLabel", "data", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "voc", "vocId", "loading"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i6.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
146
+ DynamicFormVocabularyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: { onlyIds: "onlyIds", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", vocabularyType: "vocabularyType", label: "label", cacheable: "cacheable", shwoAllValues: "shwoAllValues", emitVocabulryRecordOnSelect: "emitVocabulryRecordOnSelect" }, outputs: { onSelecting: "onSelecting", onFetchingOptions: "onFetchingOptions" }, viewQueries: [{ propertyName: "DynamicFormSelectItemComponent", first: true, predicate: DynamicFormSelectItemComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-selectitem\r\n [voc]=\"true\"\r\n [vocId]=\"vocabularyType\"\r\n [data]=\"data\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [disabled]=\"disabled\"\r\n [hideSelectedItems]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (onSelectItems)=\"getSelecteditems($event)\"\r\n [(ngModel)]=\"selection\"\r\n></app-dynamic-form-selectitem>\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 </ul>\r\n</mat-error>\r\n", styles: [""], components: [{ type: i3.DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: ["label", "bindValue", "bindLabel", "data", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "voc", "vocId", "loading"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i6.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
136
147
  __decorate([
137
148
  Cacheable({
138
149
  maxCacheCount: 1000,
@@ -185,5 +196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
185
196
  type: Input
186
197
  }], onSelecting: [{
187
198
  type: Output
199
+ }], onFetchingOptions: [{
200
+ type: Output
188
201
  }], getCacheableVocabularyList: [] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFPSCxNQUFNLE9BQU8sa0NBQWtDO0lBcUQ5QyxZQUNTLGFBQW1DLEVBQ25DLEtBQXdCLEVBQ0wsT0FBa0I7UUFGckMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ0wsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQXBEOUMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNELFlBQU8sR0FBYSxFQUFFLENBQUM7UUFPaEMsMEJBQTBCO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsb0JBQW9CO1FBQ1gsZUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQiw2QkFBNkI7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsaUNBQWlDO1FBQ3hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNuQyxrQkFBa0I7UUFDVCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLDhCQUE4QjtRQUNyQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUdwQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUM3Qyx5Q0FBeUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIscUNBQXFDO1FBQ3JDLG9CQUFlLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckIsY0FBUyxHQUFRLEdBQUcsRUFBRTtZQUM1QixTQUFTO1FBQ1YsQ0FBQyxDQUFDO1FBbUJELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBbkJELElBQVcsT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNiO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFTRCxRQUFRO1FBQ1AsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFDO0lBQ0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFJO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFckIsSUFBSSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sRUFBRTtnQkFDekIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhO2dCQUM5QixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuRixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQU9ELDBCQUEwQixDQUFDLElBQUk7UUFDOUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsYUFBYTtRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSTtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsQ0FBYztRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELFVBQVU7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyRCxPQUFPLEtBQUssQ0FBQztTQUNiO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQXFCLENBQUMsQ0FBQztRQUN4RSxPQUFPLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxLQUFLO1FBQ0osSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdDLENBQUM7O2dJQXBJVyxrQ0FBa0M7b0hBQWxDLGtDQUFrQyxpbEJBQ25DLDhCQUE4QixnREM1QzFDLHNqQ0FtQ0E7QURpR0M7SUFMQyxTQUFTLENBQUM7UUFDVixhQUFhLEVBQUUsSUFBSTtRQUNuQixlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLE1BQU0sRUFBRSxLQUFLO0tBQ2IsQ0FBQztvRkFHRDs0RkEzRlcsa0NBQWtDO2tCQU45QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFdBQVcsRUFBRSwrQ0FBK0M7b0JBQzVELFNBQVMsRUFBRSxDQUFDLCtDQUErQyxDQUFDO29CQUM1RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDckM7OzBCQXlERSxJQUFJOzswQkFBSSxRQUFROzRDQXREbEIsOEJBQThCO3NCQUQ3QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJaEMsT0FBTztzQkFBZixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkEyRFAsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9wdGlvbmFsLFxyXG5cdE91dHB1dCxcclxuXHRTZWxmLFxyXG5cdFZpZXdDaGlsZCxcclxuXHRWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFZvY2FidWxhcnlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdm9jYWJ1bGFyeS9zZXJ2aWNlcy92b2NhYnVsYXJ5LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBMb2NhbFN0b3JhZ2VTdHJhdGVneSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQSB2b2NhYnVsYXJ5IGRyb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBudXhlbyB2b2NhYnVsYXJ5IEFQSSxcclxuICogdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiB2b2NhYnVsYXJ5IGRyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gKiAgIFtsYWJlbF09XCInUEFUSC5UTy5MQUJFTC5UUkFOU0xBVElPTidcIlxyXG4gKiAgIFtiaW5kTGFiZWxdPVwiJ2JpbmRMYWJlbFByb3BlcnR5TmFtZSdcIlxyXG4gKiAgIFtiaW5kVmFsdWVdPVwiJ2JpbmRWYWx1ZVByb3BlcnR5TmFtZSdcIlxyXG4gKiAgIHBsYWNlaG9sZGVyPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuVFJBTlNMQVRJT04nXCJcclxuICogICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gKiAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICogICBbY2xvc2VPblNlbGVjdF09XCJ0cnVlXCJcclxuICogICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmFsc2VcIlxyXG4gKiAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVm9jYWJ1bGFyeUtleSdcIlxyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogPlxyXG4gKiA8L2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVZvY2FidWxhcnlJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50KVxyXG5cdER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudDogRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50O1xyXG5cclxuXHRkYXRhID0gW107XHJcblx0QElucHV0KCkgb25seUlkczogc3RyaW5nW10gPSBbXTtcclxuXHQvKiogQmluZCB2YWx1ZSB0byBwcm9wZXJ0eSBuYW1lICovXHJcblx0QElucHV0KCkgYmluZFZhbHVlO1xyXG5cdC8qKiBCaW5kIGxhYmVsIHRvIHByb3BlcnR5IG5hbWUgKi9cclxuXHRASW5wdXQoKSBiaW5kTGFiZWw7XHJcblx0LyoqIFBsYWNlaG9sZGVyIHN0cmluZyAqL1xyXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG5cdC8qKiBDYW4gc2VsZWN0IG11bHRpcGxlICovXHJcblx0QElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuXHQvKiogSXMgc2VhcmNoYWJsZSAqL1xyXG5cdEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xyXG5cdC8qKiBTaG91bGQgY2xvc2Ugb24gc2VsZWN0ICovXHJcblx0QElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XHJcblx0LyoqIFNob3VsZCBoaWRlIHNlbGVjdGVkIGl0ZW1zICovXHJcblx0QElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuXHQvKiogaXMgZGlzYWJsZWQgKi9cclxuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cdC8qKiBWb2NhYnVsYXJ5IGxpc3QgQVBJIEtleSAqL1xyXG5cdEBJbnB1dCgpIHZvY2FidWxhcnlUeXBlID0gJyc7XHJcblx0LyoqIEZpZWxkIExhYmVsICovXHJcblx0QElucHV0KCkgbGFiZWw7XHJcblx0QElucHV0KCkgY2FjaGVhYmxlID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBzaHdvQWxsVmFsdWVzID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBlbWl0Vm9jYWJ1bHJ5UmVjb3JkT25TZWxlY3QgPSBmYWxzZTtcclxuXHQvKiogRXZlbnQgZW1pdHRlZCBvbiB2YWx1ZSBpcyBzZWxlY3RlZCAqL1xyXG5cdEBPdXRwdXQoKSBvblNlbGVjdGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRsb2FkaW5nID0gZmFsc2U7XHJcblx0c2VsZWN0aW9uO1xyXG5cclxuXHQvLyBmdW5jdGlvbiByZWxhdGVkIHRvIHZhbHVlIGFjY2Vzc29yXHJcblx0cHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcblx0dmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG5cdHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuXHRcdC8qRW1wdHkqL1xyXG5cdH07XHJcblx0cHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuXHRcdGlmICghdGhpcy5jb250cm9sKSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuXHR9XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHZvY2FidWxhcnlBcGk6IFZvY2FidWxhcnlBcGlTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250cm9sOiBOZ0NvbnRyb2xcclxuXHQpIHtcclxuXHRcdHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMudm9jYWJ1bGFyeVR5cGUpIHtcclxuXHRcdFx0dGhpcy5nZXRMaXNPZk9wdGlvbnModGhpcy52b2NhYnVsYXJ5VHlwZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRnZXRMaXNPZk9wdGlvbnModHlwZSkge1xyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdGNvbnN0IGNhbGxBcGkgPSB0aGlzLmNhY2hlYWJsZSA/IHRoaXMuZ2V0Q2FjaGVhYmxlVm9jYWJ1bGFyeUxpc3QodHlwZSkgOiB0aGlzLmdldFZvY2FidWxhcnlMaXN0KHR5cGUpO1xyXG5cdFx0Y2FsbEFwaS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHJcblx0XHRcdGlmICh0aGlzLm9ubHlJZHM/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdHJlcyA9IHJlcy5maWx0ZXIoKHEpID0+IHRoaXMub25seUlkcy5pbmNsdWRlcyhxLmlkKSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuZGF0YSA9ICF0aGlzLnNod29BbGxWYWx1ZXNcclxuXHRcdFx0XHQ/IHJlcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmlkLmluY2x1ZGVzKCdhcmNoaXZlZCcpICYmICFpdGVtLmlkLmluY2x1ZGVzKCdkcmFmdCcpKVxyXG5cdFx0XHRcdDogcmVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5vYnNvbGV0ZSA9PT0gMCk7XHJcblx0XHRcdHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRAQ2FjaGVhYmxlKHtcclxuXHRcdG1heENhY2hlQ291bnQ6IDEwMDAsXHJcblx0XHRzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG5cdFx0bWF4QWdlOiAyMDAwMFxyXG5cdH0pXHJcblx0Z2V0Q2FjaGVhYmxlVm9jYWJ1bGFyeUxpc3QodHlwZSkge1xyXG5cdFx0cmV0dXJuIHRoaXMudm9jYWJ1bGFyeUFwaS5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuXHR9XHJcblxyXG5cdGdldFZvY2FidWxhcnlMaXN0KHR5cGUpIHtcclxuXHRcdHJldHVybiB0aGlzLnZvY2FidWxhcnlBcGkuZ2V0Vm9jYWJ1bGFyeUxpc3QodHlwZSk7XHJcblx0fVxyXG5cdGdldFNlbGVjdGVkaXRlbXMoc2VsZWN0ZWRJdGVtcykge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3Rpb24pO1xyXG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmVtaXRWb2NhYnVscnlSZWNvcmRPblNlbGVjdCA/IHNlbGVjdGVkSXRlbXMgOiB0aGlzLnNlbGVjdGlvbjtcclxuXHRcdHRoaXMub25TZWxlY3RpbmcuZW1pdCh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHR3cml0ZVZhbHVlKHZhbHVlKSB7XHJcblx0XHQvLyBpZiAodmFsdWUpIHsgcmVtb3ZlZCB0byBhbGxvdyByZXNldGluZyB1aSB3aGVuIHJlc2V0dGluZyBmb3JtXHJcblx0XHR0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuXHR9XHJcblxyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMub25Ub3VjaGVkID0gZm47XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG5cdFx0cmV0dXJuIHRoaXMudmFsaWRhdGVGbihjKTtcclxuXHR9XHJcblx0aXNSZXF1aXJlZCgpIHtcclxuXHRcdGlmICghdGhpcy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG5cdFx0cmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcblx0fVxyXG5cdGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuXHR9XHJcblx0cmVzZXQoKSB7XHJcblx0XHR0aGlzLkR5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudC5yZXNldCgpO1xyXG5cdH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG14LTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxhcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW1cclxuICBbdm9jXT1cInRydWVcIlxyXG4gIFt2b2NJZF09XCJ2b2NhYnVsYXJ5VHlwZVwiXHJcbiAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcclxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gIChvblNlbGVjdEl0ZW1zKT1cImdldFNlbGVjdGVkaXRlbXMoJGV2ZW50KVwiXHJcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3Rpb25cIlxyXG4+PC9hcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFPSCxNQUFNLE9BQU8sa0NBQWtDO0lBdUQ5QyxZQUNTLGFBQW1DLEVBQ25DLEtBQXdCLEVBQ0wsT0FBa0I7UUFGckMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ0wsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQXREOUMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNELFlBQU8s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LENBQUMsSUFBSTtpQkFDckM7OzBCQTJERSxJQUFJOzswQkFBSSxRQUFROzRDQXhEbEIsOEJBQThCO3NCQUQ3QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJaEMsT0FBTztzQkFBZixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBNERQLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPcHRpb25hbCxcclxuXHRPdXRwdXQsXHJcblx0U2VsZixcclxuXHRWaWV3Q2hpbGQsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBWb2NhYnVsYXJ5QXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3ZvY2FidWxhcnkvc2VydmljZXMvdm9jYWJ1bGFyeS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IENhY2hlYWJsZSwgTG9jYWxTdG9yYWdlU3RyYXRlZ3kgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS9keW5hbWljLWZvcm0tc2VsZWN0aXRlbS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEEgdm9jYWJ1bGFyeSBkcm9wZG93biBpbnB1dCBpbnRlZ3JhdGVkIHdpdGggbnV4ZW8gdm9jYWJ1bGFyeSBBUEksXHJcbiAqIHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogdm9jYWJ1bGFyeSBkcm9wZG93blxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW1cclxuICogICBbbGFiZWxdPVwiJ1BBVEguVE8uTEFCRUwuVFJBTlNMQVRJT04nXCJcclxuICogICBbYmluZExhYmVsXT1cIidiaW5kTGFiZWxQcm9wZXJ0eU5hbWUnXCJcclxuICogICBbYmluZFZhbHVlXT1cIidiaW5kVmFsdWVQcm9wZXJ0eU5hbWUnXCJcclxuICogICBwbGFjZWhvbGRlcj1cIidQQVRILlRPLlBMQUNFSE9MREVSLlRSQU5TTEFUSU9OJ1wiXHJcbiAqICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICogICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcbiAqICAgW2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcbiAqICAgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZhbHNlXCJcclxuICogICBbdm9jYWJ1bGFyeVR5cGVdPVwiJ1ZvY2FidWxhcnlLZXknXCJcclxuICogICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqID5cclxuICogPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Wb2NhYnVsYXJ5SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHRAVmlld0NoaWxkKER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudClcclxuXHREeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnQ6IER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudDtcclxuXHJcblx0ZGF0YSA9IFtdO1xyXG5cdEBJbnB1dCgpIG9ubHlJZHM6IHN0cmluZ1tdID0gW107XHJcblx0LyoqIEJpbmQgdmFsdWUgdG8gcHJvcGVydHkgbmFtZSAqL1xyXG5cdEBJbnB1dCgpIGJpbmRWYWx1ZTtcclxuXHQvKiogQmluZCBsYWJlbCB0byBwcm9wZXJ0eSBuYW1lICovXHJcblx0QElucHV0KCkgYmluZExhYmVsO1xyXG5cdC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuXHRASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuXHQvKiogQ2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG5cdEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcblx0LyoqIElzIHNlYXJjaGFibGUgKi9cclxuXHRASW5wdXQoKSBzZWFyY2hhYmxlID0gdHJ1ZTtcclxuXHQvKiogU2hvdWxkIGNsb3NlIG9uIHNlbGVjdCAqL1xyXG5cdEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG5cdC8qKiBTaG91bGQgaGlkZSBzZWxlY3RlZCBpdGVtcyAqL1xyXG5cdEBJbnB1dCgpIGhpZGVTZWxlY3RlZEl0ZW1zID0gZmFsc2U7XHJcblx0LyoqIGlzIGRpc2FibGVkICovXHJcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHQvKiogVm9jYWJ1bGFyeSBsaXN0IEFQSSBLZXkgKi9cclxuXHRASW5wdXQoKSB2b2NhYnVsYXJ5VHlwZSA9ICcnO1xyXG5cdC8qKiBGaWVsZCBMYWJlbCAqL1xyXG5cdEBJbnB1dCgpIGxhYmVsO1xyXG5cdEBJbnB1dCgpIGNhY2hlYWJsZSA9IHRydWU7XHJcblx0QElucHV0KCkgc2h3b0FsbFZhbHVlcyA9IHRydWU7XHJcblx0QElucHV0KCkgZW1pdFZvY2FidWxyeVJlY29yZE9uU2VsZWN0ID0gZmFsc2U7XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgb24gdmFsdWUgaXMgc2VsZWN0ZWQgKi9cclxuXHRAT3V0cHV0KCkgb25TZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgZmluaXNoIGZldGNoaW5nIG9wdGlvbnMgKi9cclxuXHRAT3V0cHV0KCkgb25GZXRjaGluZ09wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0bG9hZGluZyA9IGZhbHNlO1xyXG5cdHNlbGVjdGlvbjtcclxuXHJcblx0Ly8gZnVuY3Rpb24gcmVsYXRlZCB0byB2YWx1ZSBhY2Nlc3NvclxyXG5cdHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG5cdHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHsgfTtcclxuXHRwdWJsaWMgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XHJcblx0XHQvKkVtcHR5Ki9cclxuXHR9O1xyXG5cdHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcblx0XHRpZiAoIXRoaXMuY29udHJvbCkge1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuXHRcdHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcblx0fVxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSB2b2NhYnVsYXJ5QXBpOiBWb2NhYnVsYXJ5QXBpU2VydmljZSxcclxuXHRcdHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cdFx0QFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcblx0KSB7XHJcblx0XHR0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnZvY2FidWxhcnlUeXBlKSB7XHJcblx0XHRcdHRoaXMuZ2V0TGlzT2ZPcHRpb25zKHRoaXMudm9jYWJ1bGFyeVR5cGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0TGlzT2ZPcHRpb25zKHR5cGUpIHtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHRjb25zdCBjYWxsQXBpID0gdGhpcy5jYWNoZWFibGUgPyB0aGlzLmdldENhY2hlYWJsZVZvY2FidWxhcnlMaXN0KHR5cGUpIDogdGhpcy5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuXHRcdGNhbGxBcGkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG5cdFx0XHRpZiAodGhpcy5vbmx5SWRzPy5sZW5ndGgpIHtcclxuXHRcdFx0XHRyZXMgPSByZXMuZmlsdGVyKChxKSA9PiB0aGlzLm9ubHlJZHMuaW5jbHVkZXMocS5pZCkpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLmRhdGEgPSAhdGhpcy5zaHdvQWxsVmFsdWVzXHJcblx0XHRcdFx0PyByZXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5pZC5pbmNsdWRlcygnYXJjaGl2ZWQnKSAmJiAhaXRlbS5pZC5pbmNsdWRlcygnZHJhZnQnKSlcclxuXHRcdFx0XHQ6IHJlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ub2Jzb2xldGUgPT09IDApO1xyXG5cdFx0XHR0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0dGhpcy5vbkZldGNoaW5nT3B0aW9ucy5lbWl0KHRoaXMuZGF0YSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdEBDYWNoZWFibGUoe1xyXG5cdFx0bWF4Q2FjaGVDb3VudDogMTAwMCxcclxuXHRcdHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcblx0XHRtYXhBZ2U6IDIwMDAwXHJcblx0fSlcclxuXHRnZXRDYWNoZWFibGVWb2NhYnVsYXJ5TGlzdCh0eXBlKSB7XHJcblx0XHRyZXR1cm4gdGhpcy52b2NhYnVsYXJ5QXBpLmdldFZvY2FidWxhcnlMaXN0KHR5cGUpO1xyXG5cdH1cclxuXHJcblx0Z2V0Vm9jYWJ1bGFyeUxpc3QodHlwZSkge1xyXG5cdFx0cmV0dXJuIHRoaXMudm9jYWJ1bGFyeUFwaS5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuXHR9XHJcblx0Z2V0U2VsZWN0ZWRpdGVtcyhzZWxlY3RlZEl0ZW1zKSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuZW1pdFZvY2FidWxyeVJlY29yZE9uU2VsZWN0ID8gc2VsZWN0ZWRJdGVtcyA6IHRoaXMuc2VsZWN0aW9uO1xyXG5cdFx0dGhpcy5vblNlbGVjdGluZy5lbWl0KHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdHdyaXRlVmFsdWUodmFsdWUpIHtcclxuXHRcdC8vIGlmICh2YWx1ZSkgeyByZW1vdmVkIHRvIGFsbG93IHJlc2V0aW5nIHVpIHdoZW4gcmVzZXR0aW5nIGZvcm1cclxuXHRcdGlmICh0aGlzLmRhdGEuc29tZShpdGVtID0+IGl0ZW0uaWQgPT09IHZhbHVlKSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb24gPSBudWxsO1xyXG5cdFx0XHRpZiAodGhpcy5wcm9wYWdhdGVDaGFuZ2UpIHtcclxuXHRcdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZShudWxsKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ly8gfVxyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuXHR9XHJcblxyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMub25Ub3VjaGVkID0gZm47XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG5cdFx0cmV0dXJuIHRoaXMudmFsaWRhdGVGbihjKTtcclxuXHR9XHJcblx0aXNSZXF1aXJlZCgpIHtcclxuXHRcdGlmICghdGhpcy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG5cdFx0cmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcblx0fVxyXG5cdGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuXHR9XHJcblx0cmVzZXQoKSB7XHJcblx0XHR0aGlzLkR5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudC5yZXNldCgpO1xyXG5cdH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG14LTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxhcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW1cclxuICBbdm9jXT1cInRydWVcIlxyXG4gIFt2b2NJZF09XCJ2b2NhYnVsYXJ5VHlwZVwiXHJcbiAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxyXG4gIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcclxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gIChvblNlbGVjdEl0ZW1zKT1cImdldFNlbGVjdGVkaXRlbXMoJGV2ZW50KVwiXHJcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3Rpb25cIlxyXG4+PC9hcHAtZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0+XHJcbjxtYXQtZXJyb3JcclxuICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4+XHJcbiAgPHVsPlxyXG4gICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9tYXQtZXJyb3I+XHJcbiJdfQ==
@@ -12,7 +12,7 @@ export class VocabularyWrapperComponent {
12
12
  }
13
13
  }
14
14
  VocabularyWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- VocabularyWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VocabularyWrapperComponent, selector: "app-vocabulary-wrapper", inputs: { value: "value", vocId: "vocId", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n", styles: [""], components: [{ type: i1.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
15
+ VocabularyWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VocabularyWrapperComponent, selector: "app-vocabulary-wrapper", inputs: { value: "value", vocId: "vocId", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n", styles: [""], components: [{ type: i1.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting", "onFetchingOptions"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VocabularyWrapperComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{