@eo-sdk/client 10.7.0-rc.1 → 10.7.0-rc.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.
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/app/eo-client/login/login.component.d.ts +1 -0
- package/app/eo-client/login/login.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts +1 -0
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +1 -2
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.d.ts +18 -0
- package/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.d.ts.map +1 -0
- package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts +1 -0
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/ui/overlay/overlay.component.d.ts +11 -7
- package/app/eo-framework/ui/overlay/overlay.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +2 -1
- package/assets/_default/i18n/en.json +2 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +21 -6
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +1 -1
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +2 -2
- package/esm2020/app/eo-client/login/login.component.mjs +13 -6
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +1 -1
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +1 -1
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +22 -14
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +1 -1
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +1 -1
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +4 -4
- package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +10 -19
- package/esm2020/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +42 -0
- package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +5 -2
- package/esm2020/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/media/media.component.mjs +8 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +4 -3
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +11 -2
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +1 -2
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +18 -2
- package/esm2020/app/eo-framework/ui/overlay/overlay.component.mjs +38 -18
- package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +5 -3
- package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +6 -6
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +9 -7
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +333 -233
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +9 -7
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +329 -229
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, ViewChild } from '@angular/core';
|
|
2
2
|
import { Process, RangeValue, SearchFilter, Utils } from '@eo-sdk/core';
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
|
+
import { CustomSortComponent } from "../../eo-framework";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@eo-sdk/core";
|
|
6
7
|
import * as i2 from "../../eo-framework-core/selection/selection.service";
|
|
@@ -16,16 +17,18 @@ import * as i11 from "../../eo-framework/ui/error-message/error-message.componen
|
|
|
16
17
|
import * as i12 from "../../eo-framework/object-details/object-details.component";
|
|
17
18
|
import * as i13 from "../../eo-framework/grid/grid.component";
|
|
18
19
|
import * as i14 from "../../eo-framework/grid/extensions/total-count/total-count.component";
|
|
19
|
-
import * as i15 from "../../eo-framework/grid/extensions/
|
|
20
|
-
import * as i16 from "../../eo-framework/grid/extensions/
|
|
21
|
-
import * as i17 from "../../eo-framework/
|
|
22
|
-
import * as i18 from "../../eo-framework/
|
|
23
|
-
import * as i19 from "../../eo-framework/form-elements/
|
|
24
|
-
import * as i20 from "../../eo-framework/form-elements/
|
|
25
|
-
import * as i21 from "../../eo-framework/
|
|
26
|
-
import * as i22 from "../../eo-framework/
|
|
27
|
-
import * as i23 from "
|
|
28
|
-
import * as i24 from "../../eo-framework/
|
|
20
|
+
import * as i15 from "../../eo-framework/grid/extensions/custom-sort/custom-sort.component";
|
|
21
|
+
import * as i16 from "../../eo-framework/grid/extensions/filter/custom/custom-filter.component";
|
|
22
|
+
import * as i17 from "../../eo-framework/grid/extensions/reset-filter/reset-filter.component";
|
|
23
|
+
import * as i18 from "../../eo-framework/grid/extensions/pagination/pagination.component";
|
|
24
|
+
import * as i19 from "../../eo-framework/form-elements/form-input/form-input.component";
|
|
25
|
+
import * as i20 from "../../eo-framework/form-elements/datetime-range/datetime-range.component";
|
|
26
|
+
import * as i21 from "../../eo-framework/form-elements/checkbox/checkbox.component";
|
|
27
|
+
import * as i22 from "../../eo-framework/form-elements/dynamic-list/dynamic-list.component";
|
|
28
|
+
import * as i23 from "../../eo-framework/list-container/list-container.component";
|
|
29
|
+
import * as i24 from "../../eo-framework/process/details/process-details.component";
|
|
30
|
+
import * as i25 from "@yuuvis/components/split-view";
|
|
31
|
+
import * as i26 from "../../eo-framework/plugins/plugin.component";
|
|
29
32
|
export class ProcessStateComponent {
|
|
30
33
|
constructor(translate, bpmService, selection, empty, backend, fb, titleService, appCache, pendingChanges) {
|
|
31
34
|
this.translate = translate;
|
|
@@ -120,9 +123,14 @@ export class ProcessStateComponent {
|
|
|
120
123
|
}
|
|
121
124
|
initGrid() {
|
|
122
125
|
this.settings = { total: 0, size: this.VIRTUAL_LIST_CHUNK_SIZE };
|
|
126
|
+
this.sortFields = [
|
|
127
|
+
{ field: 'starttime', headerName: this.translate.instant('eo.grid.sort.date'), sort: '' },
|
|
128
|
+
{ field: 'modelname', headerName: this.translate.instant('eo.process.sort.type'), sort: '' }
|
|
129
|
+
];
|
|
130
|
+
const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
|
|
123
131
|
this.gridOptions = {
|
|
124
132
|
context: { count: 0 },
|
|
125
|
-
columnDefs: this.colDefs,
|
|
133
|
+
columnDefs: this.colDefs.concat(sortColDefs),
|
|
126
134
|
rowBuffer: 20,
|
|
127
135
|
rowHeight: 80,
|
|
128
136
|
rowSelection: 'single',
|
|
@@ -312,12 +320,12 @@ export class ProcessStateComponent {
|
|
|
312
320
|
}
|
|
313
321
|
}
|
|
314
322
|
ProcessStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, deps: [{ token: i1.TranslateService }, { token: i1.BpmService }, { token: i2.SelectionService }, { token: i3.EmptyStateService }, { token: i1.BackendService }, { token: i4.UntypedFormBuilder }, { token: i5.PageTitleService }, { token: i1.AppCacheService }, { token: i6.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
315
|
-
ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\" \n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\" \n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i16.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i17.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i18.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i19.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i20.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i24.PluginPipe, name: "plugins" }] });
|
|
323
|
+
ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i19.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i20.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i21.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i22.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i23.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i24.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i25.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i25.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i26.PluginPipe, name: "plugins" }] });
|
|
316
324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, decorators: [{
|
|
317
325
|
type: Component,
|
|
318
|
-
args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\" \n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\" \n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
|
|
326
|
+
args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
|
|
319
327
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.BpmService }, { type: i2.SelectionService }, { type: i3.EmptyStateService }, { type: i1.BackendService }, { type: i4.UntypedFormBuilder }, { type: i5.PageTitleService }, { type: i1.AppCacheService }, { type: i6.PendingChangesService }]; }, propDecorators: { eoGrid: [{
|
|
320
328
|
type: ViewChild,
|
|
321
329
|
args: ["eoGrid"]
|
|
322
330
|
}] } });
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNuQyxNQUFNLE9BQU8scUJBQXFCO0lBZ0RoQyxZQUNTLFNBQTJCLEVBQzNCLFVBQXNCLEVBQ3RCLFNBQTJCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVCLEVBQ3ZCLEVBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLFFBQXlCLEVBQ3pCLGNBQXFDO1FBUnRDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQXREL0MsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBRS9CLGdCQUFXLEdBQWUsRUFBRSxJQUFJLEVBQUUs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T0FBTyx5QkFBeUIsUUFBUSxJQUFJLG9CQUFvQjtjQUN4RCxJQUFJOzttQ0FFaUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSzt5Q0FDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSzs7OztrQkFJckQsZUFBZTtrQkFDZixhQUFhOzs7O1NBSXRCLENBQUM7U0FDTDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztrSEF6VVUscUJBQXFCO3NHQUFyQixxQkFBcUIsMEpDbkJsQyxxeE9BbUhBOzJGRGhHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhWQWtEUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIEJwbVNlcnZpY2UsIFByb2Nlc3MsIFJhbmdlVmFsdWUsIFNlYXJjaEZpbHRlciwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJlby1wcm9jZXNzLXN0YXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RhdGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByb2Nlc3NTZWxlY3Rpb25JZCA9IFwicHJvY2Vzc1wiO1xuICBwcm9jZXNzU2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBlbXB0eVN0YXRlMTogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGVtcHR5U3RhdGUyOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZmlsdGVyQ2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5maWx0ZXJcIjtcbiAgc29ydENhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3Quc29ydFwiO1xuICBWSVJUVUFMX0xJU1RfQ0hVTktfU0laRSA9IDUwO1xuICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlID0ge1xuICAgIG1vZGVsRkNOOiBudWxsLFxuICAgIHJ1bm5pbmdGQ046IHRydWUsXG4gICAgcGF1c2VkRkNOOiB0cnVlLFxuICAgIGNyZWF0ZWRGQ046IHRydWUsXG4gICAgY2FuY2VsZWRGQ046IHRydWUsXG4gICAgZmFpbGVkRkNOOiB0cnVlLFxuICAgIGNvbXBsZXRlZEZDTjogdHJ1ZSxcbiAgICBzdGFydFRpbWVGQ046IG51bGxcbiAgfTtcbiAgc29ydFBhcmFtcyA9IHtcbiAgICBzdGFydFRpbWU6ICcnLFxuICAgIG1vZGVsTmFtZTogJydcbiAgfTtcbiAgZGVmYXVsdFNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiBcIlwiLFxuICAgIG1vZGVsTmFtZTogXCJcIlxuICB9O1xuICBzZXR0aW5ncyA9IHt9O1xuICBjb2xEZWZzOiBDb2xEZWZbXSA9IFtcbiAgICB7XG4gICAgICBoZWFkZXJOYW1lOiBcIlwiLFxuICAgICAgZmllbGQ6IFwiX19jdXN0b21cIixcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgfVxuICBdO1xuICBwcm9jZXNzTW9kZWxzTGlzdE9iamVjdCA9IHtcbiAgICBlbnRyaWVzOiBbXSxcbiAgICBjb25maWc6IHtcbiAgICAgIHZhbHVlRmllbGQ6IFwibmFtZVwiLFxuICAgICAgc3ViRW50cmllc0ZpZWxkOiBcIm1vZGVsc1wiXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoXCJlb0dyaWRcIikgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5wcm9jZXNzJykpO1xuXG4gICAgLy9zZWNvbmRhcnkgc2VsZWN0aW9uIGluc3RhbmNlIGZvciBpbmJveCBpdGVtc1xuICAgIHRoaXMucHJvY2Vzc1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmNyZWF0ZU5ldyh0aGlzLnByb2Nlc3NTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLmZldGNoUHJvY2Vzc01vZGVscygpLnN1YnNjcmliZShwcm9jZXNzTW9kZWxzID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcyA9IHByb2Nlc3NNb2RlbHM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcENhY2hlXG4gICAgICAuZ2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgZmlsdGVyVmFsdWUgPT5cbiAgICAgICAgICB0aGlzLmluaXRGaWx0ZXIoXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA/IGZpbHRlclZhbHVlIDogdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlXG4gICAgICAgICAgKSxcbiAgICAgICAgKCkgPT4gdGhpcy5pbml0RmlsdGVyKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmFwcENhY2hlLmdldEl0ZW0odGhpcy5zb3J0Q2FjaGVLZXkpLnN1YnNjcmliZShzb3J0UGFyYW1zID0+IHtcbiAgICAgIGlmIChzb3J0UGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtcyA9IHNvcnRQYXJhbXM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUHJvY2Vzc01vZGVscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KFwiL2JwbS9tYW5hZ2VtZW50L3Byb2plY3Q/aW5jbHVkZU1vZGVscz10cnVlXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKGZpbHRlclZhbHVlKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBtb2RlbEZDTjogW2ZpbHRlclZhbHVlLm1vZGVsRkNOXSxcbiAgICAgIHJ1bm5pbmdGQ046IFtmaWx0ZXJWYWx1ZS5ydW5uaW5nRkNOXSxcbiAgICAgIHBhdXNlZEZDTjogW2ZpbHRlclZhbHVlLnBhdXNlZEZDTl0sXG4gICAgICBjcmVhdGVkRkNOOiBbZmlsdGVyVmFsdWUuY3JlYXRlZEZDTl0sXG4gICAgICBjYW5jZWxlZEZDTjogW2ZpbHRlclZhbHVlLmNhbmNlbGVkRkNOXSxcbiAgICAgIGZhaWxlZEZDTjogW2ZpbHRlclZhbHVlLmZhaWxlZEZDTl0sXG4gICAgICBjb21wbGV0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jb21wbGV0ZWRGQ05dLFxuICAgICAgc3RhcnRUaW1lRkNOOiBbXG4gICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTiA/XG4gICAgICAgIG5ldyBSYW5nZVZhbHVlKFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5vcGVyYXRvcixcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSxcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uc2Vjb25kVmFsdWVcbiAgICAgICAgKSA6IG51bGxcbiAgICAgIF1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcENhY2hlLnNldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSwgdGhpcy5maWx0ZXJGb3JtLnZhbHVlKS5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblBhZ2VDaGFuZ2VkKCksIDEwMCk7XG4gIH1cblxuICByZWZyZXNoTGlzdCgpIHtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIGluaXRHcmlkKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWw6IDAsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkV9O1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMsXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgcm93SGVpZ2h0OiA4MCxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICByb3dEYXRhOiBbXVxuICAgIH07XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybSkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnNldFZhbHVlKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGZpZWxkLCBkaXJlY3Rpb24pIHtcbiAgICB0aGlzLnNvcnRQYXJhbXNbZmllbGRdID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaS5zZXRSb3dEYXRhKHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSb3dEYXRhKHBhcmFtcykge1xuICAgIGNvbnN0IHBhZ2UgPSBNYXRoLmZsb29yKHBhcmFtcy5zdGFydFJvdyAvIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpO1xuICAgIHRoaXMuZ2V0UHJvY2Vzc2VzKHsgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZSB9KS5zdWJzY3JpYmUoKHByb2Nlc3NlcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5zdGFydFJvdyA9PT0gMCkge1xuICAgICAgICB0aGlzLmVtcHR5U3RhdGUxID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKHByb2Nlc3Nlcy5jb250ZW50ID8gcHJvY2Vzc2VzLmNvbnRlbnQubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTIgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socHJvY2Vzc2VzLnByb2Nlc3NlcywgcHJvY2Vzc2VzLnRvdGFsRWxlbWVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9jZXNzZXMob3B0aW9ucykge1xuICAgIGxldCB1cmwgPSBVdGlscy5idWlsZFVyaShgL3Byb2Nlc3Nlc2AsIG9wdGlvbnMgfHwge30pO1xuICAgIHVybCA9IHRoaXMuYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTtcbiAgICB1cmwgPSB0aGlzLmFkZFNvcnRQYXJhbXNUb1VybCh1cmwpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVybCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBwcm9jZXNzZXMgPSByZXNwb25zZS5jb250ZW50Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3MgPSBuZXcgUHJvY2VzcyhpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3BvbnNlLnByb2Nlc3NlcyA9IHRoaXMuYWRkSWNvblVybChwcm9jZXNzZXMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlclBhcmFtc1RvVXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmZpbHRlckZvcm0gfHwgIXRoaXMuZmlsdGVyRm9ybS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNyZWF0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0wXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUucnVubmluZ0ZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTIwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY29tcGxldGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MzBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5wYXVzZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT00MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNhbmNlbGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9NTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5mYWlsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT02MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKSB7XG4gICAgICB1cmwgKz1cbiAgICAgICAgXCImbW9kZWxpZD1cIiArIHRoaXMuZ2V0TW9kZWxJZEZyb21OYW1lKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5tb2RlbEZDTik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhcnRUaW1lRkNOICYmIHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSkge1xuXG4gICAgICBjb25zdCB7b3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlfSA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ047XG4gICAgICBjb25zdCBxdWVyeTogYW55ID0gbmV3IFNlYXJjaEZpbHRlcignc3RhcnR0aW1lJywgb3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlLCB7dGltZTogdHJ1ZSwgdGltZXpvbmU6IHRydWV9KS50b0RhdGVUaW1lUXVlcnkoKTtcblxuICAgICAgaWYgKHF1ZXJ5Lm8gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgICB1cmwgKz0gJyZzdGFydHRpbWVfZXE9JyArIHF1ZXJ5LnYxO1xuICAgICAgfVxuICAgICAgaWYgKHF1ZXJ5Lm8ubWF0Y2goU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpKSB7XG4gICAgICAgIHVybCArPSBcIiZzdGFydHRpbWVfZ3RlPVwiICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9sdGU9XCIgKyAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCA/IHF1ZXJ5LnYyIDogcXVlcnkudjEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTb3J0UGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9c3RhcnR0aW1lLFwiICsgdGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWUpIHtcbiAgICAgIHVybCArPSBcIiZzb3J0PW5hbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMubW9kZWxOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbElkRnJvbU5hbWUobW9kZWxOYW1lKTogc3RyaW5nIHtcbiAgICBsZXQgaWQgPSBcIlwiO1xuICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcy5mb3JFYWNoKG1vZGVsID0+IHtcbiAgICAgIGlmIChtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgaWQgPSBtb2RlbC5pZDtcbiAgICAgIH0gZWxzZSBpZiAobW9kZWwubW9kZWxzKSB7XG4gICAgICAgIG1vZGVsLm1vZGVscy5mb3JFYWNoKHN1Ym1vZGVsID0+IHtcbiAgICAgICAgICBpZiAoc3VibW9kZWwubmFtZSA9PT0gbW9kZWxOYW1lKSB7XG4gICAgICAgICAgICBpZCA9IHN1Ym1vZGVsLmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYWRkSWNvblVybChwcm9jZXNzZXM6IFByb2Nlc3NbXSkge1xuICAgIHByb2Nlc3Nlcy5mb3JFYWNoKChwcm9jZXNzOiBQcm9jZXNzKSA9PiB7XG4gICAgICBpZiAoIXByb2Nlc3MuaWNvbmlkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX3dhcm5pbmcuc3ZnJztcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLnN0YXRlID09PSAnQ09NUExFVEVEJykge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV9kb25lLnN2Zyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gXCJhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbS5zdmdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcm9jZXNzZXM7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcy5kYXRhKSB7XG4gICAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcihcImljb25cIiwgcGFyYW1zLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdXJsOiBwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbnVybCxcbiAgICAgICAgICBpY29uSWQ6ICFwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbmlkLFxuICAgICAgICAgIGxhYmVsOiBwYXJhbXMuZGF0YS5tb2RlbG5hbWVcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLnN0YXJ0dGltZSwgcGF0dGVybjogJ2VvU2hvcnREYXRlJyB9KTtcbiAgICAgIGNvbnN0IGVuZFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7IHZhbHVlOiBwYXJhbXMuZGF0YS5lbmR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgaGFzRXJyb3IgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gJ0VSUk9SU1VTUEVOREVEJyA/ICdlcnJvcicgOiAnJztcbiAgICAgIGNvbnN0IGhhc05vdFlldEJlZW5TdGFydGVkID0gcGFyYW1zLmRhdGEuc3RhdGUgPT09IDAgPyAnbm90c3RhcnRlZCcgOiAnJztcbiAgICAgIGNvbnN0IGVuZFRpbWVNYXJrdXA6IHN0cmluZyA9IChlbmRUaW1lLmxlbmd0aCkgPyBgPGRpdiBjbGFzcz1cImRhdGUgZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5lbmQudGltZS5sYWJlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke2VuZFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBcIlwiO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lTWFya3VwOiBzdHJpbmcgPSBzdGFydFRpbWUubGVuZ3RoXG4gICAgICAgID8gYDxkaXYgY2xhc3M9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZW8ucHJvY2Vzcy5zdGFydC50aW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke3N0YXJ0VGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG5cbiAgICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke2hhc0Vycm9yfSAke2hhc05vdFlldEJlZW5TdGFydGVkfVwiIHVuc2VsZWN0YWJsZT5cbiAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRlbnQnPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5tb2RlbG5hbWUgfHwgXCIuLi5cIn08L2Rpdj5cbiAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAke3N0YXJ0VGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgICAke2VuZFRpbWVNYXJrdXB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgYDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvViwgblYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob1YpICE9PSBKU09OLnN0cmluZ2lmeShuVik7XG4gIH1cblxuICBoYXNQZW5kaW5nQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzaygpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogcHJvY2Vzc1NlbGVjdGlvbklkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uc3RhdGUucHJvY2VzczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoTGlzdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCIgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtdGl0bGVcIiB0cmFuc2xhdGU+ZW8uZmlsdGVyLmJ5PC9kaXY+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5tb2RlbCcgfCB0cmFuc2xhdGUpXCIgKm5nSWY9XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxlby1keW5hbWljLWxpc3QgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxGQ05cIiBbcGlja2VyVGl0bGVdPVwiJ01vZGVscydcIiBbbGlzdE9iamVjdF09XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdFwiPjwvZW8tZHluYW1pYy1saXN0PlxuICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5ydW5uaW5nJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwicnVubmluZ0ZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnBhdXNlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhdXNlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNyZWF0ZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjcmVhdGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY2FuY2VsZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmZhaWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImZhaWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNvbXBsZXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNvbXBsZXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnN0YXJ0dGltZScgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWRhdGV0aW1lLXJhbmdlIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZUZDTlwiIFt3aXRoVGltZV09XCJmYWxzZVwiPjwvZW8tZGF0ZXRpbWUtcmFuZ2U+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZXNldC1maWx0ZXJcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIiAqbmdJZj1cImhhc0NoYW5nZWQoZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSwgZmlsdGVyRm9ybT8udmFsdWUpXCI+UmVzZXQgZmlsdGVyPC9idXR0b24+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LXNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRTb3J0UGFyYW1zLCBzb3J0UGFyYW1zKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC10aXRsZVwiIHRyYW5zbGF0ZT5lby5zb3J0LmJ5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1vcHRpb25cIiBbbmdDbGFzc109XCJ7YXNjOiBzb3J0UGFyYW1zLnN0YXJ0VGltZSA9PT0gJ2FzYycsIGRlc2M6IHNvcnRQYXJhbXMuc3RhcnRUaW1lID09PSAnZGVzYyd9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYXNjXCIgW2ljb25UaXRsZV09XCInZW8uc29ydC5hc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfdXAuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdzdGFydFRpbWUnLCAnYXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZGVzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuZGVzYycgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIiAoY2xpY2spPVwic29ydCgnc3RhcnRUaW1lJywgJ2Rlc2MnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5ncmlkLnNvcnQuZGF0ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJjbGVhclwiIFtpY29uVGl0bGVdPVwiJ2VvLnN0YXRlLnByb2Nlc3Muc29ydC5jbGVhcicgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jbGVhci5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ3N0YXJ0VGltZScsICcnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtb3B0aW9uXCIgW25nQ2xhc3NdPVwie2FzYzogc29ydFBhcmFtcy5tb2RlbE5hbWUgPT09ICdhc2MnLCBkZXNjOiBzb3J0UGFyYW1zLm1vZGVsTmFtZSA9PT0gJ2Rlc2MnfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImFzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuYXNjJyB8IHRyYW5zbGF0ZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X3VwLnN2ZydcIiAoY2xpY2spPVwic29ydCgnbW9kZWxOYW1lJywgJ2FzYycpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImRlc2NcIiBbaWNvblRpdGxlXT1cIidlby5zb3J0LmRlc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ21vZGVsTmFtZScsICdkZXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8ucHJvY2Vzcy5zb3J0LnR5cGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2xlYXJcIiBbaWNvblRpdGxlXT1cIidlby5zdGF0ZS5wcm9jZXNzLnNvcnQuY2xlYXInIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdtb2RlbE5hbWUnLCAnJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCIgXG4gICAgW3BsdWdpbnNdPVwiJ3Byb2Nlc3MtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgPC9lby1wcm9jZXNzLWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidwcm9jZXNzLnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMlwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFpRGhDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBdkQvQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFFL0IsZ0JBQVcsR0FBZSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDaEUsZ0JBQVcsR0FBZSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDaEUsbUJBQWMsR0FBRyx3QkFBd0IsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLHNCQUFzQixDQUFDO1FBQ3RDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUU3QiwyQkFBc0IsR0FBRztZQUN2QixRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLElBQUk7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBQ0YsZUFBVSxHQUFHO1lBQ1gsU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7UUFDRixzQkFBaUIsR0FBRztZQUNsQixTQUFTLEVBQUUsRUFBRTtZQUNiLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUVGLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxZQUFPLEdBQWE7WUFDbEI7Z0JBQ0UsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsTUFBTSxFQUFFLEtBQUs7YUFDZDtTQUNGLENBQUM7UUFDRiw0QkFBdUIsR0FBRztZQUN4QixPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsZUFBZSxFQUFFLFFBQVE7YUFDMUI7U0FDRixDQUFDO1FBZUEsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRTNFLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFMUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVE7YUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUM1QixTQUFTLENBQ1IsV0FBVyxDQUFDLEVBQUUsQ0FDWixJQUFJLENBQUMsVUFBVSxDQUNiLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQ3hELEVBQ0gsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FDbkQsQ0FBQztRQUVKLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxVQUFVLENBQUMsV0FBVztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDaEMsVUFBVSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUNwQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ2xDLFVBQVUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDcEMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUN0QyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ2xDLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDeEMsWUFBWSxFQUFFO2dCQUNaLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxVQUFVLENBQ1osV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQ2pDLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUNuQyxXQUFXLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FDckMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNUO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDO1lBQ3ZGLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDO1NBQzNGLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQzVDLFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEVBQUU7WUFDYixZQUFZLEVBQUUsUUFBUTtZQUN0QixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWUsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELGVBQWUsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDcEUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBTTtRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN0RixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDNUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7YUFDN0g7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7WUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQ2hFLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQU87UUFDMUIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN2QyxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLG9CQUFvQixDQUFDLEdBQUc7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtZQUM5QyxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEMsR0FBRyxJQUFJLFVBQVUsQ0FBQztTQUNuQjtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BDLEdBQUcsSUFBSSxXQUFXLENBQUM7U0FDcEI7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUN0QyxHQUFHLElBQUksV0FBVyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDbkMsR0FBRyxJQUFJLFdBQVcsQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxXQUFXLENBQUM7U0FDcEI7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNuQyxHQUFHLElBQUksV0FBVyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEMsR0FBRztnQkFDRCxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTtZQUV2RixNQUFNLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDL0UsTUFBTSxLQUFLLEdBQVEsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUVwSSxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQzNDLEdBQUcsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ3BDO1lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ3pELEdBQUcsSUFBSSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUN0RCxHQUFHLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM1RztTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sa0JBQWtCLENBQUMsR0FBRztRQUM1QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQzdCLEdBQUcsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztTQUN2RDtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7WUFDN0IsR0FBRyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztTQUNsRDtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFNBQVM7UUFDbEMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDNUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDZjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM5QixJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO3dCQUMvQixFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztxQkFDbEI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQW9CO1FBQzdCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsRUFBRTtvQkFDdEMsT0FBTyxDQUFDLE9BQU8sR0FBRyx3Q0FBd0MsQ0FBQztpQkFDNUQ7cUJBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtvQkFDeEMsT0FBTyxDQUFDLE9BQU8sR0FBRyxxQ0FBcUMsQ0FBQztpQkFDekQ7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLE9BQU8sR0FBRyxnQ0FBZ0MsQ0FBQztpQkFDcEQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFNO1FBQ2pCLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtZQUNmLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO2dCQUNsRCxLQUFLLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTztvQkFDbEQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNO29CQUNyRCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTO2lCQUM3QjthQUNGLENBQUMsQ0FBQztZQUVILE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3pILE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JILE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekUsTUFBTSxhQUFhLEdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2tFQUNXLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQzsrRUFDaEQsT0FBTzsrREFDdkI7Z0JBQ3ZELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxNQUFNLGVBQWUsR0FBVyxTQUFTLENBQUMsTUFBTTtnQkFDOUMsQ0FBQyxDQUFDO2tFQUN3RCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3RDLDZCQUE2QixDQUM5QjsrRUFDb0IsU0FBUzsrREFDekI7Z0JBQ3ZELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFUCxPQUFPLHlCQUF5QixRQUFRLElBQUksb0JBQW9CO2NBQ3hELElBQUk7O21DQUVpQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLO3lDQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLOzs7O2tCQUlyRCxlQUFlO2tCQUNmLGFBQWE7Ozs7U0FJdEIsQ0FBQztTQUNMO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7O2tIQWhWVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwSkNwQmxDLGc0TEF5R0E7MkZEckZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OFZBbURQLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlLCBCYWNrZW5kU2VydmljZSwgQnBtU2VydmljZSwgUHJvY2VzcywgUmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2VvLWZyYW1ld29ya1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZW8tcHJvY2Vzcy1zdGF0ZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1N0YXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcbiAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICBwcm9jZXNzU2VsZWN0aW9uSWQgPSBcInByb2Nlc3NcIjtcbiAgcHJvY2Vzc1NlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgZW1wdHlTdGF0ZTE6IEVtcHR5U3RhdGUgPSB7IGljb246IFwiXCIsIHRleHQ6IFwiXCIsIGNsYXNzTmFtZTogXCJcIiB9O1xuICBlbXB0eVN0YXRlMjogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGZpbHRlckNhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3QuZmlsdGVyXCI7XG4gIHNvcnRDYWNoZUtleSA9IFwiZW8ucHJvY2Vzcy5saXN0LnNvcnRcIjtcbiAgVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgPSA1MDtcbiAgZmlsdGVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSA9IHtcbiAgICBtb2RlbEZDTjogbnVsbCxcbiAgICBydW5uaW5nRkNOOiB0cnVlLFxuICAgIHBhdXNlZEZDTjogdHJ1ZSxcbiAgICBjcmVhdGVkRkNOOiB0cnVlLFxuICAgIGNhbmNlbGVkRkNOOiB0cnVlLFxuICAgIGZhaWxlZEZDTjogdHJ1ZSxcbiAgICBjb21wbGV0ZWRGQ046IHRydWUsXG4gICAgc3RhcnRUaW1lRkNOOiBudWxsXG4gIH07XG4gIHNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiAnJyxcbiAgICBtb2RlbE5hbWU6ICcnXG4gIH07XG4gIGRlZmF1bHRTb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0VGltZTogXCJcIixcbiAgICBtb2RlbE5hbWU6IFwiXCJcbiAgfTtcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHNldHRpbmdzID0ge307XG4gIGNvbERlZnM6IENvbERlZltdID0gW1xuICAgIHtcbiAgICAgIGhlYWRlck5hbWU6IFwiXCIsXG4gICAgICBmaWVsZDogXCJfX2N1c3RvbVwiLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XG4gIF07XG4gIHByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0ID0ge1xuICAgIGVudHJpZXM6IFtdLFxuICAgIGNvbmZpZzoge1xuICAgICAgdmFsdWVGaWVsZDogXCJuYW1lXCIsXG4gICAgICBzdWJFbnRyaWVzRmllbGQ6IFwibW9kZWxzXCJcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZChcImVvR3JpZFwiKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnByb2Nlc3MnKSk7XG5cbiAgICAvL3NlY29uZGFyeSBzZWxlY3Rpb24gaW5zdGFuY2UgZm9yIGluYm94IGl0ZW1zXG4gICAgdGhpcy5wcm9jZXNzU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMucHJvY2Vzc1NlbGVjdGlvbklkKTtcblxuICAgIHRoaXMuZmV0Y2hQcm9jZXNzTW9kZWxzKCkuc3Vic2NyaWJlKHByb2Nlc3NNb2RlbHMgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzID0gcHJvY2Vzc01vZGVscztcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwQ2FjaGVcbiAgICAgIC5nZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBmaWx0ZXJWYWx1ZSA9PlxuICAgICAgICAgIHRoaXMuaW5pdEZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID8gZmlsdGVyVmFsdWUgOiB0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVcbiAgICAgICAgICApLFxuICAgICAgICAoKSA9PiB0aGlzLmluaXRGaWx0ZXIodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKVxuICAgICAgKTtcblxuICAgIHRoaXMuYXBwQ2FjaGUuZ2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSkuc3Vic2NyaWJlKHNvcnRQYXJhbXMgPT4ge1xuICAgICAgaWYgKHNvcnRQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1zID0gc29ydFBhcmFtcztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hQcm9jZXNzTW9kZWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoXCIvYnBtL21hbmFnZW1lbnQvcHJvamVjdD9pbmNsdWRlTW9kZWxzPXRydWVcIik7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaWx0ZXIoZmlsdGVyVmFsdWUpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG1vZGVsRkNOOiBbZmlsdGVyVmFsdWUubW9kZWxGQ05dLFxuICAgICAgcnVubmluZ0ZDTjogW2ZpbHRlclZhbHVlLnJ1bm5pbmdGQ05dLFxuICAgICAgcGF1c2VkRkNOOiBbZmlsdGVyVmFsdWUucGF1c2VkRkNOXSxcbiAgICAgIGNyZWF0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jcmVhdGVkRkNOXSxcbiAgICAgIGNhbmNlbGVkRkNOOiBbZmlsdGVyVmFsdWUuY2FuY2VsZWRGQ05dLFxuICAgICAgZmFpbGVkRkNOOiBbZmlsdGVyVmFsdWUuZmFpbGVkRkNOXSxcbiAgICAgIGNvbXBsZXRlZEZDTjogW2ZpbHRlclZhbHVlLmNvbXBsZXRlZEZDTl0sXG4gICAgICBzdGFydFRpbWVGQ046IFtcbiAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOID9cbiAgICAgICAgbmV3IFJhbmdlVmFsdWUoXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLm9wZXJhdG9yLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5zZWNvbmRWYWx1ZVxuICAgICAgICApIDogbnVsbFxuICAgICAgXVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5LCB0aGlzLmZpbHRlckZvcm0udmFsdWUpLnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKSwgMTAwKTtcbiAgfVxuXG4gIHJlZnJlc2hMaXN0KCkge1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgaW5pdEdyaWQoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHt0b3RhbDogMCwgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAnc3RhcnR0aW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ3JpZC5zb3J0LmRhdGUnKSwgc29ydDogJyd9LFxuICAgICAge2ZpZWxkOiAnbW9kZWxuYW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5zb3J0LnR5cGUnKSwgc29ydDogJyd9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJyxcbiAgICAgIHJvd0RhdGE6IFtdXG4gICAgfTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnQoZmllbGQsIGRpcmVjdGlvbikge1xuICAgIHRoaXMuc29ydFBhcmFtc1tmaWVsZF0gPSBkaXJlY3Rpb247XG4gICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5LCB0aGlzLnNvcnRQYXJhbXMpLnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5mZXRjaFJvd0RhdGEoe1xuICAgICAgc3RhcnRSb3c6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgKiAocGFnZSAtIDEpLFxuICAgICAgc3VjY2Vzc0NhbGxiYWNrOiAocm93cywgdG90YWwpID0+IHtcbiAgICAgICAgdGhpcy5lb0dyaWQuYXBpLnNldFJvd0RhdGEocm93cyk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWwsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUsIHBhZ2V9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJvd0RhdGEocGFyYW1zKSB7XG4gICAgY29uc3QgcGFnZSA9IE1hdGguZmxvb3IocGFyYW1zLnN0YXJ0Um93IC8gdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSk7XG4gICAgdGhpcy5nZXRQcm9jZXNzZXMoeyBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlIH0pLnN1YnNjcmliZSgocHJvY2Vzc2VzKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLnN0YXJ0Um93ID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTEgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgICAgdGhpcy5lbXB0eVN0YXRlMiA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShwcm9jZXNzZXMuY29udGVudCA/IHByb2Nlc3Nlcy5jb250ZW50Lmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgcGFyYW1zLnN1Y2Nlc3NDYWxsYmFjayhwcm9jZXNzZXMucHJvY2Vzc2VzLCBwcm9jZXNzZXMudG90YWxFbGVtZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2Nlc3NlcyhvcHRpb25zKSB7XG4gICAgbGV0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvcHJvY2Vzc2VzYCwgb3B0aW9ucyB8fCB7fSk7XG4gICAgdXJsID0gdGhpcy5hZGRGaWx0ZXJQYXJhbXNUb1VybCh1cmwpO1xuICAgIHVybCA9IHRoaXMuYWRkU29ydFBhcmFtc1RvVXJsKHVybCk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJsLCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IHByb2Nlc3NlcyA9IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VzcyA9IG5ldyBQcm9jZXNzKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzcG9uc2UucHJvY2Vzc2VzID0gdGhpcy5hZGRJY29uVXJsKHByb2Nlc3Nlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybSB8fCAhdGhpcy5maWx0ZXJGb3JtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY3JlYXRlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5ydW5uaW5nRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MjBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5jb21wbGV0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0zMFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLnBhdXNlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTQwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY2FuY2VsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT01MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmZhaWxlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTYwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUubW9kZWxGQ04pIHtcbiAgICAgIHVybCArPVxuICAgICAgICBcIiZtb2RlbGlkPVwiICsgdGhpcy5nZXRNb2RlbElkRnJvbU5hbWUodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04gJiYgdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlKSB7XG5cbiAgICAgIGNvbnN0IHtvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWV9ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTjtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSBuZXcgU2VhcmNoRmlsdGVyKCdzdGFydHRpbWUnLCBvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHt0aW1lOiB0cnVlLCB0aW1lem9uZTogdHJ1ZX0pLnRvRGF0ZVRpbWVRdWVyeSgpO1xuXG4gICAgICBpZiAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSB7XG4gICAgICAgIHVybCArPSAnJnN0YXJ0dGltZV9lcT0nICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9ndGU9XCIgKyBxdWVyeS52MTtcbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeS5vLm1hdGNoKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSkge1xuICAgICAgICB1cmwgKz0gXCImc3RhcnR0aW1lX2x0ZT1cIiArIChxdWVyeS5vID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIID8gcXVlcnkudjIgOiBxdWVyeS52MSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGFkZFNvcnRQYXJhbXNUb1VybCh1cmwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lKSB7XG4gICAgICB1cmwgKz0gXCImc29ydD1zdGFydHRpbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLm1vZGVsTmFtZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9bmFtZSxcIiArIHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWU7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsSWRGcm9tTmFtZShtb2RlbE5hbWUpOiBzdHJpbmcge1xuICAgIGxldCBpZCA9IFwiXCI7XG4gICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmZvckVhY2gobW9kZWwgPT4ge1xuICAgICAgaWYgKG1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICBpZCA9IG1vZGVsLmlkO1xuICAgICAgfSBlbHNlIGlmIChtb2RlbC5tb2RlbHMpIHtcbiAgICAgICAgbW9kZWwubW9kZWxzLmZvckVhY2goc3VibW9kZWwgPT4ge1xuICAgICAgICAgIGlmIChzdWJtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGlkID0gc3VibW9kZWwuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhZGRJY29uVXJsKHByb2Nlc3NlczogUHJvY2Vzc1tdKSB7XG4gICAgcHJvY2Vzc2VzLmZvckVhY2goKHByb2Nlc3M6IFByb2Nlc3MpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5pY29uaWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fd2FybmluZy5zdmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdDT01QTEVURUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX2RvbmUuc3ZnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSBcImFzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2Z1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb2Nlc3NlcztcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmRhdGEpIHtcbiAgICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKFwiaWNvblwiLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICB1cmw6IHBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29udXJsLFxuICAgICAgICAgIGljb25JZDogIXBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29uaWQsXG4gICAgICAgICAgbGFiZWw6IHBhcmFtcy5kYXRhLm1vZGVsbmFtZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuc3RhcnR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgZW5kVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLmVuZHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBoYXNFcnJvciA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgY29uc3QgaGFzTm90WWV0QmVlblN0YXJ0ZWQgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gMCA/ICdub3RzdGFydGVkJyA6ICcnO1xuICAgICAgY29uc3QgZW5kVGltZU1hcmt1cDogc3RyaW5nID0gKGVuZFRpbWUubGVuZ3RoKSA/IGA8ZGl2IGNsYXNzPVwiZGF0ZSBlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmVuZC50aW1lLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7ZW5kVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG4gICAgICBjb25zdCBzdGFydFRpbWVNYXJrdXA6IHN0cmluZyA9IHN0YXJ0VGltZS5sZW5ndGhcbiAgICAgICAgPyBgPGRpdiBjbGFzcz1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlby5wcm9jZXNzLnN0YXJ0LnRpbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7c3RhcnRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcblxuICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7aGFzRXJyb3J9ICR7aGFzTm90WWV0QmVlblN0YXJ0ZWR9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RpdGxlJz4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uJz4ke3BhcmFtcy5kYXRhLm1vZGVsbmFtZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVsYWJlbFwiPlxuICAgICAgICAgICAgICAgICR7c3RhcnRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICAgICR7ZW5kVGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG9WLCBuVik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvVikgIT09IEpTT04uc3RyaW5naWZ5KG5WKTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCInaW5ib3guc3RhdGUnXCI+XG4gIDwhLS0gbGlzdCAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBwcm9jZXNzU2VsZWN0aW9uSWR9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5wcm9jZXNzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hMaXN0KClcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZpbHRlci5ieTwvZGl2PlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLm1vZGVsJyB8IHRyYW5zbGF0ZSlcIiAqbmdJZj1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZHluYW1pYy1saXN0IGZvcm1Db250cm9sTmFtZT1cIm1vZGVsRkNOXCIgW3BpY2tlclRpdGxlXT1cIidNb2RlbHMnXCIgW2xpc3RPYmplY3RdPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3RcIj48L2VvLWR5bmFtaWMtbGlzdD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnJ1bm5pbmcnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJ1bm5pbmdGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucGF1c2VkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXVzZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY3JlYXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jYW5jZWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY2FuY2VsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuZmFpbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmYWlsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY29tcGxldGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb21wbGV0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuc3RhcnR0aW1lJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1kYXRldGltZS1yYW5nZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFRpbWVGQ05cIiBbd2l0aFRpbWVdPVwiZmFsc2VcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicmVzZXQtZmlsdGVyXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCIgKm5nSWY9XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlJlc2V0IGZpbHRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1zb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0U29ydFBhcmFtcywgc29ydFBhcmFtcylcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidwcm9jZXNzLnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCJcbiAgICBbcGx1Z2luc109XCIncHJvY2Vzcy1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICA8L2VvLXByb2Nlc3MtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3Byb2Nlc3Muc3RhdGUub2JqZWN0LWRldGFpbHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zXT1cIidvYmplY3QtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
|
|
@@ -135,7 +135,7 @@ let RecyclebinStateComponent = class RecyclebinStateComponent {
|
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
RecyclebinStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecyclebinStateComponent, deps: [{ token: i1.SelectionService }, { token: i2.TranslateService }, { token: i3.SystemService }, { token: i4.EmptyStateService }, { token: i5.PendingChangesService }, { token: i3.EventService }, { token: i6.PageTitleService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
138
|
-
RecyclebinStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "
|
|
138
|
+
RecyclebinStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: ["plugins", "cacheLayout", "applySelection", "parseDmsParams", "emptyState", "params", "item"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i19.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i19.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i20.PluginPipe, name: "plugins" }] });
|
|
139
139
|
RecyclebinStateComponent = __decorate([
|
|
140
140
|
UntilDestroy()
|
|
141
141
|
], RecyclebinStateComponent);
|
|
@@ -194,7 +194,7 @@ let StoredQueriesStateComponent = class StoredQueriesStateComponent {
|
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
StoredQueriesStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StoredQueriesStateComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.PendingChangesService }, { token: i3.TranslateService }, { token: i4.SelectionService }, { token: i3.StoredQueriesService }, { token: i5.PageTitleService }, { token: i3.UserService }, { token: i6.AppSearchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
-
StoredQueriesStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StoredQueriesStateComponent, selector: "eo-stored-queries-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "
|
|
197
|
+
StoredQueriesStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StoredQueriesStateComponent, selector: "eo-stored-queries-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.StoredQueryDetailsComponent, selector: "eo-stored-query-details", inputs: ["query"], outputs: ["notifyList"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i18.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i19.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i20.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
198
198
|
StoredQueriesStateComponent = __decorate([
|
|
199
199
|
UntilDestroy()
|
|
200
200
|
], StoredQueriesStateComponent);
|
|
@@ -127,7 +127,7 @@ let VersionStateComponent = class VersionStateComponent {
|
|
|
127
127
|
}
|
|
128
128
|
};
|
|
129
129
|
VersionStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: VersionStateComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.PageTitleService }, { token: i2.EventService }, { token: i2.DmsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
-
VersionStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: VersionStateComponent, selector: "eo-version-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'version.state'\">\n <!-- list of versions -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_format_list_numbered.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.versions.list.title</div>\n <div class=\"eo-header-subtitle\">{{versionItem?.title}}</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\" class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <!--<eo-text-filter [title]=\"'eo.versions.filter.title' | translate\" [matchFields]=\"['title']\"></eo-text-filter>-->\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.versions.list.users' | translate\"\n [options]=\"userFilterFields\" [id]=\"'versions.user'\"></eo-set-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.versions.list.types' | translate\"\n [options]=\"typeFilterFields\" [id]=\"'versions.type'\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconClass]=\"'primary'\" class=\"overlay-sort\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\" [id]=\"'versions.sort'\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"'eo.object.actions.title' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectionLimit]=\"2\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_no-file.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.versions.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- version compare/details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <eo-object-details [enableCompare]=\"true\" [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\"\n [cacheLayout]=\"'version.state--' + typeName + '.object-details'\" [plugins]=\"'object-details-tab.version' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px;--version-icon-width: 28px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .icon.circle{display:flex;width:var(--version-icon-width);height:var(--version-icon-width);font-weight:var(--font-weight-bold);font-size:var(--font-caption);justify-content:center;align-items:center;border-radius:50%;-webkit-border-radius:50%;border:3px solid var(--color-primary-4);color:var(--color-primary-4)}:host ::ng-deep .ag-row-selected .ag-cell .list-item .icon.circle{border-color:var(--color-primary);color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "
|
|
130
|
+
VersionStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: VersionStateComponent, selector: "eo-version-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'version.state'\">\n <!-- list of versions -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_format_list_numbered.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.versions.list.title</div>\n <div class=\"eo-header-subtitle\">{{versionItem?.title}}</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\" class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <!--<eo-text-filter [title]=\"'eo.versions.filter.title' | translate\" [matchFields]=\"['title']\"></eo-text-filter>-->\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.versions.list.users' | translate\"\n [options]=\"userFilterFields\" [id]=\"'versions.user'\"></eo-set-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.versions.list.types' | translate\"\n [options]=\"typeFilterFields\" [id]=\"'versions.type'\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconClass]=\"'primary'\" class=\"overlay-sort\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\" [id]=\"'versions.sort'\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"'eo.object.actions.title' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectionLimit]=\"2\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_no-file.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.versions.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- version compare/details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <eo-object-details [enableCompare]=\"true\" [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\"\n [cacheLayout]=\"'version.state--' + typeName + '.object-details'\" [plugins]=\"'object-details-tab.version' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px;--version-icon-width: 28px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .icon.circle{display:flex;width:var(--version-icon-width);height:var(--version-icon-width);font-weight:var(--font-weight-bold);font-size:var(--font-caption);justify-content:center;align-items:center;border-radius:50%;-webkit-border-radius:50%;border:3px solid var(--color-primary-4);color:var(--color-primary-4)}:host ::ng-deep .ag-row-selected .ag-cell .list-item .icon.circle{border-color:var(--color-primary);color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i8.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i9.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i10.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i11.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i12.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i13.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i14.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i15.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i16.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i17.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i17.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i18.PluginPipe, name: "plugins" }] });
|
|
131
131
|
VersionStateComponent = __decorate([
|
|
132
132
|
UntilDestroy()
|
|
133
133
|
], VersionStateComponent);
|
package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs
CHANGED
|
@@ -20,7 +20,7 @@ export class ShareObjectActionComponent extends DmsObjectTarget {
|
|
|
20
20
|
}
|
|
21
21
|
isExecutable(element) {
|
|
22
22
|
const type = this.systemService.getObjectType(element.typeName);
|
|
23
|
-
return observableOf((element.rights && element.rights.
|
|
23
|
+
return observableOf((element.rights && element.rights.share) && type.shareable);
|
|
24
24
|
}
|
|
25
25
|
;
|
|
26
26
|
}
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
33
33
|
template: ``
|
|
34
34
|
}]
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.SystemService }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtb2JqZWN0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLEVBQUUsSUFBSSxZQUFZLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDOzs7QUFPM0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFTN0QsWUFBb0IsU0FBMkIsRUFBVSxhQUE0QjtRQUNuRixLQUFLLEVBQUUsQ0FBQztRQURVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSckYsY0FBUyxHQUFHLG9CQUFvQixDQUFDO1FBR2pDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixZQUFPLEdBQUcsa0NBQWtDLENBQUM7UUFDN0MsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUluQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBa0I7UUFDN0IsTUFBTSxJQUFJLEdBQWUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQUEsQ0FBQzs7dUhBbEJTLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFGQUYzQixFQUFFOzJGQUVELDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtvZiBhcyBvYnNlcnZhYmxlT2YsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEbXNPYmplY3RUYXJnZXR9IGZyb20gJy4uLy4uL2FjdGlvbi10YXJnZXQnO1xuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTZWxlY3Rpb25SYW5nZX0gZnJvbSAnLi4vLi4vc2VsZWN0aW9uLXJhbmdlLmVudW0nO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRBY3Rpb259IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge1NoYXJlT2JqZWN0Q29tcG9uZW50fSBmcm9tICcuL3NoYXJlLW9iamVjdC9zaGFyZS1vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7RG1zT2JqZWN0LCBTeXN0ZW1TZXJ2aWNlLCBPYmplY3RUeXBlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1zaGFyZS1vYmplY3QtYWN0aW9uJyxcbiAgdGVtcGxhdGU6IGBgXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlT2JqZWN0QWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgRG1zT2JqZWN0VGFyZ2V0IGltcGxlbWVudHMgQ29tcG9uZW50QWN0aW9uIHtcbiAgY29tcG9uZW50ID0gU2hhcmVPYmplY3RDb21wb25lbnQ7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHByaW9yaXR5ID0gODtcbiAgaWNvblNyYyA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NoYXJlLnN2Zyc7XG4gIGdyb3VwID0gJ2NvbW1vbic7XG4gIHJhbmdlID0gU2VsZWN0aW9uUmFuZ2UuU0lOR0xFX1NFTEVDVDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLm1hbmFnZS5yaWdodHMucmVhZC5sYWJlbCcpO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24ubWFuYWdlLnJpZ2h0cy5yZWFkLmRlc2NyaXB0aW9uJyk7XG4gIH1cblxuICBpc0V4ZWN1dGFibGUoZWxlbWVudDogRG1zT2JqZWN0KSB7XG4gICAgY29uc3QgdHlwZTogT2JqZWN0VHlwZSA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGVsZW1lbnQudHlwZU5hbWUpO1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YoKGVsZW1lbnQucmlnaHRzICYmIGVsZW1lbnQucmlnaHRzLnNoYXJlKSAmJiB0eXBlLnNoYXJlYWJsZSk7XG4gIH07XG5cbn1cbiJdfQ==
|