@bizdoc/core 1.9.8 → 1.9.13
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/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +1 -1
- package/assets/themes/default.min.css +1 -1
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
- package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
- package/esm2020/lib/admin/core/ace.input.mjs +3 -3
- package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
- package/esm2020/lib/admin/core/search.input.mjs +3 -3
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
- package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
- package/esm2020/lib/admin/form/form.service.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -3
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
- package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
- package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions.component.mjs +119 -25
- package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -3
- package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
- package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
- package/esm2020/lib/app.component.mjs +6 -6
- package/esm2020/lib/bizdoc.module.mjs +4 -4
- package/esm2020/lib/browse/browse-items.component.mjs +10 -5
- package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
- package/esm2020/lib/browse/browse.pane.component.mjs +5 -5
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
- package/esm2020/lib/browse/filter/filter.component.mjs +6 -9
- package/esm2020/lib/browse/folders-menu.component.mjs +5 -5
- package/esm2020/lib/chat/chat-info.mjs +3 -3
- package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
- package/esm2020/lib/chat/chat.service.mjs +3 -3
- package/esm2020/lib/chat/contacts.component.mjs +6 -6
- package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
- package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
- package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
- package/esm2020/lib/compose/action/action.pane.dialog.mjs +3 -3
- package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
- package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +19 -17
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
- package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
- package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
- package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
- package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
- package/esm2020/lib/compose/compose.pane.component.mjs +9 -6
- package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
- package/esm2020/lib/compose/dismiss.service.mjs +3 -3
- package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/document.component.mjs +10 -12
- package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
- package/esm2020/lib/compose/document.pane.component.mjs +3 -3
- package/esm2020/lib/compose/events/events.component.mjs +3 -3
- package/esm2020/lib/compose/form-ref.mjs +6 -7
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
- package/esm2020/lib/compose/form.component.mjs +5 -5
- package/esm2020/lib/compose/new-menu.component.mjs +5 -5
- package/esm2020/lib/compose/privilage.directive.mjs +6 -6
- package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
- package/esm2020/lib/compose/state.component.mjs +3 -3
- package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
- package/esm2020/lib/compose/trace/flow.component.mjs +4 -5
- package/esm2020/lib/compose/trace/people.component.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +8 -10
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +12 -7
- package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
- package/esm2020/lib/core/account.service.mjs +8 -5
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
- package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
- package/esm2020/lib/core/configuration.mjs +1 -1
- package/esm2020/lib/core/controls/address.input.mjs +3 -3
- package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
- package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
- package/esm2020/lib/core/controls/select.input.mjs +3 -3
- package/esm2020/lib/core/controls/time-picker.mjs +3 -3
- package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
- package/esm2020/lib/core/datasource.service.mjs +3 -3
- package/esm2020/lib/core/guide/guide.component.mjs +3 -3
- package/esm2020/lib/core/guide/guide.service.mjs +3 -3
- package/esm2020/lib/core/http.interceptor.mjs +3 -3
- package/esm2020/lib/core/hub.service.mjs +3 -3
- package/esm2020/lib/core/identity/identity.component.mjs +3 -3
- package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
- package/esm2020/lib/core/info/document-info.service.mjs +3 -3
- package/esm2020/lib/core/info/location-info.component.mjs +3 -3
- package/esm2020/lib/core/info/map-info.mjs +3 -3
- package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
- package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
- package/esm2020/lib/core/layout/checkbox.mjs +3 -3
- package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
- package/esm2020/lib/core/layout/date.field.mjs +3 -3
- package/esm2020/lib/core/layout/expression.field.mjs +3 -3
- package/esm2020/lib/core/layout/html.field.mjs +3 -3
- package/esm2020/lib/core/layout/input.base.mjs +3 -3
- package/esm2020/lib/core/layout/input.field.mjs +3 -3
- package/esm2020/lib/core/layout/layout.component.mjs +3 -3
- package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
- package/esm2020/lib/core/layout/select.field.mjs +3 -3
- package/esm2020/lib/core/layout/switch.field.mjs +3 -3
- package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
- package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
- package/esm2020/lib/core/lottie-animation.mjs +3 -3
- package/esm2020/lib/core/mailbox.service.mjs +3 -3
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/none.component.mjs +3 -3
- package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/translate.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
- package/esm2020/lib/core/popup/popup.component.mjs +3 -3
- package/esm2020/lib/core/popup/popup.service.mjs +3 -3
- package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
- package/esm2020/lib/core/prompt.service.mjs +3 -3
- package/esm2020/lib/core/router.mjs +6 -6
- package/esm2020/lib/core/session.service.mjs +3 -3
- package/esm2020/lib/core/slots/router.directive.mjs +3 -3
- package/esm2020/lib/core/slots/router.service.mjs +3 -3
- package/esm2020/lib/core/slots/slots.component.mjs +17 -19
- package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
- package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
- package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
- package/esm2020/lib/core/tagging/users.component.mjs +3 -3
- package/esm2020/lib/core/translate.service.mjs +15 -15
- package/esm2020/lib/core/window-title.service.mjs +3 -3
- package/esm2020/lib/cube/accum/accum.component.mjs +15 -9
- package/esm2020/lib/cube/chart/chart.component.mjs +10 -5
- package/esm2020/lib/cube/cube-info.service.mjs +3 -3
- package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
- package/esm2020/lib/cube/cube-view.component.mjs +11 -8
- package/esm2020/lib/cube/cube.service.mjs +3 -3
- package/esm2020/lib/cube/declarations.mjs +1 -1
- package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
- package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
- package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/cube/grid/grid.component.mjs +21 -9
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +115 -109
- package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/table.component.mjs +7 -7
- package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
- package/esm2020/lib/cube/pivot/pivot.component.mjs +6 -6
- package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
- package/esm2020/lib/cube/view-base.mjs +3 -3
- package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
- package/esm2020/lib/cube/view.pane.component.mjs +4 -4
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +5 -5
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
- package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
- package/esm2020/lib/desktop.module.mjs +4 -4
- package/esm2020/lib/home/about/about.dialog.mjs +3 -3
- package/esm2020/lib/home/home-base.component.mjs +5 -4
- package/esm2020/lib/home/home.desktop.component.mjs +5 -5
- package/esm2020/lib/home/home.mobile.component.mjs +5 -5
- package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
- package/esm2020/lib/home/options/options.component.mjs +3 -3
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
- package/esm2020/lib/home/search.service.mjs +3 -3
- package/esm2020/lib/home/sign/sign.component.mjs +3 -3
- package/esm2020/lib/home/tools.component.mjs +3 -3
- package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
- package/esm2020/lib/mobile.module.mjs +4 -4
- package/esm2020/lib/modules/chart.module.mjs +4 -4
- package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
- package/esm2020/lib/modules/diagram.module.mjs +4 -4
- package/esm2020/lib/modules/grid.module.mjs +4 -4
- package/esm2020/lib/modules/material.module.mjs +4 -4
- package/esm2020/lib/modules/pivot.module.mjs +4 -4
- package/esm2020/lib/modules/schedule.module.mjs +4 -4
- package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
- package/esm2020/lib/notifications/filter.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.service.mjs +3 -3
- package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
- package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
- package/esm2020/lib/options/options.component.mjs +3 -3
- package/esm2020/lib/options/options.service.mjs +3 -3
- package/esm2020/lib/reports/arguments-component.mjs +3 -3
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
- package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
- package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
- package/esm2020/lib/reports/report.pane.component.mjs +3 -3
- package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
- package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
- package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
- package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
- package/esm2020/lib/routes.desktop.mjs +8 -8
- package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
- package/esm2020/lib/shared.module.mjs +4 -4
- package/esm2020/lib/system.module.mjs +4 -4
- package/esm2020/lib/views/cube/chart.component.mjs +3 -3
- package/esm2020/lib/views/cube/cube-base.mjs +3 -3
- package/esm2020/lib/views/cube/explore.component.mjs +3 -3
- package/esm2020/lib/views/cube/matrix.component.mjs +8 -8
- package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
- package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
- package/esm2020/lib/views/cube/sum.component.mjs +3 -3
- package/esm2020/lib/views/cube/view.component.mjs +3 -3
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
- package/esm2020/lib/views/view-item.component.mjs +3 -3
- package/esm2020/lib/views/views.component.mjs +3 -3
- package/esm2020/lib/views/views.mobile.component.mjs +3 -3
- package/esm2020/lib/views/views.pane.component.mjs +3 -3
- package/fesm2015/bizdoc-core.mjs +1221 -1084
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +1216 -1083
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/positions/positions.component.d.ts +11 -3
- package/lib/browse/browse-items.component.d.ts +1 -1
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +3 -1
- package/lib/compose/compose.pane.component.d.ts +1 -0
- package/lib/compose/document.component.d.ts +2 -4
- package/lib/compose/form-ref.d.ts +1 -3
- package/lib/compose/version-compare/version-compare.component.d.ts +2 -4
- package/lib/core/configuration.d.ts +3 -0
- package/lib/core/models.d.ts +2 -2
- package/lib/core/slots/slots.component.d.ts +1 -2
- package/lib/cube/accum/accum.component.d.ts +1 -1
- package/lib/cube/chart/chart.component.d.ts +1 -1
- package/lib/cube/cube-view.component.d.ts +3 -1
- package/lib/cube/declarations.d.ts +1 -0
- package/lib/cube/grid/grid.component.d.ts +8 -4
- package/lib/cube/grid/spreadsheet.component.d.ts +10 -4
- package/lib/cube/matrix/table.component.d.ts +1 -1
- package/lib/cube/pivot/pivot.component.d.ts +1 -1
- package/lib/dashboard/cube/accum-cube.widget.d.ts +2 -2
- package/lib/dashboard/cube/cube-analysis.base.d.ts +0 -4
- package/lib/home/home-base.component.d.ts +1 -0
- package/lib/views/cube/matrix.component.d.ts +2 -2
- package/package.json +9 -9
@@ -2,6 +2,7 @@ import { EventEmitter, Component, Output, HostBinding, Input } from "@angular/co
|
|
2
2
|
import { forkJoin } from "rxjs";
|
3
3
|
import { tap } from "rxjs/operators";
|
4
4
|
import { Grid, ExcelExport, Aggregate, Freeze, Selection, Resize } from '@syncfusion/ej2-angular-grids';
|
5
|
+
import { isArray } from "../../core/functions";
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
import * as i1 from "../../core/session.service";
|
7
8
|
import * as i2 from "../../core/prompt.service";
|
@@ -24,9 +25,20 @@ export class CubeGridComponent {
|
|
24
25
|
this._rows = [];
|
25
26
|
this._columns = [];
|
26
27
|
}
|
28
|
+
set xAxis(val) {
|
29
|
+
this._xAxis = isArray(val) ? val : [val];
|
30
|
+
}
|
31
|
+
set series(val) {
|
32
|
+
if (val)
|
33
|
+
this._series = isArray(val) ? val : [val];
|
34
|
+
}
|
35
|
+
set indices(val) {
|
36
|
+
if (val)
|
37
|
+
this._indices = isArray(val) ? val : [val];
|
38
|
+
}
|
27
39
|
ngOnInit() {
|
28
|
-
|
29
|
-
const x =
|
40
|
+
this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) : this._session.profile.cubes[0];
|
41
|
+
const x = this._cube.axes.find(a => a.name === this._xAxis[0]), y = this._cube.axes.find(a => a.name === this._series[0]);
|
30
42
|
const promises = [];
|
31
43
|
// aquire columns source
|
32
44
|
let observe = this._ds.all(x.dataType).
|
@@ -76,7 +88,7 @@ export class CubeGridComponent {
|
|
76
88
|
}
|
77
89
|
execute() {
|
78
90
|
this.loadingChange.emit(true);
|
79
|
-
this._service.series(this.
|
91
|
+
this._service.series(this._cube.name, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
|
80
92
|
subscribe(series => {
|
81
93
|
this._prepare.then(() => {
|
82
94
|
const rows = [];
|
@@ -147,9 +159,9 @@ export class CubeGridComponent {
|
|
147
159
|
if (data[`_${column}`] === 0)
|
148
160
|
return;
|
149
161
|
const axes = {};
|
150
|
-
axes[this.
|
162
|
+
axes[this._xAxis[0]] = column;
|
151
163
|
if (type !== 'Index')
|
152
|
-
axes[this.
|
164
|
+
axes[this._series[0]] = row;
|
153
165
|
this.explore.emit({ axes, index: type === 'Index' ? row : null });
|
154
166
|
}
|
155
167
|
customAggregate(_, column) {
|
@@ -170,9 +182,9 @@ export class CubeGridComponent {
|
|
170
182
|
}
|
171
183
|
}
|
172
184
|
CubeGridComponent.nextId = 0;
|
173
|
-
CubeGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
174
|
-
CubeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
185
|
+
CubeGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeGridComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.DatasourceService }, { token: i4.CubeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
186
|
+
CubeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeGridComponent, selector: "bizdoc-cube-grid", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", currencyCode: "currencyCode", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".nowrap{white-space:nowrap;word-wrap:normal}::ng-deep .e-rowcell:not(.e-headertext){cursor:pointer}::ng-deep .e-grid td.e-cellselectionbackground{background-color:none}\n"] });
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeGridComponent, decorators: [{
|
176
188
|
type: Component,
|
177
189
|
args: [{ selector: 'bizdoc-cube-grid', template: '', host: {
|
178
190
|
class: 'cube-view'
|
@@ -204,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
204
216
|
}], id: [{
|
205
217
|
type: HostBinding
|
206
218
|
}] } });
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLFdBQVcsRUFBeUIsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUVySixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQXNCLElBQUksRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtELFNBQVMsRUFBdUMsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQVF2TyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQVUvRCxNQUFNLE9BQU8saUJBQWlCO0lBa0M1QixZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFdBQXVCO1FBSnZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXBCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELE9BQUUsR0FBRyxhQUFhLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFOUQsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUNkLGtCQUFhLEdB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O3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNFLE9BQU87c0JBQWYsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUVRLEVBQUU7c0JBQWhCLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgT3V0cHV0LCBJbmplY3QsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBHcm91cFNldHRpbmdzTW9kZWwsIEdyaWQsIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsLCBFeGNlbEV4cG9ydCwgQWdncmVnYXRlLCBGcmVlemUsIFNlbGVjdGlvblNldHRpbmdzTW9kZWwsIENlbGxTZWxlY3RpbmdFdmVudEFyZ3MsIFNlbGVjdGlvbiwgUXVlcnlDZWxsSW5mb0V2ZW50QXJncywgQ29sdW1uTW9kZWwsIFJlc2l6ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSBcIi4uL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuXHJcbkdyaWQuSW5qZWN0KFNlbGVjdGlvbiwgQWdncmVnYXRlLCBGcmVlemUsIEV4Y2VsRXhwb3J0LCBSZXNpemUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1ncmlkJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ2dyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDdWJlVmlld2VyQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgeEF4aXM6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpXHJcbiAgeUF4aXM/OiBZQXhpcztcclxuICBASW5wdXQoKVxyXG4gIHNlcmllcz86IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBIb3N0QmluZGluZygpIGlkID0gYGN1YmUtZ3JpZC0ke0N1YmVHcmlkQ29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgZ3JpZDogR3JpZDtcclxuICBkYXRhU291cmNlOiBhbnlbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IGdyb3VwU2V0dGluZ3M6IEdyb3VwU2V0dGluZ3NNb2RlbCA9IHtcclxuICB9O1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvblNldHRpbmdzOiBTZWxlY3Rpb25TZXR0aW5nc01vZGVsID0geyBjZWxsU2VsZWN0aW9uTW9kZTogJ0JveCcsIHR5cGU6ICdTaW5nbGUnLCBtb2RlOiAnQ2VsbCcgfTtcclxuICBhZ2dyZWdhdGVzOiB7IGNvbHVtbnM6IEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsW10gfVtdO1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcHJpdmF0ZSBfcm93czogeyBrZXk6IGFueTsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBwcml2YXRlIF9jb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpO1xyXG4gICAgY29uc3QgeCA9IGN1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB0aGlzLnhBeGlzWzBdKSxcclxuICAgICAgeSA9IGN1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB0aGlzLnNlcmllc1swXSk7XHJcbiAgICBjb25zdCBwcm9taXNlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIC8vIGFxdWlyZSBjb2x1bW5zIHNvdXJjZVxyXG4gICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeC5kYXRhVHlwZSkuXHJcbiAgICAgIHBpcGUodGFwKGMgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSBjO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGAke3RoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nfSR7dGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c31gO1xyXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IFt7XHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiAnJywgZmllbGQ6ICd0aXRsZScsXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbF07XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKGMgPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgaGVhZGVyVGV4dDogYy52YWx1ZSxcclxuICAgICAgICAgIHdpZHRoOiAxMjAsXHJcbiAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICB0ZXh0QWxpZ246ICdSaWdodCdcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICAgKSk7XHJcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVzID0gW3tcclxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuX2NvbHVtbnMubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgIGZpZWxkOiBgXyR7Yy5rZXl9YCxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdDdXN0b20nLFxyXG4gICAgICAgICAgICAgIC8vICBmb290ZXJUZW1wbGF0ZTogYFxcJHtpZihDdXN0b20uaW5kZXhPZignLScpPi0xKX1cclxuICAgICAgICAgICAgICAvLzxzcGFuIGNsYXNzPVwibWF0LXdhcm5cIj5cXCR7Q3VzdG9tfTwvc3Bhbj4gXFwke2Vsc2V9XHJcbiAgICAgICAgICAgICAgLy9cXCR7Q3VzdG9tfSBcXCR7L2lmfWAsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIGN1c3RvbUFnZ3JlZ2F0ZTogdGhpcy5jdXN0b21BZ2dyZWdhdGUuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9IGFzIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XTtcclxuICAgICAgfSkpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIGFxdWlyZSByb3dzIHNvdXJjZVxyXG4gICAgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh5LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAociA9PiB0aGlzLl9yb3dzID0gcikpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIHByZXBhcmVcclxuICAgIHRoaXMuX3ByZXBhcmUgPVxyXG4gICAgICBmb3JrSm9pbihwcm9taXNlcykudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10pXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10pXHJcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLmN1YmUsIHRoaXMueEF4aXMsIHsgc2VyaWVzOiB0aGlzLnNlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzLCBpbmRpY2VzOiB0aGlzLmluZGljZXMgfSkuXHJcbiAgICAgIHN1YnNjcmliZShzZXJpZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByb3dzID0gW107XHJcbiAgICAgICAgICBzZXJpZXMuZmlsdGVyKHMgPT4gcy5pbmRleCkuZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogcy50aXRsZSwgdHlwZTogJ0luZGV4Jywga2V5OiBzLmluZGV4IH0gYXMgTW9kZWw7XHJcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZShyb3csIHMucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuX3Jvd3MuZm9yRWFjaChyID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogci52YWx1ZSwga2V5OiByLmtleSB9IGFzIE1vZGVsLCBzZXJpZSA9IHNlcmllcy5maW5kKHMgPT4gcy5uYW1lID09PSByLmtleSk7XHJcbiAgICAgICAgICAgIHNlcmllICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplKHJvdywgc2VyaWUucG9pbnRzKTtcclxuICAgICAgICAgICAgcm93cy5wdXNoKHJvdyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJvd3M7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vcm1hbGl6ZShyb3c6IE1vZGVsLCBwb2ludHM6IGFueVtdKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChwID0+IHJvd1tgXyR7cC54fWBdID0gcC55KTtcclxuICAgIHRoaXMuX2NvbHVtbnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgaWYgKHJvd1tgXyR7Yy5rZXl9YF0gPT09IHVuZGVmaW5lZCkgcm93W2BfJHtjLmtleX1gXSA9IDA7XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmRlc3Ryb3koKTtcclxuICAgIHRoaXMuZ3JpZCA9IG5ldyBHcmlkKHtcclxuICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGVuYWJsZUhvdmVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dFeGNlbEV4cG9ydDogdHJ1ZSxcclxuICAgICAgc2VsZWN0aW9uU2V0dGluZ3M6IHRoaXMuc2VsZWN0aW9uU2V0dGluZ3MsXHJcbiAgICAgIGFsbG93U29ydGluZzogZmFsc2UsXHJcbiAgICAgIGZyb3plbkNvbHVtbnM6IDEsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICAvL2hlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGNlbGxTZWxlY3Rpbmc6IHRoaXMuY2VsbFNlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBhbGxvd1BhZ2luZzogZmFsc2UsXHJcbiAgICAgIHF1ZXJ5Q2VsbEluZm86IHRoaXMucXVlcnlDZWxsSW5mbyxcclxuICAgICAgZnJvemVuUm93czogdGhpcy5pbmRpY2VzID8gdGhpcy5pbmRpY2VzLmxlbmd0aCA6IDAsXHJcbiAgICAgIGFnZ3JlZ2F0ZXM6IHRoaXMuYWdncmVnYXRlcyxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgcXVlcnlDZWxsSW5mbyhldnQ6IFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MpIHtcclxuICAgIGlmIChldnQuY29sdW1uLmZpZWxkID09PSAndGl0bGUnKVxyXG4gICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCdlLWhlYWRlcnRleHQnKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB2YWwgPSBldnQuZGF0YVtldnQuY29sdW1uLmZpZWxkXTtcclxuICAgICAgaWYgKHZhbCA8IDApXHJcbiAgICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnbmVnYXRpdmUtZmlndXJlJyk7XHJcbiAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ25vd3JhcCcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjZWxsU2VsZWN0aW5nKGV2dDogQ2VsbFNlbGVjdGluZ0V2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBjZWxsSW5kZXg6IHsgY2VsbEluZGV4IH0gfSA9IGV2dCwgeyBrZXk6IHJvdywgdHlwZSB9ID0gZGF0YSBhcyBNb2RlbDtcclxuICAgIGV2dC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgaWYgKGNlbGxJbmRleCA9PT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5fY29sdW1uc1tjZWxsSW5kZXggLSAxXS5rZXk7XHJcbiAgICBpZiAoZGF0YVtgXyR7Y29sdW1ufWBdID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBheGVzOiB7fSA9IHt9O1xyXG4gICAgYXhlc1t0aGlzLnhBeGlzWzBdXSA9IGNvbHVtbjtcclxuICAgIGlmICh0eXBlICE9PSAnSW5kZXgnKSBheGVzW3RoaXMuc2VyaWVzWzBdXSA9IHJvdztcclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXg6IHR5cGUgPT09ICdJbmRleCcgPyByb3cgOiBudWxsIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgY3VzdG9tQWdncmVnYXRlKF8sIGNvbHVtbjogQWdncmVnYXRlQ29sdW1uTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2Uuc3VtKHIgPT5cclxuICAgICAgKHJbY29sdW1uLmZpZWxkXSB8fCAwKSAqIChyLnR5cGUgPT09ICdJbmRleCcgPyAxIDogLTEpKTtcclxuICB9XHJcbiAgcmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ3JpZCkge1xyXG4gICAgICB0aGlzLmdyaWQud2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBvcnRUb0V4Y2VsKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ3JpZC5leGNlbEV4cG9ydCh7XHJcbiAgICAgIGZpbGVOYW1lOiBgJHt0aXRsZX0ueGxzeGBcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JpZCAmJiB0aGlzLmdyaWQuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU6ICdJbmRleCcgfCBudWxsO1xyXG4gIGtleTogYW55O1xyXG59XHJcbiJdfQ==
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUF5QixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsSUFBSSxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBa0QsU0FBUyxFQUF1QyxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU92TyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQVUvRCxNQUFNLE9BQU8saUJBQWlCO0lBNEM1QixZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFdBQXVCO1FBSnZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXhCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELE9BQUUsR0FBRyxhQUFhLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxFQUFFLENB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgR3JvdXBTZXR0aW5nc01vZGVsLCBHcmlkLCBBZ2dyZWdhdGVDb2x1bW5Nb2RlbCwgRXhjZWxFeHBvcnQsIEFnZ3JlZ2F0ZSwgRnJlZXplLCBTZWxlY3Rpb25TZXR0aW5nc01vZGVsLCBDZWxsU2VsZWN0aW5nRXZlbnRBcmdzLCBTZWxlY3Rpb24sIFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MsIENvbHVtbk1vZGVsLCBSZXNpemUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkcyc7XHJcbmltcG9ydCB7IEF4aXNDbGlja0V2ZW50LCBDdWJlVmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlLCBZQXhpcyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gXCIuLi9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkdyaWQuSW5qZWN0KFNlbGVjdGlvbiwgQWdncmVnYXRlLCBGcmVlemUsIEV4Y2VsRXhwb3J0LCBSZXNpemUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1ncmlkJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ2dyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDdWJlVmlld2VyQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHhBeGlzKHZhbDogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3hBeGlzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgeUF4aXM/OiBZQXhpcztcclxuICBASW5wdXQoKVxyXG4gIHNldCBzZXJpZXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkgdGhpcy5fc2VyaWVzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGluZGljZXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkgdGhpcy5faW5kaWNlcyA9IGlzQXJyYXkodmFsKSA/IHZhbCA6IFt2YWxdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBjdWJlLWdyaWQtJHtDdWJlR3JpZENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIGdyaWQ6IEdyaWQ7XHJcbiAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcclxuICByZWFkb25seSBncm91cFNldHRpbmdzOiBHcm91cFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgfTtcclxuICByZWFkb25seSBzZWxlY3Rpb25TZXR0aW5nczogU2VsZWN0aW9uU2V0dGluZ3NNb2RlbCA9IHsgY2VsbFNlbGVjdGlvbk1vZGU6ICdCb3gnLCB0eXBlOiAnU2luZ2xlJywgbW9kZTogJ0NlbGwnIH07XHJcbiAgYWdncmVnYXRlczogeyBjb2x1bW5zOiBBZ2dyZWdhdGVDb2x1bW5Nb2RlbFtdIH1bXTtcclxuICBjb2x1bW5zOiBDb2x1bW5Nb2RlbFtdO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9pbmRpY2VzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfcm93czogeyBrZXk6IGFueTsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBwcml2YXRlIF9jb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICBwcml2YXRlIF9wcmVwYXJlOiBQcm9taXNlPGFueT47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1YmUgPSB0aGlzLmN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdGhpcy5jdWJlKSA6IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIGNvbnN0IHggPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy5feEF4aXNbMF0pLFxyXG4gICAgICB5ID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHRoaXMuX3Nlcmllc1swXSk7XHJcbiAgICBjb25zdCBwcm9taXNlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIC8vIGFxdWlyZSBjb2x1bW5zIHNvdXJjZVxyXG4gICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeC5kYXRhVHlwZSkuXHJcbiAgICAgIHBpcGUodGFwKGMgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSBjO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGAke3RoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nfSR7dGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c31gO1xyXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IFt7XHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiAnJywgZmllbGQ6ICd0aXRsZScsXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbF07XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKGMgPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgaGVhZGVyVGV4dDogYy52YWx1ZSxcclxuICAgICAgICAgIHdpZHRoOiAxMjAsXHJcbiAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICB0ZXh0QWxpZ246ICdSaWdodCdcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICAgKSk7XHJcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVzID0gW3tcclxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuX2NvbHVtbnMubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgIGZpZWxkOiBgXyR7Yy5rZXl9YCxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdDdXN0b20nLFxyXG4gICAgICAgICAgICAgIC8vICBmb290ZXJUZW1wbGF0ZTogYFxcJHtpZihDdXN0b20uaW5kZXhPZignLScpPi0xKX1cclxuICAgICAgICAgICAgICAvLzxzcGFuIGNsYXNzPVwibWF0LXdhcm5cIj5cXCR7Q3VzdG9tfTwvc3Bhbj4gXFwke2Vsc2V9XHJcbiAgICAgICAgICAgICAgLy9cXCR7Q3VzdG9tfSBcXCR7L2lmfWAsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIGN1c3RvbUFnZ3JlZ2F0ZTogdGhpcy5jdXN0b21BZ2dyZWdhdGUuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9IGFzIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XTtcclxuICAgICAgfSkpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIGFxdWlyZSByb3dzIHNvdXJjZVxyXG4gICAgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh5LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAociA9PiB0aGlzLl9yb3dzID0gcikpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIHByZXBhcmVcclxuICAgIHRoaXMuX3ByZXBhcmUgPVxyXG4gICAgICBmb3JrSm9pbihwcm9taXNlcykudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10pXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10pXHJcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5fY3ViZS5uYW1lLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzLCBpbmRpY2VzOiB0aGlzLl9pbmRpY2VzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoc2VyaWVzID0+IHtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgcm93cyA9IFtdO1xyXG4gICAgICAgICAgc2VyaWVzLmZpbHRlcihzID0+IHMuaW5kZXgpLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdGl0bGU6IHMudGl0bGUsIHR5cGU6ICdJbmRleCcsIGtleTogcy5pbmRleCB9IGFzIE1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemUocm93LCBzLnBvaW50cyk7XHJcbiAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLl9yb3dzLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdGl0bGU6IHIudmFsdWUsIGtleTogci5rZXkgfSBhcyBNb2RlbCwgc2VyaWUgPSBzZXJpZXMuZmluZChzID0+IHMubmFtZSA9PT0gci5rZXkpO1xyXG4gICAgICAgICAgICBzZXJpZSAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZShyb3csIHNlcmllLnBvaW50cyk7XHJcbiAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSByb3dzO1xyXG4gICAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAoZTogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDAxID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocm93OiBNb2RlbCwgcG9pbnRzOiBhbnlbXSkge1xyXG4gICAgcG9pbnRzLmZvckVhY2gocCA9PiByb3dbYF8ke3AueH1gXSA9IHAueSk7XHJcbiAgICB0aGlzLl9jb2x1bW5zLmZvckVhY2goYyA9PiB7XHJcbiAgICAgIGlmIChyb3dbYF8ke2Mua2V5fWBdID09PSB1bmRlZmluZWQpIHJvd1tgXyR7Yy5rZXl9YF0gPSAwO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5ncmlkICYmIHRoaXMuZ3JpZC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLmdyaWQgPSBuZXcgR3JpZCh7XHJcbiAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YVNvdXJjZSxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICBlbmFibGVIb3ZlcjogZmFsc2UsXHJcbiAgICAgIGFsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIHNlbGVjdGlvblNldHRpbmdzOiB0aGlzLnNlbGVjdGlvblNldHRpbmdzLFxyXG4gICAgICBhbGxvd1NvcnRpbmc6IGZhbHNlLFxyXG4gICAgICBmcm96ZW5Db2x1bW5zOiAxLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgLy9oZWlnaHQ6IHRoaXMuaGVpZ2h0LFxyXG4gICAgICBjZWxsU2VsZWN0aW5nOiB0aGlzLmNlbGxTZWxlY3RpbmcuYmluZCh0aGlzKSxcclxuICAgICAgYWxsb3dQYWdpbmc6IGZhbHNlLFxyXG4gICAgICBxdWVyeUNlbGxJbmZvOiB0aGlzLnF1ZXJ5Q2VsbEluZm8sXHJcbiAgICAgIGZyb3plblJvd3M6IHRoaXMuaW5kaWNlcyA/IHRoaXMuaW5kaWNlcy5sZW5ndGggOiAwLFxyXG4gICAgICBhZ2dyZWdhdGVzOiB0aGlzLmFnZ3JlZ2F0ZXMsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGVcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHF1ZXJ5Q2VsbEluZm8oZXZ0OiBRdWVyeUNlbGxJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmNvbHVtbi5maWVsZCA9PT0gJ3RpdGxlJylcclxuICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnZS1oZWFkZXJ0ZXh0Jyk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgdmFsID0gZXZ0LmRhdGFbZXZ0LmNvbHVtbi5maWVsZF07XHJcbiAgICAgIGlmICh2YWwgPCAwKVxyXG4gICAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ25lZ2F0aXZlLWZpZ3VyZScpO1xyXG4gICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCdub3dyYXAnKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2VsbFNlbGVjdGluZyhldnQ6IENlbGxTZWxlY3RpbmdFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY2VsbEluZGV4OiB7IGNlbGxJbmRleCB9IH0gPSBldnQsIHsga2V5OiByb3csIHR5cGUgfSA9IGRhdGEgYXMgTW9kZWw7XHJcbiAgICBldnQuY2FuY2VsID0gdHJ1ZTtcclxuICAgIGlmIChjZWxsSW5kZXggPT09IDApXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuX2NvbHVtbnNbY2VsbEluZGV4IC0gMV0ua2V5O1xyXG4gICAgaWYgKGRhdGFbYF8ke2NvbHVtbn1gXSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3QgYXhlczoge30gPSB7fTtcclxuICAgIGF4ZXNbdGhpcy5feEF4aXNbMF1dID0gY29sdW1uO1xyXG4gICAgaWYgKHR5cGUgIT09ICdJbmRleCcpIGF4ZXNbdGhpcy5fc2VyaWVzWzBdXSA9IHJvdztcclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXg6IHR5cGUgPT09ICdJbmRleCcgPyByb3cgOiBudWxsIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgY3VzdG9tQWdncmVnYXRlKF8sIGNvbHVtbjogQWdncmVnYXRlQ29sdW1uTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2Uuc3VtKHIgPT5cclxuICAgICAgKHJbY29sdW1uLmZpZWxkXSB8fCAwKSAqIChyLnR5cGUgPT09ICdJbmRleCcgPyAxIDogLTEpKTtcclxuICB9XHJcbiAgcmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ3JpZCkge1xyXG4gICAgICB0aGlzLmdyaWQud2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBvcnRUb0V4Y2VsKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ3JpZC5leGNlbEV4cG9ydCh7XHJcbiAgICAgIGZpbGVOYW1lOiBgJHt0aXRsZX0ueGxzeGBcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JpZCAmJiB0aGlzLmdyaWQuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU6ICdJbmRleCcgfCBudWxsO1xyXG4gIGtleTogYW55O1xyXG59XHJcbiJdfQ==
|