@bizdoc/core 2.3.18 → 2.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/admin/admin-menu.component.mjs +9 -10
- package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +11 -11
- package/esm2022/lib/admin/architecture/designer-element.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +15 -16
- package/esm2022/lib/admin/architecture/designer.component.mjs +16 -15
- package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +13 -14
- package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +11 -12
- package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +11 -12
- package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +13 -14
- package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +9 -10
- package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +11 -12
- package/esm2022/lib/admin/architecture/elements/cube.component.mjs +23 -24
- package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +11 -12
- package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/folder.component.mjs +16 -17
- package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +17 -18
- package/esm2022/lib/admin/architecture/elements/form.component.mjs +22 -23
- package/esm2022/lib/admin/architecture/elements/guide.component.mjs +16 -17
- package/esm2022/lib/admin/architecture/elements/job.component.mjs +12 -13
- package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +9 -10
- package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +12 -13
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/report.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +8 -9
- package/esm2022/lib/admin/architecture/elements/role.component.mjs +13 -14
- package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +13 -13
- package/esm2022/lib/admin/architecture/elements/type.component.mjs +18 -19
- package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +11 -12
- package/esm2022/lib/admin/architecture/elements/widget.component.mjs +10 -11
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +7 -8
- package/esm2022/lib/admin/core/color-picker.input.mjs +5 -6
- package/esm2022/lib/admin/core/localized-string.component.mjs +10 -11
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +11 -11
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +18 -18
- package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +12 -12
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +13 -12
- package/esm2022/lib/admin/form/designer/box-designer.component.mjs +24 -60
- package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
- package/esm2022/lib/admin/form/designer/design-control.component.mjs +41 -0
- package/esm2022/lib/admin/form/designer/properties.component.mjs +11 -12
- package/esm2022/lib/admin/form/designer/section.component.mjs +11 -12
- package/esm2022/lib/admin/form/workflow/node.component.mjs +9 -10
- package/esm2022/lib/admin/form/workflow/role-node.component.mjs +15 -16
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +13 -13
- package/esm2022/lib/admin/patterns/patterns.component.mjs +19 -19
- package/esm2022/lib/admin/permissions/permissions.component.mjs +14 -15
- package/esm2022/lib/admin/positions/positions-popup.component.mjs +11 -11
- package/esm2022/lib/admin/positions/positions.component.mjs +23 -24
- package/esm2022/lib/admin/profiler/outofoffice.component.mjs +13 -13
- package/esm2022/lib/admin/profiler/profiler.component.mjs +15 -15
- package/esm2022/lib/browse/browse-items.component.mjs +3 -3
- package/esm2022/lib/browse/browse.mobile.component.mjs +15 -16
- package/esm2022/lib/browse/browse.pane.component.mjs +14 -15
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +14 -15
- package/esm2022/lib/browse/filter/filter.component.mjs +13 -13
- package/esm2022/lib/browse/folders-menu.component.mjs +10 -11
- package/esm2022/lib/chat/chat.mobile.component.mjs +5 -6
- package/esm2022/lib/chat/contacts.component.mjs +16 -16
- package/esm2022/lib/chat/conversation.component.mjs +13 -14
- package/esm2022/lib/compose/action/action-picker.component.mjs +9 -10
- package/esm2022/lib/compose/action/action.dialog.mjs +8 -9
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +6 -7
- package/esm2022/lib/compose/action/assign-action.component.mjs +12 -12
- package/esm2022/lib/compose/action/moveto-action.component.mjs +11 -11
- package/esm2022/lib/compose/action/return-action.component.mjs +9 -9
- package/esm2022/lib/compose/attachments/attachments.component.mjs +11 -12
- package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +8 -9
- package/esm2022/lib/compose/box/box.component.mjs +7 -8
- package/esm2022/lib/compose/comments/comment.component.mjs +14 -15
- package/esm2022/lib/compose/comments/comments.component.mjs +8 -9
- package/esm2022/lib/compose/comments/edits.component.mjs +5 -5
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -6
- package/esm2022/lib/compose/comments/votes.component.mjs +8 -8
- package/esm2022/lib/compose/compose.mobile.component.mjs +16 -17
- package/esm2022/lib/compose/compose.pane.component.mjs +15 -16
- package/esm2022/lib/compose/copy/copy.dialog.mjs +11 -11
- package/esm2022/lib/compose/events/events.component.mjs +7 -8
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +7 -8
- package/esm2022/lib/compose/form.component.mjs +5 -5
- package/esm2022/lib/compose/new-menu.component.mjs +8 -9
- package/esm2022/lib/compose/tag/tags.component.mjs +10 -10
- package/esm2022/lib/compose/trace/people.component.mjs +4 -5
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +10 -11
- package/esm2022/lib/core/animations.mjs +7 -1
- package/esm2022/lib/core/checkbox.mjs +20 -17
- package/esm2022/lib/core/fields/address.field.mjs +35 -26
- package/esm2022/lib/core/fields/autocomplete.field.mjs +68 -52
- package/esm2022/lib/core/fields/checkbox.field.mjs +9 -10
- package/esm2022/lib/core/fields/checklist.designer.mjs +66 -47
- package/esm2022/lib/core/fields/checklist.field.mjs +8 -9
- package/esm2022/lib/core/fields/date-range.field.mjs +6 -6
- package/esm2022/lib/core/fields/date.field.mjs +10 -11
- package/esm2022/lib/core/fields/expression.field.mjs +31 -23
- package/esm2022/lib/core/fields/file.field.mjs +8 -9
- package/esm2022/lib/core/fields/html.field.mjs +9 -10
- package/esm2022/lib/core/fields/input.field.mjs +8 -9
- package/esm2022/lib/core/fields/numeric.field.mjs +7 -7
- package/esm2022/lib/core/fields/options.component.mjs +11 -12
- package/esm2022/lib/core/fields/radio-button.designer.mjs +10 -11
- package/esm2022/lib/core/fields/radio-button.field.mjs +8 -9
- package/esm2022/lib/core/fields/select.designer.mjs +71 -52
- package/esm2022/lib/core/fields/select.field.mjs +9 -10
- package/esm2022/lib/core/fields/signature.field.mjs +10 -11
- package/esm2022/lib/core/fields/switch.field.mjs +8 -9
- package/esm2022/lib/core/fields/tags.field.mjs +9 -10
- package/esm2022/lib/core/fields/textarea.field.mjs +9 -10
- package/esm2022/lib/core/fields/time.field.mjs +9 -10
- package/esm2022/lib/core/fields/timespan.field.mjs +33 -26
- package/esm2022/lib/core/fields/yesno.designer.mjs +70 -55
- package/esm2022/lib/core/fields/yesno.field.mjs +8 -9
- package/esm2022/lib/core/guide/guide.component.mjs +7 -8
- package/esm2022/lib/core/guide/help-tip.component.mjs +21 -18
- package/esm2022/lib/core/identity/identity.component.mjs +5 -6
- package/esm2022/lib/core/inputs/address.input.mjs +24 -21
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +42 -26
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +12 -13
- package/esm2022/lib/core/inputs/combination-picker.mjs +8 -5
- package/esm2022/lib/core/inputs/combination-pool.mjs +7 -8
- package/esm2022/lib/core/inputs/file.input.mjs +11 -12
- package/esm2022/lib/core/inputs/select.input.mjs +39 -23
- package/esm2022/lib/core/inputs/time-picker.mjs +6 -7
- package/esm2022/lib/core/mailbox.service.mjs +1 -1
- package/esm2022/lib/core/models.mjs +1 -1
- package/esm2022/lib/core/none.component.mjs +19 -22
- package/esm2022/lib/core/slots/slots.component.mjs +13 -14
- package/esm2022/lib/core/tagging/documents.component.mjs +7 -7
- package/esm2022/lib/core/tagging/edit-input.component.mjs +12 -13
- package/esm2022/lib/core/tagging/users.component.mjs +7 -7
- package/esm2022/lib/core/translations.mjs +2 -2
- package/esm2022/lib/cube/cube-menu.component.mjs +8 -9
- package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +6 -7
- package/esm2022/lib/cube/filter/filter.component.mjs +11 -11
- package/esm2022/lib/cube/grid/spreadsheet.component.mjs +1 -2
- package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +12 -12
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +12 -12
- package/esm2022/lib/cube/matrix/popup.component.mjs +10 -10
- package/esm2022/lib/cube/matrix/table.component.mjs +3 -4
- package/esm2022/lib/cube/parallel/parallel.component.mjs +4 -5
- package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
- package/esm2022/lib/cube/view.mobile.component.mjs +16 -17
- package/esm2022/lib/cube/view.pane.component.mjs +12 -13
- package/esm2022/lib/dashboard/dashboard.component.mjs +11 -12
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +11 -12
- package/esm2022/lib/dashboard/score/activity.widget.mjs +4 -5
- package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +5 -5
- package/esm2022/lib/dashboard/score/pending-results.widget.mjs +11 -12
- package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -2
- package/esm2022/lib/designer.module.mjs +6 -5
- package/esm2022/lib/home/about/about.dialog.mjs +7 -8
- package/esm2022/lib/home/home.desktop.component.mjs +17 -18
- package/esm2022/lib/home/home.mobile.component.mjs +16 -17
- package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
- package/esm2022/lib/home/options/options.component.mjs +11 -11
- package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +8 -9
- package/esm2022/lib/home/tools.component.mjs +13 -13
- package/esm2022/lib/impersonate/impersonate.component.mjs +10 -10
- package/esm2022/lib/modules/gantt.module.mjs +4 -2
- package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
- package/esm2022/lib/notifications/types/commented.notification.mjs +19 -12
- package/esm2022/lib/notifications/types/escalated.notification.mjs +6 -6
- package/esm2022/lib/notifications/types/liked.notification.mjs +19 -12
- package/esm2022/lib/notifications/types/tagged.notification.mjs +9 -9
- package/esm2022/lib/notifications/types/text.notification.mjs +6 -3
- package/esm2022/lib/options/options.component.mjs +52 -28
- package/esm2022/lib/options/options.service.mjs +26 -6
- package/esm2022/lib/reports/cube/table-documents.component.mjs +10 -10
- package/esm2022/lib/reports/report.mobile.component.mjs +12 -13
- package/esm2022/lib/reports/report.pane.component.mjs +10 -11
- package/esm2022/lib/reports/reports-menu.component.mjs +7 -8
- package/esm2022/lib/reports/substitution/substitution.component.mjs +10 -11
- package/esm2022/lib/reports/table/table-view.component.mjs +5 -6
- package/esm2022/lib/search/path.component.mjs +17 -18
- package/esm2022/lib/shared.module.mjs +4 -2
- package/esm2022/lib/system.module.mjs +5 -5
- package/esm2022/lib/views/cube/chart.component.mjs +6 -7
- package/esm2022/lib/views/cube/explore.component.mjs +10 -10
- package/esm2022/lib/views/cube/matrix.component.mjs +11 -11
- package/esm2022/lib/views/cube/parallel.component.mjs +4 -5
- package/esm2022/lib/views/cube/pivot.component.mjs +4 -5
- package/esm2022/lib/views/cube/sum.component.mjs +12 -10
- package/esm2022/lib/views/cube/view.component.mjs +11 -12
- package/esm2022/lib/views/timeline/timeline.component.exp.mjs +191 -192
- package/esm2022/lib/views/views.component.mjs +4 -5
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/bizdoc-core.mjs +3509 -3296
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/architecture/elements/analysis-view.component.d.ts +2 -2
- package/lib/admin/architecture/elements/cube-view.component.d.ts +2 -2
- package/lib/admin/architecture/elements/form.component.d.ts +5 -5
- package/lib/admin/architecture/elements/matrix-view.component.d.ts +17 -9
- package/lib/admin/architecture/elements/parallel-view.component.d.ts +5 -5
- package/lib/admin/architecture/elements/tasks-report.component.d.ts +3 -2
- package/lib/admin/form/designer/box-designer.component.d.ts +26 -23
- package/lib/admin/form/designer/declarations.d.ts +2 -2
- package/lib/admin/form/designer/design-control.component.d.ts +19 -0
- package/lib/admin/form/designer/section.component.d.ts +3 -3
- package/lib/compose/attachments/attachments.component.d.ts +2 -2
- package/lib/core/animations.d.ts +1 -0
- package/lib/core/inputs/combination-picker.d.ts +1 -0
- package/lib/core/mailbox.service.d.ts +4 -3
- package/lib/core/models.d.ts +1 -1
- package/lib/cube/matrix/table.component.d.ts +2 -2
- package/lib/dashboard/score/peers-performance.widget.d.ts +1 -1
- package/lib/designer.module.d.ts +27 -26
- package/lib/notifications/types/escalated.notification.d.ts +1 -1
- package/lib/notifications/types/tagged.notification.d.ts +1 -1
- package/lib/notifications/types/text.notification.d.ts +1 -1
- package/lib/options/options.component.d.ts +6 -4
- package/lib/options/options.service.d.ts +7 -2
- package/lib/shared.module.d.ts +1 -1
- package/lib/system.module.d.ts +25 -25
- package/lib/views/cube/sum.component.d.ts +1 -0
- package/lib/views/timeline/timeline.component.exp.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
@@ -12,16 +12,16 @@ import * as i1 from "@angular/cdk/bidi";
|
|
12
12
|
import * as i2 from "../../core/session.service";
|
13
13
|
import * as i3 from "../../core/prompt.service";
|
14
14
|
import * as i4 from "@angular/cdk/overlay";
|
15
|
-
import * as i5 from "@angular/
|
16
|
-
import * as i6 from "@angular/
|
17
|
-
import * as i7 from "@angular/material/
|
18
|
-
import * as i8 from "@angular/material/
|
19
|
-
import * as i9 from "@angular/material/
|
20
|
-
import * as i10 from "@angular/material/
|
21
|
-
import * as i11 from "@angular/material/
|
22
|
-
import * as i12 from "@angular/material/
|
23
|
-
import * as i13 from "
|
24
|
-
import * as i14 from "
|
15
|
+
import * as i5 from "@angular/forms";
|
16
|
+
import * as i6 from "@angular/material/table";
|
17
|
+
import * as i7 from "@angular/material/progress-bar";
|
18
|
+
import * as i8 from "@angular/material/toolbar";
|
19
|
+
import * as i9 from "@angular/material/form-field";
|
20
|
+
import * as i10 from "@angular/material/button";
|
21
|
+
import * as i11 from "@angular/material/input";
|
22
|
+
import * as i12 from "@angular/material/icon";
|
23
|
+
import * as i13 from "../../core/inputs/select.input";
|
24
|
+
import * as i14 from "@angular/common";
|
25
25
|
import * as i15 from "../../core/pipes/type-value.pipe";
|
26
26
|
import * as i16 from "../../core/pipes/translate.pipe";
|
27
27
|
import * as i17 from "../utility-ref";
|
@@ -141,7 +141,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
141
141
|
this._destroy.next();
|
142
142
|
}
|
143
143
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ManageCubeIndexUtility, deps: [{ token: i1.Directionality }, { token: UtilityRef }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: ManageCubeIndexUtility, selector: "ng-component", viewQueries: [{ propertyName: "editTmpl", first: true, predicate: ["editTmpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<table mat-table [dataSource]=\"dataSource\">\n @for (a of axes; track a; let i = $index) {\n <ng-container [matColumnDef]=\"a.name\">\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\n </ng-container>\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\n</table>\n<ng-template #editTmpl>\n <form [formGroup]=\"form\">\n @for (a of axes; track a) {\n <mat-form-field>\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\n </mat-form-field>\n }\n <mat-form-field>\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\n </mat-form-field>\n </form>\n</ng-template>\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i15.TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] }); }
|
145
145
|
};
|
146
146
|
ManageCubeIndexUtility = __decorate([
|
147
147
|
BizDoc({ selector: 'manage-cube-index' })
|
@@ -149,7 +149,7 @@ ManageCubeIndexUtility = __decorate([
|
|
149
149
|
export { ManageCubeIndexUtility };
|
150
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ManageCubeIndexUtility, decorators: [{
|
151
151
|
type: Component,
|
152
|
-
args: [{ template: "<mat-toolbar>\
|
152
|
+
args: [{ template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<table mat-table [dataSource]=\"dataSource\">\n @for (a of axes; track a; let i = $index) {\n <ng-container [matColumnDef]=\"a.name\">\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"value\">\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\n </ng-container>\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\n</table>\n<ng-template #editTmpl>\n <form [formGroup]=\"form\">\n @for (a of axes; track a) {\n <mat-form-field>\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\n </mat-form-field>\n }\n <mat-form-field>\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\n </mat-form-field>\n </form>\n</ng-template>\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"] }]
|
153
153
|
}], ctorParameters: () => [{ type: i1.Directionality }, { type: i17.UtilityRef, decorators: [{
|
154
154
|
type: Inject,
|
155
155
|
args: [UtilityRef]
|
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
157
157
|
type: ViewChild,
|
158
158
|
args: ['editTmpl', { static: true }]
|
159
159
|
}] } });
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9pbmRpY2VzL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vaW5kaWNlcy9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTRDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzFDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBZ0I1QixZQUFvQixJQUFvQixFQUNWLElBQXlELEVBQ3JGLE9BQXVCLEVBQVUsR0FBcUIsRUFDOUMsR0FBa0IsRUFDbEIsUUFBaUI7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNWLFNBQUksR0FBSixJQUFJLENBQXFEO1FBQ3BELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzlD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QmQsc0JBQXNCLHdLQ3RCOUIsazdEQW1DQTs7QURiUSxzQkFBc0I7SUFGN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUM7R0FFbEMsc0JBQXNCLENBd0g3Qjs7MkZBeEhPLHNCQUFzQjtrQkFON0IsU0FBUzs7OzBCQXVCTCxNQUFNOzJCQUFDLFVBQVU7dUpBUHFCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3ksIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hbmFnZS1jdWJlLWluZGV4JyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBNYW5hZ2VDdWJlSW5kZXhVdGlsaXR5IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxhbnksIGFueT4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBDVVJSRU5DWV9DT0RFOiBzdHJpbmc7XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBheGVzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxJbmRleD47XHJcbiAgcmVhZG9ubHkgbmFtZXM6IHN0cmluZ1tdO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXllZENvbHVtbnMgPSBbJ3ZhbHVlJywgJ29wdGlvbnMnXTtcclxuICByZWFkb25seSBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woMCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9KTtcclxuICBAVmlld0NoaWxkKCdlZGl0VG1wbCcsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRUbXBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGxvYWRpbmc6IFByb2dyZXNzQmFyTW9kZTtcclxuICBwcml2YXRlIF9kYXRhOiBJbmRleFtdO1xyXG4gIHByaXZhdGUgX3JvdzogSW5kZXg7XHJcbiAgcHJpdmF0ZSBfb1JlZjogT3ZlcmxheVJlZjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgQEluamVjdChVdGlsaXR5UmVmKSBwcml2YXRlIF9yZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgSW5kZXhbXSwgSW5kZXhbXSwgYW55LCBPcHRpb25zPixcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLCBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSkge1xyXG4gICAgY29uc3QgeyBjdWJlOiBuYW1lLCBheGVzOiBuYW1lcyB9ID0gX3JlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgY3ViZSA9IG5hbWUgPyBzZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gbmFtZSkgOiBzZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLkNVUlJFTkNZX0NPREUgPSBjdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuYXhlcyA9IGN1YmUuYXhlcy5maWx0ZXIoYSA9PiBuYW1lcyA/IG5hbWVzLmluZGV4T2YoYS5uYW1lKSA+IC0xIDogYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpO1xyXG4gICAgdGhpcy5uYW1lcyA9IGN1YmUuYXhlcy5tYXAoYSA9PiBhLm5hbWUpO1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goKGEsIGkpID0+IHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnNwbGljZShpLCAwLCBhLm5hbWUpO1xyXG4gICAgICBjb25zdCBjdHJsID0gbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChhLm5hbWUsIGN0cmwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IGF4ZXMgPSBbXTtcclxuICAgICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiBheGVzW3RoaXMubmFtZXMuaW5kZXhPZihhLm5hbWUpXSA9IHRoaXMuZm9ybS52YWx1ZVthLm5hbWVdIHx8IG51bGwpO1xyXG4gICAgICBpZiAodGhpcy5fcm93KSB7XHJcbiAgICAgICAgaWYgKGF4ZXMuam9pbigpID09PSB0aGlzLl9yb3cuYXhlcy5qb2luKCkpXHJcbiAgICAgICAgICB0aGlzLl9yb3cudmFsdWUgPSB2LnZhbHVlO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgcm93ID0gdGhpcy5fZmluZChheGVzKTtcclxuICAgICAgICAgIGlmIChyb3cpIHtcclxuICAgICAgICAgICAgdGhpcy5fcm93ID0gcm93O1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudmFsdWUuc2V0VmFsdWUodGhpcy5fcm93LnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvdy5heGVzID0gYXhlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodi52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3JvdyA9IHsgdmFsdWU6IHYudmFsdWUsIGF4ZXMgfTtcclxuICAgICAgICB0aGlzLl9kYXRhLnB1c2godGhpcy5fcm93KTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdob21lLXBhbmVsJ1xyXG4gICAgfSk7XHJcbiAgICBtZXJnZShvUmVmLmJhY2tkcm9wQ2xpY2soKSwgb1JlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleSA9PT0gJ0VzY2FwZScpKSkucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmluZChheGVzOiBzdHJpbmdbXSk6IEluZGV4IHtcclxuICAgIGNvbnN0IG4gPSB0aGlzLm5hbWVzLmxlbmd0aDtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhLmZpbmQoaW5kZXggPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKylcclxuICAgICAgICBpZiAoYXhlc1tpXSAmJiBheGVzW2ldICE9PSBpbmRleC5heGVzW2ldKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuX3JvdyA9IG51bGw7XHJcbiAgICBjb25zdCB2YWx1ZXMgPSB7IHZhbHVlOiAwIH07XHJcbiAgICB0aGlzLmF4ZXMuZm9yRWFjaChhID0+IHZhbHVlc1thLm5hbWVdID0gbnVsbCk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh2YWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmVkaXRUbXBsLCB0aGlzLl92Yyk7XHJcbiAgICB0aGlzLl9vUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gIH1cclxuICBlZGl0KGl0ZW06IEluZGV4KSB7XHJcbiAgICB0aGlzLl9yb3cgPSBpdGVtO1xyXG4gICAgY29uc3QgdmFsdWVzID0geyB2YWx1ZTogaXRlbS52YWx1ZSB9O1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiB2YWx1ZXNbYS5uYW1lXSA9IGl0ZW0uYXhlc1t0aGlzLm5hbWVzLmluZGV4T2YoYS5uYW1lKV0pO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5lZGl0VG1wbCwgdGhpcy5fdmMpO1xyXG4gICAgdGhpcy5fb1JlZi5hdHRhY2gocG9ydGFsKTtcclxuICB9XHJcbiAgcmVtb3ZlKGluZGV4OiBJbmRleCwgZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fZGF0YS5yZW1vdmUoaW5kZXgpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWx0ZXIoYXhlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IG4gPSBheGVzLmxlbmd0aDtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhLmZpbHRlcihpbmRleCA9PiB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKVxyXG4gICAgICAgIGlmICh0aGlzLmF4ZXNbaV0gJiYgYXhlc1tpXSAhPT0gaW5kZXguYXhlc1tpXSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9ICdxdWVyeSc7XHJcbiAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUobSA9PiB7XHJcbiAgICAgIHRoaXMuX2RhdGEgPSBtO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKG0pO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSAnaW5kZXRlcm1pbmF0ZSc7XHJcbiAgICB0aGlzLl9yZWYuZXhlY3V0ZSh0aGlzLl9kYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zYi50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgSW5kZXgge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIGF4ZXM/OiBzdHJpbmdbXTtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJsb2FkaW5nXCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBheGVzOyBsZXQgaSA9IGluZGV4XCIgW21hdENvbHVtbkRlZl09XCJhLm5hbWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3thLnRpdGxlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmF4ZXNbbmFtZXMuaW5kZXhPZihhLm5hbWUpXXwgdHlwZVZhbHVlOiBhLmRhdGFUeXBlIHwgYXN5bmN9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmFsdWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3snVmFsdWUnfHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC52YWx1ZSB8IGN1cnJlbmN5IDogQ1VSUkVOQ1lfQ09ERSB9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+PG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKGVsZW1lbnQsICRldmVudClcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGVsZW1lbnQ7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCIgKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj48L3RyPlxyXG48L3RhYmxlPlxyXG48bmctdGVtcGxhdGUgI2VkaXRUbXBsPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0Zvcj1cImxldCBhIG9mIGF4ZXNcIj5cclxuICAgICAgPGJpemRvYy1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImEudGl0bGVcIiBbdHlwZV09XCJhLmRhdGFUeXBlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiByZXF1aXJlZD48L2JpemRvYy1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQgW3BsYWNlaG9sZGVyXT1cIidWYWx1ZSd8dHJhbnNsYXRlXCIgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9pbmRpY2VzL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vaW5kaWNlcy9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTRDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzFDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBZ0I1QixZQUFvQixJQUFvQixFQUNWLElBQXlELEVBQ3JGLE9BQXVCLEVBQVUsR0FBcUIsRUFDOUMsR0FBa0IsRUFDbEIsUUFBaUI7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNWLFNBQUksR0FBSixJQUFJLENBQXFEO1FBQ3BELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzlD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QmQsc0JBQXNCLHdLQ3RCOUIscTVEQXVDQTs7QURqQlEsc0JBQXNCO0lBRjdCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0dBRWxDLHNCQUFzQixDQXdIN0I7OzJGQXhITyxzQkFBc0I7a0JBTjdCLFNBQVM7OzswQkF1QkwsTUFBTTsyQkFBQyxVQUFVO3VKQVBxQixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXJcIjtcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDdWJlQXhpcyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdtYW5hZ2UtY3ViZS1pbmRleCcgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgTWFuYWdlQ3ViZUluZGV4VXRpbGl0eSBpbXBsZW1lbnRzIFV0aWxpdHlDb21wb25lbnQ8YW55LCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgQ1VSUkVOQ1lfQ09ERTogc3RyaW5nO1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgYXhlczogQ3ViZUF4aXNbXTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8SW5kZXg+O1xyXG4gIHJlYWRvbmx5IG5hbWVzOiBzdHJpbmdbXTtcclxuICByZWFkb25seSBkaXNwbGF5ZWRDb2x1bW5zID0gWyd2YWx1ZScsICdvcHRpb25zJ107XHJcbiAgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKDAsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgfSk7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdFRtcGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0VG1wbDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBsb2FkaW5nOiBQcm9ncmVzc0Jhck1vZGU7XHJcbiAgcHJpdmF0ZSBfZGF0YTogSW5kZXhbXTtcclxuICBwcml2YXRlIF9yb3c6IEluZGV4O1xyXG4gIHByaXZhdGUgX29SZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIEBJbmplY3QoVXRpbGl0eVJlZikgcHJpdmF0ZSBfcmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIEluZGV4W10sIEluZGV4W10sIGFueSwgT3B0aW9ucz4sXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSwgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXkpIHtcclxuICAgIGNvbnN0IHsgY3ViZTogbmFtZSwgYXhlczogbmFtZXMgfSA9IF9yZWYub3B0aW9ucztcclxuICAgIGNvbnN0IGN1YmUgPSBuYW1lID8gc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IG5hbWUpIDogc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5DVVJSRU5DWV9DT0RFID0gY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLmF4ZXMgPSBjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gbmFtZXMgPyBuYW1lcy5pbmRleE9mKGEubmFtZSkgPiAtMSA6IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnKTtcclxuICAgIHRoaXMubmFtZXMgPSBjdWJlLmF4ZXMubWFwKGEgPT4gYS5uYW1lKTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKChhLCBpKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5zcGxpY2UoaSwgMCwgYS5uYW1lKTtcclxuICAgICAgY29uc3QgY3RybCA9IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woYS5uYW1lLCBjdHJsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBheGVzID0gW107XHJcbiAgICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gYXhlc1t0aGlzLm5hbWVzLmluZGV4T2YoYS5uYW1lKV0gPSB0aGlzLmZvcm0udmFsdWVbYS5uYW1lXSB8fCBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuX3Jvdykge1xyXG4gICAgICAgIGlmIChheGVzLmpvaW4oKSA9PT0gdGhpcy5fcm93LmF4ZXMuam9pbigpKVxyXG4gICAgICAgICAgdGhpcy5fcm93LnZhbHVlID0gdi52YWx1ZTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX2ZpbmQoYXhlcyk7XHJcbiAgICAgICAgICBpZiAocm93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvdyA9IHJvdztcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnZhbHVlLnNldFZhbHVlKHRoaXMuX3Jvdy52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9yb3cuYXhlcyA9IGF4ZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHYudmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yb3cgPSB7IHZhbHVlOiB2LnZhbHVlLCBheGVzIH07XHJcbiAgICAgICAgdGhpcy5fZGF0YS5wdXNoKHRoaXMuX3Jvdyk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaG9tZS1wYW5lbCdcclxuICAgIH0pO1xyXG4gICAgbWVyZ2Uob1JlZi5iYWNrZHJvcENsaWNrKCksIG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXkgPT09ICdFc2NhcGUnKSkpLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gb1JlZi5kZXRhY2goKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbmQoYXhlczogc3RyaW5nW10pOiBJbmRleCB7XHJcbiAgICBjb25zdCBuID0gdGhpcy5uYW1lcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maW5kKGluZGV4ID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXHJcbiAgICAgICAgaWYgKGF4ZXNbaV0gJiYgYXhlc1tpXSAhPT0gaW5kZXguYXhlc1tpXSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLl9yb3cgPSBudWxsO1xyXG4gICAgY29uc3QgdmFsdWVzID0geyB2YWx1ZTogMCB9O1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiB2YWx1ZXNbYS5uYW1lXSA9IG51bGwpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5lZGl0VG1wbCwgdGhpcy5fdmMpO1xyXG4gICAgdGhpcy5fb1JlZi5hdHRhY2gocG9ydGFsKTtcclxuICB9XHJcbiAgZWRpdChpdGVtOiBJbmRleCkge1xyXG4gICAgdGhpcy5fcm93ID0gaXRlbTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHsgdmFsdWU6IGl0ZW0udmFsdWUgfTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gdmFsdWVzW2EubmFtZV0gPSBpdGVtLmF4ZXNbdGhpcy5uYW1lcy5pbmRleE9mKGEubmFtZSldKTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZWRpdFRtcGwsIHRoaXMuX3ZjKTtcclxuICAgIHRoaXMuX29SZWYuYXR0YWNoKHBvcnRhbCk7XHJcbiAgfVxyXG4gIHJlbW92ZShpbmRleDogSW5kZXgsIGV2dDogRXZlbnQpIHtcclxuICAgIHRoaXMuX2RhdGEucmVtb3ZlKGluZGV4KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsdGVyKGF4ZXM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb25zdCBuID0gYXhlcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maWx0ZXIoaW5kZXggPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKylcclxuICAgICAgICBpZiAodGhpcy5heGVzW2ldICYmIGF4ZXNbaV0gIT09IGluZGV4LmF4ZXNbaV0pIHJldHVybiBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSAncXVlcnknO1xyXG4gICAgdGhpcy5fcmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gbTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShtKTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gJ2luZGV0ZXJtaW5hdGUnO1xyXG4gICAgdGhpcy5fcmVmLmV4ZWN1dGUodGhpcy5fZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIEluZGV4IHtcclxuICBpZD86IG51bWJlcjtcclxuICBheGVzOiBzdHJpbmdbXTtcclxuICB2YWx1ZTogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBpbmRleD86IHN0cmluZztcclxuICBheGVzPzogc3RyaW5nW107XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cbjwvbWF0LXRvb2xiYXI+XG48bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJsb2FkaW5nXCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxuICBAZm9yIChhIG9mIGF4ZXM7IHRyYWNrIGE7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImEubmFtZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2EudGl0bGV9fTwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuYXhlc1tuYW1lcy5pbmRleE9mKGEubmFtZSldfCB0eXBlVmFsdWU6IGEuZGF0YVR5cGUgfCBhc3luY319IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIH1cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2YWx1ZVwiPlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3snVmFsdWUnfHRyYW5zbGF0ZX19PC90aD5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudmFsdWUgfCBjdXJyZW5jeSA6IENVUlJFTkNZX0NPREUgfX0gPC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+PG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlbW92ZShlbGVtZW50LCAkZXZlbnQpXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiAoY2xpY2spPVwiZWRpdChlbGVtZW50KVwiPjwvdHI+XG48L3RhYmxlPlxuPG5nLXRlbXBsYXRlICNlZGl0VG1wbD5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgQGZvciAoYSBvZiBheGVzOyB0cmFjayBhKSB7XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxiaXpkb2Mtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgW3R5cGVdPVwiYS5kYXRhVHlwZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiYS5uYW1lXCIgcmVxdWlyZWQ+PC9iaXpkb2Mtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICB9XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCInVmFsdWUnfHRyYW5zbGF0ZVwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
@@ -17,22 +17,22 @@ import * as i4 from "../../core/datasource.service";
|
|
17
17
|
import * as i5 from "../system.service";
|
18
18
|
import * as i6 from "../../core/prompt.service";
|
19
19
|
import * as i7 from "@angular/material/dialog";
|
20
|
-
import * as i8 from "@angular/
|
21
|
-
import * as i9 from "@angular/material/
|
22
|
-
import * as i10 from "@angular/material/
|
23
|
-
import * as i11 from "@angular/material/
|
24
|
-
import * as i12 from "@angular/material/
|
25
|
-
import * as i13 from "@angular/material/
|
26
|
-
import * as i14 from "@angular/material/
|
27
|
-
import * as i15 from "@angular/material/
|
28
|
-
import * as i16 from "@angular/material/
|
29
|
-
import * as i17 from "@angular/material/
|
30
|
-
import * as i18 from "@angular/material/
|
31
|
-
import * as i19 from "@angular/material/
|
32
|
-
import * as i20 from "@angular/material/
|
33
|
-
import * as i21 from "@angular/material/
|
34
|
-
import * as i22 from "
|
35
|
-
import * as i23 from "
|
20
|
+
import * as i8 from "@angular/material/table";
|
21
|
+
import * as i9 from "@angular/material/sort";
|
22
|
+
import * as i10 from "@angular/material/paginator";
|
23
|
+
import * as i11 from "@angular/material/divider";
|
24
|
+
import * as i12 from "@angular/material/toolbar";
|
25
|
+
import * as i13 from "@angular/material/autocomplete";
|
26
|
+
import * as i14 from "@angular/material/core";
|
27
|
+
import * as i15 from "@angular/material/form-field";
|
28
|
+
import * as i16 from "@angular/material/select";
|
29
|
+
import * as i17 from "@angular/material/button";
|
30
|
+
import * as i18 from "@angular/material/checkbox";
|
31
|
+
import * as i19 from "@angular/material/input";
|
32
|
+
import * as i20 from "@angular/material/icon";
|
33
|
+
import * as i21 from "@angular/material/menu";
|
34
|
+
import * as i22 from "../../core/popup/tooltip.directive";
|
35
|
+
import * as i23 from "@angular/common";
|
36
36
|
import * as i24 from "../../core/pipes/translate.pipe";
|
37
37
|
import * as i25 from "../utility-ref";
|
38
38
|
const PAGE_SIZE = 20;
|
@@ -153,7 +153,7 @@ let PatternsComponent = class PatternsComponent {
|
|
153
153
|
this._destroy.complete();
|
154
154
|
}
|
155
155
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PatternsComponent, deps: [{ token: i1.SessionService }, { token: i2.Directionality }, { token: i3.FormBuilder }, { token: UtilityRef }, { token: i4.DatasourceService }, { token: i5.SystemService }, { token: i6.PromptService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let r of roles\" [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons *ngIf=\"paging\"></mat-paginator>\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n <div formGroupName=\"axes\" *ngIf=\"cube\" class=\"row wrap sm-column\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-form-field *ngIf=\"include.indexOf(a.name)>-1\" class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n <mat-option *ngFor=\"let o of segments[a.name] | async\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"axes.controls[a.name].invalid\">{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n </mat-form-field>\r\n \r\n </ng-container>\r\n </div>\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.roles.hasError('required')\">{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i14.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i15.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i14.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i16.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i16.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i17.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i18.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i18.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i19.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i20.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i21.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i22.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i22.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i22.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i23.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container matColumnDef=\"title\" sticky>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\n </mat-menu>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\n</table>\n@if (paging) {\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\n}\n<!-- dialog -->\n<ng-template #properties>\n <mat-dialog-content>\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\n </mat-form-field>\n @if (cube) {\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\n @for (a of cube?.axes; track a) {\n @if (include.indexOf(a.name)>-1) {\n <mat-form-field class=\"flex\">\n <input matInput\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\n <mat-autocomplete #segment>\n @for (o of segments[a.name] | async; track o) {\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\n }\n </mat-autocomplete>\n @if (axes.controls[a.name].invalid) {\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\n }\n </mat-form-field>\n }\n \n }\n </div>\n }\n <mat-form-field>\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\n @for (r of roles; track r) {\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\n }\n </mat-select>\n @if (form.controls.roles.hasError('required')) {\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\n }\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\n </mat-dialog-actions>\n </ng-template>\n <style scoped>\n table {\n width: 100%\n }\n</style>\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i13.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i14.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i13.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i15.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i15.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i17.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i18.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i19.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i20.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i21.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i21.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i21.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i22.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i23.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
|
157
157
|
};
|
158
158
|
PatternsComponent = __decorate([
|
159
159
|
BizDoc({
|
@@ -163,7 +163,7 @@ PatternsComponent = __decorate([
|
|
163
163
|
export { PatternsComponent };
|
164
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PatternsComponent, decorators: [{
|
165
165
|
type: Component,
|
166
|
-
args: [{ template: "<mat-toolbar>\
|
166
|
+
args: [{ template: "<mat-toolbar>\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\n</mat-toolbar>\n<table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container matColumnDef=\"title\" sticky>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n }\n <ng-container matColumnDef=\"options\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\">\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\n </mat-menu>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\n</table>\n@if (paging) {\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\n}\n<!-- dialog -->\n<ng-template #properties>\n <mat-dialog-content>\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\n <mat-form-field>\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\n </mat-form-field>\n @if (cube) {\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\n @for (a of cube?.axes; track a) {\n @if (include.indexOf(a.name)>-1) {\n <mat-form-field class=\"flex\">\n <input matInput\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\n <mat-autocomplete #segment>\n @for (o of segments[a.name] | async; track o) {\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\n }\n </mat-autocomplete>\n @if (axes.controls[a.name].invalid) {\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\n }\n </mat-form-field>\n }\n \n }\n </div>\n }\n <mat-form-field>\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\n @for (r of roles; track r) {\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\n }\n </mat-select>\n @if (form.controls.roles.hasError('required')) {\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\n }\n </mat-form-field>\n </form>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\n </mat-dialog-actions>\n </ng-template>\n <style scoped>\n table {\n width: 100%\n }\n</style>\n" }]
|
167
167
|
}], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.Directionality }, { type: i3.FormBuilder }, { type: i25.UtilityRef, decorators: [{
|
168
168
|
type: Inject,
|
169
169
|
args: [UtilityRef]
|
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
177
177
|
type: ViewChild,
|
178
178
|
args: [MatPaginator]
|
179
179
|
}] } });
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQVFkLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtC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Q3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNIVSxpQkFBaUIseUdBd0JsQixVQUFVO2tHQXhCVCxpQkFBaUIsbU1BUWpCLE9BQU8sNEVBQ1AsWUFBWSxnRENyQ3pCLGtxSEFzRUE7O0FEMUNhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxpQkFBaUIsQ0E0SDdCOzsyRkE1SFksaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTt5SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNWYWx1ZTtcclxuICB9O1xyXG59XHJcbmludGVyZmFjZSBSb2xlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgU291cmNlIHtcclxuICBrZXk6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgZGF0YS1ndWlkZT1cImNyZWF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIiBzdGlja3k+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydUaXRsZSd8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LnRpdGxlfX0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW21hdENvbHVtbkRlZl09XCJyLm5hbWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5yb2xlcyAmJiBlbGVtZW50LnJvbGVzLmluZGV4T2Yoci5uYW1lKSA+IC0xXCIgKGNoYW5nZSk9XCJ0b2dnbGUoZWxlbWVudCwgci5uYW1lLCAkZXZlbnQpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNvcHRpb25zPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZWRpdChlbGVtZW50KVwiPnt7J0VkaXQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkZWxldGUoZWxlbWVudClcIj57eydEaXNjYXJkJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XHJcbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XHJcbjwvdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBoaWRlUGFnZVNpemUgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgKm5nSWY9XCJwYWdpbmdcIj48L21hdC1wYWdpbmF0b3I+XHJcbjwhLS0gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnRpZXM+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJheGVzXCIgKm5nSWY9XCJjdWJlXCIgY2xhc3M9XCJyb3cgd3JhcCBzbS1jb2x1bW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImluY2x1ZGUuaW5kZXhPZihhLm5hbWUpPi0xXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWdtZW50XCIgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygc2VnbWVudHNbYS5uYW1lXSB8IGFzeW5jXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snU3lzdGVtQXhpc1BhdHRlcm5FcnInIHx0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucm9sZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eydBcmVSZXF1aXJlZEVycid8dHJhbnNsYXRlOignUm9sZXMnfHRyYW5zbGF0ZSl9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxuICB9XHJcbjwvc3R5bGU+XHJcbiJdfQ==
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQVFkLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtC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Q3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNIVSxpQkFBaUIseUdBd0JsQixVQUFVO2tHQXhCVCxpQkFBaUIsbU1BUWpCLE9BQU8sNEVBQ1AsWUFBWSxnRENyQ3pCLHV5SEFzRkE7O0FEMURhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxpQkFBaUIsQ0E0SDdCOzsyRkE1SFksaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTt5SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNWYWx1ZTtcclxuICB9O1xyXG59XHJcbmludGVyZmFjZSBSb2xlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgU291cmNlIHtcclxuICBrZXk6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgZGF0YS1ndWlkZT1cImNyZWF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxuPC9tYXQtdG9vbGJhcj5cbjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIiBzdGlja3k+XG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC90aD5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudGl0bGV9fSA8L3RkPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgQGZvciAociBvZiByb2xlczsgdHJhY2sgcikge1xuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJyLm5hbWVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5yb2xlcyAmJiBlbGVtZW50LnJvbGVzLmluZGV4T2Yoci5uYW1lKSA+IC0xXCIgKGNoYW5nZSk9XCJ0b2dnbGUoZWxlbWVudCwgci5uYW1lLCAkZXZlbnQpXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIDxtYXQtbWVudSAjb3B0aW9ucz5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJlZGl0KGVsZW1lbnQpXCI+e3snRWRpdCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlKGVsZW1lbnQpXCI+e3snRGlzY2FyZCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG48L3RhYmxlPlxuQGlmIChwYWdpbmcpIHtcbiAgPG1hdC1wYWdpbmF0b3IgW3BhZ2VTaXplXT1cIlBBR0VfU0laRVwiIGhpZGVQYWdlU2l6ZSBzaG93Rmlyc3RMYXN0QnV0dG9ucz48L21hdC1wYWdpbmF0b3I+XG59XG48IS0tIGRpYWxvZyAtLT5cbjxuZy10ZW1wbGF0ZSAjcHJvcGVydGllcz5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImNvbHVtblwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIEBpZiAoY3ViZSkge1xuICAgICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJheGVzXCIgY2xhc3M9XCJyb3cgd3JhcCBzbS1jb2x1bW5cIj5cbiAgICAgICAgICBAZm9yIChhIG9mIGN1YmU/LmF4ZXM7IHRyYWNrIGEpIHtcbiAgICAgICAgICAgIEBpZiAoaW5jbHVkZS5pbmRleE9mKGEubmFtZSk+LTEpIHtcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWdtZW50XCIgW3BhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZWdtZW50PlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChvIG9mIHNlZ21lbnRzW2EubmFtZV0gfCBhc3luYzsgdHJhY2sgbykge1xuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvLmtleVwiPnt7by52YWx1ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgICAgICAgICAgICBAaWYgKGF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3snU3lzdGVtQXhpc1BhdHRlcm5FcnInIHx0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XG4gICAgICAgICAgICBAZm9yIChyIG9mIHJvbGVzOyB0cmFjayByKSB7XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLnJvbGVzLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPnt7J0FyZVJlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdSb2xlcyd8dHJhbnNsYXRlKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9mb3JtPlxuICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCd8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxzdHlsZSBzY29wZWQ+XG4gICAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlXG4gIH1cbjwvc3R5bGU+XG4iXX0=
|
@@ -8,17 +8,16 @@ import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../core/session.service";
|
9
9
|
import * as i2 from "../../core/prompt.service";
|
10
10
|
import * as i3 from "@angular/forms";
|
11
|
-
import * as i4 from "@angular/
|
12
|
-
import * as i5 from "@angular/material/
|
13
|
-
import * as i6 from "@angular/material/
|
14
|
-
import * as i7 from "@angular/material/
|
15
|
-
import * as i8 from "@angular/material/
|
16
|
-
import * as i9 from "@angular/material/
|
17
|
-
import * as i10 from "@angular/material/
|
18
|
-
import * as i11 from "
|
19
|
-
import * as i12 from "
|
20
|
-
import * as i13 from "
|
21
|
-
import * as i14 from "../utility-ref";
|
11
|
+
import * as i4 from "@angular/material/table";
|
12
|
+
import * as i5 from "@angular/material/sort";
|
13
|
+
import * as i6 from "@angular/material/toolbar";
|
14
|
+
import * as i7 from "@angular/material/button";
|
15
|
+
import * as i8 from "@angular/material/checkbox";
|
16
|
+
import * as i9 from "@angular/material/icon";
|
17
|
+
import * as i10 from "@angular/material/menu";
|
18
|
+
import * as i11 from "../core/search.input";
|
19
|
+
import * as i12 from "../../core/pipes/translate.pipe";
|
20
|
+
import * as i13 from "../utility-ref";
|
22
21
|
let PermissionsUtility = class PermissionsUtility {
|
23
22
|
constructor(_utilityRef, _session, _sb, _fb) {
|
24
23
|
this._utilityRef = _utilityRef;
|
@@ -78,7 +77,7 @@ let PermissionsUtility = class PermissionsUtility {
|
|
78
77
|
});
|
79
78
|
}
|
80
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: i1.SessionService }, { token: i2.PromptService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #formMenu>\n @for (f of forms; track f) {\n <button mat-menu-item (click)=\"formChange(f.name)\">{{f.title}}</button>\n }\n </mat-menu>\n</mat-toolbar>\n<table mat-table matSort [dataSource]=\"dataSource\">\n <ng-container matColumnDef=\"title\" sticky>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\n </ng-container>\n }\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\n</table>\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i11.SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
|
82
81
|
};
|
83
82
|
PermissionsUtility = __decorate([
|
84
83
|
BizDoc({
|
@@ -88,12 +87,12 @@ PermissionsUtility = __decorate([
|
|
88
87
|
export { PermissionsUtility };
|
89
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PermissionsUtility, decorators: [{
|
90
89
|
type: Component,
|
91
|
-
args: [{ template: "<mat-toolbar>\
|
92
|
-
}], ctorParameters: () => [{ type:
|
90
|
+
args: [{ template: "<mat-toolbar>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\n <span class=\"divider\"></span>\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #formMenu>\n @for (f of forms; track f) {\n <button mat-menu-item (click)=\"formChange(f.name)\">{{f.title}}</button>\n }\n </mat-menu>\n</mat-toolbar>\n<table mat-table matSort [dataSource]=\"dataSource\">\n <ng-container matColumnDef=\"title\" sticky>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\n </ng-container>\n @for (r of roles; track r) {\n <ng-container [matColumnDef]=\"r.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\n </ng-container>\n }\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\n</table>\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"] }]
|
91
|
+
}], ctorParameters: () => [{ type: i13.UtilityRef, decorators: [{
|
93
92
|
type: Inject,
|
94
93
|
args: [UtilityRef]
|
95
94
|
}] }, { type: i1.SessionService }, { type: i2.PromptService }, { type: i3.FormBuilder }], propDecorators: { sort: [{
|
96
95
|
type: ViewChild,
|
97
96
|
args: [MatSort, { static: true }]
|
98
97
|
}] } });
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVMUMsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFTN0IsWUFBd0MsV0FBd0QsRUFBVSxRQUF3QixFQUN4SCxHQUFrQixFQUFVLEdBQWdCO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEgsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFOdEQsVUFBSyxHQUFHLEtBQUssQ0FBQztRQU9aLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBM0RVLGtCQUFrQixrQkFTVCxVQUFVO2tHQVRuQixrQkFBa0IsMEZBT2xCLE9BQU8sOERDMUJwQixpMENBcUJBOztBREZhLGtCQUFrQjtJQUg5QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsb0JBQW9CO0tBQy9CLENBQUM7R0FDVyxrQkFBa0IsQ0E0RDlCOzsyRkE1RFksa0JBQWtCO2tCQVA5QixTQUFTOzs7MEJBZ0JLLE1BQU07MkJBQUMsVUFBVTs0SEFGUSxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25Jbml0LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCBGb3JtIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcm1pc3Npb25zJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNVdGlsaXR5IGltcGxlbWVudHMgT25Jbml0LCBVdGlsaXR5Q29tcG9uZW50PGJvb2xlYW4sIFBlcm1pc2lvbk1hcD4ge1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgZm9ybXM6IEZvcm1bXTtcclxuICByZWFkb25seSBkaXNwbGF5Q29sdW1uczogc3RyaW5nW107XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBmb3JtOiBGb3JtO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxNb2RlbD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIHByaXZhdGUgX2RhdGE6IFBlcm1pc2lvbk1hcDtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3V0aWxpdHlSZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgYW55LCBQZXJtaXNpb25NYXAsIGFueT4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5yb2xlcyA9IF9zZXNzaW9uLnByb2ZpbGUucm9sZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBbJ3RpdGxlJ10uY29uY2F0KHRoaXMucm9sZXMubWFwKHIgPT4gci5uYW1lKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgIHRoaXMuX3BvcHVsYXRlKCh0aGlzLmZvcm1zLmZpbmQoZiA9PiByW2YubmFtZV0pIHx8IHRoaXMuZm9ybXNbMF0pLm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1DaGFuZ2UoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZShmb3JtKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gZm9ybSk7XHJcbiAgICBpZiAoIXRoaXMuX2RhdGFbZm9ybV0pIHRoaXMuX2RhdGFbZm9ybV0gPSB7fTtcclxuICAgIGNvbnN0IGRhdGEgPSBPYmplY3Qua2V5cyh0aGlzLl9kYXRhW2Zvcm1dKS5tYXAoayA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHRoaXMuX2RhdGFbZm9ybV1ba107XHJcbiAgICAgIGlmICghb2JqLnJvbGVzKVxyXG4gICAgICAgIG9iai5yb2xlcyA9IFtdO1xyXG4gICAgICBlbHNlIG9iai5yb2xlcy5mb3JFYWNoKHIgPT4gb2JqW3JdID0gdHJ1ZSk7XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZTogayB9LCBvYmopO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGRhdGEpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgfVxyXG4gIGNoYW5nZShpdGVtOiBNb2RlbCwgZTogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IHJvbGUgfSA9IGUuc291cmNlO1xyXG4gICAgaWYgKGUuY2hlY2tlZCkge1xyXG4gICAgICBpdGVtLnJvbGVzLnB1c2gocm9sZSk7XHJcbiAgICAgIGl0ZW1bcm9sZV0gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGl0ZW0ucm9sZXMucmVtb3ZlKHJvbGUpO1xyXG4gICAgICBpdGVtW3JvbGVdID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYuZXhlY3V0ZSh0aGlzLl9kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvbGVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFBlcm1pc2lvbk1hcCB7XHJcbiAgW2Zvcm06IHN0cmluZ106IHtcclxuICAgIFtuYW1lOiBzdHJpbmddOiBNb2RlbDtcclxuICB9O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJpemRvYy1zZWFyY2gtaW5wdXQgKHZhbHVlQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQpXCI+PC9iaXpkb2Mtc2VhcmNoLWlucHV0PlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm9ybU1lbnVcIj57e2Zvcm0/LnRpdGxlfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNmb3JtTWVudT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgZiBvZiBmb3Jtc1wiIChjbGljayk9XCJmb3JtQ2hhbmdlKGYubmFtZSlcIj57e2YudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiIHN0aWNreT5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1Blcm1pc3Npb24nIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4ge3tpdGVtLnRpdGxlIHx8IGl0ZW0ubmFtZX19PC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwici5uYW1lXCIgKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXRlbVtyLm5hbWVdXCIgW3ZhbHVlXT1cInIubmFtZVwiIChjaGFuZ2UpPVwiY2hhbmdlKGl0ZW0sICRldmVudClcIj48L21hdC1jaGVja2JveD4gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVUxQyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQVM3QixZQUF3QyxXQUF3RCxFQUFVLFFBQXdCLEVBQ3hILEdBQWtCLEVBQVUsR0FBZ0I7UUFEZCxnQkFBVyxHQUFYLFdBQVcsQ0FBNkM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4SCxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQU50RCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBT1osSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFN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Q0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzRFUsa0JBQWtCLGtCQVNULFVBQVU7a0dBVG5CLGtCQUFrQiwwRkFPbEIsT0FBTyw4REMxQnBCLDJ6Q0F5QkE7O0FETmEsa0JBQWtCO0lBSDlCLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxvQkFBb0I7S0FDL0IsQ0FBQztHQUNXLGtCQUFrQixDQTREOUI7OzJGQTVEWSxrQkFBa0I7a0JBUDlCLFNBQVM7OzswQkFnQkssTUFBTTsyQkFBQyxVQUFVOzRIQUZRLElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkluaXQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvbGUsIEZvcm0gfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcGVybWlzc2lvbnMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc1V0aWxpdHkgaW1wbGVtZW50cyBPbkluaXQsIFV0aWxpdHlDb21wb25lbnQ8Ym9vbGVhbiwgUGVybWlzaW9uTWFwPiB7XHJcbiAgcmVhZG9ubHkgcm9sZXM6IFJvbGVbXTtcclxuICByZWFkb25seSBmb3JtczogRm9ybVtdO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlDb2x1bW5zOiBzdHJpbmdbXTtcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPE1vZGVsPjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgcHJpdmF0ZSBfZGF0YTogUGVybWlzaW9uTWFwO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVXRpbGl0eVJlZikgcHJpdmF0ZSBfdXRpbGl0eVJlZjogVXRpbGl0eVJlZjxib29sZWFuLCBhbnksIFBlcm1pc2lvbk1hcCwgYW55PiwgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSwgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLnJvbGVzID0gX3Nlc3Npb24ucHJvZmlsZS5yb2xlcztcclxuICAgIHRoaXMuZm9ybXMgPSBfc2Vzc2lvbi5wcm9maWxlLmZvcm1zO1xyXG4gICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IFsndGl0bGUnXS5jb25jYXQodGhpcy5yb2xlcy5tYXAociA9PiByLm5hbWUpKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl91dGlsaXR5UmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gcjtcclxuICAgICAgdGhpcy5fcG9wdWxhdGUoKHRoaXMuZm9ybXMuZmluZChmID0+IHJbZi5uYW1lXSkgfHwgdGhpcy5mb3Jtc1swXSkubmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB2YWx1ZTtcclxuICB9XHJcbiAgZm9ybUNoYW5nZShmb3JtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BvcHVsYXRlKGZvcm0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9wb3B1bGF0ZShmb3JtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSBmb3JtKTtcclxuICAgIGlmICghdGhpcy5fZGF0YVtmb3JtXSkgdGhpcy5fZGF0YVtmb3JtXSA9IHt9O1xyXG4gICAgY29uc3QgZGF0YSA9IE9iamVjdC5rZXlzKHRoaXMuX2RhdGFbZm9ybV0pLm1hcChrID0+IHtcclxuICAgICAgY29uc3Qgb2JqID0gdGhpcy5fZGF0YVtmb3JtXVtrXTtcclxuICAgICAgaWYgKCFvYmoucm9sZXMpXHJcbiAgICAgICAgb2JqLnJvbGVzID0gW107XHJcbiAgICAgIGVsc2Ugb2JqLnJvbGVzLmZvckVhY2gociA9PiBvYmpbcl0gPSB0cnVlKTtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lOiBrIH0sIG9iaik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICB9XHJcbiAgY2hhbmdlKGl0ZW06IE1vZGVsLCBlOiBNYXRDaGVja2JveENoYW5nZSkge1xyXG4gICAgY29uc3QgeyB2YWx1ZTogcm9sZSB9ID0gZS5zb3VyY2U7XHJcbiAgICBpZiAoZS5jaGVja2VkKSB7XHJcbiAgICAgIGl0ZW0ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgaXRlbVtyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaXRlbS5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIGl0ZW1bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5leGVjdXRlKHRoaXMuX2RhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4gdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVybWlzaW9uTWFwIHtcclxuICBbZm9ybTogc3RyaW5nXToge1xyXG4gICAgW25hbWU6IHN0cmluZ106IE1vZGVsO1xyXG4gIH07XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICA8Yml6ZG9jLXNlYXJjaC1pbnB1dCAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj48L2JpemRvYy1zZWFyY2gtaW5wdXQ+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm9ybU1lbnVcIj57e2Zvcm0/LnRpdGxlfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XG4gIDxtYXQtbWVudSAjZm9ybU1lbnU+XG4gICAgQGZvciAoZiBvZiBmb3JtczsgdHJhY2sgZikge1xuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJmb3JtQ2hhbmdlKGYubmFtZSlcIj57e2YudGl0bGV9fTwvYnV0dG9uPlxuICAgIH1cbiAgPC9tYXQtbWVudT5cbjwvbWF0LXRvb2xiYXI+XG48dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCIgc3RpY2t5PlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1Blcm1pc3Npb24nIHwgdHJhbnNsYXRlfX08L3RoPlxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IHt7aXRlbS50aXRsZSB8fCBpdGVtLm5hbWV9fTwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuICBAZm9yIChyIG9mIHJvbGVzOyB0cmFjayByKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cInIubmFtZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3tyLnRpdGxlfX08L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4gPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtW3IubmFtZV1cIiBbdmFsdWVdPVwici5uYW1lXCIgKGNoYW5nZSk9XCJjaGFuZ2UoaXRlbSwgJGV2ZW50KVwiPjwvbWF0LWNoZWNrYm94PiA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheUNvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cbjwvdGFibGU+XG4iXX0=
|