@eo-sdk/client 11.3.0-rc.1 → 11.4.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/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -1
- package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
- package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +4 -1
- package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +1 -0
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
- package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +5 -0
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +10 -8
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/util/services/utilities.service.d.ts +57 -193
- package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +13 -34
- package/assets/_default/i18n/en.json +13 -34
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +2 -2
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +4 -3
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +5 -5
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +4 -4
- package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +5 -3
- package/esm2022/app/eo-client/login/login.component.mjs +3 -3
- package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +4 -3
- package/esm2022/app/eo-client/settings/settings.component.mjs +3 -3
- package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +9 -3
- package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +4 -4
- package/esm2022/app/eo-framework/actions/actions/delete-action/delete-action.mjs +2 -2
- package/esm2022/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +2 -2
- package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +2 -2
- package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +3 -3
- package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +2 -2
- package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +8 -2
- package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +2 -2
- package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +6 -3
- package/esm2022/app/eo-framework/grid/grid.component.mjs +5 -4
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +9 -9
- package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -2
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +1 -1
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +3 -3
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/process-form/process-form.component.mjs +3 -3
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +4 -4
- package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +25 -9
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +28 -24
- package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
- package/esm2022/app/eo-framework/util/services/utilities.service.mjs +59 -2
- package/fesm2022/eo-sdk-client.mjs +227 -132
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/prebuild-about-state.js +13 -10
- package/package.json +7 -7
|
@@ -99,6 +99,9 @@ export class ColumnConfiguratorComponent {
|
|
|
99
99
|
modified: i !== index || (field.confmeta.sort || '') !== (sort || '') || !!field.confmeta.alignmentx } };
|
|
100
100
|
});
|
|
101
101
|
this.availableFields = res.available.elements.filter((col) => {
|
|
102
|
+
if (!this.configType?.maxFiles && col.qname.startsWith('sysdocument')) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
102
105
|
return !this.currentFields.find((c) => c.qname === col.qname);
|
|
103
106
|
}).map(el => {
|
|
104
107
|
el.confmeta = { modified: !!this.originalFields.find((c) => c.qname === el.qname) };
|
|
@@ -189,11 +192,11 @@ export class ColumnConfiguratorComponent {
|
|
|
189
192
|
}
|
|
190
193
|
}
|
|
191
194
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, deps: [{ token: i1.SearchService }, { token: i1.UserService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
193
196
|
}
|
|
194
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, decorators: [{
|
|
195
198
|
type: Component,
|
|
196
|
-
args: [{ selector: 'eo-column-configurator', template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"] }]
|
|
199
|
+
args: [{ selector: 'eo-column-configurator', template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"] }]
|
|
197
200
|
}], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.UserService }, { type: i1.TranslateService }], propDecorators: { configType: [{
|
|
198
201
|
type: Input
|
|
199
202
|
}], configContext: [{
|
|
@@ -208,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
208
211
|
}], eoGrid: [{
|
|
209
212
|
type: Input
|
|
210
213
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQW5OVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsaTlHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gIXRoaXMuY3VycmVudEZpZWxkcy5maW5kKChjOiBhbnkpID0+IGMucW5hbWUgPT09IGNvbC5xbmFtZSk7XG4gICAgICAgIH0pLm1hcChlbCA9PiB7XG4gICAgICAgICAgZWwuY29uZm1ldGEgPSB7bW9kaWZpZWQ6ICEhdGhpcy5vcmlnaW5hbEZpZWxkcy5maW5kKChjOiBhbnkpID0+IGMucW5hbWUgPT09IGVsLnFuYW1lKX07XG4gICAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgICB9KS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgaW5mbyBvYmplY3QgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciBpbmRpY2F0aW5nIHdoYXQgcGFydGljdWxhciByZXN1bHQgbGlzdFxuICAgKiBpcyBnb2luZyB0byBiZSBjb25maWd1cmVkLiBJZiBub25lIG9mIHRoZSBwYXJhbXMgaXMgcHJvdmlkZWQsIHdlIGdvdCBhIGdlbmVyYWwgZnVsbHRleHQgcmVzdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gW3R5cGVdIC0gdGhlIGNvbmZpZ3VyYXRpb25zIHRhcmdldCBvYmplY3QgdHlwZVxuICAgKiBAcGFyYW0gW2NvbnRleHRdIC0gdGhlIGNvbnRleHQgb2JqZWN0IHR5cGVcbiAgICovXG4gIGNyZWF0ZUNvbmZpZ0luZm8odHlwZSwgY29udGV4dCkge1xuICAgIGlmICh0eXBlICYmIHR5cGUubGFiZWwgJiYgY29udGV4dCkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdlby5jb2x1bW4uY29uZmlnLmluZm8udHlwZS5jb250ZXh0Jywge1xuICAgICAgICB0eXBlOiB0eXBlLmxhYmVsLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LmxhYmVsXG4gICAgICB9KS5zdWJzY3JpYmUodGV4dCA9PiB0aGlzLmluZm8gPSB0ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgJiYgdHlwZS5sYWJlbCkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdlby5jb2x1bW4uY29uZmlnLmluZm8udHlwZScsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLmZ1bGx0ZXh0Jykuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgbWFya0l0ZW0oZmllbGQsIGdyb3VwKSB7XG4gICAgaWYgKGZpZWxkICYmIGdyb3VwKSB7XG4gICAgICBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55PiwgZ3JvdXA6ICdjdXJyZW50JyB8ICdhdmFpbGFibGUnKSB7XG4gICAgdHJhbnNmZXJBcnJheUl0ZW0oZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSwgZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5tYXJrSXRlbShldmVudC5pdGVtLmRhdGEsIGdyb3VwKTtcbiAgfVxuXG4gIHRvZ2dsZUNvbmZpZ01vZGUocmVmcmVzaCA9IGZhbHNlKSB7XG4gICAgdGhpcy5vbkNvbmZpZ0NoYW5nZWQuZW1pdChyZWZyZXNoKTtcbiAgfVxuXG4gIHRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMubWFya0l0ZW0oaXRlbSwgJ2N1cnJlbnQnKTtcbiAgfVxuXG4gIHRvZ2dsZVNvcnQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaWYgKCFpdGVtLmNvbmZtZXRhLnNvcnQpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdhc2MnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5zb3J0ID09PSAnYXNjJykge1xuICAgICAgaXRlbS5jb25mbWV0YS5zb3J0ID0gJ2Rlc2MnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5zb3J0ID09PSAnZGVzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWxpZ25tZW50KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAncmlnaHQnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnY2VudGVyJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcicpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9ICdsZWZ0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2xlZnQnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRvZ2dsZUdyb3VwKGl0ZW0sICRldmVudCkge1xuICAvLyAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAvLyAgIGl0ZW0uY29uZm1ldGEuZ3JvdXAgPSAhaXRlbS5jb25mbWV0YS5ncm91cDtcbiAgLy8gfVxuXG4gIHRvZ2dsZVBpbm5lZChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpdGVtLmNvbmZtZXRhLnBpbm5lZCA9ICFpdGVtLmNvbmZtZXRhLnBpbm5lZDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnZpc2libGUgJiYgKGNoYW5nZXMuY29uZmlnVHlwZSB8fCBjaGFuZ2VzLmNvbmZpZ0NvbnRleHQpKSB7XG4gICAgICB0aGlzLmluaXRDb25maWcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJhdG9yXCI+XG5cbiAgPGRpdiBjbGFzcz1cImJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLnRpdGxlPC9kaXY+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicmVzZXREZWZhdWx0KClcIiAqbmdJZj1cIiFpc0RlZmF1bHRDb25maWdcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24ucmVzZXRkZWZhdWx0PC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlQ29uZmlnTW9kZSgpXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLmNsb3NlPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUNvbmZpZyh0cnVlKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgKm5nSWY9XCJoYXNQcml2aWxlZ2VcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24uc2F2ZS5kZWZhdWx0PC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZUNvbmZpZygpXCIgY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmllbGRzPy5sZW5ndGhcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5hY3Rpb24uc2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiaW5mb1wiICpuZ0lmPVwiaW5mb1wiPnt7aW5mb319PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbi1jb25maWdcIiBjZGtEcm9wTGlzdEdyb3VwPlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGN1cnJlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkbGluZVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmhlYWRsaW5lLmN1cnJlbnQ8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsICdjdXJyZW50JylcIiBbY2RrRHJvcExpc3REYXRhXT1cImN1cnJlbnRGaWVsZHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBjZGtEcmFnSGFuZGxlIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGN1cnJlbnRGaWVsZHM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIiBbbmdDbGFzc109XCJ7bW9kaWZpZWQ6IGZpZWxkLmNvbmZtZXRhLm1vZGlmaWVkLCBzZmU6IGZpZWxkLnNlbGVjdGVkZm9yZW5yaWNobWVudH1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtuZ0NsYXNzXT1cIntiYXNlcGFyYW06IGZpZWxkLmJhc2VwYXJhbWV0ZXJ9XCI+e3tmaWVsZC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLnBpbm5lZH1cIiAoY2xpY2spPVwidG9nZ2xlUGlubmVkKGZpZWxkLCAkZXZlbnQpXCIgdHJhbnNsYXRlPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLnBpbm5lZDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJncm91cFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuZ3JvdXB9XCIgKGNsaWNrKT1cInRvZ2dsZUdyb3VwKGZpZWxkLCAkZXZlbnQpXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuZ3JvdXA8L2Rpdj4tLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0XCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5zb3J0LCBhc2M6IGZpZWxkLmNvbmZtZXRhLnNvcnQgPT09ICdhc2MnLCBkZXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnZGVzYycsIGRpc2FibGVkOiAhZmllbGQuc29ydGFibGV9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaWVsZC5zb3J0YWJsZSAmJiB0b2dnbGVTb3J0KGZpZWxkLCAkZXZlbnQpXCI+PHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5zb3J0PC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsaWdubWVudFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCwgbGVmdDogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgcmlnaHQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdyaWdodCcsIGNlbnRlcjogZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcid9XCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFsaWdubWVudChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWxpZ25tZW50PC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiZmllbGQuY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ2NlbnRlcidcIiBjbGFzcz1cImNlbnRlci1zZWNvbmRcIiBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQU1BQUFEejBVNjVBQUFBR0ZCTVZFVUFBQUQvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNXNQRC9BQUFBQ0hSU1RsTUFBQUVuSzJ4d2lodjJlNk1BQUFBa1NVUkJWQWdkQmNHQkFRQWdETU1nbXZuL3pjSUdNTzZ4VUJIWElxTGtZa21RRGZBQkNIQUFPQ3QveFNZQUFBQUFTVVZPUks1Q1lJST1cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsZXIgYXZhaWxhYmxlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5hdmFpbGFibGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsICdhdmFpbGFibGUnKVwiIFtjZGtEcm9wTGlzdERhdGFdPVwiYXZhaWxhYmxlRmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBhdmFpbGFibGVGaWVsZHM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIiBbbmdDbGFzc109XCJ7bW9kaWZpZWQ6IGZpZWxkLmNvbmZtZXRhLm1vZGlmaWVkLCBzZmU6IGZpZWxkLnNlbGVjdGVkZm9yZW5yaWNobWVudH1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtuZ0NsYXNzXT1cIntiYXNlcGFyYW06IGZpZWxkLmJhc2VwYXJhbWV0ZXJ9XCI+e3tmaWVsZC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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TSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQXROVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsdzhHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnVHlwZT8ubWF4RmlsZXMgJiYgY29sLnFuYW1lLnN0YXJ0c1dpdGgoJ3N5c2RvY3VtZW50JykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBjb2wucW5hbWUpO1xuICAgICAgICB9KS5tYXAoZWwgPT4ge1xuICAgICAgICAgIGVsLmNvbmZtZXRhID0ge21vZGlmaWVkOiAhIXRoaXMub3JpZ2luYWxGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBlbC5xbmFtZSl9O1xuICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgfSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGluZm8gb2JqZWN0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW5kaWNhdGluZyB3aGF0IHBhcnRpY3VsYXIgcmVzdWx0IGxpc3RcbiAgICogaXMgZ29pbmcgdG8gYmUgY29uZmlndXJlZC4gSWYgbm9uZSBvZiB0aGUgcGFyYW1zIGlzIHByb3ZpZGVkLCB3ZSBnb3QgYSBnZW5lcmFsIGZ1bGx0ZXh0IHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIFt0eXBlXSAtIHRoZSBjb25maWd1cmF0aW9ucyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIFtjb250ZXh0XSAtIHRoZSBjb250ZXh0IG9iamVjdCB0eXBlXG4gICAqL1xuICBjcmVhdGVDb25maWdJbmZvKHR5cGUsIGNvbnRleHQpIHtcbiAgICBpZiAodHlwZSAmJiB0eXBlLmxhYmVsICYmIGNvbnRleHQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUuY29udGV4dCcsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbCxcbiAgICAgICAgY29udGV4dDogY29udGV4dC5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIGlmICh0eXBlICYmIHR5cGUubGFiZWwpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUnLCB7XG4gICAgICAgIHR5cGU6IHR5cGUubGFiZWxcbiAgICAgIH0pLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2VvLmNvbHVtbi5jb25maWcuaW5mby5mdWxsdGV4dCcpLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtJdGVtKGZpZWxkLCBncm91cCkge1xuICAgIGlmIChmaWVsZCAmJiBncm91cCkge1xuICAgICAgZmllbGQuY29uZm1ldGEubW9kaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4sIGdyb3VwOiAnY3VycmVudCcgfCAnYXZhaWxhYmxlJykge1xuICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMubWFya0l0ZW0oZXZlbnQuaXRlbS5kYXRhLCBncm91cCk7XG4gIH1cblxuICB0b2dnbGVDb25maWdNb2RlKHJlZnJlc2ggPSBmYWxzZSkge1xuICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQocmVmcmVzaCk7XG4gIH1cblxuICB0b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1hcmtJdGVtKGl0ZW0sICdjdXJyZW50Jyk7XG4gIH1cblxuICB0b2dnbGVTb3J0KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5zb3J0KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2FzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdkZXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUFsaWdubWVudChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpZiAoIWl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ3JpZ2h0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ2NlbnRlcic7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyB0b2dnbGVHcm91cChpdGVtLCAkZXZlbnQpIHtcbiAgLy8gICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgLy8gICBpdGVtLmNvbmZtZXRhLmdyb3VwID0gIWl0ZW0uY29uZm1ldGEuZ3JvdXA7XG4gIC8vIH1cblxuICB0b2dnbGVQaW5uZWQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaXRlbS5jb25mbWV0YS5waW5uZWQgPSAhaXRlbS5jb25mbWV0YS5waW5uZWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICYmIChjaGFuZ2VzLmNvbmZpZ1R5cGUgfHwgY2hhbmdlcy5jb25maWdDb250ZXh0KSkge1xuICAgICAgdGhpcy5pbml0Q29uZmlnKGZhbHNlKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyYXRvclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy50aXRsZTwvZGl2PlxuICAgIDxidXR0b24gKGNsaWNrKT1cInJlc2V0RGVmYXVsdCgpXCIgKm5nSWY9XCIhaXNEZWZhdWx0Q29uZmlnXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnJlc2V0ZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUNvbmZpZ01vZGUoKVwiIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcodHJ1ZSlcIiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWVsZHM/Lmxlbmd0aFwiICpuZ0lmPVwiaGFzUHJpdmlsZWdlXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmUuZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcoKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImluZm9cIj57e2luZm99fTwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tY29uZmlnXCIgY2RrRHJvcExpc3RHcm91cD5cblxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBjdXJyZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5jdXJyZW50PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnY3VycmVudCcpXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJjdXJyZW50RmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjdXJyZW50RmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5waW5uZWR9XCIgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5waW5uZWQ8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmdyb3VwfVwiIChjbGljayk9XCJ0b2dnbGVHcm91cChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmdyb3VwPC9kaXY+LS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuc29ydCwgYXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnYXNjJywgZGVzYzogZmllbGQuY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnLCBkaXNhYmxlZDogIWZpZWxkLnNvcnRhYmxlfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmllbGQuc29ydGFibGUgJiYgdG9nZ2xlU29ydChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuc29ydDwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbm1lbnRcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsIGxlZnQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0JyxcbiAgICAgICAgICAgIHJpZ2h0OiBmaWVsZC5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnLCBjZW50ZXI6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInfVwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBbGlnbm1lbnQoZmllbGQsICRldmVudClcIj48c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFsaWdubWVudDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInXCIgY2xhc3M9XCJjZW50ZXItc2Vjb25kXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUdGQk1WRVVBQUFELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjVzUEQvQUFBQUNIUlNUbE1BQUFFbksyeHdpaHYyZTZNQUFBQWtTVVJCVkFnZEJjR0JBUUFnRE1NZ212bi96Y0lHTU82eFVCSFhJcUxrWWttUURmQUJDSEFBT0N0L3hTWUFBQUFBU1VWT1JLNUNZSUk9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGF2YWlsYWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRsaW5lXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuaGVhZGxpbmUuYXZhaWxhYmxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnYXZhaWxhYmxlJylcIiBbY2RrRHJvcExpc3REYXRhXT1cImF2YWlsYWJsZUZpZWxkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGNka0RyYWdIYW5kbGUgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZmllbGRcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgYXZhaWxhYmxlRmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|