@bizdoc/core 2.1.2 → 2.1.4
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/bizdoc-core.d.ts.map +1 -0
- package/esm2022/lib/admin/architecture/designer.component.mjs +1 -1
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +2 -3
- package/esm2022/lib/admin/core/color-picker.input.mjs +2 -3
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +42 -38
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +30 -28
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +13 -11
- package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -7
- package/esm2022/lib/admin/form/designer/section.component.mjs +5 -7
- package/esm2022/lib/admin/form/designer/settings.component.mjs +5 -7
- package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -2
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +4 -4
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -4
- package/esm2022/lib/admin/patterns/patterns.component.mjs +7 -5
- package/esm2022/lib/admin/permissions/permissions.component.mjs +7 -5
- package/esm2022/lib/admin/positions/positions.component.mjs +57 -54
- package/esm2022/lib/browse/browse-items.component.mjs +57 -43
- package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +25 -24
- package/esm2022/lib/chat/chat-info.mjs +2 -2
- package/esm2022/lib/chat/contacts.component.mjs +7 -5
- package/esm2022/lib/chat/conversation.component.mjs +27 -22
- package/esm2022/lib/compose/action/action-picker.component.mjs +9 -7
- package/esm2022/lib/compose/action/action.base.mjs +4 -3
- package/esm2022/lib/compose/action/moveto-action.component.mjs +1 -1
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +2 -2
- package/esm2022/lib/compose/comments/comment.component.mjs +9 -8
- package/esm2022/lib/compose/comments/comments.component.mjs +15 -13
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +10 -8
- package/esm2022/lib/compose/compose-resolve.service.mjs +10 -5
- package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
- package/esm2022/lib/compose/copy/copy.dialog.mjs +2 -3
- package/esm2022/lib/compose/document.mobile.component.mjs +3 -2
- package/esm2022/lib/compose/document.pane.component.mjs +3 -2
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +10 -6
- package/esm2022/lib/compose/tag/tags.component.mjs +3 -5
- package/esm2022/lib/compose/trace/trace.component.mjs +4 -3
- package/esm2022/lib/core/avatar/avatar.component.mjs +2 -2
- package/esm2022/lib/core/component-factory-resolver.mjs +12 -4
- package/esm2022/lib/core/guide/guide.component.mjs +17 -18
- package/esm2022/lib/core/http.interceptor.mjs +9 -6
- package/esm2022/lib/core/identity/identity.component.mjs +2 -2
- package/esm2022/lib/core/info/location-info.component.mjs +2 -3
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +9 -8
- package/esm2022/lib/core/inputs/combination-picker.mjs +1 -1
- package/esm2022/lib/core/inputs/combination-pool.mjs +6 -6
- package/esm2022/lib/core/inputs/file.input.mjs +28 -28
- package/esm2022/lib/core/mailbox.service.mjs +69 -63
- package/esm2022/lib/core/slots/router.service.mjs +4 -2
- package/esm2022/lib/core/slots/slots.component.mjs +13 -13
- package/esm2022/lib/core/tagging/edit-input.component.mjs +9 -12
- package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -6
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +2 -2
- package/esm2022/lib/core/translate.service.mjs +3 -3
- package/esm2022/lib/cube/accum/accum.component.mjs +10 -8
- package/esm2022/lib/cube/chart/chart.component.mjs +10 -8
- package/esm2022/lib/cube/cube.service.mjs +81 -73
- package/esm2022/lib/cube/explore/explore-items.component.mjs +38 -34
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +13 -15
- package/esm2022/lib/cube/grid/grid.component.mjs +24 -23
- package/esm2022/lib/cube/grid/spreadsheet.component.mjs +25 -20
- package/esm2022/lib/cube/matrix/matrix.base.mjs +6 -6
- package/esm2022/lib/cube/matrix/popup.component.mjs +7 -4
- package/esm2022/lib/cube/matrix/table.component.mjs +24 -20
- package/esm2022/lib/cube/parallel/parallel.component.mjs +12 -10
- package/esm2022/lib/cube/pivot/pivot.component.mjs +1 -1
- package/esm2022/lib/cube/sum/sum.component.mjs +15 -16
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -4
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +10 -8
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +9 -7
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -2
- package/esm2022/lib/designer.module.mjs +9 -3
- package/esm2022/lib/desktop.module.mjs +4 -4
- package/esm2022/lib/home/home.desktop.component.mjs +16 -14
- package/esm2022/lib/home/home.mobile.component.mjs +2 -2
- package/esm2022/lib/home/notifications/notifications.component.mjs +2 -2
- package/esm2022/lib/home/tools.component.mjs +2 -2
- package/esm2022/lib/impersonate/impersonate.component.mjs +10 -9
- package/esm2022/lib/mobile.module.mjs +4 -4
- package/esm2022/lib/notifications/notifications-table.component.mjs +2 -2
- package/esm2022/lib/notifications/notifications.component-base.mjs +2 -2
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +2 -2
- package/esm2022/lib/notifications/types/liked.notification.mjs +3 -2
- package/esm2022/lib/notifications/types/notification-base.mjs +2 -2
- package/esm2022/lib/options/options.component.mjs +5 -8
- package/esm2022/lib/options/options.service.mjs +7 -5
- package/esm2022/lib/reports/cube/usage.component.mjs +3 -2
- package/esm2022/lib/routes.desktop.mjs +3 -3
- package/esm2022/lib/routes.mobile.mjs +17 -9
- package/esm2022/lib/scheduler/schedule.component.mjs +18 -17
- package/esm2022/lib/search/search.service.mjs +2 -2
- package/esm2022/lib/system.module.mjs +2 -6
- package/esm2022/lib/views/cube/cube-base.mjs +3 -3
- package/esm2022/lib/views/cube/explore.component.mjs +13 -11
- package/esm2022/lib/views/timeline/timeline.component.exp.mjs +20 -8
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/bizdoc-core.mjs +951 -821
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
- package/lib/admin/admin-menu.component.d.ts.map +1 -0
- package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +1 -0
- package/lib/admin/architecture/declarations.d.ts.map +1 -0
- package/lib/admin/architecture/designer-element.component.d.ts.map +1 -0
- package/lib/admin/architecture/designer-privileges.component.d.ts.map +1 -0
- package/lib/admin/architecture/designer.base.d.ts.map +1 -0
- package/lib/admin/architecture/designer.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/action.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/attribute.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/box-form.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/control.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/document-state-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/documents-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/explore-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/folder.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +1 -0
- package/lib/admin/architecture/elements/form.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/guide.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/node.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/performance-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/policy.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/role.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/rule.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/state.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/sum-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/type.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/usage-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/utility.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/icon-picker.component.d.ts.map +1 -0
- package/lib/admin/core/ace.input.d.ts.map +1 -0
- package/lib/admin/core/color-picker.input.d.ts.map +1 -0
- package/lib/admin/core/localized-string.component.d.ts.map +1 -0
- package/lib/admin/core/search.input.d.ts.map +1 -0
- package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
- package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
- package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
- package/lib/admin/document-trace/timeline.d.ts.map +1 -0
- package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
- package/lib/admin/form/designer/box-designer.component.d.ts.map +1 -0
- package/lib/admin/form/designer/declarations.d.ts.map +1 -0
- package/lib/admin/form/designer/properties.component.d.ts.map +1 -0
- package/lib/admin/form/designer/section.component.d.ts.map +1 -0
- package/lib/admin/form/designer/settings.component.d.ts.map +1 -0
- package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
- package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
- package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
- package/lib/admin/indices/manage-cube-index.component.d.ts +1 -1
- package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
- package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
- package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
- package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
- package/lib/admin/positions/positions.component.d.ts +1 -3
- package/lib/admin/positions/positions.component.d.ts.map +1 -0
- package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
- package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
- package/lib/admin/system.service.d.ts.map +1 -0
- package/lib/admin/utility-ref.d.ts.map +1 -0
- package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
- package/lib/admin/utility.pane.component.d.ts.map +1 -0
- package/lib/app.component.d.ts.map +1 -0
- package/lib/bizdoc.module.d.ts.map +1 -0
- package/lib/browse/browse-items.component.d.ts +1 -1
- package/lib/browse/browse-items.component.d.ts.map +1 -0
- package/lib/browse/browse.mobile.component.d.ts.map +1 -0
- package/lib/browse/browse.pane.component.d.ts.map +1 -0
- package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
- package/lib/browse/filter/filter.component.d.ts.map +1 -0
- package/lib/browse/folders-menu.component.d.ts.map +1 -0
- package/lib/chat/chat-info.d.ts.map +1 -0
- package/lib/chat/chat.mobile.component.d.ts.map +1 -0
- package/lib/chat/chat.service.d.ts.map +1 -0
- package/lib/chat/contacts.component.d.ts.map +1 -0
- package/lib/chat/contacts.pane.component.d.ts.map +1 -0
- package/lib/chat/conversation.component.d.ts.map +1 -0
- package/lib/chat/conversation.pane.component.d.ts.map +1 -0
- package/lib/compose/action/action-picker.component.d.ts.map +1 -0
- package/lib/compose/action/action-ref.d.ts.map +1 -0
- package/lib/compose/action/action.base.d.ts.map +1 -0
- package/lib/compose/action/action.dialog.d.ts.map +1 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
- package/lib/compose/action/assign-action.component.d.ts.map +1 -0
- package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
- package/lib/compose/action/return-action.component.d.ts.map +1 -0
- package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
- package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
- package/lib/compose/box/box.component.d.ts.map +1 -0
- package/lib/compose/box/control.component.d.ts.map +1 -0
- package/lib/compose/box/row.component.d.ts.map +1 -0
- package/lib/compose/can-deactivate-changes.service.d.ts +3 -3
- package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
- package/lib/compose/comments/comment.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
- package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
- package/lib/compose/comments/edits.component.d.ts.map +1 -0
- package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
- package/lib/compose/comments/votes.component.d.ts.map +1 -0
- package/lib/compose/compose-resolve.service.d.ts +3 -3
- package/lib/compose/compose-resolve.service.d.ts.map +1 -0
- package/lib/compose/compose.mobile.component.d.ts.map +1 -0
- package/lib/compose/compose.pane.component.d.ts.map +1 -0
- package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
- package/lib/compose/dismiss.service.d.ts.map +1 -0
- package/lib/compose/document-resolver.service.d.ts.map +1 -0
- package/lib/compose/document.component.d.ts.map +1 -0
- package/lib/compose/document.mobile.component.d.ts +1 -1
- package/lib/compose/document.mobile.component.d.ts.map +1 -0
- package/lib/compose/document.pane.component.d.ts +1 -1
- package/lib/compose/document.pane.component.d.ts.map +1 -0
- package/lib/compose/events/events.component.d.ts.map +1 -0
- package/lib/compose/form-ref.d.ts.map +1 -0
- package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
- package/lib/compose/form.component.d.ts.map +1 -0
- package/lib/compose/new-menu.component.d.ts.map +1 -0
- package/lib/compose/privilage.directive.d.ts.map +1 -0
- package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
- package/lib/compose/state.component.d.ts.map +1 -0
- package/lib/compose/tag/tags.component.d.ts.map +1 -0
- package/lib/compose/trace/flow.component.d.ts.map +1 -0
- package/lib/compose/trace/people.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.base.d.ts.map +1 -0
- package/lib/compose/trace/trace.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
- package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
- package/lib/core/NgComponentOutlet.d.ts.map +1 -0
- package/lib/core/account.service.d.ts.map +1 -0
- package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
- package/lib/core/animations.d.ts.map +1 -0
- package/lib/core/authentication.d.ts.map +1 -0
- package/lib/core/avatar/avatar.component.d.ts.map +1 -0
- package/lib/core/base.d.ts.map +1 -0
- package/lib/core/checkbox.d.ts.map +1 -0
- package/lib/core/colors.d.ts.map +1 -0
- package/lib/core/component-factory-resolver.d.ts.map +1 -0
- package/lib/core/configuration.d.ts.map +1 -0
- package/lib/core/datasource.service.d.ts.map +1 -0
- package/lib/core/decorators.d.ts.map +1 -0
- package/lib/core/fields/address.designer.d.ts.map +1 -0
- package/lib/core/fields/address.field.d.ts.map +1 -0
- package/lib/core/fields/autocomplete.field.d.ts.map +1 -0
- package/lib/core/fields/checkbox.designer.d.ts.map +1 -0
- package/lib/core/fields/checkbox.field.d.ts.map +1 -0
- package/lib/core/fields/checklist.designer.d.ts.map +1 -0
- package/lib/core/fields/checklist.field.d.ts.map +1 -0
- package/lib/core/fields/date-range.designer.d.ts.map +1 -0
- package/lib/core/fields/date-range.field.d.ts.map +1 -0
- package/lib/core/fields/date.designer.d.ts.map +1 -0
- package/lib/core/fields/date.field.d.ts.map +1 -0
- package/lib/core/fields/expression.field.d.ts.map +1 -0
- package/lib/core/fields/file.designer.d.ts.map +1 -0
- package/lib/core/fields/file.field.d.ts.map +1 -0
- package/lib/core/fields/html.designer.d.ts.map +1 -0
- package/lib/core/fields/html.field.d.ts.map +1 -0
- package/lib/core/fields/input.designer.d.ts.map +1 -0
- package/lib/core/fields/input.field.d.ts.map +1 -0
- package/lib/core/fields/localized-string.field.d.ts.map +1 -0
- package/lib/core/fields/numeric.designer.d.ts.map +1 -0
- package/lib/core/fields/numeric.field.d.ts.map +1 -0
- package/lib/core/fields/options.base.d.ts.map +1 -0
- package/lib/core/fields/options.component.d.ts.map +1 -0
- package/lib/core/fields/radio-button.designer.d.ts.map +1 -0
- package/lib/core/fields/radio-button.field.d.ts.map +1 -0
- package/lib/core/fields/select.designer.d.ts.map +1 -0
- package/lib/core/fields/select.field.d.ts.map +1 -0
- package/lib/core/fields/signature.designer.d.ts.map +1 -0
- package/lib/core/fields/signature.field.d.ts.map +1 -0
- package/lib/core/fields/switch.field.d.ts.map +1 -0
- package/lib/core/fields/textarea.designer.d.ts.map +1 -0
- package/lib/core/fields/textarea.field.d.ts.map +1 -0
- package/lib/core/fields/time.designer.d.ts.map +1 -0
- package/lib/core/fields/time.field.d.ts.map +1 -0
- package/lib/core/fields/timespan.field.d.ts.map +1 -0
- package/lib/core/fields/yesno.designer.d.ts.map +1 -0
- package/lib/core/fields/yesno.field.d.ts.map +1 -0
- package/lib/core/firebase.service.d.ts.map +1 -0
- package/lib/core/functions.d.ts.map +1 -0
- package/lib/core/guide/guide.component.d.ts.map +1 -0
- package/lib/core/guide/guide.service.d.ts.map +1 -0
- package/lib/core/guide/help-tip.component.d.ts.map +1 -0
- package/lib/core/http.interceptor.d.ts.map +1 -0
- package/lib/core/hub.service.d.ts.map +1 -0
- package/lib/core/identity/identity.component.d.ts.map +1 -0
- package/lib/core/info/attachment-info.service.d.ts.map +1 -0
- package/lib/core/info/document-info.service.d.ts.map +1 -0
- package/lib/core/info/location-info.component.d.ts.map +1 -0
- package/lib/core/info/map-info.d.ts.map +1 -0
- package/lib/core/inputs/address.input.d.ts.map +1 -0
- package/lib/core/inputs/auto-complete.input.d.ts.map +1 -0
- package/lib/core/inputs/combination-picker-body.d.ts.map +1 -0
- package/lib/core/inputs/combination-picker.d.ts.map +1 -0
- package/lib/core/inputs/combination-pool.d.ts.map +1 -0
- package/lib/core/inputs/file.input.d.ts.map +1 -0
- package/lib/core/inputs/select.input.d.ts.map +1 -0
- package/lib/core/inputs/signature.input.d.ts.map +1 -0
- package/lib/core/inputs/time-picker.d.ts.map +1 -0
- package/lib/core/inputs/timespan.input.d.ts.map +1 -0
- package/lib/core/layout.component.d.ts.map +1 -0
- package/lib/core/lottie-animation.d.ts.map +1 -0
- package/lib/core/mailbox.service.d.ts +2 -2
- package/lib/core/mailbox.service.d.ts.map +1 -0
- package/lib/core/models.d.ts.map +1 -0
- package/lib/core/none.component.d.ts.map +1 -0
- package/lib/core/pipes/action.pipe.d.ts.map +1 -0
- package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
- package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
- package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
- package/lib/core/pipes/form.pipe.d.ts.map +1 -0
- package/lib/core/pipes/join.pipe.d.ts.map +1 -0
- package/lib/core/pipes/localized-string.pipe.d.ts.map +1 -0
- package/lib/core/pipes/role.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
- package/lib/core/pipes/state.pipe.d.ts.map +1 -0
- package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
- package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
- package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
- package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
- package/lib/core/popup/popup-ref.d.ts.map +1 -0
- package/lib/core/popup/popup.component.d.ts.map +1 -0
- package/lib/core/popup/popup.service.d.ts.map +1 -0
- package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
- package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
- package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
- package/lib/core/prompt.service.d.ts.map +1 -0
- package/lib/core/router.d.ts.map +1 -0
- package/lib/core/save-changes.dialog.d.ts.map +1 -0
- package/lib/core/session.service.d.ts.map +1 -0
- package/lib/core/slots/pane-ref.d.ts.map +1 -0
- package/lib/core/slots/router.directive.d.ts.map +1 -0
- package/lib/core/slots/router.service.d.ts.map +1 -0
- package/lib/core/slots/slots.component.d.ts.map +1 -0
- package/lib/core/tagging/documents.component.d.ts.map +1 -0
- package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
- package/lib/core/tagging/emoji.component.d.ts.map +1 -0
- package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
- package/lib/core/tagging/tagging.directive.d.ts +1 -1
- package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
- package/lib/core/tagging/users.component.d.ts.map +1 -0
- package/lib/core/translate.service.d.ts.map +1 -0
- package/lib/core/translations.d.ts.map +1 -0
- package/lib/core/window-title.service.d.ts.map +1 -0
- package/lib/cube/accum/accum.component.d.ts.map +1 -0
- package/lib/cube/chart/chart.component.d.ts.map +1 -0
- package/lib/cube/cube-info.service.d.ts.map +1 -0
- package/lib/cube/cube-menu.component.d.ts.map +1 -0
- package/lib/cube/cube-view.component.d.ts.map +1 -0
- package/lib/cube/cube.service.d.ts.map +1 -0
- package/lib/cube/declarations.d.ts.map +1 -0
- package/lib/cube/explore/document-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
- package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
- package/lib/cube/explore/item-resolver.service.d.ts +8 -9
- package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
- package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
- package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
- package/lib/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/cube/grid/grid.component.d.ts.map +1 -0
- package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
- package/lib/cube/matrix/popup.component.d.ts.map +1 -0
- package/lib/cube/matrix/table.component.d.ts.map +1 -0
- package/lib/cube/parallel/item.d.ts.map +1 -0
- package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
- package/lib/cube/pivot/pivot.component.d.ts +1 -2
- package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
- package/lib/cube/sum/sum.component.d.ts.map +1 -0
- package/lib/cube/view-base.d.ts.map +1 -0
- package/lib/cube/view.mobile.component.d.ts.map +1 -0
- package/lib/cube/view.pane.component.d.ts.map +1 -0
- package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/compare.widget.d.ts +1 -1
- package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/document-state.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
- package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
- package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
- package/lib/dashboard/score/compare-groups.widget.d.ts +1 -1
- package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
- package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
- package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
- package/lib/dashboard/widget-item.component.d.ts.map +1 -0
- package/lib/dashboard/widget-ref.d.ts.map +1 -0
- package/lib/designer.module.d.ts +27 -25
- package/lib/designer.module.d.ts.map +1 -0
- package/lib/desktop.module.d.ts.map +1 -0
- package/lib/home/about/about.dialog.d.ts.map +1 -0
- package/lib/home/home-base.component.d.ts.map +1 -0
- package/lib/home/home.desktop.component.d.ts.map +1 -0
- package/lib/home/home.mobile.component.d.ts.map +1 -0
- package/lib/home/notifications/notifications.component.d.ts.map +1 -0
- package/lib/home/options/options.component.d.ts.map +1 -0
- package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
- package/lib/home/sign/sign.component.d.ts.map +1 -0
- package/lib/home/tools.component.d.ts.map +1 -0
- package/lib/impersonate/impersonate.component.d.ts.map +1 -0
- package/lib/mobile.module.d.ts.map +1 -0
- package/lib/modules/chart.module.d.ts.map +1 -0
- package/lib/modules/circular-gauge.module.d.ts.map +1 -0
- package/lib/modules/date.adapter.d.ts.map +1 -0
- package/lib/modules/datepicker.intl.d.ts.map +1 -0
- package/lib/modules/dayjs.module.d.ts.map +1 -0
- package/lib/modules/diagram.module.d.ts.map +1 -0
- package/lib/modules/gantt.module.d.ts.map +1 -0
- package/lib/modules/grid.module.d.ts.map +1 -0
- package/lib/modules/linear-gauge.module.d.ts.map +1 -0
- package/lib/modules/material.module.d.ts.map +1 -0
- package/lib/modules/paginator.intl.d.ts.map +1 -0
- package/lib/modules/pivot.module.d.ts.map +1 -0
- package/lib/modules/schedule.module.d.ts.map +1 -0
- package/lib/modules/spreadsheet.module.d.ts.map +1 -0
- package/lib/modules/stepper.intl.d.ts.map +1 -0
- package/lib/modules/texteditor.module.d.ts.map +1 -0
- package/lib/notifications/filter.component.d.ts.map +1 -0
- package/lib/notifications/notifications-table.component.d.ts.map +1 -0
- package/lib/notifications/notifications.component-base.d.ts.map +1 -0
- package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
- package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
- package/lib/notifications/notifications.service.d.ts.map +1 -0
- package/lib/notifications/types/commented.notification.d.ts.map +1 -0
- package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
- package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
- package/lib/notifications/types/invite.notification.d.ts.map +1 -0
- package/lib/notifications/types/liked.notification.d.ts +1 -1
- package/lib/notifications/types/liked.notification.d.ts.map +1 -0
- package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
- package/lib/notifications/types/notification-base.d.ts.map +1 -0
- package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
- package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
- package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
- package/lib/notifications/types/text.notification.d.ts.map +1 -0
- package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
- package/lib/options/options.component.d.ts.map +1 -0
- package/lib/options/options.service.d.ts.map +1 -0
- package/lib/reports/arguments-component.d.ts.map +1 -0
- package/lib/reports/cube/documents.component.d.ts.map +1 -0
- package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/role-performance.component.d.ts.map +1 -0
- package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-base.d.ts.map +1 -0
- package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
- package/lib/reports/cube/usage.component.d.ts +1 -1
- package/lib/reports/cube/usage.component.d.ts.map +1 -0
- package/lib/reports/report-ref.d.ts.map +1 -0
- package/lib/reports/report-viewer.component.d.ts.map +1 -0
- package/lib/reports/report.mobile.component.d.ts.map +1 -0
- package/lib/reports/report.pane.component.d.ts.map +1 -0
- package/lib/reports/reports-menu.component.d.ts.map +1 -0
- package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
- package/lib/reports/table/table-view.component.d.ts.map +1 -0
- package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
- package/lib/routes.desktop.d.ts.map +1 -0
- package/lib/routes.mobile.d.ts.map +1 -0
- package/lib/scheduler/schedule.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
- package/lib/search/cube.component.d.ts.map +1 -0
- package/lib/search/declarations.d.ts.map +1 -0
- package/lib/search/document.component.d.ts.map +1 -0
- package/lib/search/guide.component.d.ts.map +1 -0
- package/lib/search/path.component.d.ts.map +1 -0
- package/lib/search/search.service.d.ts.map +1 -0
- package/lib/shared.module.d.ts.map +1 -0
- package/lib/system.module.d.ts +21 -23
- package/lib/system.module.d.ts.map +1 -0
- package/lib/views/cube/chart.component.d.ts.map +1 -0
- package/lib/views/cube/cube-base.d.ts.map +1 -0
- package/lib/views/cube/explore.component.d.ts.map +1 -0
- package/lib/views/cube/matrix.component.d.ts.map +1 -0
- package/lib/views/cube/parallel.component.d.ts.map +1 -0
- package/lib/views/cube/pivot.component.d.ts.map +1 -0
- package/lib/views/cube/sum.component.d.ts.map +1 -0
- package/lib/views/cube/view.component.d.ts.map +1 -0
- package/lib/views/document-view-ref.d.ts.map +1 -0
- package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
- package/lib/views/view-item.component.d.ts.map +1 -0
- package/lib/views/views.component.d.ts.map +1 -0
- package/lib/views/views.mobile.component.d.ts.map +1 -0
- package/lib/views/views.pane.component.d.ts.map +1 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -1
- package/public-api.d.ts.map +1 -0
@@ -55,41 +55,45 @@ class ExploreItemsComponent {
|
|
55
55
|
_view() {
|
56
56
|
this._loading$.next(true);
|
57
57
|
(this.index ? this._service.resolveIndex(this.cube, this.index) :
|
58
|
-
this._service.resolve(this.cube, this.axes)).subscribe(
|
59
|
-
|
60
|
-
|
61
|
-
this._service.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
58
|
+
this._service.resolve(this.cube, this.axes)).subscribe({
|
59
|
+
next: e => {
|
60
|
+
const { columns, template } = e;
|
61
|
+
(this.index ? this._service.indices(this.cube, this.index, this.axes, { scope: this.scope }) :
|
62
|
+
this._service.explore(this.cube, this.axes, { scope: this.scope })).subscribe({
|
63
|
+
next: r => {
|
64
|
+
if (this.index && !columns.length) {
|
65
|
+
this._cube.axes.
|
66
|
+
filter(a => this.axes[a.name] === undefined && a.selectionMode !== 'None' &&
|
67
|
+
r.find(row => row[a.name] !== undefined)).
|
68
|
+
forEach(a => columns.push({ controlType: 'text', name: a.name, label: a.title }));
|
69
|
+
const index = this._cube.indices.find(i => i.name === this.index);
|
70
|
+
columns.push({
|
71
|
+
controlType: 'number', name: 'value', label: index.title,
|
72
|
+
kind: FieldKind.Currency
|
73
|
+
});
|
74
|
+
this.columns = columns;
|
75
|
+
this.displayedColumns = columns.map(c => c.name);
|
76
|
+
this._template = null;
|
77
|
+
this.selectable = false;
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
this.columns = columns;
|
81
|
+
this.displayedColumns =
|
82
|
+
columns.filter(c => !c.flags || (c.flags.indexOf('Hidden') < 0 && c.flags.indexOf('Key') < 0)).
|
83
|
+
map(c => c.name);
|
84
|
+
this._template = template;
|
85
|
+
this.selectable = template !== null;
|
86
|
+
}
|
87
|
+
this._datasource(r);
|
88
|
+
}, error: () => {
|
89
|
+
this._loading$.next(false);
|
90
|
+
this._sb.error();
|
91
|
+
}
|
92
|
+
});
|
93
|
+
}, error: () => {
|
87
94
|
this._loading$.next(false);
|
88
95
|
this._sb.error();
|
89
|
-
}
|
90
|
-
}, () => {
|
91
|
-
this._loading$.next(false);
|
92
|
-
this._sb.error();
|
96
|
+
}
|
93
97
|
});
|
94
98
|
}
|
95
99
|
_datasource(data) {
|
@@ -186,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
186
190
|
type: ViewChild,
|
187
191
|
args: [MatPaginator, { static: true }]
|
188
192
|
}] } });
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFtQixTQUFTLEVBQVcsTUFBTSxtQkFBbUIsQ0FBQztBQUl4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRTdELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQVNhLHFCQUFxQjtJQUloQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUNXLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLElB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cywgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBDb2x1bW4sIFJvdyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBDdWJlLCBGaWVsZEluZm8sIEZpZWxkS2luZCwgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXRlbUFuaW1hdGlvbiwgbGlzdEFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5cclxuY29uc3QgUEFHRV9TSVpFID0gMTQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWV4cGxvcmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgbGlzdEFuaW1hdGlvbixcclxuICAgIGl0ZW1BbmltYXRpb25dXHJcbn0pXHJcbi8qKiBkcmlsbC1kb3duIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBFeHBsb3JlSXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICByZWFkb25seSBDVVJSRU5DWV9GT1JNQVQgPSB0aGlzLl9zZXJ2aWNlLmRpZ2l0c0luZm87XHJcbiAgcHJpdmF0ZSBfcGFnZVNpemUgPSBQQUdFX1NJWkU7XHJcbiAgcHJpdmF0ZSBfZGF0YTogYW55W107XHJcbiAgcHVibGljIGdldCBwYWdlU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBhZ2VTaXplKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy5fcGFnZVNpemUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSAodmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoKSBjdWJlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZGV4Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIEBJbnB1dCgpIGF4ZXMhOiBBeGVzTWFwO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBsb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxFeHBsb3JlSXRlbUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+O1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGNvbHVtbnM6IEZpZWxkSW5mb1tdO1xyXG4gIHNlbGVjdGFibGU6IGJvb2xlYW47XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XHJcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGluZyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgX3RlbXBsYXRlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICAvKiogZHJpbGwtZG93biBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2FkaW5nJC5waXBlKGRlYm91bmNlVGltZSgyMDApKS5zdWJzY3JpYmUodiA9PiB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcgPSB2KSk7XHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7IHRoaXMubmdPbkNoYW5nZXMobnVsbCk7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoXzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuX3ZpZXcoKTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfdmlldygpIHtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICAodGhpcy5pbmRleCA/IHRoaXMuX3NlcnZpY2UucmVzb2x2ZUluZGV4KHRoaXMuY3ViZSwgdGhpcy5pbmRleCkgOlxyXG4gICAgICB0aGlzLl9zZXJ2aWNlLnJlc29sdmUodGhpcy5jdWJlLCB0aGlzLmF4ZXMpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCB0ZW1wbGF0ZSB9ID0gZTtcclxuICAgICAgICAodGhpcy5pbmRleCA/IHRoaXMuX3NlcnZpY2UuaW5kaWNlcyh0aGlzLmN1YmUsIHRoaXMuaW5kZXgsIHRoaXMuYXhlcywgeyBzY29wZTogdGhpcy5zY29wZSB9KSA6XHJcbiAgICAgICAgICB0aGlzLl9zZXJ2aWNlLmV4cGxvcmUodGhpcy5jdWJlLCB0aGlzLmF4ZXMsIHsgc2NvcGU6IHRoaXMuc2NvcGUgfSkpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaW5kZXggJiYgIWNvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fY3ViZS5heGVzLlxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKGEgPT4gdGhpcy5heGVzW2EubmFtZV0gPT09IHVuZGVmaW5lZCAmJiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJyAmJlxyXG4gICAgICAgICAgICAgICAgICByLmZpbmQocm93ID0+IHJvd1thLm5hbWVdICE9PSB1bmRlZmluZWQpKS5cclxuICAgICAgICAgICAgICAgIGZvckVhY2goYSA9PlxyXG4gICAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2goe2NvbnRyb2xUeXBlOiAndGV4dCcsIG5hbWU6IGEubmFtZSwgbGFiZWw6IGEudGl0bGUgfSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9jdWJlLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gdGhpcy5pbmRleCk7XHJcbiAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiAnbnVtYmVyJywgbmFtZTogJ3ZhbHVlJywgbGFiZWw6IGluZGV4LnRpdGxlLFxyXG4gICAgICAgICAgICAgICAga2luZDogRmllbGRLaW5kLkN1cnJlbmN5XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICAgICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLm1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID1cclxuICAgICAgICAgICAgICAgIGNvbHVtbnMuZmlsdGVyKGMgPT4gIWMuZmxhZ3MgfHwgKGMuZmxhZ3MuaW5kZXhPZignSGlkZGVuJykgPCAwICYmIGMuZmxhZ3MuaW5kZXhPZignS2V5JykgPCAwKSkuXHJcbiAgICAgICAgICAgICAgICAgIG1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGUgPSB0ZW1wbGF0ZSAhPT0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9kYXRhc291cmNlKHIpO1xyXG4gICAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoKTtcclxuICB9XHJcbiAgZXhwYW5kKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZsYWdzPy5pbmRleE9mKCdLZXknKSA+IC0xKS5tYXAoayA9PiBpdGVtW2submFtZV0pO1xyXG4gICAgaWYgKCFrZXlzLmxlbmd0aCkgdGhyb3cgJ25vIGNvbHVtbiB3aXRoIEtleSBhdHRyaWJ1dGUgaW4gSUJyb3dzZWFibGUgbW9kZWwuJztcclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsga2V5cywgdGVtcGxhdGU6IHRoaXMuX3RlbXBsYXRlIH0pO1xyXG4gIH1cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IHRoaXMuX3NlcnZpY2UubnVtYmVyRm9ybWF0LFxyXG4gICAgICBjb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+ICFjLmZsYWdzIHx8IGMuZmxhZ3MuaW5kZXhPZignSGlkZGVuJykgPCAwKSxcclxuICAgICAgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IGNvbHVtbnMubWFwKChjLCBpKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAxLCB2YWx1ZTogYy5sYWJlbCB8fCBjLm5hbWUsXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBhcyBDZWxsKSlcclxuICAgICAgfV0gYXMgUm93W107XHJcbiAgICB0aGlzLl9kYXRhLmZvckVhY2goKHIsIGkpID0+IHJvd3MucHVzaChcclxuICAgICAge1xyXG4gICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICBjZWxsczogY29sdW1ucy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlzbnVtYmVyID0gYy5jb250cm9sVHlwZSA9PT0gJ251bWJlcic7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBpc251bWJlciA/ICdudW1iZXInIDogJ3RleHQnLFxyXG4gICAgICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiByW2MubmFtZV0sXHJcbiAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICAgIGhBbGlnbjogaXNudW1iZXIgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGFzIFJvdykpO1xyXG5cclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl9zZXJ2aWNlLm5hbWVPZih0aGlzLmF4ZXMsIHRoaXMuY3ViZSkuXHJcbiAgICAgIHN1YnNjcmliZShvID0+XHJcbiAgICAgICAgYm9vay5zYXZlKGAke3RoaXMuX2N1YmUudGl0bGV9ICR7b30ueGxzeGApKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2FkaW5nJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxvcmVJdGVtRXZlbnQge1xyXG4gIGtleXM6IChzdHJpbmcgfCBudW1iZXIpW107XHJcbiAgdGVtcGxhdGU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIiwiPG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBAbGlzdD5cclxuICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiYy5uYW1lXCIgKm5nRm9yPVwibGV0IGMgb2YgY29sdW1uc1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3tjLmxhYmVsIHx8IGMubmFtZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjbGFzcy5maWd1cmVdPVwiYy50eXBlID09PSAnQ3VycmVuY3knXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImMuY29udHJvbFR5cGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgYW1EYXRlRm9ybWF0OiAnbGwnfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYy5raW5kXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidDdXJyZW5jeSdcIj5cclxuICAgICAgICAgICAgICB7e2VsZW1lbnRbYy5uYW1lXSB8IGN1cnJlbmN5IDogKGVsZW1lbnQuY3VycmVuY3lDb2RlIHx8IGN1cnJlbmN5Q29kZSkgOiAnc3ltYm9sJyA6IENVUlJFTkNZX0ZPUk1BVCB9fVxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgbnVtYmVyIH19XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGJpemRvYy1jaGVja2JveCBbY2hlY2tlZF09XCJlbGVtZW50Lm1vZGVsW2MubmFtZV1cIiAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPjwvYml6ZG9jLWNoZWNrYm94PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIChjbGljayk9XCJleHBhbmQoZWxlbWVudClcIiBbY2xhc3Muc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCIgQGl0ZW0+PC9tYXQtcm93PlxyXG48L21hdC10YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgI3BhZ2luYXRvciBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBoaWRlUGFnZVNpemUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFtQixTQUFTLEVBQVcsTUFBTSxtQkFBbUIsQ0FBQztBQUl4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRTdELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQVNhLHFCQUFxQjtJQUloQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUNXLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLElB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RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIENvbHVtbiwgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IEN1YmUsIEZpZWxkSW5mbywgRmllbGRLaW5kLCBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uLCBsaXN0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcblxyXG5jb25zdCBQQUdFX1NJWkUgPSAxNDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtZXhwbG9yZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBsaXN0QW5pbWF0aW9uLFxyXG4gICAgaXRlbUFuaW1hdGlvbl1cclxufSlcclxuLyoqIGRyaWxsLWRvd24gY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEV4cGxvcmVJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IENVUlJFTkNZX0ZPUk1BVCA9IHRoaXMuX3NlcnZpY2UuZGlnaXRzSW5mbztcclxuICBwcml2YXRlIF9wYWdlU2l6ZSA9IFBBR0VfU0laRTtcclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXTtcclxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9wYWdlU2l6ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KCkgY3ViZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBpbmRleD86IHN0cmluZztcclxuICBASW5wdXQoKSBzY29wZT86IFNjb3BlVHlwZTtcclxuICBASW5wdXQoKSBheGVzITogQXhlc01hcDtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXhwbG9yZUl0ZW1FdmVudD4oKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICBzZWxlY3RhYmxlOiBib29sZWFuO1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgLyoqIGRyaWxsLWRvd24gY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9hZGluZyQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHYgPT4gdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nID0gdikpO1xyXG4gIH1cclxuICByZWZyZXNoKCkgeyB0aGlzLm5nT25DaGFuZ2VzKG51bGwpOyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdGhpcy5jdWJlKTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLl92aWV3KCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX3ZpZXcoKSB7XHJcbiAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgKHRoaXMuaW5kZXggPyB0aGlzLl9zZXJ2aWNlLnJlc29sdmVJbmRleCh0aGlzLmN1YmUsIHRoaXMuaW5kZXgpIDpcclxuICAgICAgdGhpcy5fc2VydmljZS5yZXNvbHZlKHRoaXMuY3ViZSwgdGhpcy5heGVzKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBlID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgY29sdW1ucywgdGVtcGxhdGUgfSA9IGU7XHJcbiAgICAgICAgICAodGhpcy5pbmRleCA/IHRoaXMuX3NlcnZpY2UuaW5kaWNlcyh0aGlzLmN1YmUsIHRoaXMuaW5kZXgsIHRoaXMuYXhlcywgeyBzY29wZTogdGhpcy5zY29wZSB9KSA6XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcnZpY2UuZXhwbG9yZSh0aGlzLmN1YmUsIHRoaXMuYXhlcywgeyBzY29wZTogdGhpcy5zY29wZSB9KSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmluZGV4ICYmICFjb2x1bW5zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLl9jdWJlLmF4ZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGEgPT4gdGhpcy5heGVzW2EubmFtZV0gPT09IHVuZGVmaW5lZCAmJiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgci5maW5kKHJvdyA9PiByb3dbYS5uYW1lXSAhPT0gdW5kZWZpbmVkKSkuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yRWFjaChhID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2goeyBjb250cm9sVHlwZTogJ3RleHQnLCBuYW1lOiBhLm5hbWUsIGxhYmVsOiBhLnRpdGxlIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9jdWJlLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gdGhpcy5pbmRleCk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbFR5cGU6ICdudW1iZXInLCBuYW1lOiAndmFsdWUnLCBsYWJlbDogaW5kZXgudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAga2luZDogRmllbGRLaW5kLkN1cnJlbmN5XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLm1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID1cclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLmZpbHRlcihjID0+ICFjLmZsYWdzIHx8IChjLmZsYWdzLmluZGV4T2YoJ0hpZGRlbicpIDwgMCAmJiBjLmZsYWdzLmluZGV4T2YoJ0tleScpIDwgMCkpLlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWFwKGMgPT4gYy5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlID0gdGVtcGxhdGUgIT09IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhc291cmNlKHIpO1xyXG4gICAgICAgICAgICAgIH0sIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoKTtcclxuICB9XHJcbiAgZXhwYW5kKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZsYWdzPy5pbmRleE9mKCdLZXknKSA+IC0xKS5tYXAoayA9PiBpdGVtW2submFtZV0pO1xyXG4gICAgaWYgKCFrZXlzLmxlbmd0aCkgdGhyb3cgJ25vIGNvbHVtbiB3aXRoIEtleSBhdHRyaWJ1dGUgaW4gSUJyb3dzZWFibGUgbW9kZWwuJztcclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsga2V5cywgdGVtcGxhdGU6IHRoaXMuX3RlbXBsYXRlIH0pO1xyXG4gIH1cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IHRoaXMuX3NlcnZpY2UubnVtYmVyRm9ybWF0LFxyXG4gICAgICBjb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+ICFjLmZsYWdzIHx8IGMuZmxhZ3MuaW5kZXhPZignSGlkZGVuJykgPCAwKSxcclxuICAgICAgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IGNvbHVtbnMubWFwKChjLCBpKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAxLCB2YWx1ZTogYy5sYWJlbCB8fCBjLm5hbWUsXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBhcyBDZWxsKSlcclxuICAgICAgfV0gYXMgUm93W107XHJcbiAgICB0aGlzLl9kYXRhLmZvckVhY2goKHIsIGkpID0+IHJvd3MucHVzaChcclxuICAgICAge1xyXG4gICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICBjZWxsczogY29sdW1ucy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlzbnVtYmVyID0gYy5jb250cm9sVHlwZSA9PT0gJ251bWJlcic7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBpc251bWJlciA/ICdudW1iZXInIDogJ3RleHQnLFxyXG4gICAgICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiByW2MubmFtZV0sXHJcbiAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICAgIGhBbGlnbjogaXNudW1iZXIgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGFzIFJvdykpO1xyXG5cclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl9zZXJ2aWNlLm5hbWVPZih0aGlzLmF4ZXMsIHRoaXMuY3ViZSkuXHJcbiAgICAgIHN1YnNjcmliZShvID0+XHJcbiAgICAgICAgYm9vay5zYXZlKGAke3RoaXMuX2N1YmUudGl0bGV9ICR7b30ueGxzeGApKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2FkaW5nJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxvcmVJdGVtRXZlbnQge1xyXG4gIGtleXM6IChzdHJpbmcgfCBudW1iZXIpW107XHJcbiAgdGVtcGxhdGU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIiwiPG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBAbGlzdD5cclxuICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiYy5uYW1lXCIgKm5nRm9yPVwibGV0IGMgb2YgY29sdW1uc1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3tjLmxhYmVsIHx8IGMubmFtZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjbGFzcy5maWd1cmVdPVwiYy50eXBlID09PSAnQ3VycmVuY3knXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImMuY29udHJvbFR5cGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgYW1EYXRlRm9ybWF0OiAnbGwnfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYy5raW5kXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidDdXJyZW5jeSdcIj5cclxuICAgICAgICAgICAgICB7e2VsZW1lbnRbYy5uYW1lXSB8IGN1cnJlbmN5IDogKGVsZW1lbnQuY3VycmVuY3lDb2RlIHx8IGN1cnJlbmN5Q29kZSkgOiAnc3ltYm9sJyA6IENVUlJFTkNZX0ZPUk1BVCB9fVxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgbnVtYmVyIH19XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGJpemRvYy1jaGVja2JveCBbY2hlY2tlZF09XCJlbGVtZW50Lm1vZGVsW2MubmFtZV1cIiAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPjwvYml6ZG9jLWNoZWNrYm94PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIChjbGljayk9XCJleHBhbmQoZWxlbWVudClcIiBbY2xhc3Muc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCIgQGl0ZW0+PC9tYXQtcm93PlxyXG48L21hdC10YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgI3BhZ2luYXRvciBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBoaWRlUGFnZVNpemUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
|
@@ -1,34 +1,32 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
import * as i1 from "../cube.service";
|
4
|
-
|
5
|
-
class ItemResolver {
|
4
|
+
class CubeItemResolver {
|
6
5
|
constructor(_service) {
|
7
6
|
this._service = _service;
|
8
7
|
}
|
9
8
|
onResolve(params, queryParams) {
|
10
9
|
return this._service.item(params['cube'], queryParams, params['key']);
|
11
10
|
}
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, deps: [{ token: i1.CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
12
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver }); }
|
14
13
|
}
|
15
|
-
export {
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
14
|
+
export { CubeItemResolver };
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, decorators: [{
|
17
16
|
type: Injectable
|
18
17
|
}], ctorParameters: function () { return [{ type: i1.CubeService }]; } });
|
19
|
-
class
|
20
|
-
constructor(_service
|
18
|
+
class CubeItemResolveService {
|
19
|
+
constructor(_service) {
|
21
20
|
this._service = _service;
|
22
|
-
this._router = _router;
|
23
21
|
}
|
24
22
|
resolve(route) {
|
25
23
|
return this._service.item(route.params['cube'], route.queryParams, route.params['key']);
|
26
24
|
}
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
28
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, deps: [{ token: i1.CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
26
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService }); }
|
29
27
|
}
|
30
|
-
export {
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
28
|
+
export { CubeItemResolveService };
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, decorators: [{
|
32
30
|
type: Injectable
|
33
|
-
}], ctorParameters: function () { return [{ type: i1.CubeService }
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.CubeService }]; } });
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2V4cGxvcmUvaXRlbS1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUNhLGdCQUFnQjtJQUMzQixZQUNVLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7SUFDM0IsQ0FBQztJQUNMLFNBQVMsQ0FBQyxNQUFnQixFQUFFLFdBQXFCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOzhHQU5VLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOztTQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7QUFVWCxNQUNhLHNCQUFzQjtJQUNqQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBRXpDLENBQUM7SUFBQyxPQUFPLENBQUMsS0FBNkI7UUFDckMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7OEdBTFUsc0JBQXNCO2tIQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZXNvbHZlLCBQYXJhbU1hcCB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEN1YmVJdGVtUmVzb2x2ZXIgaW1wbGVtZW50cyBQYW5lUmVzb2x2ZTxhbnk+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuICBvblJlc29sdmUocGFyYW1zOiBQYXJhbU1hcCwgcXVlcnlQYXJhbXM6IFBhcmFtTWFwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLml0ZW0ocGFyYW1zWydjdWJlJ10sIHF1ZXJ5UGFyYW1zLCBwYXJhbXNbJ2tleSddKTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEN1YmVJdGVtUmVzb2x2ZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfSByZXNvbHZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTx2b2lkIHwgYW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZS5pdGVtKHJvdXRlLnBhcmFtc1snY3ViZSddLCByb3V0ZS5xdWVyeVBhcmFtcywgcm91dGUucGFyYW1zWydrZXknXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { EventEmitter, Component, Output, HostBinding, Input } from "@angular/core";
|
2
|
-
import { forkJoin } from "rxjs";
|
2
|
+
import { firstValueFrom, 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
5
|
import { errResource } from "../cube.service";
|
@@ -79,8 +79,7 @@ class CubeGridComponent {
|
|
79
79
|
pipe(tap(r => this._rows = r));
|
80
80
|
promises.push(observe);
|
81
81
|
// prepare
|
82
|
-
this._prepare =
|
83
|
-
forkJoin(promises).toPromise();
|
82
|
+
this._prepare = firstValueFrom(forkJoin(promises));
|
84
83
|
this.execute();
|
85
84
|
}
|
86
85
|
/** */
|
@@ -93,27 +92,29 @@ class CubeGridComponent {
|
|
93
92
|
execute() {
|
94
93
|
this.loadingChange.emit(true);
|
95
94
|
this._service.series(this._cube.name, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
|
96
|
-
subscribe(
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
95
|
+
subscribe({
|
96
|
+
next: series => {
|
97
|
+
this._prepare.then(() => {
|
98
|
+
const rows = [];
|
99
|
+
series.filter(s => s.index).forEach(s => {
|
100
|
+
const row = { title: s.title, type: 'Index', key: s.index };
|
101
|
+
this._normalize(row, s.points);
|
102
|
+
rows.push(row);
|
103
|
+
});
|
104
|
+
this._rows.forEach(r => {
|
105
|
+
const row = { title: r.value, key: r.key }, serie = series.find(s => s.name === r.key);
|
106
|
+
serie &&
|
107
|
+
this._normalize(row, serie.points);
|
108
|
+
rows.push(row);
|
109
|
+
});
|
110
|
+
this.dataSource = rows;
|
111
|
+
this._draw();
|
112
|
+
this.loadingChange.emit(false);
|
103
113
|
});
|
104
|
-
|
105
|
-
|
106
|
-
serie &&
|
107
|
-
this._normalize(row, serie.points);
|
108
|
-
rows.push(row);
|
109
|
-
});
|
110
|
-
this.dataSource = rows;
|
111
|
-
this._draw();
|
114
|
+
}, error: (e) => {
|
115
|
+
this._sb.error(errResource(e));
|
112
116
|
this.loadingChange.emit(false);
|
113
|
-
}
|
114
|
-
}, (e) => {
|
115
|
-
this._sb.error(errResource(e));
|
116
|
-
this.loadingChange.emit(false);
|
117
|
+
}
|
117
118
|
});
|
118
119
|
}
|
119
120
|
_normalize(row, points) {
|
@@ -216,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
216
217
|
}], id: [{
|
217
218
|
type: HostBinding
|
218
219
|
}] } });
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUF5QixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsSUFBSSxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBa0QsU0FBUyxFQUF1QyxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd2TyxPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFFL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFL0QsTUFRYSxpQkFBaUI7SUFPNUIsSUFDSSxLQUFLLENBQUMsR0FBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFDSSxNQUFNLENBQUMsR0FBc0I7UUFDL0IsSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNy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R2EsT0FBTztzQkFBekIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFFUSxFQUFFO3NCQUFoQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE91dHB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiwgT25EZXN0cm95LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBHcm91cFNldHRpbmdzTW9kZWwsIEdyaWQsIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsLCBFeGNlbEV4cG9ydCwgQWdncmVnYXRlLCBGcmVlemUsIFNlbGVjdGlvblNldHRpbmdzTW9kZWwsIENlbGxTZWxlY3RpbmdFdmVudEFyZ3MsIFNlbGVjdGlvbiwgUXVlcnlDZWxsSW5mb0V2ZW50QXJncywgQ29sdW1uTW9kZWwsIFJlc2l6ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UsIGVyclJlc291cmNlIH0gZnJvbSBcIi4uL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5cclxuR3JpZC5JbmplY3QoU2VsZWN0aW9uLCBBZ2dyZWdhdGUsIEZyZWV6ZSwgRXhjZWxFeHBvcnQsIFJlc2l6ZSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWdyaWQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZVVybHM6IFsnZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY3ViZS12aWV3J1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICB3aWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgc2VyaWVzKHZhbDogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHRoaXMuX3NlcmllcyA9IGlzQXJyYXkodmFsKSA/IHZhbCA6IFt2YWxdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbmRpY2VzKHZhbDogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHRoaXMuX2luZGljZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJzPzogQXhlc01hcDtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBIb3N0QmluZGluZygpIGlkID0gYGN1YmUtZ3JpZC0ke0N1YmVHcmlkQ29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgZ3JpZDogR3JpZDtcclxuICBkYXRhU291cmNlOiBhbnlbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IGdyb3VwU2V0dGluZ3M6IEdyb3VwU2V0dGluZ3NNb2RlbCA9IHtcclxuICB9O1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvblNldHRpbmdzOiBTZWxlY3Rpb25TZXR0aW5nc01vZGVsID0geyBjZWxsU2VsZWN0aW9uTW9kZTogJ0JveCcsIHR5cGU6ICdTaW5nbGUnLCBtb2RlOiAnQ2VsbCcgfTtcclxuICBhZ2dyZWdhdGVzOiB7IGNvbHVtbnM6IEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsW10gfVtdO1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcHJpdmF0ZSBfeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3Nlcmllcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2luZGljZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9yb3dzOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2NvbHVtbnM6IHsga2V5OiBhbnk7IHZhbHVlOiBhbnkgfVtdID0gW107XHJcbiAgICBwcml2YXRlIF9jdWJlOiBDdWJlO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIGNvbnN0IHggPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy5feEF4aXNbMF0pLFxyXG4gICAgICB5ID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHRoaXMuX3Nlcmllc1swXSk7XHJcbiAgICBjb25zdCBwcm9taXNlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIC8vIGFxdWlyZSBjb2x1bW5zIHNvdXJjZVxyXG4gICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeC5kYXRhVHlwZSkuXHJcbiAgICAgIHBpcGUodGFwKGMgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSBjO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGAke3RoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nfSR7dGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c31gO1xyXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IFt7XHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiAnJywgZmllbGQ6ICd0aXRsZScsXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbF07XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKGMgPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgaGVhZGVyVGV4dDogYy52YWx1ZSxcclxuICAgICAgICAgIHdpZHRoOiAxMjAsXHJcbiAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICB0ZXh0QWxpZ246ICdSaWdodCdcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICAgKSk7XHJcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVzID0gW3tcclxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuX2NvbHVtbnMubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgIGZpZWxkOiBgXyR7Yy5rZXl9YCxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdDdXN0b20nLFxyXG4gICAgICAgICAgICAgIC8vICBmb290ZXJUZW1wbGF0ZTogYFxcJHtpZihDdXN0b20uaW5kZXhPZignLScpPi0xKX1cclxuICAgICAgICAgICAgICAvLzxzcGFuIGNsYXNzPVwibWF0LXdhcm5cIj5cXCR7Q3VzdG9tfTwvc3Bhbj4gXFwke2Vsc2V9XHJcbiAgICAgICAgICAgICAgLy9cXCR7Q3VzdG9tfSBcXCR7L2lmfWAsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIGN1c3RvbUFnZ3JlZ2F0ZTogdGhpcy5jdXN0b21BZ2dyZWdhdGUuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9IGFzIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XTtcclxuICAgICAgfSkpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIGFxdWlyZSByb3dzIHNvdXJjZVxyXG4gICAgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh5LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAociA9PiB0aGlzLl9yb3dzID0gcikpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIHByZXBhcmVcclxuICAgIHRoaXMuX3ByZXBhcmUgPVxyXG4gICAgICBmb3JrSm9pbihwcm9taXNlcykudG9Qcm9taXNlKCk7XHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10pXHJcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5fY3ViZS5uYW1lLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzLCBpbmRpY2VzOiB0aGlzLl9pbmRpY2VzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoc2VyaWVzID0+IHtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgcm93cyA9IFtdO1xyXG4gICAgICAgICAgc2VyaWVzLmZpbHRlcihzID0+IHMuaW5kZXgpLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdGl0bGU6IHMudGl0bGUsIHR5cGU6ICdJbmRleCcsIGtleTogcy5pbmRleCB9IGFzIE1vZGVsO1xyXG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemUocm93LCBzLnBvaW50cyk7XHJcbiAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLl9yb3dzLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdGl0bGU6IHIudmFsdWUsIGtleTogci5rZXkgfSBhcyBNb2RlbCwgc2VyaWUgPSBzZXJpZXMuZmluZChzID0+IHMubmFtZSA9PT0gci5rZXkpO1xyXG4gICAgICAgICAgICBzZXJpZSAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZShyb3csIHNlcmllLnBvaW50cyk7XHJcbiAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSByb3dzO1xyXG4gICAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcihlcnJSZXNvdXJjZShlKSk7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKHJvdzogTW9kZWwsIHBvaW50czogYW55W10pIHtcclxuICAgIHBvaW50cy5mb3JFYWNoKHAgPT4gcm93W2BfJHtwLnh9YF0gPSBwLnkpO1xyXG4gICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBpZiAocm93W2BfJHtjLmtleX1gXSA9PT0gdW5kZWZpbmVkKSByb3dbYF8ke2Mua2V5fWBdID0gMDtcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuZ3JpZCAmJiB0aGlzLmdyaWQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5ncmlkID0gbmV3IEdyaWQoe1xyXG4gICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcclxuICAgICAgZW5hYmxlSG92ZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd0V4Y2VsRXhwb3J0OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTb3J0aW5nOiBmYWxzZSxcclxuICAgICAgZnJvemVuQ29sdW1uczogMSxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIC8vaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgY2VsbFNlbGVjdGluZzogdGhpcy5jZWxsU2VsZWN0aW5nLmJpbmQodGhpcyksXHJcbiAgICAgIGFsbG93UGFnaW5nOiBmYWxzZSxcclxuICAgICAgcXVlcnlDZWxsSW5mbzogdGhpcy5xdWVyeUNlbGxJbmZvLFxyXG4gICAgICBmcm96ZW5Sb3dzOiB0aGlzLmluZGljZXMgPyB0aGlzLmluZGljZXMubGVuZ3RoIDogMCxcclxuICAgICAgYWdncmVnYXRlczogdGhpcy5hZ2dyZWdhdGVzLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBxdWVyeUNlbGxJbmZvKGV2dDogUXVlcnlDZWxsSW5mb0V2ZW50QXJncykge1xyXG4gICAgaWYgKGV2dC5jb2x1bW4uZmllbGQgPT09ICd0aXRsZScpXHJcbiAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ2UtaGVhZGVydGV4dCcpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IGV2dC5kYXRhW2V2dC5jb2x1bW4uZmllbGRdO1xyXG4gICAgICBpZiAodmFsIDwgMClcclxuICAgICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCduZWdhdGl2ZS1maWd1cmUnKTtcclxuICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnbm93cmFwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNlbGxTZWxlY3RpbmcoZXZ0OiBDZWxsU2VsZWN0aW5nRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGNlbGxJbmRleDogeyBjZWxsSW5kZXggfSB9ID0gZXZ0LCB7IGtleTogcm93LCB0eXBlIH0gPSBkYXRhIGFzIE1vZGVsO1xyXG4gICAgZXZ0LmNhbmNlbCA9IHRydWU7XHJcbiAgICBpZiAoY2VsbEluZGV4ID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9jb2x1bW5zW2NlbGxJbmRleCAtIDFdLmtleTtcclxuICAgIGlmIChkYXRhW2BfJHtjb2x1bW59YF0gPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IGF4ZXM6IHt9ID0ge307XHJcbiAgICBheGVzW3RoaXMuX3hBeGlzWzBdXSA9IGNvbHVtbjtcclxuICAgIGlmICh0eXBlICE9PSAnSW5kZXgnKSBheGVzW3RoaXMuX3Nlcmllc1swXV0gPSByb3c7XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMsIGluZGV4OiB0eXBlID09PSAnSW5kZXgnID8gcm93IDogbnVsbCB9KTtcclxuICB9XHJcbiAgcHVibGljIGN1c3RvbUFnZ3JlZ2F0ZShfLCBjb2x1bW46IEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLnN1bShyID0+XHJcbiAgICAgIChyW2NvbHVtbi5maWVsZF0gfHwgMCkgKiAoci50eXBlID09PSAnSW5kZXgnID8gMSA6IC0xKSk7XHJcbiAgfVxyXG4gIHJlc2l6ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdyaWQpIHtcclxuICAgICAgdGhpcy5ncmlkLndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgIH1cclxuICB9XHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdyaWQuZXhjZWxFeHBvcnQoe1xyXG4gICAgICBmaWxlTmFtZTogYCR7dGl0bGV9Lnhsc3hgXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlOiAnSW5kZXgnIHwgbnVsbDtcclxuICBrZXk6IGFueTtcclxufVxyXG4iXX0=
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZ3JpZC9ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUF5QixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQXNCLElBQUksRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtELFNBQVMsRUFBdUMsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHdk8sT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBRS9DLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRS9ELE1BUWEsaUJBQWlCO0lBTzVCLElBQ0ksS0FBSyxDQUFDLEdBQXNCO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQ0ksTUFBTSxDQUFDLEdBQXNCO1FBQy9CLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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LE9BQU87c0JBRFYsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBR2EsT0FBTztzQkFBekIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFFUSxFQUFFO3NCQUFoQixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE91dHB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiwgT25EZXN0cm95LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgR3JvdXBTZXR0aW5nc01vZGVsLCBHcmlkLCBBZ2dyZWdhdGVDb2x1bW5Nb2RlbCwgRXhjZWxFeHBvcnQsIEFnZ3JlZ2F0ZSwgRnJlZXplLCBTZWxlY3Rpb25TZXR0aW5nc01vZGVsLCBDZWxsU2VsZWN0aW5nRXZlbnRBcmdzLCBTZWxlY3Rpb24sIFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MsIENvbHVtbk1vZGVsLCBSZXNpemUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkcyc7XHJcbmltcG9ydCB7IEF4aXNDbGlja0V2ZW50LCBDdWJlVmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBlcnJSZXNvdXJjZSB9IGZyb20gXCIuLi9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkdyaWQuSW5qZWN0KFNlbGVjdGlvbiwgQWdncmVnYXRlLCBGcmVlemUsIEV4Y2VsRXhwb3J0LCBSZXNpemUpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1ncmlkJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ2dyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDdWJlVmlld2VyQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHhBeGlzKHZhbDogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3hBeGlzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBjdWJlLWdyaWQtJHtDdWJlR3JpZENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIGdyaWQ6IEdyaWQ7XHJcbiAgZGF0YVNvdXJjZTogYW55W10gPSBbXTtcclxuICByZWFkb25seSBncm91cFNldHRpbmdzOiBHcm91cFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgfTtcclxuICByZWFkb25seSBzZWxlY3Rpb25TZXR0aW5nczogU2VsZWN0aW9uU2V0dGluZ3NNb2RlbCA9IHsgY2VsbFNlbGVjdGlvbk1vZGU6ICdCb3gnLCB0eXBlOiAnU2luZ2xlJywgbW9kZTogJ0NlbGwnIH07XHJcbiAgYWdncmVnYXRlczogeyBjb2x1bW5zOiBBZ2dyZWdhdGVDb2x1bW5Nb2RlbFtdIH1bXTtcclxuICBjb2x1bW5zOiBDb2x1bW5Nb2RlbFtdO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9pbmRpY2VzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfcm93czogeyBrZXk6IGFueTsgdmFsdWU6IGFueSB9W10gPSBbXTtcclxuICBwcml2YXRlIF9jb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSBfcHJlcGFyZTogUHJvbWlzZTxhbnk+O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5jdWJlID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgY29uc3QgeCA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB0aGlzLl94QXhpc1swXSksXHJcbiAgICAgIHkgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy5fc2VyaWVzWzBdKTtcclxuICAgIGNvbnN0IHByb21pc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgLy8gYXF1aXJlIGNvbHVtbnMgc291cmNlXHJcbiAgICBsZXQgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh4LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAoYyA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGM7XHJcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gYCR7dGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWA7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gW3tcclxuICAgICAgICAgIGhlYWRlclRleHQ6ICcnLCBmaWVsZDogJ3RpdGxlJyxcclxuICAgICAgICB9IGFzIENvbHVtbk1vZGVsXTtcclxuICAgICAgICB0aGlzLl9jb2x1bW5zLmZvckVhY2goYyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICBmaWVsZDogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICBoZWFkZXJUZXh0OiBjLnZhbHVlLFxyXG4gICAgICAgICAgd2lkdGg6IDEyMCxcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRleHRBbGlnbjogJ1JpZ2h0J1xyXG4gICAgICAgIH0gYXMgQ29sdW1uTW9kZWxcclxuICAgICAgICApKTtcclxuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZXMgPSBbe1xyXG4gICAgICAgICAgY29sdW1uczogdGhpcy5fY29sdW1ucy5tYXAoYyA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogYF8ke2Mua2V5fWAsXHJcbiAgICAgICAgICAgICAgZmllbGQ6IGBfJHtjLmtleX1gLFxyXG4gICAgICAgICAgICAgIHR5cGU6ICdDdXN0b20nLFxyXG4gICAgICAgICAgICAgIC8vICBmb290ZXJUZW1wbGF0ZTogYFxcJHtpZihDdXN0b20uaW5kZXhPZignLScpPi0xKX1cclxuICAgICAgICAgICAgICAvLzxzcGFuIGNsYXNzPVwibWF0LXdhcm5cIj5cXCR7Q3VzdG9tfTwvc3Bhbj4gXFwke2Vsc2V9XHJcbiAgICAgICAgICAgICAgLy9cXCR7Q3VzdG9tfSBcXCR7L2lmfWAsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIGN1c3RvbUFnZ3JlZ2F0ZTogdGhpcy5jdXN0b21BZ2dyZWdhdGUuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9IGFzIEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XTtcclxuICAgICAgfSkpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIGFxdWlyZSByb3dzIHNvdXJjZVxyXG4gICAgb2JzZXJ2ZSA9IHRoaXMuX2RzLmFsbCh5LmRhdGFUeXBlKS5cclxuICAgICAgcGlwZSh0YXAociA9PiB0aGlzLl9yb3dzID0gcikpO1xyXG4gICAgcHJvbWlzZXMucHVzaChvYnNlcnZlKTtcclxuICAgIC8vIHByZXBhcmVcclxuICAgIHRoaXMuX3ByZXBhcmUgPSBmaXJzdFZhbHVlRnJvbShmb3JrSm9pbihwcm9taXNlcykpO1xyXG4gICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IHNlcmllczogdGhpcy5fc2VyaWVzLCBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsIGluZGljZXM6IHRoaXMuX2luZGljZXMgfSkuXHJcbiAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogc2VyaWVzID0+IHtcclxuICAgICAgICAgIHRoaXMuX3ByZXBhcmUudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd3MgPSBbXTtcclxuICAgICAgICAgICAgc2VyaWVzLmZpbHRlcihzID0+IHMuaW5kZXgpLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgcm93ID0geyB0aXRsZTogcy50aXRsZSwgdHlwZTogJ0luZGV4Jywga2V5OiBzLmluZGV4IH0gYXMgTW9kZWw7XHJcbiAgICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplKHJvdywgcy5wb2ludHMpO1xyXG4gICAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5fcm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdGl0bGU6IHIudmFsdWUsIGtleTogci5rZXkgfSBhcyBNb2RlbCwgc2VyaWUgPSBzZXJpZXMuZmluZChzID0+IHMubmFtZSA9PT0gci5rZXkpO1xyXG4gICAgICAgICAgICAgIHNlcmllICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3JtYWxpemUocm93LCBzZXJpZS5wb2ludHMpO1xyXG4gICAgICAgICAgICAgIHJvd3MucHVzaChyb3cpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlID0gcm93cztcclxuICAgICAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnJvcjogKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlcnJSZXNvdXJjZShlKSk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKHJvdzogTW9kZWwsIHBvaW50czogYW55W10pIHtcclxuICAgIHBvaW50cy5mb3JFYWNoKHAgPT4gcm93W2BfJHtwLnh9YF0gPSBwLnkpO1xyXG4gICAgdGhpcy5fY29sdW1ucy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBpZiAocm93W2BfJHtjLmtleX1gXSA9PT0gdW5kZWZpbmVkKSByb3dbYF8ke2Mua2V5fWBdID0gMDtcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuZ3JpZCAmJiB0aGlzLmdyaWQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5ncmlkID0gbmV3IEdyaWQoe1xyXG4gICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucyxcclxuICAgICAgZW5hYmxlSG92ZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd0V4Y2VsRXhwb3J0OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTb3J0aW5nOiBmYWxzZSxcclxuICAgICAgZnJvemVuQ29sdW1uczogMSxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIC8vaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgY2VsbFNlbGVjdGluZzogdGhpcy5jZWxsU2VsZWN0aW5nLmJpbmQodGhpcyksXHJcbiAgICAgIGFsbG93UGFnaW5nOiBmYWxzZSxcclxuICAgICAgcXVlcnlDZWxsSW5mbzogdGhpcy5xdWVyeUNlbGxJbmZvLFxyXG4gICAgICBmcm96ZW5Sb3dzOiB0aGlzLmluZGljZXMgPyB0aGlzLmluZGljZXMubGVuZ3RoIDogMCxcclxuICAgICAgYWdncmVnYXRlczogdGhpcy5hZ2dyZWdhdGVzLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBxdWVyeUNlbGxJbmZvKGV2dDogUXVlcnlDZWxsSW5mb0V2ZW50QXJncykge1xyXG4gICAgaWYgKGV2dC5jb2x1bW4uZmllbGQgPT09ICd0aXRsZScpXHJcbiAgICAgIGV2dC5jZWxsLmNsYXNzTGlzdC5hZGQoJ2UtaGVhZGVydGV4dCcpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IGV2dC5kYXRhW2V2dC5jb2x1bW4uZmllbGRdO1xyXG4gICAgICBpZiAodmFsIDwgMClcclxuICAgICAgICBldnQuY2VsbC5jbGFzc0xpc3QuYWRkKCduZWdhdGl2ZS1maWd1cmUnKTtcclxuICAgICAgZXZ0LmNlbGwuY2xhc3NMaXN0LmFkZCgnbm93cmFwJyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNlbGxTZWxlY3RpbmcoZXZ0OiBDZWxsU2VsZWN0aW5nRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGNlbGxJbmRleDogeyBjZWxsSW5kZXggfSB9ID0gZXZ0LCB7IGtleTogcm93LCB0eXBlIH0gPSBkYXRhIGFzIE1vZGVsO1xyXG4gICAgZXZ0LmNhbmNlbCA9IHRydWU7XHJcbiAgICBpZiAoY2VsbEluZGV4ID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9jb2x1bW5zW2NlbGxJbmRleCAtIDFdLmtleTtcclxuICAgIGlmIChkYXRhW2BfJHtjb2x1bW59YF0gPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IGF4ZXM6IHt9ID0ge307XHJcbiAgICBheGVzW3RoaXMuX3hBeGlzWzBdXSA9IGNvbHVtbjtcclxuICAgIGlmICh0eXBlICE9PSAnSW5kZXgnKSBheGVzW3RoaXMuX3Nlcmllc1swXV0gPSByb3c7XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMsIGluZGV4OiB0eXBlID09PSAnSW5kZXgnID8gcm93IDogbnVsbCB9KTtcclxuICB9XHJcbiAgcHVibGljIGN1c3RvbUFnZ3JlZ2F0ZShfLCBjb2x1bW46IEFnZ3JlZ2F0ZUNvbHVtbk1vZGVsKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLnN1bShyID0+XHJcbiAgICAgIChyW2NvbHVtbi5maWVsZF0gfHwgMCkgKiAoci50eXBlID09PSAnSW5kZXgnID8gMSA6IC0xKSk7XHJcbiAgfVxyXG4gIHJlc2l6ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdyaWQpIHtcclxuICAgICAgdGhpcy5ncmlkLndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgIH1cclxuICB9XHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdyaWQuZXhjZWxFeHBvcnQoe1xyXG4gICAgICBmaWxlTmFtZTogYCR7dGl0bGV9Lnhsc3hgXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0eXBlOiAnSW5kZXgnIHwgbnVsbDtcclxuICBrZXk6IGFueTtcclxufVxyXG4iXX0=
|